diff options
author | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-14 14:19:29 +0000 |
---|---|---|
committer | ben@chromium.org <ben@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-01-14 14:19:29 +0000 |
commit | 7943f0d7b4f0b2866905c64f78d21651caab4a25 (patch) | |
tree | d0ecadaec6e8421e041d4144c01e2eff319f29fa | |
parent | e03b191b0957383da29b324639a4df84339a60a9 (diff) | |
download | chromium_src-7943f0d7b4f0b2866905c64f78d21651caab4a25.zip chromium_src-7943f0d7b4f0b2866905c64f78d21651caab4a25.tar.gz chromium_src-7943f0d7b4f0b2866905c64f78d21651caab4a25.tar.bz2 |
Begin to split ash into two libs - one with and one without a content dependency.
R=oshima@chromium.org
http://crbug.com/332504
Review URL: https://codereview.chromium.org/134333005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@244696 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | ash/ash.gyp | 49 | ||||
-rw-r--r-- | ash/ash_with_content_export.h | 32 | ||||
-rw-r--r-- | ash/keyboard_overlay/keyboard_overlay_delegate.h | 5 | ||||
-rw-r--r-- | ash/keyboard_overlay/keyboard_overlay_view.h | 4 | ||||
-rw-r--r-- | ash/screensaver/screensaver_view.h | 12 | ||||
-rw-r--r-- | ash/wm/overlay_event_filter.h | 7 | ||||
-rw-r--r-- | chrome/chrome_browser_chromeos.gypi | 1 | ||||
-rw-r--r-- | chrome/chrome_browser_ui.gypi | 1 |
8 files changed, 91 insertions, 20 deletions
diff --git a/ash/ash.gyp b/ash/ash.gyp index 0be1c40..3027543 100644 --- a/ash/ash.gyp +++ b/ash/ash.gyp @@ -21,7 +21,6 @@ '../cc/cc.gyp:cc', '../content/content.gyp:content', '../content/content.gyp:content_browser', - '../ipc/ipc.gyp:ipc', '../media/media.gyp:media', '../net/net.gyp:net', '../skia/skia.gyp:skia', @@ -152,10 +151,6 @@ 'host/root_window_host_factory.cc', 'host/root_window_host_factory.h', 'host/root_window_host_factory_win.cc', - 'keyboard_overlay/keyboard_overlay_delegate.cc', - 'keyboard_overlay/keyboard_overlay_delegate.h', - 'keyboard_overlay/keyboard_overlay_view.cc', - 'keyboard_overlay/keyboard_overlay_view.h', 'keyboard_uma_event_filter.cc', 'keyboard_uma_event_filter.h', 'launcher/launcher_types.cc', @@ -181,8 +176,6 @@ 'scoped_target_root_window.h', 'screen_ash.cc', 'screen_ash.h', - 'screensaver/screensaver_view.cc', - 'screensaver/screensaver_view.h', 'screenshot_delegate.h', 'session_state_delegate.h', 'session_state_observer.cc', @@ -645,6 +638,46 @@ }], ], }, + + { + 'target_name': 'ash_with_content', + 'type': '<(component)', + 'dependencies': [ + '../base/base.gyp:base', + '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations', + '../content/content.gyp:content', + '../content/content.gyp:content_browser', + '../ipc/ipc.gyp:ipc', + '../skia/skia.gyp:skia', + '../ui/aura/aura.gyp:aura', + '../ui/base/strings/ui_strings.gyp:ui_strings', + '../ui/compositor/compositor.gyp:compositor', + '../ui/events/events.gyp:events', + '../ui/gfx/gfx.gyp:gfx', + '../ui/gfx/gfx.gyp:gfx_geometry', + '../ui/resources/ui_resources.gyp:ui_resources', + '../ui/ui.gyp:ui', + '../ui/views/controls/webview/webview.gyp:webview', + '../ui/views/views.gyp:views', + '../ui/web_dialogs/web_dialogs.gyp:web_dialogs', + '../url/url.gyp:url_lib', + 'ash_strings.gyp:ash_strings', + 'ash', + 'ash_resources', + ], + 'defines': [ + 'ASH_WITH_CONTENT_IMPLEMENTATION', + ], + 'sources': [ + 'ash_with_content_export.h', + 'screensaver/screensaver_view.cc', + 'screensaver/screensaver_view.h', + 'keyboard_overlay/keyboard_overlay_delegate.cc', + 'keyboard_overlay/keyboard_overlay_delegate.h', + 'keyboard_overlay/keyboard_overlay_view.cc', + 'keyboard_overlay/keyboard_overlay_view.h', + ], + }, { 'target_name': 'ash_test_support', 'type': 'static_library', @@ -758,6 +791,7 @@ 'ash', 'ash_resources', 'ash_test_support', + 'ash_with_content', ], 'sources': [ '../ui/compositor/test/layer_animator_test_controller.cc', @@ -967,6 +1001,7 @@ '../ui/views/views.gyp:views_test_support', 'ash', 'ash_resources', + 'ash_with_content', ], 'sources': [ 'session_state_delegate_stub.cc', diff --git a/ash/ash_with_content_export.h b/ash/ash_with_content_export.h new file mode 100644 index 0000000..b282e4e --- /dev/null +++ b/ash/ash_with_content_export.h @@ -0,0 +1,32 @@ +// 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. + +#ifndef ASH_ASH_WITH_CONTENT_EXPORT_H_ +#define ASH_ASH_WITH_CONTENT_EXPORT_H_ + +// Defines ASH_EXPORT so that functionality implemented by the Ash module can +// be exported to consumers. + +#if defined(COMPONENT_BUILD) +#if defined(WIN32) + +#if defined(ASH_WITH_CONTENT_IMPLEMENTATION) +#define ASH_WITH_CONTENT_EXPORT __declspec(dllexport) +#else +#define ASH_WITH_CONTENT_EXPORT __declspec(dllimport) +#endif // defined(ASH_WITH_CONTENT_IMPLEMENTATION) + +#else // defined(WIN32) +#if defined(ASH_WITH_CONTENT_IMPLEMENTATION) +#define ASH_WITH_CONTENT_EXPORT __attribute__((visibility("default"))) +#else +#define ASH_WITH_CONTENT_EXPORT +#endif +#endif + +#else // defined(COMPONENT_BUILD) +#define ASH_WITH_CONTENT_EXPORT +#endif + +#endif // ASH_ASH_WITH_CONTENT_EXPORT_H_ diff --git a/ash/keyboard_overlay/keyboard_overlay_delegate.h b/ash/keyboard_overlay/keyboard_overlay_delegate.h index caf8f2a..3d7c22f 100644 --- a/ash/keyboard_overlay/keyboard_overlay_delegate.h +++ b/ash/keyboard_overlay/keyboard_overlay_delegate.h @@ -5,7 +5,7 @@ #ifndef ASH_KEYBOARD_OVERLAY_KEYBOARD_OVERLAY_DELEGATE_H_ #define ASH_KEYBOARD_OVERLAY_KEYBOARD_OVERLAY_DELEGATE_H_ -#include "ash/ash_export.h" +#include "ash/ash_with_content_export.h" #include "base/basictypes.h" #include "base/compiler_specific.h" #include "base/gtest_prod_util.h" @@ -20,7 +20,8 @@ class Widget; namespace ash { // Delegate to handle showing the keyboard overlay drawing. Exported for test. -class ASH_EXPORT KeyboardOverlayDelegate : public ui::WebDialogDelegate { +class ASH_WITH_CONTENT_EXPORT KeyboardOverlayDelegate + : public ui::WebDialogDelegate { public: KeyboardOverlayDelegate(const base::string16& title, const GURL& url); diff --git a/ash/keyboard_overlay/keyboard_overlay_view.h b/ash/keyboard_overlay/keyboard_overlay_view.h index 3e352ae..c3235ca 100644 --- a/ash/keyboard_overlay/keyboard_overlay_view.h +++ b/ash/keyboard_overlay/keyboard_overlay_view.h @@ -7,7 +7,7 @@ #include <vector> -#include "ash/ash_export.h" +#include "ash/ash_with_content_export.h" #include "ash/wm/overlay_event_filter.h" #include "base/compiler_specific.h" #include "base/gtest_prod_util.h" @@ -26,7 +26,7 @@ class WebDialogDelegate; namespace ash { // A customized dialog view for the keyboard overlay. -class ASH_EXPORT KeyboardOverlayView +class ASH_WITH_CONTENT_EXPORT KeyboardOverlayView : public views::WebDialogView, public ash::internal::OverlayEventFilter::Delegate { public: diff --git a/ash/screensaver/screensaver_view.h b/ash/screensaver/screensaver_view.h index 2e27c4e..bf140fa 100644 --- a/ash/screensaver/screensaver_view.h +++ b/ash/screensaver/screensaver_view.h @@ -5,7 +5,7 @@ #ifndef ASH_SCREENSAVER_SCREENSAVER_VIEW_H_ #define ASH_SCREENSAVER_SCREENSAVER_VIEW_H_ -#include "ash/ash_export.h" +#include "ash/ash_with_content_export.h" #include "base/callback.h" #include "content/public/browser/web_contents_observer.h" #include "ui/views/widget/widget_delegate.h" @@ -25,9 +25,9 @@ namespace test { class ScreensaverViewTest; } -ASH_EXPORT void ShowScreensaver(const GURL& url); -ASH_EXPORT void CloseScreensaver(); -ASH_EXPORT bool IsScreensaverShown(); +ASH_WITH_CONTENT_EXPORT void ShowScreensaver(const GURL& url); +ASH_WITH_CONTENT_EXPORT void CloseScreensaver(); +ASH_WITH_CONTENT_EXPORT bool IsScreensaverShown(); typedef base::Callback<views::WebView*(content::BrowserContext*)> WebViewFactory; @@ -69,8 +69,8 @@ class ScreensaverView : public views::WidgetDelegateView, void ShowWindow(); // For testing purposes. - static ASH_EXPORT ScreensaverView* GetInstance(); - ASH_EXPORT bool IsScreensaverShowingURL(const GURL& url); + static ASH_WITH_CONTENT_EXPORT ScreensaverView* GetInstance(); + ASH_WITH_CONTENT_EXPORT bool IsScreensaverShowingURL(const GURL& url); // URL to show in the screensaver. GURL url_; diff --git a/ash/wm/overlay_event_filter.h b/ash/wm/overlay_event_filter.h index 0d5afb6..252097c 100644 --- a/ash/wm/overlay_event_filter.h +++ b/ash/wm/overlay_event_filter.h @@ -5,6 +5,7 @@ #ifndef ASH_WM_OVERLAY_EVENT_FILTER_H_ #define ASH_WM_OVERLAY_EVENT_FILTER_H_ +#include "ash/ash_export.h" #include "ash/shell_observer.h" #include "base/compiler_specific.h" #include "ui/aura/window.h" @@ -19,11 +20,11 @@ namespace internal { // called. The main task of this event filter is just to stop propagation // of any key events during activation, and also signal cancellation when keys // for canceling are pressed. -class OverlayEventFilter : public ui::EventHandler, - public ShellObserver { +class ASH_EXPORT OverlayEventFilter : public ui::EventHandler, + public ShellObserver { public: // Windows that need to receive events from OverlayEventFilter implement this. - class Delegate { + class ASH_EXPORT Delegate { public: // Invoked when OverlayEventFilter needs to stop handling events. virtual void Cancel() = 0; diff --git a/chrome/chrome_browser_chromeos.gypi b/chrome/chrome_browser_chromeos.gypi index 2f4a0d1..16e8cde 100644 --- a/chrome/chrome_browser_chromeos.gypi +++ b/chrome/chrome_browser_chromeos.gypi @@ -938,6 +938,7 @@ ['use_ash==1', { 'dependencies': [ '../ash/ash.gyp:ash', + '../ash/ash.gyp:ash_with_content', '../ash/ash.gyp:ash_resources', '../ash/ash_strings.gyp:ash_strings', '../ui/app_list/app_list.gyp:app_list', diff --git a/chrome/chrome_browser_ui.gypi b/chrome/chrome_browser_ui.gypi index 06f260a..494f989 100644 --- a/chrome/chrome_browser_ui.gypi +++ b/chrome/chrome_browser_ui.gypi @@ -2850,6 +2850,7 @@ ], 'dependencies': [ '../ash/ash.gyp:ash', + '../ash/ash.gyp:ash_with_content', '../ash/ash_strings.gyp:ash_strings', ], }, { # use_ash==0 |