| 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 1551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1562 | 1562 |
| 1563 updatePageDefinedViewportConstraints(mainFrameImpl()->frame()->document(
)->viewportDescription()); | 1563 updatePageDefinedViewportConstraints(mainFrameImpl()->frame()->document(
)->viewportDescription()); |
| 1564 updateMainFrameLayoutSize(); | 1564 updateMainFrameLayoutSize(); |
| 1565 | 1565 |
| 1566 WebDevToolsAgentPrivate* agentPrivate = devToolsAgentPrivate(); | 1566 WebDevToolsAgentPrivate* agentPrivate = devToolsAgentPrivate(); |
| 1567 if (agentPrivate) | 1567 if (agentPrivate) |
| 1568 agentPrivate->webViewResized(newSize); | 1568 agentPrivate->webViewResized(newSize); |
| 1569 WebFrameImpl* webFrame = mainFrameImpl(); | 1569 WebFrameImpl* webFrame = mainFrameImpl(); |
| 1570 if (webFrame->frameView()) { | 1570 if (webFrame->frameView()) { |
| 1571 webFrame->frameView()->resize(m_size); | 1571 webFrame->frameView()->resize(m_size); |
| 1572 if (page()->settings().pinchVirtualViewportEnabled()) | 1572 if (pinchVirtualViewportEnabled()) |
| 1573 page()->frameHost().pinchViewport().setSize(m_size); | 1573 page()->frameHost().pinchViewport().mainFrameDidChangeSize(); |
| 1574 } | 1574 } |
| 1575 } | 1575 } |
| 1576 | 1576 |
| 1577 if (settings()->viewportEnabled() && !m_fixedLayoutSizeLock) { | 1577 if (settings()->viewportEnabled() && !m_fixedLayoutSizeLock) { |
| 1578 // Relayout immediately to recalculate the minimum scale limit. | 1578 // Relayout immediately to recalculate the minimum scale limit. |
| 1579 if (view->needsLayout()) | 1579 if (view->needsLayout()) |
| 1580 view->layout(); | 1580 view->layout(); |
| 1581 | 1581 |
| 1582 if (shouldAnchorAndRescaleViewport) { | 1582 if (shouldAnchorAndRescaleViewport) { |
| 1583 float viewportWidthRatio = static_cast<float>(newSize.width) / oldSi
ze.width; | 1583 float viewportWidthRatio = static_cast<float>(newSize.width) / oldSi
ze.width; |
| (...skipping 1046 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2630 { | 2630 { |
| 2631 // Since factor = 1.2^level, level = log(factor) / log(1.2) | 2631 // Since factor = 1.2^level, level = log(factor) / log(1.2) |
| 2632 return log(factor) / log(textSizeMultiplierRatio); | 2632 return log(factor) / log(textSizeMultiplierRatio); |
| 2633 } | 2633 } |
| 2634 | 2634 |
| 2635 float WebViewImpl::pageScaleFactor() const | 2635 float WebViewImpl::pageScaleFactor() const |
| 2636 { | 2636 { |
| 2637 if (!page()) | 2637 if (!page()) |
| 2638 return 1; | 2638 return 1; |
| 2639 | 2639 |
| 2640 if (pinchVirtualViewportEnabled()) |
| 2641 return pinchViewportScaleFactor(); |
| 2642 |
| 2640 return page()->pageScaleFactor(); | 2643 return page()->pageScaleFactor(); |
| 2641 } | 2644 } |
| 2642 | 2645 |
| 2643 float WebViewImpl::clampPageScaleFactorToLimits(float scaleFactor) const | 2646 float WebViewImpl::clampPageScaleFactorToLimits(float scaleFactor) const |
| 2644 { | 2647 { |
| 2645 return m_pageScaleConstraintsSet.finalConstraints().clampToConstraints(scale
Factor); | 2648 return m_pageScaleConstraintsSet.finalConstraints().clampToConstraints(scale
Factor); |
| 2646 } | 2649 } |
| 2647 | 2650 |
| 2648 IntPoint WebViewImpl::clampOffsetAtScale(const IntPoint& offset, float scale) | 2651 IntPoint WebViewImpl::clampOffsetAtScale(const IntPoint& offset, float scale) |
| 2649 { | 2652 { |
| 2650 FrameView* view = mainFrameImpl()->frameView(); | 2653 FrameView* view = mainFrameImpl()->frameView(); |
| 2651 if (!view) | 2654 if (!view) |
| 2652 return offset; | 2655 return offset; |
| 2653 | 2656 |
| 2654 return view->clampOffsetAtScale(offset, scale); | 2657 return view->clampOffsetAtScale(offset, scale); |
| 2655 } | 2658 } |
| 2656 | 2659 |
| 2660 bool WebViewImpl::pinchVirtualViewportEnabled() const |
| 2661 { |
| 2662 ASSERT(page()); |
| 2663 return page()->settings().pinchVirtualViewportEnabled(); |
| 2664 } |
| 2665 |
| 2666 void WebViewImpl::setPinchViewportOffset(const WebFloatPoint& offset) |
| 2667 { |
| 2668 ASSERT(page()); |
| 2669 |
| 2670 if (!pinchVirtualViewportEnabled()) |
| 2671 return; |
| 2672 |
| 2673 page()->frameHost().pinchViewport().setLocation(offset); |
| 2674 } |
| 2675 |
| 2676 WebFloatPoint WebViewImpl::pinchViewportOffset() const |
| 2677 { |
| 2678 ASSERT(page()); |
| 2679 |
| 2680 if (!pinchVirtualViewportEnabled()) |
| 2681 return WebFloatPoint(); |
| 2682 |
| 2683 return page()->frameHost().pinchViewport().visibleRect().location(); |
| 2684 } |
| 2685 |
| 2686 void WebViewImpl::setPinchViewportScaleFactor(float scaleFactor) |
| 2687 { |
| 2688 ASSERT(page()); |
| 2689 |
| 2690 scaleFactor = clampPageScaleFactorToLimits(scaleFactor); |
| 2691 if (scaleFactor == pinchViewportScaleFactor()) |
| 2692 return; |
| 2693 |
| 2694 // TODO(bokan): Old-style pinch path. Remove when we're migrated to |
| 2695 // virtual viewport pinch. |
| 2696 if (!pinchVirtualViewportEnabled()) { |
| 2697 IntPoint scrollOffset(mainFrame()->scrollOffset().width, mainFrame()->sc
rollOffset().height); |
| 2698 setPageScaleFactor(scaleFactor, scrollOffset); |
| 2699 return; |
| 2700 } |
| 2701 |
| 2702 page()->frameHost().pinchViewport().setScale(scaleFactor); |
| 2703 deviceOrPageScaleFactorChanged(); |
| 2704 } |
| 2705 |
| 2706 float WebViewImpl::pinchViewportScaleFactor() const |
| 2707 { |
| 2708 if (!pinchVirtualViewportEnabled()) |
| 2709 return pageScaleFactor(); |
| 2710 |
| 2711 if (!page()) |
| 2712 return 1; |
| 2713 |
| 2714 return page()->frameHost().pinchViewport().scale(); |
| 2715 } |
| 2716 |
| 2717 void WebViewImpl::setMainFrameScrollOffset(const WebPoint& origin) |
| 2718 { |
| 2719 updateMainFrameScrollPosition(origin, false); |
| 2720 } |
| 2721 |
| 2657 void WebViewImpl::setPageScaleFactor(float scaleFactor, const WebPoint& origin) | 2722 void WebViewImpl::setPageScaleFactor(float scaleFactor, const WebPoint& origin) |
| 2658 { | 2723 { |
| 2659 if (!page()) | 2724 if (!page()) |
| 2660 return; | 2725 return; |
| 2661 | 2726 |
| 2662 IntPoint newScrollOffset = origin; | 2727 IntPoint newScrollOffset = origin; |
| 2663 scaleFactor = clampPageScaleFactorToLimits(scaleFactor); | 2728 scaleFactor = clampPageScaleFactorToLimits(scaleFactor); |
| 2664 newScrollOffset = clampOffsetAtScale(newScrollOffset, scaleFactor); | 2729 newScrollOffset = clampOffsetAtScale(newScrollOffset, scaleFactor); |
| 2665 | 2730 |
| 2666 page()->setPageScaleFactor(scaleFactor, newScrollOffset); | 2731 if (pinchVirtualViewportEnabled()) |
| 2732 setPinchViewportScaleFactor(scaleFactor); |
| 2733 else |
| 2734 page()->setPageScaleFactor(scaleFactor, newScrollOffset); |
| 2667 } | 2735 } |
| 2668 | 2736 |
| 2669 void WebViewImpl::setPageScaleFactorPreservingScrollOffset(float scaleFactor) | |
| 2670 { | |
| 2671 if (clampPageScaleFactorToLimits(scaleFactor) == pageScaleFactor()) | |
| 2672 return; | |
| 2673 | |
| 2674 IntPoint scrollOffset(mainFrame()->scrollOffset().width, mainFrame()->scroll
Offset().height); | |
| 2675 setPageScaleFactor(scaleFactor, scrollOffset); | |
| 2676 } | |
| 2677 | 2737 |
| 2678 float WebViewImpl::deviceScaleFactor() const | 2738 float WebViewImpl::deviceScaleFactor() const |
| 2679 { | 2739 { |
| 2680 if (!page()) | 2740 if (!page()) |
| 2681 return 1; | 2741 return 1; |
| 2682 | 2742 |
| 2683 return page()->deviceScaleFactor(); | 2743 return page()->deviceScaleFactor(); |
| 2684 } | 2744 } |
| 2685 | 2745 |
| 2686 void WebViewImpl::setDeviceScaleFactor(float scaleFactor) | 2746 void WebViewImpl::setDeviceScaleFactor(float scaleFactor) |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2768 if (view->verticalScrollbar() && !view->verticalScrollbar()->isOverlaySc
rollbar()) | 2828 if (view->verticalScrollbar() && !view->verticalScrollbar()->isOverlaySc
rollbar()) |
| 2769 verticalScrollbarWidth = view->verticalScrollbar()->width(); | 2829 verticalScrollbarWidth = view->verticalScrollbar()->width(); |
| 2770 m_pageScaleConstraintsSet.adjustFinalConstraintsToContentsSize(m_size, c
ontentsSize(), verticalScrollbarWidth); | 2830 m_pageScaleConstraintsSet.adjustFinalConstraintsToContentsSize(m_size, c
ontentsSize(), verticalScrollbarWidth); |
| 2771 } | 2831 } |
| 2772 | 2832 |
| 2773 float newPageScaleFactor = pageScaleFactor(); | 2833 float newPageScaleFactor = pageScaleFactor(); |
| 2774 if (m_pageScaleConstraintsSet.needsReset() && m_pageScaleConstraintsSet.fina
lConstraints().initialScale != -1) { | 2834 if (m_pageScaleConstraintsSet.needsReset() && m_pageScaleConstraintsSet.fina
lConstraints().initialScale != -1) { |
| 2775 newPageScaleFactor = m_pageScaleConstraintsSet.finalConstraints().initia
lScale; | 2835 newPageScaleFactor = m_pageScaleConstraintsSet.finalConstraints().initia
lScale; |
| 2776 m_pageScaleConstraintsSet.setNeedsReset(false); | 2836 m_pageScaleConstraintsSet.setNeedsReset(false); |
| 2777 } | 2837 } |
| 2778 setPageScaleFactorPreservingScrollOffset(newPageScaleFactor); | 2838 setPinchViewportScaleFactor(newPageScaleFactor); |
| 2779 | 2839 |
| 2780 updateLayerTreeViewport(); | 2840 updateLayerTreeViewport(); |
| 2781 | 2841 |
| 2782 // Relayout immediately to avoid violating the rule that needsLayout() | 2842 // Relayout immediately to avoid violating the rule that needsLayout() |
| 2783 // isn't set at the end of a layout. | 2843 // isn't set at the end of a layout. |
| 2784 if (view->needsLayout()) | 2844 if (view->needsLayout()) |
| 2785 view->layout(); | 2845 view->layout(); |
| 2786 } | 2846 } |
| 2787 | 2847 |
| 2788 void WebViewImpl::updatePageDefinedViewportConstraints(const ViewportDescription
& description) | 2848 void WebViewImpl::updatePageDefinedViewportConstraints(const ViewportDescription
& description) |
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2905 } | 2965 } |
| 2906 | 2966 |
| 2907 void WebViewImpl::resetSavedScrollAndScaleState() | 2967 void WebViewImpl::resetSavedScrollAndScaleState() |
| 2908 { | 2968 { |
| 2909 m_savedPageScaleFactor = 0; | 2969 m_savedPageScaleFactor = 0; |
| 2910 m_savedScrollOffset = IntSize(); | 2970 m_savedScrollOffset = IntSize(); |
| 2911 } | 2971 } |
| 2912 | 2972 |
| 2913 void WebViewImpl::resetScrollAndScaleState() | 2973 void WebViewImpl::resetScrollAndScaleState() |
| 2914 { | 2974 { |
| 2915 page()->setPageScaleFactor(1, IntPoint()); | 2975 setPageScaleFactor(1, IntPoint()); |
| 2916 | 2976 |
| 2917 // Clear out the values for the current history item. This will prevent the
history item from clobbering the | 2977 // Clear out the values for the current history item. This will prevent the
history item from clobbering the |
| 2918 // value determined during page scale initialization, which may be less than
1. | 2978 // value determined during page scale initialization, which may be less than
1. |
| 2919 page()->mainFrame()->loader().clearScrollPositionAndViewState(); | 2979 page()->mainFrame()->loader().clearScrollPositionAndViewState(); |
| 2920 m_pageScaleConstraintsSet.setNeedsReset(true); | 2980 m_pageScaleConstraintsSet.setNeedsReset(true); |
| 2921 | 2981 |
| 2922 // Clobber saved scales and scroll offsets. | 2982 // Clobber saved scales and scroll offsets. |
| 2923 if (FrameView* view = page()->mainFrame()->document()->view()) | 2983 if (FrameView* view = page()->mainFrame()->document()->view()) |
| 2924 view->cacheCurrentScrollPosition(); | 2984 view->cacheCurrentScrollPosition(); |
| 2925 resetSavedScrollAndScaleState(); | 2985 resetSavedScrollAndScaleState(); |
| (...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3607 m_client->suppressCompositorScheduling(enable); | 3667 m_client->suppressCompositorScheduling(enable); |
| 3608 } | 3668 } |
| 3609 | 3669 |
| 3610 bool WebViewImpl::allowsAcceleratedCompositing() | 3670 bool WebViewImpl::allowsAcceleratedCompositing() |
| 3611 { | 3671 { |
| 3612 return !m_compositorCreationFailed; | 3672 return !m_compositorCreationFailed; |
| 3613 } | 3673 } |
| 3614 | 3674 |
| 3615 void WebViewImpl::setRootGraphicsLayer(GraphicsLayer* layer) | 3675 void WebViewImpl::setRootGraphicsLayer(GraphicsLayer* layer) |
| 3616 { | 3676 { |
| 3617 bool pinchVirtualViewportEnabled = page()->settings().pinchVirtualViewportEn
abled(); | |
| 3618 suppressInvalidations(true); | 3677 suppressInvalidations(true); |
| 3619 | 3678 |
| 3620 if (pinchVirtualViewportEnabled) { | 3679 if (pinchVirtualViewportEnabled()) { |
| 3621 PinchViewport& pinchViewport = page()->frameHost().pinchViewport(); | 3680 PinchViewport& pinchViewport = page()->frameHost().pinchViewport(); |
| 3622 pinchViewport.attachToLayerTree(layer, graphicsLayerFactory()); | 3681 pinchViewport.attachToLayerTree(layer, graphicsLayerFactory()); |
| 3623 pinchViewport.setSize(mainFrameImpl()->frame()->view()->frameRect().size
()); | |
| 3624 if (layer) { | 3682 if (layer) { |
| 3625 m_rootGraphicsLayer = pinchViewport.rootGraphicsLayer(); | 3683 m_rootGraphicsLayer = pinchViewport.rootGraphicsLayer(); |
| 3626 m_rootLayer = pinchViewport.rootGraphicsLayer()->platformLayer(); | 3684 m_rootLayer = pinchViewport.rootGraphicsLayer()->platformLayer(); |
| 3627 m_rootTransformLayer = 0; | 3685 m_rootTransformLayer = 0; |
| 3628 } else { | 3686 } else { |
| 3629 m_rootGraphicsLayer = 0; | 3687 m_rootGraphicsLayer = 0; |
| 3630 m_rootLayer = 0; | 3688 m_rootLayer = 0; |
| 3631 m_rootTransformLayer = 0; | 3689 m_rootTransformLayer = 0; |
| 3632 } | 3690 } |
| 3633 } else { | 3691 } else { |
| 3634 m_rootGraphicsLayer = layer; | 3692 m_rootGraphicsLayer = layer; |
| 3635 m_rootLayer = layer ? layer->platformLayer() : 0; | 3693 m_rootLayer = layer ? layer->platformLayer() : 0; |
| 3636 m_rootTransformLayer = 0; | 3694 m_rootTransformLayer = 0; |
| 3637 } | 3695 } |
| 3638 | 3696 |
| 3639 setIsAcceleratedCompositingActive(layer); | 3697 setIsAcceleratedCompositingActive(layer); |
| 3640 | 3698 |
| 3641 updateRootLayerTransform(); | 3699 updateRootLayerTransform(); |
| 3642 | 3700 |
| 3643 if (m_layerTreeView) { | 3701 if (m_layerTreeView) { |
| 3644 if (m_rootLayer) { | 3702 if (m_rootLayer) { |
| 3645 m_layerTreeView->setRootLayer(*m_rootLayer); | 3703 m_layerTreeView->setRootLayer(*m_rootLayer); |
| 3646 // We register viewport layers here since there may not be a layer | 3704 // We register viewport layers here since there may not be a layer |
| 3647 // tree view prior to this point. | 3705 // tree view prior to this point. |
| 3648 if (pinchVirtualViewportEnabled) { | 3706 if (pinchVirtualViewportEnabled()) { |
| 3649 page()->frameHost().pinchViewport().registerLayersWithTreeView(m
_layerTreeView); | 3707 page()->frameHost().pinchViewport().registerLayersWithTreeView(m
_layerTreeView); |
| 3650 } else { | 3708 } else { |
| 3651 GraphicsLayer* rootScrollLayer = compositor()->scrollLayer(); | 3709 GraphicsLayer* rootScrollLayer = compositor()->scrollLayer(); |
| 3652 ASSERT(rootScrollLayer); | 3710 ASSERT(rootScrollLayer); |
| 3653 WebLayer* pageScaleLayer = rootScrollLayer->parent() ? rootScrol
lLayer->parent()->platformLayer() : 0; | 3711 WebLayer* pageScaleLayer = rootScrollLayer->parent() ? rootScrol
lLayer->parent()->platformLayer() : 0; |
| 3654 m_layerTreeView->registerViewportLayers(pageScaleLayer, rootScro
llLayer->platformLayer(), 0); | 3712 m_layerTreeView->registerViewportLayers(pageScaleLayer, rootScro
llLayer->platformLayer(), 0); |
| 3655 } | 3713 } |
| 3656 } else { | 3714 } else { |
| 3657 m_layerTreeView->clearRootLayer(); | 3715 m_layerTreeView->clearRootLayer(); |
| 3658 if (pinchVirtualViewportEnabled) | 3716 if (pinchVirtualViewportEnabled()) |
| 3659 page()->frameHost().pinchViewport().clearLayersForTreeView(m_lay
erTreeView); | 3717 page()->frameHost().pinchViewport().clearLayersForTreeView(m_lay
erTreeView); |
| 3660 else | 3718 else |
| 3661 m_layerTreeView->clearViewportLayers(); | 3719 m_layerTreeView->clearViewportLayers(); |
| 3662 } | 3720 } |
| 3663 } | 3721 } |
| 3664 | 3722 |
| 3665 suppressInvalidations(false); | 3723 suppressInvalidations(false); |
| 3666 } | 3724 } |
| 3667 | 3725 |
| 3668 void WebViewImpl::scheduleCompositingLayerSync() | 3726 void WebViewImpl::scheduleCompositingLayerSync() |
| (...skipping 136 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3805 frameView->setInProgrammaticScroll(programmaticScroll); | 3863 frameView->setInProgrammaticScroll(programmaticScroll); |
| 3806 frameView->notifyScrollPositionChanged(scrollPosition); | 3864 frameView->notifyScrollPositionChanged(scrollPosition); |
| 3807 frameView->setInProgrammaticScroll(oldProgrammaticScroll); | 3865 frameView->setInProgrammaticScroll(oldProgrammaticScroll); |
| 3808 } | 3866 } |
| 3809 | 3867 |
| 3810 void WebViewImpl::applyScrollAndScale(const WebSize& scrollDelta, float pageScal
eDelta) | 3868 void WebViewImpl::applyScrollAndScale(const WebSize& scrollDelta, float pageScal
eDelta) |
| 3811 { | 3869 { |
| 3812 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) | 3870 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) |
| 3813 return; | 3871 return; |
| 3814 | 3872 |
| 3815 // With virtual viewport we need only set the scale (see TODO below). | 3873 if (pinchVirtualViewportEnabled()) { |
| 3816 if (page()->settings().pinchVirtualViewportEnabled()) { | 3874 if (pageScaleDelta != 1) { |
| 3817 WebSize scrollOffset = mainFrame()->scrollOffset(); | 3875 // When the virtual viewport is enabled, offsets are already set for
us. |
| 3818 WebPoint scrollPoint(scrollOffset.width, scrollOffset.height); | 3876 setPinchViewportScaleFactor(pageScaleFactor() * pageScaleDelta); |
| 3819 setPageScaleFactor(pageScaleFactor() * pageScaleDelta, scrollPoint); | 3877 m_doubleTapZoomPending = false; |
| 3820 m_doubleTapZoomPending = false; | 3878 } |
| 3879 |
| 3821 return; | 3880 return; |
| 3822 } | 3881 } |
| 3823 | 3882 |
| 3824 // TODO(bokan): Old pinch path only - virtual viewport pinch scrolls are aut
omatically updated via GraphicsLayer::DidScroll. | 3883 // TODO(bokan): Old pinch path only - virtual viewport pinch scrolls are aut
omatically updated via GraphicsLayer::DidScroll. |
| 3825 // this should be removed once old pinch is removed. | 3884 // this should be removed once old pinch is removed. |
| 3826 if (pageScaleDelta == 1) { | 3885 if (pageScaleDelta == 1) { |
| 3827 TRACE_EVENT_INSTANT2("webkit", "WebViewImpl::applyScrollAndScale::scroll
By", "x", scrollDelta.width, "y", scrollDelta.height); | 3886 TRACE_EVENT_INSTANT2("webkit", "WebViewImpl::applyScrollAndScale::scroll
By", "x", scrollDelta.width, "y", scrollDelta.height); |
| 3828 WebSize webScrollOffset = mainFrame()->scrollOffset(); | 3887 WebSize webScrollOffset = mainFrame()->scrollOffset(); |
| 3829 IntPoint scrollOffset(webScrollOffset.width + scrollDelta.width, webScro
llOffset.height + scrollDelta.height); | 3888 IntPoint scrollOffset(webScrollOffset.width + scrollDelta.width, webScro
llOffset.height + scrollDelta.height); |
| 3830 updateMainFrameScrollPosition(scrollOffset, false); | 3889 updateMainFrameScrollPosition(scrollOffset, false); |
| (...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3992 const PageScaleConstraints& constraints = m_pageScaleConstraintsSet.pageDefi
nedConstraints(); | 4051 const PageScaleConstraints& constraints = m_pageScaleConstraintsSet.pageDefi
nedConstraints(); |
| 3993 | 4052 |
| 3994 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) | 4053 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) |
| 3995 return false; | 4054 return false; |
| 3996 | 4055 |
| 3997 return mainFrameImpl()->frameView()->layoutSize().width() == m_size.width | 4056 return mainFrameImpl()->frameView()->layoutSize().width() == m_size.width |
| 3998 || (constraints.minimumScale == constraints.maximumScale && constraints.
minimumScale != -1); | 4057 || (constraints.minimumScale == constraints.maximumScale && constraints.
minimumScale != -1); |
| 3999 } | 4058 } |
| 4000 | 4059 |
| 4001 } // namespace blink | 4060 } // namespace blink |
| OLD | NEW |