Skip to content
This repository has been archived by the owner on Jul 3, 2019. It is now read-only.

Missing features

Chris Peterson edited this page Jun 30, 2015 · 2 revisions

Missing features

Shumway doesn't implement all of Flash's features yet. The following is a list of missing features, their impact on our initial, banner ad-focused, release, and our plans for them.

flash.accessibility

What?

Flash contains support for screen readers that allows authors to associate display elements with names and descriptions to be read out by screen readers and tab ordering.

Impact

Little, banner ads aren't usually accessible. (I.e., I'm not aware of a single one that is.)

Required Effort

Medium

Plans

We might implement this on top of browsers' accessibility support for a later release.

flash.concurrent, flash.system.Worker, flash.system.MessageChannel

What?

Worker threads with synchronous communication capabilities.

Impact

None, we haven't encountered any banners using this.

Required Effort

Very large to infeasible.

Plans

We don't plan to ever implement this.

flash.crypto.generateRandomBytes()

What?

Support for AS3-implemented crypto algorithms.

Impact

None, we haven't encountered any banners using this.

Required Effort

Small

Plans

Would be easy to implement on top of crypto.RandomSource.getRandomValues().

flash.desktop.Clipboard

What?

Support for interacting with the system clipboard.

Impact

None, banners don't (or at the very least mustn't) use the clipboard.

Required Effort

Small-ish for copy-only, medium for paste, large for complex, app-defined data types.

Plans

Will implement support for setting clipboard values eventually. More extensive support not currently planned.

flash.display.BitmapData, various methods

What?

Quite a few methods of the BitmapData class are currently just stubbed to prevent exceptions from being thrown but don't actually contain the required implementation.

Impact

Incorrect rendering for some banners: some of these are used for visual effects.

Required Effort

Medium for some, large for complete coverage.

Plans

We'll implement some of these before shipping and add telemetry for the others to gauge their relevance.

flash.display.GraphicsPath and supporting classes

What?

Object-oriented API for vector drawing.

Impact

Little, we haven't encountered banners using this.

Required Effort

Medium

Plans

Not currently planning to implement this in the near term. Wouldn't be all that hard, though.

flash.display, JPEGXR support

What?

Support for rendering and encoding JPEG-XR images.

Impact

Little to none, we haven't encountered these in banners.

Required Effort

Large to infeasible: only IE supports this format so we'd have to have our own decoder, and I'm not aware of any we could use. See Firefox bug 500500 - (JPEG-XR) Add support for JPEG-XR/HD Photo.

Plans

No support planned.

flash.display.Shader

What?

GPU shaders to be used in Stage3D and ShaderFilter.

Impact

Little to none, we're not aware of any banners using this.

Required Effort

Medium to large: JS implementations of this exist under amenable licenses and might be usable.

Plans

No support planned, but might change our minds.

flash.display.Stage3D, flash.display3D

What?

GPU-accelerated 3D rendering, somewhat similar to WebGL.

Impact

Little to none, we're not aware of any banners using this.

Required Effort

Large to infeasible: JS implementations of this exist under amenable licenses and might be usable, but even that would be a lot of work.

Plans

No support planned.

flash.filters, various classes

What?

Filters that can be applied to parts of the DisplayList to affect rendering.

Impact

Medium, some banners use filters we haven't implemented.

Required Effort

Medium to large: some filters can be implemented on top of the ones supported by SVG filters, some would have to be implemented in JS.

Plans

We plan to support some more of these and add telemetry for the rest.

flash.geom.Matrix3D, 2.5D transforms

What?

2.5D transforms similar to those available in CSS.

Impact

Medium, these are used by a small but significant fraction of banners.

Required Effort

Medium for a partial implementation, very large for complete coverage.

Plans

Plan to implement a simple approximation of this before shipping: full support of the API in AS3, rendering only applied for z-index and rotation around a single axis and without full perspective correctness. In progress.

flash.globalization

What?

Framework for localizing content depending on the user's locale, similar to EcmaScript's Intl support.

Impact

Little to none, we're not aware of banners using this.

Required Effort

Large to infeasible, depending on how well this matches the capabilities of the Intl class.

Plans

No support planned.

flash.media, audio

What?

Support for most advanced audio usage

Impact

Little, banners don't usually use audio, and it's not clear we'd want them to.

