mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-03-05 00:02:37 +00:00

For launching with an external protocol handler on Windows, we validate a uri before sending it to `ShellExecute`, by converting a string into `PIDL` using `SHParseDisplayName` and extract a string back from PIDL using `IShellFolder::GetDisplayNameOf`. The problem was that if a fragment, a string following a hash mark (#), is always dropped after this validation. This is caused by the intended design of Windows. A proposed fix is to use `CreateUri` for validation, which is used behind `IShellFolder::GetDisplayNameOf`. However, we also keep `SHParseDisplayName` because there are cases where `CreateUri` succeeds while `SHParseDisplayName` fails such as a non-existent `file:` uri and we want to keep the same validation result for those cases. Adding `CreateUri` broke MinGW build because of our toolkit issue. We use dynamic linking for MinGW build in the meantime. This patch adds a new unittest to make sure the new validation logic behaves the same as the old one except the fragment issue. Differential Revision: https://phabricator.services.mozilla.com/D42041 --HG-- extra : moz-landing-system : lando
88 lines
1.6 KiB
INI
88 lines
1.6 KiB
INI
[ShowSSEConfig]
|
|
[TestPrintf]
|
|
[TestAppShellSteadyState]
|
|
[TestAlgorithm]
|
|
[TestArray]
|
|
[TestArrayUtils]
|
|
[TestAtomics]
|
|
[TestBinarySearch]
|
|
[TestBloomFilter]
|
|
[TestBufferList]
|
|
[TestCasting]
|
|
[TestCeilingFloor]
|
|
[TestCheckedInt]
|
|
[TestCountPopulation]
|
|
[TestCountZeroes]
|
|
[TestDefineEnum]
|
|
[TestDoublyLinkedList]
|
|
[TestDllInterceptor]
|
|
skip-if = os != 'win'
|
|
[TestEndian]
|
|
[TestEnumeratedArray]
|
|
[TestEnumSet]
|
|
[TestEnumTypeTraits]
|
|
[TestFastBernoulliTrial]
|
|
[TestFloatingPoint]
|
|
[TestFunctionTypeTraits]
|
|
[TestIntegerPrintfMacros]
|
|
[TestIntegerRange]
|
|
[TestJSONWriter]
|
|
[TestLinkedList]
|
|
[TestMacroArgs]
|
|
[TestMacroForEach]
|
|
[TestMathAlgorithms]
|
|
[TestMaybe]
|
|
[TestNativeNt]
|
|
[TestUriValidation]
|
|
skip-if = os != 'win'
|
|
[TestBaseProfiler]
|
|
[TestNonDereferenceable]
|
|
[TestNotNull]
|
|
[TestParseFTPList]
|
|
[TestPLDHash]
|
|
[TestPair]
|
|
[TestPoisonArea]
|
|
skip-if = os == 'android' # Bug 1147630
|
|
[TestRange]
|
|
[TestRandomNum]
|
|
[TestRefPtr]
|
|
[TestResult]
|
|
[TestRollingMean]
|
|
[TestScopeExit]
|
|
[TestSegmentedVector]
|
|
[TestSHA1]
|
|
[TestSmallPointerArray]
|
|
[TestSaturate]
|
|
[TestSplayTree]
|
|
[TestSPSCQueue]
|
|
[TestSyncRunnable]
|
|
[TestTemplateLib]
|
|
[TestTextUtils]
|
|
[TestThreadSafeWeakPtr]
|
|
[TestTuple]
|
|
[TestTypeTraits]
|
|
[TestTypedEnum]
|
|
[TestUniquePtr]
|
|
[TestUtf8]
|
|
[TestVariant]
|
|
[TestVector]
|
|
[TestVolatileBuffer]
|
|
[TestWeakPtr]
|
|
[TestWrappingOperations]
|
|
[TestXorShift128PlusRNG]
|
|
[buffered_stun_socket_unittest]
|
|
[ice_unittest]
|
|
[test_nr_socket_unittest]
|
|
[jsapi-tests]
|
|
[multi_tcp_socket_unittest]
|
|
[nrappkit_unittest]
|
|
[rlogringbuffer_unittest]
|
|
[runnable_utils_unittest]
|
|
[sctp_unittest]
|
|
[signaling_unittests]
|
|
[signaling_unittests_standalone]
|
|
[simpletokenbucket_unittest]
|
|
[sockettransportservice_unittest]
|
|
[transport_unittests]
|
|
[turn_unittest]
|