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

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: Revert unused changes from previous attempt + more cleanup. Created 5 years, 9 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 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 ~AttachRequest() override; 60 ~AttachRequest() override;
61 61
62 void PerformRequest() override; 62 void PerformRequest() override;
63 void HandleResponse(const IPC::Message& message) override; 63 void HandleResponse(const IPC::Message& message) override;
64 64
65 private: 65 private:
66 const int guest_instance_id_; 66 const int guest_instance_id_;
67 scoped_ptr<base::DictionaryValue> params_; 67 scoped_ptr<base::DictionaryValue> params_;
68 }; 68 };
69 69
70 class AttachIframeRequest : public Request {
71 public:
72 AttachIframeRequest(GuestViewContainer* container,
73 int guest_instance_id,
74 v8::Handle<v8::Function> callback,
75 v8::Isolate* isolate);
76 ~AttachIframeRequest() override;
77
78 void PerformRequest() override;
79 void HandleResponse(const IPC::Message& message) override;
80 private:
81 const int guest_instance_id_;
82 };
83
70 class DetachRequest : public Request { 84 class DetachRequest : public Request {
71 public: 85 public:
72 DetachRequest(GuestViewContainer* container, 86 DetachRequest(GuestViewContainer* container,
73 v8::Handle<v8::Function> callback, 87 v8::Handle<v8::Function> callback,
74 v8::Isolate* isolate); 88 v8::Isolate* isolate);
75 ~DetachRequest() override; 89 ~DetachRequest() override;
76 90
77 void PerformRequest() override; 91 void PerformRequest() override;
78 void HandleResponse(const IPC::Message& message) override; 92 void HandleResponse(const IPC::Message& message) override;
79 }; 93 };
80 94
81 explicit ExtensionsGuestViewContainer(content::RenderFrame* render_frame); 95 explicit ExtensionsGuestViewContainer(content::RenderFrame* render_frame);
82 ~ExtensionsGuestViewContainer() override; 96 ~ExtensionsGuestViewContainer() override;
83 97
84 static ExtensionsGuestViewContainer* FromID(int element_instance_id); 98 static ExtensionsGuestViewContainer* FromID(int element_instance_id);
85 99
86 void IssueRequest(linked_ptr<Request> request); 100 void IssueRequest(linked_ptr<Request> request);
87 void RegisterDestructionCallback(v8::Handle<v8::Function> callback, 101 void RegisterDestructionCallback(v8::Handle<v8::Function> callback,
88 v8::Isolate* isolate); 102 v8::Isolate* isolate);
89 void RegisterElementResizeCallback(v8::Handle<v8::Function> callback, 103 void RegisterElementResizeCallback(v8::Handle<v8::Function> callback,
90 v8::Isolate* isolate); 104 v8::Isolate* isolate);
91 105
106 void GuestContentWindowReady(const IPC::Message& message);
107
92 // BrowserPluginDelegate implementation. 108 // BrowserPluginDelegate implementation.
93 bool OnMessageReceived(const IPC::Message& message) override; 109 bool OnMessageReceived(const IPC::Message& message) override;
94 void SetElementInstanceID(int element_instance_id) override; 110 void SetElementInstanceID(int element_instance_id) override;
95 void Ready() override; 111 void Ready() override;
96 void DidResizeElement(const gfx::Size& old_size, 112 void DidResizeElement(const gfx::Size& old_size,
97 const gfx::Size& new_size) override; 113 const gfx::Size& new_size) override;
98 114
99 private: 115 private:
100 void OnHandleCallback(const IPC::Message& message); 116 void OnHandleCallback(const IPC::Message& message);
101 117
(...skipping 11 matching lines...) Expand all
113 129
114 ScopedPersistent<v8::Function> element_resize_callback_; 130 ScopedPersistent<v8::Function> element_resize_callback_;
115 v8::Isolate* element_resize_isolate_; 131 v8::Isolate* element_resize_isolate_;
116 132
117 DISALLOW_COPY_AND_ASSIGN(ExtensionsGuestViewContainer); 133 DISALLOW_COPY_AND_ASSIGN(ExtensionsGuestViewContainer);
118 }; 134 };
119 135
120 } // namespace extensions 136 } // namespace extensions
121 137
122 #endif // EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_CONTAINER_H_ 138 #endif // EXTENSIONS_RENDERER_GUEST_VIEW_EXTENSIONS_GUEST_VIEW_CONTAINER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698