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

Side by Side Diff: content/browser/tab_contents/tab_contents.cc

Issue 6973035: Move download stuff to download tab helper. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comment tweak 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
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 "content/browser/tab_contents/tab_contents.h" 5 #include "content/browser/tab_contents/tab_contents.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
11 #include "base/metrics/stats_counters.h" 11 #include "base/metrics/stats_counters.h"
12 #include "base/string16.h" 12 #include "base/string16.h"
13 #include "base/string_util.h" 13 #include "base/string_util.h"
14 #include "base/time.h" 14 #include "base/time.h"
15 #include "base/utf_string_conversions.h" 15 #include "base/utf_string_conversions.h"
16 #include "chrome/browser/browser_process.h"
17 #include "chrome/browser/browser_shutdown.h" 16 #include "chrome/browser/browser_shutdown.h"
18 #include "chrome/browser/content_settings/content_settings_details.h" 17 #include "chrome/browser/content_settings/content_settings_details.h"
19 #include "chrome/browser/content_settings/host_content_settings_map.h" 18 #include "chrome/browser/content_settings/host_content_settings_map.h"
20 #include "chrome/browser/content_settings/tab_specific_content_settings.h" 19 #include "chrome/browser/content_settings/tab_specific_content_settings.h"
21 #include "chrome/browser/debugger/devtools_manager.h" 20 #include "chrome/browser/debugger/devtools_manager.h"
22 #include "chrome/browser/defaults.h" 21 #include "chrome/browser/defaults.h"
23 #include "chrome/browser/download/download_request_limiter.h"
24 #include "chrome/browser/external_protocol_handler.h" 22 #include "chrome/browser/external_protocol_handler.h"
25 #include "chrome/browser/history/history.h" 23 #include "chrome/browser/history/history.h"
26 #include "chrome/browser/load_from_memory_cache_details.h" 24 #include "chrome/browser/load_from_memory_cache_details.h"
27 #include "chrome/browser/load_notification_details.h" 25 #include "chrome/browser/load_notification_details.h"
28 #include "chrome/browser/notifications/desktop_notification_service.h" 26 #include "chrome/browser/notifications/desktop_notification_service.h"
29 #include "chrome/browser/notifications/desktop_notification_service_factory.h" 27 #include "chrome/browser/notifications/desktop_notification_service_factory.h"
30 #include "chrome/browser/platform_util.h" 28 #include "chrome/browser/platform_util.h"
31 #include "chrome/browser/plugin_observer.h" 29 #include "chrome/browser/plugin_observer.h"
32 #include "chrome/browser/prefs/pref_service.h" 30 #include "chrome/browser/prefs/pref_service.h"
33 #include "chrome/browser/profiles/profile.h" 31 #include "chrome/browser/profiles/profile.h"
(...skipping 823 matching lines...) Expand 10 before | Expand all | Expand 10 after
857 855
858 // When it's the first load, we know either the pending one or the committed 856 // When it's the first load, we know either the pending one or the committed
859 // one will have the Web UI in it (see GetWebUIForCurrentState), and only one 857 // one will have the Web UI in it (see GetWebUIForCurrentState), and only one
860 // of them will be valid, so we can just check both. 858 // of them will be valid, so we can just check both.
861 if (render_manager_.pending_web_ui()) 859 if (render_manager_.pending_web_ui())
862 return render_manager_.pending_web_ui()->force_bookmark_bar_visible(); 860 return render_manager_.pending_web_ui()->force_bookmark_bar_visible();
863 return (render_manager_.web_ui() == NULL) ? 861 return (render_manager_.web_ui() == NULL) ?
864 false : render_manager_.web_ui()->force_bookmark_bar_visible(); 862 false : render_manager_.web_ui()->force_bookmark_bar_visible();
865 } 863 }
866 864
867 bool TabContents::CanDownload(int request_id) {
868 TabContentsDelegate* d = delegate();
869 if (d)
870 return d->CanDownload(request_id);
871 return true;
872 }
873
874 void TabContents::OnStartDownload(DownloadItem* download) {
875 DCHECK(download);
876
877 if (!delegate())
878 return;
879
880 // Download in a constrained popup is shown in the tab that opened it.
881 TabContents* tab_contents = delegate()->GetConstrainingContents(this);
882
883 if (tab_contents && tab_contents->delegate())
884 tab_contents->delegate()->OnStartDownload(download, this);
885 }
886
887 void TabContents::WillClose(ConstrainedWindow* window) { 865 void TabContents::WillClose(ConstrainedWindow* window) {
888 ConstrainedWindowList::iterator i( 866 ConstrainedWindowList::iterator i(
889 std::find(child_windows_.begin(), child_windows_.end(), window)); 867 std::find(child_windows_.begin(), child_windows_.end(), window));
890 bool removed_topmost_window = i == child_windows_.begin(); 868 bool removed_topmost_window = i == child_windows_.begin();
891 if (i != child_windows_.end()) 869 if (i != child_windows_.end())
892 child_windows_.erase(i); 870 child_windows_.erase(i);
893 if (child_windows_.empty()) { 871 if (child_windows_.empty()) {
894 BlockTabContent(false); 872 BlockTabContent(false);
895 } else { 873 } else {
896 if (removed_topmost_window) 874 if (removed_topmost_window)
(...skipping 1064 matching lines...) Expand 10 before | Expand all | Expand 10 after
1961 // Disable accelerated compositing if IOSurface's are not supported, 1939 // Disable accelerated compositing if IOSurface's are not supported,
1962 // as is the case in 10.5. 1940 // as is the case in 10.5.
1963 if (!IOSurfaceSupport::Initialize()) 1941 if (!IOSurfaceSupport::Initialize())
1964 web_prefs.accelerated_compositing_enabled = false; 1942 web_prefs.accelerated_compositing_enabled = false;
1965 #endif 1943 #endif
1966 1944
1967 return web_prefs; 1945 return web_prefs;
1968 } 1946 }
1969 1947
1970 void TabContents::OnUserGesture() { 1948 void TabContents::OnUserGesture() {
1971 // See comment in RenderViewHostDelegate::OnUserGesture as to why we do this. 1949 // Notify observers.
1972 DownloadRequestLimiter* limiter = 1950 FOR_EACH_OBSERVER(TabContentsObserver, observers_, DidGetUserGesture());
1973 g_browser_process->download_request_limiter();
1974 if (limiter)
1975 limiter->OnUserGesture(this);
1976 ExternalProtocolHandler::PermitLaunchUrl(); 1951 ExternalProtocolHandler::PermitLaunchUrl();
1977 } 1952 }
1978 1953
1979 void TabContents::OnIgnoredUIEvent() { 1954 void TabContents::OnIgnoredUIEvent() {
1980 if (constrained_window_count()) { 1955 if (constrained_window_count()) {
1981 ConstrainedWindow* window = *constrained_window_begin(); 1956 ConstrainedWindow* window = *constrained_window_begin();
1982 window->FocusConstrainedWindow(); 1957 window->FocusConstrainedWindow();
1983 } 1958 }
1984 } 1959 }
1985 1960
(...skipping 269 matching lines...) Expand 10 before | Expand all | Expand 10 after
2255 2230
2256 void TabContents::CreateViewAndSetSizeForRVH(RenderViewHost* rvh) { 2231 void TabContents::CreateViewAndSetSizeForRVH(RenderViewHost* rvh) {
2257 RenderWidgetHostView* rwh_view = view()->CreateViewForWidget(rvh); 2232 RenderWidgetHostView* rwh_view = view()->CreateViewForWidget(rvh);
2258 rwh_view->SetSize(view()->GetContainerSize()); 2233 rwh_view->SetSize(view()->GetContainerSize());
2259 } 2234 }
2260 2235
2261 void TabContents::OnOnlineStateChanged(bool online) { 2236 void TabContents::OnOnlineStateChanged(bool online) {
2262 render_view_host()->Send(new ViewMsg_NetworkStateChanged( 2237 render_view_host()->Send(new ViewMsg_NetworkStateChanged(
2263 render_view_host()->routing_id(), online)); 2238 render_view_host()->routing_id(), online));
2264 } 2239 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698