Closed
Bug 1097185
Opened 11 years ago
Closed 11 years ago
Update Shumway to version 0.9.3674
Categories
(Firefox Graveyard :: Shumway, defect, P1)
Firefox Graveyard
Shumway
Tracking
(firefox38 fixed)
RESOLVED
FIXED
Firefox 38
Tracking | Status | |
---|---|---|
firefox38 | --- | fixed |
People
(Reporter: yury, Assigned: yury)
References
Details
Attachments
(2 files, 3 obsolete files)
2.19 KB,
patch
|
Details | Diff | Splinter Review | |
4.77 MB,
patch
|
Details | Diff | Splinter Review |
No description provided.
Assignee | ||
Comment 1•11 years ago
|
||
Jim, can you look at the e10s related changes. (The github patch can be found at https://github.com/mozilla/shumway/pull/1857/files)
Attachment #8520828 -
Flags: review?(till)
Attachment #8520828 -
Flags: review?(jmathies)
Assignee | ||
Comment 2•11 years ago
|
||
Attachment #8520829 -
Flags: review?(jmathies)
Assignee | ||
Comment 3•11 years ago
|
||
Changes:
#1767 Adding sanity tests for ExternalInterface
#1768 Renderable fixes.
#1769 Tsclosure
#1770 Refactors looking up of the AVM1 movie children.
#1771 Bug 1077158 - Implement Shumway ExternalInterface for AVM1
#1772 Make all Loader methods native
#1773 Bug 1077153 - Change the way Shumway's problem reporter retrieves the Firefox version and build ID
#1774 Fixes case in onRollover for SWF6 and link navigation
#1762 Implement most of the features of TextField
#1775 Don't create a text run for empty text
#1776 Refactors and fixes fb1d115262 regression.
#1778 Update closure compiler.
#1779 Fixes call function scope.
#1780 Gfx fixes
#1782 Use new TSC compiler.
#1783 Fix hit testing regressions
#1785 Fixes arguments for AVM1
#1786 Bug 1080313 - Fix SimpleButton bounds calculation regressions
#1787 Fixes loadClip and proper _root resolution for child movie
#1784 First stab at SVG filters, WIP.
#1788 Fixes AVM1 gotoLabel operation.
#1789 Bug 1080313 - Follow up to fix even more breakage
#1790 Fix blur scale for different quality levels.
#1791 Make Add blend mode fall back on Overlay instead of Normal.
#1792 Fixes but related to removing filters.
#1794 Glows now.
#1795 Clipping mask bug fixes
#1796 Nike ad
#1797 Implement EOFError + changes useful for debugging
#1798 Cleanup, small optimizations, and implementation of corner-case details
#1800 cacheAsBitmap mask test
#1802 Fixes AVM1 property resolutions errors for archived swf №2
#1803 Some arguments protection for AVM1 methods
#1805 Bug 1080979 - Fixes timeline state during gotoAndPlay rewind
#1806 Increase reftest frame number for acid-bitmap-fill.
#1807 Cleanup of AVM1 movieclip object from children names.
#1808 Bug 1080750 - Shumway extension should set "shumway.ignoreCTP" pref
#1810 Preserve skew angles when rotating
#1799 Add support for morph shapes
#1812 Don't create references/transfer ownership for internal child lookups
#1813 Fix dispatching of load events
#1814 Decode non breaking space characters in html text
#1816 Setting visible or mask must not stop timeline animation
#1817 Adds pref for enabling Shumway for private mode.
#1818 Fix resolving the mask object in AVM1MovieClip::setMask
#1809 Eagerly bind native methods
#1819 Treat only the root timeline's first frame as the root timeline's first frame
#1820 Delay all immediately-executed ABC blocks until all frame assets have been resolved
#1821 Delay updating contentLoaderInfo.bytesLoaded until all frame assets embedded up until that offset have been resolved
#1822 Initial video playback refactoring
#1823 Bug 1088377 - Fix handling of empty url arguments in AVM1 getURL and AVM2 navigateToURL
#1764 Loader/file loading/parser unentanglement
#1825 Fix regression causing exceptions in deserializing registerFont messages in the GFX backend
#1827 Fix acid-morph test
#1826 Misc text fixes
#1828 More text fixes
#1829 Passes movie params via LoaderContext
#1830 Fixes video playback for non-test player.
#1832 Bug 1091339 - Consider children when hit-testing Sprites with hitAreas
#1831 Fix word wrapping
#1833 Adds useIFramePlayer option.
#1834 Properly count AVM1 instructions during branching
#1836 Implements stage scale and align attributes.
#1837 Allow flash content to set the mouse cursor
#1815 Bug 1076897 - change args order in registerAddonHistogram.
#1850 Test loadee without addChild
#1851 Fix font metrics
#1852 Bug 1094927 - Create one shared instance per embedded images used as Shape textures
#1835 OOP Shumway refactoring
#1824 Mask
#1854 Mask
#1857 Fixes the extension for E10S.
#1855 Mask
#1858 Make the display of FPS meter more clear.
Assignee | ||
Comment 4•11 years ago
|
||
![]() |
||
Updated•11 years ago
|
Attachment #8520829 -
Flags: review?(jmathies) → review+
![]() |
||
Comment 5•11 years ago
|
||
Comment on attachment 8520828 [details] [diff] [review]
Update Shumway to version 0.9.3332.
Review of attachment 8520828 [details] [diff] [review]:
-----------------------------------------------------------------
::: browser/extensions/shumway/chrome/content.js
@@ +46,5 @@
> + sendAsyncMessage('Shumway:running', {}, {
> + externalInterface: externalInterfaceWrapper
> + });
> +
> + shumwayComAdapter = Components.utils.createObjectIn(content, {defineAs: 'ShumwayCom'});
It took me a while to understand what's going on here, better comments in this initialization code would be good.
::: browser/extensions/shumway/chrome/viewerWrapper.js
@@ +50,5 @@
> + onLoadFileCallback: { value: null, writable: true },
> + onExternalCallback: { value: null, writable: true },
> + onMessageCallback: { value: null, writable: true }
> + });
> + Components.utils.makeObjectPropsNormal(shumwayComAdapter);
similar here.
@@ +112,5 @@
> + }
> +
> + promise.then(function (oop) {
> + if (oop) {
> + console.log('Shumway: start OOP');
nit - remove
Attachment #8520828 -
Flags: review?(jmathies) → review+
![]() |
||
Comment 6•11 years ago
|
||
Some of the initialization code looked very similar to pdf.sj, I wonder if there's some way we could share that code?
Assignee | ||
Comment 7•11 years ago
|
||
(In reply to Jim Mathies [:jimm] from comment #6)
> Some of the initialization code looked very similar to pdf.sj, I wonder if
> there's some way we could share that code?
Yes. But I would suggest to look into that after jsplugins bug lands -- common code is mostly in stream converter code intialization, but with jsplugins this might be changed for Shumway.
Comment 8•11 years ago
|
||
We should land this Shumway update on mozilla-central soon because it fixes e10s support (which is enabled by default on the Nightly channel).
Blocks: shumway-m3
Priority: -- → P1
Comment 9•11 years ago
|
||
Comment on attachment 8520828 [details] [diff] [review]
Update Shumway to version 0.9.3332.
Review of attachment 8520828 [details] [diff] [review]:
-----------------------------------------------------------------
Looks good to me. I agree with jimm though: more comments are absolutely needed.
Given that we'll switch to jsplugins soon (fingers crossed!), we don't need to act on that right now. I did flag a few additional places where comments should be changed, though.
r=me with those and the other feedback addressed.
::: browser/extensions/shumway/content/ShumwayRegistar.jsm
@@ +15,5 @@
> + */
> +
> +'use strict';
> +
> +var EXPORTED_SYMBOLS = ['ShumwayRegistar'];
This (i.e., the entire file) definitely needs a better name. Not only isn't "Registar" a word at all (well it is, in Portuguese), it also doesn't explain what this does.
How about exporting the register and unregister functions themselves and calling this file "StreamConverterRegistration.jsm"?
@@ +71,5 @@
> +let converterFactory = new Factory();
> +let overlayConverterFactory = new Factory();
> +
> +var ShumwayRegistar = {
> + register: function () {
As mentioned above: no need to wrap these functions in an object. Just export both of them directly.
::: browser/extensions/shumway/content/ShumwayStreamConverter.jsm
@@ +865,5 @@
> tagName = element.nodeName;
> }
>
> if (isOverlay) {
> + // HACK for facebook, CSS embed tag rescaling
Please explain why this hack is needed, not just that it's for fb.
@@ +1039,5 @@
> // Keep the URL the same so the browser sees it as the same.
> channel.originalURI = aRequest.URI;
> channel.loadGroup = aRequest.loadGroup;
>
> + // We can use all powerful principal.
Why can we do that, and why do we do it?
Comment 10•11 years ago
|
||
Comment on attachment 8520828 [details] [diff] [review]
Update Shumway to version 0.9.3332.
Review of attachment 8520828 [details] [diff] [review]:
-----------------------------------------------------------------
(and now with an actual r+)
Attachment #8520828 -
Flags: review?(till) → review+
Comment 11•11 years ago
|
||
Yury: do you plan to land Shumway 0.9.3332 on mozilla-central or should we just WONTFIX this bug?
Flags: needinfo?(ydelendik)
Comment 12•11 years ago
|
||
FWIW, I wouldn't mind WONTFIXing.
Comment 13•11 years ago
|
||
WONTFIX unless Yury really wants to update mozilla-central.
Status: NEW → RESOLVED
Closed: 11 years ago
Flags: needinfo?(ydelendik)
Resolution: --- → WONTFIX
Assignee | ||
Comment 14•11 years ago
|
||
Reopening for 0.9.3674 sync. Changes:
#1861 Add screenshot API.
#1860 Conveniently place trace logging files in the Shumway root directory.
#1862 Fixes displayParameters on retina displays.
#1856 Bug 1035170 - Rewrite SWF parsing to a scan-first, parse tags on demand approach
#1868 Fixes several swfdec AVM1 tests
#1863 Misc Font fixes
#1869 Adds threads option to the tracetest
#1870 Startup speed optimizations, mostly around Vector classes
#1871 AS3->TS ports of some functions in Mouse, URLRequest, and Namespace
#1872 One more font metrics update
#1873 Startup
#1874 Infrastructure improvements for profiling
#1875 Bug 1101358 - Fix regression in resolution of embedded fonts by name
#1876 Move player/timeline.ts to flash/symbol.ts and move most SymbolFoo classes to the Foo class they represent
#1877 Demo creating Easels in multiple iFrames all handled by one host iFrame.
#1878 Remove all traces of float/float4 from AVM2 stdlib
#1879 Fixes to E4X support
#1881 Get rid of Arguments object creation in IonMonkey by removing ...rest uses
#1882 Optimize functions that show up in profiles
#1883 Bug 1103634 - Use structural comparison for E4X objects
#1885 More E4X fixes and implementation
#1887 Converts and removes avm1lib library
#1888 Fix script order.
#1889 Fixes to get icycle working.
#1893 Misc AVM1 fixes
#1894 Better inlining AVM1 constant pool values
#1896 More E4X fixes and implementation
#1897 Implements AVM1 Sound object basic functionality
#1898 Fixes variable bound AVM1 text field.
#1911 Misc AVM1 fixes
#1913 Just another font metrics update
#1914 Bug 1105480 - Make AVM1 MovieClips mouse-transparent as long as they don't have button-related event handlers
#1915 Don't register mouse events on masks
#1916 Misc AVM1 fixes
#1919 Add chunked reading simulation to the inspector
#1920 Makes button as dynamic symbol
#1918 Misc AVM1 fixes
#1921 Misc AVM1 fixes
#1922 Bug 1108869 - Part1: delay parsing of loaded data until at least 8kb have been loaded
#1923 Bug 1108869: Fix resuming parsing for chunked loading and delay initialization until 1st frame is loaded
#1925 Misc fbplayer fixes
#1926 Improves video playback for Firefox
#1924 Mixed bag of small optimizations.
#1927 Fb1
#1960 Fixes shell runner for node.js and v8.
#1961 Fixes arguments variable usage for jsc
#1962 Packages shell during gh-pages build
#1965 Reuse unrooted shape objects in the gfx backend
#1967 Uses platform DEFLATE decompression when available
#1917 Refactor timeline navigation. r=till
#1974 Bug 1115778 - Always draw crisp 1px lines for TextField bounds
#1979 Bug 1113834 - Initial round of jwplayer fixes
#1990 Default DisplayObject#ratio to 0 instead of -1
#1977 Bug 1116467 - Beef up E4X compatibility
#1991 Add timeline/nav test for pull request #1990
#1969 Bug 1104270 - fix eager font and image parsing
#1973 Remove redundant acid tests and speed up some of the remaining ones
#1994 Check for empty bounds in unionInPlace
#1995 Fixes couple of regressions for older files
#1996 Give all evaluated functions sourceURLs
#1997 Give evaluated avm1 functions sourceURLs
#1993 Provide an icon for the browser extension.
#1998 Restores MSE playback of audio and video content
#1999 Check for trait properties if hasOwnProperty fails in asHasOwnProperty
#2000 Clamp alpha values
#2001 Add support for drag & drop
#2004 Properly detach a videos net stream
#2005 Even more E4X fixes and implementation
#2007 Minor JWPlayer fixes
#1978 Bug 1116468 - Improve describeType compatibility
#2008 Take pixel density scaling into account when masking objects
#2009 Re-enable Mask2 test
#2011 Misc text fixes
#2010 Implement support for CSS formated text fields
#2012 Bug 1123051 - Improve compatibility of the main event loop's handling of Loader events
#2025 Fixes resolveUrl in the extension
#2026 Bug 1125344 - Stub out SecurityDomain.currentDomain getter
#2027 Fix last missing native traits for builtins
#2028 Port most remaining traits from AS3 to TS
#2031 Adds shuobject interface and packages iframe viewer.
#2032 Misc fixes for the PBS, Amazon and IMDB video player
#2033 Addresses Bug 1097185 review comments
Status: RESOLVED → REOPENED
Resolution: WONTFIX → ---
Summary: Update Shumway to version 0.9.3332 → Update Shumway to version 0.9.3674
Assignee | ||
Comment 15•11 years ago
|
||
Attachment #8520828 -
Attachment is obsolete: true
Assignee | ||
Comment 16•11 years ago
|
||
(no changes here, except rebasing)
Attachment #8520829 -
Attachment is obsolete: true
Assignee | ||
Comment 17•11 years ago
|
||
Comment on attachment 8556490 [details] [diff] [review]
Update Shumway to version 0.9.3674.
Additional review for security around SpecialInflate.
(https://treeherder.mozilla.org/#/jobs?repo=try&revision=27f37b520764)
Attachment #8556490 -
Flags: review?(till)
Comment 18•11 years ago
|
||
Comment on attachment 8556490 [details] [diff] [review]
Update Shumway to version 0.9.3674.
Review of attachment 8556490 [details] [diff] [review]:
-----------------------------------------------------------------
r=me with feedback addressed.
Please wait for PR #2030 to land and do a re-export of the patch before landing it, though. No need for a re-review after that.
::: browser/extensions/shumway/chrome/SpecialInflate.jsm
@@ +102,5 @@
> + wrapperOnData.call(wrapper, Components.utils.cloneInto(data, sandbox));
> + }
> + };
> + var wrapper = new sandbox.Object();
> + var waived = Components.utils.waiveXrays(wrapper);
It took me a while to understand how this all works. I'm pretty sure it's safe the way it is. However, it's far from self-explanatory, so please add a comment explaining how it all works and why it's safe.
Attachment #8556490 -
Flags: review?(till) → review+
Assignee | ||
Comment 19•11 years ago
|
||
Attachment #8556490 -
Attachment is obsolete: true
Assignee | ||
Updated•11 years ago
|
Attachment #8556491 -
Attachment description: Adds e10s content initialization of Shumway. → Part 2. Adds e10s content initialization of Shumway.
Assignee | ||
Comment 20•11 years ago
|
||
More changes:
#2030 Slim down method trait trampolines and memoizers
#2013 Implement StyleSheet#parseCSS
#2035 Bug 1127607 - Amazon videos start playing automatically
#2023 Initial RTMP support
(also https://treeherder.mozilla.org/#/jobs?repo=try&revision=99f338b1879f)
Assignee | ||
Updated•11 years ago
|
Keywords: checkin-needed
Comment 21•11 years ago
|
||
https://hg.mozilla.org/integration/fx-team/rev/d46c96da45b8
https://hg.mozilla.org/integration/fx-team/rev/5444a80721ed
Keywords: checkin-needed
Whiteboard: [fixed-in-fx-team]
Comment 22•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/d46c96da45b8
https://hg.mozilla.org/mozilla-central/rev/5444a80721ed
Status: REOPENED → RESOLVED
Closed: 11 years ago → 11 years ago
status-firefox38:
--- → fixed
Resolution: --- → FIXED
Whiteboard: [fixed-in-fx-team]
Target Milestone: --- → Firefox 38
Updated•10 years ago
|
Product: Firefox → Firefox Graveyard
You need to log in
before you can comment on or make changes to this bug.
Description
•