Title: [290642] trunk/Source
Revision
290642
Author
[email protected]
Date
2022-03-01 06:23:28 -0800 (Tue, 01 Mar 2022)

Log Message

GraphicsContextGL related includes are inconsistent, slowing the build
https://bugs.webkit.org/show_bug.cgi?id=237270

Patch by Kimmo Kinnunen <[email protected]> on 2022-03-01
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Remove include "GraphicsContextGL.h" from files not needing that.
Most notably, add ChromeClient.cpp and move the non-trivial
ChromeClient::createGraphicsContextGL() function to .cpp file, so
that ChromeClient.h does not need to include GraphicsContextGL.h.

This makes incremental compiles better, as not all changes to
GraphicsContextGL.h and its dependencies force big rebuilds.

GraphicsContextGL.h and dependents maintainance:

Remove unneeded forward declarations. Types referenced by overridden virtual
functions must already be declared. Remove forward declarartion ExtensionsGL,
the class was removed

Use forward declares instead of includes (MediaPlayer).

Remove RemoteGraphicsContextGLProxyBase.cpp/h, the use was removed.

* Sources.txt:
* WebCore.xcodeproj/project.pbxproj:
* html/canvas/WebGLActiveInfo.h:
* html/canvas/WebGLShaderPrecisionFormat.h:
* inspector/InspectorShaderProgram.cpp:
* page/ChromeClient.cpp: Renamed from Source/WebCore/platform/graphics/RemoteGraphicsContextGLProxyBase.cpp.
(WebCore::ChromeClient::createGraphicsContextGL const):
* page/ChromeClient.h:
* platform/HostWindow.h:
* platform/graphics/GraphicsContextGL.h:
* platform/graphics/GraphicsContextGLState.h:
* platform/graphics/RemoteGraphicsContextGLProxyBase.h: Removed.
* platform/graphics/angle/GraphicsContextGLANGLE.h:
* platform/graphics/cocoa/IOSurface.mm:
* platform/graphics/opengl/ExtensionsGLOpenGL.h:
* platform/xr/openxr/OpenXRSwapchain.h:
* platform/xr/openxr/PlatformXROpenXR.cpp:
* platform/xr/openxr/PlatformXROpenXR.h:

Source/WebKit:

* WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:

Modified Paths

Added Paths

Removed Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (290641 => 290642)


--- trunk/Source/WebCore/ChangeLog	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebCore/ChangeLog	2022-03-01 14:23:28 UTC (rev 290642)
@@ -1,3 +1,47 @@
+2022-03-01  Kimmo Kinnunen  <[email protected]>
+
+        GraphicsContextGL related includes are inconsistent, slowing the build
+        https://bugs.webkit.org/show_bug.cgi?id=237270
+
+        Reviewed by Alexey Proskuryakov.
+
+        Remove include "GraphicsContextGL.h" from files not needing that.
+        Most notably, add ChromeClient.cpp and move the non-trivial
+        ChromeClient::createGraphicsContextGL() function to .cpp file, so
+        that ChromeClient.h does not need to include GraphicsContextGL.h.
+
+        This makes incremental compiles better, as not all changes to
+        GraphicsContextGL.h and its dependencies force big rebuilds.
+
+        GraphicsContextGL.h and dependents maintainance:
+
+        Remove unneeded forward declarations. Types referenced by overridden virtual
+        functions must already be declared. Remove forward declarartion ExtensionsGL,
+        the class was removed
+
+        Use forward declares instead of includes (MediaPlayer).
+
+        Remove RemoteGraphicsContextGLProxyBase.cpp/h, the use was removed.
+
+        * Sources.txt:
+        * WebCore.xcodeproj/project.pbxproj:
+        * html/canvas/WebGLActiveInfo.h:
+        * html/canvas/WebGLShaderPrecisionFormat.h:
+        * inspector/InspectorShaderProgram.cpp:
+        * page/ChromeClient.cpp: Renamed from Source/WebCore/platform/graphics/RemoteGraphicsContextGLProxyBase.cpp.
+        (WebCore::ChromeClient::createGraphicsContextGL const):
+        * page/ChromeClient.h:
+        * platform/HostWindow.h:
+        * platform/graphics/GraphicsContextGL.h:
+        * platform/graphics/GraphicsContextGLState.h:
+        * platform/graphics/RemoteGraphicsContextGLProxyBase.h: Removed.
+        * platform/graphics/angle/GraphicsContextGLANGLE.h:
+        * platform/graphics/cocoa/IOSurface.mm:
+        * platform/graphics/opengl/ExtensionsGLOpenGL.h:
+        * platform/xr/openxr/OpenXRSwapchain.h:
+        * platform/xr/openxr/PlatformXROpenXR.cpp:
+        * platform/xr/openxr/PlatformXROpenXR.h:
+
 2022-03-01  Tim Nguyen  <[email protected]>
 
         Explicitly disable style sharing for form controls

