1116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// Copyright 2014 The Chromium Authors. All rights reserved. 2868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// found in the LICENSE file. 4868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 5116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#include "content/public/common/web_preferences.h" 6868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 7868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/basictypes.h" 85e3f23d412006dc4db4e659864679f29341e113fTorne (Richard Coles)#include "base/strings/string_util.h" 9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/strings/utf_string_conversions.h" 107d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles)#include "third_party/WebKit/public/web/WebSettings.h" 11ca12bfac764ba476d6cd062bf1dde12cc64c3f40Ben Murdoch#include "third_party/icu/source/common/unicode/uchar.h" 12868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 13f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles)using blink::WebSettings; 14868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 15116680a4aac90f2aa7413d9095a592090648e557Ben Murdochnamespace content { 16116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 17116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch// "Zyyy" is the ISO 15924 script code for undetermined script aka Common. 18116680a4aac90f2aa7413d9095a592090648e557Ben Murdochconst char kCommonScript[] = "Zyyy"; 19116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 20116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch#define COMPILE_ASSERT_MATCHING_ENUMS(content_name, blink_name) \ 21116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch COMPILE_ASSERT( \ 22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch static_cast<int>(content_name) == static_cast<int>(blink_name), \ 23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch mismatching_enums) 24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 25116680a4aac90f2aa7413d9095a592090648e557Ben MurdochCOMPILE_ASSERT_MATCHING_ENUMS(EDITING_BEHAVIOR_MAC, 26116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch WebSettings::EditingBehaviorMac); 27116680a4aac90f2aa7413d9095a592090648e557Ben MurdochCOMPILE_ASSERT_MATCHING_ENUMS(EDITING_BEHAVIOR_WIN, 28116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch WebSettings::EditingBehaviorWin); 29116680a4aac90f2aa7413d9095a592090648e557Ben MurdochCOMPILE_ASSERT_MATCHING_ENUMS(EDITING_BEHAVIOR_UNIX, 30116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch WebSettings::EditingBehaviorUnix); 31116680a4aac90f2aa7413d9095a592090648e557Ben MurdochCOMPILE_ASSERT_MATCHING_ENUMS(EDITING_BEHAVIOR_ANDROID, 32116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch WebSettings::EditingBehaviorAndroid); 33116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 346e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)COMPILE_ASSERT_MATCHING_ENUMS(V8_CACHE_OPTIONS_OFF, 356e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) WebSettings::V8CacheOptionsOff); 366e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)COMPILE_ASSERT_MATCHING_ENUMS(V8_CACHE_OPTIONS_PARSE, 376e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) WebSettings::V8CacheOptionsParse); 386e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)COMPILE_ASSERT_MATCHING_ENUMS(V8_CACHE_OPTIONS_CODE, 396e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) WebSettings::V8CacheOptionsCode); 406e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles)COMPILE_ASSERT_MATCHING_ENUMS(V8_CACHE_OPTIONS_LAST, 416e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) WebSettings::V8CacheOptionsCode); 426e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) 43868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)WebPreferences::WebPreferences() 44868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) : default_font_size(16), 45868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) default_fixed_font_size(13), 46868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) minimum_font_size(0), 47868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) minimum_logical_font_size(6), 48868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) default_encoding("ISO-8859-1"), 49868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) javascript_enabled(true), 50868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) web_security_enabled(true), 51868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) javascript_can_open_windows_automatically(true), 52868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) loads_images_automatically(true), 53868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) images_enabled(true), 54868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) plugins_enabled(true), 55868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) dom_paste_enabled(false), // enables execCommand("paste") 56868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) shrinks_standalone_images_to_fit(true), 57868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) uses_universal_detector(false), // Disabled: page cycler regression 58868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) text_areas_are_resizable(true), 59868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) java_enabled(true), 60868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) allow_scripts_to_close_windows(false), 61868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) remote_fonts_enabled(true), 62868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) javascript_can_access_clipboard(false), 634e180b6a0b4720a9b8e9e959a882386f690f08ffTorne (Richard Coles) xslt_enabled(true), 64868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) xss_auditor_enabled(true), 65868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) dns_prefetching_enabled(true), 66868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) local_storage_enabled(false), 67868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) databases_enabled(false), 68868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) application_cache_enabled(false), 69868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) tabs_to_links(true), 70868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) caret_browsing_enabled(false), 71868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) hyperlink_auditing_enabled(true), 72868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) is_online(true), 73cedac228d2dd51db4b79ea1e72c7f249408ee061Torne (Richard Coles) connection_type(net::NetworkChangeNotifier::CONNECTION_NONE), 74868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) allow_universal_access_from_file_urls(false), 75868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) allow_file_access_from_file_urls(false), 76868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) webaudio_enabled(false), 77868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) experimental_webgl_enabled(false), 785d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) pepper_3d_enabled(false), 79868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) flash_3d_enabled(true), 80868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) flash_stage3d_enabled(false), 81868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) flash_stage3d_baseline_enabled(false), 82868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) gl_multisampling_enabled(true), 83868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) privileged_webgl_extensions_enabled(false), 84868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) webgl_errors_to_console_enabled(true), 85868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) mock_scrollbars_enabled(false), 860529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch layer_squashing_enabled(true), 87868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) asynchronous_spell_checking_enabled(true), 88868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) unified_textchecker_enabled(false), 89868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) accelerated_2d_canvas_enabled(false), 90868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) minimum_accelerated_2d_canvas_size(257 * 256), 91868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) antialiased_2d_canvas_disabled(false), 921e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) accelerated_2d_canvas_msaa_sample_count(0), 93868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) accelerated_filters_enabled(false), 945d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) deferred_filters_enabled(false), 95a02191e04bc25c4935f804f2c080ae28663d096dBen Murdoch container_culling_enabled(false), 96868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) allow_displaying_insecure_content(true), 97868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) allow_running_insecure_content(false), 98868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) password_echo_enabled(false), 99868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) should_print_backgrounds(false), 1005d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) should_clear_document_background(true), 101868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) enable_scroll_animator(false), 1027d4cd473f85ac64c3747c96c277f9e506a0d2246Torne (Richard Coles) region_based_columns_enabled(false), 103868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) touch_enabled(false), 104868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) device_supports_touch(false), 105868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) device_supports_mouse(true), 106868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) touch_adjustment_enabled(true), 1071e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) pointer_events_max_touch_points(0), 108868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) sync_xhr_in_documents_enabled(true), 109868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) deferred_image_decoding_enabled(false), 110868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) should_respect_image_orientation(false), 111868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) number_of_cpu_cores(1), 112868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#if defined(OS_MACOSX) 113116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch editing_behavior(EDITING_BEHAVIOR_MAC), 114868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#elif defined(OS_WIN) 115116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch editing_behavior(EDITING_BEHAVIOR_WIN), 116868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#elif defined(OS_ANDROID) 117116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch editing_behavior(EDITING_BEHAVIOR_ANDROID), 118868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#elif defined(OS_POSIX) 119116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch editing_behavior(EDITING_BEHAVIOR_UNIX), 120868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#else 121116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch editing_behavior(EDITING_BEHAVIOR_MAC), 122868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#endif 123868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) supports_multiple_windows(true), 124868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) viewport_enabled(false), 125f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) viewport_meta_enabled(false), 126f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) main_frame_resizes_are_orientation_changes(false), 127868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) initialize_at_minimum_page_scale(true), 128868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#if defined(OS_MACOSX) 129868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) smart_insert_delete_enabled(true), 130868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#else 131868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) smart_insert_delete_enabled(false), 132868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#endif 133868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) spatial_navigation_enabled(false), 134868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) pinch_virtual_viewport_enabled(false), 135eb525c5499e34cc9c4b825d6d9e75bb07cc06aceBen Murdoch pinch_overlay_scrollbar_thickness(0), 13658537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) use_solid_color_scrollbars(false), 137a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) navigate_on_drag_drop(true), 1386e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) v8_cache_options(V8_CACHE_OPTIONS_OFF), 1391320f92c476a1ad9d19dba2a48c72b75566198e9Primiano Tucci v8_script_streaming_enabled(false), 140a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) cookie_enabled(true), 141a1401311d1ab56c4ed0a474bd38c108f75cb0cd9Torne (Richard Coles) pepper_accelerated_video_decode_enabled(false) 142868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#if defined(OS_ANDROID) 143868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) , 144868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) text_autosizing_enabled(true), 1450f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) font_scale_factor(1.0f), 1460f1bc08d4cfcc34181b0b5cbf065c40f687bf740Torne (Richard Coles) device_scale_adjustment(1.0f), 147868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) force_enable_zoom(false), 148116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch disallow_fullscreen_for_non_media_elements(false), 1496e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) fullscreen_supported(true), 150868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) double_tap_to_zoom_enabled(true), 151868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) user_gesture_required_for_media_playback(true), 152868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) support_deprecated_target_density_dpi(false), 15358537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) use_legacy_background_size_shorthand_behavior(false), 154d0247b1b59f9c528cb6df88b4f2b9afaf80d181eTorne (Richard Coles) wide_viewport_quirk(false), 15558537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) use_wide_viewport(true), 1566e8cce623b6e4fe0c9e4af605d675dd9d0338c38Torne (Richard Coles) force_zero_layout_height(false), 15758537e28ecd584eab876aee8be7156509866d23aTorne (Richard Coles) viewport_meta_layout_size_quirk(false), 1581e9bf3e0803691d0a228da41fc608347b6db4340Torne (Richard Coles) viewport_meta_merge_content_quirk(false), 159f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) viewport_meta_non_user_scalable_quirk(false), 16068043e1e95eeb07d5cae7aca370b26518b0867d6Torne (Richard Coles) viewport_meta_zero_values_quirk(false), 161f2477e01787aa58f445919b809d89e252beef54fTorne (Richard Coles) clobber_user_agent_initial_scale_quirk(false), 1628bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) ignore_main_frame_overflow_hidden_quirk(false), 1638bcbed890bc3ce4d7a057a8f32cab53fa534672eTorne (Richard Coles) report_screen_size_in_physical_pixels_quirk(false) 164868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#endif 165868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles){ 166116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch standard_font_family_map[kCommonScript] = 1675d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) base::ASCIIToUTF16("Times New Roman"); 168116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch fixed_font_family_map[kCommonScript] = base::ASCIIToUTF16("Courier New"); 169116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch serif_font_family_map[kCommonScript] = base::ASCIIToUTF16("Times New Roman"); 170116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch sans_serif_font_family_map[kCommonScript] = base::ASCIIToUTF16("Arial"); 171116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch cursive_font_family_map[kCommonScript] = base::ASCIIToUTF16("Script"); 172116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch fantasy_font_family_map[kCommonScript] = base::ASCIIToUTF16("Impact"); 173116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch pictograph_font_family_map[kCommonScript] = 1745d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles) base::ASCIIToUTF16("Times New Roman"); 175868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)} 176868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 177868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)WebPreferences::~WebPreferences() { 178868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)} 179868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 180116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch} // namespace content 181