Commit Graph

5499 Commits

Author SHA1 Message Date
dependabot[bot] 497188fb45 build(deps-dev): bump @types/chrome from 0.0.154 to 0.0.158 in /web
Bumps [@types/chrome](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/chrome) from 0.0.154 to 0.0.158.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/chrome)

---
updated-dependencies:
- dependency-name: "@types/chrome"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-30 22:05:47 +03:00
dependabot[bot] b8efc1cd9b build(deps-dev): bump chromedriver from 92.0.2 to 94.0.0 in /web
Bumps [chromedriver](https://github.com/giggio/node-chromedriver) from 92.0.2 to 94.0.0.
- [Release notes](https://github.com/giggio/node-chromedriver/releases)
- [Commits](https://github.com/giggio/node-chromedriver/compare/92.0.2...94.0.0)

---
updated-dependencies:
- dependency-name: chromedriver
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-30 21:35:02 +03:00
relrelb 05d8f13b26 audio: ADPCM small cleanup 2021-09-30 20:16:04 +03:00
relrelb b9307af78f audio: Move ADPCM's tables out of `AdpcmDecoder` 2021-09-30 20:16:04 +03:00
relrelb 50ec497c60 audio: Introduce `AdpcmDecoder::channels`
This reduces duplicated code.
2021-09-30 20:16:04 +03:00
relrelb 4deaaed75c audio: Inline `AdpcmDecoder::next_sample` 2021-09-30 20:16:04 +03:00
relrelb 99827caf2b audio: Localize `AdpcmDecoder::{left,right}_step`
Since they were used only in a single scope.
2021-09-30 20:16:04 +03:00
dependabot[bot] e5870a239f build(deps): bump instant from 0.1.10 to 0.1.11
Bumps [instant](https://github.com/sebcrozet/instant) from 0.1.10 to 0.1.11.
- [Release notes](https://github.com/sebcrozet/instant/releases)
- [Commits](https://github.com/sebcrozet/instant/compare/v0.1.10...v0.1.11)

---
updated-dependencies:
- dependency-name: instant
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-28 02:19:30 +03:00
dependabot[bot] 8c123c10af build(deps): bump syn from 1.0.76 to 1.0.77
Bumps [syn](https://github.com/dtolnay/syn) from 1.0.76 to 1.0.77.
- [Release notes](https://github.com/dtolnay/syn/releases)
- [Commits](https://github.com/dtolnay/syn/compare/1.0.76...1.0.77)

---
updated-dependencies:
- dependency-name: syn
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-28 01:27:10 +03:00
dependabot[bot] 5fe0994a3a build(deps): bump symphonia from 0.3.0 to 0.4.0
Bumps [symphonia](https://github.com/pdeljanov/Symphonia) from 0.3.0 to 0.4.0.
- [Release notes](https://github.com/pdeljanov/Symphonia/releases)
- [Commits](https://github.com/pdeljanov/Symphonia/compare/v0.3.0...v0.4.0)

---
updated-dependencies:
- dependency-name: symphonia
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-28 01:26:57 +03:00
Adrian Wielgosik 5ce2266be7 chore: clippy 2021-09-27 11:03:48 +02:00
Adrian Wielgosik 87625fa302 avm2: Change core types from Object to ClassObject where possible 2021-09-27 11:03:48 +02:00
Adrian Wielgosik 83b7420a3f avm2: Remove unneeded indirection from ClassObject methods 2021-09-27 11:03:48 +02:00
relrelb d5b223c1b3 extension: Add log level option 2021-09-26 07:57:37 +03:00
relrelb 1d324e81b0 web: Add stylelint to `npm run format` 2021-09-26 07:57:37 +03:00
David Wendt 2007b0e5c3 tests: Remove superfluous `^M` characters from ActionScript source 2021-09-25 16:54:36 -06:00
David Wendt 6753608e78 chore: Fix incorrect doccomment 2021-09-25 16:54:36 -06:00
David Wendt c299f63784 avm2: Implement object space enumeration.
This required making enumerants into `Value`s, rather than `QName`s.
2021-09-25 16:54:36 -06:00
David Wendt dbe9dffe0e avm2: Implement object-space overrides for `getproperty`, `setproperty`, `deleteproperty`, and `in`. 2021-09-25 16:54:36 -06:00
David Wendt 925604f730 avm2: Implement `DictionaryObject` and `Dictionary` 2021-09-25 16:54:36 -06:00
David Wendt 66ac5d0693 tests: Add tests for various operations on `Dictionary`. 2021-09-25 16:54:36 -06:00
relrelb eb51e9b59a ci: Bump KSXGitHub/github-actions-deploy-aur 2021-09-25 13:40:59 +03:00
relrelb d27e29bd26 web: Mark TypeScript enums as const
Unlike regular enums, const enums are completely removed during
compilation, and as such are zero-cost in bundle size terms.
Since it is not possible to query the possible values of a const
enum at runtime, adapt the `autoplay` and `unmuteOverlay` validation
logic.
2021-09-24 20:38:44 +03:00
relrelb 0b4d6e6a1c extension: Add an option to ignore unsupported content warnings 2021-09-24 18:52:13 +03:00
relrelb bb029468ef extension: Listen for `onchange` events
For checkboxes, `click`, `onchange`, and `oninput` seem all the same,
but for other input types (e.g. dropdowns, text boxes) this matters.
2021-09-24 17:30:12 +03:00
relrelb cf3c36f306 extension: Localize label only when a translation exists
In order to not have to translate to all languages for each new option.
2021-09-24 17:30:12 +03:00
relrelb 8c19e06e5e extension: Type `utils.getOptions()` better
This disallows passing non-existent options:

```ts
utils.getOptions(["doesNotExist"]); // error
```

And also disallows using options that were not requested:

```ts
const options = utils.getOptions(["ruffleEnable"]);
options.ignoreOptout; // error
```
2021-09-24 17:30:12 +03:00
relrelb 34facdc5c2 extension: Use `Map` instead of `Record` to store option elements
This has few advantages:

* `Map` is more performant, and its keys cannot clash with builtin
JavaScript properties (e.g. `toString`).
* TypeScript has better type information about `map.keys()`, whereas
`Object.keys()` always return `string[]`.

Also, move `camelize` inside `getBooleanElements`, as it's only used
there, and unify the 2 `for` loops in `bindBooleanOptions` (iterating
`options` is wrong because it might contain options that doesn't exist
in the page).
2021-09-24 17:30:12 +03:00
relrelb bb926461a1 extension: Return a `Promise` from `injectScriptURL`
This serves 2 goals:

1. Wait for the script to be injected (when the promise is resolved),
so future `sendMessageToPage` won't happen before the script can
respond.
2. Detect errors in the script injection (when the promise is
rejected).
2021-09-24 17:30:12 +03:00
relrelb 4dfbff5f2f extension: Invert `shouldLoad` condition
This is a pure mechanical change, in order to lower the indentation
level.
2021-09-24 17:30:12 +03:00
relrelb 340837649e extension: Rename message properties
Make them short and clear:

* `uniqueMessageSuffix` -> `ID`
* `type` -> `to`
2021-09-24 17:30:12 +03:00
EmperorBale 28b34cbe25 chore: Typo 2021-09-23 23:14:30 -06:00
EmperorBale 3f81910bb6 avm2: Remove custom_object macros 2021-09-23 23:14:30 -06:00
relrelb 54d417c539 avm1: Don't warn in case a method doesn't exist 2021-09-23 18:55:49 -06:00
David Wendt 841337e7e4 docs: Document how to create and build ABC-only tests 2021-09-23 18:43:16 -06:00
David Wendt f298a23ec8 avm2: Ensure all bare function calls pull an appropriate `superclass_object` 2021-09-23 15:59:06 -06:00
David Wendt 7ef7b80395 avm2: Prototypes are not instances of their class 2021-09-23 15:59:06 -06:00
David Wendt b8c086eb7a avm2: Calls to object properties should use the new `call_property` method 2021-09-23 15:59:06 -06:00
David Wendt 7cefeb2b2a avm2: Add a `constructprop` method for objects, too. 2021-09-23 15:59:06 -06:00
David Wendt b07ad8070c avm2: Make `get_property`, `set_property`, `init_property`, and various other derivative methods take a `Multiname` and run the search inside `Object`.
This also introduces a `call_property` method.
2021-09-23 15:59:06 -06:00
David Wendt 945cb2c4bf avm2: Global class inheritance issues should report which class cannot be found 2021-09-23 15:59:06 -06:00
David Wendt 8f8134e4f4 avm2: Add private instance slots for `FrameLabel`'s properties 2021-09-23 15:59:06 -06:00
David Wendt 5ba2421225 avm2: Add private instance slots for `Scene`'s properties 2021-09-23 15:59:06 -06:00
David Wendt 97924d20ad avm2: Add private instance slots for `Point`'s properties 2021-09-23 15:59:06 -06:00
David Wendt dfc90984dc avm2: Add private instance slots for `Rectangle`'s properties 2021-09-23 15:59:06 -06:00
David Wendt 81da1aad4b avm2: `Video` is not a subclass of `flash.media.DisplayObject` (which doesn't exist) 2021-09-23 15:59:06 -06:00
EmperorBale 1874223224 avm2: Remove ignore_next 2021-09-23 00:01:50 +02:00
EmperorBale 31abe5d9d7 avm2: Specify that date should coerce to string by default 2021-09-23 00:01:50 +02:00
EmperorBale 64eb47a65c avm2: Remove YearType 2021-09-23 00:01:50 +02:00
EmperorBale b4fe77394d tests: Write tests 2021-09-23 00:01:50 +02:00