Bug 114514 - Widget should not depend on AXObjectCache
Summary: Widget should not depend on AXObjectCache
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Platform (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 21354
  Show dependency treegraph
 
Reported: 2013-04-12 08:50 PDT by Carlos Garcia Campos
Modified: 2013-04-21 03:06 PDT (History)
10 users (show)

See Also:


Attachments
Patch (8.11 KB, patch)
2013-04-12 08:57 PDT, Carlos Garcia Campos
buildbot: commit-queue-
Details | Formatted Diff | Diff
Updated patch to fix the mac build (7.90 KB, patch)
2013-04-12 09:27 PDT, Carlos Garcia Campos
no flags Details | Formatted Diff | Diff
Updated patch according to chris suggestion (12.95 KB, patch)
2013-04-15 10:30 PDT, Carlos Garcia Campos
buildbot: commit-queue-
Details | Formatted Diff | Diff
Try to fix mac build (18.56 KB, patch)
2013-04-15 11:19 PDT, Carlos Garcia Campos
no flags Details | Formatted Diff | Diff
Another try to fix the mac build (14.91 KB, patch)
2013-04-16 10:01 PDT, Carlos Garcia Campos
buildbot: commit-queue-
Details | Formatted Diff | Diff
Try to fix WebKit2 build (17.97 KB, patch)
2013-04-16 11:18 PDT, Carlos Garcia Campos
cfleizach: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Carlos Garcia Campos 2013-04-12 08:50:42 PDT
It's a layering violation that Widget depends on AXObjectCache.
Comment 1 Carlos Garcia Campos 2013-04-12 08:57:42 PDT
Created attachment 197855 [details]
Patch

I'm not sure the patch is correct, because previously the scrollbars were removed from the cache on destruction, but I think scrollbars were leaked because the AXObject cache holds a reference, and they were only removed by the cache from the destructor.
Comment 2 Build Bot 2013-04-12 09:14:26 PDT
Comment on attachment 197855 [details]
Patch

Attachment 197855 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/76144
Comment 3 Carlos Garcia Campos 2013-04-12 09:19:57 PDT
(In reply to comment #2)
> (From update of attachment 197855 [details])
> Attachment 197855 [details] did not pass mac-wk2-ews (mac-wk2):
> Output: http://webkit-queues.appspot.com/results/76144

Right, maybe we don't even need didAddScrollbar helper function. I'll fix it.
Comment 4 Carlos Garcia Campos 2013-04-12 09:27:34 PDT
Created attachment 197859 [details]
Updated patch to fix the mac build
Comment 5 chris fleizach 2013-04-13 23:33:54 PDT
Comment on attachment 197859 [details]
Updated patch to fix the mac build

View in context: https://bugs.webkit.org/attachment.cgi?id=197859&action=review

> Source/WebCore/page/FrameView.h:488
> +    virtual void didAddVerticalScrollbar(Scrollbar*) OVERRIDE;

Seems like we could make do with just  two methods, something like...

enum { VERTICAL, HORIZONTAL} ScrollbarType;
virtual void addScrollbar(Scrollbar*, ScrollbarType)
virtual void removeScrollbar(Scrollbar*, ScrollbarType)
Comment 6 Carlos Garcia Campos 2013-04-15 10:30:48 PDT
Created attachment 198133 [details]
Updated patch according to chris suggestion
Comment 7 Build Bot 2013-04-15 11:07:02 PDT
Comment on attachment 198133 [details]
Updated patch according to chris suggestion

Attachment 198133 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/119167
Comment 8 Build Bot 2013-04-15 11:17:35 PDT
Comment on attachment 198133 [details]
Updated patch according to chris suggestion

Attachment 198133 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/161165
Comment 9 Carlos Garcia Campos 2013-04-15 11:19:55 PDT
Created attachment 198138 [details]
Try to fix mac build
Comment 10 Build Bot 2013-04-15 11:57:49 PDT
Comment on attachment 198138 [details]
Try to fix mac build

Attachment 198138 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/161173
Comment 11 Build Bot 2013-04-15 12:07:24 PDT
Comment on attachment 198138 [details]
Try to fix mac build

Attachment 198138 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/119177
Comment 12 Carlos Garcia Campos 2013-04-15 12:12:37 PDT
Comment on attachment 198138 [details]
Try to fix mac build

This is the wrong fix, I didn't noticed that what I changed is ScrollAnimator in mac, which api hasn't changed. The problem is with the exported symbols. so, the previous patch is good, just need to update the symbols. I don't know how the exported symbols files work in mac, so I'll need some help with this.
Comment 13 Carlos Garcia Campos 2013-04-16 10:01:33 PDT
Created attachment 198340 [details]
Another try to fix the mac build

Updated the symbols in WebCore.exp.in
Comment 14 Build Bot 2013-04-16 10:48:08 PDT
Comment on attachment 198340 [details]
Another try to fix the mac build

Attachment 198340 [details] did not pass mac-wk2-ews (mac-wk2):
Output: http://webkit-queues.appspot.com/results/171067
Comment 15 Build Bot 2013-04-16 10:56:44 PDT
Comment on attachment 198340 [details]
Another try to fix the mac build

Attachment 198340 [details] did not pass mac-ews (mac):
Output: http://webkit-queues.appspot.com/results/25138
Comment 16 Carlos Garcia Campos 2013-04-16 11:18:02 PDT
Created attachment 198347 [details]
Try to fix WebKit2 build

Forgot to git grep in WebKit2, fix a couple of cases where the old api was used.
Comment 17 Carlos Garcia Campos 2013-04-20 05:55:57 PDT
All green now, could someone review this, please?
Comment 18 Carlos Garcia Campos 2013-04-21 03:06:30 PDT
Committed r148823: <http://trac.webkit.org/changeset/148823>