Index: client/tests/client/dom/InnerFrameTest.dart |
diff --git a/client/tests/client/dom/InnerFrameTest.dart b/client/tests/client/dom/InnerFrameTest.dart |
index 6e2d9cf1ec477af128574d36cf2750cbbaf46271..be0cd2e6971adbb3591b6411f49d63a10d4a26db 100644 |
--- a/client/tests/client/dom/InnerFrameTest.dart |
+++ b/client/tests/client/dom/InnerFrameTest.dart |
@@ -8,15 +8,30 @@ main() { |
// The child's frame should not be able to access its parent's |
// document. |
+ |
+ // Check window.frameElement. |
try { |
var parentDocument = window.frameElement.ownerDocument; |
var div = parentDocument.createElement("div"); |
- div.id = "illegal"; |
+ div.id = "illegalFrameElement"; |
parentDocument.body.appendChild(div); |
Expect.fail('Should not reach here.'); |
} catch (NoSuchMethodException e) { |
// Expected. |
} |
+ |
+ // Check window.top. |
+ try { |
+ final top = window.top; |
+ var parentDocument = top.document; |
+ var div = parentDocument.createElement("div"); |
+ div.id = "illegalTop"; |
+ parentDocument.body.appendChild(div); |
+ Expect.fail('Should not reach here.'); |
+ } catch (var e) { |
+ // Expected. |
+ // TODO(vsm): Enforce this is a NoSuchMethodException. |
+ } |
return; |
} |
@@ -32,7 +47,14 @@ main() { |
}); |
test('frameElement', () { |
- var div = document.getElementById('illegal'); |
+ var div = document.getElementById('illegalFrameElement'); |
+ |
+ // Ensure that this parent frame was not modified by its child. |
+ Expect.isNull(div); |
+ }); |
+ |
+ test('top', () { |
+ var div = document.getElementById('illegalTop'); |
// Ensure that this parent frame was not modified by its child. |
Expect.isNull(div); |