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

core(fr): add navigation runner #11975

Merged
merged 5 commits into from
Jan 25, 2021
Merged

core(fr): add navigation runner #11975

merged 5 commits into from
Jan 25, 2021

Conversation

patrickhulce
Copy link
Collaborator

Summary
Adds the basic framework of the navigation runner, the equivalent of GatherRunner in Fraggle Rock land. Its structure should be very familiar to anyone who's touched GatherRunner before.

It was pretty difficult to come up with a breaking point for a smaller PR, so you'll see plenty of TODOs, it.todos and some private variable access, but the full list of what's coming is in #11313. I don't think there's going to be anything super controversial here since it's mostly matching the previous structure.

The one sticking point that come up that will require a bit more ironing out is how supportedModes: ['navigation'] will be handled since the place we left off in the design doc doesn't feel right now that I've prototyped out a few more gatherers. I think we'll need a third, matching set of methods when something only supports navigation. i.e. beforeNavigation, afterNavigation, but we can cross that bridge when we hit that gatherer (TagsBlockingFirstPaint was the specific gatherer I had in mind, which installs a page-side listener but then basically needs snapshot later).

Related Issues/PRs
ref #11313
design doc

@patrickhulce patrickhulce requested a review from a team as a code owner January 19, 2021 15:53
@patrickhulce patrickhulce requested review from adamraine and removed request for a team January 19, 2021 15:53
@google-cla google-cla bot added the cla: yes label Jan 19, 2021
/**
* @param {{driver: Driver, config: LH.Config.FRConfig, requestedUrl: string}} args
*/
async function _setup({driver, config, requestedUrl}) {
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this file is where all the interesting review bits are, the rest is test machinery

Copy link
Member

@adamraine adamraine left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@patrickhulce patrickhulce merged commit 8533116 into master Jan 25, 2021
@patrickhulce patrickhulce deleted the fr_navigation_runner branch January 25, 2021 14:49
paulirish pushed a commit that referenced this pull request Mar 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants