<!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>[180828] releases/WebKitGTK/webkit-2.8</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/180828">180828</a></dd>
<dt>Author</dt> <dd>carlosgc@webkit.org</dd>
<dt>Date</dt> <dd>2015-02-28 03:29:06 -0800 (Sat, 28 Feb 2015)</dd>
</dl>

<h3>Log Message</h3>
<pre>Merge <a href="http://trac.webkit.org/projects/webkit/changeset/180570">r180570</a> - REGRESSION(<a href="http://trac.webkit.org/projects/webkit/changeset/179429">r179429</a>): Can't type comments in Facebook
https://bugs.webkit.org/show_bug.cgi?id=141859

Reviewed by Brent Fulgham.

Source/JavaScriptCore:

When window.Symbol is exposed to user-space pages,
Facebook's JavaScript use it (maybe, for immutable-js and React.js's unique key).
However, to work with Symbols completely, it also requires
1) Object.getOwnPropertySymbols (for mixin including Symbols)
2) the latest ES6 Iterator interface that uses Iterator.next and it returns { done: boolean, value: value }.
Since they are not landed yet, comments in Facebook don't work.

This patch introduces RuntimeFlags for JavaScriptCore.
Specifying SymbolEnabled flag under test runner and inspector to continue to work with Symbol.
And drop JavaScriptExperimentsEnabled flag
because it is no longer used and use case of this is duplicated to runtime flags.

* JavaScriptCore.order:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
* JavaScriptCore.xcodeproj/project.pbxproj:
* jsc.cpp:
(GlobalObject::javaScriptRuntimeFlags):
(GlobalObject::javaScriptExperimentsEnabled): Deleted.
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::JSGlobalObject):
(JSC::JSGlobalObject::init):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::finishCreation):
(JSC::JSGlobalObject::javaScriptRuntimeFlags):
(JSC::JSGlobalObject::javaScriptExperimentsEnabled): Deleted.
* runtime/RuntimeFlags.h: Added.
(JSC::RuntimeFlags::RuntimeFlags):
(JSC::RuntimeFlags::createAllEnabled):

Source/WebCore:

Enable SymbolEnabled runtime flag in inspector context.

* ForwardingHeaders/runtime/RuntimeFlags.h: Added.
* WebCore.order:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
(WebCore::JSDOMWindowBase::javaScriptExperimentsEnabled): Deleted.
* bindings/js/JSDOMWindowBase.h:
* bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::javaScriptRuntimeFlags):
(WebCore::JSWorkerGlobalScopeBase::javaScriptExperimentsEnabled): Deleted.
* bindings/js/JSWorkerGlobalScopeBase.h:
* inspector/InspectorFrontendClientLocal.cpp:
(WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
* page/Settings.h:
* page/Settings.in:

Source/WebKit/mac:

Introduce SymbolEnabled and drop javaScriptExperimentsEnabled.
Private API, javaScriptExperimentsEnabled is dropped.

* Misc/WebNSDictionaryExtras.h:
* Misc/WebNSDictionaryExtras.m:
(-[NSMutableDictionary _webkit_setUnsignedInt:forKey:]):
* WebKit.order:
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences _setUnsignedIntValue:forKey:]):
(-[WebPreferences javaScriptRuntimeFlags]):
(-[WebPreferences setJavaScriptRuntimeFlags:]):
(-[WebPreferences setJavaScriptExperimentsEnabled:]): Deleted.
(-[WebPreferences javaScriptExperimentsEnabled]): Deleted.
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit/win:

Added Windows support.

* Interfaces/IWebPreferences.idl:
* Interfaces/IWebPreferencesPrivate.idl:
* WebPreferenceKeysPrivate.h:
* WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::javaScriptRuntimeFlags):
(WebPreferences::setJavaScriptRuntimeFlags):
(WebPreferences::isWebSecurityEnabled):
* WebPreferences.h:
* WebView.cpp:
(WebView::notifyPreferencesChanged):

Source/WebKit2:

Enable SymbolEnabled in inspector context.

* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetJavaScriptRuntimeFlags):
(WKPreferencesGetJavaScriptRuntimeFlags):
(WKPreferencesSetJavaScriptExperimentsEnabled): Deleted.
(WKPreferencesGetJavaScriptExperimentsEnabled): Deleted.
* UIProcess/API/C/WKPreferencesRef.h:
* UIProcess/API/C/WKPreferencesRefPrivate.h:
* UIProcess/API/Cocoa/WKPreferences.mm:
(-[WKPreferences _javaScriptRuntimeFlags]):
(-[WKPreferences _setJavaScriptRuntimeFlags:]):
* UIProcess/API/Cocoa/WKPreferencesPrivate.h:
* UIProcess/efl/WebInspectorProxyEfl.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* UIProcess/gtk/WebInspectorProxyGtk.cpp:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* mac/WebKit2.order:

Tools:

