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

Side by Side Diff: content/child/blink_platform_impl.cc

Issue 1033643004: Add a WorkerScheduler and a WebThreadImplForWorker (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix bug where tasks posted to a worker thread did not always run when the thread was shutdown Created 5 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
OLDNEW
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 22 matching lines...) Expand all
33 #include "content/child/child_thread_impl.h" 33 #include "content/child/child_thread_impl.h"
34 #include "content/child/content_child_helpers.h" 34 #include "content/child/content_child_helpers.h"
35 #include "content/child/geofencing/web_geofencing_provider_impl.h" 35 #include "content/child/geofencing/web_geofencing_provider_impl.h"
36 #include "content/child/navigator_connect/navigator_connect_provider.h" 36 #include "content/child/navigator_connect/navigator_connect_provider.h"
37 #include "content/child/notifications/notification_dispatcher.h" 37 #include "content/child/notifications/notification_dispatcher.h"
38 #include "content/child/notifications/notification_manager.h" 38 #include "content/child/notifications/notification_manager.h"
39 #include "content/child/permissions/permission_dispatcher.h" 39 #include "content/child/permissions/permission_dispatcher.h"
40 #include "content/child/permissions/permission_dispatcher_thread_proxy.h" 40 #include "content/child/permissions/permission_dispatcher_thread_proxy.h"
41 #include "content/child/push_messaging/push_dispatcher.h" 41 #include "content/child/push_messaging/push_dispatcher.h"
42 #include "content/child/push_messaging/push_provider.h" 42 #include "content/child/push_messaging/push_provider.h"
43 #include "content/child/scheduler/webthread_impl_for_worker_scheduler.h"
43 #include "content/child/thread_safe_sender.h" 44 #include "content/child/thread_safe_sender.h"
44 #include "content/child/web_discardable_memory_impl.h" 45 #include "content/child/web_discardable_memory_impl.h"
45 #include "content/child/web_url_loader_impl.h" 46 #include "content/child/web_url_loader_impl.h"
46 #include "content/child/websocket_bridge.h" 47 #include "content/child/websocket_bridge.h"
47 #include "content/child/webthread_impl.h"
48 #include "content/child/worker_task_runner.h" 48 #include "content/child/worker_task_runner.h"
49 #include "content/public/common/content_client.h" 49 #include "content/public/common/content_client.h"
50 #include "net/base/data_url.h" 50 #include "net/base/data_url.h"
51 #include "net/base/mime_util.h" 51 #include "net/base/mime_util.h"
52 #include "net/base/net_errors.h" 52 #include "net/base/net_errors.h"
53 #include "net/base/net_util.h" 53 #include "net/base/net_util.h"
54 #include "third_party/WebKit/public/platform/WebConvertableToTraceFormat.h" 54 #include "third_party/WebKit/public/platform/WebConvertableToTraceFormat.h"
55 #include "third_party/WebKit/public/platform/WebData.h" 55 #include "third_party/WebKit/public/platform/WebData.h"
56 #include "third_party/WebKit/public/platform/WebFloatPoint.h" 56 #include "third_party/WebKit/public/platform/WebFloatPoint.h"
57 #include "third_party/WebKit/public/platform/WebString.h" 57 #include "third_party/WebKit/public/platform/WebString.h"
(...skipping 441 matching lines...) Expand 10 before | Expand all | Expand 10 after
499 499
500 bool BlinkPlatformImpl::isReservedIPAddress( 500 bool BlinkPlatformImpl::isReservedIPAddress(
501 const blink::WebString& host) const { 501 const blink::WebString& host) const {
502 net::IPAddressNumber address; 502 net::IPAddressNumber address;
503 if (!net::ParseURLHostnameToNumber(host.utf8(), &address)) 503 if (!net::ParseURLHostnameToNumber(host.utf8(), &address))
504 return false; 504 return false;
505 return net::IsIPAddressReserved(address); 505 return net::IsIPAddressReserved(address);
506 } 506 }
507 507
508 blink::WebThread* BlinkPlatformImpl::createThread(const char* name) { 508 blink::WebThread* BlinkPlatformImpl::createThread(const char* name) {
509 WebThreadImpl* thread = new WebThreadImpl(name); 509 WebThreadImplForWorkerScheduler* thread =
510 new WebThreadImplForWorkerScheduler(name);
510 thread->TaskRunner()->PostTask( 511 thread->TaskRunner()->PostTask(
511 FROM_HERE, base::Bind(&BlinkPlatformImpl::UpdateWebThreadTLS, 512 FROM_HERE, base::Bind(&BlinkPlatformImpl::UpdateWebThreadTLS,
512 base::Unretained(this), thread)); 513 base::Unretained(this), thread));
513 return thread; 514 return thread;
514 } 515 }
515 516
516 blink::WebThread* BlinkPlatformImpl::currentThread() { 517 blink::WebThread* BlinkPlatformImpl::currentThread() {
517 return static_cast<blink::WebThread*>(current_thread_slot_.Get()); 518 return static_cast<blink::WebThread*>(current_thread_slot_.Get());
518 } 519 }
519 520
(...skipping 798 matching lines...) Expand 10 before | Expand all | Expand 10 after
1318 return WebString::fromUTF8(ui::KeycodeConverter::DomCodeToCodeString( 1319 return WebString::fromUTF8(ui::KeycodeConverter::DomCodeToCodeString(
1319 static_cast<ui::DomCode>(dom_code))); 1320 static_cast<ui::DomCode>(dom_code)));
1320 } 1321 }
1321 1322
1322 int BlinkPlatformImpl::domEnumFromCodeString(const WebString& code) { 1323 int BlinkPlatformImpl::domEnumFromCodeString(const WebString& code) {
1323 return static_cast<int>(ui::KeycodeConverter::CodeStringToDomCode( 1324 return static_cast<int>(ui::KeycodeConverter::CodeStringToDomCode(
1324 code.utf8().data())); 1325 code.utf8().data()));
1325 } 1326 }
1326 1327
1327 } // namespace content 1328 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698