| Index: sky/engine/core/view/View.cpp
|
| diff --git a/sky/engine/core/view/View.cpp b/sky/engine/core/view/View.cpp
|
| index b8851397954ab71daa5b369bf4138150d534ffb9..cc1a152f93faefa1ca6c3ad9d55bf132726a78f2 100644
|
| --- a/sky/engine/core/view/View.cpp
|
| +++ b/sky/engine/core/view/View.cpp
|
| @@ -7,13 +7,13 @@
|
|
|
| namespace blink {
|
|
|
| -PassRefPtr<View> View::create(const base::Closure& schedulePaintCallback)
|
| +PassRefPtr<View> View::create(const base::Closure& scheduleFrameCallback)
|
| {
|
| - return adoptRef(new View(schedulePaintCallback));
|
| + return adoptRef(new View(scheduleFrameCallback));
|
| }
|
|
|
| -View::View(const base::Closure& schedulePaintCallback)
|
| - : m_schedulePaintCallback(schedulePaintCallback)
|
| +View::View(const base::Closure& scheduleFrameCallback)
|
| + : m_scheduleFrameCallback(scheduleFrameCallback)
|
| {
|
| }
|
|
|
| @@ -33,14 +33,19 @@ double View::height() const
|
| return h / m_displayMetrics.device_pixel_ratio;
|
| }
|
|
|
| -void View::schedulePaint()
|
| +void View::setEventCallback(PassOwnPtr<EventCallback> callback)
|
| {
|
| - m_schedulePaintCallback.Run();
|
| + m_eventCallback = callback;
|
| }
|
|
|
| -void View::setEventCallback(PassOwnPtr<EventCallback> callback)
|
| +void View::setBeginFrameCallback(PassOwnPtr<BeginFrameCallback> callback)
|
| {
|
| - m_eventCallback = callback;
|
| + m_beginFrameCallback = callback;
|
| +}
|
| +
|
| +void View::scheduleFrame()
|
| +{
|
| + m_scheduleFrameCallback.Run();
|
| }
|
|
|
| void View::setDisplayMetrics(const SkyDisplayMetrics& metrics)
|
| @@ -53,4 +58,12 @@ bool View::handleInputEvent(PassRefPtr<Event> event)
|
| return m_eventCallback && m_eventCallback->handleEvent(event.get());
|
| }
|
|
|
| +void View::beginFrame(base::TimeTicks frameTime)
|
| +{
|
| + if (!m_beginFrameCallback)
|
| + return;
|
| + double frameTimeMS = (frameTime - base::TimeTicks()).InMillisecondsF();
|
| + m_beginFrameCallback->handleEvent(frameTimeMS);
|
| +}
|
| +
|
| } // namespace blink
|
|
|