| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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/child/blink_platform_impl.h" | 5 #include "content/child/blink_platform_impl.h" |
| 6 | 6 |
| 7 #include <math.h> | 7 #include <math.h> |
| 8 | 8 |
| 9 #include <vector> | 9 #include <vector> |
| 10 | 10 |
| (...skipping 13 matching lines...) Expand all Loading... |
| 24 #include "base/strings/utf_string_conversions.h" | 24 #include "base/strings/utf_string_conversions.h" |
| 25 #include "base/synchronization/lock.h" | 25 #include "base/synchronization/lock.h" |
| 26 #include "base/synchronization/waitable_event.h" | 26 #include "base/synchronization/waitable_event.h" |
| 27 #include "base/sys_info.h" | 27 #include "base/sys_info.h" |
| 28 #include "base/time/time.h" | 28 #include "base/time/time.h" |
| 29 #include "blink/public/resources/grit/blink_resources.h" | 29 #include "blink/public/resources/grit/blink_resources.h" |
| 30 #include "content/app/resources/grit/content_resources.h" | 30 #include "content/app/resources/grit/content_resources.h" |
| 31 #include "content/app/strings/grit/content_strings.h" | 31 #include "content/app/strings/grit/content_strings.h" |
| 32 #include "content/child/child_thread.h" | 32 #include "content/child/child_thread.h" |
| 33 #include "content/child/content_child_helpers.h" | 33 #include "content/child/content_child_helpers.h" |
| 34 #include "content/child/fling_curve_configuration.h" | 34 #include "content/child/touch_fling_gesture_curve.h" |
| 35 #include "content/child/web_discardable_memory_impl.h" | 35 #include "content/child/web_discardable_memory_impl.h" |
| 36 #include "content/child/web_socket_stream_handle_impl.h" | 36 #include "content/child/web_socket_stream_handle_impl.h" |
| 37 #include "content/child/web_url_loader_impl.h" | 37 #include "content/child/web_url_loader_impl.h" |
| 38 #include "content/child/websocket_bridge.h" | 38 #include "content/child/websocket_bridge.h" |
| 39 #include "content/child/webthread_impl.h" | 39 #include "content/child/webthread_impl.h" |
| 40 #include "content/child/worker_task_runner.h" | 40 #include "content/child/worker_task_runner.h" |
| 41 #include "content/public/common/content_client.h" | 41 #include "content/public/common/content_client.h" |
| 42 #include "net/base/data_url.h" | 42 #include "net/base/data_url.h" |
| 43 #include "net/base/mime_util.h" | 43 #include "net/base/mime_util.h" |
| 44 #include "net/base/net_errors.h" | 44 #include "net/base/net_errors.h" |
| (...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 412 } | 412 } |
| 413 return -1; | 413 return -1; |
| 414 } | 414 } |
| 415 | 415 |
| 416 BlinkPlatformImpl::BlinkPlatformImpl() | 416 BlinkPlatformImpl::BlinkPlatformImpl() |
| 417 : main_loop_(base::MessageLoop::current()), | 417 : main_loop_(base::MessageLoop::current()), |
| 418 shared_timer_func_(NULL), | 418 shared_timer_func_(NULL), |
| 419 shared_timer_fire_time_(0.0), | 419 shared_timer_fire_time_(0.0), |
| 420 shared_timer_fire_time_was_set_while_suspended_(false), | 420 shared_timer_fire_time_was_set_while_suspended_(false), |
| 421 shared_timer_suspended_(0), | 421 shared_timer_suspended_(0), |
| 422 fling_curve_configuration_(new FlingCurveConfiguration), | |
| 423 current_thread_slot_(&DestroyCurrentThread) {} | 422 current_thread_slot_(&DestroyCurrentThread) {} |
| 424 | 423 |
| 425 BlinkPlatformImpl::~BlinkPlatformImpl() { | 424 BlinkPlatformImpl::~BlinkPlatformImpl() { |
| 426 } | 425 } |
| 427 | 426 |
| 428 WebURLLoader* BlinkPlatformImpl::createURLLoader() { | 427 WebURLLoader* BlinkPlatformImpl::createURLLoader() { |
| 429 ChildThread* child_thread = ChildThread::current(); | 428 ChildThread* child_thread = ChildThread::current(); |
| 430 // There may be no child thread in RenderViewTests. These tests can still use | 429 // There may be no child thread in RenderViewTests. These tests can still use |
| 431 // data URLs to bypass the ResourceDispatcher. | 430 // data URLs to bypass the ResourceDispatcher. |
| 432 return new WebURLLoaderImpl( | 431 return new WebURLLoaderImpl( |
| (...skipping 551 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 984 blink::WebGestureCurve* BlinkPlatformImpl::createFlingAnimationCurve( | 983 blink::WebGestureCurve* BlinkPlatformImpl::createFlingAnimationCurve( |
| 985 blink::WebGestureDevice device_source, | 984 blink::WebGestureDevice device_source, |
| 986 const blink::WebFloatPoint& velocity, | 985 const blink::WebFloatPoint& velocity, |
| 987 const blink::WebSize& cumulative_scroll) { | 986 const blink::WebSize& cumulative_scroll) { |
| 988 #if defined(OS_ANDROID) | 987 #if defined(OS_ANDROID) |
| 989 return FlingAnimatorImpl::CreateAndroidGestureCurve( | 988 return FlingAnimatorImpl::CreateAndroidGestureCurve( |
| 990 velocity, | 989 velocity, |
| 991 cumulative_scroll); | 990 cumulative_scroll); |
| 992 #endif | 991 #endif |
| 993 | 992 |
| 994 if (device_source == blink::WebGestureDeviceTouchscreen) | 993 return TouchFlingGestureCurve::Create(velocity, cumulative_scroll); |
| 995 return fling_curve_configuration_->CreateForTouchScreen(velocity, | |
| 996 cumulative_scroll); | |
| 997 | |
| 998 return fling_curve_configuration_->CreateForTouchPad(velocity, | |
| 999 cumulative_scroll); | |
| 1000 } | 994 } |
| 1001 | 995 |
| 1002 void BlinkPlatformImpl::didStartWorkerRunLoop( | 996 void BlinkPlatformImpl::didStartWorkerRunLoop( |
| 1003 const blink::WebWorkerRunLoop& runLoop) { | 997 const blink::WebWorkerRunLoop& runLoop) { |
| 1004 WorkerTaskRunner* worker_task_runner = WorkerTaskRunner::Instance(); | 998 WorkerTaskRunner* worker_task_runner = WorkerTaskRunner::Instance(); |
| 1005 worker_task_runner->OnWorkerRunLoopStarted(runLoop); | 999 worker_task_runner->OnWorkerRunLoopStarted(runLoop); |
| 1006 } | 1000 } |
| 1007 | 1001 |
| 1008 void BlinkPlatformImpl::didStopWorkerRunLoop( | 1002 void BlinkPlatformImpl::didStopWorkerRunLoop( |
| 1009 const blink::WebWorkerRunLoop& runLoop) { | 1003 const blink::WebWorkerRunLoop& runLoop) { |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1170 // be reserved for direct use by certain hardware. Thus, we set the limit so | 1164 // be reserved for direct use by certain hardware. Thus, we set the limit so |
| 1171 // that 1.6GB of reported physical memory on a 2GB device is enough to set the | 1165 // that 1.6GB of reported physical memory on a 2GB device is enough to set the |
| 1172 // limit at 16M pixels, which is a desirable value since 4K*4K is a relatively | 1166 // limit at 16M pixels, which is a desirable value since 4K*4K is a relatively |
| 1173 // common texture size. | 1167 // common texture size. |
| 1174 return base::SysInfo::AmountOfPhysicalMemory() / 25; | 1168 return base::SysInfo::AmountOfPhysicalMemory() / 25; |
| 1175 #else | 1169 #else |
| 1176 return noDecodedImageByteLimit; | 1170 return noDecodedImageByteLimit; |
| 1177 #endif | 1171 #endif |
| 1178 } | 1172 } |
| 1179 | 1173 |
| 1180 void BlinkPlatformImpl::SetFlingCurveParameters( | |
| 1181 const std::vector<float>& new_touchpad, | |
| 1182 const std::vector<float>& new_touchscreen) { | |
| 1183 fling_curve_configuration_->SetCurveParameters(new_touchpad, new_touchscreen); | |
| 1184 } | |
| 1185 | |
| 1186 void BlinkPlatformImpl::SuspendSharedTimer() { | 1174 void BlinkPlatformImpl::SuspendSharedTimer() { |
| 1187 ++shared_timer_suspended_; | 1175 ++shared_timer_suspended_; |
| 1188 } | 1176 } |
| 1189 | 1177 |
| 1190 void BlinkPlatformImpl::ResumeSharedTimer() { | 1178 void BlinkPlatformImpl::ResumeSharedTimer() { |
| 1191 DCHECK_GT(shared_timer_suspended_, 0); | 1179 DCHECK_GT(shared_timer_suspended_, 0); |
| 1192 | 1180 |
| 1193 // The shared timer may have fired or been adjusted while we were suspended. | 1181 // The shared timer may have fired or been adjusted while we were suspended. |
| 1194 if (--shared_timer_suspended_ == 0 && | 1182 if (--shared_timer_suspended_ == 0 && |
| 1195 (!shared_timer_.IsRunning() || | 1183 (!shared_timer_.IsRunning() || |
| 1196 shared_timer_fire_time_was_set_while_suspended_)) { | 1184 shared_timer_fire_time_was_set_while_suspended_)) { |
| 1197 shared_timer_fire_time_was_set_while_suspended_ = false; | 1185 shared_timer_fire_time_was_set_while_suspended_ = false; |
| 1198 setSharedTimerFireInterval( | 1186 setSharedTimerFireInterval( |
| 1199 shared_timer_fire_time_ - monotonicallyIncreasingTime()); | 1187 shared_timer_fire_time_ - monotonicallyIncreasingTime()); |
| 1200 } | 1188 } |
| 1201 } | 1189 } |
| 1202 | 1190 |
| 1203 // static | 1191 // static |
| 1204 void BlinkPlatformImpl::DestroyCurrentThread(void* thread) { | 1192 void BlinkPlatformImpl::DestroyCurrentThread(void* thread) { |
| 1205 WebThreadImplForMessageLoop* impl = | 1193 WebThreadImplForMessageLoop* impl = |
| 1206 static_cast<WebThreadImplForMessageLoop*>(thread); | 1194 static_cast<WebThreadImplForMessageLoop*>(thread); |
| 1207 delete impl; | 1195 delete impl; |
| 1208 } | 1196 } |
| 1209 | 1197 |
| 1210 } // namespace content | 1198 } // namespace content |
| OLD | NEW |