Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1523)

Unified Diff: webkit/tools/test_shell/simple_appcache_system.h

Issue 15946006: Move C++ code from webkit/tools/test_shell to webkit/support (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix npapi_test_plugin Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: webkit/tools/test_shell/simple_appcache_system.h
diff --git a/webkit/tools/test_shell/simple_appcache_system.h b/webkit/tools/test_shell/simple_appcache_system.h
deleted file mode 100644
index e6639ad499ec2bf1ed055562827fcc707248ad5e..0000000000000000000000000000000000000000
--- a/webkit/tools/test_shell/simple_appcache_system.h
+++ /dev/null
@@ -1,136 +0,0 @@
-// Copyright (c) 2011 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 WEBKIT_TOOLS_TEST_SHELL_SIMPLE_APPCACHE_SYSTEM_H_
-#define WEBKIT_TOOLS_TEST_SHELL_SIMPLE_APPCACHE_SYSTEM_H_
-
-#include "base/files/file_path.h"
-#include "base/message_loop.h"
-#include "base/threading/thread.h"
-#include "webkit/appcache/appcache_backend_impl.h"
-#include "webkit/appcache/appcache_frontend_impl.h"
-#include "webkit/appcache/appcache_service.h"
-#include "webkit/glue/resource_type.h"
-
-namespace WebKit {
-class WebApplicationCacheHost;
-class WebApplicationCacheHostClient;
-}
-class SimpleBackendProxy;
-class SimpleFrontendProxy;
-
-namespace net {
-class URLRequest;
-class URLRequestContext;
-} // namespace net
-
-// A class that composes the constituent parts of an appcache system
-// together for use in a single process with two relavant threads,
-// a UI thread on which webkit runs and an IO thread on which URLRequests
-// are handled. This class conspires with SimpleResourceLoaderBridge to
-// retrieve resources from the appcache.
-class SimpleAppCacheSystem {
- public:
- // Should be instanced somewhere in main(). If not instanced, the public
- // static methods are all safe no-ops.
- SimpleAppCacheSystem();
- virtual ~SimpleAppCacheSystem();
-
- // One-time main UI thread initialization.
- static void InitializeOnUIThread(const base::FilePath& cache_directory) {
- if (instance_)
- instance_->InitOnUIThread(cache_directory);
- }
-
- // Called by SimpleResourceLoaderBridge's IOThread class.
- // Per IO thread initialization. Only one IO thread can exist
- // at a time, but after IO thread termination a new one can be
- // started on which this method should be called. The instance
- // is assumed to outlive the IO thread.
- static void InitializeOnIOThread(net::URLRequestContext* request_context) {
- if (instance_)
- instance_->InitOnIOThread(request_context);
- }
-
- static void CleanupOnIOThread() {
- if (instance_)
- instance_->CleanupIOThread();
- }
-
- // Called by TestShellWebKitInit to manufacture a 'host' for webcore.
- static WebKit::WebApplicationCacheHost* CreateApplicationCacheHost(
- WebKit::WebApplicationCacheHostClient* client) {
- return instance_ ? instance_->CreateCacheHostForWebKit(client) : NULL;
- }
-
- // Called by SimpleResourceLoaderBridge to hook into resource loads.
- static void SetExtraRequestInfo(net::URLRequest* request,
- int host_id,
- ResourceType::Type resource_type) {
- if (instance_)
- instance_->SetExtraRequestBits(request, host_id, resource_type);
- }
-
- // Called by SimpleResourceLoaderBridge extract extra response bits.
- static void GetExtraResponseInfo(net::URLRequest* request,
- int64* cache_id,
- GURL* manifest_url) {
- if (instance_)
- instance_->GetExtraResponseBits(request, cache_id, manifest_url);
- }
-
- private:
- friend class SimpleBackendProxy;
- friend class SimpleFrontendProxy;
-
- // Instance methods called by our static public methods
- void InitOnUIThread(const base::FilePath& cache_directory);
- void InitOnIOThread(net::URLRequestContext* request_context);
- void CleanupIOThread();
- WebKit::WebApplicationCacheHost* CreateCacheHostForWebKit(
- WebKit::WebApplicationCacheHostClient* client);
- void SetExtraRequestBits(net::URLRequest* request,
- int host_id,
- ResourceType::Type resource_type);
- void GetExtraResponseBits(net::URLRequest* request,
- int64* cache_id,
- GURL* manifest_url);
-
- // Helpers
- base::MessageLoop* io_message_loop() { return io_message_loop_; }
- base::MessageLoop* ui_message_loop() { return ui_message_loop_; }
- bool is_io_thread() {
- return base::MessageLoop::current() == io_message_loop_;
- }
- bool is_ui_thread() {
- return base::MessageLoop::current() == ui_message_loop_;
- }
- bool is_initialized() {
- return io_message_loop_ && is_initailized_on_ui_thread();
- }
- bool is_initailized_on_ui_thread() {
- return ui_message_loop_ ? true : false;
- }
-
- base::FilePath cache_directory_;
- base::MessageLoop* io_message_loop_;
- base::MessageLoop* ui_message_loop_;
- scoped_refptr<SimpleBackendProxy> backend_proxy_;
- scoped_refptr<SimpleFrontendProxy> frontend_proxy_;
- appcache::AppCacheFrontendImpl frontend_impl_;
-
- // Created and used only on the IO thread, these do
- // not survive IO thread termination. If a new IO thread
- // is started new instances will be created.
- appcache::AppCacheBackendImpl* backend_impl_;
- appcache::AppCacheService* service_;
-
- // We start a thread for use as the DB thread.
- base::Thread db_thread_;
-
- // A low-tech singleton.
- static SimpleAppCacheSystem* instance_;
-};
-
-#endif // WEBKIT_TOOLS_TEST_SHELL_SIMPLE_APPCACHE_SYSTEM_H_
« no previous file with comments | « webkit/tools/test_shell/mock_webclipboard_impl.cc ('k') | webkit/tools/test_shell/simple_appcache_system.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698