<!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>[159874] 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/159874">159874</a></dd>
<dt>Author</dt> <dd>weinig@apple.com</dd>
<dt>Date</dt> <dd>2013-11-29 12:54:46 -0800 (Fri, 29 Nov 2013)</dd>
</dl>
<h3>Log Message</h3>
<pre>Move API files shared between Mac and iOS to the Cocoa directory
https://bugs.webkit.org/show_bug.cgi?id=125017
Reviewed by Dan Bernstein.
* UIProcess/API/Cocoa/WKBrowsingContextController.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.h.
* UIProcess/API/Cocoa/WKBrowsingContextController.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm.
* UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerInternal.h.
* UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerPrivate.h.
* UIProcess/API/Cocoa/WKBrowsingContextGroup.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.h.
* UIProcess/API/Cocoa/WKBrowsingContextGroup.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.mm.
* UIProcess/API/Cocoa/WKBrowsingContextGroupInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupInternal.h.
* UIProcess/API/Cocoa/WKBrowsingContextGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupPrivate.h.
* UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextLoadDelegate.h.
* UIProcess/API/Cocoa/WKBrowsingContextPolicyDelegate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h.
* UIProcess/API/Cocoa/WKConnection.h: Copied from Source/WebKit2/UIProcess/API/mac/WKConnection.h.
* UIProcess/API/Cocoa/WKConnection.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKConnection.mm.
* UIProcess/API/Cocoa/WKConnectionInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKConnectionInternal.h.
* UIProcess/API/Cocoa/WKProcessGroup.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroup.h.
* UIProcess/API/Cocoa/WKProcessGroup.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroup.mm.
* UIProcess/API/Cocoa/WKProcessGroupInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
* UIProcess/API/Cocoa/WKProcessGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupPrivate.h.
* UIProcess/API/Cocoa/WKTypeRefWrapper.h: Copied from Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.h.
* UIProcess/API/Cocoa/WKTypeRefWrapper.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm.
* UIProcess/API/Cocoa/WKView.h: Copied from Source/WebKit2/UIProcess/API/mac/WKView.h.
* UIProcess/API/Cocoa/WKViewPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h.
* UIProcess/API/Cocoa/WebKit2.h: Copied from Source/WebKit2/UIProcess/API/mac/WebKit2.h.
* UIProcess/API/mac/WKBrowsingContextController.h: Removed.
* UIProcess/API/mac/WKBrowsingContextController.mm: Removed.
* UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Removed.
* UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Removed.
* UIProcess/API/mac/WKBrowsingContextGroup.h: Removed.
* UIProcess/API/mac/WKBrowsingContextGroup.mm: Removed.
* UIProcess/API/mac/WKBrowsingContextGroupInternal.h: Removed.
* UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Removed.
* UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Removed.
* UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Removed.
* UIProcess/API/mac/WKConnection.h: Removed.
* UIProcess/API/mac/WKConnection.mm: Removed.
* UIProcess/API/mac/WKConnectionInternal.h: Removed.
* UIProcess/API/mac/WKProcessGroup.h: Removed.
* UIProcess/API/mac/WKProcessGroup.mm: Removed.
* UIProcess/API/mac/WKProcessGroupInternal.h: Removed.
* UIProcess/API/mac/WKProcessGroupPrivate.h: Removed.
* UIProcess/API/mac/WKTypeRefWrapper.h: Removed.
* UIProcess/API/mac/WKTypeRefWrapper.mm: Removed.
* UIProcess/API/mac/WKView.h: Removed.
* UIProcess/API/mac/WKViewPrivate.h: Removed.
* UIProcess/API/mac/WebKit2.h: Removed.
* WebKit2.xcodeproj/project.pbxproj:</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj">trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextControllerh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextControllermm">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextControllerInternalh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextControllerPrivateh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextGrouph">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextGroup.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextGroupmm">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextGroup.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextGroupInternalh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextGroupInternal.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextGroupPrivateh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextGroupPrivate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextLoadDelegateh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextPolicyDelegateh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextPolicyDelegate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKConnectionh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKConnection.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKConnectionmm">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKConnection.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKConnectionInternalh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKConnectionInternal.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKProcessGrouph">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroup.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKProcessGroupmm">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroup.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKProcessGroupInternalh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroupInternal.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKProcessGroupPrivateh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroupPrivate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKTypeRefWrapperh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKTypeRefWrapper.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKTypeRefWrappermm">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKTypeRefWrapper.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKViewh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKView.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWKViewPrivateh">trunk/Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPICocoaWebKit2h">trunk/Source/WebKit2/UIProcess/API/Cocoa/WebKit2.h</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKBrowsingContextControllerh">trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKBrowsingContextControllermm">trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKBrowsingContextControllerInternalh">trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerInternal.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKBrowsingContextControllerPrivateh">trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerPrivate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKBrowsingContextGrouph">trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKBrowsingContextGroupmm">trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKBrowsingContextGroupInternalh">trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupInternal.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKBrowsingContextGroupPrivateh">trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupPrivate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKBrowsingContextLoadDelegateh">trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextLoadDelegate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKBrowsingContextPolicyDelegateh">trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKConnectionh">trunk/Source/WebKit2/UIProcess/API/mac/WKConnection.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKConnectionmm">trunk/Source/WebKit2/UIProcess/API/mac/WKConnection.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKConnectionInternalh">trunk/Source/WebKit2/UIProcess/API/mac/WKConnectionInternal.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKProcessGrouph">trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroup.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKProcessGroupmm">trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroup.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKProcessGroupInternalh">trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKProcessGroupPrivateh">trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroupPrivate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKTypeRefWrapperh">trunk/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKTypeRefWrappermm">trunk/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKViewh">trunk/Source/WebKit2/UIProcess/API/mac/WKView.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWKViewPrivateh">trunk/Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h</a></li>
<li><a href="#trunkSourceWebKit2UIProcessAPImacWebKit2h">trunk/Source/WebKit2/UIProcess/API/mac/WebKit2.h</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/ChangeLog        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,3 +1,56 @@
</span><ins>+2013-11-29 Sam Weinig <sam@webkit.org>
+
+ Move API files shared between Mac and iOS to the Cocoa directory
+ https://bugs.webkit.org/show_bug.cgi?id=125017
+
+ Reviewed by Dan Bernstein.
+
+ * UIProcess/API/Cocoa/WKBrowsingContextController.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.h.
+ * UIProcess/API/Cocoa/WKBrowsingContextController.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm.
+ * UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerInternal.h.
+ * UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerPrivate.h.
+ * UIProcess/API/Cocoa/WKBrowsingContextGroup.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.h.
+ * UIProcess/API/Cocoa/WKBrowsingContextGroup.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.mm.
+ * UIProcess/API/Cocoa/WKBrowsingContextGroupInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupInternal.h.
+ * UIProcess/API/Cocoa/WKBrowsingContextGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupPrivate.h.
+ * UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextLoadDelegate.h.
+ * UIProcess/API/Cocoa/WKBrowsingContextPolicyDelegate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h.
+ * UIProcess/API/Cocoa/WKConnection.h: Copied from Source/WebKit2/UIProcess/API/mac/WKConnection.h.
+ * UIProcess/API/Cocoa/WKConnection.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKConnection.mm.
+ * UIProcess/API/Cocoa/WKConnectionInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKConnectionInternal.h.
+ * UIProcess/API/Cocoa/WKProcessGroup.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroup.h.
+ * UIProcess/API/Cocoa/WKProcessGroup.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroup.mm.
+ * UIProcess/API/Cocoa/WKProcessGroupInternal.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h.
+ * UIProcess/API/Cocoa/WKProcessGroupPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKProcessGroupPrivate.h.
+ * UIProcess/API/Cocoa/WKTypeRefWrapper.h: Copied from Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.h.
+ * UIProcess/API/Cocoa/WKTypeRefWrapper.mm: Copied from Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm.
+ * UIProcess/API/Cocoa/WKView.h: Copied from Source/WebKit2/UIProcess/API/mac/WKView.h.
+ * UIProcess/API/Cocoa/WKViewPrivate.h: Copied from Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h.
+ * UIProcess/API/Cocoa/WebKit2.h: Copied from Source/WebKit2/UIProcess/API/mac/WebKit2.h.
+ * UIProcess/API/mac/WKBrowsingContextController.h: Removed.
+ * UIProcess/API/mac/WKBrowsingContextController.mm: Removed.
+ * UIProcess/API/mac/WKBrowsingContextControllerInternal.h: Removed.
+ * UIProcess/API/mac/WKBrowsingContextControllerPrivate.h: Removed.
+ * UIProcess/API/mac/WKBrowsingContextGroup.h: Removed.
+ * UIProcess/API/mac/WKBrowsingContextGroup.mm: Removed.
+ * UIProcess/API/mac/WKBrowsingContextGroupInternal.h: Removed.
+ * UIProcess/API/mac/WKBrowsingContextGroupPrivate.h: Removed.
+ * UIProcess/API/mac/WKBrowsingContextLoadDelegate.h: Removed.
+ * UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h: Removed.
+ * UIProcess/API/mac/WKConnection.h: Removed.
+ * UIProcess/API/mac/WKConnection.mm: Removed.
+ * UIProcess/API/mac/WKConnectionInternal.h: Removed.
+ * UIProcess/API/mac/WKProcessGroup.h: Removed.
+ * UIProcess/API/mac/WKProcessGroup.mm: Removed.
+ * UIProcess/API/mac/WKProcessGroupInternal.h: Removed.
+ * UIProcess/API/mac/WKProcessGroupPrivate.h: Removed.
+ * UIProcess/API/mac/WKTypeRefWrapper.h: Removed.
+ * UIProcess/API/mac/WKTypeRefWrapper.mm: Removed.
+ * UIProcess/API/mac/WKView.h: Removed.
+ * UIProcess/API/mac/WKViewPrivate.h: Removed.
+ * UIProcess/API/mac/WebKit2.h: Removed.
+ * WebKit2.xcodeproj/project.pbxproj:
+
</ins><span class="cx"> 2013-11-29 Hunseop Jeong <hs85.jeong@samsung.com>
</span><span class="cx">
</span><span class="cx"> [EFL] viewport must be same with the size of webview
</span></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextControllerhfromrev159873trunkSourceWebKit2UIProcessAPImacWKBrowsingContextControllerh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.h (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.h) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.h         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,136 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <Foundation/Foundation.h>
+#import <WebKit2/WKBrowsingContextGroup.h>
+#import <WebKit2/WKFoundation.h>
+#import <WebKit2/WKProcessGroup.h>
+
+#if WK_API_ENABLED
+
+@class WKBackForwardList;
+@class WKBackForwardListItem;
+@protocol WKBrowsingContextHistoryDelegate;
+@protocol WKBrowsingContextLoadDelegate;
+@protocol WKBrowsingContextPolicyDelegate;
+
+WK_API_CLASS
+@interface WKBrowsingContextController : NSObject
+
+@property (readonly) WKProcessGroup *processGroup;
+@property (readonly) WKBrowsingContextGroup *browsingContextGroup;
+
+#pragma mark Delegates
+
+@property (assign) id <WKBrowsingContextLoadDelegate> loadDelegate;
+@property (assign) id <WKBrowsingContextPolicyDelegate> policyDelegate;
+@property (assign) id <WKBrowsingContextHistoryDelegate> historyDelegate;
+
+#pragma mark Loading
+
++ (void)registerSchemeForCustomProtocol:(NSString *)scheme;
++ (void)unregisterSchemeForCustomProtocol:(NSString *)scheme;
+
+/* Load a request. This is only valid for requests of non-file: URLs. Passing a
+ file: URL will throw an exception. */
+- (void)loadRequest:(NSURLRequest *)request;
+- (void)loadRequest:(NSURLRequest *)request userData:(id)userData;
+
+/* Load a file: URL. Opens the sandbox only for files within allowedDirectory.
+ - Passing a non-file: URL to either parameter will yield an exception.
+ - Passing nil as the allowedDirectory will open the entire file-system for
+ reading.
+*/
+- (void)loadFileURL:(NSURL *)URL restrictToFilesWithin:(NSURL *)allowedDirectory;
+- (void)loadFileURL:(NSURL *)URL restrictToFilesWithin:(NSURL *)allowedDirectory userData:(id)userData;
+
+/* Load a page using the passed in string as its contents. */
+- (void)loadHTMLString:(NSString *)HTMLString baseURL:(NSURL *)baseURL;
+- (void)loadHTMLString:(NSString *)HTMLString baseURL:(NSURL *)baseURL userData:(id)userData;
+
+/* Load a page using the passed in data as its contents. */
+- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL;
+- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL userData:(id)userData;
+
+/* Stops the load associated with the active URL. */
+- (void)stopLoading;
+
+/* Reload the currently active URL. */
+- (void)reload;
+
+/* Reload the currently active URL, bypassing caches. */
+- (void)reloadFromOrigin;
+
+
+#pragma mark Back/Forward
+
+/* Go to the next page in the back/forward list. */
+- (void)goForward;
+
+/* Whether there is a next page in the back/forward list. */
+@property(readonly) BOOL canGoForward;
+
+/* Go to the previous page in the back/forward list. */
+- (void)goBack;
+
+/* Whether there is a previous page in the back/forward list. */
+@property(readonly) BOOL canGoBack;
+
+- (void)goToBackForwardListItem:(WKBackForwardListItem *)item;
+
+@property(readonly) WKBackForwardList *backForwardList;
+
+#pragma mark Active Load Introspection
+
+/* URL for the active load. This is the URL that should be shown in user interface. */
+@property(readonly) NSURL *activeURL;
+
+/* URL for a request that has been sent, but no response has been received yet. */
+@property(readonly) NSURL *provisionalURL;
+
+/* URL for a request that has been received, and is now being used. */
+@property(readonly) NSURL *committedURL;
+
+@property(readonly) NSURL *unreachableURL;
+
+@property(readonly) double estimatedProgress;
+
+#pragma mark Active Document Introspection
+
+/* Title of the document associated with the active load. */
+@property(readonly) NSString *title;
+
+
+#pragma mark Zoom
+
+/* Sets the text zoom for the active URL. */
+@property CGFloat textZoom;
+
+/* Sets the text zoom for the active URL. */
+@property CGFloat pageZoom;
+
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextControllermmfromrev159873trunkSourceWebKit2UIProcessAPImacWKBrowsingContextControllermm"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextController.mm        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,692 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "WKBrowsingContextControllerInternal.h"
+
+#if WK_API_ENABLED
+
+#import "ObjCObjectGraph.h"
+#import "WKBackForwardListInternal.h"
+#import "WKBackForwardListItemInternal.h"
+#import "WKErrorCF.h"
+#import "WKFrame.h"
+#import "WKFramePolicyListener.h"
+#import "WKNSArray.h"
+#import "WKNSURLExtras.h"
+#import "WKPagePrivate.h"
+#import "WKRetainPtr.h"
+#import "WKStringCF.h"
+#import "WKURLCF.h"
+#import "WKURLRequest.h"
+#import "WKURLRequestNS.h"
+#import "WKURLResponse.h"
+#import "WKURLResponseNS.h"
+#import "WebContext.h"
+#import "WebData.h"
+#import "WebPageProxy.h"
+#import <wtf/ObjcRuntimeExtras.h>
+#import <wtf/RetainPtr.h>
+
+#import "WKBrowsingContextGroupInternal.h"
+#import "WKBrowsingContextHandleInternal.h"
+#import "WKBrowsingContextLoadDelegate.h"
+#import "WKBrowsingContextPolicyDelegate.h"
+#import "WKProcessGroupInternal.h"
+
+using namespace WebKit;
+
+class PageLoadStateObserver : public PageLoadState::Observer {
+public:
+ PageLoadStateObserver(WKBrowsingContextController *controller)
+ : m_controller(controller)
+ {
+ }
+
+private:
+ virtual void willChangeTitle() OVERRIDE
+ {
+ [m_controller willChangeValueForKey:@"title"];
+ }
+
+ virtual void didChangeTitle() OVERRIDE
+ {
+ [m_controller didChangeValueForKey:@"title"];
+ }
+
+ WKBrowsingContextController *m_controller;
+};
+
+static inline NSString *autoreleased(WKStringRef string)
+{
+ return string ? CFBridgingRelease(WKStringCopyCFString(kCFAllocatorDefault, adoptWK(string).get())) : nil;
+}
+
+static inline NSURL *autoreleased(WKURLRef url)
+{
+ return url ? CFBridgingRelease(WKURLCopyCFURL(kCFAllocatorDefault, adoptWK(url).get())) : nil;
+}
+
+NSString * const WKActionIsMainFrameKey = @"WKActionIsMainFrameKey";
+NSString * const WKActionNavigationTypeKey = @"WKActionNavigationTypeKey";
+NSString * const WKActionMouseButtonKey = @"WKActionMouseButtonKey";
+NSString * const WKActionModifierFlagsKey = @"WKActionModifierFlagsKey";
+NSString * const WKActionURLRequestKey = @"WKActionURLRequestKey";
+NSString * const WKActionURLResponseKey = @"WKActionURLResponseKey";
+NSString * const WKActionFrameNameKey = @"WKActionFrameNameKey";
+NSString * const WKActionOriginatingFrameURLKey = @"WKActionOriginatingFrameURLKey";
+NSString * const WKActionCanShowMIMETypeKey = @"WKActionCanShowMIMETypeKey";
+
+@implementation WKBrowsingContextController {
+ // Underlying WKPageRef.
+ WKRetainPtr<WKPageRef> _pageRef;
+
+ std::unique_ptr<PageLoadStateObserver> _pageLoadStateObserver;
+}
+
+- (void)dealloc
+{
+ toImpl(_pageRef.get())->pageLoadState().removeObserver(*_pageLoadStateObserver);
+ WKPageSetPageLoaderClient(_pageRef.get(), nullptr);
+ WKPageSetPagePolicyClient(_pageRef.get(), nullptr);
+
+ [super dealloc];
+}
+
+- (WKProcessGroup *)processGroup
+{
+ WebContext* context = toImpl(_pageRef.get())->process()->context();
+ if (!context)
+ return nil;
+ return wrapper(*context);
+}
+
+- (WKBrowsingContextGroup *)browsingContextGroup
+{
+ WebPageGroup* pageGroup = toImpl(_pageRef.get())->pageGroup();
+ if (!pageGroup)
+ return nil;
+ return wrapper(*pageGroup);
+}
+
+- (WKPageRef)_pageRef
+{
+ return _pageRef.get();
+}
+
+#pragma mark Loading
+
++ (void)registerSchemeForCustomProtocol:(NSString *)scheme
+{
+ if (!scheme)
+ return;
+
+ NSString *lowercaseScheme = [scheme lowercaseString];
+ [[WKBrowsingContextController customSchemes] addObject:lowercaseScheme];
+ [[NSNotificationCenter defaultCenter] postNotificationName:SchemeForCustomProtocolRegisteredNotificationName object:lowercaseScheme];
+}
+
++ (void)unregisterSchemeForCustomProtocol:(NSString *)scheme
+{
+ if (!scheme)
+ return;
+
+ NSString *lowercaseScheme = [scheme lowercaseString];
+ [[WKBrowsingContextController customSchemes] removeObject:lowercaseScheme];
+ [[NSNotificationCenter defaultCenter] postNotificationName:SchemeForCustomProtocolUnregisteredNotificationName object:lowercaseScheme];
+}
+
+- (void)loadRequest:(NSURLRequest *)request
+{
+ [self loadRequest:request userData:nil];
+}
+
+- (void)loadRequest:(NSURLRequest *)request userData:(id)userData
+{
+ WKRetainPtr<WKURLRequestRef> wkRequest = adoptWK(WKURLRequestCreateWithNSURLRequest(request));
+
+ RefPtr<ObjCObjectGraph> wkUserData;
+ if (userData)
+ wkUserData = ObjCObjectGraph::create(userData);
+
+ WKPageLoadURLRequestWithUserData(_pageRef.get(), wkRequest.get(), (WKTypeRef)wkUserData.get());
+}
+
+- (void)loadFileURL:(NSURL *)URL restrictToFilesWithin:(NSURL *)allowedDirectory
+{
+ [self loadFileURL:URL restrictToFilesWithin:allowedDirectory userData:nil];
+}
+
+- (void)loadFileURL:(NSURL *)URL restrictToFilesWithin:(NSURL *)allowedDirectory userData:(id)userData
+{
+ if (![URL isFileURL] || (allowedDirectory && ![allowedDirectory isFileURL]))
+ [NSException raise:NSInvalidArgumentException format:@"Attempted to load a non-file URL"];
+
+ WKRetainPtr<WKURLRef> wkURL = adoptWK(WKURLCreateWithCFURL((CFURLRef)URL));
+ WKRetainPtr<WKURLRef> wkAllowedDirectory = adoptWK(WKURLCreateWithCFURL((CFURLRef)allowedDirectory));
+
+ RefPtr<ObjCObjectGraph> wkUserData;
+ if (userData)
+ wkUserData = ObjCObjectGraph::create(userData);
+
+ WKPageLoadFileWithUserData(_pageRef.get(), wkURL.get(), wkAllowedDirectory.get(), (WKTypeRef)wkUserData.get());
+}
+
+- (void)loadHTMLString:(NSString *)HTMLString baseURL:(NSURL *)baseURL
+{
+ [self loadHTMLString:HTMLString baseURL:baseURL userData:nil];
+}
+
+- (void)loadHTMLString:(NSString *)HTMLString baseURL:(NSURL *)baseURL userData:(id)userData
+{
+ WKRetainPtr<WKStringRef> wkHTMLString;
+ if (HTMLString)
+ wkHTMLString = adoptWK(WKStringCreateWithCFString((CFStringRef)HTMLString));
+
+ WKRetainPtr<WKURLRef> wkBaseURL;
+ if (baseURL)
+ wkBaseURL = adoptWK(WKURLCreateWithCFURL((CFURLRef)baseURL));
+
+ RefPtr<ObjCObjectGraph> wkUserData;
+ if (userData)
+ wkUserData = ObjCObjectGraph::create(userData);
+
+ WKPageLoadHTMLStringWithUserData(_pageRef.get(), wkHTMLString.get(), wkBaseURL.get(), (WKTypeRef)wkUserData.get());
+}
+
+- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL
+{
+ [self loadData:data MIMEType:MIMEType textEncodingName:encodingName baseURL:baseURL userData:nil];
+}
+
+static void releaseNSData(unsigned char*, const void* data)
+{
+ [(NSData *)data release];
+}
+
+- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL userData:(id)userData
+{
+ RefPtr<WebData> wkData;
+ if (data) {
+ [data retain];
+ wkData = WebData::createWithoutCopying((const unsigned char*)[data bytes], [data length], releaseNSData, data);
+ }
+
+ WKRetainPtr<WKStringRef> wkMIMEType;
+ if (MIMEType)
+ wkMIMEType = adoptWK(WKStringCreateWithCFString((CFStringRef)MIMEType));
+
+ WKRetainPtr<WKStringRef> wkEncodingName;
+ if (encodingName)
+ wkEncodingName = adoptWK(WKStringCreateWithCFString((CFStringRef)encodingName));
+
+ WKRetainPtr<WKURLRef> wkBaseURL;
+ if (baseURL)
+ wkBaseURL = adoptWK(WKURLCreateWithCFURL((CFURLRef)baseURL));
+
+ RefPtr<ObjCObjectGraph> wkUserData;
+ if (userData)
+ wkUserData = ObjCObjectGraph::create(userData);
+
+ WKPageLoadDataWithUserData(_pageRef.get(), toAPI(wkData.get()), wkMIMEType.get(), wkEncodingName.get(), wkBaseURL.get(), (WKTypeRef)wkUserData.get());
+}
+
+- (void)stopLoading
+{
+ WKPageStopLoading(_pageRef.get());
+}
+
+- (void)reload
+{
+ WKPageReload(_pageRef.get());
+}
+
+- (void)reloadFromOrigin
+{
+ WKPageReloadFromOrigin(_pageRef.get());
+}
+
+#pragma mark Back/Forward
+
+- (void)goForward
+{
+ WKPageGoForward(_pageRef.get());
+}
+
+- (BOOL)canGoForward
+{
+ return WKPageCanGoForward(_pageRef.get());
+}
+
+- (void)goBack
+{
+ WKPageGoBack(_pageRef.get());
+}
+
+- (BOOL)canGoBack
+{
+ return WKPageCanGoBack(_pageRef.get());
+}
+
+- (void)goToBackForwardListItem:(WKBackForwardListItem *)item
+{
+ toImpl(_pageRef.get())->goToBackForwardItem(&item._item);
+}
+
+- (WKBackForwardList *)backForwardList
+{
+ WebBackForwardList* list = toImpl(_pageRef.get())->backForwardList();
+ if (!list)
+ return nil;
+
+ return wrapper(*list);
+}
+
+#pragma mark Active Load Introspection
+
+- (NSURL *)activeURL
+{
+ return autoreleased(WKPageCopyActiveURL(_pageRef.get()));
+}
+
+- (NSURL *)provisionalURL
+{
+ return autoreleased(WKPageCopyProvisionalURL(_pageRef.get()));
+}
+
+- (NSURL *)committedURL
+{
+ return autoreleased(WKPageCopyCommittedURL(_pageRef.get()));
+}
+
+- (NSURL *)unreachableURL
+{
+ return [NSURL _web_URLWithWTFString:toImpl(_pageRef.get())->pageLoadState().unreachableURL() relativeToURL:nil];
+}
+
+- (double)estimatedProgress
+{
+ return toImpl(_pageRef.get())->estimatedProgress();
+}
+
+#pragma mark Active Document Introspection
+
+- (NSString *)title
+{
+ return autoreleased(WKPageCopyTitle(_pageRef.get()));
+}
+
+#pragma mark Zoom
+
+- (CGFloat)textZoom
+{
+ return WKPageGetTextZoomFactor(_pageRef.get());
+}
+
+- (void)setTextZoom:(CGFloat)textZoom
+{
+ return WKPageSetTextZoomFactor(_pageRef.get(), textZoom);
+}
+
+- (CGFloat)pageZoom
+{
+ return WKPageGetPageZoomFactor(_pageRef.get());
+}
+
+- (void)setPageZoom:(CGFloat)pageZoom
+{
+ return WKPageSetPageZoomFactor(_pageRef.get(), pageZoom);
+}
+
+static void didStartProvisionalLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)
+{
+ if (!WKFrameIsMainFrame(frame))
+ return;
+
+ WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
+ if ([browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidStartProvisionalLoad:)])
+ [browsingContext.loadDelegate browsingContextControllerDidStartProvisionalLoad:browsingContext];
+}
+
+static void didReceiveServerRedirectForProvisionalLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)
+{
+ if (!WKFrameIsMainFrame(frame))
+ return;
+
+ WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
+ if ([browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidReceiveServerRedirectForProvisionalLoad:)])
+ [browsingContext.loadDelegate browsingContextControllerDidReceiveServerRedirectForProvisionalLoad:browsingContext];
+}
+
+static void didFailProvisionalLoadWithErrorForFrame(WKPageRef page, WKFrameRef frame, WKErrorRef error, WKTypeRef userData, const void* clientInfo)
+{
+ if (!WKFrameIsMainFrame(frame))
+ return;
+
+ WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
+ if ([browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidFailProvisionalLoad:withError:)]) {
+ RetainPtr<CFErrorRef> cfError = adoptCF(WKErrorCopyCFError(kCFAllocatorDefault, error));
+ [browsingContext.loadDelegate browsingContextControllerDidFailProvisionalLoad:browsingContext withError:(NSError *)cfError.get()];
+ }
+}
+
+static void didCommitLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)
+{
+ if (!WKFrameIsMainFrame(frame))
+ return;
+
+ WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
+ if ([browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidCommitLoad:)])
+ [browsingContext.loadDelegate browsingContextControllerDidCommitLoad:browsingContext];
+}
+
+static void didFinishLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)
+{
+ if (!WKFrameIsMainFrame(frame))
+ return;
+
+ WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
+ if ([browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidFinishLoad:)])
+ [browsingContext.loadDelegate browsingContextControllerDidFinishLoad:browsingContext];
+}
+
+static void didFailLoadWithErrorForFrame(WKPageRef page, WKFrameRef frame, WKErrorRef error, WKTypeRef userData, const void* clientInfo)
+{
+ if (!WKFrameIsMainFrame(frame))
+ return;
+
+ WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
+ if ([browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidFailLoad:withError:)]) {
+ RetainPtr<CFErrorRef> cfError = adoptCF(WKErrorCopyCFError(kCFAllocatorDefault, error));
+ [browsingContext.loadDelegate browsingContextControllerDidFailLoad:browsingContext withError:(NSError *)cfError.get()];
+ }
+}
+
+static void didStartProgress(WKPageRef page, const void* clientInfo)
+{
+ WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
+ if ([browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidStartProgress:)])
+ [browsingContext.loadDelegate browsingContextControllerDidStartProgress:browsingContext];
+}
+
+static void didChangeProgress(WKPageRef page, const void* clientInfo)
+{
+ WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
+ if ([browsingContext.loadDelegate respondsToSelector:@selector(browsingContextController:estimatedProgressChangedTo:)])
+ [browsingContext.loadDelegate browsingContextController:browsingContext estimatedProgressChangedTo:toImpl(page)->estimatedProgress()];
+}
+
+static void didFinishProgress(WKPageRef page, const void* clientInfo)
+{
+ WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
+ if ([browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidFinishProgress:)])
+ [browsingContext.loadDelegate browsingContextControllerDidFinishProgress:browsingContext];
+}
+
+static void didChangeBackForwardList(WKPageRef page, WKBackForwardListItemRef addedItem, WKArrayRef removedItems, const void *clientInfo)
+{
+ WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
+ if (![browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidChangeBackForwardList:addedItem:removedItems:)])
+ return;
+
+ WKBackForwardListItem *added = addedItem ? wrapper(*toImpl(addedItem)) : nil;
+ NSArray *removed = removedItems ? wrapper(*toImpl(removedItems)) : nil;
+ [browsingContext.loadDelegate browsingContextControllerDidChangeBackForwardList:browsingContext addedItem:added removedItems:removed];
+}
+
+static void setUpPageLoaderClient(WKBrowsingContextController *browsingContext, WKPageRef pageRef)
+{
+ WKPageLoaderClient loaderClient;
+ memset(&loaderClient, 0, sizeof(loaderClient));
+
+ loaderClient.version = kWKPageLoaderClientCurrentVersion;
+ loaderClient.clientInfo = browsingContext;
+ loaderClient.didStartProvisionalLoadForFrame = didStartProvisionalLoadForFrame;
+ loaderClient.didReceiveServerRedirectForProvisionalLoadForFrame = didReceiveServerRedirectForProvisionalLoadForFrame;
+ loaderClient.didFailProvisionalLoadWithErrorForFrame = didFailProvisionalLoadWithErrorForFrame;
+ loaderClient.didCommitLoadForFrame = didCommitLoadForFrame;
+ loaderClient.didFinishLoadForFrame = didFinishLoadForFrame;
+ loaderClient.didFailLoadWithErrorForFrame = didFailLoadWithErrorForFrame;
+
+ loaderClient.didStartProgress = didStartProgress;
+ loaderClient.didChangeProgress = didChangeProgress;
+ loaderClient.didFinishProgress = didFinishProgress;
+ loaderClient.didChangeBackForwardList = didChangeBackForwardList;
+
+ WKPageSetPageLoaderClient(pageRef, &loaderClient);
+}
+
+static WKPolicyDecisionHandler makePolicyDecisionBlock(WKFramePolicyListenerRef listener)
+{
+ WKRetain(listener); // Released in the decision handler below.
+
+ return [[^(WKPolicyDecision decision) {
+ switch (decision) {
+ case WKPolicyDecisionCancel:
+ WKFramePolicyListenerIgnore(listener);
+ break;
+
+ case WKPolicyDecisionAllow:
+ WKFramePolicyListenerUse(listener);
+ break;
+
+ case WKPolicyDecisionBecomeDownload:
+ WKFramePolicyListenerDownload(listener);
+ break;
+ };
+
+ WKRelease(listener); // Retained in the context above.
+ } copy] autorelease];
+}
+
+static void setUpPagePolicyClient(WKBrowsingContextController *browsingContext, WKPageRef pageRef)
+{
+ WKPagePolicyClient policyClient;
+ memset(&policyClient, 0, sizeof(policyClient));
+
+ policyClient.version = kWKPagePolicyClientCurrentVersion;
+ policyClient.clientInfo = browsingContext;
+
+ policyClient.decidePolicyForNavigationAction = [](WKPageRef page, WKFrameRef frame, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKFrameRef originatingFrame, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo)
+ {
+ WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
+ if ([browsingContext.policyDelegate respondsToSelector:@selector(browsingContextController:decidePolicyForNavigationAction:decisionHandler:)]) {
+ NSDictionary *actionDictionary = @{
+ WKActionIsMainFrameKey: @(WKFrameIsMainFrame(frame)),
+ WKActionNavigationTypeKey: @(navigationType),
+ WKActionModifierFlagsKey: @(modifiers),
+ WKActionMouseButtonKey: @(mouseButton),
+ WKActionURLRequestKey: adoptNS(WKURLRequestCopyNSURLRequest(request)).get()
+ };
+
+ if (originatingFrame) {
+ actionDictionary = [[actionDictionary mutableCopy] autorelease];
+ [(NSMutableDictionary *)actionDictionary setObject:[NSURL _web_URLWithWTFString:toImpl(originatingFrame)->url() relativeToURL:nil] forKey:WKActionOriginatingFrameURLKey];
+ }
+
+ [browsingContext.policyDelegate browsingContextController:browsingContext decidePolicyForNavigationAction:actionDictionary decisionHandler:makePolicyDecisionBlock(listener)];
+ } else
+ WKFramePolicyListenerUse(listener);
+ };
+
+ policyClient.decidePolicyForNewWindowAction = [](WKPageRef page, WKFrameRef frame, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKURLRequestRef request, WKStringRef frameName, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo)
+ {
+ WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
+ if ([browsingContext.policyDelegate respondsToSelector:@selector(browsingContextController:decidePolicyForNewWindowAction:decisionHandler:)]) {
+ NSDictionary *actionDictionary = @{
+ WKActionIsMainFrameKey: @(WKFrameIsMainFrame(frame)),
+ WKActionNavigationTypeKey: @(navigationType),
+ WKActionModifierFlagsKey: @(modifiers),
+ WKActionMouseButtonKey: @(mouseButton),
+ WKActionURLRequestKey: adoptNS(WKURLRequestCopyNSURLRequest(request)).get(),
+ WKActionFrameNameKey: toImpl(frameName)->wrapper()
+ };
+
+ [browsingContext.policyDelegate browsingContextController:browsingContext decidePolicyForNewWindowAction:actionDictionary decisionHandler:makePolicyDecisionBlock(listener)];
+ } else
+ WKFramePolicyListenerUse(listener);
+ };
+
+ policyClient.decidePolicyForResponse = [](WKPageRef page, WKFrameRef frame, WKURLResponseRef response, WKURLRequestRef request, bool canShowMIMEType, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo)
+ {
+ WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
+ if ([browsingContext.policyDelegate respondsToSelector:@selector(browsingContextController:decidePolicyForResponseAction:decisionHandler:)]) {
+ NSDictionary *actionDictionary = @{
+ WKActionIsMainFrameKey: @(WKFrameIsMainFrame(frame)),
+ WKActionURLRequestKey: adoptNS(WKURLRequestCopyNSURLRequest(request)).get(),
+ WKActionURLResponseKey: adoptNS(WKURLResponseCopyNSURLResponse(response)).get(),
+ WKActionCanShowMIMETypeKey: @(canShowMIMEType),
+ };
+
+ [browsingContext.policyDelegate browsingContextController:browsingContext decidePolicyForResponseAction:actionDictionary decisionHandler:makePolicyDecisionBlock(listener)];
+ } else
+ WKFramePolicyListenerUse(listener);
+ };
+
+ WKPageSetPagePolicyClient(pageRef, &policyClient);
+}
+
+/* This should only be called from associate view. */
+
+- (id)_initWithPageRef:(WKPageRef)pageRef
+{
+ self = [super init];
+ if (!self)
+ return nil;
+
+ _pageRef = pageRef;
+
+ _pageLoadStateObserver = std::make_unique<PageLoadStateObserver>(self);
+ toImpl(_pageRef.get())->pageLoadState().addObserver(*_pageLoadStateObserver);
+
+ setUpPageLoaderClient(self, pageRef);
+ setUpPagePolicyClient(self, pageRef);
+
+ return self;
+}
+
++ (WKBrowsingContextController *)_browsingContextControllerForPageRef:(WKPageRef)pageRef
+{
+ return (WKBrowsingContextController *)WebKit::toImpl(pageRef)->loaderClient().client().clientInfo;
+}
+
++ (NSMutableSet *)customSchemes
+{
+ static NSMutableSet *customSchemes = [[NSMutableSet alloc] init];
+ return customSchemes;
+}
+
+@end
+
+@implementation WKBrowsingContextController (Private)
+
+- (void)setPaginationMode:(WKBrowsingContextPaginationMode)paginationMode
+{
+ WKPaginationMode mode;
+ switch (paginationMode) {
+ case WKPaginationModeUnpaginated:
+ mode = kWKPaginationModeUnpaginated;
+ break;
+ case WKPaginationModeLeftToRight:
+ mode = kWKPaginationModeLeftToRight;
+ break;
+ case WKPaginationModeRightToLeft:
+ mode = kWKPaginationModeRightToLeft;
+ break;
+ case WKPaginationModeTopToBottom:
+ mode = kWKPaginationModeTopToBottom;
+ break;
+ case WKPaginationModeBottomToTop:
+ mode = kWKPaginationModeBottomToTop;
+ break;
+ default:
+ return;
+ }
+
+ WKPageSetPaginationMode(_pageRef.get(), mode);
+}
+
+- (WKBrowsingContextPaginationMode)paginationMode
+{
+ switch (WKPageGetPaginationMode(_pageRef.get())) {
+ case kWKPaginationModeUnpaginated:
+ return WKPaginationModeUnpaginated;
+ case kWKPaginationModeLeftToRight:
+ return WKPaginationModeLeftToRight;
+ case kWKPaginationModeRightToLeft:
+ return WKPaginationModeRightToLeft;
+ case kWKPaginationModeTopToBottom:
+ return WKPaginationModeTopToBottom;
+ case kWKPaginationModeBottomToTop:
+ return WKPaginationModeBottomToTop;
+ }
+
+ ASSERT_NOT_REACHED();
+ return WKPaginationModeUnpaginated;
+}
+
+- (void)setPaginationBehavesLikeColumns:(BOOL)behavesLikeColumns
+{
+ WKPageSetPaginationBehavesLikeColumns(_pageRef.get(), behavesLikeColumns);
+}
+
+- (BOOL)paginationBehavesLikeColumns
+{
+ return WKPageGetPaginationBehavesLikeColumns(_pageRef.get());
+}
+
+- (void)setPageLength:(CGFloat)pageLength
+{
+ WKPageSetPageLength(_pageRef.get(), pageLength);
+}
+
+- (CGFloat)pageLength
+{
+ return WKPageGetPageLength(_pageRef.get());
+}
+
+- (void)setGapBetweenPages:(CGFloat)gapBetweenPages
+{
+ WKPageSetGapBetweenPages(_pageRef.get(), gapBetweenPages);
+}
+
+- (CGFloat)gapBetweenPages
+{
+ return WKPageGetGapBetweenPages(_pageRef.get());
+}
+
+- (NSUInteger)pageCount
+{
+ return WKPageGetPageCount(_pageRef.get());
+}
+
+- (WKBrowsingContextHandle *)handle
+{
+ return [[[WKBrowsingContextHandle alloc] _initWithPageID:toImpl(_pageRef.get())->pageID()] autorelease];
+}
+
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextControllerInternalhfromrev159873trunkSourceWebKit2UIProcessAPImacWKBrowsingContextControllerInternalh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerInternal.h) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "WKBrowsingContextControllerPrivate.h"
+
+#if WK_API_ENABLED
+
+@interface WKBrowsingContextController ()
+
+/* This should only be called from associate view. */
+- (id)_initWithPageRef:(WKPageRef)pageRef;
+
+/* Returns a WKBrowsingContextController associated with the WKPageRef. */
++ (WKBrowsingContextController *)_browsingContextControllerForPageRef:(WKPageRef)pageRef;
+
++ (NSMutableSet *)customSchemes;
+
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextControllerPrivatehfromrev159873trunkSourceWebKit2UIProcessAPImacWKBrowsingContextControllerPrivateh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerPrivate.h) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextControllerPrivate.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,62 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <WebKit2/WKBrowsingContextController.h>
+
+#if WK_API_ENABLED
+
+#import <WebKit2/WKBase.h>
+
+typedef NS_ENUM(NSUInteger, WKBrowsingContextPaginationMode) {
+ WKPaginationModeUnpaginated,
+ WKPaginationModeLeftToRight,
+ WKPaginationModeRightToLeft,
+ WKPaginationModeTopToBottom,
+ WKPaginationModeBottomToTop,
+};
+
+@class WKBrowsingContextHandle;
+
+@interface WKBrowsingContextController (Private)
+
+@property (readonly) WKPageRef _pageRef;
+
+@property WKBrowsingContextPaginationMode paginationMode;
+
+// Whether the column-break-{before,after} properties are respected instead of the
+// page-break-{before,after} properties.
+@property BOOL paginationBehavesLikeColumns;
+
+// Set to 0 to have the page length equal the view length.
+@property CGFloat pageLength;
+@property CGFloat gapBetweenPages;
+
+@property (readonly) NSUInteger pageCount;
+
+@property (nonatomic, readonly) WKBrowsingContextHandle *handle;
+
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextGrouphfromrev159873trunkSourceWebKit2UIProcessAPImacWKBrowsingContextGrouph"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextGroup.h (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.h) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextGroup.h         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextGroup.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,61 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <WebKit2/WKFoundation.h>
+
+#if WK_API_ENABLED
+
+#import <Foundation/Foundation.h>
+#import <WebKit2/WKUserScriptInjectionTime.h>
+
+WK_API_CLASS
+@interface WKBrowsingContextGroup : NSObject
+
+- (id)initWithIdentifier:(NSString *)identifier;
+
+/* User Content */
+
+- (void)addUserStyleSheet:(NSString *)source baseURL:(NSURL *)baseURL whitelistedURLPatterns:(NSArray *)whitelist blacklistedURLPatterns:(NSArray *)blacklist mainFrameOnly:(BOOL)mainFrameOnly;
+- (void)removeAllUserStyleSheets;
+
+- (void)addUserScript:(NSString *)source baseURL:(NSURL *)baseURL whitelistedURLPatterns:(NSArray *)whitelist blacklistedURLPatterns:(NSArray *)blacklist injectionTime:(WKUserScriptInjectionTime)injectionTime mainFrameOnly:(BOOL)mainFrameOnly;
+- (void)removeAllUserScripts;
+
+
+/* Settings */
+
+/* Setting to control whether JavaScript referenced by a page is enabled.
+ Default: YES
+*/
+@property BOOL allowsJavaScript;
+
+/* Setting to control whether plug-ins are enabled.
+ Default: YES
+*/
+@property BOOL allowsPlugIns;
+
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextGroupmmfromrev159873trunkSourceWebKit2UIProcessAPImacWKBrowsingContextGroupmm"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextGroup.mm (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.mm) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextGroup.mm         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextGroup.mm        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,178 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "WKBrowsingContextGroupInternal.h"
+#import "WKBrowsingContextGroupPrivate.h"
+
+#if WK_API_ENABLED
+
+#import "APIArray.h"
+#import "WKArray.h"
+#import "WKPageGroup.h"
+#import "WKPreferences.h"
+#import "WKRetainPtr.h"
+#import "WKSharedAPICast.h"
+#import "WKStringCF.h"
+#import "WKURL.h"
+#import "WKURLCF.h"
+#import "WebString.h"
+#import <wtf/Vector.h>
+
+using namespace WebKit;
+
+@implementation WKBrowsingContextGroup {
+ std::aligned_storage<sizeof(WebPageGroup), std::alignment_of<WebPageGroup>::value>::type _pageGroup;
+}
+
+- (void)dealloc
+{
+ reinterpret_cast<WebPageGroup*>(&_pageGroup)->~WebPageGroup();
+
+ [super dealloc];
+}
+
+- (id)initWithIdentifier:(NSString *)identifier
+{
+ self = [super init];
+ if (!self)
+ return nil;
+
+ API::Object::constructInWrapper<WebPageGroup>(self, identifier);
+
+ // Give the WKBrowsingContextGroup a identifier-less preferences, so that they
+ // don't get automatically written to the disk. The automatic writing has proven
+ // confusing to users of the API.
+ WKRetainPtr<WKPreferencesRef> preferences = adoptWK(WKPreferencesCreate());
+ WKPageGroupSetPreferences(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup)), preferences.get());
+
+ return self;
+}
+
+- (BOOL)allowsJavaScript
+{
+ return WKPreferencesGetJavaScriptEnabled(WKPageGroupGetPreferences(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup))));
+}
+
+- (void)setAllowsJavaScript:(BOOL)allowsJavaScript
+{
+ WKPreferencesSetJavaScriptEnabled(WKPageGroupGetPreferences(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup))), allowsJavaScript);
+}
+
+- (BOOL)allowsJavaScriptMarkup
+{
+ return WKPreferencesGetJavaScriptMarkupEnabled(WKPageGroupGetPreferences(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup))));
+}
+
+- (void)setAllowsJavaScriptMarkup:(BOOL)allowsJavaScriptMarkup
+{
+ WKPreferencesSetJavaScriptMarkupEnabled(WKPageGroupGetPreferences(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup))), allowsJavaScriptMarkup);
+}
+
+- (BOOL)allowsPlugIns
+{
+ return WKPreferencesGetPluginsEnabled(WKPageGroupGetPreferences(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup))));
+}
+
+- (void)setAllowsPlugIns:(BOOL)allowsPlugIns
+{
+ WKPreferencesSetPluginsEnabled(WKPageGroupGetPreferences(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup))), allowsPlugIns);
+}
+
+static WKRetainPtr<WKArrayRef> createWKArray(NSArray *array)
+{
+ NSUInteger count = [array count];
+
+ if (!count)
+ return nullptr;
+
+ Vector<RefPtr<API::Object>> strings;
+ strings.reserveInitialCapacity(count);
+
+ for (id entry in array) {
+ if ([entry isKindOfClass:[NSString class]])
+ strings.uncheckedAppend(adoptRef(toImpl(WKStringCreateWithCFString((CFStringRef)entry))));
+ }
+
+ return toAPI(API::Array::create(std::move(strings)).leakRef());
+}
+
+-(void)addUserStyleSheet:(NSString *)source baseURL:(NSURL *)baseURL whitelistedURLPatterns:(NSArray *)whitelist blacklistedURLPatterns:(NSArray *)blacklist mainFrameOnly:(BOOL)mainFrameOnly
+{
+ if (!source)
+ CRASH();
+
+ WKRetainPtr<WKStringRef> wkSource = adoptWK(WKStringCreateWithCFString((CFStringRef)source));
+ WKRetainPtr<WKURLRef> wkBaseURL = adoptWK(WKURLCreateWithCFURL((CFURLRef)baseURL));
+ auto wkWhitelist = createWKArray(whitelist);
+ auto wkBlacklist = createWKArray(blacklist);
+ WKUserContentInjectedFrames injectedFrames = mainFrameOnly ? kWKInjectInTopFrameOnly : kWKInjectInAllFrames;
+
+ WKPageGroupAddUserStyleSheet(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup)), wkSource.get(), wkBaseURL.get(), wkWhitelist.get(), wkBlacklist.get(), injectedFrames);
+}
+
+- (void)removeAllUserStyleSheets
+{
+ WKPageGroupRemoveAllUserStyleSheets(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup)));
+}
+
+- (void)addUserScript:(NSString *)source baseURL:(NSURL *)baseURL whitelistedURLPatterns:(NSArray *)whitelist blacklistedURLPatterns:(NSArray *)blacklist injectionTime:(WKUserScriptInjectionTime)injectionTime mainFrameOnly:(BOOL)mainFrameOnly
+{
+ if (!source)
+ CRASH();
+
+ WKRetainPtr<WKStringRef> wkSource = adoptWK(WKStringCreateWithCFString((CFStringRef)source));
+ WKRetainPtr<WKURLRef> wkBaseURL = adoptWK(WKURLCreateWithCFURL((CFURLRef)baseURL));
+ auto wkWhitelist = createWKArray(whitelist);
+ auto wkBlacklist = createWKArray(blacklist);
+ WKUserContentInjectedFrames injectedFrames = mainFrameOnly ? kWKInjectInTopFrameOnly : kWKInjectInAllFrames;
+
+ WKPageGroupAddUserScript(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup)), wkSource.get(), wkBaseURL.get(), wkWhitelist.get(), wkBlacklist.get(), injectedFrames, injectionTime);
+}
+
+- (void)removeAllUserScripts
+{
+ WKPageGroupRemoveAllUserScripts(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup)));
+}
+
+#pragma mark WKObject protocol implementation
+
+- (API::Object&)_apiObject
+{
+ return *reinterpret_cast<API::Object*>(&_pageGroup);
+}
+
+@end
+
+@implementation WKBrowsingContextGroup (Private)
+
+- (WKPageGroupRef)_pageGroupRef
+{
+ return toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup));
+}
+
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextGroupInternalhfromrev159873trunkSourceWebKit2UIProcessAPImacWKBrowsingContextGroupInternalh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextGroupInternal.h (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupInternal.h) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextGroupInternal.h         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextGroupInternal.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+/*
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "WKBrowsingContextGroup.h"
+
+#if WK_API_ENABLED
+
+#import "WKObject.h"
+#import "WebPageGroup.h"
+
+namespace WebKit {
+
+inline WKBrowsingContextGroup *wrapper(WebPageGroup& pageGroup)
+{
+ ASSERT([pageGroup.wrapper() isKindOfClass:[WKBrowsingContextGroup class]]);
+ return (WKBrowsingContextGroup *)pageGroup.wrapper();
+}
+
+}
+
+@interface WKBrowsingContextGroup () <WKObject>
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextGroupPrivatehfromrev159873trunkSourceWebKit2UIProcessAPImacWKBrowsingContextGroupPrivateh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextGroupPrivate.h (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupPrivate.h) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextGroupPrivate.h         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextGroupPrivate.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <WebKit2/WKBrowsingContextGroup.h>
+
+#if WK_API_ENABLED
+
+#import <WebKit2/WKBase.h>
+
+@interface WKBrowsingContextGroup (Private)
+
+@property(readonly) WKPageGroupRef _pageGroupRef;
+
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextLoadDelegatehfromrev159873trunkSourceWebKit2UIProcessAPImacWKBrowsingContextLoadDelegateh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextLoadDelegate.h) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextLoadDelegate.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,58 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <Foundation/Foundation.h>
+
+@class WKBrowsingContextController;
+@class WKBackForwardListItem;
+
+@protocol WKBrowsingContextLoadDelegate <NSObject>
+@optional
+
+/* Sent when the provisional load begins. */
+- (void)browsingContextControllerDidStartProvisionalLoad:(WKBrowsingContextController *)sender;
+
+/* Sent if a server-side redirect was recieved. */
+- (void)browsingContextControllerDidReceiveServerRedirectForProvisionalLoad:(WKBrowsingContextController *)sender;
+
+/* Sent if the provional load fails. */
+- (void)browsingContextControllerDidFailProvisionalLoad:(WKBrowsingContextController *)sender withError:(NSError *)error;
+
+/* Sent when the load gets committed. */
+- (void)browsingContextControllerDidCommitLoad:(WKBrowsingContextController *)sender;
+
+/* Sent when the load completes. */
+- (void)browsingContextControllerDidFinishLoad:(WKBrowsingContextController *)sender;
+
+/* Sent if the commited load fails. */
+- (void)browsingContextControllerDidFailLoad:(WKBrowsingContextController *)sender withError:(NSError *)error;
+
+- (void)browsingContextControllerDidStartProgress:(WKBrowsingContextController *)sender;
+- (void)browsingContextController:(WKBrowsingContextController *)sender estimatedProgressChangedTo:(double)estimatedProgress;
+- (void)browsingContextControllerDidFinishProgress:(WKBrowsingContextController *)sender;
+
+- (void)browsingContextControllerDidChangeBackForwardList:(WKBrowsingContextController *)sender addedItem:(WKBackForwardListItem *)addedItem removedItems:(NSArray *)removedItems;
+
+@end
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKBrowsingContextPolicyDelegatehfromrev159873trunkSourceWebKit2UIProcessAPImacWKBrowsingContextPolicyDelegateh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextPolicyDelegate.h (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextPolicyDelegate.h         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKBrowsingContextPolicyDelegate.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,66 @@
</span><ins>+/*
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <Foundation/Foundation.h>
+#import <WebKit2/WKDeclarationSpecifiers.h>
+
+@class WKBrowsingContextController;
+
+/* Constants for policy action dictionaries */
+WK_EXPORT extern NSString * const WKActionIsMainFrameKey; // NSNumber (BOOL)
+WK_EXPORT extern NSString * const WKActionNavigationTypeKey; // NSNumber (WKNavigationType)
+WK_EXPORT extern NSString * const WKActionMouseButtonKey; // NSNumber (0 for left button, 1 for middle button, 2 for right button)
+WK_EXPORT extern NSString * const WKActionModifierFlagsKey; // NSNumber (unsigned)
+WK_EXPORT extern NSString * const WKActionURLRequestKey; // NSURLRequest
+WK_EXPORT extern NSString * const WKActionURLResponseKey; // NSURLResponse
+WK_EXPORT extern NSString * const WKActionFrameNameKey; // NSString
+WK_EXPORT extern NSString * const WKActionOriginatingFrameURLKey; // NSURL
+WK_EXPORT extern NSString * const WKActionCanShowMIMETypeKey; // NSNumber (BOOL)
+
+typedef NS_ENUM(NSUInteger, WKNavigationType) {
+ WKNavigationTypeLinkClicked,
+ WKNavigationTypeFormSubmitted,
+ WKNavigationTypeBackForward,
+ WKNavigationTypeReload,
+ WKNavigationTypeFormResubmitted,
+ WKNavigationTypeOther
+};
+
+typedef NS_ENUM(NSUInteger, WKPolicyDecision) {
+ WKPolicyDecisionCancel,
+ WKPolicyDecisionAllow,
+ WKPolicyDecisionBecomeDownload
+};
+
+typedef void (^WKPolicyDecisionHandler)(WKPolicyDecision);
+
+@protocol WKBrowsingContextPolicyDelegate <NSObject>
+@optional
+
+- (void)browsingContextController:(WKBrowsingContextController *)sender decidePolicyForNavigationAction:(NSDictionary *)actionInformation decisionHandler:(WKPolicyDecisionHandler)decisionHandler;
+- (void)browsingContextController:(WKBrowsingContextController *)sender decidePolicyForNewWindowAction:(NSDictionary *)actionInformation decisionHandler:(WKPolicyDecisionHandler)decisionHandler;
+- (void)browsingContextController:(WKBrowsingContextController *)sender decidePolicyForResponseAction:(NSDictionary *)actionInformation decisionHandler:(WKPolicyDecisionHandler)decisionHandler;
+
+@end
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKConnectionhfromrev159873trunkSourceWebKit2UIProcessAPImacWKConnectionh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKConnection.h (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKConnection.h) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKConnection.h         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKConnection.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,53 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <WebKit2/WKFoundation.h>
+
+#if WK_API_ENABLED
+
+#import <Foundation/Foundation.h>
+
+@class WKConnection;
+@class WKRemoteObjectRegistry;
+
+@protocol WKConnectionDelegate <NSObject>
+
+- (void)connection:(WKConnection *)connection didReceiveMessageWithName:(NSString *)messageName body:(id)messageBody;
+- (void)connectionDidClose:(WKConnection *)connection;
+
+@end
+
+WK_API_CLASS
+@interface WKConnection : NSObject
+
+- (void)sendMessageWithName:(NSString *)messageName body:(id)messageBody;
+
+@property (assign) id <WKConnectionDelegate> delegate;
+
+@property (nonatomic, readonly) WKRemoteObjectRegistry *remoteObjectRegistry;
+
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKConnectionmmfromrev159873trunkSourceWebKit2UIProcessAPImacWKConnectionmm"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKConnection.mm (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKConnection.mm) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKConnection.mm         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKConnection.mm        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,122 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "WKConnectionInternal.h"
+
+#if WK_API_ENABLED
+
+#import "ObjCObjectGraph.h"
+#import "WKConnectionRef.h"
+#import "WKData.h"
+#import "WKRetainPtr.h"
+#import "WKStringCF.h"
+#import "WKRemoteObjectRegistryInternal.h"
+#import <wtf/RetainPtr.h>
+
+using namespace WebKit;
+
+@implementation WKConnection {
+ // Underlying connection object.
+ WKRetainPtr<WKConnectionRef> _connectionRef;
+
+ RetainPtr<WKRemoteObjectRegistry> _remoteObjectRegistry;
+}
+
+- (void)dealloc
+{
+ WKConnectionSetConnectionClient(_connectionRef.get(), 0);
+
+ [super dealloc];
+}
+
+- (void)sendMessageWithName:(NSString *)messageName body:(id)messageBody
+{
+ WKRetainPtr<WKStringRef> wkMessageName = adoptWK(WKStringCreateWithCFString((CFStringRef)messageName));
+ RefPtr<ObjCObjectGraph> wkMessageBody = ObjCObjectGraph::create(messageBody);
+
+ WKConnectionPostMessage(_connectionRef.get(), wkMessageName.get(), (WKTypeRef)wkMessageBody.get());
+}
+
+- (WKRemoteObjectRegistry *)remoteObjectRegistry
+{
+ if (!_remoteObjectRegistry)
+ _remoteObjectRegistry = adoptNS([[WKRemoteObjectRegistry alloc] _initWithConnectionRef:_connectionRef.get()]);
+
+ return _remoteObjectRegistry.get();
+}
+
+static void didReceiveMessage(WKConnectionRef, WKStringRef messageName, WKTypeRef messageBody, const void* clientInfo)
+{
+ WKConnection *connection = (WKConnection *)clientInfo;
+
+ if ([connection->_remoteObjectRegistry _handleMessageWithName:messageName body:messageBody])
+ return;
+
+ if ([connection.delegate respondsToSelector:@selector(connection:didReceiveMessageWithName:body:)]) {
+ RetainPtr<CFStringRef> nsMessageName = adoptCF(WKStringCopyCFString(kCFAllocatorDefault, messageName));
+ RetainPtr<id> nsMessageBody = ((ObjCObjectGraph*)messageBody)->rootObject();
+
+ [connection.delegate connection:connection didReceiveMessageWithName:(NSString *)nsMessageName.get() body:nsMessageBody.get()];
+ }
+}
+
+static void didClose(WKConnectionRef, const void* clientInfo)
+{
+ WKConnection *connection = (WKConnection *)clientInfo;
+ if ([connection.delegate respondsToSelector:@selector(connectionDidClose:)]) {
+ [connection.delegate connectionDidClose:connection];
+ }
+}
+
+static void setUpClient(WKConnection *connection, WKConnectionRef connectionRef)
+{
+ WKConnectionClient client;
+ memset(&client, 0, sizeof(client));
+
+ client.version = WKConnectionClientCurrentVersion;
+ client.clientInfo = connection;
+ client.didReceiveMessage = didReceiveMessage;
+ client.didClose = didClose;
+
+ WKConnectionSetConnectionClient(connectionRef, &client);
+}
+
+- (id)_initWithConnectionRef:(WKConnectionRef)connectionRef
+{
+ self = [super init];
+ if (!self)
+ return nil;
+
+ _connectionRef = connectionRef;
+
+ setUpClient(self, _connectionRef.get());
+
+ return self;
+}
+
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKConnectionInternalhfromrev159873trunkSourceWebKit2UIProcessAPImacWKConnectionInternalh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKConnectionInternal.h (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKConnectionInternal.h) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKConnectionInternal.h         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKConnectionInternal.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,38 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "WKConnection.h"
+
+#if WK_API_ENABLED
+
+#import <WebKit2/WKBase.h>
+
+@interface WKConnection ()
+
+- (id)_initWithConnectionRef:(WKConnectionRef)connectionRef;
+
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKProcessGrouphfromrev159873trunkSourceWebKit2UIProcessAPImacWKProcessGrouph"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroup.h (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroup.h) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroup.h         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroup.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,58 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <WebKit2/WKFoundation.h>
+
+#if WK_API_ENABLED
+
+#import <Foundation/Foundation.h>
+#import <WebKit2/WKConnection.h>
+
+@class WKProcessGroup;
+
+@protocol WKProcessGroupDelegate <NSObject>
+@optional
+
+- (id)processGroupWillCreateConnectionToWebProcessPlugIn:(WKProcessGroup *)processGroup;
+
+@required
+
+- (void)processGroup:(WKProcessGroup *)processGroup didCreateConnectionToWebProcessPlugIn:(WKConnection *)connection;
+
+@end
+
+WK_API_CLASS
+@interface WKProcessGroup : NSObject
+
+- (id)initWithInjectedBundleURL:(NSURL *)bundleURL;
+
+
+#pragma mark Delegates
+
+@property (assign) id <WKProcessGroupDelegate> delegate;
+
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKProcessGroupmmfromrev159873trunkSourceWebKit2UIProcessAPImacWKProcessGroupmm"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroup.mm (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroup.mm) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroup.mm         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroup.mm        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,221 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "WKProcessGroupInternal.h"
+
+#if WK_API_ENABLED
+
+#import "APINavigationData.h"
+#import "ObjCObjectGraph.h"
+#import "WKAPICast.h"
+#import "WKBrowsingContextControllerInternal.h"
+#import "WKBrowsingContextHistoryDelegate.h"
+#import "WKConnectionInternal.h"
+#import "WKContext.h"
+#import "WKNSString.h"
+#import "WKNSURL.h"
+#import "WKNavigationDataInternal.h"
+#import "WKRetainPtr.h"
+#import "WKStringCF.h"
+#import "WebFrameProxy.h"
+#import <wtf/RetainPtr.h>
+
+#if PLATFORM(IOS)
+#import "WKAPICast.h"
+#import "WKGeolocationProviderIOS.h"
+#import <WebCore/WebCoreThreadSystemInterface.h>
+#endif
+
+using namespace WebKit;
+
+@implementation WKProcessGroup {
+ std::aligned_storage<sizeof(WebContext), std::alignment_of<WebContext>::value>::type _context;
+
+#if PLATFORM(IOS)
+ RetainPtr<WKGeolocationProviderIOS> _geolocationProvider;
+#endif // PLATFORM(IOS)
+}
+
+static void didCreateConnection(WKContextRef, WKConnectionRef connectionRef, const void* clientInfo)
+{
+ WKProcessGroup *processGroup = (WKProcessGroup *)clientInfo;
+ if ([processGroup.delegate respondsToSelector:@selector(processGroup:didCreateConnectionToWebProcessPlugIn:)]) {
+ RetainPtr<WKConnection> connection = adoptNS([[WKConnection alloc] _initWithConnectionRef:connectionRef]);
+ [processGroup.delegate processGroup:processGroup didCreateConnectionToWebProcessPlugIn:connection.get()];
+ }
+}
+
+static void setUpConnectionClient(WKProcessGroup *processGroup, WKContextRef contextRef)
+{
+ WKContextConnectionClient connectionClient;
+ memset(&connectionClient, 0, sizeof(connectionClient));
+
+ connectionClient.version = kWKContextConnectionClientCurrentVersion;
+ connectionClient.clientInfo = processGroup;
+ connectionClient.didCreateConnection = didCreateConnection;
+
+ WKContextSetConnectionClient(contextRef, &connectionClient);
+}
+
+static WKTypeRef getInjectedBundleInitializationUserData(WKContextRef, const void* clientInfo)
+{
+ WKProcessGroup *processGroup = (WKProcessGroup *)clientInfo;
+ if ([processGroup.delegate respondsToSelector:@selector(processGroupWillCreateConnectionToWebProcessPlugIn:)]) {
+ RetainPtr<id> initializationUserData = [processGroup.delegate processGroupWillCreateConnectionToWebProcessPlugIn:processGroup];
+ RefPtr<WebKit::ObjCObjectGraph> wkMessageBody = WebKit::ObjCObjectGraph::create(initializationUserData.get());
+ return (WKTypeRef)wkMessageBody.release().leakRef();
+ }
+
+ return 0;
+}
+
+static void setUpInectedBundleClient(WKProcessGroup *processGroup, WKContextRef contextRef)
+{
+ WKContextInjectedBundleClient injectedBundleClient;
+ memset(&injectedBundleClient, 0, sizeof(injectedBundleClient));
+
+ injectedBundleClient.version = kWKContextInjectedBundleClientCurrentVersion;
+ injectedBundleClient.clientInfo = processGroup;
+ injectedBundleClient.getInjectedBundleInitializationUserData = getInjectedBundleInitializationUserData;
+
+ WKContextSetInjectedBundleClient(contextRef, &injectedBundleClient);
+}
+
+static void didNavigateWithNavigationData(WKContextRef, WKPageRef pageRef, WKNavigationDataRef navigationDataRef, WKFrameRef frameRef, const void*)
+{
+ if (!toImpl(frameRef)->isMainFrame())
+ return;
+
+ WKBrowsingContextController *controller = [WKBrowsingContextController _browsingContextControllerForPageRef:pageRef];
+ if ([controller.historyDelegate respondsToSelector:@selector(browsingContextController:didNavigateWithNavigationData:)])
+ [controller.historyDelegate browsingContextController:controller didNavigateWithNavigationData:wrapper(*toImpl(navigationDataRef))];
+}
+
+static void didPerformClientRedirect(WKContextRef, WKPageRef pageRef, WKURLRef sourceURLRef, WKURLRef destinationURLRef, WKFrameRef frameRef, const void*)
+{
+ if (!toImpl(frameRef)->isMainFrame())
+ return;
+
+ WKBrowsingContextController *controller = [WKBrowsingContextController _browsingContextControllerForPageRef:pageRef];
+ if ([controller.historyDelegate respondsToSelector:@selector(browsingContextController:didPerformClientRedirectFromURL:toURL:)])
+ [controller.historyDelegate browsingContextController:controller didPerformClientRedirectFromURL:wrapper(*toImpl(sourceURLRef)) toURL:wrapper(*toImpl(destinationURLRef))];
+}
+
+static void didPerformServerRedirect(WKContextRef, WKPageRef pageRef, WKURLRef sourceURLRef, WKURLRef destinationURLRef, WKFrameRef frameRef, const void*)
+{
+ if (!toImpl(frameRef)->isMainFrame())
+ return;
+
+ WKBrowsingContextController *controller = [WKBrowsingContextController _browsingContextControllerForPageRef:pageRef];
+ if ([controller.historyDelegate respondsToSelector:@selector(browsingContextController:didPerformServerRedirectFromURL:toURL:)])
+ [controller.historyDelegate browsingContextController:controller didPerformServerRedirectFromURL:wrapper(*toImpl(sourceURLRef)) toURL:wrapper(*toImpl(destinationURLRef))];
+}
+
+static void didUpdateHistoryTitle(WKContextRef, WKPageRef pageRef, WKStringRef titleRef, WKURLRef urlRef, WKFrameRef frameRef, const void*)
+{
+ if (!toImpl(frameRef)->isMainFrame())
+ return;
+
+ WKBrowsingContextController *controller = [WKBrowsingContextController _browsingContextControllerForPageRef:pageRef];
+ if ([controller.historyDelegate respondsToSelector:@selector(browsingContextController:didUpdateHistoryTitle:forURL:)])
+ [controller.historyDelegate browsingContextController:controller didUpdateHistoryTitle:wrapper(*toImpl(titleRef)) forURL:wrapper(*toImpl(urlRef))];
+}
+
+static void setUpHistoryClient(WKProcessGroup *processGroup, WKContextRef contextRef)
+{
+ WKContextHistoryClient historyClient;
+ memset(&historyClient, 0, sizeof(historyClient));
+
+ historyClient.version = kWKContextHistoryClientCurrentVersion;
+ historyClient.clientInfo = processGroup;
+ historyClient.didNavigateWithNavigationData = didNavigateWithNavigationData;
+ historyClient.didPerformClientRedirect = didPerformClientRedirect;
+ historyClient.didPerformServerRedirect = didPerformServerRedirect;
+ historyClient.didUpdateHistoryTitle = didUpdateHistoryTitle;
+
+ WKContextSetHistoryClient(contextRef, &historyClient);
+}
+
+- (id)init
+{
+ return [self initWithInjectedBundleURL:nil];
+}
+
+- (id)initWithInjectedBundleURL:(NSURL *)bundleURL
+{
+ self = [super init];
+ if (!self)
+ return nil;
+
+#if PLATFORM(IOS)
+ // FIXME: Remove once <rdar://problem/15256572> is fixed.
+ InitWebCoreThreadSystemInterface();
+#endif
+
+ API::Object::constructInWrapper<WebContext>(self, bundleURL ? String([bundleURL path]) : String());
+
+ setUpConnectionClient(self, toAPI(reinterpret_cast<WebContext*>(&_context)));
+ setUpInectedBundleClient(self, toAPI(reinterpret_cast<WebContext*>(&_context)));
+ setUpHistoryClient(self, toAPI(reinterpret_cast<WebContext*>(&_context)));
+
+ return self;
+}
+
+- (void)dealloc
+{
+ reinterpret_cast<WebContext*>(&_context)->~WebContext();
+
+ [super dealloc];
+}
+
+#pragma mark WKObject protocol implementation
+
+- (API::Object&)_apiObject
+{
+ return *reinterpret_cast<API::Object*>(&_context);
+}
+
+@end
+
+@implementation WKProcessGroup (Private)
+
+- (WKContextRef)_contextRef
+{
+ return toAPI(reinterpret_cast<WebContext*>(&_context));
+}
+
+#if PLATFORM(IOS)
+- (WKGeolocationProviderIOS *)_geolocationProvider
+{
+ if (!_geolocationProvider)
+ _geolocationProvider = adoptNS([[WKGeolocationProviderIOS alloc] initWithContext:reinterpret_cast<WebContext*>(&_context)]);
+ return _geolocationProvider.get();
+}
+#endif // PLATFORM(IOS)
+
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKProcessGroupInternalhfromrev159873trunkSourceWebKit2UIProcessAPImacWKProcessGroupInternalh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroupInternal.h (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroupInternal.h         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroupInternal.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,46 @@
</span><ins>+/*
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "WKProcessGroupPrivate.h"
+
+#if WK_API_ENABLED
+
+#import "WKObject.h"
+#import "WebContext.h"
+
+namespace WebKit {
+
+inline WKProcessGroup *wrapper(WebContext& context)
+{
+ ASSERT([context.wrapper() isKindOfClass:[WKProcessGroup class]]);
+ return (WKProcessGroup *)context.wrapper();
+}
+
+}
+
+@interface WKProcessGroup () <WKObject>
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKProcessGroupPrivatehfromrev159873trunkSourceWebKit2UIProcessAPImacWKProcessGroupPrivateh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroupPrivate.h (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroupPrivate.h) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroupPrivate.h         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKProcessGroupPrivate.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,45 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <WebKit2/WKProcessGroup.h>
+
+#if WK_API_ENABLED
+
+#import <WebKit2/WKBase.h>
+
+#if TARGET_OS_IPHONE
+@class WKGeolocationProviderIOS;
+#endif
+
+@interface WKProcessGroup (Private)
+
+@property(readonly) WKContextRef _contextRef;
+#if TARGET_OS_IPHONE
+@property(readonly) WKGeolocationProviderIOS *_geolocationProvider;
+#endif
+
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKTypeRefWrapperhfromrev159873trunkSourceWebKit2UIProcessAPImacWKTypeRefWrapperh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKTypeRefWrapper.h (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.h) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKTypeRefWrapper.h         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKTypeRefWrapper.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,42 @@
</span><ins>+/*
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <WebKit2/WKFoundation.h>
+
+#if WK_API_ENABLED
+
+#import <Foundation/Foundation.h>
+#import <WebKit2/WKBase.h>
+
+WK_API_CLASS
+@interface WKTypeRefWrapper : NSObject
+
+- (id)initWithObject:(WKTypeRef)object;
+
+@property(readonly) WKTypeRef object;
+
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKTypeRefWrappermmfromrev159873trunkSourceWebKit2UIProcessAPImacWKTypeRefWrappermm"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKTypeRefWrapper.mm (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKTypeRefWrapper.mm         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKTypeRefWrapper.mm        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,59 @@
</span><ins>+/*
+ * Copyright (C) 2013 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import "config.h"
+#import "WKTypeRefWrapper.h"
+
+#if WK_API_ENABLED
+
+#import "WKRetainPtr.h"
+
+@interface WKTypeRefWrapper () {
+ // Underlying WKTypeRef.
+ WKRetainPtr<WKTypeRef> _object;
+}
+@end
+
+@implementation WKTypeRefWrapper
+
+- (id)initWithObject:(WKTypeRef)object
+{
+ self = [super init];
+ if (!self)
+ return nil;
+
+ _object = object;
+
+ return self;
+}
+
+- (WKTypeRef)object
+{
+ return _object.get();
+}
+
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKViewhfromrev159873trunkSourceWebKit2UIProcessAPImacWKViewh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKView.h (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKView.h) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKView.h         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKView.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,69 @@
</span><ins>+/*
+ * Copyright (C) 2010 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <WebKit2/WKFoundation.h>
+
+#if TARGET_OS_IPHONE
+#import <UIKit/UIKit.h>
+#else
+#import <Cocoa/Cocoa.h>
+#endif
+#import <WebKit2/WKDeclarationSpecifiers.h>
+
+@class WKBrowsingContextController;
+@class WKBrowsingContextGroup;
+@class WKProcessGroup;
+@class WKViewData;
+
+#if TARGET_OS_IPHONE
+WK_EXPORT
+@interface WKView : UIView {
+#else
+WK_EXPORT
+@interface WKView : NSView <NSTextInputClient> {
+#endif
+@private
+ WKViewData *_data;
+ unsigned _unused;
+}
+
+#if WK_API_ENABLED
+
+#if TARGET_OS_IPHONE
+- (id)initWithFrame:(CGRect)frame processGroup:(WKProcessGroup *)processGroup browsingContextGroup:(WKBrowsingContextGroup *)browsingContextGroup;
+- (id)initWithFrame:(CGRect)frame processGroup:(WKProcessGroup *)processGroup browsingContextGroup:(WKBrowsingContextGroup *)browsingContextGroup relatedToView:(WKView *)relatedView;
+#else
+- (id)initWithFrame:(NSRect)frame processGroup:(WKProcessGroup *)processGroup browsingContextGroup:(WKBrowsingContextGroup *)browsingContextGroup;
+- (id)initWithFrame:(NSRect)frame processGroup:(WKProcessGroup *)processGroup browsingContextGroup:(WKBrowsingContextGroup *)browsingContextGroup relatedToView:(WKView *)relatedView;
+#endif
+
+@property(readonly) WKBrowsingContextController *browsingContextController;
+
+#endif // WK_API_ENABLED
+
+@property BOOL drawsBackground;
+@property BOOL drawsTransparentBackground;
+
+@end
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWKViewPrivatehfromrev159873trunkSourceWebKit2UIProcessAPImacWKViewPrivateh"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKViewPrivate.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,99 @@
</span><ins>+/*
+ * Copyright (C) 2011 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <WebKit2/WKBase.h>
+#import <WebKit2/WKView.h>
+
+#if !TARGET_OS_IPHONE
+
+typedef enum {
+ WKContentAnchorTopLeft,
+ WKContentAnchorTopRight,
+ WKContentAnchorBottomLeft,
+ WKContentAnchorBottomRight,
+} WKContentAnchor;
+
+#endif
+
+@interface WKView (Private)
+
+/* C SPI support. */
+
+@property (readonly) WKPageRef pageRef;
+
+#if TARGET_OS_IPHONE
+- (id)initWithFrame:(CGRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef;
+- (id)initWithFrame:(CGRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef relatedToPage:(WKPageRef)relatedPage;
+#else
+- (id)initWithFrame:(NSRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef;
+- (id)initWithFrame:(NSRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef relatedToPage:(WKPageRef)relatedPage;
+#endif
+
+#if !TARGET_OS_IPHONE
+
+@property WKContentAnchor contentAnchor;
+
+- (NSPrintOperation *)printOperationWithPrintInfo:(NSPrintInfo *)printInfo forFrame:(WKFrameRef)frameRef;
+- (BOOL)canChangeFrameLayout:(WKFrameRef)frameRef;
+
+- (void)setFrame:(NSRect)rect andScrollBy:(NSSize)offset;
+
+// Stops updating the size of the page as the WKView frame size updates.
+// This should always be followed by enableFrameSizeUpdates. Calls can be nested.
+- (void)disableFrameSizeUpdates;
+// Immediately updates the size of the page to match WKView's frame size
+// and allows subsequent updates as the frame size is set. Calls can be nested.
+- (void)enableFrameSizeUpdates;
+- (BOOL)frameSizeUpdatesDisabled;
+
+- (void)performDictionaryLookupAtCurrentMouseLocation;
++ (void)hideWordDefinitionWindow;
+
+@property (readwrite) CGFloat minimumLayoutWidth;
+@property (readwrite) CGFloat minimumWidthForAutoLayout;
+@property (readwrite) NSSize minimumSizeForAutoLayout;
+@property (readwrite) BOOL shouldClipToVisibleRect;
+@property (readwrite) BOOL shouldExpandToViewHeightForAutoLayout;
+@property (readonly, getter=isUsingUISideCompositing) BOOL usingUISideCompositing;
+
+@property(copy, nonatomic) NSColor *underlayColor;
+
+- (NSView*)fullScreenPlaceholderView;
+- (NSWindow*)createFullScreenWindow;
+
+- (void)beginDeferringViewInWindowChanges;
+- (void)endDeferringViewInWindowChanges;
+- (void)endDeferringViewInWindowChangesSync;
+- (BOOL)isDeferringViewInWindowChanges;
+
+- (BOOL)windowOcclusionDetectionEnabled;
+- (void)setWindowOcclusionDetectionEnabled:(BOOL)flag;
+
+- (void)forceAsyncDrawingAreaSizeUpdate:(NSSize)size;
+- (void)waitForAsyncDrawingAreaSizeUpdate;
+
+#endif
+
+@end
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPICocoaWebKit2hfromrev159873trunkSourceWebKit2UIProcessAPImacWebKit2h"></a>
<div class="copfile"><h4>Copied: trunk/Source/WebKit2/UIProcess/API/Cocoa/WebKit2.h (from rev 159873, trunk/Source/WebKit2/UIProcess/API/mac/WebKit2.h) (0 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WebKit2.h         (rev 0)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WebKit2.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -0,0 +1,33 @@
</span><ins>+/*
+ * Copyright (C) 2012 Apple Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#import <WebKit2/WKBrowsingContextController.h>
+#import <WebKit2/WKBrowsingContextGroup.h>
+#import <WebKit2/WKBrowsingContextLoadDelegate.h>
+#import <WebKit2/WKBrowsingContextPolicyDelegate.h>
+#import <WebKit2/WKConnection.h>
+#import <WebKit2/WKFoundation.h>
+#import <WebKit2/WKProcessGroup.h>
+#import <WebKit2/WKView.h>
</ins></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKBrowsingContextControllerh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.h (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.h        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,136 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-#import <WebKit2/WKBrowsingContextGroup.h>
-#import <WebKit2/WKFoundation.h>
-#import <WebKit2/WKProcessGroup.h>
-
-#if WK_API_ENABLED
-
-@class WKBackForwardList;
-@class WKBackForwardListItem;
-@protocol WKBrowsingContextHistoryDelegate;
-@protocol WKBrowsingContextLoadDelegate;
-@protocol WKBrowsingContextPolicyDelegate;
-
-WK_API_CLASS
-@interface WKBrowsingContextController : NSObject
-
-@property (readonly) WKProcessGroup *processGroup;
-@property (readonly) WKBrowsingContextGroup *browsingContextGroup;
-
-#pragma mark Delegates
-
-@property (assign) id <WKBrowsingContextLoadDelegate> loadDelegate;
-@property (assign) id <WKBrowsingContextPolicyDelegate> policyDelegate;
-@property (assign) id <WKBrowsingContextHistoryDelegate> historyDelegate;
-
-#pragma mark Loading
-
-+ (void)registerSchemeForCustomProtocol:(NSString *)scheme;
-+ (void)unregisterSchemeForCustomProtocol:(NSString *)scheme;
-
-/* Load a request. This is only valid for requests of non-file: URLs. Passing a
- file: URL will throw an exception. */
-- (void)loadRequest:(NSURLRequest *)request;
-- (void)loadRequest:(NSURLRequest *)request userData:(id)userData;
-
-/* Load a file: URL. Opens the sandbox only for files within allowedDirectory.
- - Passing a non-file: URL to either parameter will yield an exception.
- - Passing nil as the allowedDirectory will open the entire file-system for
- reading.
-*/
-- (void)loadFileURL:(NSURL *)URL restrictToFilesWithin:(NSURL *)allowedDirectory;
-- (void)loadFileURL:(NSURL *)URL restrictToFilesWithin:(NSURL *)allowedDirectory userData:(id)userData;
-
-/* Load a page using the passed in string as its contents. */
-- (void)loadHTMLString:(NSString *)HTMLString baseURL:(NSURL *)baseURL;
-- (void)loadHTMLString:(NSString *)HTMLString baseURL:(NSURL *)baseURL userData:(id)userData;
-
-/* Load a page using the passed in data as its contents. */
-- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL;
-- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL userData:(id)userData;
-
-/* Stops the load associated with the active URL. */
-- (void)stopLoading;
-
-/* Reload the currently active URL. */
-- (void)reload;
-
-/* Reload the currently active URL, bypassing caches. */
-- (void)reloadFromOrigin;
-
-
-#pragma mark Back/Forward
-
-/* Go to the next page in the back/forward list. */
-- (void)goForward;
-
-/* Whether there is a next page in the back/forward list. */
-@property(readonly) BOOL canGoForward;
-
-/* Go to the previous page in the back/forward list. */
-- (void)goBack;
-
-/* Whether there is a previous page in the back/forward list. */
-@property(readonly) BOOL canGoBack;
-
-- (void)goToBackForwardListItem:(WKBackForwardListItem *)item;
-
-@property(readonly) WKBackForwardList *backForwardList;
-
-#pragma mark Active Load Introspection
-
-/* URL for the active load. This is the URL that should be shown in user interface. */
-@property(readonly) NSURL *activeURL;
-
-/* URL for a request that has been sent, but no response has been received yet. */
-@property(readonly) NSURL *provisionalURL;
-
-/* URL for a request that has been received, and is now being used. */
-@property(readonly) NSURL *committedURL;
-
-@property(readonly) NSURL *unreachableURL;
-
-@property(readonly) double estimatedProgress;
-
-#pragma mark Active Document Introspection
-
-/* Title of the document associated with the active load. */
-@property(readonly) NSString *title;
-
-
-#pragma mark Zoom
-
-/* Sets the text zoom for the active URL. */
-@property CGFloat textZoom;
-
-/* Sets the text zoom for the active URL. */
-@property CGFloat pageZoom;
-
-@end
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKBrowsingContextControllermm"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextController.mm        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,692 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "config.h"
-#import "WKBrowsingContextControllerInternal.h"
-
-#if WK_API_ENABLED
-
-#import "ObjCObjectGraph.h"
-#import "WKBackForwardListInternal.h"
-#import "WKBackForwardListItemInternal.h"
-#import "WKErrorCF.h"
-#import "WKFrame.h"
-#import "WKFramePolicyListener.h"
-#import "WKNSArray.h"
-#import "WKNSURLExtras.h"
-#import "WKPagePrivate.h"
-#import "WKRetainPtr.h"
-#import "WKStringCF.h"
-#import "WKURLCF.h"
-#import "WKURLRequest.h"
-#import "WKURLRequestNS.h"
-#import "WKURLResponse.h"
-#import "WKURLResponseNS.h"
-#import "WebContext.h"
-#import "WebData.h"
-#import "WebPageProxy.h"
-#import <wtf/ObjcRuntimeExtras.h>
-#import <wtf/RetainPtr.h>
-
-#import "WKBrowsingContextGroupInternal.h"
-#import "WKBrowsingContextHandleInternal.h"
-#import "WKBrowsingContextLoadDelegate.h"
-#import "WKBrowsingContextPolicyDelegate.h"
-#import "WKProcessGroupInternal.h"
-
-using namespace WebKit;
-
-class PageLoadStateObserver : public PageLoadState::Observer {
-public:
- PageLoadStateObserver(WKBrowsingContextController *controller)
- : m_controller(controller)
- {
- }
-
-private:
- virtual void willChangeTitle() OVERRIDE
- {
- [m_controller willChangeValueForKey:@"title"];
- }
-
- virtual void didChangeTitle() OVERRIDE
- {
- [m_controller didChangeValueForKey:@"title"];
- }
-
- WKBrowsingContextController *m_controller;
-};
-
-static inline NSString *autoreleased(WKStringRef string)
-{
- return string ? CFBridgingRelease(WKStringCopyCFString(kCFAllocatorDefault, adoptWK(string).get())) : nil;
-}
-
-static inline NSURL *autoreleased(WKURLRef url)
-{
- return url ? CFBridgingRelease(WKURLCopyCFURL(kCFAllocatorDefault, adoptWK(url).get())) : nil;
-}
-
-NSString * const WKActionIsMainFrameKey = @"WKActionIsMainFrameKey";
-NSString * const WKActionNavigationTypeKey = @"WKActionNavigationTypeKey";
-NSString * const WKActionMouseButtonKey = @"WKActionMouseButtonKey";
-NSString * const WKActionModifierFlagsKey = @"WKActionModifierFlagsKey";
-NSString * const WKActionURLRequestKey = @"WKActionURLRequestKey";
-NSString * const WKActionURLResponseKey = @"WKActionURLResponseKey";
-NSString * const WKActionFrameNameKey = @"WKActionFrameNameKey";
-NSString * const WKActionOriginatingFrameURLKey = @"WKActionOriginatingFrameURLKey";
-NSString * const WKActionCanShowMIMETypeKey = @"WKActionCanShowMIMETypeKey";
-
-@implementation WKBrowsingContextController {
- // Underlying WKPageRef.
- WKRetainPtr<WKPageRef> _pageRef;
-
- std::unique_ptr<PageLoadStateObserver> _pageLoadStateObserver;
-}
-
-- (void)dealloc
-{
- toImpl(_pageRef.get())->pageLoadState().removeObserver(*_pageLoadStateObserver);
- WKPageSetPageLoaderClient(_pageRef.get(), nullptr);
- WKPageSetPagePolicyClient(_pageRef.get(), nullptr);
-
- [super dealloc];
-}
-
-- (WKProcessGroup *)processGroup
-{
- WebContext* context = toImpl(_pageRef.get())->process()->context();
- if (!context)
- return nil;
- return wrapper(*context);
-}
-
-- (WKBrowsingContextGroup *)browsingContextGroup
-{
- WebPageGroup* pageGroup = toImpl(_pageRef.get())->pageGroup();
- if (!pageGroup)
- return nil;
- return wrapper(*pageGroup);
-}
-
-- (WKPageRef)_pageRef
-{
- return _pageRef.get();
-}
-
-#pragma mark Loading
-
-+ (void)registerSchemeForCustomProtocol:(NSString *)scheme
-{
- if (!scheme)
- return;
-
- NSString *lowercaseScheme = [scheme lowercaseString];
- [[WKBrowsingContextController customSchemes] addObject:lowercaseScheme];
- [[NSNotificationCenter defaultCenter] postNotificationName:SchemeForCustomProtocolRegisteredNotificationName object:lowercaseScheme];
-}
-
-+ (void)unregisterSchemeForCustomProtocol:(NSString *)scheme
-{
- if (!scheme)
- return;
-
- NSString *lowercaseScheme = [scheme lowercaseString];
- [[WKBrowsingContextController customSchemes] removeObject:lowercaseScheme];
- [[NSNotificationCenter defaultCenter] postNotificationName:SchemeForCustomProtocolUnregisteredNotificationName object:lowercaseScheme];
-}
-
-- (void)loadRequest:(NSURLRequest *)request
-{
- [self loadRequest:request userData:nil];
-}
-
-- (void)loadRequest:(NSURLRequest *)request userData:(id)userData
-{
- WKRetainPtr<WKURLRequestRef> wkRequest = adoptWK(WKURLRequestCreateWithNSURLRequest(request));
-
- RefPtr<ObjCObjectGraph> wkUserData;
- if (userData)
- wkUserData = ObjCObjectGraph::create(userData);
-
- WKPageLoadURLRequestWithUserData(_pageRef.get(), wkRequest.get(), (WKTypeRef)wkUserData.get());
-}
-
-- (void)loadFileURL:(NSURL *)URL restrictToFilesWithin:(NSURL *)allowedDirectory
-{
- [self loadFileURL:URL restrictToFilesWithin:allowedDirectory userData:nil];
-}
-
-- (void)loadFileURL:(NSURL *)URL restrictToFilesWithin:(NSURL *)allowedDirectory userData:(id)userData
-{
- if (![URL isFileURL] || (allowedDirectory && ![allowedDirectory isFileURL]))
- [NSException raise:NSInvalidArgumentException format:@"Attempted to load a non-file URL"];
-
- WKRetainPtr<WKURLRef> wkURL = adoptWK(WKURLCreateWithCFURL((CFURLRef)URL));
- WKRetainPtr<WKURLRef> wkAllowedDirectory = adoptWK(WKURLCreateWithCFURL((CFURLRef)allowedDirectory));
-
- RefPtr<ObjCObjectGraph> wkUserData;
- if (userData)
- wkUserData = ObjCObjectGraph::create(userData);
-
- WKPageLoadFileWithUserData(_pageRef.get(), wkURL.get(), wkAllowedDirectory.get(), (WKTypeRef)wkUserData.get());
-}
-
-- (void)loadHTMLString:(NSString *)HTMLString baseURL:(NSURL *)baseURL
-{
- [self loadHTMLString:HTMLString baseURL:baseURL userData:nil];
-}
-
-- (void)loadHTMLString:(NSString *)HTMLString baseURL:(NSURL *)baseURL userData:(id)userData
-{
- WKRetainPtr<WKStringRef> wkHTMLString;
- if (HTMLString)
- wkHTMLString = adoptWK(WKStringCreateWithCFString((CFStringRef)HTMLString));
-
- WKRetainPtr<WKURLRef> wkBaseURL;
- if (baseURL)
- wkBaseURL = adoptWK(WKURLCreateWithCFURL((CFURLRef)baseURL));
-
- RefPtr<ObjCObjectGraph> wkUserData;
- if (userData)
- wkUserData = ObjCObjectGraph::create(userData);
-
- WKPageLoadHTMLStringWithUserData(_pageRef.get(), wkHTMLString.get(), wkBaseURL.get(), (WKTypeRef)wkUserData.get());
-}
-
-- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL
-{
- [self loadData:data MIMEType:MIMEType textEncodingName:encodingName baseURL:baseURL userData:nil];
-}
-
-static void releaseNSData(unsigned char*, const void* data)
-{
- [(NSData *)data release];
-}
-
-- (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString *)encodingName baseURL:(NSURL *)baseURL userData:(id)userData
-{
- RefPtr<WebData> wkData;
- if (data) {
- [data retain];
- wkData = WebData::createWithoutCopying((const unsigned char*)[data bytes], [data length], releaseNSData, data);
- }
-
- WKRetainPtr<WKStringRef> wkMIMEType;
- if (MIMEType)
- wkMIMEType = adoptWK(WKStringCreateWithCFString((CFStringRef)MIMEType));
-
- WKRetainPtr<WKStringRef> wkEncodingName;
- if (encodingName)
- wkEncodingName = adoptWK(WKStringCreateWithCFString((CFStringRef)encodingName));
-
- WKRetainPtr<WKURLRef> wkBaseURL;
- if (baseURL)
- wkBaseURL = adoptWK(WKURLCreateWithCFURL((CFURLRef)baseURL));
-
- RefPtr<ObjCObjectGraph> wkUserData;
- if (userData)
- wkUserData = ObjCObjectGraph::create(userData);
-
- WKPageLoadDataWithUserData(_pageRef.get(), toAPI(wkData.get()), wkMIMEType.get(), wkEncodingName.get(), wkBaseURL.get(), (WKTypeRef)wkUserData.get());
-}
-
-- (void)stopLoading
-{
- WKPageStopLoading(_pageRef.get());
-}
-
-- (void)reload
-{
- WKPageReload(_pageRef.get());
-}
-
-- (void)reloadFromOrigin
-{
- WKPageReloadFromOrigin(_pageRef.get());
-}
-
-#pragma mark Back/Forward
-
-- (void)goForward
-{
- WKPageGoForward(_pageRef.get());
-}
-
-- (BOOL)canGoForward
-{
- return WKPageCanGoForward(_pageRef.get());
-}
-
-- (void)goBack
-{
- WKPageGoBack(_pageRef.get());
-}
-
-- (BOOL)canGoBack
-{
- return WKPageCanGoBack(_pageRef.get());
-}
-
-- (void)goToBackForwardListItem:(WKBackForwardListItem *)item
-{
- toImpl(_pageRef.get())->goToBackForwardItem(&item._item);
-}
-
-- (WKBackForwardList *)backForwardList
-{
- WebBackForwardList* list = toImpl(_pageRef.get())->backForwardList();
- if (!list)
- return nil;
-
- return wrapper(*list);
-}
-
-#pragma mark Active Load Introspection
-
-- (NSURL *)activeURL
-{
- return autoreleased(WKPageCopyActiveURL(_pageRef.get()));
-}
-
-- (NSURL *)provisionalURL
-{
- return autoreleased(WKPageCopyProvisionalURL(_pageRef.get()));
-}
-
-- (NSURL *)committedURL
-{
- return autoreleased(WKPageCopyCommittedURL(_pageRef.get()));
-}
-
-- (NSURL *)unreachableURL
-{
- return [NSURL _web_URLWithWTFString:toImpl(_pageRef.get())->pageLoadState().unreachableURL() relativeToURL:nil];
-}
-
-- (double)estimatedProgress
-{
- return toImpl(_pageRef.get())->estimatedProgress();
-}
-
-#pragma mark Active Document Introspection
-
-- (NSString *)title
-{
- return autoreleased(WKPageCopyTitle(_pageRef.get()));
-}
-
-#pragma mark Zoom
-
-- (CGFloat)textZoom
-{
- return WKPageGetTextZoomFactor(_pageRef.get());
-}
-
-- (void)setTextZoom:(CGFloat)textZoom
-{
- return WKPageSetTextZoomFactor(_pageRef.get(), textZoom);
-}
-
-- (CGFloat)pageZoom
-{
- return WKPageGetPageZoomFactor(_pageRef.get());
-}
-
-- (void)setPageZoom:(CGFloat)pageZoom
-{
- return WKPageSetPageZoomFactor(_pageRef.get(), pageZoom);
-}
-
-static void didStartProvisionalLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)
-{
- if (!WKFrameIsMainFrame(frame))
- return;
-
- WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
- if ([browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidStartProvisionalLoad:)])
- [browsingContext.loadDelegate browsingContextControllerDidStartProvisionalLoad:browsingContext];
-}
-
-static void didReceiveServerRedirectForProvisionalLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)
-{
- if (!WKFrameIsMainFrame(frame))
- return;
-
- WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
- if ([browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidReceiveServerRedirectForProvisionalLoad:)])
- [browsingContext.loadDelegate browsingContextControllerDidReceiveServerRedirectForProvisionalLoad:browsingContext];
-}
-
-static void didFailProvisionalLoadWithErrorForFrame(WKPageRef page, WKFrameRef frame, WKErrorRef error, WKTypeRef userData, const void* clientInfo)
-{
- if (!WKFrameIsMainFrame(frame))
- return;
-
- WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
- if ([browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidFailProvisionalLoad:withError:)]) {
- RetainPtr<CFErrorRef> cfError = adoptCF(WKErrorCopyCFError(kCFAllocatorDefault, error));
- [browsingContext.loadDelegate browsingContextControllerDidFailProvisionalLoad:browsingContext withError:(NSError *)cfError.get()];
- }
-}
-
-static void didCommitLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)
-{
- if (!WKFrameIsMainFrame(frame))
- return;
-
- WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
- if ([browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidCommitLoad:)])
- [browsingContext.loadDelegate browsingContextControllerDidCommitLoad:browsingContext];
-}
-
-static void didFinishLoadForFrame(WKPageRef page, WKFrameRef frame, WKTypeRef userData, const void* clientInfo)
-{
- if (!WKFrameIsMainFrame(frame))
- return;
-
- WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
- if ([browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidFinishLoad:)])
- [browsingContext.loadDelegate browsingContextControllerDidFinishLoad:browsingContext];
-}
-
-static void didFailLoadWithErrorForFrame(WKPageRef page, WKFrameRef frame, WKErrorRef error, WKTypeRef userData, const void* clientInfo)
-{
- if (!WKFrameIsMainFrame(frame))
- return;
-
- WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
- if ([browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidFailLoad:withError:)]) {
- RetainPtr<CFErrorRef> cfError = adoptCF(WKErrorCopyCFError(kCFAllocatorDefault, error));
- [browsingContext.loadDelegate browsingContextControllerDidFailLoad:browsingContext withError:(NSError *)cfError.get()];
- }
-}
-
-static void didStartProgress(WKPageRef page, const void* clientInfo)
-{
- WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
- if ([browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidStartProgress:)])
- [browsingContext.loadDelegate browsingContextControllerDidStartProgress:browsingContext];
-}
-
-static void didChangeProgress(WKPageRef page, const void* clientInfo)
-{
- WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
- if ([browsingContext.loadDelegate respondsToSelector:@selector(browsingContextController:estimatedProgressChangedTo:)])
- [browsingContext.loadDelegate browsingContextController:browsingContext estimatedProgressChangedTo:toImpl(page)->estimatedProgress()];
-}
-
-static void didFinishProgress(WKPageRef page, const void* clientInfo)
-{
- WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
- if ([browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidFinishProgress:)])
- [browsingContext.loadDelegate browsingContextControllerDidFinishProgress:browsingContext];
-}
-
-static void didChangeBackForwardList(WKPageRef page, WKBackForwardListItemRef addedItem, WKArrayRef removedItems, const void *clientInfo)
-{
- WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
- if (![browsingContext.loadDelegate respondsToSelector:@selector(browsingContextControllerDidChangeBackForwardList:addedItem:removedItems:)])
- return;
-
- WKBackForwardListItem *added = addedItem ? wrapper(*toImpl(addedItem)) : nil;
- NSArray *removed = removedItems ? wrapper(*toImpl(removedItems)) : nil;
- [browsingContext.loadDelegate browsingContextControllerDidChangeBackForwardList:browsingContext addedItem:added removedItems:removed];
-}
-
-static void setUpPageLoaderClient(WKBrowsingContextController *browsingContext, WKPageRef pageRef)
-{
- WKPageLoaderClient loaderClient;
- memset(&loaderClient, 0, sizeof(loaderClient));
-
- loaderClient.version = kWKPageLoaderClientCurrentVersion;
- loaderClient.clientInfo = browsingContext;
- loaderClient.didStartProvisionalLoadForFrame = didStartProvisionalLoadForFrame;
- loaderClient.didReceiveServerRedirectForProvisionalLoadForFrame = didReceiveServerRedirectForProvisionalLoadForFrame;
- loaderClient.didFailProvisionalLoadWithErrorForFrame = didFailProvisionalLoadWithErrorForFrame;
- loaderClient.didCommitLoadForFrame = didCommitLoadForFrame;
- loaderClient.didFinishLoadForFrame = didFinishLoadForFrame;
- loaderClient.didFailLoadWithErrorForFrame = didFailLoadWithErrorForFrame;
-
- loaderClient.didStartProgress = didStartProgress;
- loaderClient.didChangeProgress = didChangeProgress;
- loaderClient.didFinishProgress = didFinishProgress;
- loaderClient.didChangeBackForwardList = didChangeBackForwardList;
-
- WKPageSetPageLoaderClient(pageRef, &loaderClient);
-}
-
-static WKPolicyDecisionHandler makePolicyDecisionBlock(WKFramePolicyListenerRef listener)
-{
- WKRetain(listener); // Released in the decision handler below.
-
- return [[^(WKPolicyDecision decision) {
- switch (decision) {
- case WKPolicyDecisionCancel:
- WKFramePolicyListenerIgnore(listener);
- break;
-
- case WKPolicyDecisionAllow:
- WKFramePolicyListenerUse(listener);
- break;
-
- case WKPolicyDecisionBecomeDownload:
- WKFramePolicyListenerDownload(listener);
- break;
- };
-
- WKRelease(listener); // Retained in the context above.
- } copy] autorelease];
-}
-
-static void setUpPagePolicyClient(WKBrowsingContextController *browsingContext, WKPageRef pageRef)
-{
- WKPagePolicyClient policyClient;
- memset(&policyClient, 0, sizeof(policyClient));
-
- policyClient.version = kWKPagePolicyClientCurrentVersion;
- policyClient.clientInfo = browsingContext;
-
- policyClient.decidePolicyForNavigationAction = [](WKPageRef page, WKFrameRef frame, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKFrameRef originatingFrame, WKURLRequestRef request, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo)
- {
- WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
- if ([browsingContext.policyDelegate respondsToSelector:@selector(browsingContextController:decidePolicyForNavigationAction:decisionHandler:)]) {
- NSDictionary *actionDictionary = @{
- WKActionIsMainFrameKey: @(WKFrameIsMainFrame(frame)),
- WKActionNavigationTypeKey: @(navigationType),
- WKActionModifierFlagsKey: @(modifiers),
- WKActionMouseButtonKey: @(mouseButton),
- WKActionURLRequestKey: adoptNS(WKURLRequestCopyNSURLRequest(request)).get()
- };
-
- if (originatingFrame) {
- actionDictionary = [[actionDictionary mutableCopy] autorelease];
- [(NSMutableDictionary *)actionDictionary setObject:[NSURL _web_URLWithWTFString:toImpl(originatingFrame)->url() relativeToURL:nil] forKey:WKActionOriginatingFrameURLKey];
- }
-
- [browsingContext.policyDelegate browsingContextController:browsingContext decidePolicyForNavigationAction:actionDictionary decisionHandler:makePolicyDecisionBlock(listener)];
- } else
- WKFramePolicyListenerUse(listener);
- };
-
- policyClient.decidePolicyForNewWindowAction = [](WKPageRef page, WKFrameRef frame, WKFrameNavigationType navigationType, WKEventModifiers modifiers, WKEventMouseButton mouseButton, WKURLRequestRef request, WKStringRef frameName, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo)
- {
- WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
- if ([browsingContext.policyDelegate respondsToSelector:@selector(browsingContextController:decidePolicyForNewWindowAction:decisionHandler:)]) {
- NSDictionary *actionDictionary = @{
- WKActionIsMainFrameKey: @(WKFrameIsMainFrame(frame)),
- WKActionNavigationTypeKey: @(navigationType),
- WKActionModifierFlagsKey: @(modifiers),
- WKActionMouseButtonKey: @(mouseButton),
- WKActionURLRequestKey: adoptNS(WKURLRequestCopyNSURLRequest(request)).get(),
- WKActionFrameNameKey: toImpl(frameName)->wrapper()
- };
-
- [browsingContext.policyDelegate browsingContextController:browsingContext decidePolicyForNewWindowAction:actionDictionary decisionHandler:makePolicyDecisionBlock(listener)];
- } else
- WKFramePolicyListenerUse(listener);
- };
-
- policyClient.decidePolicyForResponse = [](WKPageRef page, WKFrameRef frame, WKURLResponseRef response, WKURLRequestRef request, bool canShowMIMEType, WKFramePolicyListenerRef listener, WKTypeRef userData, const void* clientInfo)
- {
- WKBrowsingContextController *browsingContext = (WKBrowsingContextController *)clientInfo;
- if ([browsingContext.policyDelegate respondsToSelector:@selector(browsingContextController:decidePolicyForResponseAction:decisionHandler:)]) {
- NSDictionary *actionDictionary = @{
- WKActionIsMainFrameKey: @(WKFrameIsMainFrame(frame)),
- WKActionURLRequestKey: adoptNS(WKURLRequestCopyNSURLRequest(request)).get(),
- WKActionURLResponseKey: adoptNS(WKURLResponseCopyNSURLResponse(response)).get(),
- WKActionCanShowMIMETypeKey: @(canShowMIMEType),
- };
-
- [browsingContext.policyDelegate browsingContextController:browsingContext decidePolicyForResponseAction:actionDictionary decisionHandler:makePolicyDecisionBlock(listener)];
- } else
- WKFramePolicyListenerUse(listener);
- };
-
- WKPageSetPagePolicyClient(pageRef, &policyClient);
-}
-
-/* This should only be called from associate view. */
-
-- (id)_initWithPageRef:(WKPageRef)pageRef
-{
- self = [super init];
- if (!self)
- return nil;
-
- _pageRef = pageRef;
-
- _pageLoadStateObserver = std::make_unique<PageLoadStateObserver>(self);
- toImpl(_pageRef.get())->pageLoadState().addObserver(*_pageLoadStateObserver);
-
- setUpPageLoaderClient(self, pageRef);
- setUpPagePolicyClient(self, pageRef);
-
- return self;
-}
-
-+ (WKBrowsingContextController *)_browsingContextControllerForPageRef:(WKPageRef)pageRef
-{
- return (WKBrowsingContextController *)WebKit::toImpl(pageRef)->loaderClient().client().clientInfo;
-}
-
-+ (NSMutableSet *)customSchemes
-{
- static NSMutableSet *customSchemes = [[NSMutableSet alloc] init];
- return customSchemes;
-}
-
-@end
-
-@implementation WKBrowsingContextController (Private)
-
-- (void)setPaginationMode:(WKBrowsingContextPaginationMode)paginationMode
-{
- WKPaginationMode mode;
- switch (paginationMode) {
- case WKPaginationModeUnpaginated:
- mode = kWKPaginationModeUnpaginated;
- break;
- case WKPaginationModeLeftToRight:
- mode = kWKPaginationModeLeftToRight;
- break;
- case WKPaginationModeRightToLeft:
- mode = kWKPaginationModeRightToLeft;
- break;
- case WKPaginationModeTopToBottom:
- mode = kWKPaginationModeTopToBottom;
- break;
- case WKPaginationModeBottomToTop:
- mode = kWKPaginationModeBottomToTop;
- break;
- default:
- return;
- }
-
- WKPageSetPaginationMode(_pageRef.get(), mode);
-}
-
-- (WKBrowsingContextPaginationMode)paginationMode
-{
- switch (WKPageGetPaginationMode(_pageRef.get())) {
- case kWKPaginationModeUnpaginated:
- return WKPaginationModeUnpaginated;
- case kWKPaginationModeLeftToRight:
- return WKPaginationModeLeftToRight;
- case kWKPaginationModeRightToLeft:
- return WKPaginationModeRightToLeft;
- case kWKPaginationModeTopToBottom:
- return WKPaginationModeTopToBottom;
- case kWKPaginationModeBottomToTop:
- return WKPaginationModeBottomToTop;
- }
-
- ASSERT_NOT_REACHED();
- return WKPaginationModeUnpaginated;
-}
-
-- (void)setPaginationBehavesLikeColumns:(BOOL)behavesLikeColumns
-{
- WKPageSetPaginationBehavesLikeColumns(_pageRef.get(), behavesLikeColumns);
-}
-
-- (BOOL)paginationBehavesLikeColumns
-{
- return WKPageGetPaginationBehavesLikeColumns(_pageRef.get());
-}
-
-- (void)setPageLength:(CGFloat)pageLength
-{
- WKPageSetPageLength(_pageRef.get(), pageLength);
-}
-
-- (CGFloat)pageLength
-{
- return WKPageGetPageLength(_pageRef.get());
-}
-
-- (void)setGapBetweenPages:(CGFloat)gapBetweenPages
-{
- WKPageSetGapBetweenPages(_pageRef.get(), gapBetweenPages);
-}
-
-- (CGFloat)gapBetweenPages
-{
- return WKPageGetGapBetweenPages(_pageRef.get());
-}
-
-- (NSUInteger)pageCount
-{
- return WKPageGetPageCount(_pageRef.get());
-}
-
-- (WKBrowsingContextHandle *)handle
-{
- return [[[WKBrowsingContextHandle alloc] _initWithPageID:toImpl(_pageRef.get())->pageID()] autorelease];
-}
-
-@end
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKBrowsingContextControllerInternalh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerInternal.h (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerInternal.h        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerInternal.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,42 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "WKBrowsingContextControllerPrivate.h"
-
-#if WK_API_ENABLED
-
-@interface WKBrowsingContextController ()
-
-/* This should only be called from associate view. */
-- (id)_initWithPageRef:(WKPageRef)pageRef;
-
-/* Returns a WKBrowsingContextController associated with the WKPageRef. */
-+ (WKBrowsingContextController *)_browsingContextControllerForPageRef:(WKPageRef)pageRef;
-
-+ (NSMutableSet *)customSchemes;
-
-@end
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKBrowsingContextControllerPrivateh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerPrivate.h (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerPrivate.h        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextControllerPrivate.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,62 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <WebKit2/WKBrowsingContextController.h>
-
-#if WK_API_ENABLED
-
-#import <WebKit2/WKBase.h>
-
-typedef NS_ENUM(NSUInteger, WKBrowsingContextPaginationMode) {
- WKPaginationModeUnpaginated,
- WKPaginationModeLeftToRight,
- WKPaginationModeRightToLeft,
- WKPaginationModeTopToBottom,
- WKPaginationModeBottomToTop,
-};
-
-@class WKBrowsingContextHandle;
-
-@interface WKBrowsingContextController (Private)
-
-@property (readonly) WKPageRef _pageRef;
-
-@property WKBrowsingContextPaginationMode paginationMode;
-
-// Whether the column-break-{before,after} properties are respected instead of the
-// page-break-{before,after} properties.
-@property BOOL paginationBehavesLikeColumns;
-
-// Set to 0 to have the page length equal the view length.
-@property CGFloat pageLength;
-@property CGFloat gapBetweenPages;
-
-@property (readonly) NSUInteger pageCount;
-
-@property (nonatomic, readonly) WKBrowsingContextHandle *handle;
-
-@end
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKBrowsingContextGrouph"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.h (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.h        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,61 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <WebKit2/WKFoundation.h>
-
-#if WK_API_ENABLED
-
-#import <Foundation/Foundation.h>
-#import <WebKit2/WKUserScriptInjectionTime.h>
-
-WK_API_CLASS
-@interface WKBrowsingContextGroup : NSObject
-
-- (id)initWithIdentifier:(NSString *)identifier;
-
-/* User Content */
-
-- (void)addUserStyleSheet:(NSString *)source baseURL:(NSURL *)baseURL whitelistedURLPatterns:(NSArray *)whitelist blacklistedURLPatterns:(NSArray *)blacklist mainFrameOnly:(BOOL)mainFrameOnly;
-- (void)removeAllUserStyleSheets;
-
-- (void)addUserScript:(NSString *)source baseURL:(NSURL *)baseURL whitelistedURLPatterns:(NSArray *)whitelist blacklistedURLPatterns:(NSArray *)blacklist injectionTime:(WKUserScriptInjectionTime)injectionTime mainFrameOnly:(BOOL)mainFrameOnly;
-- (void)removeAllUserScripts;
-
-
-/* Settings */
-
-/* Setting to control whether JavaScript referenced by a page is enabled.
- Default: YES
-*/
-@property BOOL allowsJavaScript;
-
-/* Setting to control whether plug-ins are enabled.
- Default: YES
-*/
-@property BOOL allowsPlugIns;
-
-@end
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKBrowsingContextGroupmm"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.mm (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.mm        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroup.mm        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,178 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "config.h"
-#import "WKBrowsingContextGroupInternal.h"
-#import "WKBrowsingContextGroupPrivate.h"
-
-#if WK_API_ENABLED
-
-#import "APIArray.h"
-#import "WKArray.h"
-#import "WKPageGroup.h"
-#import "WKPreferences.h"
-#import "WKRetainPtr.h"
-#import "WKSharedAPICast.h"
-#import "WKStringCF.h"
-#import "WKURL.h"
-#import "WKURLCF.h"
-#import "WebString.h"
-#import <wtf/Vector.h>
-
-using namespace WebKit;
-
-@implementation WKBrowsingContextGroup {
- std::aligned_storage<sizeof(WebPageGroup), std::alignment_of<WebPageGroup>::value>::type _pageGroup;
-}
-
-- (void)dealloc
-{
- reinterpret_cast<WebPageGroup*>(&_pageGroup)->~WebPageGroup();
-
- [super dealloc];
-}
-
-- (id)initWithIdentifier:(NSString *)identifier
-{
- self = [super init];
- if (!self)
- return nil;
-
- API::Object::constructInWrapper<WebPageGroup>(self, identifier);
-
- // Give the WKBrowsingContextGroup a identifier-less preferences, so that they
- // don't get automatically written to the disk. The automatic writing has proven
- // confusing to users of the API.
- WKRetainPtr<WKPreferencesRef> preferences = adoptWK(WKPreferencesCreate());
- WKPageGroupSetPreferences(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup)), preferences.get());
-
- return self;
-}
-
-- (BOOL)allowsJavaScript
-{
- return WKPreferencesGetJavaScriptEnabled(WKPageGroupGetPreferences(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup))));
-}
-
-- (void)setAllowsJavaScript:(BOOL)allowsJavaScript
-{
- WKPreferencesSetJavaScriptEnabled(WKPageGroupGetPreferences(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup))), allowsJavaScript);
-}
-
-- (BOOL)allowsJavaScriptMarkup
-{
- return WKPreferencesGetJavaScriptMarkupEnabled(WKPageGroupGetPreferences(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup))));
-}
-
-- (void)setAllowsJavaScriptMarkup:(BOOL)allowsJavaScriptMarkup
-{
- WKPreferencesSetJavaScriptMarkupEnabled(WKPageGroupGetPreferences(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup))), allowsJavaScriptMarkup);
-}
-
-- (BOOL)allowsPlugIns
-{
- return WKPreferencesGetPluginsEnabled(WKPageGroupGetPreferences(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup))));
-}
-
-- (void)setAllowsPlugIns:(BOOL)allowsPlugIns
-{
- WKPreferencesSetPluginsEnabled(WKPageGroupGetPreferences(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup))), allowsPlugIns);
-}
-
-static WKRetainPtr<WKArrayRef> createWKArray(NSArray *array)
-{
- NSUInteger count = [array count];
-
- if (!count)
- return nullptr;
-
- Vector<RefPtr<API::Object>> strings;
- strings.reserveInitialCapacity(count);
-
- for (id entry in array) {
- if ([entry isKindOfClass:[NSString class]])
- strings.uncheckedAppend(adoptRef(toImpl(WKStringCreateWithCFString((CFStringRef)entry))));
- }
-
- return toAPI(API::Array::create(std::move(strings)).leakRef());
-}
-
--(void)addUserStyleSheet:(NSString *)source baseURL:(NSURL *)baseURL whitelistedURLPatterns:(NSArray *)whitelist blacklistedURLPatterns:(NSArray *)blacklist mainFrameOnly:(BOOL)mainFrameOnly
-{
- if (!source)
- CRASH();
-
- WKRetainPtr<WKStringRef> wkSource = adoptWK(WKStringCreateWithCFString((CFStringRef)source));
- WKRetainPtr<WKURLRef> wkBaseURL = adoptWK(WKURLCreateWithCFURL((CFURLRef)baseURL));
- auto wkWhitelist = createWKArray(whitelist);
- auto wkBlacklist = createWKArray(blacklist);
- WKUserContentInjectedFrames injectedFrames = mainFrameOnly ? kWKInjectInTopFrameOnly : kWKInjectInAllFrames;
-
- WKPageGroupAddUserStyleSheet(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup)), wkSource.get(), wkBaseURL.get(), wkWhitelist.get(), wkBlacklist.get(), injectedFrames);
-}
-
-- (void)removeAllUserStyleSheets
-{
- WKPageGroupRemoveAllUserStyleSheets(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup)));
-}
-
-- (void)addUserScript:(NSString *)source baseURL:(NSURL *)baseURL whitelistedURLPatterns:(NSArray *)whitelist blacklistedURLPatterns:(NSArray *)blacklist injectionTime:(WKUserScriptInjectionTime)injectionTime mainFrameOnly:(BOOL)mainFrameOnly
-{
- if (!source)
- CRASH();
-
- WKRetainPtr<WKStringRef> wkSource = adoptWK(WKStringCreateWithCFString((CFStringRef)source));
- WKRetainPtr<WKURLRef> wkBaseURL = adoptWK(WKURLCreateWithCFURL((CFURLRef)baseURL));
- auto wkWhitelist = createWKArray(whitelist);
- auto wkBlacklist = createWKArray(blacklist);
- WKUserContentInjectedFrames injectedFrames = mainFrameOnly ? kWKInjectInTopFrameOnly : kWKInjectInAllFrames;
-
- WKPageGroupAddUserScript(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup)), wkSource.get(), wkBaseURL.get(), wkWhitelist.get(), wkBlacklist.get(), injectedFrames, injectionTime);
-}
-
-- (void)removeAllUserScripts
-{
- WKPageGroupRemoveAllUserScripts(toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup)));
-}
-
-#pragma mark WKObject protocol implementation
-
-- (API::Object&)_apiObject
-{
- return *reinterpret_cast<API::Object*>(&_pageGroup);
-}
-
-@end
-
-@implementation WKBrowsingContextGroup (Private)
-
-- (WKPageGroupRef)_pageGroupRef
-{
- return toAPI(reinterpret_cast<WebPageGroup*>(&_pageGroup));
-}
-
-@end
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKBrowsingContextGroupInternalh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupInternal.h (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupInternal.h        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupInternal.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,46 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "WKBrowsingContextGroup.h"
-
-#if WK_API_ENABLED
-
-#import "WKObject.h"
-#import "WebPageGroup.h"
-
-namespace WebKit {
-
-inline WKBrowsingContextGroup *wrapper(WebPageGroup& pageGroup)
-{
- ASSERT([pageGroup.wrapper() isKindOfClass:[WKBrowsingContextGroup class]]);
- return (WKBrowsingContextGroup *)pageGroup.wrapper();
-}
-
-}
-
-@interface WKBrowsingContextGroup () <WKObject>
-@end
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKBrowsingContextGroupPrivateh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupPrivate.h (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupPrivate.h        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextGroupPrivate.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,38 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <WebKit2/WKBrowsingContextGroup.h>
-
-#if WK_API_ENABLED
-
-#import <WebKit2/WKBase.h>
-
-@interface WKBrowsingContextGroup (Private)
-
-@property(readonly) WKPageGroupRef _pageGroupRef;
-
-@end
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKBrowsingContextLoadDelegateh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextLoadDelegate.h (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextLoadDelegate.h        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextLoadDelegate.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,58 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-
-@class WKBrowsingContextController;
-@class WKBackForwardListItem;
-
-@protocol WKBrowsingContextLoadDelegate <NSObject>
-@optional
-
-/* Sent when the provisional load begins. */
-- (void)browsingContextControllerDidStartProvisionalLoad:(WKBrowsingContextController *)sender;
-
-/* Sent if a server-side redirect was recieved. */
-- (void)browsingContextControllerDidReceiveServerRedirectForProvisionalLoad:(WKBrowsingContextController *)sender;
-
-/* Sent if the provional load fails. */
-- (void)browsingContextControllerDidFailProvisionalLoad:(WKBrowsingContextController *)sender withError:(NSError *)error;
-
-/* Sent when the load gets committed. */
-- (void)browsingContextControllerDidCommitLoad:(WKBrowsingContextController *)sender;
-
-/* Sent when the load completes. */
-- (void)browsingContextControllerDidFinishLoad:(WKBrowsingContextController *)sender;
-
-/* Sent if the commited load fails. */
-- (void)browsingContextControllerDidFailLoad:(WKBrowsingContextController *)sender withError:(NSError *)error;
-
-- (void)browsingContextControllerDidStartProgress:(WKBrowsingContextController *)sender;
-- (void)browsingContextController:(WKBrowsingContextController *)sender estimatedProgressChangedTo:(double)estimatedProgress;
-- (void)browsingContextControllerDidFinishProgress:(WKBrowsingContextController *)sender;
-
-- (void)browsingContextControllerDidChangeBackForwardList:(WKBrowsingContextController *)sender addedItem:(WKBackForwardListItem *)addedItem removedItems:(NSArray *)removedItems;
-
-@end
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKBrowsingContextPolicyDelegateh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKBrowsingContextPolicyDelegate.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,66 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <Foundation/Foundation.h>
-#import <WebKit2/WKDeclarationSpecifiers.h>
-
-@class WKBrowsingContextController;
-
-/* Constants for policy action dictionaries */
-WK_EXPORT extern NSString * const WKActionIsMainFrameKey; // NSNumber (BOOL)
-WK_EXPORT extern NSString * const WKActionNavigationTypeKey; // NSNumber (WKNavigationType)
-WK_EXPORT extern NSString * const WKActionMouseButtonKey; // NSNumber (0 for left button, 1 for middle button, 2 for right button)
-WK_EXPORT extern NSString * const WKActionModifierFlagsKey; // NSNumber (unsigned)
-WK_EXPORT extern NSString * const WKActionURLRequestKey; // NSURLRequest
-WK_EXPORT extern NSString * const WKActionURLResponseKey; // NSURLResponse
-WK_EXPORT extern NSString * const WKActionFrameNameKey; // NSString
-WK_EXPORT extern NSString * const WKActionOriginatingFrameURLKey; // NSURL
-WK_EXPORT extern NSString * const WKActionCanShowMIMETypeKey; // NSNumber (BOOL)
-
-typedef NS_ENUM(NSUInteger, WKNavigationType) {
- WKNavigationTypeLinkClicked,
- WKNavigationTypeFormSubmitted,
- WKNavigationTypeBackForward,
- WKNavigationTypeReload,
- WKNavigationTypeFormResubmitted,
- WKNavigationTypeOther
-};
-
-typedef NS_ENUM(NSUInteger, WKPolicyDecision) {
- WKPolicyDecisionCancel,
- WKPolicyDecisionAllow,
- WKPolicyDecisionBecomeDownload
-};
-
-typedef void (^WKPolicyDecisionHandler)(WKPolicyDecision);
-
-@protocol WKBrowsingContextPolicyDelegate <NSObject>
-@optional
-
-- (void)browsingContextController:(WKBrowsingContextController *)sender decidePolicyForNavigationAction:(NSDictionary *)actionInformation decisionHandler:(WKPolicyDecisionHandler)decisionHandler;
-- (void)browsingContextController:(WKBrowsingContextController *)sender decidePolicyForNewWindowAction:(NSDictionary *)actionInformation decisionHandler:(WKPolicyDecisionHandler)decisionHandler;
-- (void)browsingContextController:(WKBrowsingContextController *)sender decidePolicyForResponseAction:(NSDictionary *)actionInformation decisionHandler:(WKPolicyDecisionHandler)decisionHandler;
-
-@end
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKConnectionh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKConnection.h (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKConnection.h        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKConnection.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,53 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <WebKit2/WKFoundation.h>
-
-#if WK_API_ENABLED
-
-#import <Foundation/Foundation.h>
-
-@class WKConnection;
-@class WKRemoteObjectRegistry;
-
-@protocol WKConnectionDelegate <NSObject>
-
-- (void)connection:(WKConnection *)connection didReceiveMessageWithName:(NSString *)messageName body:(id)messageBody;
-- (void)connectionDidClose:(WKConnection *)connection;
-
-@end
-
-WK_API_CLASS
-@interface WKConnection : NSObject
-
-- (void)sendMessageWithName:(NSString *)messageName body:(id)messageBody;
-
-@property (assign) id <WKConnectionDelegate> delegate;
-
-@property (nonatomic, readonly) WKRemoteObjectRegistry *remoteObjectRegistry;
-
-@end
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKConnectionmm"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKConnection.mm (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKConnection.mm        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKConnection.mm        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,122 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "config.h"
-#import "WKConnectionInternal.h"
-
-#if WK_API_ENABLED
-
-#import "ObjCObjectGraph.h"
-#import "WKConnectionRef.h"
-#import "WKData.h"
-#import "WKRetainPtr.h"
-#import "WKStringCF.h"
-#import "WKRemoteObjectRegistryInternal.h"
-#import <wtf/RetainPtr.h>
-
-using namespace WebKit;
-
-@implementation WKConnection {
- // Underlying connection object.
- WKRetainPtr<WKConnectionRef> _connectionRef;
-
- RetainPtr<WKRemoteObjectRegistry> _remoteObjectRegistry;
-}
-
-- (void)dealloc
-{
- WKConnectionSetConnectionClient(_connectionRef.get(), 0);
-
- [super dealloc];
-}
-
-- (void)sendMessageWithName:(NSString *)messageName body:(id)messageBody
-{
- WKRetainPtr<WKStringRef> wkMessageName = adoptWK(WKStringCreateWithCFString((CFStringRef)messageName));
- RefPtr<ObjCObjectGraph> wkMessageBody = ObjCObjectGraph::create(messageBody);
-
- WKConnectionPostMessage(_connectionRef.get(), wkMessageName.get(), (WKTypeRef)wkMessageBody.get());
-}
-
-- (WKRemoteObjectRegistry *)remoteObjectRegistry
-{
- if (!_remoteObjectRegistry)
- _remoteObjectRegistry = adoptNS([[WKRemoteObjectRegistry alloc] _initWithConnectionRef:_connectionRef.get()]);
-
- return _remoteObjectRegistry.get();
-}
-
-static void didReceiveMessage(WKConnectionRef, WKStringRef messageName, WKTypeRef messageBody, const void* clientInfo)
-{
- WKConnection *connection = (WKConnection *)clientInfo;
-
- if ([connection->_remoteObjectRegistry _handleMessageWithName:messageName body:messageBody])
- return;
-
- if ([connection.delegate respondsToSelector:@selector(connection:didReceiveMessageWithName:body:)]) {
- RetainPtr<CFStringRef> nsMessageName = adoptCF(WKStringCopyCFString(kCFAllocatorDefault, messageName));
- RetainPtr<id> nsMessageBody = ((ObjCObjectGraph*)messageBody)->rootObject();
-
- [connection.delegate connection:connection didReceiveMessageWithName:(NSString *)nsMessageName.get() body:nsMessageBody.get()];
- }
-}
-
-static void didClose(WKConnectionRef, const void* clientInfo)
-{
- WKConnection *connection = (WKConnection *)clientInfo;
- if ([connection.delegate respondsToSelector:@selector(connectionDidClose:)]) {
- [connection.delegate connectionDidClose:connection];
- }
-}
-
-static void setUpClient(WKConnection *connection, WKConnectionRef connectionRef)
-{
- WKConnectionClient client;
- memset(&client, 0, sizeof(client));
-
- client.version = WKConnectionClientCurrentVersion;
- client.clientInfo = connection;
- client.didReceiveMessage = didReceiveMessage;
- client.didClose = didClose;
-
- WKConnectionSetConnectionClient(connectionRef, &client);
-}
-
-- (id)_initWithConnectionRef:(WKConnectionRef)connectionRef
-{
- self = [super init];
- if (!self)
- return nil;
-
- _connectionRef = connectionRef;
-
- setUpClient(self, _connectionRef.get());
-
- return self;
-}
-
-@end
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKConnectionInternalh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKConnectionInternal.h (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKConnectionInternal.h        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKConnectionInternal.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,38 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "WKConnection.h"
-
-#if WK_API_ENABLED
-
-#import <WebKit2/WKBase.h>
-
-@interface WKConnection ()
-
-- (id)_initWithConnectionRef:(WKConnectionRef)connectionRef;
-
-@end
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKProcessGrouph"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroup.h (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroup.h        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroup.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,58 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <WebKit2/WKFoundation.h>
-
-#if WK_API_ENABLED
-
-#import <Foundation/Foundation.h>
-#import <WebKit2/WKConnection.h>
-
-@class WKProcessGroup;
-
-@protocol WKProcessGroupDelegate <NSObject>
-@optional
-
-- (id)processGroupWillCreateConnectionToWebProcessPlugIn:(WKProcessGroup *)processGroup;
-
-@required
-
-- (void)processGroup:(WKProcessGroup *)processGroup didCreateConnectionToWebProcessPlugIn:(WKConnection *)connection;
-
-@end
-
-WK_API_CLASS
-@interface WKProcessGroup : NSObject
-
-- (id)initWithInjectedBundleURL:(NSURL *)bundleURL;
-
-
-#pragma mark Delegates
-
-@property (assign) id <WKProcessGroupDelegate> delegate;
-
-@end
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKProcessGroupmm"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroup.mm (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroup.mm        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroup.mm        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,221 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "config.h"
-#import "WKProcessGroupInternal.h"
-
-#if WK_API_ENABLED
-
-#import "APINavigationData.h"
-#import "ObjCObjectGraph.h"
-#import "WKAPICast.h"
-#import "WKBrowsingContextControllerInternal.h"
-#import "WKBrowsingContextHistoryDelegate.h"
-#import "WKConnectionInternal.h"
-#import "WKContext.h"
-#import "WKNSString.h"
-#import "WKNSURL.h"
-#import "WKNavigationDataInternal.h"
-#import "WKRetainPtr.h"
-#import "WKStringCF.h"
-#import "WebFrameProxy.h"
-#import <wtf/RetainPtr.h>
-
-#if PLATFORM(IOS)
-#import "WKAPICast.h"
-#import "WKGeolocationProviderIOS.h"
-#import <WebCore/WebCoreThreadSystemInterface.h>
-#endif
-
-using namespace WebKit;
-
-@implementation WKProcessGroup {
- std::aligned_storage<sizeof(WebContext), std::alignment_of<WebContext>::value>::type _context;
-
-#if PLATFORM(IOS)
- RetainPtr<WKGeolocationProviderIOS> _geolocationProvider;
-#endif // PLATFORM(IOS)
-}
-
-static void didCreateConnection(WKContextRef, WKConnectionRef connectionRef, const void* clientInfo)
-{
- WKProcessGroup *processGroup = (WKProcessGroup *)clientInfo;
- if ([processGroup.delegate respondsToSelector:@selector(processGroup:didCreateConnectionToWebProcessPlugIn:)]) {
- RetainPtr<WKConnection> connection = adoptNS([[WKConnection alloc] _initWithConnectionRef:connectionRef]);
- [processGroup.delegate processGroup:processGroup didCreateConnectionToWebProcessPlugIn:connection.get()];
- }
-}
-
-static void setUpConnectionClient(WKProcessGroup *processGroup, WKContextRef contextRef)
-{
- WKContextConnectionClient connectionClient;
- memset(&connectionClient, 0, sizeof(connectionClient));
-
- connectionClient.version = kWKContextConnectionClientCurrentVersion;
- connectionClient.clientInfo = processGroup;
- connectionClient.didCreateConnection = didCreateConnection;
-
- WKContextSetConnectionClient(contextRef, &connectionClient);
-}
-
-static WKTypeRef getInjectedBundleInitializationUserData(WKContextRef, const void* clientInfo)
-{
- WKProcessGroup *processGroup = (WKProcessGroup *)clientInfo;
- if ([processGroup.delegate respondsToSelector:@selector(processGroupWillCreateConnectionToWebProcessPlugIn:)]) {
- RetainPtr<id> initializationUserData = [processGroup.delegate processGroupWillCreateConnectionToWebProcessPlugIn:processGroup];
- RefPtr<WebKit::ObjCObjectGraph> wkMessageBody = WebKit::ObjCObjectGraph::create(initializationUserData.get());
- return (WKTypeRef)wkMessageBody.release().leakRef();
- }
-
- return 0;
-}
-
-static void setUpInectedBundleClient(WKProcessGroup *processGroup, WKContextRef contextRef)
-{
- WKContextInjectedBundleClient injectedBundleClient;
- memset(&injectedBundleClient, 0, sizeof(injectedBundleClient));
-
- injectedBundleClient.version = kWKContextInjectedBundleClientCurrentVersion;
- injectedBundleClient.clientInfo = processGroup;
- injectedBundleClient.getInjectedBundleInitializationUserData = getInjectedBundleInitializationUserData;
-
- WKContextSetInjectedBundleClient(contextRef, &injectedBundleClient);
-}
-
-static void didNavigateWithNavigationData(WKContextRef, WKPageRef pageRef, WKNavigationDataRef navigationDataRef, WKFrameRef frameRef, const void*)
-{
- if (!toImpl(frameRef)->isMainFrame())
- return;
-
- WKBrowsingContextController *controller = [WKBrowsingContextController _browsingContextControllerForPageRef:pageRef];
- if ([controller.historyDelegate respondsToSelector:@selector(browsingContextController:didNavigateWithNavigationData:)])
- [controller.historyDelegate browsingContextController:controller didNavigateWithNavigationData:wrapper(*toImpl(navigationDataRef))];
-}
-
-static void didPerformClientRedirect(WKContextRef, WKPageRef pageRef, WKURLRef sourceURLRef, WKURLRef destinationURLRef, WKFrameRef frameRef, const void*)
-{
- if (!toImpl(frameRef)->isMainFrame())
- return;
-
- WKBrowsingContextController *controller = [WKBrowsingContextController _browsingContextControllerForPageRef:pageRef];
- if ([controller.historyDelegate respondsToSelector:@selector(browsingContextController:didPerformClientRedirectFromURL:toURL:)])
- [controller.historyDelegate browsingContextController:controller didPerformClientRedirectFromURL:wrapper(*toImpl(sourceURLRef)) toURL:wrapper(*toImpl(destinationURLRef))];
-}
-
-static void didPerformServerRedirect(WKContextRef, WKPageRef pageRef, WKURLRef sourceURLRef, WKURLRef destinationURLRef, WKFrameRef frameRef, const void*)
-{
- if (!toImpl(frameRef)->isMainFrame())
- return;
-
- WKBrowsingContextController *controller = [WKBrowsingContextController _browsingContextControllerForPageRef:pageRef];
- if ([controller.historyDelegate respondsToSelector:@selector(browsingContextController:didPerformServerRedirectFromURL:toURL:)])
- [controller.historyDelegate browsingContextController:controller didPerformServerRedirectFromURL:wrapper(*toImpl(sourceURLRef)) toURL:wrapper(*toImpl(destinationURLRef))];
-}
-
-static void didUpdateHistoryTitle(WKContextRef, WKPageRef pageRef, WKStringRef titleRef, WKURLRef urlRef, WKFrameRef frameRef, const void*)
-{
- if (!toImpl(frameRef)->isMainFrame())
- return;
-
- WKBrowsingContextController *controller = [WKBrowsingContextController _browsingContextControllerForPageRef:pageRef];
- if ([controller.historyDelegate respondsToSelector:@selector(browsingContextController:didUpdateHistoryTitle:forURL:)])
- [controller.historyDelegate browsingContextController:controller didUpdateHistoryTitle:wrapper(*toImpl(titleRef)) forURL:wrapper(*toImpl(urlRef))];
-}
-
-static void setUpHistoryClient(WKProcessGroup *processGroup, WKContextRef contextRef)
-{
- WKContextHistoryClient historyClient;
- memset(&historyClient, 0, sizeof(historyClient));
-
- historyClient.version = kWKContextHistoryClientCurrentVersion;
- historyClient.clientInfo = processGroup;
- historyClient.didNavigateWithNavigationData = didNavigateWithNavigationData;
- historyClient.didPerformClientRedirect = didPerformClientRedirect;
- historyClient.didPerformServerRedirect = didPerformServerRedirect;
- historyClient.didUpdateHistoryTitle = didUpdateHistoryTitle;
-
- WKContextSetHistoryClient(contextRef, &historyClient);
-}
-
-- (id)init
-{
- return [self initWithInjectedBundleURL:nil];
-}
-
-- (id)initWithInjectedBundleURL:(NSURL *)bundleURL
-{
- self = [super init];
- if (!self)
- return nil;
-
-#if PLATFORM(IOS)
- // FIXME: Remove once <rdar://problem/15256572> is fixed.
- InitWebCoreThreadSystemInterface();
-#endif
-
- API::Object::constructInWrapper<WebContext>(self, bundleURL ? String([bundleURL path]) : String());
-
- setUpConnectionClient(self, toAPI(reinterpret_cast<WebContext*>(&_context)));
- setUpInectedBundleClient(self, toAPI(reinterpret_cast<WebContext*>(&_context)));
- setUpHistoryClient(self, toAPI(reinterpret_cast<WebContext*>(&_context)));
-
- return self;
-}
-
-- (void)dealloc
-{
- reinterpret_cast<WebContext*>(&_context)->~WebContext();
-
- [super dealloc];
-}
-
-#pragma mark WKObject protocol implementation
-
-- (API::Object&)_apiObject
-{
- return *reinterpret_cast<API::Object*>(&_context);
-}
-
-@end
-
-@implementation WKProcessGroup (Private)
-
-- (WKContextRef)_contextRef
-{
- return toAPI(reinterpret_cast<WebContext*>(&_context));
-}
-
-#if PLATFORM(IOS)
-- (WKGeolocationProviderIOS *)_geolocationProvider
-{
- if (!_geolocationProvider)
- _geolocationProvider = adoptNS([[WKGeolocationProviderIOS alloc] initWithContext:reinterpret_cast<WebContext*>(&_context)]);
- return _geolocationProvider.get();
-}
-#endif // PLATFORM(IOS)
-
-@end
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKProcessGroupInternalh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroupInternal.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,46 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "WKProcessGroupPrivate.h"
-
-#if WK_API_ENABLED
-
-#import "WKObject.h"
-#import "WebContext.h"
-
-namespace WebKit {
-
-inline WKProcessGroup *wrapper(WebContext& context)
-{
- ASSERT([context.wrapper() isKindOfClass:[WKProcessGroup class]]);
- return (WKProcessGroup *)context.wrapper();
-}
-
-}
-
-@interface WKProcessGroup () <WKObject>
-@end
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKProcessGroupPrivateh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroupPrivate.h (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroupPrivate.h        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKProcessGroupPrivate.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,45 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <WebKit2/WKProcessGroup.h>
-
-#if WK_API_ENABLED
-
-#import <WebKit2/WKBase.h>
-
-#if TARGET_OS_IPHONE
-@class WKGeolocationProviderIOS;
-#endif
-
-@interface WKProcessGroup (Private)
-
-@property(readonly) WKContextRef _contextRef;
-#if TARGET_OS_IPHONE
-@property(readonly) WKGeolocationProviderIOS *_geolocationProvider;
-#endif
-
-@end
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKTypeRefWrapperh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.h (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.h        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,42 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <WebKit2/WKFoundation.h>
-
-#if WK_API_ENABLED
-
-#import <Foundation/Foundation.h>
-#import <WebKit2/WKBase.h>
-
-WK_API_CLASS
-@interface WKTypeRefWrapper : NSObject
-
-- (id)initWithObject:(WKTypeRef)object;
-
-@property(readonly) WKTypeRef object;
-
-@end
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKTypeRefWrappermm"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,59 +0,0 @@
</span><del>-/*
- * Copyright (C) 2013 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import "config.h"
-#import "WKTypeRefWrapper.h"
-
-#if WK_API_ENABLED
-
-#import "WKRetainPtr.h"
-
-@interface WKTypeRefWrapper () {
- // Underlying WKTypeRef.
- WKRetainPtr<WKTypeRef> _object;
-}
-@end
-
-@implementation WKTypeRefWrapper
-
-- (id)initWithObject:(WKTypeRef)object
-{
- self = [super init];
- if (!self)
- return nil;
-
- _object = object;
-
- return self;
-}
-
-- (WKTypeRef)object
-{
- return _object.get();
-}
-
-@end
-
-#endif // WK_API_ENABLED
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKViewh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKView.h (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKView.h        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKView.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,69 +0,0 @@
</span><del>-/*
- * Copyright (C) 2010 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <WebKit2/WKFoundation.h>
-
-#if TARGET_OS_IPHONE
-#import <UIKit/UIKit.h>
-#else
-#import <Cocoa/Cocoa.h>
-#endif
-#import <WebKit2/WKDeclarationSpecifiers.h>
-
-@class WKBrowsingContextController;
-@class WKBrowsingContextGroup;
-@class WKProcessGroup;
-@class WKViewData;
-
-#if TARGET_OS_IPHONE
-WK_EXPORT
-@interface WKView : UIView {
-#else
-WK_EXPORT
-@interface WKView : NSView <NSTextInputClient> {
-#endif
-@private
- WKViewData *_data;
- unsigned _unused;
-}
-
-#if WK_API_ENABLED
-
-#if TARGET_OS_IPHONE
-- (id)initWithFrame:(CGRect)frame processGroup:(WKProcessGroup *)processGroup browsingContextGroup:(WKBrowsingContextGroup *)browsingContextGroup;
-- (id)initWithFrame:(CGRect)frame processGroup:(WKProcessGroup *)processGroup browsingContextGroup:(WKBrowsingContextGroup *)browsingContextGroup relatedToView:(WKView *)relatedView;
-#else
-- (id)initWithFrame:(NSRect)frame processGroup:(WKProcessGroup *)processGroup browsingContextGroup:(WKBrowsingContextGroup *)browsingContextGroup;
-- (id)initWithFrame:(NSRect)frame processGroup:(WKProcessGroup *)processGroup browsingContextGroup:(WKBrowsingContextGroup *)browsingContextGroup relatedToView:(WKView *)relatedView;
-#endif
-
-@property(readonly) WKBrowsingContextController *browsingContextController;
-
-#endif // WK_API_ENABLED
-
-@property BOOL drawsBackground;
-@property BOOL drawsTransparentBackground;
-
-@end
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWKViewPrivateh"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WKViewPrivate.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,99 +0,0 @@
</span><del>-/*
- * Copyright (C) 2011 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <WebKit2/WKBase.h>
-#import <WebKit2/WKView.h>
-
-#if !TARGET_OS_IPHONE
-
-typedef enum {
- WKContentAnchorTopLeft,
- WKContentAnchorTopRight,
- WKContentAnchorBottomLeft,
- WKContentAnchorBottomRight,
-} WKContentAnchor;
-
-#endif
-
-@interface WKView (Private)
-
-/* C SPI support. */
-
-@property (readonly) WKPageRef pageRef;
-
-#if TARGET_OS_IPHONE
-- (id)initWithFrame:(CGRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef;
-- (id)initWithFrame:(CGRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef relatedToPage:(WKPageRef)relatedPage;
-#else
-- (id)initWithFrame:(NSRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef;
-- (id)initWithFrame:(NSRect)frame contextRef:(WKContextRef)contextRef pageGroupRef:(WKPageGroupRef)pageGroupRef relatedToPage:(WKPageRef)relatedPage;
-#endif
-
-#if !TARGET_OS_IPHONE
-
-@property WKContentAnchor contentAnchor;
-
-- (NSPrintOperation *)printOperationWithPrintInfo:(NSPrintInfo *)printInfo forFrame:(WKFrameRef)frameRef;
-- (BOOL)canChangeFrameLayout:(WKFrameRef)frameRef;
-
-- (void)setFrame:(NSRect)rect andScrollBy:(NSSize)offset;
-
-// Stops updating the size of the page as the WKView frame size updates.
-// This should always be followed by enableFrameSizeUpdates. Calls can be nested.
-- (void)disableFrameSizeUpdates;
-// Immediately updates the size of the page to match WKView's frame size
-// and allows subsequent updates as the frame size is set. Calls can be nested.
-- (void)enableFrameSizeUpdates;
-- (BOOL)frameSizeUpdatesDisabled;
-
-- (void)performDictionaryLookupAtCurrentMouseLocation;
-+ (void)hideWordDefinitionWindow;
-
-@property (readwrite) CGFloat minimumLayoutWidth;
-@property (readwrite) CGFloat minimumWidthForAutoLayout;
-@property (readwrite) NSSize minimumSizeForAutoLayout;
-@property (readwrite) BOOL shouldClipToVisibleRect;
-@property (readwrite) BOOL shouldExpandToViewHeightForAutoLayout;
-@property (readonly, getter=isUsingUISideCompositing) BOOL usingUISideCompositing;
-
-@property(copy, nonatomic) NSColor *underlayColor;
-
-- (NSView*)fullScreenPlaceholderView;
-- (NSWindow*)createFullScreenWindow;
-
-- (void)beginDeferringViewInWindowChanges;
-- (void)endDeferringViewInWindowChanges;
-- (void)endDeferringViewInWindowChangesSync;
-- (BOOL)isDeferringViewInWindowChanges;
-
-- (BOOL)windowOcclusionDetectionEnabled;
-- (void)setWindowOcclusionDetectionEnabled:(BOOL)flag;
-
-- (void)forceAsyncDrawingAreaSizeUpdate:(NSSize)size;
-- (void)waitForAsyncDrawingAreaSizeUpdate;
-
-#endif
-
-@end
</del></span></pre></div>
<a id="trunkSourceWebKit2UIProcessAPImacWebKit2h"></a>
<div class="delfile"><h4>Deleted: trunk/Source/WebKit2/UIProcess/API/mac/WebKit2.h (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/UIProcess/API/mac/WebKit2.h        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/UIProcess/API/mac/WebKit2.h        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -1,33 +0,0 @@
</span><del>-/*
- * Copyright (C) 2012 Apple Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
- * THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#import <WebKit2/WKBrowsingContextController.h>
-#import <WebKit2/WKBrowsingContextGroup.h>
-#import <WebKit2/WKBrowsingContextLoadDelegate.h>
-#import <WebKit2/WKBrowsingContextPolicyDelegate.h>
-#import <WebKit2/WKConnection.h>
-#import <WebKit2/WKFoundation.h>
-#import <WebKit2/WKProcessGroup.h>
-#import <WebKit2/WKView.h>
</del></span></pre></div>
<a id="trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (159873 => 159874)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2013-11-29 17:25:55 UTC (rev 159873)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj        2013-11-29 20:54:46 UTC (rev 159874)
</span><span class="lines">@@ -3737,16 +3737,38 @@
</span><span class="cx">                 37C4C08318149C2A003688B9 /* Cocoa */ = {
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><ins>+                                BC59548815C7868500FD1E3E /* WebKit2.h */,
</ins><span class="cx">                                 37C4C08B1814AC5C003688B9 /* WKBackForwardList.h */,
</span><span class="cx">                                 37C4C08A1814AC5C003688B9 /* WKBackForwardList.mm */,
</span><span class="cx">                                 37C4C08E1814AF3A003688B9 /* WKBackForwardListInternal.h */,
</span><span class="cx">                                 37C4C08518149C5B003688B9 /* WKBackForwardListItem.h */,
</span><span class="cx">                                 37C4C08418149C5B003688B9 /* WKBackForwardListItem.mm */,
</span><span class="cx">                                 37C4C08818149F23003688B9 /* WKBackForwardListItemInternal.h */,
</span><ins>+                                BCBAAC6C144E61910053F82F /* WKBrowsingContextController.h */,
+                                BCBAAC6D144E61920053F82F /* WKBrowsingContextController.mm */,
+                                BCBAAC6E144E61920053F82F /* WKBrowsingContextControllerInternal.h */,
+                                3788A05B14743C90006319E5 /* WKBrowsingContextControllerPrivate.h */,
+                                BCBAACEE145232430053F82F /* WKBrowsingContextGroup.h */,
+                                BCBAACEF145232440053F82F /* WKBrowsingContextGroup.mm */,
+                                7C9D1536184584DA009D3918 /* WKBrowsingContextGroupInternal.h */,
+                                BCBAACF0145232480053F82F /* WKBrowsingContextGroupPrivate.h */,
</ins><span class="cx">                                 370F34A61829CFF3009027C8 /* WKBrowsingContextHistoryDelegate.h */,
</span><ins>+                                BCBAAD0A14560A430053F82F /* WKBrowsingContextLoadDelegate.h */,
+                                7CA254EA182993CE00FC8A41 /* WKBrowsingContextPolicyDelegate.h */,
+                                BCA284D51492F2C7001F9042 /* WKConnection.h */,
+                                BCA284D41492F2C7001F9042 /* WKConnection.mm */,
+                                BC5C75C614954DA600BC4775 /* WKConnectionInternal.h */,
</ins><span class="cx">                                 370F34A11829BE1E009027C8 /* WKNavigationData.h */,
</span><span class="cx">                                 370F34A01829BE1E009027C8 /* WKNavigationData.mm */,
</span><span class="cx">                                 370F34A41829BEA3009027C8 /* WKNavigationDataInternal.h */,
</span><ins>+                                BCBAACE5145225C90053F82F /* WKProcessGroup.h */,
+                                BCBAACE6145225CA0053F82F /* WKProcessGroup.mm */,
+                                7C1FB3BF1846AEFC001A03D8 /* WKProcessGroupInternal.h */,
+                                BCBAACE7145225CB0053F82F /* WKProcessGroupPrivate.h */,
+                                7CD5EBBD1746B04C000C1C45 /* WKTypeRefWrapper.h */,
+                                7CD5EBBC1746B04C000C1C45 /* WKTypeRefWrapper.mm */,
+                                BC8699B2116AADAA002A925B /* WKView.h */,
+                                BFA6179E12F0B99D0033E0CA /* WKViewPrivate.h */,
</ins><span class="cx">                         );
</span><span class="cx">                         path = Cocoa;
</span><span class="cx">                         sourceTree = "<group>";
</span><span class="lines">@@ -4637,30 +4659,8 @@
</span><span class="cx">                         isa = PBXGroup;
</span><span class="cx">                         children = (
</span><span class="cx">                                 BCBAAC58144E38B90053F82F /* WKView Details */,
</span><del>-                                BC59548815C7868500FD1E3E /* WebKit2.h */,
-                                BCBAAC6C144E61910053F82F /* WKBrowsingContextController.h */,
-                                BCBAAC6D144E61920053F82F /* WKBrowsingContextController.mm */,
-                                BCBAAC6E144E61920053F82F /* WKBrowsingContextControllerInternal.h */,
-                                3788A05B14743C90006319E5 /* WKBrowsingContextControllerPrivate.h */,
-                                BCBAACEE145232430053F82F /* WKBrowsingContextGroup.h */,
-                                BCBAACEF145232440053F82F /* WKBrowsingContextGroup.mm */,
-                                7C9D1536184584DA009D3918 /* WKBrowsingContextGroupInternal.h */,
-                                BCBAACF0145232480053F82F /* WKBrowsingContextGroupPrivate.h */,
-                                BCBAAD0A14560A430053F82F /* WKBrowsingContextLoadDelegate.h */,
-                                7CA254EA182993CE00FC8A41 /* WKBrowsingContextPolicyDelegate.h */,
-                                BCA284D51492F2C7001F9042 /* WKConnection.h */,
-                                BCA284D41492F2C7001F9042 /* WKConnection.mm */,
-                                BC5C75C614954DA600BC4775 /* WKConnectionInternal.h */,
-                                BCBAACE5145225C90053F82F /* WKProcessGroup.h */,
-                                BCBAACE6145225CA0053F82F /* WKProcessGroup.mm */,
-                                7C1FB3BF1846AEFC001A03D8 /* WKProcessGroupInternal.h */,
-                                BCBAACE7145225CB0053F82F /* WKProcessGroupPrivate.h */,
-                                7CD5EBBD1746B04C000C1C45 /* WKTypeRefWrapper.h */,
-                                7CD5EBBC1746B04C000C1C45 /* WKTypeRefWrapper.mm */,
-                                BC8699B2116AADAA002A925B /* WKView.h */,
</del><span class="cx">                                 BC8699B3116AADAA002A925B /* WKView.mm */,
</span><span class="cx">                                 BC8699B4116AADAA002A925B /* WKViewInternal.h */,
</span><del>-                                BFA6179E12F0B99D0033E0CA /* WKViewPrivate.h */,
</del><span class="cx">                         );
</span><span class="cx">                         path = mac;
</span><span class="cx">                         sourceTree = "<group>";
</span></span></pre>
</div>
</div>
</body>
</html>