flutter_flutter/viewer/platform/platform_impl.h
Adam Barth e962904c7a Remove TRACE_EVENT indirection through blink::Platform
Normal trace events already go directly to base. This CL removes the remaining
trace events that were still indirected through blink::Platform. These were
just the half-finished inspector timeline trace events, which currently aren't
actually hooked up to anything.

This CL also removes the redunant "convertable to trace format" wrappers and
moves their one remaining use over to just using the version in base directly.

R=eseidel@google.com, ojan@chromium.org

Review URL: https://codereview.chromium.org/889823002
2015-01-30 08:47:46 -08:00

60 lines
1.8 KiB
C++

// 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.
#ifndef SKY_VIEWER_PLATFORM_PLATFORM_IMPL_H_
#define SKY_VIEWER_PLATFORM_PLATFORM_IMPL_H_
#include "base/memory/scoped_ptr.h"
#include "base/message_loop/message_loop.h"
#include "base/threading/thread_local_storage.h"
#include "base/timer/timer.h"
#include "mojo/services/network/public/interfaces/network_service.mojom.h"
#include "sky/engine/public/platform/Platform.h"
namespace mojo {
class ApplicationImpl;
}
namespace sky {
class PlatformImpl : public blink::Platform {
public:
explicit PlatformImpl(mojo::ApplicationImpl* app);
virtual ~PlatformImpl();
// blink::Platform methods:
virtual blink::WebString defaultLocale();
virtual void setSharedTimerFiredFunction(void (*func)());
virtual void setSharedTimerFireInterval(double interval_seconds);
virtual void stopSharedTimer();
virtual base::SingleThreadTaskRunner* mainThreadTaskRunner();
virtual mojo::NetworkService* networkService();
virtual blink::WebURLLoader* createURLLoader();
virtual blink::WebURLError cancelledError(const blink::WebURL& url) const;
private:
void SuspendSharedTimer();
void ResumeSharedTimer();
void DoTimeout() {
if (shared_timer_func_ && !shared_timer_suspended_)
shared_timer_func_();
}
mojo::NetworkServicePtr network_service_;
base::MessageLoop* main_loop_;
scoped_refptr<base::SingleThreadTaskRunner> main_thread_task_runner_;
base::OneShotTimer<PlatformImpl> shared_timer_;
void (*shared_timer_func_)();
double shared_timer_fire_time_;
bool shared_timer_fire_time_was_set_while_suspended_;
int shared_timer_suspended_; // counter
DISALLOW_COPY_AND_ASSIGN(PlatformImpl);
};
} // namespace sky
#endif // SKY_VIEWER_PLATFORM_PLATFORM_IMPL_H_