OLD | NEW |
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/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
114 #include "ui/gfx/display.h" | 114 #include "ui/gfx/display.h" |
115 #include "ui/gfx/screen.h" | 115 #include "ui/gfx/screen.h" |
116 #include "ui/gl/gl_switches.h" | 116 #include "ui/gl/gl_switches.h" |
117 | 117 |
118 #if defined(ENABLE_BROWSER_CDMS) | 118 #if defined(ENABLE_BROWSER_CDMS) |
119 #include "content/browser/media/media_web_contents_observer.h" | 119 #include "content/browser/media/media_web_contents_observer.h" |
120 #endif | 120 #endif |
121 | 121 |
122 #if defined(OS_ANDROID) | 122 #if defined(OS_ANDROID) |
123 #include "content/browser/android/content_video_view.h" | 123 #include "content/browser/android/content_video_view.h" |
| 124 #include "content/browser/media/android/media_session.h" |
| 125 #endif // OS_ANDROID |
| 126 |
| 127 #if defined(OS_ANDROID) && !defined(USE_AURA) |
124 #include "content/browser/android/date_time_chooser_android.h" | 128 #include "content/browser/android/date_time_chooser_android.h" |
125 #include "content/browser/media/android/media_session.h" | |
126 #include "content/browser/web_contents/web_contents_android.h" | 129 #include "content/browser/web_contents/web_contents_android.h" |
127 #endif | 130 #endif // OS_ANDROID && !USE_AURA |
128 | 131 |
129 #if defined(OS_MACOSX) | 132 #if defined(OS_MACOSX) |
130 #include "base/mac/foundation_util.h" | 133 #include "base/mac/foundation_util.h" |
131 #endif | 134 #endif |
132 | 135 |
133 namespace content { | 136 namespace content { |
134 namespace { | 137 namespace { |
135 | 138 |
136 const int kMinimumDelayBetweenLoadingUpdatesMS = 100; | 139 const int kMinimumDelayBetweenLoadingUpdatesMS = 100; |
137 const char kDotGoogleDotCom[] = ".google.com"; | 140 const char kDotGoogleDotCom[] = ".google.com"; |
(...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
645 OnBrowserPluginMessage(render_frame_host, | 648 OnBrowserPluginMessage(render_frame_host, |
646 message)) | 649 message)) |
647 #endif | 650 #endif |
648 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateFaviconURL, OnUpdateFaviconURL) | 651 IPC_MESSAGE_HANDLER(ViewHostMsg_UpdateFaviconURL, OnUpdateFaviconURL) |
649 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowValidationMessage, | 652 IPC_MESSAGE_HANDLER(ViewHostMsg_ShowValidationMessage, |
650 OnShowValidationMessage) | 653 OnShowValidationMessage) |
651 IPC_MESSAGE_HANDLER(ViewHostMsg_HideValidationMessage, | 654 IPC_MESSAGE_HANDLER(ViewHostMsg_HideValidationMessage, |
652 OnHideValidationMessage) | 655 OnHideValidationMessage) |
653 IPC_MESSAGE_HANDLER(ViewHostMsg_MoveValidationMessage, | 656 IPC_MESSAGE_HANDLER(ViewHostMsg_MoveValidationMessage, |
654 OnMoveValidationMessage) | 657 OnMoveValidationMessage) |
655 #if defined(OS_ANDROID) | 658 #if defined(OS_ANDROID) && !defined(USE_AURA) |
656 IPC_MESSAGE_HANDLER(ViewHostMsg_FindMatchRects_Reply, | 659 IPC_MESSAGE_HANDLER(ViewHostMsg_FindMatchRects_Reply, |
657 OnFindMatchRectsReply) | 660 OnFindMatchRectsReply) |
658 IPC_MESSAGE_HANDLER(ViewHostMsg_OpenDateTimeDialog, | 661 IPC_MESSAGE_HANDLER(ViewHostMsg_OpenDateTimeDialog, |
659 OnOpenDateTimeDialog) | 662 OnOpenDateTimeDialog) |
660 #endif | 663 #endif |
661 IPC_MESSAGE_UNHANDLED(handled = false) | 664 IPC_MESSAGE_UNHANDLED(handled = false) |
662 IPC_END_MESSAGE_MAP() | 665 IPC_END_MESSAGE_MAP() |
663 render_view_message_source_ = NULL; | 666 render_view_message_source_ = NULL; |
664 render_frame_message_source_ = NULL; | 667 render_frame_message_source_ = NULL; |
665 | 668 |
(...skipping 714 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1380 | 1383 |
1381 registrar_.Add(this, | 1384 registrar_.Add(this, |
1382 NOTIFICATION_RENDER_WIDGET_HOST_DESTROYED, | 1385 NOTIFICATION_RENDER_WIDGET_HOST_DESTROYED, |
1383 NotificationService::AllBrowserContextsAndSources()); | 1386 NotificationService::AllBrowserContextsAndSources()); |
1384 | 1387 |
1385 screen_orientation_dispatcher_host_.reset( | 1388 screen_orientation_dispatcher_host_.reset( |
1386 new ScreenOrientationDispatcherHostImpl(this)); | 1389 new ScreenOrientationDispatcherHostImpl(this)); |
1387 | 1390 |
1388 manifest_manager_host_.reset(new ManifestManagerHost(this)); | 1391 manifest_manager_host_.reset(new ManifestManagerHost(this)); |
1389 | 1392 |
1390 #if defined(OS_ANDROID) | 1393 #if defined(OS_ANDROID) && !defined(USE_AURA) |
1391 date_time_chooser_.reset(new DateTimeChooserAndroid()); | 1394 date_time_chooser_.reset(new DateTimeChooserAndroid()); |
1392 #endif | 1395 #endif |
1393 | 1396 |
1394 // BrowserPluginGuest::Init needs to be called after this WebContents has | 1397 // BrowserPluginGuest::Init needs to be called after this WebContents has |
1395 // a RenderWidgetHostViewGuest. That is, |view_->CreateView| above. | 1398 // a RenderWidgetHostViewGuest. That is, |view_->CreateView| above. |
1396 if (browser_plugin_guest_) | 1399 if (browser_plugin_guest_) |
1397 browser_plugin_guest_->Init(); | 1400 browser_plugin_guest_->Init(); |
1398 | 1401 |
1399 for (size_t i = 0; i < g_created_callbacks.Get().size(); i++) | 1402 for (size_t i = 0; i < g_created_callbacks.Get().size(); i++) |
1400 g_created_callbacks.Get().at(i).Run(this); | 1403 g_created_callbacks.Get().at(i).Run(this); |
(...skipping 1787 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3188 int number_of_matches, | 3191 int number_of_matches, |
3189 const gfx::Rect& selection_rect, | 3192 const gfx::Rect& selection_rect, |
3190 int active_match_ordinal, | 3193 int active_match_ordinal, |
3191 bool final_update) { | 3194 bool final_update) { |
3192 if (delegate_) { | 3195 if (delegate_) { |
3193 delegate_->FindReply(this, request_id, number_of_matches, selection_rect, | 3196 delegate_->FindReply(this, request_id, number_of_matches, selection_rect, |
3194 active_match_ordinal, final_update); | 3197 active_match_ordinal, final_update); |
3195 } | 3198 } |
3196 } | 3199 } |
3197 | 3200 |
3198 #if defined(OS_ANDROID) | 3201 #if defined(OS_ANDROID) && !defined(USE_AURA) |
3199 void WebContentsImpl::OnFindMatchRectsReply( | 3202 void WebContentsImpl::OnFindMatchRectsReply( |
3200 int version, | 3203 int version, |
3201 const std::vector<gfx::RectF>& rects, | 3204 const std::vector<gfx::RectF>& rects, |
3202 const gfx::RectF& active_rect) { | 3205 const gfx::RectF& active_rect) { |
3203 if (delegate_) | 3206 if (delegate_) |
3204 delegate_->FindMatchRectsReply(this, version, rects, active_rect); | 3207 delegate_->FindMatchRectsReply(this, version, rects, active_rect); |
3205 } | 3208 } |
3206 | 3209 |
3207 void WebContentsImpl::OnOpenDateTimeDialog( | 3210 void WebContentsImpl::OnOpenDateTimeDialog( |
3208 const ViewHostMsg_DateTimeDialogValue_Params& value) { | 3211 const ViewHostMsg_DateTimeDialogValue_Params& value) { |
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3351 PowerSaveBlocker::kPowerSaveBlockPreventAppSuspension, | 3354 PowerSaveBlocker::kPowerSaveBlockPreventAppSuspension, |
3352 PowerSaveBlocker::kReasonAudioPlayback, "Playing audio"); | 3355 PowerSaveBlocker::kReasonAudioPlayback, "Playing audio"); |
3353 } | 3356 } |
3354 | 3357 |
3355 void WebContentsImpl::CreateVideoPowerSaveBlocker() { | 3358 void WebContentsImpl::CreateVideoPowerSaveBlocker() { |
3356 DCHECK(!video_power_save_blocker_); | 3359 DCHECK(!video_power_save_blocker_); |
3357 DCHECK(!active_video_players_.empty()); | 3360 DCHECK(!active_video_players_.empty()); |
3358 video_power_save_blocker_ = PowerSaveBlocker::Create( | 3361 video_power_save_blocker_ = PowerSaveBlocker::Create( |
3359 PowerSaveBlocker::kPowerSaveBlockPreventDisplaySleep, | 3362 PowerSaveBlocker::kPowerSaveBlockPreventDisplaySleep, |
3360 PowerSaveBlocker::kReasonVideoPlayback, "Playing video"); | 3363 PowerSaveBlocker::kReasonVideoPlayback, "Playing video"); |
3361 #if defined(OS_ANDROID) | 3364 //TODO(mfomitchev): Support PowerSaveBlocker on Aura - crbug.com/546718. |
3362 static_cast<PowerSaveBlockerImpl*>(video_power_save_blocker_.get()) | 3365 #if defined(OS_ANDROID) && !defined(USE_AURA) |
| 3366 static_cast<PowerSaveBlockerImpl*>(video_power_save_blocker_.get()) |
3363 ->InitDisplaySleepBlocker(this); | 3367 ->InitDisplaySleepBlocker(this); |
3364 #endif | 3368 #endif |
3365 } | 3369 } |
3366 | 3370 |
3367 void WebContentsImpl::MaybeReleasePowerSaveBlockers() { | 3371 void WebContentsImpl::MaybeReleasePowerSaveBlockers() { |
3368 // If there are no more audio players and we don't have audio stream | 3372 // If there are no more audio players and we don't have audio stream |
3369 // monitoring, release the audio power save blocker here instead of during | 3373 // monitoring, release the audio power save blocker here instead of during |
3370 // NotifyNavigationStateChanged(). | 3374 // NotifyNavigationStateChanged(). |
3371 if (active_audio_players_.empty() && | 3375 if (active_audio_players_.empty() && |
3372 !AudioStreamMonitor::monitoring_available()) { | 3376 !AudioStreamMonitor::monitoring_available()) { |
(...skipping 1088 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4461 parent_routing_id, previous_sibling_routing_id)) | 4465 parent_routing_id, previous_sibling_routing_id)) |
4462 return false; | 4466 return false; |
4463 | 4467 |
4464 // TODO(nasko): When RenderWidgetHost is owned by RenderFrameHost, the passed | 4468 // TODO(nasko): When RenderWidgetHost is owned by RenderFrameHost, the passed |
4465 // RenderFrameHost will have to be associated with the appropriate | 4469 // RenderFrameHost will have to be associated with the appropriate |
4466 // RenderWidgetHostView or a new one should be created here. | 4470 // RenderWidgetHostView or a new one should be created here. |
4467 | 4471 |
4468 return true; | 4472 return true; |
4469 } | 4473 } |
4470 | 4474 |
4471 #if defined(OS_ANDROID) | 4475 #if defined(OS_ANDROID) && !defined(USE_AURA) |
4472 | 4476 |
4473 base::android::ScopedJavaLocalRef<jobject> | 4477 base::android::ScopedJavaLocalRef<jobject> |
4474 WebContentsImpl::GetJavaWebContents() { | 4478 WebContentsImpl::GetJavaWebContents() { |
4475 DCHECK_CURRENTLY_ON(BrowserThread::UI); | 4479 DCHECK_CURRENTLY_ON(BrowserThread::UI); |
4476 return GetWebContentsAndroid()->GetJavaObject(); | 4480 return GetWebContentsAndroid()->GetJavaObject(); |
4477 } | 4481 } |
4478 | 4482 |
4479 WebContentsAndroid* WebContentsImpl::GetWebContentsAndroid() { | 4483 WebContentsAndroid* WebContentsImpl::GetWebContentsAndroid() { |
4480 WebContentsAndroid* web_contents_android = | 4484 WebContentsAndroid* web_contents_android = |
4481 static_cast<WebContentsAndroid*>(GetUserData(kWebContentsAndroidKey)); | 4485 static_cast<WebContentsAndroid*>(GetUserData(kWebContentsAndroidKey)); |
(...skipping 204 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4686 return NULL; | 4690 return NULL; |
4687 } | 4691 } |
4688 | 4692 |
4689 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) { | 4693 void WebContentsImpl::SetForceDisableOverscrollContent(bool force_disable) { |
4690 force_disable_overscroll_content_ = force_disable; | 4694 force_disable_overscroll_content_ = force_disable; |
4691 if (view_) | 4695 if (view_) |
4692 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); | 4696 view_->SetOverscrollControllerEnabled(CanOverscrollContent()); |
4693 } | 4697 } |
4694 | 4698 |
4695 } // namespace content | 4699 } // namespace content |
OLD | NEW |