| Index: examples/browser/browser.cc
|
| diff --git a/examples/browser/browser.cc b/examples/browser/browser.cc
|
| deleted file mode 100644
|
| index 33572c59d67749a1608c2208c613abe59786c483..0000000000000000000000000000000000000000
|
| --- a/examples/browser/browser.cc
|
| +++ /dev/null
|
| @@ -1,138 +0,0 @@
|
| -// Copyright 2014 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 "base/macros.h"
|
| -#include "base/strings/string_util.h"
|
| -#include "base/strings/utf_string_conversions.h"
|
| -#include "examples/browser/browser_host.mojom.h"
|
| -#include "examples/window_manager/window_manager.mojom.h"
|
| -#include "mojo/application/application_runner_chromium.h"
|
| -#include "mojo/converters/geometry/geometry_type_converters.h"
|
| -#include "mojo/public/c/system/main.h"
|
| -#include "mojo/public/cpp/application/application_connection.h"
|
| -#include "mojo/public/cpp/application/application_delegate.h"
|
| -#include "mojo/public/cpp/application/application_impl.h"
|
| -#include "mojo/public/cpp/application/connect.h"
|
| -#include "mojo/public/cpp/application/service_provider_impl.h"
|
| -#include "mojo/services/navigation/interfaces/navigation.mojom.h"
|
| -#include "mojo/services/view_manager/cpp/view.h"
|
| -#include "mojo/services/view_manager/cpp/view_manager.h"
|
| -#include "mojo/services/view_manager/cpp/view_manager_client_factory.h"
|
| -#include "mojo/services/view_manager/cpp/view_manager_delegate.h"
|
| -#include "mojo/services/view_manager/cpp/view_observer.h"
|
| -#include "url/gurl.h"
|
| -
|
| -namespace mojo {
|
| -namespace examples {
|
| -
|
| -// This is the basics of creating a views widget with a textfield.
|
| -// TODO: cleanup!
|
| -class Browser : public ApplicationDelegate,
|
| - public ViewManagerDelegate,
|
| - public ViewObserver,
|
| - public examples::BrowserHost,
|
| - public mojo::InterfaceFactory<examples::BrowserHost> {
|
| - public:
|
| - Browser() : shell_(nullptr), root_(NULL), binding_(this) {
|
| - browser_host_services_impl_.AddService(this);
|
| - }
|
| -
|
| - ~Browser() override {
|
| - if (root_)
|
| - root_->RemoveObserver(this);
|
| - }
|
| -
|
| - private:
|
| - // Overridden from ApplicationDelegate:
|
| - void Initialize(ApplicationImpl* app) override {
|
| - shell_ = app->shell();
|
| - view_manager_client_factory_.reset(
|
| - new ViewManagerClientFactory(shell_, this));
|
| - app->ConnectToService("mojo:window_manager", &window_manager_);
|
| -
|
| - // FIXME: Mojo applications don't know their URLs yet:
|
| - // https://docs.google.com/a/chromium.org/document/d/1AQ2y6ekzvbdaMF5WrUQmneyXJnke-MnYYL4Gz1AKDos
|
| - url_ = GURL(app->args()[1]);
|
| - }
|
| -
|
| - bool ConfigureIncomingConnection(ApplicationConnection* connection) override {
|
| - connection->AddService(view_manager_client_factory_.get());
|
| - return true;
|
| - }
|
| -
|
| - // ViewManagerDelegate:
|
| - void OnEmbed(View* root,
|
| - InterfaceRequest<ServiceProvider> services,
|
| - ServiceProviderPtr exposed_services) override {
|
| - // TODO: deal with OnEmbed() being invoked multiple times.
|
| - ConnectToService(exposed_services.get(), &navigator_host_);
|
| - root_ = root;
|
| - root_->AddObserver(this);
|
| - root_->SetFocus();
|
| -
|
| - // Create a child view for our sky document.
|
| - View* view = root->view_manager()->CreateView();
|
| - root->AddChild(view);
|
| - Rect bounds;
|
| - bounds.x = 0;
|
| - bounds.y = 0;
|
| - bounds.width = root->bounds().width;
|
| - bounds.height = root->bounds().height;
|
| - view->SetBounds(bounds);
|
| - view->SetVisible(true);
|
| - root->SetVisible(true);
|
| -
|
| - ServiceProviderPtr browser_host_services;
|
| - browser_host_services_impl_.Bind(GetProxy(&browser_host_services));
|
| -
|
| - GURL frame_url = url_.Resolve("/examples/browser/browser.sky");
|
| - view->Embed(frame_url.spec(), nullptr, browser_host_services.Pass());
|
| - }
|
| -
|
| - void OnViewManagerDisconnected(ViewManager* view_manager) override {
|
| - base::MessageLoop::current()->Quit();
|
| - }
|
| -
|
| - // ViewObserver:
|
| - void OnViewDestroyed(View* view) override {
|
| - DCHECK_EQ(root_, view);
|
| - view->RemoveObserver(this);
|
| - root_ = NULL;
|
| - }
|
| -
|
| - // examples::BrowserHost:
|
| - void NavigateTo(const mojo::String& url) override {
|
| - URLRequestPtr request(URLRequest::New());
|
| - request->url = url;
|
| - navigator_host_->RequestNavigate(Target::NEW_NODE, request.Pass());
|
| - }
|
| -
|
| - // mojo::InterfaceFactory<examples::BrowserHost> implementation.
|
| - void Create(mojo::ApplicationConnection* connection,
|
| - mojo::InterfaceRequest<examples::BrowserHost> request) override {
|
| - binding_.Bind(request.Pass());
|
| - }
|
| -
|
| - Shell* shell_;
|
| -
|
| - scoped_ptr<ViewManagerClientFactory> view_manager_client_factory_;
|
| - View* root_;
|
| - NavigatorHostPtr navigator_host_;
|
| - ::examples::IWindowManagerPtr window_manager_;
|
| - ServiceProviderImpl browser_host_services_impl_;
|
| -
|
| - GURL url_;
|
| -
|
| - mojo::Binding<examples::BrowserHost> binding_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(Browser);
|
| -};
|
| -
|
| -} // namespace examples
|
| -} // namespace mojo
|
| -
|
| -MojoResult MojoMain(MojoHandle application_request) {
|
| - mojo::ApplicationRunnerChromium runner(new mojo::examples::Browser);
|
| - return runner.Run(application_request);
|
| -}
|
|
|