Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement navigation events #11006

Merged
merged 1 commit into from May 12, 2016
Merged

Implement navigation events #11006

merged 1 commit into from May 12, 2016

Conversation

@cbrewster
Copy link
Member

cbrewster commented May 4, 2016

fixes #11005

Events:

  • PopStateEvent
  • HashChangeEvent
  • PageTransitionEvent

This change is Reviewable

@highfive
Copy link

highfive commented May 4, 2016

Heads up! This PR modifies the following files:

  • @KiChjang: components/script/dom/webidls/PopStateEvent.webidl, components/script/dom/mod.rs, components/script/dom/popstateevent.rs, components/script/dom/pagetransitionevent.rs, components/script/dom/webidls/PageTransitionEvent.webidl, components/script/dom/hashchangeevent.rs, components/script/dom/webidls/HashChangeEvent.webidl
@highfive
Copy link

highfive commented May 4, 2016

warning Warning warning

  • These commits modify unsafe code. Please review it carefully!
  • These commits modify script code, but no tests are modified.Please consider adding a test!
@cbrewster
Copy link
Member Author

cbrewster commented May 4, 2016

@bors-servo
Copy link
Contributor

bors-servo commented May 4, 2016

Trying commit 62deaa3 with merge d109691...

bors-servo added a commit that referenced this pull request May 4, 2016
Implement navigation events

fixes #11005

Events:
 * `PopStateEvent`
 * `HashChangeEvent`
 * `PageTransitionEvent`
@cbrewster cbrewster mentioned this pull request May 4, 2016
18 of 24 tasks complete
@bors-servo
Copy link
Contributor

bors-servo commented May 4, 2016

💔 Test failed - linux-dev

@cbrewster cbrewster force-pushed the cbrewster:history_events branch from 62deaa3 to 86ff936 May 4, 2016
@highfive highfive removed the S-tests-failed label May 4, 2016
@highfive
Copy link

highfive commented May 4, 2016

New code was committed to pull request.

@cbrewster
Copy link
Member Author

cbrewster commented May 4, 2016

@bors-servo
Copy link
Contributor

bors-servo commented May 4, 2016

Trying commit 86ff936 with merge d9ef8d7...

bors-servo added a commit that referenced this pull request May 4, 2016
Implement navigation events

fixes #11005

Events:
 * `PopStateEvent`
 * `HashChangeEvent`
 * `PageTransitionEvent`

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11006)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented May 4, 2016

💔 Test failed - mac-rel-wpt

@highfive
Copy link

