Closed Bug 1097185 Opened 11 years ago Closed 11 years ago

Update Shumway to version 0.9.3674

Categories

(Firefox Graveyard :: Shumway, defect, P1)

defect

Tracking

(firefox38 fixed)

RESOLVED FIXED
Firefox 38
Tracking Status
firefox38 --- fixed

People

(Reporter: yury, Assigned: yury)

References

Details

Attachments

(2 files, 3 obsolete files)

No description provided.
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)
Attachment #8520829 - Flags: review?(jmathies)
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.
Attachment #8520829 - Flags: review?(jmathies) → review+
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+
Some of the initialization code looked very similar to pdf.sj, I wonder if there's some way we could share that code?
(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.
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 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 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+
Yury: do you plan to land Shumway 0.9.3332 on mozilla-central or should we just WONTFIX this bug?
Flags: needinfo?(ydelendik)
FWIW, I wouldn't mind WONTFIXing.
WONTFIX unless Yury really wants to update mozilla-central.
Status: NEW → RESOLVED
Closed: 11 years ago
Flags: needinfo?(ydelendik)
Resolution: --- → WONTFIX
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
Attachment #8520828 - Attachment is obsolete: true
(no changes here, except rebasing)
Attachment #8520829 - Attachment is obsolete: true
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 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+
Attachment #8556490 - Attachment is obsolete: true
Attachment #8556491 - Attachment description: Adds e10s content initialization of Shumway. → Part 2. Adds e10s content initialization of Shumway.
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)
Keywords: checkin-needed
Status: REOPENED → RESOLVED
Closed: 11 years ago11 years ago
Resolution: --- → FIXED
Whiteboard: [fixed-in-fx-team]
Target Milestone: --- → Firefox 38
Blocks: 1130737
Product: Firefox → Firefox Graveyard
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: