Source/WebCore/ChangeLog

112016-10-16 Simon Fraser <simon.fraser@apple.com>
22
 3 Implement DOMPoint/DOMPointReadOnly
 4 https://bugs.webkit.org/show_bug.cgi?id=133916
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 Patch mostly by Dirk Schultz <krit@webkit.org>.
 9
 10 Implement DOMPoint/DOMPointReadOnly following https://drafts.fxtf.org/geometry/
 11 (although we may need to match https://www.w3.org/TR/geometry-1/ to be compatible
 12 with Chrome).
 13
 14 Test: geometry/DOMPoint-001.html
 15
 16 * CMakeLists.txt:
 17 * DerivedSources.make:
 18 * WebCore.xcodeproj/project.pbxproj:
 19 * dom/DOMPoint.h: Added.
 20 * dom/DOMPoint.idl: Added.
 21 * dom/DOMPointInit.h: Added.
 22 * dom/DOMPointInit.idl: Added.
 23 * dom/DOMPointReadOnly.h: Added.
 24 (WebCore::DOMPointReadOnly::create):
 25 (WebCore::DOMPointReadOnly::fromPoint):
 26 (WebCore::DOMPointReadOnly::x):
 27 (WebCore::DOMPointReadOnly::y):
 28 (WebCore::DOMPointReadOnly::z):
 29 (WebCore::DOMPointReadOnly::w):
 30 (WebCore::DOMPointReadOnly::DOMPointReadOnly):
 31 * dom/DOMPointReadOnly.idl: Added.
 32
 332016-10-16 Simon Fraser <simon.fraser@apple.com>
 34
335 Implement serializer = { attribute }
436 https://bugs.webkit.org/show_bug.cgi?id=163466
537

Source/WebCore/CMakeLists.txt

@@set(WebCore_NON_SVG_IDL_FILES
386386 dom/DOMError.idl
387387 dom/DOMImplementation.idl
388388 dom/DOMNamedFlowCollection.idl
 389 dom/DOMPoint.idl
 390 dom/DOMPointInit.idl
 391 dom/DOMPointReadOnly.idl
389392 dom/DOMStringList.idl
390393 dom/DOMStringMap.idl
391394 dom/DataTransfer.idl

Source/WebCore/DerivedSources.make

@@JS_BINDING_IDLS = \
294294 $(WebCore)/dom/DOMError.idl \
295295 $(WebCore)/dom/DOMImplementation.idl \
296296 $(WebCore)/dom/DOMNamedFlowCollection.idl \
 297 $(WebCore)/dom/DOMPoint.idl \
 298 $(WebCore)/dom/DOMPointInit.idl \
 299 $(WebCore)/dom/DOMPointReadOnly.idl \
297300 $(WebCore)/dom/DOMStringList.idl \
298301 $(WebCore)/dom/DOMStringMap.idl \
299302 $(WebCore)/dom/DataTransfer.idl \

Source/WebCore/WebCore.xcodeproj/project.pbxproj

466466 0F3F0E5A157030C3006DA57F /* RenderGeometryMap.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F3F0E58157030C3006DA57F /* RenderGeometryMap.h */; };
467467 0F43C85D189E10CF00019AE2 /* PerformanceTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F43C85C189E10CF00019AE2 /* PerformanceTiming.cpp */; };
468468 0F43C85F189E15A600019AE2 /* JSPerformanceTiming.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F43C85E189E15A600019AE2 /* JSPerformanceTiming.cpp */; };
 469 0F49669D1DB408C100A274BB /* DOMPoint.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F4966991DB408C100A274BB /* DOMPoint.h */; };
 470 0F49669F1DB408C100A274BB /* DOMPointReadOnly.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F49669B1DB408C100A274BB /* DOMPointReadOnly.h */; };
 471 0F4966A31DB4091000A274BB /* DOMPointInit.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F4966A21DB4091000A274BB /* DOMPointInit.h */; };
 472 0F4966AA1DB40C4300A274BB /* JSDOMPoint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F4966A41DB40C4300A274BB /* JSDOMPoint.cpp */; };
 473 0F4966AB1DB40C4300A274BB /* JSDOMPoint.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F4966A51DB40C4300A274BB /* JSDOMPoint.h */; };
 474 0F4966AC1DB40C4300A274BB /* JSDOMPointInit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F4966A61DB40C4300A274BB /* JSDOMPointInit.cpp */; };
 475 0F4966AD1DB40C4300A274BB /* JSDOMPointInit.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F4966A71DB40C4300A274BB /* JSDOMPointInit.h */; };
 476 0F4966AE1DB40C4300A274BB /* JSDOMPointReadOnly.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F4966A81DB40C4300A274BB /* JSDOMPointReadOnly.cpp */; };
 477 0F4966AF1DB40C4300A274BB /* JSDOMPointReadOnly.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F4966A91DB40C4300A274BB /* JSDOMPointReadOnly.h */; };
