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

Side by Side Diff: chrome/browser/ui/views/external_tab_container_win.cc

Issue 13037003: permissionrequest API for guest Download. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Sync @tott Created 7 years, 8 months 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 | Annotate | Revision Log
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/ui/views/external_tab_container_win.h" 5 #include "chrome/browser/ui/views/external_tab_container_win.h"
6 6
7 #include <atlbase.h> 7 #include <atlbase.h>
8 #include <atlapp.h> 8 #include <atlapp.h>
9 #include <atlconv.h> 9 #include <atlconv.h>
10 #include <atlmisc.h> 10 #include <atlmisc.h>
(...skipping 646 matching lines...) Expand 10 before | Expand all | Expand 10 after
657 bool ExternalTabContainerWin::TakeFocus(content::WebContents* source, 657 bool ExternalTabContainerWin::TakeFocus(content::WebContents* source,
658 bool reverse) { 658 bool reverse) {
659 if (automation_) { 659 if (automation_) {
660 automation_->Send(new AutomationMsg_TabbedOut(tab_handle_, 660 automation_->Send(new AutomationMsg_TabbedOut(tab_handle_,
661 base::win::IsShiftPressed())); 661 base::win::IsShiftPressed()));
662 } 662 }
663 663
664 return true; 664 return true;
665 } 665 }
666 666
667 bool ExternalTabContainerWin::CanDownload(RenderViewHost* render_view_host, 667 void ExternalTabContainerWin::CanDownload(
668 int request_id, 668 RenderViewHost* render_view_host,
669 const std::string& request_method) { 669 int request_id,
670 const std::string& request_method,
671 const base::Callback<void(bool)>& callback) {
670 if (load_requests_via_automation_) { 672 if (load_requests_via_automation_) {
671 if (automation_) { 673 if (automation_) {
672 // In case the host needs to show UI that needs to take the focus. 674 // In case the host needs to show UI that needs to take the focus.
673 ::AllowSetForegroundWindow(ASFW_ANY); 675 ::AllowSetForegroundWindow(ASFW_ANY);
674 676
675 BrowserThread::PostTask( 677 BrowserThread::PostTask(
676 BrowserThread::IO, FROM_HERE, 678 BrowserThread::IO, FROM_HERE,
677 base::Bind( 679 base::Bind(
678 base::IgnoreResult( 680 base::IgnoreResult(
679 &AutomationResourceMessageFilter::SendDownloadRequestToHost), 681 &AutomationResourceMessageFilter::SendDownloadRequestToHost),
680 automation_resource_message_filter_.get(), 0, tab_handle_, 682 automation_resource_message_filter_.get(), 0, tab_handle_,
681 request_id)); 683 request_id));
682 } 684 }
683 } else { 685 } else {
684 DLOG(WARNING) << "Downloads are only supported with host browser network " 686 DLOG(WARNING) << "Downloads are only supported with host browser network "
685 "stack enabled."; 687 "stack enabled.";
686 } 688 }
687 689
688 // Never allow downloads. 690 // Never allow downloads.
689 return false; 691 callback.Run(false);
690 } 692 }
691 693
692 void ExternalTabContainerWin::RegisterRenderViewHostForAutomation( 694 void ExternalTabContainerWin::RegisterRenderViewHostForAutomation(
693 RenderViewHost* render_view_host, 695 RenderViewHost* render_view_host,
694 bool pending_view) { 696 bool pending_view) {
695 if (render_view_host) { 697 if (render_view_host) {
696 AutomationResourceMessageFilter::RegisterRenderView( 698 AutomationResourceMessageFilter::RegisterRenderView(
697 render_view_host->GetProcess()->GetID(), 699 render_view_host->GetProcess()->GetID(),
698 render_view_host->GetRoutingID(), 700 render_view_host->GetRoutingID(),
699 GetTabHandle(), 701 GetTabHandle(),
(...skipping 597 matching lines...) Expand 10 before | Expand all | Expand 10 after
1297 if (params.disposition == CURRENT_TAB) { 1299 if (params.disposition == CURRENT_TAB) {
1298 DCHECK(route_all_top_level_navigations_); 1300 DCHECK(route_all_top_level_navigations_);
1299 forward_params.disposition = NEW_FOREGROUND_TAB; 1301 forward_params.disposition = NEW_FOREGROUND_TAB;
1300 } 1302 }
1301 WebContents* new_contents = 1303 WebContents* new_contents =
1302 ExternalTabContainerWin::OpenURLFromTab(source, forward_params); 1304 ExternalTabContainerWin::OpenURLFromTab(source, forward_params);
1303 // support only one navigation for a dummy tab before it is killed. 1305 // support only one navigation for a dummy tab before it is killed.
1304 widget_->CloseNow(); 1306 widget_->CloseNow();
1305 return new_contents; 1307 return new_contents;
1306 } 1308 }
OLDNEW
« no previous file with comments | « chrome/browser/ui/views/external_tab_container_win.h ('k') | chrome/renderer/resources/extensions/web_view_experimental.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698