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

Side by Side Diff: chrome/browser/ui/extensions/extension_action_view_controller.cc

Issue 1169823005: Add sidebar views implementation using ExtensionSystem SidebarManager Base URL: https://chromium.googlesource.com/chromium/src.git@patch-a
Patch Set: Rebased patch set to 1168383002/#ps220001 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "chrome/browser/ui/extensions/extension_action_view_controller.h" 5 #include "chrome/browser/ui/extensions/extension_action_view_controller.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/strings/utf_string_conversions.h" 8 #include "base/strings/utf_string_conversions.h"
9 #include "chrome/browser/extensions/api/commands/command_service.h" 9 #include "chrome/browser/extensions/api/commands/command_service.h"
10 #include "chrome/browser/extensions/api/extension_action/extension_action_api.h" 10 #include "chrome/browser/extensions/api/extension_action/extension_action_api.h"
(...skipping 332 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 343
344 sidebar_host_.reset(extensions::ExtensionViewHostFactory::CreateSidebarHost( 344 sidebar_host_.reset(extensions::ExtensionViewHostFactory::CreateSidebarHost(
345 sidebar_url, browser_)); 345 sidebar_url, browser_));
346 346
347 sidebar_host_->CreateRenderViewSoon(); 347 sidebar_host_->CreateRenderViewSoon();
348 sidebar_host_->host_contents()->SetInitialFocus(); 348 sidebar_host_->host_contents()->SetInitialFocus();
349 349
350 DCHECK(toolbar_actions_bar_); 350 DCHECK(toolbar_actions_bar_);
351 toolbar_actions_bar_->SetSidebarOwner(this); 351 toolbar_actions_bar_->SetSidebarOwner(this);
352 352
353 platform_delegate_->ShowSidebar(sidebar_host_->host_contents());
354
353 PressButtonWithSlideOutIfEnabled( 355 PressButtonWithSlideOutIfEnabled(
354 base::Bind(&ExtensionActionViewController::PressButton, 356 base::Bind(&ExtensionActionViewController::PressButton,
355 weak_factory_.GetWeakPtr(), true)); 357 weak_factory_.GetWeakPtr(), true));
356 return true; 358 return true;
357 } 359 }
358 360
359 void ExtensionActionViewController::ShowPopup( 361 void ExtensionActionViewController::ShowPopup(
360 scoped_ptr<extensions::ExtensionViewHost> popup_host, 362 scoped_ptr<extensions::ExtensionViewHost> popup_host,
361 bool grant_tab_permissions, 363 bool grant_tab_permissions,
362 PopupShowAction show_action) { 364 PopupShowAction show_action) {
(...skipping 20 matching lines...) Expand all
383 void ExtensionActionViewController::HideActiveSidebar() { 385 void ExtensionActionViewController::HideActiveSidebar() {
384 DCHECK(toolbar_actions_bar_); 386 DCHECK(toolbar_actions_bar_);
385 DCHECK_EQ(ActionInfo::TYPE_BROWSER, extension_action_->action_type()); 387 DCHECK_EQ(ActionInfo::TYPE_BROWSER, extension_action_->action_type());
386 toolbar_actions_bar_->HideActiveSidebar(); 388 toolbar_actions_bar_->HideActiveSidebar();
387 } 389 }
388 390
389 void ExtensionActionViewController::HideSidebar() { 391 void ExtensionActionViewController::HideSidebar() {
390 if (!sidebar_host_) 392 if (!sidebar_host_)
391 return; 393 return;
392 394
395 platform_delegate_->HideSidebar();
396
393 sidebar_host_.reset(); 397 sidebar_host_.reset();
394 if (toolbar_actions_bar_) 398 if (toolbar_actions_bar_)
395 toolbar_actions_bar_->SetSidebarOwner(nullptr); 399 toolbar_actions_bar_->SetSidebarOwner(nullptr);
396 400
397 RaiseButton(); 401 RaiseButton();
398 } 402 }
399 403
400 void ExtensionActionViewController::RaiseButton() { 404 void ExtensionActionViewController::RaiseButton() {
401 // Reset button state 405 // Reset button state
402 if (toolbar_actions_bar_) { 406 if (toolbar_actions_bar_) {
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
459 // overflowed, we add a decoration so that the user can see which overflowed 463 // overflowed, we add a decoration so that the user can see which overflowed
460 // action wants to run (since they wouldn't be able to see the change from 464 // action wants to run (since they wouldn't be able to see the change from
461 // grayscale to color). 465 // grayscale to color).
462 bool is_overflow = 466 bool is_overflow =
463 toolbar_actions_bar_ && toolbar_actions_bar_->in_overflow_mode(); 467 toolbar_actions_bar_ && toolbar_actions_bar_->in_overflow_mode();
464 image_source->set_paint_decoration(WantsToRun(web_contents) && is_overflow); 468 image_source->set_paint_decoration(WantsToRun(web_contents) && is_overflow);
465 } 469 }
466 470
467 return image_source.Pass(); 471 return image_source.Pass();
468 } 472 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/extensions/extension_action_platform_delegate.h ('k') | chrome/browser/ui/view_ids.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698