Closed Bug 1168085 Opened 9 years ago Closed 9 years ago

Yahoo Mail Hide Ad Panel add-on stops working after removing SpiderMonkey support for let expressions

Categories

(Firefox :: Extension Compatibility, defect)

41 Branch
defect
Not set
normal

Tracking

()

VERIFIED FIXED
Tracking Status
e10s - ---

People

(Reporter: NaSb, Assigned: piyush_soni)

References

()

Details

(Keywords: addon-compat, regression, Whiteboard: [Bugday-20150701])

Attachments

(1 file)

35.94 KB, application/x-javascript
Details
User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0
Build ID: 20150513174244

Steps to reproduce:

Open nightly in E10s mode.Try to login in Yahoo Mail.


Actual results:

Ads isn't hiding; I can see the ads.


Expected results:

I should not be able to see the ads.
I have reproduced this bug with new profile.
WFM with the latest Nightly. I'm able to hide the ad on the right side of my inbox by clicking on the right arrow.
Blocks: e10s
Nazir,  can you reproduce with the latest Nightly build?
Flags: needinfo?(na.sb1151)
I am still reproducing this bug with latest Nightly.

Build ID: 20150602055237
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:41.0) Gecko/20100101 Firefox/41.0

Screenshot: https://goo.gl/zjW7wm
Flags: needinfo?(na.sb1151)
I cannot reproduce this.

Close the little ad at the top of my inbox with the "X" on the right side. Then select on of the options for why.  Done. The ad goes away as expected.

Closing a Sponsored ad reveal a Show Ad button.  This all looks correct to me.
Nazir, can you post your about:support and try disabling all of your add-ons.
Flags: needinfo?(na.sb1151)
Disabled add-ons:

Application Basics
------------------

Name: Firefox
Version: 41.0a1
Build ID: 20150603030208
Update Channel: nightly
User Agent: Mozilla/5.0 (X11; Linux x86_64; rv:41.0) Gecko/20100101 Firefox/41.0
Multiprocess Windows: 0/2 (default: false)

Crash Reports for the Last 3 Days
---------------------------------

All Crash Reports

Extensions
----------

Name: Ubuntu Firefox Modifications
Version: 3.0
Enabled: false
ID: ubufox@ubuntu.com

Name: Yahoo Mail Hide Ad Panel
Version: 2.43.1-signed
Enabled: false
ID: {c37bac34-849a-4d28-be41-549b2c76c64e}

Graphics
--------

Adapter Description: Intel Open Source Technology Center -- Mesa DRI Intel(R) Ivybridge Mobile
Asynchronous Pan/Zoom: none
Device ID: Mesa DRI Intel(R) Ivybridge Mobile
Driver Version: 3.0 Mesa 10.1.3
GPU Accelerated Windows: 0/2 Basic (OMTC)
Supports Hardware H264 Decoding: false
Vendor ID: Intel Open Source Technology Center
WebGL Renderer: Intel Open Source Technology Center -- Mesa DRI Intel(R) Ivybridge Mobile
windowLayerManagerRemote: true
AzureCanvasBackend: cairo
AzureContentBackend: cairo
AzureFallbackCanvasBackend: none
AzureSkiaAccelerated: 0

Important Modified Preferences
------------------------------

browser.cache.disk.capacity: 358400
browser.cache.disk.filesystem_reported: 1
browser.cache.disk.smart_size.first_run: false
browser.cache.frecency_experiment: 1
browser.download.importedFromSqlite: true
browser.places.smartBookmarksVersion: 7
browser.startup.homepage_override.buildID: 20150603030208
browser.startup.homepage_override.mstone: 41.0a1
dom.apps.reset-permissions: true
dom.mozApps.used: true
extensions.lastAppVersion: 41.0a1
media.gmp-gmpopenh264.lastUpdate: 1433435305
media.gmp-gmpopenh264.version: 1.4
media.gmp-manager.buildID: 20150602055237
media.gmp-manager.lastCheck: 1433435291
network.cookie.prefsMigrated: true
network.predictor.cleaned-up: true
places.history.expiration.transient_current_max_pages: 94124
plugin.disable_full_page_plugin_for_types: application/pdf
plugin.importedState: true
privacy.sanitize.migrateFx3Prefs: true

