Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(96)

Issue 4097: Implement better JS exception handling by abstracting KJS::ExecState into an ... (Closed)

Created:
12 years, 3 months ago by dglazkov
Modified:
9 years, 6 months ago
Reviewers:
macdome, Feng Qian, eseidel
CC:
chromium-reviews_googlegroups.com
Visibility:
Public.

Description

Implement better JS exception handling by abstracting KJS::ExecState into an ExceptionContext, implement custom v8 bindings for TreeWalker, NodeFilter, NodeIterator, and .querySelector that were affected by this, make the world a better place by ticking 98/100 on acid3 test. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=2648

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Patch Set 4 : '' #

Patch Set 5 : '' #

Patch Set 6 : '' #

Patch Set 7 : '' #

Patch Set 8 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+897 lines, -198 lines) Patch
M webkit/build/V8Bindings/V8Bindings.vcproj View 1 3 chunks +20 lines, -0 lines 0 comments Download
M webkit/build/WebCore/WebCore.vcproj View 1 1 chunk +4 lines, -0 lines 0 comments Download
M webkit/build/port/port.vcproj View 1 1 chunk +4 lines, -0 lines 0 comments Download
A webkit/data/layout_test_results/v8/LayoutTests/fast/dom/SelectorAPI/dumpNodeList-almost-strict-expected.txt View 1 chunk +83 lines, -0 lines 0 comments Download
M webkit/data/layout_test_results/v8/LayoutTests/fast/dom/SelectorAPI/dumpNodeList-expected.txt View 1 2 chunks +44 lines, -2 lines 0 comments Download
A webkit/pending/ExceptionContext.h View 1 2 3 4 5 6 7 1 chunk +88 lines, -0 lines 0 comments Download
A + webkit/pending/NSResolver.h View 1 1 chunk +2 lines, -5 lines 0 comments Download
M webkit/pending/Node.h View 1 2 chunks +3 lines, -5 lines 0 comments Download
M webkit/pending/Node.cpp View 1 2 8 chunks +8 lines, -11 lines 0 comments Download
M webkit/pending/NodeFilter.h View 1 2 chunks +4 lines, -7 lines 0 comments Download
M webkit/pending/NodeFilter.cpp View 1 1 chunk +7 lines, -6 lines 0 comments Download
M webkit/pending/NodeFilterCondition.h View 1 1 chunk +2 lines, -9 lines 0 comments Download
M webkit/pending/NodeFilterCondition.cpp View 1 1 chunk +3 lines, -5 lines 0 comments Download
M webkit/pending/NodeIterator.h View 1 4 chunks +6 lines, -11 lines 0 comments Download
M webkit/pending/NodeIterator.cpp View 1 5 chunks +12 lines, -7 lines 0 comments Download
M webkit/pending/ScriptController.h View 1 1 chunk +0 lines, -5 lines 0 comments Download
M webkit/pending/Traversal.h View 1 2 chunks +2 lines, -9 lines 0 comments Download
M webkit/pending/Traversal.cpp View 1 3 chunks +2 lines, -7 lines 0 comments Download
M webkit/pending/TreeWalker.h View 1 2 chunks +15 lines, -19 lines 0 comments Download
M webkit/pending/TreeWalker.cpp View 1 9 chunks +8 lines, -12 lines 0 comments Download
M webkit/port/DerivedSources.make View 1 1 chunk +1 line, -0 lines 0 comments Download
M webkit/port/bindings/scripts/CodeGeneratorV8.pm View 1 2 chunks +2 lines, -0 lines 0 comments Download
A webkit/port/bindings/v8/JSNSResolver.h View 1 2 3 1 chunk +58 lines, -0 lines 0 comments Download
A webkit/port/bindings/v8/JSNSResolver.cpp View 1 2 3 4 1 chunk +94 lines, -0 lines 0 comments Download
M webkit/port/bindings/v8/v8_custom.h View 1 2 3 4 1 chunk +3 lines, -0 lines 0 comments Download
M webkit/port/bindings/v8/v8_custom.cpp View 1 2 3 4 6 chunks +268 lines, -31 lines 0 comments Download
M webkit/port/bindings/v8/v8_index.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M webkit/port/bindings/v8/v8_index.cpp View 1 1 chunk +1 line, -0 lines 0 comments Download
M webkit/port/bindings/v8/v8_nodefilter.h View 1 1 chunk +2 lines, -1 line 0 comments Download
M webkit/port/bindings/v8/v8_nodefilter.cpp View 1 3 chunks +7 lines, -6 lines 0 comments Download
A webkit/port/bridge/ExceptionContextV8.cpp View 1 2 3 4 5 6 7 1 chunk +108 lines, -0 lines 0 comments Download
M webkit/port/bridge/ScriptControllerV8.cpp View 1 1 chunk +0 lines, -10 lines 0 comments Download
M webkit/port/dom/Document.idl View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
A webkit/port/dom/NSResolver.idl View 1 chunk +32 lines, -0 lines 0 comments Download
M webkit/tools/layout_tests/test_lists/tests_fixable.txt View 1 2 3 4 2 chunks +1 line, -28 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
dglazkov
This one is chunky. Please take a look.
12 years, 3 months ago (2008-09-25 23:33:32 UTC) #1
macdome_gmail.com
Looks great! I look forward to seeing the upstream bug go by... I talked with ...
12 years, 2 months ago (2008-09-26 14:31:40 UTC) #2
dglazkov
Ready for another look. Also adding Feng, since he did the original TreeWalker patch a ...
12 years, 2 months ago (2008-09-26 17:15:07 UTC) #3
dglazkov
Added a note about the exception logging. http://codereview.chromium.org/4097/diff/71/105 File webkit/port/bridge/ExceptionContextV8.cpp (right): http://codereview.chromium.org/4097/diff/71/105#newcode80 Line 80: m_catcher.SetVerbose(true); ...
12 years, 2 months ago (2008-09-26 17:17:59 UTC) #4
macdome_gmail.com
I think maybe you didn't upload all files? at least JSNSResolver.h looks old... http://codereview.chromium.org/4097/diff/71/103 File ...
12 years, 2 months ago (2008-09-26 17:47:38 UTC) #5
dglazkov
After a bit more testing, strenghtenin' and straightenin', ready for another look. We're now failing ...
12 years, 2 months ago (2008-09-26 20:51:07 UTC) #6
macdome_gmail.com
Looks good. http://codereview.chromium.org/4097/diff/282/584 File webkit/port/bridge/ExceptionContextV8.cpp (right): http://codereview.chromium.org/4097/diff/282/584#newcode60 Line 60: ExceptionContext* ExceptionContext::createFromNode(Node* node) No need to ...
12 years, 2 months ago (2008-09-26 20:59:45 UTC) #7
dglazkov
Ready for yet another look. I promise it's the last one :) http://codereview.chromium.org/4097/diff/282/584 File webkit/port/bridge/ExceptionContextV8.cpp ...
12 years, 2 months ago (2008-09-26 21:43:27 UTC) #8
macdome_gmail.com
LGTM. http://codereview.chromium.org/4097/diff/287/669 File webkit/port/bridge/ExceptionContextV8.cpp (right): http://codereview.chromium.org/4097/diff/287/669#newcode49 Line 49: if (m_currentCatcher && exceptionCatcher) you call the ...
12 years, 2 months ago (2008-09-26 22:00:22 UTC) #9
dglazkov
12 years, 2 months ago (2008-09-26 22:12:38 UTC) #10
Committed! Yay! TGIF!

http://codereview.chromium.org/4097/diff/287/669
File webkit/port/bridge/ExceptionContextV8.cpp (right):

http://codereview.chromium.org/4097/diff/287/669#newcode49
Line 49: if (m_currentCatcher && exceptionCatcher)
On 2008/09/26 22:00:22, Eric Seidel wrote:
> you call the method setExceptionCacther, but the ivar m_currentCatcher.  i
would
> expect the ivar to match.  m_exceptionCatcher.  

Changed.

http://codereview.chromium.org/4097/diff/287/669#newcode65
Line 65: // V8's ExceptionContext does not use Node or its ScriptingContext
On 2008/09/26 22:00:22, Eric Seidel wrote:
> Your comment says "what" instead of "why".  The code already says what. :) 
And
> I don't know the why...

Added the whys.

Powered by Google App Engine
This is Rietveld 408576698