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

Side by Side Diff: components/html_viewer/html_frame_tree_manager.cc

Issue 1414663002: Mandoline webview: View => Window (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: More renaming Created 5 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 | « components/html_viewer/html_frame_apptest.cc ('k') | components/web_view/frame.h » ('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 #include "components/html_viewer/html_frame_tree_manager.h" 5 #include "components/html_viewer/html_frame_tree_manager.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 scoped_ptr<DocumentResourceWaiter> resource_waiter, 73 scoped_ptr<DocumentResourceWaiter> resource_waiter,
74 HTMLFrameDelegate* delegate) { 74 HTMLFrameDelegate* delegate) {
75 if (!instances_) 75 if (!instances_)
76 instances_ = new TreeMap; 76 instances_ = new TreeMap;
77 77
78 mojo::InterfaceRequest<web_view::mojom::FrameClient> frame_client_request; 78 mojo::InterfaceRequest<web_view::mojom::FrameClient> frame_client_request;
79 web_view::mojom::FramePtr server_frame; 79 web_view::mojom::FramePtr server_frame;
80 mojo::Array<web_view::mojom::FrameDataPtr> frame_data; 80 mojo::Array<web_view::mojom::FrameDataPtr> frame_data;
81 uint32_t change_id; 81 uint32_t change_id;
82 uint32_t window_id; 82 uint32_t window_id;
83 web_view::mojom::ViewConnectType view_connect_type; 83 web_view::mojom::WindowConnectType window_connect_type;
84 web_view::mojom::FrameClient::OnConnectCallback on_connect_callback; 84 web_view::mojom::FrameClient::OnConnectCallback on_connect_callback;
85 resource_waiter->Release(&frame_client_request, &server_frame, &frame_data, 85 resource_waiter->Release(&frame_client_request, &server_frame, &frame_data,
86 &change_id, &window_id, &view_connect_type, 86 &change_id, &window_id, &window_connect_type,
87 &on_connect_callback); 87 &on_connect_callback);
88 resource_waiter.reset(); 88 resource_waiter.reset();
89 89
90 on_connect_callback.Run(); 90 on_connect_callback.Run();
91 91
92 HTMLFrameTreeManager* frame_tree = 92 HTMLFrameTreeManager* frame_tree =
93 FindFrameTreeWithRoot(frame_data[0]->frame_id); 93 FindFrameTreeWithRoot(frame_data[0]->frame_id);
94 94
95 DCHECK(!frame_tree || change_id <= frame_tree->change_id_); 95 DCHECK(!frame_tree || change_id <= frame_tree->change_id_);
96 96
97 DVLOG(2) << "HTMLFrameTreeManager::CreateFrameAndAttachToTree " 97 DVLOG(2) << "HTMLFrameTreeManager::CreateFrameAndAttachToTree "
98 << " frame_tree=" << frame_tree << " use_existing=" 98 << " frame_tree=" << frame_tree << " use_existing="
99 << (view_connect_type == 99 << (window_connect_type ==
100 web_view::mojom::VIEW_CONNECT_TYPE_USE_EXISTING) 100 web_view::mojom::WINDOW_CONNECT_TYPE_USE_EXISTING)
101 << " frame_id=" << window_id; 101 << " frame_id=" << window_id;
102 if (view_connect_type == web_view::mojom::VIEW_CONNECT_TYPE_USE_EXISTING && 102 if (window_connect_type ==
103 web_view::mojom::WINDOW_CONNECT_TYPE_USE_EXISTING &&
103 !frame_tree) { 104 !frame_tree) {
104 DVLOG(1) << "was told to use existing window but do not have frame tree"; 105 DVLOG(1) << "was told to use existing window but do not have frame tree";
105 return nullptr; 106 return nullptr;
106 } 107 }
107 108
108 if (!frame_tree) { 109 if (!frame_tree) {
109 frame_tree = new HTMLFrameTreeManager(global_state); 110 frame_tree = new HTMLFrameTreeManager(global_state);
110 frame_tree->Init(delegate, window, frame_data, change_id); 111 frame_tree->Init(delegate, window, frame_data, change_id);
111 (*instances_)[frame_data[0]->frame_id] = frame_tree; 112 (*instances_)[frame_data[0]->frame_id] = frame_tree;
112 } else if (view_connect_type == 113 } else if (window_connect_type ==
113 web_view::mojom::VIEW_CONNECT_TYPE_USE_EXISTING) { 114 web_view::mojom::WINDOW_CONNECT_TYPE_USE_EXISTING) {
114 HTMLFrame* existing_frame = frame_tree->root_->FindFrame(window_id); 115 HTMLFrame* existing_frame = frame_tree->root_->FindFrame(window_id);
115 if (!existing_frame) { 116 if (!existing_frame) {
116 DVLOG(1) << "was told to use existing window but could not find window"; 117 DVLOG(1) << "was told to use existing window but could not find window";
117 return nullptr; 118 return nullptr;
118 } 119 }
119 if (!existing_frame->IsLocal()) { 120 if (!existing_frame->IsLocal()) {
120 DVLOG(1) << "was told to use existing window, but frame is remote"; 121 DVLOG(1) << "was told to use existing window, but frame is remote";
121 return nullptr; 122 return nullptr;
122 } 123 }
123 existing_frame->SwapDelegate(delegate); 124 existing_frame->SwapDelegate(delegate);
(...skipping 275 matching lines...) Expand 10 before | Expand all | Expand 10 after
399 400
400 for (const auto& child : node->children()) 401 for (const auto& child : node->children())
401 nodes.push(child); 402 nodes.push(child);
402 } 403 }
403 } 404 }
404 405
405 return new_local_frame; 406 return new_local_frame;
406 } 407 }
407 408
408 } // namespace mojo 409 } // namespace mojo
OLDNEW
« no previous file with comments | « components/html_viewer/html_frame_apptest.cc ('k') | components/web_view/frame.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698