mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
more getting stuff out of my tree (npotb)
This commit is contained in:
parent
44af177a14
commit
8b8299ab00
@ -138,6 +138,7 @@ GLITZ_CSRCS += \
|
|||||||
glitz_wgl_context.c \
|
glitz_wgl_context.c \
|
||||||
glitz_wgl_pbuffer.c \
|
glitz_wgl_pbuffer.c \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq (,$(filter $(MOZ_WIDGET_TOOLKIT),mac cocoa))
|
ifneq (,$(filter $(MOZ_WIDGET_TOOLKIT),mac cocoa))
|
||||||
@ -154,9 +155,9 @@ CPPSRCS = nsCanvas3DModule.cpp \
|
|||||||
nsCanvasRenderingContextGLWeb20.cpp \
|
nsCanvasRenderingContextGLWeb20.cpp \
|
||||||
$(NULL)
|
$(NULL)
|
||||||
|
|
||||||
DEFINES += -DXPCOM_GLUE -DGLEW_MX -DGLEW_STATIC
|
DEFINES += -DXPCOM_GLUE -DXPCOM_GLUE_USE_NSPR -DGLEW_MX -DGLEW_STATIC
|
||||||
|
|
||||||
EXTRA_DSO_LIBS += js3250 xpcom nspr4 xpcom_core unicharutil_s
|
EXTRA_DSO_LIBS += js3250 xpcom xpcom_core unicharutil_s
|
||||||
# mozcairo mozlibpixman
|
# mozcairo mozlibpixman
|
||||||
|
|
||||||
ifdef MOZ_ENABLE_CAIRO_GFX
|
ifdef MOZ_ENABLE_CAIRO_GFX
|
||||||
@ -173,11 +174,13 @@ include $(topsrcdir)/config/rules.mk
|
|||||||
CFLAGS += -I$(GLITZ_SRC_DIR) -I$(GLITZ_PLATFORM_SRC_DIR) $(RTL_FLAGS)
|
CFLAGS += -I$(GLITZ_SRC_DIR) -I$(GLITZ_PLATFORM_SRC_DIR) $(RTL_FLAGS)
|
||||||
CXXFLAGS += -I$(GLITZ_SRC_DIR) -I$(GLITZ_PLATFORM_SRC_DIR) $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
|
CXXFLAGS += -I$(GLITZ_SRC_DIR) -I$(GLITZ_PLATFORM_SRC_DIR) $(MOZ_CAIRO_CFLAGS) $(TK_CFLAGS)
|
||||||
|
|
||||||
|
EXTRA_DSO_LIBS += $(NSPR_LIBS)
|
||||||
|
|
||||||
ifdef MOZ_X11
|
ifdef MOZ_X11
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
|
ifeq ($(MOZ_WIDGET_TOOLKIT),windows)
|
||||||
EXTRA_DSO_LDOPTS += opengl32.lib glu32.lib
|
EXTRA_DSO_LDOPTS += opengl32.lib glu32.lib usp10.lib
|
||||||
endif
|
endif
|
||||||
|
|
||||||
ifneq (,$(filter $(MOZ_WIDGET_TOOLKIT),mac cocoa))
|
ifneq (,$(filter $(MOZ_WIDGET_TOOLKIT),mac cocoa))
|
||||||
|
@ -534,8 +534,10 @@ nsCanvasRenderingContextGLPrivate::SetCanvasElement(nsICanvasElement* aParentCan
|
|||||||
if (!SafeToCreateCanvas3DContext())
|
if (!SafeToCreateCanvas3DContext())
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
|
|
||||||
if (!ValidateGL())
|
if (!ValidateGL()) {
|
||||||
|
LogMessage(NS_LITERAL_CSTRING("Canvas 3D: Couldn't validate OpenGL implementation; is everything needed present?"));
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
mCanvasElement = aParentCanvas;
|
mCanvasElement = aParentCanvas;
|
||||||
fprintf (stderr, "VVVV SetCanvasElement: %p\n", mCanvasElement);
|
fprintf (stderr, "VVVV SetCanvasElement: %p\n", mCanvasElement);
|
||||||
@ -604,8 +606,10 @@ nsCanvasRenderingContextGLPrivate::SetDimensions(PRInt32 width, PRInt32 height)
|
|||||||
&templ, 0);
|
&templ, 0);
|
||||||
} while (gdformat == nsnull && templ.samples > 0);
|
} while (gdformat == nsnull && templ.samples > 0);
|
||||||
|
|
||||||
if (!gdformat)
|
if (!gdformat) {
|
||||||
|
LogMessage(NS_LITERAL_CSTRING("Canvas 3D: Unable to find pbuffer format (maybe pbuffers are not available?"));
|
||||||
return NS_ERROR_INVALID_ARG;
|
return NS_ERROR_INVALID_ARG;
|
||||||
|
}
|
||||||
|
|
||||||
mGlitzDrawable =
|
mGlitzDrawable =
|
||||||
glitz_wgl_create_pbuffer_drawable(gdformat,
|
glitz_wgl_create_pbuffer_drawable(gdformat,
|
||||||
@ -613,13 +617,17 @@ nsCanvasRenderingContextGLPrivate::SetDimensions(PRInt32 width, PRInt32 height)
|
|||||||
height);
|
height);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (!gdformat || !mGlitzDrawable)
|
if (!gdformat || !mGlitzDrawable) {
|
||||||
|
LogMessage(NS_LITERAL_CSTRING("Canvas 3D: Failed to create pbuffer drawable."));
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
|
}
|
||||||
|
|
||||||
glitz_format_t *gformat =
|
glitz_format_t *gformat =
|
||||||
glitz_find_standard_format(mGlitzDrawable, GLITZ_STANDARD_ARGB32);
|
glitz_find_standard_format(mGlitzDrawable, GLITZ_STANDARD_ARGB32);
|
||||||
if (!gformat)
|
if (!gformat) {
|
||||||
|
LogMessage(NS_LITERAL_CSTRING("Canvas 3D: Couldn't find ARGB32 format (this should never happen!)"));
|
||||||
return NS_ERROR_INVALID_ARG;
|
return NS_ERROR_INVALID_ARG;
|
||||||
|
}
|
||||||
|
|
||||||
mGlitzSurface =
|
mGlitzSurface =
|
||||||
glitz_surface_create(mGlitzDrawable,
|
glitz_surface_create(mGlitzDrawable,
|
||||||
@ -628,8 +636,10 @@ nsCanvasRenderingContextGLPrivate::SetDimensions(PRInt32 width, PRInt32 height)
|
|||||||
height,
|
height,
|
||||||
0,
|
0,
|
||||||
NULL);
|
NULL);
|
||||||
if (!mGlitzSurface)
|
if (!mGlitzSurface) {
|
||||||
|
LogMessage(NS_LITERAL_CSTRING("Canvas 3D: Failed to create glitz surface"));
|
||||||
return NS_ERROR_INVALID_ARG;
|
return NS_ERROR_INVALID_ARG;
|
||||||
|
}
|
||||||
|
|
||||||
glitz_surface_attach(mGlitzSurface, mGlitzDrawable, GLITZ_DRAWABLE_BUFFER_FRONT_COLOR);
|
glitz_surface_attach(mGlitzSurface, mGlitzDrawable, GLITZ_DRAWABLE_BUFFER_FRONT_COLOR);
|
||||||
|
|
||||||
@ -640,6 +650,7 @@ nsCanvasRenderingContextGLPrivate::SetDimensions(PRInt32 width, PRInt32 height)
|
|||||||
GLenum err = glewInit();
|
GLenum err = glewInit();
|
||||||
if (err != GLEW_OK) {
|
if (err != GLEW_OK) {
|
||||||
// er, something very bad happened
|
// er, something very bad happened
|
||||||
|
LogMessage(NS_LITERAL_CSTRING("Canvas 3D: GLEW init failed"));
|
||||||
NS_ERROR("glewInit failed! Leaking lots of memory");
|
NS_ERROR("glewInit failed! Leaking lots of memory");
|
||||||
return NS_ERROR_FAILURE;
|
return NS_ERROR_FAILURE;
|
||||||
}
|
}
|
||||||
@ -1484,7 +1495,7 @@ nsCanvasRenderingContextGLPrivate::DoSwapBuffers()
|
|||||||
// nsIFrame::Invalidate is an internal non-virtual method,
|
// nsIFrame::Invalidate is an internal non-virtual method,
|
||||||
// so we basically recreate it here. I would suggest
|
// so we basically recreate it here. I would suggest
|
||||||
// an InvalidateExternal for the trunk.
|
// an InvalidateExternal for the trunk.
|
||||||
nsIPresShell *shell = frame->GetPresContext()->GetPresShell();
|
nsIPresShell *shell = frame->PresContext()->GetPresShell();
|
||||||
if (shell) {
|
if (shell) {
|
||||||
PRBool suppressed = PR_FALSE;
|
PRBool suppressed = PR_FALSE;
|
||||||
shell->IsPaintingSuppressed(&suppressed);
|
shell->IsPaintingSuppressed(&suppressed);
|
||||||
@ -1544,5 +1555,7 @@ nsCanvasRenderingContextGLPrivate::SafeToCreateCanvas3DContext()
|
|||||||
if (enabled)
|
if (enabled)
|
||||||
return PR_TRUE;
|
return PR_TRUE;
|
||||||
|
|
||||||
|
LogMessage("Canvas 3D: Web content tried to create 3D Canvas Context, but pref extensions.canvas3d.enabledForWebContent is not set!");
|
||||||
|
|
||||||
return PR_FALSE;
|
return PR_FALSE;
|
||||||
}
|
}
|
||||||
|
@ -63,6 +63,9 @@
|
|||||||
#include "nsDOMError.h"
|
#include "nsDOMError.h"
|
||||||
#include "nsIJSRuntimeService.h"
|
#include "nsIJSRuntimeService.h"
|
||||||
|
|
||||||
|
#include "nsIServiceManager.h"
|
||||||
|
#include "nsIConsoleService.h"
|
||||||
|
|
||||||
#include "nsDOMError.h"
|
#include "nsDOMError.h"
|
||||||
|
|
||||||
#include "nsContentUtils.h"
|
#include "nsContentUtils.h"
|
||||||
@ -267,6 +270,12 @@ protected:
|
|||||||
jsvector[i] = INT_TO_JSVAL(vals[i]);
|
jsvector[i] = INT_TO_JSVAL(vals[i]);
|
||||||
return JS_NewArrayObject(ctx, len, jsvector);
|
return JS_NewArrayObject(ctx, len, jsvector);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LogMessage (const nsCString& errorString) {
|
||||||
|
nsresult rv;
|
||||||
|
nsCOMPtr<nsIConsoleService> console(do_GetService(NS_CONSOLESERVICE_CONTRACTID));
|
||||||
|
console->LogStringMessage(NS_ConvertUTF8toUTF16(errorString).get());
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class NativeJSContext {
|
class NativeJSContext {
|
||||||
|
Loading…
Reference in New Issue
Block a user