<!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>[177699] trunk/Source/WebKit2</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/177699">177699</a></dd>
<dt>Author</dt> <dd>weinig@apple.com</dd>
<dt>Date</dt> <dd>2014-12-23 15:07:40 -0800 (Tue, 23 Dec 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Rename ImmutableDictionary to API::Dictionary and merge MutableDictionary into it
https://bugs.webkit.org/show_bug.cgi?id=139917

Reviewed by Anders Carlsson.

- Renames ImmutableDictionary -&gt; API::Dictionary
- Merges MutableDictionary into the new API::Dictionary
    (as a result WKDictionaryIsMutable() now always returns true)

* File list elided *</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2SharedAPICocoaWKRemoteObjectCoderh">trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectCoder.h</a></li>
<li><a href="#trunkSourceWebKit2SharedAPICocoaWKRemoteObjectCodermm">trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectCoder.mm</a></li>
<li><a href="#trunkSourceWebKit2SharedAPICocoa_WKRemoteObjectRegistrymm">trunk/Source/WebKit2/Shared/API/Cocoa/_WKRemoteObjectRegistry.mm</a></li>
<li><a href="#trunkSourceWebKit2SharedAPIcWKDeprecatedFunctionscpp">trunk/Source/WebKit2/Shared/API/c/WKDeprecatedFunctions.cpp</a></li>
<li><a href="#trunkSourceWebKit2SharedAPIcWKDictionarycpp">trunk/Source/WebKit2/Shared/API/c/WKDictionary.cpp</a></li>
<li><a href="#trunkSourceWebKit2SharedAPIcWKMutableDictionarycpp">trunk/Source/WebKit2/Shared/API/c/WKMutableDictionary.cpp</a></li>
<li><a href="#trunkSourceWebKit2SharedAPIcWKSharedAPICasth">trunk/Source/WebKit2/Shared/API/c/WKSharedAPICast.h</a></li>
<li><a href="#trunkSourceWebKit2SharedCocoaWKNSDictionaryh">trunk/Source/WebKit2/Shared/Cocoa/WKNSDictionary.h</a></li>
<li><a href="#trunkSourceWebKit2SharedCocoaWKNSDictionarymm">trunk/Source/WebKit2/Shared/Cocoa/WKNSDictionary.mm</a></li>
<li><a href="#trunkSourceWebKit2SharedPluginsNetscapePluginInformationcpp">trunk/Source/WebKit2/Shared/Plugins/Netscape/PluginInformation.cpp</a></li>
<li><a href="#trunkSourceWebKit2SharedPluginsNetscapePluginInformationh">trunk/Source/WebKit2/Shared/Plugins/Netscape/PluginInformation.h</a></li>
<li><a href="#trunkSourceWebKit2SharedPluginsNetscapemacPluginInformationMacmm">trunk/Source/WebKit2/Shared/Plugins/Netscape/mac/PluginInformationMac.mm</a></li>
<li><a href="#trunkSourceWebKit2SharedUserDatacpp">trunk/Source/WebKit2/Shared/UserData.cpp</a></li>
<li><a href="#trunkSourceWebKit2SharedUserMessageCodersh">trunk/Source/WebKit2/Shared/UserMessageCoders.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPIAPILoaderClienth">trunk/Source/WebKit2/UIProcess/API/APILoaderClient.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPIAPIUIClienth">trunk/Source/WebKit2/UIProcess/API/APIUIClient.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKPagecpp">trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICmacWKContextPrivateMacmm">trunk/Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessNotificationsWebNotificationManagerProxycpp">trunk/Source/WebKit2/UIProcess/Notifications/WebNotificationManagerProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessNotificationsWebNotificationProvidercpp">trunk/Source/WebKit2/UIProcess/Notifications/WebNotificationProvider.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessNotificationsWebNotificationProviderh">trunk/Source/WebKit2/UIProcess/Notifications/WebNotificationProvider.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessPluginsPlugInAutoStartProvidercpp">trunk/Source/WebKit2/UIProcess/Plugins/PlugInAutoStartProvider.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessPluginsPlugInAutoStartProviderh">trunk/Source/WebKit2/UIProcess/Plugins/PlugInAutoStartProvider.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessStatisticsRequestcpp">trunk/Source/WebKit2/UIProcess/StatisticsRequest.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessStatisticsRequesth">trunk/Source/WebKit2/UIProcess/StatisticsRequest.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebDatabaseManagerProxycpp">trunk/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebFormClientcpp">trunk/Source/WebKit2/UIProcess/WebFormClient.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebKeyValueStorageManagercpp">trunk/Source/WebKit2/UIProcess/WebKeyValueStorageManager.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebPageProxycpp">trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebProcessPoolcpp">trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebProcessPoolh">trunk/Source/WebKit2/UIProcess/WebProcessPool.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessWebResourceCacheManagerProxycpp">trunk/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp</a></li>
<li><a href="#trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj">trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleInjectedBundlePageFormClientcpp">trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp</a></li>
</ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2SharedAPIAPIDictionarycpp">trunk/Source/WebKit2/Shared/API/APIDictionary.cpp</a></li>
<li><a href="#trunkSourceWebKit2SharedAPIAPIDictionaryh">trunk/Source/WebKit2/Shared/API/APIDictionary.h</a></li>
</ul>

<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2SharedImmutableDictionarycpp">trunk/Source/WebKit2/Shared/ImmutableDictionary.cpp</a></li>
<li><a href="#trunkSourceWebKit2SharedImmutableDictionaryh">trunk/Source/WebKit2/Shared/ImmutableDictionary.h</a></li>
<li><a href="#trunkSourceWebKit2SharedMutableDictionarycpp">trunk/Source/WebKit2/Shared/MutableDictionary.cpp</a></li>
<li><a href="#trunkSourceWebKit2SharedMutableDictionaryh">trunk/Source/WebKit2/Shared/MutableDictionary.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/ChangeLog        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2014-12-23  Sam Weinig  &lt;sam@webkit.org&gt;
+
+        Rename ImmutableDictionary to API::Dictionary and merge MutableDictionary into it
+        https://bugs.webkit.org/show_bug.cgi?id=139917
+
+        Reviewed by Anders Carlsson.
+
+        - Renames ImmutableDictionary -&gt; API::Dictionary
+        - Merges MutableDictionary into the new API::Dictionary
+            (as a result WKDictionaryIsMutable() now always returns true)
+
+        * File list elided *
+
</ins><span class="cx"> 2014-12-23  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Add WebProcess::transformObjectsToHandles
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedAPIAPIDictionarycppfromrev177692trunkSourceWebKit2SharedImmutableDictionarycpp"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/Shared/API/APIDictionary.cpp (from rev 177692, trunk/Source/WebKit2/Shared/ImmutableDictionary.cpp) (0 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/API/APIDictionary.cpp                                (rev 0)
+++ trunk/Source/WebKit2/Shared/API/APIDictionary.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -0,0 +1,84 @@
</span><ins>+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY 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.
+ */
+
+#include &quot;config.h&quot;
+#include &quot;APIDictionary.h&quot;
+
+#include &quot;APIArray.h&quot;
+#include &quot;APIString.h&quot;
+
+namespace API {
+
+RefPtr&lt;Dictionary&gt; Dictionary::create()
+{
+    return create({ });
+}
+
+RefPtr&lt;Dictionary&gt; Dictionary::create(MapType map)
+{
+    return adoptRef(new Dictionary(WTF::move(map)));
+}
+
+Dictionary::Dictionary(MapType map)
+    : m_map(WTF::move(map))
+{
+}
+
+Dictionary::~Dictionary()
+{
+}
+
+PassRefPtr&lt;Array&gt; Dictionary::keys() const
+{
+    if (m_map.isEmpty())
+        return API::Array::create();
+
+    Vector&lt;RefPtr&lt;API::Object&gt;&gt; keys;
+    keys.reserveInitialCapacity(m_map.size());
+
+    for (const auto&amp; key : m_map.keys())
+        keys.uncheckedAppend(API::String::create(key));
+
+    return API::Array::create(WTF::move(keys));
+}
+
+bool Dictionary::add(const WTF::String&amp; key, PassRefPtr&lt;API::Object&gt; item)
+{
+    MapType::AddResult result = m_map.add(key, item);
+    return result.isNewEntry;
+}
+
+bool Dictionary::set(const WTF::String&amp; key, PassRefPtr&lt;API::Object&gt; item)
+{
+    MapType::AddResult result = m_map.set(key, item);
+    return result.isNewEntry;
+}
+
+void Dictionary::remove(const WTF::String&amp; key)
+{
+    m_map.remove(key);
+}
+
+} // namespace API
</ins></span></pre></div>
<a id="trunkSourceWebKit2SharedAPIAPIDictionaryhfromrev177692trunkSourceWebKit2SharedImmutableDictionaryh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/Shared/API/APIDictionary.h (from rev 177692, trunk/Source/WebKit2/Shared/ImmutableDictionary.h) (0 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/API/APIDictionary.h                                (rev 0)
+++ trunk/Source/WebKit2/Shared/API/APIDictionary.h        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -0,0 +1,91 @@
</span><ins>+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY 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 APIDictionary_h
+#define APIDictionary_h
+
+#include &quot;APIObject.h&quot;
+#include &lt;wtf/HashMap.h&gt;
+#include &lt;wtf/PassRefPtr.h&gt;
+#include &lt;wtf/text/StringHash.h&gt;
+#include &lt;wtf/text/WTFString.h&gt;
+
+namespace API {
+
+class Array;
+
+class Dictionary final : public ObjectImpl&lt;Object::Type::Dictionary&gt; {
+public:
+    typedef HashMap&lt;WTF::String, RefPtr&lt;Object&gt;&gt; MapType;
+
+    static RefPtr&lt;Dictionary&gt; create();
+    static RefPtr&lt;Dictionary&gt; create(MapType);
+
+    virtual ~Dictionary();
+
+    template&lt;typename T&gt;
+    T* get(const WTF::String&amp; key) const
+    {
+        RefPtr&lt;Object&gt; item = m_map.get(key);
+        if (!item)
+            return 0;
+
+        if (item-&gt;type() != T::APIType)
+            return 0;
+
+        return static_cast&lt;T*&gt;(item.get());
+    }
+
+    Object* get(const WTF::String&amp; key) const
+    {
+        return m_map.get(key);
+    }
+
+    Object* get(const WTF::String&amp; key, bool&amp; exists) const
+    {
+        auto it = m_map.find(key);
+        exists = it != m_map.end();
+        return it-&gt;value.get();
+    }
+
+    PassRefPtr&lt;Array&gt; keys() const;
+
+    bool add(const WTF::String&amp; key, PassRefPtr&lt;Object&gt;);
+    bool set(const WTF::String&amp; key, PassRefPtr&lt;Object&gt;);
+    void remove(const WTF::String&amp; key);
+
+    size_t size() const { return m_map.size(); }
+
+    const MapType&amp; map() const { return m_map; }
+
+protected:
+    explicit Dictionary(MapType);
+
+    MapType m_map;
+};
+
+} // namespace API
+
+#endif // APIDictionary_h
</ins></span></pre></div>
<a id="trunkSourceWebKit2SharedAPICocoaWKRemoteObjectCoderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectCoder.h (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectCoder.h        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectCoder.h        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -27,21 +27,21 @@
</span><span class="cx"> 
</span><span class="cx"> #if WK_API_ENABLED
</span><span class="cx"> 
</span><del>-namespace WebKit {
-class ImmutableDictionary;
</del><ins>+namespace API {
+class Dictionary;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> @class _WKRemoteObjectInterface;
</span><span class="cx"> 
</span><span class="cx"> @interface WKRemoteObjectEncoder : NSCoder
</span><span class="cx"> 
</span><del>-- (WebKit::ImmutableDictionary*)rootObjectDictionary;
</del><ins>+- (API::Dictionary*)rootObjectDictionary;
</ins><span class="cx"> 
</span><span class="cx"> @end
</span><span class="cx"> 
</span><span class="cx"> @interface WKRemoteObjectDecoder : NSCoder
</span><span class="cx"> 
</span><del>-- (id)initWithInterface:(_WKRemoteObjectInterface *)interface rootObjectDictionary:(const WebKit::ImmutableDictionary*)rootObjectDictionary;
</del><ins>+- (id)initWithInterface:(_WKRemoteObjectInterface *)interface rootObjectDictionary:(const API::Dictionary*)rootObjectDictionary;
</ins><span class="cx"> 
</span><span class="cx"> @end
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedAPICocoaWKRemoteObjectCodermm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectCoder.mm (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectCoder.mm        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectCoder.mm        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -30,9 +30,9 @@
</span><span class="cx"> 
</span><span class="cx"> #import &quot;APIArray.h&quot;
</span><span class="cx"> #import &quot;APIData.h&quot;
</span><ins>+#import &quot;APIDictionary.h&quot;
</ins><span class="cx"> #import &quot;APINumber.h&quot;
</span><span class="cx"> #import &quot;APIString.h&quot;
</span><del>-#import &quot;MutableDictionary.h&quot;
</del><span class="cx"> #import &quot;_WKRemoteObjectInterfaceInternal.h&quot;
</span><span class="cx"> #import &lt;objc/runtime.h&gt;
</span><span class="cx"> #import &lt;wtf/RetainPtr.h&gt;
</span><span class="lines">@@ -45,10 +45,8 @@
</span><span class="cx"> static NSString * const selectorKey = @&quot;selector&quot;;
</span><span class="cx"> static NSString * const typeStringKey = @&quot;typeString&quot;;
</span><span class="cx"> 
</span><del>-using namespace WebKit;
</del><ins>+static PassRefPtr&lt;API::Dictionary&gt; createEncodedObject(WKRemoteObjectEncoder *, id);
</ins><span class="cx"> 
</span><del>-static PassRefPtr&lt;ImmutableDictionary&gt; createEncodedObject(WKRemoteObjectEncoder *, id);
-
</del><span class="cx"> @interface NSMethodSignature (Details)
</span><span class="cx"> - (NSString *)_typeString;
</span><span class="cx"> @end
</span><span class="lines">@@ -58,10 +56,10 @@
</span><span class="cx"> @end
</span><span class="cx"> 
</span><span class="cx"> @implementation WKRemoteObjectEncoder {
</span><del>-    RefPtr&lt;MutableDictionary&gt; _rootDictionary;
</del><ins>+    RefPtr&lt;API::Dictionary&gt; _rootDictionary;
</ins><span class="cx">     API::Array* _objectStream;
</span><span class="cx"> 
</span><del>-    MutableDictionary* _currentDictionary;
</del><ins>+    API::Dictionary* _currentDictionary;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (id)init
</span><span class="lines">@@ -69,7 +67,7 @@
</span><span class="cx">     if (!(self = [super init]))
</span><span class="cx">         return nil;
</span><span class="cx"> 
</span><del>-    _rootDictionary = MutableDictionary::create();
</del><ins>+    _rootDictionary = API::Dictionary::create();
</ins><span class="cx">     _currentDictionary = _rootDictionary.get();
</span><span class="cx"> 
</span><span class="cx">     return self;
</span><span class="lines">@@ -84,7 +82,7 @@
</span><span class="cx"> }
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-- (ImmutableDictionary*)rootObjectDictionary
</del><ins>+- (API::Dictionary*)rootObjectDictionary
</ins><span class="cx"> {
</span><span class="cx">     return _rootDictionary.get();
</span><span class="cx"> }
</span><span class="lines">@@ -107,7 +105,7 @@
</span><span class="cx">     size_t position = encoder-&gt;_objectStream-&gt;size();
</span><span class="cx">     encoder-&gt;_objectStream-&gt;elements().append(nullptr);
</span><span class="cx"> 
</span><del>-    RefPtr&lt;ImmutableDictionary&gt; encodedObject = createEncodedObject(encoder, value);
</del><ins>+    RefPtr&lt;API::Dictionary&gt; encodedObject = createEncodedObject(encoder, value);
</ins><span class="cx">     ASSERT(!encoder-&gt;_objectStream-&gt;elements()[position]);
</span><span class="cx">     encoder-&gt;_objectStream-&gt;elements()[position] = encodedObject.release();
</span><span class="cx"> }
</span><span class="lines">@@ -240,13 +238,13 @@
</span><span class="cx">     [object encodeWithCoder:encoder];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;ImmutableDictionary&gt; createEncodedObject(WKRemoteObjectEncoder *encoder, id object)
</del><ins>+static PassRefPtr&lt;API::Dictionary&gt; createEncodedObject(WKRemoteObjectEncoder *encoder, id object)
</ins><span class="cx"> {
</span><span class="cx">     if (!object)
</span><span class="cx">         return nil;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;MutableDictionary&gt; dictionary = MutableDictionary::create();
-    TemporaryChange&lt;MutableDictionary*&gt; dictionaryChange(encoder-&gt;_currentDictionary, dictionary.get());
</del><ins>+    RefPtr&lt;API::Dictionary&gt; dictionary = API::Dictionary::create();
+    TemporaryChange&lt;API::Dictionary*&gt; dictionaryChange(encoder-&gt;_currentDictionary, dictionary.get());
</ins><span class="cx"> 
</span><span class="cx">     encodeObject(encoder, object);
</span><span class="cx"> 
</span><span class="lines">@@ -329,8 +327,8 @@
</span><span class="cx"> @implementation WKRemoteObjectDecoder {
</span><span class="cx">     RetainPtr&lt;_WKRemoteObjectInterface&gt; _interface;
</span><span class="cx"> 
</span><del>-    const ImmutableDictionary* _rootDictionary;
-    const ImmutableDictionary* _currentDictionary;
</del><ins>+    const API::Dictionary* _rootDictionary;
+    const API::Dictionary* _currentDictionary;
</ins><span class="cx"> 
</span><span class="cx">     const API::Array* _objectStream;
</span><span class="cx">     size_t _objectStreamPosition;
</span><span class="lines">@@ -338,7 +336,7 @@
</span><span class="cx">     NSSet *_allowedClasses;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (id)initWithInterface:(_WKRemoteObjectInterface *)interface rootObjectDictionary:(const WebKit::ImmutableDictionary*)rootObjectDictionary
</del><ins>+- (id)initWithInterface:(_WKRemoteObjectInterface *)interface rootObjectDictionary:(const API::Dictionary*)rootObjectDictionary
</ins><span class="cx"> {
</span><span class="cx">     if (!(self = [super init]))
</span><span class="cx">         return nil;
</span><span class="lines">@@ -381,7 +379,7 @@
</span><span class="cx">     return [self decodeObjectOfClasses:nil forKey:key];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static id decodeObject(WKRemoteObjectDecoder *, const ImmutableDictionary*, NSSet *allowedClasses);
</del><ins>+static id decodeObject(WKRemoteObjectDecoder *, const API::Dictionary*, NSSet *allowedClasses);
</ins><span class="cx"> 
</span><span class="cx"> static id decodeObjectFromObjectStream(WKRemoteObjectDecoder *decoder, NSSet *allowedClasses)
</span><span class="cx"> {
</span><span class="lines">@@ -391,7 +389,7 @@
</span><span class="cx">     if (decoder-&gt;_objectStreamPosition == decoder-&gt;_objectStream-&gt;size())
</span><span class="cx">         return nil;
</span><span class="cx"> 
</span><del>-    const ImmutableDictionary* dictionary = decoder-&gt;_objectStream-&gt;at&lt;ImmutableDictionary&gt;(decoder-&gt;_objectStreamPosition++);
</del><ins>+    const API::Dictionary* dictionary = decoder-&gt;_objectStream-&gt;at&lt;API::Dictionary&gt;(decoder-&gt;_objectStreamPosition++);
</ins><span class="cx"> 
</span><span class="cx">     return decodeObject(decoder, dictionary, allowedClasses);
</span><span class="cx"> }
</span><span class="lines">@@ -570,12 +568,12 @@
</span><span class="cx">     return [result autorelease];
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static id decodeObject(WKRemoteObjectDecoder *decoder, const ImmutableDictionary* dictionary, NSSet *allowedClasses)
</del><ins>+static id decodeObject(WKRemoteObjectDecoder *decoder, const API::Dictionary* dictionary, NSSet *allowedClasses)
</ins><span class="cx"> {
</span><span class="cx">     if (!dictionary)
</span><span class="cx">         return nil;
</span><span class="cx"> 
</span><del>-    TemporaryChange&lt;const ImmutableDictionary*&gt; dictionaryChange(decoder-&gt;_currentDictionary, dictionary);
</del><ins>+    TemporaryChange&lt;const API::Dictionary*&gt; dictionaryChange(decoder-&gt;_currentDictionary, dictionary);
</ins><span class="cx"> 
</span><span class="cx">     // If no allowed classes were listed, just use the currently allowed classes.
</span><span class="cx">     if (!allowedClasses)
</span><span class="lines">@@ -641,7 +639,7 @@
</span><span class="cx"> 
</span><span class="cx"> - (id)decodeObjectOfClasses:(NSSet *)classes forKey:(NSString *)key
</span><span class="cx"> {
</span><del>-    return decodeObject(self, _currentDictionary-&gt;get&lt;ImmutableDictionary&gt;(escapeKey(key)), classes);
</del><ins>+    return decodeObject(self, _currentDictionary-&gt;get&lt;API::Dictionary&gt;(escapeKey(key)), classes);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (NSSet *)allowedClasses
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedAPICocoa_WKRemoteObjectRegistrymm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/API/Cocoa/_WKRemoteObjectRegistry.mm (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/API/Cocoa/_WKRemoteObjectRegistry.mm        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/Shared/API/Cocoa/_WKRemoteObjectRegistry.mm        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -28,9 +28,8 @@
</span><span class="cx"> 
</span><span class="cx"> #if WK_API_ENABLED
</span><span class="cx"> 
</span><ins>+#import &quot;APIDictionary.h&quot;
</ins><span class="cx"> #import &quot;Connection.h&quot;
</span><del>-#import &quot;ImmutableDictionary.h&quot;
-#import &quot;MutableDictionary.h&quot;
</del><span class="cx"> #import &quot;RemoteObjectRegistry.h&quot;
</span><span class="cx"> #import &quot;UserData.h&quot;
</span><span class="cx"> #import &quot;WKConnectionRef.h&quot;
</span><span class="lines">@@ -103,7 +102,7 @@
</span><span class="cx">     RetainPtr&lt;WKRemoteObjectEncoder&gt; encoder = adoptNS([[WKRemoteObjectEncoder alloc] init]);
</span><span class="cx">     [encoder encodeObject:invocation forKey:invocationKey];
</span><span class="cx"> 
</span><del>-    RefPtr&lt;MutableDictionary&gt; body = MutableDictionary::create();
</del><ins>+    RefPtr&lt;API::Dictionary&gt; body = API::Dictionary::create();
</ins><span class="cx">     body-&gt;set(interfaceIdentifierKey, API::String::create(interface.identifier));
</span><span class="cx">     body-&gt;set(encodedInvocationKey, [encoder rootObjectDictionary]);
</span><span class="cx"> 
</span><span class="lines">@@ -123,13 +122,13 @@
</span><span class="cx">     if (!invocation.object() || invocation.object()-&gt;type() != API::Object::Type::Dictionary)
</span><span class="cx">         return NO;
</span><span class="cx">     
</span><del>-    const ImmutableDictionary&amp; dictionary = static_cast&lt;const ImmutableDictionary&amp;&gt;(*invocation.object());
</del><ins>+    const API::Dictionary&amp; dictionary = static_cast&lt;const API::Dictionary&amp;&gt;(*invocation.object());
</ins><span class="cx"> 
</span><span class="cx">     API::String* interfaceIdentifier = dictionary.get&lt;API::String&gt;(interfaceIdentifierKey);
</span><span class="cx">     if (!interfaceIdentifier)
</span><span class="cx">         return NO;
</span><span class="cx"> 
</span><del>-    const ImmutableDictionary* encodedInvocation = dictionary.get&lt;ImmutableDictionary&gt;(encodedInvocationKey);
</del><ins>+    const API::Dictionary* encodedInvocation = dictionary.get&lt;API::Dictionary&gt;(encodedInvocationKey);
</ins><span class="cx">     if (!encodedInvocationKey)
</span><span class="cx">         return NO;
</span><span class="cx"> 
</span><span class="lines">@@ -138,7 +137,7 @@
</span><span class="cx">     return YES;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-- (void)_invokeMessageWithInterfaceIdentifier:(const String&amp;)interfaceIdentifier encodedInvocation:(const ImmutableDictionary*)encodedInvocation
</del><ins>+- (void)_invokeMessageWithInterfaceIdentifier:(const String&amp;)interfaceIdentifier encodedInvocation:(const API::Dictionary*)encodedInvocation
</ins><span class="cx"> {
</span><span class="cx">     auto interfaceAndObject = _exportedObjects.get(interfaceIdentifier);
</span><span class="cx">     if (!interfaceAndObject.second) {
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedAPIcWKDeprecatedFunctionscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/API/c/WKDeprecatedFunctions.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/API/c/WKDeprecatedFunctions.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/Shared/API/c/WKDeprecatedFunctions.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -25,7 +25,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;MutableDictionary.h&quot;
</del><ins>+#include &quot;APIDictionary.h&quot;
</ins><span class="cx"> #include &quot;WKArray.h&quot;
</span><span class="cx"> #include &quot;WKMutableDictionary.h&quot;
</span><span class="cx"> #include &quot;WKSharedAPICast.h&quot;
</span><span class="lines">@@ -43,8 +43,8 @@
</span><span class="cx"> 
</span><span class="cx"> WK_EXPORT void WKPageSetVisibilityState(WKPageRef, WKPageVisibilityState, bool);
</span><span class="cx"> 
</span><ins>+WK_EXPORT bool WKDictionaryIsMutable(WKDictionaryRef dictionary);
</ins><span class="cx"> WK_EXPORT bool WKDictionaryAddItem(WKMutableDictionaryRef dictionary, WKStringRef key, WKTypeRef item);
</span><del>-WK_EXPORT bool WKDictionaryIsMutable(WKDictionaryRef dictionary);
</del><span class="cx"> WK_EXPORT void WKDictionaryRemoveItem(WKMutableDictionaryRef dictionary, WKStringRef key);
</span><span class="cx"> 
</span><span class="cx"> WK_EXPORT void WKPreferencesSetRegionBasedColumnsEnabled(WKPreferencesRef, bool flag);
</span><span class="lines">@@ -73,9 +73,9 @@
</span><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-bool WKDictionaryIsMutable(WKDictionaryRef dictionaryRef)
</del><ins>+bool WKDictionaryIsMutable(WKDictionaryRef)
</ins><span class="cx"> {
</span><del>-    return toImpl(dictionaryRef)-&gt;isMutable();
</del><ins>+    return true;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool WKDictionaryAddItem(WKMutableDictionaryRef dictionaryRef, WKStringRef keyRef, WKTypeRef itemRef)
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedAPIcWKDictionarycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/API/c/WKDictionary.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/API/c/WKDictionary.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/Shared/API/c/WKDictionary.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -27,23 +27,23 @@
</span><span class="cx"> #include &quot;WKDictionary.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;APIArray.h&quot;
</span><del>-#include &quot;ImmutableDictionary.h&quot;
</del><ins>+#include &quot;APIDictionary.h&quot;
</ins><span class="cx"> #include &quot;WKAPICast.h&quot;
</span><span class="cx"> 
</span><span class="cx"> using namespace WebKit;
</span><span class="cx"> 
</span><span class="cx"> WKTypeID WKDictionaryGetTypeID()
</span><span class="cx"> {
</span><del>-    return toAPI(ImmutableDictionary::APIType);
</del><ins>+    return toAPI(API::Dictionary::APIType);
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WK_EXPORT WKDictionaryRef WKDictionaryCreate(const WKStringRef* keys, const WKTypeRef* values, size_t numberOfValues)
</span><span class="cx"> {
</span><del>-    ImmutableDictionary::MapType map;
</del><ins>+    API::Dictionary::MapType map;
</ins><span class="cx">     for (size_t i = 0; i &lt; numberOfValues; ++i)
</span><span class="cx">         map.add(toImpl(keys[i])-&gt;string(), toImpl(values[i]));
</span><span class="cx"> 
</span><del>-    return toAPI(ImmutableDictionary::create(WTF::move(map)).release().leakRef());
</del><ins>+    return toAPI(API::Dictionary::create(WTF::move(map)).release().leakRef());
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> WKTypeRef WKDictionaryGetItemForKey(WKDictionaryRef dictionaryRef, WKStringRef key)
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedAPIcWKMutableDictionarycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/API/c/WKMutableDictionary.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/API/c/WKMutableDictionary.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/Shared/API/c/WKMutableDictionary.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -26,15 +26,15 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;WKMutableDictionary.h&quot;
</span><span class="cx"> 
</span><del>-#include &quot;MutableDictionary.h&quot;
</del><ins>+#include &quot;APIDictionary.h&quot;
</ins><span class="cx"> #include &quot;WKAPICast.h&quot;
</span><span class="cx"> 
</span><span class="cx"> using namespace WebKit;
</span><span class="cx"> 
</span><span class="cx"> WKMutableDictionaryRef WKMutableDictionaryCreate()
</span><span class="cx"> {
</span><del>-    RefPtr&lt;MutableDictionary&gt; dictionary = MutableDictionary::create();
-    return toAPI(dictionary.release().leakRef());
</del><ins>+    RefPtr&lt;API::Dictionary&gt; dictionary = API::Dictionary::create();
+    return const_cast&lt;WKMutableDictionaryRef&gt;(toAPI(dictionary.release().leakRef()));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> bool WKDictionarySetItem(WKMutableDictionaryRef dictionaryRef, WKStringRef keyRef, WKTypeRef itemRef)
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedAPIcWKSharedAPICasth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/API/c/WKSharedAPICast.h (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/API/c/WKSharedAPICast.h        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/Shared/API/c/WKSharedAPICast.h        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -61,6 +61,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace API {
</span><span class="cx"> class Array;
</span><ins>+class Dictionary;
</ins><span class="cx"> class Data;
</span><span class="cx"> class Point;
</span><span class="cx"> class Rect;
</span><span class="lines">@@ -74,8 +75,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><del>-class ImmutableDictionary;
-class MutableDictionary;
</del><span class="cx"> class ObjCObjectGraph;
</span><span class="cx"> class WebCertificateInfo;
</span><span class="cx"> class WebConnection;
</span><span class="lines">@@ -96,12 +95,11 @@
</span><span class="cx"> WK_ADD_API_MAPPING(WKConnectionRef, WebConnection)
</span><span class="cx"> WK_ADD_API_MAPPING(WKContextMenuItemRef, WebContextMenuItem)
</span><span class="cx"> WK_ADD_API_MAPPING(WKDataRef, API::Data)
</span><del>-WK_ADD_API_MAPPING(WKDictionaryRef, ImmutableDictionary)
</del><ins>+WK_ADD_API_MAPPING(WKDictionaryRef, API::Dictionary)
</ins><span class="cx"> WK_ADD_API_MAPPING(WKDoubleRef, API::Double)
</span><span class="cx"> WK_ADD_API_MAPPING(WKErrorRef, API::Error)
</span><span class="cx"> WK_ADD_API_MAPPING(WKGraphicsContextRef, WebGraphicsContext)
</span><span class="cx"> WK_ADD_API_MAPPING(WKImageRef, WebImage)
</span><del>-WK_ADD_API_MAPPING(WKMutableDictionaryRef, MutableDictionary)
</del><span class="cx"> WK_ADD_API_MAPPING(WKPointRef, API::Point)
</span><span class="cx"> WK_ADD_API_MAPPING(WKRectRef, API::Rect)
</span><span class="cx"> WK_ADD_API_MAPPING(WKSecurityOriginRef, API::SecurityOrigin)
</span><span class="lines">@@ -117,6 +115,7 @@
</span><span class="cx"> WK_ADD_API_MAPPING(WKSessionRef, API::Session)
</span><span class="cx"> 
</span><span class="cx"> template&lt;&gt; struct APITypeInfo&lt;WKMutableArrayRef&gt; { typedef API::Array* ImplType; };
</span><ins>+template&lt;&gt; struct APITypeInfo&lt;WKMutableDictionaryRef&gt; { typedef API::Dictionary* ImplType; };
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><span class="cx"> WK_ADD_API_MAPPING(WKWebArchiveRef, API::WebArchive)
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedCocoaWKNSDictionaryh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/Cocoa/WKNSDictionary.h (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/Cocoa/WKNSDictionary.h        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/Shared/Cocoa/WKNSDictionary.h        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -27,11 +27,11 @@
</span><span class="cx"> 
</span><span class="cx"> #if WK_API_ENABLED
</span><span class="cx"> 
</span><del>-#import &quot;ImmutableDictionary.h&quot;
</del><ins>+#import &quot;APIDictionary.h&quot;
</ins><span class="cx"> #import &quot;WKObject.h&quot;
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><del>-inline NSDictionary *wrapper(ImmutableDictionary&amp; dictionary) { ASSERT([dictionary.wrapper() isKindOfClass:[NSDictionary class]]); return (NSDictionary *)dictionary.wrapper(); }
</del><ins>+inline NSDictionary *wrapper(API::Dictionary&amp; dictionary) { ASSERT([dictionary.wrapper() isKindOfClass:[NSDictionary class]]); return (NSDictionary *)dictionary.wrapper(); }
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> @interface WKNSDictionary : NSDictionary &lt;WKObject&gt;
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedCocoaWKNSDictionarymm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/Cocoa/WKNSDictionary.mm (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/Cocoa/WKNSDictionary.mm        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/Shared/Cocoa/WKNSDictionary.mm        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -33,12 +33,12 @@
</span><span class="cx"> using namespace WebKit;
</span><span class="cx"> 
</span><span class="cx"> @implementation WKNSDictionary {
</span><del>-    API::ObjectStorage&lt;ImmutableDictionary&gt; _dictionary;
</del><ins>+    API::ObjectStorage&lt;API::Dictionary&gt; _dictionary;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)dealloc
</span><span class="cx"> {
</span><del>-    _dictionary-&gt;~ImmutableDictionary();
</del><ins>+    _dictionary-&gt;~Dictionary();
</ins><span class="cx"> 
</span><span class="cx">     [super dealloc];
</span><span class="cx"> }
</span><span class="lines">@@ -78,11 +78,7 @@
</span><span class="cx"> 
</span><span class="cx"> - (id)copyWithZone:(NSZone *)zone
</span><span class="cx"> {
</span><del>-    if (!_dictionary-&gt;isMutable())
-        return [self retain];
-
-    auto map = _dictionary-&gt;map();
-    return ImmutableDictionary::create(WTF::move(map)).release().leakRef()-&gt;wrapper();
</del><ins>+    return [self retain];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #pragma mark WKObject protocol implementation
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedImmutableDictionarycpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/Shared/ImmutableDictionary.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/ImmutableDictionary.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/Shared/ImmutableDictionary.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -1,67 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY 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.
- */
-
-#include &quot;config.h&quot;
-#include &quot;ImmutableDictionary.h&quot;
-
-#include &quot;APIArray.h&quot;
-#include &quot;APIString.h&quot;
-
-namespace WebKit {
-
-RefPtr&lt;ImmutableDictionary&gt; ImmutableDictionary::create()
-{
-    return create({ });
-}
-
-RefPtr&lt;ImmutableDictionary&gt; ImmutableDictionary::create(MapType map)
-{
-    return adoptRef(new ImmutableDictionary(WTF::move(map)));
-}
-
-ImmutableDictionary::ImmutableDictionary(MapType map)
-    : m_map(WTF::move(map))
-{
-}
-
-ImmutableDictionary::~ImmutableDictionary()
-{
-}
-
-PassRefPtr&lt;API::Array&gt; ImmutableDictionary::keys() const
-{
-    if (m_map.isEmpty())
-        return API::Array::create();
-
-    Vector&lt;RefPtr&lt;API::Object&gt;&gt; keys;
-    keys.reserveInitialCapacity(m_map.size());
-
-    for (const auto&amp; key : m_map.keys())
-        keys.uncheckedAppend(API::String::create(key));
-
-    return API::Array::create(WTF::move(keys));
-}
-
-} // namespace WebKit
</del></span></pre></div>
<a id="trunkSourceWebKit2SharedImmutableDictionaryh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/Shared/ImmutableDictionary.h (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/ImmutableDictionary.h        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/Shared/ImmutableDictionary.h        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -1,93 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY 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 ImmutableDictionary_h
-#define ImmutableDictionary_h
-
-#include &quot;APIObject.h&quot;
-#include &lt;wtf/HashMap.h&gt;
-#include &lt;wtf/PassRefPtr.h&gt;
-#include &lt;wtf/text/StringHash.h&gt;
-#include &lt;wtf/text/WTFString.h&gt;
-
-namespace API {
-class Array;
-}
-
-namespace WebKit {
-
-// ImmutableDictionary - An immutable dictionary type suitable for vending to an API.
-
-class ImmutableDictionary : public API::ObjectImpl&lt;API::Object::Type::Dictionary&gt; {
-public:
-    typedef HashMap&lt;String, RefPtr&lt;API::Object&gt;&gt; MapType;
-
-    static RefPtr&lt;ImmutableDictionary&gt; create();
-    static RefPtr&lt;ImmutableDictionary&gt; create(MapType);
-
-    virtual ~ImmutableDictionary();
-
-    virtual bool isMutable() { return false; }
-
-    template&lt;typename T&gt;
-    T* get(const String&amp; key) const
-    {
-        RefPtr&lt;API::Object&gt; item = m_map.get(key);
-        if (!item)
-            return 0;
-
-        if (item-&gt;type() != T::APIType)
-            return 0;
-
-        return static_cast&lt;T*&gt;(item.get());
-    }
-
-    API::Object* get(const String&amp; key) const
-    {
-        return m_map.get(key);
-    }
-
-    API::Object* get(const String&amp; key, bool&amp; exists) const
-    {
-        auto it = m_map.find(key);
-        exists = it != m_map.end();
-        return it-&gt;value.get();
-    }
-
-    PassRefPtr&lt;API::Array&gt; keys() const;
-
-    size_t size() const { return m_map.size(); }
-
-    const MapType&amp; map() const { return m_map; }
-
-protected:
-    explicit ImmutableDictionary(MapType);
-
-    MapType m_map;
-};
-
-} // namespace WebKit
-
-#endif // ImmutableDictionary_h
</del></span></pre></div>
<a id="trunkSourceWebKit2SharedMutableDictionarycpp"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/Shared/MutableDictionary.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/MutableDictionary.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/Shared/MutableDictionary.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -1,57 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY 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.
- */
-
-#include &quot;config.h&quot;
-#include &quot;MutableDictionary.h&quot;
-
-namespace WebKit {
-
-MutableDictionary::MutableDictionary()
-    : ImmutableDictionary({ })
-{
-}
-
-MutableDictionary::~MutableDictionary()
-{
-}
-
-bool MutableDictionary::add(const String&amp; key, PassRefPtr&lt;API::Object&gt; item)
-{
-    MapType::AddResult result = m_map.add(key, item);
-    return result.isNewEntry;
-}
-
-bool MutableDictionary::set(const String&amp; key, PassRefPtr&lt;API::Object&gt; item)
-{
-    MapType::AddResult result = m_map.set(key, item);
-    return result.isNewEntry;
-}
-
-void MutableDictionary::remove(const String&amp; key)
-{
-    m_map.remove(key);
-}
-
-} // namespace WebKit
</del></span></pre></div>
<a id="trunkSourceWebKit2SharedMutableDictionaryh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/Shared/MutableDictionary.h (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/MutableDictionary.h        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/Shared/MutableDictionary.h        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -1,56 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY 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 MutableDictionary_h
-#define MutableDictionary_h
-
-#include &quot;ImmutableDictionary.h&quot;
-
-namespace WebKit {
-
-// MutableDictionary - A mutable dictionary type suitable for vending to an API.
-
-class MutableDictionary : public ImmutableDictionary {
-public:
-    static PassRefPtr&lt;MutableDictionary&gt; create()
-    {
-        return adoptRef(new MutableDictionary);
-    }
-
-    ~MutableDictionary();
-
-    bool add(const String&amp; key, PassRefPtr&lt;API::Object&gt;);
-    bool set(const String&amp; key, PassRefPtr&lt;API::Object&gt;);
-    void remove(const String&amp; key);
-
-    virtual bool isMutable() { return true; }
-
-private:
-    MutableDictionary();
-};
-
-} // namespace WebKit
-
-#endif // MutableDictionary_h
</del></span></pre></div>
<a id="trunkSourceWebKit2SharedPluginsNetscapePluginInformationcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/Plugins/Netscape/PluginInformation.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/Plugins/Netscape/PluginInformation.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/Shared/Plugins/Netscape/PluginInformation.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -108,7 +108,7 @@
</span><span class="cx">     return ASCIILiteral(&quot;PlugInInformationReplacementObscured&quot;);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void getPluginModuleInformation(const PluginModuleInfo&amp; plugin, ImmutableDictionary::MapType&amp; map)
</del><ins>+void getPluginModuleInformation(const PluginModuleInfo&amp; plugin, API::Dictionary::MapType&amp; map)
</ins><span class="cx"> {
</span><span class="cx"> #if ENABLE(NETSCAPE_PLUGIN_API)
</span><span class="cx">     map.set(pluginInformationPathKey(), API::String::create(plugin.path));
</span><span class="lines">@@ -122,17 +122,17 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;ImmutableDictionary&gt; createPluginInformationDictionary(const PluginModuleInfo&amp; plugin)
</del><ins>+PassRefPtr&lt;API::Dictionary&gt; createPluginInformationDictionary(const PluginModuleInfo&amp; plugin)
</ins><span class="cx"> {
</span><del>-    ImmutableDictionary::MapType map;
</del><ins>+    API::Dictionary::MapType map;
</ins><span class="cx">     getPluginModuleInformation(plugin, map);
</span><span class="cx"> 
</span><del>-    return ImmutableDictionary::create(WTF::move(map));
</del><ins>+    return API::Dictionary::create(WTF::move(map));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;ImmutableDictionary&gt; createPluginInformationDictionary(const PluginModuleInfo&amp; plugin, const String&amp; frameURLString, const String&amp; mimeType, const String&amp; pageURLString, const String&amp; pluginspageAttributeURLString, const String&amp; pluginURLString, bool replacementObscured)
</del><ins>+PassRefPtr&lt;API::Dictionary&gt; createPluginInformationDictionary(const PluginModuleInfo&amp; plugin, const String&amp; frameURLString, const String&amp; mimeType, const String&amp; pageURLString, const String&amp; pluginspageAttributeURLString, const String&amp; pluginURLString, bool replacementObscured)
</ins><span class="cx"> {
</span><del>-    ImmutableDictionary::MapType map;
</del><ins>+    API::Dictionary::MapType map;
</ins><span class="cx">     getPluginModuleInformation(plugin, map);
</span><span class="cx"> 
</span><span class="cx">     if (!frameURLString.isEmpty())
</span><span class="lines">@@ -147,12 +147,12 @@
</span><span class="cx">         map.set(pluginInformationPluginURLKey(), API::URL::create(pluginURLString));
</span><span class="cx">     map.set(plugInInformationReplacementObscuredKey(), API::Boolean::create(replacementObscured));
</span><span class="cx"> 
</span><del>-    return ImmutableDictionary::create(WTF::move(map));
</del><ins>+    return API::Dictionary::create(WTF::move(map));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;ImmutableDictionary&gt; createPluginInformationDictionary(const String&amp; mimeType, const String&amp; frameURLString, const String&amp; pageURLString)
</del><ins>+PassRefPtr&lt;API::Dictionary&gt; createPluginInformationDictionary(const String&amp; mimeType, const String&amp; frameURLString, const String&amp; pageURLString)
</ins><span class="cx"> {
</span><del>-    ImmutableDictionary::MapType map;
</del><ins>+    API::Dictionary::MapType map;
</ins><span class="cx"> 
</span><span class="cx">     if (!frameURLString.isEmpty())
</span><span class="cx">         map.set(pluginInformationFrameURLKey(), API::URL::create(frameURLString));
</span><span class="lines">@@ -161,11 +161,11 @@
</span><span class="cx">     if (!pageURLString.isEmpty())
</span><span class="cx">         map.set(pluginInformationPageURLKey(), API::URL::create(pageURLString));
</span><span class="cx"> 
</span><del>-    return ImmutableDictionary::create(WTF::move(map));
</del><ins>+    return API::Dictionary::create(WTF::move(map));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> #if !PLATFORM(COCOA)
</span><del>-void getPlatformPluginModuleInformation(const PluginModuleInfo&amp;, ImmutableDictionary::MapType&amp;)
</del><ins>+void getPlatformPluginModuleInformation(const PluginModuleInfo&amp;, API::Dictionary::MapType&amp;)
</ins><span class="cx"> {
</span><span class="cx"> }
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedPluginsNetscapePluginInformationh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/Plugins/Netscape/PluginInformation.h (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/Plugins/Netscape/PluginInformation.h        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/Shared/Plugins/Netscape/PluginInformation.h        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -26,7 +26,7 @@
</span><span class="cx"> #ifndef PluginInformation_h
</span><span class="cx"> #define PluginInformation_h
</span><span class="cx"> 
</span><del>-#include &quot;ImmutableDictionary.h&quot;
</del><ins>+#include &quot;APIDictionary.h&quot;
</ins><span class="cx"> #include &lt;wtf/Forward.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="lines">@@ -51,12 +51,12 @@
</span><span class="cx"> String pluginInformationPluginURLKey();
</span><span class="cx"> String plugInInformationReplacementObscuredKey();
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;ImmutableDictionary&gt; createPluginInformationDictionary(const PluginModuleInfo&amp;);
-PassRefPtr&lt;ImmutableDictionary&gt; createPluginInformationDictionary(const PluginModuleInfo&amp;, const String&amp; frameURLString, const String&amp; mimeType, const String&amp; pageURLString, const String&amp; pluginspageAttributeURLString, const String&amp; pluginURLString, bool replacementObscured = false);
-PassRefPtr&lt;ImmutableDictionary&gt; createPluginInformationDictionary(const String&amp; mimeType, const String&amp; frameURLString, const String&amp; pageURLString);
</del><ins>+PassRefPtr&lt;API::Dictionary&gt; createPluginInformationDictionary(const PluginModuleInfo&amp;);
+PassRefPtr&lt;API::Dictionary&gt; createPluginInformationDictionary(const PluginModuleInfo&amp;, const String&amp; frameURLString, const String&amp; mimeType, const String&amp; pageURLString, const String&amp; pluginspageAttributeURLString, const String&amp; pluginURLString, bool replacementObscured = false);
+PassRefPtr&lt;API::Dictionary&gt; createPluginInformationDictionary(const String&amp; mimeType, const String&amp; frameURLString, const String&amp; pageURLString);
</ins><span class="cx"> 
</span><del>-void getPluginModuleInformation(const PluginModuleInfo&amp;, ImmutableDictionary::MapType&amp;);
-void getPlatformPluginModuleInformation(const PluginModuleInfo&amp;, ImmutableDictionary::MapType&amp;);
</del><ins>+void getPluginModuleInformation(const PluginModuleInfo&amp;, API::Dictionary::MapType&amp;);
+void getPlatformPluginModuleInformation(const PluginModuleInfo&amp;, API::Dictionary::MapType&amp;);
</ins><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedPluginsNetscapemacPluginInformationMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/Plugins/Netscape/mac/PluginInformationMac.mm (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/Plugins/Netscape/mac/PluginInformationMac.mm        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/Shared/Plugins/Netscape/mac/PluginInformationMac.mm        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -36,7 +36,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><del>-void getPlatformPluginModuleInformation(const PluginModuleInfo&amp; plugin, ImmutableDictionary::MapType&amp; map)
</del><ins>+void getPlatformPluginModuleInformation(const PluginModuleInfo&amp; plugin, API::Dictionary::MapType&amp; map)
</ins><span class="cx"> {
</span><span class="cx">     map.set(pluginInformationBundleIdentifierKey(), API::String::create(plugin.bundleIdentifier));
</span><span class="cx">     map.set(pluginInformationBundleVersionKey(), API::String::create(plugin.versionString));
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedUserDatacpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/UserData.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/UserData.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/Shared/UserData.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;APIArray.h&quot;
</span><span class="cx"> #include &quot;APIData.h&quot;
</span><ins>+#include &quot;APIDictionary.h&quot;
</ins><span class="cx"> #include &quot;APIError.h&quot;
</span><span class="cx"> #include &quot;APIFrameHandle.h&quot;
</span><span class="cx"> #include &quot;APIGeometry.h&quot;
</span><span class="lines">@@ -40,7 +41,6 @@
</span><span class="cx"> #include &quot;APIURLResponse.h&quot;
</span><span class="cx"> #include &quot;ArgumentCoders.h&quot;
</span><span class="cx"> #include &quot;ArgumentEncoder.h&quot;
</span><del>-#include &quot;MutableDictionary.h&quot;
</del><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><span class="lines">@@ -72,7 +72,7 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (object.type() == API::Object::Type::Dictionary) {
</span><del>-        const auto&amp; dictionary = static_cast&lt;const ImmutableDictionary&amp;&gt;(object);
</del><ins>+        const auto&amp; dictionary = static_cast&lt;const API::Dictionary&amp;&gt;(object);
</ins><span class="cx"> 
</span><span class="cx">         for (const auto&amp; keyValuePair : dictionary.map()) {
</span><span class="cx">             if (!keyValuePair.value)
</span><span class="lines">@@ -104,16 +104,16 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     if (object.type() == API::Object::Type::Dictionary) {
</span><del>-        auto&amp; dictionary = static_cast&lt;ImmutableDictionary&amp;&gt;(object);
</del><ins>+        auto&amp; dictionary = static_cast&lt;API::Dictionary&amp;&gt;(object);
</ins><span class="cx"> 
</span><del>-        ImmutableDictionary::MapType map;
</del><ins>+        API::Dictionary::MapType map;
</ins><span class="cx">         for (const auto&amp; keyValuePair : dictionary.map()) {
</span><span class="cx">             if (!keyValuePair.value)
</span><span class="cx">                 map.add(keyValuePair.key, nullptr);
</span><span class="cx">             else
</span><span class="cx">                 map.add(keyValuePair.key, transformGraph(*keyValuePair.value, transformer));
</span><span class="cx">         }
</span><del>-        return ImmutableDictionary::create(WTF::move(map));
</del><ins>+        return API::Dictionary::create(WTF::move(map));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     return transformer.transformObject(object);
</span><span class="lines">@@ -173,7 +173,7 @@
</span><span class="cx">         break;
</span><span class="cx">     
</span><span class="cx">     case API::Object::Type::Dictionary: {
</span><del>-        auto&amp; dictionary = static_cast&lt;const ImmutableDictionary&amp;&gt;(object);
</del><ins>+        auto&amp; dictionary = static_cast&lt;const API::Dictionary&amp;&gt;(object);
</ins><span class="cx">         auto&amp; map = dictionary.map();
</span><span class="cx"> 
</span><span class="cx">         encoder &lt;&lt; static_cast&lt;uint64_t&gt;(map.size());
</span><span class="lines">@@ -290,7 +290,7 @@
</span><span class="cx">         if (!decoder.decode(size))
</span><span class="cx">             return false;
</span><span class="cx"> 
</span><del>-        ImmutableDictionary::MapType map;
</del><ins>+        API::Dictionary::MapType map;
</ins><span class="cx">         for (size_t i = 0; i &lt; size; ++i) {
</span><span class="cx">             String key;
</span><span class="cx">             if (!decoder.decode(key))
</span><span class="lines">@@ -304,7 +304,7 @@
</span><span class="cx">                 return false;
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        result = ImmutableDictionary::create(WTF::move(map));
</del><ins>+        result = API::Dictionary::create(WTF::move(map));
</ins><span class="cx">         break;
</span><span class="cx">     }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedUserMessageCodersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/UserMessageCoders.h (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/UserMessageCoders.h        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/Shared/UserMessageCoders.h        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -28,6 +28,7 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;APIArray.h&quot;
</span><span class="cx"> #include &quot;APIData.h&quot;
</span><ins>+#include &quot;APIDictionary.h&quot;
</ins><span class="cx"> #include &quot;APIError.h&quot;
</span><span class="cx"> #include &quot;APIGeometry.h&quot;
</span><span class="cx"> #include &quot;APINumber.h&quot;
</span><span class="lines">@@ -40,7 +41,6 @@
</span><span class="cx"> #include &quot;ArgumentDecoder.h&quot;
</span><span class="cx"> #include &quot;ArgumentEncoder.h&quot;
</span><span class="cx"> #include &quot;DataReference.h&quot;
</span><del>-#include &quot;ImmutableDictionary.h&quot;
</del><span class="cx"> #include &quot;ShareableBitmap.h&quot;
</span><span class="cx"> #include &quot;WebCertificateInfo.h&quot;
</span><span class="cx"> #include &quot;WebCoreArgumentCoders.h&quot;
</span><span class="lines">@@ -52,7 +52,7 @@
</span><span class="cx"> 
</span><span class="cx"> //   - Null -&gt; Null
</span><span class="cx"> //   - API::Array -&gt; API::Array
</span><del>-//   - Dictionary -&gt; Dictionary
</del><ins>+//   - API::Dictionary -&gt; API::Dictionary
</ins><span class="cx"> //   - SerializedScriptValue -&gt; SerializedScriptValue
</span><span class="cx"> //   - API::String -&gt; API::String
</span><span class="cx"> //   - UserContentURLPattern -&gt; UserContentURLPattern
</span><span class="lines">@@ -90,12 +90,12 @@
</span><span class="cx">             return true;
</span><span class="cx">         }
</span><span class="cx">         case API::Object::Type::Dictionary: {
</span><del>-            ImmutableDictionary* dictionary = static_cast&lt;ImmutableDictionary*&gt;(m_root);
-            const ImmutableDictionary::MapType&amp; map = dictionary-&gt;map();
</del><ins>+            API::Dictionary* dictionary = static_cast&lt;API::Dictionary*&gt;(m_root);
+            const API::Dictionary::MapType&amp; map = dictionary-&gt;map();
</ins><span class="cx">             encoder &lt;&lt; static_cast&lt;uint64_t&gt;(map.size());
</span><span class="cx"> 
</span><del>-            ImmutableDictionary::MapType::const_iterator it = map.begin();
-            ImmutableDictionary::MapType::const_iterator end = map.end();
</del><ins>+            API::Dictionary::MapType::const_iterator it = map.begin();
+            API::Dictionary::MapType::const_iterator end = map.end();
</ins><span class="cx">             for (; it != end; ++it) {
</span><span class="cx">                 encoder &lt;&lt; it-&gt;key;
</span><span class="cx">                 encoder &lt;&lt; Owner(coder, it-&gt;value.get());
</span><span class="lines">@@ -295,7 +295,7 @@
</span><span class="cx">             if (!decoder.decode(size))
</span><span class="cx">                 return false;
</span><span class="cx"> 
</span><del>-            ImmutableDictionary::MapType map;
</del><ins>+            API::Dictionary::MapType map;
</ins><span class="cx">             for (size_t i = 0; i &lt; size; ++i) {
</span><span class="cx">                 String key;
</span><span class="cx">                 if (!decoder.decode(key))
</span><span class="lines">@@ -306,12 +306,12 @@
</span><span class="cx">                 if (!decoder.decode(messageCoder))
</span><span class="cx">                     return false;
</span><span class="cx"> 
</span><del>-                ImmutableDictionary::MapType::AddResult result = map.set(key, element.release());
</del><ins>+                API::Dictionary::MapType::AddResult result = map.set(key, element.release());
</ins><span class="cx">                 if (!result.isNewEntry)
</span><span class="cx">                     return false;
</span><span class="cx">             }
</span><span class="cx"> 
</span><del>-            coder.m_root = ImmutableDictionary::create(WTF::move(map));
</del><ins>+            coder.m_root = API::Dictionary::create(WTF::move(map));
</ins><span class="cx">             break;
</span><span class="cx">         }
</span><span class="cx">         case API::Object::Type::String: {
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPIAPILoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/APILoaderClient.h (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/APILoaderClient.h        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/UIProcess/API/APILoaderClient.h        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -39,7 +39,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> class AuthenticationChallengeProxy;
</span><del>-class ImmutableDictionary;
</del><span class="cx"> class QuickLookDocumentData;
</span><span class="cx"> class WebBackForwardListItem;
</span><span class="cx"> class WebFrameProxy;
</span><span class="lines">@@ -50,6 +49,7 @@
</span><span class="cx"> 
</span><span class="cx"> namespace API {
</span><span class="cx"> 
</span><ins>+class Dictionary;
</ins><span class="cx"> class Object;
</span><span class="cx"> 
</span><span class="cx"> class LoaderClient {
</span><span class="lines">@@ -103,9 +103,9 @@
</span><span class="cx">     virtual void didUpdateHistoryTitle(WebKit::WebPageProxy&amp;, const WTF::String&amp;, const WTF::String&amp;, WebKit::WebFrameProxy&amp;) { }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(NETSCAPE_PLUGIN_API)
</span><del>-    virtual WebKit::PluginModuleLoadPolicy pluginLoadPolicy(WebKit::WebPageProxy*, WebKit::PluginModuleLoadPolicy currentPluginLoadPolicy, WebKit::ImmutableDictionary*, WTF::String&amp; /* unavailabilityDescription */) { return currentPluginLoadPolicy; }
-    virtual void didFailToInitializePlugin(WebKit::WebPageProxy*, WebKit::ImmutableDictionary*) { }
-    virtual void didBlockInsecurePluginVersion(WebKit::WebPageProxy*, WebKit::ImmutableDictionary*) { }
</del><ins>+    virtual WebKit::PluginModuleLoadPolicy pluginLoadPolicy(WebKit::WebPageProxy*, WebKit::PluginModuleLoadPolicy currentPluginLoadPolicy, API::Dictionary*, WTF::String&amp; /* unavailabilityDescription */) { return currentPluginLoadPolicy; }
+    virtual void didFailToInitializePlugin(WebKit::WebPageProxy*, API::Dictionary*) { }
+    virtual void didBlockInsecurePluginVersion(WebKit::WebPageProxy*, API::Dictionary*) { }
</ins><span class="cx"> #endif // ENABLE(NETSCAPE_PLUGIN_API)
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(WEBGL)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPIAPIUIClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/APIUIClient.h (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/APIUIClient.h        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/UIProcess/API/APIUIClient.h        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -46,7 +46,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> class GeolocationPermissionRequestProxy;
</span><del>-class ImmutableDictionary;
</del><span class="cx"> class NativeWebKeyboardEvent;
</span><span class="cx"> class NativeWebWheelEvent;
</span><span class="cx"> class NotificationPermissionRequest;
</span><span class="lines">@@ -62,6 +61,7 @@
</span><span class="cx"> namespace API {
</span><span class="cx"> 
</span><span class="cx"> class Data;
</span><ins>+class Dictionary;
</ins><span class="cx"> class Object;
</span><span class="cx"> class SecurityOrigin;
</span><span class="cx"> 
</span><span class="lines">@@ -87,7 +87,7 @@
</span><span class="cx">     virtual void setStatusText(WebKit::WebPageProxy*, const WTF::String&amp;) { }
</span><span class="cx">     virtual void mouseDidMoveOverElement(WebKit::WebPageProxy*, const WebKit::WebHitTestResult::Data&amp;, WebKit::WebEvent::Modifiers, API::Object*) { }
</span><span class="cx"> #if ENABLE(NETSCAPE_PLUGIN_API)
</span><del>-    virtual void unavailablePluginButtonClicked(WebKit::WebPageProxy*, WKPluginUnavailabilityReason, WebKit::ImmutableDictionary*) { }
</del><ins>+    virtual void unavailablePluginButtonClicked(WebKit::WebPageProxy*, WKPluginUnavailabilityReason, API::Dictionary*) { }
</ins><span class="cx"> #endif // ENABLE(NETSCAPE_PLUGIN_API)
</span><span class="cx"> 
</span><span class="cx">     virtual bool implementsDidNotHandleKeyEvent() const { return false; }
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKPagecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -29,13 +29,13 @@
</span><span class="cx"> 
</span><span class="cx"> #include &quot;APIArray.h&quot;
</span><span class="cx"> #include &quot;APIData.h&quot;
</span><ins>+#include &quot;APIDictionary.h&quot;
</ins><span class="cx"> #include &quot;APIFindClient.h&quot;
</span><span class="cx"> #include &quot;APILoaderClient.h&quot;
</span><span class="cx"> #include &quot;APIPolicyClient.h&quot;
</span><span class="cx"> #include &quot;APISessionState.h&quot;
</span><span class="cx"> #include &quot;APIUIClient.h&quot;
</span><span class="cx"> #include &quot;AuthenticationChallengeProxy.h&quot;
</span><del>-#include &quot;ImmutableDictionary.h&quot;
</del><span class="cx"> #include &quot;LegacySessionStateCoding.h&quot;
</span><span class="cx"> #include &quot;NativeWebKeyboardEvent.h&quot;
</span><span class="cx"> #include &quot;NativeWebWheelEvent.h&quot;
</span><span class="lines">@@ -1023,7 +1023,7 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(NETSCAPE_PLUGIN_API)
</span><del>-        virtual void didFailToInitializePlugin(WebPageProxy* page, ImmutableDictionary* pluginInformation) override
</del><ins>+        virtual void didFailToInitializePlugin(WebPageProxy* page, API::Dictionary* pluginInformation) override
</ins><span class="cx">         {
</span><span class="cx">             if (m_client.didFailToInitializePlugin_deprecatedForUseWithV0)
</span><span class="cx">                 m_client.didFailToInitializePlugin_deprecatedForUseWithV0(toAPI(page), toAPI(pluginInformation-&gt;get&lt;API::String&gt;(pluginInformationMIMETypeKey())), m_client.base.clientInfo);
</span><span class="lines">@@ -1035,7 +1035,7 @@
</span><span class="cx">                 m_client.pluginDidFail(toAPI(page), kWKErrorCodeCannotLoadPlugIn, toAPI(pluginInformation), m_client.base.clientInfo);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        virtual void didBlockInsecurePluginVersion(WebPageProxy* page, ImmutableDictionary* pluginInformation) override
</del><ins>+        virtual void didBlockInsecurePluginVersion(WebPageProxy* page, API::Dictionary* pluginInformation) override
</ins><span class="cx">         {
</span><span class="cx">             if (m_client.pluginDidFail_deprecatedForUseWithV1)
</span><span class="cx">                 m_client.pluginDidFail_deprecatedForUseWithV1(toAPI(page), kWKErrorCodeInsecurePlugInVersion, toAPI(pluginInformation-&gt;get&lt;API::String&gt;(pluginInformationMIMETypeKey())), toAPI(pluginInformation-&gt;get&lt;API::String&gt;(pluginInformationBundleIdentifierKey())), toAPI(pluginInformation-&gt;get&lt;API::String&gt;(pluginInformationBundleVersionKey())), m_client.base.clientInfo);
</span><span class="lines">@@ -1044,7 +1044,7 @@
</span><span class="cx">                 m_client.pluginDidFail(toAPI(page), kWKErrorCodeInsecurePlugInVersion, toAPI(pluginInformation), m_client.base.clientInfo);
</span><span class="cx">         }
</span><span class="cx"> 
</span><del>-        virtual PluginModuleLoadPolicy pluginLoadPolicy(WebPageProxy* page, PluginModuleLoadPolicy currentPluginLoadPolicy, ImmutableDictionary* pluginInformation, String&amp; unavailabilityDescription) override
</del><ins>+        virtual PluginModuleLoadPolicy pluginLoadPolicy(WebPageProxy* page, PluginModuleLoadPolicy currentPluginLoadPolicy, API::Dictionary* pluginInformation, String&amp; unavailabilityDescription) override
</ins><span class="cx">         {
</span><span class="cx">             WKStringRef unavailabilityDescriptionOut = 0;
</span><span class="cx">             PluginModuleLoadPolicy loadPolicy = currentPluginLoadPolicy;
</span><span class="lines">@@ -1192,7 +1192,7 @@
</span><span class="cx">             if (m_client.base.version &gt; 0 &amp;&amp; !m_client.createNewPage)
</span><span class="cx">                 return 0;
</span><span class="cx"> 
</span><del>-            ImmutableDictionary::MapType map;
</del><ins>+            API::Dictionary::MapType map;
</ins><span class="cx">             if (windowFeatures.xSet)
</span><span class="cx">                 map.set(&quot;x&quot;, API::Double::create(windowFeatures.x));
</span><span class="cx">             if (windowFeatures.ySet)
</span><span class="lines">@@ -1209,7 +1209,7 @@
</span><span class="cx">             map.set(&quot;resizable&quot;, API::Boolean::create(windowFeatures.resizable));
</span><span class="cx">             map.set(&quot;fullscreen&quot;, API::Boolean::create(windowFeatures.fullscreen));
</span><span class="cx">             map.set(&quot;dialog&quot;, API::Boolean::create(windowFeatures.dialog));
</span><del>-            RefPtr&lt;ImmutableDictionary&gt; featuresMap = ImmutableDictionary::create(WTF::move(map));
</del><ins>+            RefPtr&lt;API::Dictionary&gt; featuresMap = API::Dictionary::create(WTF::move(map));
</ins><span class="cx"> 
</span><span class="cx">             if (!m_client.base.version)
</span><span class="cx">                 return adoptRef(toImpl(m_client.createNewPage_deprecatedForUseWithV0(toAPI(page), toAPI(featuresMap.get()), toAPI(navigationActionData.modifiers), toAPI(navigationActionData.mouseButton), m_client.base.clientInfo)));
</span><span class="lines">@@ -1322,7 +1322,7 @@
</span><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx"> #if ENABLE(NETSCAPE_PLUGIN_API)
</span><del>-        virtual void unavailablePluginButtonClicked(WebPageProxy* page, WKPluginUnavailabilityReason pluginUnavailabilityReason, ImmutableDictionary* pluginInformation) override
</del><ins>+        virtual void unavailablePluginButtonClicked(WebPageProxy* page, WKPluginUnavailabilityReason pluginUnavailabilityReason, API::Dictionary* pluginInformation) override
</ins><span class="cx">         {
</span><span class="cx">             if (pluginUnavailabilityReason == kWKPluginUnavailabilityReasonPluginMissing) {
</span><span class="cx">                 if (m_client.missingPluginButtonClicked_deprecatedForUseWithV0)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICmacWKContextPrivateMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.mm (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.mm        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.mm        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -27,9 +27,9 @@
</span><span class="cx"> #import &quot;WKContextPrivateMac.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #import &quot;APIArray.h&quot;
</span><ins>+#import &quot;APIDictionary.h&quot;
</ins><span class="cx"> #import &quot;APINumber.h&quot;
</span><span class="cx"> #import &quot;APIString.h&quot;
</span><del>-#import &quot;ImmutableDictionary.h&quot;
</del><span class="cx"> #import &quot;PluginInfoStore.h&quot;
</span><span class="cx"> #import &quot;PluginInformation.h&quot;
</span><span class="cx"> #import &quot;StringUtilities.h&quot;
</span><span class="lines">@@ -59,7 +59,7 @@
</span><span class="cx">     if (plugin.path.isNull())
</span><span class="cx">         return 0;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;ImmutableDictionary&gt; dictionary = createPluginInformationDictionary(plugin);
</del><ins>+    RefPtr&lt;API::Dictionary&gt; dictionary = createPluginInformationDictionary(plugin);
</ins><span class="cx">     return toAPI(dictionary.release().leakRef());
</span><span class="cx"> #else
</span><span class="cx">     return 0;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessNotificationsWebNotificationManagerProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Notifications/WebNotificationManagerProxy.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Notifications/WebNotificationManagerProxy.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/UIProcess/Notifications/WebNotificationManagerProxy.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -27,8 +27,8 @@
</span><span class="cx"> #include &quot;WebNotificationManagerProxy.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;APIArray.h&quot;
</span><ins>+#include &quot;APIDictionary.h&quot;
</ins><span class="cx"> #include &quot;APISecurityOrigin.h&quot;
</span><del>-#include &quot;ImmutableDictionary.h&quot;
</del><span class="cx"> #include &quot;WebNotification.h&quot;
</span><span class="cx"> #include &quot;WebNotificationManagerMessages.h&quot;
</span><span class="cx"> #include &quot;WebPageProxy.h&quot;
</span><span class="lines">@@ -85,7 +85,7 @@
</span><span class="cx"> 
</span><span class="cx"> void WebNotificationManagerProxy::populateCopyOfNotificationPermissions(HashMap&lt;String, bool&gt;&amp; permissions)
</span><span class="cx"> {
</span><del>-    RefPtr&lt;ImmutableDictionary&gt; knownPermissions = m_provider.notificationPermissions();
</del><ins>+    RefPtr&lt;API::Dictionary&gt; knownPermissions = m_provider.notificationPermissions();
</ins><span class="cx"> 
</span><span class="cx">     if (!knownPermissions)
</span><span class="cx">         return;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessNotificationsWebNotificationProvidercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Notifications/WebNotificationProvider.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Notifications/WebNotificationProvider.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/UIProcess/Notifications/WebNotificationProvider.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -27,9 +27,9 @@
</span><span class="cx"> #include &quot;WebNotificationProvider.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;APIArray.h&quot;
</span><ins>+#include &quot;APIDictionary.h&quot;
</ins><span class="cx"> #include &quot;APINumber.h&quot;
</span><span class="cx"> #include &quot;APISecurityOrigin.h&quot;
</span><del>-#include &quot;ImmutableDictionary.h&quot;
</del><span class="cx"> #include &quot;WKAPICast.h&quot;
</span><span class="cx"> #include &quot;WebNotification.h&quot;
</span><span class="cx"> #include &quot;WebNotificationManagerProxy.h&quot;
</span><span class="lines">@@ -91,10 +91,10 @@
</span><span class="cx">     m_client.removeNotificationManager(toAPI(manager), m_client.base.clientInfo);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;ImmutableDictionary&gt; WebNotificationProvider::notificationPermissions()
</del><ins>+PassRefPtr&lt;API::Dictionary&gt; WebNotificationProvider::notificationPermissions()
</ins><span class="cx"> {
</span><span class="cx">     if (!m_client.notificationPermissions)
</span><del>-        return ImmutableDictionary::create();
</del><ins>+        return API::Dictionary::create();
</ins><span class="cx"> 
</span><span class="cx">     return adoptRef(toImpl(m_client.notificationPermissions(m_client.base.clientInfo)));
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessNotificationsWebNotificationProviderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Notifications/WebNotificationProvider.h (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Notifications/WebNotificationProvider.h        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/UIProcess/Notifications/WebNotificationProvider.h        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -32,6 +32,9 @@
</span><span class="cx"> #include &lt;wtf/Vector.h&gt;
</span><span class="cx"> 
</span><span class="cx"> namespace API {
</span><ins>+
+class Dictionary;
+
</ins><span class="cx"> template&lt;&gt; struct ClientTraits&lt;WKNotificationProviderBase&gt; {
</span><span class="cx">     typedef std::tuple&lt;WKNotificationProviderV0&gt; Versions;
</span><span class="cx"> };
</span><span class="lines">@@ -39,7 +42,6 @@
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><del>-class ImmutableDictionary;
</del><span class="cx"> class WebNotification;
</span><span class="cx"> class WebNotificationManagerProxy;
</span><span class="cx"> class WebPageProxy;
</span><span class="lines">@@ -54,7 +56,7 @@
</span><span class="cx">     void addNotificationManager(WebNotificationManagerProxy*);
</span><span class="cx">     void removeNotificationManager(WebNotificationManagerProxy*);
</span><span class="cx">     
</span><del>-    PassRefPtr&lt;ImmutableDictionary&gt; notificationPermissions();
</del><ins>+    PassRefPtr&lt;API::Dictionary&gt; notificationPermissions();
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessPluginsPlugInAutoStartProvidercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Plugins/PlugInAutoStartProvider.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Plugins/PlugInAutoStartProvider.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/UIProcess/Plugins/PlugInAutoStartProvider.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx"> #include &quot;PlugInAutoStartProvider.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;APIArray.h&quot;
</span><del>-#include &quot;ImmutableDictionary.h&quot;
</del><ins>+#include &quot;APIDictionary.h&quot;
</ins><span class="cx"> #include &quot;WebContextClient.h&quot;
</span><span class="cx"> #include &quot;WebProcessMessages.h&quot;
</span><span class="cx"> #include &quot;WebProcessPool.h&quot;
</span><span class="lines">@@ -87,32 +87,32 @@
</span><span class="cx">     return sessionMap;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;ImmutableDictionary&gt; PlugInAutoStartProvider::autoStartOriginsTableCopy() const
</del><ins>+PassRefPtr&lt;API::Dictionary&gt; PlugInAutoStartProvider::autoStartOriginsTableCopy() const
</ins><span class="cx"> {
</span><del>-    ImmutableDictionary::MapType map;
</del><ins>+    API::Dictionary::MapType map;
</ins><span class="cx"> 
</span><span class="cx">     double now = currentTime();
</span><span class="cx">     for (const auto&amp; stringOriginHash : m_autoStartTable.get(SessionID::defaultSessionID())) {
</span><del>-        ImmutableDictionary::MapType hashMap;
</del><ins>+        API::Dictionary::MapType hashMap;
</ins><span class="cx">         for (const auto&amp; originHash : stringOriginHash.value) {
</span><span class="cx">             if (now &lt;= originHash.value)
</span><span class="cx">                 hashMap.set(String::number(originHash.key), API::Double::create(originHash.value));
</span><span class="cx">         }
</span><span class="cx">         if (hashMap.size())
</span><del>-            map.set(stringOriginHash.key, ImmutableDictionary::create(WTF::move(hashMap)));
</del><ins>+            map.set(stringOriginHash.key, API::Dictionary::create(WTF::move(hashMap)));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><del>-    return ImmutableDictionary::create(WTF::move(map));
</del><ins>+    return API::Dictionary::create(WTF::move(map));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PlugInAutoStartProvider::setAutoStartOriginsTable(ImmutableDictionary&amp; table)
</del><ins>+void PlugInAutoStartProvider::setAutoStartOriginsTable(API::Dictionary&amp; table)
</ins><span class="cx"> {
</span><span class="cx">     setAutoStartOriginsTableWithItemsPassingTest(table, [](double) {
</span><span class="cx">         return true;
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PlugInAutoStartProvider::setAutoStartOriginsFilteringOutEntriesAddedAfterTime(ImmutableDictionary&amp; table, double time)
</del><ins>+void PlugInAutoStartProvider::setAutoStartOriginsFilteringOutEntriesAddedAfterTime(API::Dictionary&amp; table, double time)
</ins><span class="cx"> {
</span><span class="cx">     double adjustedTimestamp = time + plugInAutoStartExpirationTimeThreshold;
</span><span class="cx">     setAutoStartOriginsTableWithItemsPassingTest(table, [adjustedTimestamp](double expirationTimestamp) {
</span><span class="lines">@@ -120,7 +120,7 @@
</span><span class="cx">     });
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void PlugInAutoStartProvider::setAutoStartOriginsTableWithItemsPassingTest(ImmutableDictionary&amp; table, std::function&lt;bool(double expirationTimestamp)&gt; isExpirationTimeAcceptable)
</del><ins>+void PlugInAutoStartProvider::setAutoStartOriginsTableWithItemsPassingTest(API::Dictionary&amp; table, std::function&lt;bool(double expirationTimestamp)&gt; isExpirationTimeAcceptable)
</ins><span class="cx"> {
</span><span class="cx">     ASSERT(isExpirationTimeAcceptable);
</span><span class="cx"> 
</span><span class="lines">@@ -132,7 +132,7 @@
</span><span class="cx"> 
</span><span class="cx">     for (auto&amp; strDict : table.map()) {
</span><span class="cx">         PlugInAutoStartOriginMap hashes;
</span><del>-        for (auto&amp; hashTime : static_cast&lt;ImmutableDictionary*&gt;(strDict.value.get())-&gt;map()) {
</del><ins>+        for (auto&amp; hashTime : static_cast&lt;API::Dictionary*&gt;(strDict.value.get())-&gt;map()) {
</ins><span class="cx">             bool ok;
</span><span class="cx">             unsigned hash = hashTime.key.toUInt(&amp;ok);
</span><span class="cx">             if (!ok)
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessPluginsPlugInAutoStartProviderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/Plugins/PlugInAutoStartProvider.h (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/Plugins/PlugInAutoStartProvider.h        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/UIProcess/Plugins/PlugInAutoStartProvider.h        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -37,11 +37,11 @@
</span><span class="cx"> 
</span><span class="cx"> namespace API {
</span><span class="cx"> class Array;
</span><ins>+class Dictionary;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><del>-class ImmutableDictionary;
</del><span class="cx"> class WebProcessPool;
</span><span class="cx"> 
</span><span class="cx"> typedef HashMap&lt;unsigned, double&gt; PlugInAutoStartOriginMap;
</span><span class="lines">@@ -56,9 +56,9 @@
</span><span class="cx">     void addAutoStartOriginHash(const String&amp; pageOrigin, unsigned plugInOriginHash, WebCore::SessionID);
</span><span class="cx">     void didReceiveUserInteraction(unsigned plugInOriginHash, WebCore::SessionID);
</span><span class="cx"> 
</span><del>-    PassRefPtr&lt;ImmutableDictionary&gt; autoStartOriginsTableCopy() const;
-    void setAutoStartOriginsTable(ImmutableDictionary&amp;);
-    void setAutoStartOriginsFilteringOutEntriesAddedAfterTime(ImmutableDictionary&amp;, double time);
</del><ins>+    PassRefPtr&lt;API::Dictionary&gt; autoStartOriginsTableCopy() const;
+    void setAutoStartOriginsTable(API::Dictionary&amp;);
+    void setAutoStartOriginsFilteringOutEntriesAddedAfterTime(API::Dictionary&amp;, double time);
</ins><span class="cx">     void setAutoStartOriginsArray(API::Array&amp;);
</span><span class="cx"> 
</span><span class="cx">     SessionPlugInAutoStartOriginMap autoStartOriginHashesCopy() const;
</span><span class="lines">@@ -67,7 +67,7 @@
</span><span class="cx"> private:
</span><span class="cx">     WebProcessPool* m_processPool;
</span><span class="cx"> 
</span><del>-    void setAutoStartOriginsTableWithItemsPassingTest(ImmutableDictionary&amp;, std::function&lt;bool(double expirationTimestamp)&gt;);
</del><ins>+    void setAutoStartOriginsTableWithItemsPassingTest(API::Dictionary&amp;, std::function&lt;bool(double expirationTimestamp)&gt;);
</ins><span class="cx"> 
</span><span class="cx">     typedef HashMap&lt;String, PlugInAutoStartOriginMap, CaseFoldingHash&gt; AutoStartTable;
</span><span class="cx">     typedef HashMap&lt;WebCore::SessionID, AutoStartTable&gt; SessionAutoStartTable;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessStatisticsRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/StatisticsRequest.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/StatisticsRequest.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/UIProcess/StatisticsRequest.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx"> #include &quot;StatisticsRequest.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;APIArray.h&quot;
</span><del>-#include &quot;MutableDictionary.h&quot;
</del><ins>+#include &quot;APIDictionary.h&quot;
</ins><span class="cx"> 
</span><span class="cx"> namespace WebKit {
</span><span class="cx"> 
</span><span class="lines">@@ -51,16 +51,16 @@
</span><span class="cx">     return requestID;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static void addToDictionaryFromHashMap(MutableDictionary* dictionary, const HashMap&lt;String, uint64_t&gt;&amp; map)
</del><ins>+static void addToDictionaryFromHashMap(API::Dictionary* dictionary, const HashMap&lt;String, uint64_t&gt;&amp; map)
</ins><span class="cx"> {
</span><span class="cx">     HashMap&lt;String, uint64_t&gt;::const_iterator end = map.end();
</span><span class="cx">     for (HashMap&lt;String, uint64_t&gt;::const_iterator it = map.begin(); it != end; ++it)
</span><span class="cx">         dictionary-&gt;set(it-&gt;key, RefPtr&lt;API::UInt64&gt;(API::UInt64::create(it-&gt;value)).get());
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-static PassRefPtr&lt;MutableDictionary&gt; createDictionaryFromHashMap(const HashMap&lt;String, uint64_t&gt;&amp; map)
</del><ins>+static PassRefPtr&lt;API::Dictionary&gt; createDictionaryFromHashMap(const HashMap&lt;String, uint64_t&gt;&amp; map)
</ins><span class="cx"> {
</span><del>-    RefPtr&lt;MutableDictionary&gt; result = MutableDictionary::create();
</del><ins>+    RefPtr&lt;API::Dictionary&gt; result = API::Dictionary::create();
</ins><span class="cx">     addToDictionaryFromHashMap(result.get(), map);
</span><span class="cx">     return result;
</span><span class="cx"> }
</span><span class="lines">@@ -71,7 +71,7 @@
</span><span class="cx">     m_outstandingRequests.remove(requestID);
</span><span class="cx"> 
</span><span class="cx">     if (!m_responseDictionary)
</span><del>-        m_responseDictionary = MutableDictionary::create();
</del><ins>+        m_responseDictionary = API::Dictionary::create();
</ins><span class="cx">     
</span><span class="cx">     // FIXME (Multi-WebProcess) &lt;rdar://problem/13200059&gt;: This code overwrites any previous response data received.
</span><span class="cx">     // When getting responses from multiple WebProcesses we need to combine items instead of clobbering them.
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessStatisticsRequesth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/StatisticsRequest.h (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/StatisticsRequest.h        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/UIProcess/StatisticsRequest.h        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -35,7 +35,7 @@
</span><span class="cx"> 
</span><span class="cx"> struct StatisticsData;
</span><span class="cx"> 
</span><del>-typedef GenericCallback&lt;ImmutableDictionary*&gt; DictionaryCallback;
</del><ins>+typedef GenericCallback&lt;API::Dictionary*&gt; DictionaryCallback;
</ins><span class="cx"> 
</span><span class="cx"> enum StatisticsRequestType {
</span><span class="cx">     StatisticsRequestTypeWebContent = 0x00000001,
</span><span class="lines">@@ -61,7 +61,7 @@
</span><span class="cx">     HashSet&lt;uint64_t&gt; m_outstandingRequests;
</span><span class="cx">     RefPtr&lt;DictionaryCallback&gt; m_callback;
</span><span class="cx"> 
</span><del>-    RefPtr&lt;MutableDictionary&gt; m_responseDictionary;
</del><ins>+    RefPtr&lt;API::Dictionary&gt; m_responseDictionary;
</ins><span class="cx"> };
</span><span class="cx"> 
</span><span class="cx"> } // namespace WebKit
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebDatabaseManagerProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/UIProcess/WebDatabaseManagerProxy.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -29,8 +29,8 @@
</span><span class="cx"> #if ENABLE(SQL_DATABASE)
</span><span class="cx"> 
</span><span class="cx"> #include &quot;APIArray.h&quot;
</span><ins>+#include &quot;APIDictionary.h&quot;
</ins><span class="cx"> #include &quot;APISecurityOrigin.h&quot;
</span><del>-#include &quot;ImmutableDictionary.h&quot;
</del><span class="cx"> #include &quot;WebDatabaseManagerMessages.h&quot;
</span><span class="cx"> #include &quot;WebDatabaseManagerProxyMessages.h&quot;
</span><span class="cx"> #include &quot;WebProcessPool.h&quot;
</span><span class="lines">@@ -190,7 +190,7 @@
</span><span class="cx">             if (databaseDetails.modificationTime())
</span><span class="cx">                 detailsMap.set(databaseDetailsModificationTimeKey(), API::Double::create(databaseDetails.modificationTime()));
</span><span class="cx"> 
</span><del>-            databases.uncheckedAppend(ImmutableDictionary::create(WTF::move(detailsMap)));
</del><ins>+            databases.uncheckedAppend(API::Dictionary::create(WTF::move(detailsMap)));
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         HashMap&lt;String, RefPtr&lt;API::Object&gt;&gt; originAndDatabasesMap;
</span><span class="lines">@@ -199,7 +199,7 @@
</span><span class="cx">         originAndDatabasesMap.set(originUsageKey(), API::UInt64::create(originAndDatabases.originUsage));
</span><span class="cx">         originAndDatabasesMap.set(databaseDetailsKey(), API::Array::create(WTF::move(databases)));
</span><span class="cx"> 
</span><del>-        result.uncheckedAppend(ImmutableDictionary::create(WTF::move(originAndDatabasesMap)));
</del><ins>+        result.uncheckedAppend(API::Dictionary::create(WTF::move(originAndDatabasesMap)));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     callback-&gt;performCallbackWithReturnValue(API::Array::create(WTF::move(result)).get());
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebFormClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebFormClient.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebFormClient.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/UIProcess/WebFormClient.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -26,8 +26,8 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;WebFormClient.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;APIDictionary.h&quot;
</ins><span class="cx"> #include &quot;APIString.h&quot;
</span><del>-#include &quot;ImmutableDictionary.h&quot;
</del><span class="cx"> #include &quot;WKAPICast.h&quot;
</span><span class="cx"> #include &quot;WebFormSubmissionListenerProxy.h&quot;
</span><span class="cx"> #include &quot;WebPageProxy.h&quot;
</span><span class="lines">@@ -44,10 +44,10 @@
</span><span class="cx">     if (!m_client.willSubmitForm)
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><del>-    ImmutableDictionary::MapType map;
</del><ins>+    API::Dictionary::MapType map;
</ins><span class="cx">     for (size_t i = 0; i &lt; textFieldValues.size(); ++i)
</span><span class="cx">         map.set(textFieldValues[i].first, API::String::create(textFieldValues[i].second));
</span><del>-    RefPtr&lt;ImmutableDictionary&gt; textFieldsMap = ImmutableDictionary::create(WTF::move(map));
</del><ins>+    RefPtr&lt;API::Dictionary&gt; textFieldsMap = API::Dictionary::create(WTF::move(map));
</ins><span class="cx"> 
</span><span class="cx">     m_client.willSubmitForm(toAPI(page), toAPI(frame), toAPI(sourceFrame), toAPI(textFieldsMap.get()), toAPI(userData), toAPI(listener), m_client.base.clientInfo);
</span><span class="cx">     return true;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebKeyValueStorageManagercpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebKeyValueStorageManager.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebKeyValueStorageManager.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/UIProcess/WebKeyValueStorageManager.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -116,7 +116,7 @@
</span><span class="cx">             if (originDetails.modificationTime)
</span><span class="cx">                 detailsMap.set(WebKeyValueStorageManager::modificationTimeKey(), API::Double::create(originDetails.modificationTime.valueOr(0)));
</span><span class="cx"> 
</span><del>-            result.uncheckedAppend(ImmutableDictionary::create(WTF::move(detailsMap)));
</del><ins>+            result.uncheckedAppend(API::Dictionary::create(WTF::move(detailsMap)));
</ins><span class="cx">         }
</span><span class="cx"> 
</span><span class="cx">         callbackFunction(API::Array::create(WTF::move(result)).get(), CallbackBase::Error::None);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebPageProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -1673,7 +1673,7 @@
</span><span class="cx">     pluginLoadPolicy = PluginInfoStore::defaultLoadPolicyForPlugin(plugin);
</span><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA)
</span><del>-    RefPtr&lt;ImmutableDictionary&gt; pluginInformation = createPluginInformationDictionary(plugin, frameURLString, String(), pageURLString, String(), String());
</del><ins>+    RefPtr&lt;API::Dictionary&gt; pluginInformation = createPluginInformationDictionary(plugin, frameURLString, String(), pageURLString, String(), String());
</ins><span class="cx">     pluginLoadPolicy = m_loaderClient-&gt;pluginLoadPolicy(this, static_cast&lt;PluginModuleLoadPolicy&gt;(pluginLoadPolicy), pluginInformation.get(), unavailabilityDescription);
</span><span class="cx"> #else
</span><span class="cx">     UNUSED_PARAM(frameURLString);
</span><span class="lines">@@ -3294,7 +3294,7 @@
</span><span class="cx">     MESSAGE_CHECK_URL(frameURLString);
</span><span class="cx">     MESSAGE_CHECK_URL(pageURLString);
</span><span class="cx"> 
</span><del>-    RefPtr&lt;ImmutableDictionary&gt; pluginInformation;
</del><ins>+    RefPtr&lt;API::Dictionary&gt; pluginInformation;
</ins><span class="cx">     String newMimeType = mimeType;
</span><span class="cx">     PluginModuleInfo plugin = m_process-&gt;processPool().pluginInfoStore().findPlugin(newMimeType, URL(URL(), pluginURLString));
</span><span class="cx">     pluginInformation = createPluginInformationDictionary(plugin, frameURLString, mimeType, pageURLString, pluginspageAttributeURLString, pluginURLString);
</span><span class="lines">@@ -4962,7 +4962,7 @@
</span><span class="cx"> 
</span><span class="cx"> void WebPageProxy::didBlockInsecurePluginVersion(const String&amp; mimeType, const String&amp; pluginURLString, const String&amp; frameURLString, const String&amp; pageURLString, bool replacementObscured)
</span><span class="cx"> {
</span><del>-    RefPtr&lt;ImmutableDictionary&gt; pluginInformation;
</del><ins>+    RefPtr&lt;API::Dictionary&gt; pluginInformation;
</ins><span class="cx"> 
</span><span class="cx"> #if PLATFORM(COCOA) &amp;&amp; ENABLE(NETSCAPE_PLUGIN_API)
</span><span class="cx">     String newMimeType = mimeType;
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebProcessPoolcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -33,7 +33,6 @@
</span><span class="cx"> #include &quot;DownloadProxy.h&quot;
</span><span class="cx"> #include &quot;DownloadProxyMessages.h&quot;
</span><span class="cx"> #include &quot;Logging.h&quot;
</span><del>-#include &quot;MutableDictionary.h&quot;
</del><span class="cx"> #include &quot;SandboxExtension.h&quot;
</span><span class="cx"> #include &quot;StatisticsData.h&quot;
</span><span class="cx"> #include &quot;TextChecker.h&quot;
</span><span class="lines">@@ -1327,7 +1326,7 @@
</span><span class="cx"> #endif
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebProcessPool::getStatistics(uint32_t statisticsMask, std::function&lt;void (ImmutableDictionary*, CallbackBase::Error)&gt; callbackFunction)
</del><ins>+void WebProcessPool::getStatistics(uint32_t statisticsMask, std::function&lt;void (API::Dictionary*, CallbackBase::Error)&gt; callbackFunction)
</ins><span class="cx"> {
</span><span class="cx">     if (!statisticsMask) {
</span><span class="cx">         callbackFunction(nullptr, CallbackBase::Error::Unknown);
</span><span class="lines">@@ -1418,12 +1417,12 @@
</span><span class="cx">     m_plugInAutoStartProvider.didReceiveUserInteraction(plugInOriginHash, sessionID);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-PassRefPtr&lt;ImmutableDictionary&gt; WebProcessPool::plugInAutoStartOriginHashes() const
</del><ins>+PassRefPtr&lt;API::Dictionary&gt; WebProcessPool::plugInAutoStartOriginHashes() const
</ins><span class="cx"> {
</span><span class="cx">     return m_plugInAutoStartProvider.autoStartOriginsTableCopy();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebProcessPool::setPlugInAutoStartOriginHashes(ImmutableDictionary&amp; dictionary)
</del><ins>+void WebProcessPool::setPlugInAutoStartOriginHashes(API::Dictionary&amp; dictionary)
</ins><span class="cx"> {
</span><span class="cx">     m_plugInAutoStartProvider.setAutoStartOriginsTable(dictionary);
</span><span class="cx"> }
</span><span class="lines">@@ -1433,7 +1432,7 @@
</span><span class="cx">     m_plugInAutoStartProvider.setAutoStartOriginsArray(array);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void WebProcessPool::setPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime(ImmutableDictionary&amp; dictionary, double time)
</del><ins>+void WebProcessPool::setPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime(API::Dictionary&amp; dictionary, double time)
</ins><span class="cx"> {
</span><span class="cx">     m_plugInAutoStartProvider.setAutoStartOriginsFilteringOutEntriesAddedAfterTime(dictionary, time);
</span><span class="cx"> }
</span><span class="lines">@@ -1462,7 +1461,7 @@
</span><span class="cx">     plugins.reserveInitialCapacity(pluginModules.size());
</span><span class="cx"> 
</span><span class="cx">     for (const auto&amp; pluginModule : pluginModules) {
</span><del>-        ImmutableDictionary::MapType map;
</del><ins>+        API::Dictionary::MapType map;
</ins><span class="cx">         map.set(ASCIILiteral(&quot;path&quot;), API::String::create(pluginModule.path));
</span><span class="cx">         map.set(ASCIILiteral(&quot;name&quot;), API::String::create(pluginModule.info.name));
</span><span class="cx">         map.set(ASCIILiteral(&quot;file&quot;), API::String::create(pluginModule.info.file));
</span><span class="lines">@@ -1479,7 +1478,7 @@
</span><span class="cx">         map.set(ASCIILiteral(&quot;version&quot;), API::String::create(pluginModule.versionString));
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-        plugins.uncheckedAppend(ImmutableDictionary::create(WTF::move(map)));
</del><ins>+        plugins.uncheckedAppend(API::Dictionary::create(WTF::move(map)));
</ins><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx">     m_client.plugInInformationBecameAvailable(this, API::Array::create(WTF::move(plugins)).get());
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebProcessPoolh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebProcessPool.h (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebProcessPool.h        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/UIProcess/WebProcessPool.h        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -26,10 +26,10 @@
</span><span class="cx"> #ifndef WebProcessPool_h
</span><span class="cx"> #define WebProcessPool_h
</span><span class="cx"> 
</span><ins>+#include &quot;APIDictionary.h&quot;
</ins><span class="cx"> #include &quot;APIObject.h&quot;
</span><span class="cx"> #include &quot;DownloadProxyMap.h&quot;
</span><span class="cx"> #include &quot;GenericCallback.h&quot;
</span><del>-#include &quot;ImmutableDictionary.h&quot;
</del><span class="cx"> #include &quot;MessageReceiver.h&quot;
</span><span class="cx"> #include &quot;MessageReceiverMap.h&quot;
</span><span class="cx"> #include &quot;PlugInAutoStartProvider.h&quot;
</span><span class="lines">@@ -84,7 +84,7 @@
</span><span class="cx"> struct WebPageConfiguration;
</span><span class="cx"> struct WebProcessCreationParameters;
</span><span class="cx">     
</span><del>-typedef GenericCallback&lt;ImmutableDictionary*&gt; DictionaryCallback;
</del><ins>+typedef GenericCallback&lt;API::Dictionary*&gt; DictionaryCallback;
</ins><span class="cx"> 
</span><span class="cx"> #if ENABLE(NETWORK_PROCESS)
</span><span class="cx"> struct NetworkProcessCreationParameters;
</span><span class="lines">@@ -276,7 +276,7 @@
</span><span class="cx">     void setHTTPPipeliningEnabled(bool);
</span><span class="cx">     bool httpPipeliningEnabled() const;
</span><span class="cx"> 
</span><del>-    void getStatistics(uint32_t statisticsMask, std::function&lt;void (ImmutableDictionary*, CallbackBase::Error)&gt;);
</del><ins>+    void getStatistics(uint32_t statisticsMask, std::function&lt;void (API::Dictionary*, CallbackBase::Error)&gt;);
</ins><span class="cx">     
</span><span class="cx">     void garbageCollectJavaScriptObjects();
</span><span class="cx">     void setJavaScriptGarbageCollectorTimerEnabled(bool flag);
</span><span class="lines">@@ -289,10 +289,10 @@
</span><span class="cx"> 
</span><span class="cx">     void textCheckerStateChanged();
</span><span class="cx"> 
</span><del>-    PassRefPtr&lt;ImmutableDictionary&gt; plugInAutoStartOriginHashes() const;
-    void setPlugInAutoStartOriginHashes(ImmutableDictionary&amp;);
</del><ins>+    PassRefPtr&lt;API::Dictionary&gt; plugInAutoStartOriginHashes() const;
+    void setPlugInAutoStartOriginHashes(API::Dictionary&amp;);
</ins><span class="cx">     void setPlugInAutoStartOrigins(API::Array&amp;);
</span><del>-    void setPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime(ImmutableDictionary&amp;, double time);
</del><ins>+    void setPlugInAutoStartOriginsFilteringOutEntriesAddedAfterTime(API::Dictionary&amp;, double time);
</ins><span class="cx"> 
</span><span class="cx">     // Network Process Management
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessWebResourceCacheManagerProxycpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/UIProcess/WebResourceCacheManagerProxy.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -26,8 +26,8 @@
</span><span class="cx"> #include &quot;config.h&quot;
</span><span class="cx"> #include &quot;WebResourceCacheManagerProxy.h&quot;
</span><span class="cx"> 
</span><ins>+#include &quot;APIDictionary.h&quot;
</ins><span class="cx"> #include &quot;APISecurityOrigin.h&quot;
</span><del>-#include &quot;ImmutableDictionary.h&quot;
</del><span class="cx"> #include &quot;SecurityOriginData.h&quot;
</span><span class="cx"> #include &quot;WebProcessPool.h&quot;
</span><span class="cx"> #include &quot;WebResourceCacheManagerMessages.h&quot;
</span></span></pre></div>
<a id="trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -1046,6 +1046,8 @@
</span><span class="cx">                 7C135AA8173B0BCA00586AE2 /* WKPluginInformation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C135AA6173B0BCA00586AE2 /* WKPluginInformation.cpp */; };
</span><span class="cx">                 7C135AA9173B0BCA00586AE2 /* WKPluginInformation.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C135AA7173B0BCA00586AE2 /* WKPluginInformation.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 7C135AAC173B0CFF00586AE2 /* PluginInformationMac.mm in Sources */ = {isa = PBXBuildFile; fileRef = 7C135AAA173B0CFF00586AE2 /* PluginInformationMac.mm */; };
</span><ins>+                7C1BA33D1A4A0E600043E249 /* APIDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C1BA33B1A4A0E600043E249 /* APIDictionary.cpp */; };
+                7C1BA33E1A4A0E600043E249 /* APIDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C1BA33C1A4A0E600043E249 /* APIDictionary.h */; };
</ins><span class="cx">                 7C361D721927FA360036A59D /* WebScriptMessageHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C361D6F1927FA360036A59D /* WebScriptMessageHandler.cpp */; };
</span><span class="cx">                 7C361D731927FA360036A59D /* WebScriptMessageHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 7C361D701927FA360036A59D /* WebScriptMessageHandler.h */; };
</span><span class="cx">                 7C361D78192803BD0036A59D /* WebUserContentControllerProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7C361D76192803BD0036A59D /* WebUserContentControllerProxyMessageReceiver.cpp */; };
</span><span class="lines">@@ -1444,8 +1446,6 @@
</span><span class="cx">                 BCAF361F16CA28CD00D4E9FC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC3DE46815A91763008D26FC /* Foundation.framework */; };
</span><span class="cx">                 BCAF362016CA28D600D4E9FC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC3DE46815A91763008D26FC /* Foundation.framework */; };
</span><span class="cx">                 BCAF362216CA292B00D4E9FC /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BC3DE46815A91763008D26FC /* Foundation.framework */; };
</span><del>-                BCB0AEE9122F53E300B1341E /* MutableDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = BCB0AEE7122F53E300B1341E /* MutableDictionary.h */; };
-                BCB0AEEA122F53E300B1341E /* MutableDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCB0AEE8122F53E300B1341E /* MutableDictionary.cpp */; };
</del><span class="cx">                 BCB0B0DC12305A2500B1341E /* WebContextUserMessageCoders.h in Headers */ = {isa = PBXBuildFile; fileRef = BCB0B0DB12305A2500B1341E /* WebContextUserMessageCoders.h */; };
</span><span class="cx">                 BCB0B0DE12305A8C00B1341E /* InjectedBundleUserMessageCoders.h in Headers */ = {isa = PBXBuildFile; fileRef = BCB0B0DD12305A8C00B1341E /* InjectedBundleUserMessageCoders.h */; };
</span><span class="cx">                 BCB0B0E012305AB100B1341E /* UserMessageCoders.h in Headers */ = {isa = PBXBuildFile; fileRef = BCB0B0DF12305AB100B1341E /* UserMessageCoders.h */; };
</span><span class="lines">@@ -1466,8 +1466,6 @@
</span><span class="cx">                 BCBAACF51452324F0053F82F /* WKBrowsingContextGroup.mm in Sources */ = {isa = PBXBuildFile; fileRef = BCBAACEF145232440053F82F /* WKBrowsingContextGroup.mm */; };
</span><span class="cx">                 BCBAACF61452324F0053F82F /* WKBrowsingContextGroupPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBAACF0145232480053F82F /* WKBrowsingContextGroupPrivate.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><span class="cx">                 BCBAAD0B14560A430053F82F /* WKBrowsingContextLoadDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBAAD0A14560A430053F82F /* WKBrowsingContextLoadDelegate.h */; settings = {ATTRIBUTES = (Private, ); }; };
</span><del>-                BCBCB0CB1215E32100DE59CA /* ImmutableDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBCB0CA1215E32100DE59CA /* ImmutableDictionary.h */; };
-                BCBCB0CD1215E33A00DE59CA /* ImmutableDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBCB0CC1215E33A00DE59CA /* ImmutableDictionary.cpp */; };
</del><span class="cx">                 BCBD3914125BB1A800D2C29F /* WebPageProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBD3912125BB1A800D2C29F /* WebPageProxyMessageReceiver.cpp */; };
</span><span class="cx">                 BCBD3915125BB1A800D2C29F /* WebPageProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBD3913125BB1A800D2C29F /* WebPageProxyMessages.h */; };
</span><span class="cx">                 BCBECDE716B6416800047A1A /* XPCServiceEntryPoint.mm in Sources */ = {isa = PBXBuildFile; fileRef = BCBECDE516B6416700047A1A /* XPCServiceEntryPoint.mm */; };
</span><span class="lines">@@ -3139,6 +3137,8 @@
</span><span class="cx">                 7C135AA6173B0BCA00586AE2 /* WKPluginInformation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WKPluginInformation.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7C135AA7173B0BCA00586AE2 /* WKPluginInformation.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKPluginInformation.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7C135AAA173B0CFF00586AE2 /* PluginInformationMac.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = PluginInformationMac.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><ins>+                7C1BA33B1A4A0E600043E249 /* APIDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = APIDictionary.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
+                7C1BA33C1A4A0E600043E249 /* APIDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIDictionary.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</ins><span class="cx">                 7C361D6F1927FA360036A59D /* WebScriptMessageHandler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebScriptMessageHandler.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7C361D701927FA360036A59D /* WebScriptMessageHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebScriptMessageHandler.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 7C361D751928028B0036A59D /* WebUserContentControllerProxy.messages.in */ = {isa = PBXFileReference; lastKnownFileType = text; path = WebUserContentControllerProxy.messages.in; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -3564,8 +3564,6 @@
</span><span class="cx">                 BCACC44016B24CAA00B6E092 /* Info-OSX.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = &quot;Info-OSX.plist&quot;; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCACC44316B24CAA00B6E092 /* Info-OSX.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = &quot;Info-OSX.plist&quot;; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCAE9DE9160C097400A33217 /* com.apple.WebKit.WebContent.Development.xpc */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = com.apple.WebKit.WebContent.Development.xpc; sourceTree = BUILT_PRODUCTS_DIR; };
</span><del>-                BCB0AEE7122F53E300B1341E /* MutableDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MutableDictionary.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                BCB0AEE8122F53E300B1341E /* MutableDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MutableDictionary.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 BCB0B0DB12305A2500B1341E /* WebContextUserMessageCoders.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebContextUserMessageCoders.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCB0B0DD12305A8C00B1341E /* InjectedBundleUserMessageCoders.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InjectedBundleUserMessageCoders.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCB0B0DF12305AB100B1341E /* UserMessageCoders.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = UserMessageCoders.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -3587,8 +3585,6 @@
</span><span class="cx">                 BCBAACEF145232440053F82F /* WKBrowsingContextGroup.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = WKBrowsingContextGroup.mm; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCBAACF0145232480053F82F /* WKBrowsingContextGroupPrivate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKBrowsingContextGroupPrivate.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCBAAD0A14560A430053F82F /* WKBrowsingContextLoadDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKBrowsingContextLoadDelegate.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><del>-                BCBCB0CA1215E32100DE59CA /* ImmutableDictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ImmutableDictionary.h; sourceTree = &quot;&lt;group&gt;&quot;; };
-                BCBCB0CC1215E33A00DE59CA /* ImmutableDictionary.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ImmutableDictionary.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</del><span class="cx">                 BCBD38FA125BAB9A00D2C29F /* WebPageProxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebPageProxy.messages.in; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCBD3912125BB1A800D2C29F /* WebPageProxyMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebPageProxyMessageReceiver.cpp; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="cx">                 BCBD3913125BB1A800D2C29F /* WebPageProxyMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebPageProxyMessages.h; sourceTree = &quot;&lt;group&gt;&quot;; };
</span><span class="lines">@@ -4499,14 +4495,10 @@
</span><span class="cx">                                 762B7481120BBA0100819339 /* FontSmoothingLevel.h */,
</span><span class="cx">                                 F638954F133BEF38008941D5 /* HTTPCookieAcceptPolicy.h */,
</span><span class="cx">                                 BCCF6B2312C93E7A008F9C35 /* ImageOptions.h */,
</span><del>-                                BCBCB0CC1215E33A00DE59CA /* ImmutableDictionary.cpp */,
-                                BCBCB0CA1215E32100DE59CA /* ImmutableDictionary.h */,
</del><span class="cx">                                 C58CDF2B1887609F00871536 /* InteractionInformationAtPosition.cpp */,
</span><span class="cx">                                 C58CDF2C1887609F00871536 /* InteractionInformationAtPosition.h */,
</span><span class="cx">                                 1A92DC1212F8BAB90017AF65 /* LayerTreeContext.cpp */,
</span><span class="cx">                                 1A92DC1012F8BA460017AF65 /* LayerTreeContext.h */,
</span><del>-                                BCB0AEE8122F53E300B1341E /* MutableDictionary.cpp */,
-                                BCB0AEE7122F53E300B1341E /* MutableDictionary.h */,
</del><span class="cx">                                 C02BFF1512514FD8009CCBEA /* NativeWebKeyboardEvent.h */,
</span><span class="cx">                                 31EA25D3134F78D6005B1452 /* NativeWebMouseEvent.h */,
</span><span class="cx">                                 263172CE18B469490065B9C3 /* NativeWebTouchEvent.h */,
</span><span class="lines">@@ -6769,6 +6761,8 @@
</span><span class="cx">                                 1A3DD205125E5A2F004515E6 /* APIClient.h */,
</span><span class="cx">                                 1AAB037B185F99D800EDF501 /* APIData.cpp */,
</span><span class="cx">                                 51578B821209ECEF00A37C4A /* APIData.h */,
</span><ins>+                                7C1BA33B1A4A0E600043E249 /* APIDictionary.cpp */,
+                                7C1BA33C1A4A0E600043E249 /* APIDictionary.h */,
</ins><span class="cx">                                 BC575612126E0138006F0F12 /* APIError.cpp */,
</span><span class="cx">                                 516A4A5B120A2CCD00C05B7F /* APIError.h */,
</span><span class="cx">                                 1AC1336F18566C7C00F3EC05 /* APIFrameHandle.cpp */,
</span><span class="lines">@@ -7271,6 +7265,7 @@
</span><span class="cx">                                 1AEFD27911D16C81008219D3 /* ArgumentCoder.h in Headers */,
</span><span class="cx">                                 1AEFD2F711D1807B008219D3 /* ArgumentCoders.h in Headers */,
</span><span class="cx">                                 1AAF0C4A12B16334008E49E2 /* ArgumentCodersCF.h in Headers */,
</span><ins>+                                7C1BA33E1A4A0E600043E249 /* APIDictionary.h in Headers */,
</ins><span class="cx">                                 E179FD9C134D38060015B883 /* ArgumentCodersMac.h in Headers */,
</span><span class="cx">                                 BC032DA610F437D10058C15A /* ArgumentDecoder.h in Headers */,
</span><span class="cx">                                 BC032DA810F437D10058C15A /* ArgumentEncoder.h in Headers */,
</span><span class="lines">@@ -7350,7 +7345,6 @@
</span><span class="cx">                                 518353DB1885BF8C00D9FE44 /* IDBSerialization.h in Headers */,
</span><span class="cx">                                 51E351CB180F2CCC00E53BE9 /* IDBUtilities.h in Headers */,
</span><span class="cx">                                 BCCF6B2512C93E7A008F9C35 /* ImageOptions.h in Headers */,
</span><del>-                                BCBCB0CB1215E32100DE59CA /* ImmutableDictionary.h in Headers */,
</del><span class="cx">                                 1A1EC69E1872092100B951F0 /* ImportanceAssertion.h in Headers */,
</span><span class="cx">                                 BC204EE311C83E98008F3375 /* InjectedBundle.h in Headers */,
</span><span class="cx">                                 935EEBA2127761D0003322B8 /* InjectedBundleBackForwardList.h in Headers */,
</span><span class="lines">@@ -7394,7 +7388,6 @@
</span><span class="cx">                                 1A3EED0F161A535400AEB4F5 /* MessageReceiverMap.h in Headers */,
</span><span class="cx">                                 1AAB037A185A7C6A00EDF501 /* MessageSender.h in Headers */,
</span><span class="cx">                                 C0E3AA7C1209E83C00A49D01 /* Module.h in Headers */,
</span><del>-                                BCB0AEE9122F53E300B1341E /* MutableDictionary.h in Headers */,
</del><span class="cx">                                 263172CF18B469490065B9C3 /* NativeWebTouchEvent.h in Headers */,
</span><span class="cx">                                 1ADCB86B189831B30022EE5A /* NavigationActionData.h in Headers */,
</span><span class="cx">                                 1ABC3DF61899E437004F0626 /* NavigationState.h in Headers */,
</span><span class="lines">@@ -9034,7 +9027,6 @@
</span><span class="cx">                                 2DA049B7180CCD0A00AAFA9E /* GraphicsLayerCARemote.cpp in Sources */,
</span><span class="cx">                                 518353DA1885BF8C00D9FE44 /* IDBSerialization.cpp in Sources */,
</span><span class="cx">                                 51E351CA180F2CCC00E53BE9 /* IDBUtilities.cpp in Sources */,
</span><del>-                                BCBCB0CD1215E33A00DE59CA /* ImmutableDictionary.cpp in Sources */,
</del><span class="cx">                                 BC204EE211C83E98008F3375 /* InjectedBundle.cpp in Sources */,
</span><span class="cx">                                 935EEBA1127761CC003322B8 /* InjectedBundleBackForwardList.cpp in Sources */,
</span><span class="cx">                                 935EEBA3127761D3003322B8 /* InjectedBundleBackForwardListItem.cpp in Sources */,
</span><span class="lines">@@ -9079,7 +9071,6 @@
</span><span class="cx">                                 1AAB0379185A7C6A00EDF501 /* MessageSender.cpp in Sources */,
</span><span class="cx">                                 C0E3AA7B1209E83500A49D01 /* Module.cpp in Sources */,
</span><span class="cx">                                 C0E3AA7A1209E83000A49D01 /* ModuleCF.cpp in Sources */,
</span><del>-                                BCB0AEEA122F53E300B1341E /* MutableDictionary.cpp in Sources */,
</del><span class="cx">                                 2DA9449E1884E4F000ED86DB /* NativeWebKeyboardEventIOS.mm in Sources */,
</span><span class="cx">                                 C02BFF1E1251502E009CCBEA /* NativeWebKeyboardEventMac.mm in Sources */,
</span><span class="cx">                                 31EA25D2134F78C0005B1452 /* NativeWebMouseEventMac.mm in Sources */,
</span><span class="lines">@@ -9247,6 +9238,7 @@
</span><span class="cx">                                 1A44B95B16B73F9F00B7BBD8 /* StorageManager.cpp in Sources */,
</span><span class="cx">                                 1AB31A9616BC688100F6DBC9 /* StorageManagerMessageReceiver.cpp in Sources */,
</span><span class="cx">                                 1A44B95716B737AA00B7BBD8 /* StorageNamespaceImpl.cpp in Sources */,
</span><ins>+                                7C1BA33D1A4A0E600043E249 /* APIDictionary.cpp in Sources */,
</ins><span class="cx">                                 1AE00D6B18327C1200087DD7 /* StringReference.cpp in Sources */,
</span><span class="cx">                                 296BD85E15019BC30071F424 /* StringUtilities.mm in Sources */,
</span><span class="cx">                                 1ZZ417EF12C00D87002BE67B /* TextCheckerCompletion.cpp in Sources */,
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleInjectedBundlePageFormClientcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp (177698 => 177699)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp        2014-12-23 23:06:10 UTC (rev 177698)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp        2014-12-23 23:07:40 UTC (rev 177699)
</span><span class="lines">@@ -27,7 +27,7 @@
</span><span class="cx"> #include &quot;InjectedBundlePageFormClient.h&quot;
</span><span class="cx"> 
</span><span class="cx"> #include &quot;APIArray.h&quot;
</span><del>-#include &quot;ImmutableDictionary.h&quot;
</del><ins>+#include &quot;APIDictionary.h&quot;
</ins><span class="cx"> #include &quot;InjectedBundleNodeHandle.h&quot;
</span><span class="cx"> #include &quot;WKAPICast.h&quot;
</span><span class="cx"> #include &quot;WKBundleAPICast.h&quot;
</span><span class="lines">@@ -133,10 +133,10 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;InjectedBundleNodeHandle&gt; nodeHandle = InjectedBundleNodeHandle::getOrCreate(formElement);
</span><span class="cx"> 
</span><del>-    ImmutableDictionary::MapType map;
</del><ins>+    API::Dictionary::MapType map;
</ins><span class="cx">     for (size_t i = 0; i &lt; values.size(); ++i)
</span><span class="cx">         map.set(values[i].first, API::String::create(values[i].second));
</span><del>-    auto textFieldsMap = ImmutableDictionary::create(WTF::move(map));
</del><ins>+    auto textFieldsMap = API::Dictionary::create(WTF::move(map));
</ins><span class="cx"> 
</span><span class="cx">     m_client.willSendSubmitEvent(toAPI(page), toAPI(nodeHandle.get()), toAPI(frame), toAPI(sourceFrame), toAPI(textFieldsMap.get()), m_client.base.clientInfo);
</span><span class="cx"> }
</span><span class="lines">@@ -148,10 +148,10 @@
</span><span class="cx"> 
</span><span class="cx">     RefPtr&lt;InjectedBundleNodeHandle&gt; nodeHandle = InjectedBundleNodeHandle::getOrCreate(formElement);
</span><span class="cx"> 
</span><del>-    ImmutableDictionary::MapType map;
</del><ins>+    API::Dictionary::MapType map;
</ins><span class="cx">     for (size_t i = 0; i &lt; values.size(); ++i)
</span><span class="cx">         map.set(values[i].first, API::String::create(values[i].second));
</span><del>-    auto textFieldsMap = ImmutableDictionary::create(WTF::move(map));
</del><ins>+    auto textFieldsMap = API::Dictionary::create(WTF::move(map));
</ins><span class="cx"> 
</span><span class="cx">     WKTypeRef userDataToPass = 0;
</span><span class="cx">     m_client.willSubmitForm(toAPI(page), toAPI(nodeHandle.get()), toAPI(frame), toAPI(sourceFrame), toAPI(textFieldsMap.get()), &amp;userDataToPass, m_client.base.clientInfo);
</span></span></pre>
</div>
</div>

</body>
</html>