RESOLVED FIXED 72195
[chromium] Expose mock scrollbars to window.internals
https://bugs.webkit.org/show_bug.cgi?id=72195
Summary [chromium] Expose mock scrollbars to window.internals
Adrienne Walker
Reported 2011-11-11 16:16:07 PST
[chromium] Expose mock scrollbars to window.internals
Attachments
Patch (12.38 KB, patch)
2011-11-11 16:20 PST, Adrienne Walker
no flags
Now with more exports (15.68 KB, patch)
2011-11-11 18:39 PST, Adrienne Walker
no flags
Patch (16.37 KB, patch)
2011-11-12 12:40 PST, Adrienne Walker
no flags
Fourth try's a charm (18.42 KB, patch)
2011-11-13 10:34 PST, Adrienne Walker
no flags
Oops. Don't export the wrong symbol from WebKit2.def, causing a linker error in WebKit.dll (15.76 KB, patch)
2011-11-15 09:40 PST, Adrienne Walker
no flags
Rebaselined (15.00 KB, patch)
2011-11-15 09:48 PST, Adrienne Walker
jamesr: review+
Adrienne Walker
Comment 1 2011-11-11 16:20:28 PST
WebKit Review Bot
Comment 2 2011-11-11 16:22:40 PST
Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.
Adrienne Walker
Comment 3 2011-11-11 16:23:45 PST
I realize that some ports set mock scrollbars on all the time, but I felt like exposing a per-test setting seemed more flexible. I'm hoping this patch will alleviate some of our scrollbar pixel difference woes.
Gustavo Noronha (kov)
Comment 4 2011-11-11 17:44:35 PST
Adrienne Walker
Comment 5 2011-11-11 18:39:07 PST
Created attachment 114810 [details] Now with more exports
Gustavo Noronha (kov)
Comment 6 2011-11-11 19:11:36 PST
Comment on attachment 114810 [details] Now with more exports Attachment 114810 [details] did not pass gtk-ews (gtk): Output: http://queues.webkit.org/results/10350700
Adrienne Walker
Comment 7 2011-11-12 12:40:17 PST
Adrienne Walker
Comment 8 2011-11-13 10:34:47 PST
Created attachment 114860 [details] Fourth try's a charm
Adrienne Walker
Comment 9 2011-11-13 19:17:15 PST
(In reply to comment #8) > Created an attachment (id=114860) [details] > Fourth try's a charm This link error really makes no sense. Why is WebKit.dll referencing Internals.h? Shouldn't that be contained within WebCoreTestSupport? 11> Creating library C:\cygwin\home\buildbot\Webkit\WebKitBuild\Debug\lib\WebKit.lib and object C:\cygwin\home\buildbot\Webkit\WebKitBuild\Debug\lib\WebKit.exp 11>WebKit.exp : error LNK2001: unresolved external symbol "public: void __thiscall WebCore::Internals::setMockScrollbarsEnabled(class WebCore::Document *,bool,int &)" (?setMockScrollbarsEnabled@Internals@WebCore@@QAEXPAVDocument@2@_NAAH@Z)
Darin Fisher (:fishd, Google)
Comment 10 2011-11-14 14:37:31 PST
Comment on attachment 114860 [details] Fourth try's a charm View in context: https://bugs.webkit.org/attachment.cgi?id=114860&action=review > Source/WebKit/chromium/public/WebSettings.h:107 > + virtual void setMockScrollbarsEnabled(bool) = 0; Chromium WebKit API changes LGTM
Adam Roben (:aroben)
Comment 11 2011-11-15 09:16:47 PST
(In reply to comment #9) > (In reply to comment #8) > > Created an attachment (id=114860) [details] [details] > > Fourth try's a charm > > This link error really makes no sense. Why is WebKit.dll referencing Internals.h? Shouldn't that be contained within WebCoreTestSupport? WebCoreTestSupport is a static library that is linked into DRT and WTR and calls various WebCore functions. WebCore (on Windows) is a static library that is linked into WebKit.dll. For DRT/WTR to be able to call WebCore functions (via WebCoreTestSupport), those functions need to be exported from WebKit.dll. You can fix your linker error by adding the appropriate mangled symbols to WebKit2.def. You can see there are already multiple Internals-related functions listed there toward the bottom.
Adrienne Walker
Comment 12 2011-11-15 09:40:14 PST
Created attachment 115179 [details] Oops. Don't export the wrong symbol from WebKit2.def, causing a linker error in WebKit.dll
Adrienne Walker
Comment 13 2011-11-15 09:43:03 PST
(In reply to comment #11) > (In reply to comment #9) > > (In reply to comment #8) > > > Created an attachment (id=114860) [details] [details] [details] > > > Fourth try's a charm > > > > This link error really makes no sense. Why is WebKit.dll referencing Internals.h? Shouldn't that be contained within WebCoreTestSupport? > > WebCoreTestSupport is a static library that is linked into DRT and WTR and calls various WebCore functions. WebCore (on Windows) is a static library that is linked into WebKit.dll. > > For DRT/WTR to be able to call WebCore functions (via WebCoreTestSupport), those functions need to be exported from WebKit.dll. > > You can fix your linker error by adding the appropriate mangled symbols to WebKit2.def. You can see there are already multiple Internals-related functions listed there toward the bottom. Thanks for all the info and explanation. :) I think I see what happened. I copied and pasted the wrong symbol (the caller, not the callee) into WebKit2.def, so WebKit.dll expected that function to exist when it was building. Oops.
Adrienne Walker
Comment 14 2011-11-15 09:48:14 PST
Created attachment 115182 [details] Rebaselined
James Robinson
Comment 15 2011-11-16 13:47:46 PST
Comment on attachment 115182 [details] Rebaselined R=me
Adrienne Walker
Comment 16 2011-11-16 18:09:39 PST
Note You need to log in before you can comment on or make changes to this bug.