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

Side by Side Diff: Source/web/WebViewImpl.cpp

Issue 308183002: Made root translation layer the root when using pinch virtual viewport. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: 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
OLDNEW
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
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
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
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698