Modified: trunk/Source/WebCore/Sources.txt (290641 => 290642)


--- trunk/Source/WebCore/Sources.txt	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebCore/Sources.txt	2022-03-01 14:23:28 UTC (rev 290642)
@@ -1717,6 +1717,7 @@
 page/Base64Utilities.cpp
 page/CaptionUserPreferences.cpp
 page/Chrome.cpp
+page/ChromeClient.cpp
 page/ContextMenuContext.cpp
 page/ContextMenuController.cpp
 page/Crypto.cpp

Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (290641 => 290642)


--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj	2022-03-01 14:23:28 UTC (rev 290642)
@@ -11555,6 +11555,7 @@
 		7B10339C2549720100C8C1AC /* GraphicsContextGLCVCocoa.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GraphicsContextGLCVCocoa.h; sourceTree = "<group>"; };
 		7B10339D2549720100C8C1AC /* GraphicsContextGLCV.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GraphicsContextGLCV.h; sourceTree = "<group>"; };
 		7B1619102719880E00C40EAC /* WebProcessGraphicsContextGLCocoa.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = WebProcessGraphicsContextGLCocoa.mm; sourceTree = "<group>"; };
+		7B2DDD5F27CCF3A70060ABAB /* ChromeClient.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = ChromeClient.cpp; sourceTree = "<group>"; };
 		7B5A3DAB27ABF8C4006C6F97 /* VideoFrame.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = VideoFrame.cpp; sourceTree = "<group>"; };
 		7B5A3DAD27ABF8C4006C6F97 /* VideoFrame.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VideoFrame.h; sourceTree = "<group>"; };
 		7B6DC81525712E9100380C70 /* GraphicsContextGLIOSurfaceSwapChain.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = GraphicsContextGLIOSurfaceSwapChain.cpp; sourceTree = "<group>"; };
@@ -24109,6 +24110,7 @@
 				079D0869162F21F900DB8658 /* CaptionUserPreferencesMediaAF.h */,
 				14D8238A0AF92DF60004F057 /* Chrome.cpp */,
 				14D823500AF92A790004F057 /* Chrome.h */,
+				7B2DDD5F27CCF3A70060ABAB /* ChromeClient.cpp */,
 				14D824060AF93AEB0004F057 /* ChromeClient.h */,
 				4107908A1FC3E4F20061B27A /* ClientOrigin.h */,
 				065AD4F20B0C2EDA005A2B1D /* ContextMenuClient.h */,

Modified: trunk/Source/WebCore/html/canvas/WebGLActiveInfo.h (290641 => 290642)


--- trunk/Source/WebCore/html/canvas/WebGLActiveInfo.h	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebCore/html/canvas/WebGLActiveInfo.h	2022-03-01 14:23:28 UTC (rev 290642)
@@ -27,7 +27,7 @@
 
 #if ENABLE(WEBGL)
 
-#include "GraphicsContextGL.h"
+#include "GraphicsTypesGL.h"
 #include <wtf/RefCounted.h>
 #include <wtf/text/WTFString.h>
 

