{"push_id":894067987,"size":4,"distinct_size":4,"ref":"refs/heads/html-layering","head":"f232ba37100c1397ecee0011a09e04c18ce3fd74","before":"0f9f0daf7f171c43005d8665276e231d111d9f6e","commits":[{"sha":"b1ef33bf40a324dcd8cd92d2bcc6e08c7074978d","author":{"email":"3c363836cf4e16666669a25da280a1865c2d2874@domenic.me","name":"Domenic Denicola"},"message":"Editorial: add some <dfn>s","distinct":true,"url":"https://api.github.com/repos/tc39/ecma262/commits/b1ef33bf40a324dcd8cd92d2bcc6e08c7074978d"},{"sha":"9474c58c6baf54e8b5347a182c2fa6ee10dab071","author":{"email":"3c363836cf4e16666669a25da280a1865c2d2874@domenic.me","name":"Domenic Denicola"},"message":"Layering: allow global this and global object to diverge\n\nThis fixes a long-standing integration bug between HTML and ES wherein ES assumed that the global this value was always the same as the global object. In web browsers (and indeed in most standalone JS engines I know of) this is not the case.\n\nFixes https://bugs.ecmascript.org/show_bug.cgi?id=1898.","distinct":true,"url":"https://api.github.com/repos/tc39/ecma262/commits/9474c58c6baf54e8b5347a182c2fa6ee10dab071"},{"sha":"eacbc9d06cfc453a51d22d7980ec893a5c7e2de0","author":{"email":"3c363836cf4e16666669a25da280a1865c2d2874@domenic.me","name":"Domenic Denicola"},"message":"Layering: straighten out initialization\n\nThe previous \"ECMAScript Initialization()\" abstract operation was intended for use in initializing the entire ECMAScript implementation. (This corresponds to an event loop, in browsers.) However, it was ill-suited for its purpose, as each \"implementation\" does not need a realm implicitly created, and in fact most implementations will have more than one realm. As such, we leave implementation creation up to the host environment, and merge \"ECMAScript Initialization()\" with InitializeHostDefinedRealm(). Host environments are now able to call InitializeHostDefinedRealm() to create new realms within their own implementations.\n\nIn the future, we hope to introduce a new concept that formalizes \"ECMAScript implementation\", per e.g. e.g. https://esdiscuss.org/topic/event-loops-in-navigated-away-from-windows and https://esdiscuss.org/topic/holy-mixed-metaphors-batman-was-event-loops-in-navigated-away-from-windows.","distinct":true,"url":"https://api.github.com/repos/tc39/ecma262/commits/eacbc9d06cfc453a51d22d7980ec893a5c7e2de0"},{"sha":"f232ba37100c1397ecee0011a09e04c18ce3fd74","author":{"email":"3c363836cf4e16666669a25da280a1865c2d2874@domenic.me","name":"Domenic Denicola"},"message":"Layering: formalize the \"continent\" concept\n\nPreviously, the concept of \"ECMAScript implementation\" initialization was highly implicit, and it was not clear that e.g. a browser would contain multiple \"ECMAScript implementations\", each with their own set of job queues. We make that explicit here by defining a \"continent\", per previous discussions in e.g. https://esdiscuss.org/topic/event-loops-in-navigated-away-from-windows and https://esdiscuss.org/topic/holy-mixed-metaphors-batman-was-event-loops-in-navigated-away-from-windows.\n\nSince a continent now contains a set of job queues, it is now clearer (with the help of an additional non-normative note) that when doing EnqueueJob, a host should specify which continent they are working in.","distinct":true,"url":"https://api.github.com/repos/tc39/ecma262/commits/f232ba37100c1397ecee0011a09e04c18ce3fd74"}]}