Skip to content

Instantly share code, notes, and snippets.

@usutani
Last active July 28, 2021 10:39
Show Gist options
  • Save usutani/55d4d5d269014f275bc2f1c599685e9c to your computer and use it in GitHub Desktop.
Save usutani/55d4d5d269014f275bc2f1c599685e9c to your computer and use it in GitHub Desktop.
@startuml renderPage
hide footbox
note over PageView: renderPage
create PageRenderer
PageView -> PageRenderer: new
PageView -> PageView: render
PageView -> PageRenderer: isPreview, shouldRender, newSnapshot
PageView -> PageView: prepareToRenderSnapshot
PageView -> PageView: markAsPreview
PageView -> PageRenderer: prepareToRender
PageRenderer -> PageRenderer: mergeHead
PageRenderer -> PageRenderer: copyNewHeadStylesheetElements
PageRenderer -> PageRenderer: copyNewHeadScriptElements
PageRenderer -> PageRenderer: removeCurrentHeadProvisionalElements
PageRenderer -> PageRenderer: copyNewHeadProvisionalElements
PageView -> PageView: resolveInterceptionPromise
PageView -> Session: allowsImmediateRender
Session -> Session: notifyApplicationBeforeRender
PageView -> PageView: renderSnapshot
PageView -> PageRenderer: render
PageRenderer -> PageRenderer: replaceBody
create Bardo
PageRenderer -> Bardo: preservingPermanentElements
Bardo -> Bardo: enter
Bardo -> PageRenderer: callback
PageRenderer -> PageRenderer: activateNewBody
PageRenderer -> PageRenderer: assignNewBody
Bardo -> Bardo: leave
destroy Bardo
PageView -> Session: viewRenderedSnapshot
Session -> History: location
Session -> Session: notifyApplicationAfterRender
PageView -> PageView: finishRenderingSnapshot
PageView -> PageRenderer: finishRendering
PageRenderer -> PageRenderer: focusFirstAutofocusableElement
PageView -> PageRenderer: delete
destroy PageRenderer
@enduml
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment