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 IOS_WEB_VIEW_INTERNAL_CRIWV_WEB_CLIENT_H_ | 5 #ifndef IOS_WEB_VIEW_INTERNAL_CRIWV_WEB_CLIENT_H_ |
6 #define IOS_WEB_VIEW_INTERNAL_CRIWV_WEB_CLIENT_H_ | 6 #define IOS_WEB_VIEW_INTERNAL_CRIWV_WEB_CLIENT_H_ |
7 | 7 |
8 #include <memory> | 8 #include <memory> |
9 #include "base/compiler_specific.h" | 9 #include "base/compiler_specific.h" |
10 #import "ios/web/public/web_client.h" | 10 #import "ios/web/public/web_client.h" |
11 | 11 |
12 @protocol CWVDelegate; | 12 @protocol CWVDelegate; |
13 | 13 |
14 namespace ios_web_view { | 14 namespace ios_web_view { |
15 class CRIWVBrowserState; | 15 class CRIWVBrowserState; |
16 class CRIWVWebMainParts; | 16 class CRIWVWebMainParts; |
17 | 17 |
18 // CWV-specific implementation of WebClient. Delegates some functionality to | 18 // CWV-specific implementation of WebClient. Delegates some functionality to |
19 // CWVDelegate. | 19 // CWVDelegate. |
20 class CRIWVWebClient : public web::WebClient { | 20 class CRIWVWebClient : public web::WebClient { |
21 public: | 21 public: |
22 explicit CRIWVWebClient(id<CWVDelegate> delegate); | 22 explicit CRIWVWebClient(id<CWVDelegate> delegate); |
23 ~CRIWVWebClient() override; | 23 ~CRIWVWebClient() override; |
24 | 24 |
25 // WebClient implementation. | 25 // WebClient implementation. |
26 web::WebMainParts* CreateWebMainParts() override; | 26 web::WebMainParts* CreateWebMainParts() override; |
27 std::string GetProduct() const override; | 27 std::string GetProduct() const override; |
28 std::string GetUserAgent(bool desktop_user_agent) const override; | 28 std::string GetUserAgent(web::UserAgentType type) const override; |
29 | 29 |
30 // Normal browser state associated with the receiver. | 30 // Normal browser state associated with the receiver. |
31 CRIWVBrowserState* browser_state() const; | 31 CRIWVBrowserState* browser_state() const; |
32 // Off the record browser state associated with the receiver. | 32 // Off the record browser state associated with the receiver. |
33 CRIWVBrowserState* off_the_record_browser_state() const; | 33 CRIWVBrowserState* off_the_record_browser_state() const; |
34 | 34 |
35 private: | 35 private: |
36 // This object's delegate. | 36 // This object's delegate. |
37 __weak id<CWVDelegate> delegate_; | 37 __weak id<CWVDelegate> delegate_; |
38 | 38 |
39 // The WebMainParts created by |CreateWebMainParts()|. | 39 // The WebMainParts created by |CreateWebMainParts()|. |
40 CRIWVWebMainParts* web_main_parts_; | 40 CRIWVWebMainParts* web_main_parts_; |
41 | 41 |
42 DISALLOW_COPY_AND_ASSIGN(CRIWVWebClient); | 42 DISALLOW_COPY_AND_ASSIGN(CRIWVWebClient); |
43 }; | 43 }; |
44 | 44 |
45 } // namespace ios_web_view | 45 } // namespace ios_web_view |
46 | 46 |
47 #endif // IOS_WEB_VIEW_INTERNAL_CRIWV_WEB_CLIENT_H_ | 47 #endif // IOS_WEB_VIEW_INTERNAL_CRIWV_WEB_CLIENT_H_ |
OLD | NEW |