Merge Element::ScrollToOptions and DOMWindow::ScrollToOptions.
*** Bug 161643 has been marked as a duplicate of this bug. ***
Created attachment 288739 [details] Patch
Comment on attachment 288739 [details] Patch Sneaky inline!
Comment on attachment 288739 [details] Patch Clearing flags on attachment: 288739 Committed r205887: <http://trac.webkit.org/changeset/205887>
All reviewed patches have been landed. Closing bug.
This change appears to have broken the Windows build: https://build.webkit.org/builders/Apple%20Win%20Release%20%28Build%29/builds/80457
(In reply to comment #6) > This change appears to have broken the Windows build: > > https://build.webkit.org/builders/Apple%20Win%20Release%20%28Build%29/builds/ > 80457 C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\DerivedSources\WebCore\JSElement.cpp(145): error C2766: explicit specialization; 'WTF::Optional<WebCore::ScrollToOptions> WebCore::convertDictionary<WebCore::ScrollToOptions>(JSC::ExecState &,JSC::JSValue)' has already been defined (compiling source file C:\cygwin\home\buildbot\slave\win-release\build\Source\WebCore\DerivedSources.cpp) [C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\Source\WebCore\WebCoreDerivedSources.vcxproj] C:\cygwin\home\buildbot\slave\win-release\build\WebKitBuild\Release\DerivedSources\WebCore\JSDOMWindow.cpp(647): note: see previous definition of 'convertDictionary' (compiling source file C:\cygwin\home\buildbot\slave\win-release\build\Source\WebCore\DerivedSources.cpp) Hmm. The inlining trick did not work on Windows :(
Reverted r205887 for reason: Broke the Windows build Committed r205897: <http://trac.webkit.org/changeset/205897>
Created attachment 288771 [details] Patch
ALWAYS_INLINE does not seem to work on Windows either. Looks like we're going to have to find another way.
Instead of inlining, does wrapping the functions in an anonymous namespace work?
(In reply to comment #11) > Instead of inlining, does wrapping the functions in an anonymous namespace > work? This does not seem to work. I believe the template declaration and its specializations need to be in the same namespace. Error: /Volumes/Data/WebKit/OpenSource/WebKitBuild/Release/DerivedSources/WebCore/JSElement.cpp:116:58: error: no function template matches function template specialization 'convertDictionary' namespace { template<> Optional<Element::ShadowRootInit> convertDictionary<Element::ShadowRootInit>(ExecState& state, JSValue value)
*** This bug has been marked as a duplicate of bug 162912 ***