469478 0F4E57171313276200CF85AF /* RenderSVGAllInOne.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F4E57161313276200CF85AF /* RenderSVGAllInOne.cpp */; };
470479 0F54DCE51881051D003EEDBB /* TextAutoSizing.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 0F54DCE31881051D003EEDBB /* TextAutoSizing.cpp */; };
471480 0F54DCE61881051D003EEDBB /* TextAutoSizing.h in Headers */ = {isa = PBXBuildFile; fileRef = 0F54DCE41881051D003EEDBB /* TextAutoSizing.h */; };

73007309 0F3F0E58157030C3006DA57F /* RenderGeometryMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RenderGeometryMap.h; sourceTree = "<group>"; };
73017310 0F43C85C189E10CF00019AE2 /* PerformanceTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PerformanceTiming.cpp; sourceTree = "<group>"; };
73027311 0F43C85E189E15A600019AE2 /* JSPerformanceTiming.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPerformanceTiming.cpp; sourceTree = "<group>"; };
 7312 0F4966991DB408C100A274BB /* DOMPoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMPoint.h; sourceTree = "<group>"; };
 7313 0F49669A1DB408C100A274BB /* DOMPoint.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DOMPoint.idl; sourceTree = "<group>"; };
 7314 0F49669B1DB408C100A274BB /* DOMPointReadOnly.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMPointReadOnly.h; sourceTree = "<group>"; };
 7315 0F49669C1DB408C100A274BB /* DOMPointReadOnly.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DOMPointReadOnly.idl; sourceTree = "<group>"; };
 7316 0F4966A11DB4090100A274BB /* DOMPointInit.idl */ = {isa = PBXFileReference; lastKnownFileType = text; path = DOMPointInit.idl; sourceTree = "<group>"; };
 7317 0F4966A21DB4091000A274BB /* DOMPointInit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMPointInit.h; sourceTree = "<group>"; };
 7318 0F4966A41DB40C4300A274BB /* JSDOMPoint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSDOMPoint.cpp; path = JSDOMPoint.cpp; sourceTree = "<group>"; };
 7319 0F4966A51DB40C4300A274BB /* JSDOMPoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSDOMPoint.h; path = JSDOMPoint.h; sourceTree = "<group>"; };
 7320 0F4966A61DB40C4300A274BB /* JSDOMPointInit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSDOMPointInit.cpp; path = JSDOMPointInit.cpp; sourceTree = "<group>"; };
 7321 0F4966A71DB40C4300A274BB /* JSDOMPointInit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSDOMPointInit.h; path = JSDOMPointInit.h; sourceTree = "<group>"; };
 7322 0F4966A81DB40C4300A274BB /* JSDOMPointReadOnly.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = JSDOMPointReadOnly.cpp; path = JSDOMPointReadOnly.cpp; sourceTree = "<group>"; };
 7323 0F4966A91DB40C4300A274BB /* JSDOMPointReadOnly.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = JSDOMPointReadOnly.h; path = JSDOMPointReadOnly.h; sourceTree = "<group>"; };
73037324 0F4E57161313276200CF85AF /* RenderSVGAllInOne.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RenderSVGAllInOne.cpp; sourceTree = "<group>"; };
73047325 0F54DCCC1880C6AB003EEDBB /* ios-encodings.txt */ = {isa = PBXFileReference; lastKnownFileType = text; path = "ios-encodings.txt"; sourceTree = "<group>"; };
73057326 0F54DCE31881051D003EEDBB /* TextAutoSizing.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TextAutoSizing.cpp; sourceTree = "<group>"; };

1966119682 65DF31E409D1CC60000BE325 /* JSDOMImplementation.h */,
1966219683 52CCA9E015E3F62C0053C77F /* JSDOMNamedFlowCollection.cpp */,
1966319684 52CCA9E115E3F62C0053C77F /* JSDOMNamedFlowCollection.h */,
 19685 0F4966A41DB40C4300A274BB /* JSDOMPoint.cpp */,
 19686 0F4966A51DB40C4300A274BB /* JSDOMPoint.h */,
 19687 0F4966A61DB40C4300A274BB /* JSDOMPointInit.cpp */,
 19688 0F4966A71DB40C4300A274BB /* JSDOMPointInit.h */,
 19689 0F4966A81DB40C4300A274BB /* JSDOMPointReadOnly.cpp */,
 19690 0F4966A91DB40C4300A274BB /* JSDOMPointReadOnly.h */,
1966419691 C5137CF011A58378004ADB99 /* JSDOMStringList.cpp */,
1966519692 C5137CF111A58378004ADB99 /* JSDOMStringList.h */,
1966619693 BC64649511D82349006455B0 /* JSDOMStringMap.cpp */,

