| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011, 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2011, 2012 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 2815 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2826 // isn't set at the end of a layout. | 2826 // isn't set at the end of a layout. |
| 2827 if (view->needsLayout()) | 2827 if (view->needsLayout()) |
| 2828 view->layout(); | 2828 view->layout(); |
| 2829 } | 2829 } |
| 2830 | 2830 |
| 2831 void WebViewImpl::updatePageDefinedViewportConstraints(const ViewportDescription
& description) | 2831 void WebViewImpl::updatePageDefinedViewportConstraints(const ViewportDescription
& description) |
| 2832 { | 2832 { |
| 2833 if (!settings()->viewportEnabled() || !page() || (!m_size.width && !m_size.h
eight)) | 2833 if (!settings()->viewportEnabled() || !page() || (!m_size.width && !m_size.h
eight)) |
| 2834 return; | 2834 return; |
| 2835 | 2835 |
| 2836 Document* document = page()->mainFrame()->document(); |
| 2837 |
| 2838 Length defaultMinWidth = document->viewportDefaultMinWidth(); |
| 2839 if (defaultMinWidth.isAuto()) |
| 2840 defaultMinWidth = Length(ExtendToZoom); |
| 2841 |
| 2836 ViewportDescription adjustedDescription = description; | 2842 ViewportDescription adjustedDescription = description; |
| 2837 if (settingsImpl()->viewportMetaLayoutSizeQuirk() && adjustedDescription.typ
e == ViewportDescription::ViewportMeta) { | 2843 if (settingsImpl()->viewportMetaLayoutSizeQuirk() && adjustedDescription.typ
e == ViewportDescription::ViewportMeta) { |
| 2838 if (adjustedDescription.maxWidth.type() == ExtendToZoom) | |
| 2839 adjustedDescription.maxWidth = Length(); // auto | |
| 2840 const int legacyWidthSnappingMagicNumber = 320; | 2844 const int legacyWidthSnappingMagicNumber = 320; |
| 2841 if (adjustedDescription.maxWidth.isFixed() && adjustedDescription.maxWid
th.value() <= legacyWidthSnappingMagicNumber) | 2845 if (adjustedDescription.maxWidth.isFixed() && adjustedDescription.maxWid
th.value() <= legacyWidthSnappingMagicNumber) |
| 2842 adjustedDescription.maxWidth = Length(DeviceWidth); | 2846 adjustedDescription.maxWidth = Length(DeviceWidth); |
| 2843 if (adjustedDescription.maxHeight.isFixed() && adjustedDescription.maxHe
ight.value() <= m_size.height) | 2847 if (adjustedDescription.maxHeight.isFixed() && adjustedDescription.maxHe
ight.value() <= m_size.height) |
| 2844 adjustedDescription.maxHeight = Length(DeviceHeight); | 2848 adjustedDescription.maxHeight = Length(DeviceHeight); |
| 2845 adjustedDescription.minWidth = adjustedDescription.maxWidth; | 2849 adjustedDescription.minWidth = adjustedDescription.maxWidth; |
| 2846 adjustedDescription.minHeight = adjustedDescription.maxHeight; | 2850 adjustedDescription.minHeight = adjustedDescription.maxHeight; |
| 2847 } | 2851 } |
| 2852 |
| 2848 float oldInitialScale = m_pageScaleConstraintsSet.pageDefinedConstraints().i
nitialScale; | 2853 float oldInitialScale = m_pageScaleConstraintsSet.pageDefinedConstraints().i
nitialScale; |
| 2849 m_pageScaleConstraintsSet.updatePageDefinedConstraints(adjustedDescription,
m_size); | 2854 m_pageScaleConstraintsSet.updatePageDefinedConstraints(adjustedDescription,
m_size, defaultMinWidth); |
| 2850 | 2855 |
| 2851 if (settingsImpl()->clobberUserAgentInitialScaleQuirk() | 2856 if (settingsImpl()->clobberUserAgentInitialScaleQuirk() |
| 2852 && m_pageScaleConstraintsSet.userAgentConstraints().initialScale != -1 | 2857 && m_pageScaleConstraintsSet.userAgentConstraints().initialScale != -1 |
| 2853 && m_pageScaleConstraintsSet.userAgentConstraints().initialScale * devic
eScaleFactor() <= 1) { | 2858 && m_pageScaleConstraintsSet.userAgentConstraints().initialScale * devic
eScaleFactor() <= 1) { |
| 2854 if (description.maxWidth == Length(DeviceWidth) | 2859 if (description.maxWidth == Length(DeviceWidth) |
| 2855 || (description.maxWidth.type() == ExtendToZoom && m_pageScaleConstr
aintsSet.pageDefinedConstraints().initialScale == 1.0f)) | 2860 || (description.maxWidth.type() == Auto && m_pageScaleConstraintsSet
.pageDefinedConstraints().initialScale == 1.0f)) |
| 2856 setInitialPageScaleOverride(-1); | 2861 setInitialPageScaleOverride(-1); |
| 2857 } | 2862 } |
| 2858 m_pageScaleConstraintsSet.adjustForAndroidWebViewQuirks(adjustedDescription,
m_size, page()->settings().layoutFallbackWidth(), deviceScaleFactor(), settings
Impl()->supportDeprecatedTargetDensityDPI(), page()->settings().wideViewportQuir
kEnabled(), page()->settings().useWideViewport(), page()->settings().loadWithOve
rviewMode(), settingsImpl()->viewportMetaNonUserScalableQuirk()); | 2863 |
| 2864 m_pageScaleConstraintsSet.adjustForAndroidWebViewQuirks(adjustedDescription,
m_size, defaultMinWidth.intValue(), deviceScaleFactor(), settingsImpl()->suppor
tDeprecatedTargetDensityDPI(), page()->settings().wideViewportQuirkEnabled(), pa
ge()->settings().useWideViewport(), page()->settings().loadWithOverviewMode(), s
ettingsImpl()->viewportMetaNonUserScalableQuirk()); |
| 2859 float newInitialScale = m_pageScaleConstraintsSet.pageDefinedConstraints().i
nitialScale; | 2865 float newInitialScale = m_pageScaleConstraintsSet.pageDefinedConstraints().i
nitialScale; |
| 2860 if (oldInitialScale != newInitialScale && newInitialScale != -1) { | 2866 if (oldInitialScale != newInitialScale && newInitialScale != -1) { |
| 2861 m_pageScaleConstraintsSet.setNeedsReset(true); | 2867 m_pageScaleConstraintsSet.setNeedsReset(true); |
| 2862 if (mainFrameImpl() && mainFrameImpl()->frameView()) | 2868 if (mainFrameImpl() && mainFrameImpl()->frameView()) |
| 2863 mainFrameImpl()->frameView()->setNeedsLayout(); | 2869 mainFrameImpl()->frameView()->setNeedsLayout(); |
| 2864 } | 2870 } |
| 2865 | 2871 |
| 2866 updateMainFrameLayoutSize(); | 2872 updateMainFrameLayoutSize(); |
| 2867 } | 2873 } |
| 2868 | 2874 |
| (...skipping 1134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4003 const PageScaleConstraints& constraints = m_pageScaleConstraintsSet.pageDefi
nedConstraints(); | 4009 const PageScaleConstraints& constraints = m_pageScaleConstraintsSet.pageDefi
nedConstraints(); |
| 4004 | 4010 |
| 4005 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) | 4011 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) |
| 4006 return false; | 4012 return false; |
| 4007 | 4013 |
| 4008 return mainFrameImpl()->frameView()->layoutSize().width() == m_size.width | 4014 return mainFrameImpl()->frameView()->layoutSize().width() == m_size.width |
| 4009 || (constraints.minimumScale == constraints.maximumScale && constraints.
minimumScale != -1); | 4015 || (constraints.minimumScale == constraints.maximumScale && constraints.
minimumScale != -1); |
| 4010 } | 4016 } |
| 4011 | 4017 |
| 4012 } // namespace blink | 4018 } // namespace blink |
| OLD | NEW |