• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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.
4 
5 #include "content/shell/renderer/test_runner/MockColorChooser.h"
6 
7 #include "content/shell/renderer/test_runner/WebTestDelegate.h"
8 #include "content/shell/renderer/test_runner/web_test_proxy.h"
9 
10 using namespace blink;
11 using namespace std;
12 
13 namespace content {
14 
15 namespace {
16 class HostMethodTask : public WebMethodTask<MockColorChooser> {
17 public:
18     typedef void (MockColorChooser::*CallbackMethodType)();
HostMethodTask(MockColorChooser * object,CallbackMethodType callback)19     HostMethodTask(MockColorChooser* object, CallbackMethodType callback)
20         : WebMethodTask<MockColorChooser>(object)
21         , m_callback(callback)
22     { }
23 
runIfValid()24     virtual void runIfValid() OVERRIDE { (m_object->*m_callback)(); }
25 
26 private:
27     CallbackMethodType m_callback;
28 };
29 }
30 
MockColorChooser(blink::WebColorChooserClient * client,WebTestDelegate * delegate,WebTestProxyBase * proxy)31 MockColorChooser::MockColorChooser(blink::WebColorChooserClient* client, WebTestDelegate* delegate, WebTestProxyBase* proxy)
32     : m_client(client)
33     , m_delegate(delegate)
34     , m_proxy(proxy)
35 {
36     m_proxy->DidOpenChooser();
37 }
38 
~MockColorChooser()39 MockColorChooser::~MockColorChooser()
40 {
41     m_proxy->DidCloseChooser();
42 }
43 
setSelectedColor(const blink::WebColor)44 void MockColorChooser::setSelectedColor(const blink::WebColor)
45 {
46 }
47 
endChooser()48 void MockColorChooser::endChooser()
49 {
50     m_delegate->postDelayedTask(new HostMethodTask(this, &MockColorChooser::invokeDidEndChooser), 0);
51 }
52 
invokeDidEndChooser()53 void MockColorChooser::invokeDidEndChooser()
54 {
55     m_client->didEndChooser();
56 }
57 
58 }  // namespace content
59