| Index: mandoline/ui/desktop_ui/browser_window.cc
|
| diff --git a/mandoline/ui/desktop_ui/browser_window.cc b/mandoline/ui/desktop_ui/browser_window.cc
|
| index c74f59bbe48f31b0ac28be36b4e09d8e88df8470..a8aeb665ccc7849d6ea4f7caa10ba525ded03e47 100644
|
| --- a/mandoline/ui/desktop_ui/browser_window.cc
|
| +++ b/mandoline/ui/desktop_ui/browser_window.cc
|
| @@ -37,6 +37,13 @@
|
| #include "ui/views/widget/widget_delegate.h"
|
|
|
| namespace mandoline {
|
| +namespace {
|
| +
|
| +void OnAcceleratorAdded(bool success) {
|
| + DCHECK(success);
|
| +}
|
| +
|
| +} // namespace
|
|
|
| class ProgressView : public views::View {
|
| public:
|
| @@ -101,7 +108,7 @@ BrowserWindow::BrowserWindow(mojo::ApplicationImpl* app,
|
| mus::mojom::WindowTreeHostFactory* host_factory,
|
| BrowserManager* manager)
|
| : app_(app),
|
| - host_client_binding_(this),
|
| + window_manager_client_(nullptr),
|
| manager_(manager),
|
| toolbar_view_(nullptr),
|
| progress_bar_(nullptr),
|
| @@ -112,9 +119,7 @@ BrowserWindow::BrowserWindow(mojo::ApplicationImpl* app,
|
| find_active_(0),
|
| find_count_(0),
|
| web_view_(this) {
|
| - mus::CreateWindowTreeHost(host_factory,
|
| - host_client_binding_.CreateInterfacePtrAndBind(),
|
| - this, &host_, nullptr);
|
| + mus::CreateWindowTreeHost(host_factory, nullptr, this, &host_, this);
|
| }
|
|
|
| void BrowserWindow::LoadURL(const GURL& url) {
|
| @@ -209,34 +214,40 @@ void BrowserWindow::OnEmbed(mus::Window* root) {
|
|
|
| web_view_.Init(app_, content_);
|
|
|
| - host_->AddAccelerator(
|
| + const base::Callback<void(bool)> add_accelerator_callback =
|
| + base::Bind(&OnAcceleratorAdded);
|
| + DCHECK(window_manager_client_);
|
| + window_manager_client_->AddAccelerator(
|
| static_cast<uint32_t>(BrowserCommand::CLOSE),
|
| mus::CreateKeyMatcher(mus::mojom::KeyboardCode::W,
|
| mus::mojom::kEventFlagControlDown),
|
| - mus::mojom::WindowTreeHost::AddAcceleratorCallback());
|
| - host_->AddAccelerator(
|
| + add_accelerator_callback);
|
| + window_manager_client_->AddAccelerator(
|
| static_cast<uint32_t>(BrowserCommand::FOCUS_OMNIBOX),
|
| mus::CreateKeyMatcher(mus::mojom::KeyboardCode::L,
|
| mus::mojom::kEventFlagControlDown),
|
| - mus::mojom::WindowTreeHost::AddAcceleratorCallback());
|
| - host_->AddAccelerator(
|
| + add_accelerator_callback);
|
| + window_manager_client_->AddAccelerator(
|
| static_cast<uint32_t>(BrowserCommand::NEW_WINDOW),
|
| mus::CreateKeyMatcher(mus::mojom::KeyboardCode::N,
|
| mus::mojom::kEventFlagControlDown),
|
| - mus::mojom::WindowTreeHost::AddAcceleratorCallback());
|
| - host_->AddAccelerator(
|
| + add_accelerator_callback);
|
| + window_manager_client_->AddAccelerator(
|
| static_cast<uint32_t>(BrowserCommand::SHOW_FIND),
|
| mus::CreateKeyMatcher(mus::mojom::KeyboardCode::F,
|
| mus::mojom::kEventFlagControlDown),
|
| - mus::mojom::WindowTreeHost::AddAcceleratorCallback());
|
| - host_->AddAccelerator(static_cast<uint32_t>(BrowserCommand::GO_BACK),
|
| - mus::CreateKeyMatcher(mus::mojom::KeyboardCode::LEFT,
|
| - mus::mojom::kEventFlagAltDown),
|
| - mus::mojom::WindowTreeHost::AddAcceleratorCallback());
|
| - host_->AddAccelerator(static_cast<uint32_t>(BrowserCommand::GO_FORWARD),
|
| - mus::CreateKeyMatcher(mus::mojom::KeyboardCode::RIGHT,
|
| - mus::mojom::kEventFlagAltDown),
|
| - mus::mojom::WindowTreeHost::AddAcceleratorCallback());
|
| + add_accelerator_callback);
|
| + window_manager_client_->AddAccelerator(
|
| + static_cast<uint32_t>(BrowserCommand::GO_BACK),
|
| + mus::CreateKeyMatcher(mus::mojom::KeyboardCode::LEFT,
|
| + mus::mojom::kEventFlagAltDown),
|
| + add_accelerator_callback);
|
| + window_manager_client_->AddAccelerator(
|
| + static_cast<uint32_t>(BrowserCommand::GO_FORWARD),
|
| + mus::CreateKeyMatcher(mus::mojom::KeyboardCode::RIGHT,
|
| + mus::mojom::kEventFlagAltDown),
|
| + add_accelerator_callback);
|
| +
|
| // Now that we're ready, load the default url.
|
| LoadURL(default_url_);
|
|
|
| @@ -265,7 +276,28 @@ void BrowserWindow::OnConnectionLost(mus::WindowTreeConnection* connection) {
|
| }
|
|
|
| ////////////////////////////////////////////////////////////////////////////////
|
| -// BrowserWindow, mus::ViewTreeHostClient implementation:
|
| +// BrowserWindow, mus::WindowManagerDelegate implementation:
|
| +
|
| +void BrowserWindow::SetWindowManagerClient(mus::WindowManagerClient* client) {
|
| + window_manager_client_ = client;
|
| +}
|
| +
|
| +bool BrowserWindow::OnWmSetBounds(mus::Window* window, gfx::Rect* bounds) {
|
| + return true;
|
| +}
|
| +
|
| +bool BrowserWindow::OnWmSetProperty(
|
| + mus::Window* window,
|
| + const std::string& name,
|
| + scoped_ptr<std::vector<uint8_t>>* new_data) {
|
| + return true;
|
| +}
|
| +
|
| +mus::Window* BrowserWindow::OnWmCreateTopLevelWindow(
|
| + std::map<std::string, std::vector<uint8_t>>* properties) {
|
| + NOTREACHED();
|
| + return nullptr;
|
| +}
|
|
|
| void BrowserWindow::OnAccelerator(uint32_t id, mus::mojom::EventPtr event) {
|
| switch (static_cast<BrowserCommand>(id)) {
|
|
|