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 3620 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3631 { | 3631 { |
3632 if (m_pageOverlays && m_pageOverlays->remove(overlay) && m_pageOverlays->emp
ty()) | 3632 if (m_pageOverlays && m_pageOverlays->remove(overlay) && m_pageOverlays->emp
ty()) |
3633 m_pageOverlays = nullptr; | 3633 m_pageOverlays = nullptr; |
3634 } | 3634 } |
3635 | 3635 |
3636 void WebViewImpl::setOverlayLayer(WebCore::GraphicsLayer* layer) | 3636 void WebViewImpl::setOverlayLayer(WebCore::GraphicsLayer* layer) |
3637 { | 3637 { |
3638 if (!m_rootGraphicsLayer) | 3638 if (!m_rootGraphicsLayer) |
3639 return; | 3639 return; |
3640 | 3640 |
| 3641 if (pinchVirtualViewportEnabled()) { |
| 3642 m_page->mainFrame()->view()->renderView()->compositor()->setOverlayLayer
(layer); |
| 3643 return; |
| 3644 } |
| 3645 |
| 3646 // FIXME(bokan): This path goes away after virtual viewport pinch is enabled
everywhere. |
3641 if (!m_rootTransformLayer) | 3647 if (!m_rootTransformLayer) |
3642 m_rootTransformLayer = m_page->mainFrame()->view()->renderView()->compos
itor()->ensureRootTransformLayer(); | 3648 m_rootTransformLayer = m_page->mainFrame()->view()->renderView()->compos
itor()->ensureRootTransformLayer(); |
3643 | 3649 |
3644 if (m_rootTransformLayer) { | 3650 if (m_rootTransformLayer) { |
3645 if (layer->parent() != m_rootTransformLayer) | 3651 if (layer->parent() != m_rootTransformLayer) |
3646 m_rootTransformLayer->addChild(layer); | 3652 m_rootTransformLayer->addChild(layer); |
3647 } | 3653 } |
3648 } | 3654 } |
3649 | 3655 |
3650 Element* WebViewImpl::focusedElement() const | 3656 Element* WebViewImpl::focusedElement() const |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3685 void WebViewImpl::setRootGraphicsLayer(GraphicsLayer* layer) | 3691 void WebViewImpl::setRootGraphicsLayer(GraphicsLayer* layer) |
3686 { | 3692 { |
3687 suppressInvalidations(true); | 3693 suppressInvalidations(true); |
3688 | 3694 |
3689 if (pinchVirtualViewportEnabled()) { | 3695 if (pinchVirtualViewportEnabled()) { |
3690 PinchViewport& pinchViewport = page()->frameHost().pinchViewport(); | 3696 PinchViewport& pinchViewport = page()->frameHost().pinchViewport(); |
3691 pinchViewport.attachToLayerTree(layer, graphicsLayerFactory()); | 3697 pinchViewport.attachToLayerTree(layer, graphicsLayerFactory()); |
3692 if (layer) { | 3698 if (layer) { |
3693 m_rootGraphicsLayer = pinchViewport.rootGraphicsLayer(); | 3699 m_rootGraphicsLayer = pinchViewport.rootGraphicsLayer(); |
3694 m_rootLayer = pinchViewport.rootGraphicsLayer()->platformLayer(); | 3700 m_rootLayer = pinchViewport.rootGraphicsLayer()->platformLayer(); |
3695 m_rootTransformLayer = 0; | 3701 m_rootTransformLayer = pinchViewport.rootTransformLayer(); |
3696 } else { | 3702 } else { |
3697 m_rootGraphicsLayer = 0; | 3703 m_rootGraphicsLayer = 0; |
3698 m_rootLayer = 0; | 3704 m_rootLayer = 0; |
3699 m_rootTransformLayer = 0; | 3705 m_rootTransformLayer = 0; |
3700 } | 3706 } |
3701 } else { | 3707 } else { |
3702 m_rootGraphicsLayer = layer; | 3708 m_rootGraphicsLayer = layer; |
3703 m_rootLayer = layer ? layer->platformLayer() : 0; | 3709 m_rootLayer = layer ? layer->platformLayer() : 0; |
3704 m_rootTransformLayer = 0; | 3710 m_rootTransformLayer = 0; |
3705 } | 3711 } |
(...skipping 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3939 m_layerTreeView->setDeviceScaleFactor(deviceScaleFactor); | 3945 m_layerTreeView->setDeviceScaleFactor(deviceScaleFactor); |
3940 } | 3946 } |
3941 | 3947 |
3942 void WebViewImpl::updateRootLayerTransform() | 3948 void WebViewImpl::updateRootLayerTransform() |
3943 { | 3949 { |
3944 // If we don't have a root graphics layer, we won't bother trying to find | 3950 // If we don't have a root graphics layer, we won't bother trying to find |
3945 // or update the transform layer. | 3951 // or update the transform layer. |
3946 if (!m_rootGraphicsLayer) | 3952 if (!m_rootGraphicsLayer) |
3947 return; | 3953 return; |
3948 | 3954 |
| 3955 // FIXME(bokan): m_rootTransformLayer is always set here in pinch virtual vi
ewport. This can go away once |
| 3956 // that's default everywhere. |
3949 if (!m_rootTransformLayer) | 3957 if (!m_rootTransformLayer) |
3950 m_rootTransformLayer = m_page->mainFrame()->view()->renderView()->compos
itor()->ensureRootTransformLayer(); | 3958 m_rootTransformLayer = m_page->mainFrame()->view()->renderView()->compos
itor()->ensureRootTransformLayer(); |
3951 | 3959 |
3952 if (m_rootTransformLayer) { | 3960 if (m_rootTransformLayer) { |
3953 WebCore::TransformationMatrix transform; | 3961 WebCore::TransformationMatrix transform; |
3954 transform.translate(m_rootLayerOffset.width, m_rootLayerOffset.height); | 3962 transform.translate(m_rootLayerOffset.width, m_rootLayerOffset.height); |
3955 transform = transform.scale(m_rootLayerScale); | 3963 transform = transform.scale(m_rootLayerScale); |
3956 m_rootTransformLayer->setTransform(transform); | 3964 m_rootTransformLayer->setTransform(transform); |
3957 } | 3965 } |
3958 } | 3966 } |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4051 const PageScaleConstraints& constraints = m_pageScaleConstraintsSet.pageDefi
nedConstraints(); | 4059 const PageScaleConstraints& constraints = m_pageScaleConstraintsSet.pageDefi
nedConstraints(); |
4052 | 4060 |
4053 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) | 4061 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) |
4054 return false; | 4062 return false; |
4055 | 4063 |
4056 return mainFrameImpl()->frameView()->layoutSize().width() == m_size.width | 4064 return mainFrameImpl()->frameView()->layoutSize().width() == m_size.width |
4057 || (constraints.minimumScale == constraints.maximumScale && constraints.
minimumScale != -1); | 4065 || (constraints.minimumScale == constraints.maximumScale && constraints.
minimumScale != -1); |
4058 } | 4066 } |
4059 | 4067 |
4060 } // namespace blink | 4068 } // namespace blink |
OLD | NEW |