Diff
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (203462 => 203463)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2016-07-20 18:59:22 UTC (rev 203462)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2016-07-20 19:21:51 UTC (rev 203463)
@@ -1,3 +1,14 @@
+2016-07-20 Chris Dumez <cdu...@apple.com>
+
+ Fix null handling of HTMLMediaElement.mediaGroup
+ https://bugs.webkit.org/show_bug.cgi?id=159974
+
+ Reviewed by Eric Carlson.
+
+ Rebaseline now that more checks are passing.
+
+ * web-platform-tests/html/dom/reflection-embedded-expected.txt:
+
2016-07-19 Chris Dumez <cdu...@apple.com>
Fix null handling of several HTMLDocument attributes
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt (203462 => 203463)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt 2016-07-20 18:59:22 UTC (rev 203462)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt 2016-07-20 19:21:51 UTC (rev 203463)
@@ -8596,8 +8596,8 @@
PASS video.mediaGroup: IDL set to "\0" followed by getAttribute()
PASS video.mediaGroup: IDL set to "\0" followed by IDL get
PASS video.mediaGroup: IDL set to null should not throw
-FAIL video.mediaGroup: IDL set to null followed by getAttribute() assert_equals: expected (string) "null" but got (object) null
-FAIL video.mediaGroup: IDL set to null followed by IDL get assert_equals: expected "null" but got ""
+PASS video.mediaGroup: IDL set to null followed by getAttribute()
+PASS video.mediaGroup: IDL set to null followed by IDL get
PASS video.mediaGroup: IDL set to object "test-toString" should not throw
PASS video.mediaGroup: IDL set to object "test-toString" followed by getAttribute()
PASS video.mediaGroup: IDL set to object "test-toString" followed by IDL get
@@ -10227,8 +10227,8 @@
PASS audio.mediaGroup: IDL set to "\0" followed by getAttribute()
PASS audio.mediaGroup: IDL set to "\0" followed by IDL get
PASS audio.mediaGroup: IDL set to null should not throw
-FAIL audio.mediaGroup: IDL set to null followed by getAttribute() assert_equals: expected (string) "null" but got (object) null
-FAIL audio.mediaGroup: IDL set to null followed by IDL get assert_equals: expected "null" but got ""
+PASS audio.mediaGroup: IDL set to null followed by getAttribute()
+PASS audio.mediaGroup: IDL set to null followed by IDL get
PASS audio.mediaGroup: IDL set to object "test-toString" should not throw
PASS audio.mediaGroup: IDL set to object "test-toString" followed by getAttribute()
PASS audio.mediaGroup: IDL set to object "test-toString" followed by IDL get
Modified: trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt (203462 => 203463)
--- trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt 2016-07-20 18:59:22 UTC (rev 203462)
+++ trunk/LayoutTests/platform/ios-simulator/imported/w3c/web-platform-tests/html/dom/reflection-embedded-expected.txt 2016-07-20 19:21:51 UTC (rev 203463)
@@ -8596,8 +8596,8 @@
PASS video.mediaGroup: IDL set to "\0" followed by getAttribute()
PASS video.mediaGroup: IDL set to "\0" followed by IDL get
PASS video.mediaGroup: IDL set to null should not throw
-FAIL video.mediaGroup: IDL set to null followed by getAttribute() assert_equals: expected (string) "null" but got (object) null
-FAIL video.mediaGroup: IDL set to null followed by IDL get assert_equals: expected "null" but got ""
+PASS video.mediaGroup: IDL set to null followed by getAttribute()
+PASS video.mediaGroup: IDL set to null followed by IDL get
PASS video.mediaGroup: IDL set to object "test-toString" should not throw
PASS video.mediaGroup: IDL set to object "test-toString" followed by getAttribute()
PASS video.mediaGroup: IDL set to object "test-toString" followed by IDL get
@@ -10227,8 +10227,8 @@
PASS audio.mediaGroup: IDL set to "\0" followed by getAttribute()
PASS audio.mediaGroup: IDL set to "\0" followed by IDL get
PASS audio.mediaGroup: IDL set to null should not throw
-FAIL audio.mediaGroup: IDL set to null followed by getAttribute() assert_equals: expected (string) "null" but got (object) null
-FAIL audio.mediaGroup: IDL set to null followed by IDL get assert_equals: expected "null" but got ""
+PASS audio.mediaGroup: IDL set to null followed by getAttribute()
+PASS audio.mediaGroup: IDL set to null followed by IDL get
PASS audio.mediaGroup: IDL set to object "test-toString" should not throw
PASS audio.mediaGroup: IDL set to object "test-toString" followed by getAttribute()
PASS audio.mediaGroup: IDL set to object "test-toString" followed by IDL get
Modified: trunk/Source/WebCore/ChangeLog (203462 => 203463)
--- trunk/Source/WebCore/ChangeLog 2016-07-20 18:59:22 UTC (rev 203462)
+++ trunk/Source/WebCore/ChangeLog 2016-07-20 19:21:51 UTC (rev 203463)
@@ -1,5 +1,29 @@
2016-07-20 Chris Dumez <cdu...@apple.com>
+ Fix null handling of HTMLMediaElement.mediaGroup
+ https://bugs.webkit.org/show_bug.cgi?id=159974
+
+ Reviewed by Eric Carlson.
+
+ Fix null handling of HTMLMediaElement.mediaGroup to match the specification:
+ - https://www.w3.org/TR/html5/embedded-content-0.html#media-elements
+
+ null is supposed to be treated as the String "null". This patch aligns
+ our behavior with the specification. I tested Firefox and Chrome but both
+ do not have this attribute on HTMLMediaElement.
+
+ Also remove support for [TreatNullAs=LegacyNullString] from our bindings
+ generator as HTMLMediaElement.mediaGroup was the last user.
+
+ No new tests, rebaselined existing test.
+
+ * bindings/scripts/CodeGeneratorJS.pm:
+ (JSValueToNative):
+ * bindings/scripts/IDLAttributes.txt:
+ * html/HTMLMediaElement.idl:
+
+2016-07-20 Chris Dumez <cdu...@apple.com>
+
CSSStyleDeclaration.setProperty() should be able to unset "important" on a property
https://bugs.webkit.org/show_bug.cgi?id=159959
Modified: trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm (203462 => 203463)
--- trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2016-07-20 18:59:22 UTC (rev 203462)
+++ trunk/Source/WebCore/bindings/scripts/CodeGeneratorJS.pm 2016-07-20 19:21:51 UTC (rev 203463)
@@ -4450,10 +4450,8 @@
if ($type eq "DOMString") {
return ("AtomicString($value.toString(state)->toExistingAtomicString(state))", 1) if $signature->extendedAttributes->{"RequiresExistingAtomicString"};
- if ($signature->extendedAttributes->{"TreatNullAs"}) {
- return ("valueToStringTreatingNullAsEmptyString(state, $value)", 1) if $signature->extendedAttributes->{"TreatNullAs"} eq "EmptyString";
- return ("valueToStringWithNullCheck(state, $value)", 1) if $signature->extendedAttributes->{"TreatNullAs"} eq "LegacyNullString";
- }
+ my $treatNullAs = $signature->extendedAttributes->{"TreatNullAs"};
+ return ("valueToStringTreatingNullAsEmptyString(state, $value)", 1) if $treatNullAs && $treatNullAs eq "EmptyString";
return ("valueToStringWithUndefinedOrNullCheck(state, $value)", 1) if $signature->isNullable;
return ("$value.toString(state)->toAtomicString(state)", 1) if $signature->extendedAttributes->{"AtomicString"};
return ("$value.toWTFString(state)", 1);
Modified: trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt (203462 => 203463)
--- trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt 2016-07-20 18:59:22 UTC (rev 203462)
+++ trunk/Source/WebCore/bindings/scripts/IDLAttributes.txt 2016-07-20 19:21:51 UTC (rev 203463)
@@ -122,7 +122,7 @@
SkipVTableValidation
StrictTypeChecking
SuppressToJSObject
-TreatNullAs=EmptyString|LegacyNullString
+TreatNullAs=EmptyString
TreatReturnedNaNDateAs=Null|NaN
TypedArray=*
URL
Modified: trunk/Source/WebCore/html/HTMLMediaElement.idl (203462 => 203463)
--- trunk/Source/WebCore/html/HTMLMediaElement.idl 2016-07-20 18:59:22 UTC (rev 203462)
+++ trunk/Source/WebCore/html/HTMLMediaElement.idl 2016-07-20 19:21:51 UTC (rev 203463)
@@ -116,8 +116,7 @@
[Conditional=VIDEO_TRACK] readonly attribute VideoTrackList videoTracks;
#endif
- // FIXME: This should not use [TreatNullAs=LegacyNullString].
- [Reflect, TreatNullAs=LegacyNullString] attribute DOMString mediaGroup;
+ [Reflect] attribute DOMString mediaGroup;
#if !defined(LANGUAGE_OBJECTIVE_C) || !LANGUAGE_OBJECTIVE_C
[CustomSetter] attribute MediaController controller;