Chromium Code Reviews| 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 #include "chrome/browser/ui/cocoa/browser_window_cocoa.h" | 5 #include "chrome/browser/ui/cocoa/browser_window_cocoa.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/command_line.h" | 8 #include "base/command_line.h" |
| 9 #include "base/logging.h" | 9 #include "base/logging.h" |
| 10 #import "base/mac/sdk_forward_declarations.h" | 10 #import "base/mac/sdk_forward_declarations.h" |
| 11 #include "base/message_loop/message_loop.h" | 11 #include "base/message_loop/message_loop.h" |
| 12 #include "base/prefs/pref_service.h" | 12 #include "base/prefs/pref_service.h" |
| 13 #include "base/strings/string_util.h" | 13 #include "base/strings/string_util.h" |
| 14 #include "base/strings/sys_string_conversions.h" | 14 #include "base/strings/sys_string_conversions.h" |
| 15 #include "chrome/app/chrome_command_ids.h" | 15 #include "chrome/app/chrome_command_ids.h" |
| 16 #include "chrome/browser/chrome_notification_types.h" | 16 #include "chrome/browser/chrome_notification_types.h" |
| 17 #include "chrome/browser/download/download_shelf.h" | 17 #include "chrome/browser/download/download_shelf.h" |
| 18 #include "chrome/browser/extensions/extension_util.h" | |
| 18 #include "chrome/browser/extensions/tab_helper.h" | 19 #include "chrome/browser/extensions/tab_helper.h" |
| 19 #include "chrome/browser/fullscreen.h" | 20 #include "chrome/browser/fullscreen.h" |
| 20 #include "chrome/browser/profiles/profile.h" | 21 #include "chrome/browser/profiles/profile.h" |
| 21 #include "chrome/browser/shell_integration.h" | 22 #include "chrome/browser/shell_integration.h" |
| 22 #include "chrome/browser/signin/chrome_signin_helper.h" | 23 #include "chrome/browser/signin/chrome_signin_helper.h" |
| 23 #include "chrome/browser/translate/chrome_translate_client.h" | 24 #include "chrome/browser/translate/chrome_translate_client.h" |
| 24 #include "chrome/browser/ui/browser.h" | 25 #include "chrome/browser/ui/browser.h" |
| 25 #include "chrome/browser/ui/browser_command_controller.h" | 26 #include "chrome/browser/ui/browser_command_controller.h" |
| 26 #include "chrome/browser/ui/browser_commands_mac.h" | 27 #include "chrome/browser/ui/browser_commands_mac.h" |
| 27 #include "chrome/browser/ui/browser_list.h" | 28 #include "chrome/browser/ui/browser_list.h" |
| (...skipping 547 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 575 [[app_title cell] setScrollable:YES]; | 576 [[app_title cell] setScrollable:YES]; |
| 576 [app_title setStringValue:original_title]; | 577 [app_title setStringValue:original_title]; |
| 577 base::scoped_nsobject<TextRequiringDelegate> delegate( | 578 base::scoped_nsobject<TextRequiringDelegate> delegate( |
| 578 [[TextRequiringDelegate alloc] initWithControl:continue_button | 579 [[TextRequiringDelegate alloc] initWithControl:continue_button |
| 579 text:[app_title stringValue]]); | 580 text:[app_title stringValue]]); |
| 580 [app_title setDelegate:delegate]; | 581 [app_title setDelegate:delegate]; |
| 581 | 582 |
| 582 base::scoped_nsobject<NSView> view([[NSView alloc] | 583 base::scoped_nsobject<NSView> view([[NSView alloc] |
| 583 initWithFrame:NSMakeRect(0, 0, kBookmarkAppBubbleViewWidth, | 584 initWithFrame:NSMakeRect(0, 0, kBookmarkAppBubbleViewWidth, |
| 584 kBookmarkAppBubbleViewHeight)]); | 585 kBookmarkAppBubbleViewHeight)]); |
| 585 [view addSubview:open_as_window_checkbox]; | 586 if (extensions::util::CanHostedAppsOpenInWindows()) |
|
tapted
2015/08/19 06:48:13
nit: comment here like "Omit the Open As Window ch
dominickn
2015/08/19 07:10:41
Done.
| |
| 587 [view addSubview:open_as_window_checkbox]; | |
| 586 [view addSubview:app_title]; | 588 [view addSubview:app_title]; |
| 587 [alert setAccessoryView:view]; | 589 [alert setAccessoryView:view]; |
| 588 | 590 |
| 589 // Find the image with target size. | 591 // Find the image with target size. |
| 590 // Assumes that the icons are sorted in ascending order of size. | 592 // Assumes that the icons are sorted in ascending order of size. |
| 591 if (!web_app_info.icons.empty()) { | 593 if (!web_app_info.icons.empty()) { |
| 592 for (const WebApplicationInfo::IconInfo& info : web_app_info.icons) { | 594 for (const WebApplicationInfo::IconInfo& info : web_app_info.icons) { |
| 593 if (info.width == kIconPreviewTargetSize && | 595 if (info.width == kIconPreviewTargetSize && |
| 594 info.height == kIconPreviewTargetSize) { | 596 info.height == kIconPreviewTargetSize) { |
| 595 gfx::Image icon_image = gfx::Image::CreateFrom1xBitmap(info.data); | 597 gfx::Image icon_image = gfx::Image::CreateFrom1xBitmap(info.data); |
| 596 [alert setIcon:icon_image.ToNSImage()]; | 598 [alert setIcon:icon_image.ToNSImage()]; |
| 597 break; | 599 break; |
| 598 } | 600 } |
| 599 } | 601 } |
| 600 } | 602 } |
| 601 | 603 |
| 602 NSInteger response = [alert runModal]; | 604 NSInteger response = [alert runModal]; |
| 603 | 605 |
| 604 // Prevent |app_title| from accessing |delegate| after it's destroyed. | 606 // Prevent |app_title| from accessing |delegate| after it's destroyed. |
| 605 [app_title setDelegate:nil]; | 607 [app_title setDelegate:nil]; |
| 606 | 608 |
| 607 if (response == NSAlertFirstButtonReturn) { | 609 if (response == NSAlertFirstButtonReturn) { |
| 608 WebApplicationInfo updated_info = web_app_info; | 610 WebApplicationInfo updated_info = web_app_info; |
| 609 updated_info.open_as_window = [open_as_window_checkbox state] == NSOnState; | 611 if (extensions::util::CanHostedAppsOpenInWindows()) { |
|
tapted
2015/08/19 06:48:13
Is this to address something specific? (I think we
dominickn
2015/08/19 07:10:41
Digging deeper, it looks like it doesn't doesn't h
| |
| 612 updated_info.open_as_window = | |
| 613 [open_as_window_checkbox state] == NSOnState; | |
| 614 } | |
| 610 updated_info.title = TrimText([app_title stringValue]); | 615 updated_info.title = TrimText([app_title stringValue]); |
| 611 | 616 |
| 612 callback.Run(true, updated_info); | 617 callback.Run(true, updated_info); |
| 613 return; | 618 return; |
| 614 } | 619 } |
| 615 | 620 |
| 616 callback.Run(false, web_app_info); | 621 callback.Run(false, web_app_info); |
| 617 } | 622 } |
| 618 | 623 |
| 619 void BrowserWindowCocoa::ShowTranslateBubble( | 624 void BrowserWindowCocoa::ShowTranslateBubble( |
| (...skipping 225 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 845 void BrowserWindowCocoa::UnhideDownloadShelf() { | 850 void BrowserWindowCocoa::UnhideDownloadShelf() { |
| 846 GetDownloadShelf()->Unhide(); | 851 GetDownloadShelf()->Unhide(); |
| 847 } | 852 } |
| 848 | 853 |
| 849 void BrowserWindowCocoa::HideDownloadShelf() { | 854 void BrowserWindowCocoa::HideDownloadShelf() { |
| 850 GetDownloadShelf()->Hide(); | 855 GetDownloadShelf()->Hide(); |
| 851 StatusBubble* statusBubble = GetStatusBubble(); | 856 StatusBubble* statusBubble = GetStatusBubble(); |
| 852 if (statusBubble) | 857 if (statusBubble) |
| 853 statusBubble->Hide(); | 858 statusBubble->Hide(); |
| 854 } | 859 } |
| OLD | NEW |