Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(628)

Side by Side Diff: ui/base/cocoa/remote_layer_api.h

Issue 347653005: Make cross-process CALayers work on Mac (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@image_transport_1
Patch Set: Incorporate review feedback Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef UI_BASE_COCOA_REMOTE_LAYER_API_H_
6 #define UI_BASE_COCOA_REMOTE_LAYER_API_H_
7
8 #if defined(__OBJC__)
9 #import <Cocoa/Cocoa.h>
10 #endif // __OBJC__
11
12 #include "ui/base/ui_base_export.h"
13
14 // The CGSConnectionID is used to create the CAContext in the process that is
15 // going to share the CALayers that it is rendering to another process to
16 // display.
17 extern "C" {
18 typedef uint32_t CGSConnectionID;
19 CGSConnectionID CGSMainConnectionID(void);
Avi (use Gerrit) 2014/06/20 00:15:11 I'm a bit surprised we don't already have definiti
ccameron 2014/06/20 00:55:06 The definition seems pretty obscure -- a search on
20 };
21
22 // The CAContextID type identifies a CAContext across processes. This is the
23 // token that is passed from the process that is sharing the CALayer that it is
24 // rendering to the process that will be displaying that CALayer.
25 typedef uint32_t CAContextID;
26
27 #if defined(__OBJC__)
28
29 // The CAContext has a static CAContextID which can be sent to another process.
30 // When a CALayerHost is created using that CAContextID in another process, the
31 // content displayed by that CALayerHost will be the content of the CALayer
32 // that is set as the |layer| property on the CAContext.
33 @interface CAContext : NSObject
34 {
35 }
Avi (use Gerrit) 2014/06/20 00:15:11 Pretty sure you can omit the braces here...
ccameron 2014/06/20 00:55:06 Done.
36 + (id)contextWithCGSConnection:(CAContextID)contextId options:(NSDictionary*)opt ionsDict;
Avi (use Gerrit) 2014/06/20 00:15:11 80 cols
ccameron 2014/06/20 00:55:06 How did this pass presubmit?? Done.
37 @property(readonly) CAContextID contextId;
38 @property(retain) CALayer *layer;
39 @end
40
41 // The CALayerHost is created in the process that will display the content
42 // being rendered by another process. Setting the |contextId| property on
43 // an object of this class will make this layer display the content of the
44 // CALayer that is set to the CAContext with that CAContextID in the layer
45 // sharing process.
46 @interface CALayerHost : CALayer
47 {
48 }
Avi (use Gerrit) 2014/06/20 00:15:11 ...and the braces here.
ccameron 2014/06/20 00:55:06 Done.
49 @property CAContextID contextId;
50 @end
51
52 #endif // __OBJC__
53
54 namespace ui {
55
56 // This function will check if all of the interfaces listed above are supported
57 // on the system, and return true if they are.
58 bool UI_BASE_EXPORT RemoteLayerAPISupported();
59
60 } // namespace ui
61
62 #endif // UI_BASE_COCOA_REMOTE_LAYER_API_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698