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

Unified Diff: services/navigation/public/cpp/view.cc

Issue 2046723002: Add navigation client lib for convenience (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@target
Patch Set: Created 4 years, 6 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « services/navigation/public/cpp/view.h ('k') | services/navigation/public/cpp/view_delegate.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: services/navigation/public/cpp/view.cc
diff --git a/services/navigation/public/cpp/view.cc b/services/navigation/public/cpp/view.cc
new file mode 100644
index 0000000000000000000000000000000000000000..6cc8159fa877f95d663e12e3f291dc127b2c040d
--- /dev/null
+++ b/services/navigation/public/cpp/view.cc
@@ -0,0 +1,103 @@
+// Copyright 2016 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "services/navigation/public/cpp/view.h"
+
+#include "services/navigation/public/cpp/view_delegate.h"
+
+namespace navigation {
+
+////////////////////////////////////////////////////////////////////////////////
+// View, public:
+
+View::View(ViewDelegate* delegate) : delegate_(delegate), binding_(this) {}
+View::~View() {}
+
+void View::Init(mojom::ViewFactoryPtr factory) {
+ factory->CreateView(binding_.CreateInterfacePtrAndBind(), GetProxy(&view_));
+}
+
+void View::NavigateTo(const GURL& url) {
+ view_->NavigateTo(url);
+}
+
+void View::GoBack() {
+ if (can_go_back_)
+ view_->GoBack();
+}
+
+void View::GoForward() {
+ if (can_go_forward_)
+ view_->GoForward();
+}
+
+void View::Reload(bool skip_cache) {
+ view_->Reload(skip_cache);
+}
+
+void View::Stop() {
+ view_->Stop();
+}
+
+void View::ShowInterstitial(const std::string& html) {
+ view_->ShowInterstitial(html);
+}
+
+void View::HideInterstitial() {
+ view_->HideInterstitial();
+}
+
+void View::SetResizerSize(const gfx::Size& size) {
+ view_->SetResizerSize(size);
+}
+
+////////////////////////////////////////////////////////////////////////////////
+// View, mojom::ViewClient implementation:
+
+void View::LoadingStateChanged(bool is_loading) {
+ is_loading_ = is_loading;
+ if (delegate_)
+ delegate_->LoadingStateChanged(is_loading);
+}
+
+void View::NavigationStateChanged(const GURL& url,
+ const mojo::String& title,
+ bool can_go_back,
+ bool can_go_forward) {
+ title_ = title;
+ can_go_back_ = can_go_back;
+ can_go_forward_ = can_go_forward;
+ if (delegate_)
+ delegate_->NavigationStateChanged(url, title, can_go_back, can_go_forward);
+}
+
+void View::LoadProgressChanged(double progress) {
+ load_progress_ = progress;
+ if (delegate_)
+ delegate_->LoadProgressChanged(progress);
+}
+
+void View::UpdateHoverURL(const GURL& url) {
+ hover_url_ = url;
+ if (delegate_)
+ delegate_->UpdateHoverURL(url);
+}
+
+void View::ViewCreated(mojom::ViewPtr view,
+ mojom::ViewClientRequest client,
+ bool is_popup,
+ const gfx::Rect& initial_rect,
+ bool user_gesture) {
+ if (!delegate_)
+ return;
+ delegate_->ViewCreated(std::move(view), std::move(client), is_popup,
+ initial_rect, user_gesture);
+}
+
+void View::Close() {
+ if (delegate_)
+ delegate_->Close();
+}
+
+} // namespace navigation
« no previous file with comments | « services/navigation/public/cpp/view.h ('k') | services/navigation/public/cpp/view_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698