diff options
Diffstat (limited to 'content/test/test_blink_web_unit_test_support.h')
-rw-r--r-- | content/test/test_blink_web_unit_test_support.h | 111 |
1 files changed, 111 insertions, 0 deletions
diff --git a/content/test/test_blink_web_unit_test_support.h b/content/test/test_blink_web_unit_test_support.h new file mode 100644 index 0000000..cea6cf9 --- /dev/null +++ b/content/test/test_blink_web_unit_test_support.h @@ -0,0 +1,111 @@ +// Copyright 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CONTENT_TEST_TEST_BLINK_WEB_UNIT_TEST_SUPPORT_H_ +#define CONTENT_TEST_TEST_BLINK_WEB_UNIT_TEST_SUPPORT_H_ + +#include "base/compiler_specific.h" +#include "base/files/scoped_temp_dir.h" +#include "cc/blink/web_compositor_support_impl.h" +#include "content/child/blink_platform_impl.h" +#include "content/child/simple_webmimeregistry_impl.h" +#include "content/child/webfileutilities_impl.h" +#include "content/test/mock_webblob_registry_impl.h" +#include "content/test/mock_webclipboard_impl.h" +#include "content/test/weburl_loader_mock_factory.h" +#include "third_party/WebKit/public/platform/WebUnitTestSupport.h" + +namespace base { +class StatsTable; +} + +namespace blink { +class WebLayerTreeView; +} + +namespace content { + +// An implementation of blink::WebUnitTestSupport and BlinkPlatformImpl for +// tests. +class TestBlinkWebUnitTestSupport : public blink::WebUnitTestSupport, + public BlinkPlatformImpl { + public: + TestBlinkWebUnitTestSupport(); + virtual ~TestBlinkWebUnitTestSupport(); + + virtual blink::WebBlobRegistry* blobRegistry(); + virtual blink::WebClipboard* clipboard(); + virtual blink::WebFileUtilities* fileUtilities(); + virtual blink::WebIDBFactory* idbFactory(); + virtual blink::WebMimeRegistry* mimeRegistry(); + + virtual blink::WebURLLoader* createURLLoader(); + virtual blink::WebString userAgent() OVERRIDE; + virtual blink::WebData loadResource(const char* name); + virtual blink::WebString queryLocalizedString( + blink::WebLocalizedString::Name name); + virtual blink::WebString queryLocalizedString( + blink::WebLocalizedString::Name name, + const blink::WebString& value); + virtual blink::WebString queryLocalizedString( + blink::WebLocalizedString::Name name, + const blink::WebString& value1, + const blink::WebString& value2); + virtual blink::WebString defaultLocale(); + +#if defined(OS_WIN) || defined(OS_MACOSX) + void SetThemeEngine(blink::WebThemeEngine* engine); + virtual blink::WebThemeEngine* themeEngine(); +#endif + + virtual blink::WebCompositorSupport* compositorSupport(); + + WebURLLoaderMockFactory* url_loader_factory() { + return url_loader_factory_.get(); + } + + const base::FilePath& file_system_root() const { + return file_system_root_.path(); + } + + virtual blink::WebGestureCurve* createFlingAnimationCurve( + blink::WebGestureDevice device_source, + const blink::WebFloatPoint& velocity, + const blink::WebSize& cumulative_scroll) OVERRIDE; + + virtual blink::WebUnitTestSupport* unitTestSupport(); + + // WebUnitTestSupport implementation + virtual void registerMockedURL(const blink::WebURL& url, + const blink::WebURLResponse& response, + const blink::WebString& filePath); + virtual void registerMockedErrorURL(const blink::WebURL& url, + const blink::WebURLResponse& response, + const blink::WebURLError& error); + virtual void unregisterMockedURL(const blink::WebURL& url); + virtual void unregisterAllMockedURLs(); + virtual void serveAsynchronousMockedRequests(); + virtual blink::WebString webKitRootDir(); + virtual blink::WebLayerTreeView* createLayerTreeViewForTesting(); + virtual blink::WebData readFromFile(const blink::WebString& path); + + private: + MockWebBlobRegistryImpl blob_registry_; + SimpleWebMimeRegistryImpl mime_registry_; + scoped_ptr<MockWebClipboardImpl> mock_clipboard_; + WebFileUtilitiesImpl file_utilities_; + base::ScopedTempDir file_system_root_; + scoped_ptr<WebURLLoaderMockFactory> url_loader_factory_; + cc_blink::WebCompositorSupportImpl compositor_support_; + scoped_ptr<base::StatsTable> stats_table_; + +#if defined(OS_WIN) || defined(OS_MACOSX) + blink::WebThemeEngine* active_theme_engine_; +#endif + DISALLOW_COPY_AND_ASSIGN(TestBlinkWebUnitTestSupport); +}; + +} // namespace content + +#endif // CONTENT_TEST_TEST_BLINK_WEB_UNIT_TEST_SUPPORT_H_ |