[WebGL2] Teach WebGLRenderingContextBase about new texture internal formats
[WebKit-https.git] / Source / WebCore / platform / graphics / DisplayRefreshMonitorClient.h
index 22fa572..c669dcb 100644 (file)
  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
  */
 
-#ifndef DisplayRefreshMonitorClient_h
-#define DisplayRefreshMonitorClient_h
+#pragma once
 
 #if USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR)
 
 #include "PlatformScreen.h"
+#include <wtf/Forward.h>
 #include <wtf/Optional.h>
 
 namespace WebCore {
 
 class DisplayRefreshMonitor;
-class DisplayRefreshMonitorManager;
 
 class DisplayRefreshMonitorClient {
 public:
@@ -42,34 +41,24 @@ public:
     virtual ~DisplayRefreshMonitorClient();
 
     // Always called on the main thread.
-    virtual void displayRefreshFired(double timestamp) = 0;
+    virtual void displayRefreshFired() = 0;
 
-    // Returning nullopt indicates that WebCore should create whatever DisplayRefreshMonitor it deems
-    // most appropriate for the current platform. Returning nullptr indicates that we should not try to
-    // create a DisplayRefreshMonitor at all (and should instead fall back to using a timer).
-    virtual Optional<RefPtr<DisplayRefreshMonitor>> createDisplayRefreshMonitor(PlatformDisplayID) const = 0;
+    virtual RefPtr<DisplayRefreshMonitor> createDisplayRefreshMonitor(PlatformDisplayID) const = 0;
 
-    PlatformDisplayID displayID() const { return m_displayID; }
-    bool hasDisplayID() const { return m_displayIDIsSet; }
-    void setDisplayID(PlatformDisplayID displayID)
-    {
-        m_displayID = displayID;
-        m_displayIDIsSet = true;
-    }
+    PlatformDisplayID displayID() const { return m_displayID.value(); }
+    bool hasDisplayID() const { return !!m_displayID; }
+    void setDisplayID(PlatformDisplayID displayID) { m_displayID = displayID; }
 
     void setIsScheduled(bool isScheduled) { m_scheduled = isScheduled; }
     bool isScheduled() const { return m_scheduled; }
 
-    void fireDisplayRefreshIfNeeded(double timestamp);
+    void fireDisplayRefreshIfNeeded();
 
 private:
-    bool m_scheduled;
-    bool m_displayIDIsSet;
-    PlatformDisplayID m_displayID;
+    bool m_scheduled { false };
+    Optional<PlatformDisplayID> m_displayID;
 };
 
 }
 
 #endif // USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR)
-
-#endif