OLD | NEW |
1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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 #import "ios/web/web_state/ui/crw_web_controller.h" | 5 #import "ios/web/web_state/ui/crw_web_controller.h" |
6 | 6 |
7 #import <WebKit/WebKit.h> | 7 #import <WebKit/WebKit.h> |
8 | 8 |
9 #import <objc/runtime.h> | 9 #import <objc/runtime.h> |
10 #include <stddef.h> | 10 #include <stddef.h> |
11 | 11 |
12 #include <cmath> | 12 #include <cmath> |
13 #include <memory> | 13 #include <memory> |
14 #include <utility> | 14 #include <utility> |
15 | 15 |
16 #include "base/callback.h" | 16 #include "base/callback.h" |
17 #include "base/containers/mru_cache.h" | 17 #include "base/containers/mru_cache.h" |
18 #include "base/ios/block_types.h" | 18 #import "base/ios/block_types.h" |
19 #include "base/ios/ios_util.h" | 19 #include "base/ios/ios_util.h" |
20 #import "base/ios/ns_error_util.h" | 20 #import "base/ios/ns_error_util.h" |
21 #include "base/ios/weak_nsobject.h" | 21 #import "base/ios/weak_nsobject.h" |
22 #include "base/json/string_escape.h" | 22 #include "base/json/string_escape.h" |
23 #include "base/logging.h" | 23 #include "base/logging.h" |
24 #include "base/mac/bind_objc_block.h" | 24 #import "base/mac/bind_objc_block.h" |
25 #include "base/mac/bundle_locations.h" | 25 #include "base/mac/bundle_locations.h" |
26 #include "base/mac/foundation_util.h" | 26 #include "base/mac/foundation_util.h" |
27 #include "base/mac/objc_property_releaser.h" | 27 #import "base/mac/objc_property_releaser.h" |
28 #include "base/mac/scoped_cftyperef.h" | 28 #include "base/mac/scoped_cftyperef.h" |
29 #include "base/mac/scoped_nsobject.h" | 29 #import "base/mac/scoped_nsobject.h" |
30 #include "base/metrics/histogram.h" | 30 #include "base/metrics/histogram.h" |
31 #include "base/metrics/user_metrics.h" | 31 #include "base/metrics/user_metrics.h" |
32 #include "base/metrics/user_metrics_action.h" | 32 #include "base/metrics/user_metrics_action.h" |
33 #include "base/strings/string_util.h" | 33 #include "base/strings/string_util.h" |
34 #include "base/strings/sys_string_conversions.h" | 34 #include "base/strings/sys_string_conversions.h" |
35 #include "base/strings/utf_string_conversions.h" | 35 #include "base/strings/utf_string_conversions.h" |
36 #include "base/time/time.h" | 36 #include "base/time/time.h" |
37 #include "base/values.h" | 37 #include "base/values.h" |
38 #include "components/url_formatter/url_formatter.h" | 38 #include "components/url_formatter/url_formatter.h" |
39 #import "ios/net/http_response_headers_util.h" | 39 #import "ios/net/http_response_headers_util.h" |
40 #import "ios/net/nsurlrequest_util.h" | 40 #import "ios/net/nsurlrequest_util.h" |
41 #import "ios/web/history_state_util.h" | 41 #include "ios/web/history_state_util.h" |
42 #include "ios/web/interstitials/web_interstitial_impl.h" | 42 #import "ios/web/interstitials/web_interstitial_impl.h" |
43 #import "ios/web/navigation/crw_session_certificate_policy_manager.h" | 43 #import "ios/web/navigation/crw_session_certificate_policy_manager.h" |
44 #import "ios/web/navigation/crw_session_controller.h" | 44 #import "ios/web/navigation/crw_session_controller.h" |
45 #import "ios/web/navigation/crw_session_entry.h" | 45 #import "ios/web/navigation/crw_session_entry.h" |
46 #import "ios/web/navigation/navigation_item_impl.h" | 46 #import "ios/web/navigation/navigation_item_impl.h" |
47 #import "ios/web/navigation/navigation_manager_impl.h" | 47 #import "ios/web/navigation/navigation_manager_impl.h" |
48 #include "ios/web/net/cert_host_pair.h" | 48 #include "ios/web/net/cert_host_pair.h" |
49 #import "ios/web/net/crw_cert_verification_controller.h" | 49 #import "ios/web/net/crw_cert_verification_controller.h" |
50 #import "ios/web/net/crw_ssl_status_updater.h" | 50 #import "ios/web/net/crw_ssl_status_updater.h" |
51 #include "ios/web/net/request_group_util.h" | 51 #import "ios/web/net/request_group_util.h" |
52 #include "ios/web/public/browser_state.h" | 52 #include "ios/web/public/browser_state.h" |
53 #include "ios/web/public/favicon_url.h" | 53 #include "ios/web/public/favicon_url.h" |
54 #import "ios/web/public/java_script_dialog_presenter.h" | 54 #import "ios/web/public/java_script_dialog_presenter.h" |
55 #include "ios/web/public/navigation_item.h" | 55 #import "ios/web/public/navigation_item.h" |
56 #import "ios/web/public/navigation_manager.h" | 56 #import "ios/web/public/navigation_manager.h" |
57 #import "ios/web/public/origin_util.h" | 57 #import "ios/web/public/origin_util.h" |
58 #include "ios/web/public/referrer.h" | 58 #include "ios/web/public/referrer.h" |
59 #include "ios/web/public/referrer_util.h" | 59 #include "ios/web/public/referrer_util.h" |
60 #include "ios/web/public/ssl_status.h" | 60 #include "ios/web/public/ssl_status.h" |
61 #import "ios/web/public/url_scheme_util.h" | 61 #import "ios/web/public/url_scheme_util.h" |
62 #include "ios/web/public/url_util.h" | 62 #include "ios/web/public/url_util.h" |
63 #include "ios/web/public/web_client.h" | 63 #import "ios/web/public/web_client.h" |
64 #include "ios/web/public/web_kit_constants.h" | 64 #include "ios/web/public/web_kit_constants.h" |
65 #import "ios/web/public/web_state/context_menu_params.h" | 65 #import "ios/web/public/web_state/context_menu_params.h" |
66 #include "ios/web/public/web_state/credential.h" | 66 #include "ios/web/public/web_state/credential.h" |
67 #import "ios/web/public/web_state/crw_web_controller_observer.h" | 67 #import "ios/web/public/web_state/crw_web_controller_observer.h" |
68 #import "ios/web/public/web_state/crw_web_view_scroll_view_proxy.h" | 68 #import "ios/web/public/web_state/crw_web_view_scroll_view_proxy.h" |
69 #import "ios/web/public/web_state/js/credential_util.h" | 69 #include "ios/web/public/web_state/js/credential_util.h" |
70 #import "ios/web/public/web_state/js/crw_js_injection_manager.h" | 70 #import "ios/web/public/web_state/js/crw_js_injection_manager.h" |
71 #import "ios/web/public/web_state/js/crw_js_injection_receiver.h" | 71 #import "ios/web/public/web_state/js/crw_js_injection_receiver.h" |
72 #include "ios/web/public/web_state/page_display_state.h" | 72 #include "ios/web/public/web_state/page_display_state.h" |
73 #import "ios/web/public/web_state/ui/crw_content_view.h" | 73 #import "ios/web/public/web_state/ui/crw_content_view.h" |
74 #import "ios/web/public/web_state/ui/crw_native_content.h" | 74 #import "ios/web/public/web_state/ui/crw_native_content.h" |
75 #import "ios/web/public/web_state/ui/crw_native_content_provider.h" | 75 #import "ios/web/public/web_state/ui/crw_native_content_provider.h" |
76 #import "ios/web/public/web_state/ui/crw_web_view_content_view.h" | 76 #import "ios/web/public/web_state/ui/crw_web_view_content_view.h" |
77 #include "ios/web/public/web_state/url_verification_constants.h" | 77 #include "ios/web/public/web_state/url_verification_constants.h" |
78 #include "ios/web/public/web_state/web_state.h" | 78 #import "ios/web/public/web_state/web_state.h" |
79 #include "ios/web/public/webui/web_ui_ios.h" | 79 #include "ios/web/public/webui/web_ui_ios.h" |
80 #include "ios/web/web_state/blocked_popup_info.h" | 80 #import "ios/web/web_state/blocked_popup_info.h" |
81 #import "ios/web/web_state/crw_pass_kit_downloader.h" | 81 #import "ios/web/web_state/crw_pass_kit_downloader.h" |
82 #import "ios/web/web_state/crw_web_view_proxy_impl.h" | 82 #import "ios/web/web_state/crw_web_view_proxy_impl.h" |
83 #import "ios/web/web_state/error_translation_util.h" | 83 #import "ios/web/web_state/error_translation_util.h" |
84 #import "ios/web/web_state/js/crw_js_plugin_placeholder_manager.h" | 84 #import "ios/web/web_state/js/crw_js_plugin_placeholder_manager.h" |
85 #import "ios/web/web_state/js/crw_js_post_request_loader.h" | 85 #import "ios/web/web_state/js/crw_js_post_request_loader.h" |
86 #import "ios/web/web_state/js/crw_js_window_id_manager.h" | 86 #import "ios/web/web_state/js/crw_js_window_id_manager.h" |
87 #import "ios/web/web_state/page_viewport_state.h" | 87 #import "ios/web/web_state/page_viewport_state.h" |
88 #import "ios/web/web_state/ui/crw_swipe_recognizer_provider.h" | 88 #import "ios/web/web_state/ui/crw_swipe_recognizer_provider.h" |
89 #import "ios/web/web_state/ui/crw_web_controller.h" | 89 #import "ios/web/web_state/ui/crw_web_controller.h" |
90 #import "ios/web/web_state/ui/crw_web_controller_container_view.h" | 90 #import "ios/web/web_state/ui/crw_web_controller_container_view.h" |
(...skipping 5693 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
5784 } | 5784 } |
5785 | 5785 |
5786 return web::WEB_VIEW_DOCUMENT_TYPE_GENERIC; | 5786 return web::WEB_VIEW_DOCUMENT_TYPE_GENERIC; |
5787 } | 5787 } |
5788 | 5788 |
5789 - (NSString*)refererFromNavigationAction:(WKNavigationAction*)action { | 5789 - (NSString*)refererFromNavigationAction:(WKNavigationAction*)action { |
5790 return [action.request valueForHTTPHeaderField:@"Referer"]; | 5790 return [action.request valueForHTTPHeaderField:@"Referer"]; |
5791 } | 5791 } |
5792 | 5792 |
5793 @end | 5793 @end |
OLD | NEW |