- 1 Testing Staged Blocklist
- 2 Forcing a Blocklist Ping
- 3 Testing Graphics Blocklist entries
- 4 Quickly Checking Features
- 5 Testing on Android
- 6 Logging States
- 7 Upgrade Testing
- 8 Flash (Downloading/Uninstalling)
- 9 Java (Downloading/Installing/Uninstalling)
- 10 Silverlight (Downloading)
Testing Staged Blocklist
To test a staged block:
- Go to about:config, find the
extensions.blocklist.urlpref and change the
blocklist.addons.mozilla.orgpart of the value to
Forcing a Blocklist Ping
- In Firefox 30 and above, you must first enable chrome debugging
- Open the debugging tools (Tools Menu > Web Developer > Web Console) on Windows -> ALT key to expose the menu bar.
- Open the Options Panel (Gear icon on the developer tools toolbar, left of the Console Tab)
- Find and check Advanced Settings > Enabled chrome debugging
- You can also enabled chrome debugging via the
devtools.chrome.enabledpreference under about:config
- You can also enabled chrome debugging via the
- Restart Firefox
- Open Browser Console (Tools > Web Developer > Browser Console)
- Paste and run this snippet:
Testing Graphics Blocklist entries
(Note: this only applies to Windows.)
- If the blocklist entry is on staging, see above for testing a staged blocklist first.
- Ensure you're currently hardware accelerated by opening about:support and looking at the Graphics section. Check that you have:
- Direct2D true (if on Windows 7 or Vista with the platform update)
- Hardware accelerated windows 1/1 Direct3D 9 (or 10)
- Force a blocklist ping, as above.
- Wait 5 seconds.
- Restart your browser.
- Open about:support and look at the Graphics section again. Ensure that:
- Direct2D is false
- Hardware accelerated windows 0/1
Quickly Checking Features
In addition to the above section, features can also be checked for disabled/enabled status by the following:
|Direct2D (Windows)||about:support will show "Direct2D Enabled: true"||about:support will show "Direct2D Enabled: false"|
|Direct3D 9 Layers (Windows)||about:support will show "GPU Accelerated Windows: 2/2 Direct3D 9" *if it says Direct3D 10, this is not possible to test on this setup||about:support will show "GPU Accelerated Windows: 0/2" and will not list the rendering API|
|Direct3D 10 Layers (Windows)||about:support will show "GPU Accelerated Windows: 2/2 Direct3D 10" *if it says Direct3D 9, this is not possible to test on this setup||about:support will show "GPU Accelerated Windows: 0/2" and will not list the rendering API|
|Direct3D 10.1 Layers (Windows)||about:support will show "GPU Accelerated Windows: 2/2 Direct3D 10" *if it says Direct3D 9, this is not possible to test on this setup||about:support will show "GPU Accelerated Windows: 0/2" and will not list the rendering API|
|OpenGL Layers (Android, Linux, Mac)||about:support will show "GPU Accelerated Windows: 1/1 OpenGL"||about:support will show "GPU Accelerated Windows: 0/1" and will not list the rendering API|
|WebGL, OpenGL Variant (Android, Linux, Mac, sometimes Windows)||about:support will show "WebGL Renderer: <your renderer>" and it will not contain anything about being blocked for a driver version or similar messages *NOTE: if it contains the word "ANGLE" on windows, it is NOT using OpenGL, even if after that it says "OpenGL ES 2.0" or some such||about:support will show "WebGL Renderer: <some error>" which contains some information about why the renderer is blocked|
|WebGL, ANGLE Variant (Windows)||about:support will show "WebGL Renderer: ANGLE( <your render> )" and will not contain anything about being blocked for a driver version or similar messages. *NOTE: DO NOT assume that if it says "OpenGL ES 2.0" or some such that it is using OpenGL; the only important thing is that it says "ANGLE"||about:support will show "WebGL Renderer: <some error>" which contains some information about why the renderer is blocked|
|WebGL MSAA||Go to https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/mozilla/spore/index.html and compare the model to this reference; if it looks like the left image, MSAA is enabled.||Go to https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/demos/mozilla/spore/index.html and compare the model to this reference; if it looks like the right image, MSAA is disabled. *NOTE: this is not a scientific test. MSAA may be disabled but you cannot be certain that it's blocked. the card could simply not support it. the best way to be sure is to download a utility that checks your GPU's available extensions and if antialiasing is not in that list, it is simply not supported|
- NOTE: Direct3D 10 and Direct3D 10.1 are impossible to distinguish visually.
Spoofing Hardware Details for Blocklist Testing
Sometimes you don't have hardware or software available to test a given blocklist entry. On Windows, you can spoof your hardware and software details to the graphics blacklist using environment variables.
|Environment Variable||Sample Value(s)r||Meaning|
|MOZ_GFX_SPOOF_DRIVER_VERSION||22.214.171.12463||The version of the driver you want to spoof.|
|MOZ_GFX_SPOOF_VENDOR_ID||0x1002||The PCI vendor ID of the card you want to spoof.|
|MOZ_GFX_SPOOF_DEVICE_ID||0x3245||The PCI device ID of the card you want to spoof.|
|The numeric ID of the Windows version you want to spoof.|
Testing on Android
Testing on Android is somewhat different than other platforms, especially for the downloadable blocklist. There's no way to force a ping, so the best way to do it is to set the automatic ping interval very low and wait. Here are some settings you should use which are set in about:config:
- "Reset" app.update.lastUpdateTime.blocklist-background-update-timer
- Make sure extensions.blocklist.enabled is true (should default this way)
- Set extensions.blocklist.interval to 10
- "Reset" extensions.blocklist.pingCountTotal
- "Reset" extensions.blocklist.pingCountVersion
Set extensions.blocklist.url to the following to block Nexus S devices from using WebGL: http://people.mozilla.org/~dsherk/blocklist-nexus_s.xml *NOTE: this is just a way to test it. To test blocking on other devices, you will have to write up your own xml file.
Note that, even though the interval is set to 10, it can take several minutes for it to ping. I've found that closing Fennec (by opening the menu and hitting Quit, not just hitting the Home button) and re-opening it makes it ping shortly after start.
Enable logging to help debug via the browser console:
- open a new tab and type about:config into the URL
- change the
- open the browser console using the steps from Forcing a Blocklist Ping and force a ping
You'll receive similar output via the browser console:
Blocklist state for email@example.com@personas.mozilla.org changed from 0 to 0 Blocklist state for Shockwave Flash changed from 0 to 4
The definitions of each state can be found in the following source file
Check when the blocklist was implemented and which version it was implemented. Verify that upgrading to the newest version will not cause an issue. [ outcome from bug 838845 ]
Note: Currently only x86 versions of JRE work with FX, JRE x64 builds will not appear under about:addons or about:plugins [07/15/2015]
Quick guide on downloading older versions of Silverlight:
- View the Silverlight Release History
- Click on the version of Silverlight that you would like to download
- in this example, we'll use Silverlight 5 Build 5.1.41105.0 Released December 8, 2015
- Click on the "Knowledge Base" link for the version you would like to download (Example: KB3106614)
- Once the knowledge base page is opened, look under How to obtain and install the update
- Click on the Microsoft Security Bulletin link that's provided under "Method 2: Microsoft Download Center"
- This will take you to a Microsoft Security Bulletin page that includes the download links to the appropriate version of Silverlight