2312123148 52B6C9BD15E3F4DF00690B05 /* DOMNamedFlowCollection.cpp */,
2312223149 52B6C9BE15E3F4DF00690B05 /* DOMNamedFlowCollection.h */,
2312323150 52B6C9BF15E3F4DF00690B05 /* DOMNamedFlowCollection.idl */,
 23151 0F4966991DB408C100A274BB /* DOMPoint.h */,
 23152 0F49669A1DB408C100A274BB /* DOMPoint.idl */,
 23153 0F4966A21DB4091000A274BB /* DOMPointInit.h */,
 23154 0F4966A11DB4090100A274BB /* DOMPointInit.idl */,
 23155 0F49669B1DB408C100A274BB /* DOMPointReadOnly.h */,
 23156 0F49669C1DB408C100A274BB /* DOMPointReadOnly.idl */,
2312423157 C55610F011A704EB00B82D27 /* DOMStringList.cpp */,
2312523158 C544274911A57E7A0063A749 /* DOMStringList.h */,
2312623159 C544274A11A57E7A0063A749 /* DOMStringList.idl */,

2447324506 FB91392416AE4C17001FE682 /* DOMPath.h in Headers */,
2447424507 A9C6E4EC0D745E2B006442E9 /* DOMPlugin.h in Headers */,
2447524508 A9C6E4F00D745E38006442E9 /* DOMPluginArray.h in Headers */,
 24509 0F49669D1DB408C100A274BB /* DOMPoint.h in Headers */,
 24510 0F4966A31DB4091000A274BB /* DOMPointInit.h in Headers */,
 24511 0F49669F1DB408C100A274BB /* DOMPointReadOnly.h in Headers */,
2447624512 5185FCB71BB4C7670012898F /* DOMRequestState.h in Headers */,
2447724513 BC5A86850C33676000EEA649 /* DOMSelection.h in Headers */,
2447824514 C544274B11A57E7A0063A749 /* DOMStringList.h in Headers */,

2513825174 FB91392A16AE4FC0001FE682 /* JSDOMPath.h in Headers */,
2513925175 A9D247FF0D757E6900FDF959 /* JSDOMPlugin.h in Headers */,
2514025176 A9D248010D757E6900FDF959 /* JSDOMPluginArray.h in Headers */,
 25177 0F4966AB1DB40C4300A274BB /* JSDOMPoint.h in Headers */,
 25178 0F4966AD1DB40C4300A274BB /* JSDOMPointInit.h in Headers */,
 25179 0F4966AF1DB40C4300A274BB /* JSDOMPointReadOnly.h in Headers */,
2514125180 E172AF901811BC3700FBADB9 /* JSDOMPromise.h in Headers */,
2514225181 BC5A86B60C3367E800EEA649 /* JSDOMSelection.h in Headers */,
2514325182 C5137CF311A58378004ADB99 /* JSDOMStringList.h in Headers */,

2879928838 A9D248000D757E6900FDF959 /* JSDOMPluginArray.cpp in Sources */,
2880028839 A9C6E64C0D7465E7006442E9 /* JSDOMPluginArrayCustom.cpp in Sources */,
2880128840 A9C6E64D0D7465E7006442E9 /* JSDOMPluginCustom.cpp in Sources */,
 28841 0F4966AA1DB40C4300A274BB /* JSDOMPoint.cpp in Sources */,
 28842 0F4966AC1DB40C4300A274BB /* JSDOMPointInit.cpp in Sources */,
 28843 0F4966AE1DB40C4300A274BB /* JSDOMPointReadOnly.cpp in Sources */,
2880228844 E172AF8F1811BC3700FBADB9 /* JSDOMPromise.cpp in Sources */,
2880328845 BC5A86B50C3367E800EEA649 /* JSDOMSelection.cpp in Sources */,
2880428846 C5137CF211A58378004ADB99 /* JSDOMStringList.cpp in Sources */,

Source/WebCore/dom/DOMPoint.h

 1/*
 2 * Copyright (C) 2014 Adobe Systems Incorporated. All rights reserved.
 3 * Copyright (C) 2016 Apple Inc. All Rights Reserved.
 4 *
 5 * Redistribution and use in source and binary forms, with or without
 6 * modification, are permitted provided that the following conditions
 7 * are met:
 8 *
 9 * 1. Redistributions of source code must retain the above
 10 * copyright notice, this list of conditions and the following
 11 * disclaimer.
 12 * 2. Redistributions in binary form must reproduce the above
 13 * copyright notice, this list of conditions and the following
 14 * disclaimer in the documentation and/or other materials
 15 * provided with the distribution.
 16 *
 17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 18 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 19 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 20 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 21 * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 22 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 23 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 26 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 28 * OF THE POSSIBILITY OF SUCH DAMAGE.
 29 */
 30
 31#pragma once
 32
 33#include "DOMPointReadOnly.h"
 34
 35namespace WebCore {
 36
 37class DOMPoint final : public DOMPointReadOnly {
 38 WTF_MAKE_FAST_ALLOCATED;
 39public:
 40 static Ref<DOMPoint> create() { return adoptRef(*new DOMPoint); }
 41 static Ref<DOMPoint> create(double x, double y, double z = 0, double w = 1) { return adoptRef(*new DOMPoint(x, y, z, w)); }
 42
 43 static Ref<DOMPoint> fromPoint(const DOMPointInit& init) { return create(init.x, init.y, init.z, init.w); }
 44
 45 void setX(double x) { m_x = x; }
 46 void setY(double y) { m_y = y; }
 47 void setZ(double z) { m_z = z; }
 48 void setW(double w) { m_w = w; }
 49
 50private:
 51 DOMPoint(double x = 0, double y = 0, double z = 0, double w = 1)
 52 : DOMPointReadOnly(x, y, z, w)
 53 {
 54 }
 55};
 56
 57} // namespace WebCore

Source/WebCore/dom/DOMPoint.idl

 1/*
 2 * Copyright (C) 2014 Adobe Systems Incorporated. All rights reserved.
 3 * Copyright (C) 2016 Apple Inc. All Rights Reserved.
 4 *
 5 * Redistribution and use in source and binary forms, with or without
 6 * modification, are permitted provided that the following conditions
 7 * are met:
 8 *
 9 * 1. Redistributions of source code must retain the above
 10 * copyright notice, this list of conditions and the following
 11 * disclaimer.
 12 * 2. Redistributions in binary form must reproduce the above
 13 * copyright notice, this list of conditions and the following
 14 * disclaimer in the documentation and/or other materials
 15 * provided with the distribution.
 16 *
 17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 18 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 19 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 20 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 21 * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 22 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 23 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 26 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 28 * OF THE POSSIBILITY OF SUCH DAMAGE.
 29 */
 30
 31[
 32 Constructor(optional unrestricted double x = 0, optional unrestricted double y = 0,
 33 optional unrestricted double z = 0, optional unrestricted double w = 1),
 34 Exposed=(Window,Worker),
 35 ImplementationLacksVTable
 36]
 37interface DOMPoint : DOMPointReadOnly {
 38 [NewObject] static DOMPoint fromPoint(optional DOMPointInit other);
 39
 40 inherit attribute unrestricted double x;
 41 inherit attribute unrestricted double y;
 42 inherit attribute unrestricted double z;
 43 inherit attribute unrestricted double w;
 44};

Source/WebCore/dom/DOMPointInit.h

 1/*
 2 * Copyright (C) 2014 Adobe Systems Incorporated. All rights reserved.
 3 * Copyright (C) 2016 Apple Inc. All Rights Reserved.
 4 *
 5 * Redistribution and use in source and binary forms, with or without
 6 * modification, are permitted provided that the following conditions
 7 * are met:
 8 *
 9 * 1. Redistributions of source code must retain the above
 10 * copyright notice, this list of conditions and the following
 11 * disclaimer.
 12 * 2. Redistributions in binary form must reproduce the above
 13 * copyright notice, this list of conditions and the following
 14 * disclaimer in the documentation and/or other materials
 15 * provided with the distribution.
 16 *
 17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 18 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 19 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 20 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 21 * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 22 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 23 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 26 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 28 * OF THE POSSIBILITY OF SUCH DAMAGE.
 29 */
 30
 31#pragma once
 32
 33namespace WebCore {
 34
 35struct DOMPointInit {
 36 double x;
 37 double y;
 38 double z;
 39 double w;
 40};
 41
 42} // namespace WebCore

Source/WebCore/dom/DOMPointInit.idl

 1/*
 2 * Copyright (C) 2014 Adobe Systems Incorporated. All rights reserved.
 3 * Copyright (C) 2016 Apple Inc. All Rights Reserved.
 4 *
 5 * Redistribution and use in source and binary forms, with or without
 6 * modification, are permitted provided that the following conditions
 7 * are met:
 8 *
 9 * 1. Redistributions of source code must retain the above
 10 * copyright notice, this list of conditions and the following
 11 * disclaimer.
 12 * 2. Redistributions in binary form must reproduce the above
 13 * copyright notice, this list of conditions and the following
 14 * disclaimer in the documentation and/or other materials
 15 * provided with the distribution.
 16 *
 17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 18 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 19 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 20 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 21 * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 22 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 23 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 26 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 28 * OF THE POSSIBILITY OF SUCH DAMAGE.
 29 */
 30
 31dictionary DOMPointInit {
 32 unrestricted double x = 0;
 33 unrestricted double y = 0;
 34 unrestricted double z = 0;
 35 unrestricted double w = 1;
 36};

Source/WebCore/dom/DOMPointReadOnly.h

 1/*
 2 * Copyright (C) 2014 Adobe Systems Incorporated. All rights reserved.
 3 * Copyright (C) 2016 Apple Inc. All Rights Reserved.
 4 *
 5 * Redistribution and use in source and binary forms, with or without
 6 * modification, are permitted provided that the following conditions
 7 * are met:
 8 *
 9 * 1. Redistributions of source code must retain the above
 10 * copyright notice, this list of conditions and the following
 11 * disclaimer.
 12 * 2. Redistributions in binary form must reproduce the above
 13 * copyright notice, this list of conditions and the following
 14 * disclaimer in the documentation and/or other materials
 15 * provided with the distribution.
 16 *
 17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 18 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 19 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 20 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 21 * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 22 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 23 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 26 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 28 * OF THE POSSIBILITY OF SUCH DAMAGE.
 29 */
 30
 31#pragma once
 32
 33#include "DOMPointInit.h"
 34#include "ScriptWrappable.h"
 35#include <wtf/RefCounted.h>
 36
 37namespace WebCore {
 38
 39class DOMPointReadOnly : public ScriptWrappable, public RefCounted<DOMPointReadOnly> {
 40 WTF_MAKE_FAST_ALLOCATED;
 41public:
 42 static Ref<DOMPointReadOnly> create() { return adoptRef(*new DOMPointReadOnly); }
 43 static Ref<DOMPointReadOnly> create(double x, double y, double z = 0, double w = 1) { return adoptRef(*new DOMPointReadOnly(x, y, z, w)); }
 44
 45 static Ref<DOMPointReadOnly> fromPoint(const DOMPointInit& init) { return create(init.x, init.y, init.z, init.w); }
 46
 47 double x() const { return m_x; }
 48 double y() const { return m_y; }
 49 double z() const { return m_z; }
 50 double w() const { return m_w; }
 51
 52protected:
 53 DOMPointReadOnly(double x = 0, double y = 0, double z = 0, double w = 1)
 54 : m_x(x)
 55 , m_y(y)
 56 , m_z(z)
 57 , m_w(w)
 58 {
 59 }
 60
 61 // Any of these can be NaN or Inf.
 62 double m_x;
 63 double m_y;
 64 double m_z;
 65 double m_w;
 66};
 67
 68} // namespace WebCore
 69

Source/WebCore/dom/DOMPointReadOnly.idl

 1/*
 2 * Copyright (C) 2014 Adobe Systems Incorporated. All rights reserved.
 3 * Copyright (C) 2016 Apple Inc. All Rights Reserved.
 4 *
 5 * Redistribution and use in source and binary forms, with or without
 6 * modification, are permitted provided that the following conditions
 7 * are met:
 8 *
 9 * 1. Redistributions of source code must retain the above
 10 * copyright notice, this list of conditions and the following
 11 * disclaimer.
 12 * 2. Redistributions in binary form must reproduce the above
 13 * copyright notice, this list of conditions and the following
 14 * disclaimer in the documentation and/or other materials
 15 * provided with the distribution.
 16 *
 17 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 18 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 19 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 20 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 21 * COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
 22 * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
 23 * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
 24 * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 25 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
 26 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
 27 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
 28 * OF THE POSSIBILITY OF SUCH DAMAGE.
 29 */
 30
 31[
 32 Constructor(optional unrestricted double x = 0, optional unrestricted double y = 0,
 33 optional unrestricted double z = 0, optional unrestricted double w = 1),
 34 Exposed=(Window,Worker),
 35 ImplementationLacksVTable
 36]
 37interface DOMPointReadOnly {
 38 [NewObject] static DOMPointReadOnly fromPoint(optional DOMPointInit other);
 39
 40 readonly attribute unrestricted double x;
 41 readonly attribute unrestricted double y;
 42 readonly attribute unrestricted double z;
 43 readonly attribute unrestricted double w;
 44
 45 // FIXME: No support for DOMMatrix yet (webkit.org/b/110001)
 46 // DOMPoint matrixTransform(optional DOMMatrixInit matrix);
 47
 48 serializer = { attribute };
 49};

LayoutTests/ChangeLog

 12016-10-16 Simon Fraser <simon.fraser@apple.com>
 2
 3 Implement DOMPoint/DOMPointReadOnly
 4 https://bugs.webkit.org/show_bug.cgi?id=133916
 5
 6 Reviewed by NOBODY (OOPS!).
 7
 8 New WebPlatform-style test, and rebaselines.
 9
 10 * geometry/DOMPoint-001-expected.txt: Added.
 11 * geometry/DOMPoint-001.html: Added.
 12 * js/dom/global-constructors-attributes-dedicated-worker-expected.txt:
 13 * js/dom/global-constructors-attributes-expected.txt:
 14 * platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt:
 15 * platform/mac/js/dom/global-constructors-attributes-expected.txt:
 16
1172016-10-16 Gyuyoung Kim <gyuyoung.kim@webkit.org>
218
319 [EFL] Meter tests have been failed since r207280

LayoutTests/geometry/DOMPoint-001-expected.txt

 1Test DOMPoint and DOMPointReadOnly interfaces
 2
 3
 4PASS testConstructor0
 5PASS testConstructor1
 6PASS testConstructor2
 7PASS testConstructor3
 8PASS testConstructor4
 9PASS testConstructor5
 10PASS testConstructorDOMPointInit0
 11PASS testConstructorDOMPointInit1
 12PASS testConstructorDOMPointInit2
 13PASS testConstructorDOMPointInit3
 14PASS testConstructorDOMPointInit4
 15PASS testConstructorDOMPointInit5
 16PASS testConstructorDOMPointInit2irregular
 17PASS testConstructorDOMPointInit2undefined
 18PASS testReadonlyConstructor1
 19PASS testConstructor2NaN
 20PASS testConstructor2Infinity
 21PASS testFromPointReturnType
 22PASS testFromPointReadOnlyReturnType
 23PASS testReadonlyAttributes
 24PASS testAttributes
 25PASS testAttributesUndefined
 26PASS testAttributesNaNInfinity
 27PASS testSerializer
 28PASS testReadonlySerializer
 29

LayoutTests/geometry/DOMPoint-001.html

 1<!DOCTYPE html>
 2<html>
 3<head>
 4 <title>Geometry Interfaces: DOMPoint and DOMPointReadOnly interface tests.</title>
 5 <link rel="author" title="Dirk Schulze" href="mailto:dschulze@adobe.com" />
 6 <link rel="help" href="http://www.w3.org/TR/geometry-1/#DOMPoint">
 7 <link rel="help" href="http://dev.w3.org/fxtf/geometry/#dictdef-dompointinit">
 8 <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-dompoint-dompoint">
 9 <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-dompointreadonly-dompoint-x">
 10 <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-dompointreadonly-dompoint-y">
 11 <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-dompointreadonly-dompoint-z">
 12 <link rel="help" href="http://www.w3.org/TR/geometry-1/#dom-dompointreadonly-dompoint-w">
 13 <script src="../resources/testharness.js"></script>
 14 <script src="../resources/testharnessreport.js"></script>
 15</head>
 16<body>
 17 <p>Test DOMPoint and DOMPointReadOnly interfaces</p>
 18 <div id="log"></div>
 19 <script>
 20 test(function() {
 21 checkDOMPoint(new DOMPoint(), {x:0, y:0, z:0, w:1});
 22 },'testConstructor0');
 23 test(function() {
 24 checkDOMPoint(new DOMPoint(1), {x:1, y:0, z:0, w:1})
 25 },'testConstructor1');
 26 test(function() {
 27 checkDOMPoint(new DOMPoint(1, 2), {x:1, y:2, z:0, w:1});
 28 },'testConstructor2');
 29 test(function() {
 30 checkDOMPoint(new DOMPoint(1, 2, 3), {x:1, y:2, z:3, w:1});
 31 },'testConstructor3');
 32 test(function() {
 33 checkDOMPoint(new DOMPoint(1, 2, 3, 4), {x:1, y:2, z:3, w:4});
 34 },'testConstructor4');
 35 test(function() {
 36 checkDOMPoint(new DOMPoint(1, 2, 3, 4, 5), {x:1, y:2, z:3, w:4});
 37 },'testConstructor5');
 38 test(function() {
 39 checkDOMPoint(DOMPoint.fromPoint({}), {x:0, y:0, z:0, w:1});
 40 },'testConstructorDOMPointInit0');
 41 test(function() {
 42 checkDOMPoint(DOMPoint.fromPoint({x:1}), {x:1, y:0, z:0, w:1});
 43 },'testConstructorDOMPointInit1');
 44 test(function() {
 45 checkDOMPoint(DOMPoint.fromPoint({x:1, y:2}), {x:1, y:2, z:0, w:1});
 46 },'testConstructorDOMPointInit2');
 47 test(function() {
 48 checkDOMPoint(DOMPoint.fromPoint({x:1, y:2, z:3}), {x:1, y:2, z:3, w:1});
 49 },'testConstructorDOMPointInit3');
 50 test(function() {
 51 checkDOMPoint(DOMPoint.fromPoint({x:1, y:2, z:3, w:4}), {x:1, y:2, z:3, w:4});
 52 },'testConstructorDOMPointInit4');
 53 test(function() {
 54 checkDOMPoint(DOMPoint.fromPoint({x:1, y:2, z:3, w:4, v:5}), {x:1, y:2, z:3, w:4});
 55 },'testConstructorDOMPointInit5');
 56 test(function() {
 57 checkDOMPoint(DOMPoint.fromPoint({x:1, z:3}), {x:1, y:0, z:3, w:1});
 58 },'testConstructorDOMPointInit2irregular');
 59 test(function() {
 60 checkDOMPoint(DOMPoint.fromPoint({x:1, y: undefined, z:3}), {x:1, y:0, z:3, w:1});
 61 },'testConstructorDOMPointInit2undefined');
 62 test(function() {
 63 checkDOMPoint(new DOMPointReadOnly(), {x:0, y:0, z:0, w:1});
 64 },'testReadonlyConstructor1');
 65 test(function() {
 66 checkDOMPoint(new DOMPoint(1, NaN), {x:1, y:NaN, z:0, w:1});
 67 },'testConstructor2NaN');
 68 test(function() {
 69 checkDOMPoint(new DOMPoint(1, Number.POSITIVE_INFINITY), {x:1, y:Infinity, z:0, w:1});
 70 },'testConstructor2Infinity');
 71 test(function() {
 72 var p = DOMPoint.fromPoint({});
 73 assert_true(p instanceof DOMPoint);
 74 },'testFromPointReturnType');
 75 test(function() {
 76 var p = DOMPointReadOnly.fromPoint({});
 77 assert_true(p instanceof DOMPointReadOnly);
 78 },'testFromPointReadOnlyReturnType');
 79 test(function() {
 80 var p = new DOMPointReadOnly();
 81 p.x = 1;
 82 p.y = Math.PI;
 83 p.z = 3.2;
 84 p.w = 4;
 85 checkDOMPoint(p, {x:0, y:0, z:0, w:1});
 86 },'testReadonlyAttributes');
 87 test(function() {
 88 var p = new DOMPoint();
 89 p.x = 1;
 90 p.y = Math.PI;
 91 p.z = 3.2;
 92 p.w = 4;
 93 checkDOMPoint(p, {x:1, y:Math.PI, z:3.2, w:4});
 94 },'testAttributes');
 95 test(function() {
 96 var p = new DOMPoint(0, 0, 0, 1);
 97 p.x = undefined;
 98 p.y = undefined;
 99 p.z = undefined;
 100 p.w = undefined;
 101 checkDOMPoint(p, {x:NaN, y:NaN, z:NaN, w:NaN});
 102 },'testAttributesUndefined');
 103 test(function() {
 104 var p = new DOMPoint(0, 0, 0, 1);
 105 p.x = NaN;
 106 p.y = Number.POSITIVE_INFINITY;
 107 p.z = Number.NEGATIVE_INFINITY;
 108 p.w = Infinity;
 109 checkDOMPoint(p, {x:NaN, y:Infinity, z:-Infinity, w:Infinity});
 110 },'testAttributesNaNInfinity');
 111 test(function() {
 112 var p = DOMPoint.fromPoint({x:1, y:3.1415927, z:3.2, w:4});
 113 assert_equals(JSON.stringify(p.toJSON()), "{\"x\":1,\"y\":3.1415927,\"z\":3.2,\"w\":4}");
 114 },'testSerializer');
 115 test(function() {
 116 var p = DOMPointReadOnly.fromPoint({x:1, y:3.1415927, z:3.2, w:4});
 117 assert_equals(JSON.stringify(p.toJSON()), "{\"x\":1,\"y\":3.1415927,\"z\":3.2,\"w\":4}");
 118 },'testReadonlySerializer');
 119
 120 function checkDOMPoint(p, exp) {
 121 assert_equals(p.x, exp.x, "Expected value for x is " + exp.x);
 122 assert_equals(p.y, exp.y, "Expected value for y is " + exp.y);
 123 assert_equals(p.z, exp.z, "Expected value for z is " + exp.z);
 124 assert_equals(p.w, exp.w, "Expected value for w is " + exp.w);
 125 }
 126 </script>
 127</body>
 128</html>

