<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[196118] trunk</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/196118">196118</a></dd>
<dt>Author</dt> <dd>youenn.fablet@crf.canon.fr</dd>
<dt>Date</dt> <dd>2016-02-04 04:46:12 -0800 (Thu, 04 Feb 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>Unreviewed. Reverting <a href="http://trac.webkit.org/projects/webkit/changeset/196115">r196115</a> and <a href="http://trac.webkit.org/projects/webkit/changeset/19116">r19116</a>, related tohttps://bugs.webkit.org/show_bug.cgi?id=153787.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadersheadersbasicexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-basic-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadersheadersbasichtml">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-basic.html</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadersheadersstructureexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-structure-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapirequestrequestclonesubexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-clone.sub-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapirequestrequestinit003subexpectedtxt">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-003.sub-expected.txt</a></li>
<li><a href="#trunkLayoutTestsimportedw3cwebplatformtestsfetchapiresourcesutilsjs">trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/utils.js</a></li>
<li><a href="#trunkSourceWebCoreCMakeListstxt">trunk/Source/WebCore/CMakeLists.txt</a></li>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchHeaderscpp">trunk/Source/WebCore/Modules/fetch/FetchHeaders.cpp</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchHeadersh">trunk/Source/WebCore/Modules/fetch/FetchHeaders.h</a></li>
<li><a href="#trunkSourceWebCoreModulesfetchFetchHeadersidl">trunk/Source/WebCore/Modules/fetch/FetchHeaders.idl</a></li>
<li><a href="#trunkSourceWebCoreWebCorexcodeprojprojectpbxproj">trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSBindingsAllInOnecpp">trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSDOMBindingh">trunk/Source/WebCore/bindings/js/JSDOMBinding.h</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebCorebindingsjsJSFetchHeadersCustomcpp">trunk/Source/WebCore/bindings/js/JSFetchHeadersCustom.cpp</a></li>
<li><a href="#trunkSourceWebCorebindingsjsJSKeyValueIteratorh">trunk/Source/WebCore/bindings/js/JSKeyValueIterator.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadersheadersbasicexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-basic-expected.txt (196117 => 196118)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-basic-expected.txt        2016-02-04 11:39:31 UTC (rev 196117)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-basic-expected.txt        2016-02-04 12:46:12 UTC (rev 196118)
</span><span class="lines">@@ -12,7 +12,4 @@
</span><span class="cx"> PASS Check has method
</span><span class="cx"> PASS Check delete method
</span><span class="cx"> PASS Check get method
</span><del>-PASS Check keys method
-PASS Check values method
-PASS Check entries method
</del><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadersheadersbasichtml"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-basic.html (196117 => 196118)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-basic.html        2016-02-04 11:39:31 UTC (rev 196117)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-basic.html        2016-02-04 12:46:12 UTC (rev 196118)
</span><span class="lines">@@ -111,58 +111,6 @@
</span><span class="cx">
</span><span class="cx"> assert_equals(headers.get("nameNotInHeaders"), null, "header: nameNotInHeaders has no value");
</span><span class="cx"> }, "Check get method");
</span><del>-
- var headerEntriesDict = {"name1": "value1",
- "Name2": "value2",
- "name": "value3",
- "content-Type": "value4",
- "Content-Typ": "value5",
- "Content-Types": "value6"
- };
- var sortedHeaderDict = {};
- var sortedHeaderKeys = Object.keys(headerEntriesDict).map(function(value) {
- sortedHeaderDict[value.toLowerCase()] = headerEntriesDict[value];
- return value.toLowerCase();
- }).sort();
-
- test(function() {
- var headers = new Headers(headerEntriesDict);
- var actual = headers.keys();
- sortedHeaderKeys.forEach(function(key) {
- entry = actual.next();
- assert_false(entry.done);
- assert_equals(entry.value, key);
- });
- assert_true(actual.next().done);
- assert_true(actual.next().done);
- }, "Check keys method");
-
- test(function() {
- var headers = new Headers(headerEntriesDict);
- var actual = headers.values();
-
- sortedHeaderKeys.forEach(function(key) {
- entry = actual.next();
- assert_false(entry.done);
- assert_equals(entry.value, sortedHeaderDict[key]);
- });
- assert_true(actual.next().done);
- assert_true(actual.next().done);
- }, "Check values method");
-
- test(function() {
- var headers = new Headers(headerEntriesDict);
- var actual = headers.entries();
-
- sortedHeaderKeys.forEach(function(key) {
- entry = actual.next();
- assert_false(entry.done);
- assert_equals(entry.value[0], key);
- assert_equals(entry.value[1], sortedHeaderDict[key]);
- });
- assert_true(actual.next().done);
- assert_true(actual.next().done);
- }, "Check entries method");
- </script>
</del><ins>+ </script>
</ins><span class="cx"> </body>
</span><span class="cx"> </html>
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapiheadersheadersstructureexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-structure-expected.txt (196117 => 196118)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-structure-expected.txt        2016-02-04 11:39:31 UTC (rev 196117)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-structure-expected.txt        2016-02-04 12:46:12 UTC (rev 196118)
</span><span class="lines">@@ -4,7 +4,7 @@
</span><span class="cx"> PASS Headers has get method
</span><span class="cx"> PASS Headers has has method
</span><span class="cx"> PASS Headers has set method
</span><del>-PASS Headers has entries method
-PASS Headers has keys method
-PASS Headers has values method
</del><ins>+FAIL Headers has entries method assert_true: headers has entries method expected true got false
+FAIL Headers has keys method assert_true: headers has keys method expected true got false
+FAIL Headers has values method assert_true: headers has values method expected true got false
</ins><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapirequestrequestclonesubexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-clone.sub-expected.txt (196117 => 196118)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-clone.sub-expected.txt        2016-02-04 11:39:31 UTC (rev 196117)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-clone.sub-expected.txt        2016-02-04 12:46:12 UTC (rev 196118)
</span><span class="lines">@@ -1,4 +1,4 @@
</span><span class="cx">
</span><del>-PASS Check cloning a request
</del><ins>+FAIL Check cloning a request ExpectedValuesDict["headers"].keys is not a function. (In 'ExpectedValuesDict["headers"].keys()', 'ExpectedValuesDict["headers"].keys' is undefined)
</ins><span class="cx"> PASS Check cloning a request copies the headers
</span><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapirequestrequestinit003subexpectedtxt"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-003.sub-expected.txt (196117 => 196118)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-003.sub-expected.txt        2016-02-04 11:39:31 UTC (rev 196117)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/request/request-init-003.sub-expected.txt        2016-02-04 12:46:12 UTC (rev 196118)
</span><span class="lines">@@ -1,6 +1,6 @@
</span><span class="cx">
</span><del>-PASS Check request values when initialized from Request
-PASS Check request values when initialized from Request and init values
</del><ins>+FAIL Check request values when initialized from Request ExpectedValuesDict["headers"].keys is not a function. (In 'ExpectedValuesDict["headers"].keys()', 'ExpectedValuesDict["headers"].keys' is undefined)
+FAIL Check request values when initialized from Request and init values ExpectedValuesDict["headers"].keys is not a function. (In 'ExpectedValuesDict["headers"].keys()', 'ExpectedValuesDict["headers"].keys' is undefined)
</ins><span class="cx"> FAIL Check request values when initialized from url string assert_equals: Check url attribute expected "http://url.test:1234/path/subpath?query=true" but got "http://url.test:1234/path/subpath?query=true#fragment"
</span><del>-FAIL Check request values when initialized from url and init values assert_equals: Check url attribute expected "http://url.test:1234/path/subpath?query=true" but got "http://url.test:1234/path/subpath?query=true#fragment"
</del><ins>+FAIL Check request values when initialized from url and init values ExpectedValuesDict["headers"].keys is not a function. (In 'ExpectedValuesDict["headers"].keys()', 'ExpectedValuesDict["headers"].keys' is undefined)
</ins><span class="cx">
</span></span></pre></div>
<a id="trunkLayoutTestsimportedw3cwebplatformtestsfetchapiresourcesutilsjs"></a>
<div class="modfile"><h4>Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/utils.js (196117 => 196118)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/utils.js        2016-02-04 11:39:31 UTC (rev 196117)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/utils.js        2016-02-04 12:46:12 UTC (rev 196118)
</span><span class="lines">@@ -15,7 +15,7 @@
</span><span class="cx"> for (var attribute in ExpectedValuesDict) {
</span><span class="cx"> switch(attribute) {
</span><span class="cx"> case "headers":
</span><del>- for (var key in ExpectedValuesDict["headers"].keys())
</del><ins>+ for (var key of ExpectedValuesDict["headers"].keys())
</ins><span class="cx"> assert_equals(request["headers"].get(key), ExpectedValuesDict["headers"].get(key),
</span><span class="cx"> "Check headers attribute has " + key + ":" + ExpectedValuesDict["headers"].get(key));
</span><span class="cx"> break;
</span><span class="lines">@@ -63,4 +63,4 @@
</span><span class="cx"> asyncTest.done();
</span><span class="cx"> });
</span><span class="cx"> });
</span><del>-}
</del><ins>+}
</ins><span class="cx">\ No newline at end of file
</span></span></pre></div>
<a id="trunkSourceWebCoreCMakeListstxt"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/CMakeLists.txt (196117 => 196118)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/CMakeLists.txt        2016-02-04 11:39:31 UTC (rev 196117)
+++ trunk/Source/WebCore/CMakeLists.txt        2016-02-04 12:46:12 UTC (rev 196118)
</span><span class="lines">@@ -1164,7 +1164,6 @@
</span><span class="cx"> bindings/js/JSEventListener.cpp
</span><span class="cx"> bindings/js/JSEventTargetCustom.cpp
</span><span class="cx"> bindings/js/JSExceptionBase.cpp
</span><del>- bindings/js/JSFetchHeadersCustom.cpp
</del><span class="cx"> bindings/js/JSFileReaderCustom.cpp
</span><span class="cx"> bindings/js/JSGeolocationCustom.cpp
</span><span class="cx"> bindings/js/JSHTMLAllCollectionCustom.cpp
</span></span></pre></div>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (196117 => 196118)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2016-02-04 11:39:31 UTC (rev 196117)
+++ trunk/Source/WebCore/ChangeLog        2016-02-04 12:46:12 UTC (rev 196118)
</span><span class="lines">@@ -1,3 +1,8 @@
</span><ins>+2016-02-04 Youenn Fablet <youenn.fablet@crf.canon.fr>
+
+ Unreviewed.
+ Reverting r196115 and r19116, related tohttps://bugs.webkit.org/show_bug.cgi?id=153787.
+
</ins><span class="cx"> 2016-02-04 Alejandro G. Castro <alex@igalia.com>
</span><span class="cx">
</span><span class="cx"> [GTK] Implement mediastream mediaplayer
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchHeaderscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchHeaders.cpp (196117 => 196118)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchHeaders.cpp        2016-02-04 11:39:31 UTC (rev 196117)
+++ trunk/Source/WebCore/Modules/fetch/FetchHeaders.cpp        2016-02-04 12:46:12 UTC (rev 196118)
</span><span class="lines">@@ -179,31 +179,6 @@
</span><span class="cx"> }
</span><span class="cx"> }
</span><span class="cx">
</span><del>-bool FetchHeaders::Iterator::next(String& nextKey, String& nextValue)
-{
- while (m_currentIndex < m_keys.size()) {
- auto& key = m_keys[m_currentIndex++];
- String value = m_headers->m_headers.get(key);
- if (!value.isNull()) {
- nextKey = key;
- nextValue = WTFMove(value);
- return false;
- }
- }
- m_keys.clear();
- return true;
-}
-
-FetchHeaders::Iterator::Iterator(FetchHeaders& headers)
- : m_headers(headers)
-{
- m_keys.reserveInitialCapacity(headers.m_headers.size());
- for (auto& header : headers.m_headers)
- m_keys.uncheckedAppend(header.key.convertToASCIILowercase());
-
- std::sort(m_keys.begin(), m_keys.end(), WTF::codePointCompareLessThan);
-}
-
</del><span class="cx"> } // namespace WebCore
</span><span class="cx">
</span><span class="cx"> #endif // ENABLE(FETCH_API)
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchHeadersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchHeaders.h (196117 => 196118)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchHeaders.h        2016-02-04 11:39:31 UTC (rev 196117)
+++ trunk/Source/WebCore/Modules/fetch/FetchHeaders.h        2016-02-04 12:46:12 UTC (rev 196118)
</span><span class="lines">@@ -62,23 +62,6 @@
</span><span class="cx"> String fastGet(HTTPHeaderName name) const { return m_headers.get(name); }
</span><span class="cx"> void fastSet(HTTPHeaderName name, const String& value) { m_headers.set(name, value); }
</span><span class="cx">
</span><del>- class Iterator {
- public:
- explicit Iterator(FetchHeaders&);
-
- // FIXME: Binding generator should be able to generate iterator key and value types.
- using Key = String;
- using Value = String;
-
- bool next(String& nextKey, String& nextValue);
-
- private:
- Ref<FetchHeaders> m_headers;
- size_t m_currentIndex = 0;
- Vector<String> m_keys;
- };
- Iterator createIterator() { return Iterator(*this); }
-
</del><span class="cx"> private:
</span><span class="cx"> FetchHeaders(Guard guard) : m_guard(guard) { }
</span><span class="cx"> FetchHeaders(Guard guard, const HTTPHeaderMap& headers) : m_guard(guard), m_headers(headers) { }
</span></span></pre></div>
<a id="trunkSourceWebCoreModulesfetchFetchHeadersidl"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/fetch/FetchHeaders.idl (196117 => 196118)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/fetch/FetchHeaders.idl        2016-02-04 11:39:31 UTC (rev 196117)
+++ trunk/Source/WebCore/Modules/fetch/FetchHeaders.idl        2016-02-04 12:46:12 UTC (rev 196118)
</span><span class="lines">@@ -40,11 +40,8 @@
</span><span class="cx"> [RaisesException] boolean has(DOMString name);
</span><span class="cx"> [RaisesException] void set(DOMString name, DOMString value);
</span><span class="cx">
</span><del>- // FIXME: Support iterable within binding generator.
</del><ins>+ // FIXME: Support iterable.
</ins><span class="cx"> //iterable<DOMString, DOMString>;
</span><del>- [Custom] any entries();
- [Custom] any keys();
- [Custom] any values();
</del><span class="cx">
</span><span class="cx"> [Private, RaisesException, ImplementedAs=append] void appendFromJS(DOMString name, DOMString value);
</span><span class="cx"> [Private, RaisesException] void initializeWith(FetchHeaders headers);
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj (196117 => 196118)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-02-04 11:39:31 UTC (rev 196117)
+++ trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj        2016-02-04 12:46:12 UTC (rev 196118)
</span><span class="lines">@@ -1541,7 +1541,6 @@
</span><span class="cx">                 41D015CB0F4B5C71004A662F /* ContentType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41D015C90F4B5C71004A662F /* ContentType.cpp */; };
</span><span class="cx">                 41E1B1D00FF5986900576B3B /* AbstractWorker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41E1B1CA0FF5986900576B3B /* AbstractWorker.cpp */; };
</span><span class="cx">                 41E1B1D10FF5986900576B3B /* AbstractWorker.h in Headers */ = {isa = PBXBuildFile; fileRef = 41E1B1CB0FF5986900576B3B /* AbstractWorker.h */; };
</span><del>-                41E910A71C60FD6C007A453F /* JSFetchHeadersCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41E910A61C60FD6C007A453F /* JSFetchHeadersCustom.cpp */; };
</del><span class="cx">                 41F062140F5F192600A07EAC /* InspectorDatabaseResource.h in Headers */ = {isa = PBXBuildFile; fileRef = 41F062120F5F192600A07EAC /* InspectorDatabaseResource.h */; };
</span><span class="cx">                 41F062150F5F192600A07EAC /* InspectorDatabaseResource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 41F062130F5F192600A07EAC /* InspectorDatabaseResource.cpp */; };
</span><span class="cx">                 41F066E40F64BCF600A07EAC /* ScriptGlobalObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 41F066E20F64BCF600A07EAC /* ScriptGlobalObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="lines">@@ -8968,7 +8967,6 @@
</span><span class="cx">                 41E1B1CA0FF5986900576B3B /* AbstractWorker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AbstractWorker.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 41E1B1CB0FF5986900576B3B /* AbstractWorker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AbstractWorker.h; sourceTree = "<group>"; };
</span><span class="cx">                 41E1B1CC0FF5986900576B3B /* AbstractWorker.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AbstractWorker.idl; sourceTree = "<group>"; };
</span><del>-                41E910A61C60FD6C007A453F /* JSFetchHeadersCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSFetchHeadersCustom.cpp; sourceTree = "<group>"; };
</del><span class="cx">                 41F062120F5F192600A07EAC /* InspectorDatabaseResource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InspectorDatabaseResource.h; sourceTree = "<group>"; };
</span><span class="cx">                 41F062130F5F192600A07EAC /* InspectorDatabaseResource.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InspectorDatabaseResource.cpp; sourceTree = "<group>"; };
</span><span class="cx">                 41F066E20F64BCF600A07EAC /* ScriptGlobalObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScriptGlobalObject.h; sourceTree = "<group>"; };
</span><span class="lines">@@ -22302,7 +22300,6 @@
</span><span class="cx">                                 BC2ED5540C6B9BD300920BFF /* JSElementCustom.cpp */,
</span><span class="cx">                                 ADEC78F718EE5308001315C2 /* JSElementCustom.h */,
</span><span class="cx">                                 BCEFAF4D0C317E6900FA81F6 /* JSEventCustom.cpp */,
</span><del>-                                41E910A61C60FD6C007A453F /* JSFetchHeadersCustom.cpp */,
</del><span class="cx">                                 2E7582ED12764F260062628B /* JSFileReaderCustom.cpp */,
</span><span class="cx">                                 FE80D7A60E9C1ED2000D6F75 /* JSGeolocationCustom.cpp */,
</span><span class="cx">                                 BCE7B1920D4E86960075A539 /* JSHistoryCustom.cpp */,
</span><span class="lines">@@ -29386,7 +29383,6 @@
</span><span class="cx">                                 97B38E28151C4273004622E9 /* DOMWindowNotifications.cpp in Sources */,
</span><span class="cx">                                 97D2AD0314B823A60093DF32 /* DOMWindowProperty.cpp in Sources */,
</span><span class="cx">                                 AA2A5AD716A4861A00975A25 /* DOMWindowSpeechSynthesis.cpp in Sources */,
</span><del>-                                41E910A71C60FD6C007A453F /* JSFetchHeadersCustom.cpp in Sources */,
</del><span class="cx">                                 A8CCBB48151F831600AB7CE9 /* DOMWindowWebDatabase.cpp in Sources */,
</span><span class="cx">                                 BC53DA481143134D000D817E /* DOMWrapperWorld.cpp in Sources */,
</span><span class="cx">                                 1A1D13810A5325520064BF5F /* DOMXPath.mm in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSBindingsAllInOnecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp (196117 => 196118)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp        2016-02-04 11:39:31 UTC (rev 196117)
+++ trunk/Source/WebCore/bindings/js/JSBindingsAllInOne.cpp        2016-02-04 12:46:12 UTC (rev 196118)
</span><span class="lines">@@ -77,7 +77,6 @@
</span><span class="cx"> #include "JSEventListener.cpp"
</span><span class="cx"> #include "JSEventTargetCustom.cpp"
</span><span class="cx"> #include "JSExceptionBase.cpp"
</span><del>-#include "JSFetchHeadersCustom.cpp"
</del><span class="cx"> #include "JSFileReaderCustom.cpp"
</span><span class="cx"> #include "JSGeolocationCustom.cpp"
</span><span class="cx"> #include "JSHTMLAllCollectionCustom.cpp"
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSDOMBindingh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/bindings/js/JSDOMBinding.h (196117 => 196118)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSDOMBinding.h        2016-02-04 11:39:31 UTC (rev 196117)
+++ trunk/Source/WebCore/bindings/js/JSDOMBinding.h        2016-02-04 12:46:12 UTC (rev 196118)
</span><span class="lines">@@ -514,14 +514,6 @@
</span><span class="cx"> return jsArray(exec, globalObject, *vector);
</span><span class="cx"> }
</span><span class="cx">
</span><del>-template<typename Value1, typename Value2> inline JSC::JSValue jsPair(JSC::ExecState& state, JSDOMGlobalObject* globalObject, const Value1& value1, const Value2& value2)
-{
- JSC::MarkedArgumentBuffer args;
- args.append(toJS(&state, globalObject, value1));
- args.append(toJS(&state, globalObject, value2));
- return constructArray(&state, 0, globalObject, args);
-}
-
</del><span class="cx"> WEBCORE_EXPORT JSC::JSValue jsArray(JSC::ExecState*, JSDOMGlobalObject*, PassRefPtr<DOMStringList>);
</span><span class="cx">
</span><span class="cx"> inline PassRefPtr<JSC::ArrayBufferView> toArrayBufferView(JSC::JSValue value)
</span></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSFetchHeadersCustomcpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/bindings/js/JSFetchHeadersCustom.cpp (196117 => 196118)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSFetchHeadersCustom.cpp        2016-02-04 11:39:31 UTC (rev 196117)
+++ trunk/Source/WebCore/bindings/js/JSFetchHeadersCustom.cpp        2016-02-04 12:46:12 UTC (rev 196118)
</span><span class="lines">@@ -1,65 +0,0 @@
</span><del>-/*
- * Copyright (C) 2016 Canon Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted, provided that the following conditions
- * are required to be met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Canon Inc. nor the names of
- * its contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY CANON INC. AND ITS CONTRIBUTORS "AS IS" AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL CANON INC. AND ITS CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include "config.h"
-#include "JSFetchHeaders.h"
-
-#if ENABLE(FETCH_API)
-
-#include "JSKeyValueIterator.h"
-
-namespace WebCore {
-
-// FIXME: Move that code to JSFetchHeaders.
-using FetchHeadersIterator = JSKeyValueIterator<JSFetchHeaders, FetchHeaders>;
-using FetchHeadersIteratorPrototype = JSKeyValueIteratorPrototype<JSFetchHeaders, FetchHeaders>;
-
-template<>
-const JSC::ClassInfo FetchHeadersIterator::s_info = { "Headers Iterator", &Base::s_info, 0, CREATE_METHOD_TABLE(FetchHeadersIterator) };
-
-template<>
-const JSC::ClassInfo FetchHeadersIteratorPrototype::s_info = { "Headers Iterator", &Base::s_info, 0, CREATE_METHOD_TABLE(FetchHeadersIteratorPrototype) };
-
-JSC::JSValue JSFetchHeaders::entries(JSC::ExecState&)
-{
- return createIterator<JSFetchHeaders, FetchHeaders>(*globalObject(), *this, IterationKind::KeyValue);
-}
-
-JSC::JSValue JSFetchHeaders::keys(JSC::ExecState&)
-{
- return createIterator<JSFetchHeaders, FetchHeaders>(*globalObject(), *this, IterationKind::Key);
-}
-
-JSC::JSValue JSFetchHeaders::values(JSC::ExecState&)
-{
- return createIterator<JSFetchHeaders, FetchHeaders>(*globalObject(), *this, IterationKind::Value);
-}
-
-}
-
-#endif
</del></span></pre></div>
<a id="trunkSourceWebCorebindingsjsJSKeyValueIteratorh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebCore/bindings/js/JSKeyValueIterator.h (196117 => 196118)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/bindings/js/JSKeyValueIterator.h        2016-02-04 11:39:31 UTC (rev 196117)
+++ trunk/Source/WebCore/bindings/js/JSKeyValueIterator.h        2016-02-04 12:46:12 UTC (rev 196118)
</span><span class="lines">@@ -1,159 +0,0 @@
</span><del>-/*
- * Copyright (C) 2016 Canon, Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY CANON INC. ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CANON INC. OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef JSKeyValueIterator_h
-#define JSKeyValueIterator_h
-
-#include "JSDOMBinding.h"
-#include <runtime/JSDestructibleObject.h>
-
-namespace WebCore {
-
-// FIXME: Update binding generator to allow getting DOMWrapped from JSWrapper.
-template<typename JSWrapper, typename DOMWrapped>
-class JSKeyValueIteratorPrototype : public JSC::JSNonFinalObject {
-public:
- typedef JSC::JSNonFinalObject Base;
-
- static JSKeyValueIteratorPrototype* create(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::Structure* structure)
- {
- JSKeyValueIteratorPrototype* prototype = new (NotNull, JSC::allocateCell<JSKeyValueIteratorPrototype>(vm.heap)) JSKeyValueIteratorPrototype(vm, structure);
- prototype->finishCreation(vm, globalObject);
- return prototype;
- }
-
- DECLARE_INFO;
-
- static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
- {
- return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
- }
-
-private:
- JSKeyValueIteratorPrototype(JSC::VM& vm, JSC::Structure* structure) : Base(vm, structure) { }
-
- void finishCreation(JSC::VM&, JSC::JSGlobalObject*);
-};
-
-enum class IterationKind { Key, Value, KeyValue };
-
-template<typename JSWrapper, typename DOMWrapped>
-class JSKeyValueIterator: public JSDOMObject {
-public:
- typedef JSDOMObject Base;
-
- DECLARE_INFO;
-
- static JSC::Structure* createStructure(JSC::VM& vm, JSC::JSGlobalObject* globalObject, JSC::JSValue prototype)
- {
- return JSC::Structure::create(vm, globalObject, prototype, JSC::TypeInfo(JSC::ObjectType, StructureFlags), info());
- }
-
- static JSKeyValueIterator* create(JSC::VM& vm, JSC::Structure* structure, JSWrapper& iteratedObject, IterationKind kind)
- {
- JSKeyValueIterator* instance = new (NotNull, JSC::allocateCell<JSKeyValueIterator>(vm.heap)) JSKeyValueIterator(structure, iteratedObject, kind);
- instance->finishCreation(vm);
- return instance;
- }
-
- static JSKeyValueIteratorPrototype<JSWrapper, DOMWrapped>* createPrototype(JSC::VM& vm, JSC::JSGlobalObject* globalObject)
- {
- return JSKeyValueIteratorPrototype<JSWrapper, DOMWrapped>::create(vm, globalObject,
- JSKeyValueIteratorPrototype<JSWrapper, DOMWrapped>::createStructure(vm, globalObject, globalObject->objectPrototype()));
- }
-
- bool next(JSC::ExecState&, JSC::JSValue&);
-
-private:
- JSKeyValueIterator(JSC::Structure* structure, JSWrapper& iteratedObject, IterationKind kind)
- : Base(structure, *iteratedObject.globalObject())
- , m_iterator(iteratedObject.wrapped().createIterator())
- , m_kind(kind)
- {
- }
-
- static void destroy(JSC::JSCell*);
-
- typename DOMWrapped::Iterator m_iterator;
- IterationKind m_kind;
-};
-
-template<typename JSWrapper, typename DOMWrapped>
-JSKeyValueIterator<JSWrapper, DOMWrapped>* createIterator(JSDOMGlobalObject& globalObject, JSWrapper& wrapper, IterationKind kind)
-{
- return JSKeyValueIterator<JSWrapper, DOMWrapped>::create(globalObject.vm(), getDOMStructure<JSKeyValueIterator<JSWrapper, DOMWrapped>>(globalObject.vm(), globalObject), wrapper, kind);
-}
-
-template<typename JSWrapper, typename DOMWrapped>
-void JSKeyValueIterator<JSWrapper, DOMWrapped>::destroy(JSCell* cell)
-{
- JSKeyValueIterator<JSWrapper, DOMWrapped>* thisObject = JSC::jsCast<JSKeyValueIterator<JSWrapper, DOMWrapped>*>(cell);
- thisObject->JSKeyValueIterator<JSWrapper, DOMWrapped>::~JSKeyValueIterator();
-}
-
-template<typename JSWrapper, typename DOMWrapped>
-bool JSKeyValueIterator<JSWrapper, DOMWrapped>::next(JSC::ExecState& state, JSC::JSValue& value)
-{
- typename DOMWrapped::Iterator::Key nextKey;
- typename DOMWrapped::Iterator::Value nextValue;
- if (m_iterator.next(nextKey, nextValue)) {
- value = JSC::jsUndefined();
- return true;
- }
- if (m_kind == IterationKind::Value)
- value = toJS(&state, globalObject(), nextValue);
- else if (m_kind == IterationKind::Key)
- value = toJS(&state, globalObject(), nextKey);
- else
- value = jsPair(state, globalObject(), nextKey, nextValue);
- return false;
-}
-
-template<typename JSWrapper, typename DOMWrapped>
-JSC::EncodedJSValue JSC_HOST_CALL JSKeyValueIteratorPrototypeFunctionNext(JSC::ExecState* state)
-{
- JSC::JSValue result;
- JSKeyValueIterator<JSWrapper, DOMWrapped>* iterator = JSC::jsDynamicCast<JSKeyValueIterator<JSWrapper, DOMWrapped>*>(state->thisValue());
- if (!iterator)
- return JSC::JSValue::encode(throwTypeError(state, ASCIILiteral("Cannot call next() on a non-Iterator object")));
-
- bool isDone = iterator->next(*state, result);
- return JSC::JSValue::encode(createIteratorResultObject(state, result, isDone));
-}
-
-using NextFunction = JSC::EncodedJSValue JSC_HOST_CALL (*)(JSC::CallFrame*);
-template<typename JSWrapper, typename DOMWrapped>
-void JSKeyValueIteratorPrototype<JSWrapper, DOMWrapped>::finishCreation(JSC::VM& vm, JSC::JSGlobalObject* globalObject)
-{
- Base::finishCreation(vm);
- ASSERT(inherits(info()));
-
- NextFunction nextFunction = JSKeyValueIteratorPrototypeFunctionNext<JSWrapper, DOMWrapped>;
- JSC_NATIVE_INTRINSIC_FUNCTION_WITHOUT_TRANSITION(vm.propertyNames->next, nextFunction, JSC::DontEnum, 0, JSC::NoIntrinsic);
-}
-
-}
-
-#endif // !defined(JSKeyValueIterator_h)
</del></span></pre>
</div>
</div>
</body>
</html>