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

Unified Diff: mandoline/ui/browser/browser.h

Issue 1133893003: Omnibox app (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 5 years, 7 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
Index: mandoline/ui/browser/browser.h
diff --git a/mandoline/ui/browser/browser.h b/mandoline/ui/browser/browser.h
index 85a2cee6d96f392edca4a7c9203385fd88da71ca..d9cf42e1ba9016815ae63470a8e41f04cb70873d 100644
--- a/mandoline/ui/browser/browser.h
+++ b/mandoline/ui/browser/browser.h
@@ -12,6 +12,7 @@
#include "components/window_manager/window_manager_delegate.h"
#include "mandoline/services/navigation/public/interfaces/navigation.mojom.h"
#include "mandoline/ui/browser/navigator_host_impl.h"
+#include "mandoline/ui/browser/omnibox.mojom.h"
#include "third_party/mojo/src/mojo/public/cpp/application/application_delegate.h"
#include "third_party/mojo/src/mojo/public/cpp/application/application_impl.h"
#include "third_party/mojo/src/mojo/public/cpp/application/connect.h"
@@ -26,6 +27,7 @@ class MergedServiceProvider;
class Browser : public mojo::ApplicationDelegate,
public mojo::ViewManagerDelegate,
public window_manager::WindowManagerDelegate,
+ public OmniboxClient,
public mojo::InterfaceFactory<mojo::NavigatorHost> {
public:
Browser();
@@ -35,6 +37,11 @@ class Browser : public mojo::ApplicationDelegate,
void ReplaceContentWithURL(const mojo::String& url);
+ mojo::View* content() { return content_; }
+ mojo::View* omnibox() { return omnibox_; }
+
+ const mojo::String& current_url() const { return current_url_; }
sky 2015/05/12 21:49:54 Can we keep usage of mojo types only to interfaces
+
private:
// Overridden from mojo::ApplicationDelegate:
void Initialize(mojo::ApplicationImpl* app) override;
@@ -57,16 +64,26 @@ class Browser : public mojo::ApplicationDelegate,
mojo::KeyboardCode keyboard_code,
mojo::EventFlags flags) override;
+ // Overridden from OmniboxClient:
+ void OpenURL(const mojo::String& url) override;
+
// Overridden from mojo::InterfaceFactory<mojo::NavigatorHost>:
void Create(mojo::ApplicationConnection* connection,
mojo::InterfaceRequest<mojo::NavigatorHost> request) override;
+ void ShowOmnibox(const mojo::String& url,
+ mojo::InterfaceRequest<mojo::ServiceProvider> services,
+ mojo::ServiceProviderPtr exposed_services);
+
+ mojo::ApplicationImpl* app_impl_;
sky 2015/05/12 21:49:54 You don't seem to set or use this.
+
scoped_ptr<window_manager::WindowManagerApp> window_manager_app_;
// Only support being embedded once, so both application-level
// and embedding-level state are shared on the same object.
mojo::View* root_;
mojo::View* content_;
+ mojo::View* omnibox_;
std::string default_url_;
std::string pending_url_;
@@ -75,6 +92,8 @@ class Browser : public mojo::ApplicationDelegate,
NavigatorHostImpl navigator_host_;
+ mojo::String current_url_;
+
scoped_ptr<BrowserUI> ui_;
base::WeakPtrFactory<Browser> weak_factory_;

Powered by Google App Engine
This is Rietveld 408576698