Drop javaScriptExperimentsEnabled and specify JavaScriptRuntimeFlagsAllEnabled as KJavaScriptRuntimeFlags.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#releasesWebKitGTKwebkit28SourceJavaScriptCoreChangeLog">releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceJavaScriptCoreJavaScriptCoreorder">releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/JavaScriptCore.order</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj">releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxprojfilters">releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj">releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceJavaScriptCorejsccpp">releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/jsc.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceJavaScriptCoreruntimeJSGlobalObjectcpp">releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/runtime/JSGlobalObject.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceJavaScriptCoreruntimeJSGlobalObjecth">releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/runtime/JSGlobalObject.h</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebCoreChangeLog">releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebCoreWebCoreorder">releases/WebKitGTK/webkit-2.8/Source/WebCore/WebCore.order</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebCoreWebCorevcxprojWebCorevcxproj">releases/WebKitGTK/webkit-2.8/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebCoreWebCorevcxprojWebCorevcxprojfilters">releases/WebKitGTK/webkit-2.8/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebCorebindingsjsJSDOMWindowBasecpp">releases/WebKitGTK/webkit-2.8/Source/WebCore/bindings/js/JSDOMWindowBase.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebCorebindingsjsJSDOMWindowBaseh">releases/WebKitGTK/webkit-2.8/Source/WebCore/bindings/js/JSDOMWindowBase.h</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebCorebindingsjsJSWorkerGlobalScopeBasecpp">releases/WebKitGTK/webkit-2.8/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebCorebindingsjsJSWorkerGlobalScopeBaseh">releases/WebKitGTK/webkit-2.8/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebCoreinspectorInspectorFrontendClientLocalcpp">releases/WebKitGTK/webkit-2.8/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebCorepageSettingsh">releases/WebKitGTK/webkit-2.8/Source/WebCore/page/Settings.h</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebCorepageSettingsin">releases/WebKitGTK/webkit-2.8/Source/WebCore/page/Settings.in</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKitmacChangeLog">releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKitmacMiscWebNSDictionaryExtrash">releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/Misc/WebNSDictionaryExtras.h</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKitmacMiscWebNSDictionaryExtrasm">releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/Misc/WebNSDictionaryExtras.m</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKitmacWebKitorder">releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebKit.order</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKitmacWebViewWebPreferenceKeysPrivateh">releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKitmacWebViewWebPreferencesmm">releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebView/WebPreferences.mm</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKitmacWebViewWebPreferencesPrivateh">releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebView/WebPreferencesPrivate.h</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKitmacWebViewWebViewmm">releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebView/WebView.mm</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKitwinChangeLog">releases/WebKitGTK/webkit-2.8/Source/WebKit/win/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKitwinInterfacesIWebPreferencesidl">releases/WebKitGTK/webkit-2.8/Source/WebKit/win/Interfaces/IWebPreferences.idl</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKitwinInterfacesIWebPreferencesPrivateidl">releases/WebKitGTK/webkit-2.8/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKitwinWebPreferenceKeysPrivateh">releases/WebKitGTK/webkit-2.8/Source/WebKit/win/WebPreferenceKeysPrivate.h</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKitwinWebPreferencescpp">releases/WebKitGTK/webkit-2.8/Source/WebKit/win/WebPreferences.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKitwinWebPreferencesh">releases/WebKitGTK/webkit-2.8/Source/WebKit/win/WebPreferences.h</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKitwinWebViewcpp">releases/WebKitGTK/webkit-2.8/Source/WebKit/win/WebView.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKit2ChangeLog">releases/WebKitGTK/webkit-2.8/Source/WebKit2/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKit2SharedWebPreferencesDefinitionsh">releases/WebKitGTK/webkit-2.8/Source/WebKit2/Shared/WebPreferencesDefinitions.h</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKit2UIProcessAPICWKPreferencescpp">releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKit2UIProcessAPICWKPreferencesRefh">releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/C/WKPreferencesRef.h</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKit2UIProcessAPICWKPreferencesRefPrivateh">releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKit2UIProcessAPICocoaWKPreferencesmm">releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKit2UIProcessAPICocoaWKPreferencesPrivateh">releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKit2UIProcesseflWebInspectorProxyEflcpp">releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKit2UIProcessgtkWebInspectorProxyGtkcpp">releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/gtk/WebInspectorProxyGtk.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKit2UIProcessmacWebInspectorProxyMacmm">releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKit2WebProcessWebPageWebPagecpp">releases/WebKitGTK/webkit-2.8/Source/WebKit2/WebProcess/WebPage/WebPage.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebKit2macWebKit2order">releases/WebKitGTK/webkit-2.8/Source/WebKit2/mac/WebKit2.order</a></li>
<li><a href="#releasesWebKitGTKwebkit28ToolsChangeLog">releases/WebKitGTK/webkit-2.8/Tools/ChangeLog</a></li>
<li><a href="#releasesWebKitGTKwebkit28ToolsDumpRenderTreemacDumpRenderTreemm">releases/WebKitGTK/webkit-2.8/Tools/DumpRenderTree/mac/DumpRenderTree.mm</a></li>
<li><a href="#releasesWebKitGTKwebkit28ToolsDumpRenderTreewinDumpRenderTreecpp">releases/WebKitGTK/webkit-2.8/Tools/DumpRenderTree/win/DumpRenderTree.cpp</a></li>
<li><a href="#releasesWebKitGTKwebkit28ToolsWebKitTestRunnerTestControllercpp">releases/WebKitGTK/webkit-2.8/Tools/WebKitTestRunner/TestController.cpp</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#releasesWebKitGTKwebkit28SourceJavaScriptCoreruntimeRuntimeFlagsh">releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/runtime/RuntimeFlags.h</a></li>
<li><a href="#releasesWebKitGTKwebkit28SourceWebCoreForwardingHeadersruntimeRuntimeFlagsh">releases/WebKitGTK/webkit-2.8/Source/WebCore/ForwardingHeaders/runtime/RuntimeFlags.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="releasesWebKitGTKwebkit28SourceJavaScriptCoreChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/ChangeLog (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/ChangeLog        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/ChangeLog        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -1,3 +1,40 @@
</span><ins>+2015-02-24  Yusuke Suzuki  &lt;utatane.tea@gmail.com&gt;
+
+        REGRESSION(r179429): Can't type comments in Facebook
+        https://bugs.webkit.org/show_bug.cgi?id=141859
+
+        Reviewed by Brent Fulgham.
+
+        When window.Symbol is exposed to user-space pages,
+        Facebook's JavaScript use it (maybe, for immutable-js and React.js's unique key).
+        However, to work with Symbols completely, it also requires
+        1) Object.getOwnPropertySymbols (for mixin including Symbols)
+        2) the latest ES6 Iterator interface that uses Iterator.next and it returns { done: boolean, value: value }.
+        Since they are not landed yet, comments in Facebook don't work.
+
+        This patch introduces RuntimeFlags for JavaScriptCore.
+        Specifying SymbolEnabled flag under test runner and inspector to continue to work with Symbol.
+        And drop JavaScriptExperimentsEnabled flag
+        because it is no longer used and use case of this is duplicated to runtime flags.
+
+        * JavaScriptCore.order:
+        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
+        * JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters:
+        * JavaScriptCore.xcodeproj/project.pbxproj:
+        * jsc.cpp:
+        (GlobalObject::javaScriptRuntimeFlags):
+        (GlobalObject::javaScriptExperimentsEnabled): Deleted.
+        * runtime/JSGlobalObject.cpp:
+        (JSC::JSGlobalObject::JSGlobalObject):
+        (JSC::JSGlobalObject::init):
+        * runtime/JSGlobalObject.h:
+        (JSC::JSGlobalObject::finishCreation):
+        (JSC::JSGlobalObject::javaScriptRuntimeFlags):
+        (JSC::JSGlobalObject::javaScriptExperimentsEnabled): Deleted.
+        * runtime/RuntimeFlags.h: Added.
+        (JSC::RuntimeFlags::RuntimeFlags):
+        (JSC::RuntimeFlags::createAllEnabled):
+
</ins><span class="cx"> 2015-02-23  Matthew Mirman  &lt;mmirman@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         r9 is volatile on ARMv7 for iOS 3 and up. 
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceJavaScriptCoreJavaScriptCoreorder"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/JavaScriptCore.order (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/JavaScriptCore.order        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/JavaScriptCore.order        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -637,7 +637,6 @@
</span><span class="cx"> __ZN3JSC12GlobalJSLockD1Ev
</span><span class="cx"> _JSGlobalContextCreateInGroup
</span><span class="cx"> __ZN3JSC14JSGlobalObjectC1ERNS_2VMEPNS_9StructureEPKNS_23GlobalObjectMethodTableE
</span><del>-__ZN3JSC14JSGlobalObject28javaScriptExperimentsEnabledEPKS0_
</del><span class="cx"> _JSGlobalContextRetain
</span><span class="cx"> _JSStringCreateWithCFString
</span><span class="cx"> _JSEvaluateScript
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxproj"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -1605,6 +1605,7 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\runtime\RegExpObject.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\runtime\RegExpPrototype.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\runtime\Reject.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\runtime\RuntimeFlags.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\runtime\SamplingCounter.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\runtime\SetConstructor.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\runtime\SetIteratorConstructor.h&quot; /&gt;
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceJavaScriptCoreJavaScriptCorevcxprojJavaScriptCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -2862,6 +2862,9 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\runtime\Reject.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;runtime&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\runtime\RuntimeFlags.h&quot;&gt;
+      &lt;Filter&gt;runtime&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\runtime\SamplingCounter.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;runtime&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceJavaScriptCoreJavaScriptCorexcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -943,6 +943,7 @@
</span><span class="cx">                 705B41B01A6E501E00716757 /* SymbolObject.h in Headers */ = {isa = PBXBuildFile; fileRef = 705B41A81A6E501E00716757 /* SymbolObject.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 705B41B11A6E501E00716757 /* SymbolPrototype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 705B41A91A6E501E00716757 /* SymbolPrototype.cpp */; };
</span><span class="cx">                 705B41B21A6E501E00716757 /* SymbolPrototype.h in Headers */ = {isa = PBXBuildFile; fileRef = 705B41AA1A6E501E00716757 /* SymbolPrototype.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><ins>+                70B0A9D11A9B66460001306A /* RuntimeFlags.h in Headers */ = {isa = PBXBuildFile; fileRef = 70B0A9D01A9B66200001306A /* RuntimeFlags.h */; settings = {ATTRIBUTES = (Private, ); }; };
</ins><span class="cx">                 7C008CD2186F8A9300955C24 /* JSPromiseFunctions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C008CD0186F8A9300955C24 /* JSPromiseFunctions.cpp */; };
</span><span class="cx">                 7C008CD3186F8A9300955C24 /* JSPromiseFunctions.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C008CD1186F8A9300955C24 /* JSPromiseFunctions.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 7C008CDA187124BB00955C24 /* JSPromiseDeferred.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C008CD8187124BB00955C24 /* JSPromiseDeferred.cpp */; };
</span><span class="lines">@@ -2615,6 +2616,7 @@
</span><span class="cx">                 705B41A81A6E501E00716757 /* SymbolObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SymbolObject.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 705B41A91A6E501E00716757 /* SymbolPrototype.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = SymbolPrototype.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 705B41AA1A6E501E00716757 /* SymbolPrototype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SymbolPrototype.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                70B0A9D01A9B66200001306A /* RuntimeFlags.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RuntimeFlags.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 7C008CD0186F8A9300955C24 /* JSPromiseFunctions.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; lineEnding = 0; path = JSPromiseFunctions.cpp; sourceTree = &quot;&lt;group&gt;&quot;; xcLanguageSpecificationIdentifier = xcode.lang.cpp; };
</span><span class="cx">                 7C008CD1186F8A9300955C24 /* JSPromiseFunctions.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSPromiseFunctions.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7C008CD8187124BB00955C24 /* JSPromiseDeferred.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSPromiseDeferred.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -4513,6 +4515,7 @@
</span><span class="cx">                                 BCD202C00E1706A7002C7E82 /* RegExpPrototype.h */,
</span><span class="cx">                                 0F6B1CB81861244C00845D97 /* RegisterPreservationMode.h */,
</span><span class="cx">                                 0FB7F39115ED8E3800F167B2 /* Reject.h */,
</span><ins>+                                70B0A9D01A9B66200001306A /* RuntimeFlags.h */,
</ins><span class="cx">                                 0F7700911402FF280078EB39 /* SamplingCounter.cpp */,
</span><span class="cx">                                 0F77008E1402FDD60078EB39 /* SamplingCounter.h */,
</span><span class="cx">                                 A7299DA317D12858005F5FF9 /* SetConstructor.cpp */,
</span><span class="lines">@@ -6249,6 +6252,7 @@
</span><span class="cx">                                 0FF42744158EBE91004CB9FF /* udis86_input.h in Headers */,
</span><span class="cx">                                 0FF42748158EBE91004CB9FF /* udis86_syn.h in Headers */,
</span><span class="cx">                                 0FF42749158EBE91004CB9FF /* udis86_types.h in Headers */,
</span><ins>+                                70B0A9D11A9B66460001306A /* RuntimeFlags.h in Headers */,
</ins><span class="cx">                                 A7E5AB391799E4B200D2833D /* UDis86Disassembler.h in Headers */,
</span><span class="cx">                                 A7A8AF4117ADB5F3005AB174 /* Uint16Array.h in Headers */,
</span><span class="cx">                                 0FE834181A6EF97B00D04847 /* PolymorphicCallStubRoutine.h in Headers */,
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceJavaScriptCorejsccpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/jsc.cpp (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/jsc.cpp        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/jsc.cpp        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -575,7 +575,7 @@
</span><span class="cx">         return Structure::create(vm, 0, prototype, TypeInfo(GlobalObjectType, StructureFlags), info());
</span><span class="cx">     }
</span><span class="cx"> 
</span><del>-    static bool javaScriptExperimentsEnabled(const JSGlobalObject*) { return true; }
</del><ins>+    static RuntimeFlags javaScriptRuntimeFlags(const JSGlobalObject*) { return RuntimeFlags::createAllEnabled(); }
</ins><span class="cx"> 
</span><span class="cx"> protected:
</span><span class="cx">     void finishCreation(VM&amp; vm, const Vector&lt;String&gt;&amp; arguments)
</span><span class="lines">@@ -663,7 +663,7 @@
</span><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> const ClassInfo GlobalObject::s_info = { &quot;global&quot;, &amp;JSGlobalObject::s_info, &amp;globalObjectTable, CREATE_METHOD_TABLE(GlobalObject) };
</span><del>-const GlobalObjectMethodTable GlobalObject::s_globalObjectMethodTable = { &amp;allowsAccessFrom, &amp;supportsProfiling, &amp;supportsRichSourceInfo, &amp;shouldInterruptScript, &amp;javaScriptExperimentsEnabled, 0, &amp;shouldInterruptScriptBeforeTimeout };
</del><ins>+const GlobalObjectMethodTable GlobalObject::s_globalObjectMethodTable = { &amp;allowsAccessFrom, &amp;supportsProfiling, &amp;supportsRichSourceInfo, &amp;shouldInterruptScript, &amp;javaScriptRuntimeFlags, 0, &amp;shouldInterruptScriptBeforeTimeout };
</ins><span class="cx"> 
</span><span class="cx"> 
</span><span class="cx"> GlobalObject::GlobalObject(VM&amp; vm, Structure* structure)
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceJavaScriptCoreruntimeJSGlobalObjectcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/runtime/JSGlobalObject.cpp (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/runtime/JSGlobalObject.cpp        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/runtime/JSGlobalObject.cpp        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -144,7 +144,7 @@
</span><span class="cx"> 
</span><span class="cx"> const ClassInfo JSGlobalObject::s_info = { &quot;GlobalObject&quot;, &amp;Base::s_info, &amp;globalObjectTable, CREATE_METHOD_TABLE(JSGlobalObject) };
</span><span class="cx"> 
</span><del>-const GlobalObjectMethodTable JSGlobalObject::s_globalObjectMethodTable = { &amp;allowsAccessFrom, &amp;supportsProfiling, &amp;supportsRichSourceInfo, &amp;shouldInterruptScript, &amp;javaScriptExperimentsEnabled, 0, &amp;shouldInterruptScriptBeforeTimeout };
</del><ins>+const GlobalObjectMethodTable JSGlobalObject::s_globalObjectMethodTable = { &amp;allowsAccessFrom, &amp;supportsProfiling, &amp;supportsRichSourceInfo, &amp;shouldInterruptScript, &amp;javaScriptRuntimeFlags, 0, &amp;shouldInterruptScriptBeforeTimeout };
</ins><span class="cx"> 
</span><span class="cx"> /* Source for JSGlobalObject.lut.h
</span><span class="cx"> @begin globalObjectTable
</span><span class="lines">@@ -172,7 +172,7 @@
</span><span class="cx">     , m_varInjectionWatchpoint(adoptRef(new WatchpointSet(IsWatched)))
</span><span class="cx">     , m_weakRandom(Options::forceWeakRandomSeed() ? Options::forcedWeakRandomSeed() : static_cast&lt;unsigned&gt;(randomNumber() * (std::numeric_limits&lt;unsigned&gt;::max() + 1.0)))
</span><span class="cx">     , m_evalEnabled(true)
</span><del>-    , m_experimentsEnabled(false)
</del><ins>+    , m_runtimeFlags()
</ins><span class="cx">     , m_consoleClient(nullptr)
</span><span class="cx">     , m_globalObjectMethodTable(globalObjectMethodTable ? globalObjectMethodTable : &amp;s_globalObjectMethodTable)
</span><span class="cx"> {
</span><span class="lines">@@ -371,7 +371,10 @@
</span><span class="cx"> putDirectWithoutTransition(vm, vm.propertyNames-&gt; jsName, lowerName ## Constructor, DontEnum); \
</span><span class="cx"> 
</span><span class="cx">     FOR_EACH_SIMPLE_BUILTIN_TYPE_WITH_CONSTRUCTOR(PUT_CONSTRUCTOR_FOR_SIMPLE_TYPE)
</span><del>-    
</del><ins>+
+    if (m_runtimeFlags.isSymbolEnabled())
+        putDirectWithoutTransition(vm, vm.propertyNames-&gt;Symbol, symbolConstructor, DontEnum);
+
</ins><span class="cx"> #undef PUT_CONSTRUCTOR_FOR_SIMPLE_TYPE
</span><span class="cx">     PrototypeMap&amp; prototypeMap = vm.prototypeMap;
</span><span class="cx">     Structure* iteratorResultStructure = prototypeMap.emptyObjectStructureForPrototype(m_objectPrototype.get(), JSFinalObject::defaultInlineCapacity());
</span><span class="lines">@@ -424,7 +427,7 @@
</span><span class="cx">     m_consoleStructure.set(vm, this, JSConsole::createStructure(vm, this, consolePrototype));
</span><span class="cx">     JSConsole* consoleObject = JSConsole::create(vm, m_consoleStructure.get());
</span><span class="cx">     putDirectWithoutTransition(vm, Identifier(exec, &quot;console&quot;), consoleObject, DontEnum);
</span><del>-    
</del><ins>+
</ins><span class="cx">     resetPrototype(vm, prototype());
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceJavaScriptCoreruntimeJSGlobalObjecth"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/runtime/JSGlobalObject.h (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/runtime/JSGlobalObject.h        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/runtime/JSGlobalObject.h        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -31,6 +31,7 @@
</span><span class="cx"> #include &quot;JSSegmentedVariableObject.h&quot;
</span><span class="cx"> #include &quot;JSWeakObjectMapRefInternal.h&quot;
</span><span class="cx"> #include &quot;NumberPrototype.h&quot;
</span><ins>+#include &quot;RuntimeFlags.h&quot;
</ins><span class="cx"> #include &quot;SpecialPointer.h&quot;
</span><span class="cx"> #include &quot;StringPrototype.h&quot;
</span><span class="cx"> #include &quot;StructureChain.h&quot;
</span><span class="lines">@@ -86,13 +87,15 @@
</span><span class="cx"> struct HashTable;
</span><span class="cx"> 
</span><span class="cx"> #define DEFINE_STANDARD_BUILTIN(macro, upperName, lowerName) macro(upperName, lowerName, lowerName, JS ## upperName, upperName)
</span><del>-    
</del><ins>+
+#define FOR_EACH_EXPERIMENTAL_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \
+    macro(Symbol, symbol, symbolObject, SymbolObject, Symbol) \
+
</ins><span class="cx"> #define FOR_EACH_SIMPLE_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \
</span><span class="cx">     macro(Set, set, set, JSSet, Set) \
</span><span class="cx">     macro(Map, map, map, JSMap, Map) \
</span><span class="cx">     macro(Date, date, date, DateInstance, Date) \
</span><span class="cx">     macro(String, string, stringObject, StringObject, String) \
</span><del>-    macro(Symbol, symbol, symbolObject, SymbolObject, Symbol) \
</del><span class="cx">     macro(Boolean, boolean, booleanObject, BooleanObject, Boolean) \
</span><span class="cx">     macro(Number, number, numberObject, NumberObject, Number) \
</span><span class="cx">     macro(Error, error, error, ErrorInstance, Error) \
</span><span class="lines">@@ -101,6 +104,7 @@
</span><span class="cx"> 
</span><span class="cx"> #define FOR_EACH_SIMPLE_BUILTIN_TYPE(macro) \
</span><span class="cx">     FOR_EACH_SIMPLE_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \
</span><ins>+    FOR_EACH_EXPERIMENTAL_BUILTIN_TYPE_WITH_CONSTRUCTOR(macro) \
</ins><span class="cx">     DEFINE_STANDARD_BUILTIN(macro, ArrayIterator, arrayIterator) \
</span><span class="cx">     DEFINE_STANDARD_BUILTIN(macro, ArgumentsIterator, argumentsIterator) \
</span><span class="cx">     DEFINE_STANDARD_BUILTIN(macro, MapIterator, mapIterator) \
</span><span class="lines">@@ -131,8 +135,8 @@
</span><span class="cx">     typedef bool (*ShouldInterruptScriptFunctionPtr)(const JSGlobalObject*);
</span><span class="cx">     ShouldInterruptScriptFunctionPtr shouldInterruptScript;
</span><span class="cx"> 
</span><del>-    typedef bool (*JavaScriptExperimentsEnabledFunctionPtr)(const JSGlobalObject*);
-    JavaScriptExperimentsEnabledFunctionPtr javaScriptExperimentsEnabled;
</del><ins>+    typedef RuntimeFlags (*JavaScriptRuntimeFlagsFunctionPtr)(const JSGlobalObject*);
+    JavaScriptRuntimeFlagsFunctionPtr javaScriptRuntimeFlags;
</ins><span class="cx"> 
</span><span class="cx">     typedef void (*QueueTaskToEventLoopFunctionPtr)(const JSGlobalObject*, PassRefPtr&lt;Microtask&gt;);
</span><span class="cx">     QueueTaskToEventLoopFunctionPtr queueTaskToEventLoop;
</span><span class="lines">@@ -272,7 +276,7 @@
</span><span class="cx"> 
</span><span class="cx">     bool m_evalEnabled;
</span><span class="cx">     String m_evalDisabledErrorMessage;
</span><del>-    bool m_experimentsEnabled;
</del><ins>+    RuntimeFlags m_runtimeFlags;
</ins><span class="cx">     ConsoleClient* m_consoleClient;
</span><span class="cx"> 
</span><span class="cx">     static JS_EXPORTDATA const GlobalObjectMethodTable s_globalObjectMethodTable;
</span><span class="lines">@@ -308,7 +312,7 @@
</span><span class="cx">     {
</span><span class="cx">         Base::finishCreation(vm);
</span><span class="cx">         structure()-&gt;setGlobalObject(vm, this);
</span><del>-        m_experimentsEnabled = m_globalObjectMethodTable-&gt;javaScriptExperimentsEnabled(this);
</del><ins>+        m_runtimeFlags = m_globalObjectMethodTable-&gt;javaScriptRuntimeFlags(this);
</ins><span class="cx">         init(vm);
</span><span class="cx">         setGlobalThis(vm, JSProxy::create(vm, JSProxy::createStructure(vm, this, prototype(), PureForwardingProxyType), this));
</span><span class="cx">     }
</span><span class="lines">@@ -317,7 +321,7 @@
</span><span class="cx">     {
</span><span class="cx">         Base::finishCreation(vm);
</span><span class="cx">         structure()-&gt;setGlobalObject(vm, this);
</span><del>-        m_experimentsEnabled = m_globalObjectMethodTable-&gt;javaScriptExperimentsEnabled(this);
</del><ins>+        m_runtimeFlags = m_globalObjectMethodTable-&gt;javaScriptRuntimeFlags(this);
</ins><span class="cx">         init(vm);
</span><span class="cx">         setGlobalThis(vm, thisValue);
</span><span class="cx">     }
</span><span class="lines">@@ -544,7 +548,7 @@
</span><span class="cx"> 
</span><span class="cx">     static bool shouldInterruptScript(const JSGlobalObject*) { return true; }
</span><span class="cx">     static bool shouldInterruptScriptBeforeTimeout(const JSGlobalObject*) { return false; }
</span><del>-    static bool javaScriptExperimentsEnabled(const JSGlobalObject*) { return false; }
</del><ins>+    static RuntimeFlags javaScriptRuntimeFlags(const JSGlobalObject*) { return RuntimeFlags(); }
</ins><span class="cx"> 
</span><span class="cx">     void queueMicrotask(PassRefPtr&lt;Microtask&gt;);
</span><span class="cx"> 
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceJavaScriptCoreruntimeRuntimeFlagsh"></a>
<div class="addfile"><h4>Added: releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/runtime/RuntimeFlags.h (0 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/runtime/RuntimeFlags.h                                (rev 0)
+++ releases/WebKitGTK/webkit-2.8/Source/JavaScriptCore/runtime/RuntimeFlags.h        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -0,0 +1,99 @@
</span><ins>+/*
+ * Copyright (C) 2015 Yusuke Suzuki &lt;utatane.tea@gmail.com&gt;.
+ *
+ * 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 APPLE 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 APPLE INC. OR 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.
+ */
+
+#ifndef RuntimeFlags_h
+#define RuntimeFlags_h
+
+#include &lt;initializer_list&gt;
+
+namespace JSC {
+
+#define JSC_RUNTIME_FLAG(macro) \
+    macro(SymbolEnabled)
+
+
+class RuntimeFlags {
+private:
+    enum RuntimeFlagShiftValue : unsigned {
+#define JSC_DECLARE_RUNTIME_FLAG_SHIFT_VALUE(name) shiftValueFor##name,
+        JSC_RUNTIME_FLAG(JSC_DECLARE_RUNTIME_FLAG_SHIFT_VALUE)
+#undef JSC_DECLARE_RUNTIME_FLAG_SHIFT_VALUE
+    };
+
+public:
+    enum RuntimeFlag : unsigned {
+#define JSC_DECLARE_RUNTIME_FLAG(name) name = 1u &lt;&lt; (shiftValueFor##name),
+        JSC_RUNTIME_FLAG(JSC_DECLARE_RUNTIME_FLAG)
+#undef JSC_DECLARE_RUNTIME_FLAG
+    };
+
+#define JSC_DECLARE_RUNTIME_FLAG_ACCESSOR(name) \
+    void set##name(bool value)\
+    {\
+        if (value)\
+            m_flags |= name;\
+        else\
+            m_flags &amp;= (~name);\
+    }\
+    bool is##name() const\
+    {\
+        return m_flags &amp; name;\
+    }
+    JSC_RUNTIME_FLAG(JSC_DECLARE_RUNTIME_FLAG_ACCESSOR)
+#undef JSC_DECLARE_RUNTIME_FLAG_ACCESSOR
+
+    RuntimeFlags()
+        : RuntimeFlags(0u)
+    {
+    }
+
+    RuntimeFlags(std::initializer_list&lt;RuntimeFlag&gt; initializerList)
+        : RuntimeFlags()
+    {
+        for (RuntimeFlag flag : initializerList)
+            m_flags |= flag;
+    }
+
+    explicit RuntimeFlags(unsigned flags)
+        : m_flags(flags)
+    {
+    }
+
+    static RuntimeFlags createAllEnabled()
+    {
+        return {
+#define JSC_USE_RUNTIME_FLAG(name) name,
+            JSC_RUNTIME_FLAG(JSC_USE_RUNTIME_FLAG)
+#undef JSC_USE_RUNTIME_FLAG
+        };
+    }
+
+private:
+    unsigned m_flags;
+};
+
+} // namespace JSC
+
+#endif // RuntimeFlags_h
</ins></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/ChangeLog        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -1,3 +1,29 @@
</span><ins>+2015-02-24  Yusuke Suzuki  &lt;utatane.tea@gmail.com&gt;
+
+        REGRESSION(r179429): Can't type comments in Facebook
+        https://bugs.webkit.org/show_bug.cgi?id=141859
+
+        Reviewed by Brent Fulgham.
+
+        Enable SymbolEnabled runtime flag in inspector context.
+
+        * ForwardingHeaders/runtime/RuntimeFlags.h: Added.
+        * WebCore.order:
+        * WebCore.vcxproj/WebCore.vcxproj:
+        * WebCore.vcxproj/WebCore.vcxproj.filters:
+        * bindings/js/JSDOMWindowBase.cpp:
+        (WebCore::JSDOMWindowBase::javaScriptRuntimeFlags):
+        (WebCore::JSDOMWindowBase::javaScriptExperimentsEnabled): Deleted.
+        * bindings/js/JSDOMWindowBase.h:
+        * bindings/js/JSWorkerGlobalScopeBase.cpp:
+        (WebCore::JSWorkerGlobalScopeBase::javaScriptRuntimeFlags):
+        (WebCore::JSWorkerGlobalScopeBase::javaScriptExperimentsEnabled): Deleted.
+        * bindings/js/JSWorkerGlobalScopeBase.h:
+        * inspector/InspectorFrontendClientLocal.cpp:
+        (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
+        * page/Settings.h:
+        * page/Settings.in:
+
</ins><span class="cx"> 2015-02-24  Joanmarie Diggs  &lt;jdiggs@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         [GTK] Layout Test accessibility/roles-exposed.html is failing
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebCoreForwardingHeadersruntimeRuntimeFlagsh"></a>
<div class="addfile"><h4>Added: releases/WebKitGTK/webkit-2.8/Source/WebCore/ForwardingHeaders/runtime/RuntimeFlags.h (0 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebCore/ForwardingHeaders/runtime/RuntimeFlags.h                                (rev 0)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/ForwardingHeaders/runtime/RuntimeFlags.h        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -0,0 +1,4 @@
</span><ins>+#ifndef WebCore_FWD_RuntimeFlags_h
+#define WebCore_FWD_RuntimeFlags_h
+#include &lt;JavaScriptCore/RuntimeFlags.h&gt;
+#endif
</ins></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebCoreWebCoreorder"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/WebCore.order (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebCore/WebCore.order        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/WebCore.order        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -3335,7 +3335,6 @@
</span><span class="cx"> __ZN7WebCore17JSDOMGlobalObjectC2ERN3JSC2VMEPNS1_9StructureEN3WTF10PassRefPtrINS_15DOMWrapperWorldEEEPKNS1_23GlobalObjectMethodTableE
</span><span class="cx"> __ZN7WebCore15JSDOMWindowBase14finishCreationERN3JSC2VMEPNS_16JSDOMWindowShellE
</span><span class="cx"> __ZN7WebCore17JSDOMGlobalObject14finishCreationERN3JSC2VMEPNS1_8JSObjectE
</span><del>-__ZN7WebCore15JSDOMWindowBase28javaScriptExperimentsEnabledEPKN3JSC14JSGlobalObjectE
</del><span class="cx"> __ZN7WebCore12gcControllerEv
</span><span class="cx"> __ZN7WebCore12GCController18garbageCollectSoonEv
</span><span class="cx"> __ZN3JSC6StrongIN7WebCore16JSDOMWindowShellEEC2ERNS_2VMEPS2_
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebCoreWebCorevcxprojWebCorevcxproj"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -19136,6 +19136,7 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\runtime\PrototypeFunction.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\runtime\RegExp.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\runtime\RegExpObject.h&quot; /&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\ForwardingHeaders\runtime\RuntimeFlags.h&quot; /&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\runtime\StorageBarrier.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\runtime\StringPrototype.h&quot; /&gt;
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\runtime\Structure.h&quot; /&gt;
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebCoreWebCorevcxprojWebCorevcxprojfilters"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/WebCore.vcxproj/WebCore.vcxproj.filters        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -11628,6 +11628,9 @@
</span><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\runtime\Protect.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;ForwardingHeaders\runtime&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span><ins>+    &lt;ClInclude Include=&quot;..\ForwardingHeaders\runtime\RuntimeFlags.h&quot;&gt;
+      &lt;Filter&gt;ForwardingHeaders\runtime&lt;/Filter&gt;
+    &lt;/ClInclude&gt;
</ins><span class="cx">     &lt;ClInclude Include=&quot;..\ForwardingHeaders\runtime\StringObject.h&quot;&gt;
</span><span class="cx">       &lt;Filter&gt;ForwardingHeaders\runtime&lt;/Filter&gt;
</span><span class="cx">     &lt;/ClInclude&gt;
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebCorebindingsjsJSDOMWindowBasecpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/bindings/js/JSDOMWindowBase.cpp (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebCore/bindings/js/JSDOMWindowBase.cpp        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/bindings/js/JSDOMWindowBase.cpp        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -56,7 +56,7 @@
</span><span class="cx"> 
</span><span class="cx"> const ClassInfo JSDOMWindowBase::s_info = { &quot;Window&quot;, &amp;JSDOMGlobalObject::s_info, 0, CREATE_METHOD_TABLE(JSDOMWindowBase) };
</span><span class="cx"> 
</span><del>-const GlobalObjectMethodTable JSDOMWindowBase::s_globalObjectMethodTable = { &amp;shouldAllowAccessFrom, &amp;supportsProfiling, &amp;supportsRichSourceInfo, &amp;shouldInterruptScript, &amp;javaScriptExperimentsEnabled, &amp;queueTaskToEventLoop, &amp;shouldInterruptScriptBeforeTimeout };
</del><ins>+const GlobalObjectMethodTable JSDOMWindowBase::s_globalObjectMethodTable = { &amp;shouldAllowAccessFrom, &amp;supportsProfiling, &amp;supportsRichSourceInfo, &amp;shouldInterruptScript, &amp;javaScriptRuntimeFlags, &amp;queueTaskToEventLoop, &amp;shouldInterruptScriptBeforeTimeout };
</ins><span class="cx"> 
</span><span class="cx"> JSDOMWindowBase::JSDOMWindowBase(VM&amp; vm, Structure* structure, PassRefPtr&lt;DOMWindow&gt; window, JSDOMWindowShell* shell)
</span><span class="cx">     : JSDOMGlobalObject(vm, structure, &amp;shell-&gt;world(), &amp;s_globalObjectMethodTable)
</span><span class="lines">@@ -169,13 +169,13 @@
</span><span class="cx">     return JSGlobalObject::shouldInterruptScriptBeforeTimeout(object);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool JSDOMWindowBase::javaScriptExperimentsEnabled(const JSGlobalObject* object)
</del><ins>+RuntimeFlags JSDOMWindowBase::javaScriptRuntimeFlags(const JSGlobalObject* object)
</ins><span class="cx"> {
</span><span class="cx">     const JSDOMWindowBase* thisObject = static_cast&lt;const JSDOMWindowBase*&gt;(object);
</span><span class="cx">     Frame* frame = thisObject-&gt;impl().frame();
</span><span class="cx">     if (!frame)
</span><del>-        return false;
-    return frame-&gt;settings().javaScriptExperimentsEnabled();
</del><ins>+        return RuntimeFlags();
+    return frame-&gt;settings().javaScriptRuntimeFlags();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void JSDOMWindowBase::queueTaskToEventLoop(const JSGlobalObject* object, PassRefPtr&lt;Microtask&gt; task)
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebCorebindingsjsJSDOMWindowBaseh"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/bindings/js/JSDOMWindowBase.h (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebCore/bindings/js/JSDOMWindowBase.h        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/bindings/js/JSDOMWindowBase.h        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -64,7 +64,7 @@
</span><span class="cx">         static bool supportsRichSourceInfo(const JSC::JSGlobalObject*);
</span><span class="cx">         static bool shouldInterruptScript(const JSC::JSGlobalObject*);
</span><span class="cx">         static bool shouldInterruptScriptBeforeTimeout(const JSC::JSGlobalObject*);
</span><del>-        static bool javaScriptExperimentsEnabled(const JSC::JSGlobalObject*);
</del><ins>+        static JSC::RuntimeFlags javaScriptRuntimeFlags(const JSC::JSGlobalObject*);
</ins><span class="cx">         static void queueTaskToEventLoop(const JSC::JSGlobalObject*, PassRefPtr&lt;JSC::Microtask&gt;);
</span><span class="cx">         
</span><span class="cx">         void printErrorMessage(const String&amp;) const;
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebCorebindingsjsJSWorkerGlobalScopeBasecpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.cpp        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> 
</span><span class="cx"> const ClassInfo JSWorkerGlobalScopeBase::s_info = { &quot;WorkerGlobalScope&quot;, &amp;JSDOMGlobalObject::s_info, 0, CREATE_METHOD_TABLE(JSWorkerGlobalScopeBase) };
</span><span class="cx"> 
</span><del>-const GlobalObjectMethodTable JSWorkerGlobalScopeBase::s_globalObjectMethodTable = { &amp;allowsAccessFrom, &amp;supportsProfiling, &amp;supportsRichSourceInfo, &amp;shouldInterruptScript, &amp;javaScriptExperimentsEnabled, &amp;queueTaskToEventLoop, &amp;shouldInterruptScriptBeforeTimeout };
</del><ins>+const GlobalObjectMethodTable JSWorkerGlobalScopeBase::s_globalObjectMethodTable = { &amp;allowsAccessFrom, &amp;supportsProfiling, &amp;supportsRichSourceInfo, &amp;shouldInterruptScript, &amp;javaScriptRuntimeFlags, &amp;queueTaskToEventLoop, &amp;shouldInterruptScriptBeforeTimeout };
</ins><span class="cx"> 
</span><span class="cx"> JSWorkerGlobalScopeBase::JSWorkerGlobalScopeBase(JSC::VM&amp; vm, JSC::Structure* structure, PassRefPtr&lt;WorkerGlobalScope&gt; impl)
</span><span class="cx">     : JSDOMGlobalObject(vm, structure, &amp;normalWorld(vm), &amp;s_globalObjectMethodTable)
</span><span class="lines">@@ -92,9 +92,9 @@
</span><span class="cx">     return JSGlobalObject::shouldInterruptScriptBeforeTimeout(object);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool JSWorkerGlobalScopeBase::javaScriptExperimentsEnabled(const JSGlobalObject* object)
</del><ins>+RuntimeFlags JSWorkerGlobalScopeBase::javaScriptRuntimeFlags(const JSGlobalObject* object)
</ins><span class="cx"> {
</span><del>-    return JSGlobalObject::javaScriptExperimentsEnabled(object);
</del><ins>+    return JSGlobalObject::javaScriptRuntimeFlags(object);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void JSWorkerGlobalScopeBase::queueTaskToEventLoop(const JSGlobalObject* object, PassRefPtr&lt;Microtask&gt; task)
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebCorebindingsjsJSWorkerGlobalScopeBaseh"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/bindings/js/JSWorkerGlobalScopeBase.h        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -57,7 +57,7 @@
</span><span class="cx">         static bool supportsRichSourceInfo(const JSC::JSGlobalObject*);
</span><span class="cx">         static bool shouldInterruptScript(const JSC::JSGlobalObject*);
</span><span class="cx">         static bool shouldInterruptScriptBeforeTimeout(const JSC::JSGlobalObject*);
</span><del>-        static bool javaScriptExperimentsEnabled(const JSC::JSGlobalObject*);
</del><ins>+        static JSC::RuntimeFlags javaScriptRuntimeFlags(const JSC::JSGlobalObject*);
</ins><span class="cx">         static void queueTaskToEventLoop(const JSC::JSGlobalObject*, PassRefPtr&lt;JSC::Microtask&gt;);
</span><span class="cx"> 
</span><span class="cx">     protected:
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebCoreinspectorInspectorFrontendClientLocalcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/inspector/InspectorFrontendClientLocal.cpp        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -120,6 +120,9 @@
</span><span class="cx">     , m_dockSide(DockSide::Undocked)
</span><span class="cx"> {
</span><span class="cx">     m_frontendPage-&gt;settings().setAllowFileAccessFromFileURLs(true);
</span><ins>+    m_frontendPage-&gt;settings().setJavaScriptRuntimeFlags({
+        JSC::RuntimeFlags::SymbolEnabled
+    });
</ins><span class="cx">     m_dispatchTask = std::make_unique&lt;InspectorBackendDispatchTask&gt;(inspectorController);
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebCorepageSettingsh"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/page/Settings.h (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebCore/page/Settings.h        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/page/Settings.h        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -35,6 +35,7 @@
</span><span class="cx"> #include &quot;SettingsMacros.h&quot;
</span><span class="cx"> #include &quot;Timer.h&quot;
</span><span class="cx"> #include &lt;chrono&gt;
</span><ins>+#include &lt;runtime/RuntimeFlags.h&gt;
</ins><span class="cx"> #include &lt;unicode/uscript.h&gt;
</span><span class="cx"> #include &lt;wtf/HashMap.h&gt;
</span><span class="cx"> #include &lt;wtf/RefCounted.h&gt;
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebCorepageSettingsin"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebCore/page/Settings.in (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebCore/page/Settings.in        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebCore/page/Settings.in        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -73,7 +73,6 @@
</span><span class="cx"> showsToolTipOverTruncatedText initial=false
</span><span class="cx"> forceFTPDirectoryListings initial=false
</span><span class="cx"> developerExtrasEnabled initial=false
</span><del>-javaScriptExperimentsEnabled initial=false
</del><span class="cx"> scriptMarkupEnabled initial=true
</span><span class="cx"> needsSiteSpecificQuirks initial=false
</span><span class="cx"> domTimersThrottlingEnabled initial=true
</span><span class="lines">@@ -87,6 +86,7 @@
</span><span class="cx"> acceleratedDrawingEnabled initial=false
</span><span class="cx"> acceleratedFiltersEnabled initial=false
</span><span class="cx"> useLegacyTextAlignPositionedElementBehavior initial=false
</span><ins>+javaScriptRuntimeFlags type=JSC::RuntimeFlags
</ins><span class="cx"> 
</span><span class="cx"> # FIXME: This should really be disabled by default as it makes platforms that don't support the feature download files
</span><span class="cx"> # they can't use by. Leaving enabled for now to not change existing behavior.
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKitmacChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/ChangeLog (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/ChangeLog        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/ChangeLog        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -1,3 +1,29 @@
</span><ins>+2015-02-24  Yusuke Suzuki  &lt;utatane.tea@gmail.com&gt;
+
+        REGRESSION(r179429): Can't type comments in Facebook
+        https://bugs.webkit.org/show_bug.cgi?id=141859
+
+        Reviewed by Brent Fulgham.
+
+        Introduce SymbolEnabled and drop javaScriptExperimentsEnabled.
+        Private API, javaScriptExperimentsEnabled is dropped.
+
+        * Misc/WebNSDictionaryExtras.h:
+        * Misc/WebNSDictionaryExtras.m:
+        (-[NSMutableDictionary _webkit_setUnsignedInt:forKey:]):
+        * WebKit.order:
+        * WebView/WebPreferenceKeysPrivate.h:
+        * WebView/WebPreferences.mm:
+        (+[WebPreferences initialize]):
+        (-[WebPreferences _setUnsignedIntValue:forKey:]):
+        (-[WebPreferences javaScriptRuntimeFlags]):
+        (-[WebPreferences setJavaScriptRuntimeFlags:]):
+        (-[WebPreferences setJavaScriptExperimentsEnabled:]): Deleted.
+        (-[WebPreferences javaScriptExperimentsEnabled]): Deleted.
+        * WebView/WebPreferencesPrivate.h:
+        * WebView/WebView.mm:
+        (-[WebView _preferencesChanged:]):
+
</ins><span class="cx"> 2015-02-15  Sam Weinig  &lt;sam@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         Add experimental &lt;attachment&gt; element support
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKitmacMiscWebNSDictionaryExtrash"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/Misc/WebNSDictionaryExtras.h (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/Misc/WebNSDictionaryExtras.h        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/Misc/WebNSDictionaryExtras.h        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -44,7 +44,5 @@
</span><span class="cx"> - (void)_webkit_setBool:(BOOL)value forKey:(id)key;
</span><span class="cx"> - (void)_webkit_setLongLong:(long long)value forKey:(id)key;
</span><span class="cx"> - (void)_webkit_setUnsignedLongLong:(unsigned long long)value forKey:(id)key;
</span><del>-#if PLATFORM(IOS)
</del><span class="cx"> - (void)_webkit_setUnsignedInt:(unsigned)value forKey:(id)key;
</span><del>-#endif
</del><span class="cx"> @end
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKitmacMiscWebNSDictionaryExtrasm"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/Misc/WebNSDictionaryExtras.m (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/Misc/WebNSDictionaryExtras.m        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/Misc/WebNSDictionaryExtras.m        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -118,14 +118,12 @@
</span><span class="cx">     [object release];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if PLATFORM(IOS)
</del><span class="cx"> - (void)_webkit_setUnsignedInt:(unsigned)value forKey:(id)key
</span><span class="cx"> {
</span><span class="cx">     NSNumber *object = [[NSNumber alloc] initWithUnsignedInt:value];
</span><span class="cx">     [self setObject:object forKey:key];
</span><span class="cx">     [object release];
</span><span class="cx"> }
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> @end
</span><span class="cx"> 
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKitmacWebKitorder"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebKit.order (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebKit.order        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebKit.order        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -287,7 +287,6 @@
</span><span class="cx"> -[WebPreferences(WebPrivate) showsURLsInToolTips]
</span><span class="cx"> -[WebPreferences(WebPrivate) showsToolTipOverTruncatedText]
</span><span class="cx"> -[WebPreferences(WebPrivate) developerExtrasEnabled]
</span><del>--[WebPreferences(WebPrivate) javaScriptExperimentsEnabled]
</del><span class="cx"> -[WebPreferences(WebPrivate) authorAndUserStylesEnabled]
</span><span class="cx"> -[WebPreferences(WebPrivate) applicationChromeModeEnabled]
</span><span class="cx"> -[WebPreferences userStyleSheetEnabled]
</span><span class="lines">@@ -1246,7 +1245,6 @@
</span><span class="cx"> -[WebPreferences(WebPrivate) setTextAreasAreResizable:]
</span><span class="cx"> -[WebPreferences(WebPrivate) setJavaScriptCanAccessClipboard:]
</span><span class="cx"> -[WebPreferences(WebPrivate) setOfflineWebApplicationCacheEnabled:]
</span><del>--[WebPreferences(WebPrivate) setJavaScriptExperimentsEnabled:]
</del><span class="cx"> -[WebPreferences(WebPrivate) setLoadsSiteIconsIgnoringImageLoadingPreference:]
</span><span class="cx"> -[WebPreferences(WebPrivate) setFrameFlatteningEnabled:]
</span><span class="cx"> -[WebPreferences(WebPrivate) setSpatialNavigationEnabled:]
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKitmacWebViewWebPreferenceKeysPrivateh"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebView/WebPreferenceKeysPrivate.h        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx"> #define WebKitFTPDirectoryTemplatePath @&quot;WebKitFTPDirectoryTemplatePath&quot;
</span><span class="cx"> #define WebKitForceFTPDirectoryListings @&quot;WebKitForceFTPDirectoryListings&quot;
</span><span class="cx"> #define WebKitDeveloperExtrasEnabledPreferenceKey @&quot;WebKitDeveloperExtrasEnabledPreferenceKey&quot;
</span><del>-#define WebKitJavaScriptExperimentsEnabledPreferenceKey @&quot;WebKitJavaScriptExperimentsEnabledPreferenceKey&quot;
</del><ins>+#define WebKitJavaScriptRuntimeFlagsPreferenceKey @&quot;WebKitJavaScriptRuntimeFlagsPreferenceKey&quot;
</ins><span class="cx"> #define WebKitAuthorAndUserStylesEnabledPreferenceKey @&quot;WebKitAuthorAndUserStylesEnabledPreferenceKey&quot;
</span><span class="cx"> #define WebKitDOMTimersThrottlingEnabledPreferenceKey @&quot;WebKitDOMTimersThrottlingEnabledPreferenceKey&quot;
</span><span class="cx"> #define WebKitWebArchiveDebugModeEnabledPreferenceKey @&quot;WebKitWebArchiveDebugModeEnabledPreferenceKey&quot;
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKitmacWebViewWebPreferencesmm"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebView/WebPreferences.mm (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebView/WebPreferences.mm        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebView/WebPreferences.mm        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -473,7 +473,7 @@
</span><span class="cx">         [NSNumber numberWithInt:cacheModelForMainBundle()], WebKitCacheModelPreferenceKey,
</span><span class="cx">         [NSNumber numberWithBool:YES],  WebKitPageCacheSupportsPluginsPreferenceKey,
</span><span class="cx">         [NSNumber numberWithBool:NO],   WebKitDeveloperExtrasEnabledPreferenceKey,
</span><del>-        [NSNumber numberWithBool:NO],   WebKitJavaScriptExperimentsEnabledPreferenceKey,
</del><ins>+        [NSNumber numberWithUnsignedInt:0], WebKitJavaScriptRuntimeFlagsPreferenceKey,
</ins><span class="cx">         [NSNumber numberWithBool:YES],  WebKitAuthorAndUserStylesEnabledPreferenceKey,
</span><span class="cx">         [NSNumber numberWithBool:YES],  WebKitDOMTimersThrottlingEnabledPreferenceKey,
</span><span class="cx">         [NSNumber numberWithBool:NO],   WebKitWebArchiveDebugModeEnabledPreferenceKey,
</span><span class="lines">@@ -667,7 +667,6 @@
</span><span class="cx">     [self _postPreferencesChangedNotification];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-#if PLATFORM(IOS)
</del><span class="cx"> - (unsigned int)_unsignedIntValueForKey:(NSString *)key
</span><span class="cx"> {
</span><span class="cx">     id o = [self _valueForKey:key];
</span><span class="lines">@@ -678,14 +677,17 @@
</span><span class="cx"> {    if ([self _unsignedIntValueForKey:key] == value)
</span><span class="cx">         return;
</span><span class="cx">     NSString *_key = KEY(key);
</span><ins>+#if PLATFORM(IOS)
</ins><span class="cx">     dispatch_barrier_sync(_private-&gt;readWriteQueue, ^{
</span><ins>+#endif
</ins><span class="cx">     [_private-&gt;values.get() _webkit_setUnsignedInt:value forKey:_key];
</span><ins>+#if PLATFORM(IOS)
</ins><span class="cx">     });
</span><ins>+#endif
</ins><span class="cx">     if (_private-&gt;autosaves)
</span><span class="cx">         [[NSUserDefaults standardUserDefaults] setObject:[NSNumber numberWithUnsignedInt:value] forKey:_key];
</span><span class="cx">     [self _postPreferencesChangedNotification];
</span><span class="cx"> }
</span><del>-#endif
</del><span class="cx"> 
</span><span class="cx"> - (float)_floatValueForKey:(NSString *)key
</span><span class="cx"> {
</span><span class="lines">@@ -1184,14 +1186,14 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)setJavaScriptExperimentsEnabled:(BOOL)flag
</del><ins>+- (WebKitJavaScriptRuntimeFlags)javaScriptRuntimeFlags
</ins><span class="cx"> {
</span><del>-    [self _setBoolValue:flag forKey:WebKitJavaScriptExperimentsEnabledPreferenceKey];
</del><ins>+    return static_cast&lt;WebKitJavaScriptRuntimeFlags&gt;([self _unsignedIntValueForKey:WebKitJavaScriptRuntimeFlagsPreferenceKey]);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (BOOL)javaScriptExperimentsEnabled
</del><ins>+- (void)setJavaScriptRuntimeFlags:(WebKitJavaScriptRuntimeFlags)flags
</ins><span class="cx"> {
</span><del>-    return [self _boolValueForKey:WebKitJavaScriptExperimentsEnabledPreferenceKey];
</del><ins>+    [self _setUnsignedIntValue:flags forKey:WebKitJavaScriptRuntimeFlagsPreferenceKey];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)setDeveloperExtrasEnabled:(BOOL)flag
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKitmacWebViewWebPreferencesPrivateh"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebView/WebPreferencesPrivate.h (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebView/WebPreferencesPrivate.h        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebView/WebPreferencesPrivate.h        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -52,6 +52,11 @@
</span><span class="cx">     WebBlockAllStorage
</span><span class="cx"> } WebStorageBlockingPolicy;
</span><span class="cx"> 
</span><ins>+typedef enum {
+    WebKitJavaScriptRuntimeFlagsSymbolEnabled = 1u &lt;&lt; 0,
+    WebKitJavaScriptRuntimeFlagsAllEnabled = WebKitJavaScriptRuntimeFlagsSymbolEnabled
+} WebKitJavaScriptRuntimeFlags;
+
</ins><span class="cx"> extern NSString *WebPreferencesChangedNotification;
</span><span class="cx"> extern NSString *WebPreferencesRemovedNotification;
</span><span class="cx"> extern NSString *WebPreferencesChangedInternalNotification;
</span><span class="lines">@@ -67,8 +72,8 @@
</span><span class="cx"> - (BOOL)developerExtrasEnabled;
</span><span class="cx"> - (void)setDeveloperExtrasEnabled:(BOOL)flag;
</span><span class="cx"> 
</span><del>-- (BOOL)javaScriptExperimentsEnabled;
-- (void)setJavaScriptExperimentsEnabled:(BOOL)flag;
</del><ins>+- (WebKitJavaScriptRuntimeFlags)javaScriptRuntimeFlags;
+- (void)setJavaScriptRuntimeFlags:(WebKitJavaScriptRuntimeFlags)flags;
</ins><span class="cx"> 
</span><span class="cx"> - (BOOL)authorAndUserStylesEnabled;
</span><span class="cx"> - (void)setAuthorAndUserStylesEnabled:(BOOL)flag;
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKitmacWebViewWebViewmm"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebView/WebView.mm (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebView/WebView.mm        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit/mac/WebView/WebView.mm        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -2234,7 +2234,7 @@
</span><span class="cx">     settings.setBackForwardCacheExpirationInterval([preferences _backForwardCacheExpirationInterval]);
</span><span class="cx"> 
</span><span class="cx">     settings.setDeveloperExtrasEnabled([preferences developerExtrasEnabled]);
</span><del>-    settings.setJavaScriptExperimentsEnabled([preferences javaScriptExperimentsEnabled]);
</del><ins>+    settings.setJavaScriptRuntimeFlags(JSC::RuntimeFlags([preferences javaScriptRuntimeFlags]));
</ins><span class="cx">     settings.setAuthorAndUserStylesEnabled([preferences authorAndUserStylesEnabled]);
</span><span class="cx"> 
</span><span class="cx">     settings.setNeedsSiteSpecificQuirks(_private-&gt;useSiteSpecificSpoofing);
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKitwinChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit/win/ChangeLog (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit/win/ChangeLog        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit/win/ChangeLog        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -1,3 +1,24 @@
</span><ins>+2015-02-24  Yusuke Suzuki  &lt;utatane.tea@gmail.com&gt;
+
+        REGRESSION(r179429): Can't type comments in Facebook
+        https://bugs.webkit.org/show_bug.cgi?id=141859
+
+        Reviewed by Brent Fulgham.
+
+        Added Windows support.
+
+        * Interfaces/IWebPreferences.idl:
+        * Interfaces/IWebPreferencesPrivate.idl:
+        * WebPreferenceKeysPrivate.h:
+        * WebPreferences.cpp:
+        (WebPreferences::initializeDefaultSettings):
+        (WebPreferences::javaScriptRuntimeFlags):
+        (WebPreferences::setJavaScriptRuntimeFlags):
+        (WebPreferences::isWebSecurityEnabled):
+        * WebPreferences.h:
+        * WebView.cpp:
+        (WebView::notifyPreferencesChanged):
+
</ins><span class="cx"> 2015-02-09  Brian J. Burg  &lt;burg@cs.washington.edu&gt;
</span><span class="cx"> 
</span><span class="cx">         Web Inspector: remove some unnecessary Inspector prefixes from class names in Inspector namespace
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKitwinInterfacesIWebPreferencesidl"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit/win/Interfaces/IWebPreferences.idl (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit/win/Interfaces/IWebPreferences.idl        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit/win/Interfaces/IWebPreferences.idl        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -59,6 +59,11 @@
</span><span class="cx">     WebCacheModelPrimaryWebBrowser = 2
</span><span class="cx"> } WebCacheModel;
</span><span class="cx"> 
</span><ins>+typedef enum WebKitJavaScriptRuntimeFlags {
+    WebKitJavaScriptRuntimeFlagsSymbolEnabled = 1,  // 1u &lt;&lt; 0
+    WebKitJavaScriptRuntimeFlagsAllEnabled = WebKitJavaScriptRuntimeFlagsSymbolEnabled
+} WebKitJavaScriptRuntimeFlags;
+
</ins><span class="cx"> [
</span><span class="cx">     object,
</span><span class="cx">     oleautomation,
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKitwinInterfacesIWebPreferencesPrivateidl"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit/win/Interfaces/IWebPreferencesPrivate.idl        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -113,6 +113,9 @@
</span><span class="cx">     HRESULT javaScriptCanAccessClipboard([out, retval] BOOL *enabled);
</span><span class="cx">     HRESULT setJavaScriptCanAccessClipboard([in] BOOL enabled);
</span><span class="cx"> 
</span><ins>+    HRESULT javaScriptRuntimeFlags([out, retval] unsigned* flags);
+    HRESULT setJavaScriptRuntimeFlags([in] unsigned flags);
+
</ins><span class="cx">     HRESULT isDNSPrefetchingEnabled([out, retval] BOOL *enabled);
</span><span class="cx">     HRESULT setDNSPrefetchingEnabled([in] BOOL enabled);
</span><span class="cx"> 
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKitwinWebPreferenceKeysPrivateh"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit/win/WebPreferenceKeysPrivate.h (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit/win/WebPreferenceKeysPrivate.h        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit/win/WebPreferenceKeysPrivate.h        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -48,6 +48,7 @@
</span><span class="cx"> #define WebKitTextAreasAreResizablePreferenceKey &quot;WebKitTextAreasAreResizable&quot;
</span><span class="cx"> #define WebKitJavaEnabledPreferenceKey &quot;WebKitJavaEnabled&quot;
</span><span class="cx"> #define WebKitJavaScriptEnabledPreferenceKey &quot;WebKitJavaScriptEnabled&quot;
</span><ins>+#define WebKitJavaScriptRuntimeFlagsPreferenceKey &quot;WebKitJavaScriptRuntimeFlags&quot;
</ins><span class="cx"> #define WebKitWebSecurityEnabledPreferenceKey &quot;WebKitWebSecurityEnabled&quot;
</span><span class="cx"> #define WebKitAllowUniversalAccessFromFileURLsPreferenceKey &quot;WebKitAllowUniversalAccessFromFileURLs&quot;
</span><span class="cx"> #define WebKitAllowFileAccessFromFileURLsPreferenceKey &quot;WebKitAllowFileAccessFromFileURLs&quot;
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKitwinWebPreferencescpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit/win/WebPreferences.cpp (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit/win/WebPreferences.cpp        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit/win/WebPreferences.cpp        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -215,6 +215,7 @@
</span><span class="cx">     CFDictionaryAddValue(defaults, CFSTR(WebKitTextAreasAreResizablePreferenceKey), kCFBooleanFalse);
</span><span class="cx">     CFDictionaryAddValue(defaults, CFSTR(WebKitJavaEnabledPreferenceKey), kCFBooleanTrue);
</span><span class="cx">     CFDictionaryAddValue(defaults, CFSTR(WebKitJavaScriptEnabledPreferenceKey), kCFBooleanTrue);
</span><ins>+    CFDictionaryAddValue(defaults, CFSTR(WebKitJavaScriptRuntimeFlagsPreferenceKey), CFSTR(&quot;0&quot;));
</ins><span class="cx">     CFDictionaryAddValue(defaults, CFSTR(WebKitWebSecurityEnabledPreferenceKey), kCFBooleanTrue);
</span><span class="cx">     CFDictionaryAddValue(defaults, CFSTR(WebKitAllowUniversalAccessFromFileURLsPreferenceKey), kCFBooleanFalse);
</span><span class="cx">     CFDictionaryAddValue(defaults, CFSTR(WebKitAllowFileAccessFromFileURLsPreferenceKey), kCFBooleanTrue);
</span><span class="lines">@@ -823,7 +824,21 @@
</span><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-HRESULT STDMETHODCALLTYPE WebPreferences::isWebSecurityEnabled( 
</del><ins>+HRESULT STDMETHODCALLTYPE WebPreferences::javaScriptRuntimeFlags(
+    /* [retval][out] */ unsigned* flags)
+{
+    *flags = static_cast&lt;unsigned&gt;(integerValueForKey(WebKitJavaScriptRuntimeFlagsPreferenceKey));
+    return S_OK;
+}
+
+HRESULT STDMETHODCALLTYPE WebPreferences::setJavaScriptRuntimeFlags(
+    /* [in] */ unsigned flags)
+{
+    setIntegerValue(WebKitJavaScriptRuntimeFlagsPreferenceKey, static_cast&lt;int&gt;(flags));
+    return S_OK;
+}
+
+HRESULT STDMETHODCALLTYPE WebPreferences::isWebSecurityEnabled(
</ins><span class="cx">     /* [retval][out] */ BOOL* enabled)
</span><span class="cx"> {
</span><span class="cx">     *enabled = boolValueForKey(WebKitWebSecurityEnabledPreferenceKey);
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKitwinWebPreferencesh"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit/win/WebPreferences.h (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit/win/WebPreferences.h        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit/win/WebPreferences.h        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -150,7 +150,13 @@
</span><span class="cx">     
</span><span class="cx">     virtual HRESULT STDMETHODCALLTYPE setJavaScriptEnabled( 
</span><span class="cx">         /* [in] */ BOOL enabled);
</span><del>-    
</del><ins>+
+    virtual HRESULT STDMETHODCALLTYPE javaScriptRuntimeFlags(
+        /* [retval][out] */ unsigned*);
+
+    virtual HRESULT STDMETHODCALLTYPE setJavaScriptRuntimeFlags(
+        /* [in] */ unsigned);
+
</ins><span class="cx">     virtual HRESULT STDMETHODCALLTYPE javaScriptCanOpenWindowsAutomatically( 
</span><span class="cx">         /* [retval][out] */ BOOL* enabled);
</span><span class="cx">     
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKitwinWebViewcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit/win/WebView.cpp (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit/win/WebView.cpp        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit/win/WebView.cpp        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -4759,6 +4759,7 @@
</span><span class="cx"> 
</span><span class="cx">     BString str;
</span><span class="cx">     int size;
</span><ins>+    unsigned javaScriptRuntimeFlags;
</ins><span class="cx">     BOOL enabled;
</span><span class="cx"> 
</span><span class="cx">     Settings&amp; settings = m_page-&gt;settings();
</span><span class="lines">@@ -5140,6 +5141,11 @@
</span><span class="cx">         return hr;
</span><span class="cx">     settings.setEnableInheritURIQueryComponent(enabled);
</span><span class="cx"> 
</span><ins>+    hr = prefsPrivate-&gt;javaScriptRuntimeFlags(&amp;javaScriptRuntimeFlags);
+    if (FAILED(hr))
+        return hr;
+    settings.setJavaScriptRuntimeFlags(JSC::RuntimeFlags(javaScriptRuntimeFlags));
+
</ins><span class="cx">     return S_OK;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit2/ChangeLog (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit2/ChangeLog        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit2/ChangeLog        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -1,3 +1,34 @@
</span><ins>+2015-02-24  Yusuke Suzuki  &lt;utatane.tea@gmail.com&gt;
+
+        REGRESSION(r179429): Can't type comments in Facebook
+        https://bugs.webkit.org/show_bug.cgi?id=141859
+
+        Reviewed by Brent Fulgham.
+
+        Enable SymbolEnabled in inspector context.
+
+        * Shared/WebPreferencesDefinitions.h:
+        * UIProcess/API/C/WKPreferences.cpp:
+        (WKPreferencesSetJavaScriptRuntimeFlags):
+        (WKPreferencesGetJavaScriptRuntimeFlags):
+        (WKPreferencesSetJavaScriptExperimentsEnabled): Deleted.
+        (WKPreferencesGetJavaScriptExperimentsEnabled): Deleted.
+        * UIProcess/API/C/WKPreferencesRef.h:
+        * UIProcess/API/C/WKPreferencesRefPrivate.h:
+        * UIProcess/API/Cocoa/WKPreferences.mm:
+        (-[WKPreferences _javaScriptRuntimeFlags]):
+        (-[WKPreferences _setJavaScriptRuntimeFlags:]):
+        * UIProcess/API/Cocoa/WKPreferencesPrivate.h:
+        * UIProcess/efl/WebInspectorProxyEfl.cpp:
+        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+        * UIProcess/gtk/WebInspectorProxyGtk.cpp:
+        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+        * UIProcess/mac/WebInspectorProxyMac.mm:
+        (WebKit::WebInspectorProxy::platformCreateInspectorPage):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::updatePreferences):
+        * mac/WebKit2.order:
+
</ins><span class="cx"> 2015-02-24  Michael Catanzaro  &lt;mcatanzaro@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Crash loading local file with WebPageProxy::loadAlternateHTMLString
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKit2SharedWebPreferencesDefinitionsh"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit2/Shared/WebPreferencesDefinitions.h (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit2/Shared/WebPreferencesDefinitions.h        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit2/Shared/WebPreferencesDefinitions.h        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -95,7 +95,6 @@
</span><span class="cx">     macro(DatabasesEnabled, databasesEnabled, Bool, bool, true) \
</span><span class="cx">     macro(XSSAuditorEnabled, xssAuditorEnabled, Bool, bool, true) \
</span><span class="cx">     macro(FrameFlatteningEnabled, frameFlatteningEnabled, Bool, bool, DEFAULT_FRAME_FLATTENING_ENABLED) \
</span><del>-    macro(JavaScriptExperimentsEnabled, javaScriptExperimentsEnabled, Bool, bool, false) \
</del><span class="cx">     macro(PrivateBrowsingEnabled, privateBrowsingEnabled, Bool, bool, false) \
</span><span class="cx">     macro(TextAreasAreResizable, textAreasAreResizable, Bool, bool, DEFAULT_TEXT_AREAS_ARE_RESIZABLE) \
</span><span class="cx">     macro(JavaScriptCanOpenWindowsAutomatically, javaScriptCanOpenWindowsAutomatically, Bool, bool, DEFAULT_JAVASCRIPT_CAN_OPEN_WINDOWS_AUTOMATICALLY) \
</span><span class="lines">@@ -217,6 +216,7 @@
</span><span class="cx">     macro(InspectorAttachedWidth, inspectorAttachedWidth, UInt32, uint32_t, 750) \
</span><span class="cx">     macro(InspectorAttachmentSide, inspectorAttachmentSide, UInt32, uint32_t, 0) \
</span><span class="cx">     macro(StorageBlockingPolicy, storageBlockingPolicy, UInt32, uint32_t, WebCore::SecurityOrigin::BlockThirdPartyStorage) \
</span><ins>+    macro(JavaScriptRuntimeFlags, javaScriptRuntimeFlags, UInt32, uint32_t, 0) \
</ins><span class="cx">     \
</span><span class="cx"> 
</span><span class="cx"> #define FOR_EACH_WEBKIT_DEBUG_BOOL_PREFERENCE(macro) \
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKit2UIProcessAPICWKPreferencescpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/C/WKPreferences.cpp        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -349,14 +349,14 @@
</span><span class="cx">     return toImpl(preferencesRef)-&gt;developerExtrasEnabled();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WKPreferencesSetJavaScriptExperimentsEnabled(WKPreferencesRef preferencesRef, bool enabled)
</del><ins>+void WKPreferencesSetJavaScriptRuntimeFlags(WKPreferencesRef preferencesRef, WKJavaScriptRuntimeFlagSet javaScriptRuntimeFlagSet)
</ins><span class="cx"> {
</span><del>-    toImpl(preferencesRef)-&gt;setJavaScriptExperimentsEnabled(enabled);
</del><ins>+    toImpl(preferencesRef)-&gt;setJavaScriptRuntimeFlags(javaScriptRuntimeFlagSet);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WKPreferencesGetJavaScriptExperimentsEnabled(WKPreferencesRef preferencesRef)
</del><ins>+WKJavaScriptRuntimeFlagSet WKPreferencesGetJavaScriptRuntimeFlags(WKPreferencesRef preferencesRef)
</ins><span class="cx"> {
</span><del>-    return toImpl(preferencesRef)-&gt;javaScriptExperimentsEnabled();
</del><ins>+    return toImpl(preferencesRef)-&gt;javaScriptRuntimeFlags();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> void WKPreferencesSetTextAreasAreResizable(WKPreferencesRef preferencesRef, bool resizable)
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKit2UIProcessAPICWKPreferencesRefh"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/C/WKPreferencesRef.h (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/C/WKPreferencesRef.h        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/C/WKPreferencesRef.h        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -150,10 +150,6 @@
</span><span class="cx"> WK_EXPORT void WKPreferencesSetDeveloperExtrasEnabled(WKPreferencesRef preferencesRef, bool enabled);
</span><span class="cx"> WK_EXPORT bool WKPreferencesGetDeveloperExtrasEnabled(WKPreferencesRef preferencesRef);
</span><span class="cx"> 
</span><del>-// Defaults to false.
-WK_EXPORT void WKPreferencesSetJavaScriptExperimentsEnabled(WKPreferencesRef preferencesRef, bool enabled);
-WK_EXPORT bool WKPreferencesGetJavaScriptExperimentsEnabled(WKPreferencesRef preferencesRef);
-
</del><span class="cx"> // Defaults to true.
</span><span class="cx"> WK_EXPORT void WKPreferencesSetTextAreasAreResizable(WKPreferencesRef preferencesRef, bool resizable);
</span><span class="cx"> WK_EXPORT bool WKPreferencesGetTextAreasAreResizable(WKPreferencesRef preferencesRef);
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKit2UIProcessAPICWKPreferencesRefPrivateh"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/C/WKPreferencesRefPrivate.h        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -49,6 +49,12 @@
</span><span class="cx"> };
</span><span class="cx"> typedef enum WKEditableLinkBehavior WKEditableLinkBehavior;
</span><span class="cx"> 
</span><ins>+enum WKJavaScriptRuntimeFlags {
+    kWKJavaScriptRuntimeFlagsSymbolEnabled = 1 &lt;&lt; 0,
+    kWKJavaScriptRuntimeFlagsAllEnabled = kWKJavaScriptRuntimeFlagsSymbolEnabled
+};
+typedef unsigned WKJavaScriptRuntimeFlagSet;
+
</ins><span class="cx"> // Creates a copy with no identifier.
</span><span class="cx"> WK_EXPORT WKPreferencesRef WKPreferencesCreateCopy(WKPreferencesRef);
</span><span class="cx"> 
</span><span class="lines">@@ -346,6 +352,10 @@
</span><span class="cx"> WK_EXPORT void WKPreferencesSetScreenFontSubstitutionEnabled(WKPreferencesRef preferences, bool enabled);
</span><span class="cx"> WK_EXPORT bool WKPreferencesGetScreenFontSubstitutionEnabled(WKPreferencesRef preferences);
</span><span class="cx"> 
</span><ins>+// Defaults to 0.
+WK_EXPORT void WKPreferencesSetJavaScriptRuntimeFlags(WKPreferencesRef preferences, WKJavaScriptRuntimeFlagSet javascriptRuntimeFlagSet);
+WK_EXPORT WKJavaScriptRuntimeFlagSet WKPreferencesGetJavaScriptRuntimeFlags(WKPreferencesRef preferences);
+
</ins><span class="cx"> #ifdef __cplusplus
</span><span class="cx"> }
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKit2UIProcessAPICocoaWKPreferencesmm"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/Cocoa/WKPreferences.mm        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -267,6 +267,16 @@
</span><span class="cx">     _preferences-&gt;setAllowFileAccessFromFileURLs(allowFileAccessFromFileURLs);
</span><span class="cx"> }
</span><span class="cx"> 
</span><ins>+- (_WKJavaScriptRuntimeFlags)_javaScriptRuntimeFlags
+{
+    return _preferences-&gt;javaScriptRuntimeFlags();
+}
+
+- (void)_setJavaScriptRuntimeFlags:(_WKJavaScriptRuntimeFlags)javaScriptRuntimeFlags
+{
+    _preferences-&gt;setJavaScriptRuntimeFlags(javaScriptRuntimeFlags);
+}
+
</ins><span class="cx"> - (BOOL)_isStandalone
</span><span class="cx"> {
</span><span class="cx">     return _preferences-&gt;standalone();
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKit2UIProcessAPICocoaWKPreferencesPrivateh"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/API/Cocoa/WKPreferencesPrivate.h        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -42,6 +42,11 @@
</span><span class="cx">     _WKWheelEventHandlerRegion = 1 &lt;&lt; 1
</span><span class="cx"> } WK_ENUM_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
</span><span class="cx"> 
</span><ins>+typedef NS_OPTIONS(NSUInteger, _WKJavaScriptRuntimeFlags) {
+    _WKJavaScriptRuntimeFlagsSymbolEnabled = 1 &lt;&lt; 0,
+    _WKJavaScriptRuntimeFlagsAllEnabled = _WKJavaScriptRuntimeFlagsSymbolEnabled
+} WK_ENUM_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
+
</ins><span class="cx"> @interface WKPreferences (WKPrivate)
</span><span class="cx"> 
</span><span class="cx"> // FIXME: This property should not have the verb &quot;is&quot; in it.
</span><span class="lines">@@ -59,6 +64,7 @@
</span><span class="cx"> @property (nonatomic, setter=_setLogsPageMessagesToSystemConsoleEnabled:) BOOL _logsPageMessagesToSystemConsoleEnabled WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
</span><span class="cx"> 
</span><span class="cx"> @property (nonatomic, setter=_setAllowFileAccessFromFileURLs:) BOOL _allowFileAccessFromFileURLs WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
</span><ins>+@property (nonatomic, setter=_setJavaScriptRuntimeFlags:) _WKJavaScriptRuntimeFlags _javaScriptRuntimeFlags WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
</ins><span class="cx"> 
</span><span class="cx"> @property (nonatomic, setter=_setStandalone:, getter=_isStandalone) BOOL _standalone WK_AVAILABLE(WK_MAC_TBA, WK_IOS_TBA);
</span><span class="cx"> 
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKit2UIProcesseflWebInspectorProxyEflcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/efl/WebInspectorProxyEfl.cpp        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -114,6 +114,7 @@
</span><span class="cx"> 
</span><span class="cx">     WKPreferencesRef wkPreferences = WKPageGroupGetPreferences(wkPageGroup);
</span><span class="cx">     WKPreferencesSetFileAccessFromFileURLsAllowed(wkPreferences, true);
</span><ins>+    WKPreferencesSetJavaScriptRuntimeFlags(wkPreferences, kWKJavaScriptRuntimeFlagsSymbolEnabled);
</ins><span class="cx"> 
</span><span class="cx">     return toImpl(WKViewGetPage(wkView));
</span><span class="cx"> }
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKit2UIProcessgtkWebInspectorProxyGtkcpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/gtk/WebInspectorProxyGtk.cpp (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/gtk/WebInspectorProxyGtk.cpp        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/gtk/WebInspectorProxyGtk.cpp        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -69,6 +69,9 @@
</span><span class="cx">     preferences-&gt;setLogsPageMessagesToSystemConsoleEnabled(true);
</span><span class="cx"> #endif
</span><span class="cx">     preferences-&gt;setAllowFileAccessFromFileURLs(true);
</span><ins>+    preferences-&gt;setJavaScriptRuntimeFlags({
+        JSC::RuntimeFlags::SymbolEnabled
+    });
</ins><span class="cx">     RefPtr&lt;WebPageGroup&gt; pageGroup = WebPageGroup::create(inspectorPageGroupIdentifier(), false, false);
</span><span class="cx">     m_inspectorView = GTK_WIDGET(webkitWebViewBaseCreate(&amp;inspectorProcessPool(), preferences.get(), pageGroup.get(), nullptr, nullptr));
</span><span class="cx">     g_object_add_weak_pointer(G_OBJECT(m_inspectorView), reinterpret_cast&lt;void**&gt;(&amp;m_inspectorView));
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKit2UIProcessmacWebInspectorProxyMacmm"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit2/UIProcess/mac/WebInspectorProxyMac.mm        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -488,6 +488,7 @@
</span><span class="cx">     preferences._logsPageMessagesToSystemConsoleEnabled = YES;
</span><span class="cx"> #endif
</span><span class="cx">     preferences._allowFileAccessFromFileURLs = YES;
</span><ins>+    preferences._javaScriptRuntimeFlags = _WKJavaScriptRuntimeFlagsSymbolEnabled;
</ins><span class="cx">     [configuration setProcessPool: ::WebKit::wrapper(inspectorProcessPool())];
</span><span class="cx">     [configuration _setGroupIdentifier:inspectorPageGroupIdentifier()];
</span><span class="cx"> 
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKit2WebProcessWebPageWebPagecpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit2/WebProcess/WebPage/WebPage.cpp        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -2721,7 +2721,7 @@
</span><span class="cx">     else if (!store.getBoolValueForKey(WebPreferencesKey::privateBrowsingEnabledKey()) &amp;&amp; sessionID() == SessionID::legacyPrivateSessionID())
</span><span class="cx">         setSessionID(SessionID::defaultSessionID());
</span><span class="cx">     settings.setDeveloperExtrasEnabled(store.getBoolValueForKey(WebPreferencesKey::developerExtrasEnabledKey()));
</span><del>-    settings.setJavaScriptExperimentsEnabled(store.getBoolValueForKey(WebPreferencesKey::javaScriptExperimentsEnabledKey()));
</del><ins>+    settings.setJavaScriptRuntimeFlags(RuntimeFlags(store.getUInt32ValueForKey(WebPreferencesKey::javaScriptRuntimeFlagsKey())));
</ins><span class="cx">     settings.setTextAreasAreResizable(store.getBoolValueForKey(WebPreferencesKey::textAreasAreResizableKey()));
</span><span class="cx">     settings.setNeedsSiteSpecificQuirks(store.getBoolValueForKey(WebPreferencesKey::needsSiteSpecificQuirksKey()));
</span><span class="cx">     settings.setJavaScriptCanOpenWindowsAutomatically(store.getBoolValueForKey(WebPreferencesKey::javaScriptCanOpenWindowsAutomaticallyKey()));
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28SourceWebKit2macWebKit2order"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Source/WebKit2/mac/WebKit2.order (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Source/WebKit2/mac/WebKit2.order        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Source/WebKit2/mac/WebKit2.order        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -176,7 +176,6 @@
</span><span class="cx"> __ZN6WebKit17WebPreferencesKey20xssAuditorEnabledKeyEv
</span><span class="cx"> __ZN6WebKit17WebPreferencesKey25frameFlatteningEnabledKeyEv
</span><span class="cx"> __ZN6WebKit17WebPreferencesKey25developerExtrasEnabledKeyEv
</span><del>-__ZN6WebKit17WebPreferencesKey31javaScriptExperimentsEnabledKeyEv
</del><span class="cx"> __ZN6WebKit17WebPreferencesKey25privateBrowsingEnabledKeyEv
</span><span class="cx"> __ZN6WebKit17WebPreferencesKey24textAreasAreResizableKeyEv
</span><span class="cx"> __ZN6WebKit17WebPreferencesKey40javaScriptCanOpenWindowsAutomaticallyKeyEv
</span><span class="lines">@@ -8129,8 +8128,6 @@
</span><span class="cx"> __ZN6WebKit14WebPreferences20setXSSAuditorEnabledERKb
</span><span class="cx"> _WKPreferencesSetWebAudioEnabled
</span><span class="cx"> __ZN6WebKit14WebPreferences18setWebAudioEnabledERKb
</span><del>-_WKPreferencesSetJavaScriptExperimentsEnabled
-__ZN6WebKit14WebPreferences31setJavaScriptExperimentsEnabledERKb
</del><span class="cx"> _WKPreferencesSetJavaScriptCanAccessClipboard
</span><span class="cx"> __ZN6WebKit14WebPreferences31setJavaScriptCanAccessClipboardERKb
</span><span class="cx"> _WKPreferencesSetDOMPasteAllowed
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28ToolsChangeLog"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Tools/ChangeLog (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Tools/ChangeLog        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Tools/ChangeLog        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -1,3 +1,19 @@
</span><ins>+2015-02-24  Yusuke Suzuki  &lt;utatane.tea@gmail.com&gt;
+
+        REGRESSION(r179429): Can't type comments in Facebook
+        https://bugs.webkit.org/show_bug.cgi?id=141859
+
+        Reviewed by Brent Fulgham.
+
+        Drop javaScriptExperimentsEnabled and specify JavaScriptRuntimeFlagsAllEnabled as KJavaScriptRuntimeFlags.
+
+        * DumpRenderTree/mac/DumpRenderTree.mm:
+        (resetWebPreferencesToConsistentValues):
+        * DumpRenderTree/win/DumpRenderTree.cpp:
+        (resetWebPreferencesToConsistentValues):
+        * WebKitTestRunner/TestController.cpp:
+        (WTR::TestController::resetPreferencesToConsistentValues):
+
</ins><span class="cx"> 2015-02-24  Michael Catanzaro  &lt;mcatanzaro@igalia.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Crash loading local file with WebPageProxy::loadAlternateHTMLString
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28ToolsDumpRenderTreemacDumpRenderTreemm"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Tools/DumpRenderTree/mac/DumpRenderTree.mm (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Tools/DumpRenderTree/mac/DumpRenderTree.mm        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Tools/DumpRenderTree/mac/DumpRenderTree.mm        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -839,7 +839,7 @@
</span><span class="cx">     [preferences setJavaScriptCanAccessClipboard:YES];
</span><span class="cx">     [preferences setOfflineWebApplicationCacheEnabled:YES];
</span><span class="cx">     [preferences setDeveloperExtrasEnabled:NO];
</span><del>-    [preferences setJavaScriptExperimentsEnabled:YES];
</del><ins>+    [preferences setJavaScriptRuntimeFlags:WebKitJavaScriptRuntimeFlagsAllEnabled];
</ins><span class="cx">     [preferences setLoadsImagesAutomatically:YES];
</span><span class="cx">     [preferences setLoadsSiteIconsIgnoringImageLoadingPreference:NO];
</span><span class="cx">     [preferences setFrameFlatteningEnabled:NO];
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28ToolsDumpRenderTreewinDumpRenderTreecpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Tools/DumpRenderTree/win/DumpRenderTree.cpp (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Tools/DumpRenderTree/win/DumpRenderTree.cpp        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Tools/DumpRenderTree/win/DumpRenderTree.cpp        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -816,6 +816,7 @@
</span><span class="cx">     prefsPrivate-&gt;setJavaScriptCanAccessClipboard(TRUE);
</span><span class="cx">     prefsPrivate-&gt;setOfflineWebApplicationCacheEnabled(TRUE);
</span><span class="cx">     prefsPrivate-&gt;setDeveloperExtrasEnabled(FALSE);
</span><ins>+    prefsPrivate-&gt;setJavaScriptRuntimeFlags(WebKitJavaScriptRuntimeFlagsAllEnabled);
</ins><span class="cx">     // Set JS experiments enabled: YES
</span><span class="cx">     preferences-&gt;setLoadsImagesAutomatically(TRUE);
</span><span class="cx">     prefsPrivate-&gt;setLoadsSiteIconsIgnoringImageLoadingPreference(FALSE);
</span></span></pre></div>
<a id="releasesWebKitGTKwebkit28ToolsWebKitTestRunnerTestControllercpp"></a>
<div class="modfile"><h4>Modified: releases/WebKitGTK/webkit-2.8/Tools/WebKitTestRunner/TestController.cpp (180827 => 180828)</h4>
<pre class="diff"><span>
<span class="info">--- releases/WebKitGTK/webkit-2.8/Tools/WebKitTestRunner/TestController.cpp        2015-02-28 11:05:40 UTC (rev 180827)
+++ releases/WebKitGTK/webkit-2.8/Tools/WebKitTestRunner/TestController.cpp        2015-02-28 11:29:06 UTC (rev 180828)
</span><span class="lines">@@ -549,7 +549,7 @@
</span><span class="cx">     WKPreferencesSetWebAudioEnabled(preferences, true);
</span><span class="cx">     WKPreferencesSetMediaStreamEnabled(preferences, true);
</span><span class="cx">     WKPreferencesSetDeveloperExtrasEnabled(preferences, true);
</span><del>-    WKPreferencesSetJavaScriptExperimentsEnabled(preferences, true);
</del><ins>+    WKPreferencesSetJavaScriptRuntimeFlags(preferences, kWKJavaScriptRuntimeFlagsAllEnabled);
</ins><span class="cx">     WKPreferencesSetJavaScriptCanOpenWindowsAutomatically(preferences, true);
</span><span class="cx">     WKPreferencesSetJavaScriptCanAccessClipboard(preferences, true);
</span><span class="cx">     WKPreferencesSetDOMPasteAllowed(preferences, true);
</span></span></pre>
</div>
</div>

</body>
</html>