| Index: services/navigation/view_impl.cc
|
| diff --git a/services/navigation/view_impl.cc b/services/navigation/view_impl.cc
|
| index 227b3580994fd8f92cb99a2a15dfb21e670665f8..ea5c26c71cac38852c129cb98b9b8d8a78373d08 100644
|
| --- a/services/navigation/view_impl.cc
|
| +++ b/services/navigation/view_impl.cc
|
| @@ -4,90 +4,28 @@
|
|
|
| #include "services/navigation/view_impl.h"
|
|
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "components/mus/public/cpp/window_tree_connection.h"
|
| #include "content/public/browser/navigation_controller.h"
|
| #include "content/public/browser/web_contents.h"
|
| -#include "mojo/converters/geometry/geometry_type_converters.h"
|
| -#include "ui/views/controls/webview/webview.h"
|
| -#include "ui/views/mus/native_widget_mus.h"
|
| -#include "ui/views/widget/widget.h"
|
| #include "url/gurl.h"
|
|
|
| namespace navigation {
|
|
|
| -ViewImpl::ViewImpl(shell::Connector* connector,
|
| - content::BrowserContext* browser_context,
|
| +ViewImpl::ViewImpl(content::BrowserContext* browser_context,
|
| mojom::ViewClientPtr client,
|
| mojom::ViewRequest request,
|
| std::unique_ptr<shell::ShellConnectionRef> ref)
|
| - : connector_(connector),
|
| - binding_(this, std::move(request)),
|
| + : binding_(this, std::move(request)),
|
| client_(std::move(client)),
|
| - ref_(std::move(ref)),
|
| - web_view_(new views::WebView(browser_context)) {
|
| - web_view_->GetWebContents()->SetDelegate(this);
|
| + ref_(std::move(ref)) {
|
| + web_contents_.reset(content::WebContents::Create(
|
| + content::WebContents::CreateParams(browser_context)));
|
| + web_contents_->SetDelegate(this);
|
| }
|
| ViewImpl::~ViewImpl() {}
|
|
|
| -void ViewImpl::NavigateTo(const GURL& url) {
|
| - web_view_->GetWebContents()->GetController().LoadURL(
|
| +void ViewImpl::LoadUrl(const GURL& url) {
|
| + web_contents_->GetController().LoadURL(
|
| url, content::Referrer(), ui::PAGE_TRANSITION_TYPED, std::string());
|
| -}
|
| -
|
| -void ViewImpl::GoBack() {
|
| - web_view_->GetWebContents()->GetController().GoBack();
|
| -}
|
| -
|
| -void ViewImpl::GoForward() {
|
| - web_view_->GetWebContents()->GetController().GoForward();
|
| -}
|
| -
|
| -void ViewImpl::Reload(bool skip_cache) {
|
| - if (skip_cache)
|
| - web_view_->GetWebContents()->GetController().Reload(true);
|
| - else
|
| - web_view_->GetWebContents()->GetController().ReloadBypassingCache(true);
|
| -}
|
| -
|
| -void ViewImpl::Stop() {
|
| - web_view_->GetWebContents()->Stop();
|
| -}
|
| -
|
| -void ViewImpl::GetWindowTreeClient(
|
| - mus::mojom::WindowTreeClientRequest request) {
|
| - mus::WindowTreeConnection::Create(
|
| - this, std::move(request),
|
| - mus::WindowTreeConnection::CreateType::DONT_WAIT_FOR_EMBED);
|
| -}
|
| -
|
| -void ViewImpl::AddNewContents(content::WebContents* source,
|
| - content::WebContents* new_contents,
|
| - WindowOpenDisposition disposition,
|
| - const gfx::Rect& initial_rect,
|
| - bool user_gesture,
|
| - bool* was_blocked) {
|
| - mojom::ViewClientPtr client;
|
| - mojom::ViewPtr view;
|
| - mojom::ViewRequest view_request = GetProxy(&view);
|
| - client_->ViewCreated(std::move(view), GetProxy(&client),
|
| - disposition == NEW_POPUP, mojo::Rect::From(initial_rect),
|
| - user_gesture);
|
| - ViewImpl* impl =
|
| - new ViewImpl(connector_, new_contents->GetBrowserContext(),
|
| - std::move(client), std::move(view_request), ref_->Clone());
|
| - // TODO(beng): This is a bit crappy. should be able to create the ViewImpl
|
| - // with |new_contents| instead.
|
| - impl->web_view_->SetWebContents(new_contents);
|
| - impl->web_view_->GetWebContents()->SetDelegate(impl);
|
| -
|
| - // TODO(beng): this reply is currently synchronous, figure out a fix.
|
| - if (was_blocked)
|
| - *was_blocked = false;
|
| -}
|
| -
|
| -void ViewImpl::CloseContents(content::WebContents* source) {
|
| - client_->Close();
|
| }
|
|
|
| void ViewImpl::LoadingStateChanged(content::WebContents* source,
|
| @@ -95,45 +33,4 @@
|
| client_->LoadingStateChanged(source->IsLoading());
|
| }
|
|
|
| -void ViewImpl::NavigationStateChanged(content::WebContents* source,
|
| - content::InvalidateTypes changed_flags) {
|
| - client_->NavigationStateChanged(source->GetVisibleURL(),
|
| - base::UTF16ToUTF8(source->GetTitle()),
|
| - source->GetController().CanGoBack(),
|
| - source->GetController().CanGoForward());
|
| -}
|
| -
|
| -void ViewImpl::LoadProgressChanged(content::WebContents* source,
|
| - double progress) {
|
| - client_->LoadProgressChanged(progress);
|
| -}
|
| -
|
| -void ViewImpl::OnEmbed(mus::Window* root) {
|
| - DCHECK(!widget_.get());
|
| - widget_.reset(new views::Widget);
|
| - views::Widget::InitParams params(
|
| - views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
|
| - params.ownership = views::Widget::InitParams::WIDGET_OWNS_NATIVE_WIDGET;
|
| - params.delegate = this;
|
| - params.native_widget = new views::NativeWidgetMus(
|
| - widget_.get(), connector_, root, mus::mojom::SurfaceType::DEFAULT);
|
| - widget_->Init(params);
|
| - widget_->Show();
|
| -}
|
| -
|
| -void ViewImpl::OnConnectionLost(mus::WindowTreeConnection* connection) {}
|
| -void ViewImpl::OnEventObserved(const ui::Event& event, mus::Window* target) {}
|
| -
|
| -views::View* ViewImpl::GetContentsView() {
|
| - return web_view_;
|
| -}
|
| -
|
| -views::Widget* ViewImpl::GetWidget() {
|
| - return web_view_->GetWidget();
|
| -}
|
| -
|
| -const views::Widget* ViewImpl::GetWidget() const {
|
| - return web_view_->GetWidget();
|
| -}
|
| -
|
| } // navigation
|
|
|