WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
62848
Change GtkWidgetBackingStore.h to WidgetBackingStore.h in order to use in the EFL port.
https://bugs.webkit.org/show_bug.cgi?id=62848
Summary
Change GtkWidgetBackingStore.h to WidgetBackingStore.h in order to use in the...
Eunmi Lee
Reported
2011-06-17 01:23:24 PDT
I want to change WebCore/platform/gtk/GtkWidgetBackingStore.h to WebCore/platform/WidgetBackingStore.h to use WidgetBackingStore class in the EFL port. My ultimate goal is to share the WebKit2/UIProcess/gtk/BackingStoreGtk.cpp with EFL port by changing it to WebKit2/UIProcess/cairo/BackingStoreCairo.cpp. When I try to make WebKit2/UIProcess/efl/BackingStoreEfl.cpp, there are many duplicated codes with GTK port because both of them use the "cairo". So, I want to integrate cairo codes in the GTK and EFL port. related bug :
https://bugs.webkit.org/show_bug.cgi?id=62444
Attachments
Patch
(14.18 KB, patch)
2011-06-17 04:53 PDT
,
Eunmi Lee
gustavo
: commit-queue-
Details
Formatted Diff
Diff
Change GtkWidgetBackingStore.h to WidgetBackingStore.h in order to use in the EFL port.
(17.50 KB, patch)
2011-06-17 07:06 PDT
,
Eunmi Lee
gyuyoung.kim
: commit-queue-
Details
Formatted Diff
Diff
Patch to fix efl error
(17.41 KB, patch)
2011-06-19 21:05 PDT
,
Eunmi Lee
mrobinson
: review-
Details
Formatted Diff
Diff
Patch for comments
(17.67 KB, patch)
2011-06-20 21:31 PDT
,
Eunmi Lee
mrobinson
: review+
mrobinson
: commit-queue-
Details
Formatted Diff
Diff
patch for Martin's comments
(17.70 KB, patch)
2011-06-21 23:57 PDT
,
Eunmi Lee
no flags
Details
Formatted Diff
Diff
Show Obsolete
(4)
View All
Add attachment
proposed patch, testcase, etc.
Eunmi Lee
Comment 1
2011-06-17 04:53:36 PDT
Created
attachment 97582
[details]
Patch
Eunmi Lee
Comment 2
2011-06-17 05:00:23 PDT
Dear Martin, I've made patch for sharing GtkWidgetBackingStore with EFL. I think that you know about GtkWidgetBackingStore very well because you are the author of that class. Would you review this patch? I really need your advice :)
Gustavo Noronha (kov)
Comment 3
2011-06-17 06:32:22 PDT
Comment on
attachment 97582
[details]
Patch
Attachment 97582
[details]
did not pass gtk-ews (gtk): Output:
http://queues.webkit.org/results/8880568
Eunmi Lee
Comment 4
2011-06-17 07:06:47 PDT
Created
attachment 97594
[details]
Change GtkWidgetBackingStore.h to WidgetBackingStore.h in order to use in the EFL port. Add missing file - WebCore/platform/WidgetBackingStore.h
Gyuyoung Kim
Comment 5
2011-06-17 16:15:16 PDT
Comment on
attachment 97594
[details]
Change GtkWidgetBackingStore.h to WidgetBackingStore.h in order to use in the EFL port.
Attachment 97594
[details]
did not pass efl-ews (efl): Output:
http://queues.webkit.org/results/8878709
Eunmi Lee
Comment 6
2011-06-19 21:05:41 PDT
Created
attachment 97740
[details]
Patch to fix efl error remove EFL related codes to fix efl build break.
Martin Robinson
Comment 7
2011-06-20 11:06:40 PDT
Comment on
attachment 97740
[details]
Patch to fix efl error View in context:
https://bugs.webkit.org/attachment.cgi?id=97740&action=review
> Source/WebCore/platform/WidgetBackingStore.h:7 > +/* > + * Copyright (C) 2011, Igalia S.L. > + * > + * This library is free software; you can redistribute it and/or > + * modify it under the terms of the GNU Lesser General Public > + * License as published by the Free Software Foundation; either > + * version 2 of the License, or (at your option) any later version.
This file probably belongs in the Cairo subdirectory since it heavily depends on Cairo.
> Source/WebCore/platform/gtk/GtkWidgetBackingStoreCairo.cpp:34 > -static PassRefPtr<cairo_surface_t> createSurfaceForBackingStore(GtkWidget* widget, const IntSize& size) > +static PassRefPtr<cairo_surface_t> createSurfaceForBackingStore(PlatformWidget widget, const IntSize& size) > { > return gdk_window_create_similar_surface(gtk_widget_get_window(widget), > CAIRO_CONTENT_COLOR_ALPHA,
I'm not sure I understand this part of the change. Here we abstract away that the widget is a GTK+ widget and then immediately call gtk_widget_get_window on it.
Eunmi Lee
Comment 8
2011-06-20 21:31:25 PDT
Created
attachment 97925
[details]
Patch for comments
Eunmi Lee
Comment 9
2011-06-20 21:41:52 PDT
Thank you for your comments :) I've modified as follows: (In reply to
comment #7
)
> (From update of
attachment 97740
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=97740&action=review
> > > Source/WebCore/platform/WidgetBackingStore.h:7 > > +/* > > + * Copyright (C) 2011, Igalia S.L. > > + * > > + * This library is free software; you can redistribute it and/or > > + * modify it under the terms of the GNU Lesser General Public > > + * License as published by the Free Software Foundation; either > > + * version 2 of the License, or (at your option) any later version. > > This file probably belongs in the Cairo subdirectory since it heavily depends on Cairo. >
I added Source/WebCore/platform/cairo directory and moved WidgetBackingStore.h to there.
> > Source/WebCore/platform/gtk/GtkWidgetBackingStoreCairo.cpp:34 > > -static PassRefPtr<cairo_surface_t> createSurfaceForBackingStore(GtkWidget* widget, const IntSize& size) > > +static PassRefPtr<cairo_surface_t> createSurfaceForBackingStore(PlatformWidget widget, const IntSize& size) > > { > > return gdk_window_create_similar_surface(gtk_widget_get_window(widget), > > CAIRO_CONTENT_COLOR_ALPHA, > > I'm not sure I understand this part of the change. Here we abstract away that the widget is a GTK+ widget and then immediately call gtk_widget_get_window on it.
Yes, that was a strange code and they did not have to use PlatformWidget. So, I modified to use "GtkWidget*" instead of PlatformWidget in the gtk port's .cpp files.
Martin Robinson
Comment 10
2011-06-21 11:03:29 PDT
Comment on
attachment 97925
[details]
Patch for comments View in context:
https://bugs.webkit.org/attachment.cgi?id=97925&action=review
Okay. Are you a committer. Can you make the following change before committing?
> Source/WebCore/platform/graphics/cairo/CairoUtilities.h:50 > +void copyRectFromOneSurfaceToAnother(cairo_surface_t*, cairo_surface_t*, const IntSize&, const IntRect&);
Here it makes sense to leave the argument names since it's unclear which is the destination and which is the source.
Gyuyoung Kim
Comment 11
2011-06-21 22:17:11 PDT
(In reply to
comment #10
)
> (From update of
attachment 97925
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=97925&action=review
> > Okay. Are you a committer. Can you make the following change before committing?
Ok, Eunmi is not committer yet. I can do that. I will give cq+ when Eunmi upload new patch according to your comment.
Eunmi Lee
Comment 12
2011-06-21 23:57:57 PDT
Created
attachment 98125
[details]
patch for Martin's comments
Eunmi Lee
Comment 13
2011-06-22 00:00:10 PDT
(In reply to
comment #10
)
> (From update of
attachment 97925
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=97925&action=review
> > Okay. Are you a committer. Can you make the following change before committing? > > > Source/WebCore/platform/graphics/cairo/CairoUtilities.h:50 > > +void copyRectFromOneSurfaceToAnother(cairo_surface_t*, cairo_surface_t*, const IntSize&, const IntRect&); > > Here it makes sense to leave the argument names since it's unclear which is the destination and which is the source.
Thank you very much for your review :) I've added argument names for copyRectFromOneSurfaceToAnother. And, I'm not a committer, so Gyuyoung will commit this patch. Thanks for Gyuyoung :)
Gyuyoung Kim
Comment 14
2011-06-22 00:05:57 PDT
Comment on
attachment 98125
[details]
patch for Martin's comments LGTM.
WebKit Review Bot
Comment 15
2011-06-22 09:57:20 PDT
Comment on
attachment 98125
[details]
patch for Martin's comments Clearing flags on attachment: 98125 Committed
r89442
: <
http://trac.webkit.org/changeset/89442
>
WebKit Review Bot
Comment 16
2011-06-22 09:57:27 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug