[prev in list] [next in list] [prev in thread] [next in thread] 

List:       webkit-changes
Subject:    [webkit-changes] [158407] trunk
From:       andersca () apple ! com
Date:       2013-10-31 23:56:18
Message-ID: 20131031235618.4F7C0303A2F () svn ! webkit ! org
[Download RAW message or body]

[Attachment #2 (text/html)]

<!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>[158407] trunk</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: \
verdana,arial,helvetica,sans-serif; font-size: 10pt;  } #msg dl a { font-weight: \
bold} #msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: \
bold; } #msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: \
6px; } #logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em \
0; } #logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg \
h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; } \
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; \
} #logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: \
-1.5em; padding-left: 1.5em; } #logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em \
1em 0 1em; background: white;} #logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid \
#fa0; border-bottom: 1px solid #fa0; background: #fff; } #logmsg table th { \
text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted \
#fa0; } #logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: \
0.2em 0.5em; } #logmsg table thead th { text-align: center; border-bottom: 1px solid \
#fa0; } #logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: \
6px; } #patch { width: 100%; }
#patch h4 {font-family: \
verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
 #patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, \
#patch .copfile {border:1px solid #ccc;margin:10px 0;} #patch ins \
{background:#dfd;text-decoration:none;display:block;padding:0 10px;} #patch del \
{background:#fdd;text-decoration:none;display:block;padding:0 10px;} #patch .lines, \
                .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a \
href="http://trac.webkit.org/projects/webkit/changeset/158407">158407</a></dd> \
<dt>Author</dt> <dd>andersca@apple.com</dd> <dt>Date</dt> <dd>2013-10-31 16:56:18 \
-0700 (Thu, 31 Oct 2013)</dd> </dl>

<h3>Log Message</h3>
<pre>Add a WKRemoteObject class
https://bugs.webkit.org/show_bug.cgi?id=123586

Reviewed by Dan Bernstein.

Source/WebKit2:

* Shared/API/Cocoa/WKRemoteObject.h: Added.
* Shared/API/Cocoa/WKRemoteObject.mm: Added.
(-[WKRemoteObject _initWithObjectRegistry:interface:]):
Add designated initializer.

(-[WKRemoteObject conformsToProtocol:]):
Check if the interface protocol conforms to our protocol.

(methodArgumentTypeEncodingForSelector):
Helper function that looks up a method in a given protocol and returns its type \
encoding.

(-[WKRemoteObject methodSignatureForSelector:]):
Try to find the method argument type encoding for the given selector and return its \
NSMethodSignature.

(-[WKRemoteObject forwardInvocation:]):
Add stub.

* Shared/API/Cocoa/WKRemoteObjectInterface.mm:
Remove a newline.

* Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
(-[WKRemoteObjectRegistry remoteObjectProxyWithInterface:]):
Establish a mapping between interface identifiers and remote object proxies.

* WebKit2.xcodeproj/project.pbxproj:

Tools:

* TestWebKitAPI/Tests/WebKit2ObjC/WKRemoteObjectRegistry.mm:
(TestWebKitAPI::TEST):
Add a conformsToProtocol: test.</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2SharedAPICocoaWKRemoteObjectInterfacemm">trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterface.mm</a></li>
 <li><a href="#trunkSourceWebKit2SharedAPICocoaWKRemoteObjectRegistrymm">trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectRegistry.mm</a></li>
 <li><a href="#trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj">trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj</a></li>
 <li><a href="#trunkToolsChangeLog">trunk/Tools/ChangeLog</a></li>
<li><a href="#trunkToolsTestWebKitAPITestsWebKit2ObjCWKRemoteObjectRegistrymm">trunk/Tools/TestWebKitAPI/Tests/WebKit2ObjC/WKRemoteObjectRegistry.mm</a></li>
 </ul>

<h3>Added Paths</h3>
<ul>
<li><a href="#trunkSourceWebKit2SharedAPICocoaWKRemoteObjecth">trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObject.h</a></li>
 <li><a href="#trunkSourceWebKit2SharedAPICocoaWKRemoteObjectmm">trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObject.mm</a></li>
 </ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (158406 => \
158407)</h4> <pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog	2013-10-31 23:30:08 UTC (rev \
                158406)
+++ trunk/Source/WebKit2/ChangeLog	2013-10-31 23:56:18 UTC (rev 158407)
</span><span class="lines">@@ -1,3 +1,36 @@
</span><ins>+2013-10-31  Anders Carlsson  &lt;andersca@apple.com&gt;
+
+        Add a WKRemoteObject class
+        https://bugs.webkit.org/show_bug.cgi?id=123586
+
+        Reviewed by Dan Bernstein.
+
+        * Shared/API/Cocoa/WKRemoteObject.h: Added.
+        * Shared/API/Cocoa/WKRemoteObject.mm: Added.
+        (-[WKRemoteObject _initWithObjectRegistry:interface:]):
+        Add designated initializer.
+
+        (-[WKRemoteObject conformsToProtocol:]):
+        Check if the interface protocol conforms to our protocol.
+
+        (methodArgumentTypeEncodingForSelector):
+        Helper function that looks up a method in a given protocol and returns its \
type encoding. +
+        (-[WKRemoteObject methodSignatureForSelector:]):
+        Try to find the method argument type encoding for the given selector and \
return its NSMethodSignature. +
+        (-[WKRemoteObject forwardInvocation:]):
+        Add stub.
+
+        * Shared/API/Cocoa/WKRemoteObjectInterface.mm:
+        Remove a newline.
+
+        * Shared/API/Cocoa/WKRemoteObjectRegistry.mm:
+        (-[WKRemoteObjectRegistry remoteObjectProxyWithInterface:]):
+        Establish a mapping between interface identifiers and remote object proxies.
+
+        * WebKit2.xcodeproj/project.pbxproj:
+
</ins><span class="cx"> 2013-10-31  Alexey Proskuryakov  &lt;ap@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Enable WebCrypto on Mac
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedAPICocoaWKRemoteObjecthfromrev158405trunkSourceWebKit2SharedAPICocoaWKRemoteObjectInterfacemm"></a>
 <div class="copfile"><h4>Copied: \
trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObject.h (from rev 158405, \
trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterface.mm) (0 => 158407)</h4> \
<pre class="diff"><span> <span class="info">--- \
trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObject.h	                        (rev \
                0)
+++ trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObject.h	2013-10-31 23:56:18 UTC \
(rev 158407) </span><span class="lines">@@ -0,0 +1,39 @@
</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 &lt;WebKit2/WKFoundation.h&gt;
+
+#if WK_API_ENABLED
+
+@class WKRemoteObjectInterface;
+@class WKRemoteObjectRegistry;
+
+@interface WKRemoteObject : NSObject
+
+- (instancetype)_initWithObjectRegistry:(WKRemoteObjectRegistry *)objectRegistry \
interface:(WKRemoteObjectInterface *)interface; +
+@end
+
+#endif // WK_API_ENABLED
</ins></span></pre></div>
<a id="trunkSourceWebKit2SharedAPICocoaWKRemoteObjectmm"></a>
<div class="addfile"><h4>Added: \
trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObject.mm (0 => 158407)</h4> <pre \
class="diff"><span> <span class="info">--- \
trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObject.mm	                        (rev \
                0)
+++ trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObject.mm	2013-10-31 23:56:18 UTC \
(rev 158407) </span><span class="lines">@@ -0,0 +1,98 @@
</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 &quot;config.h&quot;
+#import &quot;WKRemoteObject.h&quot;
+
+#import &quot;WKRemoteObjectInterface.h&quot;
+#import &lt;objc/runtime.h&gt;
+#import &lt;wtf/RetainPtr.h&gt;
+
+#if WK_API_ENABLED
+
+@implementation WKRemoteObject {
+    RetainPtr&lt;WKRemoteObjectRegistry&gt; _objectRegistry;
+    RetainPtr&lt;WKRemoteObjectInterface&gt; _interface;
+}
+
+- (instancetype)_initWithObjectRegistry:(WKRemoteObjectRegistry *)objectRegistry \
interface:(WKRemoteObjectInterface *)interface +{
+    if (!(self = [super init]))
+        return nil;
+
+    _objectRegistry = objectRegistry;
+    _interface = interface;
+
+    return self;
+}
+
+- (BOOL)conformsToProtocol:(Protocol *)protocol
+{
+    if ([super conformsToProtocol:protocol])
+        return true;
+
+    return protocol_conformsToProtocol([_interface protocol], protocol);
+}
+
+static const char* methodArgumentTypeEncodingForSelector(Protocol *protocol, SEL \
selector) +{
+    // First look at required methods.
+    struct objc_method_description method = protocol_getMethodDescription(protocol, \
selector, YES, YES); +    if (method.name)
+        return method.types;
+
+    // Then look at optional methods.
+    method = protocol_getMethodDescription(protocol, selector, NO, YES);
+    if (method.name)
+        return method.types;
+
+    return nullptr;
+}
+
+- (NSMethodSignature *)methodSignatureForSelector:(SEL)selector
+{
+    if (!selector)
+        return nil;
+
+    Protocol *protocol = [_interface protocol];
+
+    const char* types = methodArgumentTypeEncodingForSelector(protocol, selector);
+    if (!types) {
+        // We didn't find anything the protocol, fall back to the superclass.
+        return [super methodSignatureForSelector:selector];
+    }
+
+    return [NSMethodSignature signatureWithObjCTypes:types];
+}
+
+- (void)forwardInvocation:(NSInvocation *)invocation
+{
+    // FIXME: Implement.
+}
+
+@end
+
+#endif // WK_API_ENABLED
+
</ins></span></pre></div>
<a id="trunkSourceWebKit2SharedAPICocoaWKRemoteObjectInterfacemm"></a>
<div class="modfile"><h4>Modified: \
trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterface.mm (158406 => \
158407)</h4> <pre class="diff"><span>
<span class="info">--- \
trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterface.mm	2013-10-31 23:30:08 \
                UTC (rev 158406)
+++ trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectInterface.mm	2013-10-31 \
23:56:18 UTC (rev 158407) </span><span class="lines">@@ -41,7 +41,6 @@
</span><span class="cx">     return self;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-
</del><span class="cx"> + (instancetype)remoteObjectInterfaceWithProtocol:(Protocol \
*)protocol </span><span class="cx"> {
</span><span class="cx">     return [[[self alloc] initWithProtocol:protocol \
identifier:NSStringFromProtocol(protocol)] autorelease]; </span></span></pre></div>
<a id="trunkSourceWebKit2SharedAPICocoaWKRemoteObjectRegistrymm"></a>
<div class="modfile"><h4>Modified: \
trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectRegistry.mm (158406 => \
158407)</h4> <pre class="diff"><span>
<span class="info">--- \
trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectRegistry.mm	2013-10-31 23:30:08 \
                UTC (rev 158406)
+++ trunk/Source/WebKit2/Shared/API/Cocoa/WKRemoteObjectRegistry.mm	2013-10-31 \
23:56:18 UTC (rev 158407) </span><span class="lines">@@ -29,8 +29,10 @@
</span><span class="cx"> 
</span><span class="cx"> #import &quot;Connection.h&quot;
</span><span class="cx"> #import &quot;WKConnectionRef.h&quot;
</span><ins>+#import &quot;WKRemoteObjectInterface.h&quot;
+#import &quot;WKRemoteObject.h&quot;
+#import &quot;WKSharedAPICast.h&quot;
</ins><span class="cx"> #import &quot;WebConnection.h&quot;
</span><del>-#import &quot;WKSharedAPICast.h&quot;
</del><span class="cx"> 
</span><span class="cx"> #if WK_API_ENABLED
</span><span class="cx"> 
</span><span class="lines">@@ -38,6 +40,7 @@
</span><span class="cx"> 
</span><span class="cx"> @implementation WKRemoteObjectRegistry {
</span><span class="cx">     RefPtr&lt;WebConnection&gt; _connection;
</span><ins>+    RetainPtr&lt;NSMapTable&gt; _remoteObjectProxies;
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> - (void)registerExportedObject:(id)object \
interface:(WKRemoteObjectInterface *)interface </span><span class="lines">@@ -52,8 \
+55,17 @@ </span><span class="cx"> 
</span><span class="cx"> - \
(id)remoteObjectProxyWithInterface:(WKRemoteObjectInterface *)interface </span><span \
class="cx"> { </span><del>-    // FIXME: Implement.
-    return nil;
</del><ins>+    if (!_remoteObjectProxies)
+        _remoteObjectProxies = [NSMapTable strongToWeakObjectsMapTable];
+
+    if (id remoteObjectProxy = [_remoteObjectProxies \
objectForKey:interface.identifier]) +        return remoteObjectProxy;
+
+    RetainPtr&lt;NSString&gt; identifier = adoptNS([interface.identifier copy]);
+    RetainPtr&lt;WKRemoteObject&gt; remoteObject = adoptNS([[WKRemoteObject alloc] \
_initWithObjectRegistry:self interface:interface]); +    [_remoteObjectProxies \
setObject:remoteObject.get() forKey:identifier.get()]; +
+    return [remoteObject.leakRef() autorelease];
</ins><span class="cx"> }
</span><span class="cx"> 
</span><span class="cx"> @end
</span></span></pre></div>
<a id="trunkSourceWebKit2WebKit2xcodeprojprojectpbxproj"></a>
<div class="modfile"><h4>Modified: \
trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj (158406 => 158407)</h4> <pre \
class="diff"><span> <span class="info">--- \
trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj	2013-10-31 23:30:08 UTC (rev \
                158406)
+++ trunk/Source/WebKit2/WebKit2.xcodeproj/project.pbxproj	2013-10-31 23:56:18 UTC \
(rev 158407) </span><span class="lines">@@ -205,6 +205,8 @@
</span><span class="cx"> 		1A9E328D182165A900F5D04C /* WKRemoteObjectInterface.h in \
Headers */ = {isa = PBXBuildFile; fileRef = 1A9E328B182165A900F5D04C /* \
WKRemoteObjectInterface.h */; settings = {ATTRIBUTES = (Private, ); }; }; \
</span><span class="cx"> 		1A9E328E182165A900F5D04C /* WKRemoteObjectInterface.mm in \
Sources */ = {isa = PBXBuildFile; fileRef = 1A9E328C182165A900F5D04C /* \
WKRemoteObjectInterface.mm */; }; </span><span class="cx"> 		1A9E329718219BEA00F5D04C \
/* WKRemoteObjectRegistryPrivate.h in Headers */ = {isa = PBXBuildFile; fileRef = \
1A9E329618219BEA00F5D04C /* WKRemoteObjectRegistryPrivate.h */; settings = \
{ATTRIBUTES = (Private, ); }; }; </span><ins>+		1A9E329A1822E1CC00F5D04C /* \
WKRemoteObject.mm in Sources */ = {isa = PBXBuildFile; fileRef = \
1A9E32981822E1CC00F5D04C /* WKRemoteObject.mm */; }; +		1A9E329B1822E1CC00F5D04C /* \
WKRemoteObject.h in Headers */ = {isa = PBXBuildFile; fileRef = \
1A9E32991822E1CC00F5D04C /* WKRemoteObject.h */; }; </ins><span class="cx"> \
1A9FBA8D13FF04E600DEED67 /* PluginComplexTextInputState.h in Headers */ = {isa = \
PBXBuildFile; fileRef = 1A9FBA8C13FF04E600DEED67 /* PluginComplexTextInputState.h */; \
}; </span><span class="cx"> 		1AA2E51D12E4C05E00BC4966 /* CGUtilities.h in Headers */ \
= {isa = PBXBuildFile; fileRef = 1AA2E51B12E4C05E00BC4966 /* CGUtilities.h */; }; \
</span><span class="cx"> 		1AA2E51E12E4C05E00BC4966 /* CGUtilities.cpp in Sources */ \
= {isa = PBXBuildFile; fileRef = 1AA2E51C12E4C05E00BC4966 /* CGUtilities.cpp */; }; \
</span><span class="lines">@@ -1660,6 +1662,8 @@ </span><span class="cx"> \
1A9E328B182165A900F5D04C /* WKRemoteObjectInterface.h */ = {isa = PBXFileReference; \
fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \
WKRemoteObjectInterface.h; sourceTree = &quot;&lt;group&gt;&quot;; }; </span><span \
class="cx"> 		1A9E328C182165A900F5D04C /* WKRemoteObjectInterface.mm */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = \
WKRemoteObjectInterface.mm; sourceTree = &quot;&lt;group&gt;&quot;; }; </span><span \
class="cx"> 		1A9E329618219BEA00F5D04C /* WKRemoteObjectRegistryPrivate.h */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \
WKRemoteObjectRegistryPrivate.h; sourceTree = &quot;&lt;group&gt;&quot;; }; \
</span><ins>+		1A9E32981822E1CC00F5D04C /* WKRemoteObject.mm */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = \
WKRemoteObject.mm; sourceTree = &quot;&lt;group&gt;&quot;; }; \
+		1A9E32991822E1CC00F5D04C /* WKRemoteObject.h */ = {isa = PBXFileReference; \
fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKRemoteObject.h; \
sourceTree = &quot;&lt;group&gt;&quot;; }; </ins><span class="cx"> \
1A9FBA8C13FF04E600DEED67 /* PluginComplexTextInputState.h */ = {isa = \
PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = \
PluginComplexTextInputState.h; sourceTree = &quot;&lt;group&gt;&quot;; }; \
</span><span class="cx"> 		1AA1C79A100E7FC50078DEBC /* WebCore.framework */ = {isa = \
PBXFileReference; lastKnownFileType = wrapper.framework; path = WebCore.framework; \
sourceTree = BUILT_PRODUCTS_DIR; }; </span><span class="cx"> \
1AA1C7DE100E846E0078DEBC /* JavaScriptCore.framework */ = {isa = PBXFileReference; \
lastKnownFileType = wrapper.framework; path = JavaScriptCore.framework; sourceTree = \
BUILT_PRODUCTS_DIR; }; </span><span class="lines">@@ -3691,6 +3695,8 @@
</span><span class="cx"> 			isa = PBXGroup;
</span><span class="cx"> 			children = (
</span><span class="cx"> 				37DFA6FF1810BB92001F4A9F /* WKFoundation.h */,
</span><ins>+				1A9E32991822E1CC00F5D04C /* WKRemoteObject.h */,
+				1A9E32981822E1CC00F5D04C /* WKRemoteObject.mm */,
</ins><span class="cx"> 				1A9E328B182165A900F5D04C /* WKRemoteObjectInterface.h */,
</span><span class="cx"> 				1A9E328C182165A900F5D04C /* WKRemoteObjectInterface.mm \
*/, </span><span class="cx"> 				1A9E32871821636900F5D04C /* WKRemoteObjectRegistry.h \
*/, </span><span class="lines">@@ -5575,6 +5581,7 @@
</span><span class="cx"> 				1A8EF4CB1252403700F7067F /* PluginControllerProxy.h in \
Headers */, </span><span class="cx"> 				1A8EF96F1252AF6B00F7067F /* \
PluginControllerProxyMessages.h in Headers */, </span><span class="cx"> \
1A179780137EE82C00F97D45 /* PluginCreationParameters.h in Headers */, \
</span><ins>+				1A9E329B1822E1CC00F5D04C /* WKRemoteObject.h in Headers */, \
</ins><span class="cx"> 				7C3F8C91173AF52D007B7F39 /* PluginInformation.h in \
Headers */, </span><span class="cx"> 				1AEFCC1211D01F96008219D3 /* \
PluginInfoStore.h in Headers */, </span><span class="cx"> \
1A3D610213A7CC2A00F95D4E /* PluginModuleInfo.h in Headers */, </span><span \
class="lines">@@ -6984,6 +6991,7 @@ </span><span class="cx"> \
51ACBBA1127A8F2C00D203B9 /* WebContextMenuProxyMac.mm in Sources */, </span><span \
class="cx"> 				BCEE7D0D12846F69009827DA /* WebContextMessageReceiver.cpp in Sources \
*/, </span><span class="cx"> 				3309344F1315B94D0097A7BC /* WebCookieManager.cpp in \
Sources */, </span><ins>+				1A9E329A1822E1CC00F5D04C /* WKRemoteObject.mm in Sources \
*/, </ins><span class="cx"> 				51E35210180F63FB00E53BE9 /* \
DatabaseProcessIDBDatabaseBackendMessageReceiver.cpp in Sources */, </span><span \
class="cx"> 				F6A90813133C20510082C3F4 /* WebCookieManagerMac.mm in Sources */, \
</span><span class="cx"> 				330934471315B9220097A7BC /* \
WebCookieManagerMessageReceiver.cpp in Sources */, </span></span></pre></div>
<a id="trunkToolsChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Tools/ChangeLog (158406 => 158407)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Tools/ChangeLog	2013-10-31 23:30:08 UTC (rev 158406)
+++ trunk/Tools/ChangeLog	2013-10-31 23:56:18 UTC (rev 158407)
</span><span class="lines">@@ -1,3 +1,14 @@
</span><ins>+2013-10-31  Anders Carlsson  &lt;andersca@apple.com&gt;
+
+        Add a WKRemoteObject class
+        https://bugs.webkit.org/show_bug.cgi?id=123586
+
+        Reviewed by Dan Bernstein.
+
+        * TestWebKitAPI/Tests/WebKit2ObjC/WKRemoteObjectRegistry.mm:
+        (TestWebKitAPI::TEST):
+        Add a conformsToProtocol: test.
+
</ins><span class="cx"> 2013-10-30  Ryosuke Niwa  &lt;rniwa@webkit.org&gt;
</span><span class="cx"> 
</span><span class="cx">         build.webkit.org should have a clean build button
</span></span></pre></div>
<a id="trunkToolsTestWebKitAPITestsWebKit2ObjCWKRemoteObjectRegistrymm"></a>
<div class="modfile"><h4>Modified: \
trunk/Tools/TestWebKitAPI/Tests/WebKit2ObjC/WKRemoteObjectRegistry.mm (158406 => \
158407)</h4> <pre class="diff"><span>
<span class="info">--- \
trunk/Tools/TestWebKitAPI/Tests/WebKit2ObjC/WKRemoteObjectRegistry.mm	2013-10-31 \
                23:30:08 UTC (rev 158406)
+++ trunk/Tools/TestWebKitAPI/Tests/WebKit2ObjC/WKRemoteObjectRegistry.mm	2013-10-31 \
23:56:18 UTC (rev 158407) </span><span class="lines">@@ -96,6 +96,8 @@
</span><span class="cx">     WKRemoteObjectInterface *bundleInterface = \
[WKRemoteObjectInterface \
remoteObjectInterfaceWithProtocol:@protocol(BundleInterface)]; </span><span \
class="cx">  </span><span class="cx">     id &lt;BundleInterface&gt; \
remoteObjectProxy = [remoteObjectRegistry \
remoteObjectProxyWithInterface:bundleInterface]; </span><ins>+    \
EXPECT_TRUE([remoteObjectProxy conformsToProtocol:@protocol(BundleInterface)]); +
</ins><span class="cx">     [remoteObjectProxy sayHello];
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>



_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic