| 375 | } |
| 376 | |
| 377 | static void decode_uri(std::u16string &uri) |
| 378 | { |
| 379 | auto rule = cef_uri_unescape_rule_t(UU_SPACES |
| 380 | | UU_URL_SPECIAL_CHARS_EXCEPT_PATH_SEPARATORS); |
| 381 | |
| 382 | cef_string_t input{ (char16 *)uri.data(), uri.length(), nullptr }; |
| 383 | CefScopedStr output{ cef_uridecode(&input, true, rule) }; |
| 384 | |
| 385 | uri.assign((char16_t *)output.str, output.length); |
| 386 | } |
| 387 | }; |
| 388 | |
| 389 | struct AssetsSchemeHandlerFactory : CefRefCount<cef_scheme_handler_factory_t> |