Commit e0a4b3e9 authored by Adithya Srinivasan's avatar Adithya Srinivasan Committed by Commit Bot

Portals: Add window.portalHost

Adds IDL files for PortalHost and window.portalHost, and has a simple
layout test for window.portalHost.

Bug: 914117
Change-Id: Iccaae8992e7cf2794a26e171cebffc94deca8e1d
Reviewed-on: https://chromium-review.googlesource.com/c/1393438Reviewed-by: default avatarJeremy Roman <jbroman@chromium.org>
Reviewed-by: default avatarLucas Gadani <lfg@chromium.org>
Commit-Queue: Adithya Srinivasan <adithyas@chromium.org>
Cr-Commit-Position: refs/heads/master@{#619757}
parent b1dd96d9
...@@ -288,6 +288,7 @@ core_idl_files = ...@@ -288,6 +288,7 @@ core_idl_files =
"html/media/html_audio_element.idl", "html/media/html_audio_element.idl",
"html/media/media_error.idl", "html/media/media_error.idl",
"html/portal/html_portal_element.idl", "html/portal/html_portal_element.idl",
"html/portal/portal_host.idl",
"html/track/audio_track_list.idl", "html/track/audio_track_list.idl",
"html/track/html_track_element.idl", "html/track/html_track_element.idl",
"html/track/text_track.idl", "html/track/text_track.idl",
...@@ -545,6 +546,7 @@ core_dependency_idl_files = ...@@ -545,6 +546,7 @@ core_dependency_idl_files =
"fullscreen/document_fullscreen.idl", "fullscreen/document_fullscreen.idl",
"fullscreen/element_fullscreen.idl", "fullscreen/element_fullscreen.idl",
"html/html_hyperlink_element_utils.idl", "html/html_hyperlink_element_utils.idl",
"html/portal/window_portal_host.idl",
"layout/custom/css_layout_worklet.idl", "layout/custom/css_layout_worklet.idl",
"svg/svg_document.idl", "svg/svg_document.idl",
"svg/svg_filter_primitive_standard_attributes.idl", "svg/svg_filter_primitive_standard_attributes.idl",
......
...@@ -511,8 +511,11 @@ blink_core_sources("html") { ...@@ -511,8 +511,11 @@ blink_core_sources("html") {
"plugin_document.h", "plugin_document.h",
"portal/document_portals.cc", "portal/document_portals.cc",
"portal/document_portals.h", "portal/document_portals.h",
"portal/dom_window_portal_host.cc",
"portal/dom_window_portal_host.h",
"portal/html_portal_element.cc", "portal/html_portal_element.cc",
"portal/html_portal_element.h", "portal/html_portal_element.h",
"portal/portal_host.h",
"rel_list.cc", "rel_list.cc",
"rel_list.h", "rel_list.h",
"shadow/details_marker_control.cc", "shadow/details_marker_control.cc",
......
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "third_party/blink/renderer/core/html/portal/dom_window_portal_host.h"
namespace blink {
// static
PortalHost* DOMWindowPortalHost::portalHost(LocalDOMWindow& window) {
return nullptr;
}
} // namespace blink
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_HTML_PORTAL_DOM_WINDOW_PORTAL_HOST_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_PORTAL_DOM_WINDOW_PORTAL_HOST_H_
#include "third_party/blink/renderer/core/core_export.h"
namespace blink {
class LocalDOMWindow;
class PortalHost;
class CORE_EXPORT DOMWindowPortalHost {
public:
static PortalHost* portalHost(LocalDOMWindow& window);
};
} // namespace blink
#endif // THIRD_PARTY_BLINK_RENDERER_CORE_HTML_PORTAL_DOM_WINDOW_PORTAL_HOST_H_
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_HTML_PORTAL_PORTAL_HOST_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_HTML_PORTAL_PORTAL_HOST_H_
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/dom/events/event_target.h"
namespace blink {
class CORE_EXPORT PortalHost : public EventTargetWithInlineData {
DEFINE_WRAPPERTYPEINFO();
};
} // namespace blink
#endif // THIRD_PARTY_BLINK_RENDERER_CORE_HTML_PORTAL_PORTAL_HOST_H_
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// https://wicg.github.io/portals/#the-portalhost-interface
[RuntimeEnabled=Portals]
interface PortalHost : EventTarget {};
// Copyright 2019 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
// https://wicg.github.io/portals/#miscellaneous-extensions
[
ImplementedAs=DOMWindowPortalHost
] partial interface Window {
[RuntimeEnabled=Portals] readonly attribute PortalHost? portalHost;
};
<!DOCTYPE html>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<body>
<script>
test(t => {
assert_equals(window.portalHost, null, "window.portalHost should be null");
});
</script>
</body>
...@@ -211,6 +211,7 @@ PASS oldChildWindow.performance.timing.secureConnectionStart is newChildWindow.p ...@@ -211,6 +211,7 @@ PASS oldChildWindow.performance.timing.secureConnectionStart is newChildWindow.p
PASS oldChildWindow.performance.timing.unloadEventEnd is newChildWindow.performance.timing.unloadEventEnd PASS oldChildWindow.performance.timing.unloadEventEnd is newChildWindow.performance.timing.unloadEventEnd
PASS oldChildWindow.performance.timing.unloadEventStart is newChildWindow.performance.timing.unloadEventStart PASS oldChildWindow.performance.timing.unloadEventStart is newChildWindow.performance.timing.unloadEventStart
PASS oldChildWindow.personalbar.visible is newChildWindow.personalbar.visible PASS oldChildWindow.personalbar.visible is newChildWindow.personalbar.visible
PASS oldChildWindow.portalHost is newChildWindow.portalHost
PASS oldChildWindow.screen.availHeight is newChildWindow.screen.availHeight PASS oldChildWindow.screen.availHeight is newChildWindow.screen.availHeight
PASS oldChildWindow.screen.availLeft is newChildWindow.screen.availLeft PASS oldChildWindow.screen.availLeft is newChildWindow.screen.availLeft
PASS oldChildWindow.screen.availTop is newChildWindow.screen.availTop PASS oldChildWindow.screen.availTop is newChildWindow.screen.availTop
......
...@@ -151,6 +151,7 @@ PASS childWindow.pageXOffset is 0 ...@@ -151,6 +151,7 @@ PASS childWindow.pageXOffset is 0
PASS childWindow.pageYOffset is 0 PASS childWindow.pageYOffset is 0
PASS childWindow.performance.onresourcetimingbufferfull is null PASS childWindow.performance.onresourcetimingbufferfull is null
PASS childWindow.personalbar.visible is false PASS childWindow.personalbar.visible is false
PASS childWindow.portalHost is null
PASS childWindow.screen.availHeight is 0 PASS childWindow.screen.availHeight is 0
PASS childWindow.screen.availLeft is 0 PASS childWindow.screen.availLeft is 0
PASS childWindow.screen.availTop is 0 PASS childWindow.screen.availTop is 0
......
...@@ -151,6 +151,7 @@ PASS childWindow.pageXOffset is 0 ...@@ -151,6 +151,7 @@ PASS childWindow.pageXOffset is 0
PASS childWindow.pageYOffset is 0 PASS childWindow.pageYOffset is 0
PASS childWindow.performance.onresourcetimingbufferfull is null PASS childWindow.performance.onresourcetimingbufferfull is null
PASS childWindow.personalbar.visible is false PASS childWindow.personalbar.visible is false
PASS childWindow.portalHost is null
PASS childWindow.screen.availHeight is 0 PASS childWindow.screen.availHeight is 0
PASS childWindow.screen.availLeft is 0 PASS childWindow.screen.availLeft is 0
PASS childWindow.screen.availTop is 0 PASS childWindow.screen.availTop is 0
......
CONSOLE WARNING: line 121: 'window.webkitStorageInfo' is deprecated. Please use 'navigator.webkitTemporaryStorage' or 'navigator.webkitPersistentStorage' instead.
Tests property access on a cached DOMWindow after the associated frame is removed from a web page and garbage collected. Test should not crash and properties should be set to sane defaults.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS childWindow.closed is true
PASS childWindow.defaultStatus is ''
PASS childWindow.defaultstatus is ''
PASS childWindow.devicePixelRatio is 0
PASS childWindow.innerHeight is 0
PASS childWindow.innerWidth is 0
PASS childWindow.isSecureContext is false
PASS childWindow.length is 0
PASS childWindow.locationbar.visible is false
PASS childWindow.menubar.visible is false
PASS childWindow.name is ''
PASS childWindow.navigator.appCodeName is window.navigator.appCodeName
PASS childWindow.navigator.appName is window.navigator.appName
PASS childWindow.navigator.appVersion is ''
PASS childWindow.navigator.cookieEnabled is false
PASS childWindow.navigator.doNotTrack is null
PASS childWindow.navigator.hardwareConcurrency is window.navigator.hardwareConcurrency
PASS childWindow.navigator.language is window.navigator.language
PASS childWindow.navigator.maxTouchPoints is 0
PASS childWindow.navigator.mediaDevices.ondevicechange is null
PASS childWindow.navigator.mediaSession.metadata is null
PASS childWindow.navigator.mediaSession.playbackState is 'none'
PASS childWindow.navigator.onLine is window.navigator.onLine
PASS childWindow.navigator.platform is window.navigator.platform
PASS childWindow.navigator.product is window.navigator.product
PASS childWindow.navigator.productSub is window.navigator.productSub
PASS childWindow.navigator.userActivation.hasBeenActive is false
PASS childWindow.navigator.userActivation.isActive is false
PASS childWindow.navigator.userAgent is ''
PASS childWindow.navigator.vendor is window.navigator.vendor
PASS childWindow.navigator.vendorSub is ''
PASS childWindow.onabort is null
PASS childWindow.onactivateinvisible is null
PASS childWindow.onafterprint is null
PASS childWindow.onanimationend is null
PASS childWindow.onanimationiteration is null
PASS childWindow.onanimationstart is null
PASS childWindow.onappinstalled is null
PASS childWindow.onauxclick is null
PASS childWindow.onbeforeinstallprompt is null
PASS childWindow.onbeforeprint is null
PASS childWindow.onbeforeunload is null
PASS childWindow.onblur is null
PASS childWindow.oncancel is null
PASS childWindow.oncanplay is null
PASS childWindow.oncanplaythrough is null
PASS childWindow.onchange is null
PASS childWindow.onclick is null
PASS childWindow.onclose is null
PASS childWindow.oncontextmenu is null
PASS childWindow.oncuechange is null
PASS childWindow.ondblclick is null
PASS childWindow.ondevicemotion is null
PASS childWindow.ondeviceorientation is null
PASS childWindow.ondeviceorientationabsolute is null
PASS childWindow.ondrag is null
PASS childWindow.ondragend is null
PASS childWindow.ondragenter is null
PASS childWindow.ondragleave is null
PASS childWindow.ondragover is null
PASS childWindow.ondragstart is null
PASS childWindow.ondrop is null
PASS childWindow.ondurationchange is null
PASS childWindow.onemptied is null
PASS childWindow.onended is null
PASS childWindow.onerror is null
PASS childWindow.onfocus is null
PASS childWindow.onformdata is null
PASS childWindow.ongotpointercapture is null
PASS childWindow.onhashchange is null
PASS childWindow.oninput is null
PASS childWindow.oninvalid is null
PASS childWindow.onkeydown is null
PASS childWindow.onkeypress is null
PASS childWindow.onkeyup is null
PASS childWindow.onlanguagechange is null
PASS childWindow.onload is null
PASS childWindow.onloadeddata is null
PASS childWindow.onloadedmetadata is null
PASS childWindow.onloadstart is null
PASS childWindow.onlostpointercapture is null
PASS childWindow.onmessage is null
PASS childWindow.onmessageerror is null
PASS childWindow.onmousedown is null
PASS childWindow.onmouseenter is null
PASS childWindow.onmouseleave is null
PASS childWindow.onmousemove is null
PASS childWindow.onmouseout is null
PASS childWindow.onmouseover is null
PASS childWindow.onmouseup is null
PASS childWindow.onmousewheel is null
PASS childWindow.onoffline is null
PASS childWindow.ononline is null
PASS childWindow.onpagehide is null
PASS childWindow.onpageshow is null
PASS childWindow.onpause is null
PASS childWindow.onplay is null
PASS childWindow.onplaying is null
PASS childWindow.onpointercancel is null
PASS childWindow.onpointerdown is null
PASS childWindow.onpointerenter is null
PASS childWindow.onpointerleave is null
PASS childWindow.onpointermove is null
PASS childWindow.onpointerout is null
PASS childWindow.onpointerover is null
PASS childWindow.onpointerrawmove is null
PASS childWindow.onpointerup is null
PASS childWindow.onpopstate is null
PASS childWindow.onprogress is null
PASS childWindow.onratechange is null
PASS childWindow.onrejectionhandled is null
PASS childWindow.onreset is null
PASS childWindow.onresize is null
PASS childWindow.onscroll is null
PASS childWindow.onsearch is null
PASS childWindow.onseeked is null
PASS childWindow.onseeking is null
PASS childWindow.onselect is null
PASS childWindow.onselectionchange is null
PASS childWindow.onselectstart is null
PASS childWindow.onstalled is null
PASS childWindow.onstorage is null
PASS childWindow.onsubmit is null
PASS childWindow.onsuspend is null
PASS childWindow.ontimeupdate is null
PASS childWindow.ontoggle is null
PASS childWindow.ontouchcancel is null
PASS childWindow.ontouchend is null
PASS childWindow.ontouchmove is null
PASS childWindow.ontouchstart is null
PASS childWindow.ontransitionend is null
PASS childWindow.onunhandledrejection is null
PASS childWindow.onunload is null
PASS childWindow.onvolumechange is null
PASS childWindow.onwaiting is null
PASS childWindow.onwebkitanimationend is null
PASS childWindow.onwebkitanimationiteration is null
PASS childWindow.onwebkitanimationstart is null
PASS childWindow.onwebkittransitionend is null
PASS childWindow.onwheel is null
PASS childWindow.opener is null
PASS childWindow.origin is 'file://'
PASS childWindow.outerHeight is 0
PASS childWindow.outerWidth is 0
PASS childWindow.pageXOffset is 0
PASS childWindow.pageYOffset is 0
PASS childWindow.performance.onresourcetimingbufferfull is null
PASS childWindow.personalbar.visible is false
PASS childWindow.screen.availHeight is 0
PASS childWindow.screen.availLeft is 0
PASS childWindow.screen.availTop is 0
PASS childWindow.screen.availWidth is 0
PASS childWindow.screen.colorDepth is 0
PASS childWindow.screen.height is 0
PASS childWindow.screen.keepAwake is false
PASS childWindow.screen.pixelDepth is 0
PASS childWindow.screen.width is 0
PASS childWindow.screenLeft is 0
PASS childWindow.screenTop is 0
PASS childWindow.screenX is 0
PASS childWindow.screenY is 0
PASS childWindow.scrollX is 0
PASS childWindow.scrollY is 0
PASS childWindow.scrollbars.visible is false
PASS childWindow.speechSynthesis.onvoiceschanged is null
PASS childWindow.speechSynthesis.paused is false
PASS childWindow.speechSynthesis.pending is false
PASS childWindow.speechSynthesis.speaking is false
PASS childWindow.status is ''
PASS childWindow.statusbar.visible is false
PASS childWindow.styleMedia.type is ''
PASS childWindow.toolbar.visible is false
PASS childWindow.visualViewport.height is 0
PASS childWindow.visualViewport.offsetLeft is 0
PASS childWindow.visualViewport.offsetTop is 0
PASS childWindow.visualViewport.onresize is null
PASS childWindow.visualViewport.onscroll is null
PASS childWindow.visualViewport.pageLeft is 0
PASS childWindow.visualViewport.pageTop is 0
PASS childWindow.visualViewport.scale is 0
PASS childWindow.visualViewport.width is 0
PASS successfullyParsed is true
TEST COMPLETE
CONSOLE WARNING: line 121: 'window.webkitStorageInfo' is deprecated. Please use 'navigator.webkitTemporaryStorage' or 'navigator.webkitPersistentStorage' instead.
Tests property access on a cached DOMWindow after the associated frame is no longer in a web page. Test should not crash and properties should be set to sane defaults.
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
PASS childWindow.closed is true
PASS childWindow.defaultStatus is ''
PASS childWindow.defaultstatus is ''
PASS childWindow.devicePixelRatio is 0
PASS childWindow.innerHeight is 0
PASS childWindow.innerWidth is 0
PASS childWindow.isSecureContext is false
PASS childWindow.length is 0
PASS childWindow.locationbar.visible is false
PASS childWindow.menubar.visible is false
PASS childWindow.name is ''
PASS childWindow.navigator.appCodeName is window.navigator.appCodeName
PASS childWindow.navigator.appName is window.navigator.appName
PASS childWindow.navigator.appVersion is ''
PASS childWindow.navigator.cookieEnabled is false
PASS childWindow.navigator.doNotTrack is null
PASS childWindow.navigator.hardwareConcurrency is window.navigator.hardwareConcurrency
PASS childWindow.navigator.language is window.navigator.language
PASS childWindow.navigator.maxTouchPoints is 0
PASS childWindow.navigator.mediaDevices.ondevicechange is null
PASS childWindow.navigator.mediaSession.metadata is null
PASS childWindow.navigator.mediaSession.playbackState is 'none'
PASS childWindow.navigator.onLine is window.navigator.onLine
PASS childWindow.navigator.platform is window.navigator.platform
PASS childWindow.navigator.product is window.navigator.product
PASS childWindow.navigator.productSub is window.navigator.productSub
PASS childWindow.navigator.userActivation.hasBeenActive is false
PASS childWindow.navigator.userActivation.isActive is false
PASS childWindow.navigator.userAgent is ''
PASS childWindow.navigator.vendor is window.navigator.vendor
PASS childWindow.navigator.vendorSub is ''
PASS childWindow.onabort is null
PASS childWindow.onactivateinvisible is null
PASS childWindow.onafterprint is null
PASS childWindow.onanimationend is null
PASS childWindow.onanimationiteration is null
PASS childWindow.onanimationstart is null
PASS childWindow.onappinstalled is null
PASS childWindow.onauxclick is null
PASS childWindow.onbeforeinstallprompt is null
PASS childWindow.onbeforeprint is null
PASS childWindow.onbeforeunload is null
PASS childWindow.onblur is null
PASS childWindow.oncancel is null
PASS childWindow.oncanplay is null
PASS childWindow.oncanplaythrough is null
PASS childWindow.onchange is null
PASS childWindow.onclick is null
PASS childWindow.onclose is null
PASS childWindow.oncontextmenu is null
PASS childWindow.oncuechange is null
PASS childWindow.ondblclick is null
PASS childWindow.ondevicemotion is null
PASS childWindow.ondeviceorientation is null
PASS childWindow.ondeviceorientationabsolute is null
PASS childWindow.ondrag is null
PASS childWindow.ondragend is null
PASS childWindow.ondragenter is null
PASS childWindow.ondragleave is null
PASS childWindow.ondragover is null
PASS childWindow.ondragstart is null
PASS childWindow.ondrop is null
PASS childWindow.ondurationchange is null
PASS childWindow.onemptied is null
PASS childWindow.onended is null
PASS childWindow.onerror is null
PASS childWindow.onfocus is null
PASS childWindow.onformdata is null
PASS childWindow.ongotpointercapture is null
PASS childWindow.onhashchange is null
PASS childWindow.oninput is null
PASS childWindow.oninvalid is null
PASS childWindow.onkeydown is null
PASS childWindow.onkeypress is null
PASS childWindow.onkeyup is null
PASS childWindow.onlanguagechange is null
PASS childWindow.onload is null
PASS childWindow.onloadeddata is null
PASS childWindow.onloadedmetadata is null
PASS childWindow.onloadstart is null
PASS childWindow.onlostpointercapture is null
PASS childWindow.onmessage is null
PASS childWindow.onmessageerror is null
PASS childWindow.onmousedown is null
PASS childWindow.onmouseenter is null
PASS childWindow.onmouseleave is null
PASS childWindow.onmousemove is null
PASS childWindow.onmouseout is null
PASS childWindow.onmouseover is null
PASS childWindow.onmouseup is null
PASS childWindow.onmousewheel is null
PASS childWindow.onoffline is null
PASS childWindow.ononline is null
PASS childWindow.onpagehide is null
PASS childWindow.onpageshow is null
PASS childWindow.onpause is null
PASS childWindow.onplay is null
PASS childWindow.onplaying is null
PASS childWindow.onpointercancel is null
PASS childWindow.onpointerdown is null
PASS childWindow.onpointerenter is null
PASS childWindow.onpointerleave is null
PASS childWindow.onpointermove is null
PASS childWindow.onpointerout is null
PASS childWindow.onpointerover is null
PASS childWindow.onpointerrawmove is null
PASS childWindow.onpointerup is null
PASS childWindow.onpopstate is null
PASS childWindow.onprogress is null
PASS childWindow.onratechange is null
PASS childWindow.onrejectionhandled is null
PASS childWindow.onreset is null
PASS childWindow.onresize is null
PASS childWindow.onscroll is null
PASS childWindow.onsearch is null
PASS childWindow.onseeked is null
PASS childWindow.onseeking is null
PASS childWindow.onselect is null
PASS childWindow.onselectionchange is null
PASS childWindow.onselectstart is null
PASS childWindow.onstalled is null
PASS childWindow.onstorage is null
PASS childWindow.onsubmit is null
PASS childWindow.onsuspend is null
PASS childWindow.ontimeupdate is null
PASS childWindow.ontoggle is null
PASS childWindow.ontouchcancel is null
PASS childWindow.ontouchend is null
PASS childWindow.ontouchmove is null
PASS childWindow.ontouchstart is null
PASS childWindow.ontransitionend is null
PASS childWindow.onunhandledrejection is null
PASS childWindow.onunload is null
PASS childWindow.onvolumechange is null
PASS childWindow.onwaiting is null
PASS childWindow.onwebkitanimationend is null
PASS childWindow.onwebkitanimationiteration is null
PASS childWindow.onwebkitanimationstart is null
PASS childWindow.onwebkittransitionend is null
PASS childWindow.onwheel is null
PASS childWindow.opener is null
PASS childWindow.origin is 'file://'
PASS childWindow.outerHeight is 0
PASS childWindow.outerWidth is 0
PASS childWindow.pageXOffset is 0
PASS childWindow.pageYOffset is 0
PASS childWindow.performance.onresourcetimingbufferfull is null
PASS childWindow.personalbar.visible is false
PASS childWindow.screen.availHeight is 0
PASS childWindow.screen.availLeft is 0
PASS childWindow.screen.availTop is 0
PASS childWindow.screen.availWidth is 0
PASS childWindow.screen.colorDepth is 0
PASS childWindow.screen.height is 0
PASS childWindow.screen.keepAwake is false
PASS childWindow.screen.pixelDepth is 0
PASS childWindow.screen.width is 0
PASS childWindow.screenLeft is 0
PASS childWindow.screenTop is 0
PASS childWindow.screenX is 0
PASS childWindow.screenY is 0
PASS childWindow.scrollX is 0
PASS childWindow.scrollY is 0
PASS childWindow.scrollbars.visible is false
PASS childWindow.speechSynthesis.onvoiceschanged is null
PASS childWindow.speechSynthesis.paused is false
PASS childWindow.speechSynthesis.pending is false
PASS childWindow.speechSynthesis.speaking is false
PASS childWindow.status is ''
PASS childWindow.statusbar.visible is false
PASS childWindow.styleMedia.type is ''
PASS childWindow.toolbar.visible is false
PASS childWindow.visualViewport.height is 0
PASS childWindow.visualViewport.offsetLeft is 0
PASS childWindow.visualViewport.offsetTop is 0
PASS childWindow.visualViewport.onresize is null
PASS childWindow.visualViewport.onscroll is null
PASS childWindow.visualViewport.pageLeft is 0
PASS childWindow.visualViewport.pageTop is 0
PASS childWindow.visualViewport.scale is 0
PASS childWindow.visualViewport.width is 0
PASS successfullyParsed is true
TEST COMPLETE
...@@ -5420,6 +5420,9 @@ interface PopStateEvent : Event ...@@ -5420,6 +5420,9 @@ interface PopStateEvent : Event
attribute @@toStringTag attribute @@toStringTag
getter state getter state
method constructor method constructor
interface PortalHost : EventTarget
attribute @@toStringTag
method constructor
interface Presentation interface Presentation
attribute @@toStringTag attribute @@toStringTag
getter defaultRequest getter defaultRequest
...@@ -10798,6 +10801,7 @@ interface webkitURL ...@@ -10798,6 +10801,7 @@ interface webkitURL
getter pageYOffset getter pageYOffset
getter performance getter performance
getter personalbar getter personalbar
getter portalHost
getter screen getter screen
getter screenLeft getter screenLeft
getter screenTop getter screenTop
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment