| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 324 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 335 , m_page(page) | 335 , m_page(page) |
| 336 , m_injectedScriptManager(injectedScriptManager) | 336 , m_injectedScriptManager(injectedScriptManager) |
| 337 , m_client(client) | 337 , m_client(client) |
| 338 , m_frontend(0) | 338 , m_frontend(0) |
| 339 , m_overlay(overlay) | 339 , m_overlay(overlay) |
| 340 , m_lastScriptIdentifier(0) | 340 , m_lastScriptIdentifier(0) |
| 341 , m_enabled(false) | 341 , m_enabled(false) |
| 342 , m_ignoreScriptsEnabledNotification(false) | 342 , m_ignoreScriptsEnabledNotification(false) |
| 343 , m_deviceMetricsOverridden(false) | 343 , m_deviceMetricsOverridden(false) |
| 344 , m_emulateViewportEnabled(false) | 344 , m_emulateViewportEnabled(false) |
| 345 , m_touchEmulationEnabled(false) |
| 346 , m_originalTouchEnabled(false) |
| 347 , m_originalDeviceSupportsMouse(false) |
| 348 , m_originalDeviceSupportsTouch(false) |
| 345 , m_embedderTextAutosizingEnabled(m_page->settings().textAutosizingEnabled()
) | 349 , m_embedderTextAutosizingEnabled(m_page->settings().textAutosizingEnabled()
) |
| 346 , m_embedderFontScaleFactor(m_page->settings().deviceScaleAdjustment()) | 350 , m_embedderFontScaleFactor(m_page->settings().deviceScaleAdjustment()) |
| 347 { | 351 { |
| 348 } | 352 } |
| 349 | 353 |
| 350 void InspectorPageAgent::setTextAutosizingEnabled(bool enabled) | 354 void InspectorPageAgent::setTextAutosizingEnabled(bool enabled) |
| 351 { | 355 { |
| 352 m_embedderTextAutosizingEnabled = enabled; | 356 m_embedderTextAutosizingEnabled = enabled; |
| 353 if (!m_deviceMetricsOverridden) | 357 if (!m_deviceMetricsOverridden) |
| 354 m_page->settings().setTextAutosizingEnabled(enabled); | 358 m_page->settings().setTextAutosizingEnabled(enabled); |
| 355 } | 359 } |
| 356 | 360 |
| 357 void InspectorPageAgent::setDeviceScaleAdjustment(float deviceScaleAdjustment) | 361 void InspectorPageAgent::setDeviceScaleAdjustment(float deviceScaleAdjustment) |
| 358 { | 362 { |
| 359 m_embedderFontScaleFactor = deviceScaleAdjustment; | 363 m_embedderFontScaleFactor = deviceScaleAdjustment; |
| 360 if (!m_deviceMetricsOverridden) | 364 if (!m_deviceMetricsOverridden) |
| 361 m_page->settings().setDeviceScaleAdjustment(deviceScaleAdjustment); | 365 m_page->settings().setDeviceScaleAdjustment(deviceScaleAdjustment); |
| 362 } | 366 } |
| 363 | 367 |
| 364 void InspectorPageAgent::setFrontend(InspectorFrontend* frontend) | 368 void InspectorPageAgent::setFrontend(InspectorFrontend* frontend) |
| 365 { | 369 { |
| 366 m_frontend = frontend->page(); | 370 m_frontend = frontend->page(); |
| 367 } | 371 } |
| 368 | 372 |
| 369 void InspectorPageAgent::clearFrontend() | 373 void InspectorPageAgent::clearFrontend() |
| 370 { | 374 { |
| 371 ErrorString error; | 375 ErrorString error; |
| 372 disable(&error); | 376 disable(&error); |
| 373 updateTouchEventEmulationInPage(false); | |
| 374 m_frontend = 0; | 377 m_frontend = 0; |
| 375 } | 378 } |
| 376 | 379 |
| 377 void InspectorPageAgent::restore() | 380 void InspectorPageAgent::restore() |
| 378 { | 381 { |
| 379 if (m_state->getBoolean(PageAgentState::pageAgentEnabled)) { | 382 if (m_state->getBoolean(PageAgentState::pageAgentEnabled)) { |
| 380 ErrorString error; | 383 ErrorString error; |
| 381 enable(&error); | 384 enable(&error); |
| 382 bool scriptExecutionDisabled = m_state->getBoolean(PageAgentState::pageA
gentScriptExecutionDisabled); | 385 bool scriptExecutionDisabled = m_state->getBoolean(PageAgentState::pageA
gentScriptExecutionDisabled); |
| 383 setScriptExecutionDisabled(0, scriptExecutionDisabled); | 386 setScriptExecutionDisabled(0, scriptExecutionDisabled); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 429 m_deviceMetricsOverridden = false; | 432 m_deviceMetricsOverridden = false; |
| 430 | 433 |
| 431 setShowPaintRects(0, false); | 434 setShowPaintRects(0, false); |
| 432 setShowDebugBorders(0, false); | 435 setShowDebugBorders(0, false); |
| 433 setShowFPSCounter(0, false); | 436 setShowFPSCounter(0, false); |
| 434 setEmulatedMedia(0, String()); | 437 setEmulatedMedia(0, String()); |
| 435 setContinuousPaintingEnabled(0, false); | 438 setContinuousPaintingEnabled(0, false); |
| 436 setShowScrollBottleneckRects(0, false); | 439 setShowScrollBottleneckRects(0, false); |
| 437 setShowViewportSizeOnResize(0, false, 0); | 440 setShowViewportSizeOnResize(0, false, 0); |
| 438 | 441 |
| 442 if (m_state->getBoolean(PageAgentState::touchEventEmulationEnabled)) { |
| 443 updateTouchEventEmulationInPage(false); |
| 444 m_state->setBoolean(PageAgentState::touchEventEmulationEnabled, false); |
| 445 } |
| 446 |
| 439 if (!deviceMetricsChanged(0, 0, 0, false, false, 1, false)) | 447 if (!deviceMetricsChanged(0, 0, 0, false, false, 1, false)) |
| 440 return; | 448 return; |
| 441 | 449 |
| 442 // When disabling the agent, reset the override values if necessary. | 450 // When disabling the agent, reset the override values if necessary. |
| 443 updateViewMetrics(0, 0, 0, false, false, m_embedderFontScaleFactor, m_embedd
erTextAutosizingEnabled); | 451 updateViewMetrics(0, 0, 0, false, false, m_embedderFontScaleFactor, m_embedd
erTextAutosizingEnabled); |
| 444 m_state->setLong(PageAgentState::pageAgentScreenWidthOverride, 0); | 452 m_state->setLong(PageAgentState::pageAgentScreenWidthOverride, 0); |
| 445 m_state->setLong(PageAgentState::pageAgentScreenHeightOverride, 0); | 453 m_state->setLong(PageAgentState::pageAgentScreenHeightOverride, 0); |
| 446 m_state->setDouble(PageAgentState::pageAgentDeviceScaleFactorOverride, 0); | 454 m_state->setDouble(PageAgentState::pageAgentDeviceScaleFactorOverride, 0); |
| 447 m_state->setBoolean(PageAgentState::pageAgentEmulateViewport, false); | 455 m_state->setBoolean(PageAgentState::pageAgentEmulateViewport, false); |
| 448 m_state->setBoolean(PageAgentState::pageAgentFitWindow, false); | 456 m_state->setBoolean(PageAgentState::pageAgentFitWindow, false); |
| (...skipping 704 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1153 m_page->settings().setDeviceScaleAdjustment(fontScaleFactor); | 1161 m_page->settings().setDeviceScaleAdjustment(fontScaleFactor); |
| 1154 } | 1162 } |
| 1155 | 1163 |
| 1156 // FIXME: allow metrics override, fps counter and continuous painting at the
same time: crbug.com/299837. | 1164 // FIXME: allow metrics override, fps counter and continuous painting at the
same time: crbug.com/299837. |
| 1157 m_client->setShowFPSCounter(m_state->getBoolean(PageAgentState::pageAgentSho
wFPSCounter) && !m_deviceMetricsOverridden); | 1165 m_client->setShowFPSCounter(m_state->getBoolean(PageAgentState::pageAgentSho
wFPSCounter) && !m_deviceMetricsOverridden); |
| 1158 m_client->setContinuousPaintingEnabled(m_state->getBoolean(PageAgentState::p
ageAgentContinuousPaintingEnabled) && !m_deviceMetricsOverridden); | 1166 m_client->setContinuousPaintingEnabled(m_state->getBoolean(PageAgentState::p
ageAgentContinuousPaintingEnabled) && !m_deviceMetricsOverridden); |
| 1159 } | 1167 } |
| 1160 | 1168 |
| 1161 void InspectorPageAgent::updateTouchEventEmulationInPage(bool enabled) | 1169 void InspectorPageAgent::updateTouchEventEmulationInPage(bool enabled) |
| 1162 { | 1170 { |
| 1163 m_state->setBoolean(PageAgentState::touchEventEmulationEnabled, enabled); | 1171 if (!m_touchEmulationEnabled) { |
| 1172 m_originalTouchEnabled = RuntimeEnabledFeatures::touchEnabled(); |
| 1173 m_originalDeviceSupportsMouse = m_page->settings().deviceSupportsMouse()
; |
| 1174 m_originalDeviceSupportsTouch = m_page->settings().deviceSupportsTouch()
; |
| 1175 } |
| 1176 RuntimeEnabledFeatures::setTouchEnabled(enabled ? true : m_originalTouchEnab
led); |
| 1177 m_page->settings().setDeviceSupportsMouse(enabled ? false : m_originalDevice
SupportsMouse); |
| 1178 m_page->settings().setDeviceSupportsTouch(enabled ? true : m_originalDeviceS
upportsTouch); |
| 1179 m_touchEmulationEnabled = enabled; |
| 1164 m_client->setTouchEventEmulationEnabled(enabled); | 1180 m_client->setTouchEventEmulationEnabled(enabled); |
| 1181 m_page->mainFrame()->view()->layout(); |
| 1165 } | 1182 } |
| 1166 | 1183 |
| 1167 void InspectorPageAgent::setTouchEmulationEnabled(ErrorString*, bool enabled) | 1184 void InspectorPageAgent::hasTouchInputs(ErrorString*, bool* result) |
| 1185 { |
| 1186 *result = m_touchEmulationEnabled ? m_originalDeviceSupportsTouch : m_page->
settings().deviceSupportsTouch(); |
| 1187 } |
| 1188 |
| 1189 void InspectorPageAgent::setTouchEmulationEnabled(ErrorString* error, bool enabl
ed) |
| 1168 { | 1190 { |
| 1169 if (m_state->getBoolean(PageAgentState::touchEventEmulationEnabled) == enabl
ed) | 1191 if (m_state->getBoolean(PageAgentState::touchEventEmulationEnabled) == enabl
ed) |
| 1170 return; | 1192 return; |
| 1193 |
| 1194 bool hasTouch = false; |
| 1195 hasTouchInputs(error, &hasTouch); |
| 1196 if (enabled && hasTouch) { |
| 1197 if (error) |
| 1198 *error = "Device already supports touch input"; |
| 1199 return; |
| 1200 } |
| 1201 |
| 1202 m_state->setBoolean(PageAgentState::touchEventEmulationEnabled, enabled); |
| 1171 updateTouchEventEmulationInPage(enabled); | 1203 updateTouchEventEmulationInPage(enabled); |
| 1172 } | 1204 } |
| 1173 | 1205 |
| 1174 void InspectorPageAgent::setEmulatedMedia(ErrorString*, const String& media) | 1206 void InspectorPageAgent::setEmulatedMedia(ErrorString*, const String& media) |
| 1175 { | 1207 { |
| 1176 String currentMedia = m_state->getString(PageAgentState::pageAgentEmulatedMe
dia); | 1208 String currentMedia = m_state->getString(PageAgentState::pageAgentEmulatedMe
dia); |
| 1177 if (media == currentMedia) | 1209 if (media == currentMedia) |
| 1178 return; | 1210 return; |
| 1179 | 1211 |
| 1180 m_state->setString(PageAgentState::pageAgentEmulatedMedia, media); | 1212 m_state->setString(PageAgentState::pageAgentEmulatedMedia, media); |
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1226 } | 1258 } |
| 1227 | 1259 |
| 1228 void InspectorPageAgent::setShowViewportSizeOnResize(ErrorString*, bool show, co
nst bool* showGrid) | 1260 void InspectorPageAgent::setShowViewportSizeOnResize(ErrorString*, bool show, co
nst bool* showGrid) |
| 1229 { | 1261 { |
| 1230 m_state->setBoolean(PageAgentState::showSizeOnResize, show); | 1262 m_state->setBoolean(PageAgentState::showSizeOnResize, show); |
| 1231 m_state->setBoolean(PageAgentState::showGridOnResize, showGrid && *showGrid)
; | 1263 m_state->setBoolean(PageAgentState::showGridOnResize, showGrid && *showGrid)
; |
| 1232 } | 1264 } |
| 1233 | 1265 |
| 1234 } // namespace WebCore | 1266 } // namespace WebCore |
| 1235 | 1267 |
| OLD | NEW |