ABCDEFGHIJKLMNOPQRSTUVWXY
1
x
2
And thanks for helping with MPArch. Please refer to the instructions below for guidance on using this sheet and for how to contribute fixes / analyses.
3
If you hit any issues, please reach us at #mparch on chromium.slack.com
4
5
How to use this Tracker
6
1. Look at the "Fenced Frames" view to see available tasks
7
2. Higher priority tasks (*) are at the top of the list, so grab a row near the top that has no owner and add your name in that column.
- Commonly you will fix all issues for a given file. You do not need separate bugs for these. Just sign up for all rows and update them all together in the steps below.
- Some files have an enormous number of issues to fix (eg, web_contents_impl.cc). These are exceptions. For these files, you will work on a subset of the rows.
(*: lower priority numbers in Pri and Pri2=secondaryPriority are higher priority ones)
8
3. Check whether this needs a fix (for all of: Fenced Frames, Prerendering, Portals). Add a "Yes" or "No" to the approrpiate columns (see the column header comments). If no fix is needed, for any MPArch feature on any platform, update the status accordingly and grab another row. (NB: if you mark the status as "No Fix Needed", the row will not be marked as done unless you also triage Fenced Frames and Portals).
9
4. If a fix is needed, log a bug, assign it to yourself, and paste a link in the bug column on the spreadsheet.
- Add the component UI>Browser>Navigation>MPArch
- If this issue impacts prerendering, please also add the Internals>Preload>Prerender
- For Fenced Frames, add Blink>FencedFrames
- Mark your bug as blocking crbug.com/1190019
- Add to the hotlist Hotlist-ArchitectureWorkForIgalia
10
5. Mark the status as In Progress (and Completed when done). Naturally, you should also reflect this in the bug status.
11
6. Check which sort of fix this requires
- If your file ends in _throttle.cc, please refer to this doc for a guide on how to fix.
- If your CL involves fixing frame traversal (eg GetAllFrames), please refer to this doc.
- If your row involves a WebContentsObserver load event from this list: Did[Start|Stop]Loading, LoadProgressChanged, DidFinishLoad, DidFailLoad, DidReceiveResponse, DocumentAvailableInMainFrame, DocumentOnLoadCompletedInMainFrame, DOMContentLoaded, DidLoadResourceFromMemoryCache, ResourceLoadComplete, mark it as completed for prerendering and please refer this for fenced frame fix.
- Otherwise, see this doc for general MPArch fix instructions.
12
7. If the change turns out to be quite complex, please send a note to the #mparch channel. If needed, we can use IsInactiveAndDisallowActivation to cancel prerendering in difficult cases.
13
8. Start a CL (and cc mparch-reviews@chromium.org). It is reasonable to ping reviewers after 1 business day as per Chromium Review Process.
14
9. If you add a note, please add your name alongside the note so folks can ask questions later, if necessary.
15
16
DocsGlossary
17
NameDateAuthorNotesTermDefinition
18
Multiple Page ArchitectureJan 2021altimin, carlscab, lfg, harakenGeneral MPArch overviewprimary frame treethe primary frame tree for a WebContents (as opposed to the ones held by MPArch features like Prerender, Portal, BfCache). This is WebContentsImpl::frame_tree_.
19
Fixing long tail of features for MPArchMarch 2021lfgGeneral guide for fixing issues in the long tail.primary frameresides in the outermost, primary frame tree
20
Navigation Throttles - MPArch Conversion GuideMay 2021bokanIf your file ends with _throttle.cc, check this out!main frameA frame that does not have a parent frame. It's the root of its frame tree. Note that this is not necessarily an outermost main frame in the case of inner frame trees
21
Frame Traversal Fixes (ForEachFrame)May 2021mcneeIf you're fixing GetAllFrames, ForEachFrame, or SendToAllFrames, read this!primary main frameThe main frame in the outermost, primary frame tree
22
Decoupling TargetId and FrameIdMarch 2021adithyasinner/outer frame treerefers to frame trees that are embedded and their embedding frame tree (e.g. portals/fenced frames are inner frame trees and their embedder is an outer frame tree)
23
MPArch: activation & devtools_frame_tokenFeb 2021adithyasoutermost (main) framethe main frame of a frame tree that is not embedded
24
MPArch: names for main framesFeb 2021altimin,mcneeinitial prerender navigationthe navigation that starts the prerendered page
25
Browser Document LifecycleState ManagementFeb 2021sreejakshettyGeneral document related APIs overviewprerender activation navigationthe activation navigation
26
MPArch Frame Traversal APIsFeb 2021mcneeactive framea frame that is part of the page presented to the user for the WebContents it's in. note that active frames are not necessarily in the primary frame tree: portals/fenced frames are active but in non-primary frame trees)
27
MPArch: Prerender ActivationJan 2021carlscabpage
collection of documents with same main document
28
Navigaton Throttles and prerenderingJan 2021bokan, falkendocumenttodo?
29
MPArch: summary of //content/public changesJan 2021altimincurrent
30
Loading and Multiple Page ArchitectureDec 2020carlscabprimary pageShorthand for "current page of the primary frame tree". Only frame trees can be primary, not pages.
31
Sever relationships with opener on BrowsingInstance swapDec 2020carlscab, creisrender frame host
32
Multiple Page Architecture: //content/public APINov 2020altimin, carlscab, lfgrender view host
33
Supporting extensions on MPArchNov 2020lfg
34
MPArch - Portals transition planNov 2020adithyas
35
Activation and pending navigationsOct 2020altimin
36
State transfer when moving Pages between FrameTree instancesOct 2020carlscab
37
Navigation Throttle AuditOct 2020bokan, falken
38
Navigation changes to support multiple pages in WebContentsJul 2020carlscab
39
RenderFrameHost vs FrameTreeNode swapAug 2020altimin
40
content::Page conceptsJune 2021sreejakshetty, altiminGeneral Page related APIs overview
41
Handling load events with PrerenderingJuly 8, 2021sreejakshetty
42
Inner/Outer WebContents ExplainerJune 2020alexmos, wjmaclean, lfg
43
Prerender2: Document List (go/prerender2-docs)Oct 2021nhiroki
44
API restrictions in Fenced FramesNov 2021horo
45
MPArch function behavior cheat sheetNov 2021yyanagisawa, mcnee
46
MPArch Tracker "Broken for FF" AuditOct 2021toyoshim
47
HOWTO: Locally test Fenced FramesOct 2021horo
48
PageLoadMetrics and FencedFramesJan 2022toyoshim
49
FencedFrames/MPArch Tree Traversal AuditJan 2022toyoshimlink will be removed once the audit is done
50
Load Events with Fenced FramesOctober 2021sreejakshetty
51
Load Events Audit for Prerendering and Fenced FramesOctober 2021sreejakshetty
52
MPArch/FencedFrame CLs Test GuidelineDec 2021kouhei, horo
53
MPArch Stability Checks via Prerender ExperimentsMar 2022toyoshim
54
P2D: Prerender2 for Desktop and Chrome ExtensionsMay 2022toyoshim
55
P2D: Prerender2 for Desktop and Mojo/IPC capability controlsMay 2022toyoshim
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100