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 6740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams @Implementation 68fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey public WebSettings getSettings() { 6940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return webSettings; 70fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey } 71fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey 72fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey @Implementation 73fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey public void setWebViewClient(WebViewClient client) { 7440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams webViewClient = client; 75fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey } 7640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 77258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton @Implementation 78258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton public void setWebChromeClient(WebChromeClient client) { 79258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton webChromeClient = client; 80258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton } 81258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton 82fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey public WebViewClient getWebViewClient() { 8340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return webViewClient; 84fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey } 859b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi 869b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi @Implementation 879b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi public void setPictureListener(WebView.PictureListener listener) { 889b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi pictureListener = listener; 899b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi } 909b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi 919b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi public WebView.PictureListener getPictureListener() { 929b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi return pictureListener; 939b01bc1fb0b241eafdbe239f56b95a2690aca727Michael Portuesi } 9440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 95fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey @Implementation 96fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey public void addJavascriptInterface(Object obj, String interfaceName) { 9740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams javascriptInterfaces.put(interfaceName, obj); 98fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey } 9940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 100fbdac5127ba5b6b879408a0a6ae4ac30e2456d8cRich Humphrey public Object getJavascriptInterface(String interfaceName) { 10140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return javascriptInterfaces.get(interfaceName); 10240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 1033892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 10437c667d06608e4bebd0f45ffbf1555ce5bd30493Zoodles @Implementation 1059677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey public void clearCache(boolean includeDiskFiles) { 1063892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz clearCacheCalled = true; 1073892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz clearCacheIncludeDiskFiles = includeDiskFiles; 1088455cc9031f98a53ad469ebe4b9d92511af8b54fRich Humphrey } 1093892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1108455cc9031f98a53ad469ebe4b9d92511af8b54fRich Humphrey public boolean wasClearCacheCalled() { 1113892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz return clearCacheCalled; 1128455cc9031f98a53ad469ebe4b9d92511af8b54fRich Humphrey } 1133892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1148455cc9031f98a53ad469ebe4b9d92511af8b54fRich Humphrey public boolean didClearCacheIncludeDiskFiles() { 1153892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz return clearCacheIncludeDiskFiles; 1168455cc9031f98a53ad469ebe4b9d92511af8b54fRich Humphrey } 1173892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1188455cc9031f98a53ad469ebe4b9d92511af8b54fRich Humphrey @Implementation 1199677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey public void clearFormData() { 1203892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz clearFormDataCalled = true; 1219677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey } 1223892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1239677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey public boolean wasClearFormDataCalled() { 1243892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz return clearFormDataCalled; 1259677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey } 1263892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1279677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey @Implementation 1289677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey public void clearHistory() { 1293892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz clearHistoryCalled = true; 1309677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey } 1313892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1329677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey public boolean wasClearHistoryCalled() { 1333892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz return clearHistoryCalled; 1349677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey } 1353892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1369677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey @Implementation 1379677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey public void clearView() { 1383892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz clearViewCalled = true; 1399677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey } 1403892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1419677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey public boolean wasClearViewCalled() { 1423892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz return clearViewCalled; 1433892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz } 1443892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1459677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey @Implementation 1469677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey public void destroy() { 1473892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz destroyCalled = true; 1489677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey } 1493892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1509677b3a80b929a57a7ee1d4301d5e9ffb51f3182Rich Humphrey public boolean wasDestroyCalled() { 1513892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz return destroyCalled; 1523892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz } 1533892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1543892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz @Implementation 15537c667d06608e4bebd0f45ffbf1555ce5bd30493Zoodles public void post(Runnable action) { 1563892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz action.run(); 1573892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz runFlag = true; 15837c667d06608e4bebd0f45ffbf1555ce5bd30493Zoodles } 1593892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 16037c667d06608e4bebd0f45ffbf1555ce5bd30493Zoodles public boolean getRunFlag() { 1613892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz return runFlag; 16237c667d06608e4bebd0f45ffbf1555ce5bd30493Zoodles } 163258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton 1643892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1653892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz /** 1663892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * Non-Android accessor. 1673892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * 1683892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * @return webChromeClient 1693892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz */ 170258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton public WebChromeClient getWebChromeClient() { 171258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton return webChromeClient; 172258aab42887fa7a6d29fe862eb883c62deafde0cGreg Choi & Mike Grafton } 1733892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1743892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz @Implementation 1753892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz public boolean canGoBack() { 1763892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz return canGoBack; 1773892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz } 1783892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1793892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz @Implementation 1803892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz public void goBack() { 1813892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz goBackInvocations++; 1823892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz } 1833892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1843892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1853892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz /** 1863892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * Non-Android accessor. 1873892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * 1883892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * @return goBackInvocations the number of times {@code android.webkit.WebView#goBack()} 1893892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * was invoked 1903892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz */ 1913892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz public int getGoBackInvocations() { 1923892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz return goBackInvocations; 1933892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz } 1943892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz 1953892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz /** 1963892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * Non-Android setter. 1973892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * 1983892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * Sets the value to return from {@code android.webkit.WebView#canGoBack()} 1993892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * 2003892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz * @param canGoBack 2013892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz */ 2023892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz public void setCanGoBack(boolean canGoBack) { 2033892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz this.canGoBack = canGoBack; 2043892868c17d4ed48ccf77e25c2cef9bf3b1c82dcMike Mazur & Tyler Schultz } 205e73ede4e90af0ae4f76bdbcd54a170b4bba52b39Tyler Schultz 2064972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public LoadData getLastLoadData() { 2074972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz return lastLoadData; 208e73ede4e90af0ae4f76bdbcd54a170b4bba52b39Tyler Schultz } 209e73ede4e90af0ae4f76bdbcd54a170b4bba52b39Tyler Schultz 2104972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public LoadDataWithBaseURL getLastLoadDataWithBaseURL() { 2114972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz return lastLoadDataWithBaseURL; 212e73ede4e90af0ae4f76bdbcd54a170b4bba52b39Tyler Schultz } 213e73ede4e90af0ae4f76bdbcd54a170b4bba52b39Tyler Schultz 2144972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public class LoadDataWithBaseURL { 2154972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public final String baseUrl; 2164972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public final String data; 2174972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public final String mimeType; 2184972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public final String encoding; 2194972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public final String historyUrl; 2204972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz 2214972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public LoadDataWithBaseURL(String baseUrl, String data, String mimeType, String encoding, String historyUrl) { 2224972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz this.baseUrl = baseUrl; 2234972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz this.data = data; 2244972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz this.mimeType = mimeType; 2254972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz this.encoding = encoding; 2264972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz this.historyUrl = historyUrl; 2274972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz } 2284972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz } 2294972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz 2304972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public class LoadData { 2314972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public final String data; 2324972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public final String mimeType; 2334972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public final String encoding; 2344972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz 2354972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz public LoadData(String data, String mimeType, String encoding) { 2364972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz this.data = data; 2374972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz this.mimeType = mimeType; 2384972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz this.encoding = encoding; 2394972836088ee1b2369abd4a668552c6b594f0436Mike Mazur & Tyler Schultz } 240e73ede4e90af0ae4f76bdbcd54a170b4bba52b39Tyler Schultz } 2419ef88bf39bff29cb39dee4d84542c8f5a6178748Tyler Schultz} 242