Closed mrobinson closed 4 weeks ago
Note that Epoch
was moved to gfx_traits
in #9222, but it's not really related to anything in the gfx
crate and is more than just graphics related. It encapsulates both the WebRender and Layout epoch, essentially the heartbeat of a Document
. It's definitely not font-related and gfx
will soon become fonts
since it's 99% fonts.
This looks like a large change, but is just moving code around.
🔨 Triggering try run (#9124745964) for Linux WPT, MacOS, Windows, Android
I think we also need to update ports/jniapi/
Test results for linux-wpt-layout-2013 from try job (#9124745964):Flaky unexpected result (13)
/_mozilla/mozilla/task_queue_throttling.any.html
(#22519)Throttling the performance timeline task queue.
assert_true: expected true got false
/_webgl/conformance/context/context-release-with-workers.html
(#22541)/_webgl/conformance/glsl/misc/shader-uniform-packing-restrictions.html
(#28103)/css/cssom-view/MediaQueryList-extends-EventTarget-interop.html
(#25285)capturing event listener fires before non-capturing listener at target
assert_array_equals: triggerMQLEvent lengths differ, expected array ["addEventListener", "addListener"] length 2, got [] length 0
/html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html
(#29066)Check execution order from nested timeout
assert_equals: Expected nested setTimeout to run second expected true but got false
Check execution order on load handler
assert_equals: Expected onload to run first expected false but got true
/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.html
(#29056)Cross-origin navigation started from unload handler must be ignored
/html/interaction/focus/the-autofocus-attribute/document-with-fragment-valid.html
(#28259)Autofocus elements in top-level browsing context's documents with URL fragments should be skipped.
Test timed out
/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html
(#24066)Check that popups from a sandboxed iframe do not escape the sandbox
/html/semantics/forms/form-submission-0/form-submit-iframe-then-location-navigate.html
(#29634)Verifies that location navigations take precedence when following form submissions.
assert_equals: expected "/html/semantics/forms/form-submission-0/resources/location.html" but got "/html/semantics/forms/form-submission-0/resources/form.html"
/resource-timing/nested-context-navigations-iframe.html
(#24311)Test that cross-site iframe navigations are not observable by the parent, even after history navigations by the parent
Test timed out
Test that iframe navigations are not observable by the parent
Test that crossorigin iframe navigations are not observable by the parent
Test that cross-site iframe navigations are not observable by the parent
Test that iframe refreshes are not observable by the parent
Test that crossorigin iframe refreshes are not observable by the parent
Test that cross-site iframe refreshes are not observable by the parent
/webmessaging/with-ports/018.html
(#24485)origin of the script that invoked the method, javascript:
Test timed out
/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html
(#29053)StorageKey: test 3P about:blank window opened from a 3P iframe
Test timed out
/xhr/open-url-multi-window-5.htm
(#23360)XMLHttpRequest: open() resolving URLs (multi-Window; 5)
assert_throws_dom: function "function() {client.open("GET", "...") }" did not throw
Stable unexpected results that are known to be intermittent (14)
/_mozilla/gfx-rs-gecko/descriptor-ranges.html
(#23258)/css/css-values/vh_not_refreshing_on_chrome.html
(#23385, #15570)/custom-elements/reactions/customized-builtins/HTMLMediaElement.html
(#31014)/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html
(#28681)load & pageshow events do not fire on contentWindow of <iframe> element created with src=''
assert_unreached: load should not be fired Reached unreachable code
/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html
(#28697)aElement.click() before the load event must NOT replace
/html/browsers/history/the-history-interface/traverse_the_history_5.html
(#21383)Multiple history traversals, last would be aborted
/html/interaction/focus/the-autofocus-attribute/supported-elements.html
(#24145)Element with tabindex should support autofocus
Test timed out
Non-HTMLElement should not support autofocus
Host element with delegatesFocus should support autofocus
Host element with delegatesFocus including no focusable descendants should be skipped
Area element should support autofocus
/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html
(#22667)/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html
(#24066)/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html
(#22154)Check that popups from a sandboxed iframe do not escape the sandbox
/html/semantics/forms/form-submission-0/multipart-formdata.window.html
(#28725)multipart/form-data: 0x00 in name (normal form)
/html/semantics/forms/form-submission-0/reparent-form-during-planned-navigation-task.html
(#29724)reparent-form-during-planned-navigation-task
Test timed out
/html/semantics/forms/form-submission-0/urlencoded2.window.html
(#28687)application/x-www-form-urlencoded: Basic test (formdata event)
/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html
(#26243)document.write in an imported module
assert_true: onload must be called expected true got false
Test results for linux-wpt-layout-2020 from try job (#9124745964):Flaky unexpected result (15)
/_mozilla/css/dirty_viewport.html
(#13731)/css/css-fonts/variations/at-font-face-font-matching.html
(#20684)Matching font-stretch: '100%' should prefer '100%' over '110% 120%'
Matching font-style: 'oblique 21deg' should prefer 'oblique 40deg 50deg' over 'oblique 20deg'
Matching font-style: 'oblique -10deg' should prefer 'oblique -60deg -30deg' over 'oblique -50deg -40deg'
Matching font-style: 'oblique -20deg' should prefer 'oblique -60deg -40deg' over 'oblique -10deg'
Matching font-style: 'oblique -20deg' should prefer 'oblique -10deg' over 'italic'
/css/css-transitions/disconnected-element-001.html
(#32275)Transitions are canceled when an element is re-parented to the same node
Test timed out
/fetch/api/basic/keepalive.any.html
(#29536)[keepalive] simple GET request on 'load' [no payload]; setting up
Test timed out
[keepalive] simple GET request on 'pagehide' [no payload]; setting up
/fetch/metadata/generated/element-img-environment-change.https.sub.html
(#30111)sec-fetch-site - Cross-site, no attributes
promise_test: Unhandled rejection with value: object "Error: Failed to query for recorded headers."
sec-fetch-site - Same site, no attributes
promise_test: Unhandled rejection with value: object "Error: Failed to query for recorded headers."
sec-fetch-site - Same-Origin -> Cross-Site -> Same-Origin redirect, no attributes
promise_test: Unhandled rejection with value: object "Error: Failed to query for recorded headers."
sec-fetch-site - Same-Origin -> Same-Site -> Same-Origin redirect, no attributes
Test timed out
/html/browsers/windows/embedded-opener-remove-frame.html
(#23867)opener of discarded auxiliary browsing context
assert_equals: opener after removal expected null but got object "[object Window]"
/html/canvas/element/manual/text/canvas.2d.disconnected.html
(#30063)/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html
(#22667)Check that popups from a sandboxed iframe escape the sandbox if allow-popups-to-escape-sandbox is used
assert_equals: It came from a sandboxed iframe expected "null" but got "http://web-platform.test:8000"
/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-2.html
(#22154)/html/semantics/forms/form-submission-0/form-submit-iframe-then-location-navigate.html
(#29634)Verifies that location navigations take precedence when following form submissions.
assert_equals: expected "/html/semantics/forms/form-submission-0/resources/location.html" but got "/html/semantics/forms/form-submission-0/resources/form.html"
/html/semantics/forms/form-submission-0/text-plain.window.html
(#28687)text/plain: \r\n in filename (formdata event)
/html/webappapis/dynamic-markup-insertion/document-write/module-static-import-delayed.html
(#26243)document.write in an imported module
assert_true: onload must be called expected true got false
/resource-timing/content-type-parsing.html
(#29131)mime-type 16 : text/html;charset=gbk
assert_equals: expected (string) "text/html" but got (undefined) undefined
mime-type 17 : text/html;charset=gbk
Test timed out
/webmessaging/with-ports/018.html
(#24485)origin of the script that invoked the method, javascript:
Test timed out
/workers/WorkerGlobalScope-close.html
(#23064)Test sending a message after closing.
Stable unexpected results that are known to be intermittent (12)
/_mozilla/gfx-rs-gecko/descriptor-ranges.html
(#23258)/html/browsers/browsing-the-web/navigating-across-documents/empty-iframe-load-event.html
(#29066)Check execution order from nested timeout
assert_equals: Expected nested setTimeout to run second expected true but got false
Check execution order on load handler
assert_equals: Expected onload to run first expected false but got true
/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/iframe-src-aboutblank-navigate-immediately.html
(#29048)Navigating to a different document with link click
Test timed out
Navigating to a different document with form submission
/html/browsers/browsing-the-web/navigating-across-documents/replace-before-load/a-click.html
(#28697)aElement.click() before the load event must NOT replace
/html/browsers/history/the-history-interface/traverse_the_history_4.html
(#21383)Multiple history traversals, last would be aborted
assert_array_equals: Pages opened during history navigation lengths differ, expected array [6, 5] length 2, got [6, 3, 3] length 3
/html/infrastructure/urls/base-url/document-base-url-window-initiator-is-not-opener.https.window.html
(#30970)/html/interaction/focus/the-autofocus-attribute/autofocus-dialog.html
(#29087)<dialog>-contained autofocus element gets focused when the dialog is shown
Test timed out
/html/interaction/focus/the-autofocus-attribute/supported-elements.html
(#24145)Element with tabindex should support autofocus
Test timed out
Non-HTMLElement should not support autofocus
Host element with delegatesFocus should support autofocus
Host element with delegatesFocus including no focusable descendants should be skipped
Area element should support autofocus
/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html
(#24057)/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html
(#24066)/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html
(#24066)Check that popups from a sandboxed iframe do not escape the sandbox
/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-user-activation-sticky.tentative.sub.window.html
(#32154)Allow top with user activation + user activation
promise_test: Unhandled rejection with value: object "TypeError: element.scrollIntoView is not a function"
⚠️ Try run (#9124745964) failed.
I think we also need to update
ports/jniapi/
I think the Android build should be fixed now.
🔨 Triggering try run (#9127511252) for Linux WPT, MacOS, Windows, Android
Test results for linux-wpt-layout-2013 from try job (#9127511252):Flaky unexpected result (12)
/_webgl/conformance/glsl/misc/shader-uniform-packing-restrictions.html
(#28103)/css/cssom-view/MediaQueryList-extends-EventTarget.html
(#25269)addEventListener "once" option is respected
assert_equals: expected 1 but got 0
/fetch/api/basic/keepalive.any.html
(#29536)[keepalive] simple GET request on 'load' [no payload]; setting up
Test timed out
[keepalive] simple GET request on 'pagehide' [no payload]; setting up
/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-window-open.html
(#28691)load event does not fire on window.open('about:blank')
/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.html
(#29056)Cross-origin navigation started from unload handler must be ignored
/html/browsers/origin/origin-keyed-agent-clusters/popups-crash.https.html
/html/canvas/element/fill-and-stroke-styles/2d.pattern.paint.repeat.coord2.html
Canvas test: 2d.pattern.paint.repeat.coord2
assert_equals: Green channel of the pixel at (98, 1) expected 255 but got 0
/html/semantics/forms/form-submission-0/urlencoded2.window.html
(#28687)application/x-www-form-urlencoded: non-ASCII in filename (formdata event)
/html/semantics/forms/historical.html
(#28568)<input name=isindex> should not be supported
/html/webappapis/dynamic-markup-insertion/document-write/module-tla-delayed.html
(#29137)document.write in an imported module
assert_true: onload must be called expected true got false
/resource-timing/nested-context-navigations-iframe.html
(#24311)Test that iframe navigations are not observable by the parent, even after history navigations by the parent
Test timed out
Test that crossorigin iframe navigations are not observable by the parent, even after history navigations by the parent
Test that cross-site iframe navigations are not observable by the parent, even after history navigations by the parent
Test that iframe navigations are not observable by the parent
Test that crossorigin iframe navigations are not observable by the parent
Test that cross-site iframe navigations are not observable by the parent
Test that iframe refreshes are not observable by the parent
Test that crossorigin iframe refreshes are not observable by the parent
Test that cross-site iframe refreshes are not observable by the parent
/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html
(#29053)StorageKey: test 3P about:blank window opened from a 3P iframe
Test timed out
Stable unexpected results that are known to be intermittent (13)
/_mozilla/gfx-rs-gecko/descriptor-ranges.html
(#23258)/custom-elements/reactions/customized-builtins/HTMLMediaElement.html
(#31014)/html/browsers/browsing-the-web/navigating-across-documents/initial-empty-document/load-pageshow-events-iframe-contentWindow.html
(#28681)load & pageshow events do not fire on contentWindow of <iframe> element created with src=''
assert_unreached: load should not be fired Reached unreachable code
/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-same-origin.window.html
(#29049)Same-origin navigation started from unload handler must be ignored
assert_equals: expected "?pass" but got "?fail"
/html/browsers/history/the-history-interface/traverse_the_history_2.html
(#21383)Multiple history traversals, last would be aborted
/html/browsers/history/the-history-interface/traverse_the_history_5.html
(#21383)Multiple history traversals, last would be aborted
/html/interaction/focus/the-autofocus-attribute/autofocus-dialog.html
(#29087)<dialog>-contained autofocus element gets focused when the dialog is shown
Test timed out
/html/interaction/focus/the-autofocus-attribute/supported-elements.html
(#24145)Non-HTMLElement should not support autofocus
Test timed out
Host element with delegatesFocus should support autofocus
Host element with delegatesFocus including no focusable descendants should be skipped
Area element should support autofocus
/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-2.html
(#22667)/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html
(#24057)Check that popups from a sandboxed iframe escape the sandbox if allow-popups-to-escape-sandbox is used
assert_equals: It came from a sandboxed iframe expected "null" but got "http://web-platform.test:8000"
/html/syntax/parsing/DOMContentLoaded-defer.html
(#21550)The end: DOMContentLoaded and defer scripts
/resource-timing/test_resource_timing.html
(#25720)PerformanceEntry has correct name, initiatorType, startTime, and duration (img)
assert_equals: expected 14272000 but got 14271744
/resource-timing/test_resource_timing.https.html
(#25216)PerformanceEntry has correct name, initiatorType, startTime, and duration (img)
Test results for linux-wpt-layout-2020 from try job (#9127511252):Flaky unexpected result (14)
/_webgl/conformance/glsl/misc/shader-uniform-packing-restrictions.html
(#28103)Overall test
/css/css-color/animation/opacity-animation-ending-correctly-001.html
(#29215)/css/css-fonts/variations/at-font-face-font-matching.html
(#20684)Matching font-weight: '399' should prefer '200 300' over '400'
Matching font-stretch: '100%' should prefer '100%' over '110% 120%'
Matching font-style: 'normal' should prefer 'oblique 10deg 40deg' over 'oblique 20deg 30deg'
Matching font-style: 'italic' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg'
Matching font-style: 'oblique 20deg' should prefer 'oblique -50deg -20deg' over 'oblique -40deg -30deg'
Matching font-style: 'oblique 21deg' should prefer 'oblique 30deg 60deg' over 'oblique 40deg 50deg'
Matching font-style: 'oblique 21deg' should prefer 'oblique 10deg' over 'italic'
Matching font-style: 'oblique -21deg' should prefer 'oblique -21deg' over 'oblique -60deg -40deg'
Matching font-style: 'oblique -21deg' should prefer 'oblique 0deg' over 'oblique 30deg 60deg'
/fetch/api/basic/keepalive.any.html
(#29536)[keepalive] simple GET request on 'load' [no payload]; setting up
Test timed out
[keepalive] simple GET request on 'pagehide' [no payload]; setting up
/html/browsers/history/the-history-interface/traverse_the_history_3.html
(#21383)Multiple history traversals, last would be aborted
/html/interaction/focus/the-autofocus-attribute/autofocus-dialog.html
(#29087)<dialog>-contained autofocus element gets focused when the dialog is shown
Test timed out
/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-1.html
(#24066)Check that popups from a sandboxed iframe do not escape the sandbox
/html/semantics/forms/form-submission-0/text-plain.window.html
(#28687)text/plain: Basic File test (formdata event)
/html/semantics/forms/form-submission-0/urlencoded2.window.html
(#28687)application/x-www-form-urlencoded: Basic File test (formdata event)
/html/semantics/forms/the-fieldset-element/disabled-003.html
(#31730)/html/syntax/parsing/DOMContentLoaded-defer.html
(#21550)The end: DOMContentLoaded and defer scripts
/webstorage/localstorage-about-blank-3P-iframe-opens-3P-window.partitioned.tentative.html
(#29053)StorageKey: test 3P about:blank window opened from a 3P iframe
Test timed out
/workers/WorkerGlobalScope-close.html
(#23064)Test sending a message after closing.
/workers/constructors/Worker/Worker-constructor.html
(#22991)Stable unexpected results that are known to be intermittent (10)
/_mozilla/css/iframe/hide_and_show.html
(#15265)/_mozilla/gfx-rs-gecko/descriptor-ranges.html
(#23258)/css/cssom-view/MediaQueryList-addListener-removeListener.html
(#24569)listeners are called correct number of times
assert_equals: expected 5 but got 4
/html/browsers/browsing-the-web/navigating-across-documents/navigation-unload-cross-origin.sub.window.html
(#29056)Cross-origin navigation started from unload handler must be ignored
promise_test: Unhandled rejection with value: object "SecurityError: The operation is insecure."
/html/interaction/focus/the-autofocus-attribute/supported-elements.html
(#24145)Element with tabindex should support autofocus
Test timed out
Non-HTMLElement should not support autofocus
Host element with delegatesFocus should support autofocus
Host element with delegatesFocus including no focusable descendants should be skipped
Area element should support autofocus
/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-1.html
(#22647)/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_escaping-3.html
(#24057)/html/semantics/embedded-content/the-iframe-element/iframe_sandbox_popups_nonescaping-3.html
(#24066)/html/semantics/embedded-content/the-iframe-element/sandbox-top-navigation-cross-site.tentative.sub.window.html
(#31754)A cross-site unsandboxed iframe navigation consumes user activation and disallows top-level navigation.
Test timed out
/html/semantics/scripting-1/the-script-element/defer-script/async-script.html?reload
(#29054)
✨ Try run (#9127511252) succeeded.
For a long time,
gfx_traits
has held a lot of things unrelated to graphics and also unrelated to thegfx
crate (which is mostly about fonts). This is a cleanup which does a few things:gfx
crate things out ofgfx_traits
. This is important in order to prevent dependency cycles with a different integration between layout, script, and fonts.msg
crate tobase
. It didn't really contain anything to do with messages and instead mostly holds ids, which are used across many different crates in Servo. This new crate will hold the rare data types that are widely used.Details:
background_hang_monitor_api
crate.TraversalDirection
toscript_traits
Epoch
-related things fromgfx_traits
tobase
.PrintTree
to base. This should be widely useful in Servo.WebrenderApi
frombase
towebrender_traits
and renamed it toWebRenderFontApi
../mach build -d
does not report any errors./mach test-tidy
does not report any errors