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

Side by Side Diff: components/web_view/frame.h

Issue 1351013002: Revert of Mandoline UI Process: Update namespaces and file names (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 3 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 | « components/pdf_viewer/pdf_viewer.cc ('k') | components/web_view/frame.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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 COMPONENTS_WEB_VIEW_FRAME_H_ 5 #ifndef COMPONENTS_WEB_VIEW_FRAME_H_
6 #define COMPONENTS_WEB_VIEW_FRAME_H_ 6 #define COMPONENTS_WEB_VIEW_FRAME_H_
7 7
8 #include <map> 8 #include <map>
9 #include <vector> 9 #include <vector>
10 10
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 // 42 //
43 // Each frame has an identifier of the app providing the FrameTreeClient 43 // Each frame has an identifier of the app providing the FrameTreeClient
44 // (|app_id|). This id is used when servicing a request to navigate the frame. 44 // (|app_id|). This id is used when servicing a request to navigate the frame.
45 // When navigating, if the id of the new app matches that of the existing app, 45 // When navigating, if the id of the new app matches that of the existing app,
46 // then it is expected that the new FrameTreeClient will take over rendering to 46 // then it is expected that the new FrameTreeClient will take over rendering to
47 // the existing view. Because of this a new ViewTreeClient is not obtained and 47 // the existing view. Because of this a new ViewTreeClient is not obtained and
48 // Embed() is not invoked on the View. The FrameTreeClient can detect this case 48 // Embed() is not invoked on the View. The FrameTreeClient can detect this case
49 // by the argument |reuse_existing_view| supplied to OnConnect(). Typically the 49 // by the argument |reuse_existing_view| supplied to OnConnect(). Typically the
50 // id is that of content handler id, but this is left up to the 50 // id is that of content handler id, but this is left up to the
51 // FrameTreeDelegate to decide. 51 // FrameTreeDelegate to decide.
52 class Frame : public mus::ViewObserver, public FrameTreeServer { 52 class Frame : public mojo::ViewObserver, public FrameTreeServer {
53 public: 53 public:
54 using ClientPropertyMap = std::map<std::string, std::vector<uint8_t>>; 54 using ClientPropertyMap = std::map<std::string, std::vector<uint8_t>>;
55 55
56 Frame(FrameTree* tree, 56 Frame(FrameTree* tree,
57 mus::View* view, 57 mojo::View* view,
58 uint32_t frame_id, 58 uint32_t frame_id,
59 uint32_t app_id, 59 uint32_t app_id,
60 ViewOwnership view_ownership, 60 ViewOwnership view_ownership,
61 FrameTreeClient* frame_tree_client, 61 FrameTreeClient* frame_tree_client,
62 scoped_ptr<FrameUserData> user_data, 62 scoped_ptr<FrameUserData> user_data,
63 const ClientPropertyMap& client_properties); 63 const ClientPropertyMap& client_properties);
64 ~Frame() override; 64 ~Frame() override;
65 65
66 void Init(Frame* parent, mojo::ViewTreeClientPtr view_tree_client); 66 void Init(Frame* parent, mojo::ViewTreeClientPtr view_tree_client);
67 67
68 // Walks the View tree starting at |view| going up returning the first 68 // Walks the View tree starting at |view| going up returning the first
69 // Frame that is associated with |view|. For example, if |view| 69 // Frame that is associated with |view|. For example, if |view|
70 // has a Frame associated with it, then that is returned. Otherwise 70 // has a Frame associated with it, then that is returned. Otherwise
71 // this checks view->parent() and so on. 71 // this checks view->parent() and so on.
72 static Frame* FindFirstFrameAncestor(mus::View* view); 72 static Frame* FindFirstFrameAncestor(mojo::View* view);
73 73
74 FrameTree* tree() { return tree_; } 74 FrameTree* tree() { return tree_; }
75 75
76 Frame* parent() { return parent_; } 76 Frame* parent() { return parent_; }
77 const Frame* parent() const { return parent_; } 77 const Frame* parent() const { return parent_; }
78 78
79 mus::View* view() { return view_; } 79 mojo::View* view() { return view_; }
80 const mus::View* view() const { return view_; } 80 const mojo::View* view() const { return view_; }
81 81
82 uint32_t id() const { return id_; } 82 uint32_t id() const { return id_; }
83 83
84 uint32_t app_id() const { return app_id_; } 84 uint32_t app_id() const { return app_id_; }
85 85
86 const ClientPropertyMap& client_properties() const { 86 const ClientPropertyMap& client_properties() const {
87 return client_properties_; 87 return client_properties_;
88 } 88 }
89 89
90 // Finds the descendant with the specified id. 90 // Finds the descendant with the specified id.
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
130 scoped_ptr<FrameTreeServerBinding> frame_tree_server_binding, 130 scoped_ptr<FrameTreeServerBinding> frame_tree_server_binding,
131 mojo::ViewTreeClientPtr view_tree_client); 131 mojo::ViewTreeClientPtr view_tree_client);
132 132
133 // Callback from OnConnect(). This does nothing (other than destroying 133 // Callback from OnConnect(). This does nothing (other than destroying
134 // |frame_tree_server_binding|). See InitClient() for details as to why 134 // |frame_tree_server_binding|). See InitClient() for details as to why
135 // destruction of |frame_tree_server_binding| happens after OnConnect(). 135 // destruction of |frame_tree_server_binding| happens after OnConnect().
136 static void OnConnectAck( 136 static void OnConnectAck(
137 scoped_ptr<FrameTreeServerBinding> frame_tree_server_binding); 137 scoped_ptr<FrameTreeServerBinding> frame_tree_server_binding);
138 138
139 // Callback from OnEmbed(). 139 // Callback from OnEmbed().
140 void OnEmbedAck(bool success, mus::ConnectionSpecificId connection_id); 140 void OnEmbedAck(bool success, mojo::ConnectionSpecificId connection_id);
141 141
142 // Completes a navigation request; swapping the existing FrameTreeClient to 142 // Completes a navigation request; swapping the existing FrameTreeClient to
143 // the supplied arguments. 143 // the supplied arguments.
144 void ChangeClient(FrameTreeClient* frame_tree_client, 144 void ChangeClient(FrameTreeClient* frame_tree_client,
145 scoped_ptr<FrameUserData> user_data, 145 scoped_ptr<FrameUserData> user_data,
146 mojo::ViewTreeClientPtr view_tree_client, 146 mojo::ViewTreeClientPtr view_tree_client,
147 uint32 app_id); 147 uint32 app_id);
148 148
149 void SetView(mus::View* view); 149 void SetView(mojo::View* view);
150 150
151 // Returns the first ancestor (starting at |this|) that has a 151 // Returns the first ancestor (starting at |this|) that has a
152 // FrameTreeClient. 152 // FrameTreeClient.
153 Frame* GetAncestorWithFrameTreeClient(); 153 Frame* GetAncestorWithFrameTreeClient();
154 154
155 // Adds this to |frames| and recurses through the children calling the 155 // Adds this to |frames| and recurses through the children calling the
156 // same function. 156 // same function.
157 void BuildFrameTree(std::vector<const Frame*>* frames) const; 157 void BuildFrameTree(std::vector<const Frame*>* frames) const;
158 158
159 void Add(Frame* node); 159 void Add(Frame* node);
(...skipping 25 matching lines...) Expand all
185 void NotifyAdded(const Frame* source, 185 void NotifyAdded(const Frame* source,
186 const Frame* added_node, 186 const Frame* added_node,
187 uint32_t change_id); 187 uint32_t change_id);
188 void NotifyRemoved(const Frame* source, 188 void NotifyRemoved(const Frame* source,
189 const Frame* removed_node, 189 const Frame* removed_node,
190 uint32_t change_id); 190 uint32_t change_id);
191 void NotifyClientPropertyChanged(const Frame* source, 191 void NotifyClientPropertyChanged(const Frame* source,
192 const mojo::String& name, 192 const mojo::String& name,
193 const mojo::Array<uint8_t>& value); 193 const mojo::Array<uint8_t>& value);
194 194
195 // mus::ViewObserver: 195 // mojo::ViewObserver:
196 void OnTreeChanged(const TreeChangeParams& params) override; 196 void OnTreeChanged(const TreeChangeParams& params) override;
197 void OnViewDestroying(mus::View* view) override; 197 void OnViewDestroying(mojo::View* view) override;
198 void OnViewEmbeddedAppDisconnected(mus::View* view) override; 198 void OnViewEmbeddedAppDisconnected(mojo::View* view) override;
199 199
200 // FrameTreeServer: 200 // FrameTreeServer:
201 void PostMessageEventToFrame(uint32_t source_frame_id, 201 void PostMessageEventToFrame(uint32_t source_frame_id,
202 uint32_t target_frame_id, 202 uint32_t target_frame_id,
203 HTMLMessageEventPtr event) override; 203 HTMLMessageEventPtr event) override;
204 void LoadingStarted(uint32_t frame_id) override; 204 void LoadingStarted(uint32_t frame_id) override;
205 void LoadingStopped(uint32_t frame_id) override; 205 void LoadingStopped(uint32_t frame_id) override;
206 void ProgressChanged(uint32_t frame_id, double progress) override; 206 void ProgressChanged(uint32_t frame_id, double progress) override;
207 void TitleChanged(uint32_t frame_id, const mojo::String& title) override; 207 void TitleChanged(uint32_t frame_id, const mojo::String& title) override;
208 void SetClientProperty(uint32_t frame_id, 208 void SetClientProperty(uint32_t frame_id,
209 const mojo::String& name, 209 const mojo::String& name,
210 mojo::Array<uint8_t> value) override; 210 mojo::Array<uint8_t> value) override;
211 void OnCreatedFrame( 211 void OnCreatedFrame(
212 uint32_t parent_id, 212 uint32_t parent_id,
213 uint32_t frame_id, 213 uint32_t frame_id,
214 mojo::Map<mojo::String, mojo::Array<uint8_t>> client_properties) override; 214 mojo::Map<mojo::String, mojo::Array<uint8_t>> client_properties) override;
215 void RequestNavigate(NavigationTargetType target_type, 215 void RequestNavigate(NavigationTargetType target_type,
216 uint32_t target_frame_id, 216 uint32_t target_frame_id,
217 mojo::URLRequestPtr request) override; 217 mojo::URLRequestPtr request) override;
218 void DidNavigateLocally(uint32_t frame_id, const mojo::String& url) override; 218 void DidNavigateLocally(uint32_t frame_id, const mojo::String& url) override;
219 219
220 FrameTree* const tree_; 220 FrameTree* const tree_;
221 // WARNING: this may be null. See class description for details. 221 // WARNING: this may be null. See class description for details.
222 mus::View* view_; 222 mojo::View* view_;
223 // The connection id returned from ViewManager::Embed(). Frames created by 223 // The connection id returned from ViewManager::Embed(). Frames created by
224 // way of OnCreatedFrame() inherit the id from the parent. 224 // way of OnCreatedFrame() inherit the id from the parent.
225 mus::ConnectionSpecificId embedded_connection_id_; 225 mojo::ConnectionSpecificId embedded_connection_id_;
226 // ID for the frame, which is the same as that of the view. 226 // ID for the frame, which is the same as that of the view.
227 const uint32_t id_; 227 const uint32_t id_;
228 // ID of the app providing the FrameTreeClient and ViewTreeClient. 228 // ID of the app providing the FrameTreeClient and ViewTreeClient.
229 uint32_t app_id_; 229 uint32_t app_id_;
230 Frame* parent_; 230 Frame* parent_;
231 ViewOwnership view_ownership_; 231 ViewOwnership view_ownership_;
232 std::vector<Frame*> children_; 232 std::vector<Frame*> children_;
233 scoped_ptr<FrameUserData> user_data_; 233 scoped_ptr<FrameUserData> user_data_;
234 234
235 // WARNING: this may be null. See class description for details. 235 // WARNING: this may be null. See class description for details.
(...skipping 13 matching lines...) Expand all
249 base::WeakPtrFactory<Frame> embed_weak_ptr_factory_; 249 base::WeakPtrFactory<Frame> embed_weak_ptr_factory_;
250 250
251 base::WeakPtrFactory<Frame> navigate_weak_ptr_factory_; 251 base::WeakPtrFactory<Frame> navigate_weak_ptr_factory_;
252 252
253 DISALLOW_COPY_AND_ASSIGN(Frame); 253 DISALLOW_COPY_AND_ASSIGN(Frame);
254 }; 254 };
255 255
256 } // namespace web_view 256 } // namespace web_view
257 257
258 #endif // COMPONENTS_WEB_VIEW_FRAME_H_ 258 #endif // COMPONENTS_WEB_VIEW_FRAME_H_
OLDNEW
« no previous file with comments | « components/pdf_viewer/pdf_viewer.cc ('k') | components/web_view/frame.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698