WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
143236
Web Inspector: add console messages for WebGL shader compile and program link errors/warnings
https://bugs.webkit.org/show_bug.cgi?id=143236
Summary
Web Inspector: add console messages for WebGL shader compile and program link...
Matt Baker
Reported
2015-03-30 13:52:49 PDT
InspectorCanvasAgent should use ConsoleAgent for WebGL shader and program errors/warnings. Create a new message source (MessageSource::WebGL) for logging compile and link operations, including source code location to allow jumping to the relevant code in a ShaderProgram content view (needed for
https://bugs.webkit.org/show_bug.cgi?id=138593
). Going through the ConsoleAgent guarantees users are informed of compile and link information even if they aren't currently inspecting the canvas resource.
Attachments
[Patch] WIP
(20.26 KB, patch)
2017-06-19 09:42 PDT
,
Devin Rousso
hi
: commit-queue-
Details
Formatted Diff
Diff
[Patch] WIP
(20.26 KB, patch)
2017-06-19 09:51 PDT
,
Devin Rousso
hi
: commit-queue-
Details
Formatted Diff
Diff
Patch
(24.03 KB, patch)
2017-06-19 11:00 PDT
,
Devin Rousso
no flags
Details
Formatted Diff
Diff
Patch
(24.71 KB, patch)
2017-06-20 01:05 PDT
,
Devin Rousso
no flags
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2015-03-30 13:53:06 PDT
<
rdar://problem/20352149
>
Devin Rousso
Comment 2
2017-06-19 09:42:03 PDT
Created
attachment 313306
[details]
[Patch] WIP
Devin Rousso
Comment 3
2017-06-19 09:51:19 PDT
Created
attachment 313307
[details]
[Patch] WIP Need r? for the bots to run the tests. Trying to find tests that fail :|
Build Bot
Comment 4
2017-06-19 09:53:07 PDT
Attachment 313307
[details]
did not pass style-queue: ERROR: Source/WebCore/page/PageConsoleClient.h:35: Missing space before { [whitespace/braces] [5] ERROR: Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:5741: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] ERROR: Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:5742: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] ERROR: Source/WebCore/ChangeLog:1: ChangeLog entry has no bug number [changelog/bugnumber] [5] ERROR: Source/WebCore/ChangeLog:5: You should remove the 'No new tests' and either add and list tests, or explain why no new tests were possible. [changelog/nonewtests] [5] Total errors found: 5 in 9 files If any of these errors are false positives, please file a bug against check-webkit-style.
Devin Rousso
Comment 5
2017-06-19 11:00:17 PDT
Created
attachment 313310
[details]
Patch
Joseph Pecoraro
Comment 6
2017-06-19 12:30:59 PDT
Comment on
attachment 313310
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=313310&action=review
Looks good to me but we should probably have a WebGL reviewer take a look.
> LayoutTests/fast/canvas/webgl/shader-compile-logging-expected.txt:2 > +CONSOLE MESSAGE: line 19: WebGL: ERROR: 0:2: 'attribute' : supported in vertex shaders only > +CONSOLE MESSAGE: line 19: WebGL: ERROR: 0:2: '' : No precision specified for (float)
Its a bit unfortunate that we have the 0 part of "0:#". 0 here is the "file" which I think will always be zero for us. However we match other browsers...
> Source/WebCore/ChangeLog:26 > + Unify console logging helper functions to all follow the same path. Additionally, errors > + now generate stack traces. Shader compilation errors are now logged as well.
Nit: One space after periods.
> Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:-104 > -const int maxGLErrorsAllowedToConsole = 256;
Lets keep this given what we talked about earlier.
> Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp:1309 > + Ref<Inspector::ScriptCallStack> stackTrace = Inspector::createScriptCallStack(JSMainThreadExecState::currentState(), Inspector::ScriptCallStack::maxCallStackSizeToCapture);
I wonder if there is a better ExecState we can use than JSMainThreadExecState::currentState(). I think its fine for now, as long as WebGL is only usable from the main thread. But if this were to change in the future then this could cause mysterious issues.
> Source/WebCore/html/canvas/WebGLRenderingContextBase.h:745 > + // Helper function to print errors ang warnings to console.
Typos.
> Source/WebCore/page/PageConsoleClient.h:37 > +class ScriptCallStack;
By forward declaring this were you going to try to remove the include? Otherwise remove the forward declaration.
> Source/WebCore/page/PageConsoleClient.h:61 > + void addMessage(std::unique_ptr<Inspector::ConsoleMessage>&&);
Lets add a comment that the others are deprecated. Callers should try to create the ConsoleMessage themselves. Perhaps then we can slowly phase out the super specific versions below.
Devin Rousso
Comment 7
2017-06-20 01:05:51 PDT
Created
attachment 313381
[details]
Patch
WebKit Commit Bot
Comment 8
2017-06-20 11:35:35 PDT
Comment on
attachment 313381
[details]
Patch Clearing flags on attachment: 313381 Committed
r218603
: <
http://trac.webkit.org/changeset/218603
>
WebKit Commit Bot
Comment 9
2017-06-20 11:35:37 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug