<html>
<head>
<base href="https://bugs.webkit.org/" />
</head>
<body><span class="vcard"><a class="email" href="mailto:cgarcia@igalia.com" title="Carlos Garcia Campos <cgarcia@igalia.com>"> <span class="fn">Carlos Garcia Campos</span></a>
</span> changed
<a class="bz_bug_link
bz_status_NEW "
title="NEW - [GTK] The Spotify web player does not work in 2.12.0"
href="https://bugs.webkit.org/show_bug.cgi?id=155749">bug 155749</a>
<br>
<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>What</th>
<th>Removed</th>
<th>Added</th>
</tr>
<tr>
<td style="text-align:right;">CC</td>
<td>
</td>
<td>barraclough@apple.com, cdumez@apple.com, cgarcia@igalia.com
</td>
</tr></table>
<p>
<div>
<b><a class="bz_bug_link
bz_status_NEW "
title="NEW - [GTK] The Spotify web player does not work in 2.12.0"
href="https://bugs.webkit.org/show_bug.cgi?id=155749#c1">Comment # 1</a>
on <a class="bz_bug_link
bz_status_NEW "
title="NEW - [GTK] The Spotify web player does not work in 2.12.0"
href="https://bugs.webkit.org/show_bug.cgi?id=155749">bug 155749</a>
from <span class="vcard"><a class="email" href="mailto:cgarcia@igalia.com" title="Carlos Garcia Campos <cgarcia@igalia.com>"> <span class="fn">Carlos Garcia Campos</span></a>
</span></b>
<pre>d5618d20fdccdc627970c893f3d72f64447490ee is the first bad commit
commit d5618d20fdccdc627970c893f3d72f64447490ee
Author: <a href="mailto:cdumez@apple.com">cdumez@apple.com</a> <<a href="mailto:cdumez@apple.com">cdumez@apple.com</a>@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Feb 16 20:23:02 2016 +0000
[Web IDL] Operations should be on the instance for global objects or if [Unforgeable]
<a class="bz_bug_link
bz_status_RESOLVED bz_closed"
title="RESOLVED FIXED - [Web IDL] Operations should be on the instance for global objects or if [Unforgeable]"
href="show_bug.cgi?id=154120">https://bugs.webkit.org/show_bug.cgi?id=154120</a>
<rdar://problem/24613231>
Reviewed by Gavin Barraclough.
LayoutTests/imported/w3c:
Rebaseline now that more checks are passing.
* web-platform-tests/html/dom/interfaces-expected.txt:
Source/JavaScriptCore:
Have putEntry() take a thisValue parameter in addition to the base,
instead of relying on PropertySlot::thisValue() because this did not
always do the right thing. In particular, when JSDOMWindow::put() was
called to set a function, it would end up setting the new value on the
JSDOMWindowShell instead of the actual JSDOMWindow.
JSDOMWindow::getOwnPropertySlot() would then not be able to find it.
Therefore the following would fail:
$ window.open = "test"
$ console.log(window.open) // prints the native function instead of "test"
* runtime/JSObject.cpp:
(JSC::JSObject::putInlineSlow):
* runtime/Lookup.h:
(JSC::putEntry):
(JSC::lookupPut):
Source/WebCore:
Operations should be on the instance for global objects or if
[Unforgeable] as per the Web IDL specification:
- <a href="http://heycam.github.io/webidl/#es-operations">http://heycam.github.io/webidl/#es-operations</a>
- <a href="http://heycam.github.io/webidl/#dfn-unforgeable-on-an-interface">http://heycam.github.io/webidl/#dfn-unforgeable-on-an-interface</a>
This patch implements this behavior in order to align
with the specification and other browsers.
No new tests, already covered by existing tests.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::jsDOMWindowGetOwnPropertySlotRestrictedAccess):
Update function names now that they have "Instance" in their
name instead of "Prototype".
(WebCore::JSDOMWindow::getOwnPropertySlot):
- Update function names now that they have "Instance" in their
name instead of "Prototype".
- Move the functions hard-coding *before* the static table check
now that these functions are in the static table to maintain
the previous behavior.
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::getOwnPropertySlotDelegate):
Update function names now that they have "Instance" in their
name instead of "Prototype".
* bindings/scripts/CodeGeneratorJS.pm:
- Move functions to the instance if their interface is a global
object or if they are marked as [Unforgeable]. Operations are
now treated more like attributes, as they can now be either on
the instance or the prototype. In a lot of places, I now use
the naming "properties" instead of "attributes" as "properties"
refer both "attributes" and "operations" / "functions".
* bindings/scripts/test/JS/JSTestInterface.cpp:
* bindings/scripts/test/JS/JSTestObj.cpp:
Rebaseline bindings tests.
LayoutTests:
* inspector/model/remote-object-get-properties-expected.txt:
Rebaseline test because the order of static properties has changed:
functions are now before constants instead of after.
git-svn-id: <a href="http://svn.webkit.org/repository/webkit/trunk@196648">http://svn.webkit.org/repository/webkit/trunk@196648</a> 268f45cc-cd09-0410-ab3c-d52691b4dbfc</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>