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

Side by Side Diff: components/html_viewer/blink_platform_impl.cc

Issue 1078173002: Remove obsolete SharedTimer code in chromium (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase Created 5 years, 6 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 | « components/html_viewer/blink_platform_impl.h ('k') | content/child/blink_platform_impl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "components/html_viewer/blink_platform_impl.h" 5 #include "components/html_viewer/blink_platform_impl.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/rand_util.h" 10 #include "base/rand_util.h"
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
55 scoped_ptr<base::WaitableEvent> impl_; 55 scoped_ptr<base::WaitableEvent> impl_;
56 DISALLOW_COPY_AND_ASSIGN(WebWaitableEventImpl); 56 DISALLOW_COPY_AND_ASSIGN(WebWaitableEventImpl);
57 }; 57 };
58 58
59 } // namespace 59 } // namespace
60 60
61 BlinkPlatformImpl::BlinkPlatformImpl( 61 BlinkPlatformImpl::BlinkPlatformImpl(
62 mojo::ApplicationImpl* app, 62 mojo::ApplicationImpl* app,
63 scheduler::RendererScheduler* renderer_scheduler) 63 scheduler::RendererScheduler* renderer_scheduler)
64 : main_thread_task_runner_(renderer_scheduler->DefaultTaskRunner()), 64 : main_thread_task_runner_(renderer_scheduler->DefaultTaskRunner()),
65 main_thread_( 65 main_thread_(new scheduler::WebThreadImplForRendererScheduler(
66 new scheduler::WebThreadImplForRendererScheduler(renderer_scheduler)), 66 renderer_scheduler)) {
67 shared_timer_func_(NULL),
68 shared_timer_fire_time_(0.0),
69 shared_timer_fire_time_was_set_while_suspended_(false),
70 shared_timer_suspended_(0) {
71 if (app) { 67 if (app) {
72 mojo::URLRequestPtr request(mojo::URLRequest::New()); 68 mojo::URLRequestPtr request(mojo::URLRequest::New());
73 request->url = mojo::String::From("mojo:network_service"); 69 request->url = mojo::String::From("mojo:network_service");
74 mojo::ApplicationConnection* connection = 70 mojo::ApplicationConnection* connection =
75 app->ConnectToApplication(request.Pass()); 71 app->ConnectToApplication(request.Pass());
76 connection->ConnectToService(&network_service_); 72 connection->ConnectToService(&network_service_);
77 connection->ConnectToService(&url_loader_factory_); 73 connection->ConnectToService(&url_loader_factory_);
78 74
79 mojo::CookieStorePtr cookie_store; 75 mojo::CookieStorePtr cookie_store;
80 network_service_->GetCookieStore(GetProxy(&cookie_store)); 76 network_service_->GetCookieStore(GetProxy(&cookie_store));
81 cookie_jar_.reset(new WebCookieJarImpl(cookie_store.Pass())); 77 cookie_jar_.reset(new WebCookieJarImpl(cookie_store.Pass()));
82 78
83 mojo::ClipboardPtr clipboard; 79 mojo::ClipboardPtr clipboard;
84 mojo::URLRequestPtr request2(mojo::URLRequest::New()); 80 mojo::URLRequestPtr request2(mojo::URLRequest::New());
85 request2->url = mojo::String::From("mojo:clipboard"); 81 request2->url = mojo::String::From("mojo:clipboard");
86 app->ConnectToService(request2.Pass(), &clipboard); 82 app->ConnectToService(request2.Pass(), &clipboard);
87 clipboard_.reset(new WebClipboardImpl(clipboard.Pass())); 83 clipboard_.reset(new WebClipboardImpl(clipboard.Pass()));
88 } 84 }
89 shared_timer_.SetTaskRunner(main_thread_task_runner_);
90 } 85 }
91 86
92 BlinkPlatformImpl::~BlinkPlatformImpl() { 87 BlinkPlatformImpl::~BlinkPlatformImpl() {
93 } 88 }
94 89
95 blink::WebCookieJar* BlinkPlatformImpl::cookieJar() { 90 blink::WebCookieJar* BlinkPlatformImpl::cookieJar() {
96 return cookie_jar_.get(); 91 return cookie_jar_.get();
97 } 92 }
98 93
99 blink::WebClipboard* BlinkPlatformImpl::clipboard() { 94 blink::WebClipboard* BlinkPlatformImpl::clipboard() {
(...skipping 23 matching lines...) Expand all
123 double BlinkPlatformImpl::monotonicallyIncreasingTime() { 118 double BlinkPlatformImpl::monotonicallyIncreasingTime() {
124 return base::TimeTicks::Now().ToInternalValue() / 119 return base::TimeTicks::Now().ToInternalValue() /
125 static_cast<double>(base::Time::kMicrosecondsPerSecond); 120 static_cast<double>(base::Time::kMicrosecondsPerSecond);
126 } 121 }
127 122
128 void BlinkPlatformImpl::cryptographicallyRandomValues(unsigned char* buffer, 123 void BlinkPlatformImpl::cryptographicallyRandomValues(unsigned char* buffer,
129 size_t length) { 124 size_t length) {
130 base::RandBytes(buffer, length); 125 base::RandBytes(buffer, length);
131 } 126 }
132 127
133 void BlinkPlatformImpl::setSharedTimerFiredFunction(void (*func)()) {
134 shared_timer_func_ = func;
135 }
136
137 void BlinkPlatformImpl::setSharedTimerFireInterval(
138 double interval_seconds) {
139 shared_timer_fire_time_ = interval_seconds + monotonicallyIncreasingTime();
140 if (shared_timer_suspended_) {
141 shared_timer_fire_time_was_set_while_suspended_ = true;
142 return;
143 }
144
145 // By converting between double and int64 representation, we run the risk
146 // of losing precision due to rounding errors. Performing computations in
147 // microseconds reduces this risk somewhat. But there still is the potential
148 // of us computing a fire time for the timer that is shorter than what we
149 // need.
150 // As the event loop will check event deadlines prior to actually firing
151 // them, there is a risk of needlessly rescheduling events and of
152 // needlessly looping if sleep times are too short even by small amounts.
153 // This results in measurable performance degradation unless we use ceil() to
154 // always round up the sleep times.
155 int64 interval = static_cast<int64>(
156 ceil(interval_seconds * base::Time::kMillisecondsPerSecond)
157 * base::Time::kMicrosecondsPerMillisecond);
158
159 if (interval < 0)
160 interval = 0;
161
162 shared_timer_.Stop();
163 shared_timer_.Start(FROM_HERE, base::TimeDelta::FromMicroseconds(interval),
164 this, &BlinkPlatformImpl::DoTimeout);
165 }
166
167 void BlinkPlatformImpl::stopSharedTimer() {
168 shared_timer_.Stop();
169 }
170
171 bool BlinkPlatformImpl::isThreadedCompositingEnabled() { 128 bool BlinkPlatformImpl::isThreadedCompositingEnabled() {
172 return true; 129 return true;
173 } 130 }
174 131
175 blink::WebCompositorSupport* BlinkPlatformImpl::compositorSupport() { 132 blink::WebCompositorSupport* BlinkPlatformImpl::compositorSupport() {
176 return &compositor_support_; 133 return &compositor_support_;
177 } 134 }
178 135
179 void BlinkPlatformImpl::createMessageChannel( 136 void BlinkPlatformImpl::createMessageChannel(
180 blink::WebMessagePortChannel** channel1, 137 blink::WebMessagePortChannel** channel1,
(...skipping 128 matching lines...) Expand 10 before | Expand all | Expand 10 after
309 BlinkPlatformImpl::notificationManager() { 266 BlinkPlatformImpl::notificationManager() {
310 return &web_notification_manager_; 267 return &web_notification_manager_;
311 } 268 }
312 269
313 void BlinkPlatformImpl::UpdateWebThreadTLS(blink::WebThread* thread) { 270 void BlinkPlatformImpl::UpdateWebThreadTLS(blink::WebThread* thread) {
314 DCHECK(!current_thread_slot_.Get()); 271 DCHECK(!current_thread_slot_.Get());
315 current_thread_slot_.Set(thread); 272 current_thread_slot_.Set(thread);
316 } 273 }
317 274
318 } // namespace html_viewer 275 } // namespace html_viewer
OLDNEW
« no previous file with comments | « components/html_viewer/blink_platform_impl.h ('k') | content/child/blink_platform_impl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698