Bug 178568

Summary: Unify the node removal code in ContainerNode and expand the coverage of NoEventDispatchAssertion
Product: WebKit Reporter: Ryosuke Niwa <rniwa>
Component: DOMAssignee: Ryosuke Niwa <rniwa>
Status: RESOLVED FIXED    
Severity: Normal CC: buildbot, cdumez, commit-queue, jiewen_tan, koivisto, rniwa, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Cleanup
none
Archive of layout-test-results from ews102 for mac-elcapitan
none
Archive of layout-test-results from ews122 for ios-simulator-wk2
none
Archive of layout-test-results from ews115 for mac-elcapitan
none
Fixed tests none

Description Ryosuke Niwa 2017-10-19 22:52:49 PDT
Right, there are multiple functions that call removeBetween and other core node manipulation functions.
Unify them all to share code & expand the coverage of NoEventDispatchAssertion.
Comment 1 Ryosuke Niwa 2017-10-19 23:35:52 PDT
Created attachment 324362 [details]
Cleanup
Comment 2 Build Bot 2017-10-19 23:38:10 PDT
Attachment 324362 [details] did not pass style-queue:


ERROR: Source/WebCore/dom/ContainerNode.cpp:121:  Please replace ASSERT_WITH_SECURITY_IMPLICATION() with RELEASE_ASSERT_WITH_SECURITY_IMPLICATION().  [security/assertion] [5]
ERROR: Source/WebCore/dom/ContainerNode.cpp:127:  Please replace ASSERT_WITH_SECURITY_IMPLICATION() with RELEASE_ASSERT_WITH_SECURITY_IMPLICATION().  [security/assertion] [5]
ERROR: Source/WebCore/dom/ContainerNode.cpp:146:  Please replace ASSERT_WITH_SECURITY_IMPLICATION() with RELEASE_ASSERT_WITH_SECURITY_IMPLICATION().  [security/assertion] [5]
Total errors found: 3 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 3 Antti Koivisto 2017-10-20 00:31:50 PDT
Comment on attachment 324362 [details]
Cleanup

View in context: https://bugs.webkit.org/attachment.cgi?id=324362&action=review

> Source/WebCore/dom/ContainerNode.cpp:103
> +    NoEventDispatchAssertion assertNoEventDispatch;

Wish NoEventDispatchAssertion was a release assert

> Source/WebCore/dom/ContainerNode.cpp:784
> +    // FIXME: Nodes inside a shadow tree should also retain its wrappers.
> +    willCreatePossiblyOrphanedTreeByRemoval(child.ptr());

This call should also be somewhere else than dispatchChildRemovalEvents.
Comment 4 Build Bot 2017-10-20 00:51:16 PDT
Comment on attachment 324362 [details]
Cleanup

Attachment 324362 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.webkit.org/results/4929611

New failing tests:
fast/parser/adoption-agency-unload-iframe-3.html
Comment 5 Build Bot 2017-10-20 00:51:17 PDT
Created attachment 324368 [details]
Archive of layout-test-results from ews102 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the mac-ews.
Bot: ews102  Port: mac-elcapitan  Platform: Mac OS X 10.11.6
Comment 6 Build Bot 2017-10-20 01:19:05 PDT
Comment on attachment 324362 [details]
Cleanup

Attachment 324362 [details] did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/4929688

New failing tests:
fast/parser/adoption-agency-unload-iframe-3.html
Comment 7 Build Bot 2017-10-20 01:19:07 PDT
Created attachment 324371 [details]
Archive of layout-test-results from ews122 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews122  Port: ios-simulator-wk2  Platform: Mac OS X 10.12.6
Comment 8 Build Bot 2017-10-20 01:26:23 PDT
Comment on attachment 324362 [details]
Cleanup

Attachment 324362 [details] did not pass mac-debug-ews (mac):
Output: http://webkit-queues.webkit.org/results/4929678

New failing tests:
media/track/track-automatic-subtitles.html
media/track/track-language-preference.html
media/track/track-cue-rendering-tree-is-removed-properly.html
fast/parser/adoption-agency-unload-iframe-3.html
Comment 9 Build Bot 2017-10-20 01:26:24 PDT
Created attachment 324373 [details]
Archive of layout-test-results from ews115 for mac-elcapitan

The attached test failures were seen while running run-webkit-tests on the mac-debug-ews.
Bot: ews115  Port: mac-elcapitan  Platform: Mac OS X 10.11.6
Comment 10 Ryosuke Niwa 2017-10-20 01:52:01 PDT
Created attachment 324375 [details]
Fixed tests
Comment 11 Build Bot 2017-10-20 01:53:16 PDT
Attachment 324375 [details] did not pass style-queue:


ERROR: Source/WebCore/dom/ContainerNode.cpp:121:  Please replace ASSERT_WITH_SECURITY_IMPLICATION() with RELEASE_ASSERT_WITH_SECURITY_IMPLICATION().  [security/assertion] [5]
ERROR: Source/WebCore/dom/ContainerNode.cpp:127:  Please replace ASSERT_WITH_SECURITY_IMPLICATION() with RELEASE_ASSERT_WITH_SECURITY_IMPLICATION().  [security/assertion] [5]
ERROR: Source/WebCore/dom/ContainerNode.cpp:151:  Please replace ASSERT_WITH_SECURITY_IMPLICATION() with RELEASE_ASSERT_WITH_SECURITY_IMPLICATION().  [security/assertion] [5]
Total errors found: 3 in 7 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 12 WebKit Commit Bot 2017-10-20 13:20:52 PDT
Comment on attachment 324375 [details]
Fixed tests

Clearing flags on attachment: 324375

Committed r223788: <https://trac.webkit.org/changeset/223788>
Comment 13 WebKit Commit Bot 2017-10-20 13:20:54 PDT
All reviewed patches have been landed.  Closing bug.
Comment 14 Radar WebKit Bug Importer 2017-10-20 14:26:53 PDT
<rdar://problem/35102310>