Simplify pinch flags.
At present, we have two flags to enable two different pinch models: enable-pinch => enables Android style zoom enable-pinch + enable-pinch-in-compositor => enables chrome linux/win accelerated zoom This CL rationalizes the flags so that enable-css-transform-pinch => enables Android style zoom enable-pinch => enables chrome linux/win accelerated zoom and the latter can be controlled via about:flags. BUG= NOTRY=TRUE Review URL: https://chromiumcodereview.appspot.com/11348353 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171309 0039d316-1c4b-4281-b951-d872f2087c98
This commit is contained in:
cc
chrome/browser
content
browser
public
renderer
@ -21,10 +21,6 @@ const char kEnablePartialSwap[] = "enable-partial-swap";
|
||||
|
||||
const char kEnablePerTilePainting[] = "enable-per-tile-painting";
|
||||
|
||||
// Enables an alternative pinch-zoom gesture support, via the threaded
|
||||
// compositor.
|
||||
const char kEnablePinchInCompositor[] = "enable-pinch-in-compositor";
|
||||
|
||||
// Number of worker threads used to rasterize content.
|
||||
const char kNumRasterThreads[] = "num-raster-threads";
|
||||
|
||||
|
@ -20,7 +20,6 @@ CC_EXPORT extern const char kDisableThreadedAnimation[];
|
||||
CC_EXPORT extern const char kEnableImplSidePainting[];
|
||||
CC_EXPORT extern const char kEnablePartialSwap[];
|
||||
CC_EXPORT extern const char kEnablePerTilePainting[];
|
||||
CC_EXPORT extern const char kEnablePinchInCompositor[];
|
||||
CC_EXPORT extern const char kJankInsteadOfCheckerboard[];
|
||||
CC_EXPORT extern const char kNumRasterThreads[];
|
||||
CC_EXPORT extern const char kShowPropertyChangedRects[];
|
||||
|
@ -894,7 +894,7 @@ const Experiment kExperiments[] = {
|
||||
"enable-pinch",
|
||||
IDS_FLAGS_ENABLE_PINCH_SCALE_NAME,
|
||||
IDS_FLAGS_ENABLE_PINCH_SCALE_DESCRIPTION,
|
||||
kOsAll,
|
||||
kOsLinux | kOsWin | kOsCrOS,
|
||||
SINGLE_VALUE_TYPE(switches::kEnablePinch),
|
||||
},
|
||||
{
|
||||
|
@ -815,7 +815,6 @@ std::string LoginUtilsImpl::GetOffTheRecordCommandLine(
|
||||
ash::switches::kAshDisablePanelFitting,
|
||||
cc::switches::kDisableThreadedAnimation,
|
||||
cc::switches::kEnablePartialSwap,
|
||||
cc::switches::kEnablePinchInCompositor,
|
||||
chromeos::switches::kDbusStub,
|
||||
chromeos::switches::kEnableNewNetworkHandlers,
|
||||
gfx::switches::kEnableBrowserTextSubpixelPositioning,
|
||||
|
@ -51,7 +51,7 @@ void SetContentCommandLineFlags(int max_render_process_count) {
|
||||
switches::kEnableCompositingForFixedPosition);
|
||||
|
||||
parsed_command_line->AppendSwitch(switches::kEnableGestureTapHighlight);
|
||||
parsed_command_line->AppendSwitch(switches::kEnablePinch);
|
||||
parsed_command_line->AppendSwitch(switches::kEnableCssTransformPinch);
|
||||
|
||||
// Run the GPU service as a thread in the browser instead of as a
|
||||
// standalone process.
|
||||
|
@ -653,7 +653,7 @@ WebPreferences WebContentsImpl::GetWebkitPrefs(RenderViewHost* rvh,
|
||||
}
|
||||
|
||||
prefs.apply_page_scale_factor_in_compositor =
|
||||
command_line.HasSwitch(cc::switches::kEnablePinchInCompositor);
|
||||
command_line.HasSwitch(switches::kEnablePinch);
|
||||
prefs.per_tile_painting_enabled =
|
||||
command_line.HasSwitch(cc::switches::kEnablePerTilePainting);
|
||||
prefs.accelerated_animation_enabled =
|
||||
|
@ -308,9 +308,12 @@ const char kEnableMonitorProfile[] = "enable-monitor-profile";
|
||||
// that support it.
|
||||
const char kEnableUIReleaseFrontSurface[] = "enable-ui-release-front-surface";
|
||||
|
||||
// Enables touch-screen pinch gestures.
|
||||
// Enables compositor-accelerated touch-screen pinch gestures.
|
||||
const char kEnablePinch[] = "enable-pinch";
|
||||
|
||||
// Enables Android-style touch-screen pinch gestures.
|
||||
const char kEnableCssTransformPinch[] = "enable-css-transform-pinch";
|
||||
|
||||
// Enable caching of pre-parsed JS script data. See http://crbug.com/32407.
|
||||
const char kEnablePreparsedJsCaching[] = "enable-preparsed-js-caching";
|
||||
|
||||
|
@ -108,6 +108,7 @@ CONTENT_EXPORT extern const char kUseFakeDeviceForMediaStream[];
|
||||
extern const char kEnableMonitorProfile[];
|
||||
extern const char kEnableUIReleaseFrontSurface[];
|
||||
extern const char kEnablePinch[];
|
||||
extern const char kEnableCssTransformPinch[];
|
||||
extern const char kEnablePreparsedJsCaching[];
|
||||
CONTENT_EXPORT extern const char kEnablePrivilegedWebGLExtensions[];
|
||||
extern const char kEnablePruneGpuCommandBuffers[];
|
||||
|
@ -3185,25 +3185,19 @@ void RenderViewImpl::ProcessViewLayoutFlags(const CommandLine& command_line) {
|
||||
|
||||
void RenderViewImpl::ProcessAcceleratedPinchZoomFlags(
|
||||
const CommandLine& command_line) {
|
||||
bool enable_viewport =
|
||||
command_line.HasSwitch(switches::kEnableViewport);
|
||||
bool enable_pinch = enable_viewport ||
|
||||
command_line.HasSwitch(switches::kEnablePinch);
|
||||
bool enable_pinch_in_compositor =
|
||||
command_line.HasSwitch(cc::switches::kEnablePinchInCompositor);
|
||||
if (!webview()->isAcceleratedCompositingActive())
|
||||
return;
|
||||
|
||||
if (!enable_pinch &&
|
||||
webview()->isAcceleratedCompositingActive() &&
|
||||
webkit_preferences_.apply_default_device_scale_factor_in_compositor &&
|
||||
device_scale_factor_ != 1) {
|
||||
// Page scaling is disabled by default when applying a scale factor in the
|
||||
// compositor since they are currently incompatible.
|
||||
webview()->setPageScaleFactorLimits(1, 1);
|
||||
}
|
||||
bool enable_viewport = command_line.HasSwitch(switches::kEnableViewport);
|
||||
bool enable_pinch = command_line.HasSwitch(switches::kEnablePinch);
|
||||
|
||||
if (enable_pinch_in_compositor &&
|
||||
webview()->isAcceleratedCompositingActive())
|
||||
if (enable_viewport)
|
||||
return;
|
||||
|
||||
if (enable_pinch)
|
||||
webview()->setPageScaleFactorLimits(1, 4);
|
||||
else
|
||||
webview()->setPageScaleFactorLimits(1, 1);
|
||||
}
|
||||
|
||||
void RenderViewImpl::didStartProvisionalLoad(WebFrame* frame) {
|
||||
|
Reference in New Issue
Block a user