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

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

Issue 242703002: Improve the handling of mock screen orientation for layout tests. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 8 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/memory/shared_memory.h" 10 #include "base/memory/shared_memory.h"
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
138 namespace content { 138 namespace content {
139 139
140 static bool g_sandbox_enabled = true; 140 static bool g_sandbox_enabled = true;
141 static blink::WebGamepadListener* web_gamepad_listener = NULL; 141 static blink::WebGamepadListener* web_gamepad_listener = NULL;
142 base::LazyInstance<WebGamepads>::Leaky g_test_gamepads = 142 base::LazyInstance<WebGamepads>::Leaky g_test_gamepads =
143 LAZY_INSTANCE_INITIALIZER; 143 LAZY_INSTANCE_INITIALIZER;
144 base::LazyInstance<blink::WebDeviceMotionData>::Leaky 144 base::LazyInstance<blink::WebDeviceMotionData>::Leaky
145 g_test_device_motion_data = LAZY_INSTANCE_INITIALIZER; 145 g_test_device_motion_data = LAZY_INSTANCE_INITIALIZER;
146 base::LazyInstance<blink::WebDeviceOrientationData>::Leaky 146 base::LazyInstance<blink::WebDeviceOrientationData>::Leaky
147 g_test_device_orientation_data = LAZY_INSTANCE_INITIALIZER; 147 g_test_device_orientation_data = LAZY_INSTANCE_INITIALIZER;
148 base::LazyInstance<blink::WebScreenOrientationType>::Leaky 148 static blink::WebScreenOrientationListener*
149 g_test_screen_orientation_value = LAZY_INSTANCE_INITIALIZER; 149 g_test_screen_orientation_listener = NULL;
150 150
151 //------------------------------------------------------------------------------ 151 //------------------------------------------------------------------------------
152 152
153 class RendererWebKitPlatformSupportImpl::MimeRegistry 153 class RendererWebKitPlatformSupportImpl::MimeRegistry
154 : public SimpleWebMimeRegistryImpl { 154 : public SimpleWebMimeRegistryImpl {
155 public: 155 public:
156 virtual blink::WebMimeRegistry::SupportsType supportsMediaMIMEType( 156 virtual blink::WebMimeRegistry::SupportsType supportsMediaMIMEType(
157 const blink::WebString& mime_type, 157 const blink::WebString& mime_type,
158 const blink::WebString& codecs, 158 const blink::WebString& codecs,
159 const blink::WebString& key_system); 159 const blink::WebString& key_system);
(...skipping 952 matching lines...) Expand 10 before | Expand all | Expand 10 after
1112 } 1112 }
1113 1113
1114 void RendererWebKitPlatformSupportImpl::cancelVibration() { 1114 void RendererWebKitPlatformSupportImpl::cancelVibration() {
1115 RenderThread::Get()->Send(new ViewHostMsg_CancelVibration()); 1115 RenderThread::Get()->Send(new ViewHostMsg_CancelVibration());
1116 } 1116 }
1117 1117
1118 //------------------------------------------------------------------------------ 1118 //------------------------------------------------------------------------------
1119 1119
1120 void RendererWebKitPlatformSupportImpl::setScreenOrientationListener( 1120 void RendererWebKitPlatformSupportImpl::setScreenOrientationListener(
1121 blink::WebScreenOrientationListener* listener) { 1121 blink::WebScreenOrientationListener* listener) {
1122 if (!(g_test_screen_orientation_value == 0)) { 1122 if (RenderThreadImpl::current() &&
1123 if (!listener) 1123 RenderThreadImpl::current()->layout_test_mode()) {
1124 return; 1124 // If we are in test mode, we want to fully disable the screen orientation
1125 1125 // backend in order to let Blink get tested properly, That means that screen
1126 // When testing, we only pretend that the screen orientation is now set to 1126 // orientation updates have to be done manually instead of from signals sent
1127 // g_test_screen_orientation_value. 1127 // by the browser process.
1128 base::MessageLoopProxy::current()->PostTask( 1128 g_test_screen_orientation_listener = listener;
1129 FROM_HERE,
1130 base::Bind(
1131 &blink::WebScreenOrientationListener::didChangeScreenOrientation,
1132 base::Unretained(listener),
1133 g_test_screen_orientation_value.Get()));
1134 return; 1129 return;
1135 } 1130 }
1136 1131
1137 if (!screen_orientation_dispatcher_) { 1132 if (!screen_orientation_dispatcher_) {
1138 screen_orientation_dispatcher_.reset( 1133 screen_orientation_dispatcher_.reset(
1139 new ScreenOrientationDispatcher(RenderThread::Get())); 1134 new ScreenOrientationDispatcher(RenderThread::Get()));
1140 } 1135 }
1141 1136
1142 screen_orientation_dispatcher_->setListener(listener); 1137 screen_orientation_dispatcher_->setListener(listener);
1143 } 1138 }
1144 1139
1145 void RendererWebKitPlatformSupportImpl::lockOrientation( 1140 void RendererWebKitPlatformSupportImpl::lockOrientation(
1146 blink::WebScreenOrientationLockType orientation) { 1141 blink::WebScreenOrientationLockType orientation) {
1147 // No-op if we are currently using mock values. 1142 if (RenderThreadImpl::current() &&
1148 if (!(g_test_screen_orientation_value == 0)) 1143 RenderThreadImpl::current()->layout_test_mode()) {
1149 return; 1144 return;
1145 }
1150 RenderThread::Get()->Send(new ScreenOrientationHostMsg_Lock(orientation)); 1146 RenderThread::Get()->Send(new ScreenOrientationHostMsg_Lock(orientation));
1151 } 1147 }
1152 1148
1153 void RendererWebKitPlatformSupportImpl::unlockOrientation() { 1149 void RendererWebKitPlatformSupportImpl::unlockOrientation() {
1154 // No-op if we are currently using mock values. 1150 if (RenderThreadImpl::current() &&
1155 if (!(g_test_screen_orientation_value == 0)) 1151 RenderThreadImpl::current()->layout_test_mode()) {
1156 return; 1152 return;
1153 }
1157 RenderThread::Get()->Send(new ScreenOrientationHostMsg_Unlock); 1154 RenderThread::Get()->Send(new ScreenOrientationHostMsg_Unlock);
1158 } 1155 }
1159 1156
1160 // static 1157 // static
1161 void RendererWebKitPlatformSupportImpl::SetMockScreenOrientationForTesting( 1158 void RendererWebKitPlatformSupportImpl::SetMockScreenOrientationForTesting(
1162 blink::WebScreenOrientationType orientation) { 1159 blink::WebScreenOrientationType orientation) {
1163 g_test_screen_orientation_value.Get() = orientation; 1160 if (!g_test_screen_orientation_listener)
1161 return;
1162 g_test_screen_orientation_listener->didChangeScreenOrientation(orientation);
1164 } 1163 }
1165 1164
1166 //------------------------------------------------------------------------------ 1165 //------------------------------------------------------------------------------
1167 1166
1168 void RendererWebKitPlatformSupportImpl::queryStorageUsageAndQuota( 1167 void RendererWebKitPlatformSupportImpl::queryStorageUsageAndQuota(
1169 const blink::WebURL& storage_partition, 1168 const blink::WebURL& storage_partition,
1170 blink::WebStorageQuotaType type, 1169 blink::WebStorageQuotaType type,
1171 blink::WebStorageQuotaCallbacks callbacks) { 1170 blink::WebStorageQuotaCallbacks callbacks) {
1172 if (!thread_safe_sender_.get() || !quota_message_filter_.get()) 1171 if (!thread_safe_sender_.get() || !quota_message_filter_.get())
1173 return; 1172 return;
1174 QuotaDispatcher::ThreadSpecificInstance( 1173 QuotaDispatcher::ThreadSpecificInstance(
1175 thread_safe_sender_.get(), 1174 thread_safe_sender_.get(),
1176 quota_message_filter_.get())->QueryStorageUsageAndQuota( 1175 quota_message_filter_.get())->QueryStorageUsageAndQuota(
1177 storage_partition, 1176 storage_partition,
1178 static_cast<quota::StorageType>(type), 1177 static_cast<quota::StorageType>(type),
1179 QuotaDispatcher::CreateWebStorageQuotaCallbacksWrapper(callbacks)); 1178 QuotaDispatcher::CreateWebStorageQuotaCallbacksWrapper(callbacks));
1180 } 1179 }
1181 1180
1182 } // namespace content 1181 } // 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