webpreferences.cc revision dc0f95d653279beabeb9817299e2902918ba123e
1c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Copyright (c) 2009 The Chromium Authors. All rights reserved. 2c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// Use of this source code is governed by a BSD-style license that can be 3c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch// found in the LICENSE file. 4c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 5c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "webkit/glue/webpreferences.h" 6c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 7c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "base/string_util.h" 8c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "base/utf_string_conversions.h" 972a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "third_party/WebKit/Source/WebKit/chromium/public/WebRuntimeFeatures.h" 1072a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "third_party/WebKit/Source/WebKit/chromium/public/WebKit.h" 1172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "third_party/WebKit/Source/WebKit/chromium/public/WebSettings.h" 1272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "third_party/WebKit/Source/WebKit/chromium/public/WebString.h" 1372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "third_party/WebKit/Source/WebKit/chromium/public/WebURL.h" 1472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen#include "third_party/WebKit/Source/WebKit/chromium/public/WebView.h" 15c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch#include "webkit/glue/webkit_glue.h" 16c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 17c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochusing WebKit::WebRuntimeFeatures; 18c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochusing WebKit::WebSettings; 19c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochusing WebKit::WebString; 20c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochusing WebKit::WebURL; 21c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochusing WebKit::WebView; 22c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 23731df977c0511bca2206b5f333555b1205ff1f43Iain MerrickWebPreferences::WebPreferences() 2421d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen : standard_font_family(ASCIIToUTF16("Times New Roman")), 2521d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen fixed_font_family(ASCIIToUTF16("Courier New")), 2621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen serif_font_family(ASCIIToUTF16("Times New Roman")), 2721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen sans_serif_font_family(ASCIIToUTF16("Arial")), 2821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen cursive_font_family(ASCIIToUTF16("Script")), 29731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick fantasy_font_family(), // Not sure what to use on Windows. 30731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick default_font_size(16), 31731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick default_fixed_font_size(13), 324a5e2dc747d50c653511c68ccb2cfbfb740bd5a7Ben Murdoch minimum_font_size(0), 33731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick minimum_logical_font_size(6), 34731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick default_encoding("ISO-8859-1"), 35731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick javascript_enabled(true), 36731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick web_security_enabled(true), 37731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick javascript_can_open_windows_automatically(true), 38731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick loads_images_automatically(true), 39731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick plugins_enabled(true), 40731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick dom_paste_enabled(false), // enables execCommand("paste") 41731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick developer_extras_enabled(false), // Requires extra work by embedder 42731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick site_specific_quirks_enabled(false), 43731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick shrinks_standalone_images_to_fit(true), 44731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick uses_universal_detector(false), // Disabled: page cycler regression 45731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick text_areas_are_resizable(true), 46731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick java_enabled(true), 47731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick allow_scripts_to_close_windows(false), 48731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick uses_page_cache(false), 49731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick remote_fonts_enabled(true), 50731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick javascript_can_access_clipboard(false), 51731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick xss_auditor_enabled(false), 52731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick local_storage_enabled(false), 53731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick databases_enabled(false), 54731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick application_cache_enabled(false), 55731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick tabs_to_links(true), 56731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick caret_browsing_enabled(false), 57731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick hyperlink_auditing_enabled(true), 58731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick user_style_sheet_enabled(false), 59731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick author_and_user_styles_enabled(true), 60201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch frame_flattening_enabled(false), 61731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick allow_universal_access_from_file_urls(false), 62731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick allow_file_access_from_file_urls(false), 6372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen webaudio_enabled(false), 64731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick experimental_webgl_enabled(false), 6572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen gl_multisampling_enabled(true), 66731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick show_composited_layer_borders(false), 67dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen show_composited_layer_tree(false), 68dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen show_fps_counter(false), 69dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen asynchronous_spell_checking_enabled(true), 70731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick accelerated_compositing_enabled(false), 71dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen composite_to_texture_enabled(false), 72201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch accelerated_layers_enabled(false), 733f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen accelerated_video_enabled(false), 74731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick accelerated_2d_canvas_enabled(false), 7572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen accelerated_plugins_enabled(false), 7672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen memory_info_enabled(false), 77dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen interactive_form_validation_enabled(true), 78dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen fullscreen_enabled(false) { 79731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick} 80731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 81731df977c0511bca2206b5f333555b1205ff1f43Iain MerrickWebPreferences::~WebPreferences() { 82731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick} 83731df977c0511bca2206b5f333555b1205ff1f43Iain Merrick 84c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdochvoid WebPreferences::Apply(WebView* web_view) const { 85c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch WebSettings* settings = web_view->settings(); 8621d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen settings->setStandardFontFamily(standard_font_family); 8721d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen settings->setFixedFontFamily(fixed_font_family); 8821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen settings->setSerifFontFamily(serif_font_family); 8921d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen settings->setSansSerifFontFamily(sans_serif_font_family); 9021d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen settings->setCursiveFontFamily(cursive_font_family); 9121d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen settings->setFantasyFontFamily(fantasy_font_family); 92c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setDefaultFontSize(default_font_size); 93c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setDefaultFixedFontSize(default_fixed_font_size); 94c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setMinimumFontSize(minimum_font_size); 95c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setMinimumLogicalFontSize(minimum_logical_font_size); 96c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setDefaultTextEncodingName(ASCIIToUTF16(default_encoding)); 97c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setJavaScriptEnabled(javascript_enabled); 98c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setWebSecurityEnabled(web_security_enabled); 99c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setJavaScriptCanOpenWindowsAutomatically( 100c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch javascript_can_open_windows_automatically); 101c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setLoadsImagesAutomatically(loads_images_automatically); 102c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setPluginsEnabled(plugins_enabled); 103c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setDOMPasteAllowed(dom_paste_enabled); 104c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setDeveloperExtrasEnabled(developer_extras_enabled); 105c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setNeedsSiteSpecificQuirks(site_specific_quirks_enabled); 106c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setShrinksStandaloneImagesToFit(shrinks_standalone_images_to_fit); 107c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setUsesEncodingDetector(uses_universal_detector); 108c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setTextAreasAreResizable(text_areas_are_resizable); 109c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setAllowScriptsToCloseWindows(allow_scripts_to_close_windows); 110c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch if (user_style_sheet_enabled) 111c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setUserStyleSheetLocation(user_style_sheet_location); 112c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch else 113c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setUserStyleSheetLocation(WebURL()); 114c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setAuthorAndUserStylesEnabled(author_and_user_styles_enabled); 115c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setUsesPageCache(uses_page_cache); 116c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setDownloadableBinaryFontsEnabled(remote_fonts_enabled); 117c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setJavaScriptCanAccessClipboard(javascript_can_access_clipboard); 118c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setXSSAuditorEnabled(xss_auditor_enabled); 119c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setLocalStorageEnabled(local_storage_enabled); 120c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch WebRuntimeFeatures::enableDatabase( 121c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch WebRuntimeFeatures::isDatabaseEnabled() || databases_enabled); 122c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setOfflineWebApplicationCacheEnabled(application_cache_enabled); 1233345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick settings->setCaretBrowsingEnabled(caret_browsing_enabled); 1243345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick settings->setHyperlinkAuditingEnabled(hyperlink_auditing_enabled); 125c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 126c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // This setting affects the behavior of links in an editable region: 127c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // clicking the link should select it rather than navigate to it. 128c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Safari uses the same default. It is unlikley an embedder would want to 129c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // change this, since it would break existing rich text editors. 130c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setEditableLinkBehaviorNeverLive(); 131c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 132201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch settings->setFrameFlatteningEnabled(frame_flattening_enabled); 133201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch 134c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setFontRenderingModeNormal(); 135c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setJavaEnabled(java_enabled); 136c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 137c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Turn this on to cause WebCore to paint the resize corner for us. 138c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setShouldPaintCustomScrollbars(true); 139c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 140c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // By default, allow_universal_access_from_file_urls is set to false and thus 141c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // we mitigate attacks from local HTML files by not granting file:// URLs 142c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // universal access. Only test shell will enable this. 143c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setAllowUniversalAccessFromFileURLs( 144c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch allow_universal_access_from_file_urls); 145c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setAllowFileAccessFromFileURLs(allow_file_access_from_file_urls); 146c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 147c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // We prevent WebKit from checking if it needs to add a "text direction" 148c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // submenu to a context menu. it is not only because we don't need the result 149c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // but also because it cause a possible crash in Editor::hasBidiSelection(). 150c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setTextDirectionSubmenuInclusionBehaviorNeverIncluded(); 151c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 15272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen // Enable the web audio API if requested on the command line. 15372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen settings->setWebAudioEnabled(webaudio_enabled); 15472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 155c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Enable experimental WebGL support if requested on command line 156c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // and support is compiled in. 157201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch bool enable_webgl = 15821d179b334e59e9a3bfcaed4c4430bef1bc5759dKristian Monsen WebRuntimeFeatures::isWebGLEnabled() && experimental_webgl_enabled; 159201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch settings->setExperimentalWebGLEnabled(enable_webgl); 160c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 16172a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen // Disable GL multisampling if requested on command line. 16272a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen settings->setOpenGLMultisamplingEnabled(gl_multisampling_enabled); 16372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 164c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Display colored borders around composited render layers if requested 165c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // on command line. 166c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setShowDebugBorders(show_composited_layer_borders); 167c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 168dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen // Display an FPS indicator if requested on the command line. 169dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen settings->setShowFPSCounter(show_fps_counter); 170dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 171dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen // Display the current compositor tree as overlay if requested on 172dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen // the command line 173dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen settings->setShowPlatformLayerTree(show_composited_layer_tree); 174dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 175c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Enable gpu-accelerated compositing if requested on the command line. 176c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setAcceleratedCompositingEnabled(accelerated_compositing_enabled); 177c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 178dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen // Enable composite to offscreen texture if requested on the command line. 179dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen settings->setCompositeToTextureEnabled(composite_to_texture_enabled); 180dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 1813345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick // Enable gpu-accelerated 2d canvas if requested on the command line. 1823345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick settings->setAccelerated2dCanvasEnabled(accelerated_2d_canvas_enabled); 1833345a6884c488ff3a535c2c9acdd33d74b37e311Iain Merrick 184201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch // Enabling accelerated layers from the command line enabled accelerated 18572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen // 3D CSS, Video, and Animations. 186201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch settings->setAcceleratedCompositingFor3DTransformsEnabled( 187201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch accelerated_layers_enabled); 188201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch settings->setAcceleratedCompositingForVideoEnabled( 1893f50c38dc070f4bb515c1b64450dae14f316474eKristian Monsen accelerated_video_enabled); 190201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch settings->setAcceleratedCompositingForAnimationEnabled( 191201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch accelerated_layers_enabled); 192201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch 19372a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen // Enabling accelerated plugins if specified from the command line. 19472a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen settings->setAcceleratedCompositingForPluginsEnabled( 19572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen accelerated_plugins_enabled); 19672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 197201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch // WebGL and accelerated 2D canvas are always gpu composited. 198201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch settings->setAcceleratedCompositingForCanvasEnabled( 199201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch enable_webgl || accelerated_2d_canvas_enabled); 200201ade2fbba22bfb27ae029f4d23fca6ded109a0Ben Murdoch 201c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Enable memory info reporting to page if requested on the command line. 202c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch settings->setMemoryInfoEnabled(memory_info_enabled); 203c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 204dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen settings->setAsynchronousSpellCheckingEnabled( 205dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen asynchronous_spell_checking_enabled); 206dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 207c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch for (WebInspectorPreferences::const_iterator it = inspector_settings.begin(); 208c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch it != inspector_settings.end(); ++it) 209c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch web_view->setInspectorSetting(WebString::fromUTF8(it->first), 210c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch WebString::fromUTF8(it->second)); 211c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch 212c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // Tabs to link is not part of the settings. WebCore calls 213c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch // ChromeClient::tabsToLinks which is part of the glue code. 214c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch web_view->setTabsToLinks(tabs_to_links); 21572a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen 21672a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen settings->setInteractiveFormValidationEnabled( 21772a454cd3513ac24fbdd0e0cb9ad70b86a99b801Kristian Monsen interactive_form_validation_enabled); 218dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 219dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen settings->setFullScreenEnabled(fullscreen_enabled); 220c407dc5cd9bdc5668497f21b26b09d988ab439deBen Murdoch} 221