| Index: chrome/browser/gtk/extension_infobar_gtk.cc
|
| ===================================================================
|
| --- chrome/browser/gtk/extension_infobar_gtk.cc (revision 71352)
|
| +++ chrome/browser/gtk/extension_infobar_gtk.cc (working copy)
|
| @@ -1,94 +0,0 @@
|
| -// Copyright (c) 2010 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/gtk/extension_infobar_gtk.h"
|
| -
|
| -#include "app/resource_bundle.h"
|
| -#include "chrome/browser/extensions/extension_host.h"
|
| -#include "chrome/browser/renderer_host/render_view_host.h"
|
| -#include "chrome/browser/renderer_host/render_widget_host_view.h"
|
| -#include "chrome/common/extensions/extension.h"
|
| -#include "chrome/common/extensions/extension_icon_set.h"
|
| -#include "chrome/common/extensions/extension_resource.h"
|
| -#include "gfx/gtk_util.h"
|
| -#include "grit/theme_resources.h"
|
| -
|
| -ExtensionInfoBarGtk::ExtensionInfoBarGtk(ExtensionInfoBarDelegate* delegate)
|
| - : InfoBar(delegate),
|
| - tracker_(this),
|
| - delegate_(delegate),
|
| - view_(NULL) {
|
| - delegate_->extension_host()->view()->SetContainer(this);
|
| - BuildWidgets();
|
| -}
|
| -
|
| -ExtensionInfoBarGtk::~ExtensionInfoBarGtk() {
|
| - // This view is not owned by us, so unparent.
|
| - gtk_widget_unparent(view_->native_view());
|
| -}
|
| -
|
| -void ExtensionInfoBarGtk::OnImageLoaded(
|
| - SkBitmap* image, ExtensionResource resource, int index) {
|
| - if (!delegate_)
|
| - return; // The delegate can go away while we asynchronously load images.
|
| -
|
| - ResourceBundle& rb = ResourceBundle::GetSharedInstance();
|
| -
|
| - SkBitmap* icon;
|
| - if (!image || image->empty())
|
| - icon = rb.GetBitmapNamed(IDR_EXTENSIONS_SECTION);
|
| - else
|
| - icon = image;
|
| -
|
| - // TODO(finnur): We now have the icon for the menu button, show the menu
|
| - // button and layout.
|
| -}
|
| -
|
| -void ExtensionInfoBarGtk::BuildWidgets() {
|
| - // Start loading the image for the menu button.
|
| - const Extension* extension = delegate_->extension_host()->extension();
|
| - ExtensionResource icon_resource = extension->GetIconResource(
|
| - Extension::EXTENSION_ICON_BITTY, ExtensionIconSet::MATCH_EXACTLY);
|
| - if (!icon_resource.relative_path().empty()) {
|
| - // Create a tracker to load the image. It will report back on OnImageLoaded.
|
| - tracker_.LoadImage(extension, icon_resource,
|
| - gfx::Size(Extension::EXTENSION_ICON_BITTY,
|
| - Extension::EXTENSION_ICON_BITTY),
|
| - ImageLoadingTracker::DONT_CACHE);
|
| - } else {
|
| - OnImageLoaded(NULL, icon_resource, 0); // |image|, |index|.
|
| - }
|
| -
|
| - ExtensionHost* extension_host = delegate_->extension_host();
|
| - view_ = extension_host->view();
|
| - if (gtk_widget_get_parent(view_->native_view())) {
|
| - gtk_widget_reparent(view_->native_view(), hbox_);
|
| - gtk_box_set_child_packing(GTK_BOX(hbox_), view_->native_view(),
|
| - TRUE, TRUE, 0, GTK_PACK_START);
|
| - } else {
|
| - gtk_box_pack_start(GTK_BOX(hbox_), view_->native_view(), TRUE, TRUE, 0);
|
| - }
|
| -
|
| - g_signal_connect(view_->native_view(), "size_allocate",
|
| - G_CALLBACK(&OnSizeAllocateThunk), this);
|
| -}
|
| -
|
| -void ExtensionInfoBarGtk::OnSizeAllocate(GtkWidget* widget,
|
| - GtkAllocation* allocation) {
|
| - gfx::Size new_size(allocation->width, allocation->height);
|
| -
|
| - delegate_->extension_host()->view()->render_view_host()->view()
|
| - ->SetSize(new_size);
|
| -}
|
| -
|
| -void ExtensionInfoBarGtk::OnExtensionPreferredSizeChanged(
|
| - ExtensionViewGtk* view,
|
| - const gfx::Size& new_size) {
|
| - // TODO(rafaelw) - Size the InfobarGtk vertically based on the preferred size
|
| - // of the content.
|
| -}
|
| -
|
| -InfoBar* ExtensionInfoBarDelegate::CreateInfoBar() {
|
| - return new ExtensionInfoBarGtk(this);
|
| -}
|
|
|