Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(448)

Side by Side Diff: Source/core/inspector/InspectorPageAgent.cpp

Issue 345723003: [DevTools] Separate text autosizing from device metrics override. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Removed dead code Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 static const char pageAgentScreenWidthOverride[] = "pageAgentScreenWidthOverride "; 90 static const char pageAgentScreenWidthOverride[] = "pageAgentScreenWidthOverride ";
91 static const char pageAgentScreenHeightOverride[] = "pageAgentScreenHeightOverri de"; 91 static const char pageAgentScreenHeightOverride[] = "pageAgentScreenHeightOverri de";
92 static const char pageAgentDeviceScaleFactorOverride[] = "pageAgentDeviceScaleFa ctorOverride"; 92 static const char pageAgentDeviceScaleFactorOverride[] = "pageAgentDeviceScaleFa ctorOverride";
93 static const char pageAgentEmulateViewport[] = "pageAgentEmulateViewport"; 93 static const char pageAgentEmulateViewport[] = "pageAgentEmulateViewport";
94 static const char pageAgentFitWindow[] = "pageAgentFitWindow"; 94 static const char pageAgentFitWindow[] = "pageAgentFitWindow";
95 static const char deviceScale[] = "deviceScale"; 95 static const char deviceScale[] = "deviceScale";
96 static const char deviceOffsetX[] = "deviceOffsetX"; 96 static const char deviceOffsetX[] = "deviceOffsetX";
97 static const char deviceOffsetY[] = "deviceOffsetY"; 97 static const char deviceOffsetY[] = "deviceOffsetY";
98 static const char fontScaleFactor[] = "fontScaleFactor"; 98 static const char fontScaleFactor[] = "fontScaleFactor";
99 static const char pageAgentShowFPSCounter[] = "pageAgentShowFPSCounter"; 99 static const char pageAgentShowFPSCounter[] = "pageAgentShowFPSCounter";
100 static const char pageAgentTextAutosizingOverride[] = "pageAgentTextAutosizingOv erride";
101 static const char pageAgentContinuousPaintingEnabled[] = "pageAgentContinuousPai ntingEnabled"; 100 static const char pageAgentContinuousPaintingEnabled[] = "pageAgentContinuousPai ntingEnabled";
102 static const char pageAgentShowPaintRects[] = "pageAgentShowPaintRects"; 101 static const char pageAgentShowPaintRects[] = "pageAgentShowPaintRects";
103 static const char pageAgentShowDebugBorders[] = "pageAgentShowDebugBorders"; 102 static const char pageAgentShowDebugBorders[] = "pageAgentShowDebugBorders";
104 static const char pageAgentShowScrollBottleneckRects[] = "pageAgentShowScrollBot tleneckRects"; 103 static const char pageAgentShowScrollBottleneckRects[] = "pageAgentShowScrollBot tleneckRects";
105 static const char touchEventEmulationEnabled[] = "touchEventEmulationEnabled"; 104 static const char touchEventEmulationEnabled[] = "touchEventEmulationEnabled";
106 static const char pageAgentEmulatedMedia[] = "pageAgentEmulatedMedia"; 105 static const char pageAgentEmulatedMedia[] = "pageAgentEmulatedMedia";
107 static const char showSizeOnResize[] = "showSizeOnResize"; 106 static const char showSizeOnResize[] = "showSizeOnResize";
108 static const char showGridOnResize[] = "showGridOnResize"; 107 static const char showGridOnResize[] = "showGridOnResize";
109 } 108 }
110 109
111 namespace { 110 namespace {
112 111
113 KURL urlWithoutFragment(const KURL& url) 112 KURL urlWithoutFragment(const KURL& url)
114 { 113 {
115 KURL result = url; 114 KURL result = url;
116 result.removeFragmentIdentifier(); 115 result.removeFragmentIdentifier();
117 return result; 116 return result;
118 } 117 }
119 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, GetFontScaleMultiplier(. ..)
pfeldman 2014/06/23 13:23:56 There is no such file.
dgozman 2014/06/27 11:40:03 There is, but function was renamed to GetDeviceSca
125 if (!width || !height || !deviceScaleFactor)
126 return 1;
127
128 const float kMinFSM = 1.05f;
129 const int kWidthForMinFSM = 320;
130 const float kMaxFSM = 1.3f;
131 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 = 1.f * (minWidth - kWidthForMinFSM) / (kWidthForMaxFSM - kWidth ForMinFSM);
141 return ratio * (kMaxFSM - kMinFSM) + kMinFSM;
142 }
143
120 } 144 }
121 145
122 static bool decodeBuffer(const char* buffer, unsigned size, const String& textEn codingName, String* result) 146 static bool decodeBuffer(const char* buffer, unsigned size, const String& textEn codingName, String* result)
123 { 147 {
124 if (buffer) { 148 if (buffer) {
125 WTF::TextEncoding encoding(textEncodingName); 149 WTF::TextEncoding encoding(textEncodingName);
126 if (!encoding.isValid()) 150 if (!encoding.isValid())
127 encoding = WindowsLatin1Encoding(); 151 encoding = WindowsLatin1Encoding();
128 *result = encoding.decode(buffer, size); 152 *result = encoding.decode(buffer, size);
129 return true; 153 return true;
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
347 , m_originalDeviceSupportsMouse(false) 371 , m_originalDeviceSupportsMouse(false)
348 , m_originalDeviceSupportsTouch(false) 372 , m_originalDeviceSupportsTouch(false)
349 , m_embedderTextAutosizingEnabled(m_page->settings().textAutosizingEnabled() ) 373 , m_embedderTextAutosizingEnabled(m_page->settings().textAutosizingEnabled() )
350 , m_embedderFontScaleFactor(m_page->settings().deviceScaleAdjustment()) 374 , m_embedderFontScaleFactor(m_page->settings().deviceScaleAdjustment())
351 { 375 {
352 } 376 }
353 377
354 void InspectorPageAgent::setTextAutosizingEnabled(bool enabled) 378 void InspectorPageAgent::setTextAutosizingEnabled(bool enabled)
355 { 379 {
356 m_embedderTextAutosizingEnabled = enabled; 380 m_embedderTextAutosizingEnabled = enabled;
357 if (!m_deviceMetricsOverridden) 381 bool emulateViewportEnabled = m_enabled && m_deviceMetricsOverridden && m_em ulateViewportEnabled;
382 if (!emulateViewportEnabled)
358 m_page->settings().setTextAutosizingEnabled(enabled); 383 m_page->settings().setTextAutosizingEnabled(enabled);
359 } 384 }
360 385
361 void InspectorPageAgent::setDeviceScaleAdjustment(float deviceScaleAdjustment) 386 void InspectorPageAgent::setDeviceScaleAdjustment(float deviceScaleAdjustment)
362 { 387 {
363 m_embedderFontScaleFactor = deviceScaleAdjustment; 388 m_embedderFontScaleFactor = deviceScaleAdjustment;
364 if (!m_deviceMetricsOverridden) 389 bool emulateViewportEnabled = m_enabled && m_deviceMetricsOverridden && m_em ulateViewportEnabled;
390 if (!emulateViewportEnabled)
365 m_page->settings().setDeviceScaleAdjustment(deviceScaleAdjustment); 391 m_page->settings().setDeviceScaleAdjustment(deviceScaleAdjustment);
366 } 392 }
367 393
368 void InspectorPageAgent::setFrontend(InspectorFrontend* frontend) 394 void InspectorPageAgent::setFrontend(InspectorFrontend* frontend)
369 { 395 {
370 m_frontend = frontend->page(); 396 m_frontend = frontend->page();
371 } 397 }
372 398
373 void InspectorPageAgent::clearFrontend() 399 void InspectorPageAgent::clearFrontend()
374 { 400 {
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
427 if (m_state->getBoolean(PageAgentState::pageAgentContinuousPaintingEnabled)) 453 if (m_state->getBoolean(PageAgentState::pageAgentContinuousPaintingEnabled))
428 setContinuousPaintingEnabled(0, false); 454 setContinuousPaintingEnabled(0, false);
429 setShowScrollBottleneckRects(0, false); 455 setShowScrollBottleneckRects(0, false);
430 setShowViewportSizeOnResize(0, false, 0); 456 setShowViewportSizeOnResize(0, false, 0);
431 457
432 if (m_state->getBoolean(PageAgentState::touchEventEmulationEnabled)) { 458 if (m_state->getBoolean(PageAgentState::touchEventEmulationEnabled)) {
433 updateTouchEventEmulationInPage(false); 459 updateTouchEventEmulationInPage(false);
434 m_state->setBoolean(PageAgentState::touchEventEmulationEnabled, false); 460 m_state->setBoolean(PageAgentState::touchEventEmulationEnabled, false);
435 } 461 }
436 462
437 if (!deviceMetricsChanged(false, 0, 0, 0, false, false, 1, 0, 0, 1, false)) 463 if (!deviceMetricsChanged(false, 0, 0, 0, false, false, 1, 0, 0))
438 return; 464 return;
439 465
440 // When disabling the agent, reset the override values if necessary. 466 // When disabling the agent, reset the override values if necessary.
441 updateViewMetrics(false, 0, 0, 0, false, false, 1, 0, 0, m_embedderFontScale Factor, m_embedderTextAutosizingEnabled); 467 updateViewMetrics(false, 0, 0, 0, false, false, 1, 0, 0);
442 m_state->setLong(PageAgentState::pageAgentScreenWidthOverride, 0); 468 m_state->setLong(PageAgentState::pageAgentScreenWidthOverride, 0);
443 m_state->setLong(PageAgentState::pageAgentScreenHeightOverride, 0); 469 m_state->setLong(PageAgentState::pageAgentScreenHeightOverride, 0);
444 m_state->setDouble(PageAgentState::pageAgentDeviceScaleFactorOverride, 0); 470 m_state->setDouble(PageAgentState::pageAgentDeviceScaleFactorOverride, 0);
445 m_state->setBoolean(PageAgentState::pageAgentEmulateViewport, false); 471 m_state->setBoolean(PageAgentState::pageAgentEmulateViewport, false);
446 m_state->setBoolean(PageAgentState::pageAgentFitWindow, false); 472 m_state->setBoolean(PageAgentState::pageAgentFitWindow, false);
447 m_state->setDouble(PageAgentState::deviceScale, 1); 473 m_state->setDouble(PageAgentState::deviceScale, 1);
448 m_state->setDouble(PageAgentState::deviceOffsetX, 0); 474 m_state->setDouble(PageAgentState::deviceOffsetX, 0);
449 m_state->setDouble(PageAgentState::deviceOffsetY, 0); 475 m_state->setDouble(PageAgentState::deviceOffsetY, 0);
450 m_state->setDouble(PageAgentState::fontScaleFactor, 1);
451 m_state->setBoolean(PageAgentState::pageAgentTextAutosizingOverride, false);
452 } 476 }
453 477
454 void InspectorPageAgent::addScriptToEvaluateOnLoad(ErrorString*, const String& s ource, String* identifier) 478 void InspectorPageAgent::addScriptToEvaluateOnLoad(ErrorString*, const String& s ource, String* identifier)
455 { 479 {
456 RefPtr<JSONObject> scripts = m_state->getObject(PageAgentState::pageAgentScr iptsToEvaluateOnLoad); 480 RefPtr<JSONObject> scripts = m_state->getObject(PageAgentState::pageAgentScr iptsToEvaluateOnLoad);
457 if (!scripts) { 481 if (!scripts) {
458 scripts = JSONObject::create(); 482 scripts = JSONObject::create();
459 m_state->setObject(PageAgentState::pageAgentScriptsToEvaluateOnLoad, scr ipts); 483 m_state->setObject(PageAgentState::pageAgentScriptsToEvaluateOnLoad, scr ipts);
460 } 484 }
461 // Assure we don't override existing ids -- m_lastScriptIdentifier could get out of sync WRT actual 485 // Assure we don't override existing ids -- m_lastScriptIdentifier could get out of sync WRT actual
(...skipping 220 matching lines...) Expand 10 before | Expand all | Expand 10 after
682 return; 706 return;
683 707
684 Document* document = frame->document(); 708 Document* document = frame->document();
685 if (!document) { 709 if (!document) {
686 *errorString = "No Document instance to set HTML for"; 710 *errorString = "No Document instance to set HTML for";
687 return; 711 return;
688 } 712 }
689 DOMPatchSupport::patchDocument(*document, html); 713 DOMPatchSupport::patchDocument(*document, html);
690 } 714 }
691 715
692 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) 716 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)
693 { 717 {
694 const static long maxDimension = 10000000; 718 const static long maxDimension = 10000000;
695 const static double maxScale = 10; 719 const static double maxScale = 10;
696 720
697 double scale = optionalScale ? *optionalScale : 1; 721 double scale = optionalScale ? *optionalScale : 1;
698 double offsetX = optionalOffsetX ? *optionalOffsetX : 0; 722 double offsetX = optionalOffsetX ? *optionalOffsetX : 0;
699 double offsetY = optionalOffsetY ? *optionalOffsetY : 0; 723 double offsetY = optionalOffsetY ? *optionalOffsetY : 0;
700 bool textAutosizing = optionalTextAutosizing ? *optionalTextAutosizing : fal se;
701 double fontScaleFactor = optionalFontScaleFactor ? *optionalFontScaleFactor : 1;
702 724
703 if (width < 0 || height < 0 || width > maxDimension || height > maxDimension ) { 725 if (width < 0 || height < 0 || width > maxDimension || height > maxDimension ) {
704 *errorString = "Width and height values must be positive, not greater th an " + String::number(maxDimension); 726 *errorString = "Width and height values must be positive, not greater th an " + String::number(maxDimension);
705 return; 727 return;
706 } 728 }
707 729
708 if (deviceScaleFactor < 0) { 730 if (deviceScaleFactor < 0) {
709 *errorString = "deviceScaleFactor must be non-negative"; 731 *errorString = "deviceScaleFactor must be non-negative";
710 return; 732 return;
711 } 733 }
712 734
713 if (scale <= 0 || scale > maxScale) { 735 if (scale <= 0 || scale > maxScale) {
714 *errorString = "scale must be positive, not greater than " + String::num ber(maxScale); 736 *errorString = "scale must be positive, not greater than " + String::num ber(maxScale);
715 return; 737 return;
716 } 738 }
717 739
718 if (fontScaleFactor <= 0) {
719 *errorString = "fontScaleFactor must be positive";
720 return;
721 }
722
723 Settings& settings = m_page->settings(); 740 Settings& settings = m_page->settings();
724 if (!settings.acceleratedCompositingEnabled()) { 741 if (!settings.acceleratedCompositingEnabled()) {
725 if (errorString) 742 if (errorString)
726 *errorString = "Compositing mode is not supported"; 743 *errorString = "Compositing mode is not supported";
727 return; 744 return;
728 } 745 }
729 746
730 if (!deviceMetricsChanged(true, width, height, deviceScaleFactor, emulateVie wport, fitWindow, scale, offsetX, offsetY, fontScaleFactor, textAutosizing)) 747 if (!deviceMetricsChanged(true, width, height, deviceScaleFactor, emulateVie wport, fitWindow, scale, offsetX, offsetY))
731 return; 748 return;
732 749
733 m_state->setBoolean(PageAgentState::deviceMetricsOverrideEnabled, true); 750 m_state->setBoolean(PageAgentState::deviceMetricsOverrideEnabled, true);
734 m_state->setLong(PageAgentState::pageAgentScreenWidthOverride, width); 751 m_state->setLong(PageAgentState::pageAgentScreenWidthOverride, width);
735 m_state->setLong(PageAgentState::pageAgentScreenHeightOverride, height); 752 m_state->setLong(PageAgentState::pageAgentScreenHeightOverride, height);
736 m_state->setDouble(PageAgentState::pageAgentDeviceScaleFactorOverride, devic eScaleFactor); 753 m_state->setDouble(PageAgentState::pageAgentDeviceScaleFactorOverride, devic eScaleFactor);
737 m_state->setBoolean(PageAgentState::pageAgentEmulateViewport, emulateViewpor t); 754 m_state->setBoolean(PageAgentState::pageAgentEmulateViewport, emulateViewpor t);
738 m_state->setBoolean(PageAgentState::pageAgentFitWindow, fitWindow); 755 m_state->setBoolean(PageAgentState::pageAgentFitWindow, fitWindow);
739 m_state->setDouble(PageAgentState::deviceScale, scale); 756 m_state->setDouble(PageAgentState::deviceScale, scale);
740 m_state->setDouble(PageAgentState::deviceOffsetX, offsetX); 757 m_state->setDouble(PageAgentState::deviceOffsetX, offsetX);
741 m_state->setDouble(PageAgentState::deviceOffsetY, offsetY); 758 m_state->setDouble(PageAgentState::deviceOffsetY, offsetY);
742 m_state->setDouble(PageAgentState::fontScaleFactor, fontScaleFactor);
743 m_state->setBoolean(PageAgentState::pageAgentTextAutosizingOverride, textAut osizing);
744 updateViewMetricsFromState(); 759 updateViewMetricsFromState();
745 } 760 }
746 761
747 void InspectorPageAgent::clearDeviceMetricsOverride(ErrorString*) 762 void InspectorPageAgent::clearDeviceMetricsOverride(ErrorString*)
748 { 763 {
749 if (m_state->getBoolean(PageAgentState::deviceMetricsOverrideEnabled)) { 764 if (m_state->getBoolean(PageAgentState::deviceMetricsOverrideEnabled)) {
750 m_state->setBoolean(PageAgentState::deviceMetricsOverrideEnabled, false) ; 765 m_state->setBoolean(PageAgentState::deviceMetricsOverrideEnabled, false) ;
751 updateViewMetricsFromState(); 766 updateViewMetricsFromState();
752 } 767 }
753 } 768 }
754 769
755 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) 770 bool InspectorPageAgent::deviceMetricsChanged(bool enabled, int width, int heigh t, double deviceScaleFactor, bool emulateViewport, bool fitWindow, double scale, double offsetX, double offsetY)
756 { 771 {
757 bool currentEnabled = m_state->getBoolean(PageAgentState::deviceMetricsOverr ideEnabled); 772 bool currentEnabled = m_state->getBoolean(PageAgentState::deviceMetricsOverr ideEnabled);
758 // These two always fit an int. 773 // These two always fit an int.
759 int currentWidth = static_cast<int>(m_state->getLong(PageAgentState::pageAge ntScreenWidthOverride)); 774 int currentWidth = static_cast<int>(m_state->getLong(PageAgentState::pageAge ntScreenWidthOverride));
760 int currentHeight = static_cast<int>(m_state->getLong(PageAgentState::pageAg entScreenHeightOverride)); 775 int currentHeight = static_cast<int>(m_state->getLong(PageAgentState::pageAg entScreenHeightOverride));
761 double currentDeviceScaleFactor = m_state->getDouble(PageAgentState::pageAge ntDeviceScaleFactorOverride, 0); 776 double currentDeviceScaleFactor = m_state->getDouble(PageAgentState::pageAge ntDeviceScaleFactorOverride, 0);
762 bool currentEmulateViewport = m_state->getBoolean(PageAgentState::pageAgentE mulateViewport); 777 bool currentEmulateViewport = m_state->getBoolean(PageAgentState::pageAgentE mulateViewport);
763 bool currentFitWindow = m_state->getBoolean(PageAgentState::pageAgentFitWind ow); 778 bool currentFitWindow = m_state->getBoolean(PageAgentState::pageAgentFitWind ow);
764 double currentScale = m_state->getDouble(PageAgentState::deviceScale, 1); 779 double currentScale = m_state->getDouble(PageAgentState::deviceScale, 1);
765 double currentOffsetX = m_state->getDouble(PageAgentState::deviceOffsetX, 0) ; 780 double currentOffsetX = m_state->getDouble(PageAgentState::deviceOffsetX, 0) ;
766 double currentOffsetY = m_state->getDouble(PageAgentState::deviceOffsetY, 0) ; 781 double currentOffsetY = m_state->getDouble(PageAgentState::deviceOffsetY, 0) ;
767 double currentFontScaleFactor = m_state->getDouble(PageAgentState::fontScale Factor, 1);
768 bool currentTextAutosizing = m_state->getBoolean(PageAgentState::pageAgentTe xtAutosizingOverride);
769 782
770 return enabled != currentEnabled 783 return enabled != currentEnabled
771 || width != currentWidth 784 || width != currentWidth
772 || height != currentHeight 785 || height != currentHeight
773 || deviceScaleFactor != currentDeviceScaleFactor 786 || deviceScaleFactor != currentDeviceScaleFactor
774 || emulateViewport != currentEmulateViewport 787 || emulateViewport != currentEmulateViewport
775 || fitWindow != currentFitWindow 788 || fitWindow != currentFitWindow
776 || scale != currentScale 789 || scale != currentScale
777 || offsetX != currentOffsetX 790 || offsetX != currentOffsetX
778 || offsetY != currentOffsetY 791 || offsetY != currentOffsetY;
779 || fontScaleFactor != currentFontScaleFactor
780 || textAutosizing != currentTextAutosizing;
781 } 792 }
782 793
783 void InspectorPageAgent::setShowPaintRects(ErrorString*, bool show) 794 void InspectorPageAgent::setShowPaintRects(ErrorString*, bool show)
784 { 795 {
785 m_state->setBoolean(PageAgentState::pageAgentShowPaintRects, show); 796 m_state->setBoolean(PageAgentState::pageAgentShowPaintRects, show);
786 m_client->setShowPaintRects(show); 797 m_client->setShowPaintRects(show);
787 798
788 if (!show && mainFrame() && mainFrame()->view()) 799 if (!show && mainFrame() && mainFrame()->view())
789 mainFrame()->view()->invalidate(); 800 mainFrame()->view()->invalidate();
790 } 801 }
(...skipping 391 matching lines...) Expand 10 before | Expand all | Expand 10 after
1182 { 1193 {
1183 bool enabled = m_state->getBoolean(PageAgentState::deviceMetricsOverrideEnab led); 1194 bool enabled = m_state->getBoolean(PageAgentState::deviceMetricsOverrideEnab led);
1184 int width = static_cast<int>(m_state->getLong(PageAgentState::pageAgentScree nWidthOverride)); 1195 int width = static_cast<int>(m_state->getLong(PageAgentState::pageAgentScree nWidthOverride));
1185 int height = static_cast<int>(m_state->getLong(PageAgentState::pageAgentScre enHeightOverride)); 1196 int height = static_cast<int>(m_state->getLong(PageAgentState::pageAgentScre enHeightOverride));
1186 bool emulateViewport = m_state->getBoolean(PageAgentState::pageAgentEmulateV iewport); 1197 bool emulateViewport = m_state->getBoolean(PageAgentState::pageAgentEmulateV iewport);
1187 double deviceScaleFactor = m_state->getDouble(PageAgentState::pageAgentDevic eScaleFactorOverride); 1198 double deviceScaleFactor = m_state->getDouble(PageAgentState::pageAgentDevic eScaleFactorOverride);
1188 bool fitWindow = m_state->getBoolean(PageAgentState::pageAgentFitWindow); 1199 bool fitWindow = m_state->getBoolean(PageAgentState::pageAgentFitWindow);
1189 double scale = m_state->getDouble(PageAgentState::deviceScale, 1); 1200 double scale = m_state->getDouble(PageAgentState::deviceScale, 1);
1190 double offsetX = m_state->getDouble(PageAgentState::deviceOffsetX, 0); 1201 double offsetX = m_state->getDouble(PageAgentState::deviceOffsetX, 0);
1191 double offsetY = m_state->getDouble(PageAgentState::deviceOffsetY, 0); 1202 double offsetY = m_state->getDouble(PageAgentState::deviceOffsetY, 0);
1192 double fontScaleFactor = m_state->getDouble(PageAgentState::fontScaleFactor) ; 1203 updateViewMetrics(enabled, width, height, deviceScaleFactor, emulateViewport , fitWindow, scale, offsetX, offsetY);
1193 bool textAutosizingEnabled = m_state->getBoolean(PageAgentState::pageAgentTe xtAutosizingOverride);
1194 updateViewMetrics(enabled, width, height, deviceScaleFactor, emulateViewport , fitWindow, scale, offsetX, offsetY, fontScaleFactor, textAutosizingEnabled);
1195 } 1204 }
1196 1205
1197 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 ) 1206 void InspectorPageAgent::updateViewMetrics(bool enabled, int width, int height, double deviceScaleFactor, bool emulateViewport, bool fitWindow, double scale, do uble offsetX, double offsetY)
1198 { 1207 {
1199 if (enabled && !m_page->settings().acceleratedCompositingEnabled()) 1208 if (enabled && !m_page->settings().acceleratedCompositingEnabled())
1200 return; 1209 return;
1201 1210
1202 m_deviceMetricsOverridden = enabled; 1211 m_deviceMetricsOverridden = enabled;
1203 m_emulateViewportEnabled = emulateViewport; 1212 m_emulateViewportEnabled = emulateViewport;
1204 if (enabled) 1213 if (enabled)
1205 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)); 1214 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));
1206 else 1215 else
1207 m_client->clearDeviceMetricsOverride(); 1216 m_client->clearDeviceMetricsOverride();
1208 1217
1209 Document* document = mainFrame()->document(); 1218 Document* document = mainFrame()->document();
1210 if (document) { 1219 if (document) {
1211 document->styleResolverChanged(); 1220 document->styleResolverChanged();
1212 document->mediaQueryAffectingValueChanged(); 1221 document->mediaQueryAffectingValueChanged();
1213 } 1222 }
1214 InspectorInstrumentation::mediaQueryResultChanged(document); 1223 InspectorInstrumentation::mediaQueryResultChanged(document);
1215 1224
1216 if (m_deviceMetricsOverridden) { 1225 if (m_deviceMetricsOverridden) {
1217 m_page->settings().setTextAutosizingEnabled(textAutosizingEnabled); 1226 m_page->settings().setTextAutosizingEnabled(emulateViewport);
1218 m_page->settings().setDeviceScaleAdjustment(fontScaleFactor); 1227 m_page->settings().setDeviceScaleAdjustment(calculateFontScaleFactor(wid th, height, static_cast<float>(deviceScaleFactor)));
1219 } else { 1228 } else {
1220 m_page->settings().setTextAutosizingEnabled(m_embedderTextAutosizingEnab led); 1229 m_page->settings().setTextAutosizingEnabled(m_embedderTextAutosizingEnab led);
1221 m_page->settings().setDeviceScaleAdjustment(m_embedderFontScaleFactor); 1230 m_page->settings().setDeviceScaleAdjustment(m_embedderFontScaleFactor);
1222 } 1231 }
1223 1232
1224 // FIXME: allow metrics override, fps counter and continuous painting at the same time: crbug.com/299837. 1233 // FIXME: allow metrics override, fps counter and continuous painting at the same time: crbug.com/299837.
1225 m_client->setShowFPSCounter(m_state->getBoolean(PageAgentState::pageAgentSho wFPSCounter) && !m_deviceMetricsOverridden); 1234 m_client->setShowFPSCounter(m_state->getBoolean(PageAgentState::pageAgentSho wFPSCounter) && !m_deviceMetricsOverridden);
1226 m_client->setContinuousPaintingEnabled(m_state->getBoolean(PageAgentState::p ageAgentContinuousPaintingEnabled) && !m_deviceMetricsOverridden); 1235 m_client->setContinuousPaintingEnabled(m_state->getBoolean(PageAgentState::p ageAgentContinuousPaintingEnabled) && !m_deviceMetricsOverridden);
1227 } 1236 }
1228 1237
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
1329 bool InspectorPageAgent::getEditedResourceContent(const String& url, String* con tent) 1338 bool InspectorPageAgent::getEditedResourceContent(const String& url, String* con tent)
1330 { 1339 {
1331 if (!m_editedResourceContent.contains(url)) 1340 if (!m_editedResourceContent.contains(url))
1332 return false; 1341 return false;
1333 *content = m_editedResourceContent.get(url); 1342 *content = m_editedResourceContent.get(url);
1334 return true; 1343 return true;
1335 } 1344 }
1336 1345
1337 } // namespace WebCore 1346 } // namespace WebCore
1338 1347
OLDNEW
« no previous file with comments | « Source/core/inspector/InspectorPageAgent.h ('k') | Source/devtools/front_end/elements/OverridesView.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698