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

Add PerformanceResourceTiming:TimingAllowCheck #23873

Merged
merged 4 commits into from Sep 25, 2019

Conversation

@RestitutorOrbis
Copy link
Contributor

RestitutorOrbis commented Jul 28, 2019

Added timing allow check to http_loader.rs in fn http_network_fetch.

  • ./mach build -d does not report any errors
  • ./mach test-tidy does not report any errors
  • These changes fix #21270

Things to Do

  • Map header values from Timing-Allow-Origin to URL types using Url::Parse
  • Check equality of those header URL origin with the origin in question
  • Just use url instead of res.origin
  • Change .set_attribute(ResourceAttribute::RedirectStart(0)) to .set_attribute(ResourceAttribute::RedirectStart(RedirectStartValue::Zero))
  • Change .set_attribute(ResourceAttribute::RedirectEnd(0)) to .set_attribute(ResourceAttribute::RedirectEnd(RedirectEndValue::Zero))
  • Figure out how to set DomainLookupStart, RequestStart, and ResponseStart without directly passing value as part of enum
  • Figure out how to handle lack of DomainLookupEnd (#21260) and SecureConnectionStart (#21268)
  • add a flag to ResourceFetchTiming that indicates if the timing check passed, and only update timing attributes if that flag is false
  • add function to mark timing test as failed and set all attributes to 0
  • resolve compile error regarding move of header_strings variable
  • resolve URL parse errors that appear during test execution
  • Fix /resource-timing/crossorigin-sandwich-no-TAO.sub.html (Refer to resource_TAO_cross_origin_redirect_chain.html)
  • Fix /resource-timing/crossorigin-sandwich-TAO.sub.html (Refer to resource_TAO_cross_origin_redirect_chain.html)
  • Fix /resource-timing/resource-reload-TAO.sub.html (Get TIMEOUT, fails on Firefox too?)
  • Fix /resource-timing/resource_TAO_cross_origin_redirect_chain.html (Problem seems to lie in loading the iFrame, when the request is made, the URL attached to the PerformanceResourceTiming interface is the initial URL set on the iFrame instead of the URL that is ultimately loaded)
  • Fix resource-timing/resource_TAO_multi_wildcard.html (Doesn't work because IMG element doesn't generate HTTP request with Origin field)
  • Fix /resource-timing/resource_TAO_match_origin.htm
  • Fix /resource-timing/resource_TAO_match_wildcard.htm
  • Fix /resource-timing/resource_TAO_multi.htm
  • Fix /resource-timing/resource_TAO_wildcard.htm
  • Fix /resource-timing/resource_TAO_zero.htm
  • Fix /resource-timing/resource_TAO_null.htm
  • Fix /resource-timing/resource_TAO_origin.htm (tests for responseStart and domainLookupEnd fail because #21260 and #21271 haven't been resolved)
  • Fix /resource-timing/resource_TAO_space.htm
  • Fix /resource-timing/resource_TAO_origin_uppercase.htm
  • Fix /resource-timing/resource_timing_TAO_cross_origin_redirect.html (Refer to resource_TAO_cross_origin_redirect_chain.html)
  • Fix /resource-timing/TAO-case-insensitive-null-opaque-origin.sub.html (TIMEOUT, doesn't seem to parse iFrame SRC correctly? There doesn't seem to be any sign that it makes a request to TAOResponse.py)
  • Fix /resource-timing/TAO-crossorigin-port.sub.html
  • Fix /resource-timing/TAO-null-opaque-origin.sub.html (Refer to /resource-timing/TAO-crossorigin-port.sub.html)
  • /navigation-timing/nav2_test_redirect_chain_xserver_partial_opt_in.html
  • /navigation-timing/nav2_test_document_open.html
  • /navigation-timing/nav2_test_frame_removed.html
  • /performance-timeline/not-clonable.html
  • /navigation-timing/nav2_test_redirect_xserver.html
  • /resource-timing/resource_connection_reuse.https.html
  • /resource-timing/resource_reparenting.html
  • /resource-timing/resource_connection_reuse.html
  • /resource-timing/resource_script_types.html
  • /resource-timing/idlharness.any.html
  • /resource-timing/clear_resource_timing_functionality.html
  • /resource-timing/idlharness.any.worker.html
  • /resource-timing/resource_cached.htm
  • /resource-timing/resource_connection_reuse_mixed_content_redirect.html
  • /resource-timing/resource_connection_reuse_mixed_content.html
  • /resource-timing/resource_timing_buffer_full_when_shrink_buffer_size.html
  • /navigation-timing/idlharness.window.html
  • /navigation-timing/nav2_test_navigate_iframe.html
  • /navigation-timing/nav2_test_navigate_within_document.html
  • /resource-timing/resource_reuse.sub.html
  • /navigation-timing/nav2_test_instance_accessible_from_the_start.html
  • /resource-timing/resource_dedicated_worker.html
  • /navigation-timing/unload-event-same-origin-check.html
  • /navigation-timing/nav2_test_navigation_type_backforward.html
  • There are tests for these changes OR
  • These changes do not require tests because ___

This change is Reviewable

@highfive
Copy link

highfive commented Jul 28, 2019

Thanks for the pull request, and welcome! The Servo team is excited to review your changes, and you should hear from @nox (or someone else) soon.

@highfive
Copy link

highfive commented Jul 28, 2019

Heads up! This PR modifies the following files:

@highfive
Copy link

highfive commented Jul 28, 2019

warning Warning warning

  • These commits modify net code, but no tests are modified. Please consider adding a test!
@jdm
Copy link
Member

jdm commented Jul 29, 2019

@RestitutorOrbis What do you need help with?

@RestitutorOrbis
Copy link
Contributor Author

RestitutorOrbis commented Jul 31, 2019

@jdm At the moment, I'm unsure of how to handle the lack of DomainLookupEnd, and SecureConnectionStart. Do I need to do those issues first or is it alright if I leave a todo with regard to that? Also, How do I handle setting DomainLookupStart, RequestStart, and ResponseStart? They don't seem to have Enums associated with them.

@jdm
Copy link
Member

jdm commented Aug 7, 2019

@RestitutorOrbis Yes, you can leave the missing fields as TODO comments while they don't exist. Rather than relying on enums, I would recommend adding a mark_failed_timing_check method which sets the timing check member to false and sets all other members to 0.

@jdm jdm assigned jdm and unassigned nox Aug 7, 2019
@jdm jdm added the S-needs-rebase label Aug 15, 2019
if self.redirect_start == 0 {
self.redirect_start = self.fetch_start
}
if self.timing_check_passed {

This comment has been minimized.

Copy link
@jdm

jdm Aug 15, 2019

Member

I would suggest this:

if !self.timing_check_passed {
    return;
}
.timing
.lock()
.unwrap()
.set_attribute(ResourceAttribute::TimingCheckPassed);

This comment has been minimized.

Copy link
@jdm

jdm Aug 15, 2019

Member

We should call mark_timing_check_failed directly here instead of using set_attribute. That means we can remove the new ResourceAttribute value as well.

This comment has been minimized.

Copy link
@RestitutorOrbis

RestitutorOrbis Aug 19, 2019

Author Contributor

But if we remove the ResourceAttribute value, then we can't have an early return in set_attribute and we need that early return in case it tries to set it later, right?

This comment has been minimized.

Copy link
@jdm

jdm Aug 20, 2019

Member

I'm not sure I understand the issue. mark_timing_check_failed will set the timing_check_passed member appropriately, and set_attribute can continue to check timing_check_passed.

This comment has been minimized.

Copy link
@RestitutorOrbis

RestitutorOrbis Aug 22, 2019

Author Contributor

Yeah, you're right. I was mistaken.

.collect();
let wildcard_present = header_strings
.iter()
.fold(false, |acc, header_str| acc || *header_str == "*");

This comment has been minimized.

Copy link
@jdm

jdm Aug 15, 2019

Member

I think any(|header| *header == "*") instead of fold is easier to read.

.iter()
.map(|header_string| ServoUrl::parse(header_string))
.filter(|header_url| header_url.is_ok())
.map(|header_url| header_url.unwrap().into_url())

This comment has been minimized.

Copy link
@jdm

jdm Aug 15, 2019

Member

.filter_map(|header| ServoUrl::parse(header).ok().map(|u| u.into_url())

.map(|header_string| ServoUrl::parse(header_string))
.filter(|header_url| header_url.is_ok())
.map(|header_url| header_url.unwrap().into_url())
.fold(false, |acc, header_url| {

This comment has been minimized.

Copy link
@jdm

jdm Aug 15, 2019

Member

.any(|header_url| header_url.origin() == url.as_url().origin())
I don't think the cloned_url is necessary if you don't use fold.

@RestitutorOrbis
Copy link
Contributor Author

RestitutorOrbis commented Sep 3, 2019

Progress Update:
I've been working to get the tests working. I've noticed that the values I set in the mark_timing_check_failed don't seem to be passed onto the JS interface as the tests are reporting NaN values, I haven't had much luck getting a deeper understanding of whats going on as I'm still getting used to the workflow with Mach. Hope to report good news soon!

@RestitutorOrbis RestitutorOrbis force-pushed the RestitutorOrbis:jn-add-tao branch from 343a2db to 619946d Sep 4, 2019
@@ -488,6 +489,7 @@ impl ResourceFetchTiming {
pub fn new(timing_type: ResourceTimingType) -> ResourceFetchTiming {
ResourceFetchTiming {
timing_type: timing_type,
timing_check_passed: false,

This comment has been minimized.

Copy link
@jdm

jdm Sep 4, 2019

Member

This should be initialized to true.

@RestitutorOrbis
Copy link
Contributor Author

RestitutorOrbis commented Sep 24, 2019

@bors-servo try=wpt

@bors-servo
Copy link
Contributor

bors-servo commented Sep 24, 2019

@RestitutorOrbis: 🔑 Insufficient privileges: not in try users

@RestitutorOrbis
Copy link
Contributor Author

RestitutorOrbis commented Sep 24, 2019

@jdm Can you re-run the taskcluster task and @bors-servo try=wpt. The taskcluster fails on a git reset which I assume isn't likely to recur.

@bors-servo
Copy link
Contributor

bors-servo commented Sep 24, 2019

@RestitutorOrbis: 🔑 Insufficient privileges: not in try users

@jdm
Copy link
Member

jdm commented Sep 24, 2019

@bors-servo try=wpt

bors-servo added a commit that referenced this pull request Sep 24, 2019
Add PerformanceResourceTiming:TimingAllowCheck

Added timing allow check to http_loader.rs in `fn http_network_fetch`.

<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #21270

### Things to Do
- [x] Map header values from Timing-Allow-Origin to URL types using [Url::Parse](https://docs.rs/url/2.0.0/url/)
- [x] Check equality of those header URL origin with the origin in question
- [x] Just use url instead of `res.origin`
- [x] Change `.set_attribute(ResourceAttribute::RedirectStart(0))` to `.set_attribute(ResourceAttribute::RedirectStart(RedirectStartValue::Zero))`
- [x] Change `.set_attribute(ResourceAttribute::RedirectEnd(0))` to `.set_attribute(ResourceAttribute::RedirectEnd(RedirectEndValue::Zero))`
- [x] Figure out how to set DomainLookupStart, RequestStart, and ResponseStart without directly passing value as part of enum
- [x] Figure out how to handle lack of DomainLookupEnd (#21260) and SecureConnectionStart (#21268)
- [x] add a flag to ResourceFetchTiming that indicates if the timing check passed, and only update timing attributes if that flag is false
- [x] add function to mark timing test as failed and set all attributes to 0
- [x] resolve compile error regarding move of header_strings variable
- [x] resolve URL parse errors that appear during test execution
- [x] ~~Fix /resource-timing/crossorigin-sandwich-no-TAO.sub.html~~ (Refer to resource_TAO_cross_origin_redirect_chain.html)
- [x] ~~Fix /resource-timing/crossorigin-sandwich-TAO.sub.html~~ (Refer to resource_TAO_cross_origin_redirect_chain.html)
- [x] ~~Fix /resource-timing/resource-reload-TAO.sub.html~~ (Get TIMEOUT, fails on Firefox too?)
- [x] ~~Fix /resource-timing/resource_TAO_cross_origin_redirect_chain.html~~ (Problem seems to lie in loading the iFrame, when the request is made, the URL attached to the PerformanceResourceTiming interface is the initial URL set on the iFrame instead of the URL that is ultimately loaded)
- [x] ~~Fix resource-timing/resource_TAO_multi_wildcard.html~~ (Doesn't work because IMG element doesn't generate HTTP request with Origin field)
- [x] Fix /resource-timing/resource_TAO_match_origin.htm
- [x] Fix /resource-timing/resource_TAO_match_wildcard.htm
- [x] Fix /resource-timing/resource_TAO_multi.htm
- [x] Fix /resource-timing/resource_TAO_wildcard.htm
- [x] Fix /resource-timing/resource_TAO_zero.htm
- [x] Fix /resource-timing/resource_TAO_null.htm
- [x] Fix /resource-timing/resource_TAO_origin.htm (tests for responseStart and domainLookupEnd fail because #21260 and #21271 haven't been resolved)
- [x] Fix /resource-timing/resource_TAO_space.htm
- [x] Fix /resource-timing/resource_TAO_origin_uppercase.htm
- [x] ~~Fix /resource-timing/resource_timing_TAO_cross_origin_redirect.html~~ (Refer to resource_TAO_cross_origin_redirect_chain.html)
- [x] ~~Fix /resource-timing/TAO-case-insensitive-null-opaque-origin.sub.html~~ (TIMEOUT, doesn't seem to parse iFrame SRC correctly? There doesn't seem to be any sign that it makes a request to TAOResponse.py)
- [x] Fix /resource-timing/TAO-crossorigin-port.sub.html
- [x] ~~Fix /resource-timing/TAO-null-opaque-origin.sub.html~~ (Refer to /resource-timing/TAO-crossorigin-port.sub.html)
- [x] /navigation-timing/nav2_test_redirect_chain_xserver_partial_opt_in.html
- [x] /navigation-timing/nav2_test_document_open.html
- [x] /navigation-timing/nav2_test_frame_removed.html
- [x] /performance-timeline/not-clonable.html
- [x] /navigation-timing/nav2_test_redirect_xserver.html
- [x] /resource-timing/resource_connection_reuse.https.html
- [x] /resource-timing/resource_reparenting.html
- [x] /resource-timing/resource_connection_reuse.html
- [x] /resource-timing/resource_script_types.html
- [x] /resource-timing/idlharness.any.html
- [x] /resource-timing/clear_resource_timing_functionality.html
- [x] /resource-timing/idlharness.any.worker.html
- [x] /resource-timing/resource_cached.htm
- [x] /resource-timing/resource_connection_reuse_mixed_content_redirect.html
- [x] /resource-timing/resource_connection_reuse_mixed_content.html
- [x] /resource-timing/resource_timing_buffer_full_when_shrink_buffer_size.html
- [x] /navigation-timing/idlharness.window.html
- [x] /navigation-timing/nav2_test_navigate_iframe.html
- [x] /navigation-timing/nav2_test_navigate_within_document.html
- [x] /resource-timing/resource_reuse.sub.html
- [x] /navigation-timing/nav2_test_instance_accessible_from_the_start.html
- [x] /resource-timing/resource_dedicated_worker.html
- [x] /navigation-timing/unload-event-same-origin-check.html
- [x] /navigation-timing/nav2_test_navigation_type_backforward.html

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because ___

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

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

bors-servo commented Sep 24, 2019

Trying commit 63adf66 with merge c1014de...

@bors-servo
Copy link
Contributor

bors-servo commented Sep 24, 2019

☀️ Test successful - linux-rel-css, linux-rel-wpt, status-taskcluster
State: approved= try=True

@jdm
Copy link
Member

jdm commented Sep 24, 2019

@bors-servo
Copy link
Contributor

bors-servo commented Sep 24, 2019

📌 Commit 63adf66 has been approved by jdm

@bors-servo
Copy link
Contributor

bors-servo commented Sep 24, 2019

Testing commit 63adf66 with merge 7f48e93...

bors-servo added a commit that referenced this pull request Sep 24, 2019
Add PerformanceResourceTiming:TimingAllowCheck

Added timing allow check to http_loader.rs in `fn http_network_fetch`.

<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #21270

### Things to Do
- [x] Map header values from Timing-Allow-Origin to URL types using [Url::Parse](https://docs.rs/url/2.0.0/url/)
- [x] Check equality of those header URL origin with the origin in question
- [x] Just use url instead of `res.origin`
- [x] Change `.set_attribute(ResourceAttribute::RedirectStart(0))` to `.set_attribute(ResourceAttribute::RedirectStart(RedirectStartValue::Zero))`
- [x] Change `.set_attribute(ResourceAttribute::RedirectEnd(0))` to `.set_attribute(ResourceAttribute::RedirectEnd(RedirectEndValue::Zero))`
- [x] Figure out how to set DomainLookupStart, RequestStart, and ResponseStart without directly passing value as part of enum
- [x] Figure out how to handle lack of DomainLookupEnd (#21260) and SecureConnectionStart (#21268)
- [x] add a flag to ResourceFetchTiming that indicates if the timing check passed, and only update timing attributes if that flag is false
- [x] add function to mark timing test as failed and set all attributes to 0
- [x] resolve compile error regarding move of header_strings variable
- [x] resolve URL parse errors that appear during test execution
- [x] ~~Fix /resource-timing/crossorigin-sandwich-no-TAO.sub.html~~ (Refer to resource_TAO_cross_origin_redirect_chain.html)
- [x] ~~Fix /resource-timing/crossorigin-sandwich-TAO.sub.html~~ (Refer to resource_TAO_cross_origin_redirect_chain.html)
- [x] ~~Fix /resource-timing/resource-reload-TAO.sub.html~~ (Get TIMEOUT, fails on Firefox too?)
- [x] ~~Fix /resource-timing/resource_TAO_cross_origin_redirect_chain.html~~ (Problem seems to lie in loading the iFrame, when the request is made, the URL attached to the PerformanceResourceTiming interface is the initial URL set on the iFrame instead of the URL that is ultimately loaded)
- [x] ~~Fix resource-timing/resource_TAO_multi_wildcard.html~~ (Doesn't work because IMG element doesn't generate HTTP request with Origin field)
- [x] Fix /resource-timing/resource_TAO_match_origin.htm
- [x] Fix /resource-timing/resource_TAO_match_wildcard.htm
- [x] Fix /resource-timing/resource_TAO_multi.htm
- [x] Fix /resource-timing/resource_TAO_wildcard.htm
- [x] Fix /resource-timing/resource_TAO_zero.htm
- [x] Fix /resource-timing/resource_TAO_null.htm
- [x] Fix /resource-timing/resource_TAO_origin.htm (tests for responseStart and domainLookupEnd fail because #21260 and #21271 haven't been resolved)
- [x] Fix /resource-timing/resource_TAO_space.htm
- [x] Fix /resource-timing/resource_TAO_origin_uppercase.htm
- [x] ~~Fix /resource-timing/resource_timing_TAO_cross_origin_redirect.html~~ (Refer to resource_TAO_cross_origin_redirect_chain.html)
- [x] ~~Fix /resource-timing/TAO-case-insensitive-null-opaque-origin.sub.html~~ (TIMEOUT, doesn't seem to parse iFrame SRC correctly? There doesn't seem to be any sign that it makes a request to TAOResponse.py)
- [x] Fix /resource-timing/TAO-crossorigin-port.sub.html
- [x] ~~Fix /resource-timing/TAO-null-opaque-origin.sub.html~~ (Refer to /resource-timing/TAO-crossorigin-port.sub.html)
- [x] /navigation-timing/nav2_test_redirect_chain_xserver_partial_opt_in.html
- [x] /navigation-timing/nav2_test_document_open.html
- [x] /navigation-timing/nav2_test_frame_removed.html
- [x] /performance-timeline/not-clonable.html
- [x] /navigation-timing/nav2_test_redirect_xserver.html
- [x] /resource-timing/resource_connection_reuse.https.html
- [x] /resource-timing/resource_reparenting.html
- [x] /resource-timing/resource_connection_reuse.html
- [x] /resource-timing/resource_script_types.html
- [x] /resource-timing/idlharness.any.html
- [x] /resource-timing/clear_resource_timing_functionality.html
- [x] /resource-timing/idlharness.any.worker.html
- [x] /resource-timing/resource_cached.htm
- [x] /resource-timing/resource_connection_reuse_mixed_content_redirect.html
- [x] /resource-timing/resource_connection_reuse_mixed_content.html
- [x] /resource-timing/resource_timing_buffer_full_when_shrink_buffer_size.html
- [x] /navigation-timing/idlharness.window.html
- [x] /navigation-timing/nav2_test_navigate_iframe.html
- [x] /navigation-timing/nav2_test_navigate_within_document.html
- [x] /resource-timing/resource_reuse.sub.html
- [x] /navigation-timing/nav2_test_instance_accessible_from_the_start.html
- [x] /resource-timing/resource_dedicated_worker.html
- [x] /navigation-timing/unload-event-same-origin-check.html
- [x] /navigation-timing/nav2_test_navigation_type_backforward.html

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because ___

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

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

bors-servo commented Sep 24, 2019

💔 Test failed - status-taskcluster

@jdm
Copy link
Member

jdm commented Sep 24, 2019

@bors-servo
Copy link
Contributor

bors-servo commented Sep 24, 2019

💣 Failed to start rebuilding: Unknown error

@bors-servo
Copy link
Contributor

bors-servo commented Sep 24, 2019

Testing commit 63adf66 with merge e6b271d...

bors-servo added a commit that referenced this pull request Sep 24, 2019
Add PerformanceResourceTiming:TimingAllowCheck

Added timing allow check to http_loader.rs in `fn http_network_fetch`.

<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `___` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #21270

### Things to Do
- [x] Map header values from Timing-Allow-Origin to URL types using [Url::Parse](https://docs.rs/url/2.0.0/url/)
- [x] Check equality of those header URL origin with the origin in question
- [x] Just use url instead of `res.origin`
- [x] Change `.set_attribute(ResourceAttribute::RedirectStart(0))` to `.set_attribute(ResourceAttribute::RedirectStart(RedirectStartValue::Zero))`
- [x] Change `.set_attribute(ResourceAttribute::RedirectEnd(0))` to `.set_attribute(ResourceAttribute::RedirectEnd(RedirectEndValue::Zero))`
- [x] Figure out how to set DomainLookupStart, RequestStart, and ResponseStart without directly passing value as part of enum
- [x] Figure out how to handle lack of DomainLookupEnd (#21260) and SecureConnectionStart (#21268)
- [x] add a flag to ResourceFetchTiming that indicates if the timing check passed, and only update timing attributes if that flag is false
- [x] add function to mark timing test as failed and set all attributes to 0
- [x] resolve compile error regarding move of header_strings variable
- [x] resolve URL parse errors that appear during test execution
- [x] ~~Fix /resource-timing/crossorigin-sandwich-no-TAO.sub.html~~ (Refer to resource_TAO_cross_origin_redirect_chain.html)
- [x] ~~Fix /resource-timing/crossorigin-sandwich-TAO.sub.html~~ (Refer to resource_TAO_cross_origin_redirect_chain.html)
- [x] ~~Fix /resource-timing/resource-reload-TAO.sub.html~~ (Get TIMEOUT, fails on Firefox too?)
- [x] ~~Fix /resource-timing/resource_TAO_cross_origin_redirect_chain.html~~ (Problem seems to lie in loading the iFrame, when the request is made, the URL attached to the PerformanceResourceTiming interface is the initial URL set on the iFrame instead of the URL that is ultimately loaded)
- [x] ~~Fix resource-timing/resource_TAO_multi_wildcard.html~~ (Doesn't work because IMG element doesn't generate HTTP request with Origin field)
- [x] Fix /resource-timing/resource_TAO_match_origin.htm
- [x] Fix /resource-timing/resource_TAO_match_wildcard.htm
- [x] Fix /resource-timing/resource_TAO_multi.htm
- [x] Fix /resource-timing/resource_TAO_wildcard.htm
- [x] Fix /resource-timing/resource_TAO_zero.htm
- [x] Fix /resource-timing/resource_TAO_null.htm
- [x] Fix /resource-timing/resource_TAO_origin.htm (tests for responseStart and domainLookupEnd fail because #21260 and #21271 haven't been resolved)
- [x] Fix /resource-timing/resource_TAO_space.htm
- [x] Fix /resource-timing/resource_TAO_origin_uppercase.htm
- [x] ~~Fix /resource-timing/resource_timing_TAO_cross_origin_redirect.html~~ (Refer to resource_TAO_cross_origin_redirect_chain.html)
- [x] ~~Fix /resource-timing/TAO-case-insensitive-null-opaque-origin.sub.html~~ (TIMEOUT, doesn't seem to parse iFrame SRC correctly? There doesn't seem to be any sign that it makes a request to TAOResponse.py)
- [x] Fix /resource-timing/TAO-crossorigin-port.sub.html
- [x] ~~Fix /resource-timing/TAO-null-opaque-origin.sub.html~~ (Refer to /resource-timing/TAO-crossorigin-port.sub.html)
- [x] /navigation-timing/nav2_test_redirect_chain_xserver_partial_opt_in.html
- [x] /navigation-timing/nav2_test_document_open.html
- [x] /navigation-timing/nav2_test_frame_removed.html
- [x] /performance-timeline/not-clonable.html
- [x] /navigation-timing/nav2_test_redirect_xserver.html
- [x] /resource-timing/resource_connection_reuse.https.html
- [x] /resource-timing/resource_reparenting.html
- [x] /resource-timing/resource_connection_reuse.html
- [x] /resource-timing/resource_script_types.html
- [x] /resource-timing/idlharness.any.html
- [x] /resource-timing/clear_resource_timing_functionality.html
- [x] /resource-timing/idlharness.any.worker.html
- [x] /resource-timing/resource_cached.htm
- [x] /resource-timing/resource_connection_reuse_mixed_content_redirect.html
- [x] /resource-timing/resource_connection_reuse_mixed_content.html
- [x] /resource-timing/resource_timing_buffer_full_when_shrink_buffer_size.html
- [x] /navigation-timing/idlharness.window.html
- [x] /navigation-timing/nav2_test_navigate_iframe.html
- [x] /navigation-timing/nav2_test_navigate_within_document.html
- [x] /resource-timing/resource_reuse.sub.html
- [x] /navigation-timing/nav2_test_instance_accessible_from_the_start.html
- [x] /resource-timing/resource_dedicated_worker.html
- [x] /navigation-timing/unload-event-same-origin-check.html
- [x] /navigation-timing/nav2_test_navigation_type_backforward.html

<!-- Either: -->
- [x] There are tests for these changes OR
- [ ] These changes do not require tests because ___

<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

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

bors-servo commented Sep 25, 2019

☀️ Test successful - linux-rel-css, linux-rel-wpt, status-taskcluster
Approved by: jdm
Pushing e6b271d to master...

@bors-servo bors-servo merged commit 63adf66 into servo:master Sep 25, 2019
2 of 3 checks passed
2 of 3 checks passed
Taskcluster (pull_request) TaskGroup: failure
Details
continuous-integration/appveyor/pr AppVeyor build succeeded
Details
homu Test successful
Details
@bors-servo bors-servo mentioned this pull request Sep 25, 2019
2 of 5 tasks complete
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.