Commit 44ed4bd7 authored by backer@chromium.org's avatar backer@chromium.org

Aura: Make compositor_unittests work with --ui-enable-threaded-compositing

Check that a draw occured, rather than just that it was scheduled. Verify that CompositorDelegate is not called if compositing is threaded.

BUG=173417
TEST=compositor_unittests --ui-enable-threaded-compositing


Review URL: https://chromiumcodereview.appspot.com/13555004

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@192661 0039d316-1c4b-4281-b951-d872f2087c98
parent 582eca66
......@@ -547,6 +547,7 @@ ui::EventTarget* RootWindow::GetParentTarget() {
// RootWindow, ui::CompositorDelegate implementation:
void RootWindow::ScheduleDraw() {
DCHECK(!ui::Compositor::WasInitializedWithThread());
if (!defer_draw_scheduling_) {
defer_draw_scheduling_ = true;
MessageLoop::current()->PostTask(
......
......@@ -475,6 +475,7 @@ Compositor::~Compositor() {
ContextFactory::GetInstance()->RemoveCompositor(this);
}
// static
void Compositor::Initialize(bool use_thread) {
if (use_thread) {
g_compositor_thread = new base::Thread("Browser Compositor");
......@@ -482,6 +483,12 @@ void Compositor::Initialize(bool use_thread) {
}
}
// static
bool Compositor::WasInitializedWithThread() {
return !!g_compositor_thread;
}
// static
void Compositor::Terminate() {
if (g_compositor_thread) {
g_compositor_thread->Stop();
......
......@@ -222,6 +222,7 @@ class COMPOSITOR_EXPORT Compositor
virtual ~Compositor();
static void Initialize(bool useThread);
static bool WasInitializedWithThread();
static void Terminate();
// Schedules a redraw of the layer tree associated with this compositor.
......
This diff is collapsed.
......@@ -85,6 +85,7 @@ ui::Compositor* TestCompositorHostLinux::GetCompositor() {
}
void TestCompositorHostLinux::ScheduleDraw() {
DCHECK(!ui::Compositor::WasInitializedWithThread());
if (!method_factory_.HasWeakPtrs()) {
MessageLoopForUI::current()->PostTask(
FROM_HERE,
......
......@@ -138,6 +138,7 @@ ui::Compositor* TestCompositorHostMac::GetCompositor() {
}
void TestCompositorHostMac::ScheduleDraw() {
DCHECK(!ui::Compositor::WasInitializedWithThread());
if (!compositor_.get())
return;
......
......@@ -35,6 +35,7 @@ class TestCompositorHostWin : public TestCompositorHost,
// Overridden from CompositorDelegate:
virtual void ScheduleDraw() OVERRIDE {
DCHECK(!ui::Compositor::WasInitializedWithThread());
RECT rect;
::GetClientRect(hwnd(), &rect);
InvalidateRect(hwnd(), &rect, FALSE);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment