| OLD | NEW | 
|---|
| 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 "mandoline/ui/browser/browser.h" | 5 #include "mandoline/ui/browser/browser.h" | 
| 6 | 6 | 
| 7 #include "base/command_line.h" | 7 #include "base/command_line.h" | 
| 8 #include "base/strings/utf_string_conversions.h" | 8 #include "base/strings/utf_string_conversions.h" | 
| 9 #include "components/view_manager/public/cpp/view.h" | 9 #include "components/view_manager/public/cpp/view.h" | 
| 10 #include "components/view_manager/public/cpp/view_manager_init.h" | 10 #include "components/view_manager/public/cpp/view_manager_init.h" | 
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 110 } | 110 } | 
| 111 | 111 | 
| 112 void Browser::OnEmbedForDescendant(mojo::View* view, | 112 void Browser::OnEmbedForDescendant(mojo::View* view, | 
| 113                                    mojo::URLRequestPtr request, | 113                                    mojo::URLRequestPtr request, | 
| 114                                    mojo::ViewManagerClientPtr* client) { | 114                                    mojo::ViewManagerClientPtr* client) { | 
| 115   // TODO(sky): move this to Frame/FrameTree. | 115   // TODO(sky): move this to Frame/FrameTree. | 
| 116   Frame* frame = Frame::FindFirstFrameAncestor(view); | 116   Frame* frame = Frame::FindFirstFrameAncestor(view); | 
| 117   if (!frame || !frame->HasAncestor(frame_tree_->root())) { | 117   if (!frame || !frame->HasAncestor(frame_tree_->root())) { | 
| 118     // TODO(sky): add requestor url so that we can return false if it's not | 118     // TODO(sky): add requestor url so that we can return false if it's not | 
| 119     // an app we expect. | 119     // an app we expect. | 
| 120     mojo::ApplicationConnection* connection = | 120     scoped_ptr<mojo::ApplicationConnection> connection = | 
| 121         app_->ConnectToApplication(request.Pass()); | 121         app_->ConnectToApplication(request.Pass()); | 
| 122     connection->ConnectToService(client); | 122     connection->ConnectToService(client); | 
| 123     return; | 123     return; | 
| 124   } | 124   } | 
| 125 | 125 | 
| 126   scoped_ptr<FrameConnection> frame_connection(new FrameConnection); | 126   scoped_ptr<FrameConnection> frame_connection(new FrameConnection); | 
| 127   frame_connection->Init(app_, request.Pass(), client); | 127   frame_connection->Init(app_, request.Pass(), client); | 
| 128   FrameTreeClient* frame_tree_client = frame_connection->frame_tree_client(); | 128   FrameTreeClient* frame_tree_client = frame_connection->frame_tree_client(); | 
| 129   frame_tree_->CreateOrReplaceFrame(frame, view, frame_tree_client, | 129   frame_tree_->CreateOrReplaceFrame(frame, view, frame_tree_client, | 
| 130                                     frame_connection.Pass()); | 130                                     frame_connection.Pass()); | 
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 208   view_embedder_bindings_.AddBinding(this, request.Pass()); | 208   view_embedder_bindings_.AddBinding(this, request.Pass()); | 
| 209 } | 209 } | 
| 210 | 210 | 
| 211 void Browser::ShowOmnibox(mojo::URLRequestPtr request) { | 211 void Browser::ShowOmnibox(mojo::URLRequestPtr request) { | 
| 212   if (!omnibox_) { | 212   if (!omnibox_) { | 
| 213     omnibox_ = root_->view_manager()->CreateView(); | 213     omnibox_ = root_->view_manager()->CreateView(); | 
| 214     root_->AddChild(omnibox_); | 214     root_->AddChild(omnibox_); | 
| 215     omnibox_->SetBounds(root_->bounds()); | 215     omnibox_->SetBounds(root_->bounds()); | 
| 216   } | 216   } | 
| 217   mojo::ViewManagerClientPtr view_manager_client; | 217   mojo::ViewManagerClientPtr view_manager_client; | 
| 218   mojo::ApplicationConnection* connection = | 218   scoped_ptr<mojo::ApplicationConnection> connection = | 
| 219       app_->ConnectToApplication(request.Pass()); | 219       app_->ConnectToApplication(request.Pass()); | 
| 220   connection->AddService<ViewEmbedder>(this); | 220   connection->AddService<ViewEmbedder>(this); | 
| 221   connection->ConnectToService(&view_manager_client); | 221   connection->ConnectToService(&view_manager_client); | 
| 222   omnibox_->Embed(view_manager_client.Pass()); | 222   omnibox_->Embed(view_manager_client.Pass()); | 
| 223   omnibox_->SetVisible(true); | 223   omnibox_->SetVisible(true); | 
| 224 } | 224 } | 
| 225 | 225 | 
| 226 void Browser::RequestNavigate(Frame* source, | 226 void Browser::RequestNavigate(Frame* source, | 
| 227                               NavigationTargetType target_type, | 227                               NavigationTargetType target_type, | 
| 228                               Frame* target_frame, | 228                               Frame* target_frame, | 
| 229                               mojo::URLRequestPtr request) { | 229                               mojo::URLRequestPtr request) { | 
| 230   // TODO: this needs security checks. | 230   // TODO: this needs security checks. | 
| 231   if (target_type == NAVIGATION_TARGET_TYPE_EXISTING_FRAME) { | 231   if (target_type == NAVIGATION_TARGET_TYPE_EXISTING_FRAME) { | 
| 232     if (target_frame && target_frame != frame_tree_->root() && | 232     if (target_frame && target_frame != frame_tree_->root() && | 
| 233         target_frame->view()) { | 233         target_frame->view()) { | 
| 234       NavigateExistingFrame(target_frame, request.Pass()); | 234       NavigateExistingFrame(target_frame, request.Pass()); | 
| 235       return; | 235       return; | 
| 236     } | 236     } | 
| 237     DVLOG(1) << "RequestNavigate() targeted existing frame that doesn't exist."; | 237     DVLOG(1) << "RequestNavigate() targeted existing frame that doesn't exist."; | 
| 238     return; | 238     return; | 
| 239   } | 239   } | 
| 240   ReplaceContentWithRequest(request.Pass()); | 240   ReplaceContentWithRequest(request.Pass()); | 
| 241 } | 241 } | 
| 242 | 242 | 
| 243 }  // namespace mandoline | 243 }  // namespace mandoline | 
| OLD | NEW | 
|---|