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); |
-} |