[safe browsing] Take ownership of various live histograms.
[chromium-blink-merge.git] / webkit / common / webpreferences.cc
blob78834ac5d8617b7c5eb4a9bf447e619b4e390984
1 // Copyright 2013 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.
5 #include "webkit/common/webpreferences.h"
7 #include "base/basictypes.h"
8 #include "base/strings/string_util.h"
9 #include "base/strings/utf_string_conversions.h"
10 #include "third_party/WebKit/public/web/WebSettings.h"
11 #include "third_party/icu/source/common/unicode/uchar.h"
13 using base::ASCIIToWide;
14 using blink::WebSettings;
16 WebPreferences::WebPreferences()
17 : default_font_size(16),
18 default_fixed_font_size(13),
19 minimum_font_size(0),
20 minimum_logical_font_size(6),
21 default_encoding("ISO-8859-1"),
22 javascript_enabled(true),
23 web_security_enabled(true),
24 javascript_can_open_windows_automatically(true),
25 loads_images_automatically(true),
26 images_enabled(true),
27 plugins_enabled(true),
28 dom_paste_enabled(false), // enables execCommand("paste")
29 site_specific_quirks_enabled(false),
30 shrinks_standalone_images_to_fit(true),
31 uses_universal_detector(false), // Disabled: page cycler regression
32 text_areas_are_resizable(true),
33 java_enabled(true),
34 allow_scripts_to_close_windows(false),
35 remote_fonts_enabled(true),
36 javascript_can_access_clipboard(false),
37 xslt_enabled(true),
38 xss_auditor_enabled(true),
39 dns_prefetching_enabled(true),
40 local_storage_enabled(false),
41 databases_enabled(false),
42 application_cache_enabled(false),
43 tabs_to_links(true),
44 caret_browsing_enabled(false),
45 hyperlink_auditing_enabled(true),
46 is_online(true),
47 connection_type(net::NetworkChangeNotifier::CONNECTION_NONE),
48 allow_universal_access_from_file_urls(false),
49 allow_file_access_from_file_urls(false),
50 webaudio_enabled(false),
51 experimental_webgl_enabled(false),
52 pepper_3d_enabled(false),
53 flash_3d_enabled(true),
54 flash_stage3d_enabled(false),
55 flash_stage3d_baseline_enabled(false),
56 gl_multisampling_enabled(true),
57 privileged_webgl_extensions_enabled(false),
58 webgl_errors_to_console_enabled(true),
59 mock_scrollbars_enabled(false),
60 layer_squashing_enabled(true),
61 asynchronous_spell_checking_enabled(true),
62 unified_textchecker_enabled(false),
63 accelerated_compositing_for_video_enabled(true),
64 accelerated_2d_canvas_enabled(false),
65 minimum_accelerated_2d_canvas_size(257 * 256),
66 antialiased_2d_canvas_disabled(false),
67 accelerated_2d_canvas_msaa_sample_count(0),
68 accelerated_filters_enabled(false),
69 deferred_filters_enabled(false),
70 container_culling_enabled(false),
71 gesture_tap_highlight_enabled(false),
72 allow_displaying_insecure_content(true),
73 allow_running_insecure_content(false),
74 password_echo_enabled(false),
75 should_print_backgrounds(false),
76 should_clear_document_background(true),
77 enable_scroll_animator(false),
78 region_based_columns_enabled(false),
79 touch_enabled(false),
80 device_supports_touch(false),
81 device_supports_mouse(true),
82 touch_adjustment_enabled(true),
83 pointer_events_max_touch_points(0),
84 sync_xhr_in_documents_enabled(true),
85 deferred_image_decoding_enabled(false),
86 should_respect_image_orientation(false),
87 number_of_cpu_cores(1),
88 #if defined(OS_MACOSX)
89 editing_behavior(webkit_glue::EDITING_BEHAVIOR_MAC),
90 #elif defined(OS_WIN)
91 editing_behavior(webkit_glue::EDITING_BEHAVIOR_WIN),
92 #elif defined(OS_ANDROID)
93 editing_behavior(webkit_glue::EDITING_BEHAVIOR_ANDROID),
94 #elif defined(OS_POSIX)
95 editing_behavior(webkit_glue::EDITING_BEHAVIOR_UNIX),
96 #else
97 editing_behavior(webkit_glue::EDITING_BEHAVIOR_MAC),
98 #endif
99 supports_multiple_windows(true),
100 viewport_enabled(false),
101 viewport_meta_enabled(false),
102 main_frame_resizes_are_orientation_changes(false),
103 initialize_at_minimum_page_scale(true),
104 #if defined(OS_MACOSX)
105 smart_insert_delete_enabled(true),
106 #else
107 smart_insert_delete_enabled(false),
108 #endif
109 spatial_navigation_enabled(false),
110 pinch_virtual_viewport_enabled(false),
111 pinch_overlay_scrollbar_thickness(0),
112 use_solid_color_scrollbars(false),
113 compositor_touch_hit_testing(true),
114 navigate_on_drag_drop(true),
115 cookie_enabled(true),
116 pepper_accelerated_video_decode_enabled(false)
117 #if defined(OS_ANDROID)
119 text_autosizing_enabled(true),
120 font_scale_factor(1.0f),
121 device_scale_adjustment(1.0f),
122 force_enable_zoom(false),
123 disallow_fullscreen_for_non_media_elements(false),
124 double_tap_to_zoom_enabled(true),
125 user_gesture_required_for_media_playback(true),
126 support_deprecated_target_density_dpi(false),
127 use_legacy_background_size_shorthand_behavior(false),
128 wide_viewport_quirk(false),
129 use_wide_viewport(true),
130 viewport_meta_layout_size_quirk(false),
131 viewport_meta_merge_content_quirk(false),
132 viewport_meta_non_user_scalable_quirk(false),
133 viewport_meta_zero_values_quirk(false),
134 clobber_user_agent_initial_scale_quirk(false),
135 ignore_main_frame_overflow_hidden_quirk(false),
136 report_screen_size_in_physical_pixels_quirk(false)
137 #endif
139 standard_font_family_map[webkit_glue::kCommonScript] =
140 base::ASCIIToUTF16("Times New Roman");
141 fixed_font_family_map[webkit_glue::kCommonScript] =
142 base::ASCIIToUTF16("Courier New");
143 serif_font_family_map[webkit_glue::kCommonScript] =
144 base::ASCIIToUTF16("Times New Roman");
145 sans_serif_font_family_map[webkit_glue::kCommonScript] =
146 base::ASCIIToUTF16("Arial");
147 cursive_font_family_map[webkit_glue::kCommonScript] =
148 base::ASCIIToUTF16("Script");
149 fantasy_font_family_map[webkit_glue::kCommonScript] =
150 base::ASCIIToUTF16("Impact");
151 pictograph_font_family_map[webkit_glue::kCommonScript] =
152 base::ASCIIToUTF16("Times New Roman");
155 WebPreferences::~WebPreferences() {
158 namespace webkit_glue {
160 // "Zyyy" is the ISO 15924 script code for undetermined script aka Common.
161 const char kCommonScript[] = "Zyyy";
163 #define COMPILE_ASSERT_MATCHING_ENUMS(webkit_glue_name, webkit_name) \
164 COMPILE_ASSERT( \
165 static_cast<int>(webkit_glue_name) == static_cast<int>(webkit_name), \
166 mismatching_enums)
168 COMPILE_ASSERT_MATCHING_ENUMS(
169 webkit_glue::EDITING_BEHAVIOR_MAC, WebSettings::EditingBehaviorMac);
170 COMPILE_ASSERT_MATCHING_ENUMS(
171 webkit_glue::EDITING_BEHAVIOR_WIN, WebSettings::EditingBehaviorWin);
172 COMPILE_ASSERT_MATCHING_ENUMS(
173 webkit_glue::EDITING_BEHAVIOR_UNIX, WebSettings::EditingBehaviorUnix);
174 COMPILE_ASSERT_MATCHING_ENUMS(
175 webkit_glue::EDITING_BEHAVIOR_ANDROID, WebSettings::EditingBehaviorAndroid);
177 } // namespace webkit_glue