Skip to content
This repository was archived by the owner on Apr 3, 2020. It is now read-only.

Commit 6912fde

Browse files
author
Raphael Kubo da Costa
committed
WebCL: Move WebCLException to core/webcl.
This solves a layering violation, even if in an ugly way: ExceptionState depends on V8ThrowException, which was including and depending on WebCLException. The former is in bindings/core, which is not supposed to depend on anything in modules/, which is where the latter was. The WebCLException.* files do not have any dependency on other files in modules/webcl (some unnecessary includes have been removed), so we can easily move them to core/webcl instead and resolve the layering violations. The deeper issue of whether WebCLException should inherit from DOMException and how to do this cleanly in Blink persists. This change is a requirement for moving to M45, as work on upstream bug 358074 has reinforced these layering separations and causing code built with component=shared_library to fail to link.
1 parent b2a7f41 commit 6912fde

27 files changed

+29
-28
lines changed

Source/bindings/core/v8/V8ThrowException.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@
2828
#include "bindings/core/v8/BindingSecurity.h"
2929
#include "bindings/core/v8/V8Binding.h"
3030
#include "bindings/core/v8/V8DOMException.h"
31-
#include "bindings/modules/v8/V8WebCLException.h"
31+
#include "bindings/core/v8/V8WebCLException.h"
3232
#include "core/dom/DOMException.h"
3333
#include "core/dom/ExceptionCode.h"
34-
#include "modules/webcl/WebCLException.h"
34+
#include "core/webcl/WebCLException.h"
3535
#include "wtf/RefPtr.h"
3636

