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

Unified Diff: sky/engine/core/view/View.cpp

Issue 1153543002: Make hit testing work in layout2.dart (Closed) Base URL: git@github.com:domokit/mojo.git@master
Patch Set: Add missing file Created 5 years, 7 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
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

Powered by Google App Engine
This is Rietveld 408576698