19ef88bf39bff29cb39dee4d84542c8f5a6178748Tyler Schultzpackage com.xtremelabs.robolectric.shadows; 29ef88bf39bff29cb39dee4d84542c8f5a6178748Tyler Schultz 39ef88bf39bff29cb39dee4d84542c8f5a6178748Tyler Schultzimport android.content.Context; 49ef88bf39bff29cb39dee4d84542c8f5a6178748Tyler Schultzimport android.util.AttributeSet; 5258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Graftonimport android.webkit.WebChromeClient; 622ae9206e660fd187ff79a529452dbe2bab504fdRich Humphreyimport android.webkit.WebSettings; 7f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesiimport android.webkit.TestWebSettings; 89ef88bf39bff29cb39dee4d84542c8f5a6178748Tyler Schultzimport android.webkit.WebView; 9fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphreyimport android.webkit.WebViewClient; 1022ae9206e660fd187ff79a529452dbe2bab504fdRich Humphreyimport com.xtremelabs.robolectric.Robolectric; 1122c22c9aa4ca68c2deac6164edc1d82bc9645310Christian Williams & Phil Goodwinimport com.xtremelabs.robolectric.internal.Implementation; 1222c22c9aa4ca68c2deac6164edc1d82bc9645310Christian Williams & Phil Goodwinimport com.xtremelabs.robolectric.internal.Implements; 139ef88bf39bff29cb39dee4d84542c8f5a6178748Tyler Schultz 1440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williamsimport java.util.HashMap; 1540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 169ef88bf39bff29cb39dee4d84542c8f5a6178748Tyler Schultz@SuppressWarnings({"UnusedDeclaration"}) 179ef88bf39bff29cb39dee4d84542c8f5a6178748Tyler Schultz@Implements(WebView.class) 189ef88bf39bff29cb39dee4d84542c8f5a6178748Tyler Schultzpublic class ShadowWebView extends ShadowAbsoluteLayout { 199ef88bf39bff29cb39dee4d84542c8f5a6178748Tyler Schultz 206cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz private String lastUrl; 2140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams private HashMap<String, Object> javascriptInterfaces = new HashMap<String, Object>(); 22f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi private WebSettings webSettings = new TestWebSettings(); 23fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey private WebViewClient webViewClient = null; 2437c667d06608e4bebd0f45ffbf1555ce5bd30493Zoodles private boolean runFlag = false; 258455cc9031f98a53ad469ebe4b9d92511af8b54fRich Humphrey private boolean clearCacheCalled = false; 268455cc9031f98a53ad469ebe4b9d92511af8b54fRich Humphrey private boolean clearCacheIncludeDiskFiles = false; 279677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey private boolean clearFormDataCalled = false; 289677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey private boolean clearHistoryCalled = false; 299677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey private boolean clearViewCalled = false; 309677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey private boolean destroyCalled = false; 31258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton private WebChromeClient webChromeClient; 323892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz private boolean canGoBack; 333892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz private int goBackInvocations = 0; 344972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz private ShadowWebView.LoadData lastLoadData; 354972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz private LoadDataWithBaseURL lastLoadDataWithBaseURL; 369b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi private WebView.PictureListener pictureListener; 376cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz 383892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz @Override 393892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz public void __constructor__(Context context, AttributeSet attributeSet) { 409ef88bf39bff29cb39dee4d84542c8f5a6178748Tyler Schultz super.__constructor__(context, attributeSet); 419ef88bf39bff29cb39dee4d84542c8f5a6178748Tyler Schultz } 426cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz 436cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz @Implementation 446cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz public void loadUrl(String url) { 456cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz lastUrl = url; 466cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz } 4740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 48e73ede4e90af0ae4f76bdbcd54a170b4bba52b39Tyler Schultz @Implementation 494972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public void loadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl) { 504972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz lastLoadDataWithBaseURL = new LoadDataWithBaseURL(baseUrl, data, mimeType, encoding, historyUrl); 514972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz } 524972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz 534972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz @Implementation 54e73ede4e90af0ae4f76bdbcd54a170b4bba52b39Tyler Schultz public void loadData(String data, String mimeType, String encoding) { 554972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz lastLoadData = new LoadData(data, mimeType, encoding); 56e73ede4e90af0ae4f76bdbcd54a170b4bba52b39Tyler Schultz } 57e73ede4e90af0ae4f76bdbcd54a170b4bba52b39Tyler Schultz 5831811e1435d6c72ee6c324ca49769159e80fcd93Tyler Schultz /** 5931811e1435d6c72ee6c324ca49769159e80fcd93Tyler Schultz * Non-Android accessor. 6031811e1435d6c72ee6c324ca49769159e80fcd93Tyler Schultz * 6131811e1435d6c72ee6c324ca49769159e80fcd93Tyler Schultz * @return the last loaded url 6231811e1435d6c72ee6c324ca49769159e80fcd93Tyler Schultz */ 636cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz public String getLastLoadedUrl() { 646cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz return lastUrl; 656cf9d6f657e61d727afc221dd157ae6ca41714baTyler Schultz } 6640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 672da690d2d6881bf346550347b71e6ad0d7755597Farand Koo public void clearLastLoadedUrl() { 682da690d2d6881bf346550347b71e6ad0d7755597Farand Koo lastUrl = null; 692da690d2d6881bf346550347b71e6ad0d7755597Farand Koo } 702da690d2d6881bf346550347b71e6ad0d7755597Farand Koo 7140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Implementation 72fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey public WebSettings getSettings() { 7340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return webSettings; 74fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey } 75fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey 76fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey @Implementation 77fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey public void setWebViewClient(WebViewClient client) { 7840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams webViewClient = client; 79fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey } 8040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 81258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton @Implementation 82258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton public void setWebChromeClient(WebChromeClient client) { 83258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton webChromeClient = client; 84258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton } 85258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton 86fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey public WebViewClient getWebViewClient() { 8740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return webViewClient; 88fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey } 899b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi 909b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi @Implementation 919b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi public void setPictureListener(WebView.PictureListener listener) { 929b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi pictureListener = listener; 939b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi } 949b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi 959b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi public WebView.PictureListener getPictureListener() { 969b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi return pictureListener; 979b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi } 9840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 99fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey @Implementation 100fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey public void addJavascriptInterface(Object obj, String interfaceName) { 10140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams javascriptInterfaces.put(interfaceName, obj); 102fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey } 10340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 104fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey public Object getJavascriptInterface(String interfaceName) { 10540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return javascriptInterfaces.get(interfaceName); 10640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 1073892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 10837c667d06608e4bebd0f45ffbf1555ce5bd30493Zoodles @Implementation 1099677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey public void clearCache(boolean includeDiskFiles) { 1103892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz clearCacheCalled = true; 1113892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz clearCacheIncludeDiskFiles = includeDiskFiles; 1128455cc9031f98a53ad469ebe4b9d92511af8b54fRich Humphrey } 1133892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1148455cc9031f98a53ad469ebe4b9d92511af8b54fRich Humphrey public boolean wasClearCacheCalled() { 1153892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz return clearCacheCalled; 1168455cc9031f98a53ad469ebe4b9d92511af8b54fRich Humphrey } 1173892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1188455cc9031f98a53ad469ebe4b9d92511af8b54fRich Humphrey public boolean didClearCacheIncludeDiskFiles() { 1193892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz return clearCacheIncludeDiskFiles; 1208455cc9031f98a53ad469ebe4b9d92511af8b54fRich Humphrey } 1213892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1228455cc9031f98a53ad469ebe4b9d92511af8b54fRich Humphrey @Implementation 1239677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey public void clearFormData() { 1243892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz clearFormDataCalled = true; 1259677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey } 1263892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1279677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey public boolean wasClearFormDataCalled() { 1283892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz return clearFormDataCalled; 1299677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey } 1303892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1319677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey @Implementation 1329677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey public void clearHistory() { 1333892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz clearHistoryCalled = true; 1349677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey } 1353892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1369677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey public boolean wasClearHistoryCalled() { 1373892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz return clearHistoryCalled; 1389677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey } 1393892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1409677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey @Implementation 1419677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey public void clearView() { 1423892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz clearViewCalled = true; 1439677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey } 1443892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1459677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey public boolean wasClearViewCalled() { 1463892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz return clearViewCalled; 1473892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz } 1483892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1499677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey @Implementation 1509677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey public void destroy() { 1513892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz destroyCalled = true; 1529677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey } 1533892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1549677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey public boolean wasDestroyCalled() { 1553892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz return destroyCalled; 1563892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz } 1573892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1583892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz @Implementation 15937c667d06608e4bebd0f45ffbf1555ce5bd30493Zoodles public void post(Runnable action) { 1603892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz action.run(); 1613892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz runFlag = true; 16237c667d06608e4bebd0f45ffbf1555ce5bd30493Zoodles } 1633892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 16437c667d06608e4bebd0f45ffbf1555ce5bd30493Zoodles public boolean getRunFlag() { 1653892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz return runFlag; 16637c667d06608e4bebd0f45ffbf1555ce5bd30493Zoodles } 167258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton 1683892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1693892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz /** 1703892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * Non-Android accessor. 1713892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * 1723892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * @return webChromeClient 1733892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz */ 174258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton public WebChromeClient getWebChromeClient() { 175258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton return webChromeClient; 176258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton } 1773892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1783892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz @Implementation 1793892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz public boolean canGoBack() { 1803892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz return canGoBack; 1813892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz } 1823892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1833892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz @Implementation 1843892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz public void goBack() { 1853892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz goBackInvocations++; 1863892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz } 1873892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1883892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1893892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz /** 1903892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * Non-Android accessor. 1913892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * 1923892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * @return goBackInvocations the number of times {@code android.webkit.WebView#goBack()} 1933892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * was invoked 1943892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz */ 1953892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz public int getGoBackInvocations() { 1963892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz return goBackInvocations; 1973892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz } 1983892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1993892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz /** 2003892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * Non-Android setter. 2013892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * 2023892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * Sets the value to return from {@code android.webkit.WebView#canGoBack()} 2033892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * 2043892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * @param canGoBack 2053892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz */ 2063892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz public void setCanGoBack(boolean canGoBack) { 2073892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz this.canGoBack = canGoBack; 2083892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz } 209e73ede4e90af0ae4f76bdbcd54a170b4bba52b39Tyler Schultz 2104972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public LoadData getLastLoadData() { 2114972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz return lastLoadData; 212e73ede4e90af0ae4f76bdbcd54a170b4bba52b39Tyler Schultz } 213e73ede4e90af0ae4f76bdbcd54a170b4bba52b39Tyler Schultz 2144972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public LoadDataWithBaseURL getLastLoadDataWithBaseURL() { 2154972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz return lastLoadDataWithBaseURL; 216e73ede4e90af0ae4f76bdbcd54a170b4bba52b39Tyler Schultz } 217e73ede4e90af0ae4f76bdbcd54a170b4bba52b39Tyler Schultz 2184972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public class LoadDataWithBaseURL { 2194972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public final String baseUrl; 2204972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public final String data; 2214972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public final String mimeType; 2224972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public final String encoding; 2234972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public final String historyUrl; 2244972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz 2254972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public LoadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl) { 2264972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz this.baseUrl = baseUrl; 2274972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz this.data = data; 2284972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz this.mimeType = mimeType; 2294972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz this.encoding = encoding; 2304972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz this.historyUrl = historyUrl; 2314972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz } 2324972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz } 2334972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz 2344972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public class LoadData { 2354972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public final String data; 2364972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public final String mimeType; 2374972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public final String encoding; 2384972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz 2394972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public LoadData(String data, String mimeType, String encoding) { 2404972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz this.data = data; 2414972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz this.mimeType = mimeType; 2424972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz this.encoding = encoding; 2434972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz } 244e73ede4e90af0ae4f76bdbcd54a170b4bba52b39Tyler Schultz } 2459ef88bf39bff29cb39dee4d84542c8f5a6178748Tyler Schultz} 246