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 "chrome/browser/extensions/api/web_request/web_request_api.h" | 5 #include "chrome/browser/extensions/api/web_request/web_request_api.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/bind_helpers.h" | 10 #include "base/bind_helpers.h" |
(...skipping 14 matching lines...) Expand all Loading... |
25 #include "chrome/browser/extensions/api/declarative_webrequest/request_stage.h" | 25 #include "chrome/browser/extensions/api/declarative_webrequest/request_stage.h" |
26 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_consta
nts.h" | 26 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_consta
nts.h" |
27 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_
registry.h" | 27 #include "chrome/browser/extensions/api/declarative_webrequest/webrequest_rules_
registry.h" |
28 #include "chrome/browser/extensions/api/web_navigation/web_navigation_api_helper
s.h" | 28 #include "chrome/browser/extensions/api/web_navigation/web_navigation_api_helper
s.h" |
29 #include "chrome/browser/extensions/api/web_request/upload_data_presenter.h" | 29 #include "chrome/browser/extensions/api/web_request/upload_data_presenter.h" |
30 #include "chrome/browser/extensions/api/web_request/web_request_api_constants.h" | 30 #include "chrome/browser/extensions/api/web_request/web_request_api_constants.h" |
31 #include "chrome/browser/extensions/api/web_request/web_request_api_helpers.h" | 31 #include "chrome/browser/extensions/api/web_request/web_request_api_helpers.h" |
32 #include "chrome/browser/extensions/api/web_request/web_request_time_tracker.h" | 32 #include "chrome/browser/extensions/api/web_request/web_request_time_tracker.h" |
33 #include "chrome/browser/extensions/extension_prefs.h" | 33 #include "chrome/browser/extensions/extension_prefs.h" |
34 #include "chrome/browser/extensions/extension_renderer_state.h" | 34 #include "chrome/browser/extensions/extension_renderer_state.h" |
35 #include "chrome/browser/extensions/extension_service.h" | |
36 #include "chrome/browser/extensions/extension_system.h" | 35 #include "chrome/browser/extensions/extension_system.h" |
37 #include "chrome/browser/extensions/extension_warning_service.h" | 36 #include "chrome/browser/extensions/extension_warning_service.h" |
38 #include "chrome/browser/extensions/extension_warning_set.h" | 37 #include "chrome/browser/extensions/extension_warning_set.h" |
39 #include "chrome/browser/profiles/profile.h" | 38 #include "chrome/browser/profiles/profile.h" |
40 #include "chrome/browser/profiles/profile_manager.h" | 39 #include "chrome/browser/profiles/profile_manager.h" |
41 #include "chrome/browser/renderer_host/chrome_render_message_filter.h" | 40 #include "chrome/browser/renderer_host/chrome_render_message_filter.h" |
42 #include "chrome/common/extensions/api/web_request.h" | 41 #include "chrome/common/extensions/api/web_request.h" |
43 #include "chrome/common/extensions/extension_constants.h" | 42 #include "chrome/common/extensions/extension_constants.h" |
44 #include "chrome/common/extensions/extension_messages.h" | 43 #include "chrome/common/extensions/extension_messages.h" |
45 #include "chrome/common/url_constants.h" | 44 #include "chrome/common/url_constants.h" |
46 #include "content/public/browser/browser_message_filter.h" | 45 #include "content/public/browser/browser_message_filter.h" |
47 #include "content/public/browser/browser_thread.h" | 46 #include "content/public/browser/browser_thread.h" |
48 #include "content/public/browser/render_process_host.h" | 47 #include "content/public/browser/render_process_host.h" |
49 #include "content/public/browser/resource_request_info.h" | 48 #include "content/public/browser/resource_request_info.h" |
50 #include "content/public/browser/user_metrics.h" | 49 #include "content/public/browser/user_metrics.h" |
51 #include "extensions/browser/event_router.h" | 50 #include "extensions/browser/event_router.h" |
| 51 #include "extensions/browser/extension_registry.h" |
52 #include "extensions/browser/info_map.h" | 52 #include "extensions/browser/info_map.h" |
| 53 #include "extensions/browser/runtime_data.h" |
53 #include "extensions/common/error_utils.h" | 54 #include "extensions/common/error_utils.h" |
54 #include "extensions/common/event_filtering_info.h" | 55 #include "extensions/common/event_filtering_info.h" |
55 #include "extensions/common/extension.h" | 56 #include "extensions/common/extension.h" |
56 #include "extensions/common/extension_set.h" | 57 #include "extensions/common/extension_set.h" |
57 #include "extensions/common/features/feature.h" | 58 #include "extensions/common/features/feature.h" |
58 #include "extensions/common/permissions/permissions_data.h" | 59 #include "extensions/common/permissions/permissions_data.h" |
59 #include "extensions/common/url_pattern.h" | 60 #include "extensions/common/url_pattern.h" |
60 #include "grit/generated_resources.h" | 61 #include "grit/generated_resources.h" |
61 #include "net/base/auth.h" | 62 #include "net/base/auth.h" |
62 #include "net/base/net_errors.h" | 63 #include "net/base/net_errors.h" |
(...skipping 2291 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2354 Run(); | 2355 Run(); |
2355 } | 2356 } |
2356 | 2357 |
2357 bool WebRequestHandlerBehaviorChangedFunction::RunImpl() { | 2358 bool WebRequestHandlerBehaviorChangedFunction::RunImpl() { |
2358 helpers::ClearCacheOnNavigation(); | 2359 helpers::ClearCacheOnNavigation(); |
2359 return true; | 2360 return true; |
2360 } | 2361 } |
2361 | 2362 |
2362 void SendExtensionWebRequestStatusToHost(content::RenderProcessHost* host) { | 2363 void SendExtensionWebRequestStatusToHost(content::RenderProcessHost* host) { |
2363 Profile* profile = Profile::FromBrowserContext(host->GetBrowserContext()); | 2364 Profile* profile = Profile::FromBrowserContext(host->GetBrowserContext()); |
2364 if (!profile || !profile->GetExtensionService()) | 2365 if (!profile) |
2365 return; | 2366 return; |
2366 | 2367 |
2367 bool adblock = false; | 2368 bool adblock = false; |
2368 bool adblock_plus = false; | 2369 bool adblock_plus = false; |
2369 bool other = false; | 2370 bool other = false; |
2370 const extensions::ExtensionSet* extensions = | 2371 const extensions::ExtensionSet& extensions = |
2371 profile->GetExtensionService()->extensions(); | 2372 extensions::ExtensionRegistry::Get(profile)->enabled_extensions(); |
2372 for (extensions::ExtensionSet::const_iterator it = extensions->begin(); | 2373 extensions::RuntimeData* runtime_data = |
2373 it != extensions->end(); ++it) { | 2374 extensions::ExtensionSystem::Get(profile)->runtime_data(); |
2374 if (profile->GetExtensionService()->HasUsedWebRequest(it->get())) { | 2375 for (extensions::ExtensionSet::const_iterator it = extensions.begin(); |
| 2376 it != extensions.end(); ++it) { |
| 2377 if (runtime_data->HasUsedWebRequest(it->get())) { |
2375 if ((*it)->name().find("Adblock Plus") != std::string::npos) { | 2378 if ((*it)->name().find("Adblock Plus") != std::string::npos) { |
2376 adblock_plus = true; | 2379 adblock_plus = true; |
2377 } else if ((*it)->name().find("AdBlock") != std::string::npos) { | 2380 } else if ((*it)->name().find("AdBlock") != std::string::npos) { |
2378 adblock = true; | 2381 adblock = true; |
2379 } else { | 2382 } else { |
2380 other = true; | 2383 other = true; |
2381 } | 2384 } |
2382 } | 2385 } |
2383 } | 2386 } |
2384 | 2387 |
2385 host->Send(new ExtensionMsg_UsingWebRequestAPI(adblock, adblock_plus, other)); | 2388 host->Send(new ExtensionMsg_UsingWebRequestAPI(adblock, adblock_plus, other)); |
2386 } | 2389 } |
OLD | NEW |