| Index: Source/core/inspector/InspectorPageAgent.cpp
|
| diff --git a/Source/core/inspector/InspectorPageAgent.cpp b/Source/core/inspector/InspectorPageAgent.cpp
|
| index ba925a0cf937b62fd194b0a02c6b604da0297b7e..5486d3a78009e39f173dcf32e6887c28062348a0 100644
|
| --- a/Source/core/inspector/InspectorPageAgent.cpp
|
| +++ b/Source/core/inspector/InspectorPageAgent.cpp
|
| @@ -112,6 +112,11 @@ KURL urlWithoutFragment(const KURL& url)
|
| return result;
|
| }
|
|
|
| +bool anyDeviceMetricsOverrideEnabled(int width, int height, double deviceScaleFactor)
|
| +{
|
| + return width || height || deviceScaleFactor;
|
| +}
|
| +
|
| }
|
|
|
| static bool decodeBuffer(const char* buffer, unsigned size, const String& textEncodingName, String* result)
|
| @@ -423,14 +428,14 @@ void InspectorPageAgent::disable(ErrorString*)
|
| setShowScrollBottleneckRects(0, false);
|
| setShowViewportSizeOnResize(0, false, 0);
|
|
|
| - if (!deviceMetricsChanged(0, 0, 1, false, false, 1, false))
|
| + if (!deviceMetricsChanged(0, 0, 0, false, false, 1, false))
|
| return;
|
|
|
| // When disabling the agent, reset the override values if necessary.
|
| - updateViewMetrics(0, 0, 1, false, false, m_embedderFontScaleFactor, m_embedderTextAutosizingEnabled);
|
| + updateViewMetrics(0, 0, 0, false, false, m_embedderFontScaleFactor, m_embedderTextAutosizingEnabled);
|
| m_state->setLong(PageAgentState::pageAgentScreenWidthOverride, 0);
|
| m_state->setLong(PageAgentState::pageAgentScreenHeightOverride, 0);
|
| - m_state->setDouble(PageAgentState::pageAgentDeviceScaleFactorOverride, 1);
|
| + m_state->setDouble(PageAgentState::pageAgentDeviceScaleFactorOverride, 0);
|
| m_state->setBoolean(PageAgentState::pageAgentEmulateViewport, false);
|
| m_state->setBoolean(PageAgentState::pageAgentFitWindow, false);
|
| m_state->setDouble(PageAgentState::fontScaleFactor, 1);
|
| @@ -694,8 +699,8 @@ void InspectorPageAgent::setDeviceMetricsOverride(ErrorString* errorString, int
|
| return;
|
| }
|
|
|
| - if (deviceScaleFactor <= 0) {
|
| - *errorString = "deviceScaleFactor must be positive";
|
| + if (deviceScaleFactor < 0) {
|
| + *errorString = "deviceScaleFactor must be non-negative";
|
| return;
|
| }
|
|
|
| @@ -705,7 +710,7 @@ void InspectorPageAgent::setDeviceMetricsOverride(ErrorString* errorString, int
|
| }
|
|
|
| Settings& settings = m_page->settings();
|
| - if (width && height && !settings.acceleratedCompositingEnabled()) {
|
| + if (anyDeviceMetricsOverrideEnabled(width, height, deviceScaleFactor) && !settings.acceleratedCompositingEnabled()) {
|
| if (errorString)
|
| *errorString = "Compositing mode is not supported";
|
| return;
|
| @@ -1127,10 +1132,11 @@ PassRefPtr<TypeBuilder::Page::FrameResourceTree> InspectorPageAgent::buildObject
|
|
|
| void InspectorPageAgent::updateViewMetrics(int width, int height, double deviceScaleFactor, bool emulateViewport, bool fitWindow, double fontScaleFactor, bool textAutosizingEnabled)
|
| {
|
| - if (width && height && !m_page->settings().acceleratedCompositingEnabled())
|
| + bool enabled = anyDeviceMetricsOverrideEnabled(width, height, deviceScaleFactor);
|
| + if (enabled && !m_page->settings().acceleratedCompositingEnabled())
|
| return;
|
|
|
| - m_deviceMetricsOverridden = width && height;
|
| + m_deviceMetricsOverridden = enabled;
|
| m_emulateViewportEnabled = emulateViewport;
|
| m_client->overrideDeviceMetrics(width, height, static_cast<float>(deviceScaleFactor), emulateViewport, fitWindow);
|
|
|
|
|