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

Side by Side Diff: mandoline/ui/phone_ui/phone_browser_application_delegate.h

Issue 1308973005: html_viewer/web_view: An app for running layout-tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: fix-win-build 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
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 MANDOLINE_UI_PHONE_UI_PHONE_BROWSER_APPLICATION_DELEGATE_H_ 5 #ifndef MANDOLINE_UI_PHONE_UI_PHONE_BROWSER_APPLICATION_DELEGATE_H_
6 #define MANDOLINE_UI_PHONE_UI_PHONE_BROWSER_APPLICATION_DELEGATE_H_ 6 #define MANDOLINE_UI_PHONE_UI_PHONE_BROWSER_APPLICATION_DELEGATE_H_
7 7
8 #include "base/macros.h" 8 #include "base/macros.h"
9 #include "base/memory/scoped_ptr.h" 9 #include "base/memory/scoped_ptr.h"
10 #include "components/view_manager/public/cpp/view_observer.h" 10 #include "components/view_manager/public/cpp/view_observer.h"
11 #include "components/view_manager/public/cpp/view_tree_delegate.h" 11 #include "components/view_manager/public/cpp/view_tree_delegate.h"
12 #include "components/view_manager/public/interfaces/view_tree_host.mojom.h" 12 #include "components/view_manager/public/interfaces/view_tree_host.mojom.h"
13 #include "components/web_view/public/cpp/web_view.h" 13 #include "components/web_view/public/cpp/web_view.h"
14 #include "components/web_view/public/interfaces/web_view.mojom.h" 14 #include "components/web_view/public/interfaces/web_view.mojom.h"
15 // TODO(beng): move this file somewhere common. 15 // TODO(beng): move this file somewhere common.
16 #include "mandoline/ui/desktop_ui/public/interfaces/launch_handler.mojom.h" 16 #include "mandoline/ui/desktop_ui/public/interfaces/launch_handler.mojom.h"
17 #include "mojo/application/public/cpp/application_delegate.h" 17 #include "mojo/application/public/cpp/application_delegate.h"
18 #include "mojo/application/public/cpp/interface_factory.h" 18 #include "mojo/application/public/cpp/interface_factory.h"
19 #include "mojo/common/weak_binding_set.h" 19 #include "mojo/common/weak_binding_set.h"
20 20
21 namespace gfx {
22 class Size;
23 }
24
21 namespace mojo { 25 namespace mojo {
22 class View; 26 class View;
23 } 27 }
24 28
25 namespace mandoline { 29 namespace mandoline {
26 30
27 class PhoneBrowserApplicationDelegate : 31 class PhoneBrowserApplicationDelegate :
28 public mojo::ApplicationDelegate, 32 public mojo::ApplicationDelegate,
29 public LaunchHandler, 33 public LaunchHandler,
30 public mojo::ViewTreeDelegate, 34 public mojo::ViewTreeDelegate,
31 public mojo::ViewObserver, 35 public mojo::ViewObserver,
32 public web_view::mojom::WebViewClient, 36 public web_view::mojom::WebViewClient,
33 public mojo::InterfaceFactory<LaunchHandler> { 37 public mojo::InterfaceFactory<LaunchHandler> {
34 public: 38 public:
35 PhoneBrowserApplicationDelegate(); 39 PhoneBrowserApplicationDelegate();
36 ~PhoneBrowserApplicationDelegate() override; 40 ~PhoneBrowserApplicationDelegate() override;
37 41
38 private: 42 protected:
43 mojo::ApplicationImpl* app() { return app_; }
44 mojo::View* root() { return root_; }
45
46 virtual bool ShouldLaunchURLOnInitialize() const;
47 virtual gfx::Size GetViewportSize() const;
48
39 // Overridden from mojo::ApplicationDelegate: 49 // Overridden from mojo::ApplicationDelegate:
40 void Initialize(mojo::ApplicationImpl* app) override; 50 void Initialize(mojo::ApplicationImpl* app) override;
41 bool ConfigureIncomingConnection( 51 bool ConfigureIncomingConnection(
42 mojo::ApplicationConnection* connection) override; 52 mojo::ApplicationConnection* connection) override;
43 53
44 // Overridden from LaunchHandler: 54 // Overridden from LaunchHandler:
45 void LaunchURL(const mojo::String& url) override; 55 void LaunchURL(const mojo::String& url) override;
46 56
47 // Overridden from mojo::ViewTreeDelegate: 57 // Overridden from mojo::ViewTreeDelegate:
48 void OnEmbed(mojo::View* root) override; 58 void OnEmbed(mojo::View* root) override;
49 void OnConnectionLost(mojo::ViewTreeConnection* connection) override; 59 void OnConnectionLost(mojo::ViewTreeConnection* connection) override;
50 60
51 // Overridden from mojo::ViewObserver: 61 // Overridden from mojo::ViewObserver:
52 void OnViewBoundsChanged(mojo::View* view, 62 void OnViewBoundsChanged(mojo::View* view,
53 const mojo::Rect& old_bounds, 63 const mojo::Rect& old_bounds,
54 const mojo::Rect& new_bounds) override; 64 const mojo::Rect& new_bounds) override;
55 65
56 // Overridden from web_view::mojom::WebViewClient: 66 // Overridden from web_view::mojom::WebViewClient:
57 void TopLevelNavigate(mojo::URLRequestPtr request) override; 67 void TopLevelNavigate(mojo::URLRequestPtr request) override;
58 void LoadingStateChanged(bool is_loading) override; 68 void LoadingStateChanged(bool is_loading) override;
59 void ProgressChanged(double progress) override; 69 void ProgressChanged(double progress) override;
60 void TitleChanged(const mojo::String& title) override; 70 void TitleChanged(const mojo::String& title) override;
61 71
62 // Overridden from mojo::InterfaceFactory<LaunchHandler>: 72 // Overridden from mojo::InterfaceFactory<LaunchHandler>:
63 void Create(mojo::ApplicationConnection* connection, 73 void Create(mojo::ApplicationConnection* connection,
64 mojo::InterfaceRequest<LaunchHandler> request) override; 74 mojo::InterfaceRequest<LaunchHandler> request) override;
65 75
76 private:
66 mojo::ApplicationImpl* app_; 77 mojo::ApplicationImpl* app_;
67 mojo::ViewTreeHostPtr host_; 78 mojo::ViewTreeHostPtr host_;
68 79
80 mojo::View* root_;
69 mojo::View* content_; 81 mojo::View* content_;
70 web_view::WebView web_view_; 82 web_view::WebView web_view_;
83 bool web_view_inited_ = false;
71 84
72 mojo::String default_url_; 85 mojo::String default_url_;
73 86
74 mojo::WeakBindingSet<LaunchHandler> launch_handler_bindings_; 87 mojo::WeakBindingSet<LaunchHandler> launch_handler_bindings_;
75 88
76 DISALLOW_COPY_AND_ASSIGN(PhoneBrowserApplicationDelegate); 89 DISALLOW_COPY_AND_ASSIGN(PhoneBrowserApplicationDelegate);
77 }; 90 };
78 91
79 } // namespace mandoline 92 } // namespace mandoline
80 93
81 #endif // MANDOLINE_UI_PHONE_UI_PHONE_BROWSER_APPLICATION_DELEGATE_H_ 94 #endif // MANDOLINE_UI_PHONE_UI_PHONE_BROWSER_APPLICATION_DELEGATE_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698