Required Effort

Medium to large, depending on coverage.

Plans

Small enhancements and bugfixes plans, but no substantial increase in functionality.

flash.media, video

What?

Video streaming, timeline-embedded video, advanced usage of non-streaming video.

Impact

Medium, a small but significant fraction of banners use video.

Required Effort

Medium to large, depending on coverage.

Plans

Plan to support timeline-embedded video and generally improve handling of video. Streaming not currently planned, but doable and interesting for video players.

flash.media, VP6 video

What?

VP6-encoded video playback.

Impact

Medium, largely see above.

Required Effort

Medium for a Flash plugin-based polyfill (exists, but needs fixes to fully work), large to infeasible for full standalone support, depending on licensing concerns.

Plans

Plan to complete Flash plugin-based polyfill before shipping.

flash.media.StageVideo

What?

Support for video decoded directly to a GPU surface, layered below all other content.

Impact

Medium, probably used by some ads, mostly with a fallback to normal Video, though.

Required Effort

Medium, mostly plumbing for the AS3-facing APIs. Our Video implementation is actually closer to StageVideo in functionality.

Plans

Unclear, we might want to implement this before release.

flash.media, audio and video input

What?

Microphone and Camera access.

Impact

None, not used by banners.

Required Effort

Medium to large, depending on coverage.

Plans

No support planned.

flash.net.NetGroup

What?

Support for RTMFP P2P networking.

Impact

None, not used by banners.

Required Effort

Large.

Plans

No support planned.

flash.net.NetStream, advanced usage

What?

Support for streaming video

Impact

Little, we're not aware of banners using this.

Required Effort

Medium to large

Plans

A prototype implementation of an RTMP client library exists, but isn't production quality. Getting it there would probably be some work, still, which we don't currently plan on doing for our initial release.

flash.net.Socket

What?

Connecting to raw TCP sockets

Impact

None, not used by banners.

Required Effort

Medium

Plans

No support planned. Only feasible in the extension for now, as sockets aren't yet available to general content.

flash.net.drm

What?

Support for DRM'd media playback

Impact

None, not used by banners.

Required Effort

Infeasible to implement.

Plans

No support planned (or possible, really).

flash.printing

What?

Support for printing static or dynamically created content.

Impact

None, not used by banners.

Required Effort

Large

Plans

No support planned.

flash.sensors.Accelerometer

What?

Access to accelerometer data.

Impact

None, not used by banners.

Required Effort

Medium

Plans

No support planned.

flash.system.IME, flash.text.ime

What?

Support for interacting with the system's IME

Impact

None, not used by banners.

Required Effort

Unknown

Plans

No support planned. If we decide to support text input, we should do it in a way that makes the browser just handle this.

flash.system.SecurityContext, security properties of

What?

Hardened implementation of SecurityContext that we trust to properly prevent content from different sandboxes from accessing each other.

Impact

Medium, some banners load content from other domains, and hence into other SecurityDomains.

Required Effort

Large for a trusted implementation.

Plans

We mitigate this by enabling loading of other SWFs only if the loading SWF is allowed to also load arbitrary data from the same host. If it can do that, it could also load the child SWF as data and run it in its own domain, circumventing the SecurityDomain protections. Vague long-term plans for additional support exist.

flash.display.TextField, input mode

What?

Text input.

Impact

None, banners don't use this.

Required Effort

Medium

Plans

No support planned.

flash.text.engine, flashx.textLayout, flashx.undo

What?

Sophisticated low-level text layout support.

Impact

Little to none, almost no banners use this.

Required Effort

Large to infeasible

Plans

No support planned. Would be required for Flex 4 applications and some games, though, notably King.com games.

flash.ui.ContextMenu

What?

Support for customizing the context menu.

Impact

Little, banners either don't use this or don't rely on it for their main functionality.

Required Effort

Medium

Plans

No support planned.

flash.ui.MouseCursor

What?

Support for setting the mouse cursor to a builtin one or a provided bitmap.

Impact

Very little, banners almost never use this.

Required Effort

Little for bultin cursors, medium to large for custom bitmaps.

Plans

No support planned.

flash.ui.MultiTouch

What?

Support for multi-touch events

Impact

None, banners don't use this.

Required Effort

Unknown

Plans

No support planned.

Clone this wiki locally