1 // Copyright 2015 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 #ifndef COMPONENTS_HTML_VIEWER_TEST_HTML_VIEWER_IMPL_H_
6 #define COMPONENTS_HTML_VIEWER_TEST_HTML_VIEWER_IMPL_H_
10 #include "base/basictypes.h"
11 #include "components/html_viewer/public/interfaces/test_html_viewer.mojom.h"
12 #include "third_party/mojo/src/mojo/public/cpp/bindings/binding.h"
18 namespace html_viewer
{
20 // Caller must ensure that |web_frame| outlives TestHTMLViewerImpl.
21 class TestHTMLViewerImpl
: public TestHTMLViewer
{
23 TestHTMLViewerImpl(blink::WebLocalFrame
* web_frame
,
24 mojo::InterfaceRequest
<TestHTMLViewer
> request
);
25 ~TestHTMLViewerImpl() override
;
28 class ExecutionCallbackImpl
;
30 void CallbackCompleted(ExecutionCallbackImpl
* callback_impl
);
33 void GetContentAsText(const GetContentAsTextCallback
& callback
) override
;
34 void ExecuteScript(const mojo::String
& script
,
35 const ExecuteScriptCallback
& callback
) override
;
37 blink::WebLocalFrame
* web_frame_
;
38 mojo::Binding
<TestHTMLViewer
> binding_
;
39 std::set
<ExecutionCallbackImpl
*> callbacks_
;
41 DISALLOW_COPY_AND_ASSIGN(TestHTMLViewerImpl
);
44 } // namespace html_viewer
46 #endif // COMPONENTS_HTML_VIEWER_TEST_HTML_VIEWER_IMPL_H_