LayoutTests/js/dom/global-constructors-attributes-dedicated-worker-expected.txt

@@PASS [Worker] Object.getOwnPropertyDescriptor(global, 'DOMException').hasOwnProp
4949PASS [Worker] Object.getOwnPropertyDescriptor(global, 'DOMException').hasOwnProperty('set') is false
5050PASS [Worker] Object.getOwnPropertyDescriptor(global, 'DOMException').enumerable is false
5151PASS [Worker] Object.getOwnPropertyDescriptor(global, 'DOMException').configurable is true
 52PASS [Worker] Object.getOwnPropertyDescriptor(global, 'DOMPoint').value is DOMPoint
 53PASS [Worker] Object.getOwnPropertyDescriptor(global, 'DOMPoint').hasOwnProperty('get') is false
 54PASS [Worker] Object.getOwnPropertyDescriptor(global, 'DOMPoint').hasOwnProperty('set') is false
 55PASS [Worker] Object.getOwnPropertyDescriptor(global, 'DOMPoint').enumerable is false
 56PASS [Worker] Object.getOwnPropertyDescriptor(global, 'DOMPoint').configurable is true
 57PASS [Worker] Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').value is DOMPointReadOnly
 58PASS [Worker] Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').hasOwnProperty('get') is false
 59PASS [Worker] Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').hasOwnProperty('set') is false
 60PASS [Worker] Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').enumerable is false
 61PASS [Worker] Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').configurable is true
5262PASS [Worker] Object.getOwnPropertyDescriptor(global, 'DataView').value is DataView
5363PASS [Worker] Object.getOwnPropertyDescriptor(global, 'DataView').hasOwnProperty('get') is false
5464PASS [Worker] Object.getOwnPropertyDescriptor(global, 'DataView').hasOwnProperty('set') is false

LayoutTests/js/dom/global-constructors-attributes-expected.txt

@@PASS Object.getOwnPropertyDescriptor(global, 'DOMParser').hasOwnProperty('get')
288288PASS Object.getOwnPropertyDescriptor(global, 'DOMParser').hasOwnProperty('set') is false
289289PASS Object.getOwnPropertyDescriptor(global, 'DOMParser').enumerable is false
290290PASS Object.getOwnPropertyDescriptor(global, 'DOMParser').configurable is true
 291PASS Object.getOwnPropertyDescriptor(global, 'DOMPoint').value is DOMPoint
 292PASS Object.getOwnPropertyDescriptor(global, 'DOMPoint').hasOwnProperty('get') is false
 293PASS Object.getOwnPropertyDescriptor(global, 'DOMPoint').hasOwnProperty('set') is false
 294PASS Object.getOwnPropertyDescriptor(global, 'DOMPoint').enumerable is false
 295PASS Object.getOwnPropertyDescriptor(global, 'DOMPoint').configurable is true
 296PASS Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').value is DOMPointReadOnly
 297PASS Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').hasOwnProperty('get') is false
 298PASS Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').hasOwnProperty('set') is false
 299PASS Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').enumerable is false
 300PASS Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').configurable is true
291301PASS Object.getOwnPropertyDescriptor(global, 'DOMStringList').value is DOMStringList
292302PASS Object.getOwnPropertyDescriptor(global, 'DOMStringList').hasOwnProperty('get') is false
293303PASS Object.getOwnPropertyDescriptor(global, 'DOMStringList').hasOwnProperty('set') is false

LayoutTests/platform/mac-wk1/js/dom/global-constructors-attributes-expected.txt

@@PASS Object.getOwnPropertyDescriptor(global, 'DOMParser').hasOwnProperty('get')
333333PASS Object.getOwnPropertyDescriptor(global, 'DOMParser').hasOwnProperty('set') is false
334334PASS Object.getOwnPropertyDescriptor(global, 'DOMParser').enumerable is false
335335PASS Object.getOwnPropertyDescriptor(global, 'DOMParser').configurable is true
 336PASS Object.getOwnPropertyDescriptor(global, 'DOMPoint').value is DOMPoint
 337PASS Object.getOwnPropertyDescriptor(global, 'DOMPoint').hasOwnProperty('get') is false
 338PASS Object.getOwnPropertyDescriptor(global, 'DOMPoint').hasOwnProperty('set') is false
 339PASS Object.getOwnPropertyDescriptor(global, 'DOMPoint').enumerable is false
 340PASS Object.getOwnPropertyDescriptor(global, 'DOMPoint').configurable is true
 341PASS Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').value is DOMPointReadOnly
 342PASS Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').hasOwnProperty('get') is false
 343PASS Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').hasOwnProperty('set') is false
 344PASS Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').enumerable is false
 345PASS Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').configurable is true
336346PASS Object.getOwnPropertyDescriptor(global, 'DOMStringList').value is DOMStringList
337347PASS Object.getOwnPropertyDescriptor(global, 'DOMStringList').hasOwnProperty('get') is false
338348PASS Object.getOwnPropertyDescriptor(global, 'DOMStringList').hasOwnProperty('set') is false

LayoutTests/platform/mac/js/dom/global-constructors-attributes-expected.txt

@@PASS Object.getOwnPropertyDescriptor(global, 'DOMParser').hasOwnProperty('get')
333333PASS Object.getOwnPropertyDescriptor(global, 'DOMParser').hasOwnProperty('set') is false
334334PASS Object.getOwnPropertyDescriptor(global, 'DOMParser').enumerable is false
335335PASS Object.getOwnPropertyDescriptor(global, 'DOMParser').configurable is true
 336PASS Object.getOwnPropertyDescriptor(global, 'DOMPoint').value is DOMPoint
 337PASS Object.getOwnPropertyDescriptor(global, 'DOMPoint').hasOwnProperty('get') is false
 338PASS Object.getOwnPropertyDescriptor(global, 'DOMPoint').hasOwnProperty('set') is false
 339PASS Object.getOwnPropertyDescriptor(global, 'DOMPoint').enumerable is false
 340PASS Object.getOwnPropertyDescriptor(global, 'DOMPoint').configurable is true
 341PASS Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').value is DOMPointReadOnly
 342PASS Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').hasOwnProperty('get') is false
 343PASS Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').hasOwnProperty('set') is false
 344PASS Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').enumerable is false
 345PASS Object.getOwnPropertyDescriptor(global, 'DOMPointReadOnly').configurable is true
336346PASS Object.getOwnPropertyDescriptor(global, 'DOMStringList').value is DOMStringList
337347PASS Object.getOwnPropertyDescriptor(global, 'DOMStringList').hasOwnProperty('get') is false
338348PASS Object.getOwnPropertyDescriptor(global, 'DOMStringList').hasOwnProperty('set') is false