Important Locked Preferences
----------------------------

JavaScript
----------

Incremental GC: true

Accessibility
-------------

Activated: false
Prevent Accessibility: 0

Library Versions
----------------

NSPR
Expected minimum version: 4.10.8
Version in use: 4.10.8

NSS
Expected minimum version: 3.19.1 Basic ECC
Version in use: 3.19.1 Basic ECC

NSSSMIME
Expected minimum version: 3.19.1 Basic ECC
Version in use: 3.19.1 Basic ECC

NSSSSL
Expected minimum version: 3.19.1 Basic ECC
Version in use: 3.19.1 Basic ECC

NSSUTIL
Expected minimum version: 3.19.1
Version in use: 3.19.1

Experimental Features
---------------------

Sandbox
-------

Seccomp-BPF (System Call Filtering): true
Seccomp Thread Synchronization: true
User Namespaces: true
Media Plugin Sandboxing: true
Flags: needinfo?(na.sb1151)
ah, this is an add-on.  I didn't understand from the original report.
Blocks: e10s-tests
Status: UNCONFIRMED → NEW
tracking-e10s: --- → m8+
Ever confirmed: true
Ok, it's an addon. ^^

I tested in Nightly with e10s, it didn't work either. So I don't think this add-on is broken by e10s, but maybe more by a bugfix.
Sorry, "without e10s". I'll try to bisect, maybe it's Addon Tech Evang bug.
When installing the add-on, there is this error message in the browser console:
1433460755967	addons.xpi	WARN	Error loading bootstrap.js for {c37bac34-849a-4d28-be41-549b2c76c64e}: SyntaxError: expected expression, got keyword 'let' (resource://gre/modules/addons/XPIProvider.jsm -> jar:file:///C:/Users/xxx/AppData/Roaming/Mozilla/Firefox/Profiles/vmy0xy11.batch16/extensions/%7Bc37bac34-849a-4d28-be41-549b2c76c64e%7D.xpi!/bootstrap.js:653:23) JS Stack trace: @XPIProvider.jsm:4535:1 < XPI_loadBootstrapScope@XPIProvider.jsm:4535:7 < XPI_callBootstrapMethod@XPIProvider.jsm:4610:1 < AI_startInstall/<@XPIProvider.jsm:6024:1

Regression range:
http://hg.mozilla.org/mozilla-central/pushloghtml?fromchange=b9424d63fe35&tochange=3e737d30f842

It's due to:
Chris Peterson — Bug 1023609 - Remove SpiderMonkey support for nonstandard let expressions. r=shu

So I guess the add-on author needs to update his code.
Blocks: 1023609
No longer blocks: e10s, e10s-tests
Component: Untriaged → Extension Compatibility
Keywords: addon-compat
Summary: [E10s] Yahoo Mail Hide Ad Panel is not hiding ads → Yahoo Mail Hide Ad Panel add-on stops working after removing SpiderMonkey support for let expressions
CC'ing Chris to have his thoughts.
Flags: needinfo?(cpeterson)
@Loic: thanks for debugging this regression. This information is very helpful! :)

The problem is that the URIMatcher function is using a nonstandard let expression. The function also uses the function closure and RegExp.$1 and $2 static properties, nonstandard SpiderMonkey features which are deprecated, but not yet removed.

                return let (re = RegExp(RegExp.$1, RegExp.$2))
                    function (uri) re.test(uri.spec);

@Jorge: can you please contact Piyush Soni, the developer of this add-on, through AMO? The developer's name does not appear in Bugzilla's needinfo autocomplete list.

