Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(699)

Side by Side Diff: ui/views/test/scoped_views_test_helper.cc

Issue 2563783002: ui + mus: Split ContextFactory into ContextFactory(Client) and ContextFactoryPrivate (Closed)
Patch Set: Restore mash Created 4 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « ui/views/mus/surface_context_factory.cc ('k') | ui/views/test/test_views_delegate.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "ui/views/test/scoped_views_test_helper.h" 5 #include "ui/views/test/scoped_views_test_helper.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/memory/ptr_util.h" 9 #include "base/memory/ptr_util.h"
10 #include "base/message_loop/message_loop.h" 10 #include "base/message_loop/message_loop.h"
(...skipping 15 matching lines...) Expand all
26 : ScopedViewsTestHelper(base::WrapUnique(new TestViewsDelegate)) {} 26 : ScopedViewsTestHelper(base::WrapUnique(new TestViewsDelegate)) {}
27 27
28 ScopedViewsTestHelper::ScopedViewsTestHelper( 28 ScopedViewsTestHelper::ScopedViewsTestHelper(
29 std::unique_ptr<TestViewsDelegate> views_delegate) 29 std::unique_ptr<TestViewsDelegate> views_delegate)
30 : views_delegate_(std::move(views_delegate)), 30 : views_delegate_(std::move(views_delegate)),
31 platform_test_helper_(PlatformTestHelper::Create()) { 31 platform_test_helper_(PlatformTestHelper::Create()) {
32 // The ContextFactory must exist before any Compositors are created. 32 // The ContextFactory must exist before any Compositors are created.
33 bool enable_pixel_output = false; 33 bool enable_pixel_output = false;
34 #if defined(USE_AURA) 34 #if defined(USE_AURA)
35 ui::ContextFactory* old_context_factory = nullptr; 35 ui::ContextFactory* old_context_factory = nullptr;
36 ui::ContextFactoryPrivate* old_context_factory_private = nullptr;
36 if (PlatformTestHelper::IsMus()) { 37 if (PlatformTestHelper::IsMus()) {
37 old_context_factory = aura::Env::GetInstance()->context_factory(); 38 old_context_factory = aura::Env::GetInstance()->context_factory();
38 DCHECK(old_context_factory); 39 DCHECK(old_context_factory);
40 old_context_factory_private =
41 aura::Env::GetInstance()->context_factory_private();
39 } 42 }
40 #endif 43 #endif
41 ui::ContextFactory* context_factory = 44 ui::ContextFactory* context_factory = nullptr;
42 ui::InitializeContextFactoryForTests(enable_pixel_output); 45 ui::ContextFactoryPrivate* context_factory_private = nullptr;
46 ui::InitializeContextFactoryForTests(enable_pixel_output, &context_factory,
47 &context_factory_private);
48
43 views_delegate_->set_context_factory(context_factory); 49 views_delegate_->set_context_factory(context_factory);
50 views_delegate_->set_context_factory_private(context_factory_private);
44 51
45 test_helper_.reset(ViewsTestHelper::Create(base::MessageLoopForUI::current(), 52 test_helper_.reset(ViewsTestHelper::Create(base::MessageLoopForUI::current(),
46 context_factory)); 53 context_factory,
54 context_factory_private));
47 platform_test_helper_->OnTestHelperCreated(test_helper_.get()); 55 platform_test_helper_->OnTestHelperCreated(test_helper_.get());
48 test_helper_->SetUp(); 56 test_helper_->SetUp();
49 57
50 #if defined(USE_AURA) 58 #if defined(USE_AURA)
51 // When running inside mus, the context-factory from 59 // When running inside mus, the context-factory from
52 // ui::InitializeContextFactoryForTests() is only needed for the default 60 // ui::InitializeContextFactoryForTests() is only needed for the default
53 // WindowTreeHost instance created by TestScreen. After that, the 61 // WindowTreeHost instance created by TestScreen. After that, the
54 // context-factory is used when creating Widgets (to set-up the compositor for 62 // context-factory is used when creating Widgets (to set-up the compositor for
55 // the corresponding ui::Windows). So restore the context-factory (which 63 // the corresponding ui::Windows). So restore the context-factory (which
56 // WindowManagerConnection would have set up), so that NativeWidgetMus 64 // WindowManagerConnection would have set up), so that NativeWidgetMus
57 // installs the correct context-factory that can talk to mus. 65 // installs the correct context-factory that can talk to mus.
58 if (PlatformTestHelper::IsMus()) 66 if (PlatformTestHelper::IsMus()) {
59 aura::Env::GetInstance()->set_context_factory(old_context_factory); 67 aura::Env::GetInstance()->set_context_factory(old_context_factory);
68 aura::Env::GetInstance()->set_context_factory_private(
69 old_context_factory_private);
70 }
60 #endif 71 #endif
61 72
62 ui::InitializeInputMethodForTesting(); 73 ui::InitializeInputMethodForTesting();
63 ui::TestClipboard::CreateForCurrentThread(); 74 ui::TestClipboard::CreateForCurrentThread();
64 } 75 }
65 76
66 ScopedViewsTestHelper::~ScopedViewsTestHelper() { 77 ScopedViewsTestHelper::~ScopedViewsTestHelper() {
67 ui::Clipboard::DestroyClipboardForCurrentThread(); 78 ui::Clipboard::DestroyClipboardForCurrentThread();
68 ui::ShutdownInputMethodForTesting(); 79 ui::ShutdownInputMethodForTesting();
69 test_helper_->TearDown(); 80 test_helper_->TearDown();
70 test_helper_.reset(); 81 test_helper_.reset();
71 82
72 views_delegate_.reset(); 83 views_delegate_.reset();
73 84
74 // The Mus PlatformTestHelper has state that is deleted by 85 // The Mus PlatformTestHelper has state that is deleted by
75 // ui::TerminateContextFactoryForTests(). 86 // ui::TerminateContextFactoryForTests().
76 platform_test_helper_.reset(); 87 platform_test_helper_.reset();
77 88
78 ui::TerminateContextFactoryForTests(); 89 ui::TerminateContextFactoryForTests();
79 } 90 }
80 91
81 gfx::NativeWindow ScopedViewsTestHelper::GetContext() { 92 gfx::NativeWindow ScopedViewsTestHelper::GetContext() {
82 return test_helper_->GetContext(); 93 return test_helper_->GetContext();
83 } 94 }
84 95
85 } // namespace views 96 } // namespace views
OLDNEW
« no previous file with comments | « ui/views/mus/surface_context_factory.cc ('k') | ui/views/test/test_views_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698