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

Side by Side Diff: content/renderer/renderer_webkitplatformsupport_impl.cc

Issue 421293010: Update RendererWebPlatformSupportImpl to use {start,stop}Listening(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comments Created 6 years, 4 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
« no previous file with comments | « content/renderer/renderer_webkitplatformsupport_impl.h ('k') | no next file » | 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) 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/renderer/renderer_webkitplatformsupport_impl.h" 5 #include "content/renderer/renderer_webkitplatformsupport_impl.h"
6 6
7 #include "base/command_line.h" 7 #include "base/command_line.h"
8 #include "base/files/file_path.h" 8 #include "base/files/file_path.h"
9 #include "base/lazy_instance.h" 9 #include "base/lazy_instance.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 870 matching lines...) Expand 10 before | Expand all | Expand 10 after
881 return blob_registry_.get(); 881 return blob_registry_.get();
882 } 882 }
883 883
884 //------------------------------------------------------------------------------ 884 //------------------------------------------------------------------------------
885 885
886 void RendererWebKitPlatformSupportImpl::sampleGamepads(WebGamepads& gamepads) { 886 void RendererWebKitPlatformSupportImpl::sampleGamepads(WebGamepads& gamepads) {
887 DCHECK(gamepad_provider_); 887 DCHECK(gamepad_provider_);
888 gamepad_provider_->SampleGamepads(gamepads); 888 gamepad_provider_->SampleGamepads(gamepads);
889 } 889 }
890 890
891 void RendererWebKitPlatformSupportImpl::setGamepadListener(
892 blink::WebGamepadListener* listener) {
893 DCHECK(gamepad_provider_);
894 gamepad_provider_->SetGamepadListener(listener);
895 }
896
897 //------------------------------------------------------------------------------ 891 //------------------------------------------------------------------------------
898 892
899 WebRTCPeerConnectionHandler* 893 WebRTCPeerConnectionHandler*
900 RendererWebKitPlatformSupportImpl::createRTCPeerConnectionHandler( 894 RendererWebKitPlatformSupportImpl::createRTCPeerConnectionHandler(
901 WebRTCPeerConnectionHandlerClient* client) { 895 WebRTCPeerConnectionHandlerClient* client) {
902 RenderThreadImpl* render_thread = RenderThreadImpl::current(); 896 RenderThreadImpl* render_thread = RenderThreadImpl::current();
903 DCHECK(render_thread); 897 DCHECK(render_thread);
904 if (!render_thread) 898 if (!render_thread)
905 return NULL; 899 return NULL;
906 900
(...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after
1014 //------------------------------------------------------------------------------ 1008 //------------------------------------------------------------------------------
1015 1009
1016 blink::WebString RendererWebKitPlatformSupportImpl::convertIDNToUnicode( 1010 blink::WebString RendererWebKitPlatformSupportImpl::convertIDNToUnicode(
1017 const blink::WebString& host, 1011 const blink::WebString& host,
1018 const blink::WebString& languages) { 1012 const blink::WebString& languages) {
1019 return net::IDNToUnicode(host.utf8(), languages.utf8()); 1013 return net::IDNToUnicode(host.utf8(), languages.utf8());
1020 } 1014 }
1021 1015
1022 //------------------------------------------------------------------------------ 1016 //------------------------------------------------------------------------------
1023 1017
1024 void RendererWebKitPlatformSupportImpl::setDeviceLightListener(
1025 blink::WebDeviceLightListener* listener) {
1026 if (g_test_device_light_data < 0) {
1027 if (!device_light_event_pump_) {
1028 device_light_event_pump_.reset(new DeviceLightEventPump);
1029 device_light_event_pump_->Attach(RenderThreadImpl::current());
1030 }
1031 device_light_event_pump_->SetListener(listener);
1032 } else if (listener) {
1033 // Testing mode: just echo the test data to the listener.
1034 base::MessageLoopProxy::current()->PostTask(
1035 FROM_HERE,
1036 base::Bind(&blink::WebDeviceLightListener::didChangeDeviceLight,
1037 base::Unretained(listener),
1038 g_test_device_light_data));
1039 }
1040 }
1041
1042 // static 1018 // static
1043 void RendererWebKitPlatformSupportImpl::SetMockDeviceLightDataForTesting( 1019 void RendererWebKitPlatformSupportImpl::SetMockDeviceLightDataForTesting(
1044 double data) { 1020 double data) {
1045 g_test_device_light_data = data; 1021 g_test_device_light_data = data;
1046 } 1022 }
1047 1023
1048 //------------------------------------------------------------------------------ 1024 //------------------------------------------------------------------------------
1049 1025
1050 void RendererWebKitPlatformSupportImpl::setDeviceMotionListener( 1026 // static
1027 void RendererWebKitPlatformSupportImpl::SetMockDeviceMotionDataForTesting(
1028 const blink::WebDeviceMotionData& data) {
1029 g_test_device_motion_data.Get() = data;
1030 }
1031
1032 //------------------------------------------------------------------------------
1033
1034 // static
1035 void RendererWebKitPlatformSupportImpl::SetMockDeviceOrientationDataForTesting(
1036 const blink::WebDeviceOrientationData& data) {
1037 g_test_device_orientation_data.Get() = data;
1038 }
1039
1040 //------------------------------------------------------------------------------
1041
1042 void RendererWebKitPlatformSupportImpl::vibrate(unsigned int milliseconds) {
1043 RenderThread::Get()->Send(
1044 new ViewHostMsg_Vibrate(base::checked_cast<int64>(milliseconds)));
1045 }
1046
1047 void RendererWebKitPlatformSupportImpl::cancelVibration() {
1048 RenderThread::Get()->Send(new ViewHostMsg_CancelVibration());
1049 }
1050
1051 //------------------------------------------------------------------------------
1052
1053 void RendererWebKitPlatformSupportImpl::startListening(
1054 blink::WebPlatformEventType type,
1055 blink::WebPlatformEventListener* listener) {
1056 switch (type) {
1057 case blink::WebPlatformEventDeviceMotion:
1058 SetDeviceMotionListener(
1059 static_cast<blink::WebDeviceMotionListener*>(listener));
1060 break;
1061 case blink::WebPlatformEventDeviceOrientation:
1062 SetDeviceOrientationListener(
1063 static_cast<blink::WebDeviceOrientationListener*>(listener));
1064 break;
1065 case blink::WebPlatformEventDeviceLight:
1066 SetDeviceLightListener(
1067 static_cast<blink::WebDeviceLightListener*>(listener));
1068 break;
1069 case blink::WebPlatformEventBattery:
1070 SetBatteryStatusListener(
1071 static_cast<blink::WebBatteryStatusListener*>(listener));
1072 break;
1073 case blink::WebPlatformEventGamepad:
1074 SetGamepadListener(
1075 static_cast<blink::WebGamepadListener*>(listener));
1076 break;
1077 default:
1078 // A default statement is required to prevent compilation errors when Blink
1079 // adds a new type.
1080 VLOG(1) << "RendererWebKitPlatformSupportImpl::startListening() with "
1081 "unknown type.";
1082 }
1083 }
1084
1085 void RendererWebKitPlatformSupportImpl::stopListening(
1086 blink::WebPlatformEventType type) {
1087 switch (type) {
1088 case blink::WebPlatformEventDeviceMotion:
1089 SetDeviceMotionListener(0);
1090 break;
1091 case blink::WebPlatformEventDeviceOrientation:
1092 SetDeviceOrientationListener(0);
1093 break;
1094 case blink::WebPlatformEventDeviceLight:
1095 SetDeviceLightListener(0);
1096 break;
1097 case blink::WebPlatformEventBattery:
1098 SetBatteryStatusListener(0);
1099 break;
1100 case blink::WebPlatformEventGamepad:
1101 SetGamepadListener(0);
1102 break;
1103 default:
1104 // A default statement is required to prevent compilation errors when Blink
1105 // adds a new type.
1106 VLOG(1) << "RendererWebKitPlatformSupportImpl::stopListening() with "
1107 "unknown type.";
1108 }
1109 }
1110
1111 void RendererWebKitPlatformSupportImpl::SetDeviceMotionListener(
1051 blink::WebDeviceMotionListener* listener) { 1112 blink::WebDeviceMotionListener* listener) {
1052 if (g_test_device_motion_data == 0) { 1113 if (g_test_device_motion_data == 0) {
1053 if (!device_motion_event_pump_) { 1114 if (!device_motion_event_pump_) {
1054 device_motion_event_pump_.reset(new DeviceMotionEventPump); 1115 device_motion_event_pump_.reset(new DeviceMotionEventPump);
1055 device_motion_event_pump_->Attach(RenderThreadImpl::current()); 1116 device_motion_event_pump_->Attach(RenderThreadImpl::current());
1056 } 1117 }
1057 device_motion_event_pump_->SetListener(listener); 1118 device_motion_event_pump_->SetListener(listener);
1058 } else if (listener) { 1119 } else if (listener) {
1059 // Testing mode: just echo the test data to the listener. 1120 // Testing mode: just echo the test data to the listener.
1060 base::MessageLoopProxy::current()->PostTask( 1121 base::MessageLoopProxy::current()->PostTask(
1061 FROM_HERE, 1122 FROM_HERE,
1062 base::Bind(&blink::WebDeviceMotionListener::didChangeDeviceMotion, 1123 base::Bind(&blink::WebDeviceMotionListener::didChangeDeviceMotion,
1063 base::Unretained(listener), 1124 base::Unretained(listener),
1064 g_test_device_motion_data.Get())); 1125 g_test_device_motion_data.Get()));
1065 } 1126 }
1066 } 1127 }
1067 1128
1068 // static 1129 void RendererWebKitPlatformSupportImpl::SetDeviceOrientationListener(
1069 void RendererWebKitPlatformSupportImpl::SetMockDeviceMotionDataForTesting(
1070 const blink::WebDeviceMotionData& data) {
1071 g_test_device_motion_data.Get() = data;
1072 }
1073
1074 //------------------------------------------------------------------------------
1075
1076 void RendererWebKitPlatformSupportImpl::setDeviceOrientationListener(
1077 blink::WebDeviceOrientationListener* listener) { 1130 blink::WebDeviceOrientationListener* listener) {
1078 if (g_test_device_orientation_data == 0) { 1131 if (g_test_device_orientation_data == 0) {
1079 if (!device_orientation_event_pump_) { 1132 if (!device_orientation_event_pump_) {
1080 device_orientation_event_pump_.reset(new DeviceOrientationEventPump); 1133 device_orientation_event_pump_.reset(new DeviceOrientationEventPump);
1081 device_orientation_event_pump_->Attach(RenderThreadImpl::current()); 1134 device_orientation_event_pump_->Attach(RenderThreadImpl::current());
1082 } 1135 }
1083 device_orientation_event_pump_->SetListener(listener); 1136 device_orientation_event_pump_->SetListener(listener);
1084 } else if (listener) { 1137 } else if (listener) {
1085 // Testing mode: just echo the test data to the listener. 1138 // Testing mode: just echo the test data to the listener.
1086 base::MessageLoopProxy::current()->PostTask( 1139 base::MessageLoopProxy::current()->PostTask(
1087 FROM_HERE, 1140 FROM_HERE,
1088 base::Bind( 1141 base::Bind(
1089 &blink::WebDeviceOrientationListener::didChangeDeviceOrientation, 1142 &blink::WebDeviceOrientationListener::didChangeDeviceOrientation,
1090 base::Unretained(listener), 1143 base::Unretained(listener),
1091 g_test_device_orientation_data.Get())); 1144 g_test_device_orientation_data.Get()));
1092 } 1145 }
1093 } 1146 }
1094 1147
1095 // static 1148 void RendererWebKitPlatformSupportImpl::SetDeviceLightListener(
1096 void RendererWebKitPlatformSupportImpl::SetMockDeviceOrientationDataForTesting( 1149 blink::WebDeviceLightListener* listener) {
1097 const blink::WebDeviceOrientationData& data) { 1150 if (g_test_device_light_data < 0) {
1098 g_test_device_orientation_data.Get() = data; 1151 if (!device_light_event_pump_) {
1152 device_light_event_pump_.reset(new DeviceLightEventPump);
1153 device_light_event_pump_->Attach(RenderThreadImpl::current());
1154 }
1155 device_light_event_pump_->SetListener(listener);
1156 } else if (listener) {
1157 // Testing mode: just echo the test data to the listener.
1158 base::MessageLoopProxy::current()->PostTask(
1159 FROM_HERE,
1160 base::Bind(&blink::WebDeviceLightListener::didChangeDeviceLight,
1161 base::Unretained(listener),
1162 g_test_device_light_data));
1163 }
1164 }
1165
1166 void RendererWebKitPlatformSupportImpl::SetGamepadListener(
1167 blink::WebGamepadListener* listener) {
1168 DCHECK(gamepad_provider_);
1169 gamepad_provider_->SetGamepadListener(listener);
1170 }
1171
1172 void RendererWebKitPlatformSupportImpl::SetBatteryStatusListener(
1173 blink::WebBatteryStatusListener* listener) {
1174 if (RenderThreadImpl::current() &&
1175 RenderThreadImpl::current()->layout_test_mode()) {
1176 // If we are in test mode, we want to use a fake battery status dispatcher,
1177 // which does not communicate with the browser process. Battery status
1178 // changes are signalled by invoking MockBatteryStatusChangedForTesting().
1179 g_test_battery_status_dispatcher.Get().SetListener(listener);
1180 return;
1181 }
1182
1183 if (!battery_status_dispatcher_) {
1184 battery_status_dispatcher_.reset(
1185 new BatteryStatusDispatcher(RenderThreadImpl::current()));
1186 }
1187 battery_status_dispatcher_->SetListener(listener);
1099 } 1188 }
1100 1189
1101 //------------------------------------------------------------------------------ 1190 //------------------------------------------------------------------------------
1102
1103 void RendererWebKitPlatformSupportImpl::vibrate(unsigned int milliseconds) {
1104 RenderThread::Get()->Send(
1105 new ViewHostMsg_Vibrate(base::checked_cast<int64>(milliseconds)));
1106 }
1107
1108 void RendererWebKitPlatformSupportImpl::cancelVibration() {
1109 RenderThread::Get()->Send(new ViewHostMsg_CancelVibration());
1110 }
1111
1112 //------------------------------------------------------------------------------
1113 1191
1114 void RendererWebKitPlatformSupportImpl::queryStorageUsageAndQuota( 1192 void RendererWebKitPlatformSupportImpl::queryStorageUsageAndQuota(
1115 const blink::WebURL& storage_partition, 1193 const blink::WebURL& storage_partition,
1116 blink::WebStorageQuotaType type, 1194 blink::WebStorageQuotaType type,
1117 blink::WebStorageQuotaCallbacks callbacks) { 1195 blink::WebStorageQuotaCallbacks callbacks) {
1118 if (!thread_safe_sender_.get() || !quota_message_filter_.get()) 1196 if (!thread_safe_sender_.get() || !quota_message_filter_.get())
1119 return; 1197 return;
1120 QuotaDispatcher::ThreadSpecificInstance( 1198 QuotaDispatcher::ThreadSpecificInstance(
1121 thread_safe_sender_.get(), 1199 thread_safe_sender_.get(),
1122 quota_message_filter_.get())->QueryStorageUsageAndQuota( 1200 quota_message_filter_.get())->QueryStorageUsageAndQuota(
1123 storage_partition, 1201 storage_partition,
1124 static_cast<quota::StorageType>(type), 1202 static_cast<quota::StorageType>(type),
1125 QuotaDispatcher::CreateWebStorageQuotaCallbacksWrapper(callbacks)); 1203 QuotaDispatcher::CreateWebStorageQuotaCallbacksWrapper(callbacks));
1126 } 1204 }
1127 1205
1128 //------------------------------------------------------------------------------ 1206 //------------------------------------------------------------------------------
1129 1207
1130 void RendererWebKitPlatformSupportImpl::setBatteryStatusListener(
1131 blink::WebBatteryStatusListener* listener) {
1132 if (RenderThreadImpl::current() &&
1133 RenderThreadImpl::current()->layout_test_mode()) {
1134 // If we are in test mode, we want to use a fake battery status dispatcher,
1135 // which does not communicate with the browser process. Battery status
1136 // changes are signalled by invoking MockBatteryStatusChangedForTesting().
1137 g_test_battery_status_dispatcher.Get().SetListener(listener);
1138 return;
1139 }
1140
1141 if (!battery_status_dispatcher_) {
1142 battery_status_dispatcher_.reset(
1143 new BatteryStatusDispatcher(RenderThreadImpl::current()));
1144 }
1145 battery_status_dispatcher_->SetListener(listener);
1146 }
1147
1148 // static 1208 // static
1149 void RendererWebKitPlatformSupportImpl::MockBatteryStatusChangedForTesting( 1209 void RendererWebKitPlatformSupportImpl::MockBatteryStatusChangedForTesting(
1150 const blink::WebBatteryStatus& status) { 1210 const blink::WebBatteryStatus& status) {
1151 g_test_battery_status_dispatcher.Get().PostBatteryStatusChange(status); 1211 g_test_battery_status_dispatcher.Get().PostBatteryStatusChange(status);
1152 } 1212 }
1153 1213
1154 } // namespace content 1214 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/renderer_webkitplatformsupport_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698