Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(339)

Side by Side Diff: chrome/browser/chrome_content_browser_client.cc

Issue 1408193003: Add chrome side webusb permission UI code (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: call UsbChooserContext::GrantDevicePermission when user grants permission to a device Created 5 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <map> 7 #include <map>
8 #include <set> 8 #include <set>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 256 matching lines...) Expand 10 before | Expand all | Expand 10 after
267 267
268 #if defined(ENABLE_WEBRTC) 268 #if defined(ENABLE_WEBRTC)
269 #include "chrome/browser/media/webrtc_logging_handler_host.h" 269 #include "chrome/browser/media/webrtc_logging_handler_host.h"
270 #endif 270 #endif
271 271
272 #if defined(ENABLE_MEDIA_ROUTER) 272 #if defined(ENABLE_MEDIA_ROUTER)
273 #include "chrome/browser/media/router/media_router_feature.h" 273 #include "chrome/browser/media/router/media_router_feature.h"
274 #include "chrome/browser/media/router/presentation_service_delegate_impl.h" 274 #include "chrome/browser/media/router/presentation_service_delegate_impl.h"
275 #endif 275 #endif
276 276
277 #if !defined(OS_ANDROID) && !defined(OS_IOS)
278 #include "components/webusb/public/interfaces/webusb_permission_bubble.mojom.h"
279 #endif
280
277 using base::FileDescriptor; 281 using base::FileDescriptor;
278 using blink::WebWindowFeatures; 282 using blink::WebWindowFeatures;
279 using content::AccessTokenStore; 283 using content::AccessTokenStore;
280 using content::BrowserThread; 284 using content::BrowserThread;
281 using content::BrowserURLHandler; 285 using content::BrowserURLHandler;
282 using content::ChildProcessSecurityPolicy; 286 using content::ChildProcessSecurityPolicy;
283 using content::QuotaPermissionContext; 287 using content::QuotaPermissionContext;
284 using content::RenderFrameHost; 288 using content::RenderFrameHost;
285 using content::RenderViewHost; 289 using content::RenderViewHost;
286 using content::ResourceType; 290 using content::ResourceType;
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after
642 NOTREACHED(); 646 NOTREACHED();
643 return; 647 return;
644 } 648 }
645 649
646 UsbTabHelper* tab_helper = 650 UsbTabHelper* tab_helper =
647 UsbTabHelper::GetOrCreateForWebContents(web_contents); 651 UsbTabHelper::GetOrCreateForWebContents(web_contents);
648 tab_helper->CreateDeviceManager(render_frame_host, request.Pass()); 652 tab_helper->CreateDeviceManager(render_frame_host, request.Pass());
649 #endif // !defined(OS_ANDROID) && !defined(OS_IOS) 653 #endif // !defined(OS_ANDROID) && !defined(OS_IOS)
650 } 654 }
651 655
656 #if !defined(OS_ANDROID) && !defined(OS_IOS)
657 void CreateWebUsbPermissionBubble(
658 RenderFrameHost* render_frame_host,
659 mojo::InterfaceRequest<webusb::WebUsbPermissionBubble> request) {
660 WebContents* web_contents =
661 WebContents::FromRenderFrameHost(render_frame_host);
662 if (!web_contents) {
663 NOTREACHED();
664 return;
665 }
666
667 UsbTabHelper* tab_helper =
668 UsbTabHelper::GetOrCreateForWebContents(web_contents);
669 tab_helper->CreatePermissionBubble(render_frame_host, request.Pass());
670 }
671 #endif // !defined(OS_ANDROID) && !defined(OS_IOS)
672
652 } // namespace 673 } // namespace
653 674
654 ChromeContentBrowserClient::ChromeContentBrowserClient() 675 ChromeContentBrowserClient::ChromeContentBrowserClient()
655 : 676 :
656 weak_factory_(this) { 677 weak_factory_(this) {
657 #if defined(ENABLE_PLUGINS) 678 #if defined(ENABLE_PLUGINS)
658 for (size_t i = 0; i < arraysize(kPredefinedAllowedDevChannelOrigins); ++i) 679 for (size_t i = 0; i < arraysize(kPredefinedAllowedDevChannelOrigins); ++i)
659 allowed_dev_channel_origins_.insert(kPredefinedAllowedDevChannelOrigins[i]); 680 allowed_dev_channel_origins_.insert(kPredefinedAllowedDevChannelOrigins[i]);
660 for (size_t i = 0; i < arraysize(kPredefinedAllowedFileHandleOrigins); ++i) 681 for (size_t i = 0; i < arraysize(kPredefinedAllowedFileHandleOrigins); ++i)
661 allowed_file_handle_origins_.insert(kPredefinedAllowedFileHandleOrigins[i]); 682 allowed_file_handle_origins_.insert(kPredefinedAllowedFileHandleOrigins[i]);
(...skipping 1925 matching lines...) Expand 10 before | Expand all | Expand 10 after
2587 registry->AddService( 2608 registry->AddService(
2588 base::Bind(&chromeos::attestation::PlatformVerificationImpl::Create, 2609 base::Bind(&chromeos::attestation::PlatformVerificationImpl::Create,
2589 render_frame_host)); 2610 render_frame_host));
2590 #endif 2611 #endif
2591 } 2612 }
2592 2613
2593 void ChromeContentBrowserClient::RegisterRenderFrameMojoServices( 2614 void ChromeContentBrowserClient::RegisterRenderFrameMojoServices(
2594 content::ServiceRegistry* registry, 2615 content::ServiceRegistry* registry,
2595 content::RenderFrameHost* render_frame_host) { 2616 content::RenderFrameHost* render_frame_host) {
2596 registry->AddService(base::Bind(&CreateUsbDeviceManager, render_frame_host)); 2617 registry->AddService(base::Bind(&CreateUsbDeviceManager, render_frame_host));
2618 #if !defined(OS_ANDROID) && !defined(OS_IOS)
2619 registry->AddService(
2620 base::Bind(&CreateWebUsbPermissionBubble, render_frame_host));
2621 #endif // !defined(OS_ANDROID) && !defined(OS_IOS)
2597 } 2622 }
2598 2623
2599 void ChromeContentBrowserClient::RegisterOutOfProcessMojoApplications( 2624 void ChromeContentBrowserClient::RegisterOutOfProcessMojoApplications(
2600 OutOfProcessMojoApplicationMap* apps) { 2625 OutOfProcessMojoApplicationMap* apps) {
2601 #if defined(ENABLE_MOJO_MEDIA_IN_UTILITY_PROCESS) 2626 #if defined(ENABLE_MOJO_MEDIA_IN_UTILITY_PROCESS)
2602 apps->insert(std::make_pair(GURL("mojo:media"), 2627 apps->insert(std::make_pair(GURL("mojo:media"),
2603 base::ASCIIToUTF16("Media App"))); 2628 base::ASCIIToUTF16("Media App")));
2604 #endif 2629 #endif
2605 } 2630 }
2606 2631
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after
2763 if (channel <= kMaxDisableEncryptionChannel) { 2788 if (channel <= kMaxDisableEncryptionChannel) {
2764 static const char* const kWebRtcDevSwitchNames[] = { 2789 static const char* const kWebRtcDevSwitchNames[] = {
2765 switches::kDisableWebRtcEncryption, 2790 switches::kDisableWebRtcEncryption,
2766 }; 2791 };
2767 to_command_line->CopySwitchesFrom(from_command_line, 2792 to_command_line->CopySwitchesFrom(from_command_line,
2768 kWebRtcDevSwitchNames, 2793 kWebRtcDevSwitchNames,
2769 arraysize(kWebRtcDevSwitchNames)); 2794 arraysize(kWebRtcDevSwitchNames));
2770 } 2795 }
2771 } 2796 }
2772 #endif // defined(ENABLE_WEBRTC) 2797 #endif // defined(ENABLE_WEBRTC)
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698