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

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

Issue 295383008: Remove the forceCompositingMode setting. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
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 | Annotate | Revision Log
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 1709 matching lines...) Expand 10 before | Expand all | Expand 10 after
1720 void WebViewImpl::layout() 1720 void WebViewImpl::layout()
1721 { 1721 {
1722 TRACE_EVENT0("webkit", "WebViewImpl::layout"); 1722 TRACE_EVENT0("webkit", "WebViewImpl::layout");
1723 PageWidgetDelegate::layout(m_page.get()); 1723 PageWidgetDelegate::layout(m_page.get());
1724 updateLayerTreeBackgroundColor(); 1724 updateLayerTreeBackgroundColor();
1725 1725
1726 for (size_t i = 0; i < m_linkHighlights.size(); ++i) 1726 for (size_t i = 0; i < m_linkHighlights.size(); ++i)
1727 m_linkHighlights[i]->updateGeometry(); 1727 m_linkHighlights[i]->updateGeometry();
1728 } 1728 }
1729 1729
1730 void WebViewImpl::enterForceCompositingMode(bool enter)
1731 {
1732 if (page()->settings().forceCompositingMode() == enter)
1733 return;
1734
1735 TRACE_EVENT1("webkit", "WebViewImpl::enterForceCompositingMode", "enter", en ter);
1736 settingsImpl()->setForceCompositingMode(enter);
1737 if (enter) {
1738 if (!m_page)
1739 return;
1740 LocalFrame* mainFrame = m_page->mainFrame();
1741 if (!mainFrame)
1742 return;
1743 mainFrame->view()->updateCompositingLayersAfterStyleChange();
1744 }
1745 }
1746
1747 void WebViewImpl::paint(WebCanvas* canvas, const WebRect& rect) 1730 void WebViewImpl::paint(WebCanvas* canvas, const WebRect& rect)
1748 { 1731 {
1749 // This should only be used when compositing is not being used for this 1732 // This should only be used when compositing is not being used for this
1750 // WebView, and it is painting into the recording of its parent. 1733 // WebView, and it is painting into the recording of its parent.
1751 ASSERT(!isAcceleratedCompositingActive()); 1734 ASSERT(!isAcceleratedCompositingActive());
1752 1735
1753 double paintStart = currentTime(); 1736 double paintStart = currentTime();
1754 PageWidgetDelegate::paint(m_page.get(), pageOverlays(), canvas, rect, isTran sparent() ? PageWidgetDelegate::Translucent : PageWidgetDelegate::Opaque); 1737 PageWidgetDelegate::paint(m_page.get(), pageOverlays(), canvas, rect, isTran sparent() ? PageWidgetDelegate::Translucent : PageWidgetDelegate::Opaque);
1755 double paintEnd = currentTime(); 1738 double paintEnd = currentTime();
1756 double pixelsPerSec = (rect.width * rect.height) / (paintEnd - paintStart); 1739 double pixelsPerSec = (rect.width * rect.height) / (paintEnd - paintStart);
(...skipping 1832 matching lines...) Expand 10 before | Expand all | Expand 10 after
3589 m_client->didUpdateLayout(); 3572 m_client->didUpdateLayout();
3590 } 3573 }
3591 3574
3592 void WebViewImpl::didChangeContentsSize() 3575 void WebViewImpl::didChangeContentsSize()
3593 { 3576 {
3594 m_pageScaleConstraintsSet.didChangeContentsSize(contentsSize(), pageScaleFac tor()); 3577 m_pageScaleConstraintsSet.didChangeContentsSize(contentsSize(), pageScaleFac tor());
3595 } 3578 }
3596 3579
3597 void WebViewImpl::deviceOrPageScaleFactorChanged() 3580 void WebViewImpl::deviceOrPageScaleFactorChanged()
3598 { 3581 {
3599 if (pageScaleFactor() && pageScaleFactor() != 1)
3600 enterForceCompositingMode(true);
3601 m_pageScaleConstraintsSet.setNeedsReset(false); 3582 m_pageScaleConstraintsSet.setNeedsReset(false);
3602 updateLayerTreeViewport(); 3583 updateLayerTreeViewport();
3603 } 3584 }
3604 3585
3605 bool WebViewImpl::useExternalPopupMenus() 3586 bool WebViewImpl::useExternalPopupMenus()
3606 { 3587 {
3607 return shouldUseExternalPopupMenus; 3588 return shouldUseExternalPopupMenus;
3608 } 3589 }
3609 3590
3610 void WebViewImpl::startDragging(LocalFrame* frame, 3591 void WebViewImpl::startDragging(LocalFrame* frame,
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
3813 blink::Platform::current()->histogramEnumeration("GPU.setIsAcceleratedCompos itingActive", active * 2 + m_isAcceleratedCompositingActive, 4); 3794 blink::Platform::current()->histogramEnumeration("GPU.setIsAcceleratedCompos itingActive", active * 2 + m_isAcceleratedCompositingActive, 4);
3814 3795
3815 if (m_isAcceleratedCompositingActive == active) 3796 if (m_isAcceleratedCompositingActive == active)
3816 return; 3797 return;
3817 3798
3818 if (!m_client) 3799 if (!m_client)
3819 return; 3800 return;
3820 3801
3821 if (!active) { 3802 if (!active) {
3822 m_isAcceleratedCompositingActive = false; 3803 m_isAcceleratedCompositingActive = false;
3823 // We need to finish all GL rendering before sending didDeactivateCompos itor() to prevent
3824 // flickering when compositing turns off. This is only necessary if we'r e not in
3825 // force-compositing-mode.
3826 if (m_layerTreeView && !page()->settings().forceCompositingMode())
3827 m_layerTreeView->finishAllRendering();
3828 m_client->didDeactivateCompositor(); 3804 m_client->didDeactivateCompositor();
3829 if (!m_layerTreeViewCommitsDeferred 3805 if (!m_layerTreeViewCommitsDeferred
3830 && blink::Platform::current()->isThreadedCompositingEnabled()) { 3806 && blink::Platform::current()->isThreadedCompositingEnabled()) {
3831 ASSERT(m_layerTreeView); 3807 ASSERT(m_layerTreeView);
3832 // In threaded compositing mode, force compositing mode is always on so setIsAcceleratedCompositingActive(false) 3808 // In threaded compositing mode, force compositing mode is always on so setIsAcceleratedCompositingActive(false)
3833 // means that we're transitioning to a new page. Suppress commits un til WebKit generates invalidations so 3809 // means that we're transitioning to a new page. Suppress commits un til WebKit generates invalidations so
3834 // we don't attempt to paint too early in the next page load. 3810 // we don't attempt to paint too early in the next page load.
3835 m_layerTreeView->setDeferCommits(true); 3811 m_layerTreeView->setDeferCommits(true);
3836 m_layerTreeViewCommitsDeferred = true; 3812 m_layerTreeViewCommitsDeferred = true;
3837 } 3813 }
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
4075 const PageScaleConstraints& constraints = m_pageScaleConstraintsSet.pageDefi nedConstraints(); 4051 const PageScaleConstraints& constraints = m_pageScaleConstraintsSet.pageDefi nedConstraints();
4076 4052
4077 if (!mainFrameImpl() || !mainFrameImpl()->frameView()) 4053 if (!mainFrameImpl() || !mainFrameImpl()->frameView())
4078 return false; 4054 return false;
4079 4055
4080 return mainFrameImpl()->frameView()->layoutSize().width() == m_size.width 4056 return mainFrameImpl()->frameView()->layoutSize().width() == m_size.width
4081 || (constraints.minimumScale == constraints.maximumScale && constraints. minimumScale != -1); 4057 || (constraints.minimumScale == constraints.maximumScale && constraints. minimumScale != -1);
4082 } 4058 }
4083 4059
4084 } // namespace blink 4060 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698