aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom/webidls
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2016-09-16 20:34:25 -0500
committerGitHub <noreply@github.com>2016-09-16 20:34:25 -0500
commit2fb4dd9ec3bb4be7d5ea8404964536c89fc8732b (patch)
tree3d3a2e78c5a6261606a546caed892b121f6c0b8f /components/script/dom/webidls
parent949d2c4bc4b0a18d13444864cb70dd59946a18d8 (diff)
parenta9de84ab49953be44d772eedc5f165d91e30d189 (diff)
downloadservo-2fb4dd9ec3bb4be7d5ea8404964536c89fc8732b.tar.gz
servo-2fb4dd9ec3bb4be7d5ea8404964536c89fc8732b.zip
Auto merge of #12703 - sjmelia:12343_test_activation, r=Manishearth
Fix Issue 12343: Add pref-gated methods and test for activatable element <!-- Please describe your changes on the following line: --> Add methods to activatable elements; gated by a preference, for use in servo-specific WPT tests. I cargo-culted over the "redundant check" from #12322, I don't really understand the possible exploit. Obvious flaw is the copypasta for each element. I understand that the webidl codegen will produce a trait for ActivatableElement, but I can't see how I can provide a default implementation for this? I guess otherwise could be an improvement to have each element just delegate to an Enter.../Exit... method on the Activatable trait? --- <!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: --> - [X] `./mach build -d` does not report any errors - [X] `./mach test-tidy` does not report any errors - [X] These changes fix #12343 (github issue number if applicable). <!-- Either: --> - [X] There are tests for these changes OR - [ ] These changes do not require tests because _____ <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> …states <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/12703) <!-- Reviewable:end -->
Diffstat (limited to 'components/script/dom/webidls')
-rw-r--r--components/script/dom/webidls/ActivatableElement.webidl15
-rw-r--r--components/script/dom/webidls/Element.webidl1
2 files changed, 16 insertions, 0 deletions
diff --git a/components/script/dom/webidls/ActivatableElement.webidl b/components/script/dom/webidls/ActivatableElement.webidl
new file mode 100644
index 00000000000..2b69baff303
--- /dev/null
+++ b/components/script/dom/webidls/ActivatableElement.webidl
@@ -0,0 +1,15 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+
+// Interface for testing element activation
+// This interface is entirely internal to Servo, and should not be accessible to
+// web pages.
+[Exposed=(Window,Worker), NoInterfaceObject]
+interface ActivatableElement {
+ [Throws, Pref="dom.testing.element.activation.enabled"]
+ void enterFormalActivationState();
+
+ [Throws, Pref="dom.testing.element.activation.enabled"]
+ void exitFormalActivationState();
+};
diff --git a/components/script/dom/webidls/Element.webidl b/components/script/dom/webidls/Element.webidl
index b0ba81d1816..295d76cd1f4 100644
--- a/components/script/dom/webidls/Element.webidl
+++ b/components/script/dom/webidls/Element.webidl
@@ -122,3 +122,4 @@ partial interface Element {
Element implements ChildNode;
Element implements NonDocumentTypeChildNode;
Element implements ParentNode;
+Element implements ActivatableElement;