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

iframe resource timing: entry should only be created for frame-initiated navigation #8846

Open
noamr opened this issue Feb 4, 2023 · 0 comments

Comments

@noamr
Copy link
Contributor

noamr commented Feb 4, 2023

The current spec is a bit inaccurate about this: using sourceBrowsingContext for this also allows creating entries for window.open(url, iframe.name) and iframe.contentWindow.location.href

This matches implementations.

chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 8, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 8, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 8, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 15, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 15, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 15, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 15, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 16, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 17, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 18, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 19, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 20, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 20, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 20, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 21, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 21, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 22, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 22, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 23, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 24, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 24, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 27, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
aarongable pushed a commit to chromium/chromium that referenced this issue Feb 27, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1110433}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 27, 2023
So far some of the logic  in resource timing for subframe navigations
iframe/object/embed) was duplicated, e.g. both in blink and in content.

This has led to race conditions, inconsistencies and sometimes
XSS leaks.

This patch attempts to improve the situation by consolidating the code
paths:

- NavigationRequest receives is_container_initiated, which ensures only
  container-initiated navigations are reported to the parent. This
  is a clarification of something that was ambiguous in the spec
  previously (whatwg/html#8846).
  It later uses ParentResourceTimingAccess to decide if a navigation
  should report to its parent with/without response details
  (status code and mime-type), or not report at all (TAO-fail, not
  an iframe, not container-initiated).

- Both object fallbacks and cancelled navigations (204/205) report
  to the parent via RenderFrameImpl, and blink converts that to a
  ResourceTimingInfo object. This allows us to remove the duplicated
  resource timing creation code in //content.

- We report fallback resource timing also for plugin error events and
  not only for load events.

Bug: 1399862
Bug: 1410705
Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1110433}
aarongable pushed a commit to chromium/chromium that referenced this issue Feb 27, 2023
This reverts commit 5dcb6f7.

Reason for revert: MSan failures crbug.com/1420057

Original change's description:
> Consolidate iframe & object resource timing code paths
>
> So far some of the logic  in resource timing for subframe navigations
> iframe/object/embed) was duplicated, e.g. both in blink and in content.
>
> This has led to race conditions, inconsistencies and sometimes
> XSS leaks.
>
> This patch attempts to improve the situation by consolidating the code
> paths:
>
> - NavigationRequest receives is_container_initiated, which ensures only
>   container-initiated navigations are reported to the parent. This
>   is a clarification of something that was ambiguous in the spec
>   previously (whatwg/html#8846).
>   It later uses ParentResourceTimingAccess to decide if a navigation
>   should report to its parent with/without response details
>   (status code and mime-type), or not report at all (TAO-fail, not
>   an iframe, not container-initiated).
>
> - Both object fallbacks and cancelled navigations (204/205) report
>   to the parent via RenderFrameImpl, and blink converts that to a
>   ResourceTimingInfo object. This allows us to remove the duplicated
>   resource timing creation code in //content.
>
> - We report fallback resource timing also for plugin error events and
>   not only for load events.
>
> Bug: 1399862
> Bug: 1410705
> Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1110433}

Bug: 1399862
Bug: 1410705
Bug: 1420057
Change-Id: Icfc5b6ca7ebd718b2fff58e3f5c7765c53ee93f9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4295881
Owners-Override: Dan H <harringtond@chromium.org>
Reviewed-by: Dan H <harringtond@chromium.org>
Commit-Queue: Dan H <harringtond@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1110619}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 28, 2023
This is a reland of commit 5dcb6f7b01d5f51144a9ba847c34bb0cdc344ccb

Original change's description:
> Consolidate iframe & object resource timing code paths
>
> So far some of the logic  in resource timing for subframe navigations
> iframe/object/embed) was duplicated, e.g. both in blink and in content.
>
> This has led to race conditions, inconsistencies and sometimes
> XSS leaks.
>
> This patch attempts to improve the situation by consolidating the code
> paths:
>
> - NavigationRequest receives is_container_initiated, which ensures only
>   container-initiated navigations are reported to the parent. This
>   is a clarification of something that was ambiguous in the spec
>   previously (whatwg/html#8846).
>   It later uses ParentResourceTimingAccess to decide if a navigation
>   should report to its parent with/without response details
>   (status code and mime-type), or not report at all (TAO-fail, not
>   an iframe, not container-initiated).
>
> - Both object fallbacks and cancelled navigations (204/205) report
>   to the parent via RenderFrameImpl, and blink converts that to a
>   ResourceTimingInfo object. This allows us to remove the duplicated
>   resource timing creation code in //content.
>
> - We report fallback resource timing also for plugin error events and
>   not only for load events.
>
> Bug: 1399862
> Bug: 1410705
> Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1110433}

