Bug 153763 - [iOS Simulator] fast/dom/event-handler-attributes.html failing
Summary: [iOS Simulator] fast/dom/event-handler-attributes.html failing
Status: NEW
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: iPhone / iPad iOS 9.0
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 152130
  Show dependency treegraph
 
Reported: 2016-02-01 13:40 PST by Ryan Haddad
Modified: 2017-10-21 13:56 PDT (History)
5 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ryan Haddad 2016-02-01 13:40:08 PST
[iOS Simulator] fast/dom/event-handler-attributes.html failing

<https://build.webkit.org/results/Apple%20iOS%209%20Simulator%20Release%20WK2%20(Tests)/r195975%20(2771)/results.html>
<http://webkit-test-results.webkit.org/dashboards/flakiness_dashboard.html#showAllRuns=true&tests=fast%2Fdom%2Fevent-handler-attributes.html>

--- /Volumes/Data/slave/ios-simulator-9-release-tests-wk2/build/layout-test-results/fast/dom/event-handler-attributes-expected.txt
+++ /Volumes/Data/slave/ios-simulator-9-release-tests-wk2/build/layout-test-results/fast/dom/event-handler-attributes-actual.txt
@@ -148,7 +148,7 @@
 PASS testScriptAttribute(document, "ratechange") is "document"
 PASS testScriptAttribute(document, "readystatechange") is "document"
 PASS testScriptAttribute(document, "reset") is "document"
-PASS testScriptAttribute(document, "resize") is "document"
+FAIL testScriptAttribute(document, "resize") should be document. Was window, document.
 PASS testScriptAttribute(document, "scroll") is "document"
 PASS testScriptAttribute(document, "search") is "document"
 PASS testScriptAttribute(document, "seeked") is "document"
@@ -246,7 +246,7 @@
 PASS testElementAttribute(element, "progress") is "target"
 PASS testElementAttribute(element, "ratechange") is "target"
 PASS testElementAttribute(element, "reset") is "target"
-PASS testElementAttribute(element, "resize") is "target"
+FAIL testElementAttribute(element, "resize") should be target. Was target, window.
 PASS testElementAttribute(element, "scroll") is "target"
 PASS testElementAttribute(element, "search") is "target"
 PASS testElementAttribute(element, "seeked") is "target"
@@ -339,7 +339,7 @@
 PASS testElementAttribute(inputElement, "progress") is "target"
 PASS testElementAttribute(inputElement, "ratechange") is "target"
 PASS testElementAttribute(inputElement, "reset") is "target"
-PASS testElementAttribute(inputElement, "resize") is "target"
+FAIL testElementAttribute(inputElement, "resize") should be target. Was target, window.
 PASS testElementAttribute(inputElement, "scroll") is "target"
 PASS testElementAttribute(inputElement, "search") is "target"
 PASS testElementAttribute(inputElement, "seeked") is "target"
@@ -432,7 +432,7 @@
 PASS testElementAttribute(audioElement, "progress") is "target"
 PASS testElementAttribute(audioElement, "ratechange") is "target"
 PASS testElementAttribute(audioElement, "reset") is "target"
-PASS testElementAttribute(audioElement, "resize") is "target"
+FAIL testElementAttribute(audioElement, "resize") should be target. Was target, window.
 PASS testElementAttribute(audioElement, "scroll") is "target"
 PASS testElementAttribute(audioElement, "search") is "target"
 PASS testElementAttribute(audioElement, "seeked") is "target"
@@ -525,7 +525,7 @@
 PASS testElementAttribute(videoElement, "progress") is "target"
 PASS testElementAttribute(videoElement, "ratechange") is "target"
 PASS testElementAttribute(videoElement, "reset") is "target"
-PASS testElementAttribute(videoElement, "resize") is "target"
+FAIL testElementAttribute(videoElement, "resize") should be target. Was target, window.
 PASS testElementAttribute(videoElement, "scroll") is "target"
 PASS testElementAttribute(videoElement, "search") is "target"
 PASS testElementAttribute(videoElement, "seeked") is "target"
@@ -816,7 +816,7 @@
 PASS testElementAttribute(rectElement, "progress") is "target"
 PASS testElementAttribute(rectElement, "ratechange") is "target"
 PASS testElementAttribute(rectElement, "reset") is "target"
-PASS testElementAttribute(rectElement, "resize") is "target"
+FAIL testElementAttribute(rectElement, "resize") should be target. Was target, window.
 PASS testElementAttribute(rectElement, "scroll") is "target"
 PASS testElementAttribute(rectElement, "search") is "target"
 PASS testElementAttribute(rectElement, "seeked") is "target"
@@ -919,7 +919,7 @@
 FAIL testElementAttribute(nonHTMLElement, "ratechange") should be none. Was script: target; content: none.
 PASS testElementAttribute(nonHTMLElement, "readystatechange") is "none"
 FAIL testElementAttribute(nonHTMLElement, "reset") should be none. Was script: target; content: none.
-FAIL testElementAttribute(nonHTMLElement, "resize") should be none. Was script: target; content: none.
+FAIL testElementAttribute(nonHTMLElement, "resize") should be none. Was script: target, window; content: none.
 FAIL testElementAttribute(nonHTMLElement, "scroll") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "search") should be none. Was script: target; content: none.
 FAIL testElementAttribute(nonHTMLElement, "seeked") should be none. Was script: target; content: none.
Comment 1 Ryan Haddad 2016-02-01 13:40:29 PST
This test has been failing since it was added with <http://trac.webkit.org/changeset/195953>
Comment 2 Alexey Proskuryakov 2016-02-02 21:39:30 PST
Jeremy, could you please advise if this is expected behavior for iOS?
Comment 3 Jeremy Jones 2016-02-04 15:54:15 PST
(In reply to comment #2)
> Jeremy, could you please advise if this is expected behavior for iOS?

I expect these to behave the same on iOS and MacOS. This test is passing on MacOS, so I expect it to also pass in iOS. 

This is testing the change to dom/GlobalEventHandlers.idl and page/DOMWindow.idl
And they don't look to be platform specific.

I'll continue to investigate.
Comment 4 David Kilzer (:ddkilzer) 2016-02-08 12:18:13 PST
When IDL changes cause unexpected test failures, the first thing I try is to force a clean build to make sure everything is regenerated properly.  (That should NOT be required if we had proper dependency tracking, but apparently that's not fully fixed yet.)

Forced clean build on bot403:  <https://build.webkit.org/builders/Apple%20iOS%209%20Simulator%20Release%20%28Build%29/builds/3272>

Forced clean build on bot402:  <https://build.webkit.org/builders/Apple%20iOS%209%20Simulator%20Release%20%28Build%29/builds/3273>
Comment 5 Chris Dumez 2016-02-08 14:34:46 PST
This may be caused by:

    // FIXME: Would it be sufficient to special-case this code for <body> and <frameset>?
    //
    // This code was added to address <rdar://problem/5846492> Onorientationchange event not working for document.body.
    // Forward this call to addEventListener() to the window since these are window-only events.
    if (eventType == eventNames().orientationchangeEvent || eventType == eventNames().resizeEvent)
        targetNode->document().domWindow()->addEventListener(eventType, WTFMove(listener), useCapture);


in Node.cpp’s tryAddEventListener().

This code is iOS specific and goes and set and event listener for the ‘resize’ event on the Window for some reason.
Comment 6 Ryan Haddad 2016-02-10 16:45:25 PST
Added an ios-specific expectation to keep the test running during investigation in <https://trac.webkit.org/r196405>.