ContentSettingsAdapter.java revision 85b4c793416fb9674ac026fa11389c18a0f8f73e
1/* 2 * Copyright (C) 2012 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); 5 * you may not use this file except in compliance with the License. 6 * You may obtain a copy of the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13 * See the License for the specific language governing permissions and 14 * limitations under the License. 15 */ 16 17package com.android.webview.chromium; 18 19import android.webkit.WebSettings.LayoutAlgorithm; 20import android.webkit.WebSettings.PluginState; 21import android.webkit.WebSettings.RenderPriority; 22import android.webkit.WebSettings.TextSize; 23import android.webkit.WebSettings.ZoomDensity; 24 25import org.chromium.content.browser.ContentSettings; 26import org.chromium.android_webview.AwSettings; 27 28public class ContentSettingsAdapter extends android.webkit.WebSettings { 29 ContentSettings mContentSettings; 30 AwSettings mAwSettings; 31 32 public ContentSettingsAdapter(ContentSettings chromeSettings, AwSettings awSettings) { 33 mContentSettings = chromeSettings; 34 mAwSettings = awSettings; 35 } 36 37 @Override 38 @Deprecated 39 public void setNavDump(boolean enabled) { 40 UnimplementedWebViewApi.invoke(); 41 } 42 43 @Override 44 @Deprecated 45 public boolean getNavDump() { 46 UnimplementedWebViewApi.invoke(); 47 return false; 48 } 49 50 @Override 51 public void setSupportZoom(boolean support) { 52 mContentSettings.setSupportZoom(support); 53 } 54 55 @Override 56 public boolean supportZoom() { 57 return mContentSettings.supportZoom(); 58 } 59 60 @Override 61 public void setBuiltInZoomControls(boolean enabled) { 62 mContentSettings.setBuiltInZoomControls(enabled); 63 } 64 65 @Override 66 public boolean getBuiltInZoomControls() { 67 return mContentSettings.getBuiltInZoomControls(); 68 } 69 70 @Override 71 public void setDisplayZoomControls(boolean enabled) { 72 mContentSettings.setDisplayZoomControls(enabled); 73 } 74 75 @Override 76 public boolean getDisplayZoomControls() { 77 return mContentSettings.getDisplayZoomControls(); 78 } 79 80 @Override 81 public void setAllowFileAccess(boolean allow) { 82 mAwSettings.setAllowFileAccess(allow); 83 } 84 85 @Override 86 public boolean getAllowFileAccess() { 87 return mAwSettings.getAllowFileAccess(); 88 } 89 90 @Override 91 public void setAllowContentAccess(boolean allow) { 92 mAwSettings.setAllowContentAccess(allow); 93 } 94 95 @Override 96 public boolean getAllowContentAccess() { 97 return mAwSettings.getAllowContentAccess(); 98 } 99 100 @Override 101 public void setLoadWithOverviewMode(boolean overview) { 102 UnimplementedWebViewApi.invoke(); 103 } 104 105 @Override 106 public boolean getLoadWithOverviewMode() { 107 UnimplementedWebViewApi.invoke(); 108 return false; 109 } 110 111 @Override 112 public void setEnableSmoothTransition(boolean enable) { 113 UnimplementedWebViewApi.invoke(); 114 } 115 116 @Override 117 public boolean enableSmoothTransition() { 118 UnimplementedWebViewApi.invoke(); 119 return false; 120 } 121 122 @Override 123 public void setUseWebViewBackgroundForOverscrollBackground(boolean view) { 124 UnimplementedWebViewApi.invoke(); 125 } 126 127 @Override 128 public boolean getUseWebViewBackgroundForOverscrollBackground() { 129 UnimplementedWebViewApi.invoke(); 130 return false; 131 } 132 133 @Override 134 public void setSaveFormData(boolean save) { 135 UnimplementedWebViewApi.invoke(); 136 } 137 138 @Override 139 public boolean getSaveFormData() { 140 UnimplementedWebViewApi.invoke(); 141 return false; 142 } 143 144 @Override 145 public void setSavePassword(boolean save) { 146 UnimplementedWebViewApi.invoke(); 147 } 148 149 @Override 150 public boolean getSavePassword() { 151 UnimplementedWebViewApi.invoke(); 152 return false; 153 } 154 155 @Override 156 public synchronized void setTextZoom(int textZoom) { 157 mContentSettings.setTextZoom(textZoom); 158 } 159 160 @Override 161 public synchronized int getTextZoom() { 162 return mContentSettings.getTextZoom(); 163 } 164 165 @Override 166 public void setDefaultZoom(ZoomDensity zoom) { 167 UnimplementedWebViewApi.invoke(); 168 } 169 170 @Override 171 public ZoomDensity getDefaultZoom() { 172 UnimplementedWebViewApi.invoke(); 173 return null; 174 } 175 176 @Override 177 public void setLightTouchEnabled(boolean enabled) { 178 // Intentional no-op. 179 } 180 181 @Override 182 public boolean getLightTouchEnabled() { 183 // Intentional no-op. 184 return false; 185 } 186 187 @Override 188 public synchronized void setUserAgent(int ua) { 189 UnimplementedWebViewApi.invoke(); 190 } 191 192 @Override 193 public synchronized int getUserAgent() { 194 UnimplementedWebViewApi.invoke(); 195 return 0; 196 } 197 198 @Override 199 public synchronized void setUseWideViewPort(boolean use) { 200 UnimplementedWebViewApi.invoke(); 201 } 202 203 @Override 204 public synchronized boolean getUseWideViewPort() { 205 UnimplementedWebViewApi.invoke(); 206 return false; 207 } 208 209 @Override 210 public synchronized void setSupportMultipleWindows(boolean support) { 211 mContentSettings.setSupportMultipleWindows(support); 212 } 213 214 @Override 215 public synchronized boolean supportMultipleWindows() { 216 return mContentSettings.supportMultipleWindows(); 217 } 218 219 @Override 220 public synchronized void setLayoutAlgorithm(LayoutAlgorithm l) { 221 // TODO: Remove the upstream enum and mapping once the new value is in the public API. 222 final ContentSettings.LayoutAlgorithm[] chromiumValues = { 223 ContentSettings.LayoutAlgorithm.NORMAL, 224 ContentSettings.LayoutAlgorithm.SINGLE_COLUMN, 225 ContentSettings.LayoutAlgorithm.NARROW_COLUMNS, 226 ContentSettings.LayoutAlgorithm.TEXT_AUTOSIZING 227 }; 228 mContentSettings.setLayoutAlgorithm(chromiumValues[l.ordinal()]); 229 } 230 231 @Override 232 public synchronized LayoutAlgorithm getLayoutAlgorithm() { 233 // TODO: Remove the upstream enum and mapping once the new value is in the public API. 234 final LayoutAlgorithm[] webViewValues = { 235 LayoutAlgorithm.NORMAL, 236 LayoutAlgorithm.SINGLE_COLUMN, 237 LayoutAlgorithm.NARROW_COLUMNS, 238 LayoutAlgorithm.TEXT_AUTOSIZING 239 }; 240 return webViewValues[mContentSettings.getLayoutAlgorithm().ordinal()]; 241 } 242 243 @Override 244 public synchronized void setStandardFontFamily(String font) { 245 mContentSettings.setStandardFontFamily(font); 246 } 247 248 @Override 249 public synchronized String getStandardFontFamily() { 250 return mContentSettings.getStandardFontFamily(); 251 } 252 253 @Override 254 public synchronized void setFixedFontFamily(String font) { 255 mContentSettings.setFixedFontFamily(font); 256 } 257 258 @Override 259 public synchronized String getFixedFontFamily() { 260 return mContentSettings.getFixedFontFamily(); 261 } 262 263 @Override 264 public synchronized void setSansSerifFontFamily(String font) { 265 mContentSettings.setSansSerifFontFamily(font); 266 } 267 268 @Override 269 public synchronized String getSansSerifFontFamily() { 270 return mContentSettings.getSansSerifFontFamily(); 271 } 272 273 @Override 274 public synchronized void setSerifFontFamily(String font) { 275 mContentSettings.setSerifFontFamily(font); 276 } 277 278 @Override 279 public synchronized String getSerifFontFamily() { 280 return mContentSettings.getSerifFontFamily(); 281 } 282 283 @Override 284 public synchronized void setCursiveFontFamily(String font) { 285 mContentSettings.setCursiveFontFamily(font); 286 } 287 288 @Override 289 public synchronized String getCursiveFontFamily() { 290 return mContentSettings.getCursiveFontFamily(); 291 } 292 293 @Override 294 public synchronized void setFantasyFontFamily(String font) { 295 mContentSettings.setFantasyFontFamily(font); 296 } 297 298 @Override 299 public synchronized String getFantasyFontFamily() { 300 return mContentSettings.getFantasyFontFamily(); 301 } 302 303 @Override 304 public synchronized void setMinimumFontSize(int size) { 305 mContentSettings.setMinimumFontSize(size); 306 } 307 308 @Override 309 public synchronized int getMinimumFontSize() { 310 return mContentSettings.getMinimumFontSize(); 311 } 312 313 @Override 314 public synchronized void setMinimumLogicalFontSize(int size) { 315 mContentSettings.setMinimumLogicalFontSize(size); 316 } 317 318 @Override 319 public synchronized int getMinimumLogicalFontSize() { 320 return mContentSettings.getMinimumLogicalFontSize(); 321 } 322 323 @Override 324 public synchronized void setDefaultFontSize(int size) { 325 mContentSettings.setDefaultFontSize(size); 326 } 327 328 @Override 329 public synchronized int getDefaultFontSize() { 330 return mContentSettings.getDefaultFontSize(); 331 } 332 333 @Override 334 public synchronized void setDefaultFixedFontSize(int size) { 335 mContentSettings.setDefaultFixedFontSize(size); 336 } 337 338 @Override 339 public synchronized int getDefaultFixedFontSize() { 340 return mContentSettings.getDefaultFixedFontSize(); 341 } 342 343 @Override 344 public synchronized void setLoadsImagesAutomatically(boolean flag) { 345 mContentSettings.setLoadsImagesAutomatically(flag); 346 } 347 348 @Override 349 public synchronized boolean getLoadsImagesAutomatically() { 350 return mContentSettings.getLoadsImagesAutomatically(); 351 } 352 353 @Override 354 public synchronized void setBlockNetworkImage(boolean flag) { 355 mContentSettings.setImagesEnabled(!flag); 356 } 357 358 @Override 359 public synchronized boolean getBlockNetworkImage() { 360 return !mContentSettings.getImagesEnabled(); 361 } 362 363 @Override 364 public synchronized void setBlockNetworkLoads(boolean flag) { 365 mAwSettings.setBlockNetworkLoads(flag); 366 } 367 368 @Override 369 public synchronized boolean getBlockNetworkLoads() { 370 return mAwSettings.getBlockNetworkLoads(); 371 } 372 373 @Override 374 public synchronized void setJavaScriptEnabled(boolean flag) { 375 mContentSettings.setJavaScriptEnabled(flag); 376 } 377 378 @Override 379 public void setAllowUniversalAccessFromFileURLs(boolean flag) { 380 mContentSettings.setAllowUniversalAccessFromFileURLs(flag); 381 } 382 383 @Override 384 public void setAllowFileAccessFromFileURLs(boolean flag) { 385 mContentSettings.setAllowFileAccessFromFileURLs(flag); 386 } 387 388 @Override 389 public synchronized void setPluginsEnabled(boolean flag) { 390 mContentSettings.setPluginsEnabled(flag); 391 } 392 393 @Override 394 public synchronized void setPluginState(PluginState state) { 395 mContentSettings.setPluginState(state); 396 } 397 398 @Override 399 public synchronized void setDatabasePath(String databasePath) { 400 UnimplementedWebViewApi.invoke(); 401 } 402 403 @Override 404 public synchronized void setGeolocationDatabasePath(String databasePath) { 405 UnimplementedWebViewApi.invoke(); 406 } 407 408 @Override 409 public synchronized void setAppCacheEnabled(boolean flag) { 410 mContentSettings.setAppCacheEnabled(flag); 411 } 412 413 @Override 414 public synchronized void setAppCachePath(String appCachePath) { 415 mContentSettings.setAppCachePath(appCachePath); 416 } 417 418 @Override 419 public synchronized void setAppCacheMaxSize(long appCacheMaxSize) { 420 UnimplementedWebViewApi.invoke(); 421 } 422 423 @Override 424 public synchronized void setDatabaseEnabled(boolean flag) { 425 UnimplementedWebViewApi.invoke(); 426 } 427 428 @Override 429 public synchronized void setDomStorageEnabled(boolean flag) { 430 UnimplementedWebViewApi.invoke(); 431 } 432 433 @Override 434 public synchronized boolean getDomStorageEnabled() { 435 UnimplementedWebViewApi.invoke(); 436 return false; 437 } 438 439 @Override 440 public synchronized String getDatabasePath() { 441 UnimplementedWebViewApi.invoke(); 442 return null; 443 } 444 445 @Override 446 public synchronized boolean getDatabaseEnabled() { 447 UnimplementedWebViewApi.invoke(); 448 return false; 449 } 450 451 @Override 452 public synchronized void setGeolocationEnabled(boolean flag) { 453 UnimplementedWebViewApi.invoke(); 454 } 455 456 @Override 457 public synchronized boolean getJavaScriptEnabled() { 458 return mContentSettings.getJavaScriptEnabled(); 459 } 460 461 @Override 462 public boolean getAllowUniversalAccessFromFileURLs() { 463 return mContentSettings.getAllowUniversalAccessFromFileURLs(); 464 } 465 466 @Override 467 public boolean getAllowFileAccessFromFileURLs() { 468 return mContentSettings.getAllowFileAccessFromFileURLs(); 469 } 470 471 @Override 472 public synchronized boolean getPluginsEnabled() { 473 return mContentSettings.getPluginsEnabled(); 474 } 475 476 @Override 477 public synchronized PluginState getPluginState() { 478 return mContentSettings.getPluginState(); 479 } 480 481 @Override 482 public synchronized void setJavaScriptCanOpenWindowsAutomatically(boolean flag) { 483 mContentSettings.setJavaScriptCanOpenWindowsAutomatically(flag); 484 } 485 486 @Override 487 public synchronized boolean getJavaScriptCanOpenWindowsAutomatically() { 488 return mContentSettings.getJavaScriptCanOpenWindowsAutomatically(); 489 } 490 491 @Override 492 public synchronized void setDefaultTextEncodingName(String encoding) { 493 mContentSettings.setDefaultTextEncodingName(encoding); 494 } 495 496 @Override 497 public synchronized String getDefaultTextEncodingName() { 498 return mContentSettings.getDefaultTextEncodingName(); 499 } 500 501 @Override 502 public synchronized void setUserAgentString(String ua) { 503 mContentSettings.setUserAgentString(ua); 504 } 505 506 @Override 507 public synchronized String getUserAgentString() { 508 return mContentSettings.getUserAgentString(); 509 } 510 511 @Override 512 public void setNeedInitialFocus(boolean flag) { 513 UnimplementedWebViewApi.invoke(); 514 } 515 516 @Override 517 public synchronized void setRenderPriority(RenderPriority priority) { 518 UnimplementedWebViewApi.invoke(); 519 } 520 521 @Override 522 public void setCacheMode(int mode) { 523 mAwSettings.setCacheMode(mode); 524 } 525 526 @Override 527 public int getCacheMode() { 528 return mAwSettings.getCacheMode(); 529 } 530} 531