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

Unified Diff: mojo/examples/html_viewer/blink_platform_impl.cc

Issue 393983004: Move mojo/examples/html_viewer to mojo/services/html_viewer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: nuke 'examples' namespace Created 6 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « mojo/examples/html_viewer/blink_platform_impl.h ('k') | mojo/examples/html_viewer/html_document_view.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: mojo/examples/html_viewer/blink_platform_impl.cc
diff --git a/mojo/examples/html_viewer/blink_platform_impl.cc b/mojo/examples/html_viewer/blink_platform_impl.cc
deleted file mode 100644
index c77bafe941f959e3b618a22c9fe094945ec2a010..0000000000000000000000000000000000000000
--- a/mojo/examples/html_viewer/blink_platform_impl.cc
+++ /dev/null
@@ -1,217 +0,0 @@
-// Copyright 2014 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-#include "mojo/examples/html_viewer/blink_platform_impl.h"
-
-#include <cmath>
-
-#include "base/rand_util.h"
-#include "base/stl_util.h"
-#include "base/synchronization/waitable_event.h"
-#include "base/time/time.h"
-#include "mojo/examples/html_viewer/webthread_impl.h"
-#include "mojo/examples/html_viewer/weburlloader_impl.h"
-#include "mojo/public/cpp/application/application_impl.h"
-#include "net/base/data_url.h"
-#include "net/base/mime_util.h"
-#include "net/base/net_errors.h"
-#include "third_party/WebKit/public/platform/WebWaitableEvent.h"
-
-namespace mojo {
-namespace examples {
-namespace {
-
-// TODO(darin): Figure out what our UA should really be.
-const char kUserAgentString[] =
- "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) "
- "Chrome/35.0.1916.153 Safari/537.36";
-
-class WebWaitableEventImpl : public blink::WebWaitableEvent {
- public:
- WebWaitableEventImpl() : impl_(new base::WaitableEvent(false, false)) {}
- virtual ~WebWaitableEventImpl() {}
-
- virtual void wait() { impl_->Wait(); }
- virtual void signal() { impl_->Signal(); }
-
- base::WaitableEvent* impl() {
- return impl_.get();
- }
-
- private:
- scoped_ptr<base::WaitableEvent> impl_;
- DISALLOW_COPY_AND_ASSIGN(WebWaitableEventImpl);
-};
-
-} // namespace
-
-BlinkPlatformImpl::BlinkPlatformImpl(ApplicationImpl* app)
- : main_loop_(base::MessageLoop::current()),
- shared_timer_func_(NULL),
- shared_timer_fire_time_(0.0),
- shared_timer_fire_time_was_set_while_suspended_(false),
- shared_timer_suspended_(0),
- current_thread_slot_(&DestroyCurrentThread) {
- app->ConnectToService("mojo:mojo_network_service", &network_service_);
-}
-
-BlinkPlatformImpl::~BlinkPlatformImpl() {
-}
-
-blink::WebMimeRegistry* BlinkPlatformImpl::mimeRegistry() {
- return &mime_registry_;
-}
-
-blink::WebThemeEngine* BlinkPlatformImpl::themeEngine() {
- return &theme_engine_;
-}
-
-blink::WebString BlinkPlatformImpl::defaultLocale() {
- return blink::WebString::fromUTF8("en-US");
-}
-
-double BlinkPlatformImpl::currentTime() {
- return base::Time::Now().ToDoubleT();
-}
-
-double BlinkPlatformImpl::monotonicallyIncreasingTime() {
- return base::TimeTicks::Now().ToInternalValue() /
- static_cast<double>(base::Time::kMicrosecondsPerSecond);
-}
-
-void BlinkPlatformImpl::cryptographicallyRandomValues(unsigned char* buffer,
- size_t length) {
- base::RandBytes(buffer, length);
-}
-
-void BlinkPlatformImpl::setSharedTimerFiredFunction(void (*func)()) {
- shared_timer_func_ = func;
-}
-
-void BlinkPlatformImpl::setSharedTimerFireInterval(
- double interval_seconds) {
- shared_timer_fire_time_ = interval_seconds + monotonicallyIncreasingTime();
- if (shared_timer_suspended_) {
- shared_timer_fire_time_was_set_while_suspended_ = true;
- return;
- }
-
- // By converting between double and int64 representation, we run the risk
- // of losing precision due to rounding errors. Performing computations in
- // microseconds reduces this risk somewhat. But there still is the potential
- // of us computing a fire time for the timer that is shorter than what we
- // need.
- // As the event loop will check event deadlines prior to actually firing
- // them, there is a risk of needlessly rescheduling events and of
- // needlessly looping if sleep times are too short even by small amounts.
- // This results in measurable performance degradation unless we use ceil() to
- // always round up the sleep times.
- int64 interval = static_cast<int64>(
- ceil(interval_seconds * base::Time::kMillisecondsPerSecond)
- * base::Time::kMicrosecondsPerMillisecond);
-
- if (interval < 0)
- interval = 0;
-
- shared_timer_.Stop();
- shared_timer_.Start(FROM_HERE, base::TimeDelta::FromMicroseconds(interval),
- this, &BlinkPlatformImpl::DoTimeout);
-}
-
-void BlinkPlatformImpl::stopSharedTimer() {
- shared_timer_.Stop();
-}
-
-void BlinkPlatformImpl::callOnMainThread(
- void (*func)(void*), void* context) {
- main_loop_->PostTask(FROM_HERE, base::Bind(func, context));
-}
-
-blink::WebScrollbarBehavior* BlinkPlatformImpl::scrollbarBehavior() {
- return &scrollbar_behavior_;
-}
-
-const unsigned char* BlinkPlatformImpl::getTraceCategoryEnabledFlag(
- const char* category_name) {
- static const unsigned char buf[] = "*";
- return buf;
-}
-
-blink::WebURLLoader* BlinkPlatformImpl::createURLLoader() {
- return new WebURLLoaderImpl(network_service_.get());
-}
-
-blink::WebString BlinkPlatformImpl::userAgent() {
- return blink::WebString::fromUTF8(kUserAgentString);
-}
-
-blink::WebData BlinkPlatformImpl::parseDataURL(
- const blink::WebURL& url,
- blink::WebString& mimetype_out,
- blink::WebString& charset_out) {
- std::string mimetype, charset, data;
- if (net::DataURL::Parse(url, &mimetype, &charset, &data)
- && net::IsSupportedMimeType(mimetype)) {
- mimetype_out = blink::WebString::fromUTF8(mimetype);
- charset_out = blink::WebString::fromUTF8(charset);
- return data;
- }
- return blink::WebData();
-}
-
-blink::WebURLError BlinkPlatformImpl::cancelledError(const blink::WebURL& url)
- const {
- blink::WebURLError error;
- error.domain = blink::WebString::fromUTF8(net::kErrorDomain);
- error.reason = net::ERR_ABORTED;
- error.unreachableURL = url;
- error.staleCopyInCache = false;
- error.isCancellation = true;
- return error;
-}
-
-blink::WebThread* BlinkPlatformImpl::createThread(const char* name) {
- return new WebThreadImpl(name);
-}
-
-blink::WebThread* BlinkPlatformImpl::currentThread() {
- WebThreadImplForMessageLoop* thread =
- static_cast<WebThreadImplForMessageLoop*>(current_thread_slot_.Get());
- if (thread)
- return (thread);
-
- scoped_refptr<base::MessageLoopProxy> message_loop =
- base::MessageLoopProxy::current();
- if (!message_loop.get())
- return NULL;
-
- thread = new WebThreadImplForMessageLoop(message_loop.get());
- current_thread_slot_.Set(thread);
- return thread;
-}
-
-blink::WebWaitableEvent* BlinkPlatformImpl::createWaitableEvent() {
- return new WebWaitableEventImpl();
-}
-
-blink::WebWaitableEvent* BlinkPlatformImpl::waitMultipleEvents(
- const blink::WebVector<blink::WebWaitableEvent*>& web_events) {
- std::vector<base::WaitableEvent*> events;
- for (size_t i = 0; i < web_events.size(); ++i)
- events.push_back(static_cast<WebWaitableEventImpl*>(web_events[i])->impl());
- size_t idx = base::WaitableEvent::WaitMany(
- vector_as_array(&events), events.size());
- DCHECK_LT(idx, web_events.size());
- return web_events[idx];
-}
-
-// static
-void BlinkPlatformImpl::DestroyCurrentThread(void* thread) {
- WebThreadImplForMessageLoop* impl =
- static_cast<WebThreadImplForMessageLoop*>(thread);
- delete impl;
-}
-
-} // namespace examples
-} // namespace mojo
« no previous file with comments | « mojo/examples/html_viewer/blink_platform_impl.h ('k') | mojo/examples/html_viewer/html_document_view.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698