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

Unified Diff: content/child/npapi/plugin_url_fetcher.h

Issue 23503043: Load NPAPI plugin resources through the browser process directly instead of going through the render (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: sync Created 7 years, 3 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: content/child/npapi/plugin_url_fetcher.h
===================================================================
--- content/child/npapi/plugin_url_fetcher.h (revision 0)
+++ content/child/npapi/plugin_url_fetcher.h (revision 0)
@@ -0,0 +1,80 @@
+// Copyright (c) 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_CHILD_NPAPI_URL_FETCHER_H_
+#define CONTENT_CHILD_NPAPI_URL_FETCHER_H_
+
+#include <string>
+
+#include "base/memory/scoped_ptr.h"
+#include "url/gurl.h"
+#include "webkit/child/resource_loader_bridge.h"
+
+namespace webkit_glue {
+class ResourceLoaderBridge;
+}
+
+namespace content {
+class PluginStreamUrl;
+
+// Fetches URLS for a plugin using ResourceDispatcher.
+class PluginURLFetcher : public webkit_glue::ResourceLoaderBridge::Peer {
+ public:
+ PluginURLFetcher(PluginStreamUrl* plugin_stream,
+ const GURL& url,
+ const GURL& first_party_for_cookies,
+ const std::string& method,
+ const std::string& post_data,
+ const GURL& referrer,
+ bool notify_redirects,
+ bool is_plugin_src_load,
+ int origin_pid,
+ int render_view_id,
+ unsigned long resource_id);
+ virtual ~PluginURLFetcher();
+
+ // Cancels the current request.
+ void Cancel();
+
+ // Called with the plugin's reply to NPP_URLRedirectNotify.
+ void URLRedirectResponse(bool allow);
+
+ private:
+ // webkit_glue::ResourceLoaderBridge::Peer implementation:
+ virtual void OnUploadProgress(uint64 position, uint64 size) OVERRIDE;
+ virtual bool OnReceivedRedirect(const GURL& new_url,
+ const webkit_glue::ResourceResponseInfo& info,
+ bool* has_new_first_party_for_cookies,
+ GURL* new_first_party_for_cookies) OVERRIDE;
+ virtual void OnReceivedResponse(
+ const webkit_glue::ResourceResponseInfo& info) OVERRIDE;
+ virtual void OnDownloadedData(int len, int encoded_data_length) OVERRIDE;
+ virtual void OnReceivedData(const char* data,
+ int data_length,
+ int encoded_data_length) OVERRIDE;
+ virtual void OnCompletedRequest(
+ int error_code,
+ bool was_ignored_by_handler,
+ const std::string& security_info,
+ const base::TimeTicks& completion_time) OVERRIDE;
+
+ PluginStreamUrl* plugin_stream_;
+ GURL url_;
+ GURL first_party_for_cookies_;
+ std::string method_;
+ std::string post_data_;
+ GURL referrer_;
+ bool notify_redirects_;
+ bool is_plugin_src_load_;
+ unsigned long resource_id_;
+ int data_offset_;
+
+ scoped_ptr<webkit_glue::ResourceLoaderBridge> bridge_;
+
+ DISALLOW_COPY_AND_ASSIGN(PluginURLFetcher);
+};
+
+} // namespace content
+
+#endif // CONTENT_CHILD_NPAPI_URL_FETCHER_H_
Property changes on: content\child\npapi\plugin_url_fetcher.h
___________________________________________________________________
Added: svn:eol-style
+ LF

Powered by Google App Engine
This is Rietveld 408576698