diff options
author | reveman@google.com <reveman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-15 20:40:15 +0000 |
---|---|---|
committer | reveman@google.com <reveman@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-12-15 20:40:15 +0000 |
commit | db543d32157df951f29f7a731dd2f5995ab2e5de (patch) | |
tree | 2551597c2e46597651ac5227c4d683921143ad10 | |
parent | ca929ed34121d8f90788f16dfd1fe555bb5701ae (diff) | |
download | chromium_src-db543d32157df951f29f7a731dd2f5995ab2e5de.zip chromium_src-db543d32157df951f29f7a731dd2f5995ab2e5de.tar.gz chromium_src-db543d32157df951f29f7a731dd2f5995ab2e5de.tar.bz2 |
Add a command-line switch --enable-per-tile-painting and make it consistent by changing --enable-accelerated-drawing to --enable-accelerated-painting.
With this switch, webkit compositor will paint tiles separately.
BUG=none
TEST=no behavior change in existing browser tests and ui tests
Review URL: http://codereview.chromium.org/8771056
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114694 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | chrome/app/generated_resources.grd | 14 | ||||
-rw-r--r-- | chrome/browser/about_flags.cc | 19 | ||||
-rw-r--r-- | chrome/browser/tab_contents/render_view_host_delegate_helper.cc | 9 | ||||
-rw-r--r-- | content/common/view_messages.h | 3 | ||||
-rw-r--r-- | content/public/common/content_switches.cc | 10 | ||||
-rw-r--r-- | content/public/common/content_switches.h | 4 | ||||
-rw-r--r-- | webkit/glue/webpreferences.cc | 12 | ||||
-rw-r--r-- | webkit/glue/webpreferences.h | 3 |
8 files changed, 50 insertions, 24 deletions
diff --git a/chrome/app/generated_resources.grd b/chrome/app/generated_resources.grd index b4e9a27..1f3d5b1 100644 --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd @@ -4730,11 +4730,11 @@ Keep your key file in a safe place. You will need it to create new versions of y <message name="IDS_FLAGS_COMPOSITED_LAYER_BORDERS_DESCRIPTION" desc="Description of the 'Composited layer borders' lab."> Renders a border around composited Render Layers to help debug and study layer compositing. </message> - <message name="IDS_FLAGS_ACCELERATED_DRAWING_NAME" desc="Title for the flag to enable accelerated drawing"> - GPU Accelerated Drawing + <message name="IDS_FLAGS_ACCELERATED_PAINTING_NAME" desc="Title for the flag to enable accelerated painting"> + GPU Accelerated Painting </message> - <message name="IDS_FLAGS_ACCELERATED_DRAWING_DESCRIPTION" desc="Description for the flag to enable accelerated drawing"> - Enable GPU accelerated drawing of page contents when compositing is enabled. + <message name="IDS_FLAGS_ACCELERATED_PAINTING_DESCRIPTION" desc="Description for the flag to enable accelerated painting"> + Enable GPU accelerated painting of page contents when compositing is enabled. </message> <message name="IDS_FLAGS_SHOW_FPS_COUNTER" desc="Name of the 'Show FPS counter' lab."> FPS counter @@ -5004,6 +5004,12 @@ Keep your key file in a safe place. You will need it to create new versions of y <message name="IDS_FLAGS_ENABLE_GAMEPAD_DESCRIPTION" desc="Description for the flag to enable gamepad support."> This API allows web applications to access data from gamepad devices connected to the system. </message> + <message name="IDS_FLAGS_PER_TILE_PAINTING_NAME" desc="Title for the flag to enable per-tile painting"> + Per-tile Painting + </message> + <message name="IDS_FLAGS_PER_TILE_PAINTING_DESCRIPTION" desc="Description for the flag to enable per-tile painting"> + Enable per-tile painting of page contents when compositing is enabled. + </message> <!-- Crashes --> <message name="IDS_CRASHES_TITLE" desc="Title for the chrome://crashes page."> diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc index c983e2d..7386c5c 100644 --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc @@ -154,15 +154,15 @@ const Experiment kExperiments[] = { SINGLE_VALUE_TYPE(switches::kShowCompositedLayerBorders) }, { - "accelerated-drawing", - IDS_FLAGS_ACCELERATED_DRAWING_NAME, - IDS_FLAGS_ACCELERATED_DRAWING_DESCRIPTION, + "accelerated-painting", + IDS_FLAGS_ACCELERATED_PAINTING_NAME, + IDS_FLAGS_ACCELERATED_PAINTING_DESCRIPTION, #if defined(USE_SKIA) kOsAll, #else 0, #endif - SINGLE_VALUE_TYPE(switches::kEnableAcceleratedDrawing) + SINGLE_VALUE_TYPE(switches::kEnableAcceleratedPainting) }, { "show-fps-counter", @@ -457,6 +457,17 @@ const Experiment kExperiments[] = { SINGLE_VALUE_TYPE(switches::kAuraLaptopMode) }, #endif + { + "per-tile-painting", + IDS_FLAGS_PER_TILE_PAINTING_NAME, + IDS_FLAGS_PER_TILE_PAINTING_DESCRIPTION, +#if defined(USE_SKIA) + kOsAll, +#else + 0, +#endif + SINGLE_VALUE_TYPE(switches::kEnablePerTilePainting) + }, }; const Experiment* experiments = kExperiments; diff --git a/chrome/browser/tab_contents/render_view_host_delegate_helper.cc b/chrome/browser/tab_contents/render_view_host_delegate_helper.cc index a8ad499..499af98 100644 --- a/chrome/browser/tab_contents/render_view_host_delegate_helper.cc +++ b/chrome/browser/tab_contents/render_view_host_delegate_helper.cc @@ -458,9 +458,9 @@ WebPreferences RenderViewHostDelegateHelper::GetWebkitPrefs( web_prefs.accelerated_2d_canvas_enabled = GpuProcessHost::gpu_enabled() && !command_line.HasSwitch(switches::kDisableAccelerated2dCanvas); - web_prefs.accelerated_drawing_enabled = + web_prefs.accelerated_painting_enabled = GpuProcessHost::gpu_enabled() && - command_line.HasSwitch(switches::kEnableAcceleratedDrawing); + command_line.HasSwitch(switches::kEnableAcceleratedPainting); web_prefs.accelerated_filters_enabled = GpuProcessHost::gpu_enabled() && command_line.HasSwitch(switches::kEnableAcceleratedFilters); @@ -506,9 +506,10 @@ WebPreferences RenderViewHostDelegateHelper::GetWebkitPrefs( web_prefs.visual_word_movement_enabled = command_line.HasSwitch(switches::kEnableVisualWordMovement); - web_prefs.unified_textchecker_enabled = command_line.HasSwitch(switches::kExperimentalSpellcheckerFeatures); + web_prefs.per_tile_painting_enabled = + command_line.HasSwitch(switches::kEnablePerTilePainting); } { // Certain GPU features might have been blacklisted. @@ -568,7 +569,7 @@ WebPreferences RenderViewHostDelegateHelper::GetWebkitPrefs( web_prefs.accelerated_compositing_enabled = false; web_prefs.accelerated_2d_canvas_enabled = false; web_prefs.accelerated_video_enabled = false; - web_prefs.accelerated_drawing_enabled = false; + web_prefs.accelerated_painting_enabled = false; web_prefs.accelerated_plugins_enabled = false; } diff --git a/content/common/view_messages.h b/content/common/view_messages.h index c10934d..c811301 100644 --- a/content/common/view_messages.h +++ b/content/common/view_messages.h @@ -219,7 +219,7 @@ IPC_STRUCT_TRAITS_BEGIN(WebPreferences) IPC_STRUCT_TRAITS_MEMBER(composite_to_texture_enabled) IPC_STRUCT_TRAITS_MEMBER(fixed_position_compositing_enabled) IPC_STRUCT_TRAITS_MEMBER(accelerated_2d_canvas_enabled) - IPC_STRUCT_TRAITS_MEMBER(accelerated_drawing_enabled) + IPC_STRUCT_TRAITS_MEMBER(accelerated_painting_enabled) IPC_STRUCT_TRAITS_MEMBER(accelerated_filters_enabled) IPC_STRUCT_TRAITS_MEMBER(accelerated_plugins_enabled) IPC_STRUCT_TRAITS_MEMBER(accelerated_layers_enabled) @@ -231,6 +231,7 @@ IPC_STRUCT_TRAITS_BEGIN(WebPreferences) IPC_STRUCT_TRAITS_MEMBER(allow_running_insecure_content) IPC_STRUCT_TRAITS_MEMBER(enable_scroll_animator) IPC_STRUCT_TRAITS_MEMBER(visual_word_movement_enabled) + IPC_STRUCT_TRAITS_MEMBER(per_tile_painting_enabled) IPC_STRUCT_TRAITS_END() IPC_STRUCT_TRAITS_BEGIN(WebMenuItem) diff --git a/content/public/common/content_switches.cc b/content/public/common/content_switches.cc index 8b0463d..c3bb782 100644 --- a/content/public/common/content_switches.cc +++ b/content/public/common/content_switches.cc @@ -170,11 +170,8 @@ const char kDisableWebSockets[] = "disable-web-sockets"; // Enable gpu-accelerated 2d canvas. const char kEnableAccelerated2dCanvas[] = "enable-accelerated-2d-canvas"; -// Enable hardware accelerated page drawing. -// Please note that this flag is honored only if chromium is compiled with -// SKIA_GPU flag, which can be enabled by setting use_skia_gpu variable to 1 -// in build/features_override.gypi. -const char kEnableAcceleratedDrawing[] = "enable-accelerated-drawing"; +// Enable hardware accelerated page painting. +const char kEnableAcceleratedPainting[] = "enable-accelerated-painting"; // Enable gpu-accelerated SVG/W3C filters. const char kEnableAcceleratedFilters[] = "enable-accelerated-filters"; @@ -559,4 +556,7 @@ const char kUseSystemSSL[] = "use-system-ssl"; const char kRendererCheckFalseTest[] = "renderer-check-false-test"; #endif +// Enable per-tile page painting. +const char kEnablePerTilePainting[] = "enable-per-tile-painting"; + } // namespace switches diff --git a/content/public/common/content_switches.h b/content/public/common/content_switches.h index 4aefed1..6a28d5d 100644 --- a/content/public/common/content_switches.h +++ b/content/public/common/content_switches.h @@ -65,7 +65,7 @@ extern const char kDisableSpellcheckAPI[]; CONTENT_EXPORT extern const char kDisableWebAudio[]; extern const char kDisableWebSockets[]; extern const char kEnableAccelerated2dCanvas[]; -CONTENT_EXPORT extern const char kEnableAcceleratedDrawing[]; +CONTENT_EXPORT extern const char kEnableAcceleratedPainting[]; CONTENT_EXPORT extern const char kEnableAcceleratedFilters[]; extern const char kEnableAccessibility[]; extern const char kEnableAccessibilityLogging[]; @@ -180,6 +180,8 @@ extern const char kUseSystemSSL[]; CONTENT_EXPORT extern const char kRendererCheckFalseTest[]; #endif +extern const char kEnablePerTilePainting[]; + } // namespace switches #endif // CONTENT_PUBLIC_COMMON_CONTENT_SWITCHES_H_ diff --git a/webkit/glue/webpreferences.cc b/webkit/glue/webpreferences.cc index 71cd35f..4a81945 100644 --- a/webkit/glue/webpreferences.cc +++ b/webkit/glue/webpreferences.cc @@ -85,7 +85,7 @@ WebPreferences::WebPreferences() accelerated_layers_enabled(false), accelerated_video_enabled(false), accelerated_2d_canvas_enabled(false), - accelerated_drawing_enabled(false), + accelerated_painting_enabled(false), accelerated_filters_enabled(false), accelerated_plugins_enabled(false), memory_info_enabled(false), @@ -96,7 +96,8 @@ WebPreferences::WebPreferences() should_print_backgrounds(false), enable_scroll_animator(false), hixie76_websocket_protocol_enabled(false), - visual_word_movement_enabled(false) { + visual_word_movement_enabled(false), + per_tile_painting_enabled(false) { } WebPreferences::~WebPreferences() { @@ -279,8 +280,8 @@ void WebPreferences::Apply(WebView* web_view) const { // Enable gpu-accelerated 2d canvas if requested on the command line. settings->setAccelerated2dCanvasEnabled(accelerated_2d_canvas_enabled); - // Enable gpu-accelerated drawing if requested on the command line. - settings->setAcceleratedDrawingEnabled(accelerated_drawing_enabled); + // Enable gpu-accelerated painting if requested on the command line. + settings->setAcceleratedPaintingEnabled(accelerated_painting_enabled); // Enable gpu-accelerated filters if requested on the command line. settings->setAcceleratedFiltersEnabled(accelerated_filters_enabled); @@ -330,5 +331,8 @@ void WebPreferences::Apply(WebView* web_view) const { hixie76_websocket_protocol_enabled); settings->setVisualWordMovementEnabled(visual_word_movement_enabled); + // Enable per-tile painting if requested on the command line. + settings->setPerTilePaintingEnabled(per_tile_painting_enabled); + WebNetworkStateNotifier::setOnLine(is_online); } diff --git a/webkit/glue/webpreferences.h b/webkit/glue/webpreferences.h index a7cdfc1..8c3f70fc 100644 --- a/webkit/glue/webpreferences.h +++ b/webkit/glue/webpreferences.h @@ -99,7 +99,7 @@ struct WEBKIT_GLUE_EXPORT WebPreferences { bool accelerated_layers_enabled; bool accelerated_video_enabled; bool accelerated_2d_canvas_enabled; - bool accelerated_drawing_enabled; + bool accelerated_painting_enabled; bool accelerated_filters_enabled; bool accelerated_plugins_enabled; bool memory_info_enabled; @@ -111,6 +111,7 @@ struct WEBKIT_GLUE_EXPORT WebPreferences { bool enable_scroll_animator; bool hixie76_websocket_protocol_enabled; bool visual_word_movement_enabled; + bool per_tile_painting_enabled; // We try to keep the default values the same as the default values in // chrome, except for the cases where it would require lots of extra work for // the embedder to use the same default value. |