WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 176279
Fix a few minor problems found while working toward removing unneeded calls to updateStyle
https://bugs.webkit.org/show_bug.cgi?id=176279
Summary
Fix a few minor problems found while working toward removing unneeded calls t...
Darin Adler
Reported
2017-09-02 11:46:21 PDT
Fix a few minor problems found while working toward removing unneeded calls to updateStyle
Attachments
Patch
(19.12 KB, patch)
2017-09-02 12:03 PDT
,
Darin Adler
no flags
Details
Formatted Diff
Diff
Archive of layout-test-results from ews100 for mac-elcapitan
(1.41 MB, application/zip)
2017-09-02 13:11 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from ews105 for mac-elcapitan-wk2
(1.47 MB, application/zip)
2017-09-02 13:16 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from ews113 for mac-elcapitan
(2.13 MB, application/zip)
2017-09-02 13:33 PDT
,
Build Bot
no flags
Details
Archive of layout-test-results from ews126 for ios-simulator-wk2
(1.27 MB, application/zip)
2017-09-02 13:39 PDT
,
Build Bot
no flags
Details
Patch
(26.37 KB, patch)
2017-09-03 17:36 PDT
,
Darin Adler
koivisto
: review+
Details
Formatted Diff
Diff
Show Obsolete
(5)
View All
Add attachment
proposed patch, testcase, etc.
Darin Adler
Comment 1
2017-09-02 12:03:34 PDT
Comment hidden (obsolete)
Created
attachment 319725
[details]
Patch
Build Bot
Comment 2
2017-09-02 13:11:13 PDT
Comment hidden (obsolete)
Comment on
attachment 319725
[details]
Patch
Attachment 319725
[details]
did not pass mac-ews (mac): Output:
http://webkit-queues.webkit.org/results/4436233
New failing tests: imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-09.html
Build Bot
Comment 3
2017-09-02 13:11:14 PDT
Comment hidden (obsolete)
Created
attachment 319734
[details]
Archive of layout-test-results from ews100 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-ews. Bot: ews100 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 4
2017-09-02 13:16:12 PDT
Comment hidden (obsolete)
Comment on
attachment 319725
[details]
Patch
Attachment 319725
[details]
did not pass mac-wk2-ews (mac-wk2): Output:
http://webkit-queues.webkit.org/results/4436236
New failing tests: imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-09.html
Build Bot
Comment 5
2017-09-02 13:16:13 PDT
Comment hidden (obsolete)
Created
attachment 319735
[details]
Archive of layout-test-results from ews105 for mac-elcapitan-wk2 The attached test failures were seen while running run-webkit-tests on the mac-wk2-ews. Bot: ews105 Port: mac-elcapitan-wk2 Platform: Mac OS X 10.11.6
Build Bot
Comment 6
2017-09-02 13:33:50 PDT
Comment hidden (obsolete)
Comment on
attachment 319725
[details]
Patch
Attachment 319725
[details]
did not pass mac-debug-ews (mac): Output:
http://webkit-queues.webkit.org/results/4436324
New failing tests: imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-09.html
Build Bot
Comment 7
2017-09-02 13:33:51 PDT
Comment hidden (obsolete)
Created
attachment 319738
[details]
Archive of layout-test-results from ews113 for mac-elcapitan The attached test failures were seen while running run-webkit-tests on the mac-debug-ews. Bot: ews113 Port: mac-elcapitan Platform: Mac OS X 10.11.6
Build Bot
Comment 8
2017-09-02 13:39:43 PDT
Comment hidden (obsolete)
Comment on
attachment 319725
[details]
Patch
Attachment 319725
[details]
did not pass ios-sim-ews (ios-simulator-wk2): Output:
http://webkit-queues.webkit.org/results/4436278
New failing tests: imported/w3c/web-platform-tests/html/dom/documents/dom-tree-accessors/document.title-09.html
Build Bot
Comment 9
2017-09-02 13:39:44 PDT
Comment hidden (obsolete)
Created
attachment 319739
[details]
Archive of layout-test-results from ews126 for ios-simulator-wk2 The attached test failures were seen while running run-webkit-tests on the ios-sim-ews. Bot: ews126 Port: ios-simulator-wk2 Platform: Mac OS X 10.12.5
Darin Adler
Comment 10
2017-09-03 17:36:00 PDT
Created
attachment 319820
[details]
Patch
Darin Adler
Comment 11
2017-09-03 22:24:23 PDT
Passing all EWS now. Ready for someone to review.
Antti Koivisto
Comment 12
2017-09-04 13:23:35 PDT
Comment on
attachment 319820
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=319820&action=review
> Source/WebCore/dom/Document.cpp:1574 > + auto* newTitleElement = m_titleElement.get(); > + if (is<SVGSVGElement>(documentElement)) { > + if (is<SVGTitleElement>(changingTitleElement)) { > + if (m_titleElement) > + newTitleElement = childrenOfType<SVGTitleElement>(*documentElement).first(); > + else if (changingTitleElement.parentNode() == documentElement) > + newTitleElement = &changingTitleElement; > + else > + newTitleElement = nullptr; > + } > + ASSERT(newTitleElement == childrenOfType<SVGTitleElement>(*documentElement).first()); > + } else { > + if (is<HTMLTitleElement>(changingTitleElement)) { > + if (m_titleElement) > + newTitleElement = descendantsOfType<HTMLTitleElement>(*this).first(); > + else if (changingTitleElement.isConnected() && !changingTitleElement.isInShadowTree()) > + newTitleElement = &changingTitleElement; > + else > + newTitleElement = nullptr; > + } > + ASSERT(newTitleElement == descendantsOfType<HTMLTitleElement>(*this).first()); > }
I find this logic somewhat difficult to follow. Maybe having computeNewTitleElementForHTML/SVG helper lambdas would make this cleaner?
> Source/WebCore/rendering/RenderTreeAsText.cpp:964 > + ASSERT(element); // FIXME: Take a reference instead of a pointer.
Not sure if this sort FIXMEs achieve anything. It is pretty obvious from the code and we have tons of these still.
Darin Adler
Comment 13
2017-09-04 16:51:30 PDT
Comment on
attachment 319820
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=319820&action=review
>> Source/WebCore/dom/Document.cpp:1574 >> } > > I find this logic somewhat difficult to follow. Maybe having computeNewTitleElementForHTML/SVG helper lambdas would make this cleaner?
I will see what I can do to make it easier to read.
>> Source/WebCore/rendering/RenderTreeAsText.cpp:964 >> + ASSERT(element); // FIXME: Take a reference instead of a pointer. > > Not sure if this sort FIXMEs achieve anything. It is pretty obvious from the code and we have tons of these still.
OK, dropped it.
Darin Adler
Comment 14
2017-09-04 20:29:50 PDT
Committed
r221603
: <
http://trac.webkit.org/changeset/221603
>
Darin Adler
Comment 15
2017-09-04 20:55:30 PDT
Antti, the new version, still a bit complicated, but likely easier to read, is at <
https://trac.webkit.org/changeset/221603/webkit#file3
>.
Antti Koivisto
Comment 16
2017-09-04 21:45:12 PDT
Interesting solution! Definitely more readable.
Matt Lewis
Comment 17
2017-09-05 10:28:26 PDT
It looks like this revision (
r221603
) caused the test accessibility/mac/select-element-selection-with-optgroups.html to time out consistently on all macOS platforms.
https://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=accessibility%2Fmac%2Fselect-element-selection-with-optgroups.html
giving this diff: --- /Volumes/Data/slave/sierra-release-tests-wk2/build/layout-test-results/accessibility/mac/select-element-selection-with-optgroups-expected.txt +++ /Volumes/Data/slave/sierra-release-tests-wk2/build/layout-test-results/accessibility/mac/select-element-selection-with-optgroups-actual.txt @@ -1,17 +1,5 @@ +#PID UNRESPONSIVE - com.apple.WebKit.WebContent.Development (pid 83065) +FAIL: Timed out waiting for notifyDone to be called -This tests that setting selection within a list box works correctly if there are optgroups - -On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE". - - -PASS selectElement.selectedChildrenCount is 0 -PASS selectElement.selectedChildrenCount became 1 -PASS selectElement.selectedChildAtIndex(0).isEqual(option1) is true -PASS selectElement.selectedChildrenCount became 1 -PASS selectElement.selectedChildAtIndex(0).isEqual(option2) is true -PASS selectElement.selectedChildrenCount became 1 -PASS selectElement.selectedChildAtIndex(0).isEqual(option3) is true -PASS successfullyParsed is true - -TEST COMPLETE - +#EOF +#EOF
Matt Lewis
Comment 18
2017-09-05 11:13:37 PDT
I was able to reproduce this timeout by using run-webkit-tests --no-retry-failures accessibility/mac/select-element-selection-with-optgroups.html Interestingly when run without the --no-retry-failures argument it passed the first couple of times but once it timed out after passing the argument it consistently timed out with or without it.
Matt Lewis
Comment 19
2017-09-05 11:16:01 PDT
Reverted
r221603
for reason: This caused accessibility/mac/select-element-selection-with-optgroups.html to consistently timeout on macOS Committed
r221626
: <
http://trac.webkit.org/changeset/221626
>
Darin Adler
Comment 20
2017-09-05 19:38:24 PDT
Will re-land after fixing the test.
Darin Adler
Comment 21
2017-09-05 20:33:17 PDT
I figure out what happened. I had the null check logic backwards in AccessibilityUIElement::setSelectedChild and somehow missed the test failure locally. Fixed now!
Darin Adler
Comment 22
2017-09-05 20:35:46 PDT
Committed
r221661
: <
http://trac.webkit.org/changeset/221661
>
Matt Lewis
Comment 23
2017-09-06 09:52:34 PDT
Looks like the new patch broke the windows builds:
https://build.webkit.org/builders/Apple%20Win%20Debug%20(Build)/builds/3816
https://build.webkit.org/builders/Apple%20Win%20Debug%20(Build)/builds/3816/steps/compile-webkit/logs/stdio
This probably wasn't seen because the build was broken from another revision when the original patch from this bug was landed. The bad patch was rolled out and now we can see the build break from this revision.
Matt Lewis
Comment 24
2017-09-06 09:53:39 PDT
The first error given: c:\cygwin\home\buildbot\slave\win-debug\build\source\webcore\dom\Document.cpp(1570): error C2446: ':': no conversion from 'WebCore::Document::updateTitleElement::<lambda_16b62001404c23de7212dde0d19dd8c0>' to 'WebCore::Document::updateTitleElement::<lambda_8c64903d313d33c5fcf4c4945dc4e7bd>' [C:\cygwin\home\buildbot\slave\win-debug\build\WebKitBuild\Debug\Source\WebCore\WebCore.vcxproj] c:\cygwin\home\buildbot\slave\win-debug\build\source\webcore\dom\Document.cpp(1570): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
Ryan Haddad
Comment 25
2017-09-06 10:51:48 PDT
(In reply to Matt Lewis from
comment #23
)
> Looks like the new patch broke the windows builds: >
https://build.webkit.org/builders/Apple%20Win%20Debug%20(Build)/builds/3816
>
https://build.webkit.org/builders/Apple%20Win%20Debug%20(Build)/builds/3816/
> steps/compile-webkit/logs/stdio > > This probably wasn't seen because the build was broken from another revision > when the original patch from this bug was landed. The bad patch was rolled > out and now we can see the build break from this revision.
It looks like Per is taking care of this in
https://bugs.webkit.org/show_bug.cgi?id=176381
Radar WebKit Bug Importer
Comment 26
2017-09-27 12:39:58 PDT
<
rdar://problem/34693717
>
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