Upstream version 5.34.104.0
[platform/framework/web/crosswalk.git] / src / content / test / test_webkit_platform_support.h
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 #ifndef CONTENT_TEST_TEST_WEBKIT_PLATFORM_SUPPORT_H_
6 #define CONTENT_TEST_TEST_WEBKIT_PLATFORM_SUPPORT_H_
7
8 #include "base/compiler_specific.h"
9 #include "base/files/scoped_temp_dir.h"
10 #include "content/child/simple_webmimeregistry_impl.h"
11 #include "content/child/webfileutilities_impl.h"
12 #include "content/child/webkitplatformsupport_child_impl.h"
13 #include "content/test/mock_webclipboard_impl.h"
14 #include "content/test/weburl_loader_mock_factory.h"
15 #include "third_party/WebKit/public/platform/WebUnitTestSupport.h"
16 #include "webkit/renderer/compositor_bindings/web_compositor_support_impl.h"
17
18 namespace blink {
19 class WebLayerTreeView;
20 }
21
22 namespace content {
23
24 // An implementation of WebKitPlatformSupport for tests.
25 class TestWebKitPlatformSupport
26     : public blink::WebUnitTestSupport,
27       public content::WebKitPlatformSupportChildImpl {
28  public:
29   TestWebKitPlatformSupport();
30   virtual ~TestWebKitPlatformSupport();
31
32   virtual blink::WebMimeRegistry* mimeRegistry();
33   virtual blink::WebClipboard* clipboard();
34   virtual blink::WebFileUtilities* fileUtilities();
35   virtual blink::WebIDBFactory* idbFactory();
36
37   virtual blink::WebURLLoader* createURLLoader();
38   virtual blink::WebData loadResource(const char* name);
39   virtual blink::WebString queryLocalizedString(
40       blink::WebLocalizedString::Name name);
41   virtual blink::WebString queryLocalizedString(
42       blink::WebLocalizedString::Name name,
43       const blink::WebString& value);
44   virtual blink::WebString queryLocalizedString(
45       blink::WebLocalizedString::Name name,
46       const blink::WebString& value1,
47       const blink::WebString& value2);
48   virtual blink::WebString defaultLocale();
49
50 #if defined(OS_WIN) || defined(OS_MACOSX)
51   void SetThemeEngine(blink::WebThemeEngine* engine);
52   virtual blink::WebThemeEngine* themeEngine();
53 #endif
54
55   virtual blink::WebCompositorSupport* compositorSupport();
56
57   WebURLLoaderMockFactory* url_loader_factory() {
58     return url_loader_factory_.get();
59   }
60
61   const base::FilePath& file_system_root() const {
62     return file_system_root_.path();
63   }
64
65   virtual base::string16 GetLocalizedString(int message_id) OVERRIDE;
66   virtual base::StringPiece GetDataResource(
67       int resource_id,
68       ui::ScaleFactor scale_factor) OVERRIDE;
69   virtual webkit_glue::ResourceLoaderBridge* CreateResourceLoader(
70       const webkit_glue::ResourceLoaderBridge::RequestInfo& request_info)
71      OVERRIDE;
72   virtual webkit_glue::WebSocketStreamHandleBridge* CreateWebSocketStreamBridge(
73       blink::WebSocketStreamHandle* handle,
74       webkit_glue::WebSocketStreamHandleDelegate* delegate) OVERRIDE;
75
76   virtual blink::WebGestureCurve* createFlingAnimationCurve(
77       int device_source,
78       const blink::WebFloatPoint& velocity,
79       const blink::WebSize& cumulative_scroll);
80
81   virtual blink::WebUnitTestSupport* unitTestSupport();
82
83   // WebUnitTestSupport implementation
84   virtual void registerMockedURL(const blink::WebURL& url,
85                                  const blink::WebURLResponse& response,
86                                  const blink::WebString& filePath);
87   virtual void registerMockedErrorURL(const blink::WebURL& url,
88                                       const blink::WebURLResponse& response,
89                                       const blink::WebURLError& error);
90   virtual void unregisterMockedURL(const blink::WebURL& url);
91   virtual void unregisterAllMockedURLs();
92   virtual void serveAsynchronousMockedRequests();
93   virtual blink::WebString webKitRootDir();
94   virtual blink::WebLayerTreeView* createLayerTreeViewForTesting();
95   virtual blink::WebLayerTreeView* createLayerTreeViewForTesting(
96       TestViewType type);
97   virtual blink::WebData readFromFile(const blink::WebString& path);
98
99  private:
100   SimpleWebMimeRegistryImpl mime_registry_;
101   scoped_ptr<MockWebClipboardImpl> mock_clipboard_;
102   WebFileUtilitiesImpl file_utilities_;
103   base::ScopedTempDir file_system_root_;
104   scoped_ptr<WebURLLoaderMockFactory> url_loader_factory_;
105   webkit::WebCompositorSupportImpl compositor_support_;
106
107 #if defined(OS_WIN) || defined(OS_MACOSX)
108   blink::WebThemeEngine* active_theme_engine_;
109 #endif
110   DISALLOW_COPY_AND_ASSIGN(TestWebKitPlatformSupport);
111 };
112
113 }  // namespace content
114
115 #endif  // CONTENT_TEST_TEST_WEBKIT_PLATFORM_SUPPORT_H_