Bug: 1399862
Bug: 1410705
Change-Id: Ica01bcc861ffd60909e9adad79ef2f71ab23f98e
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 28, 2023
This is a reland of commit 5dcb6f7b01d5f51144a9ba847c34bb0cdc344ccb

Original change's description:
> Consolidate iframe & object resource timing code paths
>
> So far some of the logic  in resource timing for subframe navigations
> iframe/object/embed) was duplicated, e.g. both in blink and in content.
>
> This has led to race conditions, inconsistencies and sometimes
> XSS leaks.
>
> This patch attempts to improve the situation by consolidating the code
> paths:
>
> - NavigationRequest receives is_container_initiated, which ensures only
>   container-initiated navigations are reported to the parent. This
>   is a clarification of something that was ambiguous in the spec
>   previously (whatwg/html#8846).
>   It later uses ParentResourceTimingAccess to decide if a navigation
>   should report to its parent with/without response details
>   (status code and mime-type), or not report at all (TAO-fail, not
>   an iframe, not container-initiated).
>
> - Both object fallbacks and cancelled navigations (204/205) report
>   to the parent via RenderFrameImpl, and blink converts that to a
>   ResourceTimingInfo object. This allows us to remove the duplicated
>   resource timing creation code in //content.
>
> - We report fallback resource timing also for plugin error events and
>   not only for load events.
>
> Bug: 1399862
> Bug: 1410705
> Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1110433}

Bug: 1399862
Bug: 1410705
Change-Id: Ica01bcc861ffd60909e9adad79ef2f71ab23f98e
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 28, 2023
This is a reland of commit 5dcb6f7b01d5f51144a9ba847c34bb0cdc344ccb

(Reland change: initializing
WebNavigationTimings::parent_resource_timing_access, caught by MSAN)
Original change's description:
> Consolidate iframe & object resource timing code paths
>
> So far some of the logic  in resource timing for subframe navigations
> iframe/object/embed) was duplicated, e.g. both in blink and in content.
>
> This has led to race conditions, inconsistencies and sometimes
> XSS leaks.
>
> This patch attempts to improve the situation by consolidating the code
> paths:
>
> - NavigationRequest receives is_container_initiated, which ensures only
>   container-initiated navigations are reported to the parent. This
>   is a clarification of something that was ambiguous in the spec
>   previously (whatwg/html#8846).
>   It later uses ParentResourceTimingAccess to decide if a navigation
>   should report to its parent with/without response details
>   (status code and mime-type), or not report at all (TAO-fail, not
>   an iframe, not container-initiated).
>
> - Both object fallbacks and cancelled navigations (204/205) report
>   to the parent via RenderFrameImpl, and blink converts that to a
>   ResourceTimingInfo object. This allows us to remove the duplicated
>   resource timing creation code in //content.
>
> - We report fallback resource timing also for plugin error events and
>   not only for load events.
>
> Bug: 1399862
> Bug: 1410705
> Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1110433}

Bug: 1399862
Bug: 1410705
Change-Id: Ica01bcc861ffd60909e9adad79ef2f71ab23f98e
aarongable pushed a commit to chromium/chromium that referenced this issue Feb 28, 2023
This is a reland of commit 5dcb6f7

(Reland change: initializing
WebNavigationTimings::parent_resource_timing_access, caught by MSAN)
Original change's description:
> Consolidate iframe & object resource timing code paths
>
> So far some of the logic  in resource timing for subframe navigations
> iframe/object/embed) was duplicated, e.g. both in blink and in content.
>
> This has led to race conditions, inconsistencies and sometimes
> XSS leaks.
>
> This patch attempts to improve the situation by consolidating the code
> paths:
>
> - NavigationRequest receives is_container_initiated, which ensures only
>   container-initiated navigations are reported to the parent. This
>   is a clarification of something that was ambiguous in the spec
>   previously (whatwg/html#8846).
>   It later uses ParentResourceTimingAccess to decide if a navigation
>   should report to its parent with/without response details
>   (status code and mime-type), or not report at all (TAO-fail, not
>   an iframe, not container-initiated).
>
> - Both object fallbacks and cancelled navigations (204/205) report
>   to the parent via RenderFrameImpl, and blink converts that to a
>   ResourceTimingInfo object. This allows us to remove the duplicated
>   resource timing creation code in //content.
>
> - We report fallback resource timing also for plugin error events and
>   not only for load events.
>
> Bug: 1399862
> Bug: 1410705
> Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1110433}

Bug: 1399862
Bug: 1410705
Change-Id: Ica01bcc861ffd60909e9adad79ef2f71ab23f98e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4296794
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
Reviewed-by: Yoav Weiss <yoavweiss@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1110858}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 28, 2023
This is a reland of commit 5dcb6f7b01d5f51144a9ba847c34bb0cdc344ccb

