Bug 1338172 part A - remove windowed plugin support from the GTK testplugin, r=jimm

MozReview-Commit-ID: 9vlarj5C59

--HG--
extra : rebase_source : a0c9866dc74b80b74a69150030d80dccb6a8eb45
extra : histedit_source : 98ee5f7ad25a10cf0276795648876d800b3e208a
This commit is contained in:
Benjamin Smedberg 2017-02-08 13:44:21 -05:00
Родитель 0376642438
Коммит 40c656c1ef
1 изменённых файлов: 19 добавлений и 18 удалений

Просмотреть файл

@ -61,7 +61,7 @@ struct _PlatformData {
bool bool
pluginSupportsWindowMode() pluginSupportsWindowMode()
{ {
return true; return false;
} }
bool bool
@ -141,12 +141,12 @@ pluginDrawSolid(InstanceData* instanceData, GdkDrawable* gdkWindow,
{ {
cairo_t* cairoWindow = gdk_cairo_create(gdkWindow); cairo_t* cairoWindow = gdk_cairo_create(gdkWindow);
if (!instanceData->hasWidget) { MOZ_RELEASE_ASSERT(!instanceData->hasWidget);
NPRect* clip = &instanceData->window.clipRect;
cairo_rectangle(cairoWindow, clip->left, clip->top, NPRect* clip = &instanceData->window.clipRect;
clip->right - clip->left, clip->bottom - clip->top); cairo_rectangle(cairoWindow, clip->left, clip->top,
cairo_clip(cairoWindow); clip->right - clip->left, clip->bottom - clip->top);
} cairo_clip(cairoWindow);
GdkRectangle windowRect = { x, y, width, height }; GdkRectangle windowRect = { x, y, width, height };
gdk_cairo_rectangle(cairoWindow, &windowRect); gdk_cairo_rectangle(cairoWindow, &windowRect);
@ -161,13 +161,13 @@ pluginDrawWindow(InstanceData* instanceData, GdkDrawable* gdkWindow,
const GdkRectangle& invalidRect) const GdkRectangle& invalidRect)
{ {
NPWindow& window = instanceData->window; NPWindow& window = instanceData->window;
// When we have a widget, window.x/y are meaningless since our MOZ_RELEASE_ASSERT(!instanceData->hasWidget);
// widget is always positioned correctly and we just draw into it at 0,0
int x = instanceData->hasWidget ? 0 : window.x; int x = window.x;
int y = instanceData->hasWidget ? 0 : window.y; int y = window.y;
int width = window.width; int width = window.width;
int height = window.height; int height = window.height;
notifyDidPaint(instanceData); notifyDidPaint(instanceData);
if (instanceData->scriptableObject->drawMode == DM_SOLID_COLOR) { if (instanceData->scriptableObject->drawMode == DM_SOLID_COLOR) {
@ -190,12 +190,10 @@ pluginDrawWindow(InstanceData* instanceData, GdkDrawable* gdkWindow,
if (!gdkContext) if (!gdkContext)
return; return;
if (!instanceData->hasWidget) { NPRect* clip = &window.clipRect;
NPRect* clip = &window.clipRect; GdkRectangle gdkClip = { clip->left, clip->top, clip->right - clip->left,
GdkRectangle gdkClip = { clip->left, clip->top, clip->right - clip->left, clip->bottom - clip->top };
clip->bottom - clip->top }; gdk_gc_set_clip_rectangle(gdkContext, &gdkClip);
gdk_gc_set_clip_rectangle(gdkContext, &gdkClip);
}
// draw a grey background for the plugin frame // draw a grey background for the plugin frame
GdkColor grey; GdkColor grey;
@ -430,8 +428,10 @@ pluginHandleEvent(InstanceData* instanceData, void* event)
int32_t pluginGetEdge(InstanceData* instanceData, RectEdge edge) int32_t pluginGetEdge(InstanceData* instanceData, RectEdge edge)
{ {
MOZ_RELEASE_ASSERT(!instanceData->hasWidget);
if (!instanceData->hasWidget) if (!instanceData->hasWidget)
return NPTEST_INT32_ERROR; return NPTEST_INT32_ERROR;
GtkWidget* plug = instanceData->platformData->plug; GtkWidget* plug = instanceData->platformData->plug;
if (!plug) if (!plug)
return NPTEST_INT32_ERROR; return NPTEST_INT32_ERROR;
@ -508,6 +508,7 @@ static void intersectWithShapeRects(Display* display, Window window,
static GdkRegion* computeClipRegion(InstanceData* instanceData) static GdkRegion* computeClipRegion(InstanceData* instanceData)
{ {
MOZ_RELEASE_ASSERT(!instanceData->hasWidget);
if (!instanceData->hasWidget) if (!instanceData->hasWidget)
return 0; return 0;