highfive commented May 4, 2016

  ▶ Unexpected subtest result in /html/browsers/browsing-the-web/history-traversal/PopStateEvent.html:
  └ PASS [expected FAIL] initPopStateEvent

  ▶ Unexpected subtest result in /html/browsers/browsing-the-web/history-traversal/events.html:
  └ PASS [expected FAIL] Constructing pageshow event

  ▶ Unexpected subtest result in /html/browsers/browsing-the-web/history-traversal/events.html:
  └ PASS [expected FAIL] Constructing pagehide event

  ▶ Unexpected subtest result in /html/browsers/browsing-the-web/history-traversal/events.html:
  └ PASS [expected FAIL] Constructing pageshow event, persisted true

  ▶ Unexpected subtest result in /html/browsers/browsing-the-web/history-traversal/events.html:
  └ PASS [expected FAIL] Constructing pagehide event, persisted true

  ▶ Unexpected subtest result in /html/browsers/browsing-the-web/history-traversal/events.html:
  └ PASS [expected FAIL] Constructing pageshow event, empty options

  ▶ Unexpected subtest result in /html/browsers/browsing-the-web/history-traversal/events.html:
  └ PASS [expected FAIL] Constructing pagehide event, empty options

  ▶ Unexpected subtest result in /html/browsers/browsing-the-web/history-traversal/events.html:
  └ PASS [expected FAIL] Constructing pageshow event, missing options

  ▶ Unexpected subtest result in /html/browsers/browsing-the-web/history-traversal/events.html:
  └ PASS [expected FAIL] Constructing pagehide event, missing options

  ▶ Unexpected subtest result in /html/browsers/browsing-the-web/history-traversal/events.html:
  └ PASS [expected FAIL] Constructing pageshow event, persisted:null

  ▶ Unexpected subtest result in /html/browsers/browsing-the-web/history-traversal/events.html:
  └ PASS [expected FAIL] Constructing pagehide event, persisted:null

  ▶ Unexpected subtest result in /html/browsers/browsing-the-web/history-traversal/events.html:
  └ PASS [expected FAIL] Constructing pageshow event, persisted:undefined

  ▶ Unexpected subtest result in /html/browsers/browsing-the-web/history-traversal/events.html:
  └ PASS [expected FAIL] Constructing pagehide event, persisted:undefined

  ▶ Unexpected subtest result in /html/browsers/browsing-the-web/history-traversal/events.html:
  └ PASS [expected FAIL] Constructing pageshow event, bubbles:true

  ▶ Unexpected subtest result in /html/browsers/browsing-the-web/history-traversal/events.html:
  └ PASS [expected FAIL] Constructing pagehide event, bubbles:true

  ▶ Unexpected subtest result in /html/browsers/browsing-the-web/history-traversal/events.html:
  └ PASS [expected FAIL] Constructing pageshow event, cancelable:true

  ▶ Unexpected subtest result in /html/browsers/browsing-the-web/history-traversal/events.html:
  └ PASS [expected FAIL] Constructing pagehide event, cancelable:true

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] PopStateEvent interface: existence and properties of interface object

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] PopStateEvent interface object length

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] PopStateEvent interface object name

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] PopStateEvent interface: existence and properties of i</span><span class="stdout">nterface prototype object

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] PopStateEvent interface: existence and properties of interface prototype object&#39;s &#34;constructor&#34; property

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] PopStateEvent interface: attribute state

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] PopStateEvent must be primary interface of new PopStateEvent(&#34;popstate&#34;, { data: {} })

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Stringification of new PopStateEvent(&#34;popstate&#34;, { data: {} })

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] PopStateEvent interface: new PopStateEvent(&#34;popstate&#34;, { data: {} }) must inherit property &#34;state&#34; with the proper type (0)

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Event interface: new PopStateEvent(&#34;popstate&#34;, { data: {} }) must inherit property &#34;type&#34; with the proper type (0)

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Event interface: new PopStateEvent(&#34;popstate&#34;, { data: {} }) must inherit property &#34;target&#34; with the proper type (1)

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Event interface: new PopStateEvent(&#34;popstate&#34;, { data: {} }) must inherit property &#34;currentTarget&#34; with the proper type (2)

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Event interface: new PopStateEvent(&#34;popstate&#34;, { data: {} }) must inherit property &#34;NONE&#34; with the proper type (3)

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Event interface: new PopStateEvent(&#34;popstate&#34;, { data: {} }) must inherit property &#34;CAPTURING_PHASE&#34; with the proper type (4)

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Event interface: new PopStateEvent(&#34;popstate&#34;, { data: {} }) must inherit property &#34;AT_TARGET&#34; with the proper type (5)

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Event interface: new PopStateEvent(&#34;popstate&#34;, { data: {} }) must inherit property &#34;BUBBLING_PHASE&#34; with the proper type (6)

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Event interface: new PopStateEvent(&#34;popstate&#34;, { data: {} }) must inherit property &#34;eventPhase&#34; with the proper type (7)

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Event interface: new PopStateEvent(&#34;popstate&#34;, { data: {} }) must inherit property &#34;stopPropagation&#34; with the proper type (8)

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Event interface: new PopStateEvent(&#34;popstate&#34;, { data: {} }) must inherit property &#34;stopImmediatePropagation&#34; with the proper type (9)

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Event interface: new PopStateEvent(&#34;popstate&#34;, { data: {} }) must inherit property &#34;bubbles&#34; with the proper type (10)

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Event interface: new PopStateEvent(&#34;popstate&#34;, { data: {} }) must inherit property &#34;cancelable&#34; with the proper type (11)

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Event interface: new PopStateEvent(&#34;popstate&#34;, { data: {} }) must inherit property &#34;preventDefault&#34; with the proper type (12)

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Event interface: new PopStateEvent(&#34;popstate&#34;, { data: {} }) must inherit property &#34;defaultPrevented&#34; with the proper type (13)

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Event interface: new PopStateEvent(&#34;popstate&#34;, { data: {} }) must have own property &#34;isTrusted&#34;

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Event interface: new PopStateEvent(&#34;popstate&#34;, { data: {} }) must inherit property &#34;timeStamp&#34; with the proper type (15)

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Event interface: new PopStateEvent(&#34;popstate&#34;, { data: {} }) must inherit property &#34;initEvent&#34; with the proper type (16)

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] Event interface: calling initEvent(DOMString,boolean,boolean) on new PopStateEvent(&#34;popstate&#34;, { data: {} }) with too few arguments must throw TypeError

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] HashChangeEvent interface: existence and properties of interface object

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] HashChangeEvent interface object length

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] HashChangeEvent interface object name

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] HashChangeEvent interface: existence and properties of interface prototype object

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] HashChangeEvent interface: existence and properties of interface prototype object&#39;s &#34;constructor&#34; property

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] HashChangeEvent interface: attribute oldURL

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] HashChangeEvent interface: attribute newURL

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] PageTransitionEvent interface: existence and properties of interface object

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] PageTransitionEvent interface object length

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] PageTransitionEvent interface object name

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] PageTransitionEvent interface: existence and properties of interface prototype object

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] PageTransitionEvent interface: existence and properties of interface prototype object&#39;s &#34;constructor&#34; property

  ▶ Unexpected subtest result in /html/dom/interfaces.html:
  └ PASS [expected FAIL] PageTransitionEvent interface: attribute persisted

  ▶ Unexpected subtest result in /_mozilla/mozilla/interfaces.html:
  │ FAIL [expected PASS] Interfaces exposed on the window
  │   → assert_true: If this is failing: DANGER, are you sure you want to expose the new interface PageTransitionEvent to all webpages as a property on the window? Do not make a change to this file without review from jdm or Ms2ger for that specific change! expected true got false
  │ 
  │ @http://web-platform.test:8000/_mozilla/mozilla/interfaces.html:251:5
  │ Test.prototype.step@http://web-platform.test:8000/resources/testharness.js:1397:20
  │ test@http://web-platform.test:8000/resources/testharness.js:495:9
  └ @http://web-platform.test:8000/_mozilla/mozilla/interfaces.html:245:1
@cbrewster cbrewster force-pushed the cbrewster:history_events branch from 86ff936 to f415af1 May 4, 2016
@highfive
Copy link

highfive commented May 4, 2016

New code was committed to pull request.

@highfive highfive removed the S-tests-failed label May 4, 2016
@cbrewster
Copy link
Member Author

cbrewster commented May 4, 2016

This is ready for review!

ev
}

#[allow(unsafe_code)]

This comment has been minimized.

Copy link
@jdm

jdm May 4, 2016

Member

Eh?

This comment has been minimized.

Copy link
@cbrewster

cbrewster May 4, 2016

Author Member

whoops! there should only be on the PopStateEvent due to the webidl any. But I will remove it on the other 2 events.

@highfive
Copy link

highfive commented May 4, 2016

New code was committed to pull request.

@cbrewster cbrewster force-pushed the cbrewster:history_events branch from b77e0ed to ddf9988 May 10, 2016
@highfive
Copy link

highfive commented May 10, 2016

New code was committed to pull request.

@highfive highfive assigned jdm and unassigned glennw May 10, 2016
@highfive
Copy link

highfive commented May 11, 2016

New code was committed to pull request.

@cbrewster
Copy link
Member Author

cbrewster commented May 11, 2016

Just squashed, that test is passing, I added PageTransitionEvent to the exposed properties list after that test failure.

@jdm
Copy link
Member

jdm commented May 11, 2016

That is the correct thing to do.

@jdm
Copy link
Member

jdm commented May 11, 2016

@bors-servo: r=asajeffrey

@bors-servo
Copy link
Contributor

bors-servo commented May 11, 2016

📌 Commit ccd838f has been approved by asajeffrey

@bors-servo
Copy link
Contributor

bors-servo commented May 12, 2016

Testing commit ccd838f with merge 78471d4...

bors-servo added a commit that referenced this pull request May 12, 2016
Implement navigation events

fixes #11005

Events:
 * `PopStateEvent`
 * `HashChangeEvent`
 * `PageTransitionEvent`

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11006)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented May 12, 2016

💔 Test failed - mac-rel-wpt

@highfive
Copy link

highfive commented May 12, 2016

  ▶ Unexpected subtest result in /html/browsers/browsing-the-web/history-traversal/PopStateEvent.html:
  └ PASS [expected FAIL] document.createEvent
@cbrewster
Copy link
Member Author

cbrewster commented May 12, 2016

I am unsure why that test is failing. It is not marked as expected to fail.

@cbrewster
Copy link
Member Author

cbrewster commented May 12, 2016

@jdm ahh need to rebase my local version

@cbrewster cbrewster force-pushed the cbrewster:history_events branch from ccd838f to 11dd0d7 May 12, 2016
@highfive
Copy link

highfive commented May 12, 2016

New code was committed to pull request.

@asajeffrey
Copy link
Member

asajeffrey commented May 12, 2016

@bors-servo
Copy link
Contributor

bors-servo commented May 12, 2016

📌 Commit 11dd0d7 has been approved by asajeffrey

@bors-servo
Copy link
Contributor

bors-servo commented May 12, 2016

Testing commit 11dd0d7 with merge bca625b...

bors-servo added a commit that referenced this pull request May 12, 2016
Implement navigation events

fixes #11005

Events:
 * `PopStateEvent`
 * `HashChangeEvent`
 * `PageTransitionEvent`

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11006)
<!-- Reviewable:end -->
@bors-servo
Copy link
Contributor

bors-servo commented May 12, 2016

@bors-servo bors-servo merged commit 11dd0d7 into servo:master May 12, 2016
3 checks passed
3 checks passed
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
homu Test successful
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

6 participants
You can’t perform that action at this time.