From 99e8dd40da33d58d598b000e122939b04272c079 Mon Sep 17 00:00:00 2001 From: tapted Date: Mon, 11 May 2015 23:22:47 -0700 Subject: [PATCH] Enable the views-based AppInfoDialog on Mac There's an expected ~443kB sizes regression in ChromiumFramework with this. This is because large portions of views.dylib are still culled at link time with -dead_strip, but this CL makes more symbols reachable. For a full accounting see http://crbug.com/485854#c1 (nothing unexpected). The dialog is enabled by linking in app_info_dialog_views.cc to provide functions previously provided (but NOTIMPLEMENTED()) by app_info_dialog_cocoa.mm. Note that the views CanShowAppInfoDialog() is implemented as IsMacViewsAppListListEnabled(), so no user-visible changes occur unless Chrome is run from the command line with --enable-mac-views-app-list. With this flag, the `Details` link at chrome://extensions will show the views-based (and offline-enabled) AppInfo dialog rather than taking the user to the webstore URL. And the context menu for icons at chrome://apps will have an `App Info` option. (Note that the views-based App Launcher isn't currently linked in on Mac, so the app launcher shown with --enable-mac-views-app-list --show-app-list doesn't support this dialog yet). Screenshot at http://crbug.com/485854#c2 BUG=485854 Review URL: https://codereview.chromium.org/1048343002 Cr-Commit-Position: refs/heads/master@{#329362} --- .../browser/ui/cocoa/apps/app_info_dialog_cocoa.mm | 33 ---------------------- chrome/chrome_browser_ui.gypi | 25 ++++++++-------- 2 files changed, 12 insertions(+), 46 deletions(-) delete mode 100644 chrome/browser/ui/cocoa/apps/app_info_dialog_cocoa.mm diff --git a/chrome/browser/ui/cocoa/apps/app_info_dialog_cocoa.mm b/chrome/browser/ui/cocoa/apps/app_info_dialog_cocoa.mm deleted file mode 100644 index f6b531b493dd..000000000000 --- a/chrome/browser/ui/cocoa/apps/app_info_dialog_cocoa.mm +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2014 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 "base/logging.h" -#include "chrome/browser/ui/apps/app_info_dialog.h" -#include "ui/gfx/geometry/size.h" - -bool CanShowAppInfoDialog() { - return false; -} - -gfx::Size GetAppInfoNativeDialogSize() { - return gfx::Size(); -} - -void ShowAppInfoInAppList(gfx::NativeWindow parent, - const gfx::Rect& app_list_bounds, - Profile* profile, - const extensions::Extension* app, - const base::Closure& close_callback) { - // TODO(sashab): Implement the App Info dialog on Mac. - NOTIMPLEMENTED(); -} - -void ShowAppInfoInNativeDialog(gfx::NativeWindow parent, - const gfx::Size& size, - Profile* profile, - const extensions::Extension* app, - const base::Closure& close_callback) { - // TODO(sashab): Implement the App Info dialog on Mac. - NOTIMPLEMENTED(); -} diff --git a/chrome/chrome_browser_ui.gypi b/chrome/chrome_browser_ui.gypi index ac43011fae84..3eedba7360a3 100644 --- a/chrome/chrome_browser_ui.gypi +++ b/chrome/chrome_browser_ui.gypi @@ -755,7 +755,6 @@ 'browser/ui/cocoa/applescript/tab_applescript.mm', 'browser/ui/cocoa/applescript/window_applescript.h', 'browser/ui/cocoa/applescript/window_applescript.mm', - 'browser/ui/cocoa/apps/app_info_dialog_cocoa.mm', 'browser/ui/cocoa/apps/chrome_app_window_client_cocoa.mm', 'browser/ui/cocoa/apps/native_app_window_cocoa.h', 'browser/ui/cocoa/apps/native_app_window_cocoa.mm', @@ -1958,6 +1957,18 @@ 'browser/ui/app_list/app_list_service_views.h', 'browser/ui/app_list/app_list_shower_views.cc', 'browser/ui/app_list/app_list_shower_views.h', + 'browser/ui/views/apps/app_info_dialog/app_info_dialog_views.cc', + 'browser/ui/views/apps/app_info_dialog/app_info_dialog_views.h', + 'browser/ui/views/apps/app_info_dialog/app_info_footer_panel.cc', + 'browser/ui/views/apps/app_info_dialog/app_info_footer_panel.h', + 'browser/ui/views/apps/app_info_dialog/app_info_header_panel.cc', + 'browser/ui/views/apps/app_info_dialog/app_info_header_panel.h', + 'browser/ui/views/apps/app_info_dialog/app_info_panel.cc', + 'browser/ui/views/apps/app_info_dialog/app_info_panel.h', + 'browser/ui/views/apps/app_info_dialog/app_info_permissions_panel.cc', + 'browser/ui/views/apps/app_info_dialog/app_info_permissions_panel.h', + 'browser/ui/views/apps/app_info_dialog/app_info_summary_panel.cc', + 'browser/ui/views/apps/app_info_dialog/app_info_summary_panel.h', 'browser/ui/views/apps/chrome_native_app_window_views.cc', 'browser/ui/views/apps/chrome_native_app_window_views.h', 'browser/ui/views/apps/desktop_keyboard_capture.cc', @@ -1984,18 +1995,6 @@ 'browser/ui/views/accelerator_utils_aura.cc', 'browser/ui/views/accessibility/invert_bubble_view.cc', 'browser/ui/views/accessibility/invert_bubble_view.h', - 'browser/ui/views/apps/app_info_dialog/app_info_dialog_views.cc', - 'browser/ui/views/apps/app_info_dialog/app_info_dialog_views.h', - 'browser/ui/views/apps/app_info_dialog/app_info_footer_panel.cc', - 'browser/ui/views/apps/app_info_dialog/app_info_footer_panel.h', - 'browser/ui/views/apps/app_info_dialog/app_info_header_panel.cc', - 'browser/ui/views/apps/app_info_dialog/app_info_header_panel.h', - 'browser/ui/views/apps/app_info_dialog/app_info_panel.cc', - 'browser/ui/views/apps/app_info_dialog/app_info_panel.h', - 'browser/ui/views/apps/app_info_dialog/app_info_permissions_panel.cc', - 'browser/ui/views/apps/app_info_dialog/app_info_permissions_panel.h', - 'browser/ui/views/apps/app_info_dialog/app_info_summary_panel.cc', - 'browser/ui/views/apps/app_info_dialog/app_info_summary_panel.h', 'browser/ui/views/apps/app_window_desktop_native_widget_aura_win.cc', 'browser/ui/views/apps/app_window_desktop_native_widget_aura_win.h', 'browser/ui/views/apps/app_window_desktop_window_tree_host_win.cc', -- 2.11.4.GIT