| Index: chrome/browser/sidebar/sidebar_container.cc
|
| ===================================================================
|
| --- chrome/browser/sidebar/sidebar_container.cc (revision 115251)
|
| +++ chrome/browser/sidebar/sidebar_container.cc (working copy)
|
| @@ -1,132 +0,0 @@
|
| -// Copyright (c) 2011 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 "chrome/browser/sidebar/sidebar_container.h"
|
| -
|
| -#include "chrome/browser/extensions/extension_service.h"
|
| -#include "chrome/browser/profiles/profile.h"
|
| -#include "chrome/browser/ui/app_modal_dialogs/message_box_handler.h"
|
| -#include "chrome/common/extensions/extension.h"
|
| -#include "chrome/common/extensions/extension_resource.h"
|
| -#include "chrome/common/extensions/extension_sidebar_defaults.h"
|
| -#include "chrome/common/extensions/extension_sidebar_utils.h"
|
| -#include "content/browser/renderer_host/render_view_host.h"
|
| -#include "content/browser/tab_contents/navigation_controller.h"
|
| -#include "content/browser/tab_contents/navigation_entry.h"
|
| -#include "content/browser/tab_contents/tab_contents.h"
|
| -#include "content/browser/tab_contents/tab_contents_view.h"
|
| -#include "content/public/browser/render_process_host.h"
|
| -#include "googleurl/src/gurl.h"
|
| -#include "third_party/skia/include/core/SkBitmap.h"
|
| -
|
| -SidebarContainer::SidebarContainer(TabContents* tab,
|
| - const std::string& content_id,
|
| - Delegate* delegate)
|
| - : tab_(tab),
|
| - content_id_(content_id),
|
| - delegate_(delegate),
|
| - icon_(new SkBitmap),
|
| - navigate_to_default_page_on_expand_(true),
|
| - use_default_icon_(true) {
|
| - // Create TabContents for sidebar.
|
| - sidebar_contents_.reset(
|
| - new TabContents(Profile::FromBrowserContext(tab->browser_context()),
|
| - NULL, MSG_ROUTING_NONE, NULL, NULL));
|
| - sidebar_contents_->SetDelegate(this);
|
| -}
|
| -
|
| -SidebarContainer::~SidebarContainer() {
|
| -}
|
| -
|
| -void SidebarContainer::SidebarClosing() {
|
| - delegate_->UpdateSidebar(this);
|
| -}
|
| -
|
| -void SidebarContainer::LoadDefaults() {
|
| - const Extension* extension = GetExtension();
|
| - if (!extension)
|
| - return; // Can be NULL in tests.
|
| - const ExtensionSidebarDefaults* sidebar_defaults =
|
| - extension->sidebar_defaults();
|
| -
|
| - title_ = sidebar_defaults->default_title();
|
| -
|
| - if (!sidebar_defaults->default_icon_path().empty()) {
|
| - image_loading_tracker_.reset(new ImageLoadingTracker(this));
|
| - image_loading_tracker_->LoadImage(
|
| - extension,
|
| - extension->GetResource(sidebar_defaults->default_icon_path()),
|
| - gfx::Size(Extension::kSidebarIconMaxSize,
|
| - Extension::kSidebarIconMaxSize),
|
| - ImageLoadingTracker::CACHE);
|
| - }
|
| -}
|
| -
|
| -void SidebarContainer::Show() {
|
| - delegate_->UpdateSidebar(this);
|
| -}
|
| -
|
| -void SidebarContainer::Expand() {
|
| - if (navigate_to_default_page_on_expand_) {
|
| - navigate_to_default_page_on_expand_ = false;
|
| - // Check whether a default page is specified for this sidebar.
|
| - const Extension* extension = GetExtension();
|
| - if (extension) { // Can be NULL in tests.
|
| - if (extension->sidebar_defaults()->default_page().is_valid())
|
| - Navigate(extension->sidebar_defaults()->default_page());
|
| - }
|
| - }
|
| -
|
| - delegate_->UpdateSidebar(this);
|
| - sidebar_contents_->view()->SetInitialFocus();
|
| -}
|
| -
|
| -void SidebarContainer::Collapse() {
|
| - delegate_->UpdateSidebar(this);
|
| -}
|
| -
|
| -void SidebarContainer::Navigate(const GURL& url) {
|
| - // TODO(alekseys): add a progress UI.
|
| - navigate_to_default_page_on_expand_ = false;
|
| - sidebar_contents_->controller().LoadURL(
|
| - url, content::Referrer(), content::PAGE_TRANSITION_START_PAGE,
|
| - std::string());
|
| -}
|
| -
|
| -void SidebarContainer::SetBadgeText(const string16& badge_text) {
|
| - badge_text_ = badge_text;
|
| -}
|
| -
|
| -void SidebarContainer::SetIcon(const SkBitmap& bitmap) {
|
| - use_default_icon_ = false;
|
| - *icon_ = bitmap;
|
| -}
|
| -
|
| -void SidebarContainer::SetTitle(const string16& title) {
|
| - title_ = title;
|
| -}
|
| -
|
| -content::JavaScriptDialogCreator*
|
| -SidebarContainer::GetJavaScriptDialogCreator() {
|
| - return GetJavaScriptDialogCreatorInstance();
|
| -}
|
| -
|
| -void SidebarContainer::OnImageLoaded(SkBitmap* image,
|
| - const ExtensionResource& resource,
|
| - int index) {
|
| - if (image && use_default_icon_) {
|
| - *icon_ = *image;
|
| - delegate_->UpdateSidebar(this);
|
| - }
|
| -}
|
| -
|
| -const Extension* SidebarContainer::GetExtension() const {
|
| - Profile* profile =
|
| - Profile::FromBrowserContext(sidebar_contents_->browser_context());
|
| - ExtensionService* service = profile->GetExtensionService();
|
| - if (!service)
|
| - return NULL;
|
| - return service->GetExtensionById(
|
| - extension_sidebar_utils::GetExtensionIdByContentId(content_id_), false);
|
| -}
|
|
|