RESOLVED FIXED 111858
[EFL] Start using evas object directly in Widget class
https://bugs.webkit.org/show_bug.cgi?id=111858
Summary [EFL] Start using evas object directly in Widget class
Mikhail Pozdnyakov
Reported 2013-03-08 07:21:44 PST
EFL Widget class should use evas object pointer directly rather than MAC specific WidgetPrivate* m_data. The reason: 1) to be compliant with other ports 2) it will make code much cleaner.
Attachments
patch (12.30 KB, patch)
2013-03-08 07:29 PST, Mikhail Pozdnyakov
no flags
patch v2 (12.69 KB, patch)
2013-03-11 10:52 PDT, Mikhail Pozdnyakov
buildbot: commit-queue-
patch v2 (12.69 KB, patch)
2013-03-12 11:23 PDT, Mikhail Pozdnyakov
no flags
Mikhail Pozdnyakov
Comment 1 2013-03-08 07:29:50 PST
Kenneth Rohde Christiansen
Comment 2 2013-03-08 07:41:20 PST
Comment on attachment 192226 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=192226&action=review > Source/WebCore/ChangeLog:10 > + EFL Widget class should use evas object pointer directly rather > + than MAC-specific WidgetPrivate* m_data. The reasons are: firstly > + to be compliant with other ports, secondly to make code cleaner. I would say that the platformWidget() is a Mac specific implementation detail that they are moving away from with WebKit2. You could also point out that the evasObject is only directly used in the ScrollbarEfl subclass of Widget and not in Widget or ScrollView or any other subclass, thus the evas_object code has now been concentrated in ScrollbarEfl > Source/WebCore/platform/efl/ScrollbarEfl.cpp:98 > + if (!evasObject()) > + return; > > - if (!object) { > - if (!view || !view->evas() || !view->evasObject()) > - return; > + evas_object_show(evasObject()); > +} Do you know if evas_object_show handles 0 pointer?
Mikhail Pozdnyakov
Comment 3 2013-03-11 08:09:59 PDT
Comment on attachment 192226 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=192226&action=review >> Source/WebCore/platform/efl/ScrollbarEfl.cpp:98 >> +} > > Do you know if evas_object_show handles 0 pointer? Think recommended practice is to check pointer before call (http://docs.enlightenment.org/auto/efl/Example_Evas_Images.html)
Mikhail Pozdnyakov
Comment 4 2013-03-11 08:20:54 PDT
Comment on attachment 192226 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=192226&action=review >> Source/WebCore/ChangeLog:10 >> + to be compliant with other ports, secondly to make code cleaner. > > I would say that the platformWidget() is a Mac specific implementation detail that they are moving away from with WebKit2. > > You could also point out that the evasObject is only directly used in the ScrollbarEfl subclass of Widget and not in Widget or ScrollView or any other subclass, thus the evas_object code has now been concentrated in ScrollbarEfl Thanks, I will add it
Mikhail Pozdnyakov
Comment 5 2013-03-11 10:52:04 PDT
Created attachment 192505 [details] patch v2 Fixed comments above.
Build Bot
Comment 6 2013-03-11 14:09:45 PDT
Comment on attachment 192505 [details] patch v2 Attachment 192505 [details] did not pass mac-ews (mac): Output: http://webkit-commit-queue.appspot.com/results/17177291 New failing tests: editing/selection/selection-modify-crash.html
Mikhail Pozdnyakov
Comment 7 2013-03-12 11:22:43 PDT
(In reply to comment #6) > (From update of attachment 192505 [details]) > Attachment 192505 [details] did not pass mac-ews (mac): > Output: http://webkit-commit-queue.appspot.com/results/17177291 > > New failing tests: > editing/selection/selection-modify-crash.html Has to be unrelated as only efl-specific code is touched. Will re-upload patch however to be sure.
Mikhail Pozdnyakov
Comment 8 2013-03-12 11:23:47 PDT
Created attachment 192775 [details] patch v2 Re-uploading to verify EWS
WebKit Review Bot
Comment 9 2013-03-13 06:32:20 PDT
Comment on attachment 192775 [details] patch v2 Clearing flags on attachment: 192775 Committed r145710: <http://trac.webkit.org/changeset/145710>
WebKit Review Bot
Comment 10 2013-03-13 06:32:25 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.