<!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>[159981] 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/159981">159981</a></dd>
<dt>Author</dt> <dd>andersca@apple.com</dd>
<dt>Date</dt> <dd>2013-12-02 16:40:33 -0800 (Mon, 02 Dec 2013)</dd>
</dl>

<h3>Log Message</h3>
<pre>Add versioned structs for all clients except the ones in WKContext.h
https://bugs.webkit.org/show_bug.cgi?id=125120

Reviewed by Andreas Kling.

* Shared/API/c/WKConnectionRef.h:
* UIProcess/API/C/WKCookieManager.h:
* UIProcess/API/C/WKDatabaseManager.h:
* UIProcess/API/C/WKGeolocationManager.h:
* UIProcess/API/C/WKIconDatabase.h:
* UIProcess/API/C/WKNotificationProvider.h:
* UIProcess/API/C/WKPageContextMenuClient.h:
* UIProcess/API/C/WKPageFindClient.h:
* UIProcess/API/C/WKPageFindMatchesClient.h:
* UIProcess/API/C/WKPageFormClient.h:
* UIProcess/API/C/WKPageLoaderClient.h:
* UIProcess/API/C/WKPagePolicyClient.h:
* UIProcess/API/C/WKPageUIClient.h:
* WebProcess/InjectedBundle/API/c/WKBundle.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
* WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h:
* WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2SharedAPIcWKConnectionRefh">trunk/Source/WebKit2/Shared/API/c/WKConnectionRef.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKCookieManagerh">trunk/Source/WebKit2/UIProcess/API/C/WKCookieManager.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKDatabaseManagerh">trunk/Source/WebKit2/UIProcess/API/C/WKDatabaseManager.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKGeolocationManagerh">trunk/Source/WebKit2/UIProcess/API/C/WKGeolocationManager.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKIconDatabaseh">trunk/Source/WebKit2/UIProcess/API/C/WKIconDatabase.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKNotificationProviderh">trunk/Source/WebKit2/UIProcess/API/C/WKNotificationProvider.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKPageContextMenuClienth">trunk/Source/WebKit2/UIProcess/API/C/WKPageContextMenuClient.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKPageFindClienth">trunk/Source/WebKit2/UIProcess/API/C/WKPageFindClient.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKPageFindMatchesClienth">trunk/Source/WebKit2/UIProcess/API/C/WKPageFindMatchesClient.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKPageFormClienth">trunk/Source/WebKit2/UIProcess/API/C/WKPageFormClient.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKPageLoaderClienth">trunk/Source/WebKit2/UIProcess/API/C/WKPageLoaderClient.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKPagePolicyClienth">trunk/Source/WebKit2/UIProcess/API/C/WKPagePolicyClient.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICWKPageUIClienth">trunk/Source/WebKit2/UIProcess/API/C/WKPageUIClient.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundleh">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageBannerh">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageContextMenuClienth">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageDiagnosticLoggingClienth">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageEditorClienth">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageFormClienth">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageFullScreenClienth">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageLoaderClienth">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageOverlayh">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePagePolicyClienth">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageResourceLoadClienth">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h</a></li>
<li><a href="#trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageUIClienth">trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/ChangeLog        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -1,5 +1,38 @@
</span><span class="cx"> 2013-12-02  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><ins>+        Add versioned structs for all clients except the ones in WKContext.h
+        https://bugs.webkit.org/show_bug.cgi?id=125120
+
+        Reviewed by Andreas Kling.
+
+        * Shared/API/c/WKConnectionRef.h:
+        * UIProcess/API/C/WKCookieManager.h:
+        * UIProcess/API/C/WKDatabaseManager.h:
+        * UIProcess/API/C/WKGeolocationManager.h:
+        * UIProcess/API/C/WKIconDatabase.h:
+        * UIProcess/API/C/WKNotificationProvider.h:
+        * UIProcess/API/C/WKPageContextMenuClient.h:
+        * UIProcess/API/C/WKPageFindClient.h:
+        * UIProcess/API/C/WKPageFindMatchesClient.h:
+        * UIProcess/API/C/WKPageFormClient.h:
+        * UIProcess/API/C/WKPageLoaderClient.h:
+        * UIProcess/API/C/WKPagePolicyClient.h:
+        * UIProcess/API/C/WKPageUIClient.h:
+        * WebProcess/InjectedBundle/API/c/WKBundle.h:
+        * WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h:
+        * WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h:
+        * WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h:
+        * WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h:
+        * WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h:
+        * WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h:
+        * WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h:
+        * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
+        * WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h:
+        * WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h:
+        * WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
+
+2013-12-02  Anders Carlsson  &lt;andersca@apple.com&gt;
+
</ins><span class="cx">         Split bundle page clients out into separate headers
</span><span class="cx">         https://bugs.webkit.org/show_bug.cgi?id=125115
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedAPIcWKConnectionRefh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/API/c/WKConnectionRef.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/API/c/WKConnectionRef.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/Shared/API/c/WKConnectionRef.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -35,16 +35,30 @@
</span><span class="cx"> typedef void (*WKConnectionDidReceiveMessageCallback)(WKConnectionRef connection, WKStringRef messageName, WKTypeRef messageBody, const void *clientInfo);
</span><span class="cx"> typedef void (*WKConnectionDidCloseCallback)(WKConnectionRef connection, const void* clientInfo);
</span><span class="cx"> 
</span><del>-struct WKConnectionClient {
</del><ins>+typedef struct WKConnectionClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKConnectionClientBase;
+
+typedef struct WKConnectionClientV0 {
+    WKConnectionClientBase                                              base;
+
+    // Version 0.
</ins><span class="cx">     WKConnectionDidReceiveMessageCallback                               didReceiveMessage;
</span><span class="cx">     WKConnectionDidCloseCallback                                        didClose;
</span><del>-};
-typedef struct WKConnectionClient WKConnectionClient;
</del><ins>+} WKConnectionClientV0;
</ins><span class="cx"> 
</span><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { WKConnectionClientCurrentVersion = 0 };
</span><ins>+typedef struct WKConnectionClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
</ins><span class="cx"> 
</span><ins>+    // Version 0.
+    WKConnectionDidReceiveMessageCallback                               didReceiveMessage;
+    WKConnectionDidCloseCallback                                        didClose;
+} WKConnectionClient;
+
</ins><span class="cx"> WK_EXPORT WKTypeID WKConnectionGetTypeID();
</span><span class="cx"> 
</span><span class="cx"> WK_EXPORT void WKConnectionSetConnectionClient(WKConnectionRef connection, const WKConnectionClient* client);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKCookieManagerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKCookieManager.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKCookieManager.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKCookieManager.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -42,15 +42,28 @@
</span><span class="cx"> // Cookie Manager Client
</span><span class="cx"> typedef void (*WKCookieManagerCookiesDidChangeCallback)(WKCookieManagerRef cookieManager, const void *clientInfo);
</span><span class="cx"> 
</span><del>-struct WKCookieManagerClient {
</del><ins>+typedef struct WKCookieManagerClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKCookieManagerClientBase;
+
+typedef struct WKCookieManagerClientV0 {
+    WKCookieManagerClientBase                                           base;
+
+    // Version 0.
</ins><span class="cx">     WKCookieManagerCookiesDidChangeCallback                             cookiesDidChange;
</span><del>-};
-typedef struct WKCookieManagerClient WKCookieManagerClient;
</del><ins>+} WKCookieManagerClientV0;
</ins><span class="cx"> 
</span><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKCookieManagerClientCurrentVersion = 0 };
</span><ins>+typedef struct WKCookieManagerClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
</ins><span class="cx"> 
</span><ins>+    // Version 0.
+    WKCookieManagerCookiesDidChangeCallback                             cookiesDidChange;
+} WKCookieManagerClient;
+
</ins><span class="cx"> WK_EXPORT WKTypeID WKCookieManagerGetTypeID();
</span><span class="cx"> 
</span><span class="cx"> WK_EXPORT void WKCookieManagerSetClient(WKCookieManagerRef cookieManager, const WKCookieManagerClient* client);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKDatabaseManagerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKDatabaseManager.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKDatabaseManager.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKDatabaseManager.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -66,16 +66,29 @@
</span><span class="cx"> typedef void (*WKDatabaseManagerDidModifyOriginCallback)(WKDatabaseManagerRef databaseManager, WKSecurityOriginRef origin, const void *clientInfo);
</span><span class="cx"> typedef void (*WKDatabaseManagerDidModifyDatabaseCallback)(WKDatabaseManagerRef databaseManager, WKSecurityOriginRef origin, WKStringRef databaseIdentifier, const void *clientInfo);
</span><span class="cx"> 
</span><del>-struct WKDatabaseManagerClient {
</del><ins>+typedef struct WKDatabaseManagerClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKDatabaseManagerClientBase;
+
+typedef struct WKDatabaseManagerClientV0 {
+    WKDatabaseManagerClientBase                                         base;
+
+    // Version 0.
</ins><span class="cx">     WKDatabaseManagerDidModifyOriginCallback                            didModifyOrigin;
</span><span class="cx">     WKDatabaseManagerDidModifyDatabaseCallback                          didModifyDatabase;
</span><del>-};
-typedef struct WKDatabaseManagerClient WKDatabaseManagerClient;
</del><ins>+} WKDatabaseManagerClientV0;
</ins><span class="cx"> 
</span><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKDatabaseManagerClientCurrentVersion = 0 };
</span><ins>+typedef struct WKDatabaseManagerClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
</ins><span class="cx"> 
</span><ins>+    // Version 0.
+    WKDatabaseManagerDidModifyOriginCallback                            didModifyOrigin;
+    WKDatabaseManagerDidModifyDatabaseCallback                          didModifyDatabase;
+} WKDatabaseManagerClient;
</ins><span class="cx"> 
</span><span class="cx"> WK_EXPORT WKTypeID WKDatabaseManagerGetTypeID();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKGeolocationManagerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKGeolocationManager.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKGeolocationManager.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKGeolocationManager.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -37,20 +37,43 @@
</span><span class="cx"> typedef void (*WKGeolocationProviderStopUpdatingCallback)(WKGeolocationManagerRef geolocationManager, const void* clientInfo);
</span><span class="cx"> typedef void (*WKGeolocationProviderSetEnableHighAccuracyCallback)(WKGeolocationManagerRef geolocationManager, bool enabled, const void* clientInfo);
</span><span class="cx"> 
</span><del>-struct WKGeolocationProvider {
</del><ins>+typedef struct WKGeolocationProviderBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKGeolocationProviderBase;
+
+typedef struct WKGeolocationProviderV0 {
+    WKGeolocationProviderBase                                           base;
+
+    // Version 0.
</ins><span class="cx">     WKGeolocationProviderStartUpdatingCallback                          startUpdating;
</span><span class="cx">     WKGeolocationProviderStopUpdatingCallback                           stopUpdating;
</span><ins>+} WKGeolocationProviderV0;
</ins><span class="cx"> 
</span><ins>+typedef struct WKGeolocationProviderV1 {
+    WKGeolocationProviderBase                                           base;
+
+    // Version 0.
+    WKGeolocationProviderStartUpdatingCallback                          startUpdating;
+    WKGeolocationProviderStopUpdatingCallback                           stopUpdating;
+
</ins><span class="cx">     // Version 1.
</span><span class="cx">     WKGeolocationProviderSetEnableHighAccuracyCallback                  setEnableHighAccuracy;
</span><ins>+} WKGeolocationProviderV1;
</ins><span class="cx"> 
</span><del>-};
-typedef struct WKGeolocationProvider WKGeolocationProvider;
-
</del><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKGeolocationProviderCurrentVersion = 1 };
</span><ins>+typedef struct WKGeolocationProvider {
+    int                                                                 version;
+    const void *                                                        clientInfo;
+    WKGeolocationProviderStartUpdatingCallback                          startUpdating;
+    WKGeolocationProviderStopUpdatingCallback                           stopUpdating;
</ins><span class="cx"> 
</span><ins>+    // Version 1.
+    WKGeolocationProviderSetEnableHighAccuracyCallback                  setEnableHighAccuracy;
+} WKGeolocationProvider;
+
+
</ins><span class="cx"> WK_EXPORT WKTypeID WKGeolocationManagerGetTypeID();
</span><span class="cx"> 
</span><span class="cx"> WK_EXPORT void WKGeolocationManagerSetProvider(WKGeolocationManagerRef geolocationManager, const WKGeolocationProvider* provider);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKIconDatabaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKIconDatabase.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKIconDatabase.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKIconDatabase.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -37,21 +37,44 @@
</span><span class="cx"> typedef void (*WKIconDatabaseDidRemoveAllIconsCallback)(WKIconDatabaseRef iconDatabase, const void* clientInfo);
</span><span class="cx"> typedef void (*WKIconDatabaseIconDataReadyForPageURLCallback)(WKIconDatabaseRef iconDatabase, WKURLRef pageURL, const void* clientInfo);
</span><span class="cx"> 
</span><del>-struct WKIconDatabaseClient {
</del><ins>+typedef struct WKIconDatabaseClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKIconDatabaseClientBase;
</ins><span class="cx"> 
</span><del>-    // Version 0
</del><ins>+typedef struct WKIconDatabaseClientV0 {
+    WKIconDatabaseClientBase                                            base;
+
+    // Version 0.
</ins><span class="cx">     WKIconDatabaseDidChangeIconForPageURLCallback                       didChangeIconForPageURL;
</span><span class="cx">     WKIconDatabaseDidRemoveAllIconsCallback                             didRemoveAllIcons;
</span><ins>+} WKIconDatabaseClientV0;
</ins><span class="cx"> 
</span><del>-    // Version 1
</del><ins>+typedef struct WKIconDatabaseClientV1 {
+    WKIconDatabaseClientBase                                            base;
+
+    // Version 0.
+    WKIconDatabaseDidChangeIconForPageURLCallback                       didChangeIconForPageURL;
+    WKIconDatabaseDidRemoveAllIconsCallback                             didRemoveAllIcons;
+
+    // Version 1.
</ins><span class="cx">     WKIconDatabaseIconDataReadyForPageURLCallback                       iconDataReadyForPageURL;
</span><del>-};
-typedef struct WKIconDatabaseClient WKIconDatabaseClient;
</del><ins>+} WKIconDatabaseClientV1;
</ins><span class="cx"> 
</span><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKIconDatabaseClientCurrentVersion = 1 };
</span><ins>+typedef struct WKIconDatabaseClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
</ins><span class="cx"> 
</span><ins>+    // Version 0.
+    WKIconDatabaseDidChangeIconForPageURLCallback                       didChangeIconForPageURL;
+    WKIconDatabaseDidRemoveAllIconsCallback                             didRemoveAllIcons;
+
+    // Version 1.
+    WKIconDatabaseIconDataReadyForPageURLCallback                       iconDataReadyForPageURL;
+} WKIconDatabaseClient;
+
</ins><span class="cx"> WK_EXPORT WKTypeID WKIconDatabaseGetTypeID();
</span><span class="cx"> 
</span><span class="cx"> WK_EXPORT void WKIconDatabaseSetIconDatabaseClient(WKIconDatabaseRef iconDatabase, const WKIconDatabaseClient* client);
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKNotificationProviderh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKNotificationProvider.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKNotificationProvider.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKNotificationProvider.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -40,9 +40,15 @@
</span><span class="cx"> typedef WKDictionaryRef (*WKNotificationProviderNotificationPermissionsCallback)(const void* clientInfo);
</span><span class="cx"> typedef void (*WKNotificationProviderClearNotificationsCallback)(WKArrayRef notificationIDs, const void* clientInfo);
</span><span class="cx"> 
</span><del>-struct WKNotificationProvider {
</del><ins>+typedef struct WKNotificationProviderBase {
</ins><span class="cx">     int                                                                   version;
</span><span class="cx">     const void*                                                           clientInfo;
</span><ins>+} WKNotificationProviderBase;
+
+typedef struct WKNotificationProviderV0 {
+    WKNotificationProviderBase                                            base;
+
+    // Version 0.
</ins><span class="cx">     WKNotificationProviderShowCallback                                    show;
</span><span class="cx">     WKNotificationProviderCancelCallback                                  cancel;
</span><span class="cx">     WKNotificationProviderDidDestroyNotificationCallback                  didDestroyNotification;
</span><span class="lines">@@ -50,11 +56,24 @@
</span><span class="cx">     WKNotificationProviderRemoveNotificationManagerCallback               removeNotificationManager;
</span><span class="cx">     WKNotificationProviderNotificationPermissionsCallback                 notificationPermissions;
</span><span class="cx">     WKNotificationProviderClearNotificationsCallback                      clearNotifications;
</span><del>-};
-typedef struct WKNotificationProvider WKNotificationProvider;
</del><ins>+} WKNotificationProviderV0;
</ins><span class="cx"> 
</span><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKNotificationProviderCurrentVersion = 0 };
</span><ins>+typedef struct WKNotificationProvider {
+    int                                                                   version;
+    const void*                                                           clientInfo;
</ins><span class="cx"> 
</span><ins>+    // Version 0.
+    WKNotificationProviderShowCallback                                    show;
+    WKNotificationProviderCancelCallback                                  cancel;
+    WKNotificationProviderDidDestroyNotificationCallback                  didDestroyNotification;
+    WKNotificationProviderAddNotificationManagerCallback                  addNotificationManager;
+    WKNotificationProviderRemoveNotificationManagerCallback               removeNotificationManager;
+    WKNotificationProviderNotificationPermissionsCallback                 notificationPermissions;
+    WKNotificationProviderClearNotificationsCallback                      clearNotifications;
+} WKNotificationProvider;
+
</ins><span class="cx"> #ifdef __cplusplus
</span><span class="cx"> }
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKPageContextMenuClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPageContextMenuClient.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKPageContextMenuClient.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPageContextMenuClient.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -33,7 +33,6 @@
</span><span class="cx"> extern &quot;C&quot; {
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-// ContextMenu client
</del><span class="cx"> typedef void (*WKPageGetContextMenuFromProposedContextMenuCallback)(WKPageRef page, WKArrayRef proposedMenu, WKArrayRef* newMenu, WKHitTestResultRef hitTestResult, WKTypeRef userData, const void* clientInfo);
</span><span class="cx"> typedef void (*WKPageCustomContextMenuItemSelectedCallback)(WKPageRef page, WKContextMenuItemRef contextMenuItem, const void* clientInfo);
</span><span class="cx"> typedef void (*WKPageContextMenuDismissedCallback)(WKPageRef page, const void* clientInfo);
</span><span class="lines">@@ -42,28 +41,84 @@
</span><span class="cx"> 
</span><span class="cx"> // Deprecated
</span><span class="cx"> typedef void (*WKPageGetContextMenuFromProposedContextMenuCallback_deprecatedForUseWithV0)(WKPageRef page, WKArrayRef proposedMenu, WKArrayRef* newMenu, WKTypeRef userData, const void* clientInfo);
</span><del>-struct WKPageContextMenuClient {
</del><ins>+
+typedef struct WKPageContextMenuClientBase {
</ins><span class="cx">     int                                                                          version;
</span><span class="cx">     const void *                                                                 clientInfo;
</span><ins>+} WKPageContextMenuClientBase;
</ins><span class="cx"> 
</span><del>-    // Version 0
</del><ins>+typedef struct WKPageContextMenuClientV0 {
+    WKPageContextMenuClientBase                                                  base;
+
+    // Version 0.
</ins><span class="cx">     WKPageGetContextMenuFromProposedContextMenuCallback_deprecatedForUseWithV0   getContextMenuFromProposedMenu_deprecatedForUseWithV0;
</span><span class="cx">     WKPageCustomContextMenuItemSelectedCallback                                  customContextMenuItemSelected;
</span><ins>+} WKPageContextMenuClientV0;
</ins><span class="cx"> 
</span><del>-    // Version 1
</del><ins>+typedef struct WKPageContextMenuClientV1 {
+    WKPageContextMenuClientBase                                                  base;
+
+    // Version 0.
+    WKPageGetContextMenuFromProposedContextMenuCallback_deprecatedForUseWithV0   getContextMenuFromProposedMenu_deprecatedForUseWithV0;
+    WKPageCustomContextMenuItemSelectedCallback                                  customContextMenuItemSelected;
+
+    // Version 1.
</ins><span class="cx">     WKPageContextMenuDismissedCallback                                           contextMenuDismissed;
</span><ins>+} WKPageContextMenuClientV1;
</ins><span class="cx"> 
</span><del>-    // Version 2
</del><ins>+typedef struct WKPageContextMenuClientV2 {
+    WKPageContextMenuClientBase                                                  base;
+
+    // Version 0.
+    WKPageGetContextMenuFromProposedContextMenuCallback_deprecatedForUseWithV0   getContextMenuFromProposedMenu_deprecatedForUseWithV0;
+    WKPageCustomContextMenuItemSelectedCallback                                  customContextMenuItemSelected;
+
+    // Version 1.
+    WKPageContextMenuDismissedCallback                                           contextMenuDismissed;
+
+    // Version 2.
</ins><span class="cx">     WKPageGetContextMenuFromProposedContextMenuCallback                          getContextMenuFromProposedMenu;
</span><ins>+} WKPageContextMenuClientV2;
</ins><span class="cx"> 
</span><del>-    // Version 3
</del><ins>+typedef struct WKPageContextMenuClientV3 {
+    WKPageContextMenuClientBase                                                  base;
+
+    // Version 0.
+    WKPageGetContextMenuFromProposedContextMenuCallback_deprecatedForUseWithV0   getContextMenuFromProposedMenu_deprecatedForUseWithV0;
+    WKPageCustomContextMenuItemSelectedCallback                                  customContextMenuItemSelected;
+
+    // Version 1.
+    WKPageContextMenuDismissedCallback                                           contextMenuDismissed;
+
+    // Version 2.
+    WKPageGetContextMenuFromProposedContextMenuCallback                          getContextMenuFromProposedMenu;
+
+    // Version 3.
</ins><span class="cx">     WKPageShowContextMenuCallback                                                showContextMenu;
</span><span class="cx">     WKPageHideContextMenuCallback                                                hideContextMenu;
</span><del>-};
-typedef struct WKPageContextMenuClient WKPageContextMenuClient;
</del><ins>+} WKPageContextMenuClientV3;
</ins><span class="cx"> 
</span><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKPageContextMenuClientCurrentVersion = 3 };
</span><ins>+typedef struct WKPageContextMenuClient {
+    int                                                                          version;
+    const void *                                                                 clientInfo;
</ins><span class="cx"> 
</span><ins>+    // Version 0.
+    WKPageGetContextMenuFromProposedContextMenuCallback_deprecatedForUseWithV0   getContextMenuFromProposedMenu_deprecatedForUseWithV0;
+    WKPageCustomContextMenuItemSelectedCallback                                  customContextMenuItemSelected;
+
+    // Version 1.
+    WKPageContextMenuDismissedCallback                                           contextMenuDismissed;
+
+    // Version 2.
+    WKPageGetContextMenuFromProposedContextMenuCallback                          getContextMenuFromProposedMenu;
+
+    // Version 3.
+    WKPageShowContextMenuCallback                                                showContextMenu;
+    WKPageHideContextMenuCallback                                                hideContextMenu;
+} WKPageContextMenuClient;
+
</ins><span class="cx"> #ifdef __cplusplus
</span><span class="cx"> }
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKPageFindClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPageFindClient.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKPageFindClient.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPageFindClient.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -32,22 +32,36 @@
</span><span class="cx"> extern &quot;C&quot; {
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-// Find client.
</del><span class="cx"> typedef void (*WKPageDidFindStringCallback)(WKPageRef page, WKStringRef string, unsigned matchCount, const void* clientInfo);
</span><span class="cx"> typedef void (*WKPageDidFailToFindStringCallback)(WKPageRef page, WKStringRef string, const void* clientInfo);
</span><span class="cx"> typedef void (*WKPageDidCountStringMatchesCallback)(WKPageRef page, WKStringRef string, unsigned matchCount, const void* clientInfo);
</span><span class="cx"> 
</span><del>-struct WKPageFindClient {
</del><ins>+typedef struct WKPageFindClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKPageFindClientBase;
+
+typedef struct WKPageFindClientV0 {
+    WKPageFindClientBase                                                base;
+
+    // Version 0.
</ins><span class="cx">     WKPageDidFindStringCallback                                         didFindString;
</span><span class="cx">     WKPageDidFailToFindStringCallback                                   didFailToFindString;
</span><span class="cx">     WKPageDidCountStringMatchesCallback                                 didCountStringMatches;
</span><del>-};
-typedef struct WKPageFindClient WKPageFindClient;
</del><ins>+} WKPageFindClientV0;
</ins><span class="cx"> 
</span><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKPageFindClientCurrentVersion = 0 };
</span><ins>+typedef struct WKPageFindClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
</ins><span class="cx"> 
</span><ins>+    // Version 0.
+    WKPageDidFindStringCallback                                         didFindString;
+    WKPageDidFailToFindStringCallback                                   didFailToFindString;
+    WKPageDidCountStringMatchesCallback                                 didCountStringMatches;
+} WKPageFindClient;
+
</ins><span class="cx"> #ifdef __cplusplus
</span><span class="cx"> }
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKPageFindMatchesClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPageFindMatchesClient.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKPageFindMatchesClient.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPageFindMatchesClient.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -40,15 +40,27 @@
</span><span class="cx"> typedef void (*WKPageDidFindStringMatchesCallback)(WKPageRef page, WKStringRef string, WKArrayRef matches, int firstIndex, const void* clientInfo);
</span><span class="cx"> typedef void (*WKPageDidGetImageForMatchResultCallback)(WKPageRef page, WKImageRef image, uint32_t index, const void* clientInfo);
</span><span class="cx"> 
</span><del>-struct WKPageFindMatchesClient {
</del><ins>+typedef struct WKPageFindMatchesClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKPageFindMatchesClientBase;
+
+typedef struct WKPageFindMatchesClientV0 {
+    WKPageFindMatchesClientBase                                         base;
+
+    // Version 0.
</ins><span class="cx">     WKPageDidFindStringMatchesCallback                                  didFindStringMatches;
</span><span class="cx">     WKPageDidGetImageForMatchResultCallback                             didGetImageForMatchResult;
</span><del>-};
-typedef struct WKPageFindMatchesClient WKPageFindMatchesClient;
</del><ins>+} WKPageFindMatchesClientV0;
</ins><span class="cx"> 
</span><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKPageFindMatchesClientCurrentVersion = 0 };
</span><ins>+typedef struct WKPageFindMatchesClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
+    WKPageDidFindStringMatchesCallback                                  didFindStringMatches;
+    WKPageDidGetImageForMatchResultCallback                             didGetImageForMatchResult;
+} WKPageFindMatchesClient;
</ins><span class="cx"> 
</span><span class="cx"> #ifdef __cplusplus
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKPageFormClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPageFormClient.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKPageFormClient.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPageFormClient.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -35,15 +35,28 @@
</span><span class="cx"> // Form Client.
</span><span class="cx"> typedef void (*WKPageWillSubmitFormCallback)(WKPageRef page, WKFrameRef frame, WKFrameRef sourceFrame, WKDictionaryRef values, WKTypeRef userData, WKFormSubmissionListenerRef listener, const void* clientInfo);
</span><span class="cx"> 
</span><del>-struct WKPageFormClient {
</del><ins>+typedef struct WKPageFormClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKPageFormClientBase;
+
+typedef struct WKPageFormClientV0 {
+    WKPageFormClientBase                                                base;
+
+    // Version 0.
</ins><span class="cx">     WKPageWillSubmitFormCallback                                        willSubmitForm;
</span><del>-};
-typedef struct WKPageFormClient WKPageFormClient;
</del><ins>+} WKPageFormClientV0;
</ins><span class="cx"> 
</span><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKPageFormClientCurrentVersion = 0 };
</span><ins>+typedef struct WKPageFormClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
</ins><span class="cx"> 
</span><ins>+    // Version 0.
+    WKPageWillSubmitFormCallback                                        willSubmitForm;
+} WKPageFormClient;
+
</ins><span class="cx"> #ifdef __cplusplus
</span><span class="cx"> }
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKPageLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPageLoaderClient.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKPageLoaderClient.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPageLoaderClient.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -79,6 +79,8 @@
</span><span class="cx"> 
</span><span class="cx"> typedef struct WKPageLoaderClientV0 {
</span><span class="cx">     WKPageLoaderClientBase                                              base;
</span><ins>+
+    // Version 0.
</ins><span class="cx">     WKPageDidStartProvisionalLoadForFrameCallback                       didStartProvisionalLoadForFrame;
</span><span class="cx">     WKPageDidReceiveServerRedirectForProvisionalLoadForFrameCallback    didReceiveServerRedirectForProvisionalLoadForFrame;
</span><span class="cx">     WKPageDidFailProvisionalLoadWithErrorForFrameCallback               didFailProvisionalLoadWithErrorForFrame;
</span><span class="lines">@@ -112,6 +114,8 @@
</span><span class="cx"> 
</span><span class="cx"> typedef struct WKPageLoaderClientV1 {
</span><span class="cx">     WKPageLoaderClientBase                                              base;
</span><ins>+
+    // Version -.
</ins><span class="cx">     WKPageDidStartProvisionalLoadForFrameCallback                       didStartProvisionalLoadForFrame;
</span><span class="cx">     WKPageDidReceiveServerRedirectForProvisionalLoadForFrameCallback    didReceiveServerRedirectForProvisionalLoadForFrame;
</span><span class="cx">     WKPageDidFailProvisionalLoadWithErrorForFrameCallback               didFailProvisionalLoadWithErrorForFrame;
</span><span class="lines">@@ -142,7 +146,7 @@
</span><span class="cx">     WKPageShouldGoToBackForwardListItemCallback                         shouldGoToBackForwardListItem;
</span><span class="cx">     WKPageDidFailToInitializePluginCallback_deprecatedForUseWithV0      didFailToInitializePlugin_deprecatedForUseWithV0;
</span><span class="cx"> 
</span><del>-    // Version 1
</del><ins>+    // Version 1.
</ins><span class="cx">     WKPageDidDetectXSSForFrameCallback                                  didDetectXSSForFrame;
</span><span class="cx"> 
</span><span class="cx">     void*                                                               didNewFirstVisuallyNonEmptyLayout_unavailable;
</span><span class="lines">@@ -155,6 +159,8 @@
</span><span class="cx"> 
</span><span class="cx"> typedef struct WKPageLoaderClientV2 {
</span><span class="cx">     WKPageLoaderClientBase                                              base;
</span><ins>+
+    // Version 0.
</ins><span class="cx">     WKPageDidStartProvisionalLoadForFrameCallback                       didStartProvisionalLoadForFrame;
</span><span class="cx">     WKPageDidReceiveServerRedirectForProvisionalLoadForFrameCallback    didReceiveServerRedirectForProvisionalLoadForFrame;
</span><span class="cx">     WKPageDidFailProvisionalLoadWithErrorForFrameCallback               didFailProvisionalLoadWithErrorForFrame;
</span><span class="lines">@@ -185,7 +191,7 @@
</span><span class="cx">     WKPageShouldGoToBackForwardListItemCallback                         shouldGoToBackForwardListItem;
</span><span class="cx">     WKPageDidFailToInitializePluginCallback_deprecatedForUseWithV0      didFailToInitializePlugin_deprecatedForUseWithV0;
</span><span class="cx"> 
</span><del>-    // Version 1
</del><ins>+    // Version 1.
</ins><span class="cx">     WKPageDidDetectXSSForFrameCallback                                  didDetectXSSForFrame;
</span><span class="cx"> 
</span><span class="cx">     void*                                                               didNewFirstVisuallyNonEmptyLayout_unavailable;
</span><span class="lines">@@ -195,7 +201,7 @@
</span><span class="cx">     WKPageLoaderClientCallback                                          interactionOccurredWhileProcessUnresponsive;
</span><span class="cx">     WKPagePluginDidFailCallback_deprecatedForUseWithV1                  pluginDidFail_deprecatedForUseWithV1;
</span><span class="cx"> 
</span><del>-    // Version 2
</del><ins>+    // Version 2.
</ins><span class="cx">     void                                                                (*didReceiveIntentForFrame_unavailable)(void);
</span><span class="cx">     void                                                                (*registerIntentServiceForFrame_unavailable)(void);
</span><span class="cx"> 
</span><span class="lines">@@ -206,6 +212,8 @@
</span><span class="cx"> 
</span><span class="cx"> typedef struct WKPageLoaderClientV3 {
</span><span class="cx">     WKPageLoaderClientBase                                              base;
</span><ins>+
+    // Version 0.
</ins><span class="cx">     WKPageDidStartProvisionalLoadForFrameCallback                       didStartProvisionalLoadForFrame;
</span><span class="cx">     WKPageDidReceiveServerRedirectForProvisionalLoadForFrameCallback    didReceiveServerRedirectForProvisionalLoadForFrame;
</span><span class="cx">     WKPageDidFailProvisionalLoadWithErrorForFrameCallback               didFailProvisionalLoadWithErrorForFrame;
</span><span class="lines">@@ -236,7 +244,7 @@
</span><span class="cx">     WKPageShouldGoToBackForwardListItemCallback                         shouldGoToBackForwardListItem;
</span><span class="cx">     WKPageDidFailToInitializePluginCallback_deprecatedForUseWithV0      didFailToInitializePlugin_deprecatedForUseWithV0;
</span><span class="cx"> 
</span><del>-    // Version 1
</del><ins>+    // Version 1.
</ins><span class="cx">     WKPageDidDetectXSSForFrameCallback                                  didDetectXSSForFrame;
</span><span class="cx"> 
</span><span class="cx">     void*                                                               didNewFirstVisuallyNonEmptyLayout_unavailable;
</span><span class="lines">@@ -246,7 +254,7 @@
</span><span class="cx">     WKPageLoaderClientCallback                                          interactionOccurredWhileProcessUnresponsive;
</span><span class="cx">     WKPagePluginDidFailCallback_deprecatedForUseWithV1                  pluginDidFail_deprecatedForUseWithV1;
</span><span class="cx"> 
</span><del>-    // Version 2
</del><ins>+    // Version 2.
</ins><span class="cx">     void                                                                (*didReceiveIntentForFrame_unavailable)(void);
</span><span class="cx">     void                                                                (*registerIntentServiceForFrame_unavailable)(void);
</span><span class="cx"> 
</span><span class="lines">@@ -254,7 +262,7 @@
</span><span class="cx">     WKPagePluginLoadPolicyCallback_deprecatedForUseWithV2               pluginLoadPolicy_deprecatedForUseWithV2;
</span><span class="cx">     WKPagePluginDidFailCallback                                         pluginDidFail;
</span><span class="cx"> 
</span><del>-    // Version 3
</del><ins>+    // Version 3.
</ins><span class="cx">     WKPagePluginLoadPolicyCallback                                      pluginLoadPolicy;
</span><span class="cx"> } WKPageLoaderClientV3;
</span><span class="cx"> 
</span><span class="lines">@@ -263,6 +271,8 @@
</span><span class="cx"> typedef struct WKPageLoaderClient {
</span><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+
+    // Version 0.
</ins><span class="cx">     WKPageDidStartProvisionalLoadForFrameCallback                       didStartProvisionalLoadForFrame;
</span><span class="cx">     WKPageDidReceiveServerRedirectForProvisionalLoadForFrameCallback    didReceiveServerRedirectForProvisionalLoadForFrame;
</span><span class="cx">     WKPageDidFailProvisionalLoadWithErrorForFrameCallback               didFailProvisionalLoadWithErrorForFrame;
</span><span class="lines">@@ -293,7 +303,7 @@
</span><span class="cx">     WKPageShouldGoToBackForwardListItemCallback                         shouldGoToBackForwardListItem;
</span><span class="cx">     WKPageDidFailToInitializePluginCallback_deprecatedForUseWithV0      didFailToInitializePlugin_deprecatedForUseWithV0;
</span><span class="cx"> 
</span><del>-    // Version 1
</del><ins>+    // Version 1.
</ins><span class="cx">     WKPageDidDetectXSSForFrameCallback                                  didDetectXSSForFrame;
</span><span class="cx"> 
</span><span class="cx">     void*                                                               didNewFirstVisuallyNonEmptyLayout_unavailable;
</span><span class="lines">@@ -303,7 +313,7 @@
</span><span class="cx">     WKPageLoaderClientCallback                                          interactionOccurredWhileProcessUnresponsive;
</span><span class="cx">     WKPagePluginDidFailCallback_deprecatedForUseWithV1                  pluginDidFail_deprecatedForUseWithV1;
</span><span class="cx"> 
</span><del>-    // Version 2
</del><ins>+    // Version 2.
</ins><span class="cx">     void                                                                (*didReceiveIntentForFrame_unavailable)(void);
</span><span class="cx">     void                                                                (*registerIntentServiceForFrame_unavailable)(void);
</span><span class="cx"> 
</span><span class="lines">@@ -311,7 +321,7 @@
</span><span class="cx">     WKPagePluginLoadPolicyCallback_deprecatedForUseWithV2               pluginLoadPolicy_deprecatedForUseWithV2;
</span><span class="cx">     WKPagePluginDidFailCallback                                         pluginDidFail;
</span><span class="cx"> 
</span><del>-    // Version 3
</del><ins>+    // Version 3.
</ins><span class="cx">     WKPagePluginLoadPolicyCallback                                      pluginLoadPolicy;
</span><span class="cx"> } WKPageLoaderClient;
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKPagePolicyClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPagePolicyClient.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKPagePolicyClient.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPagePolicyClient.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -34,32 +34,60 @@
</span><span class="cx"> extern &quot;C&quot; {
</span><span class="cx"> #endif
</span><span class="cx"> 
</span><del>-// Policy Client.
</del><span class="cx"> typedef void (*WKPageDecidePolicyForNavigationActionCallback)(WKPageRef page, WKFrameRef frame, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKFrameRef originatingFrame, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo);
</span><span class="cx"> typedef void (*WKPageDecidePolicyForNewWindowActionCallback)(WKPageRef page, WKFrameRef frame, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKURLRequestRef request, WKStringRef frameName, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo);
</span><span class="cx"> typedef void (*WKPageDecidePolicyForResponseCallback_deprecatedForUseWithV0)(WKPageRef page, WKFrameRef frame, WKURLResponseRef response, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo);
</span><span class="cx"> typedef void (*WKPageUnableToImplementPolicyCallback)(WKPageRef page, WKFrameRef frame, WKErrorRef error, WKTypeRef userData, const void* clientInfo);
</span><span class="cx"> 
</span><del>-// Deprecated
</del><span class="cx"> typedef void (*WKPageDecidePolicyForNavigationActionCallback_deprecatedForUseWithV0)(WKPageRef page, WKFrameRef frame, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo);
</span><span class="cx"> typedef void (*WKPageDecidePolicyForResponseCallback)(WKPageRef page, WKFrameRef frame, WKURLResponseRef response, WKURLRequestRef request, bool canShowMIMEType, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo);
</span><span class="cx"> 
</span><del>-struct WKPagePolicyClient {
</del><ins>+typedef struct WKPagePolicyClientBase {
</ins><span class="cx">     int                                                                  version;
</span><span class="cx">     const void *                                                         clientInfo;
</span><ins>+} WKPagePolicyClientBase;
+
+typedef struct WKPagePolicyClientV0 {
+    WKPagePolicyClientBase                                               base;
+
+    // Version 0.
</ins><span class="cx">     WKPageDecidePolicyForNavigationActionCallback_deprecatedForUseWithV0 decidePolicyForNavigationAction_deprecatedForUseWithV0;
</span><span class="cx">     WKPageDecidePolicyForNewWindowActionCallback                         decidePolicyForNewWindowAction;
</span><span class="cx">     WKPageDecidePolicyForResponseCallback_deprecatedForUseWithV0         decidePolicyForResponse_deprecatedForUseWithV0;
</span><span class="cx">     WKPageUnableToImplementPolicyCallback                                unableToImplementPolicy;
</span><ins>+} WKPagePolicyClientV0;
</ins><span class="cx"> 
</span><del>-    // Version 1
</del><ins>+typedef struct WKPagePolicyClientV1 {
+    WKPagePolicyClientBase                                               base;
+
+    // Version 0.
+    WKPageDecidePolicyForNavigationActionCallback_deprecatedForUseWithV0 decidePolicyForNavigationAction_deprecatedForUseWithV0;
+    WKPageDecidePolicyForNewWindowActionCallback                         decidePolicyForNewWindowAction;
+    WKPageDecidePolicyForResponseCallback_deprecatedForUseWithV0         decidePolicyForResponse_deprecatedForUseWithV0;
+    WKPageUnableToImplementPolicyCallback                                unableToImplementPolicy;
+
+    // Version 1.
</ins><span class="cx">     WKPageDecidePolicyForNavigationActionCallback                        decidePolicyForNavigationAction;
</span><span class="cx">     WKPageDecidePolicyForResponseCallback                                decidePolicyForResponse;
</span><del>-};
-typedef struct WKPagePolicyClient WKPagePolicyClient;
</del><ins>+} WKPagePolicyClientV1;
</ins><span class="cx"> 
</span><ins>+// FIXME: These should be deprecated.
</ins><span class="cx"> enum { kWKPagePolicyClientCurrentVersion = 1 };
</span><ins>+typedef struct WKPagePolicyClient {
+    int                                                                  version;
+    const void *                                                         clientInfo;
</ins><span class="cx"> 
</span><ins>+    // Version 0.
+    WKPageDecidePolicyForNavigationActionCallback_deprecatedForUseWithV0 decidePolicyForNavigationAction_deprecatedForUseWithV0;
+    WKPageDecidePolicyForNewWindowActionCallback                         decidePolicyForNewWindowAction;
+    WKPageDecidePolicyForResponseCallback_deprecatedForUseWithV0         decidePolicyForResponse_deprecatedForUseWithV0;
+    WKPageUnableToImplementPolicyCallback                                unableToImplementPolicy;
+
+    // Version 1.
+    WKPageDecidePolicyForNavigationActionCallback                        decidePolicyForNavigationAction;
+    WKPageDecidePolicyForResponseCallback                                decidePolicyForResponse;
+} WKPagePolicyClient;
+
</ins><span class="cx"> #ifdef __cplusplus
</span><span class="cx"> }
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICWKPageUIClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/UIProcess/API/C/WKPageUIClient.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/C/WKPageUIClient.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/UIProcess/API/C/WKPageUIClient.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -92,11 +92,15 @@
</span><span class="cx"> typedef void (*WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0)(WKPageRef page, WKStringRef mimeType, WKStringRef url, WKStringRef pluginsPageURL, const void* clientInfo);
</span><span class="cx"> typedef void (*WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1)(WKPageRef page, WKPluginUnavailabilityReason pluginUnavailabilityReason, WKStringRef mimeType, WKStringRef url, WKStringRef pluginsPageURL, const void* clientInfo);
</span><span class="cx"> 
</span><del>-struct WKPageUIClient {
</del><ins>+typedef struct WKPageUIClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKPageUIClientBase;
</ins><span class="cx"> 
</span><del>-    // Version 0
</del><ins>+typedef struct WKPageUIClientV0 {
+    WKPageUIClientBase                                                  base;
+
+    // Version 0.
</ins><span class="cx">     WKPageCreateNewPageCallback_deprecatedForUseWithV0                  createNewPage_deprecatedForUseWithV0;
</span><span class="cx">     WKPageUIClientCallback                                              showPage;
</span><span class="cx">     WKPageUIClientCallback                                              close;
</span><span class="lines">@@ -136,22 +140,174 @@
</span><span class="cx">     void*                                                               unused1; // Used to be didCompleteRubberBandForMainFrame
</span><span class="cx">     WKPageSaveDataToFileInDownloadsFolderCallback                       saveDataToFileInDownloadsFolder;
</span><span class="cx">     WKPageShouldInterruptJavaScriptCallback                             shouldInterruptJavaScript;    
</span><ins>+} WKPageUIClientV0;
</ins><span class="cx"> 
</span><del>-    // Version 1
</del><ins>+typedef struct WKPageUIClientV1 {
+    WKPageUIClientBase                                                  base;
+
+    // Version 0.
+    WKPageCreateNewPageCallback_deprecatedForUseWithV0                  createNewPage_deprecatedForUseWithV0;
+    WKPageUIClientCallback                                              showPage;
+    WKPageUIClientCallback                                              close;
+    WKPageTakeFocusCallback                                             takeFocus;
+    WKPageFocusCallback                                                 focus;
+    WKPageUnfocusCallback                                               unfocus;
+    WKPageRunJavaScriptAlertCallback                                    runJavaScriptAlert;
+    WKPageRunJavaScriptConfirmCallback                                  runJavaScriptConfirm;
+    WKPageRunJavaScriptPromptCallback                                   runJavaScriptPrompt;
+    WKPageSetStatusTextCallback                                         setStatusText;
+    WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0        mouseDidMoveOverElement_deprecatedForUseWithV0;
+    WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0     missingPluginButtonClicked_deprecatedForUseWithV0;
+    WKPageDidNotHandleKeyEventCallback                                  didNotHandleKeyEvent;
+    WKPageDidNotHandleWheelEventCallback                                didNotHandleWheelEvent;
+    WKPageGetToolbarsAreVisibleCallback                                 toolbarsAreVisible;
+    WKPageSetToolbarsAreVisibleCallback                                 setToolbarsAreVisible;
+    WKPageGetMenuBarIsVisibleCallback                                   menuBarIsVisible;
+    WKPageSetMenuBarIsVisibleCallback                                   setMenuBarIsVisible;
+    WKPageGetStatusBarIsVisibleCallback                                 statusBarIsVisible;
+    WKPageSetStatusBarIsVisibleCallback                                 setStatusBarIsVisible;
+    WKPageGetIsResizableCallback                                        isResizable;
+    WKPageSetIsResizableCallback                                        setIsResizable;
+    WKPageGetWindowFrameCallback                                        getWindowFrame;
+    WKPageSetWindowFrameCallback                                        setWindowFrame;
+    WKPageRunBeforeUnloadConfirmPanelCallback                           runBeforeUnloadConfirmPanel;
+    WKPageUIClientCallback                                              didDraw;
+    WKPageUIClientCallback                                              pageDidScroll;
+    WKPageExceededDatabaseQuotaCallback                                 exceededDatabaseQuota;
+    WKPageRunOpenPanelCallback                                          runOpenPanel;
+    WKPageDecidePolicyForGeolocationPermissionRequestCallback           decidePolicyForGeolocationPermissionRequest;
+    WKPageHeaderHeightCallback                                          headerHeight;
+    WKPageFooterHeightCallback                                          footerHeight;
+    WKPageDrawHeaderCallback                                            drawHeader;
+    WKPageDrawFooterCallback                                            drawFooter;
+    WKPagePrintFrameCallback                                            printFrame;
+    WKPageUIClientCallback                                              runModal;
+    void*                                                               unused1; // Used to be didCompleteRubberBandForMainFrame
+    WKPageSaveDataToFileInDownloadsFolderCallback                       saveDataToFileInDownloadsFolder;
+    WKPageShouldInterruptJavaScriptCallback                             shouldInterruptJavaScript;    
+
+    // Version 1.
</ins><span class="cx">     WKPageCreateNewPageCallback                                         createNewPage;
</span><span class="cx">     WKPageMouseDidMoveOverElementCallback                               mouseDidMoveOverElement;
</span><span class="cx">     WKPageDecidePolicyForNotificationPermissionRequestCallback          decidePolicyForNotificationPermissionRequest;
</span><span class="cx">     WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
</span><ins>+} WKPageUIClientV1;
</ins><span class="cx"> 
</span><del>-    // Version 2
</del><ins>+typedef struct WKPageUIClientV2 {
+    WKPageUIClientBase                                                  base;
+
+    // Version 0.
+    WKPageCreateNewPageCallback_deprecatedForUseWithV0                  createNewPage_deprecatedForUseWithV0;
+    WKPageUIClientCallback                                              showPage;
+    WKPageUIClientCallback                                              close;
+    WKPageTakeFocusCallback                                             takeFocus;
+    WKPageFocusCallback                                                 focus;
+    WKPageUnfocusCallback                                               unfocus;
+    WKPageRunJavaScriptAlertCallback                                    runJavaScriptAlert;
+    WKPageRunJavaScriptConfirmCallback                                  runJavaScriptConfirm;
+    WKPageRunJavaScriptPromptCallback                                   runJavaScriptPrompt;
+    WKPageSetStatusTextCallback                                         setStatusText;
+    WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0        mouseDidMoveOverElement_deprecatedForUseWithV0;
+    WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0     missingPluginButtonClicked_deprecatedForUseWithV0;
+    WKPageDidNotHandleKeyEventCallback                                  didNotHandleKeyEvent;
+    WKPageDidNotHandleWheelEventCallback                                didNotHandleWheelEvent;
+    WKPageGetToolbarsAreVisibleCallback                                 toolbarsAreVisible;
+    WKPageSetToolbarsAreVisibleCallback                                 setToolbarsAreVisible;
+    WKPageGetMenuBarIsVisibleCallback                                   menuBarIsVisible;
+    WKPageSetMenuBarIsVisibleCallback                                   setMenuBarIsVisible;
+    WKPageGetStatusBarIsVisibleCallback                                 statusBarIsVisible;
+    WKPageSetStatusBarIsVisibleCallback                                 setStatusBarIsVisible;
+    WKPageGetIsResizableCallback                                        isResizable;
+    WKPageSetIsResizableCallback                                        setIsResizable;
+    WKPageGetWindowFrameCallback                                        getWindowFrame;
+    WKPageSetWindowFrameCallback                                        setWindowFrame;
+    WKPageRunBeforeUnloadConfirmPanelCallback                           runBeforeUnloadConfirmPanel;
+    WKPageUIClientCallback                                              didDraw;
+    WKPageUIClientCallback                                              pageDidScroll;
+    WKPageExceededDatabaseQuotaCallback                                 exceededDatabaseQuota;
+    WKPageRunOpenPanelCallback                                          runOpenPanel;
+    WKPageDecidePolicyForGeolocationPermissionRequestCallback           decidePolicyForGeolocationPermissionRequest;
+    WKPageHeaderHeightCallback                                          headerHeight;
+    WKPageFooterHeightCallback                                          footerHeight;
+    WKPageDrawHeaderCallback                                            drawHeader;
+    WKPageDrawFooterCallback                                            drawFooter;
+    WKPagePrintFrameCallback                                            printFrame;
+    WKPageUIClientCallback                                              runModal;
+    void*                                                               unused1; // Used to be didCompleteRubberBandForMainFrame
+    WKPageSaveDataToFileInDownloadsFolderCallback                       saveDataToFileInDownloadsFolder;
+    WKPageShouldInterruptJavaScriptCallback                             shouldInterruptJavaScript;    
+
+    // Version 1.
+    WKPageCreateNewPageCallback                                         createNewPage;
+    WKPageMouseDidMoveOverElementCallback                               mouseDidMoveOverElement;
+    WKPageDecidePolicyForNotificationPermissionRequestCallback          decidePolicyForNotificationPermissionRequest;
+    WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
+
+    // Version 2.
</ins><span class="cx">     WKPageShowColorPickerCallback                                       showColorPicker;
</span><span class="cx">     WKPageHideColorPickerCallback                                       hideColorPicker;
</span><span class="cx">     WKPageUnavailablePluginButtonClickedCallback                        unavailablePluginButtonClicked;
</span><del>-};
-typedef struct WKPageUIClient WKPageUIClient;
</del><ins>+} WKPageUIClientV2;
</ins><span class="cx"> 
</span><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKPageUIClientCurrentVersion = 2 };
</span><ins>+typedef struct WKPageUIClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
</ins><span class="cx"> 
</span><ins>+    // Version 0.
+    WKPageCreateNewPageCallback_deprecatedForUseWithV0                  createNewPage_deprecatedForUseWithV0;
+    WKPageUIClientCallback                                              showPage;
+    WKPageUIClientCallback                                              close;
+    WKPageTakeFocusCallback                                             takeFocus;
+    WKPageFocusCallback                                                 focus;
+    WKPageUnfocusCallback                                               unfocus;
+    WKPageRunJavaScriptAlertCallback                                    runJavaScriptAlert;
+    WKPageRunJavaScriptConfirmCallback                                  runJavaScriptConfirm;
+    WKPageRunJavaScriptPromptCallback                                   runJavaScriptPrompt;
+    WKPageSetStatusTextCallback                                         setStatusText;
+    WKPageMouseDidMoveOverElementCallback_deprecatedForUseWithV0        mouseDidMoveOverElement_deprecatedForUseWithV0;
+    WKPageMissingPluginButtonClickedCallback_deprecatedForUseWithV0     missingPluginButtonClicked_deprecatedForUseWithV0;
+    WKPageDidNotHandleKeyEventCallback                                  didNotHandleKeyEvent;
+    WKPageDidNotHandleWheelEventCallback                                didNotHandleWheelEvent;
+    WKPageGetToolbarsAreVisibleCallback                                 toolbarsAreVisible;
+    WKPageSetToolbarsAreVisibleCallback                                 setToolbarsAreVisible;
+    WKPageGetMenuBarIsVisibleCallback                                   menuBarIsVisible;
+    WKPageSetMenuBarIsVisibleCallback                                   setMenuBarIsVisible;
+    WKPageGetStatusBarIsVisibleCallback                                 statusBarIsVisible;
+    WKPageSetStatusBarIsVisibleCallback                                 setStatusBarIsVisible;
+    WKPageGetIsResizableCallback                                        isResizable;
+    WKPageSetIsResizableCallback                                        setIsResizable;
+    WKPageGetWindowFrameCallback                                        getWindowFrame;
+    WKPageSetWindowFrameCallback                                        setWindowFrame;
+    WKPageRunBeforeUnloadConfirmPanelCallback                           runBeforeUnloadConfirmPanel;
+    WKPageUIClientCallback                                              didDraw;
+    WKPageUIClientCallback                                              pageDidScroll;
+    WKPageExceededDatabaseQuotaCallback                                 exceededDatabaseQuota;
+    WKPageRunOpenPanelCallback                                          runOpenPanel;
+    WKPageDecidePolicyForGeolocationPermissionRequestCallback           decidePolicyForGeolocationPermissionRequest;
+    WKPageHeaderHeightCallback                                          headerHeight;
+    WKPageFooterHeightCallback                                          footerHeight;
+    WKPageDrawHeaderCallback                                            drawHeader;
+    WKPageDrawFooterCallback                                            drawFooter;
+    WKPagePrintFrameCallback                                            printFrame;
+    WKPageUIClientCallback                                              runModal;
+    void*                                                               unused1; // Used to be didCompleteRubberBandForMainFrame
+    WKPageSaveDataToFileInDownloadsFolderCallback                       saveDataToFileInDownloadsFolder;
+    WKPageShouldInterruptJavaScriptCallback                             shouldInterruptJavaScript;    
+
+    // Version 1.
+    WKPageCreateNewPageCallback                                         createNewPage;
+    WKPageMouseDidMoveOverElementCallback                               mouseDidMoveOverElement;
+    WKPageDecidePolicyForNotificationPermissionRequestCallback          decidePolicyForNotificationPermissionRequest;
+    WKPageUnavailablePluginButtonClickedCallback_deprecatedForUseWithV1 unavailablePluginButtonClicked_deprecatedForUseWithV1;
+
+    // Version 2.
+    WKPageShowColorPickerCallback                                       showColorPicker;
+    WKPageHideColorPickerCallback                                       hideColorPicker;
+    WKPageUnavailablePluginButtonClickedCallback                        unavailablePluginButtonClicked;
+} WKPageUIClient;
+
</ins><span class="cx"> #ifdef __cplusplus
</span><span class="cx"> }
</span><span class="cx"> #endif
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundleh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundle.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -40,21 +40,50 @@
</span><span class="cx"> typedef void (*WKBundleDidReceiveMessageCallback)(WKBundleRef bundle, WKStringRef name, WKTypeRef messageBody, const void* clientInfo);
</span><span class="cx"> typedef void (*WKBundleDidReceiveMessageToPageCallback)(WKBundleRef bundle, WKBundlePageRef page, WKStringRef name, WKTypeRef messageBody, const void* clientInfo);
</span><span class="cx"> 
</span><del>-struct WKBundleClient {
</del><ins>+typedef struct WKBundleClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKBundleClientBase;
+
+typedef struct WKBundleClientV0 {
+    WKBundleClientBase                                                  base;
+
+    // Version 0.
</ins><span class="cx">     WKBundleDidCreatePageCallback                                       didCreatePage;
</span><span class="cx">     WKBundleWillDestroyPageCallback                                     willDestroyPage;
</span><span class="cx">     WKBundleDidInitializePageGroupCallback                              didInitializePageGroup;
</span><span class="cx">     WKBundleDidReceiveMessageCallback                                   didReceiveMessage;
</span><ins>+} WKBundleClientV0;
</ins><span class="cx"> 
</span><ins>+typedef struct WKBundleClientV1 {
+    WKBundleClientBase                                                  base;
+
+    // Version 0.
+    WKBundleDidCreatePageCallback                                       didCreatePage;
+    WKBundleWillDestroyPageCallback                                     willDestroyPage;
+    WKBundleDidInitializePageGroupCallback                              didInitializePageGroup;
+    WKBundleDidReceiveMessageCallback                                   didReceiveMessage;
+
</ins><span class="cx">     // Version 1.
</span><span class="cx">     WKBundleDidReceiveMessageToPageCallback                             didReceiveMessageToPage;
</span><del>-};
-typedef struct WKBundleClient WKBundleClient;
</del><ins>+} WKBundleClientV1;
</ins><span class="cx"> 
</span><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKBundleClientCurrentVersion = 1 };
</span><ins>+typedef struct WKBundleClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
</ins><span class="cx"> 
</span><ins>+    // Version 0.
+    WKBundleDidCreatePageCallback                                       didCreatePage;
+    WKBundleWillDestroyPageCallback                                     willDestroyPage;
+    WKBundleDidInitializePageGroupCallback                              didInitializePageGroup;
+    WKBundleDidReceiveMessageCallback                                   didReceiveMessage;
+
+    // Version 1.
+    WKBundleDidReceiveMessageToPageCallback                             didReceiveMessageToPage;
+} WKBundleClient;
+
</ins><span class="cx"> WK_EXPORT WKTypeID WKBundleGetTypeID();
</span><span class="cx"> 
</span><span class="cx"> WK_EXPORT void WKBundleSetClient(WKBundleRef bundle, WKBundleClient* client);
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageBannerh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -44,18 +44,35 @@
</span><span class="cx"> typedef bool (*WKBundlePageBannerMouseMovedCallback)(WKBundlePageBannerRef pageBanner, WKPoint position, const void* clientInfo);
</span><span class="cx"> typedef bool (*WKBundlePageBannerMouseDraggedCallback)(WKBundlePageBannerRef pageBanner, WKPoint position, WKEventMouseButton mouseButton, const void* clientInfo);
</span><span class="cx"> 
</span><del>-struct WKBundlePageBannerClient {
</del><ins>+typedef struct WKBundlePageBannerClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKBundlePageBannerClientBase;
+
+typedef struct WKBundlePageBannerClientV0 {
+    WKBundlePageBannerClientBase                                        base;
+
+    // Version 0.
</ins><span class="cx">     WKBundlePageBannerMouseDownCallback                                 mouseDown;
</span><span class="cx">     WKBundlePageBannerMouseUpCallback                                   mouseUp;
</span><span class="cx">     WKBundlePageBannerMouseMovedCallback                                mouseMoved;
</span><span class="cx">     WKBundlePageBannerMouseDraggedCallback                              mouseDragged;
</span><del>-};
-typedef struct WKBundlePageBannerClient WKBundlePageBannerClient;
</del><ins>+} WKBundlePageBannerClientV0;
</ins><span class="cx"> 
</span><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKBundlePageBannerClientCurrentVersion = 0 };
</span><del>-    
</del><ins>+typedef struct WKBundlePageBannerClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
+
+    // Version 0.
+    WKBundlePageBannerMouseDownCallback                                 mouseDown;
+    WKBundlePageBannerMouseUpCallback                                   mouseUp;
+    WKBundlePageBannerMouseMovedCallback                                mouseMoved;
+    WKBundlePageBannerMouseDraggedCallback                              mouseDragged;
+} WKBundlePageBannerClient;
+
+
</ins><span class="cx"> WK_EXPORT WKTypeID WKBundlePageBannerGetTypeID();
</span><span class="cx"> 
</span><span class="cx"> #ifdef __cplusplus
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageContextMenuClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -30,13 +30,26 @@
</span><span class="cx"> 
</span><span class="cx"> typedef void (*WKBundlePageGetContextMenuFromDefaultContextMenuCallback)(WKBundlePageRef page, WKBundleHitTestResultRef hitTestResult, WKArrayRef defaultMenu, WKArrayRef* newMenu, WKTypeRef* userData, const void* clientInfo);
</span><span class="cx"> 
</span><del>-struct WKBundlePageContextMenuClient {
</del><ins>+typedef struct WKBundlePageContextMenuClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKBundlePageContextMenuClientBase;
+
+typedef struct WKBundlePageContextMenuClientV0 {
+    WKBundlePageContextMenuClientBase                                   base;
+
+    // Version 0.
</ins><span class="cx">     WKBundlePageGetContextMenuFromDefaultContextMenuCallback            getContextMenuFromDefaultMenu;
</span><del>-};
-typedef struct WKBundlePageContextMenuClient WKBundlePageContextMenuClient;
</del><ins>+} WKBundlePageContextMenuClientV0;
</ins><span class="cx"> 
</span><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKBundlePageContextMenuClientCurrentVersion = 0 };
</span><ins>+typedef struct WKBundlePageContextMenuClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
</ins><span class="cx"> 
</span><ins>+    // Version 0.
+    WKBundlePageGetContextMenuFromDefaultContextMenuCallback            getContextMenuFromDefaultMenu;
+} WKBundlePageContextMenuClient;
+
</ins><span class="cx"> #endif // WKBundlePageContextMenuClient_h
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageDiagnosticLoggingClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -30,13 +30,26 @@
</span><span class="cx"> 
</span><span class="cx"> typedef void (*WKBundlePageDiagnosticLoggingCallback)(WKBundlePageRef page, WKStringRef message, WKStringRef description, WKStringRef success, const void* clientInfo);
</span><span class="cx"> 
</span><del>-struct WKBundlePageDiagnosticLoggingClient {
</del><ins>+typedef struct WKBundlePageDiagnosticLoggingClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKBundlePageDiagnosticLoggingClientBase;
+
+typedef struct WKBundlePageDiagnosticLoggingClientV0 {
+    WKBundlePageDiagnosticLoggingClientBase                             base;
+
+    // Version 0.
</ins><span class="cx">     WKBundlePageDiagnosticLoggingCallback                               logDiagnosticMessage;
</span><del>-};
-typedef struct WKBundlePageDiagnosticLoggingClient WKBundlePageDiagnosticLoggingClient;
</del><ins>+} WKBundlePageDiagnosticLoggingClientV0;
</ins><span class="cx"> 
</span><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKBundlePageDiagnosticLoggingClientCurrentVersion = 0 };
</span><ins>+typedef struct WKBundlePageDiagnosticLoggingClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
</ins><span class="cx"> 
</span><ins>+    // Version 0.
+    WKBundlePageDiagnosticLoggingCallback                               logDiagnosticMessage;
+} WKBundlePageDiagnosticLoggingClient;
+
</ins><span class="cx"> #endif // WKBundlePageDiagnosticLoggingClient_h
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageEditorClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -70,9 +70,15 @@
</span><span class="cx"> typedef void (*WKBundlePageGetPasteboardDataForRange)(WKBundlePageRef page, WKBundleRangeHandleRef range, WKArrayRef* pasteboardTypes, WKArrayRef* pasteboardData, const void* clientInfo);
</span><span class="cx"> typedef void (*WKBundlePageDidWriteToPasteboard)(WKBundlePageRef page, const void* clientInfo);
</span><span class="cx"> 
</span><del>-struct WKBundlePageEditorClient {
</del><ins>+typedef struct WKBundlePageEditorClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKBundlePageEditorClientBase;
+
+typedef struct WKBundlePageEditorClientV0 {
+    WKBundlePageEditorClientBase                                        base;
+
+    // Version 0.
</ins><span class="cx">     WKBundlePageShouldBeginEditingCallback                              shouldBeginEditing;
</span><span class="cx">     WKBundlePageShouldEndEditingCallback                                shouldEndEditing;
</span><span class="cx">     WKBundlePageShouldInsertNodeCallback                                shouldInsertNode;
</span><span class="lines">@@ -84,13 +90,53 @@
</span><span class="cx">     WKBundlePageEditingNotification                                     didEndEditing;
</span><span class="cx">     WKBundlePageEditingNotification                                     didChange;
</span><span class="cx">     WKBundlePageEditingNotification                                     didChangeSelection;
</span><ins>+} WKBundlePageEditorClientV0;
+
+typedef struct WKBundlePageEditorClientV1 {
+    WKBundlePageEditorClientBase                                        base;
+
+    // Version 0.
+    WKBundlePageShouldBeginEditingCallback                              shouldBeginEditing;
+    WKBundlePageShouldEndEditingCallback                                shouldEndEditing;
+    WKBundlePageShouldInsertNodeCallback                                shouldInsertNode;
+    WKBundlePageShouldInsertTextCallback                                shouldInsertText;
+    WKBundlePageShouldDeleteRangeCallback                               shouldDeleteRange;
+    WKBundlePageShouldChangeSelectedRange                               shouldChangeSelectedRange;
+    WKBundlePageShouldApplyStyle                                        shouldApplyStyle;
+    WKBundlePageEditingNotification                                     didBeginEditing;
+    WKBundlePageEditingNotification                                     didEndEditing;
+    WKBundlePageEditingNotification                                     didChange;
+    WKBundlePageEditingNotification                                     didChangeSelection;
+
</ins><span class="cx">     // Version 1.
</span><span class="cx">     WKBundlePageWillWriteToPasteboard                                   willWriteToPasteboard;
</span><span class="cx">     WKBundlePageGetPasteboardDataForRange                               getPasteboardDataForRange;
</span><span class="cx">     WKBundlePageDidWriteToPasteboard                                    didWriteToPasteboard;
</span><del>-};
-typedef struct WKBundlePageEditorClient WKBundlePageEditorClient;
</del><ins>+} WKBundlePageEditorClientV1;
</ins><span class="cx"> 
</span><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKBundlePageEditorClientCurrentVersion = 1 };
</span><ins>+typedef struct WKBundlePageEditorClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
</ins><span class="cx"> 
</span><ins>+    // Version 0.
+    WKBundlePageShouldBeginEditingCallback                              shouldBeginEditing;
+    WKBundlePageShouldEndEditingCallback                                shouldEndEditing;
+    WKBundlePageShouldInsertNodeCallback                                shouldInsertNode;
+    WKBundlePageShouldInsertTextCallback                                shouldInsertText;
+    WKBundlePageShouldDeleteRangeCallback                               shouldDeleteRange;
+    WKBundlePageShouldChangeSelectedRange                               shouldChangeSelectedRange;
+    WKBundlePageShouldApplyStyle                                        shouldApplyStyle;
+    WKBundlePageEditingNotification                                     didBeginEditing;
+    WKBundlePageEditingNotification                                     didEndEditing;
+    WKBundlePageEditingNotification                                     didChange;
+    WKBundlePageEditingNotification                                     didChangeSelection;
+
+    // Version 1.
+    WKBundlePageWillWriteToPasteboard                                   willWriteToPasteboard;
+    WKBundlePageGetPasteboardDataForRange                               getPasteboardDataForRange;
+    WKBundlePageDidWriteToPasteboard                                    didWriteToPasteboard;
+} WKBundlePageEditorClient;
+
</ins><span class="cx"> #endif // WKBundlePageEditorClient_h
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageFormClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -39,9 +39,63 @@
</span><span class="cx"> typedef bool (*WKBundlePageShouldNotifyOnFormChangesCallback)(WKBundlePageRef page, const void* clientInfo);
</span><span class="cx"> typedef void (*WKBundlePageDidAssociateFormControlsCallback)(WKBundlePageRef page, WKArrayRef elementHandles, const void* clientInfo);
</span><span class="cx"> 
</span><del>-struct WKBundlePageFormClient {
</del><ins>+typedef struct WKBundlePageFormClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKBundlePageFormClientBase;
+
+typedef struct WKBundlePageFormClientV0 {
+    WKBundlePageFormClientBase                                          base;
+
+    // Version 0.
+    WKBundlePageTextFieldDidBeginEditingCallback                        textFieldDidBeginEditing;
+    WKBundlePageTextFieldDidEndEditingCallback                          textFieldDidEndEditing;
+    WKBundlePageTextDidChangeInTextFieldCallback                        textDidChangeInTextField;
+    WKBundlePageTextDidChangeInTextAreaCallback                         textDidChangeInTextArea;
+    WKBundlePageShouldPerformActionInTextFieldCallback                  shouldPerformActionInTextField;
+    WKBundlePageWillSubmitFormCallback                                  willSubmitForm;
+} WKBundlePageFormClientV0;
+
+typedef struct WKBundlePageFormClientV1 {
+    WKBundlePageFormClientBase                                          base;
+
+    // Version 0.
+    WKBundlePageTextFieldDidBeginEditingCallback                        textFieldDidBeginEditing;
+    WKBundlePageTextFieldDidEndEditingCallback                          textFieldDidEndEditing;
+    WKBundlePageTextDidChangeInTextFieldCallback                        textDidChangeInTextField;
+    WKBundlePageTextDidChangeInTextAreaCallback                         textDidChangeInTextArea;
+    WKBundlePageShouldPerformActionInTextFieldCallback                  shouldPerformActionInTextField;
+    WKBundlePageWillSubmitFormCallback                                  willSubmitForm;
+
+    // Version 1.
+    WKBundlePageWillSendSubmitEventCallback                             willSendSubmitEvent;
+} WKBundlePageFormClientV1;
+
+typedef struct WKBundlePageFormClientV2 {
+    WKBundlePageFormClientBase                                          base;
+
+    // Version 0.
+    WKBundlePageTextFieldDidBeginEditingCallback                        textFieldDidBeginEditing;
+    WKBundlePageTextFieldDidEndEditingCallback                          textFieldDidEndEditing;
+    WKBundlePageTextDidChangeInTextFieldCallback                        textDidChangeInTextField;
+    WKBundlePageTextDidChangeInTextAreaCallback                         textDidChangeInTextArea;
+    WKBundlePageShouldPerformActionInTextFieldCallback                  shouldPerformActionInTextField;
+    WKBundlePageWillSubmitFormCallback                                  willSubmitForm;
+
+    // Version 1.
+    WKBundlePageWillSendSubmitEventCallback                             willSendSubmitEvent;
+
+    // version 2.
+    WKBundlePageDidFocusTextFieldCallback                               didFocusTextField;
+    WKBundlePageShouldNotifyOnFormChangesCallback                       shouldNotifyOnFormChanges;
+    WKBundlePageDidAssociateFormControlsCallback                        didAssociateFormControls;
+} WKBundlePageFormClientV2;
+
+// FIXME: Deprecate.
+enum { kWKBundlePageFormClientCurrentVersion = 2 };
+typedef struct WKBundlePageFormClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
</ins><span class="cx">     
</span><span class="cx">     // Version 0.
</span><span class="cx">     WKBundlePageTextFieldDidBeginEditingCallback                        textFieldDidBeginEditing;
</span><span class="lines">@@ -58,9 +112,6 @@
</span><span class="cx">     WKBundlePageDidFocusTextFieldCallback                               didFocusTextField;
</span><span class="cx">     WKBundlePageShouldNotifyOnFormChangesCallback                       shouldNotifyOnFormChanges;
</span><span class="cx">     WKBundlePageDidAssociateFormControlsCallback                        didAssociateFormControls;
</span><del>-};
-typedef struct WKBundlePageFormClient WKBundlePageFormClient;
</del><ins>+} WKBundlePageFormClient;
</ins><span class="cx"> 
</span><del>-enum { kWKBundlePageFormClientCurrentVersion = 2 };
-
</del><span class="cx"> #endif // WKBundlePageFormClient_h
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageFullScreenClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -36,10 +36,40 @@
</span><span class="cx"> typedef void (*WKBundlePageBeganExitFullScreen)(WKBundlePageRef page, WKRect initialFrame, WKRect finalFrame);
</span><span class="cx"> typedef void (*WKBundlePageCloseFullScreen)(WKBundlePageRef page);
</span><span class="cx"> 
</span><del>-struct WKBundlePageFullScreenClient {
</del><ins>+typedef struct WKBundlePageFullScreenClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKBundlePageFullScreenClientBase;
</ins><span class="cx"> 
</span><ins>+typedef struct WKBundlePageFullScreenClientV0 {
+    WKBundlePageFullScreenClientBase                                    base;
+
+    // Version 0.
+    WKBundlePageSupportsFullScreen                                      supportsFullScreen;
+    WKBundlePageEnterFullScreenForElement                               enterFullScreenForElement;
+    WKBundlePageExitFullScreenForElement                                exitFullScreenForElement;
+} WKBundlePageFullScreenClientV0;
+
+typedef struct WKBundlePageFullScreenClientV1 {
+    WKBundlePageFullScreenClientBase                                    base;
+
+    // Version 0.
+    WKBundlePageSupportsFullScreen                                      supportsFullScreen;
+    WKBundlePageEnterFullScreenForElement                               enterFullScreenForElement;
+    WKBundlePageExitFullScreenForElement                                exitFullScreenForElement;
+
+    // Version 1.
+    WKBundlePageBeganEnterFullScreen                                    beganEnterFullScreen;
+    WKBundlePageBeganExitFullScreen                                     beganExitFullScreen;
+    WKBundlePageCloseFullScreen                                         closeFullScreen;
+} WKBundlePageFullScreenClientV1;
+
+// FIXME: Deprecate.
+enum { kWKBundlePageFullScreenClientCurrentVersion = 1 };
+typedef struct WKBundlePageFullScreenClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
+
</ins><span class="cx">     // Version 0:
</span><span class="cx">     WKBundlePageSupportsFullScreen                                      supportsFullScreen;
</span><span class="cx">     WKBundlePageEnterFullScreenForElement                               enterFullScreenForElement;
</span><span class="lines">@@ -49,9 +79,6 @@
</span><span class="cx">     WKBundlePageBeganEnterFullScreen                                    beganEnterFullScreen;
</span><span class="cx">     WKBundlePageBeganExitFullScreen                                     beganExitFullScreen;
</span><span class="cx">     WKBundlePageCloseFullScreen                                         closeFullScreen;
</span><del>-};
-typedef struct WKBundlePageFullScreenClient WKBundlePageFullScreenClient;
</del><ins>+} WKBundlePageFullScreenClient;
</ins><span class="cx"> 
</span><del>-enum { kWKBundlePageFullScreenClientCurrentVersion = 1 };
-
</del><span class="cx"> #endif // WKBundlePageFullScreenClient_h
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageLoaderClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -63,10 +63,14 @@
</span><span class="cx"> typedef void (*WKBundlePageWillLoadDataRequestCallback)(WKBundlePageRef page, WKURLRequestRef request, WKDataRef data, WKStringRef MIMEType, WKStringRef encodingName, WKURLRef unreachableURL, WKTypeRef userData, const void *clientInfo);
</span><span class="cx"> typedef void (*WKBundlePageWillDestroyFrame)(WKBundlePageRef page, WKBundleFrameRef frame, const void *clientInfo);
</span><span class="cx"> 
</span><del>-struct WKBundlePageLoaderClient {
</del><ins>+typedef struct WKBundlePageLoaderClientBase {
</ins><span class="cx">     int                                                                     version;
</span><span class="cx">     const void *                                                            clientInfo;
</span><ins>+} WKBundlePageLoaderClientBase;
</ins><span class="cx"> 
</span><ins>+typedef struct WKBundlePageLoaderClientV0 {
+    WKBundlePageLoaderClientBase                                            base;
+
</ins><span class="cx">     // Version 0.
</span><span class="cx">     WKBundlePageDidStartProvisionalLoadForFrameCallback                     didStartProvisionalLoadForFrame;
</span><span class="cx">     WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback  didReceiveServerRedirectForProvisionalLoadForFrame;
</span><span class="lines">@@ -86,7 +90,31 @@
</span><span class="cx">     WKBundlePageDidCancelClientRedirectForFrameCallback                     didCancelClientRedirectForFrame;
</span><span class="cx">     WKBundlePageWillPerformClientRedirectForFrameCallback                   willPerformClientRedirectForFrame;
</span><span class="cx">     WKBundlePageDidHandleOnloadEventsForFrameCallback                       didHandleOnloadEventsForFrame;
</span><ins>+} WKBundlePageLoaderClientV0;
</ins><span class="cx"> 
</span><ins>+typedef struct WKBundlePageLoaderClientV1 {
+    WKBundlePageLoaderClientBase                                            base;
+
+    // Version 0.
+    WKBundlePageDidStartProvisionalLoadForFrameCallback                     didStartProvisionalLoadForFrame;
+    WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback  didReceiveServerRedirectForProvisionalLoadForFrame;
+    WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback             didFailProvisionalLoadWithErrorForFrame;
+    WKBundlePageDidCommitLoadForFrameCallback                               didCommitLoadForFrame;
+    WKBundlePageDidFinishDocumentLoadForFrameCallback                       didFinishDocumentLoadForFrame;
+    WKBundlePageDidFinishLoadForFrameCallback                               didFinishLoadForFrame;
+    WKBundlePageDidFailLoadWithErrorForFrameCallback                        didFailLoadWithErrorForFrame;
+    WKBundlePageDidSameDocumentNavigationForFrameCallback                   didSameDocumentNavigationForFrame;
+    WKBundlePageDidReceiveTitleForFrameCallback                             didReceiveTitleForFrame;
+    WKBundlePageDidFirstLayoutForFrameCallback                              didFirstLayoutForFrame;
+    WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback              didFirstVisuallyNonEmptyLayoutForFrame;
+    WKBundlePageDidRemoveFrameFromHierarchyCallback                         didRemoveFrameFromHierarchy;
+    WKBundlePageDidDisplayInsecureContentForFrameCallback                   didDisplayInsecureContentForFrame;
+    WKBundlePageDidRunInsecureContentForFrameCallback                       didRunInsecureContentForFrame;
+    WKBundlePageDidClearWindowObjectForFrameCallback                        didClearWindowObjectForFrame;
+    WKBundlePageDidCancelClientRedirectForFrameCallback                     didCancelClientRedirectForFrame;
+    WKBundlePageWillPerformClientRedirectForFrameCallback                   willPerformClientRedirectForFrame;
+    WKBundlePageDidHandleOnloadEventsForFrameCallback                       didHandleOnloadEventsForFrame;
+
</ins><span class="cx">     // Version 1.
</span><span class="cx">     WKBundlePageDidLayoutForFrameCallback                                   didLayoutForFrame;
</span><span class="cx">     void *                                                                  didNewFirstVisuallyNonEmptyLayout_unavailable;
</span><span class="lines">@@ -96,6 +124,323 @@
</span><span class="cx">     WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback    willDisconnectDOMWindowExtensionFromGlobalObject;
</span><span class="cx">     WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback        didReconnectDOMWindowExtensionToGlobalObject;
</span><span class="cx">     WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback        willDestroyGlobalObjectForDOMWindowExtension;
</span><ins>+} WKBundlePageLoaderClientV1;
+
+typedef struct WKBundlePageLoaderClientV2 {
+    WKBundlePageLoaderClientBase                                            base;
+
+    // Version 0.
+    WKBundlePageDidStartProvisionalLoadForFrameCallback                     didStartProvisionalLoadForFrame;
+    WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback  didReceiveServerRedirectForProvisionalLoadForFrame;
+    WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback             didFailProvisionalLoadWithErrorForFrame;
+    WKBundlePageDidCommitLoadForFrameCallback                               didCommitLoadForFrame;
+    WKBundlePageDidFinishDocumentLoadForFrameCallback                       didFinishDocumentLoadForFrame;
+    WKBundlePageDidFinishLoadForFrameCallback                               didFinishLoadForFrame;
+    WKBundlePageDidFailLoadWithErrorForFrameCallback                        didFailLoadWithErrorForFrame;
+    WKBundlePageDidSameDocumentNavigationForFrameCallback                   didSameDocumentNavigationForFrame;
+    WKBundlePageDidReceiveTitleForFrameCallback                             didReceiveTitleForFrame;
+    WKBundlePageDidFirstLayoutForFrameCallback                              didFirstLayoutForFrame;
+    WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback              didFirstVisuallyNonEmptyLayoutForFrame;
+    WKBundlePageDidRemoveFrameFromHierarchyCallback                         didRemoveFrameFromHierarchy;
+    WKBundlePageDidDisplayInsecureContentForFrameCallback                   didDisplayInsecureContentForFrame;
+    WKBundlePageDidRunInsecureContentForFrameCallback                       didRunInsecureContentForFrame;
+    WKBundlePageDidClearWindowObjectForFrameCallback                        didClearWindowObjectForFrame;
+    WKBundlePageDidCancelClientRedirectForFrameCallback                     didCancelClientRedirectForFrame;
+    WKBundlePageWillPerformClientRedirectForFrameCallback                   willPerformClientRedirectForFrame;
+    WKBundlePageDidHandleOnloadEventsForFrameCallback                       didHandleOnloadEventsForFrame;
+
+    // Version 1.
+    WKBundlePageDidLayoutForFrameCallback                                   didLayoutForFrame;
+    void *                                                                  didNewFirstVisuallyNonEmptyLayout_unavailable;
+    WKBundlePageDidDetectXSSForFrameCallback                                didDetectXSSForFrame;
+    WKBundlePageShouldGoToBackForwardListItemCallback                       shouldGoToBackForwardListItem;
+    WKBundlePageGlobalObjectIsAvailableForFrameCallback                     globalObjectIsAvailableForFrame;
+    WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback    willDisconnectDOMWindowExtensionFromGlobalObject;
+    WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback        didReconnectDOMWindowExtensionToGlobalObject;
+    WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback        willDestroyGlobalObjectForDOMWindowExtension;
+
+    // Version 2
+    WKBundlePageDidFinishProgressCallback                                   didFinishProgress;
+    WKBundlePageShouldForceUniversalAccessFromLocalURLCallback              shouldForceUniversalAccessFromLocalURL;
+} WKBundlePageLoaderClientV2;
+
+typedef struct WKBundlePageLoaderClientV3 {
+    WKBundlePageLoaderClientBase                                            base;
+
+    // Version 0.
+    WKBundlePageDidStartProvisionalLoadForFrameCallback                     didStartProvisionalLoadForFrame;
+    WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback  didReceiveServerRedirectForProvisionalLoadForFrame;
+    WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback             didFailProvisionalLoadWithErrorForFrame;
+    WKBundlePageDidCommitLoadForFrameCallback                               didCommitLoadForFrame;
+    WKBundlePageDidFinishDocumentLoadForFrameCallback                       didFinishDocumentLoadForFrame;
+    WKBundlePageDidFinishLoadForFrameCallback                               didFinishLoadForFrame;
+    WKBundlePageDidFailLoadWithErrorForFrameCallback                        didFailLoadWithErrorForFrame;
+    WKBundlePageDidSameDocumentNavigationForFrameCallback                   didSameDocumentNavigationForFrame;
+    WKBundlePageDidReceiveTitleForFrameCallback                             didReceiveTitleForFrame;
+    WKBundlePageDidFirstLayoutForFrameCallback                              didFirstLayoutForFrame;
+    WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback              didFirstVisuallyNonEmptyLayoutForFrame;
+    WKBundlePageDidRemoveFrameFromHierarchyCallback                         didRemoveFrameFromHierarchy;
+    WKBundlePageDidDisplayInsecureContentForFrameCallback                   didDisplayInsecureContentForFrame;
+    WKBundlePageDidRunInsecureContentForFrameCallback                       didRunInsecureContentForFrame;
+    WKBundlePageDidClearWindowObjectForFrameCallback                        didClearWindowObjectForFrame;
+    WKBundlePageDidCancelClientRedirectForFrameCallback                     didCancelClientRedirectForFrame;
+    WKBundlePageWillPerformClientRedirectForFrameCallback                   willPerformClientRedirectForFrame;
+    WKBundlePageDidHandleOnloadEventsForFrameCallback                       didHandleOnloadEventsForFrame;
+
+    // Version 1.
+    WKBundlePageDidLayoutForFrameCallback                                   didLayoutForFrame;
+    void *                                                                  didNewFirstVisuallyNonEmptyLayout_unavailable;
+    WKBundlePageDidDetectXSSForFrameCallback                                didDetectXSSForFrame;
+    WKBundlePageShouldGoToBackForwardListItemCallback                       shouldGoToBackForwardListItem;
+    WKBundlePageGlobalObjectIsAvailableForFrameCallback                     globalObjectIsAvailableForFrame;
+    WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback    willDisconnectDOMWindowExtensionFromGlobalObject;
+    WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback        didReconnectDOMWindowExtensionToGlobalObject;
+    WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback        willDestroyGlobalObjectForDOMWindowExtension;
+
+    // Version 2
+    WKBundlePageDidFinishProgressCallback                                   didFinishProgress;
+    WKBundlePageShouldForceUniversalAccessFromLocalURLCallback              shouldForceUniversalAccessFromLocalURL;
+
+    // Version 3
+    void *                                                                  didReceiveIntentForFrame_unavailable;
+    void *                                                                  registerIntentServiceForFrame_unavailable;
+} WKBundlePageLoaderClientV3;
+
+typedef struct WKBundlePageLoaderClientV4 {
+    WKBundlePageLoaderClientBase                                            base;
+
+    // Version 0.
+    WKBundlePageDidStartProvisionalLoadForFrameCallback                     didStartProvisionalLoadForFrame;
+    WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback  didReceiveServerRedirectForProvisionalLoadForFrame;
+    WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback             didFailProvisionalLoadWithErrorForFrame;
+    WKBundlePageDidCommitLoadForFrameCallback                               didCommitLoadForFrame;
+    WKBundlePageDidFinishDocumentLoadForFrameCallback                       didFinishDocumentLoadForFrame;
+    WKBundlePageDidFinishLoadForFrameCallback                               didFinishLoadForFrame;
+    WKBundlePageDidFailLoadWithErrorForFrameCallback                        didFailLoadWithErrorForFrame;
+    WKBundlePageDidSameDocumentNavigationForFrameCallback                   didSameDocumentNavigationForFrame;
+    WKBundlePageDidReceiveTitleForFrameCallback                             didReceiveTitleForFrame;
+    WKBundlePageDidFirstLayoutForFrameCallback                              didFirstLayoutForFrame;
+    WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback              didFirstVisuallyNonEmptyLayoutForFrame;
+    WKBundlePageDidRemoveFrameFromHierarchyCallback                         didRemoveFrameFromHierarchy;
+    WKBundlePageDidDisplayInsecureContentForFrameCallback                   didDisplayInsecureContentForFrame;
+    WKBundlePageDidRunInsecureContentForFrameCallback                       didRunInsecureContentForFrame;
+    WKBundlePageDidClearWindowObjectForFrameCallback                        didClearWindowObjectForFrame;
+    WKBundlePageDidCancelClientRedirectForFrameCallback                     didCancelClientRedirectForFrame;
+    WKBundlePageWillPerformClientRedirectForFrameCallback                   willPerformClientRedirectForFrame;
+    WKBundlePageDidHandleOnloadEventsForFrameCallback                       didHandleOnloadEventsForFrame;
+
+    // Version 1.
+    WKBundlePageDidLayoutForFrameCallback                                   didLayoutForFrame;
+    void *                                                                  didNewFirstVisuallyNonEmptyLayout_unavailable;
+    WKBundlePageDidDetectXSSForFrameCallback                                didDetectXSSForFrame;
+    WKBundlePageShouldGoToBackForwardListItemCallback                       shouldGoToBackForwardListItem;
+    WKBundlePageGlobalObjectIsAvailableForFrameCallback                     globalObjectIsAvailableForFrame;
+    WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback    willDisconnectDOMWindowExtensionFromGlobalObject;
+    WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback        didReconnectDOMWindowExtensionToGlobalObject;
+    WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback        willDestroyGlobalObjectForDOMWindowExtension;
+
+    // Version 2
+    WKBundlePageDidFinishProgressCallback                                   didFinishProgress;
+    WKBundlePageShouldForceUniversalAccessFromLocalURLCallback              shouldForceUniversalAccessFromLocalURL;
+
+    // Version 3
+    void *                                                                  didReceiveIntentForFrame_unavailable;
+    void *                                                                  registerIntentServiceForFrame_unavailable;
+
+    // Version 4
+    WKBundlePageDidLayoutCallback                                           didLayout;
+} WKBundlePageLoaderClientV4;
+
+typedef struct WKBundlePageLoaderClientV5 {
+    WKBundlePageLoaderClientBase                                            base;
+
+    // Version 0.
+    WKBundlePageDidStartProvisionalLoadForFrameCallback                     didStartProvisionalLoadForFrame;
+    WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback  didReceiveServerRedirectForProvisionalLoadForFrame;
+    WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback             didFailProvisionalLoadWithErrorForFrame;
+    WKBundlePageDidCommitLoadForFrameCallback                               didCommitLoadForFrame;
+    WKBundlePageDidFinishDocumentLoadForFrameCallback                       didFinishDocumentLoadForFrame;
+    WKBundlePageDidFinishLoadForFrameCallback                               didFinishLoadForFrame;
+    WKBundlePageDidFailLoadWithErrorForFrameCallback                        didFailLoadWithErrorForFrame;
+    WKBundlePageDidSameDocumentNavigationForFrameCallback                   didSameDocumentNavigationForFrame;
+    WKBundlePageDidReceiveTitleForFrameCallback                             didReceiveTitleForFrame;
+    WKBundlePageDidFirstLayoutForFrameCallback                              didFirstLayoutForFrame;
+    WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback              didFirstVisuallyNonEmptyLayoutForFrame;
+    WKBundlePageDidRemoveFrameFromHierarchyCallback                         didRemoveFrameFromHierarchy;
+    WKBundlePageDidDisplayInsecureContentForFrameCallback                   didDisplayInsecureContentForFrame;
+    WKBundlePageDidRunInsecureContentForFrameCallback                       didRunInsecureContentForFrame;
+    WKBundlePageDidClearWindowObjectForFrameCallback                        didClearWindowObjectForFrame;
+    WKBundlePageDidCancelClientRedirectForFrameCallback                     didCancelClientRedirectForFrame;
+    WKBundlePageWillPerformClientRedirectForFrameCallback                   willPerformClientRedirectForFrame;
+    WKBundlePageDidHandleOnloadEventsForFrameCallback                       didHandleOnloadEventsForFrame;
+
+    // Version 1.
+    WKBundlePageDidLayoutForFrameCallback                                   didLayoutForFrame;
+    void *                                                                  didNewFirstVisuallyNonEmptyLayout_unavailable;
+    WKBundlePageDidDetectXSSForFrameCallback                                didDetectXSSForFrame;
+    WKBundlePageShouldGoToBackForwardListItemCallback                       shouldGoToBackForwardListItem;
+    WKBundlePageGlobalObjectIsAvailableForFrameCallback                     globalObjectIsAvailableForFrame;
+    WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback    willDisconnectDOMWindowExtensionFromGlobalObject;
+    WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback        didReconnectDOMWindowExtensionToGlobalObject;
+    WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback        willDestroyGlobalObjectForDOMWindowExtension;
+
+    // Version 2
+    WKBundlePageDidFinishProgressCallback                                   didFinishProgress;
+    WKBundlePageShouldForceUniversalAccessFromLocalURLCallback              shouldForceUniversalAccessFromLocalURL;
+
+    // Version 3
+    void *                                                                  didReceiveIntentForFrame_unavailable;
+    void *                                                                  registerIntentServiceForFrame_unavailable;
+
+    // Version 4
+    WKBundlePageDidLayoutCallback                                           didLayout;
+
+    // Version 5
+    WKBundlePageFeaturesUsedInPageCallback                                  featuresUsedInPage;
+} WKBundlePageLoaderClientV5;
+
+typedef struct WKBundlePageLoaderClientV6 {
+    WKBundlePageLoaderClientBase                                            base;
+
+    // Version 0.
+    WKBundlePageDidStartProvisionalLoadForFrameCallback                     didStartProvisionalLoadForFrame;
+    WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback  didReceiveServerRedirectForProvisionalLoadForFrame;
+    WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback             didFailProvisionalLoadWithErrorForFrame;
+    WKBundlePageDidCommitLoadForFrameCallback                               didCommitLoadForFrame;
+    WKBundlePageDidFinishDocumentLoadForFrameCallback                       didFinishDocumentLoadForFrame;
+    WKBundlePageDidFinishLoadForFrameCallback                               didFinishLoadForFrame;
+    WKBundlePageDidFailLoadWithErrorForFrameCallback                        didFailLoadWithErrorForFrame;
+    WKBundlePageDidSameDocumentNavigationForFrameCallback                   didSameDocumentNavigationForFrame;
+    WKBundlePageDidReceiveTitleForFrameCallback                             didReceiveTitleForFrame;
+    WKBundlePageDidFirstLayoutForFrameCallback                              didFirstLayoutForFrame;
+    WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback              didFirstVisuallyNonEmptyLayoutForFrame;
+    WKBundlePageDidRemoveFrameFromHierarchyCallback                         didRemoveFrameFromHierarchy;
+    WKBundlePageDidDisplayInsecureContentForFrameCallback                   didDisplayInsecureContentForFrame;
+    WKBundlePageDidRunInsecureContentForFrameCallback                       didRunInsecureContentForFrame;
+    WKBundlePageDidClearWindowObjectForFrameCallback                        didClearWindowObjectForFrame;
+    WKBundlePageDidCancelClientRedirectForFrameCallback                     didCancelClientRedirectForFrame;
+    WKBundlePageWillPerformClientRedirectForFrameCallback                   willPerformClientRedirectForFrame;
+    WKBundlePageDidHandleOnloadEventsForFrameCallback                       didHandleOnloadEventsForFrame;
+
+    // Version 1.
+    WKBundlePageDidLayoutForFrameCallback                                   didLayoutForFrame;
+    void *                                                                  didNewFirstVisuallyNonEmptyLayout_unavailable;
+    WKBundlePageDidDetectXSSForFrameCallback                                didDetectXSSForFrame;
+    WKBundlePageShouldGoToBackForwardListItemCallback                       shouldGoToBackForwardListItem;
+    WKBundlePageGlobalObjectIsAvailableForFrameCallback                     globalObjectIsAvailableForFrame;
+    WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback    willDisconnectDOMWindowExtensionFromGlobalObject;
+    WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback        didReconnectDOMWindowExtensionToGlobalObject;
+    WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback        willDestroyGlobalObjectForDOMWindowExtension;
+
+    // Version 2
+    WKBundlePageDidFinishProgressCallback                                   didFinishProgress;
+    WKBundlePageShouldForceUniversalAccessFromLocalURLCallback              shouldForceUniversalAccessFromLocalURL;
+
+    // Version 3
+    void *                                                                  didReceiveIntentForFrame_unavailable;
+    void *                                                                  registerIntentServiceForFrame_unavailable;
+
+    // Version 4
+    WKBundlePageDidLayoutCallback                                           didLayout;
+
+    // Version 5
+    WKBundlePageFeaturesUsedInPageCallback                                  featuresUsedInPage;
+
+    // Version 6
+    WKBundlePageWillLoadURLRequestCallback                                  willLoadURLRequest;
+    WKBundlePageWillLoadDataRequestCallback                                 willLoadDataRequest;
+} WKBundlePageLoaderClientV6;
+
+typedef struct WKBundlePageLoaderClientV7 {
+    WKBundlePageLoaderClientBase                                            base;
+
+    // Version 0.
+    WKBundlePageDidStartProvisionalLoadForFrameCallback                     didStartProvisionalLoadForFrame;
+    WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback  didReceiveServerRedirectForProvisionalLoadForFrame;
+    WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback             didFailProvisionalLoadWithErrorForFrame;
+    WKBundlePageDidCommitLoadForFrameCallback                               didCommitLoadForFrame;
+    WKBundlePageDidFinishDocumentLoadForFrameCallback                       didFinishDocumentLoadForFrame;
+    WKBundlePageDidFinishLoadForFrameCallback                               didFinishLoadForFrame;
+    WKBundlePageDidFailLoadWithErrorForFrameCallback                        didFailLoadWithErrorForFrame;
+    WKBundlePageDidSameDocumentNavigationForFrameCallback                   didSameDocumentNavigationForFrame;
+    WKBundlePageDidReceiveTitleForFrameCallback                             didReceiveTitleForFrame;
+    WKBundlePageDidFirstLayoutForFrameCallback                              didFirstLayoutForFrame;
+    WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback              didFirstVisuallyNonEmptyLayoutForFrame;
+    WKBundlePageDidRemoveFrameFromHierarchyCallback                         didRemoveFrameFromHierarchy;
+    WKBundlePageDidDisplayInsecureContentForFrameCallback                   didDisplayInsecureContentForFrame;
+    WKBundlePageDidRunInsecureContentForFrameCallback                       didRunInsecureContentForFrame;
+    WKBundlePageDidClearWindowObjectForFrameCallback                        didClearWindowObjectForFrame;
+    WKBundlePageDidCancelClientRedirectForFrameCallback                     didCancelClientRedirectForFrame;
+    WKBundlePageWillPerformClientRedirectForFrameCallback                   willPerformClientRedirectForFrame;
+    WKBundlePageDidHandleOnloadEventsForFrameCallback                       didHandleOnloadEventsForFrame;
+
+    // Version 1.
+    WKBundlePageDidLayoutForFrameCallback                                   didLayoutForFrame;
+    void *                                                                  didNewFirstVisuallyNonEmptyLayout_unavailable;
+    WKBundlePageDidDetectXSSForFrameCallback                                didDetectXSSForFrame;
+    WKBundlePageShouldGoToBackForwardListItemCallback                       shouldGoToBackForwardListItem;
+    WKBundlePageGlobalObjectIsAvailableForFrameCallback                     globalObjectIsAvailableForFrame;
+    WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback    willDisconnectDOMWindowExtensionFromGlobalObject;
+    WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback        didReconnectDOMWindowExtensionToGlobalObject;
+    WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback        willDestroyGlobalObjectForDOMWindowExtension;
+
+    // Version 2
+    WKBundlePageDidFinishProgressCallback                                   didFinishProgress;
+    WKBundlePageShouldForceUniversalAccessFromLocalURLCallback              shouldForceUniversalAccessFromLocalURL;
+
+    // Version 3
+    void *                                                                  didReceiveIntentForFrame_unavailable;
+    void *                                                                  registerIntentServiceForFrame_unavailable;
+
+    // Version 4
+    WKBundlePageDidLayoutCallback                                           didLayout;
+
+    // Version 5
+    WKBundlePageFeaturesUsedInPageCallback                                  featuresUsedInPage;
+
+    // Version 6
+    WKBundlePageWillLoadURLRequestCallback                                  willLoadURLRequest;
+    WKBundlePageWillLoadDataRequestCallback                                 willLoadDataRequest;
+
+    // Version 7
+    WKBundlePageWillDestroyFrame                                            willDestroyFrame;
+} WKBundlePageLoaderClientV7;
+
+// FIXME: Deprecate.
+enum { kWKBundlePageLoaderClientCurrentVersion = 7 };
+typedef struct WKBundlePageLoaderClient {
+    int                                                                     version;
+    const void *                                                            clientInfo;
+
+    // Version 0.
+    WKBundlePageDidStartProvisionalLoadForFrameCallback                     didStartProvisionalLoadForFrame;
+    WKBundlePageDidReceiveServerRedirectForProvisionalLoadForFrameCallback  didReceiveServerRedirectForProvisionalLoadForFrame;
+    WKBundlePageDidFailProvisionalLoadWithErrorForFrameCallback             didFailProvisionalLoadWithErrorForFrame;
+    WKBundlePageDidCommitLoadForFrameCallback                               didCommitLoadForFrame;
+    WKBundlePageDidFinishDocumentLoadForFrameCallback                       didFinishDocumentLoadForFrame;
+    WKBundlePageDidFinishLoadForFrameCallback                               didFinishLoadForFrame;
+    WKBundlePageDidFailLoadWithErrorForFrameCallback                        didFailLoadWithErrorForFrame;
+    WKBundlePageDidSameDocumentNavigationForFrameCallback                   didSameDocumentNavigationForFrame;
+    WKBundlePageDidReceiveTitleForFrameCallback                             didReceiveTitleForFrame;
+    WKBundlePageDidFirstLayoutForFrameCallback                              didFirstLayoutForFrame;
+    WKBundlePageDidFirstVisuallyNonEmptyLayoutForFrameCallback              didFirstVisuallyNonEmptyLayoutForFrame;
+    WKBundlePageDidRemoveFrameFromHierarchyCallback                         didRemoveFrameFromHierarchy;
+    WKBundlePageDidDisplayInsecureContentForFrameCallback                   didDisplayInsecureContentForFrame;
+    WKBundlePageDidRunInsecureContentForFrameCallback                       didRunInsecureContentForFrame;
+    WKBundlePageDidClearWindowObjectForFrameCallback                        didClearWindowObjectForFrame;
+    WKBundlePageDidCancelClientRedirectForFrameCallback                     didCancelClientRedirectForFrame;
+    WKBundlePageWillPerformClientRedirectForFrameCallback                   willPerformClientRedirectForFrame;
+    WKBundlePageDidHandleOnloadEventsForFrameCallback                       didHandleOnloadEventsForFrame;
+
+    // Version 1.
+    WKBundlePageDidLayoutForFrameCallback                                   didLayoutForFrame;
+    void *                                                                  didNewFirstVisuallyNonEmptyLayout_unavailable;
+    WKBundlePageDidDetectXSSForFrameCallback                                didDetectXSSForFrame;
+    WKBundlePageShouldGoToBackForwardListItemCallback                       shouldGoToBackForwardListItem;
+    WKBundlePageGlobalObjectIsAvailableForFrameCallback                     globalObjectIsAvailableForFrame;
+    WKBundlePageWillDisconnectDOMWindowExtensionFromGlobalObjectCallback    willDisconnectDOMWindowExtensionFromGlobalObject;
+    WKBundlePageDidReconnectDOMWindowExtensionToGlobalObjectCallback        didReconnectDOMWindowExtensionToGlobalObject;
+    WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback        willDestroyGlobalObjectForDOMWindowExtension;
</ins><span class="cx">     
</span><span class="cx">     // Version 2
</span><span class="cx">     WKBundlePageDidFinishProgressCallback                                   didFinishProgress;
</span><span class="lines">@@ -117,9 +462,6 @@
</span><span class="cx"> 
</span><span class="cx">     // Version 7
</span><span class="cx">     WKBundlePageWillDestroyFrame                                            willDestroyFrame;
</span><del>-};
-typedef struct WKBundlePageLoaderClient WKBundlePageLoaderClient;
</del><ins>+} WKBundlePageLoaderClient;
</ins><span class="cx"> 
</span><del>-enum { kWKBundlePageLoaderClientCurrentVersion = 7 };
-
</del><span class="cx"> #endif // WKBundlePageLoaderClient_h
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageOverlayh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -49,9 +49,15 @@
</span><span class="cx"> typedef bool (*WKBundlePageOverlayMouseMovedCallback)(WKBundlePageOverlayRef pageOverlay, WKPoint position, const void* clientInfo);
</span><span class="cx"> typedef bool (*WKBundlePageOverlayMouseDraggedCallback)(WKBundlePageOverlayRef pageOverlay, WKPoint position, WKEventMouseButton mouseButton, const void* clientInfo);
</span><span class="cx"> 
</span><del>-struct WKBundlePageOverlayClient {
</del><ins>+typedef struct WKBundlePageOverlayClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKBundlePageOverlayClientBase;
+
+typedef struct WKBundlePageOverlayClientV0 {
+    WKBundlePageOverlayClientBase                                       base;
+
+    // Version 0.
</ins><span class="cx">     WKBundlePageOverlayWillMoveToPageCallback                           willMoveToPage;
</span><span class="cx">     WKBundlePageOverlayDidMoveToPageCallback                            didMoveToPage;
</span><span class="cx">     WKBundlePageOverlayDrawRectCallback                                 drawRect;
</span><span class="lines">@@ -59,23 +65,50 @@
</span><span class="cx">     WKBundlePageOverlayMouseUpCallback                                  mouseUp;
</span><span class="cx">     WKBundlePageOverlayMouseMovedCallback                               mouseMoved;
</span><span class="cx">     WKBundlePageOverlayMouseDraggedCallback                             mouseDragged;
</span><del>-};
-typedef struct WKBundlePageOverlayClient WKBundlePageOverlayClient;
</del><ins>+} WKBundlePageOverlayClientV0;
</ins><span class="cx"> 
</span><del>-enum { kWKBundlePageOverlayClientCurrentVersion = 0 };    
-    
</del><ins>+// FIXME: Deprecate.
+enum { kWKBundlePageOverlayClientCurrentVersion = 0 };
+typedef struct WKBundlePageOverlayClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
+
+    // Version 0.
+    WKBundlePageOverlayWillMoveToPageCallback                           willMoveToPage;
+    WKBundlePageOverlayDidMoveToPageCallback                            didMoveToPage;
+    WKBundlePageOverlayDrawRectCallback                                 drawRect;
+    WKBundlePageOverlayMouseDownCallback                                mouseDown;
+    WKBundlePageOverlayMouseUpCallback                                  mouseUp;
+    WKBundlePageOverlayMouseMovedCallback                               mouseMoved;
+    WKBundlePageOverlayMouseDraggedCallback                             mouseDragged;
+} WKBundlePageOverlayClient;
+
</ins><span class="cx"> typedef WKTypeRef (*WKAccessibilityAttributeValueCallback)(WKBundlePageOverlayRef pageOverlay, WKStringRef attribute, WKTypeRef parameter, const void* clientInfo);
</span><span class="cx"> typedef WKArrayRef (*WKAccessibilityAttributeNamesCallback)(WKBundlePageOverlayRef pageOverlay, bool parameterizedNames, const void* clientInfo);
</span><del>-    
-struct WKBundlePageOverlayAccessibilityClient {
</del><ins>+
+typedef struct WKBundlePageOverlayAccessibilityClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKBundlePageOverlayAccessibilityClientBase;
+
+typedef struct WKBundlePageOverlayAccessibilityClientV0 {
+    WKBundlePageOverlayAccessibilityClientBase                          base;
+
+    // Version 0.
</ins><span class="cx">     WKAccessibilityAttributeValueCallback                               copyAccessibilityAttributeValue;
</span><span class="cx">     WKAccessibilityAttributeNamesCallback                               copyAccessibilityAttributeNames;
</span><del>-};
-typedef struct WKBundlePageOverlayAccessibilityClient WKBundlePageOverlayAccessibilityClient;
-    
</del><ins>+} WKBundlePageOverlayAccessibilityClientV0;
+
+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKBundlePageOverlayAccessibilityClientCurrentVersion = 0 };
</span><ins>+typedef struct WKBundlePageOverlayAccessibilityClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
+
+    // Version 0.
+    WKAccessibilityAttributeValueCallback                               copyAccessibilityAttributeValue;
+    WKAccessibilityAttributeNamesCallback                               copyAccessibilityAttributeNames;
+} WKBundlePageOverlayAccessibilityClient;
</ins><span class="cx">     
</span><span class="cx"> WK_EXPORT WKTypeID WKBundlePageOverlayGetTypeID();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePagePolicyClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -39,17 +39,32 @@
</span><span class="cx"> typedef WKBundlePagePolicyAction (*WKBundlePageDecidePolicyForResponseCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKURLResponseRef response, WKURLRequestRef request, WKTypeRef* userData, const void* clientInfo);
</span><span class="cx"> typedef void (*WKBundlePageUnableToImplementPolicyCallback)(WKBundlePageRef page, WKBundleFrameRef frame, WKErrorRef error, WKTypeRef* userData, const void* clientInfo);
</span><span class="cx"> 
</span><del>-struct WKBundlePagePolicyClient {
</del><ins>+typedef struct WKBundlePagePolicyClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKBundlePagePolicyClientBase;
+
+typedef struct WKBundlePagePolicyClientV0 {
+    WKBundlePagePolicyClientBase                                        base;
+
+    // Version 0.
</ins><span class="cx">     WKBundlePageDecidePolicyForNavigationActionCallback                 decidePolicyForNavigationAction;
</span><span class="cx">     WKBundlePageDecidePolicyForNewWindowActionCallback                  decidePolicyForNewWindowAction;
</span><span class="cx">     WKBundlePageDecidePolicyForResponseCallback                         decidePolicyForResponse;
</span><span class="cx">     WKBundlePageUnableToImplementPolicyCallback                         unableToImplementPolicy;
</span><del>-};
-typedef struct WKBundlePagePolicyClient WKBundlePagePolicyClient;
</del><ins>+} WKBundlePagePolicyClientV0;
</ins><span class="cx"> 
</span><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKBundlePagePolicyClientCurrentVersion = 0 };
</span><ins>+typedef struct WKBundlePagePolicyClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
</ins><span class="cx"> 
</span><ins>+    // Version 0.
+    WKBundlePageDecidePolicyForNavigationActionCallback                 decidePolicyForNavigationAction;
+    WKBundlePageDecidePolicyForNewWindowActionCallback                  decidePolicyForNewWindowAction;
+    WKBundlePageDecidePolicyForResponseCallback                         decidePolicyForResponse;
+    WKBundlePageUnableToImplementPolicyCallback                         unableToImplementPolicy;
+} WKBundlePagePolicyClient;
</ins><span class="cx"> 
</span><span class="cx"> #endif // WKBundlePagePolicyClient_h
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageResourceLoadClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -37,10 +37,14 @@
</span><span class="cx"> typedef bool (*WKBundlePageShouldCacheResponseCallback)(WKBundlePageRef, WKBundleFrameRef, uint64_t resourceIdentifier, const void* clientInfo);
</span><span class="cx"> typedef bool (*WKBundlePageShouldUseCredentialStorageCallback)(WKBundlePageRef, WKBundleFrameRef, uint64_t resourceIdentifier, const void* clientInfo);
</span><span class="cx"> 
</span><del>-struct WKBundlePageResourceLoadClient {
</del><ins>+typedef struct WKBundlePageResourceLoadClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKBundlePageResourceLoadClientBase;
</ins><span class="cx"> 
</span><ins>+typedef struct WKBundlePageResourceLoadClientV0 {
+    WKBundlePageResourceLoadClientBase                                  base;
+
</ins><span class="cx">     // Version 0.
</span><span class="cx">     WKBundlePageDidInitiateLoadForResourceCallback                      didInitiateLoadForResource;
</span><span class="cx"> 
</span><span class="lines">@@ -51,13 +55,47 @@
</span><span class="cx">     WKBundlePageDidReceiveContentLengthForResourceCallback              didReceiveContentLengthForResource;
</span><span class="cx">     WKBundlePageDidFinishLoadForResourceCallback                        didFinishLoadForResource;
</span><span class="cx">     WKBundlePageDidFailLoadForResourceCallback                          didFailLoadForResource;
</span><ins>+} WKBundlePageResourceLoadClientV0;
</ins><span class="cx"> 
</span><ins>+typedef struct WKBundlePageResourceLoadClientV1 {
+    WKBundlePageResourceLoadClientBase                                  base;
+
+    // Version 0.
+    WKBundlePageDidInitiateLoadForResourceCallback                      didInitiateLoadForResource;
+
+    // willSendRequestForFrame is supposed to return a retained reference to the URL request.
+    WKBundlePageWillSendRequestForFrameCallback                         willSendRequestForFrame;
+
+    WKBundlePageDidReceiveResponseForResourceCallback                   didReceiveResponseForResource;
+    WKBundlePageDidReceiveContentLengthForResourceCallback              didReceiveContentLengthForResource;
+    WKBundlePageDidFinishLoadForResourceCallback                        didFinishLoadForResource;
+    WKBundlePageDidFailLoadForResourceCallback                          didFailLoadForResource;
+
</ins><span class="cx">     // Version 1.
</span><span class="cx">     WKBundlePageShouldCacheResponseCallback                             shouldCacheResponse;
</span><span class="cx">     WKBundlePageShouldUseCredentialStorageCallback                      shouldUseCredentialStorage;
</span><del>-};
-typedef struct WKBundlePageResourceLoadClient WKBundlePageResourceLoadClient;
</del><ins>+} WKBundlePageResourceLoadClientV1;
</ins><span class="cx"> 
</span><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKBundlePageResourceLoadClientCurrentVersion = 1 };
</span><ins>+typedef struct WKBundlePageResourceLoadClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
</ins><span class="cx"> 
</span><ins>+    // Version 0.
+    WKBundlePageDidInitiateLoadForResourceCallback                      didInitiateLoadForResource;
+
+    // willSendRequestForFrame is supposed to return a retained reference to the URL request.
+    WKBundlePageWillSendRequestForFrameCallback                         willSendRequestForFrame;
+
+    WKBundlePageDidReceiveResponseForResourceCallback                   didReceiveResponseForResource;
+    WKBundlePageDidReceiveContentLengthForResourceCallback              didReceiveContentLengthForResource;
+    WKBundlePageDidFinishLoadForResourceCallback                        didFinishLoadForResource;
+    WKBundlePageDidFailLoadForResourceCallback                          didFailLoadForResource;
+
+    // Version 1.
+    WKBundlePageShouldCacheResponseCallback                             shouldCacheResponse;
+    WKBundlePageShouldUseCredentialStorageCallback                      shouldUseCredentialStorage;
+} WKBundlePageResourceLoadClient;
+
</ins><span class="cx"> #endif // WKBundlePageResourceLoadClient_h
</span></span></pre></div>
<a id="trunkSourceWebKit2WebProcessInjectedBundleAPIcWKBundlePageUIClienth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h (159980 => 159981)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h        2013-12-03 00:36:23 UTC (rev 159980)
+++ trunk/Source/WebKit2/WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h        2013-12-03 00:40:33 UTC (rev 159981)
</span><span class="lines">@@ -55,9 +55,15 @@
</span><span class="cx"> typedef WKStringRef (*WKBundlePagePlugInCreateExtraStyleSheetCallback)(const void *clientInfo);
</span><span class="cx"> typedef WKStringRef (*WKBundlePagePlugInCreateExtraScriptCallback)(const void *clientInfo);
</span><span class="cx"> 
</span><del>-struct WKBundlePageUIClient {
</del><ins>+typedef struct WKBundlePageUIClientBase {
</ins><span class="cx">     int                                                                 version;
</span><span class="cx">     const void *                                                        clientInfo;
</span><ins>+} WKBundlePageUIClientBase;
+
+typedef struct WKBundlePageUIClientV0 {
+    WKBundlePageUIClientBase                                            base;
+
+    // Version 0.
</ins><span class="cx">     WKBundlePageWillAddMessageToConsoleCallback                         willAddMessageToConsole;
</span><span class="cx">     WKBundlePageWillSetStatusbarTextCallback                            willSetStatusbarText;
</span><span class="cx">     WKBundlePageWillRunJavaScriptAlertCallback                          willRunJavaScriptAlert;
</span><span class="lines">@@ -72,19 +78,92 @@
</span><span class="cx">     WKBundlePageStatusBarIsVisibleCallback                              statusBarIsVisible;
</span><span class="cx">     WKBundlePageMenuBarIsVisibleCallback                                menuBarIsVisible;
</span><span class="cx">     WKBundlePageToolbarsAreVisibleCallback                              toolbarsAreVisible;
</span><ins>+} WKBundlePageUIClientV0;
</ins><span class="cx"> 
</span><ins>+typedef struct WKBundlePageUIClientV1 {
+    WKBundlePageUIClientBase                                            base;
+
+    // Version 0.
+    WKBundlePageWillAddMessageToConsoleCallback                         willAddMessageToConsole;
+    WKBundlePageWillSetStatusbarTextCallback                            willSetStatusbarText;
+    WKBundlePageWillRunJavaScriptAlertCallback                          willRunJavaScriptAlert;
+    WKBundlePageWillRunJavaScriptConfirmCallback                        willRunJavaScriptConfirm;
+    WKBundlePageWillRunJavaScriptPromptCallback                         willRunJavaScriptPrompt;
+    WKBundlePageMouseDidMoveOverElementCallback                         mouseDidMoveOverElement;
+    WKBundlePageDidScrollCallback                                       pageDidScroll;
+    void*                                                               unused1;
+    WKBundlePageGenerateFileForUploadCallback                           shouldGenerateFileForUpload;
+    WKBundlePageGenerateFileForUploadCallback                           generateFileForUpload;
+    void*                                                               unused2;
+    WKBundlePageStatusBarIsVisibleCallback                              statusBarIsVisible;
+    WKBundlePageMenuBarIsVisibleCallback                                menuBarIsVisible;
+    WKBundlePageToolbarsAreVisibleCallback                              toolbarsAreVisible;
+
</ins><span class="cx">     // Version 1.
</span><span class="cx">     WKBundlePageReachedAppCacheOriginQuotaCallback                      didReachApplicationCacheOriginQuota;
</span><ins>+} WKBundlePageUIClientV1;
</ins><span class="cx"> 
</span><ins>+typedef struct WKBundlePageUIClientV2 {
+    WKBundlePageUIClientBase                                            base;
+
+    // Version 0.
+    WKBundlePageWillAddMessageToConsoleCallback                         willAddMessageToConsole;
+    WKBundlePageWillSetStatusbarTextCallback                            willSetStatusbarText;
+    WKBundlePageWillRunJavaScriptAlertCallback                          willRunJavaScriptAlert;
+    WKBundlePageWillRunJavaScriptConfirmCallback                        willRunJavaScriptConfirm;
+    WKBundlePageWillRunJavaScriptPromptCallback                         willRunJavaScriptPrompt;
+    WKBundlePageMouseDidMoveOverElementCallback                         mouseDidMoveOverElement;
+    WKBundlePageDidScrollCallback                                       pageDidScroll;
+    void*                                                               unused1;
+    WKBundlePageGenerateFileForUploadCallback                           shouldGenerateFileForUpload;
+    WKBundlePageGenerateFileForUploadCallback                           generateFileForUpload;
+    void*                                                               unused2;
+    WKBundlePageStatusBarIsVisibleCallback                              statusBarIsVisible;
+    WKBundlePageMenuBarIsVisibleCallback                                menuBarIsVisible;
+    WKBundlePageToolbarsAreVisibleCallback                              toolbarsAreVisible;
+
+    // Version 1.
+    WKBundlePageReachedAppCacheOriginQuotaCallback                      didReachApplicationCacheOriginQuota;
+
</ins><span class="cx">     // Version 2.
</span><span class="cx">     WKBundlePageExceededDatabaseQuotaCallback                           didExceedDatabaseQuota;
</span><span class="cx">     WKBundlePagePlugInCreateStartLabelTitleCallback                     createPlugInStartLabelTitle;
</span><span class="cx">     WKBundlePagePlugInCreateStartLabelSubtitleCallback                  createPlugInStartLabelSubtitle;
</span><span class="cx">     WKBundlePagePlugInCreateExtraStyleSheetCallback                     createPlugInExtraStyleSheet;
</span><span class="cx">     WKBundlePagePlugInCreateExtraScriptCallback                         createPlugInExtraScript;
</span><del>-};
-typedef struct WKBundlePageUIClient WKBundlePageUIClient;
</del><ins>+} WKBundlePageUIClientV2;
</ins><span class="cx"> 
</span><ins>+// FIXME: Deprecate.
</ins><span class="cx"> enum { kWKBundlePageUIClientCurrentVersion = 2 };
</span><ins>+typedef struct WKBundlePageUIClient {
+    int                                                                 version;
+    const void *                                                        clientInfo;
</ins><span class="cx"> 
</span><ins>+    // Version 0.
+    WKBundlePageWillAddMessageToConsoleCallback                         willAddMessageToConsole;
+    WKBundlePageWillSetStatusbarTextCallback                            willSetStatusbarText;
+    WKBundlePageWillRunJavaScriptAlertCallback                          willRunJavaScriptAlert;
+    WKBundlePageWillRunJavaScriptConfirmCallback                        willRunJavaScriptConfirm;
+    WKBundlePageWillRunJavaScriptPromptCallback                         willRunJavaScriptPrompt;
+    WKBundlePageMouseDidMoveOverElementCallback                         mouseDidMoveOverElement;
+    WKBundlePageDidScrollCallback                                       pageDidScroll;
+    void*                                                               unused1;
+    WKBundlePageGenerateFileForUploadCallback                           shouldGenerateFileForUpload;
+    WKBundlePageGenerateFileForUploadCallback                           generateFileForUpload;
+    void*                                                               unused2;
+    WKBundlePageStatusBarIsVisibleCallback                              statusBarIsVisible;
+    WKBundlePageMenuBarIsVisibleCallback                                menuBarIsVisible;
+    WKBundlePageToolbarsAreVisibleCallback                              toolbarsAreVisible;
+
+    // Version 1.
+    WKBundlePageReachedAppCacheOriginQuotaCallback                      didReachApplicationCacheOriginQuota;
+
+    // Version 2.
+    WKBundlePageExceededDatabaseQuotaCallback                           didExceedDatabaseQuota;
+    WKBundlePagePlugInCreateStartLabelTitleCallback                     createPlugInStartLabelTitle;
+    WKBundlePagePlugInCreateStartLabelSubtitleCallback                  createPlugInStartLabelSubtitle;
+    WKBundlePagePlugInCreateExtraStyleSheetCallback                     createPlugInExtraStyleSheet;
+    WKBundlePagePlugInCreateExtraScriptCallback                         createPlugInExtraScript;
+} WKBundlePageUIClient;
+
</ins><span class="cx"> #endif // WKBundlePageUIClient_h
</span></span></pre>
</div>
</div>

</body>
</html>