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

Unified Diff: chrome/browser/ui/cocoa/extensions/extension_view_mac.mm

Issue 8498022: Have ExtensionHost use TabContents instead of RenderViewHost. Try #2. The first (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/cocoa/extensions/extension_view_mac.mm
diff --git a/chrome/browser/ui/cocoa/extensions/extension_view_mac.mm b/chrome/browser/ui/cocoa/extensions/extension_view_mac.mm
index d3b057eefd3c262d6679611ae79bf341e4399dfe..4de80b6e27826dceb3e121e1ee90751eeaa4ae7b 100644
--- a/chrome/browser/ui/cocoa/extensions/extension_view_mac.mm
+++ b/chrome/browser/ui/cocoa/extensions/extension_view_mac.mm
@@ -6,7 +6,10 @@
#include "chrome/browser/extensions/extension_host.h"
#include "content/browser/renderer_host/render_view_host.h"
+#include "content/browser/renderer_host/render_widget_host_view.h"
#include "content/browser/renderer_host/render_widget_host_view_mac.h"
+#include "content/browser/tab_contents/tab_contents.h"
+#include "content/browser/tab_contents/tab_contents_view.h"
// The minimum/maximum dimensions of the popup.
const CGFloat ExtensionViewMac::kMinWidth = 25.0;
@@ -17,14 +20,11 @@ const CGFloat ExtensionViewMac::kMaxHeight = 600.0;
ExtensionViewMac::ExtensionViewMac(ExtensionHost* extension_host,
Browser* browser)
: browser_(browser),
- extension_host_(extension_host),
- render_widget_host_view_(NULL) {
+ extension_host_(extension_host) {
DCHECK(extension_host_);
}
ExtensionViewMac::~ExtensionViewMac() {
- if (render_widget_host_view_)
- [render_widget_host_view_->native_view() release];
}
void ExtensionViewMac::Init() {
@@ -32,8 +32,7 @@ void ExtensionViewMac::Init() {
}
gfx::NativeView ExtensionViewMac::native_view() {
- DCHECK(render_widget_host_view_);
- return render_widget_host_view_->native_view();
+ return extension_host_->host_contents()->view()->GetNativeView();
}
RenderViewHost* ExtensionViewMac::render_view_host() const {
@@ -41,9 +40,8 @@ RenderViewHost* ExtensionViewMac::render_view_host() const {
}
void ExtensionViewMac::SetBackground(const SkBitmap& background) {
- DCHECK(render_widget_host_view_);
- if (render_view_host()->IsRenderViewLive()) {
- render_widget_host_view_->SetBackground(background);
+ if (!pending_background_.empty() && render_view_host()->view()) {
+ render_view_host()->view()->SetBackground(background);
} else {
pending_background_ = background;
}
@@ -55,7 +53,7 @@ void ExtensionViewMac::UpdatePreferredSize(const gfx::Size& new_size) {
// No need to use CA here, our caller calls us repeatedly to animate the
// resizing.
- NSView* view = native_view();
+ NSView* view = extension_host_->render_view_host()->view()->GetNativeView();
Matt Perry 2011/11/08 20:21:31 TabContentsViewCocoa doesn't implement setFrameWit
NSRect frame = [view frame];
frame.size.width = new_size.width();
frame.size.height = new_size.height();
@@ -91,24 +89,16 @@ void ExtensionViewMac::RenderViewCreated() {
extension_host_->DisableScrollbarsForSmallWindows(largest_popup_size);
if (!pending_background_.empty() && render_view_host()->view()) {
- render_widget_host_view_->SetBackground(pending_background_);
+ render_view_host()->view()->SetBackground(pending_background_);
pending_background_.reset();
}
}
void ExtensionViewMac::WindowFrameChanged() {
- if (render_widget_host_view_)
- render_widget_host_view_->WindowFrameChanged();
+ if (render_view_host()->view())
+ render_view_host()->view()->WindowFrameChanged();
}
void ExtensionViewMac::CreateWidgetHostView() {
- DCHECK(!render_widget_host_view_);
- render_widget_host_view_ = new RenderWidgetHostViewMac(render_view_host());
-
- // The RenderWidgetHostViewMac is owned by its native view, which is created
- // in an autoreleased state. retain it, so that it doesn't immediately
- // disappear.
- [render_widget_host_view_->native_view() retain];
-
- extension_host_->CreateRenderViewSoon(render_widget_host_view_);
+ extension_host_->CreateRenderViewSoon();
}
« no previous file with comments | « chrome/browser/ui/cocoa/extensions/extension_view_mac.h ('k') | chrome/browser/ui/gtk/extensions/extension_view_gtk.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698