(Reland change: initializing
WebNavigationTimings::parent_resource_timing_access, caught by MSAN)
Original change's description:
> Consolidate iframe & object resource timing code paths
>
> So far some of the logic  in resource timing for subframe navigations
> iframe/object/embed) was duplicated, e.g. both in blink and in content.
>
> This has led to race conditions, inconsistencies and sometimes
> XSS leaks.
>
> This patch attempts to improve the situation by consolidating the code
> paths:
>
> - NavigationRequest receives is_container_initiated, which ensures only
>   container-initiated navigations are reported to the parent. This
>   is a clarification of something that was ambiguous in the spec
>   previously (whatwg/html#8846).
>   It later uses ParentResourceTimingAccess to decide if a navigation
>   should report to its parent with/without response details
>   (status code and mime-type), or not report at all (TAO-fail, not
>   an iframe, not container-initiated).
>
> - Both object fallbacks and cancelled navigations (204/205) report
>   to the parent via RenderFrameImpl, and blink converts that to a
>   ResourceTimingInfo object. This allows us to remove the duplicated
>   resource timing creation code in //content.
>
> - We report fallback resource timing also for plugin error events and
>   not only for load events.
>
> Bug: 1399862
> Bug: 1410705
> Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1110433}

Bug: 1399862
Bug: 1410705
Change-Id: Ica01bcc861ffd60909e9adad79ef2f71ab23f98e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4296794
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
Reviewed-by: Yoav Weiss <yoavweiss@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1110858}
jcscottiii pushed a commit to web-platform-tests/wpt that referenced this issue Feb 28, 2023
This is a reland of commit 5dcb6f7b01d5f51144a9ba847c34bb0cdc344ccb

(Reland change: initializing
WebNavigationTimings::parent_resource_timing_access, caught by MSAN)
Original change's description:
> Consolidate iframe & object resource timing code paths
>
> So far some of the logic  in resource timing for subframe navigations
> iframe/object/embed) was duplicated, e.g. both in blink and in content.
>
> This has led to race conditions, inconsistencies and sometimes
> XSS leaks.
>
> This patch attempts to improve the situation by consolidating the code
> paths:
>
> - NavigationRequest receives is_container_initiated, which ensures only
>   container-initiated navigations are reported to the parent. This
>   is a clarification of something that was ambiguous in the spec
>   previously (whatwg/html#8846).
>   It later uses ParentResourceTimingAccess to decide if a navigation
>   should report to its parent with/without response details
>   (status code and mime-type), or not report at all (TAO-fail, not
>   an iframe, not container-initiated).
>
> - Both object fallbacks and cancelled navigations (204/205) report
>   to the parent via RenderFrameImpl, and blink converts that to a
>   ResourceTimingInfo object. This allows us to remove the duplicated
>   resource timing creation code in //content.
>
> - We report fallback resource timing also for plugin error events and
>   not only for load events.
>
> Bug: 1399862
> Bug: 1410705
> Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1110433}

Bug: 1399862
Bug: 1410705
Change-Id: Ica01bcc861ffd60909e9adad79ef2f71ab23f98e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4296794
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
Reviewed-by: Yoav Weiss <yoavweiss@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1110858}

Co-authored-by: Noam Rosenthal <nrosenthal@chromium.org>
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 28, 2023
This reverts commit 5dcb6f7b01d5f51144a9ba847c34bb0cdc344ccb.

Reason for revert: MSan failures crbug.com/1420057

Original change's description:
> Consolidate iframe & object resource timing code paths
>
> So far some of the logic  in resource timing for subframe navigations
> iframe/object/embed) was duplicated, e.g. both in blink and in content.
>
> This has led to race conditions, inconsistencies and sometimes
> XSS leaks.
>
> This patch attempts to improve the situation by consolidating the code
> paths:
>
> - NavigationRequest receives is_container_initiated, which ensures only
>   container-initiated navigations are reported to the parent. This
>   is a clarification of something that was ambiguous in the spec
>   previously (whatwg/html#8846).
>   It later uses ParentResourceTimingAccess to decide if a navigation
>   should report to its parent with/without response details
>   (status code and mime-type), or not report at all (TAO-fail, not
>   an iframe, not container-initiated).
>
> - Both object fallbacks and cancelled navigations (204/205) report
>   to the parent via RenderFrameImpl, and blink converts that to a
>   ResourceTimingInfo object. This allows us to remove the duplicated
>   resource timing creation code in //content.
>
> - We report fallback resource timing also for plugin error events and
>   not only for load events.
>
> Bug: 1399862
> Bug: 1410705
> Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1110433}

