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

Side by Side Diff: content/browser/web_contents/web_contents_impl.cc

Issue 19800005: Hide knowledge of webkit::ppapi::PluginDelegate from chrome. This is part of moving ppapi implement… (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 5 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 "content/browser/web_contents/web_contents_impl.h" 5 #include "content/browser/web_contents/web_contents_impl.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
65 #include "content/public/browser/notification_details.h" 65 #include "content/public/browser/notification_details.h"
66 #include "content/public/browser/notification_service.h" 66 #include "content/public/browser/notification_service.h"
67 #include "content/public/browser/resource_request_details.h" 67 #include "content/public/browser/resource_request_details.h"
68 #include "content/public/browser/storage_partition.h" 68 #include "content/public/browser/storage_partition.h"
69 #include "content/public/browser/user_metrics.h" 69 #include "content/public/browser/user_metrics.h"
70 #include "content/public/browser/web_contents_delegate.h" 70 #include "content/public/browser/web_contents_delegate.h"
71 #include "content/public/browser/web_contents_observer.h" 71 #include "content/public/browser/web_contents_observer.h"
72 #include "content/public/browser/web_contents_view.h" 72 #include "content/public/browser/web_contents_view.h"
73 #include "content/public/common/bindings_policy.h" 73 #include "content/public/common/bindings_policy.h"
74 #include "content/public/common/content_constants.h" 74 #include "content/public/common/content_constants.h"
75 #include "content/public/common/content_restriction.h"
76 #include "content/public/common/content_switches.h" 75 #include "content/public/common/content_switches.h"
77 #include "content/public/common/url_constants.h" 76 #include "content/public/common/url_constants.h"
78 #include "net/base/mime_util.h" 77 #include "net/base/mime_util.h"
79 #include "net/base/net_util.h" 78 #include "net/base/net_util.h"
80 #include "net/base/network_change_notifier.h" 79 #include "net/base/network_change_notifier.h"
81 #include "net/url_request/url_request_context_getter.h" 80 #include "net/url_request/url_request_context_getter.h"
82 #include "third_party/WebKit/public/web/WebView.h" 81 #include "third_party/WebKit/public/web/WebView.h"
83 #include "ui/base/layout.h" 82 #include "ui/base/layout.h"
84 #include "ui/base/touch/touch_device.h" 83 #include "ui/base/touch/touch_device.h"
85 #include "ui/base/ui_base_switches.h" 84 #include "ui/base/ui_base_switches.h"
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
349 capturer_count_(0), 348 capturer_count_(0),
350 should_normally_be_visible_(true), 349 should_normally_be_visible_(true),
351 is_being_destroyed_(false), 350 is_being_destroyed_(false),
352 notify_disconnection_(false), 351 notify_disconnection_(false),
353 dialog_manager_(NULL), 352 dialog_manager_(NULL),
354 is_showing_before_unload_dialog_(false), 353 is_showing_before_unload_dialog_(false),
355 closed_by_user_gesture_(false), 354 closed_by_user_gesture_(false),
356 minimum_zoom_percent_(static_cast<int>(kMinimumZoomFactor * 100)), 355 minimum_zoom_percent_(static_cast<int>(kMinimumZoomFactor * 100)),
357 maximum_zoom_percent_(static_cast<int>(kMaximumZoomFactor * 100)), 356 maximum_zoom_percent_(static_cast<int>(kMaximumZoomFactor * 100)),
358 temporary_zoom_settings_(false), 357 temporary_zoom_settings_(false),
359 content_restrictions_(0),
360 color_chooser_identifier_(0), 358 color_chooser_identifier_(0),
361 message_source_(NULL), 359 message_source_(NULL),
362 fullscreen_widget_routing_id_(MSG_ROUTING_NONE) { 360 fullscreen_widget_routing_id_(MSG_ROUTING_NONE) {
363 for (size_t i = 0; i < g_created_callbacks.Get().size(); i++) 361 for (size_t i = 0; i < g_created_callbacks.Get().size(); i++)
364 g_created_callbacks.Get().at(i).Run(this); 362 g_created_callbacks.Get().at(i).Run(this);
365 } 363 }
366 364
367 WebContentsImpl::~WebContentsImpl() { 365 WebContentsImpl::~WebContentsImpl() {
368 is_being_destroyed_ = true; 366 is_being_destroyed_ = true;
369 367
(...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after
685 OnDidLoadResourceFromMemoryCache) 683 OnDidLoadResourceFromMemoryCache)
686 IPC_MESSAGE_HANDLER(ViewHostMsg_DidDisplayInsecureContent, 684 IPC_MESSAGE_HANDLER(ViewHostMsg_DidDisplayInsecureContent,
687 OnDidDisplayInsecureContent) 685 OnDidDisplayInsecureContent)
688 IPC_MESSAGE_HANDLER(ViewHostMsg_DidRunInsecureContent, 686 IPC_MESSAGE_HANDLER(ViewHostMsg_DidRunInsecureContent,
689 OnDidRunInsecureContent) 687 OnDidRunInsecureContent)
690 IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentLoadedInFrame, 688 IPC_MESSAGE_HANDLER(ViewHostMsg_DocumentLoadedInFrame,
691 OnDocumentLoadedInFrame) 689 OnDocumentLoadedInFrame)
692 IPC_MESSAGE_HANDLER(ViewHostMsg_DidFinishLoad, OnDidFinishLoad) 690 IPC_MESSAGE_HANDLER(ViewHostMsg_DidFinishLoad, OnDidFinishLoad)
693 IPC_MESSAGE_HANDLER(ViewHostMsg_DidFailLoadWithError, 691 IPC_MESSAGE_HANDLER(ViewHostMsg_DidFailLoadWithError,
694 OnDidFailLoadWithError) 692 OnDidFailLoadWithError)
695 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateContentRestrictions,
696 OnUpdateContentRestrictions)
697 IPC_MESSAGE_HANDLER(ViewHostMsg_GoToEntryAtOffset, OnGoToEntryAtOffset) 693 IPC_MESSAGE_HANDLER(ViewHostMsg_GoToEntryAtOffset, OnGoToEntryAtOffset)
698 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateZoomLimits, OnUpdateZoomLimits) 694 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateZoomLimits, OnUpdateZoomLimits)
699 IPC_MESSAGE_HANDLER(ViewHostMsg_SaveURLAs, OnSaveURL)
700 IPC_MESSAGE_HANDLER(ViewHostMsg_EnumerateDirectory, OnEnumerateDirectory) 695 IPC_MESSAGE_HANDLER(ViewHostMsg_EnumerateDirectory, OnEnumerateDirectory)
701 IPC_MESSAGE_HANDLER(ViewHostMsg_JSOutOfMemory, OnJSOutOfMemory) 696 IPC_MESSAGE_HANDLER(ViewHostMsg_JSOutOfMemory, OnJSOutOfMemory)
702 IPC_MESSAGE_HANDLER(ViewHostMsg_RegisterProtocolHandler, 697 IPC_MESSAGE_HANDLER(ViewHostMsg_RegisterProtocolHandler,
703 OnRegisterProtocolHandler) 698 OnRegisterProtocolHandler)
704 IPC_MESSAGE_HANDLER(ViewHostMsg_Find_Reply, OnFindReply) 699 IPC_MESSAGE_HANDLER(ViewHostMsg_Find_Reply, OnFindReply)
705 IPC_MESSAGE_HANDLER(ViewHostMsg_DidProgrammaticallyScroll, 700 IPC_MESSAGE_HANDLER(ViewHostMsg_DidProgrammaticallyScroll,
706 OnDidProgrammaticallyScroll) 701 OnDidProgrammaticallyScroll)
707 IPC_MESSAGE_HANDLER(ViewHostMsg_CrashedPlugin, OnCrashedPlugin) 702 IPC_MESSAGE_HANDLER(ViewHostMsg_CrashedPlugin, OnCrashedPlugin)
708 IPC_MESSAGE_HANDLER(ViewHostMsg_AppCacheAccessed, OnAppCacheAccessed) 703 IPC_MESSAGE_HANDLER(ViewHostMsg_AppCacheAccessed, OnAppCacheAccessed)
709 IPC_MESSAGE_HANDLER(ViewHostMsg_OpenColorChooser, OnOpenColorChooser) 704 IPC_MESSAGE_HANDLER(ViewHostMsg_OpenColorChooser, OnOpenColorChooser)
(...skipping 1166 matching lines...) Expand 10 before | Expand all | Expand 10 after
1876 contents_mime_type_ == "application/xhtml+xml" || 1871 contents_mime_type_ == "application/xhtml+xml" ||
1877 contents_mime_type_ == "text/plain" || 1872 contents_mime_type_ == "text/plain" ||
1878 contents_mime_type_ == "text/css" || 1873 contents_mime_type_ == "text/css" ||
1879 net::IsSupportedJavascriptMimeType(contents_mime_type_.c_str()); 1874 net::IsSupportedJavascriptMimeType(contents_mime_type_.c_str());
1880 } 1875 }
1881 1876
1882 void WebContentsImpl::OnSavePage() { 1877 void WebContentsImpl::OnSavePage() {
1883 // If we can not save the page, try to download it. 1878 // If we can not save the page, try to download it.
1884 if (!IsSavable()) { 1879 if (!IsSavable()) {
1885 RecordDownloadSource(INITIATED_BY_SAVE_PACKAGE_ON_NON_HTML); 1880 RecordDownloadSource(INITIATED_BY_SAVE_PACKAGE_ON_NON_HTML);
1886 SaveURL(GetURL(), Referrer(), true); 1881 SaveFrame(GetURL(), Referrer());
1887 return; 1882 return;
1888 } 1883 }
1889 1884
1890 Stop(); 1885 Stop();
1891 1886
1892 // Create the save package and possibly prompt the user for the name to save 1887 // Create the save package and possibly prompt the user for the name to save
1893 // the page as. The user prompt is an asynchronous operation that runs on 1888 // the page as. The user prompt is an asynchronous operation that runs on
1894 // another thread. 1889 // another thread.
1895 save_package_ = new SavePackage(this); 1890 save_package_ = new SavePackage(this);
1896 save_package_->GetSaveInfo(); 1891 save_package_->GetSaveInfo();
1897 } 1892 }
1898 1893
1899 // Used in automated testing to bypass prompting the user for file names. 1894 // Used in automated testing to bypass prompting the user for file names.
1900 // Instead, the names and paths are hard coded rather than running them through 1895 // Instead, the names and paths are hard coded rather than running them through
1901 // file name sanitation and extension / mime checking. 1896 // file name sanitation and extension / mime checking.
1902 bool WebContentsImpl::SavePage(const base::FilePath& main_file, 1897 bool WebContentsImpl::SavePage(const base::FilePath& main_file,
1903 const base::FilePath& dir_path, 1898 const base::FilePath& dir_path,
1904 SavePageType save_type) { 1899 SavePageType save_type) {
1905 // Stop the page from navigating. 1900 // Stop the page from navigating.
1906 Stop(); 1901 Stop();
1907 1902
1908 save_package_ = new SavePackage(this, save_type, main_file, dir_path); 1903 save_package_ = new SavePackage(this, save_type, main_file, dir_path);
1909 return save_package_->Init(SavePackageDownloadCreatedCallback()); 1904 return save_package_->Init(SavePackageDownloadCreatedCallback());
1910 } 1905 }
1911 1906
1907 void WebContentsImpl::SaveFrame(const GURL& url,
1908 const Referrer& referrer) {
1909 if (!GetURL().is_valid())
1910 return;
1911 bool is_main_frame = (url == GetURL());
1912
1913 DownloadManager* dlm =
1914 BrowserContext::GetDownloadManager(GetBrowserContext());
1915 if (!dlm)
1916 return;
1917 int64 post_id = -1;
1918 if (is_main_frame) {
1919 const NavigationEntry* entry = controller_.GetActiveEntry();
1920 if (entry)
1921 post_id = entry->GetPostID();
1922 }
1923 scoped_ptr<DownloadUrlParameters> params(
1924 DownloadUrlParameters::FromWebContents(this, url));
1925 params->set_referrer(referrer);
1926 params->set_post_id(post_id);
1927 params->set_prefer_cache(true);
1928 if (post_id >= 0)
1929 params->set_method("POST");
1930 params->set_prompt(true);
1931 dlm->DownloadUrl(params.Pass());
1932 }
1933
1912 void WebContentsImpl::GenerateMHTML( 1934 void WebContentsImpl::GenerateMHTML(
1913 const base::FilePath& file, 1935 const base::FilePath& file,
1914 const base::Callback<void(const base::FilePath&, int64)>& callback) { 1936 const base::Callback<void(const base::FilePath&, int64)>& callback) {
1915 MHTMLGenerationManager::GetInstance()->GenerateMHTML(this, file, callback); 1937 MHTMLGenerationManager::GetInstance()->GenerateMHTML(this, file, callback);
1916 } 1938 }
1917 1939
1918 bool WebContentsImpl::IsActiveEntry(int32 page_id) { 1940 bool WebContentsImpl::IsActiveEntry(int32 page_id) {
1919 NavigationEntryImpl* active_entry = 1941 NavigationEntryImpl* active_entry =
1920 NavigationEntryImpl::FromNavigationEntry(controller_.GetActiveEntry()); 1942 NavigationEntryImpl::FromNavigationEntry(controller_.GetActiveEntry());
1921 return (active_entry != NULL && 1943 return (active_entry != NULL &&
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
2048 } 2070 }
2049 2071
2050 int WebContentsImpl::GetMaximumZoomPercent() const { 2072 int WebContentsImpl::GetMaximumZoomPercent() const {
2051 return maximum_zoom_percent_; 2073 return maximum_zoom_percent_;
2052 } 2074 }
2053 2075
2054 gfx::Size WebContentsImpl::GetPreferredSize() const { 2076 gfx::Size WebContentsImpl::GetPreferredSize() const {
2055 return preferred_size_; 2077 return preferred_size_;
2056 } 2078 }
2057 2079
2058 int WebContentsImpl::GetContentRestrictions() const {
2059 return content_restrictions_;
2060 }
2061
2062 bool WebContentsImpl::GotResponseToLockMouseRequest(bool allowed) { 2080 bool WebContentsImpl::GotResponseToLockMouseRequest(bool allowed) {
2063 return GetRenderViewHost() ? 2081 return GetRenderViewHost() ?
2064 GetRenderViewHostImpl()->GotResponseToLockMouseRequest(allowed) : false; 2082 GetRenderViewHostImpl()->GotResponseToLockMouseRequest(allowed) : false;
2065 } 2083 }
2066 2084
2067 bool WebContentsImpl::HasOpener() const { 2085 bool WebContentsImpl::HasOpener() const {
2068 return opener_ != NULL; 2086 return opener_ != NULL;
2069 } 2087 }
2070 2088
2071 void WebContentsImpl::DidChooseColorInColorChooser(SkColor color) { 2089 void WebContentsImpl::DidChooseColorInColorChooser(SkColor color) {
(...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after
2308 const string16& error_description) { 2326 const string16& error_description) {
2309 GURL validated_url(url); 2327 GURL validated_url(url);
2310 RenderProcessHost* render_process_host = message_source_->GetProcess(); 2328 RenderProcessHost* render_process_host = message_source_->GetProcess();
2311 RenderViewHost::FilterURL(render_process_host, false, &validated_url); 2329 RenderViewHost::FilterURL(render_process_host, false, &validated_url);
2312 FOR_EACH_OBSERVER(WebContentsObserver, observers_, 2330 FOR_EACH_OBSERVER(WebContentsObserver, observers_,
2313 DidFailLoad(frame_id, validated_url, is_main_frame, 2331 DidFailLoad(frame_id, validated_url, is_main_frame,
2314 error_code, error_description, 2332 error_code, error_description,
2315 message_source_)); 2333 message_source_));
2316 } 2334 }
2317 2335
2318 void WebContentsImpl::OnUpdateContentRestrictions(int restrictions) {
2319 content_restrictions_ = restrictions;
2320 if (delegate_)
2321 delegate_->ContentRestrictionsChanged(this);
2322 }
2323
2324 void WebContentsImpl::OnGoToEntryAtOffset(int offset) { 2336 void WebContentsImpl::OnGoToEntryAtOffset(int offset) {
2325 if (!delegate_ || delegate_->OnGoToEntryOffset(offset)) { 2337 if (!delegate_ || delegate_->OnGoToEntryOffset(offset)) {
2326 NavigationEntryImpl* entry = NavigationEntryImpl::FromNavigationEntry( 2338 NavigationEntryImpl* entry = NavigationEntryImpl::FromNavigationEntry(
2327 controller_.GetEntryAtOffset(offset)); 2339 controller_.GetEntryAtOffset(offset));
2328 if (!entry) 2340 if (!entry)
2329 return; 2341 return;
2330 // Note that we don't call NavigationController::GotToOffset() as we don't 2342 // Note that we don't call NavigationController::GotToOffset() as we don't
2331 // want to create a pending navigation entry (it might end up lingering 2343 // want to create a pending navigation entry (it might end up lingering
2332 // http://crbug.com/51680). 2344 // http://crbug.com/51680).
2333 entry->SetTransitionType( 2345 entry->SetTransitionType(
(...skipping 13 matching lines...) Expand all
2347 } 2359 }
2348 2360
2349 void WebContentsImpl::OnUpdateZoomLimits(int minimum_percent, 2361 void WebContentsImpl::OnUpdateZoomLimits(int minimum_percent,
2350 int maximum_percent, 2362 int maximum_percent,
2351 bool remember) { 2363 bool remember) {
2352 minimum_zoom_percent_ = minimum_percent; 2364 minimum_zoom_percent_ = minimum_percent;
2353 maximum_zoom_percent_ = maximum_percent; 2365 maximum_zoom_percent_ = maximum_percent;
2354 temporary_zoom_settings_ = !remember; 2366 temporary_zoom_settings_ = !remember;
2355 } 2367 }
2356 2368
2357 void WebContentsImpl::OnSaveURL(const GURL& url,
2358 const Referrer& referrer) {
2359 RecordDownloadSource(INITIATED_BY_PEPPER_SAVE);
2360 // Check if the URL to save matches the URL of the main frame. Since this
2361 // message originates from Pepper plugins, it may not be the case if the
2362 // plugin is an embedded element.
2363 GURL main_frame_url = GetURL();
2364 if (!main_frame_url.is_valid())
2365 return;
2366 bool is_main_frame = (url == main_frame_url);
2367 SaveURL(url, referrer, is_main_frame);
2368 }
2369
2370 void WebContentsImpl::OnEnumerateDirectory(int request_id, 2369 void WebContentsImpl::OnEnumerateDirectory(int request_id,
2371 const base::FilePath& path) { 2370 const base::FilePath& path) {
2372 if (!delegate_) 2371 if (!delegate_)
2373 return; 2372 return;
2374 2373
2375 ChildProcessSecurityPolicyImpl* policy = 2374 ChildProcessSecurityPolicyImpl* policy =
2376 ChildProcessSecurityPolicyImpl::GetInstance(); 2375 ChildProcessSecurityPolicyImpl::GetInstance();
2377 if (policy->CanReadDirectory(GetRenderProcessHost()->GetID(), path)) 2376 if (policy->CanReadDirectory(GetRenderProcessHost()->GetID(), path))
2378 delegate_->EnumerateDirectory(this, request_id, path); 2377 delegate_->EnumerateDirectory(this, request_id, path);
2379 } 2378 }
(...skipping 747 matching lines...) Expand 10 before | Expand all | Expand 10 after
3127 } 3126 }
3128 3127
3129 void WebContentsImpl::RequestMove(const gfx::Rect& new_bounds) { 3128 void WebContentsImpl::RequestMove(const gfx::Rect& new_bounds) {
3130 if (delegate_ && delegate_->IsPopupOrPanel(this)) 3129 if (delegate_ && delegate_->IsPopupOrPanel(this))
3131 delegate_->MoveContents(this, new_bounds); 3130 delegate_->MoveContents(this, new_bounds);
3132 } 3131 }
3133 3132
3134 void WebContentsImpl::DidStartLoading(RenderViewHost* render_view_host) { 3133 void WebContentsImpl::DidStartLoading(RenderViewHost* render_view_host) {
3135 SetIsLoading(true, NULL); 3134 SetIsLoading(true, NULL);
3136 3135
3137 if (delegate_ && content_restrictions_)
3138 OnUpdateContentRestrictions(0);
3139
3140 // Notify observers about navigation. 3136 // Notify observers about navigation.
3141 FOR_EACH_OBSERVER(WebContentsObserver, observers_, 3137 FOR_EACH_OBSERVER(WebContentsObserver, observers_,
3142 DidStartLoading(render_view_host)); 3138 DidStartLoading(render_view_host));
3143 } 3139 }
3144 3140
3145 void WebContentsImpl::DidStopLoading(RenderViewHost* render_view_host) { 3141 void WebContentsImpl::DidStopLoading(RenderViewHost* render_view_host) {
3146 scoped_ptr<LoadNotificationDetails> details; 3142 scoped_ptr<LoadNotificationDetails> details;
3147 3143
3148 // Use the last committed entry rather than the active one, in case a 3144 // Use the last committed entry rather than the active one, in case a
3149 // pending entry has been created. 3145 // pending entry has been created.
(...skipping 523 matching lines...) Expand 10 before | Expand all | Expand 10 after
3673 is_showing_before_unload_dialog_ = false; 3669 is_showing_before_unload_dialog_ = false;
3674 static_cast<RenderViewHostImpl*>( 3670 static_cast<RenderViewHostImpl*>(
3675 rvh)->JavaScriptDialogClosed(reply_msg, success, user_input); 3671 rvh)->JavaScriptDialogClosed(reply_msg, success, user_input);
3676 } 3672 }
3677 3673
3678 void WebContentsImpl::SetEncoding(const std::string& encoding) { 3674 void WebContentsImpl::SetEncoding(const std::string& encoding) {
3679 encoding_ = GetContentClient()->browser()-> 3675 encoding_ = GetContentClient()->browser()->
3680 GetCanonicalEncodingNameByAliasName(encoding); 3676 GetCanonicalEncodingNameByAliasName(encoding);
3681 } 3677 }
3682 3678
3683 void WebContentsImpl::SaveURL(const GURL& url,
3684 const Referrer& referrer,
3685 bool is_main_frame) {
3686 DownloadManager* dlm =
3687 BrowserContext::GetDownloadManager(GetBrowserContext());
3688 if (!dlm)
3689 return;
3690 int64 post_id = -1;
3691 if (is_main_frame) {
3692 const NavigationEntry* entry = controller_.GetActiveEntry();
3693 if (entry)
3694 post_id = entry->GetPostID();
3695 }
3696 scoped_ptr<DownloadUrlParameters> params(
3697 DownloadUrlParameters::FromWebContents(this, url));
3698 params->set_referrer(referrer);
3699 params->set_post_id(post_id);
3700 params->set_prefer_cache(true);
3701 if (post_id >= 0)
3702 params->set_method("POST");
3703 params->set_prompt(true);
3704 dlm->DownloadUrl(params.Pass());
3705 }
3706
3707 void WebContentsImpl::CreateViewAndSetSizeForRVH(RenderViewHost* rvh) { 3679 void WebContentsImpl::CreateViewAndSetSizeForRVH(RenderViewHost* rvh) {
3708 RenderWidgetHostView* rwh_view = view_->CreateViewForWidget(rvh); 3680 RenderWidgetHostView* rwh_view = view_->CreateViewForWidget(rvh);
3709 // Can be NULL during tests. 3681 // Can be NULL during tests.
3710 if (rwh_view) 3682 if (rwh_view)
3711 rwh_view->SetSize(GetView()->GetContainerSize()); 3683 rwh_view->SetSize(GetView()->GetContainerSize());
3712 } 3684 }
3713 3685
3714 RenderViewHostImpl* WebContentsImpl::GetRenderViewHostImpl() { 3686 RenderViewHostImpl* WebContentsImpl::GetRenderViewHostImpl() {
3715 return static_cast<RenderViewHostImpl*>(GetRenderViewHost()); 3687 return static_cast<RenderViewHostImpl*>(GetRenderViewHost());
3716 } 3688 }
(...skipping 25 matching lines...) Expand all
3742 } 3714 }
3743 3715
3744 void WebContentsImpl::ClearAllPowerSaveBlockers() { 3716 void WebContentsImpl::ClearAllPowerSaveBlockers() {
3745 for (PowerSaveBlockerMap::iterator i(power_save_blockers_.begin()); 3717 for (PowerSaveBlockerMap::iterator i(power_save_blockers_.begin());
3746 i != power_save_blockers_.end(); ++i) 3718 i != power_save_blockers_.end(); ++i)
3747 STLDeleteValues(&power_save_blockers_[i->first]); 3719 STLDeleteValues(&power_save_blockers_[i->first]);
3748 power_save_blockers_.clear(); 3720 power_save_blockers_.clear();
3749 } 3721 }
3750 3722
3751 } // namespace content 3723 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698