Nathan Adams
a9db2584c8
web: Make loadRuffle take in BaseLoadOptions, it doesn't need more complex than that
2023-10-20 20:05:02 +02:00
Crowdin Bot
e6f9796094
chore: Update translations from Crowdin
2023-10-17 23:31:22 +02:00
renovate[bot]
b427940431
fix(deps): update rust dependencies
2023-10-16 09:51:22 +02:00
Crowdin Bot
0127c98fdf
chore: Update translations from Crowdin
2023-10-15 19:17:00 +02:00
Nathan Adams
5e3bd488f1
web: Make jpegxr optional on web but enabled by default by CI
2023-10-15 18:06:15 +02:00
Nathan Adams
ec21ad8658
core: Add default_font feature which enables the fallback font
2023-10-15 14:09:21 +02:00
Nathan Adams
74a7ab5afe
core: Implement device font lookup, and multiple default device fonts
2023-10-15 14:09:21 +02:00
sleepycatcoding
c170c8561b
web: rudimentary documentation for JS API
2023-10-15 12:00:41 +02:00
sleepycatcoding
1bfcc0a670
web: Rename wsProxy config option to socketProxy
2023-10-15 12:00:41 +02:00
sleepycatcoding
d3765027f0
web: Use gloo_net instead of manually using web_sys
...
This relieves some headaches with on connect callback and spawning of the
sending async task, since some SWFs like to send data before the connect event
is called.
2023-10-15 12:00:41 +02:00
sleepycatcoding
a067e9a5e8
web: Add wsProxy config option
2023-10-15 12:00:41 +02:00
sleepycatcoding
e2cfdcc2e1
web: Close WebSocket if receiver dropped
2023-10-15 12:00:41 +02:00
sleepycatcoding
5406b9f95e
web: Experimental WebSocket based backend for Sockets
...
This is currently untested.
2023-10-15 12:00:41 +02:00
Crowdin Bot
ff2814c84f
chore: Update translations from Crowdin
2023-10-12 23:13:54 +02:00
Crowdin Bot
2422793d1b
chore: Update translations from Crowdin
2023-10-11 13:29:12 -04:00
Crowdin Bot
13b50fecb5
chore: Update translations from Crowdin
2023-10-09 23:10:41 +02:00
Crowdin Bot
3dc75f7ab8
chore: Update translations from Crowdin
2023-10-07 23:37:34 +02:00
Crowdin Bot
53babdd675
chore: Update translations from Crowdin
2023-10-05 23:09:23 +02:00
Adrian Wielgosik
c5704ed819
Revert "web: As appropriate use embed height mentioned in Mozilla bug 810082 c65"
...
This reverts commit b6d0e2ecce
.
2023-10-05 00:50:22 +02:00
Adrian Wielgosik
112b442ad6
Revert "web: Add comment about when a default height of 200px is used"
...
This reverts commit 48c7c52aa2
.
2023-10-05 00:50:22 +02:00
dependabot[bot]
4f4f871cfa
build(deps-dev): bump postcss from 8.4.27 to 8.4.31 in /web
...
Bumps [postcss](https://github.com/postcss/postcss ) from 8.4.27 to 8.4.31.
- [Release notes](https://github.com/postcss/postcss/releases )
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md )
- [Commits](https://github.com/postcss/postcss/compare/8.4.27...8.4.31 )
---
updated-dependencies:
- dependency-name: postcss
dependency-type: indirect
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-10-03 23:25:59 +02:00
Crowdin Bot
965b42fd3c
chore: Update translations from Crowdin
2023-10-03 23:07:54 +02:00
Daniel Jacobs
48c7c52aa2
web: Add comment about when a default height of 200px is used
2023-10-03 20:14:42 +02:00
Daniel Jacobs
b6d0e2ecce
web: As appropriate use embed height mentioned in Mozilla bug 810082 c65
2023-10-03 20:14:42 +02:00
Crowdin Bot
1886a5d434
chore: Update translations from Crowdin
2023-10-02 23:16:26 +02:00
Daniel Jacobs
1d3728e7ed
i18n: Localize hardware accelerartion information
2023-10-02 14:21:57 -04:00
Daniel Jacobs
0158511a8e
web: Display a pop-up about hardware acceleration when it's disabled
2023-10-02 14:21:57 -04:00
renovate[bot]
e8da6159e4
chore(deps): update dependency chromedriver to v117
2023-10-02 13:13:07 +02:00
renovate[bot]
030e9270c5
chore(deps): update node.js dependencies
2023-10-02 13:02:30 +02:00
Crowdin Bot
58b18e282b
chore: Update translations from Crowdin
2023-10-02 00:57:34 +02:00
sleepycatcoding
f140e7a14b
core: Place jpegxr texture support behind feature flag ( #13348 )
2023-09-29 18:46:54 -04:00
Crowdin Bot
bd67a5845b
chore: Update translations from Crowdin
2023-09-24 12:13:31 +02:00
Crowdin Bot
5b9806bdb3
chore: Update translations from Crowdin
2023-09-19 23:41:23 +02:00
Daniel Jacobs
a768399612
web: Only re-run polyfill when embed or object added to DOM
2023-09-19 20:49:27 +02:00
Daniel Jacobs
65d1ba4803
web: Switch from deprecated rules property to preferred cssRules
2023-09-18 21:28:27 +02:00
Daniel Jacobs
c1f53b3253
web: Fix deletion order of dynamicStyles rules
2023-09-18 21:28:27 +02:00
Crowdin Bot
695c2ff9f5
chore: Update translations from Crowdin
2023-09-18 00:03:15 +02:00
renovate[bot]
37e2c06034
fix(deps): update rust dependencies
2023-09-18 00:00:45 +02:00
Crowdin Bot
7f416f85a8
chore: Update translations from Crowdin
2023-09-14 23:50:25 +02:00
Daniel Jacobs
33eb739ee6
web: Add width, height, and type to RufflePlayer ( fix #13176 )
2023-09-14 23:49:31 +02:00
Daniel Jacobs
d6bc408286
web: Don't show context menu when any modal is open ( fix #13096 )
2023-09-08 20:26:18 +02:00
Kornelius Rohrschneider
53ba75d587
Move logarithmic volume transformation to AudioMixer
...
Previously, the volume transformation to adapt the volume for
logarithmic hearing has been performed in the VolumeControls Rust struct
and TypeScript class each.
Since this calculation is the same on desktop and web and should be
implemented in the audio backend, it has been moved into the
AudioMixer::mix_audio method.
The VolumeControls struct and class now only calculate the linear volume
out of the checkbox and the slider.
Player::set_volume and Player::volume now don't take and return the
adapted volume, but use the linear volume (which gets saved internally).
2023-09-07 00:51:58 +02:00
Kornelius Rohrschneider
f04470247e
web: Add web volume controls
...
The web version of Ruffle now has a volume controls window. It can be
accessed through the right-click menu (Right-click > Volume controls).
It contains a mute button and a slider from 0 to 100.
To achieve this, a new volume controls modal has been added to the
shadow template.
TypeScript is used to create texts, set the controls and add event
listeners to update the settings and controls when being changed.
The volume settings set in the GUI are saved in a new VolumeControls
class, which is also used to calculate the real volume (adapted for
logarithmic hearing) out of the entered volume and the mute checkbox.
As soon as the volume is changed in the GUI, the real volume will be set
in the Ruffle instance.
The existing ftl files have been adapted (and new ones have been
created) to include the new multilingual text in the right-click menu
and the volume controls window.
This closes #1771 .
2023-09-07 00:51:58 +02:00
Crowdin Bot
d195da59af
chore: Update translations from Crowdin
2023-09-06 23:55:17 +02:00
Crowdin Bot
654799b1a9
chore: Update translations from Crowdin
2023-09-06 12:22:24 +02:00
renovate[bot]
dabc2d56b9
fix(deps): update rust dependencies
2023-09-04 10:25:24 +02:00
Crowdin Bot
2996f97578
chore: Update translations from Crowdin
2023-09-02 15:43:08 +02:00
renovate[bot]
d14550e851
chore(deps): update node.js dependencies
2023-09-02 15:19:06 +02:00
renovate[bot]
cbd0c89f9b
chore(deps): update npm to v10
2023-09-02 15:10:07 +02:00
Crowdin Bot
cf9171cb78
chore: Update translations from Crowdin
2023-08-31 00:13:04 +02:00
renovate[bot]
4e75c3890a
fix(deps): update rust dependencies
2023-08-28 07:39:35 +02:00
Crowdin Bot
378b415a3b
chore: Update translations from Crowdin
2023-08-26 23:27:47 +02:00
Daniel Jacobs
18e89f6132
web: Remove all occurences of innerHTML (except in test files) ( #12937 )
...
* web: Remove most occurences of innerHTML
* web: Use helper methods for shadow template element creation
* web: Refactor createErrorFooter function
* web: Shadow template code cleanup
* web: Add helper function to add CSS rules to shadow template
---------
Co-authored-by: nosamu <71368227+n0samu@users.noreply.github.com>
2023-08-26 22:51:16 +03:00
nosamu
11a17dfb4e
extension: Don't show CORS error on internal player page
...
The player page is not restricted by CORS
2023-08-26 11:33:56 +02:00
nosamu
3df6e13848
extension: Fix HTML structure of 'open in new tab' message
2023-08-26 11:33:56 +02:00
nosamu
7838d4549b
web: Don't try to enter fullscreen if already in fullscreen & vice versa
...
Fixes #9615
2023-08-26 11:09:02 +03:00
nosamu
b456296769
extension: Persist content script registration across sessions
2023-08-26 01:21:07 +02:00
Crowdin Bot
07c236df5b
chore: Update translations from Crowdin
2023-08-26 00:27:56 +02:00
nosamu
3920eb90cd
extension: Register listeners synchronously at top level of service worker
2023-08-25 23:56:52 +02:00
Crowdin Bot
3ccda582e1
chore: Update translations from Crowdin
2023-08-25 11:50:24 +02:00
Crowdin Bot
1b03ce9ae6
chore: Update translations from Crowdin
2023-08-23 23:59:54 +02:00
David Wendt
7158039135
audio: Audio streamed from FLVs do not have the SWF MP3 header
2023-08-23 15:36:20 -06:00
Crowdin Bot
d55cc23f55
chore: Update translations from Crowdin
2023-08-22 23:06:46 +02:00
Daniel Jacobs
acc315ebfb
extension: Fix check for scripting permission
2023-08-22 22:47:28 +02:00
Daniel Jacobs
eef65da345
extension: Remove unnecessary lambda functions
2023-08-22 22:17:18 +02:00
Nathan Adams
9d05a37f34
web: Make open-in-new-tab open the local player directly, and disable takeover of all SWF urls
2023-08-22 19:35:05 +02:00
Daniel Jacobs
ba52438c27
extension: Fix-ups for extension player page
2023-08-22 17:50:37 +02:00
Crowdin Bot
3de4b4e989
chore: Update translations from Crowdin
2023-08-21 23:09:03 +02:00
renovate[bot]
2f4c7d2fe3
fix(deps): update rust dependencies
2023-08-21 08:59:07 +02:00
Daniel Jacobs
1a28f83229
extension: Address review feedback
2023-08-20 19:51:14 +02:00
Nathan Adams
d5fa0f56ea
web: Make loadedConfig private again, add reload() method instead
2023-08-20 19:51:14 +02:00
Daniel Jacobs
e7df6d890e
extension: Make the player page a local Ruffle demo
2023-08-20 19:51:14 +02:00
renovate[bot]
98eb789f21
chore(deps): update node.js dependencies
2023-08-19 14:37:36 +02:00
Nathan Adams
cdaf06838c
web: Add short_name for extension
2023-08-19 10:02:53 +02:00
Nathan Adams
d21520a4c7
web: Rename extension to 'Ruffle - Flash Emulator', to increase visibility for everyone searching for 'Flash'
2023-08-19 01:11:25 +02:00
Nathan Adams
9328caa713
web: Remove webRequest permission from chrome extension
2023-08-17 08:51:57 +02:00
Crowdin Bot
cad8e10f30
chore: Update translations from Crowdin
2023-08-15 00:28:29 +02:00
Nathan Adams
ee8da51c6b
web: Use 'chrome?.scripting' to test for direct vs indirect pluginPolyfill pmethod, as firefox pretends to be chrome here
2023-08-14 21:21:20 +02:00
Nathan Adams
49d0d417c2
web: Make firefox also use the hash for player.html swf url
2023-08-14 21:21:20 +02:00
Nathan Adams
2f9387f1ac
web: Inject plugin polyfill immediately, on chrome/edge
2023-08-14 21:21:20 +02:00
Nathan Adams
7533923f9b
web: Remove check for RufflePlayer in content.ts - it can't possibly ever be true
2023-08-14 21:21:20 +02:00
Nathan Adams
1ec12f0931
web: Inject polyfill via url instead of inline, on chrome/edge
2023-08-14 21:21:20 +02:00
Nathan Adams
71000dd19a
web: When using manifest v3, do swf takeover using declarativeNetRequest
2023-08-14 21:21:20 +02:00
Nathan Adams
92ea9a535d
web: Change manifest v3 background script to a service worker
2023-08-14 21:21:20 +02:00
Nathan Adams
5847772b58
web: Apply 'incognito' directly to the v3 manifest, instead of in a script
2023-08-14 21:21:20 +02:00
Nathan Adams
c3b486f19b
web: Apply 'wasm-unsafe-eval' directly to the v3 manifest, instead of in a script (and renamed from 'wasm-eval')
2023-08-14 21:21:20 +02:00
Nathan Adams
8b3ea305a5
web: Changed web_accessible_resources to an object in manifest v3
2023-08-14 21:21:20 +02:00
Nathan Adams
9ddf9b9621
web: Extract "all_urls" in manifest v3 to "host_permissions" from "permissions"
2023-08-14 21:21:20 +02:00
Nathan Adams
54be7ffacd
web: Changed manifest v3 content_security_policy to an object containing extension_pages
2023-08-14 21:21:20 +02:00
Nathan Adams
22601514bc
web: Rename manifest v3 browser_action to action, and removed browser_style as it's no longer an option
2023-08-14 21:21:20 +02:00
Nathan Adams
353193b3e4
web: Split manifest into firefox vs other
2023-08-14 21:21:20 +02:00
Nathan Adams
283a0694de
web: Remove ruffle extension detection plugin
2023-08-14 20:51:11 +02:00
Crowdin Bot
70b43fc2ff
chore: Update translations from Crowdin
2023-08-12 01:36:46 +02:00
Tom Schuster
0a55c04eaf
web: Include the version in the new ruffle instance console message
2023-08-12 01:13:59 +02:00
Crowdin Bot
8e1632ab22
chore: Update translations from Crowdin
2023-08-11 10:23:54 +02:00
nosamu
5936de03e7
extension: Add exclusions for Tuxedo Computers and Taobao
...
Problems reported in #11906 and in a Chrome Web Store review
2023-08-09 08:34:59 +02:00
Crowdin Bot
205ef09cc6
chore: Update translations from Crowdin
2023-08-08 23:49:31 +02:00
renovate[bot]
a4b179e1e0
chore(deps): lock file maintenance rust dependencies
2023-08-08 23:19:16 +02:00
Nathan Adams
9125d30e76
web: Don't store the full semver version as the version name, just construct it when needed
2023-08-08 14:33:49 -06:00
Daniel Jacobs
c5aa5189e7
extension: Allow video to load from any source in internal player page
2023-08-07 14:31:33 -06:00
Daniel Jacobs
91c2d0efa4
web: Create modal to hold unsupported videos
2023-08-07 14:31:33 -06:00
Daniel Jacobs
dbb5e381f2
core/desktop/web: Play unsupported videos with browser
2023-08-07 14:31:33 -06:00
TÖRÖK Attila
ddc290ddf9
chore: Appease prettier.
2023-08-07 09:22:58 +03:00
renovate[bot]
863ce90d9d
chore(deps): bump node.js dependencies
2023-08-07 09:22:58 +03:00
Nathan Adams
44623bf28f
web: Remove extension specific code in polyfill, doesn't need to exist now
2023-08-06 23:55:39 +02:00
Nathan Adams
7a39dc9176
web: Add build date as part of version buildinfo
2023-08-06 23:55:39 +02:00
Nathan Adams
64d951099d
web: Compare build ident if all else fails, when finding best versions
2023-08-06 23:55:39 +02:00
Nathan Adams
ee1e8ec267
web: Extension shouldn't set options that are default
2023-08-06 23:55:39 +02:00
Nathan Adams
4f4dbc7973
web: Fix PublicAPI superseding, it previously always thought 'the latest ran' should replace the older version
2023-08-06 23:55:39 +02:00
Nathan Adams
c074047551
chore: Add .idea to gitignore
2023-08-06 17:37:41 +02:00
Adrian Wielgosik
c41d7d56f0
build: Reduce disk use of reproducible docker builds
2023-08-05 12:07:59 +02:00
Crowdin Bot
98c286e997
chore: Update translations from Crowdin
2023-08-04 17:18:58 +02:00
renovate[bot]
477ff400a7
chore(deps): lock file maintenance rust dependencies
2023-08-02 13:36:13 +02:00
renovate[bot]
7026adb366
chore(deps): update dependency chromedriver to v115
2023-08-01 20:41:34 +03:00
sleepycatcoding
7acc25d319
web: Update socket stub
2023-07-31 22:32:03 +02:00
Oleksandr Kalko
2c4bd5c5c7
chore: Run `npm update --save`
2023-07-30 21:12:47 +00:00
Crowdin Bot
280de7cd61
chore: Update translations from Crowdin
2023-07-27 16:39:17 +02:00
Nathan Adams
35234dccec
web: Ensure we set ourselves as the FSCommand provider
2023-07-26 17:00:15 +02:00
Nathan Adams
1a0a82d898
core: Move fscommand execution outside of ExternalInterfaceProvider, so it can be implemented without causing ExternalInterface.available to become true
2023-07-26 17:00:15 +02:00
renovate[bot]
3326aef6a8
chore(deps): lock file maintenance node.js dependencies
2023-07-25 17:42:46 +02:00
renovate[bot]
3e63a88c34
chore(deps): lock file maintenance rust dependencies
2023-07-25 08:23:28 +03:00
sleepycatcoding
75672ae998
web, tests: Update connect_socket stubs
2023-07-23 09:13:01 +02:00
sleepycatcoding
ed22a7a23b
web, tests: remove Option for connection timeout
2023-07-23 09:13:01 +02:00
sleepycatcoding
486c0ca149
web, tests: Ignore timeout parameter
2023-07-23 09:13:01 +02:00
sleepycatcoding
0699c34881
chore: Fmt
2023-07-23 09:13:01 +02:00
sleepycatcoding
e59dd9a8ef
web, tests: fix connect_socket stubs
2023-07-23 09:13:01 +02:00
sleepycatcoding
ff1a9bb083
web: Stub connect_socket()
2023-07-23 09:13:01 +02:00
Nathan Adams
e610c9a9ce
web: Readd warnOnUnsupportedContent for backwards compatibility, but mark it deprecated and unused
2023-07-22 23:08:42 +02:00
Nathan Adams
586c3bebf6
core: Remove unsupported content warning
2023-07-22 23:08:42 +02:00
Daniel Jacobs
46a726efc6
chore: formatting
2023-07-21 23:34:43 +02:00
Daniel Jacobs
e99d7f63dc
extension: Don't throw error when Firefox add-on is in review
2023-07-21 23:34:43 +02:00
Nathan Adams
3447b8bfdd
chore: npm run format
2023-07-20 14:00:04 +02:00
renovate[bot]
0cbfda22db
chore(deps): update node.js dependencies
2023-07-20 14:00:04 +02:00
Crowdin Bot
b2afcbaf3e
chore: Update translations from Crowdin
2023-07-20 13:41:04 +02:00
Daniel Jacobs
affff425c5
web: Fix typo in build_wasm.js
2023-07-19 11:37:15 -04:00
Kornelius Rohrschneider
a0d0b8e638
core: Refactor & improve NavigatorBackend implementations
...
All NavigatorBackend implementations have been refactored, resulting in
improved code quality, less duplicated code, more consistent and easier
to understand procedures, additional error handling and better error
messages.
A resolve_url method has been added to the NavigatorBackend trait. It
takes a URL and and resolves it to the actual URL from which a file can
be fetched (including handling of relative links and pre-processing). It
has been implemented in each NavigatorBackend implementation.
Duplicated code has been put into new public functions in
core/src/backend/navigator.rs which are called by all NavigatorBackend
implementations.
ExternalNavigatorBackend:
- The navigate_to_url and fetch methods have been adapted to use
resolve_url, removing redundant code.
- Error handling has been added in case that the URL can't be converted
to a PathBuf.
- A TODO about differences between the flash player fetch and the
Ruffle fetch implementation has been added.
WebNavigatorBackend:
- The previous resolve_url method exclusively to the WebNavigatorBackend
has been replaced by the new resolve_url method. It is used by
navigate_to_url and fetch.
- resolve_url now always pre-processes the URL if it's valid (even if no
base_url exists) and explicitly returns whether the URL can be parsed.
- navigate_to_url now traces an explanatory error each if the URL can't
be parsed or is local.
- fetch now returns an explanatory error each if the URL can't be parsed
or is local (previously, a vague "Got JS error" has been returned).
TestNavigatorBackend & NullNavigatorBackend:
- fetch pre-processes the URL now (using the resolve_url implementation).
- If the URL isn't local, an explanatory error is returned (previously,
it was just an "Invalid URL" error).
- If the URL can't be parsed, an explanatory error with the reason is
returned (previously, it was just an "Invalid URL" error).
Additionally, error messages in all NavigatorBackend implementations
have been improved and made more consistent, e.g. if a local file can't
be read.
2023-07-17 00:08:02 +02:00
Kornelius Rohrschneider
687c0e7516
core: Complete MovieClip error state & Change uncompressed_len to i32
...
Previously, the MovieClip error state contained one TODO in order to be
completely implemented: The HeaderExt variable uncompressed_len needs to
be -1 in the error state, but its type has been u32.
The type has now been changed to i32, and the variable is set to -1 in
the default_error_header function. Therefore, the MovieClip error state
is now fully implemented.
Other connected functions and variables like SwfMovie::uncompressed_len
or MovieClip::total_bytes have been adjusted to this type change. Code
has been adjusted if needed where this value is used.
2023-07-17 00:08:02 +02:00
Kornelius Rohrschneider
893052c2a6
core: Add MovieClip error state
...
A load_error_swf function has been added to the Loader. It makes the
MovieClip enter the error state in which some attributes have certain
error values to signal that no valid file could be loaded. This happens
if no file could be loaded or if the loaded content is no valid
supported content.
The function creates an error state movie stub using the new
SwfMovie::error_movie function (which uses a new default_error_header
function) and configures remaining variables with the
movie_not_available method.
One TODO in order for the error state to be completely implemented has
been added.
Since the error state of the MovieClip includes the final URL of the SWF
file obtained after any redirects, the load_error_swf and
movie_loader_error functions (now) take an swf_url attribute.
To get this URL in case no file could be loaded, the
NavigatorBackend::fetch method has been changed to return an
ErrorResponse struct (including the url and the actual error) in the
error case. The Response struct returned in the success case has been
renamed to SuccessResponse.
All fetch implementations have been adapted accordingly. Code has been
adjusted to return the actual error where that's needed.
Documentation has been added and improved.
2023-07-17 00:08:02 +02:00
Nathan Adams
34c0d41fca
web: Remove no longer needed depencency 'shx'
2023-07-15 23:48:04 +02:00
Nathan Adams
be48ff357f
web: Add build_wasm.js script to replace chained npm scripts
2023-07-15 23:48:04 +02:00
nosamu
48e37914cf
web: Make isTouch indicate the source of the last PointerEvent
...
This allows the behavior of the context menu to change depending
on whether it was triggered by a touch or right-click.
2023-07-15 19:14:13 +02:00
nosamu
e7689ac883
Revert "web: Make isTouch locally scoped to showContextMenu"
...
This completely broke touch detection
2023-07-15 19:14:13 +02:00
renovate[bot]
f0607d6a1f
chore(deps): lock file maintenance rust dependencies
2023-07-11 22:42:51 +02:00
dependabot[bot]
fe4b02fe2a
build(deps-dev): bump stylelint from 15.9.0 to 15.10.1 in /web
...
Bumps [stylelint](https://github.com/stylelint/stylelint ) from 15.9.0 to 15.10.1.
- [Release notes](https://github.com/stylelint/stylelint/releases )
- [Changelog](https://github.com/stylelint/stylelint/blob/main/CHANGELOG.md )
- [Commits](https://github.com/stylelint/stylelint/compare/15.9.0...15.10.1 )
---
updated-dependencies:
- dependency-name: stylelint
dependency-type: direct:development
...
Signed-off-by: dependabot[bot] <support@github.com>
2023-07-10 08:28:22 +02:00
Aaron Hill
009fab1889
core: Expose `LoaderInfo.parameters` and fix other properties
...
When using a 'Loader', properties on the 'contentLoaderInfo' become
set during specific events in the load sequence. In particular,
'LoaderInfo.bytesTotal' becomes available during the first 'progress'
event.
Also, 'LoaderInfo.parameters' is now properly set from the URL query
parameters. In Flash player, this work even with filesystem urls
(e.g. 'file:///some/path/to/file.txt?paramOne=valOne' will load
a file named 'file.txt', setting and expose the parameter 'paramOne'
with value 'valOne' in `LoaderInfo.parameters`). This required some
cleanup to the desktop and test NavigatorBackend impls to strip
out query parameters when loading a parameter from disk.
Previously, we would set `SwfMovie.parameters` manually from the url.
Now, the various `SwfMovie` constructors automatically extract
query parameters from the provided url. Outside of `SwfMovie`,
we only append *extra* parameters (e.g. those set from `flashvars`).
This makes CPMStar ads work, since the loaded SWF needs to access
`LoaderInfo.parameters`
2023-07-05 19:47:16 -04:00
Aaron Hill
3401971729
web: Use Rc, Cell, and RefCell for non-thread-safe types
2023-07-04 20:50:46 +02:00
TÖRÖK Attila
0fe8469d24
chore: Run `npm update --save` in `web`
...
Also `npm install` to make sure `package-lock.json` is clean.
2023-07-02 13:55:24 +02:00
Crowdin Bot
80588d614d
chore: Update translations from Crowdin
2023-07-02 11:41:18 +02:00
renovate[bot]
898b2c8948
chore(deps): lock file maintenance node.js dependencies
2023-07-01 12:20:10 +03:00
Crowdin Bot
29a5c6a4cd
chore: Update translations from Crowdin
2023-07-01 00:47:31 +02:00
Crowdin Bot
1430e98851
chore: Update translations from Crowdin
2023-06-28 23:19:47 +02:00
relrelb
f4c9142399
web: Assign `isExtension` only if `currentScriptURL` is available
2023-06-25 08:09:24 +03:00
relrelb
e4bb8a60fa
web: Don't report extension URL on error
2023-06-25 08:09:24 +03:00
Crowdin Bot
9e066bc14f
chore: Update translations from Crowdin
2023-06-24 19:58:34 +02:00
Daniel Jacobs
9a093d20be
web: Don't auto-panic on browsers without ReadableStream ( #11699 )
...
* web: Don't auto-panic on browsers without ReadableStream
* web: Add comment explaining Pale Moon issue
* web: Simplify ReadableStream check
2023-06-24 15:10:19 +00:00
Crowdin Bot
b1149cd267
chore: Update translations from Crowdin
2023-06-23 11:49:47 +02:00
nosamu
58780b3a4e
extension: Ignore publicPath config
2023-06-23 09:05:37 +03:00
nosamu
99ed30f6e7
web: Set isExtension var using current script URL
2023-06-23 09:05:37 +03:00
Crowdin Bot
67a5a2923f
chore: Update translations from Crowdin
2023-06-20 23:52:03 +02:00
nosamu
700f765f91
web: Use for..of instead of for..in loops
2023-06-18 22:09:20 +02:00
Toad06
31bb117325
web: Allow setting `allowScriptAccess` on global config
2023-06-18 08:18:52 +03:00
Crowdin Bot
73482c6e72
chore: Update translations from Crowdin
2023-06-18 01:02:34 +02:00
Crowdin Bot
ca549e482c
chore: Update translations from Crowdin
2023-06-17 19:25:33 +02:00
Toad06
5e6366d14a
web: Disabling `allowScriptAccess` also prevents opening URLs in the same tab
2023-06-16 18:49:04 +03:00
renovate[bot]
f33b9eea3c
chore(deps): lock file maintenance node.js dependencies
2023-06-16 01:03:29 +03:00
Nathan Adams
23352db39f
chore: Update wasm-bindgen from 0.2.86 -> 0.2.87
2023-06-15 20:50:04 +02:00
renovate[bot]
fc933f485f
fix(deps): update wasm-bindgen
2023-06-15 20:50:04 +02:00
renovate[bot]
23d7e8e5ab
chore(deps): update dependency chromedriver to v114
2023-06-15 20:09:03 +02:00
Crowdin Bot
56a87dec50
chore: Update translations from Crowdin
2023-06-15 13:10:16 +02:00
Aaron Hill
cd2c7f6f2f
tests: Enable tracing_subscriber in tests
...
Previously, we weren't displaying any Ruffle logs when running tests.
2023-06-14 17:15:31 -05:00
nosamu
202fe2f1bb
core: Add options to set and force the stage alignment
2023-06-14 16:04:14 +02:00
Daniel Jacobs
0c1cd6aa4f
selfhosted: Add a config option to enable Ruffle even on Flash browsers
2023-06-14 14:31:44 +02:00
Daniel Jacobs
a666d35161
web: Stop error if Fetch response lacks headers
2023-06-13 08:52:58 +03:00
Crowdin Bot
834297f110
chore: Update translations from Crowdin
2023-06-12 12:28:05 +02:00
AllinolCP
44ff49aa53
core: Fix status code implementation for AVM1 and implement HTTPStatusEvent.HTTP_STATUS for avm2 ( #11360 )
2023-06-10 03:06:26 +00:00
renovate[bot]
a621472336
chore(deps): lock file maintenance rust dependencies
2023-06-09 20:17:25 +03:00
Oleksandr Kalko
70aa8385b7
chore: Upgrade NodeJS dependencies ( #11352 )
2023-06-09 15:50:59 +00:00
Nathan Adams
137986c384
core: Add PlayerBuilder::with_external_interface
2023-06-09 13:03:46 +02:00
Aaron Hill
66f3198f50
desktop/web: Increase stack size on Windows and wasm
...
This works around a stack overflow with Bloonts Tower Defense 5,
where we have over 400 stack frames at once due to deep
`construct_frame` recursion in `goto` execution.
2023-06-08 22:17:27 -05:00
Crowdin Bot
93f5869005
chore: Update translations from Crowdin
2023-06-08 00:57:49 +02:00
Daniel Jacobs
55efb80dd6
web: Don't try to use Ruffle on browsers with Flash support
2023-06-07 23:48:39 +02:00
Crowdin Bot
808deaa378
chore: Update translations from Crowdin
2023-06-05 09:00:51 +02:00
Crowdin Bot
9767ffca96
chore: Update translations from Crowdin
2023-06-03 15:58:24 +02:00
renovate[bot]
6bc5d72995
chore(deps): lock file maintenance node.js dependencies
2023-06-01 08:59:52 +03:00
renovate[bot]
8bf44926af
chore(deps): update node.js dependencies
2023-06-01 08:45:23 +03:00
Daniel Jacobs
a2fa855156
web: Update youtube check to be more accurate using regex
2023-05-31 21:06:25 +03:00
relrelb
17e0eb112b
web: Enforce ESLint's `camelcase` rule
2023-05-31 08:22:15 +03:00
Crowdin Bot
6dc3743f4b
chore: Update translations from Crowdin
2023-05-30 23:21:28 +02:00
Toad06
7830a8232b
web: Allow extra MIME types in the polyfill
2023-05-30 06:35:29 +00:00
renovate[bot]
847dece735
chore(deps): lock file maintenance rust dependencies
2023-05-28 23:54:33 -05:00
Aaron Hill
14c6d1d959
avm2: Implement URLRequest.requestHeaders
...
These are directly set on the underlying navigator's HTTP
request type, and get printed out in our test navigator backend.
No validation of the header names is performed - on web, this will be
enforced by the browser.
2023-05-28 12:07:37 -05:00
Toad06
6c0cf8fc83
web: Fix minor issues with the context menu
2023-05-28 07:51:00 +03:00
Crowdin Bot
e98230c988
chore: Update translations from Crowdin
2023-05-27 00:34:44 +02:00
Crowdin Bot
f3dd5dbfb6
chore: Update translations from Crowdin
2023-05-25 00:27:48 +02:00
Crowdin Bot
fe4475d553
chore: Update translations from Crowdin
2023-05-23 00:05:58 +02:00
renovate[bot]
5d2477fe98
chore(deps): lock file maintenance rust dependencies
2023-05-22 19:12:08 +03:00
Crowdin Bot
fde4c99560
chore: Update translations from Crowdin
2023-05-22 08:51:22 +03:00
renovate[bot]
b8c56a1b89
chore(deps): lock file maintenance
2023-05-22 08:12:12 +03:00
nosamu
7dfc36c6fc
web: Support pasting from clipboard
2023-05-21 15:26:42 +02:00
nosamu
ee956927b7
core: Fix TextField.maxChars handling and address other reviews
2023-05-21 15:26:42 +02:00
nosamu
4e579b7e68
core: Move left/right arrow handling to `text_control_input`
2023-05-21 15:26:42 +02:00
nosamu
0dbb4c46e4
core: Move `Delete` and `Backspace` handling to `text_control_input()`
...
Co-authored-by: jmckiern <jmckiern@tcd.ie>
2023-05-21 15:26:42 +02:00
nosamu
fab72ac01c
core: Implement handling of text control input
...
Co-authored-by: jmckiern <jmckiern@tcd.ie>
2023-05-21 15:26:42 +02:00
jmckiern
67d74047a9
core: Add clipboard_content getter
2023-05-21 15:26:42 +02:00
renovate[bot]
af23ec0a03
chore(deps): lock file maintenance
2023-05-21 07:54:11 +03:00
renovate[bot]
7190c42e31
chore(deps): lock file maintenance
2023-05-21 07:15:36 +03:00
Toad06
0ff4f26db9
extension: Add a button to reset settings
2023-05-21 00:03:19 +02:00
renovate[bot]
2ca0140192
chore(deps): lock file maintenance node.js dependencies
2023-05-20 23:41:57 +03:00
Crowdin Bot
6a00475358
chore: Update translations from Crowdin
2023-05-20 00:12:12 +02:00
Toad06
4092e70bf4
extension: Remove "tabs" permission
2023-05-19 01:03:28 +02:00
nosamu
77f2875898
extension: Set charset attribute of script tag instead of escaping characters
2023-05-18 22:39:06 +02:00
Crowdin Bot
e3da17b426
chore: Update translations from Crowdin
2023-05-18 13:01:57 +02:00
Toad06
b9abc463d6
web: Minor improvements to the extension player page
2023-05-18 03:34:19 +03:00
renovate[bot]
f969bdce71
fix(deps): update wasm-bindgen
2023-05-17 06:44:50 +03:00
Crowdin Bot
7c954925ba
chore: Update translations from Crowdin
2023-05-17 02:36:40 +02:00
renovate[bot]
82c61b5a52
chore(deps): update node.js dependencies
2023-05-16 22:57:24 +02:00
Daniel Jacobs
56afce2e3a
web: Fix localStorage check on Firefox when dom.storage.enabled is false
2023-05-16 22:10:42 +03:00
Toad06
19c0bb14d5
web: Only minify ascii characters on selfhosted builds
2023-05-16 21:39:40 +03:00
Toad06
55c7a4b895
extension: Don't say that Ruffle cannot load on "player.html"
2023-05-15 16:22:29 +03:00
Toad06
dd4c805e70
web: Escape non-ASCII characters to prevent issues on non-UTF-8 encoded pages
...
Co-Authored-By: relrelb <relrelb@users.noreply.github.com>
2023-05-15 11:57:05 +03:00
renovate[bot]
5b26d1b2ee
fix(deps): update wasm-bindgen
2023-05-15 10:00:49 +03:00
Nathan Adams
a9ba46594f
chore: Updated translations from Crowdin
2023-05-14 13:31:32 +02:00
Toad06
9671b9b824
web: Download all sols as single .zip
2023-05-13 19:19:00 +03:00
Toad06
94ad41dfd4
web: Update source string
2023-05-11 09:36:06 +03:00
relrelb
e01b613a78
web: Fix another instance of "Unable to lock Ruffle core"
...
After a panic, `Ruffle::renderer_debug_info()` cannot be called since
it tries to immutably borrow the underlying `Player`, but `Ruffle::tick()`
already holds it mutably.
As a fix, simply use the `_cachedDebugInfo` which is fetched in
advance, before any panic occurs. Rename it to just `rendererDebugInfo`
(without "cache" in its name), because now it's mandated.
2023-05-11 08:33:33 +03:00
relrelb
5b8e0df83f
web: Move `Ruffle::destroy()` logic to `RuffleInstance::drop()`
2023-05-11 08:33:33 +03:00
relrelb
942d030dc7
web: Slight cleanups around panicking
2023-05-11 08:33:33 +03:00
Daniel Jacobs
ea78bf2d39
web: Make isTouch locally scoped to showContextMenu
2023-05-10 17:31:07 +03:00
Nathan Adams
fc96fdf1cc
chore: Update translations from Crowdin
2023-05-10 00:29:13 +02:00
Nathan Adams
72769eeefa
web: Localise text inside shadow template
2023-05-09 00:06:49 +02:00
Nathan Adams
a29f1f75dc
web: Localise the 'cant embed' message
2023-05-09 00:06:49 +02:00
Nathan Adams
1db72a0ffd
web: Localise error messages
2023-05-09 00:06:49 +02:00
Nathan Adams
2430cf192e
web: Localise fullscreen toggle
2023-05-09 00:06:49 +02:00
Nathan Adams
d70faeec04
web: Localise save manager prompts
2023-05-09 00:06:49 +02:00
Nathan Adams
9be198212b
web: Translate various button texts
2023-05-09 00:06:49 +02:00
Nathan Adams
b7794749d8
web: Localise the unsupported avm2 message
2023-05-09 00:06:49 +02:00
Nathan Adams
07dea7b164
web: Add localisation to web
2023-05-09 00:06:49 +02:00
Nathan Adams
3402f3f4dc
web: Use browsers preferred language
2023-05-09 00:06:49 +02:00
Nathan Adams
229c301e18
core: Add i18n module using Fluent
2023-05-09 00:06:49 +02:00
Daniel Jacobs
01a69b60bc
web: Remove ContextMenu.TouchOnly as it is unlikely to be useful
2023-05-08 23:53:31 +03:00
Daniel Jacobs
e7877706ef
web: Use typeof to simplify check for usage of deprecated contextMenu
2023-05-08 23:53:31 +03:00
Daniel Jacobs
4790ea7304
web: Combine contextMenu with touchContextMenu
2023-05-08 23:53:31 +03:00
Daniel Jacobs
68f493336a
web: Configuration to disable context menu on touch
2023-05-08 23:53:31 +03:00
relrelb
97483fed7b
web: Fix "Unable to lock Ruffle core" console spam after panic
...
Upon panic, `Ruffle::destroy()` attempts to mutably borrow the
thread-local `instances`. However, when a panic occurs, `instances`
is already immutably borrowed by `Ruffle::with_core_mut()`. This
causes the cleanup logic in `Ruffle::destroy()` to be skipped
altogether, and as a consequence the animation handler continues
to be fired, ultimately failing to borrow `instances` repeatedly.
Each time a borrow fails, a console error is logged.
Fortunately the fix is extremely easy - `Ruffle::with_core{,_mut}`
used to `drop(instance)` before running any potentially-panicking
logic, exactly for the reason explained above. But those functions
don't `drop(instances)`, which is subject to the same double-borrow
risk. So as a fix simply add `drop(instances)` in both functions.
With this fix, "Unable to lock Ruffle core" is logged on panic only
twice. These logs require further research, and will be avoided in
a future PR.
2023-05-06 10:09:52 +03:00
Toad06
8377fe0233
web: Support copying to clipboard
2023-05-05 21:58:41 +02:00
Toad06
58d786b869
extension: Localize more strings
2023-05-05 00:28:11 +03:00
relrelb
2cb055d5c0
web: Parse `background_color` using a custom deserializer
2023-05-03 21:38:15 +03:00
nosamu
9b2dc262d5
extension: Update and improve messages
2023-05-03 09:44:01 +03:00
nosamu
36710f87d9
extension: Add an Automatic option for preferred renderer
2023-05-03 09:44:01 +03:00
relrelb
ed1eaa440e
extension: Introduce "Advanced Options"
...
To avoid visual clutter, move some less handy options under a
collapsible area:
* Log level
* Ignore website compatibility warnings
* Maximum allowed ActionScript execution duration (description was
shortened in this commit)
* Preferred renderer
* Player version number
2023-05-03 09:44:01 +03:00