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_WEBTESTRUNNER_H_
6#define CONTENT_SHELL_RENDERER_TEST_RUNNER_WEBTESTRUNNER_H_
7
8#include <vector>
9
10namespace blink {
11class WebPermissionClient;
12}
13
14namespace content {
15
16class WebTestRunner {
17 public:
18  // Returns a mock WebPermissionClient that is used for layout tests. An
19  // embedder should use this for all WebViews it creates.
20  virtual blink::WebPermissionClient* GetWebPermissions() const = 0;
21
22  // After WebTestDelegate::TestFinished was invoked, the following methods
23  // can be used to determine what kind of dump the main WebTestProxy can
24  // provide.
25
26  // If true, WebTestDelegate::audioData returns an audio dump and no text
27  // or pixel results are available.
28  virtual bool ShouldDumpAsAudio() const = 0;
29  virtual void GetAudioData(std::vector<unsigned char>* buffer_view) const = 0;
30
31  // Returns true if the call to WebTestProxy::captureTree will invoke
32  // WebTestDelegate::captureHistoryForWindow.
33  virtual bool ShouldDumpBackForwardList() const = 0;
34
35  // Returns true if WebTestProxy::capturePixels should be invoked after
36  // capturing text results.
37  virtual bool ShouldGeneratePixelResults() = 0;
38};
39
40}  // namespace content
41
42#endif  // CONTENT_SHELL_RENDERER_TEST_RUNNER_WEBTESTRUNNER_H_
43