Changeset 163646 in webkit
- Timestamp:
- Feb 7, 2014 2:12:03 PM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r163645 r163646 1 2014-02-07 Dean Jackson <dino@apple.com> 2 3 WebGL doesn't update with remotely hosted layers 4 https://bugs.webkit.org/show_bug.cgi?id=128390 5 6 Reviewed by Simon Fraser. 7 8 PlatformCALayerRemote was intercepting the setNeedsDisplay calls to 9 WebGL layers, and thus causing them to not draw. Fix this by adding an 10 override in PlatformCALayerRemoteCustom to check if it is a WebGLLayer 11 and call setNeedsDisplay directly. 12 13 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h: 14 * WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm: 15 (PlatformCALayerRemoteCustom::PlatformCALayerRemoteCustom): 16 (PlatformCALayerRemoteCustom::setNeedsDisplay): 17 1 18 2014-02-07 Benjamin Poulain <bpoulain@apple.com> 2 19 -
trunk/Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.h
r163079 r163646 42 42 virtual uint32_t hostingContextID() override; 43 43 44 virtual void setNeedsDisplay(const WebCore::FloatRect* dirtyRect = 0) override; 45 44 46 private: 45 47 PlatformCALayerRemoteCustom(PlatformLayer*, WebCore::PlatformCALayerClient* owner, RemoteLayerTreeContext*); … … 47 49 std::unique_ptr<LayerHostingContext> m_layerHostingContext; 48 50 RetainPtr<PlatformLayer> m_platformLayer; 51 bool m_providesContents; 49 52 }; 50 53 -
trunk/Source/WebKit2/WebProcess/WebPage/mac/PlatformCALayerRemoteCustom.mm
r163218 r163646 58 58 m_platformLayer = customLayer; 59 59 [customLayer web_disableAllActions]; 60 61 m_providesContents = [customLayer isKindOfClass:NSClassFromString(@"WebGLLayer")]; 60 62 } 61 63 … … 68 70 return m_layerHostingContext->contextID(); 69 71 } 72 73 void PlatformCALayerRemoteCustom::setNeedsDisplay(const FloatRect* rect) 74 { 75 if (m_providesContents) { 76 if (rect) 77 [m_platformLayer setNeedsDisplayInRect:*rect]; 78 else 79 [m_platformLayer setNeedsDisplay]; 80 } else 81 PlatformCALayerRemote::setNeedsDisplay(rect); 82 }
Note: See TracChangeset
for help on using the changeset viewer.