| 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 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 50 #include "AutofillPopupMenuClient.h" | 50 #include "AutofillPopupMenuClient.h" |
| 51 #include "BatteryClientImpl.h" | 51 #include "BatteryClientImpl.h" |
| 52 #include "CSSValueKeywords.h" | 52 #include "CSSValueKeywords.h" |
| 53 #include "CompositionUnderlineVectorBuilder.h" | 53 #include "CompositionUnderlineVectorBuilder.h" |
| 54 #include "ContextFeaturesClientImpl.h" | 54 #include "ContextFeaturesClientImpl.h" |
| 55 #include "DeviceOrientationClientProxy.h" | 55 #include "DeviceOrientationClientProxy.h" |
| 56 #include "GeolocationClientProxy.h" | 56 #include "GeolocationClientProxy.h" |
| 57 #include "GraphicsLayerFactoryChromium.h" | 57 #include "GraphicsLayerFactoryChromium.h" |
| 58 #include "HTMLNames.h" | 58 #include "HTMLNames.h" |
| 59 #include "LinkHighlight.h" | 59 #include "LinkHighlight.h" |
| 60 #include "NonCompositedContentHost.h" | |
| 61 #include "PageWidgetDelegate.h" | 60 #include "PageWidgetDelegate.h" |
| 62 #include "PopupContainer.h" | 61 #include "PopupContainer.h" |
| 63 #include "PrerendererClientImpl.h" | 62 #include "PrerendererClientImpl.h" |
| 64 #include "SpeechInputClientImpl.h" | 63 #include "SpeechInputClientImpl.h" |
| 65 #include "SpeechRecognitionClientProxy.h" | 64 #include "SpeechRecognitionClientProxy.h" |
| 66 #include "TextFieldDecoratorImpl.h" | 65 #include "TextFieldDecoratorImpl.h" |
| 67 #include "ValidationMessageClientImpl.h" | 66 #include "ValidationMessageClientImpl.h" |
| 68 #include "ViewportAnchor.h" | 67 #include "ViewportAnchor.h" |
| 69 #include "WebAccessibilityObject.h" | 68 #include "WebAccessibilityObject.h" |
| 70 #include "WebActiveWheelFlingParameters.h" | 69 #include "WebActiveWheelFlingParameters.h" |
| (...skipping 1682 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1753 if (m_continuousPaintingEnabled) { | 1752 if (m_continuousPaintingEnabled) { |
| 1754 ContinuousPainter::setNeedsDisplayRecursive(m_rootGraphicsLayer, m_pageO
verlays.get()); | 1753 ContinuousPainter::setNeedsDisplayRecursive(m_rootGraphicsLayer, m_pageO
verlays.get()); |
| 1755 m_client->scheduleAnimation(); | 1754 m_client->scheduleAnimation(); |
| 1756 } | 1755 } |
| 1757 } | 1756 } |
| 1758 | 1757 |
| 1759 void WebViewImpl::layout() | 1758 void WebViewImpl::layout() |
| 1760 { | 1759 { |
| 1761 TRACE_EVENT0("webkit", "WebViewImpl::layout"); | 1760 TRACE_EVENT0("webkit", "WebViewImpl::layout"); |
| 1762 PageWidgetDelegate::layout(m_page.get()); | 1761 PageWidgetDelegate::layout(m_page.get()); |
| 1762 if (m_layerTreeView) |
| 1763 m_layerTreeView->setBackgroundColor(backgroundColor()); |
| 1763 | 1764 |
| 1764 if (m_linkHighlight) | 1765 if (m_linkHighlight) |
| 1765 m_linkHighlight->updateGeometry(); | 1766 m_linkHighlight->updateGeometry(); |
| 1766 } | 1767 } |
| 1767 | 1768 |
| 1768 void WebViewImpl::enterForceCompositingMode(bool enter) | 1769 void WebViewImpl::enterForceCompositingMode(bool enter) |
| 1769 { | 1770 { |
| 1770 if (page()->settings()->forceCompositingMode() == enter) | 1771 if (page()->settings()->forceCompositingMode() == enter) |
| 1771 return; | 1772 return; |
| 1772 | 1773 |
| (...skipping 1123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2896 { | 2897 { |
| 2897 if (!page()) | 2898 if (!page()) |
| 2898 return; | 2899 return; |
| 2899 | 2900 |
| 2900 Frame* frame = page()->mainFrame(); | 2901 Frame* frame = page()->mainFrame(); |
| 2901 if (!frame || !frame->view()) | 2902 if (!frame || !frame->view()) |
| 2902 return; | 2903 return; |
| 2903 | 2904 |
| 2904 frame->view()->setUseFixedLayout(enable); | 2905 frame->view()->setUseFixedLayout(enable); |
| 2905 | 2906 |
| 2906 // Also notify the base layer, which RenderLayerCompositor does not see. | 2907 if (m_isAcceleratedCompositingActive) |
| 2907 if (m_nonCompositedContentHost) | |
| 2908 updateLayerTreeViewport(); | 2908 updateLayerTreeViewport(); |
| 2909 } | 2909 } |
| 2910 | 2910 |
| 2911 | 2911 |
| 2912 void WebViewImpl::enableAutoResizeMode(const WebSize& minSize, const WebSize& ma
xSize) | 2912 void WebViewImpl::enableAutoResizeMode(const WebSize& minSize, const WebSize& ma
xSize) |
| 2913 { | 2913 { |
| 2914 m_shouldAutoResize = true; | 2914 m_shouldAutoResize = true; |
| 2915 m_minAutoSize = minSize; | 2915 m_minAutoSize = minSize; |
| 2916 m_maxAutoSize = maxSize; | 2916 m_maxAutoSize = maxSize; |
| 2917 configureAutoResizeMode(); | 2917 configureAutoResizeMode(); |
| (...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3501 { | 3501 { |
| 3502 // Set any existing frames to be transparent. | 3502 // Set any existing frames to be transparent. |
| 3503 Frame* frame = m_page->mainFrame(); | 3503 Frame* frame = m_page->mainFrame(); |
| 3504 while (frame) { | 3504 while (frame) { |
| 3505 frame->view()->setTransparent(isTransparent); | 3505 frame->view()->setTransparent(isTransparent); |
| 3506 frame = frame->tree()->traverseNext(); | 3506 frame = frame->tree()->traverseNext(); |
| 3507 } | 3507 } |
| 3508 | 3508 |
| 3509 // Future frames check this to know whether to be transparent. | 3509 // Future frames check this to know whether to be transparent. |
| 3510 m_isTransparent = isTransparent; | 3510 m_isTransparent = isTransparent; |
| 3511 | |
| 3512 if (m_nonCompositedContentHost) | |
| 3513 m_nonCompositedContentHost->setOpaque(!isTransparent); | |
| 3514 } | 3511 } |
| 3515 | 3512 |
| 3516 bool WebViewImpl::isTransparent() const | 3513 bool WebViewImpl::isTransparent() const |
| 3517 { | 3514 { |
| 3518 return m_isTransparent; | 3515 return m_isTransparent; |
| 3519 } | 3516 } |
| 3520 | 3517 |
| 3521 void WebViewImpl::setIsActive(bool active) | 3518 void WebViewImpl::setIsActive(bool active) |
| 3522 { | 3519 { |
| 3523 if (page() && page()->focusController()) | 3520 if (page() && page()->focusController()) |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3598 if (m_layerTreeView) | 3595 if (m_layerTreeView) |
| 3599 m_layerTreeView->didStopFlinging(); | 3596 m_layerTreeView->didStopFlinging(); |
| 3600 resetSavedScrollAndScaleState(); | 3597 resetSavedScrollAndScaleState(); |
| 3601 } | 3598 } |
| 3602 | 3599 |
| 3603 void WebViewImpl::layoutUpdated(WebFrameImpl* webframe) | 3600 void WebViewImpl::layoutUpdated(WebFrameImpl* webframe) |
| 3604 { | 3601 { |
| 3605 if (!m_client || webframe != mainFrameImpl()) | 3602 if (!m_client || webframe != mainFrameImpl()) |
| 3606 return; | 3603 return; |
| 3607 | 3604 |
| 3605 if (m_layerTreeViewCommitsDeferred) { |
| 3606 // If we finished a layout while in deferred commit mode, |
| 3607 // that means it's time to start producing frames again so un-defer. |
| 3608 if (m_layerTreeView) |
| 3609 m_layerTreeView->setDeferCommits(false); |
| 3610 m_layerTreeViewCommitsDeferred = false; |
| 3611 } |
| 3612 |
| 3608 if (m_shouldAutoResize && mainFrameImpl()->frame() && mainFrameImpl()->frame
()->view()) { | 3613 if (m_shouldAutoResize && mainFrameImpl()->frame() && mainFrameImpl()->frame
()->view()) { |
| 3609 WebSize frameSize = mainFrameImpl()->frame()->view()->frameRect().size()
; | 3614 WebSize frameSize = mainFrameImpl()->frame()->view()->frameRect().size()
; |
| 3610 if (frameSize != m_size) { | 3615 if (frameSize != m_size) { |
| 3611 m_size = frameSize; | 3616 m_size = frameSize; |
| 3612 m_client->didAutoResize(m_size); | 3617 m_client->didAutoResize(m_size); |
| 3613 sendResizeEventAndRepaint(); | 3618 sendResizeEventAndRepaint(); |
| 3614 } | 3619 } |
| 3615 } | 3620 } |
| 3616 | 3621 |
| 3617 if (m_pageScaleConstraintsSet.constraintsDirty()) | 3622 if (m_pageScaleConstraintsSet.constraintsDirty()) |
| (...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3790 } | 3795 } |
| 3791 | 3796 |
| 3792 void WebViewImpl::setRootGraphicsLayer(GraphicsLayer* layer) | 3797 void WebViewImpl::setRootGraphicsLayer(GraphicsLayer* layer) |
| 3793 { | 3798 { |
| 3794 suppressInvalidations(true); | 3799 suppressInvalidations(true); |
| 3795 | 3800 |
| 3796 m_rootGraphicsLayer = layer; | 3801 m_rootGraphicsLayer = layer; |
| 3797 m_rootLayer = layer ? layer->platformLayer() : 0; | 3802 m_rootLayer = layer ? layer->platformLayer() : 0; |
| 3798 | 3803 |
| 3799 setIsAcceleratedCompositingActive(layer); | 3804 setIsAcceleratedCompositingActive(layer); |
| 3800 if (m_nonCompositedContentHost) { | |
| 3801 GraphicsLayer* scrollLayer = 0; | |
| 3802 if (layer) { | |
| 3803 Document* document = page()->mainFrame()->document(); | |
| 3804 RenderView* renderView = document->renderView(); | |
| 3805 RenderLayerCompositor* compositor = renderView->compositor(); | |
| 3806 scrollLayer = compositor->scrollLayer(); | |
| 3807 } | |
| 3808 m_nonCompositedContentHost->setScrollLayer(scrollLayer); | |
| 3809 } | |
| 3810 | 3805 |
| 3811 if (m_layerTreeView) { | 3806 if (m_layerTreeView) { |
| 3812 if (m_rootLayer) | 3807 if (m_rootLayer) |
| 3813 m_layerTreeView->setRootLayer(*m_rootLayer); | 3808 m_layerTreeView->setRootLayer(*m_rootLayer); |
| 3814 else | 3809 else |
| 3815 m_layerTreeView->clearRootLayer(); | 3810 m_layerTreeView->clearRootLayer(); |
| 3816 } | 3811 } |
| 3817 | 3812 |
| 3818 suppressInvalidations(false); | 3813 suppressInvalidations(false); |
| 3819 } | 3814 } |
| 3820 | 3815 |
| 3821 void WebViewImpl::scheduleCompositingLayerSync() | 3816 void WebViewImpl::scheduleCompositingLayerSync() |
| 3822 { | 3817 { |
| 3823 m_layerTreeView->setNeedsRedraw(); | 3818 m_layerTreeView->setNeedsRedraw(); |
| 3824 } | 3819 } |
| 3825 | 3820 |
| 3826 void WebViewImpl::scrollRootLayerRect(const IntSize&, const IntRect&) | 3821 void WebViewImpl::scrollRootLayerRect(const IntSize&, const IntRect&) |
| 3827 { | 3822 { |
| 3828 updateLayerTreeViewport(); | 3823 updateLayerTreeViewport(); |
| 3829 } | 3824 } |
| 3830 | 3825 |
| 3831 void WebViewImpl::invalidateRect(const IntRect& rect) | 3826 void WebViewImpl::invalidateRect(const IntRect& rect) |
| 3832 { | 3827 { |
| 3833 if (m_layerTreeViewCommitsDeferred) { | |
| 3834 // If we receive an invalidation from WebKit while in deferred commit mo
de, | |
| 3835 // that means it's time to start producing frames again so un-defer. | |
| 3836 if (m_layerTreeView) | |
| 3837 m_layerTreeView->setDeferCommits(false); | |
| 3838 m_layerTreeViewCommitsDeferred = false; | |
| 3839 } | |
| 3840 if (m_isAcceleratedCompositingActive) { | 3828 if (m_isAcceleratedCompositingActive) { |
| 3841 ASSERT(m_layerTreeView); | 3829 ASSERT(m_layerTreeView); |
| 3842 | |
| 3843 if (!page()) | |
| 3844 return; | |
| 3845 | |
| 3846 FrameView* view = page()->mainFrame()->view(); | |
| 3847 IntRect dirtyRect = view->windowToContents(rect); | |
| 3848 updateLayerTreeViewport(); | 3830 updateLayerTreeViewport(); |
| 3849 m_nonCompositedContentHost->invalidateRect(dirtyRect); | |
| 3850 } else if (m_client) | 3831 } else if (m_client) |
| 3851 m_client->didInvalidateRect(rect); | 3832 m_client->didInvalidateRect(rect); |
| 3852 } | 3833 } |
| 3853 | 3834 |
| 3854 NonCompositedContentHost* WebViewImpl::nonCompositedContentHost() | |
| 3855 { | |
| 3856 return m_nonCompositedContentHost.get(); | |
| 3857 } | |
| 3858 | |
| 3859 void WebViewImpl::setBackgroundColor(const WebCore::Color& color) | |
| 3860 { | |
| 3861 WebCore::Color documentBackgroundColor = color.isValid() ? color : WebCore::
Color::white; | |
| 3862 WebColor webDocumentBackgroundColor = documentBackgroundColor.rgb(); | |
| 3863 m_nonCompositedContentHost->setBackgroundColor(documentBackgroundColor); | |
| 3864 m_layerTreeView->setBackgroundColor(webDocumentBackgroundColor); | |
| 3865 } | |
| 3866 | |
| 3867 WebCore::GraphicsLayerFactory* WebViewImpl::graphicsLayerFactory() const | 3835 WebCore::GraphicsLayerFactory* WebViewImpl::graphicsLayerFactory() const |
| 3868 { | 3836 { |
| 3869 return m_graphicsLayerFactory.get(); | 3837 return m_graphicsLayerFactory.get(); |
| 3870 } | 3838 } |
| 3871 | 3839 |
| 3872 void WebViewImpl::registerForAnimations(WebLayer* layer) | 3840 void WebViewImpl::registerForAnimations(WebLayer* layer) |
| 3873 { | 3841 { |
| 3874 if (m_layerTreeView) | 3842 if (m_layerTreeView) |
| 3875 m_layerTreeView->registerForAnimations(layer); | 3843 m_layerTreeView->registerForAnimations(layer); |
| 3876 } | 3844 } |
| 3877 | 3845 |
| 3878 WebCore::GraphicsLayer* WebViewImpl::rootGraphicsLayer() | 3846 WebCore::GraphicsLayer* WebViewImpl::rootGraphicsLayer() |
| 3879 { | 3847 { |
| 3880 return m_rootGraphicsLayer; | 3848 return m_rootGraphicsLayer; |
| 3881 } | 3849 } |
| 3882 | 3850 |
| 3883 void WebViewImpl::scheduleAnimation() | 3851 void WebViewImpl::scheduleAnimation() |
| 3884 { | 3852 { |
| 3885 if (isAcceleratedCompositingActive()) { | 3853 if (isAcceleratedCompositingActive()) { |
| 3886 if (Platform::current()->isThreadedCompositingEnabled()) { | 3854 if (Platform::current()->isThreadedCompositingEnabled()) { |
| 3887 ASSERT(m_layerTreeView); | 3855 ASSERT(m_layerTreeView); |
| 3888 m_layerTreeView->setNeedsAnimate(); | 3856 m_layerTreeView->setNeedsAnimate(); |
| 3889 } else | 3857 } else |
| 3890 m_client->scheduleAnimation(); | 3858 m_client->scheduleAnimation(); |
| 3891 } else | 3859 } else |
| 3892 m_client->scheduleAnimation(); | 3860 m_client->scheduleAnimation(); |
| 3893 } | 3861 } |
| 3894 | 3862 |
| 3895 void WebViewImpl::paintRootLayer(GraphicsContext& context, const IntRect& conten
tRect) | |
| 3896 { | |
| 3897 double paintStart = currentTime(); | |
| 3898 if (!page()) | |
| 3899 return; | |
| 3900 FrameView* view = page()->mainFrame()->view(); | |
| 3901 context.setUseHighResMarkers(page()->deviceScaleFactor() > 1.5f); | |
| 3902 view->paintContents(&context, contentRect); | |
| 3903 double paintEnd = currentTime(); | |
| 3904 double pixelsPerSec = (contentRect.width() * contentRect.height()) / (paintE
nd - paintStart); | |
| 3905 WebKit::Platform::current()->histogramCustomCounts("Renderer4.AccelRootPaint
DurationMS", (paintEnd - paintStart) * 1000, 0, 120, 30); | |
| 3906 WebKit::Platform::current()->histogramCustomCounts("Renderer4.AccelRootPaint
MegapixPerSecond", pixelsPerSec / 1000000, 10, 210, 30); | |
| 3907 | |
| 3908 setBackgroundColor(view->documentBackgroundColor()); | |
| 3909 } | |
| 3910 | |
| 3911 void WebViewImpl::setIsAcceleratedCompositingActive(bool active) | 3863 void WebViewImpl::setIsAcceleratedCompositingActive(bool active) |
| 3912 { | 3864 { |
| 3913 WebKit::Platform::current()->histogramEnumeration("GPU.setIsAcceleratedCompo
sitingActive", active * 2 + m_isAcceleratedCompositingActive, 4); | 3865 WebKit::Platform::current()->histogramEnumeration("GPU.setIsAcceleratedCompo
sitingActive", active * 2 + m_isAcceleratedCompositingActive, 4); |
| 3914 | 3866 |
| 3915 if (m_isAcceleratedCompositingActive == active) | 3867 if (m_isAcceleratedCompositingActive == active) |
| 3916 return; | 3868 return; |
| 3917 | 3869 |
| 3918 if (!active) { | 3870 if (!active) { |
| 3919 m_isAcceleratedCompositingActive = false; | 3871 m_isAcceleratedCompositingActive = false; |
| 3920 // We need to finish all GL rendering before sending didDeactivateCompos
itor() to prevent | 3872 // We need to finish all GL rendering before sending didDeactivateCompos
itor() to prevent |
| (...skipping 12 matching lines...) Expand all Loading... |
| 3933 m_layerTreeViewCommitsDeferred = true; | 3885 m_layerTreeViewCommitsDeferred = true; |
| 3934 } | 3886 } |
| 3935 } else if (m_layerTreeView) { | 3887 } else if (m_layerTreeView) { |
| 3936 m_isAcceleratedCompositingActive = true; | 3888 m_isAcceleratedCompositingActive = true; |
| 3937 updateLayerTreeViewport(); | 3889 updateLayerTreeViewport(); |
| 3938 | 3890 |
| 3939 m_client->didActivateCompositor(0); | 3891 m_client->didActivateCompositor(0); |
| 3940 } else { | 3892 } else { |
| 3941 TRACE_EVENT0("webkit", "WebViewImpl::setIsAcceleratedCompositingActive(t
rue)"); | 3893 TRACE_EVENT0("webkit", "WebViewImpl::setIsAcceleratedCompositingActive(t
rue)"); |
| 3942 | 3894 |
| 3943 m_nonCompositedContentHost = NonCompositedContentHost::create(this, grap
hicsLayerFactory()); | |
| 3944 m_nonCompositedContentHost->setShowDebugBorders(page()->settings()->show
DebugBorders()); | |
| 3945 m_nonCompositedContentHost->setOpaque(!isTransparent()); | |
| 3946 | |
| 3947 m_client->initializeLayerTreeView(); | 3895 m_client->initializeLayerTreeView(); |
| 3948 m_layerTreeView = m_client->layerTreeView(); | 3896 m_layerTreeView = m_client->layerTreeView(); |
| 3949 if (m_layerTreeView) { | 3897 if (m_layerTreeView) { |
| 3950 m_layerTreeView->setRootLayer(*m_rootLayer); | 3898 m_layerTreeView->setRootLayer(*m_rootLayer); |
| 3951 | 3899 |
| 3952 bool visible = page()->visibilityState() == PageVisibilityStateVisib
le; | 3900 bool visible = page()->visibilityState() == PageVisibilityStateVisib
le; |
| 3953 m_layerTreeView->setVisible(visible); | 3901 m_layerTreeView->setVisible(visible); |
| 3954 m_layerTreeView->setDeviceScaleFactor(page()->deviceScaleFactor()); | 3902 m_layerTreeView->setDeviceScaleFactor(page()->deviceScaleFactor()); |
| 3955 m_layerTreeView->setPageScaleFactorAndLimits(pageScaleFactor(), mini
mumPageScaleFactor(), maximumPageScaleFactor()); | 3903 m_layerTreeView->setPageScaleFactorAndLimits(pageScaleFactor(), mini
mumPageScaleFactor(), maximumPageScaleFactor()); |
| 3904 m_layerTreeView->setBackgroundColor(backgroundColor()); |
| 3956 m_layerTreeView->setHasTransparentBackground(isTransparent()); | 3905 m_layerTreeView->setHasTransparentBackground(isTransparent()); |
| 3957 updateLayerTreeViewport(); | 3906 updateLayerTreeViewport(); |
| 3958 m_client->didActivateCompositor(0); | 3907 m_client->didActivateCompositor(0); |
| 3959 m_isAcceleratedCompositingActive = true; | 3908 m_isAcceleratedCompositingActive = true; |
| 3960 m_compositorCreationFailed = false; | 3909 m_compositorCreationFailed = false; |
| 3961 if (m_pageOverlays) | 3910 if (m_pageOverlays) |
| 3962 m_pageOverlays->update(); | 3911 m_pageOverlays->update(); |
| 3963 m_layerTreeView->setShowFPSCounter(m_showFPSCounter); | 3912 m_layerTreeView->setShowFPSCounter(m_showFPSCounter); |
| 3964 m_layerTreeView->setShowPaintRects(m_showPaintRects); | 3913 m_layerTreeView->setShowPaintRects(m_showPaintRects); |
| 3965 m_layerTreeView->setShowDebugBorders(m_showDebugBorders); | 3914 m_layerTreeView->setShowDebugBorders(m_showDebugBorders); |
| 3966 m_layerTreeView->setContinuousPaintingEnabled(m_continuousPaintingEn
abled); | 3915 m_layerTreeView->setContinuousPaintingEnabled(m_continuousPaintingEn
abled); |
| 3967 } else { | 3916 } else { |
| 3968 m_nonCompositedContentHost.clear(); | |
| 3969 m_isAcceleratedCompositingActive = false; | 3917 m_isAcceleratedCompositingActive = false; |
| 3970 m_client->didDeactivateCompositor(); | 3918 m_client->didDeactivateCompositor(); |
| 3971 m_compositorCreationFailed = true; | 3919 m_compositorCreationFailed = true; |
| 3972 } | 3920 } |
| 3973 } | 3921 } |
| 3974 if (page()) | 3922 if (page()) |
| 3975 page()->mainFrame()->view()->setClipsRepaints(!m_isAcceleratedCompositin
gActive); | 3923 page()->mainFrame()->view()->setClipsRepaints(!m_isAcceleratedCompositin
gActive); |
| 3976 } | 3924 } |
| 3977 | 3925 |
| 3978 void WebViewImpl::updateMainFrameScrollPosition(const IntPoint& scrollPosition,
bool programmaticScroll) | 3926 void WebViewImpl::updateMainFrameScrollPosition(const IntPoint& scrollPosition,
bool programmaticScroll) |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4022 | 3970 |
| 4023 // Force a style recalc to remove all the composited layers. | 3971 // Force a style recalc to remove all the composited layers. |
| 4024 m_page->mainFrame()->document()->scheduleForcedStyleRecalc(); | 3972 m_page->mainFrame()->document()->scheduleForcedStyleRecalc(); |
| 4025 | 3973 |
| 4026 if (m_pageOverlays) | 3974 if (m_pageOverlays) |
| 4027 m_pageOverlays->update(); | 3975 m_pageOverlays->update(); |
| 4028 } | 3976 } |
| 4029 | 3977 |
| 4030 void WebViewImpl::updateLayerTreeViewport() | 3978 void WebViewImpl::updateLayerTreeViewport() |
| 4031 { | 3979 { |
| 4032 if (!page() || !m_nonCompositedContentHost || !m_layerTreeView) | 3980 if (!page() || !m_layerTreeView) |
| 4033 return; | 3981 return; |
| 4034 | 3982 |
| 4035 FrameView* view = page()->mainFrame()->view(); | |
| 4036 m_nonCompositedContentHost->setViewport(m_size, view->contentsSize(), view->
scrollPosition(), view->scrollOrigin()); | |
| 4037 m_layerTreeView->setPageScaleFactorAndLimits(pageScaleFactor(), minimumPageS
caleFactor(), maximumPageScaleFactor()); | 3983 m_layerTreeView->setPageScaleFactorAndLimits(pageScaleFactor(), minimumPageS
caleFactor(), maximumPageScaleFactor()); |
| 4038 } | 3984 } |
| 4039 | 3985 |
| 4040 void WebViewImpl::selectAutofillSuggestionAtIndex(unsigned listIndex) | 3986 void WebViewImpl::selectAutofillSuggestionAtIndex(unsigned listIndex) |
| 4041 { | 3987 { |
| 4042 if (m_autofillPopupClient && listIndex < m_autofillPopupClient->getSuggestio
nsCount()) | 3988 if (m_autofillPopupClient && listIndex < m_autofillPopupClient->getSuggestio
nsCount()) |
| 4043 m_autofillPopupClient->valueChanged(listIndex); | 3989 m_autofillPopupClient->valueChanged(listIndex); |
| 4044 } | 3990 } |
| 4045 | 3991 |
| 4046 bool WebViewImpl::detectContentOnTouch(const WebPoint& position) | 3992 bool WebViewImpl::detectContentOnTouch(const WebPoint& position) |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4133 } | 4079 } |
| 4134 | 4080 |
| 4135 bool WebViewImpl::shouldDisableDesktopWorkarounds() | 4081 bool WebViewImpl::shouldDisableDesktopWorkarounds() |
| 4136 { | 4082 { |
| 4137 ViewportArguments arguments = mainFrameImpl()->frame()->document()->viewport
Arguments(); | 4083 ViewportArguments arguments = mainFrameImpl()->frame()->document()->viewport
Arguments(); |
| 4138 return arguments.width == ViewportArguments::ValueDeviceWidth || !arguments.
userZoom | 4084 return arguments.width == ViewportArguments::ValueDeviceWidth || !arguments.
userZoom |
| 4139 || (arguments.minZoom == arguments.maxZoom && arguments.minZoom != Viewp
ortArguments::ValueAuto); | 4085 || (arguments.minZoom == arguments.maxZoom && arguments.minZoom != Viewp
ortArguments::ValueAuto); |
| 4140 } | 4086 } |
| 4141 | 4087 |
| 4142 } // namespace WebKit | 4088 } // namespace WebKit |
| OLD | NEW |