Changeset 189974 in webkit
- Timestamp:
- Sep 18, 2015 11:23:29 AM (9 years ago)
- Location:
- trunk/Source
- Files:
-
- 8 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r189971 r189974 1 2015-09-18 Brent Fulgham <bfulgham@apple.com> 2 3 [Win] Use tiled drawing for main background layer 4 https://bugs.webkit.org/show_bug.cgi?id=149347 5 <rdar://problem/22759632> 6 7 Reviewed by Alex Christensen. 8 9 Turn on tiled drawing for the root layer when using 10 accelerated compositing on Windows. 11 12 * page/Frame.h: Export the 'isMainFrame' method so that 13 it can be used by WebKit.dll. 14 * platform/graphics/ca/GraphicsLayerCA.cpp: 15 (WebCore::GraphicsLayerCA::getDebugBorderInfo): Use a full 16 pixel width on Windows, since it doesn't support High DPI (yet). 17 * platform/graphics/ca/win/PlatformCALayerWin.cpp: 18 (PlatformCALayerWin::create): Use nullptr. 19 (toCACFFilterType): Ditto. 20 (layerTreeHostForLayer): Ditto. 21 (PlatformCALayer::platformCALayer): Ditto. 22 (PlatformCALayerWin::PlatformCALayerWin): Use the correct contents scaling 23 factor for new layers. 24 (PlatformCALayerWin::animationForKey): Use nullptr. 25 * platform/graphics/ca/win/WebTiledBackingLayerWin.cpp: 26 (WebTiledBackingLayerWin::displayCallback): Update assertion to 27 recognize LayerTypePageTiledBackingLayer as a valid layer to be used 28 in this display routine. 29 1 30 2015-09-18 Chris Dumez <cdumez@apple.com> 2 31 -
trunk/Source/WebCore/page/Frame.h
r186684 r189974 139 139 140 140 MainFrame& mainFrame() const; 141 bool isMainFrame() const;141 WEBCORE_EXPORT bool isMainFrame() const; 142 142 143 143 Page* page() const; -
trunk/Source/WebCore/platform/graphics/ca/GraphicsLayerCA.cpp
r188647 r189974 3249 3249 if (isPageTiledBackingLayer()) { 3250 3250 color = Color(0, 0, 128, 128); // tile cache layer: dark blue 3251 #if OS(WINDOWS) 3252 width = 1.0; 3253 #else 3251 3254 width = 0.5; 3255 #endif 3252 3256 return; 3253 3257 } -
trunk/Source/WebCore/platform/graphics/ca/win/PlatformCALayerWin.cpp
r189833 r189974 30 30 #include "AbstractCACFLayerTreeHost.h" 31 31 #include "FontCascade.h" 32 #include "GDIUtilities.h" 32 33 #include "GraphicsContext.h" 33 34 #include "PlatformCAAnimationWin.h" … … 47 48 PassRefPtr<PlatformCALayer> PlatformCALayerWin::create(LayerType layerType, PlatformCALayerClient* owner) 48 49 { 49 return adoptRef(new PlatformCALayerWin(layerType, 0, owner));50 return adoptRef(new PlatformCALayerWin(layerType, nullptr, owner)); 50 51 } 51 52 … … 66 67 case PlatformCALayer::Nearest: return kCACFFilterNearest; 67 68 case PlatformCALayer::Trilinear: return kCACFFilterTrilinear; 68 default: return 0;69 default: return nullptr; 69 70 } 70 71 } … … 75 76 void* userData = wkCACFLayerGetContextUserData(layer->platformLayer()); 76 77 if (!userData) 77 return 0;78 return nullptr; 78 79 79 80 return static_cast<AbstractCACFLayerTreeHost*>(userData); … … 93 94 { 94 95 if (!platformLayer) 95 return 0;96 return nullptr; 96 97 97 98 PlatformCALayerWinInternal* layerIntern = intern(platformLayer); 98 return layerIntern ? layerIntern->owner() : 0;99 return layerIntern ? layerIntern->owner() : nullptr; 99 100 } 100 101 … … 142 143 143 144 #if HAVE(CACFLAYER_SETCONTENTSSCALE) 144 CACFLayerSetContentsScale(m_layer.get(), owner ? owner->platformCALayerDeviceScaleFactor() : 1.0f);145 CACFLayerSetContentsScale(m_layer.get(), owner ? owner->platformCALayerDeviceScaleFactor() : deviceScaleFactorForWindow(nullptr)); 145 146 #endif 146 147 … … 355 356 HashMap<String, RefPtr<PlatformCAAnimation> >::iterator it = m_animations.find(key); 356 357 if (it == m_animations.end()) 357 return 0;358 return nullptr; 358 359 359 360 return it->value; -
trunk/Source/WebCore/platform/graphics/ca/win/WebTiledBackingLayerWin.cpp
r189821 r189974 83 83 CGRect layerBounds = owner()->bounds(); 84 84 PlatformCALayer::LayerType layerType = owner()->layerType(); 85 ASSERT(layerType == PlatformCALayer::LayerTypeTiledBackingLayer );85 ASSERT(layerType == PlatformCALayer::LayerTypeTiledBackingLayer || layerType == PlatformCALayer::LayerTypePageTiledBackingLayer); 86 86 87 87 PlatformCALayerClient* client = owner()->owner(); -
trunk/Source/WebKit/win/ChangeLog
r189970 r189974 1 2015-09-18 Brent Fulgham <bfulgham@apple.com> 2 3 [Win] Use tiled drawing for main background layer 4 https://bugs.webkit.org/show_bug.cgi?id=149347 5 <rdar://problem/22759632> 6 7 Reviewed by Alex Christensen. 8 9 Instruct WebCore to use tiled drawing for the root layer 10 of the display. 11 12 * WebCoreSupport/WebChromeClient.cpp: 13 (WebChromeClient::shouldUseTiledBackingForFrameView): Added. 14 * WebCoreSupport/WebChromeClient.h: 15 1 16 2015-09-17 Brian Burg <bburg@apple.com> 2 17 -
trunk/Source/WebKit/win/WebCoreSupport/WebChromeClient.cpp
r188386 r189974 1 1 /* 2 * Copyright (C) 2006 , 2007, 2008, 2013Apple Inc. All rights reserved.2 * Copyright (C) 2006-2008, 2013, 2015 Apple Inc. All rights reserved. 3 3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 4 * … … 851 851 delegate->fireFrameLoadFinishedEvents(); 852 852 } 853 854 bool WebChromeClient::shouldUseTiledBackingForFrameView(const FrameView* frameView) const 855 { 856 return frameView && frameView->frame().isMainFrame(); 857 } -
trunk/Source/WebKit/win/WebCoreSupport/WebChromeClient.h
r187132 r189974 1 1 /* 2 * Copyright (C) 2006 , 2007, 2008, 2009Apple Inc. All rights reserved.2 * Copyright (C) 2006-2009, 2015 Apple Inc. All rights reserved. 3 3 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies). 4 4 * … … 172 172 virtual void AXFinishFrameLoad(); 173 173 174 bool shouldUseTiledBackingForFrameView(const WebCore::FrameView*) const override; 175 174 176 private: 175 177 COMPtr<IWebUIDelegate> uiDelegate();
Note: See TracChangeset
for help on using the changeset viewer.