3737
namespace blink {

Source/core/core.gypi

+3
Original file line numberDiff line numberDiff line change
@@ -381,6 +381,7 @@
381381
'timing/PerformanceResourceTiming.idl',
382382
'timing/PerformanceTiming.idl',
383383
'timing/WorkerPerformance.idl',
384+
'webcl/WebCLException.idl',
384385
'workers/SharedWorker.idl',
385386
'workers/Worker.idl',
386387
'workers/WorkerConsole.idl',
@@ -2007,6 +2008,8 @@
20072008
'timing/WorkerGlobalScopePerformance.h',
20082009
'timing/WorkerPerformance.cpp',
20092010
'timing/WorkerPerformance.h',
2011+
'webcl/WebCLException.cpp',
2012+
'webcl/WebCLException.h',
20102013
'workers/AbstractWorker.cpp',
20112014
'workers/AbstractWorker.h',
20122015
'workers/DedicatedWorkerGlobalScope.cpp',

Source/modules/webcl/WebCLException.cpp Source/core/webcl/WebCLException.cpp

+2-2
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
#if ENABLE(WEBCL)
99

10-
#include "modules/webcl/WebCL.h"
11-
#include "modules/webcl/WebCLException.h"
10+
#include "core/webcl/WebCLException.h"
11+
#include <CL/cl.h>
1212

1313
namespace blink {
1414

Source/modules/webcl/WebCLException.h Source/core/webcl/WebCLException.h

+1-4
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,9 @@
77
#define WebCLException_h
88

99
#include "bindings/core/v8/ExceptionState.h"
10+
#include "bindings/core/v8/ScriptWrappable.h"
1011
#include <wtf/ThreadSafeRefCounted.h>
1112

12-
#if ENABLE(WEBCL)
13-
#include "modules/webcl/WebCLConfig.h"
14-
#endif
15-
1613
#define WEBCLEXCEPTIONOFFSET 0
1714

1815
namespace blink {
File renamed without changes.

Source/modules/modules.gypi

-3
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,6 @@
236236
'webcl/WebCLContext.idl',
237237
'webcl/WebCLDevice.idl',
238238
'webcl/WebCLEvent.idl',
239-
'webcl/WebCLException.idl',
240239
'webcl/WebCLImage.idl',
241240
'webcl/WebCLKernel.idl',
242241
'webcl/WebCLKernelArgInfo.idl',
@@ -1495,8 +1494,6 @@
14951494
'webcl/WebCLDevice.h',
14961495
'webcl/WebCLEvent.cpp',
14971496
'webcl/WebCLEvent.h',
1498-
'webcl/WebCLException.cpp',
1499-
'webcl/WebCLException.h',
15001497
'webcl/WebCLExtension.cpp',
15011498
'webcl/WebCLExtension.h',
15021499
'webcl/WebCLHTMLUtil.cpp',

Source/modules/webcl/WebCL.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
#include "config.h"
77

88
#if ENABLE(WEBCL)
9+
#include "core/webcl/WebCLException.h"
910
#include "modules/webcl/WebCL.h"
1011
#include "modules/webcl/WebCLOpenCL.h"
1112
#include "modules/webcl/WebCLCallback.h"
1213
#include "modules/webcl/WebCLCommandQueue.h"
1314
#include "modules/webcl/WebCLConfig.h"
1415
#include "modules/webcl/WebCLContext.h"
1516
#include "modules/webcl/WebCLDevice.h"
16-
#include "modules/webcl/WebCLException.h"
1717
#include "modules/webcl/WebCLExtension.h"
1818
#include "modules/webcl/WebCLEvent.h"
1919
#include "modules/webcl/WebCLImage.h"

Source/modules/webcl/WebCLBuffer.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77

88
#if ENABLE(WEBCL)
99

10+
#include "core/webcl/WebCLException.h"
1011
#include "modules/webcl/WebCL.h"
1112
#include "modules/webcl/WebCLBuffer.h"
1213
#include "modules/webcl/WebCLContext.h"
13-
#include "modules/webcl/WebCLException.h"
1414
#include "modules/webcl/WebCLMemoryObject.h"
1515
#include "modules/webcl/WebCLOpenCL.h"
1616

Source/modules/webcl/WebCLCommandQueue.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
#include "core/dom/DOMTypedArray.h"
1414
#include "core/html/HTMLCanvasElement.h"
1515
#include "core/html/ImageData.h"
16+
#include "core/webcl/WebCLException.h"
1617
#include "modules/webcl/WebCL.h"
1718
#include "modules/webcl/WebCLBuffer.h"
1819
#include "modules/webcl/WebCLCommandQueue.h"
19-
#include "modules/webcl/WebCLException.h"
2020
#include "modules/webcl/WebCLEvent.h"
2121
#include "modules/webcl/WebCLHTMLUtil.h"
2222
#include "modules/webcl/WebCLImage.h"

Source/modules/webcl/WebCLCommandQueue.h

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
#if ENABLE(WEBCL)
1010
#include "modules/webcl/WebCLCallback.h"
11+
#include "modules/webcl/WebCLConfig.h"
1112
#include "modules/webcl/WebCLObject.h"
1213

1314
#include <wtf/PassRefPtr.h>

Source/modules/webcl/WebCLContext.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#include "core/html/HTMLImageElement.h"
1212
#include "core/html/HTMLVideoElement.h"
1313
#include "core/html/ImageData.h"
14+
#include "core/webcl/WebCLException.h"
1415
#include "platform/graphics/Image.h"
1516
#include "platform/graphics/ImageBuffer.h"
1617
#include "bindings/core/v8/V8Binding.h"
@@ -19,7 +20,6 @@
1920
#include "modules/webcl/WebCLContext.h"
2021
#include "modules/webcl/WebCLCommandQueue.h"
2122
#include "modules/webcl/WebCLDevice.h"
22-
#include "modules/webcl/WebCLException.h"
2323
#include "modules/webcl/WebCLHTMLUtil.h"
2424
#include "modules/webcl/WebCLImage.h"
2525
#include "modules/webcl/WebCLImageDescriptor.h"

Source/modules/webcl/WebCLDevice.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77

88
#if ENABLE(WEBCL)
99
#include "bindings/modules/v8/V8WebCLPlatform.h"
10+
#include "core/webcl/WebCLException.h"
1011
#include "modules/webcl/WebCL.h"
1112
#include "modules/webcl/WebCLContext.h"
1213
#include "modules/webcl/WebCLDevice.h"
13-
#include "modules/webcl/WebCLException.h"
1414
#include "modules/webcl/WebCLOpenCL.h"
1515

1616
namespace blink {

Source/modules/webcl/WebCLEvent.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@
88
#if ENABLE(WEBCL)
99
#include "bindings/modules/v8/V8WebCLCommandQueue.h"
1010
#include "bindings/modules/v8/V8WebCLContext.h"
11+
#include "core/webcl/WebCLException.h"
1112
#include "modules/webcl/WebCL.h"
1213
#include "modules/webcl/WebCLEvent.h"
13-
#include "modules/webcl/WebCLException.h"
1414
#include "modules/webcl/WebCLOpenCL.h"
1515
#include "platform/ThreadSafeFunctional.h"
1616
#include "public/platform/Platform.h"

Source/modules/webcl/WebCLEvent.h

+1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
#if ENABLE(WEBCL)
1010
#include "modules/webcl/WebCLCallback.h"
11+
#include "modules/webcl/WebCLConfig.h"
1112
#include "modules/webcl/WebCLObject.h"
1213

1314
#include <wtf/PassRefPtr.h>

Source/modules/webcl/WebCLExtension.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88

99
#if ENABLE(WEBCL)
1010

11+
#include "core/webcl/WebCLException.h"
1112
#include "modules/webcl/WebCLConfig.h"
12-
#include "modules/webcl/WebCLException.h"
1313

1414
namespace blink {
1515

Source/modules/webcl/WebCLHTMLUtil.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
#include "core/html/HTMLImageElement.h"
1212
#include "core/html/HTMLVideoElement.h"
1313
#include "core/html/ImageData.h"
14+
#include "core/webcl/WebCLException.h"
1415
#include "platform/graphics/gpu/WebGLImageConversion.h"
1516
#include "platform/graphics/ImageBuffer.h"
1617
#include "modules/webcl/WebCL.h"
17-
#include "modules/webcl/WebCLException.h"
1818
#include "modules/webcl/WebCLHTMLUtil.h"
1919

2020
namespace blink {

Source/modules/webcl/WebCLImage.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,9 +6,9 @@
66
#include "config.h"
77

88
#if ENABLE(WEBCL)
9+
#include "core/webcl/WebCLException.h"
910
#include "modules/webcl/WebCL.h"
1011
#include "modules/webcl/WebCLContext.h"
11-
#include "modules/webcl/WebCLException.h"
1212
#include "modules/webcl/WebCLImage.h"
1313
#include "modules/webcl/WebCLOpenCL.h"
1414

Source/modules/webcl/WebCLKernel.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@
1313
#include "bindings/modules/v8/V8WebCLSampler.h"
1414
#include "core/dom/DOMArrayBufferView.h"
1515
#include "core/dom/DOMTypedArray.h"
16+
#include "core/webcl/WebCLException.h"
1617
#include "modules/webcl/WebCL.h"
1718
#include "modules/webcl/WebCLBuffer.h"
1819
#include "modules/webcl/WebCLDevice.h"
19-
#include "modules/webcl/WebCLException.h"
2020
#include "modules/webcl/WebCLImage.h"
2121
#include "modules/webcl/WebCLKernel.h"
2222
#include "modules/webcl/WebCLKernelArgInfo.h"

Source/modules/webcl/WebCLKernelArgInfoProvider.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
#include "config.h"
77

88
#if ENABLE(WEBCL)
9-
#include "modules/webcl/WebCLException.h"
9+
#include "core/webcl/WebCLException.h"
1010
#include "modules/webcl/WebCLKernel.h"
1111
#include "modules/webcl/WebCLKernelArgInfoProvider.h"
1212
#include "modules/webcl/WebCLProgram.h"

Source/modules/webcl/WebCLMemoryObject.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
#if ENABLE(WEBCL)
99
#include "bindings/modules/v8/V8WebCLContext.h"
1010
#include "bindings/modules/v8/V8WebCLMemoryObject.h"
11+
#include "core/webcl/WebCLException.h"
1112
#include "modules/webcl/WebCL.h"
12-
#include "modules/webcl/WebCLException.h"
1313
#include "modules/webcl/WebCLMemoryObject.h"
1414
#include "modules/webcl/WebCLOpenCL.h"
1515

Source/modules/webcl/WebCLMemoryObject.h

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#define WebCLMemoryObject_h
88

99
#if ENABLE(WEBCL)
10+
#include "modules/webcl/WebCLConfig.h"
1011
#include "modules/webcl/WebCLObject.h"
1112

1213
#include <wtf/PassRefPtr.h>

Source/modules/webcl/WebCLMemoryUtil.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
#if ENABLE(WEBCL)
1010

11-
#include "modules/webcl/WebCLException.h"
11+
#include "core/webcl/WebCLException.h"
1212
#include <wtf/RefCounted.h>
1313
#include <wtf/Vector.h>
1414
#include <wtf/WeakPtr.h>

Source/modules/webcl/WebCLObject.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
#if ENABLE(WEBCL)
1010

11-
#include "modules/webcl/WebCLException.h"
11+
#include "core/webcl/WebCLException.h"
1212

1313
#include <wtf/PassRefPtr.h>
1414
#include <wtf/RefCounted.h>

Source/modules/webcl/WebCLPlatform.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
#if ENABLE(WEBCL)
99
#include "bindings/core/v8/V8Binding.h"
10+
#include "core/webcl/WebCLException.h"
1011
#include "modules/webcl/WebCL.h"
11-
#include "modules/webcl/WebCLException.h"
1212
#include "modules/webcl/WebCLOpenCL.h"
1313
#include "modules/webcl/WebCLPlatform.h"
1414

Source/modules/webcl/WebCLProgram.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
#if ENABLE(WEBCL)
99
#include "bindings/modules/v8/V8WebCLContext.h"
10+
#include "core/webcl/WebCLException.h"
1011
#include "modules/webcl/WebCL.h"
11-
#include "modules/webcl/WebCLException.h"
1212
#include "modules/webcl/WebCLKernel.h"
1313
#include "modules/webcl/WebCLOpenCL.h"
1414
#include "modules/webcl/WebCLProgram.h"

Source/modules/webcl/WebCLSampler.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@
77

88
#if ENABLE(WEBCL)
99
#include "bindings/modules/v8/V8WebCLContext.h"
10+
#include "core/webcl/WebCLException.h"
1011
#include "modules/webcl/WebCL.h"
11-
#include "modules/webcl/WebCLException.h"
1212
#include "modules/webcl/WebCLOpenCL.h"
1313
#include "modules/webcl/WebCLSampler.h"
1414

Source/modules/webcl/WebCLSampler.h

+1
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#define WebCLSampler_h
88

99
#if ENABLE(WEBCL)
10+
#include "modules/webcl/WebCLConfig.h"
1011
#include "modules/webcl/WebCLObject.h"
1112

1213
#include <wtf/PassRefPtr.h>

0 commit comments

Comments
 (0)