diff options
author | andybons@chromium.org <andybons@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-15 18:16:28 +0000 |
---|---|---|
committer | andybons@chromium.org <andybons@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-01-15 18:16:28 +0000 |
commit | bc6b07f245717b49c89000f0e3eb755e0e9fa58e (patch) | |
tree | d8d452656bb2c48640f01b158822320fd46338eb /chrome/browser/cocoa/extension_view_mac.mm | |
parent | ab7bcf1498b88cdc2ce9794bbde23ce48c307950 (diff) | |
download | chromium_src-bc6b07f245717b49c89000f0e3eb755e0e9fa58e.zip chromium_src-bc6b07f245717b49c89000f0e3eb755e0e9fa58e.tar.gz chromium_src-bc6b07f245717b49c89000f0e3eb755e0e9fa58e.tar.bz2 |
[Mac] Fixes two Browser Action popup sizing issues. One is caused by WebCore sending 0 as a preferred width for a WebView after the correct dimensions have been already received. The other involves a core animation race condition where my code to check for an existing animation was simply incorrect.
TEST=none
BUG=32162
Review URL: http://codereview.chromium.org/551030
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@36370 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/cocoa/extension_view_mac.mm')
-rw-r--r-- | chrome/browser/cocoa/extension_view_mac.mm | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/chrome/browser/cocoa/extension_view_mac.mm b/chrome/browser/cocoa/extension_view_mac.mm index b1f9d0e..0ff029a 100644 --- a/chrome/browser/cocoa/extension_view_mac.mm +++ b/chrome/browser/cocoa/extension_view_mac.mm @@ -55,6 +55,14 @@ void ExtensionViewMac::UpdatePreferredSize(const gfx::Size& new_size) { frame.size.width = new_size.width(); frame.size.height = new_size.height(); + // On first display of some extensions, this function is called with zero + // width after the correct size has been set. Bail if zero is seen, assuming + // that an extension popup view doesn't want any dimensions to ever be zero. + // TODO(andybons): Verify this assumption and look into WebCore's + // |contentesPreferredWidth| to see why this is occurring. + if (NSIsEmptyRect(frame)) + return; + // RenderWidgetHostViewCocoa overrides setFrame but not setFrameSize. [view setFrame:frame]; [view setNeedsDisplay:YES]; |