| 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 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 89 static const char pageAgentScriptsToEvaluateOnLoad[] = "pageAgentScriptsToEvalua
teOnLoad"; | 89 static const char pageAgentScriptsToEvaluateOnLoad[] = "pageAgentScriptsToEvalua
teOnLoad"; |
| 90 static const char deviceMetricsOverrideEnabled[] = "deviceMetricsOverrideEnabled
"; | 90 static const char deviceMetricsOverrideEnabled[] = "deviceMetricsOverrideEnabled
"; |
| 91 static const char pageAgentScreenWidthOverride[] = "pageAgentScreenWidthOverride
"; | 91 static const char pageAgentScreenWidthOverride[] = "pageAgentScreenWidthOverride
"; |
| 92 static const char pageAgentScreenHeightOverride[] = "pageAgentScreenHeightOverri
de"; | 92 static const char pageAgentScreenHeightOverride[] = "pageAgentScreenHeightOverri
de"; |
| 93 static const char pageAgentDeviceScaleFactorOverride[] = "pageAgentDeviceScaleFa
ctorOverride"; | 93 static const char pageAgentDeviceScaleFactorOverride[] = "pageAgentDeviceScaleFa
ctorOverride"; |
| 94 static const char pageAgentEmulateViewport[] = "pageAgentEmulateViewport"; | 94 static const char pageAgentEmulateViewport[] = "pageAgentEmulateViewport"; |
| 95 static const char pageAgentFitWindow[] = "pageAgentFitWindow"; | 95 static const char pageAgentFitWindow[] = "pageAgentFitWindow"; |
| 96 static const char deviceScale[] = "deviceScale"; | 96 static const char deviceScale[] = "deviceScale"; |
| 97 static const char deviceOffsetX[] = "deviceOffsetX"; | 97 static const char deviceOffsetX[] = "deviceOffsetX"; |
| 98 static const char deviceOffsetY[] = "deviceOffsetY"; | 98 static const char deviceOffsetY[] = "deviceOffsetY"; |
| 99 static const char fontScaleFactor[] = "fontScaleFactor"; | |
| 100 static const char pageAgentShowFPSCounter[] = "pageAgentShowFPSCounter"; | 99 static const char pageAgentShowFPSCounter[] = "pageAgentShowFPSCounter"; |
| 101 static const char pageAgentTextAutosizingOverride[] = "pageAgentTextAutosizingOv
erride"; | |
| 102 static const char pageAgentContinuousPaintingEnabled[] = "pageAgentContinuousPai
ntingEnabled"; | 100 static const char pageAgentContinuousPaintingEnabled[] = "pageAgentContinuousPai
ntingEnabled"; |
| 103 static const char pageAgentShowPaintRects[] = "pageAgentShowPaintRects"; | 101 static const char pageAgentShowPaintRects[] = "pageAgentShowPaintRects"; |
| 104 static const char pageAgentShowDebugBorders[] = "pageAgentShowDebugBorders"; | 102 static const char pageAgentShowDebugBorders[] = "pageAgentShowDebugBorders"; |
| 105 static const char pageAgentShowScrollBottleneckRects[] = "pageAgentShowScrollBot
tleneckRects"; | 103 static const char pageAgentShowScrollBottleneckRects[] = "pageAgentShowScrollBot
tleneckRects"; |
| 106 static const char touchEventEmulationEnabled[] = "touchEventEmulationEnabled"; | 104 static const char touchEventEmulationEnabled[] = "touchEventEmulationEnabled"; |
| 107 static const char pageAgentEmulatedMedia[] = "pageAgentEmulatedMedia"; | 105 static const char pageAgentEmulatedMedia[] = "pageAgentEmulatedMedia"; |
| 108 static const char showSizeOnResize[] = "showSizeOnResize"; | 106 static const char showSizeOnResize[] = "showSizeOnResize"; |
| 109 static const char showGridOnResize[] = "showGridOnResize"; | 107 static const char showGridOnResize[] = "showGridOnResize"; |
| 110 } | 108 } |
| 111 | 109 |
| 112 namespace { | 110 namespace { |
| 113 | 111 |
| 114 KURL urlWithoutFragment(const KURL& url) | 112 KURL urlWithoutFragment(const KURL& url) |
| 115 { | 113 { |
| 116 KURL result = url; | 114 KURL result = url; |
| 117 result.removeFragmentIdentifier(); | 115 result.removeFragmentIdentifier(); |
| 118 return result; | 116 return result; |
| 119 } | 117 } |
| 120 | 118 |
| 119 static float calculateFontScaleFactor(int width, int height, float deviceScaleFa
ctor) |
| 120 { |
| 121 // Chromium on Android uses a device scale adjustment for fonts used in text
autosizing for |
| 122 // improved legibility. This function computes this adjusted value for text
autosizing. |
| 123 // For a description of the Android device scale adjustment algorithm, see: |
| 124 // chrome/browser/chrome_content_browser_client.cc, GetDeviceScaleAdjustment
(...) |
| 125 if (!width || !height || !deviceScaleFactor) |
| 126 return 1; |
| 127 |
| 128 static const float kMinFSM = 1.05f; |
| 129 static const int kWidthForMinFSM = 320; |
| 130 static const float kMaxFSM = 1.3f; |
| 131 static const int kWidthForMaxFSM = 800; |
| 132 |
| 133 float minWidth = std::min(width, height) / deviceScaleFactor; |
| 134 if (minWidth <= kWidthForMinFSM) |
| 135 return kMinFSM; |
| 136 if (minWidth >= kWidthForMaxFSM) |
| 137 return kMaxFSM; |
| 138 |
| 139 // The font scale multiplier varies linearly between kMinFSM and kMaxFSM. |
| 140 float ratio = static_cast<float>(minWidth - kWidthForMinFSM) / (kWidthForMax
FSM - kWidthForMinFSM); |
| 141 return ratio * (kMaxFSM - kMinFSM) + kMinFSM; |
| 142 } |
| 143 |
| 121 } | 144 } |
| 122 | 145 |
| 123 class InspectorPageAgent::GetResourceContentLoadListener FINAL : public VoidCall
back { | 146 class InspectorPageAgent::GetResourceContentLoadListener FINAL : public VoidCall
back { |
| 124 public: | 147 public: |
| 125 GetResourceContentLoadListener(InspectorPageAgent*, const String& frameId, c
onst String& url, PassRefPtr<GetResourceContentCallback>); | 148 GetResourceContentLoadListener(InspectorPageAgent*, const String& frameId, c
onst String& url, PassRefPtr<GetResourceContentCallback>); |
| 126 virtual void handleEvent() OVERRIDE; | 149 virtual void handleEvent() OVERRIDE; |
| 127 private: | 150 private: |
| 128 InspectorPageAgent* m_pageAgent; | 151 InspectorPageAgent* m_pageAgent; |
| 129 String m_frameId; | 152 String m_frameId; |
| 130 String m_url; | 153 String m_url; |
| (...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 384 , m_originalDeviceSupportsMouse(false) | 407 , m_originalDeviceSupportsMouse(false) |
| 385 , m_originalDeviceSupportsTouch(false) | 408 , m_originalDeviceSupportsTouch(false) |
| 386 , m_embedderTextAutosizingEnabled(m_page->settings().textAutosizingEnabled()
) | 409 , m_embedderTextAutosizingEnabled(m_page->settings().textAutosizingEnabled()
) |
| 387 , m_embedderFontScaleFactor(m_page->settings().deviceScaleAdjustment()) | 410 , m_embedderFontScaleFactor(m_page->settings().deviceScaleAdjustment()) |
| 388 { | 411 { |
| 389 } | 412 } |
| 390 | 413 |
| 391 void InspectorPageAgent::setTextAutosizingEnabled(bool enabled) | 414 void InspectorPageAgent::setTextAutosizingEnabled(bool enabled) |
| 392 { | 415 { |
| 393 m_embedderTextAutosizingEnabled = enabled; | 416 m_embedderTextAutosizingEnabled = enabled; |
| 394 if (!m_deviceMetricsOverridden) | 417 bool emulateViewportEnabled = m_enabled && m_deviceMetricsOverridden && m_em
ulateViewportEnabled; |
| 418 if (!emulateViewportEnabled) |
| 395 m_page->settings().setTextAutosizingEnabled(enabled); | 419 m_page->settings().setTextAutosizingEnabled(enabled); |
| 396 } | 420 } |
| 397 | 421 |
| 398 void InspectorPageAgent::setDeviceScaleAdjustment(float deviceScaleAdjustment) | 422 void InspectorPageAgent::setDeviceScaleAdjustment(float deviceScaleAdjustment) |
| 399 { | 423 { |
| 400 m_embedderFontScaleFactor = deviceScaleAdjustment; | 424 m_embedderFontScaleFactor = deviceScaleAdjustment; |
| 401 if (!m_deviceMetricsOverridden) | 425 bool emulateViewportEnabled = m_enabled && m_deviceMetricsOverridden && m_em
ulateViewportEnabled; |
| 426 if (!emulateViewportEnabled) |
| 402 m_page->settings().setDeviceScaleAdjustment(deviceScaleAdjustment); | 427 m_page->settings().setDeviceScaleAdjustment(deviceScaleAdjustment); |
| 403 } | 428 } |
| 404 | 429 |
| 405 void InspectorPageAgent::setFrontend(InspectorFrontend* frontend) | 430 void InspectorPageAgent::setFrontend(InspectorFrontend* frontend) |
| 406 { | 431 { |
| 407 m_frontend = frontend->page(); | 432 m_frontend = frontend->page(); |
| 408 } | 433 } |
| 409 | 434 |
| 410 void InspectorPageAgent::clearFrontend() | 435 void InspectorPageAgent::clearFrontend() |
| 411 { | 436 { |
| (...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 464 if (m_state->getBoolean(PageAgentState::pageAgentContinuousPaintingEnabled)) | 489 if (m_state->getBoolean(PageAgentState::pageAgentContinuousPaintingEnabled)) |
| 465 setContinuousPaintingEnabled(0, false); | 490 setContinuousPaintingEnabled(0, false); |
| 466 setShowScrollBottleneckRects(0, false); | 491 setShowScrollBottleneckRects(0, false); |
| 467 setShowViewportSizeOnResize(0, false, 0); | 492 setShowViewportSizeOnResize(0, false, 0); |
| 468 | 493 |
| 469 if (m_state->getBoolean(PageAgentState::touchEventEmulationEnabled)) { | 494 if (m_state->getBoolean(PageAgentState::touchEventEmulationEnabled)) { |
| 470 updateTouchEventEmulationInPage(false); | 495 updateTouchEventEmulationInPage(false); |
| 471 m_state->setBoolean(PageAgentState::touchEventEmulationEnabled, false); | 496 m_state->setBoolean(PageAgentState::touchEventEmulationEnabled, false); |
| 472 } | 497 } |
| 473 | 498 |
| 474 if (!deviceMetricsChanged(false, 0, 0, 0, false, false, 1, 0, 0, 1, false)) | 499 if (!deviceMetricsChanged(false, 0, 0, 0, false, false, 1, 0, 0)) |
| 475 return; | 500 return; |
| 476 | 501 |
| 477 // When disabling the agent, reset the override values if necessary. | 502 // When disabling the agent, reset the override values if necessary. |
| 478 updateViewMetrics(false, 0, 0, 0, false, false, 1, 0, 0, m_embedderFontScale
Factor, m_embedderTextAutosizingEnabled); | 503 updateViewMetrics(false, 0, 0, 0, false, false, 1, 0, 0); |
| 479 m_state->setLong(PageAgentState::pageAgentScreenWidthOverride, 0); | 504 m_state->setLong(PageAgentState::pageAgentScreenWidthOverride, 0); |
| 480 m_state->setLong(PageAgentState::pageAgentScreenHeightOverride, 0); | 505 m_state->setLong(PageAgentState::pageAgentScreenHeightOverride, 0); |
| 481 m_state->setDouble(PageAgentState::pageAgentDeviceScaleFactorOverride, 0); | 506 m_state->setDouble(PageAgentState::pageAgentDeviceScaleFactorOverride, 0); |
| 482 m_state->setBoolean(PageAgentState::pageAgentEmulateViewport, false); | 507 m_state->setBoolean(PageAgentState::pageAgentEmulateViewport, false); |
| 483 m_state->setBoolean(PageAgentState::pageAgentFitWindow, false); | 508 m_state->setBoolean(PageAgentState::pageAgentFitWindow, false); |
| 484 m_state->setDouble(PageAgentState::deviceScale, 1); | 509 m_state->setDouble(PageAgentState::deviceScale, 1); |
| 485 m_state->setDouble(PageAgentState::deviceOffsetX, 0); | 510 m_state->setDouble(PageAgentState::deviceOffsetX, 0); |
| 486 m_state->setDouble(PageAgentState::deviceOffsetY, 0); | 511 m_state->setDouble(PageAgentState::deviceOffsetY, 0); |
| 487 m_state->setDouble(PageAgentState::fontScaleFactor, 1); | |
| 488 m_state->setBoolean(PageAgentState::pageAgentTextAutosizingOverride, false); | |
| 489 } | 512 } |
| 490 | 513 |
| 491 void InspectorPageAgent::addScriptToEvaluateOnLoad(ErrorString*, const String& s
ource, String* identifier) | 514 void InspectorPageAgent::addScriptToEvaluateOnLoad(ErrorString*, const String& s
ource, String* identifier) |
| 492 { | 515 { |
| 493 RefPtr<JSONObject> scripts = m_state->getObject(PageAgentState::pageAgentScr
iptsToEvaluateOnLoad); | 516 RefPtr<JSONObject> scripts = m_state->getObject(PageAgentState::pageAgentScr
iptsToEvaluateOnLoad); |
| 494 if (!scripts) { | 517 if (!scripts) { |
| 495 scripts = JSONObject::create(); | 518 scripts = JSONObject::create(); |
| 496 m_state->setObject(PageAgentState::pageAgentScriptsToEvaluateOnLoad, scr
ipts); | 519 m_state->setObject(PageAgentState::pageAgentScriptsToEvaluateOnLoad, scr
ipts); |
| 497 } | 520 } |
| 498 // Assure we don't override existing ids -- m_lastScriptIdentifier could get
out of sync WRT actual | 521 // Assure we don't override existing ids -- m_lastScriptIdentifier could get
out of sync WRT actual |
| (...skipping 244 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 743 return; | 766 return; |
| 744 | 767 |
| 745 Document* document = frame->document(); | 768 Document* document = frame->document(); |
| 746 if (!document) { | 769 if (!document) { |
| 747 *errorString = "No Document instance to set HTML for"; | 770 *errorString = "No Document instance to set HTML for"; |
| 748 return; | 771 return; |
| 749 } | 772 } |
| 750 DOMPatchSupport::patchDocument(*document, html); | 773 DOMPatchSupport::patchDocument(*document, html); |
| 751 } | 774 } |
| 752 | 775 |
| 753 void InspectorPageAgent::setDeviceMetricsOverride(ErrorString* errorString, int
width, int height, double deviceScaleFactor, bool emulateViewport, bool fitWindo
w, const double* optionalScale, const double* optionalOffsetX, const double* opt
ionalOffsetY, const bool* optionalTextAutosizing, const double* optionalFontScal
eFactor) | 776 void InspectorPageAgent::setDeviceMetricsOverride(ErrorString* errorString, int
width, int height, double deviceScaleFactor, bool emulateViewport, bool fitWindo
w, const double* optionalScale, const double* optionalOffsetX, const double* opt
ionalOffsetY) |
| 754 { | 777 { |
| 755 const static long maxDimension = 10000000; | 778 const static long maxDimension = 10000000; |
| 756 const static double maxScale = 10; | 779 const static double maxScale = 10; |
| 757 | 780 |
| 758 double scale = optionalScale ? *optionalScale : 1; | 781 double scale = optionalScale ? *optionalScale : 1; |
| 759 double offsetX = optionalOffsetX ? *optionalOffsetX : 0; | 782 double offsetX = optionalOffsetX ? *optionalOffsetX : 0; |
| 760 double offsetY = optionalOffsetY ? *optionalOffsetY : 0; | 783 double offsetY = optionalOffsetY ? *optionalOffsetY : 0; |
| 761 bool textAutosizing = optionalTextAutosizing ? *optionalTextAutosizing : fal
se; | |
| 762 double fontScaleFactor = optionalFontScaleFactor ? *optionalFontScaleFactor
: 1; | |
| 763 | 784 |
| 764 if (width < 0 || height < 0 || width > maxDimension || height > maxDimension
) { | 785 if (width < 0 || height < 0 || width > maxDimension || height > maxDimension
) { |
| 765 *errorString = "Width and height values must be positive, not greater th
an " + String::number(maxDimension); | 786 *errorString = "Width and height values must be positive, not greater th
an " + String::number(maxDimension); |
| 766 return; | 787 return; |
| 767 } | 788 } |
| 768 | 789 |
| 769 if (deviceScaleFactor < 0) { | 790 if (deviceScaleFactor < 0) { |
| 770 *errorString = "deviceScaleFactor must be non-negative"; | 791 *errorString = "deviceScaleFactor must be non-negative"; |
| 771 return; | 792 return; |
| 772 } | 793 } |
| 773 | 794 |
| 774 if (scale <= 0 || scale > maxScale) { | 795 if (scale <= 0 || scale > maxScale) { |
| 775 *errorString = "scale must be positive, not greater than " + String::num
ber(maxScale); | 796 *errorString = "scale must be positive, not greater than " + String::num
ber(maxScale); |
| 776 return; | 797 return; |
| 777 } | 798 } |
| 778 | 799 |
| 779 if (fontScaleFactor <= 0) { | |
| 780 *errorString = "fontScaleFactor must be positive"; | |
| 781 return; | |
| 782 } | |
| 783 | |
| 784 Settings& settings = m_page->settings(); | 800 Settings& settings = m_page->settings(); |
| 785 if (!settings.acceleratedCompositingEnabled()) { | 801 if (!settings.acceleratedCompositingEnabled()) { |
| 786 if (errorString) | 802 if (errorString) |
| 787 *errorString = "Compositing mode is not supported"; | 803 *errorString = "Compositing mode is not supported"; |
| 788 return; | 804 return; |
| 789 } | 805 } |
| 790 | 806 |
| 791 if (!deviceMetricsChanged(true, width, height, deviceScaleFactor, emulateVie
wport, fitWindow, scale, offsetX, offsetY, fontScaleFactor, textAutosizing)) | 807 if (!deviceMetricsChanged(true, width, height, deviceScaleFactor, emulateVie
wport, fitWindow, scale, offsetX, offsetY)) |
| 792 return; | 808 return; |
| 793 | 809 |
| 794 m_state->setBoolean(PageAgentState::deviceMetricsOverrideEnabled, true); | 810 m_state->setBoolean(PageAgentState::deviceMetricsOverrideEnabled, true); |
| 795 m_state->setLong(PageAgentState::pageAgentScreenWidthOverride, width); | 811 m_state->setLong(PageAgentState::pageAgentScreenWidthOverride, width); |
| 796 m_state->setLong(PageAgentState::pageAgentScreenHeightOverride, height); | 812 m_state->setLong(PageAgentState::pageAgentScreenHeightOverride, height); |
| 797 m_state->setDouble(PageAgentState::pageAgentDeviceScaleFactorOverride, devic
eScaleFactor); | 813 m_state->setDouble(PageAgentState::pageAgentDeviceScaleFactorOverride, devic
eScaleFactor); |
| 798 m_state->setBoolean(PageAgentState::pageAgentEmulateViewport, emulateViewpor
t); | 814 m_state->setBoolean(PageAgentState::pageAgentEmulateViewport, emulateViewpor
t); |
| 799 m_state->setBoolean(PageAgentState::pageAgentFitWindow, fitWindow); | 815 m_state->setBoolean(PageAgentState::pageAgentFitWindow, fitWindow); |
| 800 m_state->setDouble(PageAgentState::deviceScale, scale); | 816 m_state->setDouble(PageAgentState::deviceScale, scale); |
| 801 m_state->setDouble(PageAgentState::deviceOffsetX, offsetX); | 817 m_state->setDouble(PageAgentState::deviceOffsetX, offsetX); |
| 802 m_state->setDouble(PageAgentState::deviceOffsetY, offsetY); | 818 m_state->setDouble(PageAgentState::deviceOffsetY, offsetY); |
| 803 m_state->setDouble(PageAgentState::fontScaleFactor, fontScaleFactor); | |
| 804 m_state->setBoolean(PageAgentState::pageAgentTextAutosizingOverride, textAut
osizing); | |
| 805 updateViewMetricsFromState(); | 819 updateViewMetricsFromState(); |
| 806 } | 820 } |
| 807 | 821 |
| 808 void InspectorPageAgent::clearDeviceMetricsOverride(ErrorString*) | 822 void InspectorPageAgent::clearDeviceMetricsOverride(ErrorString*) |
| 809 { | 823 { |
| 810 if (m_state->getBoolean(PageAgentState::deviceMetricsOverrideEnabled)) { | 824 if (m_state->getBoolean(PageAgentState::deviceMetricsOverrideEnabled)) { |
| 811 m_state->setBoolean(PageAgentState::deviceMetricsOverrideEnabled, false)
; | 825 m_state->setBoolean(PageAgentState::deviceMetricsOverrideEnabled, false)
; |
| 812 updateViewMetricsFromState(); | 826 updateViewMetricsFromState(); |
| 813 } | 827 } |
| 814 } | 828 } |
| 815 | 829 |
| 816 bool InspectorPageAgent::deviceMetricsChanged(bool enabled, int width, int heigh
t, double deviceScaleFactor, bool emulateViewport, bool fitWindow, double scale,
double offsetX, double offsetY, double fontScaleFactor, bool textAutosizing) | 830 bool InspectorPageAgent::deviceMetricsChanged(bool enabled, int width, int heigh
t, double deviceScaleFactor, bool emulateViewport, bool fitWindow, double scale,
double offsetX, double offsetY) |
| 817 { | 831 { |
| 818 bool currentEnabled = m_state->getBoolean(PageAgentState::deviceMetricsOverr
ideEnabled); | 832 bool currentEnabled = m_state->getBoolean(PageAgentState::deviceMetricsOverr
ideEnabled); |
| 819 // These two always fit an int. | 833 // These two always fit an int. |
| 820 int currentWidth = static_cast<int>(m_state->getLong(PageAgentState::pageAge
ntScreenWidthOverride)); | 834 int currentWidth = static_cast<int>(m_state->getLong(PageAgentState::pageAge
ntScreenWidthOverride)); |
| 821 int currentHeight = static_cast<int>(m_state->getLong(PageAgentState::pageAg
entScreenHeightOverride)); | 835 int currentHeight = static_cast<int>(m_state->getLong(PageAgentState::pageAg
entScreenHeightOverride)); |
| 822 double currentDeviceScaleFactor = m_state->getDouble(PageAgentState::pageAge
ntDeviceScaleFactorOverride, 0); | 836 double currentDeviceScaleFactor = m_state->getDouble(PageAgentState::pageAge
ntDeviceScaleFactorOverride, 0); |
| 823 bool currentEmulateViewport = m_state->getBoolean(PageAgentState::pageAgentE
mulateViewport); | 837 bool currentEmulateViewport = m_state->getBoolean(PageAgentState::pageAgentE
mulateViewport); |
| 824 bool currentFitWindow = m_state->getBoolean(PageAgentState::pageAgentFitWind
ow); | 838 bool currentFitWindow = m_state->getBoolean(PageAgentState::pageAgentFitWind
ow); |
| 825 double currentScale = m_state->getDouble(PageAgentState::deviceScale, 1); | 839 double currentScale = m_state->getDouble(PageAgentState::deviceScale, 1); |
| 826 double currentOffsetX = m_state->getDouble(PageAgentState::deviceOffsetX, 0)
; | 840 double currentOffsetX = m_state->getDouble(PageAgentState::deviceOffsetX, 0)
; |
| 827 double currentOffsetY = m_state->getDouble(PageAgentState::deviceOffsetY, 0)
; | 841 double currentOffsetY = m_state->getDouble(PageAgentState::deviceOffsetY, 0)
; |
| 828 double currentFontScaleFactor = m_state->getDouble(PageAgentState::fontScale
Factor, 1); | |
| 829 bool currentTextAutosizing = m_state->getBoolean(PageAgentState::pageAgentTe
xtAutosizingOverride); | |
| 830 | 842 |
| 831 return enabled != currentEnabled | 843 return enabled != currentEnabled |
| 832 || width != currentWidth | 844 || width != currentWidth |
| 833 || height != currentHeight | 845 || height != currentHeight |
| 834 || deviceScaleFactor != currentDeviceScaleFactor | 846 || deviceScaleFactor != currentDeviceScaleFactor |
| 835 || emulateViewport != currentEmulateViewport | 847 || emulateViewport != currentEmulateViewport |
| 836 || fitWindow != currentFitWindow | 848 || fitWindow != currentFitWindow |
| 837 || scale != currentScale | 849 || scale != currentScale |
| 838 || offsetX != currentOffsetX | 850 || offsetX != currentOffsetX |
| 839 || offsetY != currentOffsetY | 851 || offsetY != currentOffsetY; |
| 840 || fontScaleFactor != currentFontScaleFactor | |
| 841 || textAutosizing != currentTextAutosizing; | |
| 842 } | 852 } |
| 843 | 853 |
| 844 void InspectorPageAgent::setShowPaintRects(ErrorString*, bool show) | 854 void InspectorPageAgent::setShowPaintRects(ErrorString*, bool show) |
| 845 { | 855 { |
| 846 m_state->setBoolean(PageAgentState::pageAgentShowPaintRects, show); | 856 m_state->setBoolean(PageAgentState::pageAgentShowPaintRects, show); |
| 847 m_client->setShowPaintRects(show); | 857 m_client->setShowPaintRects(show); |
| 848 | 858 |
| 849 if (!show && mainFrame() && mainFrame()->view()) | 859 if (!show && mainFrame() && mainFrame()->view()) |
| 850 mainFrame()->view()->invalidate(); | 860 mainFrame()->view()->invalidate(); |
| 851 } | 861 } |
| (...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1243 { | 1253 { |
| 1244 bool enabled = m_state->getBoolean(PageAgentState::deviceMetricsOverrideEnab
led); | 1254 bool enabled = m_state->getBoolean(PageAgentState::deviceMetricsOverrideEnab
led); |
| 1245 int width = static_cast<int>(m_state->getLong(PageAgentState::pageAgentScree
nWidthOverride)); | 1255 int width = static_cast<int>(m_state->getLong(PageAgentState::pageAgentScree
nWidthOverride)); |
| 1246 int height = static_cast<int>(m_state->getLong(PageAgentState::pageAgentScre
enHeightOverride)); | 1256 int height = static_cast<int>(m_state->getLong(PageAgentState::pageAgentScre
enHeightOverride)); |
| 1247 bool emulateViewport = m_state->getBoolean(PageAgentState::pageAgentEmulateV
iewport); | 1257 bool emulateViewport = m_state->getBoolean(PageAgentState::pageAgentEmulateV
iewport); |
| 1248 double deviceScaleFactor = m_state->getDouble(PageAgentState::pageAgentDevic
eScaleFactorOverride); | 1258 double deviceScaleFactor = m_state->getDouble(PageAgentState::pageAgentDevic
eScaleFactorOverride); |
| 1249 bool fitWindow = m_state->getBoolean(PageAgentState::pageAgentFitWindow); | 1259 bool fitWindow = m_state->getBoolean(PageAgentState::pageAgentFitWindow); |
| 1250 double scale = m_state->getDouble(PageAgentState::deviceScale, 1); | 1260 double scale = m_state->getDouble(PageAgentState::deviceScale, 1); |
| 1251 double offsetX = m_state->getDouble(PageAgentState::deviceOffsetX, 0); | 1261 double offsetX = m_state->getDouble(PageAgentState::deviceOffsetX, 0); |
| 1252 double offsetY = m_state->getDouble(PageAgentState::deviceOffsetY, 0); | 1262 double offsetY = m_state->getDouble(PageAgentState::deviceOffsetY, 0); |
| 1253 double fontScaleFactor = m_state->getDouble(PageAgentState::fontScaleFactor)
; | 1263 updateViewMetrics(enabled, width, height, deviceScaleFactor, emulateViewport
, fitWindow, scale, offsetX, offsetY); |
| 1254 bool textAutosizingEnabled = m_state->getBoolean(PageAgentState::pageAgentTe
xtAutosizingOverride); | |
| 1255 updateViewMetrics(enabled, width, height, deviceScaleFactor, emulateViewport
, fitWindow, scale, offsetX, offsetY, fontScaleFactor, textAutosizingEnabled); | |
| 1256 } | 1264 } |
| 1257 | 1265 |
| 1258 void InspectorPageAgent::updateViewMetrics(bool enabled, int width, int height,
double deviceScaleFactor, bool emulateViewport, bool fitWindow, double scale, do
uble offsetX, double offsetY, double fontScaleFactor, bool textAutosizingEnabled
) | 1266 void InspectorPageAgent::updateViewMetrics(bool enabled, int width, int height,
double deviceScaleFactor, bool emulateViewport, bool fitWindow, double scale, do
uble offsetX, double offsetY) |
| 1259 { | 1267 { |
| 1260 if (enabled && !m_page->settings().acceleratedCompositingEnabled()) | 1268 if (enabled && !m_page->settings().acceleratedCompositingEnabled()) |
| 1261 return; | 1269 return; |
| 1262 | 1270 |
| 1263 m_deviceMetricsOverridden = enabled; | 1271 m_deviceMetricsOverridden = enabled; |
| 1264 m_emulateViewportEnabled = emulateViewport; | 1272 m_emulateViewportEnabled = emulateViewport; |
| 1265 if (enabled) | 1273 if (enabled) |
| 1266 m_client->setDeviceMetricsOverride(width, height, static_cast<float>(dev
iceScaleFactor), emulateViewport, fitWindow, static_cast<float>(scale), static_c
ast<float>(offsetX), static_cast<float>(offsetY)); | 1274 m_client->setDeviceMetricsOverride(width, height, static_cast<float>(dev
iceScaleFactor), emulateViewport, fitWindow, static_cast<float>(scale), static_c
ast<float>(offsetX), static_cast<float>(offsetY)); |
| 1267 else | 1275 else |
| 1268 m_client->clearDeviceMetricsOverride(); | 1276 m_client->clearDeviceMetricsOverride(); |
| 1269 | 1277 |
| 1270 Document* document = mainFrame()->document(); | 1278 Document* document = mainFrame()->document(); |
| 1271 if (document) { | 1279 if (document) { |
| 1272 document->styleResolverChanged(); | 1280 document->styleResolverChanged(); |
| 1273 document->mediaQueryAffectingValueChanged(); | 1281 document->mediaQueryAffectingValueChanged(); |
| 1274 } | 1282 } |
| 1275 InspectorInstrumentation::mediaQueryResultChanged(document); | 1283 InspectorInstrumentation::mediaQueryResultChanged(document); |
| 1276 | 1284 |
| 1277 if (m_deviceMetricsOverridden) { | 1285 if (m_deviceMetricsOverridden) { |
| 1278 m_page->settings().setTextAutosizingEnabled(textAutosizingEnabled); | 1286 m_page->settings().setTextAutosizingEnabled(emulateViewport); |
| 1279 m_page->settings().setDeviceScaleAdjustment(fontScaleFactor); | 1287 m_page->settings().setDeviceScaleAdjustment(calculateFontScaleFactor(wid
th, height, static_cast<float>(deviceScaleFactor))); |
| 1280 } else { | 1288 } else { |
| 1281 m_page->settings().setTextAutosizingEnabled(m_embedderTextAutosizingEnab
led); | 1289 m_page->settings().setTextAutosizingEnabled(m_embedderTextAutosizingEnab
led); |
| 1282 m_page->settings().setDeviceScaleAdjustment(m_embedderFontScaleFactor); | 1290 m_page->settings().setDeviceScaleAdjustment(m_embedderFontScaleFactor); |
| 1283 } | 1291 } |
| 1284 | 1292 |
| 1285 // FIXME: allow metrics override, fps counter and continuous painting at the
same time: crbug.com/299837. | 1293 // FIXME: allow metrics override, fps counter and continuous painting at the
same time: crbug.com/299837. |
| 1286 m_client->setShowFPSCounter(m_state->getBoolean(PageAgentState::pageAgentSho
wFPSCounter) && !m_deviceMetricsOverridden); | 1294 m_client->setShowFPSCounter(m_state->getBoolean(PageAgentState::pageAgentSho
wFPSCounter) && !m_deviceMetricsOverridden); |
| 1287 m_client->setContinuousPaintingEnabled(m_state->getBoolean(PageAgentState::p
ageAgentContinuousPaintingEnabled) && !m_deviceMetricsOverridden); | 1295 m_client->setContinuousPaintingEnabled(m_state->getBoolean(PageAgentState::p
ageAgentContinuousPaintingEnabled) && !m_deviceMetricsOverridden); |
| 1288 } | 1296 } |
| 1289 | 1297 |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1390 bool InspectorPageAgent::getEditedResourceContent(const String& url, String* con
tent) | 1398 bool InspectorPageAgent::getEditedResourceContent(const String& url, String* con
tent) |
| 1391 { | 1399 { |
| 1392 if (!m_editedResourceContent.contains(url)) | 1400 if (!m_editedResourceContent.contains(url)) |
| 1393 return false; | 1401 return false; |
| 1394 *content = m_editedResourceContent.get(url); | 1402 *content = m_editedResourceContent.get(url); |
| 1395 return true; | 1403 return true; |
| 1396 } | 1404 } |
| 1397 | 1405 |
| 1398 } // namespace WebCore | 1406 } // namespace WebCore |
| 1399 | 1407 |
| OLD | NEW |