Consider the test-case where we have:
<div>
<span id=a />
<span id=b />
</div>
We try to set one bit on "a", and a different one on "b".
Ideally we'll end up with <div> as the root with both bits. But with the current
code we'd go all the way to the document unnecessarily. This fixes it by
checking the bits we've propagated up to the top instead of existingBits.
MozReview-Commit-ID: GfwjwCBpkuy
This patch:
* Makes StyleStructID an enum class, and moves it to the mozilla namespaces.
* Introduces StyleStructConstants with some constants scattered through the
codebase.
* Makes the computed style bits an enum class, and splits mPseudoType and mBits
into their own members, since we were using a uint64_t when we have only a
couple flags and CSSPseudoElementType is a byte. We statically assert that
the number of style structs is less or equal to 32.
* Makes mPseudoTag, mPseudoType and mBits const, since we don't want them to be
mutated from C++, and we still need a few more refactorings (mostly getting
rid of FinishStyle) to avoid mutating ComputedStyle instead.
MozReview-Commit-ID: 7qsTtASGcYB
Pretty much the same setup we have for document.
We have the awkwardness of having to check containing shadow manually for
ShadowRoot because it's not available in TNode (and making it available added a
bit more complexity that wasn't worth it IMO).
MozReview-Commit-ID: CqOh0sLHf6o
Automatic update from web-platform-testsWorker: Add service worker interception tests for module loading on dedicated workers
This CL adds both web-platform-tests and conventional layout tests because the
current Chrome implementation is not spec-compatible in terms of service worker
scope matcing with dedicated workers (see https://crbug.com/731599). The layout
tests will be removed after the issue is fixed.
Bug: 680046
Change-Id: If214bd2f647ee5e7257ae134a870cf1e4ddac608
Reviewed-on: https://chromium-review.googlesource.com/1059979
Commit-Queue: Hiroki Nakagawa <nhiroki@chromium.org>
Reviewed-by: Matt Falkenhagen <falken@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560851}
--
wpt-commits: 347a7974c93326910109cd0f3386cc427add4ec5
wpt-pr: 11019
Some configurations of SpiderMonkey wind up producing C++ switch statements of
the form
switch (..) {
default: break;
}
We hoped that they would simply be optimised out without comment. But MSVC
warns about the lack of non-default cases, which then are escalated into
errors, causing the build to fail. This commit simply disables that warning
feature when building with MSVC.
--HG--
extra : rebase_source : 468022d30cdaf483aaa64fc7aa9dd1308fbc7335
This bug is for importation of spec tests for the WA mutable-global
extension, as proposed at https://github.com/WebAssembly/mutable-global.
In particular it imports the following tests in that repo:
test/core/globals.wast (wrapped in JS)
test/core/linking.wast (ditto)
test/js-api/jsapi.js
The resulting files linking.js and globals.js are placed in a new
subdirectory, js/src/jit-test/tests/wasm/spec/proposal_mutable_global to
make it clear that they pertain to the proposal, and so as not to alter the
existing tests.
There have also been some changes to the test harness code as required to
support the new tests, as follows:
* js/src/jit-test/lib/wasm-testharness.js: the existing logic for locating
the harness/ subdir appears to assume that all the test scripts live in
the same directory, which is no longer the case. It has been reworked
so as to use a fixed offset relative to |libdir| rather than a fixed
offset from |scriptdir|.
* js/src/jit-test/lib/wasm-testharness.js: the revised jsapi.js requires a
new function |assert_not_equals|, but it does not appear possible to
define it in the same way that |assert_equals| is defined. A simple
implementation of |assert_not_equals| has therefore been added.
* src/jit-test/tests/wasm/spec/harness/index.js: a couple more registry
entries were added, as required by the new globals.js and linking.js.
* js/src/jit-test/tests/wasm/spec/harness/wasm-module-builder.js: added
a |mutable| parameter to addImportedGlobal().
* js/src/jit-test/tests/wasm/spec/jsapi.js: there are many changes, but
almost all of them result simply from the resync.
* js/src/jit-test/tests/wasm/spec/proposal_mutable_global/directives.txt
* js/src/jit-test/tests/wasm/spec/proposal_mutable_global/globals.wast.js
* js/src/jit-test/tests/wasm/spec/proposal_mutable_global/linking.wast.js
New files.
--HG--
extra : rebase_source : 1f049fced054e2a979c1ab364f75aaf805de1255
Also call them "resolve" since it's the general term for computing something
more specific than what you have.
Though I don't feel strongly about that, feel free to push back.
MozReview-Commit-ID: KtqjzlppZLp
--HG--
extra : rebase_source : bc98820991f8858486f7bbaab929bc60d4d39b0c