| 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/chrome_content_browser_client.h" | 5 #include "chrome/browser/chrome_content_browser_client.h" |
| 6 | 6 |
| 7 #include <set> | 7 #include <set> |
| 8 #include <utility> | 8 #include <utility> |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 11 matching lines...) Expand all Loading... |
| 22 #include "chrome/browser/browser_about_handler.h" | 22 #include "chrome/browser/browser_about_handler.h" |
| 23 #include "chrome/browser/browser_process.h" | 23 #include "chrome/browser/browser_process.h" |
| 24 #include "chrome/browser/browser_shutdown.h" | 24 #include "chrome/browser/browser_shutdown.h" |
| 25 #include "chrome/browser/browsing_data/browsing_data_helper.h" | 25 #include "chrome/browser/browsing_data/browsing_data_helper.h" |
| 26 #include "chrome/browser/browsing_data/browsing_data_remover.h" | 26 #include "chrome/browser/browsing_data/browsing_data_remover.h" |
| 27 #include "chrome/browser/character_encoding.h" | 27 #include "chrome/browser/character_encoding.h" |
| 28 #include "chrome/browser/chrome_content_browser_client_parts.h" | 28 #include "chrome/browser/chrome_content_browser_client_parts.h" |
| 29 #include "chrome/browser/chrome_net_benchmarking_message_filter.h" | 29 #include "chrome/browser/chrome_net_benchmarking_message_filter.h" |
| 30 #include "chrome/browser/chrome_quota_permission_context.h" | 30 #include "chrome/browser/chrome_quota_permission_context.h" |
| 31 #include "chrome/browser/content_settings/cookie_settings.h" | 31 #include "chrome/browser/content_settings/cookie_settings.h" |
| 32 #include "chrome/browser/content_settings/permission_context.h" |
| 33 #include "chrome/browser/content_settings/permission_observer.h" |
| 34 #include "chrome/browser/content_settings/permission_observer_factory.h" |
| 32 #include "chrome/browser/content_settings/tab_specific_content_settings.h" | 35 #include "chrome/browser/content_settings/tab_specific_content_settings.h" |
| 33 #include "chrome/browser/defaults.h" | 36 #include "chrome/browser/defaults.h" |
| 34 #include "chrome/browser/download/download_prefs.h" | 37 #include "chrome/browser/download/download_prefs.h" |
| 35 #include "chrome/browser/font_family_cache.h" | 38 #include "chrome/browser/font_family_cache.h" |
| 36 #include "chrome/browser/geolocation/chrome_access_token_store.h" | 39 #include "chrome/browser/geolocation/chrome_access_token_store.h" |
| 37 #include "chrome/browser/geolocation/geolocation_permission_context.h" | 40 #include "chrome/browser/geolocation/geolocation_permission_context.h" |
| 38 #include "chrome/browser/geolocation/geolocation_permission_context_factory.h" | |
| 39 #include "chrome/browser/media/media_capture_devices_dispatcher.h" | 41 #include "chrome/browser/media/media_capture_devices_dispatcher.h" |
| 40 #include "chrome/browser/media/midi_permission_context.h" | 42 #include "chrome/browser/media/midi_permission_context.h" |
| 41 #include "chrome/browser/media/midi_permission_context_factory.h" | |
| 42 #include "chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h" | 43 #include "chrome/browser/metrics/chrome_browser_main_extra_parts_metrics.h" |
| 43 #include "chrome/browser/metrics/rappor/sampling.h" | 44 #include "chrome/browser/metrics/rappor/sampling.h" |
| 44 #include "chrome/browser/nacl_host/nacl_browser_delegate_impl.h" | 45 #include "chrome/browser/nacl_host/nacl_browser_delegate_impl.h" |
| 45 #include "chrome/browser/net/chrome_net_log.h" | 46 #include "chrome/browser/net/chrome_net_log.h" |
| 46 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.h" | 47 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings.h" |
| 47 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings_fact
ory.h" | 48 #include "chrome/browser/net/spdyproxy/data_reduction_proxy_chrome_settings_fact
ory.h" |
| 48 #include "chrome/browser/notifications/desktop_notification_service.h" | 49 #include "chrome/browser/notifications/desktop_notification_service.h" |
| 49 #include "chrome/browser/notifications/desktop_notification_service_factory.h" | |
| 50 #include "chrome/browser/notifications/platform_notification_service_impl.h" | 50 #include "chrome/browser/notifications/platform_notification_service_impl.h" |
| 51 #include "chrome/browser/platform_util.h" | 51 #include "chrome/browser/platform_util.h" |
| 52 #include "chrome/browser/prerender/prerender_final_status.h" | 52 #include "chrome/browser/prerender/prerender_final_status.h" |
| 53 #include "chrome/browser/prerender/prerender_manager.h" | 53 #include "chrome/browser/prerender/prerender_manager.h" |
| 54 #include "chrome/browser/prerender/prerender_manager_factory.h" | 54 #include "chrome/browser/prerender/prerender_manager_factory.h" |
| 55 #include "chrome/browser/prerender/prerender_message_filter.h" | 55 #include "chrome/browser/prerender/prerender_message_filter.h" |
| 56 #include "chrome/browser/printing/printing_message_filter.h" | 56 #include "chrome/browser/printing/printing_message_filter.h" |
| 57 #include "chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.h" | 57 #include "chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.h" |
| 58 #include "chrome/browser/profiles/profile.h" | 58 #include "chrome/browser/profiles/profile.h" |
| 59 #include "chrome/browser/profiles/profile_io_data.h" | 59 #include "chrome/browser/profiles/profile_io_data.h" |
| 60 #include "chrome/browser/push_messaging/push_messaging_permission_context.h" | 60 #include "chrome/browser/push_messaging/push_messaging_permission_context.h" |
| 61 #include "chrome/browser/push_messaging/push_messaging_permission_context_factor
y.h" | |
| 62 #include "chrome/browser/renderer_host/chrome_render_message_filter.h" | 61 #include "chrome/browser/renderer_host/chrome_render_message_filter.h" |
| 63 #include "chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory
.h" | 62 #include "chrome/browser/renderer_host/pepper/chrome_browser_pepper_host_factory
.h" |
| 64 #include "chrome/browser/search/instant_service.h" | 63 #include "chrome/browser/search/instant_service.h" |
| 65 #include "chrome/browser/search/instant_service_factory.h" | 64 #include "chrome/browser/search/instant_service_factory.h" |
| 66 #include "chrome/browser/search/search.h" | 65 #include "chrome/browser/search/search.h" |
| 67 #include "chrome/browser/search_engines/search_provider_install_state_message_fi
lter.h" | 66 #include "chrome/browser/search_engines/search_provider_install_state_message_fi
lter.h" |
| 68 #include "chrome/browser/signin/principals_message_filter.h" | 67 #include "chrome/browser/signin/principals_message_filter.h" |
| 69 #include "chrome/browser/speech/chrome_speech_recognition_manager_delegate.h" | 68 #include "chrome/browser/speech/chrome_speech_recognition_manager_delegate.h" |
| 70 #include "chrome/browser/speech/tts_controller.h" | 69 #include "chrome/browser/speech/tts_controller.h" |
| 71 #include "chrome/browser/speech/tts_message_filter.h" | 70 #include "chrome/browser/speech/tts_message_filter.h" |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 165 #include "chrome/browser/android/webapps/single_tab_mode_tab_helper.h" | 164 #include "chrome/browser/android/webapps/single_tab_mode_tab_helper.h" |
| 166 #include "chrome/browser/chrome_browser_main_android.h" | 165 #include "chrome/browser/chrome_browser_main_android.h" |
| 167 #include "chrome/common/descriptors_android.h" | 166 #include "chrome/common/descriptors_android.h" |
| 168 #include "components/crash/browser/crash_dump_manager_android.h" | 167 #include "components/crash/browser/crash_dump_manager_android.h" |
| 169 #elif defined(OS_POSIX) | 168 #elif defined(OS_POSIX) |
| 170 #include "chrome/browser/chrome_browser_main_posix.h" | 169 #include "chrome/browser/chrome_browser_main_posix.h" |
| 171 #endif | 170 #endif |
| 172 | 171 |
| 173 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) | 172 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) |
| 174 #include "chrome/browser/media/protected_media_identifier_permission_context.h" | 173 #include "chrome/browser/media/protected_media_identifier_permission_context.h" |
| 175 #include "chrome/browser/media/protected_media_identifier_permission_context_fac
tory.h" | |
| 176 #endif | 174 #endif |
| 177 | 175 |
| 178 #if defined(OS_POSIX) && !defined(OS_MACOSX) | 176 #if defined(OS_POSIX) && !defined(OS_MACOSX) |
| 179 #include "base/debug/leak_annotations.h" | 177 #include "base/debug/leak_annotations.h" |
| 180 #include "components/crash/app/breakpad_linux.h" | 178 #include "components/crash/app/breakpad_linux.h" |
| 181 #include "components/crash/browser/crash_handler_host_linux.h" | 179 #include "components/crash/browser/crash_handler_host_linux.h" |
| 182 #endif | 180 #endif |
| 183 | 181 |
| 184 #if defined(OS_ANDROID) | 182 #if defined(OS_ANDROID) |
| 185 #include "ui/base/ui_base_paths.h" | 183 #include "ui/base/ui_base_paths.h" |
| (...skipping 436 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 622 return content::PERMISSION_STATUS_ASK; | 620 return content::PERMISSION_STATUS_ASK; |
| 623 case CONTENT_SETTING_DETECT_IMPORTANT_CONTENT: | 621 case CONTENT_SETTING_DETECT_IMPORTANT_CONTENT: |
| 624 case CONTENT_SETTING_DEFAULT: | 622 case CONTENT_SETTING_DEFAULT: |
| 625 case CONTENT_SETTING_NUM_SETTINGS: | 623 case CONTENT_SETTING_NUM_SETTINGS: |
| 626 break; | 624 break; |
| 627 } | 625 } |
| 628 NOTREACHED(); | 626 NOTREACHED(); |
| 629 return content::PERMISSION_STATUS_DENIED; | 627 return content::PERMISSION_STATUS_DENIED; |
| 630 } | 628 } |
| 631 | 629 |
| 632 PermissionContextBase* GetPermissionContext(Profile* profile, | |
| 633 content::PermissionType permission) { | |
| 634 switch (permission) { | |
| 635 case content::PERMISSION_MIDI_SYSEX: | |
| 636 return MidiPermissionContextFactory::GetForProfile(profile); | |
| 637 case content::PERMISSION_NOTIFICATIONS: | |
| 638 #if defined(ENABLE_NOTIFICATIONS) | |
| 639 return DesktopNotificationServiceFactory::GetForProfile(profile); | |
| 640 #else | |
| 641 NOTIMPLEMENTED(); | |
| 642 break; | |
| 643 #endif | |
| 644 case content::PERMISSION_GEOLOCATION: | |
| 645 return GeolocationPermissionContextFactory::GetForProfile(profile); | |
| 646 case content::PERMISSION_PROTECTED_MEDIA_IDENTIFIER: | |
| 647 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) | |
| 648 return ProtectedMediaIdentifierPermissionContextFactory::GetForProfile( | |
| 649 profile); | |
| 650 #else | |
| 651 NOTIMPLEMENTED(); | |
| 652 break; | |
| 653 #endif | |
| 654 case content::PERMISSION_PUSH_MESSAGING: | |
| 655 return PushMessagingPermissionContextFactory::GetForProfile(profile); | |
| 656 case content::PERMISSION_NUM: | |
| 657 NOTREACHED() << "Invalid RequestPermission for " << permission; | |
| 658 break; | |
| 659 } | |
| 660 return nullptr; | |
| 661 } | |
| 662 | |
| 663 // Helper method to translate from Permissions to ContentSettings | 630 // Helper method to translate from Permissions to ContentSettings |
| 664 ContentSettingsType PermissionToContentSetting( | 631 ContentSettingsType PermissionToContentSetting( |
| 665 content::PermissionType permission) { | 632 content::PermissionType permission) { |
| 666 switch (permission) { | 633 switch (permission) { |
| 667 case content::PERMISSION_MIDI_SYSEX: | 634 case content::PERMISSION_MIDI_SYSEX: |
| 668 return CONTENT_SETTINGS_TYPE_MIDI_SYSEX; | 635 return CONTENT_SETTINGS_TYPE_MIDI_SYSEX; |
| 669 case content::PERMISSION_PUSH_MESSAGING: | 636 case content::PERMISSION_PUSH_MESSAGING: |
| 670 return CONTENT_SETTINGS_TYPE_PUSH_MESSAGING; | 637 return CONTENT_SETTINGS_TYPE_PUSH_MESSAGING; |
| 671 case content::PERMISSION_NOTIFICATIONS: | 638 case content::PERMISSION_NOTIFICATIONS: |
| 672 return CONTENT_SETTINGS_TYPE_NOTIFICATIONS; | 639 return CONTENT_SETTINGS_TYPE_NOTIFICATIONS; |
| 673 case content::PERMISSION_GEOLOCATION: | 640 case content::PERMISSION_GEOLOCATION: |
| 674 return CONTENT_SETTINGS_TYPE_GEOLOCATION; | 641 return CONTENT_SETTINGS_TYPE_GEOLOCATION; |
| 675 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) | 642 #if defined(OS_ANDROID) || defined(OS_CHROMEOS) |
| 676 case content::PERMISSION_PROTECTED_MEDIA_IDENTIFIER: | 643 case content::PERMISSION_PROTECTED_MEDIA_IDENTIFIER: |
| 677 return CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER; | 644 return CONTENT_SETTINGS_TYPE_PROTECTED_MEDIA_IDENTIFIER; |
| 678 #endif | 645 #endif |
| 679 default: | 646 default: |
| 680 NOTREACHED() << "Unknown content setting for permission " << permission; | 647 NOTREACHED() << "Unknown content setting for permission " << permission; |
| 681 return CONTENT_SETTINGS_TYPE_DEFAULT; | 648 return CONTENT_SETTINGS_TYPE_DEFAULT; |
| 682 } | 649 } |
| 683 } | 650 } |
| 684 | 651 |
| 685 void OnRequestPermission( | 652 void PermissionStatusCallbackWrapper( |
| 686 const base::Callback<void(content::PermissionStatus)>& callback, | 653 const base::Callback<void(content::PermissionStatus)>& callback, |
| 687 ContentSetting content_setting) { | 654 ContentSetting content_setting) { |
| 688 callback.Run(ContentSettingToPermissionStatus(content_setting)); | 655 callback.Run(ContentSettingToPermissionStatus(content_setting)); |
| 689 } | 656 } |
| 690 | 657 |
| 691 } // namespace | 658 } // namespace |
| 692 | 659 |
| 693 namespace chrome { | 660 namespace chrome { |
| 694 | 661 |
| 695 ChromeContentBrowserClient::ChromeContentBrowserClient() | 662 ChromeContentBrowserClient::ChromeContentBrowserClient() |
| (...skipping 1246 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1942 bool user_gesture, | 1909 bool user_gesture, |
| 1943 const base::Callback<void(content::PermissionStatus)>& result_callback) { | 1910 const base::Callback<void(content::PermissionStatus)>& result_callback) { |
| 1944 int render_process_id = web_contents->GetRenderProcessHost()->GetID(); | 1911 int render_process_id = web_contents->GetRenderProcessHost()->GetID(); |
| 1945 int render_view_id = web_contents->GetRenderViewHost()->GetRoutingID(); | 1912 int render_view_id = web_contents->GetRenderViewHost()->GetRoutingID(); |
| 1946 const PermissionRequestID request_id(render_process_id, | 1913 const PermissionRequestID request_id(render_process_id, |
| 1947 render_view_id, | 1914 render_view_id, |
| 1948 bridge_id, | 1915 bridge_id, |
| 1949 requesting_frame); | 1916 requesting_frame); |
| 1950 Profile* profile = | 1917 Profile* profile = |
| 1951 Profile::FromBrowserContext(web_contents->GetBrowserContext()); | 1918 Profile::FromBrowserContext(web_contents->GetBrowserContext()); |
| 1952 PermissionContextBase* context = GetPermissionContext(profile, permission); | 1919 PermissionContextBase* context = |
| 1920 PermissionContext::Get(profile, PermissionToContentSetting(permission)); |
| 1953 | 1921 |
| 1954 if (!context) | 1922 if (!context) |
| 1955 return; | 1923 return; |
| 1956 | 1924 |
| 1957 context->RequestPermission(web_contents, request_id, requesting_frame, | 1925 context->RequestPermission(web_contents, request_id, requesting_frame, |
| 1958 user_gesture, | 1926 user_gesture, |
| 1959 base::Bind(&OnRequestPermission, result_callback)); | 1927 base::Bind(&PermissionStatusCallbackWrapper, |
| 1928 result_callback)); |
| 1960 } | 1929 } |
| 1961 | 1930 |
| 1962 content::PermissionStatus ChromeContentBrowserClient::GetPermissionStatus( | 1931 content::PermissionStatus ChromeContentBrowserClient::GetPermissionStatus( |
| 1963 content::PermissionType permission, | 1932 content::PermissionType permission, |
| 1964 content::BrowserContext* browser_context, | 1933 content::BrowserContext* browser_context, |
| 1965 const GURL& requesting_origin, | 1934 const GURL& requesting_origin, |
| 1966 const GURL& embedding_origin) { | 1935 const GURL& embedding_origin) { |
| 1967 DCHECK(browser_context); | 1936 DCHECK(browser_context); |
| 1968 Profile* profile = Profile::FromBrowserContext(browser_context); | 1937 Profile* profile = Profile::FromBrowserContext(browser_context); |
| 1969 PermissionContextBase* context = GetPermissionContext(profile, permission); | 1938 PermissionContextBase* context = |
| 1939 PermissionContext::Get(profile, PermissionToContentSetting(permission)); |
| 1970 | 1940 |
| 1971 if (!context) | 1941 if (!context) |
| 1972 return content::PERMISSION_STATUS_ASK; | 1942 return content::PERMISSION_STATUS_ASK; |
| 1973 | 1943 |
| 1974 return ContentSettingToPermissionStatus( | 1944 return ContentSettingToPermissionStatus( |
| 1975 context->GetPermissionStatus(requesting_origin.GetOrigin(), | 1945 context->GetPermissionStatus(requesting_origin.GetOrigin(), |
| 1976 embedding_origin.GetOrigin())); | 1946 embedding_origin.GetOrigin())); |
| 1977 } | 1947 } |
| 1978 | 1948 |
| 1949 int ChromeContentBrowserClient::SubscribePermissionStatusChange( |
| 1950 content::PermissionType permission, |
| 1951 content::BrowserContext* browser_context, |
| 1952 const GURL& requesting_origin, |
| 1953 const GURL& embedding_origin, |
| 1954 const base::Callback<void(content::PermissionStatus)>& callback) { |
| 1955 return PermissionObserverFactory::GetForProfile( |
| 1956 Profile::FromBrowserContext(browser_context)) |
| 1957 ->Subscribe(PermissionToContentSetting(permission), |
| 1958 requesting_origin, |
| 1959 embedding_origin, |
| 1960 base::Bind(&PermissionStatusCallbackWrapper, |
| 1961 callback)); |
| 1962 } |
| 1963 |
| 1964 void ChromeContentBrowserClient::UnsubscribePermissionStatusChange( |
| 1965 content::BrowserContext* browser_context, |
| 1966 int subscription_id) { |
| 1967 PermissionObserverFactory::GetForProfile( |
| 1968 Profile::FromBrowserContext(browser_context)) |
| 1969 ->Unsubscribe(subscription_id); |
| 1970 } |
| 1971 |
| 1979 void ChromeContentBrowserClient::ResetPermission( | 1972 void ChromeContentBrowserClient::ResetPermission( |
| 1980 content::PermissionType permission, | 1973 content::PermissionType permission, |
| 1981 content::BrowserContext* browser_context, | 1974 content::BrowserContext* browser_context, |
| 1982 const GURL& requesting_origin, | 1975 const GURL& requesting_origin, |
| 1983 const GURL& embedding_origin) { | 1976 const GURL& embedding_origin) { |
| 1984 DCHECK(browser_context); | 1977 DCHECK(browser_context); |
| 1985 Profile* profile = Profile::FromBrowserContext(browser_context); | 1978 Profile* profile = Profile::FromBrowserContext(browser_context); |
| 1986 PermissionContextBase* context = GetPermissionContext(profile, permission); | 1979 PermissionContextBase* context = |
| 1980 PermissionContext::Get(profile, PermissionToContentSetting(permission)); |
| 1987 | 1981 |
| 1988 if (!context) | 1982 if (!context) |
| 1989 return; | 1983 return; |
| 1990 | 1984 |
| 1991 context->ResetPermission(requesting_origin.GetOrigin(), | 1985 context->ResetPermission(requesting_origin.GetOrigin(), |
| 1992 embedding_origin.GetOrigin()); | 1986 embedding_origin.GetOrigin()); |
| 1993 } | 1987 } |
| 1994 | 1988 |
| 1995 void ChromeContentBrowserClient::CancelPermissionRequest( | 1989 void ChromeContentBrowserClient::CancelPermissionRequest( |
| 1996 content::PermissionType permission, | 1990 content::PermissionType permission, |
| 1997 content::WebContents* web_contents, | 1991 content::WebContents* web_contents, |
| 1998 int bridge_id, | 1992 int bridge_id, |
| 1999 const GURL& requesting_frame) { | 1993 const GURL& requesting_frame) { |
| 2000 int render_process_id = web_contents->GetRenderProcessHost()->GetID(); | 1994 int render_process_id = web_contents->GetRenderProcessHost()->GetID(); |
| 2001 int render_view_id = web_contents->GetRenderViewHost()->GetRoutingID(); | 1995 int render_view_id = web_contents->GetRenderViewHost()->GetRoutingID(); |
| 2002 const PermissionRequestID request_id(render_process_id, | 1996 const PermissionRequestID request_id(render_process_id, |
| 2003 render_view_id, | 1997 render_view_id, |
| 2004 bridge_id, | 1998 bridge_id, |
| 2005 requesting_frame); | 1999 requesting_frame); |
| 2006 Profile* profile = | 2000 Profile* profile = |
| 2007 Profile::FromBrowserContext(web_contents->GetBrowserContext()); | 2001 Profile::FromBrowserContext(web_contents->GetBrowserContext()); |
| 2008 PermissionContextBase* context = GetPermissionContext(profile, permission); | 2002 PermissionContextBase* context = |
| 2003 PermissionContext::Get(profile, PermissionToContentSetting(permission)); |
| 2009 if (!context) | 2004 if (!context) |
| 2010 return; | 2005 return; |
| 2011 context->CancelPermissionRequest(web_contents, request_id); | 2006 context->CancelPermissionRequest(web_contents, request_id); |
| 2012 } | 2007 } |
| 2013 | 2008 |
| 2014 void ChromeContentBrowserClient::RegisterPermissionUsage( | 2009 void ChromeContentBrowserClient::RegisterPermissionUsage( |
| 2015 content::PermissionType permission, | 2010 content::PermissionType permission, |
| 2016 content::WebContents* web_contents, | 2011 content::WebContents* web_contents, |
| 2017 const GURL& frame_url, | 2012 const GURL& frame_url, |
| 2018 const GURL& main_frame_url) { | 2013 const GURL& main_frame_url) { |
| (...skipping 622 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2641 switches::kDisableWebRtcEncryption, | 2636 switches::kDisableWebRtcEncryption, |
| 2642 }; | 2637 }; |
| 2643 to_command_line->CopySwitchesFrom(from_command_line, | 2638 to_command_line->CopySwitchesFrom(from_command_line, |
| 2644 kWebRtcDevSwitchNames, | 2639 kWebRtcDevSwitchNames, |
| 2645 arraysize(kWebRtcDevSwitchNames)); | 2640 arraysize(kWebRtcDevSwitchNames)); |
| 2646 } | 2641 } |
| 2647 } | 2642 } |
| 2648 #endif // defined(ENABLE_WEBRTC) | 2643 #endif // defined(ENABLE_WEBRTC) |
| 2649 | 2644 |
| 2650 } // namespace chrome | 2645 } // namespace chrome |
| OLD | NEW |