summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ash/ash.gyp49
-rw-r--r--ash/ash_with_content_export.h32
-rw-r--r--ash/keyboard_overlay/keyboard_overlay_delegate.h5
-rw-r--r--ash/keyboard_overlay/keyboard_overlay_view.h4
-rw-r--r--ash/screensaver/screensaver_view.h12
-rw-r--r--ash/wm/overlay_event_filter.h7
-rw-r--r--chrome/chrome_browser_chromeos.gypi1
-rw-r--r--chrome/chrome_browser_ui.gypi1
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