summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--chrome/browser/ui/views/chrome_views_delegate.cc7
-rw-r--r--chrome/browser/ui/views/chrome_views_delegate.h3
-rw-r--r--ui/views/test/test_views_delegate.cc12
-rw-r--r--ui/views/test/test_views_delegate.h13
-rw-r--r--ui/views/views_delegate.cc6
-rw-r--r--ui/views/views_delegate.h9
6 files changed, 49 insertions, 1 deletions
diff --git a/chrome/browser/ui/views/chrome_views_delegate.cc b/chrome/browser/ui/views/chrome_views_delegate.cc
index 3626587..21dae89 100644
--- a/chrome/browser/ui/views/chrome_views_delegate.cc
+++ b/chrome/browser/ui/views/chrome_views_delegate.cc
@@ -33,6 +33,7 @@
#endif
#if defined(USE_AURA)
+#include "content/public/browser/context_factory.h"
#include "ui/aura/window.h"
#include "ui/aura/window_event_dispatcher.h"
#endif
@@ -371,6 +372,12 @@ bool ChromeViewsDelegate::WindowManagerProvidesTitleBar(bool maximized) {
}
#endif
+#if defined(USE_AURA)
+ui::ContextFactory* ChromeViewsDelegate::GetContextFactory() {
+ return content::GetContextFactory();
+}
+#endif
+
#if defined(OS_WIN)
int ChromeViewsDelegate::GetAppbarAutohideEdges(HMONITOR monitor,
const base::Closure& callback) {
diff --git a/chrome/browser/ui/views/chrome_views_delegate.h b/chrome/browser/ui/views/chrome_views_delegate.h
index 62a77b0..4ff83d5 100644
--- a/chrome/browser/ui/views/chrome_views_delegate.h
+++ b/chrome/browser/ui/views/chrome_views_delegate.h
@@ -51,6 +51,9 @@ class ChromeViewsDelegate : public views::ViewsDelegate {
#if defined(OS_LINUX) && !defined(OS_CHROMEOS)
virtual bool WindowManagerProvidesTitleBar(bool maximized) OVERRIDE;
#endif
+#if defined(USE_AURA)
+ virtual ui::ContextFactory* GetContextFactory() OVERRIDE;
+#endif
#if defined(OS_WIN)
virtual int GetAppbarAutohideEdges(HMONITOR monitor,
const base::Closure& callback) OVERRIDE;
diff --git a/ui/views/test/test_views_delegate.cc b/ui/views/test/test_views_delegate.cc
index 0d437ea..7a4b78d 100644
--- a/ui/views/test/test_views_delegate.cc
+++ b/ui/views/test/test_views_delegate.cc
@@ -15,7 +15,11 @@ namespace views {
TestViewsDelegate::TestViewsDelegate()
: use_desktop_native_widgets_(false),
- use_transparent_windows_(false) {
+ use_transparent_windows_(false)
+#if defined(USE_AURA)
+ , context_factory_(NULL)
+#endif
+ {
DCHECK(!ViewsDelegate::views_delegate);
ViewsDelegate::views_delegate = this;
#if defined(USE_AURA)
@@ -42,4 +46,10 @@ void TestViewsDelegate::OnBeforeWidgetInit(
#endif // !defined(OS_CHROMEOS)
}
+#if defined(USE_AURA)
+ui::ContextFactory* TestViewsDelegate::GetContextFactory() {
+ return context_factory_;
+}
+#endif
+
} // namespace views
diff --git a/ui/views/test/test_views_delegate.h b/ui/views/test/test_views_delegate.h
index 5d80e08..384d7ac 100644
--- a/ui/views/test/test_views_delegate.h
+++ b/ui/views/test/test_views_delegate.h
@@ -30,16 +30,29 @@ class TestViewsDelegate : public ViewsDelegate {
use_transparent_windows_ = transparent;
}
+#if defined(USE_AURA)
+ void set_context_factory(ui::ContextFactory* context_factory) {
+ context_factory_ = context_factory;
+ }
+#endif
+
// ViewsDelegate:
virtual void OnBeforeWidgetInit(
Widget::InitParams* params,
internal::NativeWidgetDelegate* delegate) OVERRIDE;
+#if defined(USE_AURA)
+ virtual ui::ContextFactory* GetContextFactory() OVERRIDE;
+#endif
private:
bool use_desktop_native_widgets_;
+
bool use_transparent_windows_;
+
#if defined(USE_AURA)
scoped_ptr<wm::WMState> wm_state_;
+
+ ui::ContextFactory* context_factory_;
#endif
DISALLOW_COPY_AND_ASSIGN(TestViewsDelegate);
diff --git a/ui/views/views_delegate.cc b/ui/views/views_delegate.cc
index bef6cdc..c1c7ca6 100644
--- a/ui/views/views_delegate.cc
+++ b/ui/views/views_delegate.cc
@@ -81,6 +81,12 @@ bool ViewsDelegate::WindowManagerProvidesTitleBar(bool maximized) {
return false;
}
+#if defined(USE_AURA)
+ui::ContextFactory* ViewsDelegate::GetContextFactory() {
+ return NULL;
+}
+#endif
+
#if defined(OS_WIN)
int ViewsDelegate::GetAppbarAutohideEdges(HMONITOR monitor,
const base::Closure& callback) {
diff --git a/ui/views/views_delegate.h b/ui/views/views_delegate.h
index 8be8a0d..0175c8b 100644
--- a/ui/views/views_delegate.h
+++ b/ui/views/views_delegate.h
@@ -33,6 +33,10 @@ class ImageSkia;
class Rect;
}
+namespace ui {
+class ContextFactory;
+}
+
namespace views {
class NativeWidget;
@@ -126,6 +130,11 @@ class VIEWS_EXPORT ViewsDelegate {
// maximized windows; otherwise to restored windows.
virtual bool WindowManagerProvidesTitleBar(bool maximized);
+#if defined(USE_AURA)
+ // Returns the context factory for new windows.
+ virtual ui::ContextFactory* GetContextFactory();
+#endif
+
#if defined(OS_WIN)
// Starts a query for the appbar autohide edges of the specified monitor and
// returns the current value. If the query finds the edges have changed from