Index: Source/core/inspector/InspectorPageAgent.cpp |
diff --git a/Source/core/inspector/InspectorPageAgent.cpp b/Source/core/inspector/InspectorPageAgent.cpp |
old mode 100644 |
new mode 100755 |
index 74c69c8d46abaf7127df5a8732517d8c5b031dd6..a2da5c8574a4fe539de001d6267e5d7d80fe74d5 |
--- a/Source/core/inspector/InspectorPageAgent.cpp |
+++ b/Source/core/inspector/InspectorPageAgent.cpp |
@@ -333,6 +333,8 @@ InspectorPageAgent::InspectorPageAgent(InstrumentingAgents* instrumentingAgents, |
, m_ignoreScriptsEnabledNotification(false) |
, m_deviceMetricsOverridden(false) |
, m_emulateViewportEnabled(false) |
+ , m_settingsCacheTextAutosizingEnabled(false) |
+ , m_settingsCacheFontScaleFactor(1.0) |
{ |
} |
@@ -782,7 +784,7 @@ void InspectorPageAgent::getScriptExecutionStatus(ErrorString*, PageCommandHandl |
if (frame) { |
disabledByScriptController = !frame->script().canExecuteScripts(NotAboutToExecuteScript); |
if (frame->settings()) |
- disabledInSettings = !frame->settings()->isScriptEnabled(); |
+ disabledInSettings = !frame->settings()->scriptEnabled(); |
} |
if (!disabledByScriptController) { |
@@ -1051,12 +1053,19 @@ void InspectorPageAgent::didRecalculateStyle() |
m_overlay->update(); |
} |
-void InspectorPageAgent::scriptsEnabled(bool isEnabled) |
+void InspectorPageAgent::settingsChanged() |
{ |
- if (m_ignoreScriptsEnabledNotification) |
+ Settings* settings = mainFrame()->settings(); |
+ if (!settings) |
return; |
- m_frontend->scriptsEnabled(isEnabled); |
+ if (!m_ignoreScriptsEnabledNotification) |
+ m_frontend->scriptsEnabled(settings->scriptEnabled()); |
+ |
+ if (!m_deviceMetricsOverridden) { |
+ m_settingsCacheTextAutosizingEnabled = settings->textAutosizingEnabled(); |
+ m_settingsCacheFontScaleFactor = settings->deviceScaleAdjustment(); |
+ } |
} |
PassRefPtr<TypeBuilder::Page::Frame> InspectorPageAgent::buildObjectForFrame(Frame* frame) |
@@ -1129,6 +1138,15 @@ void InspectorPageAgent::updateViewMetrics(int width, int height, double deviceS |
return; |
m_deviceMetricsOverridden = width && height; |
+ Settings& settings = m_page->settings(); |
+ if (m_deviceMetricsOverridden) { |
+ settings.setTextAutosizingEnabled(overrideTextAutosizing()); |
+ settings.setDeviceScaleAdjustment(overrideFontScaleFactor()); |
+ } else { |
+ settings.setTextAutosizingEnabled(m_settingsCacheTextAutosizingEnabled); |
+ settings.setDeviceScaleAdjustment(m_settingsCacheFontScaleFactor); |
+ } |
+ |
m_emulateViewportEnabled = emulateViewport; |
m_client->overrideDeviceMetrics(width, height, static_cast<float>(deviceScaleFactor), emulateViewport, fitWindow); |
@@ -1210,17 +1228,13 @@ void InspectorPageAgent::clearDeviceOrientationOverride(ErrorString* error) |
setDeviceOrientationOverride(error, 0, 0, 0); |
} |
-bool InspectorPageAgent::overrideTextAutosizing(bool textAutosizing) |
+bool InspectorPageAgent::overrideTextAutosizing() |
{ |
- if (!m_deviceMetricsOverridden) |
- return textAutosizing; |
return m_state->getBoolean(PageAgentState::pageAgentTextAutosizingOverride); |
} |
-float InspectorPageAgent::overrideFontScaleFactor(float fontScaleFactor) |
+float InspectorPageAgent::overrideFontScaleFactor() |
{ |
- if (!m_deviceMetricsOverridden) |
- return fontScaleFactor; |
return static_cast<float>(m_state->getDouble(PageAgentState::fontScaleFactor)); |
} |