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

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

Issue 7035015: Revert 85504 - Move download stuff to download tab helper. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 7 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
« no previous file with comments | « chrome/browser/external_tab_container_win.h ('k') | chrome/browser/instant/instant_loader.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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/external_tab_container_win.h" 5 #include "chrome/browser/external_tab_container_win.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/debug/trace_event.h" 9 #include "base/debug/trace_event.h"
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
(...skipping 141 matching lines...) Expand 10 before | Expand all | Expand 10 after
152 if (existing_contents) { 152 if (existing_contents) {
153 tab_contents_.reset(existing_contents); 153 tab_contents_.reset(existing_contents);
154 tab_contents_->controller().set_profile(profile); 154 tab_contents_->controller().set_profile(profile);
155 } else { 155 } else {
156 TabContents* new_contents = new TabContents(profile, NULL, MSG_ROUTING_NONE, 156 TabContents* new_contents = new TabContents(profile, NULL, MSG_ROUTING_NONE,
157 NULL, NULL); 157 NULL, NULL);
158 tab_contents_.reset(new TabContentsWrapper(new_contents)); 158 tab_contents_.reset(new TabContentsWrapper(new_contents));
159 } 159 }
160 160
161 tab_contents_->tab_contents()->set_delegate(this); 161 tab_contents_->tab_contents()->set_delegate(this);
162 tab_contents_->download_tab_helper()->set_delegate(this);
163 162
164 tab_contents_->tab_contents()-> 163 tab_contents_->tab_contents()->
165 GetMutableRendererPrefs()->browser_handles_top_level_requests = 164 GetMutableRendererPrefs()->browser_handles_top_level_requests =
166 handle_top_level_requests; 165 handle_top_level_requests;
167 166
168 if (!existing_contents) { 167 if (!existing_contents) {
169 tab_contents_->render_view_host()->AllowBindings( 168 tab_contents_->render_view_host()->AllowBindings(
170 BindingsPolicy::EXTERNAL_HOST); 169 BindingsPolicy::EXTERNAL_HOST);
171 } 170 }
172 171
(...skipping 360 matching lines...) Expand 10 before | Expand all | Expand 10 after
533 532
534 bool ExternalTabContainer::TakeFocus(bool reverse) { 533 bool ExternalTabContainer::TakeFocus(bool reverse) {
535 if (automation_) { 534 if (automation_) {
536 automation_->Send(new AutomationMsg_TabbedOut(tab_handle_, 535 automation_->Send(new AutomationMsg_TabbedOut(tab_handle_,
537 base::win::IsShiftPressed())); 536 base::win::IsShiftPressed()));
538 } 537 }
539 538
540 return true; 539 return true;
541 } 540 }
542 541
542 bool ExternalTabContainer::CanDownload(int request_id) {
543 if (load_requests_via_automation_) {
544 if (automation_) {
545 // In case the host needs to show UI that needs to take the focus.
546 ::AllowSetForegroundWindow(ASFW_ANY);
547
548 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
549 NewRunnableMethod(automation_resource_message_filter_.get(),
550 &AutomationResourceMessageFilter::SendDownloadRequestToHost,
551 0, tab_handle_, request_id));
552 }
553 } else {
554 DLOG(WARNING) << "Downloads are only supported with host browser network "
555 "stack enabled.";
556 }
557
558 // Never allow downloads.
559 return false;
560 }
561
543 void ExternalTabContainer::ShowPageInfo(Profile* profile, 562 void ExternalTabContainer::ShowPageInfo(Profile* profile,
544 const GURL& url, 563 const GURL& url,
545 const NavigationEntry::SSLStatus& ssl, 564 const NavigationEntry::SSLStatus& ssl,
546 bool show_history) { 565 bool show_history) {
547 POINT cursor_pos = {0}; 566 POINT cursor_pos = {0};
548 GetCursorPos(&cursor_pos); 567 GetCursorPos(&cursor_pos);
549 568
550 gfx::Rect bounds; 569 gfx::Rect bounds;
551 bounds.set_origin(gfx::Point(cursor_pos)); 570 bounds.set_origin(gfx::Point(cursor_pos));
552 571
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
758 UnregisterRenderViewHost(rvh); 777 UnregisterRenderViewHost(rvh);
759 } 778 }
760 break; 779 break;
761 } 780 }
762 default: 781 default:
763 NOTREACHED(); 782 NOTREACHED();
764 } 783 }
765 } 784 }
766 785
767 //////////////////////////////////////////////////////////////////////////////// 786 ////////////////////////////////////////////////////////////////////////////////
768 // ExternalTabContainer, DownloadTabHelperDelegate overrides:
769
770 bool ExternalTabContainer::CanDownload(int request_id) {
771 if (load_requests_via_automation_) {
772 if (automation_) {
773 // In case the host needs to show UI that needs to take the focus.
774 ::AllowSetForegroundWindow(ASFW_ANY);
775
776 BrowserThread::PostTask(BrowserThread::IO, FROM_HERE,
777 NewRunnableMethod(automation_resource_message_filter_.get(),
778 &AutomationResourceMessageFilter::SendDownloadRequestToHost,
779 0, tab_handle_, request_id));
780 }
781 } else {
782 DLOG(WARNING) << "Downloads are only supported with host browser network "
783 "stack enabled.";
784 }
785
786 // Never allow downloads.
787 return false;
788 }
789
790 void ExternalTabContainer::OnStartDownload(DownloadItem* download,
791 TabContentsWrapper* tab) {
792 }
793
794
795 ////////////////////////////////////////////////////////////////////////////////
796 // ExternalTabContainer, views::WidgetWin overrides: 787 // ExternalTabContainer, views::WidgetWin overrides:
797 788
798 LRESULT ExternalTabContainer::OnCreate(LPCREATESTRUCT create_struct) { 789 LRESULT ExternalTabContainer::OnCreate(LPCREATESTRUCT create_struct) {
799 LRESULT result = views::WidgetWin::OnCreate(create_struct); 790 LRESULT result = views::WidgetWin::OnCreate(create_struct);
800 if (result == 0) { 791 if (result == 0) {
801 // Grab a reference here which will be released in OnFinalMessage 792 // Grab a reference here which will be released in OnFinalMessage
802 AddRef(); 793 AddRef();
803 } 794 }
804 return result; 795 return result;
805 } 796 }
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after
1111 1102
1112 if (disposition == CURRENT_TAB) { 1103 if (disposition == CURRENT_TAB) {
1113 DCHECK(route_all_top_level_navigations_); 1104 DCHECK(route_all_top_level_navigations_);
1114 disposition = NEW_FOREGROUND_TAB; 1105 disposition = NEW_FOREGROUND_TAB;
1115 } 1106 }
1116 ExternalTabContainer::OpenURLFromTab(source, url, referrer, disposition, 1107 ExternalTabContainer::OpenURLFromTab(source, url, referrer, disposition,
1117 transition); 1108 transition);
1118 // support only one navigation for a dummy tab before it is killed. 1109 // support only one navigation for a dummy tab before it is killed.
1119 ::DestroyWindow(GetNativeView()); 1110 ::DestroyWindow(GetNativeView());
1120 } 1111 }
OLDNEW
« no previous file with comments | « chrome/browser/external_tab_container_win.h ('k') | chrome/browser/instant/instant_loader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698