Reduce dependency in Windows 10 Web MIDI backend |
|||
Issue descriptionCurrently the new MIDI backend requires the binary to be linked with RuntimeObject.lib, which in turn introduces dependency to runtime libraries that may not exist on Windows 7 & 8. Eventually we will include both WinMM and WinRT implementations of Web MIDI backend in the same binary for auto or user (by flag) selection at runtime. RuntimeObject.lib is required for the following functions: - WindowsCreateString() - WindowsCreateStringReference() - WindowsDeleteString() - WindowsGetStringRawBuffer() - RoGetActivationFactory() used in Microsoft::WRL::Wrappers::HString, Microsoft::WRL::Wrappers::HStringReference and ABI::Windows::Foundation::GetActivationFactory. A relatively easy workaround is to write the wrapper classes/functions by ourselves and refer to usages in base::win::IsWindows10TabletMode() which loads them at runtime.
,
Aug 31 2016
,
Sep 1 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/7086ca44644de7beee7c5b0d5b6170b816575943 commit 7086ca44644de7beee7c5b0d5b6170b816575943 Author: shaochuan <shaochuan@chromium.org> Date: Thu Sep 01 08:58:44 2016 Remove RuntimeObject.lib dependency in Windows 10 Web MIDI backend Although required by WRL wrappers, linking with RuntimeObject.lib introduces dependency to certain libraries that may not be available on Windows 7. As we will eventually supply both WinMM and WinRT implementations for Web MIDI in the same binary, here we eliminate the dependency by loading required library functions at runtime with Win32 APIs and remove usages of WRL wrappers. BUG= 642602 R=toyoshim@chromium.org Review-Url: https://codereview.chromium.org/2301513002 Cr-Commit-Position: refs/heads/master@{#415915} [modify] https://crrev.com/7086ca44644de7beee7c5b0d5b6170b816575943/media/midi/BUILD.gn [modify] https://crrev.com/7086ca44644de7beee7c5b0d5b6170b816575943/media/midi/midi_manager_winrt.cc
,
Sep 2 2016
|
|||
►
Sign in to add a comment |
|||
Comment 1 by shaochuan@chromium.org
, Aug 31 2016