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

Side by Side Diff: content/renderer/pepper/host_resource_var.h

Issue 24196005: [PPAPI] ResourceVar now holds a pending renderer and browser host ID. (Closed) Base URL: http://git.chromium.org/chromium/src.git@pepper-resourcerawvardata
Patch Set: Created 7 years, 2 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
« no previous file with comments | « no previous file | content/renderer/pepper/host_resource_var.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef PPAPI_CONTENT_RENDERER_PEPPER_HOST_RESOURCE_VAR_H_ 5 #ifndef PPAPI_CONTENT_RENDERER_PEPPER_HOST_RESOURCE_VAR_H_
6 #define PPAPI_CONTENT_RENDERER_PEPPER_HOST_RESOURCE_VAR_H_ 6 #define PPAPI_CONTENT_RENDERER_PEPPER_HOST_RESOURCE_VAR_H_
7 7
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "ipc/ipc_message.h" 9 #include "ipc/ipc_message.h"
10 #include "ppapi/c/pp_resource.h" 10 #include "ppapi/c/pp_resource.h"
11 #include "ppapi/shared_impl/resource_var.h" 11 #include "ppapi/shared_impl/resource_var.h"
12 #include "ppapi/shared_impl/var.h" 12 #include "ppapi/shared_impl/var.h"
13 13
14 namespace content { 14 namespace content {
15 15
16 // Represents a resource var, usable on the host side. Can either have a 16 // Represents a resource var, usable on the host side. Can either have a
17 // plugin-side resource or a pending resource host. 17 // plugin-side resource or a pending resource host.
18 class HostResourceVar : public ppapi::ResourceVar { 18 class HostResourceVar : public ppapi::ResourceVar {
19 public: 19 public:
20 // Makes a null resource var. 20 // Makes a null resource var.
21 HostResourceVar(); 21 HostResourceVar();
22 22
23 // Makes a resource var with an existing plugin-side resource. 23 // Makes a resource var with an existing plugin-side resource.
24 explicit HostResourceVar(PP_Resource pp_resource); 24 explicit HostResourceVar(PP_Resource pp_resource);
25 25
26 // Makes a resource var with a pending resource host. 26 // Makes a resource var with a pending resource host.
27 // The |creation_message| contains data needed to create the plugin-side 27 // The |pending_renderer_host_id| is a pending resource host ID in the
28 // resource. Its type depends on the type of resource. 28 // renderer to attach from the plugin. Depending on the type of resource, this
29 explicit HostResourceVar(const IPC::Message& creation_message); 29 // may be 0. The |creation_message| contains additional data needed to create
30 // the plugin-side resource. Its type depends on the type of resource.
31 HostResourceVar(int pending_renderer_host_id,
32 const IPC::Message& creation_message);
30 33
31 // ResourceVar override. 34 // ResourceVar override.
32 virtual PP_Resource GetPPResource() const OVERRIDE; 35 virtual PP_Resource GetPPResource() const OVERRIDE;
36 virtual int GetPendingRendererHostId() const OVERRIDE;
37 virtual int GetPendingBrowserHostId() const OVERRIDE;
33 virtual const IPC::Message* GetCreationMessage() const OVERRIDE; 38 virtual const IPC::Message* GetCreationMessage() const OVERRIDE;
34 virtual bool IsPending() const OVERRIDE; 39 virtual bool IsPending() const OVERRIDE;
35 40
41 void SetPendingBrowserHostId(int id) {
yzshen1 2013/09/24 17:03:30 nit: please use set_pending_browser_host_id(). (G
Matt Giuca 2013/09/25 00:59:38 Done.
42 pending_browser_host_id_ = id;
43 }
44
36 protected: 45 protected:
37 virtual ~HostResourceVar(); 46 virtual ~HostResourceVar();
38 47
39 private: 48 private:
40 // Real resource ID in the plugin. 0 if one has not yet been created 49 // Real resource ID in the plugin. 0 if one has not yet been created
41 // (indicating that there is a pending host resource). 50 // (indicating that there is a pending resource host).
42 PP_Resource pp_resource_; 51 PP_Resource pp_resource_;
43 52
53 // Pending resource host ID in the renderer.
54 int pending_renderer_host_id_;
55
56 // Pending resource host ID in the browser.
57 int pending_browser_host_id_;
58
44 // If the plugin-side resource has not yet been created, carries a message to 59 // If the plugin-side resource has not yet been created, carries a message to
45 // create a resource of the specific type on the plugin side. Otherwise, NULL. 60 // create a resource of the specific type on the plugin side. Otherwise, NULL.
46 scoped_ptr<IPC::Message> creation_message_; 61 scoped_ptr<IPC::Message> creation_message_;
47 62
48 DISALLOW_COPY_AND_ASSIGN(HostResourceVar); 63 DISALLOW_COPY_AND_ASSIGN(HostResourceVar);
49 }; 64 };
50 65
51 } // namespace content 66 } // namespace content
52 67
53 #endif 68 #endif
OLDNEW
« no previous file with comments | « no previous file | content/renderer/pepper/host_resource_var.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698