Bug: 1399862
Bug: 1410705
Bug: 1420057
Change-Id: Icfc5b6ca7ebd718b2fff58e3f5c7765c53ee93f9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4295881
Owners-Override: Dan H <harringtond@chromium.org>
Reviewed-by: Dan H <harringtond@chromium.org>
Commit-Queue: Dan H <harringtond@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1110619}
chromium-wpt-export-bot pushed a commit to web-platform-tests/wpt that referenced this issue Feb 28, 2023
This reverts commit 5dcb6f7b01d5f51144a9ba847c34bb0cdc344ccb.

Reason for revert: MSan failures crbug.com/1420057

Original change's description:
> Consolidate iframe & object resource timing code paths
>
> So far some of the logic  in resource timing for subframe navigations
> iframe/object/embed) was duplicated, e.g. both in blink and in content.
>
> This has led to race conditions, inconsistencies and sometimes
> XSS leaks.
>
> This patch attempts to improve the situation by consolidating the code
> paths:
>
> - NavigationRequest receives is_container_initiated, which ensures only
>   container-initiated navigations are reported to the parent. This
>   is a clarification of something that was ambiguous in the spec
>   previously (whatwg/html#8846).
>   It later uses ParentResourceTimingAccess to decide if a navigation
>   should report to its parent with/without response details
>   (status code and mime-type), or not report at all (TAO-fail, not
>   an iframe, not container-initiated).
>
> - Both object fallbacks and cancelled navigations (204/205) report
>   to the parent via RenderFrameImpl, and blink converts that to a
>   ResourceTimingInfo object. This allows us to remove the duplicated
>   resource timing creation code in //content.
>
> - We report fallback resource timing also for plugin error events and
>   not only for load events.
>
> Bug: 1399862
> Bug: 1410705
> Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1110433}

Bug: 1399862
Bug: 1410705
Bug: 1420057
Change-Id: Icfc5b6ca7ebd718b2fff58e3f5c7765c53ee93f9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4295881
Owners-Override: Dan H <harringtond@chromium.org>
Reviewed-by: Dan H <harringtond@chromium.org>
Commit-Queue: Dan H <harringtond@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1110619}
aarongable pushed a commit to chromium/chromium that referenced this issue Mar 1, 2023
This reverts commit c8d82e5.

Reason for revert: Unblocking revert at https://crrev.com/c/4295184

Original change's description:
> Reland "Consolidate iframe & object resource timing code paths"
>
> This is a reland of commit 5dcb6f7
>
> (Reland change: initializing
> WebNavigationTimings::parent_resource_timing_access, caught by MSAN)
> Original change's description:
> > Consolidate iframe & object resource timing code paths
> >
> > So far some of the logic  in resource timing for subframe navigations
> > iframe/object/embed) was duplicated, e.g. both in blink and in content.
> >
> > This has led to race conditions, inconsistencies and sometimes
> > XSS leaks.
> >
> > This patch attempts to improve the situation by consolidating the code
> > paths:
> >
> > - NavigationRequest receives is_container_initiated, which ensures only
> >   container-initiated navigations are reported to the parent. This
> >   is a clarification of something that was ambiguous in the spec
> >   previously (whatwg/html#8846).
> >   It later uses ParentResourceTimingAccess to decide if a navigation
> >   should report to its parent with/without response details
> >   (status code and mime-type), or not report at all (TAO-fail, not
> >   an iframe, not container-initiated).
> >
> > - Both object fallbacks and cancelled navigations (204/205) report
> >   to the parent via RenderFrameImpl, and blink converts that to a
> >   ResourceTimingInfo object. This allows us to remove the duplicated
> >   resource timing creation code in //content.
> >
> > - We report fallback resource timing also for plugin error events and
> >   not only for load events.
> >
> > Bug: 1399862
> > Bug: 1410705
> > Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
> > Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> > Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> > Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> > Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> > Cr-Commit-Position: refs/heads/main@{#1110433}
>
> Bug: 1399862
> Bug: 1410705
> Change-Id: Ica01bcc861ffd60909e9adad79ef2f71ab23f98e
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4296794
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> Reviewed-by: Yoav Weiss <yoavweiss@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1110858}

Bug: 1399862
Bug: 1410705
Change-Id: I35e3a03d38be4d2cc42d18ee0ed0296b978da090
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4299069
Auto-Submit: Sergey Poromov <poromov@chromium.org>
Reviewed-by: Sergey Poromov <poromov@chromium.org>
Owners-Override: Sergey Poromov <poromov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Sergey Poromov <poromov@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1111499}
aarongable pushed a commit to chromium/chromium that referenced this issue Mar 1, 2023
This reverts commit d1b49ff.

Reason for revert: The failing tests will be fixed instead of reverting the original CL that caused them.

Original change's description:
> Revert "Reland "Consolidate iframe & object resource timing code paths""
>
> This reverts commit c8d82e5.
>
> Reason for revert: Unblocking revert at https://crrev.com/c/4295184
>
> Original change's description:
> > Reland "Consolidate iframe & object resource timing code paths"
> >
> > This is a reland of commit 5dcb6f7
> >
> > (Reland change: initializing
> > WebNavigationTimings::parent_resource_timing_access, caught by MSAN)
> > Original change's description:
> > > Consolidate iframe & object resource timing code paths
> > >
> > > So far some of the logic  in resource timing for subframe navigations
> > > iframe/object/embed) was duplicated, e.g. both in blink and in content.
> > >
> > > This has led to race conditions, inconsistencies and sometimes
> > > XSS leaks.
> > >
> > > This patch attempts to improve the situation by consolidating the code
> > > paths:
> > >
> > > - NavigationRequest receives is_container_initiated, which ensures only
> > >   container-initiated navigations are reported to the parent. This
> > >   is a clarification of something that was ambiguous in the spec
> > >   previously (whatwg/html#8846).
> > >   It later uses ParentResourceTimingAccess to decide if a navigation
> > >   should report to its parent with/without response details
> > >   (status code and mime-type), or not report at all (TAO-fail, not
> > >   an iframe, not container-initiated).
> > >
> > > - Both object fallbacks and cancelled navigations (204/205) report
> > >   to the parent via RenderFrameImpl, and blink converts that to a
> > >   ResourceTimingInfo object. This allows us to remove the duplicated
> > >   resource timing creation code in //content.
> > >
> > > - We report fallback resource timing also for plugin error events and
> > >   not only for load events.
> > >
> > > Bug: 1399862
> > > Bug: 1410705
> > > Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
> > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
> > > Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> > > Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> > > Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> > > Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> > > Cr-Commit-Position: refs/heads/main@{#1110433}
> >
> > Bug: 1399862
> > Bug: 1410705
> > Change-Id: Ica01bcc861ffd60909e9adad79ef2f71ab23f98e
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4296794
> > Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> > Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> > Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> > Reviewed-by: Yoav Weiss <yoavweiss@chromium.org>
> > Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> > Cr-Commit-Position: refs/heads/main@{#1110858}
>
> Bug: 1399862
> Bug: 1410705
> Change-Id: I35e3a03d38be4d2cc42d18ee0ed0296b978da090
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4299069
> Auto-Submit: Sergey Poromov <poromov@chromium.org>
> Reviewed-by: Sergey Poromov <poromov@chromium.org>
> Owners-Override: Sergey Poromov <poromov@chromium.org>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Sergey Poromov <poromov@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1111499}

Bug: 1399862
Bug: 1410705
Change-Id: I3458949b0632b266e24a000a10f864189fd8d1db
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4299070
Auto-Submit: Sergey Poromov <poromov@chromium.org>
Owners-Override: Sergey Poromov <poromov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Sergey Poromov <poromov@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1111522}
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue Mar 7, 2023
…urce timing code paths", a=testonly

Automatic update from web-platform-tests
Reland "Consolidate iframe & object resource timing code paths" (#38733)

This is a reland of commit 5dcb6f7b01d5f51144a9ba847c34bb0cdc344ccb

(Reland change: initializing
WebNavigationTimings::parent_resource_timing_access, caught by MSAN)
Original change's description:
> Consolidate iframe & object resource timing code paths
>
> So far some of the logic  in resource timing for subframe navigations
> iframe/object/embed) was duplicated, e.g. both in blink and in content.
>
> This has led to race conditions, inconsistencies and sometimes
> XSS leaks.
>
> This patch attempts to improve the situation by consolidating the code
> paths:
>
> - NavigationRequest receives is_container_initiated, which ensures only
>   container-initiated navigations are reported to the parent. This
>   is a clarification of something that was ambiguous in the spec
>   previously (whatwg/html#8846).
>   It later uses ParentResourceTimingAccess to decide if a navigation
>   should report to its parent with/without response details
>   (status code and mime-type), or not report at all (TAO-fail, not
>   an iframe, not container-initiated).
>
> - Both object fallbacks and cancelled navigations (204/205) report
>   to the parent via RenderFrameImpl, and blink converts that to a
>   ResourceTimingInfo object. This allows us to remove the duplicated
>   resource timing creation code in //content.
>
> - We report fallback resource timing also for plugin error events and
>   not only for load events.
>
> Bug: 1399862
> Bug: 1410705
> Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1110433}

Bug: 1399862
Bug: 1410705
Change-Id: Ica01bcc861ffd60909e9adad79ef2f71ab23f98e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4296794
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
Reviewed-by: Yoav Weiss <yoavweiss@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1110858}

