Mapping of spec concepts to code

Blink is Chromium‘s implementation of the open web platform. This document attempts to map terms and concepts found in the specification of the open web platform to classes and files found in Blink’s source tree.


Concepts found in the HTML spec.

browsing context

A browsing context corresponds to the Frame interface where the main implementation is LocalFrame.


An origin corresponds to the SecurityOrigin. You can test for same-origin using SecurityOrigin::canAccess and for same-origin domain using SecurityOrigin::isSameSchemeHostPort.

Window object

A Window object corresponds to the DOMWindow interface where the main implementation is LocalDOMWindow.


The WindowProxy is part of the bindings implemented by the WindowProxy class.


An HTML element into which drawing can be performed imperatively via JavaScript. Multiple context types are supported for different use cases.

The main element's sources are in HTMLCanvasElement. Contexts are implemented via modules. The top-level module is HTMLCanvasElementModule.

The 2D canvas context is implemented in modules/canvas2d.

The WebGL 1.0 and WebGL 2.0 contexts (WebGL Github repo) are implemented in modules/webgl.