OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 #include "extensions/browser/api/web_request/web_request_api.h" | 5 #include "extensions/browser/api/web_request/web_request_api.h" |
6 | 6 |
7 #include <stddef.h> | 7 #include <stddef.h> |
8 | 8 |
9 #include <algorithm> | 9 #include <algorithm> |
10 #include <memory> | 10 #include <memory> |
(...skipping 13 matching lines...) Expand all Loading... |
24 #include "base/strings/utf_string_conversions.h" | 24 #include "base/strings/utf_string_conversions.h" |
25 #include "base/time/time.h" | 25 #include "base/time/time.h" |
26 #include "base/values.h" | 26 #include "base/values.h" |
27 #include "content/public/browser/browser_thread.h" | 27 #include "content/public/browser/browser_thread.h" |
28 #include "content/public/browser/resource_request_info.h" | 28 #include "content/public/browser/resource_request_info.h" |
29 #include "content/public/common/browser_side_navigation_policy.h" | 29 #include "content/public/common/browser_side_navigation_policy.h" |
30 #include "content/public/common/child_process_host.h" | 30 #include "content/public/common/child_process_host.h" |
31 #include "content/public/common/resource_type.h" | 31 #include "content/public/common/resource_type.h" |
32 #include "extensions/browser/api/activity_log/web_request_constants.h" | 32 #include "extensions/browser/api/activity_log/web_request_constants.h" |
33 #include "extensions/browser/api/declarative/rules_registry_service.h" | 33 #include "extensions/browser/api/declarative/rules_registry_service.h" |
| 34 #include "extensions/browser/api/declarative_net_request/matcher_util.h" |
34 #include "extensions/browser/api/declarative_webrequest/request_stage.h" | 35 #include "extensions/browser/api/declarative_webrequest/request_stage.h" |
35 #include "extensions/browser/api/declarative_webrequest/webrequest_constants.h" | 36 #include "extensions/browser/api/declarative_webrequest/webrequest_constants.h" |
36 #include "extensions/browser/api/declarative_webrequest/webrequest_rules_registr
y.h" | 37 #include "extensions/browser/api/declarative_webrequest/webrequest_rules_registr
y.h" |
37 #include "extensions/browser/api/extensions_api_client.h" | 38 #include "extensions/browser/api/extensions_api_client.h" |
38 #include "extensions/browser/api/web_request/web_request_api_constants.h" | 39 #include "extensions/browser/api/web_request/web_request_api_constants.h" |
39 #include "extensions/browser/api/web_request/web_request_api_helpers.h" | 40 #include "extensions/browser/api/web_request/web_request_api_helpers.h" |
40 #include "extensions/browser/api/web_request/web_request_event_details.h" | 41 #include "extensions/browser/api/web_request/web_request_event_details.h" |
41 #include "extensions/browser/api/web_request/web_request_event_router_delegate.h
" | 42 #include "extensions/browser/api/web_request/web_request_event_router_delegate.h
" |
42 #include "extensions/browser/api/web_request/web_request_resource_type.h" | 43 #include "extensions/browser/api/web_request/web_request_resource_type.h" |
43 #include "extensions/browser/api/web_request/web_request_time_tracker.h" | 44 #include "extensions/browser/api/web_request/web_request_time_tracker.h" |
(...skipping 581 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
625 } | 626 } |
626 | 627 |
627 if (IsPageLoad(request)) | 628 if (IsPageLoad(request)) |
628 NotifyPageLoad(); | 629 NotifyPageLoad(); |
629 | 630 |
630 request_time_tracker_->LogRequestStartTime(request->identifier(), | 631 request_time_tracker_->LogRequestStartTime(request->identifier(), |
631 base::Time::Now(), | 632 base::Time::Now(), |
632 request->url(), | 633 request->url(), |
633 browser_context); | 634 browser_context); |
634 | 635 |
| 636 if (declarative_net_request::ShouldBlockRequest( |
| 637 browser_context, extension_info_map, request)) { |
| 638 LOG(ERROR) << "--------request blocked " << request->url(); |
| 639 return net::ERR_BLOCKED_BY_CLIENT; |
| 640 } |
| 641 |
635 // Whether to initialized |blocked_requests_|. | 642 // Whether to initialized |blocked_requests_|. |
636 bool initialize_blocked_requests = false; | 643 bool initialize_blocked_requests = false; |
637 | 644 |
638 initialize_blocked_requests |= | 645 initialize_blocked_requests |= |
639 ProcessDeclarativeRules(browser_context, extension_info_map, | 646 ProcessDeclarativeRules(browser_context, extension_info_map, |
640 web_request::OnBeforeRequest::kEventName, request, | 647 web_request::OnBeforeRequest::kEventName, request, |
641 navigation_ui_data, ON_BEFORE_REQUEST, NULL); | 648 navigation_ui_data, ON_BEFORE_REQUEST, NULL); |
642 | 649 |
643 int extra_info_spec = 0; | 650 int extra_info_spec = 0; |
644 RawListeners listeners = GetMatchingListeners( | 651 RawListeners listeners = GetMatchingListeners( |
(...skipping 1800 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2445 // Since EventListeners are segmented by browser_context, check that | 2452 // Since EventListeners are segmented by browser_context, check that |
2446 // last, as it is exceedingly unlikely to be different. | 2453 // last, as it is exceedingly unlikely to be different. |
2447 return extension_id == that.extension_id && | 2454 return extension_id == that.extension_id && |
2448 sub_event_name == that.sub_event_name && | 2455 sub_event_name == that.sub_event_name && |
2449 web_view_instance_id == that.web_view_instance_id && | 2456 web_view_instance_id == that.web_view_instance_id && |
2450 embedder_process_id == that.embedder_process_id && | 2457 embedder_process_id == that.embedder_process_id && |
2451 browser_context == that.browser_context; | 2458 browser_context == that.browser_context; |
2452 } | 2459 } |
2453 | 2460 |
2454 } // namespace extensions | 2461 } // namespace extensions |
OLD | NEW |