RESOLVED WONTFIX 44767
[EFL] WebCore depends on symbols from WebKit
https://bugs.webkit.org/show_bug.cgi?id=44767
Summary [EFL] WebCore depends on symbols from WebKit
Lucas De Marchi
Reported 2010-08-27 08:24:41 PDT
Current ContextMenu implementation adds a dependency in WebCore from WebKit. This should not happen since it's WebKit that depends on WebCore.
Attachments
Patch (7.08 KB, patch)
2010-08-27 10:59 PDT, Lucas De Marchi
no flags
Patch (7.08 KB, patch)
2010-08-27 11:14 PDT, Lucas De Marchi
abarth: review-
Lucas De Marchi
Comment 1 2010-08-27 10:59:52 PDT
WebKit Review Bot
Comment 2 2010-08-27 11:02:14 PDT
Attachment 65733 [details] did not pass style-queue: Failed to run "['WebKitTools/Scripts/check-webkit-style']" exit_code: 1 WebKit/efl/ChangeLog:14: Line contains tab character. [whitespace/tab] [5] Total errors found: 1 in 7 files If any of these errors are false positives, please file a bug against check-webkit-style.
Lucas De Marchi
Comment 3 2010-08-27 11:14:17 PDT
Antonio Gomes
Comment 4 2010-08-28 10:30:54 PDT
(In reply to comment #3) > Created an attachment (id=65737) [details] > Patch Looks good. @luiz, could you please informally review that patch? (he is our lord on it currentl :)
Adam Barth
Comment 5 2010-08-31 19:36:44 PDT
Comment on attachment 65737 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=65737&action=prettypatch > WebCore/page/ContextMenuClient.h:60 > +#elif PLATFORM(EFL) > + virtual PlatformMenuDescription createPlatformDescription(ContextMenu*) = 0; > + virtual void freePlatformDescription(PlatformMenuDescription) = 0; > + virtual void appendItem(PlatformMenuDescription, ContextMenuItem&) = 0; > + virtual void show(PlatformMenuDescription menu) = 0; I'm not sure we should have platform specific methods here. I see that Mac does it, but that doesn't mean it's a good pattern.
Kenneth Rohde Christiansen
Comment 6 2010-09-01 00:26:26 PDT
Darin, can you give your comments on this?
Luiz Agostini
Comment 7 2010-09-08 10:58:57 PDT
If ContextMenu was an abstract class, EFL could have its own ContextMenu inherited class implemented in WebKit layer. The ContextMenu instance to be used would need to be provided by one of the clients (maybe ContextMenuClient). Then there would be no layering violations. It would demand a lot of changes in all platforms. Those changes would not be complex but they would be extensive. An other possibility would be to have a new pure abstract class that inherits from ContextMenuClient in WebCore/platform/efl. This new class would have the EFL specific methods (createPlatformDescription, freePlatformDescription, appendItem and show) and could be used by ContextMenu with no layering violations (am I right?). ContextMenuClientEfl would then inherit from this new class instead of ContextMenuClient.
Lucas De Marchi
Comment 8 2010-12-14 05:19:03 PST
After the refactoring on context menu in WebCore, this is not needed anymore. Instead, EFL port must fix its implementation to adhere to the new API.
Note You need to log in before you can comment on or make changes to this bug.