Co-authored-by: Noam Rosenthal <nrosenthal@chromium.org>
--

wpt-commits: 53a3c3f1d8fcaea434595d00ec4431038de1d49e
wpt-pr: 38733
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this issue Mar 7, 2023
…urce timing code paths", a=testonly

Automatic update from web-platform-tests
Revert "Consolidate iframe & object resource timing code paths"

This reverts commit 5dcb6f7b01d5f51144a9ba847c34bb0cdc344ccb.

Reason for revert: MSan failures crbug.com/1420057

Original change's description:
> Consolidate iframe & object resource timing code paths
>
> So far some of the logic  in resource timing for subframe navigations
> iframe/object/embed) was duplicated, e.g. both in blink and in content.
>
> This has led to race conditions, inconsistencies and sometimes
> XSS leaks.
>
> This patch attempts to improve the situation by consolidating the code
> paths:
>
> - NavigationRequest receives is_container_initiated, which ensures only
>   container-initiated navigations are reported to the parent. This
>   is a clarification of something that was ambiguous in the spec
>   previously (whatwg/html#8846).
>   It later uses ParentResourceTimingAccess to decide if a navigation
>   should report to its parent with/without response details
>   (status code and mime-type), or not report at all (TAO-fail, not
>   an iframe, not container-initiated).
>
> - Both object fallbacks and cancelled navigations (204/205) report
>   to the parent via RenderFrameImpl, and blink converts that to a
>   ResourceTimingInfo object. This allows us to remove the duplicated
>   resource timing creation code in //content.
>
> - We report fallback resource timing also for plugin error events and
>   not only for load events.
>
> Bug: 1399862
> Bug: 1410705
> Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1110433}

Bug: 1399862
Bug: 1410705
Bug: 1420057
Change-Id: Icfc5b6ca7ebd718b2fff58e3f5c7765c53ee93f9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4295881
Owners-Override: Dan H <harringtond@chromium.org>
Reviewed-by: Dan H <harringtond@chromium.org>
Commit-Queue: Dan H <harringtond@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1110619}

--

wpt-commits: 49287d0e660dd6704c508ef20c9d53c13aee296b
wpt-pr: 38753
marcoscaceres pushed a commit to web-platform-tests/wpt that referenced this issue Mar 28, 2023
This is a reland of commit 5dcb6f7b01d5f51144a9ba847c34bb0cdc344ccb

(Reland change: initializing
WebNavigationTimings::parent_resource_timing_access, caught by MSAN)
Original change's description:
> Consolidate iframe & object resource timing code paths
>
> So far some of the logic  in resource timing for subframe navigations
> iframe/object/embed) was duplicated, e.g. both in blink and in content.
>
> This has led to race conditions, inconsistencies and sometimes
> XSS leaks.
>
> This patch attempts to improve the situation by consolidating the code
> paths:
>
> - NavigationRequest receives is_container_initiated, which ensures only
>   container-initiated navigations are reported to the parent. This
>   is a clarification of something that was ambiguous in the spec
>   previously (whatwg/html#8846).
>   It later uses ParentResourceTimingAccess to decide if a navigation
>   should report to its parent with/without response details
>   (status code and mime-type), or not report at all (TAO-fail, not
>   an iframe, not container-initiated).
>
> - Both object fallbacks and cancelled navigations (204/205) report
>   to the parent via RenderFrameImpl, and blink converts that to a
>   ResourceTimingInfo object. This allows us to remove the duplicated
>   resource timing creation code in //content.
>
> - We report fallback resource timing also for plugin error events and
>   not only for load events.
>
> Bug: 1399862
> Bug: 1410705
> Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1110433}

Bug: 1399862
Bug: 1410705
Change-Id: Ica01bcc861ffd60909e9adad79ef2f71ab23f98e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4296794
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
Reviewed-by: Yoav Weiss <yoavweiss@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1110858}

Co-authored-by: Noam Rosenthal <nrosenthal@chromium.org>
marcoscaceres pushed a commit to web-platform-tests/wpt that referenced this issue Mar 28, 2023
This reverts commit 5dcb6f7b01d5f51144a9ba847c34bb0cdc344ccb.

Reason for revert: MSan failures crbug.com/1420057

Original change's description:
> Consolidate iframe & object resource timing code paths
>
> So far some of the logic  in resource timing for subframe navigations
> iframe/object/embed) was duplicated, e.g. both in blink and in content.
>
> This has led to race conditions, inconsistencies and sometimes
> XSS leaks.
>
> This patch attempts to improve the situation by consolidating the code
> paths:
>
> - NavigationRequest receives is_container_initiated, which ensures only
>   container-initiated navigations are reported to the parent. This
>   is a clarification of something that was ambiguous in the spec
>   previously (whatwg/html#8846).
>   It later uses ParentResourceTimingAccess to decide if a navigation
>   should report to its parent with/without response details
>   (status code and mime-type), or not report at all (TAO-fail, not
>   an iframe, not container-initiated).
>
> - Both object fallbacks and cancelled navigations (204/205) report
>   to the parent via RenderFrameImpl, and blink converts that to a
>   ResourceTimingInfo object. This allows us to remove the duplicated
>   resource timing creation code in //content.
>
> - We report fallback resource timing also for plugin error events and
>   not only for load events.
>
> Bug: 1399862
> Bug: 1410705
> Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1110433}

Bug: 1399862
Bug: 1410705
Bug: 1420057
Change-Id: Icfc5b6ca7ebd718b2fff58e3f5c7765c53ee93f9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4295881
Owners-Override: Dan H <harringtond@chromium.org>
Reviewed-by: Dan H <harringtond@chromium.org>
Commit-Queue: Dan H <harringtond@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1110619}
aosmond pushed a commit to aosmond/gecko that referenced this issue May 18, 2023
…urce timing code paths", a=testonly

Automatic update from web-platform-tests
Reland "Consolidate iframe & object resource timing code paths" (#38733)

This is a reland of commit 5dcb6f7b01d5f51144a9ba847c34bb0cdc344ccb

(Reland change: initializing
WebNavigationTimings::parent_resource_timing_access, caught by MSAN)
Original change's description:
> Consolidate iframe & object resource timing code paths
>
> So far some of the logic  in resource timing for subframe navigations
> iframe/object/embed) was duplicated, e.g. both in blink and in content.
>
> This has led to race conditions, inconsistencies and sometimes
> XSS leaks.
>
> This patch attempts to improve the situation by consolidating the code
> paths:
>
> - NavigationRequest receives is_container_initiated, which ensures only
>   container-initiated navigations are reported to the parent. This
>   is a clarification of something that was ambiguous in the spec
>   previously (whatwg/html#8846).
>   It later uses ParentResourceTimingAccess to decide if a navigation
>   should report to its parent with/without response details
>   (status code and mime-type), or not report at all (TAO-fail, not
>   an iframe, not container-initiated).
>
> - Both object fallbacks and cancelled navigations (204/205) report
>   to the parent via RenderFrameImpl, and blink converts that to a
>   ResourceTimingInfo object. This allows us to remove the duplicated
>   resource timing creation code in //content.
>
> - We report fallback resource timing also for plugin error events and
>   not only for load events.
>
> Bug: 1399862
> Bug: 1410705
> Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1110433}

Bug: 1399862
Bug: 1410705
Change-Id: Ica01bcc861ffd60909e9adad79ef2f71ab23f98e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4296794
Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
Reviewed-by: Yoav Weiss <yoavweiss@chromium.org>
Reviewed-by: Daniel Cheng <dcheng@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1110858}

Co-authored-by: Noam Rosenthal <nrosenthal@chromium.org>
--

wpt-commits: 53a3c3f1d8fcaea434595d00ec4431038de1d49e
wpt-pr: 38733
aosmond pushed a commit to aosmond/gecko that referenced this issue May 18, 2023
…urce timing code paths", a=testonly

Automatic update from web-platform-tests
Revert "Consolidate iframe & object resource timing code paths"

This reverts commit 5dcb6f7b01d5f51144a9ba847c34bb0cdc344ccb.

Reason for revert: MSan failures crbug.com/1420057

Original change's description:
> Consolidate iframe & object resource timing code paths
>
> So far some of the logic  in resource timing for subframe navigations
> iframe/object/embed) was duplicated, e.g. both in blink and in content.
>
> This has led to race conditions, inconsistencies and sometimes
> XSS leaks.
>
> This patch attempts to improve the situation by consolidating the code
> paths:
>
> - NavigationRequest receives is_container_initiated, which ensures only
>   container-initiated navigations are reported to the parent. This
>   is a clarification of something that was ambiguous in the spec
>   previously (whatwg/html#8846).
>   It later uses ParentResourceTimingAccess to decide if a navigation
>   should report to its parent with/without response details
>   (status code and mime-type), or not report at all (TAO-fail, not
>   an iframe, not container-initiated).
>
> - Both object fallbacks and cancelled navigations (204/205) report
>   to the parent via RenderFrameImpl, and blink converts that to a
>   ResourceTimingInfo object. This allows us to remove the duplicated
>   resource timing creation code in //content.
>
> - We report fallback resource timing also for plugin error events and
>   not only for load events.
>
> Bug: 1399862
> Bug: 1410705
> Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
> Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1110433}

Bug: 1399862
Bug: 1410705
Bug: 1420057
Change-Id: Icfc5b6ca7ebd718b2fff58e3f5c7765c53ee93f9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4295881
Owners-Override: Dan H <harringtond@chromium.org>
Reviewed-by: Dan H <harringtond@chromium.org>
Commit-Queue: Dan H <harringtond@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Cr-Commit-Position: refs/heads/main@{#1110619}

--

wpt-commits: 49287d0e660dd6704c508ef20c9d53c13aee296b
wpt-pr: 38753
qtprojectorg pushed a commit to qt/qtwebengine-chromium that referenced this issue Jul 7, 2023
Manual cherry-pick of patch originally reviewed on
https://chromium-review.googlesource.com/c/chromium/src/+/4299070:
Reland "Reland "Consolidate iframe & object resource timing code paths""

This reverts commit d1b49ff4d15bc538c4feddff9f81253bba6abd9d.

Reason for revert: The failing tests will be fixed instead of reverting the original CL that caused them.

Original change's description:
> Revert "Reland "Consolidate iframe & object resource timing code paths""
>
> This reverts commit c8d82e52681f338bc4671df333a2bc9d6c93a32c.
>
> Reason for revert: Unblocking revert at https://crrev.com/c/4295184
>
> Original change's description:
> > Reland "Consolidate iframe & object resource timing code paths"
> >
> > This is a reland of commit 5dcb6f7b01d5f51144a9ba847c34bb0cdc344ccb
> >
> > (Reland change: initializing
> > WebNavigationTimings::parent_resource_timing_access, caught by MSAN)
> > Original change's description:
> > > Consolidate iframe & object resource timing code paths
> > >
> > > So far some of the logic  in resource timing for subframe navigations
> > > iframe/object/embed) was duplicated, e.g. both in blink and in content.
> > >
> > > This has led to race conditions, inconsistencies and sometimes
> > > XSS leaks.
> > >
> > > This patch attempts to improve the situation by consolidating the code
> > > paths:
> > >
> > > - NavigationRequest receives is_container_initiated, which ensures only
> > >   container-initiated navigations are reported to the parent. This
> > >   is a clarification of something that was ambiguous in the spec
> > >   previously (whatwg/html#8846).
> > >   It later uses ParentResourceTimingAccess to decide if a navigation
> > >   should report to its parent with/without response details
> > >   (status code and mime-type), or not report at all (TAO-fail, not
> > >   an iframe, not container-initiated).
> > >
> > > - Both object fallbacks and cancelled navigations (204/205) report
> > >   to the parent via RenderFrameImpl, and blink converts that to a
> > >   ResourceTimingInfo object. This allows us to remove the duplicated
> > >   resource timing creation code in //content.
> > >
> > > - We report fallback resource timing also for plugin error events and
> > >   not only for load events.
> > >
> > > Bug: 1399862
> > > Bug: 1410705
> > > Change-Id: Id37d23cd02eee9e38f812e6f3da99caedafdee3d
> > > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4214695
> > > Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> > > Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> > > Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> > > Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> > > Cr-Commit-Position: refs/heads/main@{#1110433}
> >
> > Bug: 1399862
> > Bug: 1410705
> > Change-Id: Ica01bcc861ffd60909e9adad79ef2f71ab23f98e
> > Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4296794
> > Reviewed-by: Arthur Sonzogni <arthursonzogni@chromium.org>
> > Reviewed-by: Takashi Toyoshima <toyoshim@chromium.org>
> > Commit-Queue: Noam Rosenthal <nrosenthal@chromium.org>
> > Reviewed-by: Yoav Weiss <yoavweiss@chromium.org>
> > Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> > Cr-Commit-Position: refs/heads/main@{#1110858}
>
> Bug: 1399862
> Bug: 1410705
> Change-Id: I35e3a03d38be4d2cc42d18ee0ed0296b978da090
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4299069
> Auto-Submit: Sergey Poromov <poromov@chromium.org>
> Reviewed-by: Sergey Poromov <poromov@chromium.org>
> Owners-Override: Sergey Poromov <poromov@chromium.org>
> Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
> Commit-Queue: Sergey Poromov <poromov@chromium.org>
> Cr-Commit-Position: refs/heads/main@{#1111499}

Bug: 1399862
Bug: 1410705
Change-Id: I3458949b0632b266e24a000a10f864189fd8d1db
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4299070
Auto-Submit: Sergey Poromov <poromov@chromium.org>
Owners-Override: Sergey Poromov <poromov@chromium.org>
Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
Commit-Queue: Sergey Poromov <poromov@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1111522}
Reviewed-on: https://codereview.qt-project.org/c/qt/qtwebengine-chromium/+/487873
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant