Changeset 242069 in webkit
- Timestamp:
- Feb 25, 2019 8:37:59 PM (5 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 15 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r242059 r242069 1 2019-02-25 Yongjun Zhang <yongjun_zhang@apple.com> 2 3 scalableNativeWebpageParameters() is not preserved on new page navigation. 4 https://bugs.webkit.org/show_bug.cgi?id=194892 5 <rdar://problem/47538280> 6 7 Reviewed by Wenson Hsieh. 8 9 * fast/viewport/ios/resources/go-back.html: Added. 10 * fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation-expected.txt: Added. 11 * fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html: Added. 12 * fast/viewport/ios/minimum-scale-after-changing-view-scale.html: When shouldIgnoreMetaViewport 13 setting is on, for pages don't have viewport meta-tag, the default configuration is now 14 changed to scalableNativeWebpageParameters(). The original test was under the assumption 15 that the default configuration is always fixedNativeWebpageParameters(). To keep the test 16 still valid, add a viewport meta-tag to it. 17 * resources/ui-helper.js: 18 (window.UIHelper.setAllowsViewportShrinkToFit): 19 1 20 2019-02-25 Wenson Hsieh <wenson_hsieh@apple.com> 2 21 -
trunk/LayoutTests/fast/viewport/ios/minimum-scale-after-changing-view-scale.html
r237818 r242069 2 2 <html> 3 3 <head> 4 <meta name="viewport" content="width=device-width, initial-scale=1"> 4 5 <style> 5 6 body { -
trunk/LayoutTests/resources/ui-helper.js
r241971 r242069 637 637 } 638 638 639 static setAllowsViewportShrinkToFit(allows) 640 { 641 if (!this.isWebKit2()) 642 return Promise.resolve(); 643 644 return new Promise(resolve => testRunner.runUIScript(`uiController.setAllowsViewportShrinkToFit(${allows})`, resolve)); 645 } 646 639 647 static setKeyboardInputModeIdentifier(identifier) 640 648 { -
trunk/Source/WebCore/ChangeLog
r242060 r242069 1 2019-02-25 Yongjun Zhang <yongjun_zhang@apple.com> 2 3 scalableNativeWebpageParameters() is not preserved on new page navigation. 4 https://bugs.webkit.org/show_bug.cgi?id=194892 5 <rdar://problem/47538280> 6 7 If a page's current default viewport configuration is scalableNativeWebpageParameters due to 8 the fact that m_canIgnoreScalingConstraints is true, loading a new page should preserve this 9 configuration until we derive the right values from viewport meta-tag. 10 11 Reviewed by Wenson Hsieh. 12 13 Test: fast/viewport/ios/viewport-shrink-to-fit-on-new-navigation.html 14 15 * page/ViewportConfiguration.cpp: 16 (WebCore::ViewportConfiguration::canOverrideConfigurationParameters const): Use fixedNativeWebpageParameters(). 17 (WebCore::ViewportConfiguration::updateDefaultConfiguration): Use nativeWebpageParameters. 18 (WebCore::ViewportConfiguration::nativeWebpageParameters): Return the appropriate default configuration 19 based on m_canIgnoreScalingConstraints and shouldIgnoreMinimumEffectiveDeviceWidth(). 20 (WebCore::ViewportConfiguration::fixedNativeWebpageParameters): Renamed from nativeWebpageParameters() 21 (WebCore::ViewportConfiguration::scalableNativeWebpageParameters): Use fixedNativeWebpageParameters. 22 * page/ViewportConfiguration.h: Make nativeWebpageParameters() an instance method and change the old 23 static method to fixedNativeWebpageParameters which better reflects the actual behavior. 24 1 25 2019-02-25 Zalan Bujtas <zalan@apple.com> 2 26 -
trunk/Source/WebCore/page/ViewportConfiguration.cpp
r239461 r242069 146 146 bool ViewportConfiguration::canOverrideConfigurationParameters() const 147 147 { 148 return m_defaultConfiguration == ViewportConfiguration::nativeWebpageParameters () || m_defaultConfiguration == ViewportConfiguration::scalableNativeWebpageParameters();148 return m_defaultConfiguration == ViewportConfiguration::nativeWebpageParametersWithoutShrinkToFit() || m_defaultConfiguration == ViewportConfiguration::nativeWebpageParametersWithShrinkToFit(); 149 149 } 150 150 … … 154 154 return; 155 155 156 if (m_canIgnoreScalingConstraints) { 157 m_defaultConfiguration = ViewportConfiguration::scalableNativeWebpageParameters(); 158 return; 159 } 160 161 if (shouldIgnoreMinimumEffectiveDeviceWidth()) 162 m_defaultConfiguration = ViewportConfiguration::nativeWebpageParameters(); 163 else 164 m_defaultConfiguration = ViewportConfiguration::scalableNativeWebpageParameters(); 156 m_defaultConfiguration = nativeWebpageParameters(); 165 157 } 166 158 … … 335 327 336 328 ViewportConfiguration::Parameters ViewportConfiguration::nativeWebpageParameters() 329 { 330 if (m_canIgnoreScalingConstraints || !shouldIgnoreMinimumEffectiveDeviceWidth()) 331 return ViewportConfiguration::nativeWebpageParametersWithShrinkToFit(); 332 333 return ViewportConfiguration::nativeWebpageParametersWithoutShrinkToFit(); 334 } 335 336 ViewportConfiguration::Parameters ViewportConfiguration::nativeWebpageParametersWithoutShrinkToFit() 337 337 { 338 338 Parameters parameters; … … 349 349 } 350 350 351 ViewportConfiguration::Parameters ViewportConfiguration:: scalableNativeWebpageParameters()352 { 353 Parameters parameters = ViewportConfiguration::nativeWebpageParameters ();351 ViewportConfiguration::Parameters ViewportConfiguration::nativeWebpageParametersWithShrinkToFit() 352 { 353 Parameters parameters = ViewportConfiguration::nativeWebpageParametersWithoutShrinkToFit(); 354 354 parameters.allowsShrinkToFit = true; 355 355 parameters.minimumScale = 0.25; -
trunk/Source/WebCore/page/ViewportConfiguration.h
r239427 r242069 103 103 104 104 // Matches a width=device-width, initial-scale=1 viewport. 105 WEBCORE_EXPORT static Parameters nativeWebpageParameters(); 106 static Parameters scalableNativeWebpageParameters(); 105 WEBCORE_EXPORT Parameters nativeWebpageParameters(); 106 static Parameters nativeWebpageParametersWithoutShrinkToFit(); 107 static Parameters nativeWebpageParametersWithShrinkToFit(); 107 108 WEBCORE_EXPORT static Parameters webpageParameters(); 108 109 WEBCORE_EXPORT static Parameters textDocumentParameters(); -
trunk/Source/WebKit/ChangeLog
r242059 r242069 1 2019-02-25 Yongjun Zhang <yongjun_zhang@apple.com> 2 3 scalableNativeWebpageParameters() is not preserved on new page navigation. 4 https://bugs.webkit.org/show_bug.cgi?id=194892 5 <rdar://problem/47538280> 6 7 If a page's current default viewport configuration is scalableNativeWebpageParameters due to 8 the fact that m_canIgnoreScalingConstraints is true, loading a new page should preserve this 9 configuration until we derive the right values from viewport meta-tag. 10 11 Reviewed by Wenson Hsieh. 12 13 * WebProcess/WebPage/ios/WebPageIOS.mm: 14 (WebKit::WebPage::resetViewportDefaultConfiguration): Use nativeWebpageParameters() instance method to 15 get the appropriate default configuration. 16 1 17 2019-02-25 Wenson Hsieh <wenson_hsieh@apple.com> 2 18 -
trunk/Source/WebKit/WebProcess/WebPage/ios/WebPageIOS.mm
r242059 r242069 2907 2907 auto parametersForStandardFrame = [&] { 2908 2908 if (m_page->settings().shouldIgnoreMetaViewport()) 2909 return ViewportConfiguration::nativeWebpageParameters();2909 return m_viewportConfiguration.nativeWebpageParameters(); 2910 2910 2911 2911 return ViewportConfiguration::webpageParameters(); -
trunk/Tools/ChangeLog
r242066 r242069 1 2019-02-25 Yongjun Zhang <yongjun_zhang@apple.com> 2 3 scalableNativeWebpageParameters() is not preserved on new page navigation. 4 https://bugs.webkit.org/show_bug.cgi?id=194892 5 <rdar://problem/47538280> 6 7 Reviewed by Wenson Hsieh. 8 9 Allow UIScriptController to set WKWebView's _allowsViewportShrinkToFit property with a new `setAllowsViewportShrinkToFit` method. 10 11 * DumpRenderTree/ios/UIScriptControllerIOS.mm: 12 (WTR::UIScriptController::setAllowsViewportShrinkToFit): 13 * DumpRenderTree/mac/UIScriptControllerMac.mm: 14 (WTR::UIScriptController::allowsViewportShrinkToFit): 15 * TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl: 16 * TestRunnerShared/UIScriptContext/UIScriptController.cpp: 17 (WTR::UIScriptController::setAllowsViewportShrinkToFit): 18 * TestRunnerShared/UIScriptContext/UIScriptController.h: 19 * WebKitTestRunner/UIScriptControllerCocoa.mm: 20 (WTR::UIScriptController::setAllowsViewportShrinkToFit): 21 1 22 2019-02-25 Aakash Jain <aakash_jain@apple.com> 2 23 -
trunk/Tools/DumpRenderTree/ios/UIScriptControllerIOS.mm
r241971 r242069 95 95 } 96 96 97 void UIScriptController::setAllowsViewportShrinkToFit(bool) 98 { 99 } 100 97 101 void UIScriptController::simulateAccessibilitySettingsChangeNotification(JSValueRef) 98 102 { -
trunk/Tools/DumpRenderTree/mac/UIScriptControllerMac.mm
r240476 r242069 102 102 } 103 103 104 void UIScriptController::setAllowsViewportShrinkToFit(bool) 105 { 106 } 107 104 108 void UIScriptController::simulateAccessibilitySettingsChangeNotification(JSValueRef) 105 109 { -
trunk/Tools/TestRunnerShared/UIScriptContext/Bindings/UIScriptController.idl
r241971 r242069 237 237 void setViewScale(double scale); 238 238 void setMinimumEffectiveWidth(double effectiveWidth); 239 void setAllowsViewportShrinkToFit(boolean allows); 239 240 240 241 void resignFirstResponder(); -
trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptController.cpp
r241971 r242069 242 242 } 243 243 244 void UIScriptController::setAllowsViewportShrinkToFit(bool) 245 { 246 } 247 244 248 void UIScriptController::resignFirstResponder() 245 249 { -
trunk/Tools/TestRunnerShared/UIScriptContext/UIScriptController.h
r241971 r242069 73 73 void setViewScale(double); 74 74 void setMinimumEffectiveWidth(double); 75 void setAllowsViewportShrinkToFit(bool); 75 76 76 77 void resignFirstResponder(); -
trunk/Tools/WebKitTestRunner/UIScriptControllerCocoa.mm
r241322 r242069 55 55 } 56 56 57 void UIScriptController::setAllowsViewportShrinkToFit(bool allows) 58 { 59 #if WK_API_ENABLED && PLATFORM(IOS_FAMILY) 60 TestController::singleton().mainWebView()->platformView()._allowsViewportShrinkToFit = allows; 61 #else 62 UNUSED_PARAM(allows); 63 #endif 64 } 65 57 66 void UIScriptController::resignFirstResponder() 58 67 {
Note: See TracChangeset
for help on using the changeset viewer.