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

Unified Diff: services/dart/content_handler_app.h

Issue 2004403003: Build library for the Dart Content Handler. (Closed) Base URL: https://github.com/domokit/mojo.git@master
Patch Set: Created 4 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
« no previous file with comments | « services/dart/BUILD.gn ('k') | services/dart/content_handler_app.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: services/dart/content_handler_app.h
diff --git a/services/dart/content_handler_app.h b/services/dart/content_handler_app.h
new file mode 100644
index 0000000000000000000000000000000000000000..a3ae75600160a909abc7450d0e48fd3d056da2f1
--- /dev/null
+++ b/services/dart/content_handler_app.h
@@ -0,0 +1,74 @@
+// Copyright 2016 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 SERVICES_DART_CONTENT_HANDLER_APP_H_
+#define SERVICES_DART_CONTENT_HANDLER_APP_H_
+
+#include "base/bind.h"
+#include "mojo/application/content_handler_factory.h"
+#include "mojo/common/tracing_impl.h"
+#include "mojo/public/cpp/application/application_delegate.h"
+#include "mojo/services/url_response_disk_cache/interfaces/url_response_disk_cache.mojom.h"
+#include "services/dart/content_handler_app_service_connector.h"
+#include "services/dart/dart_tracing.h"
+
+namespace dart {
+
+class DartContentHandlerApp;
+
+class DartContentHandler : public mojo::ContentHandlerFactory::ManagedDelegate {
+ public:
+ DartContentHandler(DartContentHandlerApp* app, bool strict);
+
+ void set_handler_task_runner(
+ scoped_refptr<base::SingleThreadTaskRunner> handler_task_runner);
+
+ private:
+ // Overridden from ContentHandlerFactory::ManagedDelegate:
+ scoped_ptr<mojo::ContentHandlerFactory::HandledApplicationHolder>
+ CreateApplication(
+ mojo::InterfaceRequest<mojo::Application> application_request,
+ mojo::URLResponsePtr response) override;
+
+ DartContentHandlerApp* app_;
+ bool strict_;
+ scoped_refptr<base::SingleThreadTaskRunner> handler_task_runner_;
+
+ DISALLOW_COPY_AND_ASSIGN(DartContentHandler);
+};
+
+class DartContentHandlerApp : public mojo::ApplicationDelegate {
+ public:
+ DartContentHandlerApp();
+
+ ~DartContentHandlerApp() override;
+
+ void ExtractApplication(base::FilePath* application_dir,
+ mojo::URLResponsePtr response,
+ const base::Closure& callback);
+
+ bool run_on_message_loop() const;
+
+ private:
+ // Overridden from mojo::ApplicationDelegate:
+ void Initialize(mojo::ApplicationImpl* app) override;
+
+ // Overridden from ApplicationDelegate:
+ bool ConfigureIncomingConnection(
+ mojo::ServiceProviderImpl* service_provider_impl) override;
+
+ mojo::TracingImpl tracing_;
+ DartContentHandler content_handler_;
+ DartContentHandler strict_content_handler_;
+ mojo::URLResponseDiskCachePtr url_response_disk_cache_;
+ ContentHandlerAppServiceConnector* service_connector_;
+ DartTracingImpl dart_tracing_;
+ bool default_strict_;
+ bool run_on_message_loop_;
+
+ DISALLOW_COPY_AND_ASSIGN(DartContentHandlerApp);
+};
+}
+
+#endif // SERVICES_DART_CONTENT_HANDLER_APP_H_
« no previous file with comments | « services/dart/BUILD.gn ('k') | services/dart/content_handler_app.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698