| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #import "chrome/browser/ui/cocoa/extensions/extension_popup_controller.h" | 5 #import "chrome/browser/ui/cocoa/extensions/extension_popup_controller.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/callback.h" | 9 #include "base/callback.h" |
| 10 #include "chrome/browser/chrome_notification_types.h" | 10 #include "chrome/browser/chrome_notification_types.h" |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 141 ExtensionPopupController* controller_; | 141 ExtensionPopupController* controller_; |
| 142 // WebContents for controller. Hold onto this separately because we need to | 142 // WebContents for controller. Hold onto this separately because we need to |
| 143 // know what it is for notifications, but our ExtensionViewHost may not be | 143 // know what it is for notifications, but our ExtensionViewHost may not be |
| 144 // valid. | 144 // valid. |
| 145 WebContents* web_contents_; | 145 WebContents* web_contents_; |
| 146 base::Callback<void(content::DevToolsAgentHost*, bool)> devtools_callback_; | 146 base::Callback<void(content::DevToolsAgentHost*, bool)> devtools_callback_; |
| 147 }; | 147 }; |
| 148 | 148 |
| 149 @implementation ExtensionPopupController | 149 @implementation ExtensionPopupController |
| 150 | 150 |
| 151 @synthesize extensionId = extensionId_; |
| 152 |
| 151 - (id)initWithHost:(extensions::ExtensionViewHost*)host | 153 - (id)initWithHost:(extensions::ExtensionViewHost*)host |
| 152 parentWindow:(NSWindow*)parentWindow | 154 parentWindow:(NSWindow*)parentWindow |
| 153 anchoredAt:(NSPoint)anchoredAt | 155 anchoredAt:(NSPoint)anchoredAt |
| 154 arrowLocation:(info_bubble::BubbleArrowLocation)arrowLocation | 156 arrowLocation:(info_bubble::BubbleArrowLocation)arrowLocation |
| 155 devMode:(BOOL)devMode { | 157 devMode:(BOOL)devMode { |
| 156 base::scoped_nsobject<InfoBubbleWindow> window([[InfoBubbleWindow alloc] | 158 base::scoped_nsobject<InfoBubbleWindow> window([[InfoBubbleWindow alloc] |
| 157 initWithContentRect:ui::kWindowSizeDeterminedLater | 159 initWithContentRect:ui::kWindowSizeDeterminedLater |
| 158 styleMask:NSBorderlessWindowMask | 160 styleMask:NSBorderlessWindowMask |
| 159 backing:NSBackingStoreBuffered | 161 backing:NSBackingStoreBuffered |
| 160 defer:YES]); | 162 defer:YES]); |
| 161 if (!window.get()) | 163 if (!window.get()) |
| 162 return nil; | 164 return nil; |
| 163 | 165 |
| 164 anchoredAt = [parentWindow convertBaseToScreen:anchoredAt]; | 166 anchoredAt = [parentWindow convertBaseToScreen:anchoredAt]; |
| 165 if ((self = [super initWithWindow:window | 167 if ((self = [super initWithWindow:window |
| 166 parentWindow:parentWindow | 168 parentWindow:parentWindow |
| 167 anchoredAt:anchoredAt])) { | 169 anchoredAt:anchoredAt])) { |
| 168 host_.reset(host); | 170 host_.reset(host); |
| 171 extensionId_ = host_->extension_id(); |
| 169 beingInspected_ = devMode; | 172 beingInspected_ = devMode; |
| 170 ignoreWindowDidResignKey_ = NO; | 173 ignoreWindowDidResignKey_ = NO; |
| 171 | 174 |
| 172 InfoBubbleView* view = self.bubble; | 175 InfoBubbleView* view = self.bubble; |
| 173 [view setArrowLocation:arrowLocation]; | 176 [view setArrowLocation:arrowLocation]; |
| 174 | 177 |
| 175 extensionView_ = host->view()->GetNativeView(); | 178 extensionView_ = host->view()->GetNativeView(); |
| 176 container_.reset(new ExtensionPopupContainer(self)); | 179 container_.reset(new ExtensionPopupContainer(self)); |
| 177 static_cast<ExtensionViewMac*>(host->view()) | 180 static_cast<ExtensionViewMac*>(host->view()) |
| 178 ->set_container(container_.get()); | 181 ->set_container(container_.get()); |
| (...skipping 253 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 432 return minSize; | 435 return minSize; |
| 433 } | 436 } |
| 434 | 437 |
| 435 // Private (TestingAPI) | 438 // Private (TestingAPI) |
| 436 + (NSSize)maxPopupSize { | 439 + (NSSize)maxPopupSize { |
| 437 NSSize maxSize = {ExtensionViewMac::kMaxWidth, ExtensionViewMac::kMaxHeight}; | 440 NSSize maxSize = {ExtensionViewMac::kMaxWidth, ExtensionViewMac::kMaxHeight}; |
| 438 return maxSize; | 441 return maxSize; |
| 439 } | 442 } |
| 440 | 443 |
| 441 @end | 444 @end |
| OLD | NEW |