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

Side by Side Diff: Source/WebKit/chromium/src/WebViewImpl.cpp

Issue 10146014: Merge 113677 - [chromium] Viewport is not filled when out of texture memory on mac (Closed) Base URL: http://svn.webkit.org/repository/webkit/branches/chromium/1084/
Patch Set: Created 8 years, 8 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 20 matching lines...) Expand all
31 #include "config.h" 31 #include "config.h"
32 #include "WebViewImpl.h" 32 #include "WebViewImpl.h"
33 33
34 #include "AXObjectCache.h" 34 #include "AXObjectCache.h"
35 #include "ActivePlatformGestureAnimation.h" 35 #include "ActivePlatformGestureAnimation.h"
36 #include "AutofillPopupMenuClient.h" 36 #include "AutofillPopupMenuClient.h"
37 #include "BackForwardListChromium.h" 37 #include "BackForwardListChromium.h"
38 #include "CSSStyleSelector.h" 38 #include "CSSStyleSelector.h"
39 #include "CSSValueKeywords.h" 39 #include "CSSValueKeywords.h"
40 #include "Chrome.h" 40 #include "Chrome.h"
41 #include "Color.h"
41 #include "ColorSpace.h" 42 #include "ColorSpace.h"
42 #include "CompositionUnderlineVectorBuilder.h" 43 #include "CompositionUnderlineVectorBuilder.h"
43 #include "ContextMenu.h" 44 #include "ContextMenu.h"
44 #include "ContextMenuController.h" 45 #include "ContextMenuController.h"
45 #include "ContextMenuItem.h" 46 #include "ContextMenuItem.h"
46 #include "Cursor.h" 47 #include "Cursor.h"
47 #include "DOMUtilitiesPrivate.h" 48 #include "DOMUtilitiesPrivate.h"
48 #include "DeviceOrientationClientProxy.h" 49 #include "DeviceOrientationClientProxy.h"
49 #include "Document.h" 50 #include "Document.h"
50 #include "DocumentLoader.h" 51 #include "DocumentLoader.h"
(...skipping 3155 matching lines...) Expand 10 before | Expand all | Expand 10 after
3206 IntRect dirtyRect = view->windowToContents(rect); 3207 IntRect dirtyRect = view->windowToContents(rect);
3207 updateLayerTreeViewport(); 3208 updateLayerTreeViewport();
3208 m_nonCompositedContentHost->invalidateRect(dirtyRect); 3209 m_nonCompositedContentHost->invalidateRect(dirtyRect);
3209 } 3210 }
3210 3211
3211 NonCompositedContentHost* WebViewImpl::nonCompositedContentHost() 3212 NonCompositedContentHost* WebViewImpl::nonCompositedContentHost()
3212 { 3213 {
3213 return m_nonCompositedContentHost.get(); 3214 return m_nonCompositedContentHost.get();
3214 } 3215 }
3215 3216
3217 void WebViewImpl::setBackgroundColor(const WebCore::Color& color)
3218 {
3219 WebCore::Color documentBackgroundColor = color.isValid() ? color : WebCore:: Color::white;
3220 WebColor webDocumentBackgroundColor = documentBackgroundColor.rgb();
3221 m_nonCompositedContentHost->setBackgroundColor(documentBackgroundColor);
3222 m_layerTreeView.setBackgroundColor(webDocumentBackgroundColor);
3223 }
3224
3216 #if ENABLE(REQUEST_ANIMATION_FRAME) 3225 #if ENABLE(REQUEST_ANIMATION_FRAME)
3217 void WebViewImpl::scheduleAnimation() 3226 void WebViewImpl::scheduleAnimation()
3218 { 3227 {
3219 if (isAcceleratedCompositingActive()) { 3228 if (isAcceleratedCompositingActive()) {
3220 if (CCProxy::hasImplThread()) { 3229 if (CCProxy::hasImplThread()) {
3221 ASSERT(!m_layerTreeView.isNull()); 3230 ASSERT(!m_layerTreeView.isNull());
3222 m_layerTreeView.setNeedsAnimate(); 3231 m_layerTreeView.setNeedsAnimate();
3223 } else 3232 } else
3224 m_client->scheduleAnimation(); 3233 m_client->scheduleAnimation();
3225 } else 3234 } else
(...skipping 15 matching lines...) Expand all
3241 Page* page = m_webViewImpl->page(); 3250 Page* page = m_webViewImpl->page();
3242 if (!page) 3251 if (!page)
3243 return; 3252 return;
3244 FrameView* view = page->mainFrame()->view(); 3253 FrameView* view = page->mainFrame()->view();
3245 view->paintContents(&context, contentRect); 3254 view->paintContents(&context, contentRect);
3246 double paintEnd = currentTime(); 3255 double paintEnd = currentTime();
3247 double pixelsPerSec = (contentRect.width() * contentRect.height()) / (pa intEnd - paintStart); 3256 double pixelsPerSec = (contentRect.width() * contentRect.height()) / (pa intEnd - paintStart);
3248 PlatformSupport::histogramCustomCounts("Renderer4.AccelRootPaintDuration MS", (paintEnd - paintStart) * 1000, 0, 120, 30); 3257 PlatformSupport::histogramCustomCounts("Renderer4.AccelRootPaintDuration MS", (paintEnd - paintStart) * 1000, 0, 120, 30);
3249 PlatformSupport::histogramCustomCounts("Renderer4.AccelRootPaintMegapixP erSecond", pixelsPerSec / 1000000, 10, 210, 30); 3258 PlatformSupport::histogramCustomCounts("Renderer4.AccelRootPaintMegapixP erSecond", pixelsPerSec / 1000000, 10, 210, 30);
3250 3259
3251 m_webViewImpl->nonCompositedContentHost()->setBackgroundColor(view->docu mentBackgroundColor()); 3260 m_webViewImpl->setBackgroundColor(view->documentBackgroundColor());
3252
3253 } 3261 }
3254 3262
3255 private: 3263 private:
3256 explicit WebViewImplContentPainter(WebViewImpl* webViewImpl) 3264 explicit WebViewImplContentPainter(WebViewImpl* webViewImpl)
3257 : m_webViewImpl(webViewImpl) 3265 : m_webViewImpl(webViewImpl)
3258 { 3266 {
3259 } 3267 }
3260 3268
3261 WebViewImpl* m_webViewImpl; 3269 WebViewImpl* m_webViewImpl;
3262 }; 3270 };
(...skipping 26 matching lines...) Expand all
3289 layerTreeViewSettings.showFPSCounter = settings()->showFPSCounter(); 3297 layerTreeViewSettings.showFPSCounter = settings()->showFPSCounter();
3290 layerTreeViewSettings.showPlatformLayerTree = settings()->showPlatformLa yerTree(); 3298 layerTreeViewSettings.showPlatformLayerTree = settings()->showPlatformLa yerTree();
3291 3299
3292 layerTreeViewSettings.perTilePainting = page()->settings()->perTileDrawi ngEnabled(); 3300 layerTreeViewSettings.perTilePainting = page()->settings()->perTileDrawi ngEnabled();
3293 layerTreeViewSettings.partialSwapEnabled = page()->settings()->partialSw apEnabled(); 3301 layerTreeViewSettings.partialSwapEnabled = page()->settings()->partialSw apEnabled();
3294 layerTreeViewSettings.threadedAnimationEnabled = page()->settings()->thr eadedAnimationEnabled(); 3302 layerTreeViewSettings.threadedAnimationEnabled = page()->settings()->thr eadedAnimationEnabled();
3295 3303
3296 m_nonCompositedContentHost = NonCompositedContentHost::create(WebViewImp lContentPainter::create(this)); 3304 m_nonCompositedContentHost = NonCompositedContentHost::create(WebViewImp lContentPainter::create(this));
3297 m_nonCompositedContentHost->setShowDebugBorders(page()->settings()->show DebugBorders()); 3305 m_nonCompositedContentHost->setShowDebugBorders(page()->settings()->show DebugBorders());
3298 3306
3299 if (page() && page()->mainFrame()->view())
3300 m_nonCompositedContentHost->setBackgroundColor(page()->mainFrame()-> view()->documentBackgroundColor());
3301
3302 m_layerTreeView.initialize(this, m_rootLayer, layerTreeViewSettings); 3307 m_layerTreeView.initialize(this, m_rootLayer, layerTreeViewSettings);
3303 if (!m_layerTreeView.isNull()) { 3308 if (!m_layerTreeView.isNull()) {
3304 m_layerTreeView.setPageScaleFactorAndLimits(pageScaleFactor(), m_min imumPageScaleFactor, m_maximumPageScaleFactor); 3309 m_layerTreeView.setPageScaleFactorAndLimits(pageScaleFactor(), m_min imumPageScaleFactor, m_maximumPageScaleFactor);
3305 updateLayerTreeViewport(); 3310 updateLayerTreeViewport();
3306 m_client->didActivateCompositor(m_layerTreeView.compositorIdentifier ()); 3311 m_client->didActivateCompositor(m_layerTreeView.compositorIdentifier ());
3307 m_isAcceleratedCompositingActive = true; 3312 m_isAcceleratedCompositingActive = true;
3308 m_compositorCreationFailed = false; 3313 m_compositorCreationFailed = false;
3309 if (m_pageOverlays) 3314 if (m_pageOverlays)
3310 m_pageOverlays->update(); 3315 m_pageOverlays->update();
3311 } else { 3316 } else {
(...skipping 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
3536 const WebMouseEvent& mouseEvent = static_cast<const WebMouseEvent&>(event); 3541 const WebMouseEvent& mouseEvent = static_cast<const WebMouseEvent&>(event);
3537 3542
3538 if (page()) 3543 if (page())
3539 page()->pointerLockController()->dispatchLockedMouseEvent( 3544 page()->pointerLockController()->dispatchLockedMouseEvent(
3540 PlatformMouseEventBuilder(mainFrameImpl()->frameView(), mouseEvent), 3545 PlatformMouseEventBuilder(mainFrameImpl()->frameView(), mouseEvent),
3541 eventType); 3546 eventType);
3542 } 3547 }
3543 #endif 3548 #endif
3544 3549
3545 } // namespace WebKit 3550 } // namespace WebKit
OLDNEW
« no previous file with comments | « Source/WebKit/chromium/src/WebViewImpl.h ('k') | Source/WebKit/chromium/tests/CCLayerImplTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698