Changeset View
Changeset View
Standalone View
Standalone View
www/firefox/files/patch-bug1514156
Show First 20 Lines • Show All 92 Lines • ▼ Show 20 Lines | |||||
widget/gtk/nsWindow.h | 1 + | widget/gtk/nsWindow.h | 1 + | ||||
15 files changed, 281 insertions(+), 1 deletion(-) | 15 files changed, 281 insertions(+), 1 deletion(-) | ||||
diff --git gfx/webrender_bindings/RenderCompositor.cpp gfx/webrender_bindings/RenderCompositor.cpp | diff --git gfx/webrender_bindings/RenderCompositor.cpp gfx/webrender_bindings/RenderCompositor.cpp | ||||
index 051482fbabbf..a58268096a89 100644 | index 051482fbabbf..a58268096a89 100644 | ||||
--- gfx/webrender_bindings/RenderCompositor.cpp | --- gfx/webrender_bindings/RenderCompositor.cpp | ||||
+++ gfx/webrender_bindings/RenderCompositor.cpp | +++ gfx/webrender_bindings/RenderCompositor.cpp | ||||
@@ -16,6 +16,10 @@ | @@ -16,6 +16,10 @@ | ||||
#include "mozilla/webrender/RenderCompositorANGLE.h" | # include "mozilla/webrender/RenderCompositorANGLE.h" | ||||
#endif | #endif | ||||
+#ifdef MOZ_WAYLAND | +#ifdef MOZ_WAYLAND | ||||
+#include "mozilla/webrender/RenderCompositorEGL.h" | +#include "mozilla/webrender/RenderCompositorEGL.h" | ||||
+#endif | +#endif | ||||
+ | + | ||||
namespace mozilla { | namespace mozilla { | ||||
namespace wr { | namespace wr { | ||||
▲ Show 20 Lines • Show All 394 Lines • ▼ Show 20 Lines | |||||
@@ -208,6 +212,7 @@ static void moz_container_unmap_wayland(MozContainer *container) { | @@ -208,6 +212,7 @@ static void moz_container_unmap_wayland(MozContainer *container) { | ||||
g_clear_pointer(&container->frame_callback_handler, wl_callback_destroy); | g_clear_pointer(&container->frame_callback_handler, wl_callback_destroy); | ||||
container->surface_needs_clear = true; | container->surface_needs_clear = true; | ||||
+ container->egl_surface_needs_update = false; | + container->egl_surface_needs_update = false; | ||||
container->ready_to_draw = false; | container->ready_to_draw = false; | ||||
} | } | ||||
@@ -523,4 +528,10 @@ gboolean moz_container_surface_needs_clear(MozContainer *container) { | @@ -555,6 +560,12 @@ gboolean moz_container_surface_needs_clear(MozContainer *container) { | ||||
container->surface_needs_clear = false; | container->surface_needs_clear = false; | ||||
return state; | return state; | ||||
} | } | ||||
+ | + | ||||
+gboolean moz_container_egl_surface_needs_update(MozContainer *container){ | +gboolean moz_container_egl_surface_needs_update(MozContainer *container){ | ||||
+ gboolean state = container->egl_surface_needs_update; | + gboolean state = container->egl_surface_needs_update; | ||||
+ container->egl_surface_needs_update = false; | + container->egl_surface_needs_update = false; | ||||
+ return state; | + return state; | ||||
+} | +} | ||||
#endif | #endif | ||||
void moz_container_force_default_visual(MozContainer *container) { | |||||
diff --git widget/gtk/mozcontainer.h widget/gtk/mozcontainer.h | diff --git widget/gtk/mozcontainer.h widget/gtk/mozcontainer.h | ||||
index e9c218c1bc3e..1ed6f439805d 100644 | index e9c218c1bc3e..1ed6f439805d 100644 | ||||
--- widget/gtk/mozcontainer.h | --- widget/gtk/mozcontainer.h | ||||
+++ widget/gtk/mozcontainer.h | +++ widget/gtk/mozcontainer.h | ||||
@@ -77,6 +77,7 @@ struct _MozContainer { | @@ -77,6 +77,7 @@ struct _MozContainer { | ||||
struct wl_egl_window *eglwindow; | struct wl_egl_window *eglwindow; | ||||
struct wl_callback *frame_callback_handler; | struct wl_callback *frame_callback_handler; | ||||
gboolean surface_needs_clear; | gboolean surface_needs_clear; | ||||
+ gboolean egl_surface_needs_update; | + gboolean egl_surface_needs_update; | ||||
gboolean ready_to_draw; | gboolean ready_to_draw; | ||||
#endif | #endif | ||||
}; | gboolean force_default_visual; | ||||
@@ -96,6 +97,7 @@ struct wl_egl_window *moz_container_get_wl_egl_window(MozContainer *container); | @@ -100,6 +101,7 @@ gboolean moz_container_has_wl_egl_window(MozContainer *container); | ||||
gboolean moz_container_has_wl_egl_window(MozContainer *container); | |||||
gboolean moz_container_surface_needs_clear(MozContainer *container); | gboolean moz_container_surface_needs_clear(MozContainer *container); | ||||
void moz_container_scale_changed(MozContainer *container, | |||||
GtkAllocation *aAllocation); | |||||
+gboolean moz_container_egl_surface_needs_update(MozContainer *container); | +gboolean moz_container_egl_surface_needs_update(MozContainer *container); | ||||
#endif | #endif | ||||
#endif /* __MOZ_CONTAINER_H__ */ | #endif /* __MOZ_CONTAINER_H__ */ | ||||
diff --git widget/gtk/nsWindow.cpp widget/gtk/nsWindow.cpp | diff --git widget/gtk/nsWindow.cpp widget/gtk/nsWindow.cpp | ||||
index 50e6354ea374..ceabbf583a42 100644 | index 50e6354ea374..ceabbf583a42 100644 | ||||
--- widget/gtk/nsWindow.cpp | --- widget/gtk/nsWindow.cpp | ||||
+++ widget/gtk/nsWindow.cpp | +++ widget/gtk/nsWindow.cpp | ||||
▲ Show 20 Lines • Show All 42 Lines • Show Last 20 Lines |