[chromium] Provide compositor offscreen context through the WebLayerTreeViewClient interface
https://bugs.webkit.org/show_bug.cgi?id=107776

Source/Platform:

Make "createGrGLInterface" the preferred virtual method for
WebGraphicsContext3D implementations to override. For now it
just calls the old method in its default implementation.

Reviewed by James Robinson.

* chromium/public/WebGraphicsContext3D.h:
(WebGraphicsContext3D):
(WebKit::WebGraphicsContext3D::createGrGLInterface):

Source/WebCore:

Reviewed by James Robinson.

Allow the compositor thread's context to be retrieved on either thread,
so the main thread can create and pass the context to the impl thread
via its own mechanisms.

Move the code to bind the GrGLInterface to a WebGraphicsContext3D into
chromium's GraphicsContext3DPrivate. The chromium-side code will need
to implement this code itself.

* platform/chromium/support/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
(WebCore):
(WebCore::GraphicsContext3DPrivate::grContext):
* platform/chromium/support/GraphicsContext3DPrivate.h:
* platform/graphics/gpu/SharedGraphicsContext3D.cpp:
(WebCore::SharedGraphicsContext3D::getForImplThread):

Source/WebKit/chromium:

Reviewed by James Robinson.

* WebKit.gyp:
* src/WebGraphicsContext3D.cpp: Removed.


git-svn-id: https://svn.webkit.org/repository/webkit/trunk/Source/Platform/chromium/public@141943 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 file changed
tree: 0df71a39f5f49b70cff30322fb381b73f648de94
  1. android/
  2. default/
  3. linux/
  4. mac/
  5. win/
  6. Platform.h
  7. WebAnimation.h
  8. WebAnimationCurve.h
  9. WebAnimationDelegate.h
  10. WebAudioBus.h
  11. WebAudioDestinationConsumer.h
  12. WebAudioDevice.h
  13. WebBlobData.h
  14. WebBlobRegistry.h
  15. WebCanvas.h
  16. WebClipboard.h
  17. WebColor.h
  18. WebCommon.h
  19. WebCompositorOutputSurface.h
  20. WebCompositorSupport.h
  21. WebContentLayer.h
  22. WebContentLayerClient.h
  23. WebCookie.h
  24. WebCookieJar.h
  25. WebCString.h
  26. WebData.h
  27. WebDiscardableMemory.h
  28. WebDragData.h
  29. WebExternalTextureLayer.h
  30. WebExternalTextureLayerClient.h
  31. WebFileInfo.h
  32. WebFileSystem.h
  33. WebFileUtilities.h
  34. WebFilterOperation.h
  35. WebFilterOperations.h
  36. WebFlingAnimator.h
  37. WebFloatAnimationCurve.h
  38. WebFloatKeyframe.h
  39. WebFloatPoint.h
  40. WebFloatQuad.h
  41. WebFloatRect.h
  42. WebGamepad.h
  43. WebGamepads.h
  44. WebGestureCurve.h
  45. WebGestureCurveTarget.h
  46. WebGraphicsContext3D.h
  47. WebGraphicsMemoryAllocation.h
  48. WebGraphicsMemoryStats.h
  49. WebHTTPBody.h
  50. WebHTTPHeaderVisitor.h
  51. WebHTTPLoadInfo.h
  52. WebImage.h
  53. WebImageLayer.h
  54. WebInputHandler.h
  55. WebInputHandlerClient.h
  56. WebIOSurfaceLayer.h
  57. WebLayer.h
  58. WebLayerScrollClient.h
  59. WebLayerTreeView.h
  60. WebLayerTreeViewClient.h
  61. WebLocalizedString.h
  62. WebMediaConstraints.h
  63. WebMediaStream.h
  64. WebMediaStreamCenter.h
  65. WebMediaStreamCenterClient.h
  66. WebMediaStreamComponent.h
  67. WebMediaStreamDescriptor.h
  68. WebMediaStreamSource.h
  69. WebMediaStreamSourcesRequest.h
  70. WebMediaStreamTrack.h
  71. WebMessagePortChannel.h
  72. WebMessagePortChannelClient.h
  73. WebMimeRegistry.h
  74. WebNonCopyable.h
  75. WebPluginListBuilder.h
  76. WebPoint.h
  77. WebPrerender.h
  78. WebPrerenderingSupport.h
  79. WebPrivateOwnPtr.h
  80. WebPrivatePtr.h
  81. WebRect.h
  82. WebReferrerPolicy.h
  83. WebRenderingStats.h
  84. WebRTCConfiguration.h
  85. WebRTCDataChannelHandler.h
  86. WebRTCDataChannelHandlerClient.h
  87. WebRTCICECandidate.h
  88. WebRTCPeerConnectionHandler.h
  89. WebRTCPeerConnectionHandlerClient.h
  90. WebRTCSessionDescription.h
  91. WebRTCSessionDescriptionRequest.h
  92. WebRTCStatsRequest.h
  93. WebRTCStatsResponse.h
  94. WebRTCVoidRequest.h
  95. WebScreenInfo.h
  96. WebScrollbar.h
  97. WebScrollbarLayer.h
  98. WebScrollbarThemeGeometry.h
  99. WebScrollbarThemePainter.h
  100. WebSharedGraphicsContext3D.h
  101. WebSize.h
  102. WebSocketStreamError.h
  103. WebSocketStreamHandle.h
  104. WebSocketStreamHandleClient.h
  105. WebSolidColorLayer.h
  106. WebStorageArea.h
  107. WebStorageNamespace.h
  108. WebString.h
  109. WebThread.h
  110. WebThreadSafeData.h
  111. WebTransformAnimationCurve.h
  112. WebTransformationMatrix.h
  113. WebTransformKeyframe.h
  114. WebTransformOperations.h
  115. WebURL.h
  116. WebURLError.h
  117. WebURLLoader.h
  118. WebURLLoaderClient.h
  119. WebURLLoadTiming.h
  120. WebURLRequest.h
  121. WebURLResponse.h
  122. WebVector.h
  123. WebVideoFrame.h
  124. WebVideoFrameProvider.h
  125. WebVideoLayer.h
  126. WebWorkerRunLoop.h