• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 //
5 // A struct for managing webkit's settings.
6 //
7 // Adding new values to this class probably involves updating
8 // WebKit::WebSettings, common/render_messages.cc, browser/tab_contents/
9 // render_view_host_delegate_helper.cc, and browser/profiles/profile.cc.
10 
11 #ifndef WEBKIT_GLUE_WEBPREFERENCES_H__
12 #define WEBKIT_GLUE_WEBPREFERENCES_H__
13 
14 #include <string>
15 #include <vector>
16 
17 #include "base/string16.h"
18 #include "googleurl/src/gurl.h"
19 
20 namespace WebKit {
21 class WebView;
22 }
23 
24 struct WebPreferences {
25   string16 standard_font_family;
26   string16 fixed_font_family;
27   string16 serif_font_family;
28   string16 sans_serif_font_family;
29   string16 cursive_font_family;
30   string16 fantasy_font_family;
31   int default_font_size;
32   int default_fixed_font_size;
33   int minimum_font_size;
34   int minimum_logical_font_size;
35   std::string default_encoding;
36   bool javascript_enabled;
37   bool web_security_enabled;
38   bool javascript_can_open_windows_automatically;
39   bool loads_images_automatically;
40   bool plugins_enabled;
41   bool dom_paste_enabled;
42   bool developer_extras_enabled;
43   typedef std::vector<std::pair<std::string, std::string> >
44       WebInspectorPreferences;
45   WebInspectorPreferences inspector_settings;
46   bool site_specific_quirks_enabled;
47   bool shrinks_standalone_images_to_fit;
48   bool uses_universal_detector;
49   bool text_areas_are_resizable;
50   bool java_enabled;
51   bool allow_scripts_to_close_windows;
52   bool uses_page_cache;
53   bool remote_fonts_enabled;
54   bool javascript_can_access_clipboard;
55   bool xss_auditor_enabled;
56   bool local_storage_enabled;
57   bool databases_enabled;
58   bool application_cache_enabled;
59   bool tabs_to_links;
60   bool caret_browsing_enabled;
61   bool hyperlink_auditing_enabled;
62 
63   bool user_style_sheet_enabled;
64   GURL user_style_sheet_location;
65   bool author_and_user_styles_enabled;
66   bool frame_flattening_enabled;
67   bool allow_universal_access_from_file_urls;
68   bool allow_file_access_from_file_urls;
69   bool webaudio_enabled;
70   bool experimental_webgl_enabled;
71   bool gl_multisampling_enabled;
72   bool show_composited_layer_borders;
73   bool show_composited_layer_tree;
74   bool show_fps_counter;
75   bool asynchronous_spell_checking_enabled;
76   bool accelerated_compositing_enabled;
77   bool force_compositing_mode;
78   bool composite_to_texture_enabled;
79   bool accelerated_layers_enabled;
80   bool accelerated_video_enabled;
81   bool accelerated_2d_canvas_enabled;
82   bool accelerated_drawing_enabled;
83   bool accelerated_plugins_enabled;
84   bool memory_info_enabled;
85   bool interactive_form_validation_enabled;
86   bool fullscreen_enabled;
87 
88   // We try to keep the default values the same as the default values in
89   // chrome, except for the cases where it would require lots of extra work for
90   // the embedder to use the same default value.
91   WebPreferences();
92   ~WebPreferences();
93 
94   void Apply(WebKit::WebView* web_view) const;
95 };
96 
97 #endif  // WEBKIT_GLUE_WEBPREFERENCES_H__
98