Bug 111858 - [EFL] Start using evas object directly in Widget class
Summary: [EFL] Start using evas object directly in Widget class
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit EFL (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Mikhail Pozdnyakov
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-03-08 07:21 PST by Mikhail Pozdnyakov
Modified: 2013-03-13 06:32 PDT (History)
7 users (show)

See Also:


Attachments
patch (12.30 KB, patch)
2013-03-08 07:29 PST, Mikhail Pozdnyakov
no flags Details | Formatted Diff | Diff
patch v2 (12.69 KB, patch)
2013-03-11 10:52 PDT, Mikhail Pozdnyakov
buildbot: commit-queue-
Details | Formatted Diff | Diff
patch v2 (12.69 KB, patch)
2013-03-12 11:23 PDT, Mikhail Pozdnyakov
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Mikhail Pozdnyakov 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.
Comment 1 Mikhail Pozdnyakov 2013-03-08 07:29:50 PST
Created attachment 192226 [details]
patch
Comment 2 Kenneth Rohde Christiansen 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?
Comment 3 Mikhail Pozdnyakov 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)
Comment 4 Mikhail Pozdnyakov 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
Comment 5 Mikhail Pozdnyakov 2013-03-11 10:52:04 PDT
Created attachment 192505 [details]
patch v2

Fixed comments above.
Comment 6 Build Bot 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
Comment 7 Mikhail Pozdnyakov 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.
Comment 8 Mikhail Pozdnyakov 2013-03-12 11:23:47 PDT
Created attachment 192775 [details]
patch v2

Re-uploading to verify EWS
Comment 9 WebKit Review Bot 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>
Comment 10 WebKit Review Bot 2013-03-13 06:32:25 PDT
All reviewed patches have been landed.  Closing bug.