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

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: Make <webview> work without --site-per-process as well 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 private:
84 const int guest_instance_id_;
85 };
86
73 class DetachRequest : public Request { 87 class DetachRequest : public Request {
74 public: 88 public:
75 DetachRequest(GuestViewContainer* container, 89 DetachRequest(GuestViewContainer* container,
76 v8::Handle<v8::Function> callback, 90 v8::Handle<v8::Function> callback,
77 v8::Isolate* isolate); 91 v8::Isolate* isolate);
78 ~DetachRequest() override; 92 ~DetachRequest() override;
79 93
80 void PerformRequest() override; 94 void PerformRequest() override;
81 void HandleResponse(const IPC::Message& message) override; 95 void HandleResponse(const IPC::Message& message) override;
82 }; 96 };
83 97
84 explicit ExtensionsGuestViewContainer(content::RenderFrame* render_frame); 98 explicit ExtensionsGuestViewContainer(content::RenderFrame* render_frame);
85 ~ExtensionsGuestViewContainer() override; 99 ~ExtensionsGuestViewContainer() override;
86 100
87 static ExtensionsGuestViewContainer* FromID(int element_instance_id); 101 static ExtensionsGuestViewContainer* FromID(int element_instance_id);
88 102
89 void IssueRequest(linked_ptr<Request> request); 103 void IssueRequest(linked_ptr<Request> request);
90 void RegisterDestructionCallback(v8::Handle<v8::Function> callback, 104 void RegisterDestructionCallback(v8::Handle<v8::Function> callback,
91 v8::Isolate* isolate); 105 v8::Isolate* isolate);
92 void RegisterElementResizeCallback(v8::Handle<v8::Function> callback, 106 void RegisterElementResizeCallback(v8::Handle<v8::Function> callback,
93 v8::Isolate* isolate); 107 v8::Isolate* isolate);
94 108
109 void GuestContentWindowReady(const IPC::Message& message);
110
95 // BrowserPluginDelegate implementation. 111 // BrowserPluginDelegate implementation.
96 bool OnMessageReceived(const IPC::Message& message) override; 112 bool OnMessageReceived(const IPC::Message& message) override;
97 void SetElementInstanceID(int element_instance_id) override; 113 void SetElementInstanceID(int element_instance_id) override;
98 void Ready() override; 114 void Ready() override;
99 void DidResizeElement(const gfx::Size& old_size, 115 void DidResizeElement(const gfx::Size& old_size,
100 const gfx::Size& new_size) override; 116 const gfx::Size& new_size) override;
101 117
102 private: 118 private:
103 void OnHandleCallback(const IPC::Message& message); 119 void OnHandleCallback(const IPC::Message& message);
104 120
(...skipping 16 matching lines...) Expand all
121 137
122 // Weak pointer factory used for calling the element resize callback. 138 // Weak pointer factory used for calling the element resize callback.
123 base::WeakPtrFactory<ExtensionsGuestViewContainer> weak_ptr_factory_; 139 base::WeakPtrFactory<ExtensionsGuestViewContainer> weak_ptr_factory_;
124 140
125 DISALLOW_COPY_AND_ASSIGN(ExtensionsGuestViewContainer); 141 DISALLOW_COPY_AND_ASSIGN(ExtensionsGuestViewContainer);
126 }; 142 };
127 143
128 } // namespace extensions 144 } // namespace extensions
129 145
130 #endif // EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_CONTAINER_H_ 146 #endif // EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_CONTAINER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698