summaryrefslogtreecommitdiffstats
path: root/ui/linux_ui/linux_ui_export.h
diff options
context:
space:
mode:
authorerg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-02 16:45:19 +0000
committererg@chromium.org <erg@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-02 16:45:19 +0000
commit25a407726e1e4ba84857b6b9de97e4d732119ca9 (patch)
tree0916df3a3da4acc70756ee4940946855d250b081 /ui/linux_ui/linux_ui_export.h
parent6e0b0d2271fa33774cd46f3677c1b61370f04116 (diff)
downloadchromium_src-25a407726e1e4ba84857b6b9de97e4d732119ca9.zip
chromium_src-25a407726e1e4ba84857b6b9de97e4d732119ca9.tar.gz
chromium_src-25a407726e1e4ba84857b6b9de97e4d732119ca9.tar.bz2
Sort out build dependencies for LinuxUI.
LinuxUI now needs to vend NativeTheme instances into code in views/. This means it can't live in ui/base/ because ui/native_theme depends on ui/base/. LinuxUI used to live entirely in ui/base/. When ShellDialog was split off of ui/base/, an intermediary derived interfact was created in ui/shell_dialogs, requiring casting. This a bit ugly and has been cleaned up. It makes more sense to have LinuxUI depend on NativeTheme and ShellDialog, and in turn, be depended on by classes in ui/views/ and chrome/. This patch only moves files and adds interfaces; the actual NativeThemeGtk2 instance will land in a separate patch. BUG=130810 Review URL: https://chromiumcodereview.appspot.com/12315139 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@185705 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/linux_ui/linux_ui_export.h')
-rw-r--r--ui/linux_ui/linux_ui_export.h36
1 files changed, 36 insertions, 0 deletions
diff --git a/ui/linux_ui/linux_ui_export.h b/ui/linux_ui/linux_ui_export.h
new file mode 100644
index 0000000..68f2ab5
--- /dev/null
+++ b/ui/linux_ui/linux_ui_export.h
@@ -0,0 +1,36 @@
+// Copyright 2012 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 UI_LINUX_UI_LINUX_UI_EXPORT_H_
+#define UI_LINUX_UI_LINUX_UI_EXPORT_H_
+
+// Defines LINUX_UI_EXPORT so that functionality implemented by the
+// native_theme library can be exported to consumers.
+
+#if defined(COMPONENT_BUILD)
+#if defined(WIN32)
+
+#if defined(LINUX_UI_IMPLEMENTATION)
+#define LINUX_UI_EXPORT __declspec(dllexport)
+#else
+#define LINUX_UI_EXPORT __declspec(dllimport)
+#endif // defined(LINUX_UI_IMPLEMENTATION)
+
+#else // !defined(WIN32)
+
+#if defined(LINUX_UI_IMPLEMENTATION)
+#define LINUX_UI_EXPORT __attribute__((visibility("default")))
+#else
+#define LINUX_UI_EXPORT
+#endif
+
+#endif // defined(WIN32)
+
+#else // !defined(COMPONENT_BUILD)
+
+#define LINUX_UI_EXPORT
+
+#endif // defined(COMPONENT_BUILD)
+
+#endif // UI_LINUX_UI_LINUX_UI_EXPORT_H_