OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 #include "mash/browser/browser.h" | 5 #include "mash/browser/browser.h" |
6 | 6 |
7 #include "base/macros.h" | 7 #include "base/macros.h" |
8 #include "base/memory/weak_ptr.h" | 8 #include "base/memory/weak_ptr.h" |
9 #include "base/message_loop/message_loop.h" | 9 #include "base/message_loop/message_loop.h" |
10 #include "base/strings/string16.h" | 10 #include "base/strings/string16.h" |
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
145 reload_button_->set_request_focus_on_press(false); | 145 reload_button_->set_request_focus_on_press(false); |
146 AddChildView(back_button_); | 146 AddChildView(back_button_); |
147 AddChildView(forward_button_); | 147 AddChildView(forward_button_); |
148 AddChildView(reload_button_); | 148 AddChildView(reload_button_); |
149 AddChildView(prompt_); | 149 AddChildView(prompt_); |
150 AddChildView(debug_button_); | 150 AddChildView(debug_button_); |
151 AddChildView(throbber_); | 151 AddChildView(throbber_); |
152 AddChildView(progress_bar_); | 152 AddChildView(progress_bar_); |
153 AddChildView(debug_view_); | 153 AddChildView(debug_view_); |
154 debug_view_->set_view(view_.get()); | 154 debug_view_->set_view(view_.get()); |
| 155 view_->SetResizerSize(gfx::Size(16, 16)); |
155 } | 156 } |
156 ~UI() override { browser_->RemoveWindow(GetWidget()); } | 157 ~UI() override { browser_->RemoveWindow(GetWidget()); } |
157 | 158 |
158 void NavigateTo(const GURL& url) { view_->NavigateTo(url); } | 159 void NavigateTo(const GURL& url) { view_->NavigateTo(url); } |
159 | 160 |
160 private: | 161 private: |
161 // Overridden from views::WidgetDelegate: | 162 // Overridden from views::WidgetDelegate: |
162 views::View* GetContentsView() override { return this; } | 163 views::View* GetContentsView() override { return this; } |
163 base::string16 GetWindowTitle() const override { | 164 base::string16 GetWindowTitle() const override { |
164 // TODO(beng): use resources. | 165 // TODO(beng): use resources. |
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
286 throbber_->Stop(); | 287 throbber_->Stop(); |
287 progress_bar_->SetProgress(0.f); | 288 progress_bar_->SetProgress(0.f); |
288 } | 289 } |
289 } | 290 } |
290 void NavigationStateChanged(const GURL& url, | 291 void NavigationStateChanged(const GURL& url, |
291 const mojo::String& title, | 292 const mojo::String& title, |
292 bool can_go_back, | 293 bool can_go_back, |
293 bool can_go_forward) override { | 294 bool can_go_forward) override { |
294 EnableButton(back_button_, can_go_back); | 295 EnableButton(back_button_, can_go_back); |
295 EnableButton(forward_button_, can_go_forward); | 296 EnableButton(forward_button_, can_go_forward); |
296 prompt_->SetText(base::UTF8ToUTF16(url.spec())); | 297 current_url_ = url; |
| 298 prompt_->SetText(base::UTF8ToUTF16(current_url_.spec())); |
297 current_title_ = base::UTF8ToUTF16(title.get()); | 299 current_title_ = base::UTF8ToUTF16(title.get()); |
298 GetWidget()->UpdateWindowTitle(); | 300 GetWidget()->UpdateWindowTitle(); |
299 } | 301 } |
300 void LoadProgressChanged(double progress) override { | 302 void LoadProgressChanged(double progress) override { |
301 progress_bar_->SetProgress(progress); | 303 progress_bar_->SetProgress(progress); |
302 } | 304 } |
| 305 void UpdateHoverURL(const GURL& url) override { |
| 306 if (url.is_valid()) |
| 307 prompt_->SetText(base::UTF8ToUTF16(url.spec())); |
| 308 else |
| 309 prompt_->SetText(base::UTF8ToUTF16(current_url_.spec())); |
| 310 } |
303 void ViewCreated(navigation::mojom::ViewPtr view, | 311 void ViewCreated(navigation::mojom::ViewPtr view, |
304 navigation::mojom::ViewClientRequest request, | 312 navigation::mojom::ViewClientRequest request, |
305 bool is_popup, | 313 bool is_popup, |
306 const gfx::Rect& initial_rect, | 314 const gfx::Rect& initial_rect, |
307 bool user_gesture) override { | 315 bool user_gesture) override { |
308 views::Widget* window = views::Widget::CreateWindowWithContextAndBounds( | 316 views::Widget* window = views::Widget::CreateWindowWithContextAndBounds( |
309 new UI(browser_, is_popup ? UI::Type::POPUP : UI::Type::WINDOW, | 317 new UI(browser_, is_popup ? UI::Type::POPUP : UI::Type::WINDOW, |
310 std::move(view), std::move(request)), | 318 std::move(view), std::move(request)), |
311 nullptr, initial_rect); | 319 nullptr, initial_rect); |
312 window->Show(); | 320 window->Show(); |
(...skipping 20 matching lines...) Expand all Loading... |
333 | 341 |
334 mus::Window* content_area_ = nullptr; | 342 mus::Window* content_area_ = nullptr; |
335 | 343 |
336 DebugView* debug_view_; | 344 DebugView* debug_view_; |
337 | 345 |
338 navigation::mojom::ViewPtr view_; | 346 navigation::mojom::ViewPtr view_; |
339 mojo::Binding<navigation::mojom::ViewClient> view_client_binding_; | 347 mojo::Binding<navigation::mojom::ViewClient> view_client_binding_; |
340 | 348 |
341 bool is_loading_ = false; | 349 bool is_loading_ = false; |
342 base::string16 current_title_; | 350 base::string16 current_title_; |
| 351 GURL current_url_; |
343 | 352 |
344 bool showing_debug_view_ = false; | 353 bool showing_debug_view_ = false; |
345 | 354 |
346 DISALLOW_COPY_AND_ASSIGN(UI); | 355 DISALLOW_COPY_AND_ASSIGN(UI); |
347 }; | 356 }; |
348 | 357 |
349 Browser::Browser() {} | 358 Browser::Browser() {} |
350 Browser::~Browser() {} | 359 Browser::~Browser() {} |
351 | 360 |
352 void Browser::AddWindow(views::Widget* window) { | 361 void Browser::AddWindow(views::Widget* window) { |
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
400 AddWindow(window); | 409 AddWindow(window); |
401 } | 410 } |
402 | 411 |
403 void Browser::Create(shell::Connection* connection, | 412 void Browser::Create(shell::Connection* connection, |
404 mojom::LaunchableRequest request) { | 413 mojom::LaunchableRequest request) { |
405 bindings_.AddBinding(this, std::move(request)); | 414 bindings_.AddBinding(this, std::move(request)); |
406 } | 415 } |
407 | 416 |
408 } // namespace browser | 417 } // namespace browser |
409 } // namespace mash | 418 } // namespace mash |
OLD | NEW |