| OLD | NEW | 
|   1 // Copyright 2014 The Chromium Authors. All rights reserved. |   1 // Copyright 2014 The Chromium Authors. All rights reserved. | 
|   2 // Use of this source code is governed by a BSD-style license that can be |   2 // Use of this source code is governed by a BSD-style license that can be | 
|   3 // found in the LICENSE file. |   3 // found in the LICENSE file. | 
|   4  |   4  | 
|   5 #ifndef MOJO_SERVICES_HTML_VIEWER_WEBURLLOADER_IMPL_H_ |   5 #ifndef MOJO_SERVICES_HTML_VIEWER_WEBURLLOADER_IMPL_H_ | 
|   6 #define MOJO_SERVICES_HTML_VIEWER_WEBURLLOADER_IMPL_H_ |   6 #define MOJO_SERVICES_HTML_VIEWER_WEBURLLOADER_IMPL_H_ | 
|   7  |   7  | 
|   8 #include "base/macros.h" |   8 #include "base/macros.h" | 
|   9 #include "base/memory/weak_ptr.h" |   9 #include "base/memory/weak_ptr.h" | 
|  10 #include "mojo/common/handle_watcher.h" |  10 #include "mojo/common/handle_watcher.h" | 
|  11 #include "mojo/services/network/public/interfaces/url_loader.mojom.h" |  11 #include "mojo/services/network/public/interfaces/url_loader.mojom.h" | 
|  12 #include "third_party/WebKit/public/platform/WebURLLoader.h" |  12 #include "third_party/WebKit/public/platform/WebURLLoader.h" | 
|  13 #include "third_party/WebKit/public/platform/WebURLRequest.h" |  13 #include "third_party/WebKit/public/platform/WebURLRequest.h" | 
|  14  |  14  | 
|  15 namespace mojo { |  15 namespace mojo { | 
|  16 class NetworkService; |  16 class NetworkService; | 
|  17 } |  17 } | 
|  18  |  18  | 
|  19 namespace html_viewer { |  19 namespace html_viewer { | 
|  20  |  20  | 
|  21 // The concrete type of WebURLRequest::ExtraData. |  21 // The concrete type of WebURLRequest::ExtraData. | 
|  22 class WebURLRequestExtraData : public blink::WebURLRequest::ExtraData { |  22 class WebURLRequestExtraData : public blink::WebURLRequest::ExtraData { | 
|  23  public: |  23  public: | 
|  24   WebURLRequestExtraData(); |  24   WebURLRequestExtraData(); | 
|  25   virtual ~WebURLRequestExtraData(); |  25   ~WebURLRequestExtraData() override; | 
|  26  |  26  | 
|  27   mojo::URLResponsePtr synthetic_response; |  27   mojo::URLResponsePtr synthetic_response; | 
|  28 }; |  28 }; | 
|  29  |  29  | 
|  30 class WebURLLoaderImpl : public blink::WebURLLoader { |  30 class WebURLLoaderImpl : public blink::WebURLLoader { | 
|  31  public: |  31  public: | 
|  32   explicit WebURLLoaderImpl(mojo::NetworkService* network_service); |  32   explicit WebURLLoaderImpl(mojo::NetworkService* network_service); | 
|  33  |  33  | 
|  34  private: |  34  private: | 
|  35   virtual ~WebURLLoaderImpl(); |  35   virtual ~WebURLLoaderImpl(); | 
|  36  |  36  | 
|  37   // blink::WebURLLoader methods: |  37   // blink::WebURLLoader methods: | 
|  38   virtual void loadSynchronously( |  38   void loadSynchronously(const blink::WebURLRequest& request, | 
|  39       const blink::WebURLRequest& request, blink::WebURLResponse& response, |  39                          blink::WebURLResponse& response, | 
|  40       blink::WebURLError& error, blink::WebData& data) override; |  40                          blink::WebURLError& error, | 
|  41   virtual void loadAsynchronously( |  41                          blink::WebData& data) override; | 
|  42       const blink::WebURLRequest&, blink::WebURLLoaderClient* client) override; |  42   void loadAsynchronously(const blink::WebURLRequest&, | 
|  43   virtual void cancel() override; |  43                           blink::WebURLLoaderClient* client) override; | 
|  44   virtual void setDefersLoading(bool defers_loading) override; |  44   void cancel() override; | 
 |  45   void setDefersLoading(bool defers_loading) override; | 
|  45  |  46  | 
|  46   void OnReceivedResponse(mojo::URLResponsePtr response); |  47   void OnReceivedResponse(mojo::URLResponsePtr response); | 
|  47   void OnReceivedError(mojo::URLResponsePtr response); |  48   void OnReceivedError(mojo::URLResponsePtr response); | 
|  48   void OnReceivedRedirect(mojo::URLResponsePtr response); |  49   void OnReceivedRedirect(mojo::URLResponsePtr response); | 
|  49   void ReadMore(); |  50   void ReadMore(); | 
|  50   void WaitToReadMore(); |  51   void WaitToReadMore(); | 
|  51   void OnResponseBodyStreamReady(MojoResult result); |  52   void OnResponseBodyStreamReady(MojoResult result); | 
|  52  |  53  | 
|  53   blink::WebURLLoaderClient* client_; |  54   blink::WebURLLoaderClient* client_; | 
|  54   GURL url_; |  55   GURL url_; | 
|  55   mojo::URLLoaderPtr url_loader_; |  56   mojo::URLLoaderPtr url_loader_; | 
|  56   mojo::ScopedDataPipeConsumerHandle response_body_stream_; |  57   mojo::ScopedDataPipeConsumerHandle response_body_stream_; | 
|  57   mojo::common::HandleWatcher handle_watcher_; |  58   mojo::common::HandleWatcher handle_watcher_; | 
|  58  |  59  | 
|  59   base::WeakPtrFactory<WebURLLoaderImpl> weak_factory_; |  60   base::WeakPtrFactory<WebURLLoaderImpl> weak_factory_; | 
|  60  |  61  | 
|  61   DISALLOW_COPY_AND_ASSIGN(WebURLLoaderImpl); |  62   DISALLOW_COPY_AND_ASSIGN(WebURLLoaderImpl); | 
|  62 }; |  63 }; | 
|  63  |  64  | 
|  64 }  // namespace html_viewer |  65 }  // namespace html_viewer | 
|  65  |  66  | 
|  66 #endif  // MOJO_SERVICES_HTML_VIEWER_WEBURLLOADER_IMPL_H_ |  67 #endif  // MOJO_SERVICES_HTML_VIEWER_WEBURLLOADER_IMPL_H_ | 
| OLD | NEW |