| Index: ui/views/views_delegate.cc
|
| diff --git a/ui/views/views_delegate.cc b/ui/views/views_delegate.cc
|
| index 507b038a7b6e7547007a2a5112ae644b7171a3aa..4f9f599cbecbf9cac6e5a6c077dc2ca492866fa8 100644
|
| --- a/ui/views/views_delegate.cc
|
| +++ b/ui/views/views_delegate.cc
|
| @@ -12,18 +12,21 @@
|
| #endif
|
|
|
| namespace views {
|
| +namespace {
|
|
|
| -ViewsDelegate::ViewsDelegate()
|
| - : views_tsc_factory_(new ViewsTouchEditingControllerFactory) {
|
| - ui::TouchEditingControllerFactory::SetInstance(views_tsc_factory_.get());
|
| +ViewsDelegate* g_views_delegate = nullptr;
|
|
|
| -#if defined(USE_AURA)
|
| - touch_selection_menu_runner_.reset(new TouchSelectionMenuRunnerViews());
|
| -#endif
|
| }
|
|
|
| ViewsDelegate::~ViewsDelegate() {
|
| - ui::TouchEditingControllerFactory::SetInstance(NULL);
|
| + ui::TouchEditingControllerFactory::SetInstance(nullptr);
|
| +
|
| + DCHECK_EQ(this, g_views_delegate);
|
| + g_views_delegate = nullptr;
|
| +}
|
| +
|
| +ViewsDelegate* ViewsDelegate::GetInstance() {
|
| + return g_views_delegate;
|
| }
|
|
|
| void ViewsDelegate::SaveWindowPlacement(const Widget* widget,
|
| @@ -53,7 +56,7 @@ void ViewsDelegate::NotifyMenuItemFocused(const base::string16& menu_name,
|
|
|
| #if defined(OS_WIN)
|
| HICON ViewsDelegate::GetDefaultWindowIcon() const {
|
| - return NULL;
|
| + return nullptr;
|
| }
|
|
|
| bool ViewsDelegate::IsWindowInMetro(gfx::NativeWindow window) const {
|
| @@ -61,13 +64,13 @@ bool ViewsDelegate::IsWindowInMetro(gfx::NativeWindow window) const {
|
| }
|
| #elif defined(OS_LINUX) && !defined(OS_CHROMEOS)
|
| gfx::ImageSkia* ViewsDelegate::GetDefaultWindowIcon() const {
|
| - return NULL;
|
| + return nullptr;
|
| }
|
| #endif
|
|
|
| NonClientFrameView* ViewsDelegate::CreateDefaultNonClientFrameView(
|
| Widget* widget) {
|
| - return NULL;
|
| + return nullptr;
|
| }
|
|
|
| void ViewsDelegate::AddRef() {
|
| @@ -79,7 +82,7 @@ void ViewsDelegate::ReleaseRef() {
|
| content::WebContents* ViewsDelegate::CreateWebContents(
|
| content::BrowserContext* browser_context,
|
| content::SiteInstance* site_instance) {
|
| - return NULL;
|
| + return nullptr;
|
| }
|
|
|
| base::TimeDelta ViewsDelegate::GetDefaultTextfieldObscuredRevealDuration() {
|
| @@ -91,7 +94,7 @@ bool ViewsDelegate::WindowManagerProvidesTitleBar(bool maximized) {
|
| }
|
|
|
| ui::ContextFactory* ViewsDelegate::GetContextFactory() {
|
| - return NULL;
|
| + return nullptr;
|
| }
|
|
|
| std::string ViewsDelegate::GetApplicationName() {
|
| @@ -110,4 +113,16 @@ scoped_refptr<base::TaskRunner> ViewsDelegate::GetBlockingPoolTaskRunner() {
|
| return nullptr;
|
| }
|
|
|
| +ViewsDelegate::ViewsDelegate()
|
| + : views_tsc_factory_(new ViewsTouchEditingControllerFactory) {
|
| + DCHECK(!g_views_delegate);
|
| + g_views_delegate = this;
|
| +
|
| + ui::TouchEditingControllerFactory::SetInstance(views_tsc_factory_.get());
|
| +
|
| +#if defined(USE_AURA)
|
| + touch_selection_menu_runner_.reset(new TouchSelectionMenuRunnerViews());
|
| +#endif
|
| +}
|
| +
|
| } // namespace views
|
|
|