Index: Source/core/inspector/InspectorPageAgent.cpp |
diff --git a/Source/core/inspector/InspectorPageAgent.cpp b/Source/core/inspector/InspectorPageAgent.cpp |
index c1d6981e267a15ad5347ee3cea975d821f76439b..0bffef1de2b9a951fccef500cddb0a183c71dcf0 100644 |
--- a/Source/core/inspector/InspectorPageAgent.cpp |
+++ b/Source/core/inspector/InspectorPageAgent.cpp |
@@ -331,6 +331,8 @@ InspectorPageAgent::InspectorPageAgent(Page* page, InjectedScriptManager* inject |
, m_ignoreScriptsEnabledNotification(false) |
, m_deviceMetricsOverridden(false) |
, m_emulateViewportEnabled(false) |
+ , m_settingsCacheTextAutosizingEnabled(false) |
+ , m_settingsCacheFontScaleFactor(1.0) |
{ |
} |
@@ -780,7 +782,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) { |
@@ -1046,12 +1048,28 @@ 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()); |
pfeldman
2014/01/30 16:34:08
We don't want to call scriptsEnabled with the same
|
+ |
+ if (!m_deviceMetricsOverridden) { |
+ m_settingsCacheTextAutosizingEnabled = settings->textAutosizingEnabled(); |
pfeldman
2014/01/30 16:34:08
You want to store these unconditionally so that yo
|
+ m_settingsCacheFontScaleFactor = settings->deviceScaleAdjustment(); |
+ } else { |
+ if (settings->textAutosizingEnabled() != overrideTextAutosizing()) { |
+ m_settingsCacheTextAutosizingEnabled = settings->textAutosizingEnabled(); |
+ settings->setTextAutosizingEnabled(overrideTextAutosizing()); |
pfeldman
2014/01/30 16:34:08
So upon setTextAutosizingEnabled("A"), you will ac
gnana
2014/01/31 14:21:09
After Placing InspectorInstrumentation::overrideTe
|
+ } |
+ if (settings->deviceScaleAdjustment() != overrideFontScaleFactor()) { |
+ m_settingsCacheFontScaleFactor = settings->deviceScaleAdjustment(); |
+ settings->setDeviceScaleAdjustment(overrideFontScaleFactor()); |
+ } |
+ } |
} |
PassRefPtr<TypeBuilder::Page::Frame> InspectorPageAgent::buildObjectForFrame(Frame* frame) |
@@ -1124,6 +1142,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); |
@@ -1162,17 +1189,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)); |
} |