1// Copyright 2014 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#ifndef CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCK_COLOR_CHOOSER_H_
6#define CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCK_COLOR_CHOOSER_H_
7
8#include "base/basictypes.h"
9#include "content/shell/renderer/test_runner/web_task.h"
10#include "third_party/WebKit/public/web/WebColorChooser.h"
11#include "third_party/WebKit/public/web/WebColorChooserClient.h"
12
13namespace content {
14
15class WebTestDelegate;
16class WebTestProxyBase;
17
18class MockColorChooser : public blink::WebColorChooser {
19public:
20    MockColorChooser(blink::WebColorChooserClient* client,
21                     WebTestDelegate* delegate,
22                     WebTestProxyBase* proxy);
23    virtual ~MockColorChooser();
24
25    // blink::WebColorChooser implementation.
26    virtual void setSelectedColor(const blink::WebColor color) OVERRIDE;
27    virtual void endChooser() OVERRIDE;
28
29    void InvokeDidEndChooser();
30    WebTaskList* mutable_task_list() { return &task_list_; }
31
32private:
33    blink::WebColorChooserClient* client_;
34    WebTestDelegate* delegate_;
35    WebTestProxyBase* proxy_;
36    WebTaskList task_list_;
37
38    DISALLOW_COPY_AND_ASSIGN(MockColorChooser);
39};
40
41}  // namespace content
42
43#endif  // CONTENT_SHELL_RENDERER_TEST_RUNNER_MOCK_COLOR_CHOOSER_H_
44