summaryrefslogtreecommitdiffstats
path: root/ui/ozone
diff options
context:
space:
mode:
Diffstat (limited to 'ui/ozone')
-rw-r--r--ui/ozone/DEPS1
-rw-r--r--ui/ozone/common/chromeos/native_display_delegate_ozone.cc95
-rw-r--r--ui/ozone/common/chromeos/native_display_delegate_ozone.h51
-rw-r--r--ui/ozone/ozone.gyp10
-rw-r--r--ui/ozone/ozone_platform.cc6
-rw-r--r--ui/ozone/ozone_platform.h7
-rw-r--r--ui/ozone/platform/caca/ozone_platform_caca.cc12
-rw-r--r--ui/ozone/platform/caca/ozone_platform_caca.h4
-rw-r--r--ui/ozone/platform/dri/ozone_platform_dri.cc12
-rw-r--r--ui/ozone/platform/dri/ozone_platform_dri.h4
-rw-r--r--ui/ozone/platform/test/ozone_platform_test.cc13
-rw-r--r--ui/ozone/platform/test/ozone_platform_test.h4
12 files changed, 219 insertions, 0 deletions
diff --git a/ui/ozone/DEPS b/ui/ozone/DEPS
index 1c20697..7346019 100644
--- a/ui/ozone/DEPS
+++ b/ui/ozone/DEPS
@@ -1,4 +1,5 @@
include_rules = [
+ "+ui/display/types",
"+ui/events",
"+ui/gfx",
"+ui/base/cursor",
diff --git a/ui/ozone/common/chromeos/native_display_delegate_ozone.cc b/ui/ozone/common/chromeos/native_display_delegate_ozone.cc
new file mode 100644
index 0000000..2efc18d
--- /dev/null
+++ b/ui/ozone/common/chromeos/native_display_delegate_ozone.cc
@@ -0,0 +1,95 @@
+// 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 "ui/ozone/common/chromeos/native_display_delegate_ozone.h"
+
+#include "base/logging.h"
+
+namespace ui {
+
+NativeDisplayDelegateOzone::NativeDisplayDelegateOzone() {}
+
+NativeDisplayDelegateOzone::~NativeDisplayDelegateOzone() {}
+
+void NativeDisplayDelegateOzone::Initialize() {
+ NOTIMPLEMENTED();
+}
+
+void NativeDisplayDelegateOzone::GrabServer() {
+ NOTIMPLEMENTED();
+}
+
+void NativeDisplayDelegateOzone::UngrabServer() {
+ NOTIMPLEMENTED();
+}
+
+void NativeDisplayDelegateOzone::SyncWithServer() {
+ NOTIMPLEMENTED();
+}
+
+void NativeDisplayDelegateOzone::SetBackgroundColor(uint32_t color_argb) {
+ NOTIMPLEMENTED();
+}
+
+void NativeDisplayDelegateOzone::ForceDPMSOn() {
+ NOTIMPLEMENTED();
+}
+
+std::vector<ui::DisplaySnapshot*> NativeDisplayDelegateOzone::GetDisplays() {
+ NOTIMPLEMENTED();
+ return std::vector<ui::DisplaySnapshot*>();
+}
+
+void NativeDisplayDelegateOzone::AddMode(const ui::DisplaySnapshot& output,
+ const ui::DisplayMode* mode) {
+ NOTIMPLEMENTED();
+}
+
+bool NativeDisplayDelegateOzone::Configure(const ui::DisplaySnapshot& output,
+ const ui::DisplayMode* mode,
+ const gfx::Point& origin) {
+ NOTIMPLEMENTED();
+ return false;
+}
+
+void NativeDisplayDelegateOzone::CreateFrameBuffer(const gfx::Size& size) {
+ NOTIMPLEMENTED();
+}
+
+bool NativeDisplayDelegateOzone::GetHDCPState(const ui::DisplaySnapshot& output,
+ ui::HDCPState* state) {
+ NOTIMPLEMENTED();
+ return false;
+}
+
+bool NativeDisplayDelegateOzone::SetHDCPState(const ui::DisplaySnapshot& output,
+ ui::HDCPState state) {
+ NOTIMPLEMENTED();
+ return false;
+}
+
+std::vector<ui::ColorCalibrationProfile>
+NativeDisplayDelegateOzone::GetAvailableColorCalibrationProfiles(
+ const ui::DisplaySnapshot& output) {
+ NOTIMPLEMENTED();
+ return std::vector<ui::ColorCalibrationProfile>();
+}
+
+bool NativeDisplayDelegateOzone::SetColorCalibrationProfile(
+ const ui::DisplaySnapshot& output,
+ ui::ColorCalibrationProfile new_profile) {
+ NOTIMPLEMENTED();
+ return false;
+}
+
+void NativeDisplayDelegateOzone::AddObserver(NativeDisplayObserver* observer) {
+ NOTIMPLEMENTED();
+}
+
+void NativeDisplayDelegateOzone::RemoveObserver(
+ NativeDisplayObserver* observer) {
+ NOTIMPLEMENTED();
+}
+
+} // namespace ui
diff --git a/ui/ozone/common/chromeos/native_display_delegate_ozone.h b/ui/ozone/common/chromeos/native_display_delegate_ozone.h
new file mode 100644
index 0000000..cb61bd7
--- /dev/null
+++ b/ui/ozone/common/chromeos/native_display_delegate_ozone.h
@@ -0,0 +1,51 @@
+// 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 UI_OZONE_COMMON_CHROMEOS_NATIVE_DISPLAY_DELEGATE_OZONE_H_
+#define UI_OZONE_COMMON_CHROMEOS_NATIVE_DISPLAY_DELEGATE_OZONE_H_
+
+#include "base/macros.h"
+#include "ui/display/types/chromeos/native_display_delegate.h"
+
+namespace ui {
+
+class NativeDisplayDelegateOzone : public NativeDisplayDelegate {
+ public:
+ NativeDisplayDelegateOzone();
+ virtual ~NativeDisplayDelegateOzone();
+
+ // NativeDisplayDelegate overrides:
+ virtual void Initialize() OVERRIDE;
+ virtual void GrabServer() OVERRIDE;
+ virtual void UngrabServer() OVERRIDE;
+ virtual void SyncWithServer() OVERRIDE;
+ virtual void SetBackgroundColor(uint32_t color_argb) OVERRIDE;
+ virtual void ForceDPMSOn() OVERRIDE;
+ virtual std::vector<ui::DisplaySnapshot*> GetDisplays() OVERRIDE;
+ virtual void AddMode(const ui::DisplaySnapshot& output,
+ const ui::DisplayMode* mode) OVERRIDE;
+ virtual bool Configure(const ui::DisplaySnapshot& output,
+ const ui::DisplayMode* mode,
+ const gfx::Point& origin) OVERRIDE;
+ virtual void CreateFrameBuffer(const gfx::Size& size) OVERRIDE;
+ virtual bool GetHDCPState(const ui::DisplaySnapshot& output,
+ ui::HDCPState* state) OVERRIDE;
+ virtual bool SetHDCPState(const ui::DisplaySnapshot& output,
+ ui::HDCPState state) OVERRIDE;
+ virtual std::vector<ui::ColorCalibrationProfile>
+ GetAvailableColorCalibrationProfiles(
+ const ui::DisplaySnapshot& output) OVERRIDE;
+ virtual bool SetColorCalibrationProfile(
+ const ui::DisplaySnapshot& output,
+ ui::ColorCalibrationProfile new_profile) OVERRIDE;
+ virtual void AddObserver(NativeDisplayObserver* observer) OVERRIDE;
+ virtual void RemoveObserver(NativeDisplayObserver* observer) OVERRIDE;
+
+ private:
+ DISALLOW_COPY_AND_ASSIGN(NativeDisplayDelegateOzone);
+};
+
+} // namespace ui
+
+#endif // UI_OZONE_COMMON_CHROMEOS_NATIVE_DISPLAY_DELEGATE_OZONE_H_
diff --git a/ui/ozone/ozone.gyp b/ui/ozone/ozone.gyp
index 99de5b4..0dfb9c7 100644
--- a/ui/ozone/ozone.gyp
+++ b/ui/ozone/ozone.gyp
@@ -32,6 +32,11 @@
},
'sources': [
'<(platform_list_file)',
+ # common/chromeos files are excluded automatically when building with
+ # chromeos=0, by exclusion rules in filename_rules.gypi due to the
+ # 'chromeos' folder name.
+ 'common/chromeos/native_display_delegate_ozone.cc',
+ 'common/chromeos/native_display_delegate_ozone.h',
'ozone_platform.cc',
'ozone_platform.h',
'ozone_switches.cc',
@@ -92,6 +97,11 @@
['exclude', '^platform/test/'],
]
}],
+ ['chromeos==1', {
+ 'dependencies': [
+ '<(DEPTH)/ui/display/display.gyp:display_types',
+ ],
+ }],
]
},
],
diff --git a/ui/ozone/ozone_platform.cc b/ui/ozone/ozone_platform.cc
index 53016cd..feb36ba 100644
--- a/ui/ozone/ozone_platform.cc
+++ b/ui/ozone/ozone_platform.cc
@@ -65,6 +65,12 @@ void OzonePlatform::Initialize() {
}
// static
+OzonePlatform* OzonePlatform::GetInstance() {
+ CHECK(instance_) << "OzonePlatform is not initialized";
+ return instance_;
+}
+
+// static
OzonePlatform* OzonePlatform::instance_;
} // namespace ui
diff --git a/ui/ozone/ozone_platform.h b/ui/ozone/ozone_platform.h
index 61cd9ef..e87f422 100644
--- a/ui/ozone/ozone_platform.h
+++ b/ui/ozone/ozone_platform.h
@@ -14,6 +14,7 @@
namespace ui {
class CursorFactoryOzone;
+class NativeDisplayDelegate;
// Base class for Ozone platform implementations.
//
@@ -38,6 +39,8 @@ class OZONE_EXPORT OzonePlatform {
// EventFactoryOzone will be set.
static void Initialize();
+ static OzonePlatform* GetInstance();
+
// Factory getters to override in subclasses. The returned objects will be
// injected into the appropriate layer at startup. Subclasses should not
// inject these objects themselves. Ownership is retained by OzonePlatform.
@@ -46,6 +49,10 @@ class OZONE_EXPORT OzonePlatform {
virtual ui::InputMethodContextFactoryOzone*
GetInputMethodContextFactoryOzone() = 0;
virtual ui::CursorFactoryOzone* GetCursorFactoryOzone() = 0;
+#if defined(OS_CHROMEOS)
+ virtual scoped_ptr<ui::NativeDisplayDelegate>
+ CreateNativeDisplayDelegate() = 0;
+#endif
private:
static OzonePlatform* instance_;
diff --git a/ui/ozone/platform/caca/ozone_platform_caca.cc b/ui/ozone/platform/caca/ozone_platform_caca.cc
index dfe67ac..6a35c6b 100644
--- a/ui/ozone/platform/caca/ozone_platform_caca.cc
+++ b/ui/ozone/platform/caca/ozone_platform_caca.cc
@@ -7,6 +7,10 @@
#include "ui/ozone/ozone_platform.h"
#include "ui/ozone/platform/caca/caca_connection.h"
+#if defined(OS_CHROMEOS)
+#include "ui/ozone/common/chromeos/native_display_delegate_ozone.h"
+#endif
+
namespace ui {
OzonePlatformCaca::OzonePlatformCaca()
@@ -33,6 +37,14 @@ ui::CursorFactoryOzone* OzonePlatformCaca::GetCursorFactoryOzone() {
return &cursor_factory_ozone_;
}
+#if defined(OS_CHROMEOS)
+scoped_ptr<ui::NativeDisplayDelegate>
+OzonePlatformCaca::CreateNativeDisplayDelegate() {
+ return scoped_ptr<ui::NativeDisplayDelegate>(
+ new NativeDisplayDelegateOzone());
+}
+#endif
+
OzonePlatform* CreateOzonePlatformCaca() { return new OzonePlatformCaca; }
} // namespace ui
diff --git a/ui/ozone/platform/caca/ozone_platform_caca.h b/ui/ozone/platform/caca/ozone_platform_caca.h
index fd14c5e..f25b947 100644
--- a/ui/ozone/platform/caca/ozone_platform_caca.h
+++ b/ui/ozone/platform/caca/ozone_platform_caca.h
@@ -26,6 +26,10 @@ class OzonePlatformCaca : public OzonePlatform {
virtual ui::InputMethodContextFactoryOzone*
GetInputMethodContextFactoryOzone() OVERRIDE;
virtual ui::CursorFactoryOzone* GetCursorFactoryOzone() OVERRIDE;
+#if defined(OS_CHROMEOS)
+ virtual scoped_ptr<ui::NativeDisplayDelegate>
+ CreateNativeDisplayDelegate() OVERRIDE;
+#endif
private:
ui::CacaConnection connection_;
diff --git a/ui/ozone/platform/dri/ozone_platform_dri.cc b/ui/ozone/platform/dri/ozone_platform_dri.cc
index ce5587b..8175a1d 100644
--- a/ui/ozone/platform/dri/ozone_platform_dri.cc
+++ b/ui/ozone/platform/dri/ozone_platform_dri.cc
@@ -7,6 +7,10 @@
#include "ui/events/ozone/evdev/cursor_delegate_evdev.h"
#include "ui/ozone/ozone_platform.h"
+#if defined(OS_CHROMEOS)
+#include "ui/ozone/common/chromeos/native_display_delegate_ozone.h"
+#endif
+
namespace ui {
OzonePlatformDri::OzonePlatformDri()
@@ -32,6 +36,14 @@ ui::CursorFactoryOzone* OzonePlatformDri::GetCursorFactoryOzone() {
return &cursor_factory_ozone_;
}
+#if defined(OS_CHROMEOS)
+scoped_ptr<ui::NativeDisplayDelegate>
+OzonePlatformDri::CreateNativeDisplayDelegate() {
+ return scoped_ptr<ui::NativeDisplayDelegate>(
+ new NativeDisplayDelegateOzone());
+}
+#endif
+
OzonePlatform* CreateOzonePlatformDri() { return new OzonePlatformDri; }
} // namespace ui
diff --git a/ui/ozone/platform/dri/ozone_platform_dri.h b/ui/ozone/platform/dri/ozone_platform_dri.h
index 0ee8650..dff706b 100644
--- a/ui/ozone/platform/dri/ozone_platform_dri.h
+++ b/ui/ozone/platform/dri/ozone_platform_dri.h
@@ -26,6 +26,10 @@ class OzonePlatformDri : public OzonePlatform {
virtual ui::InputMethodContextFactoryOzone*
GetInputMethodContextFactoryOzone() OVERRIDE;
virtual ui::CursorFactoryOzone* GetCursorFactoryOzone() OVERRIDE;
+#if defined(OS_CHROMEOS)
+ virtual scoped_ptr<ui::NativeDisplayDelegate>
+ CreateNativeDisplayDelegate() OVERRIDE;
+#endif
private:
gfx::DriSurfaceFactory surface_factory_ozone_;
diff --git a/ui/ozone/platform/test/ozone_platform_test.cc b/ui/ozone/platform/test/ozone_platform_test.cc
index 6428c79..2a84895 100644
--- a/ui/ozone/platform/test/ozone_platform_test.cc
+++ b/ui/ozone/platform/test/ozone_platform_test.cc
@@ -9,6 +9,10 @@
#include "ui/ozone/ozone_platform.h"
#include "ui/ozone/ozone_switches.h"
+#if defined(OS_CHROMEOS)
+#include "ui/ozone/common/chromeos/native_display_delegate_ozone.h"
+#endif
+
namespace ui {
OzonePlatformTest::OzonePlatformTest(const base::FilePath& dump_file)
@@ -33,6 +37,15 @@ ui::CursorFactoryOzone* OzonePlatformTest::GetCursorFactoryOzone() {
return &cursor_factory_ozone_;
}
+#if defined(OS_CHROMEOS)
+scoped_ptr<ui::NativeDisplayDelegate>
+OzonePlatformTest::CreateNativeDisplayDelegate() {
+ return scoped_ptr<ui::NativeDisplayDelegate>(
+ new NativeDisplayDelegateOzone());
+ return scoped_ptr<ui::NativeDisplayDelegate>();
+}
+#endif
+
OzonePlatform* CreateOzonePlatformTest() {
CommandLine* cmd = CommandLine::ForCurrentProcess();
base::FilePath location = base::FilePath("/dev/null");
diff --git a/ui/ozone/platform/test/ozone_platform_test.h b/ui/ozone/platform/test/ozone_platform_test.h
index 633490d..1f6a964 100644
--- a/ui/ozone/platform/test/ozone_platform_test.h
+++ b/ui/ozone/platform/test/ozone_platform_test.h
@@ -26,6 +26,10 @@ class OzonePlatformTest : public OzonePlatform {
virtual ui::InputMethodContextFactoryOzone*
GetInputMethodContextFactoryOzone() OVERRIDE;
virtual ui::CursorFactoryOzone* GetCursorFactoryOzone() OVERRIDE;
+#if defined(OS_CHROMEOS)
+ virtual scoped_ptr<ui::NativeDisplayDelegate>
+ CreateNativeDisplayDelegate() OVERRIDE;
+#endif
private:
gfx::FileSurfaceFactory surface_factory_ozone_;