1f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesipackage android.webkit; 20189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey 3f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesiimport com.xtremelabs.robolectric.internal.DoNotInstrument; 40189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphreyimport com.xtremelabs.robolectric.internal.Implementation; 540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 6f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi/** 7f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi * Concrete implementation of the abstract WebSettings class. 8f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi */ 9f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi@DoNotInstrument 10f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesipublic class TestWebSettings extends WebSettings { 11f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi 1240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams private boolean allowFileAccess = true; 13f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi private boolean allowFileAccessFromFile = true; 14f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi private boolean allowUniversalAccessFromFile = true; 1540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams private boolean blockNetworkImage = false; 1640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams private boolean blockNetworkLoads = false; 1740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams private boolean builtInZoomControls = true; 1840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams private boolean databaseEnabled = false; 1940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams private boolean domStorageEnabled = false; 2040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams private boolean javaScriptEnabled = false; 2140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams private boolean lightTouchEnabled = false; 2240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams private boolean loadWithOverviewMode = false; 2340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams private boolean needInitialFocus = false; 2440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams private boolean pluginsEnabled = false; 2540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams private WebSettings.PluginState pluginState = WebSettings.PluginState.OFF; 2640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams private boolean supportMultipleWindows = false; 2740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams private boolean supportZoom = true; 2840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 29f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi public TestWebSettings() { 30f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi } 31f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi 32f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi @Override 33f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi public boolean getAllowFileAccessFromFileURLs() { 34f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi return allowFileAccessFromFile; 35f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi } 36f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi 37f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi @Override 38f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi public boolean getAllowUniversalAccessFromFileURLs() { 39f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi return allowUniversalAccessFromFile; 40f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi } 41f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi 42f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi @Override 43f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi public void setAllowFileAccessFromFileURLs(boolean allow) { 44f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi allowFileAccessFromFile = allow; 45f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi } 46f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi 47f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi @Override 48f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi public void setAllowUniversalAccessFromFileURLs(boolean allow) { 49f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi allowUniversalAccessFromFile = allow; 50f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi } 51f99fa781cfd614512c48db52387c825d4f167f31Michael Portuesi 520189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 530189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public boolean getAllowFileAccess() { 5440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return allowFileAccess; 550189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 560189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey 570189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 580189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public void setAllowFileAccess(boolean allow) { 5940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams allowFileAccess = allow; 600189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 6140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 620189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 630189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public synchronized boolean getBlockNetworkImage() { 6440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return blockNetworkImage; 650189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 6640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 670189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 680189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public synchronized void setBlockNetworkImage(boolean flag) { 6940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams blockNetworkImage = flag; 700189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 7140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 720189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 730189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public synchronized boolean getBlockNetworkLoads() { 7440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return blockNetworkLoads; 750189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 7640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 770189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 780189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public synchronized void setBlockNetworkLoads(boolean flag) { 7940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams blockNetworkLoads = flag; 800189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 8140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 820189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 830189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public boolean getBuiltInZoomControls() { 8440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return builtInZoomControls; 850189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 860189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey 870189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 880189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public void setBuiltInZoomControls(boolean enabled) { 8940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams builtInZoomControls = enabled; 900189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 9140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 920189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 930189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public synchronized boolean getDatabaseEnabled() { 9440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return databaseEnabled; 950189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 9640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 970189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 980189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public synchronized void setDatabaseEnabled(boolean flag) { 9940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams databaseEnabled = flag; 1000189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 1010189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey 1020189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 1030189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public synchronized boolean getDomStorageEnabled() { 10440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return domStorageEnabled; 1050189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 10640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 1070189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 1080189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public synchronized void setDomStorageEnabled(boolean flag) { 10940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams domStorageEnabled = flag; 1100189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 1110189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey 1120189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 1130189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public synchronized boolean getJavaScriptEnabled() { 11440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return javaScriptEnabled; 1150189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 11640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 1170189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 1180189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public synchronized void setJavaScriptEnabled(boolean flag) { 11940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams javaScriptEnabled = flag; 12040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 1210189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey 1220189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 1230189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public boolean getLightTouchEnabled() { 12440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return lightTouchEnabled; 1250189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 12640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 1270189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 1280189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public void setLightTouchEnabled(boolean flag) { 12940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams lightTouchEnabled = flag; 13040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 1310189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey 1320189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 1330189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public boolean getLoadWithOverviewMode() { 13440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return loadWithOverviewMode; 1350189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 13640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 1370189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 1380189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public void setLoadWithOverviewMode(boolean flag) { 13940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams loadWithOverviewMode = flag; 14040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 1410189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey 1420189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public boolean getNeedInitialFocus() { 14340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return needInitialFocus; 1440189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 14540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 1460189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 1470189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public void setNeedInitialFocus(boolean flag) { 14840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams needInitialFocus = flag; 14940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 15040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 1510189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 1520189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public synchronized boolean getPluginsEnabled() { 15340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return pluginsEnabled; 1540189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 15540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 1560189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 1570189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public synchronized void setPluginsEnabled(boolean flag) { 15840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams pluginsEnabled = flag; 15940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 16040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 1610189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 1620189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public synchronized WebSettings.PluginState getPluginState() { 16340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return pluginState; 1640189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 16540c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 1660189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 1670189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public synchronized void setPluginState(WebSettings.PluginState state) { 16840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams pluginState = state; 16940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 17040c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 1710189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public boolean getSupportMultipleWindows() { 17240c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return supportMultipleWindows; 1730189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 17440c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 1750189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 1760189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public synchronized void setSupportMultipleWindows(boolean support) { 17740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams supportMultipleWindows = support; 17840c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 17940c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 1800189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public boolean getSupportZoom() { 18140c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams return supportZoom; 1820189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey } 18340c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams 1840189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey @Implementation 1850189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey public void setSupportZoom(boolean support) { 18640c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams supportZoom = support; 18740c6251719cccc0a84ae99c976d2836b14374ce6Christian Williams } 1880189062c055157592d5aa6ef59b26fae6f91dea4Rich Humphrey} 189