https://addons.mozilla.org/en-US/firefox/user/irrationalapps/

@Kris: The attached bootstrap.js looks like it was copied from your Scriptify add-on, which is also affected by this URIMatcher bug.
Flags: needinfo?(kmaglione+bmo)
Flags: needinfo?(jorge)
Flags: needinfo?(cpeterson)
Keywords: regression
Ah, I thought I'd gotten rid of let expressions in all of my add-ons. Thanks. I'll have an update out tomorrow.
Flags: needinfo?(kmaglione+bmo)
I sent a message to the developer via AMO.
Flags: needinfo?(jorge)
Add-on author here (@Jorge: Thanks for informing!). Yes, I used Kris's Scriptify to create it. For now I will fix the bug manually (separately) in my branch as I cannot upgrade to newer versions of Scriptify (including 0.2.6 and 0.2.7) because of this bug with it : https://code.google.com/p/scriptify/issues/detail?id=12  (GM_addStyle doesn't work). It is important for me to get that working. 

@Kris: (@kmag), it'll be great if I can get a word from you about the above bug. If you could help me, I'll be able to be benefitted from 0.2.7 and above. Are you fixing the 'let' expression issue in a private repository? I don't see that in your github repositories of code.google.com ( https://github.com/kmaglione?tab=repositories ) - in case I want to match my fix with yours.

@Chris: I just tried, and it seems my name does appear in the auto complete list (though the email address is different from what I have at AMO). 

Thanks!
Piyush Soni
Flags: needinfo?(kmaglione+bmo)
Flags: needinfo?(cpeterson)
Thanks, Piyush! :)
Assignee: nobody → piyush_soni
Status: NEW → ASSIGNED
Flags: needinfo?(cpeterson)
This took longer than I expected. There were some other changes I needed to make to fully support newer nightlies. There's a new version live on AMO now. Please use that rather than making these changes yourself.

I need to migrate that project to Github before I can publish any changes to a public repository, so AMO is your best bet at the moment.
Flags: needinfo?(kmaglione+bmo)
@Kris: 
Thanks very much. Yes, I have no intention of making the changes myself if Scriptify works as intended. 
I just tried the latest version (0.2.8), and it sits endlessly on 'Create add-on' dialog (with the status : 'downloading' displayed on it). There's already a bug filed about it on your code.google.com repository for the previous version: https://code.google.com/p/scriptify/issues/detail?id=16 along with the other issue that I have created about GM_addStyle not working for 0.2.6 and 0.2.7. I don't want to spam the community here, is there a place I can contact you to get these issue resolved (Or if you reply to the issues on code.google.com, that'll be great! ). I am ready to do any investigation on my part if you need. 

Thanks again!
Piyush
Flags: needinfo?(kmaglione+bmo)
You can contact me at my Bugzilla email address.

The necessary bootstrap.js file is in the add-on XPI as `scriptified/bootstrap.js`. If you're having trouble with the UI, you can just replace your current copy with that.
Flags: needinfo?(kmaglione+bmo)
Thanks! The GM_addStyle bug seems to be gone as well ! I will contact if I need any other help. Will upload a new version of my add-on by tomorrow.
Nazir, can you update your add-ons and try to reproduce (verify this is fixed) with latest Nightly?
Flags: needinfo?(na.sb1151)
Ok, I've submitted an updated version of the add-on. How do I mark it fixed from my side (So that it's ready for QA?)
The new version has already passed review.
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
The bug's fix is verified on latest Nightly 42.0a1 (2015-06-29) (Build ID: 20150629134017)

Mozilla/5.0 (X11; Linux x86_64; rv:42.0) Gecko/20100101 Firefox/42.0
Status: RESOLVED → VERIFIED
QA Whiteboard: [Bugday-20150701]
Flags: needinfo?(na.sb1151)
Whiteboard: [Bugday-20150701]
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: