Closed Bug 1771867 Opened 2 years ago Closed 2 years ago

Early hint preloader, phase 2, informing the speculative loader

Categories

(Core :: Networking: HTTP, task, P2)

task

Tracking

()

RESOLVED FIXED
109 Branch
Tracking Status
firefox109 --- fixed

People

(Reporter: manuel, Assigned: manuel)

References

(Blocks 1 open bug)

Details

(Whiteboard: [necko-triaged])

Attachments

(14 files, 5 obsolete files)

(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details
(deleted), text/x-phabricator-request
Details

Follow up on 1753730#c12 to make the preloader reliable.

Might help with Devtools (Bug 1761248).

Severity: -- → N/A
Priority: -- → P2
Whiteboard: [necko-triaged]

Depends on D149643

Attachment #9282066 - Attachment is obsolete: true
Blocks: 1775764
Attachment #9281833 - Attachment description: WIP: Bug 1771867 - Inform speculative loader about ongoing early hint loads → WIP: Bug 1771867 - Phase 2 Early Hint Preloader: Redirect EarlyHint preload channel to content process
Attachment #9289219 - Attachment is obsolete: true
Attachment #9281833 - Attachment description: WIP: Bug 1771867 - Phase 2 Early Hint Preloader: Redirect EarlyHint preload channel to content process → Bug 1771867 - Phase 2 Early Hint Preloader, Part 1: Prepare redirect of EarlyHint preload channel to content process and inform content process about channel r=#necko
Attachment #9294933 - Attachment is obsolete: true
Attachment #9294592 - Attachment description: WIP: Bug 1771867 - Phase 2 preloader, part 2: connect Preloader back to EarlyHintPreloader → WIP: Bug 1771867 - Phase 2 Early Hint Preloader, Part 2: Connect Preloader back to EarlyHintPreloader
Attachment #9294944 - Attachment is obsolete: true
Keywords: leave-open
Pushed by mbucher@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/8bd3e0b3d155 Move structs to NeckoCommon to reuse them in Early Hint Preloader code r=necko-reviewers,valentin

Note that modules can't be specified in Link preloads with rel=preload,
only in rel=modulepreload. We currently only support rel=preload in
early hints. See Bug 1798319 for updates on module preloads.

Depends on D161174

Previously those got cancelled to discourage http usage in new components.
Preloading them now to make this preloader behave the same way as the
preloader in the content process.

Depends on D161179

to make implementation more spec conform

Depends on D161180

Attachment #9281833 - Attachment description: Bug 1771867 - Phase 2 Early Hint Preloader, Part 1: Prepare redirect of EarlyHint preload channel to content process and inform content process about channel r=#necko → Bug 1771867 - EH Phase 2 - Part 11: Redirect EarlyHint preload channel to content process r=#necko
Attachment #9289218 - Attachment description: WIP: Bug 1771867 - Make early hint tests strict → WIP: Bug 1771867 - EH Phase 2 - Part 12: - Make early hint tests strict
Attachment #9294592 - Attachment is obsolete: true
Attachment #9301811 - Attachment description: WIP: Bug 1771867 - EH Phase 2 - Part 1: Add ongoing early hint preloads to http IPC channel args → Bug 1771867 - EH Phase 2 - Part 1: Add ongoing early hint preloads to http IPC channel args r=#necko
Attachment #9301812 - Attachment description: WIP: Bug 1771867 - EH Phase 2 - Part 2: Pass early hint preloads to preloader from IPC → Bug 1771867 - EH Phase 2 - Part 2: Pass early hint preloads to preloader from IPC r=#necko
Attachment #9301813 - Attachment description: WIP: Bug 1771867 - EH Phase 2 - Part 3: Pass early hint preload to fetch and font preloader → Bug 1771867 - EH Phase 2 - Part 3: Pass early hint preload to fetch and font preloader r=#necko
Attachment #9301814 - Attachment description: WIP: Bug 1771867 - EH Phase 2 - Part 4: Pass early hint preload to script preloader → Bug 1771867 - EH Phase 2 - Part 4: Pass early hint preload to script preloader r=#necko
Attachment #9301815 - Attachment description: WIP: Bug 1771867 - EH Phase 2 - Part 5: Pass early hint preload to style preloader → Bug 1771867 - EH Phase 2 - Part 5: Pass early hint preload to style preloader r=#necko
Attachment #9301816 - Attachment description: WIP: Bug 1771867 - EH Phase 2 - Part 6: Pass early hint preload to image preloader → Bug 1771867 - EH Phase 2 - Part 6: Pass early hint preload to image preloader r=#necko
Attachment #9301817 - Attachment description: WIP: Bug 1771867 - EH Phase 2 - Part 7: Add mechanism to notify EarlyHintPreloader that HttpChannelParent is ready to complete the redirect → Bug 1771867 - EH Phase 2 - Part 7: Add mechanism to notify EarlyHintPreloader that HttpChannelParent is ready to complete the redirect r=#necko
Attachment #9301818 - Attachment description: WIP: Bug 1771867 - EH Phase 2 - Part 8: Add list of open channels from OngoingEarlyHints to RedirectToRealChannelArgs → Bug 1771867 - EH Phase 2 - Part 8: Add list of open channels from OngoingEarlyHints to RedirectToRealChannelArgs r=#necko
Attachment #9301819 - Attachment description: WIP: Bug 1771867 - EH Phase 2 - Part 9: Don't cancel insecure http early hint preloads → Bug 1771867 - EH Phase 2 - Part 9: Don't cancel insecure http early hint preloads r=#necko
Attachment #9301821 - Attachment description: WIP: Bug 1771867 - EH Phase 2 - Part 10: Only user first early hint reponse → Bug 1771867 - EH Phase 2 - Part 10: Only user first early hint reponse r=#necko
Attachment #9289218 - Attachment description: WIP: Bug 1771867 - EH Phase 2 - Part 12: - Make early hint tests strict → Bug 1771867 - EH Phase 2 - Part 12: - Make early hint tests strict r=#necko
Attachment #9301821 - Attachment description: Bug 1771867 - EH Phase 2 - Part 10: Only user first early hint reponse r=#necko → Bug 1771867 - EH Phase 2 - Part 10: Only use first early hint reponse r=#necko

They won't get passed to the PreloadService anyway. Resulting in an unnecessary
additional load

Depends on D161181

Attachment #9281833 - Attachment description: Bug 1771867 - EH Phase 2 - Part 11: Redirect EarlyHint preload channel to content process r=#necko → Bug 1771867 - EH Phase 2 - Part 12: Redirect EarlyHint preload channel to content process r=#necko
Attachment #9289218 - Attachment description: Bug 1771867 - EH Phase 2 - Part 12: - Make early hint tests strict r=#necko → Bug 1771867 - EH Phase 2 - Part 13: Make early hint tests strict r=#necko
Blocks: 1799167
Attachment #9301819 - Attachment description: Bug 1771867 - EH Phase 2 - Part 9: Don't cancel insecure http early hint preloads r=#necko → Bug 1771867 - EH Phase 2 - Part 9: Don't cancel redirects to insecure http early hint preloads r=#necko
Blocks: 1801161
Attachment #9301817 - Attachment description: Bug 1771867 - EH Phase 2 - Part 7: Add mechanism to notify EarlyHintPreloader that HttpChannelParent is ready to complete the redirect r=#necko → Bug 1771867 - EH Phase 2 - Part 3: Add mechanism to notify EarlyHintPreloader that HttpChannelParent is ready to complete the redirect r=#necko
Attachment #9301813 - Attachment description: Bug 1771867 - EH Phase 2 - Part 3: Pass early hint preload to fetch and font preloader r=#necko → Bug 1771867 - EH Phase 2 - Part 4: Pass early hint preload to fetch and font preloader r=#necko
Attachment #9301814 - Attachment description: Bug 1771867 - EH Phase 2 - Part 4: Pass early hint preload to script preloader r=#necko → Bug 1771867 - EH Phase 2 - Part 5: Pass early hint preload to script preloader r=#necko
Attachment #9301815 - Attachment description: Bug 1771867 - EH Phase 2 - Part 5: Pass early hint preload to style preloader r=#necko → Bug 1771867 - EH Phase 2 - Part 6: Pass early hint preload to style preloader r=#necko
Attachment #9301816 - Attachment description: Bug 1771867 - EH Phase 2 - Part 6: Pass early hint preload to image preloader r=#necko → Bug 1771867 - EH Phase 2 - Part 7: Pass early hint preload to image preloader r=#necko
Attachment #9301811 - Attachment description: Bug 1771867 - EH Phase 2 - Part 1: Add ongoing early hint preloads to http IPC channel args r=#necko → Bug 1771867 - Early Hints Phase 2 - Part 1: Add ongoing early hint preloads to http IPC channel args r=#necko
Attachment #9301812 - Attachment description: Bug 1771867 - EH Phase 2 - Part 2: Pass early hint preloads to preloader from IPC r=#necko → Bug 1771867 - Early Hints Phase 2 - Part 2: Pass early hint preloads to preloader from IPC r=#necko
Attachment #9301817 - Attachment description: Bug 1771867 - EH Phase 2 - Part 3: Add mechanism to notify EarlyHintPreloader that HttpChannelParent is ready to complete the redirect r=#necko → Bug 1771867 - Early Hints Phase 2 - Part 3: Add mechanism to notify EarlyHintPreloader that HttpChannelParent is ready to complete the redirect r=#necko
Attachment #9301813 - Attachment description: Bug 1771867 - EH Phase 2 - Part 4: Pass early hint preload to fetch and font preloader r=#necko → Bug 1771867 - Early Hints Phase 2 - Part 4: Pass early hint preload to fetch and font preloader r=#necko
Attachment #9301814 - Attachment description: Bug 1771867 - EH Phase 2 - Part 5: Pass early hint preload to script preloader r=#necko → Bug 1771867 - Early Hints Phase 2 - Part 5: Pass early hint preload to script preloader r=#necko
Attachment #9301815 - Attachment description: Bug 1771867 - EH Phase 2 - Part 6: Pass early hint preload to style preloader r=#necko → Bug 1771867 - Early Hints Phase 2 - Part 6: Pass early hint preload to style preloader r=#necko
Attachment #9301816 - Attachment description: Bug 1771867 - EH Phase 2 - Part 7: Pass early hint preload to image preloader r=#necko → Bug 1771867 - Early Hints Phase 2 - Part 7: Pass early hint preload to image preloader r=#necko
Attachment #9301818 - Attachment description: Bug 1771867 - EH Phase 2 - Part 8: Add list of open channels from OngoingEarlyHints to RedirectToRealChannelArgs r=#necko → Bug 1771867 - Early Hints Phase 2 - Part 8: Add list of open channels from OngoingEarlyHints to RedirectToRealChannelArgs r=#necko
Attachment #9301819 - Attachment description: Bug 1771867 - EH Phase 2 - Part 9: Don't cancel redirects to insecure http early hint preloads r=#necko → Bug 1771867 - Early Hints Phase 2 - Part 9: Don't cancel redirects to insecure http early hint preloads r=#necko
Attachment #9301821 - Attachment description: Bug 1771867 - EH Phase 2 - Part 10: Only use first early hint reponse r=#necko → Bug 1771867 - Early Hints Phase 2 - Part 10: Only use first early hint reponse r=#necko
Attachment #9301995 - Attachment description: Bug 1771867 - EH Phase 2 - Part 11: Don't preload anchored links from early hints r=#necko → Bug 1771867 - Early Hints Phase 2 - Part 11: Don't preload anchored links from early hints r=#necko
Attachment #9281833 - Attachment description: Bug 1771867 - EH Phase 2 - Part 12: Redirect EarlyHint preload channel to content process r=#necko → Bug 1771867 - Early Hints Phase 2 - Part 12: Redirect EarlyHint preload channel to content process r=#necko
Attachment #9289218 - Attachment description: Bug 1771867 - EH Phase 2 - Part 13: Make early hint tests strict r=#necko → Bug 1771867 - Early Hints Phase 2 - Part 13: Make early hint tests strict r=#necko
Keywords: leave-open
Pushed by mbucher@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/f8a03d226c73 Early Hints Phase 2 - Part 1: Add ongoing early hint preloads to http IPC channel args r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/5090eae24a5c Early Hints Phase 2 - Part 2: Pass early hint preloads to preloader from IPC r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/7cdf3cef2773 Early Hints Phase 2 - Part 3: Add mechanism to notify EarlyHintPreloader that HttpChannelParent is ready to complete the redirect r=necko-reviewers,kershaw,valentin https://hg.mozilla.org/integration/autoland/rev/b3d65b1aa872 Early Hints Phase 2 - Part 4: Pass early hint preload to fetch and font preloader r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/7f20525f5e94 Early Hints Phase 2 - Part 5: Pass early hint preload to script preloader r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/110ac12e16f5 Early Hints Phase 2 - Part 6: Pass early hint preload to style preloader r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/d33ccbbf407d Early Hints Phase 2 - Part 7: Pass early hint preload to image preloader r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/1177913e1edf Early Hints Phase 2 - Part 8: Add list of open channels from OngoingEarlyHints to RedirectToRealChannelArgs r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/a9f3158ed688 Early Hints Phase 2 - Part 9: Don't cancel redirects to insecure http early hint preloads r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/8bdb1f682d22 Early Hints Phase 2 - Part 10: Only use first early hint reponse r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/2fe2afdee09d Early Hints Phase 2 - Part 11: Don't preload anchored links from early hints r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/aea7ca0bbd17 Early Hints Phase 2 - Part 12: Redirect EarlyHint preload channel to content process r=necko-reviewers,kershaw,valentin https://hg.mozilla.org/integration/autoland/rev/120838b58449 Early Hints Phase 2 - Part 13: Make early hint tests strict r=necko-reviewers,kershaw,valentin

Will figure out a fix (and run more tests next time). backtrace:

(gdb) bt
#0  RefPtr<mozilla::dom::CanonicalBrowsingContext>::operator->() const (this=<optimized out>) at /home/user/dev/gecko/obj-x86_64-pc-linux-gnu/dist/include/mozilla/RefPtr.h:314
#1  0x00007fffeab93071 in mozilla::net::DocumentLoadListener::AddURIVisit(nsIChannel*, unsigned int) (this=this@entry=0x7fffbfe4b8d0, aChannel=aChannel@entry=0x7fffac026250, aLoadFlags=<optimized out>)
    at /home/user/dev/gecko/netwerk/ipc/DocumentLoadListener.cpp:448
#2  0x00007fffeab9bb66 in mozilla::net::DocumentLoadListener::AsyncOnChannelRedirect(nsIChannel*, nsIChannel*, unsigned int, nsIAsyncVerifyRedirectCallback*)
    (this=0x7fffbfe4b8d0, aOldChannel=0x7fffac026250, aNewChannel=0x7fffac026c50, aFlags=1, aCallback=0x7fffa99212f0) at /home/user/dev/gecko/netwerk/ipc/DocumentLoadListener.cpp:2775
#3  0x00007fffeab9bd97 in non-virtual thunk to mozilla::net::DocumentLoadListener::AsyncOnChannelRedirect(nsIChannel*, nsIChannel*, unsigned int, nsIAsyncVerifyRedirectCallback*) ()
    at /home/user/dev/gecko/obj-x86_64-pc-linux-gnu/dist/bin/libxul.so
#4  0x00007fffec937f6d in mozilla::dom::(anonymous namespace)::ClientChannelHelper::AsyncOnChannelRedirect(nsIChannel*, nsIChannel*, unsigned int, nsIAsyncVerifyRedirectCallback*)
    (this=0x7fffbfeb1780, aOldChannel=0x7fffac026250, aNewChannel=0x7fffac026c50, aFlags=1, aCallback=0x7fffa99212f0) at /home/user/dev/gecko/dom/clients/manager/ClientChannelHelper.cpp:174
#5  0x00007fffea64b397 in mozilla::net::nsAsyncRedirectVerifyHelper::DelegateOnChannelRedirect(nsIChannelEventSink*, nsIChannel*, nsIChannel*, unsigned int)
    (this=this@entry=0x7fffa99212e0, sink=0x7fffbfeb1788, oldChannel=0x7fffac026250, newChannel=0x7fffac026c50, flags=1) at /home/user/dev/gecko/netwerk/base/nsAsyncRedirectVerifyHelper.cpp:155
#6  0x00007fffea64b662 in mozilla::net::nsAsyncRedirectVerifyHelper::Run() (this=0x7fffa99212e0) at /home/user/dev/gecko/netwerk/base/nsAsyncRedirectVerifyHelper.cpp:260
#7  0x00007fffea4d2fe5 in mozilla::RunnableTask::Run() (this=0x7fffbd94fa00) at /home/user/dev/gecko/xpcom/threads/TaskController.cpp:538
#8  0x00007fffea4cc751 in mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) (this=this@entry=0x7fffe2622d00, aProofOfLock=...)
    at /home/user/dev/gecko/xpcom/threads/TaskController.cpp:851
#9  0x00007fffea4cb97e in mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) (this=this@entry=0x7fffe2622d00, aProofOfLock=...)
    at /home/user/dev/gecko/xpcom/threads/TaskController.cpp:683
#10 0x00007fffea4cbbcb in mozilla::TaskController::ProcessPendingMTTask(bool) (this=0x7fffe2622d00, aMayWait=false) at /home/user/dev/gecko/xpcom/threads/TaskController.cpp:461
#11 0x00007fffea4ccb7d in mozilla::TaskController::InitializeInternal()::$_2::operator()() const (this=<optimized out>) at /home/user/dev/gecko/xpcom/threads/TaskController.cpp:187
#12 mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_2>::Run() (this=<optimized out>) at /home/user/dev/gecko/obj-x86_64-pc-linux-gnu/dist/include/nsThreadUtils.h:546
#13 0x00007fffea4e3647 in nsThread::ProcessNextEvent(bool, bool*) (this=0x7ffff78a3600, aMayWait=<optimized out>, aResult=0x7fffffffc4d7) at /home/user/dev/gecko/xpcom/threads/nsThread.cpp:1204
#14 0x00007fffea4e7211 in NS_ProcessNextEvent(nsIThread*, bool) (aThread=0x7ffff7bf3940, aThread@entry=0x7ffff78a3600, aMayWait=false) at /home/user/dev/gecko/xpcom/threads/nsThreadUtils.cpp:474
#15 0x00007fffead2db46 in mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) (this=0x7fffe273bdc0, aDelegate=0x7ffff7825c40) at /home/user/dev/gecko/ipc/glue/MessagePump.cpp:85
#16 0x00007fffeaca2a3f in MessageLoop::RunInternal() (this=this@entry=0x7ffff7825c40) at /home/user/dev/gecko/ipc/chromium/src/base/message_loop.cc:381
#17 0x00007fffeaca298f in MessageLoop::RunHandler() (this=0x7ffff7825c40) at /home/user/dev/gecko/ipc/chromium/src/base/message_loop.cc:374
#18 MessageLoop::Run() (this=0x7ffff7825c40) at /home/user/dev/gecko/ipc/chromium/src/base/message_loop.cc:356
#19 0x00007fffedad1bf7 in nsBaseAppShell::Run() (this=0x7fffe2778900) at /home/user/dev/gecko/widget/nsBaseAppShell.cpp:150
#20 0x00007fffef29061c in nsAppStartup::Run() (this=0x7fffe2724fb0) at /home/user/dev/gecko/toolkit/components/startup/nsAppStartup.cpp:295
#21 0x00007fffef3a1385 in XREMain::XRE_mainRun() (this=this@entry=0x7fffffffc850) at /home/user/dev/gecko/toolkit/xre/nsAppRunner.cpp:5767
#22 0x00007fffef3a1ec7 in XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) (this=this@entry=0x7fffffffc850, argc=argc@entry=5, argv=argv@entry=0x7fffffffdb58, aConfig=...)
    at /home/user/dev/gecko/toolkit/xre/nsAppRunner.cpp:5960
#23 0x00007fffef3a2333 in XRE_main(int, char**, mozilla::BootstrapConfig const&) (argc=5, argv=0x7fffffffdb58, aConfig=...) at /home/user/dev/gecko/toolkit/xre/nsAppRunner.cpp:6016
#24 0x000055555559fdf6 in do_main(int, char**, char**) (argc=5, argv=0x7fffffffdb58, envp=0x7fffffffdb88) at /home/user/dev/gecko/browser/app/nsBrowserApp.cpp:226
#25 main(int, char**, char**) (argc=<optimized out>, argv=<optimized out>, envp=0x7fffffffdb88) at /home/user/dev/gecko/browser/app/nsBrowserApp.cpp:430
Flags: needinfo?(manuel)
Pushed by mbucher@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/7a267d40f4ef Early Hints Phase 2 - Part 1: Add ongoing early hint preloads to http IPC channel args r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/13a9f4631369 Early Hints Phase 2 - Part 2: Pass early hint preloads to preloader from IPC r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/b4b920f24bed Early Hints Phase 2 - Part 3: Add mechanism to notify EarlyHintPreloader that HttpChannelParent is ready to complete the redirect r=necko-reviewers,kershaw,valentin https://hg.mozilla.org/integration/autoland/rev/c98f651b7439 Early Hints Phase 2 - Part 4: Pass early hint preload to fetch and font preloader r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/ae5aec815b28 Early Hints Phase 2 - Part 5: Pass early hint preload to script preloader r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/b348a6911423 Early Hints Phase 2 - Part 6: Pass early hint preload to style preloader r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/ce8f0a8fa688 Early Hints Phase 2 - Part 7: Pass early hint preload to image preloader r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/8575cd92e1d8 Early Hints Phase 2 - Part 8: Add list of open channels from OngoingEarlyHints to RedirectToRealChannelArgs r=necko-reviewers,valentin,kershaw https://hg.mozilla.org/integration/autoland/rev/a6a5172b9746 Early Hints Phase 2 - Part 9: Don't cancel redirects to insecure http early hint preloads r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/cbbdb4b4aaa9 Early Hints Phase 2 - Part 10: Only use first early hint reponse r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/ca2681b0f792 Early Hints Phase 2 - Part 11: Don't preload anchored links from early hints r=necko-reviewers,valentin https://hg.mozilla.org/integration/autoland/rev/35dde62c945a Early Hints Phase 2 - Part 12: Redirect EarlyHint preload channel to content process r=necko-reviewers,kershaw,valentin https://hg.mozilla.org/integration/autoland/rev/f9edacd5c749 Early Hints Phase 2 - Part 13: Make early hint tests strict r=necko-reviewers,kershaw,valentin
Regressions: 1803884
No longer regressions: 1803723
Attachment #9294944 - Attachment is obsolete: false

Comment on attachment 9294944 [details]
Bug 1771867 - Move structs to NeckoCommon to reuse them in Early Hint Preloader code r=#necko

Revision D136612 was moved to bug 1733498. Setting attachment 9294944 [details] to obsolete.

Attachment #9294944 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: