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

Unified Diff: android_webview/browser/net/android_stream_reader_url_request_job.h

Issue 12377051: [android_webview] Don't intercept resource and asset URLRequests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 9 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 | « no previous file | android_webview/browser/net/android_stream_reader_url_request_job.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: android_webview/browser/net/android_stream_reader_url_request_job.h
diff --git a/android_webview/browser/net/android_stream_reader_url_request_job.h b/android_webview/browser/net/android_stream_reader_url_request_job.h
index 70d5d88a67c204e277a6c37588b42dc4dfe5a859..0cb0bd3653f1738525546891f91e594500c89006 100644
--- a/android_webview/browser/net/android_stream_reader_url_request_job.h
+++ b/android_webview/browser/net/android_stream_reader_url_request_job.h
@@ -7,9 +7,10 @@
#include "base/android/scoped_java_ref.h"
#include "base/location.h"
+#include "base/memory/ref_counted.h"
#include "base/memory/scoped_ptr.h"
#include "base/memory/weak_ptr.h"
-#include "base/threading/non_thread_safe.h"
+#include "base/threading/thread_checker.h"
#include "net/http/http_byte_range.h"
#include "net/url_request/url_request_job.h"
@@ -37,9 +38,18 @@ class AndroidStreamReaderURLRequestJob : public net::URLRequestJob {
*/
class Delegate {
public:
+ // This method is called from a worker thread, not from the IO thread.
virtual scoped_ptr<android_webview::InputStream> OpenInputStream(
JNIEnv* env,
- net::URLRequest* request) = 0;
+ const GURL& url) = 0;
+
+ // This method is called on the Job's thread if the result of calling
+ // OpenInputStream was null.
+ // Setting the |restart| parameter to true will cause the request to be
+ // restarted with a new job.
+ virtual void OnInputStreamOpenFailed(
+ net::URLRequest* request,
+ bool* restart) = 0;
virtual bool GetMimeType(
JNIEnv* env,
@@ -85,8 +95,9 @@ class AndroidStreamReaderURLRequestJob : public net::URLRequestJob {
CreateStreamReader(android_webview::InputStream* stream);
private:
- void StartAsync();
-
+ void OnInputStreamOpened(
+ scoped_ptr<Delegate> delegate,
+ scoped_ptr<android_webview::InputStream> input_stream);
void OnReaderSeekCompleted(int content_size);
void OnReaderReadCompleted(int bytes_read);
@@ -94,6 +105,7 @@ class AndroidStreamReaderURLRequestJob : public net::URLRequestJob {
scoped_ptr<Delegate> delegate_;
scoped_refptr<InputStreamReaderWrapper> input_stream_reader_wrapper_;
base::WeakPtrFactory<AndroidStreamReaderURLRequestJob> weak_factory_;
+ base::ThreadChecker thread_checker_;
DISALLOW_COPY_AND_ASSIGN(AndroidStreamReaderURLRequestJob);
};
« no previous file with comments | « no previous file | android_webview/browser/net/android_stream_reader_url_request_job.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698