Modified: trunk/Source/WebCore/html/canvas/WebGLShaderPrecisionFormat.h (290641 => 290642)


--- trunk/Source/WebCore/html/canvas/WebGLShaderPrecisionFormat.h	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebCore/html/canvas/WebGLShaderPrecisionFormat.h	2022-03-01 14:23:28 UTC (rev 290642)
@@ -28,7 +28,7 @@
 
 #if ENABLE(WEBGL)
 
-#include "GraphicsContextGL.h"
+#include "GraphicsTypesGL.h"
 #include <wtf/RefCounted.h>
 
 namespace WebCore {

Modified: trunk/Source/WebCore/inspector/InspectorShaderProgram.cpp (290641 => 290642)


--- trunk/Source/WebCore/inspector/InspectorShaderProgram.cpp	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebCore/inspector/InspectorShaderProgram.cpp	2022-03-01 14:23:28 UTC (rev 290642)
@@ -35,7 +35,6 @@
 #include <wtf/text/WTFString.h>
 
 #if ENABLE(WEBGL)
-#include "GraphicsContextGL.h"
 #include "WebGLProgram.h"
 #include "WebGLRenderingContextBase.h"
 #include "WebGLSampler.h"

Copied: trunk/Source/WebCore/page/ChromeClient.cpp (from rev 290641, trunk/Source/WebCore/platform/graphics/RemoteGraphicsContextGLProxyBase.cpp) (0 => 290642)


--- trunk/Source/WebCore/page/ChromeClient.cpp	                        (rev 0)
+++ trunk/Source/WebCore/page/ChromeClient.cpp	2022-03-01 14:23:28 UTC (rev 290642)
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2022 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
+ * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+ * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+ * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+ * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
+ * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+#include "ChromeClient.h"
+
+#if ENABLE(WEBGL)
+#include "GraphicsContextGL.h"
+#endif
+
+namespace WebCore {
+
+ChromeClient::ChromeClient() = default;
+
+ChromeClient::~ChromeClient() = default;
+
+#if ENABLE(WEBGL)
+RefPtr<GraphicsContextGL> ChromeClient::createGraphicsContextGL(const GraphicsContextGLAttributes& attributes, WebCore::PlatformDisplayID) const
+{
+    return createWebProcessGraphicsContextGL(attributes);
+}
+#endif
+
+}

Modified: trunk/Source/WebCore/page/ChromeClient.h (290641 => 290642)


--- trunk/Source/WebCore/page/ChromeClient.h	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebCore/page/ChromeClient.h	2022-03-01 14:23:28 UTC (rev 290642)
@@ -87,10 +87,6 @@
 #include "PlatformXR.h"
 #endif
 
-#if ENABLE(WEBGL)
-#include "GraphicsContextGL.h"
-#endif
-
 OBJC_CLASS NSResponder;
 
 namespace WebCore {
@@ -128,6 +124,11 @@
 class MediaPlayerRequestInstallMissingPluginsCallback;
 #endif
 
+#if ENABLE(WEBGL)
+class GraphicsContextGL;
+struct GraphicsContextGLAttributes;
+#endif
+
 struct AppHighlight;
 struct ApplePayAMSUIRequest;
 struct ContactsRequestData;
@@ -362,7 +363,7 @@
     virtual RefPtr<ImageBuffer> createImageBuffer(const FloatSize&, RenderingMode, RenderingPurpose, float, const DestinationColorSpace&, PixelFormat) const { return nullptr; }
 
 #if ENABLE(WEBGL)
-    virtual RefPtr<GraphicsContextGL> createGraphicsContextGL(const GraphicsContextGLAttributes& attributes, WebCore::PlatformDisplayID) const { return createWebProcessGraphicsContextGL(attributes); }
+    WEBCORE_EXPORT virtual RefPtr<GraphicsContextGL> createGraphicsContextGL(const GraphicsContextGLAttributes&, WebCore::PlatformDisplayID) const;
 #endif
 
     virtual RefPtr<PAL::WebGPU::GPU> createGPUForWebGPU() const { return nullptr; }
@@ -631,7 +632,8 @@
     virtual void decidePolicyForModalContainer(OptionSet<ModalContainerControlType>, CompletionHandler<void(ModalContainerDecision)>&&) = 0;
 
 protected:
-    virtual ~ChromeClient() = default;
+    WEBCORE_EXPORT ChromeClient();
+    WEBCORE_EXPORT virtual ~ChromeClient();
 };
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/platform/HostWindow.h (290641 => 290642)


--- trunk/Source/WebCore/platform/HostWindow.h	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebCore/platform/HostWindow.h	2022-03-01 14:23:28 UTC (rev 290642)
@@ -25,7 +25,6 @@
 
 #pragma once
 
-#include "GraphicsContextGL.h"
 #include "Widget.h"
 
 namespace WebCore {
@@ -32,6 +31,7 @@
 
 class Cursor;
 class DestinationColorSpace;
+class GraphicsContextGL;
 class ImageBuffer;
 
 enum class PixelFormat : uint8_t;
@@ -38,6 +38,8 @@
 enum class RenderingMode : bool;
 enum class RenderingPurpose : uint8_t;
 
+struct GraphicsContextGLAttributes;
+
 using FramesPerSecond = unsigned;
 
 class HostWindow {

Modified: trunk/Source/WebCore/platform/graphics/GraphicsContextGL.h (290641 => 290642)


--- trunk/Source/WebCore/platform/graphics/GraphicsContextGL.h	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContextGL.h	2022-03-01 14:23:28 UTC (rev 290642)
@@ -33,7 +33,6 @@
 #include "Image.h"
 #include "IntRect.h"
 #include "IntSize.h"
-#include "MediaPlayer.h"
 #include <wtf/HashSet.h>
 #include <wtf/RefCounted.h>
 #include <wtf/text/WTFString.h>
@@ -46,8 +45,6 @@
 #endif
 
 namespace WebCore {
-class ExtensionsGL;
-class HostWindow;
 class ImageBuffer;
 class PixelBuffer;
 
@@ -54,6 +51,9 @@
 #if ENABLE(VIDEO) && USE(AVFOUNDATION)
 class GraphicsContextGLCV;
 #endif
+#if ENABLE(VIDEO)
+class MediaPlayer;
+#endif
 #if ENABLE(MEDIA_STREAM)
 class MediaSample;
 #endif

Modified: trunk/Source/WebCore/platform/graphics/GraphicsContextGLState.h (290641 => 290642)


--- trunk/Source/WebCore/platform/graphics/GraphicsContextGLState.h	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebCore/platform/graphics/GraphicsContextGLState.h	2022-03-01 14:23:28 UTC (rev 290642)
@@ -28,7 +28,6 @@
 #if ENABLE(WEBGL)
 
 #include "GraphicsContextGL.h"
-#include "GraphicsContextGLState.h"
 #include <wtf/HashCountedSet.h>
 #include <wtf/HashMap.h>
 #include <wtf/HashTraits.h>

Deleted: trunk/Source/WebCore/platform/graphics/RemoteGraphicsContextGLProxyBase.cpp (290641 => 290642)


--- trunk/Source/WebCore/platform/graphics/RemoteGraphicsContextGLProxyBase.cpp	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebCore/platform/graphics/RemoteGraphicsContextGLProxyBase.cpp	2022-03-01 14:23:28 UTC (rev 290642)
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "RemoteGraphicsContextGLProxyBase.h"
-
-#if ENABLE(GPU_PROCESS) && ENABLE(WEBGL)
-#include "NotImplemented.h"
-
-#if PLATFORM(COCOA)
-#include "IOSurface.h"
-#endif
-
-#if USE(GRAPHICS_LAYER_WC)
-#include "TextureMapperPlatformLayer.h"
-#endif
-
-namespace WebCore {
-
-RemoteGraphicsContextGLProxyBase::RemoteGraphicsContextGLProxyBase(const GraphicsContextGLAttributes& attrs)
-    : GraphicsContextGL(attrs)
-{
-}
-
-RemoteGraphicsContextGLProxyBase::~RemoteGraphicsContextGLProxyBase() = default;
-
-
-
-}
-#endif

Deleted: trunk/Source/WebCore/platform/graphics/RemoteGraphicsContextGLProxyBase.h (290641 => 290642)


--- trunk/Source/WebCore/platform/graphics/RemoteGraphicsContextGLProxyBase.h	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebCore/platform/graphics/RemoteGraphicsContextGLProxyBase.h	2022-03-01 14:23:28 UTC (rev 290642)
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2020 Apple Inc.  All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#pragma once
-
-#if ENABLE(GPU_PROCESS) && ENABLE(WEBGL)
-
-#include "GraphicsContextGL.h"
-
-#include <wtf/HashSet.h>
-#include <wtf/text/StringHash.h>
-
-namespace WebCore {
-
-// A base class for RemoteGraphicsContextGL proxy side implementation
-// This implements the parts that are using WebCore internal functionality:
-// - Drawing buffer tracking management.
-// - Compositing support.
-class WEBCORE_EXPORT RemoteGraphicsContextGLProxyBase : public GraphicsContextGL {
-public:
-    RemoteGraphicsContextGLProxyBase(const GraphicsContextGLAttributes&);
-    ~RemoteGraphicsContextGLProxyBase() override;
-
-
-};
-
-}
-#endif

Modified: trunk/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h (290641 => 290642)


--- trunk/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebCore/platform/graphics/angle/GraphicsContextGLANGLE.h	2022-03-01 14:23:28 UTC (rev 290642)
@@ -54,13 +54,6 @@
 
 namespace WebCore {
 
-class ExtensionsGL;
-class GLContext;
-class HostWindow;
-class ImageBuffer;
-class MediaPlayer;
-class PixelBuffer;
-
 #if USE(TEXTURE_MAPPER)
 class TextureMapperGCGLPlatformLayer;
 #endif
@@ -375,7 +368,6 @@
     GraphicsContextGLANGLE(GraphicsContextGLAttributes);
 
     // Called once by all the public entry points that eventually call OpenGL.
-    // Called once by all the public entry points of ExtensionsGL that eventually call OpenGL.
     bool makeContextCurrent() WARN_UNUSED_RETURN;
 
     // Initializes the instance. Returns false if the instance should not be used.

Modified: trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm (290641 => 290642)


--- trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebCore/platform/graphics/cocoa/IOSurface.mm	2022-03-01 14:23:28 UTC (rev 290642)
@@ -28,7 +28,6 @@
 
 #import "DestinationColorSpace.h"
 #import "GraphicsContextCG.h"
-#import "GraphicsContextGL.h"
 #import "HostWindow.h"
 #import "IOSurfacePool.h"
 #import "ImageBuffer.h"

Modified: trunk/Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGL.h (290641 => 290642)


--- trunk/Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGL.h	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebCore/platform/graphics/opengl/ExtensionsGLOpenGL.h	2022-03-01 14:23:28 UTC (rev 290642)
@@ -40,7 +40,7 @@
     ExtensionsGLOpenGL(GraphicsContextGLOpenGL*, bool useIndexedGetString);
     virtual ~ExtensionsGLOpenGL();
 
-    // ExtensionsGL methods.
+    // ExtensionsGLOpenGLCommon methods.
     PlatformGLObject createVertexArrayOES() override;
     void deleteVertexArrayOES(PlatformGLObject) override;
     GCGLboolean isVertexArrayOES(PlatformGLObject) override;

Modified: trunk/Source/WebCore/platform/xr/openxr/OpenXRSwapchain.h (290641 => 290642)


--- trunk/Source/WebCore/platform/xr/openxr/OpenXRSwapchain.h	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebCore/platform/xr/openxr/OpenXRSwapchain.h	2022-03-01 14:23:28 UTC (rev 290642)
@@ -21,7 +21,7 @@
 
 #if ENABLE(WEBXR) && USE(OPENXR)
 
-#include "GraphicsContextGL.h"
+#include "GraphicsTypesGL.h"
 #include "OpenXRUtils.h"
 
 #include <wtf/Noncopyable.h>

Modified: trunk/Source/WebCore/platform/xr/openxr/PlatformXROpenXR.cpp (290641 => 290642)


--- trunk/Source/WebCore/platform/xr/openxr/PlatformXROpenXR.cpp	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebCore/platform/xr/openxr/PlatformXROpenXR.cpp	2022-03-01 14:23:28 UTC (rev 290642)
@@ -22,6 +22,7 @@
 
 #if ENABLE(WEBXR) && USE(OPENXR)
 
+#include "GraphicsContextGL.h"
 #include "OpenXRExtensions.h"
 #include "OpenXRInput.h"
 #include "OpenXRInputSource.h"
@@ -52,6 +53,8 @@
 {
 }
 
+OpenXRDevice::~OpenXRDevice() = default;
+
 void OpenXRDevice::initialize(CompletionHandler<void()>&& callback)
 {
     ASSERT(isMainThread());

Modified: trunk/Source/WebCore/platform/xr/openxr/PlatformXROpenXR.h (290641 => 290642)


--- trunk/Source/WebCore/platform/xr/openxr/PlatformXROpenXR.h	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebCore/platform/xr/openxr/PlatformXROpenXR.h	2022-03-01 14:23:28 UTC (rev 290642)
@@ -22,7 +22,6 @@
 #if ENABLE(WEBXR) && USE(OPENXR)
 
 #include "GLContextEGL.h"
-#include "GraphicsContextGL.h"
 #include "OpenXRLayer.h"
 #include "OpenXRUtils.h"
 #include "PlatformXR.h"
@@ -30,6 +29,9 @@
 #include <wtf/HashMap.h>
 #include <wtf/WorkQueue.h>
 
+namespace WebCore {
+class GraphicsContextGL;
+}
 namespace PlatformXR {
 
 class OpenXRExtensions;
@@ -50,6 +52,7 @@
 class OpenXRDevice final : public Device {
 public:
     static Ref<OpenXRDevice> create(XrInstance, XrSystemId, Ref<WorkQueue>&&, const OpenXRExtensions&, CompletionHandler<void()>&&);
+    ~OpenXRDevice();
 
 private:
     OpenXRDevice(XrInstance, XrSystemId, Ref<WorkQueue>&&, const OpenXRExtensions&);

Modified: trunk/Source/WebKit/ChangeLog (290641 => 290642)


--- trunk/Source/WebKit/ChangeLog	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebKit/ChangeLog	2022-03-01 14:23:28 UTC (rev 290642)
@@ -1,3 +1,12 @@
+2022-03-01  Kimmo Kinnunen  <[email protected]>
+
+        GraphicsContextGL related includes are inconsistent, slowing the build
+        https://bugs.webkit.org/show_bug.cgi?id=237270
+
+        Reviewed by Alexey Proskuryakov.
+
+        * WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp:
+
 2022-03-01  Sihui Liu  <[email protected]>
 
         Migrate third-party IndexedDB data to GeneralStorageDirectory

Modified: trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp (290641 => 290642)


--- trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp	2022-03-01 12:53:04 UTC (rev 290641)
+++ trunk/Source/WebKit/WebProcess/GPU/graphics/RemoteGraphicsContextGLProxy.cpp	2022-03-01 14:23:28 UTC (rev 290642)
@@ -38,6 +38,7 @@
 #if ENABLE(VIDEO)
 #include "RemoteVideoFrameObjectHeapProxy.h"
 #include "RemoteVideoFrameProxy.h"
+#include <WebCore/MediaPlayer.h>
 #endif
 
 namespace WebKit {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to