1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "content/shell/renderer/test_runner/MockColorChooser.h"
7 #include "content/shell/renderer/test_runner/WebTestDelegate.h"
8 #include "content/shell/renderer/test_runner/WebTestProxy.h"
10 using namespace blink;
16 class HostMethodTask : public WebMethodTask<MockColorChooser> {
18 typedef void (MockColorChooser::*CallbackMethodType)();
19 HostMethodTask(MockColorChooser* object, CallbackMethodType callback)
20 : WebMethodTask<MockColorChooser>(object)
21 , m_callback(callback)
24 virtual void runIfValid() OVERRIDE { (m_object->*m_callback)(); }
27 CallbackMethodType m_callback;
31 MockColorChooser::MockColorChooser(blink::WebColorChooserClient* client, WebTestDelegate* delegate, WebTestProxyBase* proxy)
33 , m_delegate(delegate)
36 m_proxy->didOpenChooser();
39 MockColorChooser::~MockColorChooser()
41 m_proxy->didCloseChooser();
44 void MockColorChooser::setSelectedColor(const blink::WebColor)
48 void MockColorChooser::endChooser()
50 m_delegate->postDelayedTask(new HostMethodTask(this, &MockColorChooser::invokeDidEndChooser), 0);
53 void MockColorChooser::invokeDidEndChooser()
55 m_client->didEndChooser();
58 } // namespace content