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

Side by Side Diff: extensions/renderer/guest_view/extensions_guest_view_container.h

Issue 972313002: Make <webview> use out-of-process iframe architecture. (Closed) Base URL: ssh://saopaulo.wat/mnt/dev/shared/src@testoopif2z-better-chrome
Patch Set: not using NPAPI bindings anymore, yay! Created 5 years, 7 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
1 // Copyright 2014 The Chromium Authors. All rights reserved. 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 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 EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_CONTAINER_H_ 5 #ifndef EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_CONTAINER_H_
6 #define EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_CONTAINER_H_ 6 #define EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_CONTAINER_H_
7 7
8 #include <queue> 8 #include <queue>
9 9
10 #include "base/memory/linked_ptr.h" 10 #include "base/memory/linked_ptr.h"
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 ~AttachRequest() override; 63 ~AttachRequest() override;
64 64
65 void PerformRequest() override; 65 void PerformRequest() override;
66 void HandleResponse(const IPC::Message& message) override; 66 void HandleResponse(const IPC::Message& message) override;
67 67
68 private: 68 private:
69 const int guest_instance_id_; 69 const int guest_instance_id_;
70 scoped_ptr<base::DictionaryValue> params_; 70 scoped_ptr<base::DictionaryValue> params_;
71 }; 71 };
72 72
73 class AttachIframeRequest : public Request {
74 public:
75 AttachIframeRequest(GuestViewContainer* container,
76 int guest_instance_id,
77 v8::Handle<v8::Function> callback,
78 v8::Isolate* isolate);
79 ~AttachIframeRequest() override;
80
81 void PerformRequest() override;
82 void HandleResponse(const IPC::Message& message) override;
83
84 private:
85 const int guest_instance_id_;
86 };
87
73 class DetachRequest : public Request { 88 class DetachRequest : public Request {
74 public: 89 public:
75 DetachRequest(GuestViewContainer* container, 90 DetachRequest(GuestViewContainer* container,
76 v8::Local<v8::Function> callback, 91 v8::Local<v8::Function> callback,
77 v8::Isolate* isolate); 92 v8::Isolate* isolate);
78 ~DetachRequest() override; 93 ~DetachRequest() override;
79 94
80 void PerformRequest() override; 95 void PerformRequest() override;
81 void HandleResponse(const IPC::Message& message) override; 96 void HandleResponse(const IPC::Message& message) override;
82 }; 97 };
83 98
84 explicit ExtensionsGuestViewContainer(content::RenderFrame* render_frame); 99 explicit ExtensionsGuestViewContainer(content::RenderFrame* render_frame);
85 ~ExtensionsGuestViewContainer() override; 100 ~ExtensionsGuestViewContainer() override;
86 101
87 static ExtensionsGuestViewContainer* FromID(int element_instance_id); 102 static ExtensionsGuestViewContainer* FromID(int element_instance_id);
88 103
89 void IssueRequest(linked_ptr<Request> request); 104 void IssueRequest(linked_ptr<Request> request);
90 void RegisterDestructionCallback(v8::Local<v8::Function> callback, 105 void RegisterDestructionCallback(v8::Local<v8::Function> callback,
91 v8::Isolate* isolate); 106 v8::Isolate* isolate);
92 void RegisterElementResizeCallback(v8::Local<v8::Function> callback, 107 void RegisterElementResizeCallback(v8::Local<v8::Function> callback,
93 v8::Isolate* isolate); 108 v8::Isolate* isolate);
94 109
110 void GuestContentWindowReady(const IPC::Message& message);
111
95 // BrowserPluginDelegate implementation. 112 // BrowserPluginDelegate implementation.
96 bool OnMessageReceived(const IPC::Message& message) override; 113 bool OnMessageReceived(const IPC::Message& message) override;
97 void SetElementInstanceID(int element_instance_id) override; 114 void SetElementInstanceID(int element_instance_id) override;
98 void Ready() override; 115 void Ready() override;
99 void DidResizeElement(const gfx::Size& old_size, 116 void DidResizeElement(const gfx::Size& old_size,
100 const gfx::Size& new_size) override; 117 const gfx::Size& new_size) override;
101 118
102 private: 119 private:
103 void OnHandleCallback(const IPC::Message& message); 120 void OnHandleCallback(const IPC::Message& message);
104 121
(...skipping 16 matching lines...) Expand all
121 138
122 // Weak pointer factory used for calling the element resize callback. 139 // Weak pointer factory used for calling the element resize callback.
123 base::WeakPtrFactory<ExtensionsGuestViewContainer> weak_ptr_factory_; 140 base::WeakPtrFactory<ExtensionsGuestViewContainer> weak_ptr_factory_;
124 141
125 DISALLOW_COPY_AND_ASSIGN(ExtensionsGuestViewContainer); 142 DISALLOW_COPY_AND_ASSIGN(ExtensionsGuestViewContainer);
126 }; 143 };
127 144
128 } // namespace extensions 145 } // namespace extensions
129 146
130 #endif // EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_CONTAINER_H_ 147 #endif // EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_CONTAINER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698