Closed Bug 1600153 Opened 6 years ago Closed 2 days ago

Two tabs are opened when clicking on external link

Categories

(Core :: Widget: Cocoa, defect, P2)

Desktop
macOS
defect

Tracking

()

RESOLVED DUPLICATE of bug 2055233
Tracking Status
firefox-esr68 --- fix-optional
firefox71 --- wontfix
firefox72 --- wontfix
firefox73 --- wontfix
firefox74 --- wontfix
firefox75 --- wontfix
firefox76 --- fix-optional

People

(Reporter: blake, Assigned: jesse.peden)

References

Details

(Keywords: regression)

Attachments

(1 file, 1 obsolete file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:70.0) Gecko/20100101 Firefox/70.0

Steps to reproduce:

Summary here - https://discussions.apple.com/thread/250833674?answerId=251702252022#251702252022

Since upgrading to catalina macOS, firefox has the following annoying property. If I click on a link outside of firefox (e.g. in a mail message), two firefox windows are always opened. The first one is blank while the second one contains the webpage of the link.

I've tried this with a new/fresh user account under Catalina. Same results... two firefox windows still open up when clicking an email link or link on the desktop.

Actual results:

two firefox windows are always opened. The first one is blank while the second one contains the webpage of the link.

Expected results:

only one window should open. other browsers work just fine.

Forgot to mention, this only happens when the Firefox application is not running.

Hi Blake,

Thanks so much for the details. I was able to reproduce this bug on Mac Catalina on Release 70.0 (64-bit) but not on Nightly 72.0a1 (2019-12-02) (64-bit) nor Beta 71.0 (64-bit). Which means that this bug has already been resolved and it will eventually work on future Firefox Release versions.

Firefox Nightly is made by codes and fixes made by Mozilla developers, that are compiled into a common code repository (Mozilla-central) to create a pre-release version of Firefox for testing purposes. After the code on Nightly matures, it is merged into stabilization repositories (Beta, ESR and Dev Edition) where that code will be polished until reaching the final version of Firefox (Release).

I leave you the link with the Firefox Release Calendar (https://wiki.mozilla.org/Release_Management/Calendar). When Release reaches Beta's (tomorrow) actual version (71) you will no longer encounter the problem.

I’ll mark this ticket as resolved since once the natural cycle is complete you won't have this bug; but feel free to reopen it if you experience this behaviour in the future once the migration to Release has been made.

Best regards, Flor.

Status: UNCONFIRMED → RESOLVED
Closed: 6 years ago
Resolution: --- → WORKSFORME

Thank you Flor!

Multiple users are seeing that Release 70.0 is still showing the issue. Can you please take a second look, and make sure this bug is taken care of for the next release?

Thanks,
Blake

https://discussions.apple.com/thread/250833674?answerId=251702252022#251702252022

Hello,

Under Catalina 10.15.1 (19B88), I just updated Firefox to version 71 and Firefox Developer 72.0b2 and the bug is still present.

If Firefox is not open, all clicks on an external link (email, desktop, etc.) always open 2 windows (1 empty and then one containing the link)

It should reopen this bug, thank you in advance

Cordialy

Hello,

Under Catalina 10.15.1 (19B88), I just updated Firefox to version 71 and Firefox Developer 72.0b2 and the bug is still present.

If Firefox is not open, all clicks on an external link (email, desktop, etc.) always open 2 windows (1 empty and then one containing the link)

It should reopen this bug, thank you in advance

Cordialy

Hi,

Thanks for the details. I apologize for the inconveniences, you are correct, I was able to reproduce the bug on Mac Catalina on the following versions:

Release 71.0 (64-bit) and Nightly 73.0a1 (2019-12-04) (64-bit).

Doing a Mozregression by hand I noticed that this issue was created by version 72.0a1, build ID 20191201093732.

I've chosen a component. If you consider that there's another component that's more proper for this case you may change it.

Best regards, Flor.

Status: RESOLVED → REOPENED
Component: Untriaged → New Tab Page
Ever confirmed: true
Resolution: WORKSFORME → ---

Thank's Flor. ;-)

Component: New Tab Page → Widget: Cocoa
OS: Unspecified → macOS
Product: Firefox → Core
Hardware: Unspecified → Desktop

(In reply to Florencia Di Ciocco from comment #7)

Doing a Mozregression by hand I noticed that this issue was created by version 72.0a1, build ID 20191201093732.

Could you provide the URL to the regression range that mozregression returned for this?

Flags: needinfo?(florencia.di.ciocco)

Hi Stephen,

I cannot provide the URL since this is a bug that only happens if FF is not running, therefore Mozregression cannot be done (that is why I had to do it manually.)

Regards, Flor.

Flags: needinfo?(florencia.di.ciocco)

I misunderstood your comment 7 and thought you had figured out a way of running mozregression in this instance.

This is most likely a duplicate of bug 1580799.

Priority: -- → P2
See Also: → 1580799

Bugbug thinks this bug is a regression, but please revert this change in case of error.

Keywords: regression

Same issue with Firefox 72.0.1 on macOS 10.15.2. Do not see this issue on a similarly configured system running macOS 10.14. Hoping for a fix soon, very annoying behavior.

A colleague of mine who's experiencing this bug and I had a look at the code and found two possible sources of this bug:

  • There is a possible race condition between setting up the event handlers and nsCommandLineServiceMac::sBuildingCommandLine, statically set to false and set to true in the startup path, which can lead to two cmdLines being created: one in the main process startup path and one in the openURL-call created by the event handler, where nsCommandLineServiceMac::AddURLToCurrentCommandLine returns false because SetupMacCommandLine hasn't been called from the main thread yet.
  • openURL returns NO when the URL is added to the startup URLs. openFile returns YES in that case, which should be the correct return value, but I don't think it actually matters, since I don't see a caller that actually cares about the return value. I may have missed something, since I'm not familiar with the code.

I don't run macOS and don't have Objective-C++ experience, so I can't actually create a patch or test any of this.

After having had another look, the native event loop should not be running yet during the window for the aforementioned race condition, since it's started via XRE_mainRun which eventually calls nsAppShell:Run -> nsAppStartup::Run -> nsApp:Run, so this apparently can't be the cause :/

Please refrain from posting any more "me-too" comments. I have taken a look at this bug and the most promising approach is to rework the way we handle external links by not appending them to a "command line", but rather leverage our session restore mechanism in some shape or form. I have other important work to wrap up and will then take another look at this.

Hi, everyone -

This has turned into a bit of a pile-on, so I'm going to restrict this bug to editbugs-privileged users only. If anyone has something they would like to add to this bug that would materially move it towards a resolution or has any further concerns please fell free to contact me directly and I'll make sure to add it to the bug.

Please bear in mind that, like all Mozilla forums, Bugzilla is governed by the Mozilla Community Participation Guidelines as well as the Bugzilla etiquette guidelines, available here:

https://www.mozilla.org/en-US/about/governance/policies/participation/
https://bugzilla.mozilla.org/page.cgi?id=etiquette.html

As you can see from my colleague's description above, the solution to this bug is unlikely to be as simple and obvious as its symptoms; thank you for bearing with us while we prioritize and schedule the work we need to do to to get it fixed.

Restrict Comments: true
Severity: normal → S3
See Also: → 1715775

Another report about this on Twitter: https://twitter.com/thecesrom/status/1406706145092259841

Version: 70 Branch → unspecified

I can confirm this is still an issue in the latest versions of firefox. Taking this bug as I'm actively working on it.

Assignee: nobody → kwright

The severity field for this bug is relatively low, S3. However, the bug has 18 duplicates and 53 CCs.
:KrisWright, could you consider increasing the bug severity?

For more information, please visit auto_nag documentation.

Flags: needinfo?(kwright)
Flags: needinfo?(kwright)
See Also: → 1779905

Removing my assignment on this bug as I haven't had the free time to work on it for a few months. I will revisit this if I have the time. Here's some things I was able to gather from investigating:

  • This bug is happening early in startup, somewhere during our command line firing phase
  • This bug is not an issue of exercising our actual command line building in nsCommandLineService; rather, this build phase seems to be fired twice from a location that I haven't been able to pinpoint.
  • There is no race in the command line building step in nsCommandLineService; rather, it seems this is happening some time before or after we set the flag to indicate that we are building a command line. Therefore, setting a monitor or other check hasn't been an effective fix.

From here we'd need to investigate where exactly we're opening the two instances of Firefox from; this is very early in our startup code and in my experience it is very difficult to debug. For anyone who would like to try this yourself, I'd suggest packaging your changes into a build and using the open with option from a desktop link to see how many windows you get.

Assignee: kwright → nobody
Duplicate of this bug: 1797492
See Also: → 1792466

Is this still reproducible? I just tested in macOS Ventura with Firefox 107 and could not reproduce.

(In reply to Dave Townsend [:mossop] from comment #61)

Is this still reproducible? I just tested in macOS Ventura with Firefox 107 and could not reproduce.

Actually it does reproduce, seems intermittent somehow though.

Apparently this has been fixed by Bug 1792466

Can we close this as fixed by bug 1792466, or can you still reproduce?

Flags: needinfo?(dtownsend)

(In reply to Dave Townsend [:mossop] from comment #62)

Actually it does reproduce, seems intermittent somehow though.

Did you end up finding out what causes it?

(In reply to Marco Castelluccio [:marco] from comment #64)

Can we close this as fixed by bug 1792466, or can you still reproduce?

Bug 1792466 has changed the nature of this bug slightly. Now instead of two windows we end up with two tabs, one the new tab page and the other blank. This doesn't match the behaviour on other platforms so I would still consider this to be a bug.

(In reply to Markus Stange [:mstange] from comment #65)

Did you end up finding out what causes it?

Bug 1792466 (or specifically this changeset) resolved a race condition where if we received an external request to open a new url and a browser window was in the process of being opened but had not yet completed loading we would open a second window for the new url.

So I think what is going on is on macOS when we get to the point of seeing the url that the user tried to open we've already started opening the first browser window. Prior to bug 1792466 that meant that we'd go ahead and open a new browser window for the url but now we wait for the inititial browser window to open and then open a new tab in it.

Flags: needinfo?(dtownsend)
Summary: macOS 10.15 Catalina - two firefox windows are opened when clicking on external link → Two tabs are opened when clicking on external link

Apparently this has been fixed by Bug 1792466

I don't know if it's since bug 1792466 (that was fixed in Firefox 109 Nightly) but compared to Firefox 108 Beta the bevaviour is much worse in Firefox 109 Nightly.

Until Firefox 108 Beta Firefox used to open two windows: one windows with the last session and another one with the opened link. Now Firefox only starts the window with the last session. The URL from the link does not open at all, neither in a new window nor in a new tab. Clicking a link just opens Firefox and you have to press the link in the email a second time to open it in Firefox.

(In reply to Sören Hentzschel from comment #67)

Apparently this has been fixed by Bug 1792466

I don't know if it's since bug 1792466 (that was fixed in Firefox 109 Nightly) but compared to Firefox 108 Beta the bevaviour is much worse in Firefox 109 Nightly.

Until Firefox 108 Beta Firefox used to open two windows: one windows with the last session and another one with the opened link. Now Firefox only starts the window with the last session. The URL from the link does not open at all, neither in a new window nor in a new tab. Clicking a link just opens Firefox and you have to press the link in the email a second time to open it in Firefox.

Can you file a separate bug for this and link it to this one? It's not a given that it gets fixed when this bug does.

Flags: needinfo?(soeren.hentzschel)
Duplicate of this bug: 1766296
Duplicate of this bug: 1816418

Can you file a separate bug for this and link it to this one? It's not a given that it gets fixed when this bug does.

Sure, Gijs. I filed bug 1818194.

Flags: needinfo?(soeren.hentzschel)
Duplicate of this bug: 1836355
Duplicate of this bug: 1836259
Duplicate of this bug: 1840669
Duplicate of this bug: 1852934
Duplicate of this bug: 2024000

When launched by an external link, macOS delivers the URL twice: once during the InitializeMacApp() inner run loop (correctly captured into StartupURLs()), and again after applicationDidFinishLaunching: fires as a safety net. The second delivery hits the post-launch path in openURLs: and opens a duplicate tab.

Fix: retain the startup-collected URLs in sHandledStartupURLs after TakeStartupURLs() and suppress matching re-deliveries, consuming each entry so later genuine opens of the same URL are unaffected.

Assignee: nobody → jesse.peden
Attachment #9587502 - Flags: approval-mozilla-release?
Attachment #9587502 - Attachment description: Fix for Bug ID 1600153 → Bug 1600153: Prevent opening of duplicate tabs when clicking on external links on macOS.

Comment on attachment 9587502 [details]
Bug 1600153: Prevent opening of duplicate tabs when clicking on external links on macOS.

Clearing release uplift approval. The revision was incorrectly targeting the release repo and has been changed to autoland.

Attachment #9587502 - Flags: approval-mozilla-release?
Attachment #9587502 - Attachment is obsolete: true
Attachment #9587502 - Attachment is obsolete: false
See Also: → 2055233

Worth checking if bug 2055233 helped here.

Was this issue resolved by bug 2055233?

Flags: needinfo?(jesse.peden)

(In reply to Dave Townsend [:mossop] from comment #80)

Was this issue resolved by bug 2055233?

https://phabricator.services.mozilla.com/D301214#10940954

Flags: needinfo?(jesse.peden)

(In reply to Stephen A Pohl from comment #81)

(In reply to Dave Townsend [:mossop] from comment #80)

Was this issue resolved by bug 2055233?

https://phabricator.services.mozilla.com/D301214#10940954

I'm confused about that and I can't reproduce this at all, so it's hard to investigate... Does someone have consistent steps to reproduce / prerequisites to hit this bug? It seems at least:

  • Firefox is the default browser on macOS.
  • Session restore is enabled ("Open previous windows and tabs").

But just with those two things, nightly works alright. Before that patch, the url didn't open (that's what bug 2055233 fixed), but the window was properly restored.

So to the extent that this still repros on Nightly, as claimed by comment 81... How? What do I need to reproduce this bug?

Restrict Comments: false

Something that I've noticed and which seems broken is that if I open multiple HTML files from finder, only one opens on startup. Other browsers also have that behavior, but if the browser is launched already, Chrome deals with this fine and we don't. That seems like a separate bug to this, tho.

(In reply to Emilio Cobos Álvarez [:emilio] from comment #82)

(In reply to Stephen A Pohl from comment #81)

(In reply to Dave Townsend [:mossop] from comment #80)

Was this issue resolved by bug 2055233?

https://phabricator.services.mozilla.com/D301214#10940954

I'm confused about that and I can't reproduce this at all, so it's hard to investigate... Does someone have consistent steps to reproduce / prerequisites to hit this bug? It seems at least:

  • Firefox is the default browser on macOS.
  • Session restore is enabled ("Open previous windows and tabs").

But just with those two things, nightly works alright. Before that patch, the url didn't open (that's what bug 2055233 fixed), but the window was properly restored.

So to the extent that this still repros on Nightly, as claimed by comment 81... How? What do I need to reproduce this bug?

To make sure we're on the same page, here is the about:support output from my non-nightly installation of Firefox:

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

Name: Firefox
Version: 153.0.1
Build ID: 20260727124451
Distribution ID:
Update Channel: release
User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:153.0) Gecko/20100101 Firefox/153.0
OS: Darwin 25.6.0 Darwin Kernel Version 25.6.0: Sat Jul 11 15:26:21 PDT 2026; root:xnu-12377.161.13~4/RELEASE_ARM64_T6000
Rosetta Translated: false
Multiprocess Windows: 1/1
Fission Windows: 1/1 Enabled by default
Remote Processes: 9
Enterprise Policies: Inactive
Google Location Service Key: Found
Google Safebrowsing Key: Found
Mozilla Location Service Key: Found
Safe Mode: false
Memory Size (RAM): 16.0 GB
Disk Space Available: 70.8 GB

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

Remote Features
---------------

bug-1693420-rollout-sponsored-top-sites-rollout-release-84-100: active
bug-1766618-rollout-disable-websocket-over-http2-release-91-100: active
bug-1802286-rollout-fix-webcompat-shim-breakage-release-103-107: active
rollout-increasing-normandy-skew-out-changes-from-15-m-release-73-75-bug-1616898: active
rollout-monitor-v2-1505837: active
Rollout - Add "set to default" entrypoint to Firefox MacOS app menu: (control)
Additional Sponsored Content Stories in New Tab: (rollout)
Address Autofill Desktop ( Pref, Release Rollout ): (enable-address-autofill)
Campaign Effectiveness Test 2: (control)
Compression Dictionaries Rollout - 153 release: (control)
Context ID rotation every 3 days: (control)
Disable legacy spoc ping by default: (control)
Disable legacy top-sites ping by default: (control)
Discovery CFR for Built-in VPN (New User Promo Only) - summer-promo Rollout: (summer-promo)
Enable Enrollment Status Telemetry for Firefox Desktop (via nimbusTelemetry): (control)
Enable OHTTP for MARS communications on Release: (control)
Limit use of OCSP - Rollout: (enforce)
Fast UDP for Firefox - Treatment Fast UDP Release Rollout: (treatment-fast-udp)
Fox Doodle Multi-Action CTA 2025 - Dummy Rollout V2: (treatment-a)
Fx Accounts Ping (release rollout 2): (control)
HNT Wattle / WCW Pref Flip, Jul 22: (no-wcw)
HNT Wattle / World Cup Live Timing Rollout, June 15: (control)
Multiple Profile Switching Rollout Messages only: (treatment-a-multi-profiles)
New Tab 154.8.20260716.43450 to Release 152 (WCW v9): (rollout)
New Tab Automated Personalization Rollout (v2): (personalized-stories)
OHTTP Merino Content Recs Rollout: (enable-ohttp)
Pin Frequently Used Websites - Promo Rollout, Day 3+ users, All Locales: (rollout-branch)
Product Insight Telemetry via Server Knobs - Rollout - Release: (control-rollout)
Relay integration into Firefox Release for all FXA users: (enable-relay-integration)
Remote Settings v2 Rollout: (v2)
Restore CHIPS (133+): (control)
smart shortcuts v4p1 rollout: (thom)
Split View Onboarding - Rollout: (rollout-branch)
Store New Tab content interactions locally: (store-events)
TOU Experience 2 - Rollout V2: (treatment-a)
Unified API for spocs and top sites - controlled rollout for release 133+: (control)
Built-in VPN Beta - Rollout to more countries: (mvp-beta)

Remote Processes
----------------

Type: Preallocated
Count: 3

Type: GPU
Count: 1

Type: Privileged About
Count: 1

Type: Socket
Count: 1

Type: Extension
Count: 1

Type: RDD
Count: 1

Type: Utility JavaScript Oracle
Count: 1

Add-ons
-------

Name: Add-ons Search Detection
Type: extension
Version: 3.0.0
Enabled: true
Location: app-builtin-addons
ID: addons-search-detection@mozilla.com

Name: Form Autofill
Type: extension
Version: 1.0.1
Enabled: true
Location: app-builtin-addons
ID: formautofill@mozilla.org

Name: IPP Activator
Type: extension
Version: 0.2.20260622.182020
Enabled: true
Location: app-system-addons
ID: ipp-activator@mozilla.com

Name: New Tab
Type: extension
Version: 154.8.20260716.43450
Enabled: true
Location: app-profile
ID: newtab@mozilla.org

Name: Picture-In-Picture
Type: extension
Version: 1.0.0
Enabled: true
Location: app-builtin-addons
ID: pictureinpicture@mozilla.org

Name: Web Compatibility Interventions
Type: extension
Version: 153.9.0
Enabled: true
Location: app-builtin-addons
ID: webcompat@mozilla.org

Name: System theme — auto
Type: theme
Version: 1.4.2
Enabled: true
Location: app-builtin
ID: default-theme@mozilla.org

Name: 1Password – Password Manager
Type: extension
Version: 8.12.28.25
Enabled: false
Location: app-profile
ID: {d634138d-c276-4fc8-924b-40a0ea21d284}

Name: AdBlocker for YouTube™
Type: extension
Version: 0.5.4
Enabled: false
Location: app-profile
ID: jid1-q4sG8pYhq8KGHs@jetpack

Name: Cisco Webex Extension
Type: extension
Version: 1.20.2
Enabled: false
Location: app-profile
ID: ciscowebexstart1@cisco.com

Name: Copy PlainText
Type: extension
Version: 1.15
Enabled: false
Location: app-profile
ID: copyplaintext@eros.man

Name: Discrub - Discord Message Manager
Type: extension
Version: 2.0.8
Enabled: false
Location: app-profile
ID: prathercc@gmail.com

Name: Don't Fuck With Paste
Type: extension
Version: 2.7
Enabled: false
Location: app-profile
ID: DontFuckWithPaste@raim.ist

Name: Ghostery AdBlocker for Privacy
Type: extension
Version: 10.5.52
Enabled: false
Location: app-profile
ID: firefox@ghostery.com

Name: Privacy | Protect Your Payments
Type: extension
Version: 2.4.17
Enabled: false
Location: app-profile
ID: privacy@privacy.com

Name: Tampermonkey
Type: extension
Version: 5.5.0
Enabled: false
Location: app-profile
ID: firefox@tampermonkey.net

Name: User-Agent Switcher
Type: extension
Version: 1.4.102
Enabled: false
Location: app-profile
ID: user-agent-switcher@ninetailed.ninja

Name: Dark
Type: theme
Version: 1.3.4
Enabled: false
Location: app-builtin
ID: firefox-compact-dark@mozilla.org

Name: Firefox Alpenglow
Type: theme
Version: 1.5.3
Enabled: false
Location: app-builtin
ID: firefox-alpenglow@mozilla.org

Name: Light
Type: theme
Version: 1.3.4
Enabled: false
Location: app-builtin
ID: firefox-compact-light@mozilla.org

Legacy User Stylesheets
-----------------------

Active: false
Stylesheets: No stylesheets found

Graphics
--------

Features
Window Device Pixel Ratios: 2
Compositing: WebRender
Font Visibility Debug Info: macOS PlatformmacOS 26.6.0
Asynchronous Pan/Zoom: wheel input enabled; scrollbar drag enabled; keyboard enabled; autoscroll enabled; smooth pinch-zoom enabled
WebGL 1 Driver WSI Info: CGL
WebGL 1 Driver Renderer: Apple -- Apple M1 Pro
WebGL 1 Driver Version: 4.1 Metal - 90.5
WebGL 1 Driver Extensions: GL_ARB_blend_func_extended GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_ES2_compatibility GL_ARB_explicit_attrib_location GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader5 GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_occlusion_query2 GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_subroutine GL_ARB_shading_language_include GL_ARB_tessellation_shader GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_swizzle GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_vertex_attrib_64bit GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_sRGB_decode GL_APPLE_client_storage GL_APPLE_container_object_shareable GL_APPLE_flush_render GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_texture_range GL_NV_texture_barrier
WebGL 1 Extensions: ANGLE_instanced_arrays EXT_blend_minmax EXT_color_buffer_half_float EXT_depth_clamp EXT_float_blend EXT_frag_depth EXT_shader_texture_lod EXT_sRGB EXT_texture_compression_rgtc EXT_texture_filter_anisotropic MOZ_debug OES_element_index_uint OES_fbo_render_mipmap OES_standard_derivatives OES_texture_float OES_texture_float_linear OES_texture_half_float OES_texture_half_float_linear OES_vertex_array_object WEBGL_color_buffer_float WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_depth_texture WEBGL_draw_buffers WEBGL_lose_context WEBGL_provoking_vertex
WebGL 2 Driver WSI Info: CGL
WebGL 2 Driver Renderer: Apple -- Apple M1 Pro
WebGL 2 Driver Version: 4.1 Metal - 90.5
WebGL 2 Driver Extensions: GL_ARB_blend_func_extended GL_ARB_draw_buffers_blend GL_ARB_draw_indirect GL_ARB_ES2_compatibility GL_ARB_explicit_attrib_location GL_ARB_gpu_shader_fp64 GL_ARB_gpu_shader5 GL_ARB_instanced_arrays GL_ARB_internalformat_query GL_ARB_occlusion_query2 GL_ARB_sample_shading GL_ARB_sampler_objects GL_ARB_separate_shader_objects GL_ARB_shader_bit_encoding GL_ARB_shader_subroutine GL_ARB_shading_language_include GL_ARB_tessellation_shader GL_ARB_texture_buffer_object_rgb32 GL_ARB_texture_cube_map_array GL_ARB_texture_gather GL_ARB_texture_query_lod GL_ARB_texture_rgb10_a2ui GL_ARB_texture_storage GL_ARB_texture_swizzle GL_ARB_timer_query GL_ARB_transform_feedback2 GL_ARB_transform_feedback3 GL_ARB_vertex_attrib_64bit GL_ARB_vertex_type_2_10_10_10_rev GL_ARB_viewport_array GL_EXT_debug_label GL_EXT_debug_marker GL_EXT_framebuffer_multisample_blit_scaled GL_EXT_texture_compression_s3tc GL_EXT_texture_filter_anisotropic GL_EXT_texture_sRGB_decode GL_APPLE_client_storage GL_APPLE_container_object_shareable GL_APPLE_flush_render GL_APPLE_rgb_422 GL_APPLE_row_bytes GL_APPLE_texture_range GL_NV_texture_barrier
WebGL 2 Extensions: EXT_color_buffer_float EXT_depth_clamp EXT_float_blend EXT_texture_compression_rgtc EXT_texture_filter_anisotropic MOZ_debug OES_draw_buffers_indexed OES_texture_float_linear WEBGL_compressed_texture_s3tc WEBGL_compressed_texture_s3tc_srgb WEBGL_debug_renderer_info WEBGL_debug_shaders WEBGL_lose_context WEBGL_provoking_vertex
Target Frame Rate: 120
WebGPU Default Adapter: { "navigator.gpu.requestAdapter({})": { "info": { "architecture": "", "description": "", "device": "", "isFallbackAdapter": false, "subgroupMaxSize": 128, "subgroupMinSize": 4, "vendor": "", "wgpuBackend": "Metal", "wgpuDevice": 0, "wgpuDeviceType": "IntegratedGpu", "wgpuDriver": "", "wgpuDriverInfo": "", "wgpuName": "Apple M1 Pro", "wgpuVendor": 0 }, "features": [ "bgra8unorm-storage", "core-features-and-limits", "depth-clip-control", "depth32float-stencil8", "float32-filterable", "indirect-first-instance", "rg11b10ufloat-renderable", "shader-f16", "texture-compression-astc", "texture-compression-astc-sliced-3d", "texture-compression-bc", "texture-compression-bc-sliced-3d", "texture-compression-etc2", "timestamp-query" ], "limits": { "maxBindGroups": 8, "maxBindGroupsPlusVertexBuffers": 24, "maxBindingsPerBindGroup": 4294967295, "maxBufferSize": 1073741824, "maxColorAttachmentBytesPerSample": 64, "maxColorAttachments": 8, "maxComputeInvocationsPerWorkgroup": 1024, "maxComputeWorkgroupSizeX": 1024, "maxComputeWorkgroupSizeY": 1024, "maxComputeWorkgroupSizeZ": 1024, "maxComputeWorkgroupStorageSize": 32768, "maxComputeWorkgroupsPerDimension": 65535, "maxDynamicStorageBuffersPerPipelineLayout": 8, "maxDynamicUniformBuffersPerPipelineLayout": 12, "maxInterStageShaderVariables": 31, "maxSampledTexturesPerShaderStage": 64, "maxSamplersPerShaderStage": 16, "maxStorageBufferBindingSize": 1073741824, "maxStorageBuffersInFragmentStage": 8, "maxStorageBuffersInVertexStage": 8, "maxStorageBuffersPerShaderStage": 8, "maxStorageTexturesInFragmentStage": 32, "maxStorageTexturesInVertexStage": 32, "maxStorageTexturesPerShaderStage": 32, "maxTextureArrayLayers": 2048, "maxTextureDimension1D": 16384, "maxTextureDimension2D": 16384, "maxTextureDimension3D": 2048, "maxUniformBufferBindingSize": 1073741824, "maxUniformBuffersPerShaderStage": 12, "maxVertexAttributes": 31, "maxVertexBufferArrayStride": 2048, "maxVertexBuffers": 8, "minStorageBufferOffsetAlignment": 32, "minUniformBufferOffsetAlignment": 256 } } }
WebGPU Fallback Adapter: { "navigator.gpu.requestAdapter({\"forceFallbackAdapter\":true})": null }
GPU #1
Active: Yes
Vendor ID: 0x106b
RAM: 0
Diagnostics
AzureCanvasBackend: skia
AzureCanvasBackend (UI Process): skia
AzureContentBackend: skia
AzureContentBackend (UI Process): skia
AzureFallbackCanvasBackend (UI Process): skia
CMSOutputProfile: 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
Display0: 3024x1964@0Hz scales:2.000000|2.000000 HDR 100/1600 nits
DisplayCount: 1
GPUProcessPid: 1623
Font Visibility Debug Info: macOS PlatformmacOS 26.6.0
Decision Log
HW_COMPOSITING:
default: available,
OPENGL_COMPOSITING:
default: available,
GPU_PROCESS:
default: available,
WEBRENDER:
default: available,
WEBRENDER_COMPOSITOR:
default: available,
WEBRENDER_PARTIAL:
default: disabled, User disabled via pref, Blocklisted; failure code FEATURE_FAILURE_DISABLED
WEBRENDER_SHADER_CACHE:
default: disabled, Disabled by default, Blocklisted; failure code FEATURE_FAILURE_DISABLED
WEBRENDER_OPTIMIZED_SHADERS:
default: available,
WEBRENDER_ANGLE:
default: available,
env: unavailable, OS not supported, Blocklisted; failure code FEATURE_FAILURE_OS_NOT_SUPPORTED
WEBRENDER_DCOMP_PRESENT:
default: available,
user: disabled, User disabled via pref, Blocklisted; failure code FEATURE_FAILURE_DCOMP_PREF_DISABLED
runtime: unavailable, Requires ANGLE, Blocklisted; failure code FEATURE_FAILURE_DCOMP_NOT_ANGLE
WEBRENDER_SCISSORED_CACHE_CLEARS:
default: available,
WEBGPU:
default: available,
HARDWARE_VIDEO_DECODING:
default: available,
HARDWARE_VIDEO_DECODING_VULKAN:
default: available,
user: disabled, User disabled via media.hardware-video-decoding-vulkan.enabled, Blocklisted; failure code FEATURE_HARDWARE_VIDEO_DECODING_VULKAN_PREF_DISABLED
HARDWARE_VIDEO_ENCODING:
default: available,
VP8_HW_DECODE:
default: available,
VP9_HW_DECODE:
default: available,
BACKDROP_FILTER:
default: available,
CANVAS_RENDERER_THREAD:
default: available,
ACCELERATED_CANVAS2D:
default: available,
AV1_HW_DECODE:
default: available,
VP8_HW_ENCODE:
default: available,
VP9_HW_ENCODE:
default: available,
AV1_HW_ENCODE:
default: available,
GL_NORM16_TEXTURES:
default: available,
WEBGPU_EXTERNAL_TEXTURE:
default: available,
WEBGL:
default: available,
VIDEO_HDR:
default: available,

Media
-----

Audio Backend: audiounit-rust
Max Channels: 2
Preferred Sample Rate: 48000
Codec Support Information:
Codec Name: Software Decoding, Hardware Decoding, Software Encoding, Hardware Encoding
H264: Supported, Supported, Unsupported, Unsupported
VP9: Supported, Supported, Unsupported, Unsupported
VP8: Supported, Unsupported, Unsupported, Unsupported
AV1: Supported, Unsupported, Unsupported, Unsupported
HEVC: Supported, Supported, Unsupported, Unsupported
AAC: Supported, Unsupported, Unsupported, Unsupported
MP3: Supported, Unsupported, Unsupported, Unsupported
Opus: Supported, Unsupported, Unsupported, Unsupported
Vorbis: Supported, Unsupported, Unsupported, Unsupported
FLAC: Supported, Unsupported, Unsupported, Unsupported
Wave: Supported, Unsupported, Unsupported, Unsupported
Output Devices
Name: Group, Vendor, State, Preferred, Format, Channels, Rate, Latency
MacBook Pro Speakers: builtin-internal-mic|spk, Apple Inc., Enabled, All, default: F32LE, support: S16LE S16BE F32LE F32BE, 2, default: 48000, support: 44100 - 96000, 775 - 4856
Microsoft Teams Audio Device: MSLoopbackDriverDevice_ModelUID, Microsoft Corp., Enabled, None, default: F32LE, support: S16LE S16BE F32LE F32BE, 1, default: 48000, support: 48000 - 48000, 15 - 4096
Input Devices
Name: Group, Vendor, State, Preferred, Format, Channels, Rate, Latency
MacBook Pro Microphone: builtin-internal-mic|spk, Apple Inc., Enabled, All, default: F32LE, support: S16LE S16BE F32LE F32BE, 1, default: 48000, support: 44100 - 96000, 1454 - 5535
Microsoft Teams Audio Device: MSLoopbackDriverDevice_ModelUID, Microsoft Corp., Enabled, None, default: F32LE, support: S16LE S16BE F32LE F32BE, 1, default: 48000, support: 48000 - 48000, 15 - 4096
MiPhone Microphone: iPhone Mic, Apple Inc., Enabled, None, default: F32LE, support: S16LE S16BE F32LE F32BE, 1, default: 48000, support: 48000 - 48000, 6015 - 10096
Content Decryption Modules Information
Key System Name: Video Robustness, Audio Robustness, Capabilities, Clear Lead
org.w3.clearkey: {"persistent":"Optional","distinctive":"NotAllowed","sessionType":"[Temporary]","codec":{"decodingAndDecrypting":[],"decryptingOnly":["h264(all)","aac(all)","flac(all)","opus(all)","vp9(all)","av1(all)","vorbis(all)","vp8(all)"]}}, No
com.widevine.alpha: SW_SECURE_CRYPTO,SW_SECURE_DECODE, SW_SECURE_CRYPTO, {"persistent":"Optional","distinctive":"NotAllowed","sessionType":"[Temporary]","codec":{"decodingAndDecrypting":["h264(all)","vp9(all)","av1(all)","vp8(all)"],"decryptingOnly":["aac(all)","flac(all)","opus(all)","vorbis(all)"]}}, Yes

Environment Variables
---------------------

MOZ_CRASHREPORTER_RESTART_ARG_1:
MOZ_LAUNCHED_CHILD:
MOZ_APP_SILENT_START:
XRE_START_OFFLINE:
XRE_RESTARTED_BY_PROFILE_MANAGER:

Remote Settings
---------------

Status: OK

Status: 2026-07-30T15:05:27.000Z

Status: 1785423422620

Status: Status Date Infos successThu Jul 30 2026 10:57:02 GMT-0400 (Eastern Daylight Time){}successThu Jul 30 2026 10:13:04 GMT-0400 (Eastern Daylight Time){}successWed Jul 29 2026 21:16:02 GMT-0400 (Eastern Daylight Time){}successWed Jul 29 2026 20:36:46 GMT-0400 (Eastern Daylight Time){}successMon Jul 20 2026 15:45:19 GMT-0400 (Eastern Daylight Time){}successMon Jul 20 2026 15:42:05 GMT-0400 (Eastern Daylight Time){}successMon Jul 20 2026 15:40:08 GMT-0400 (Eastern Daylight Time){}successSat Jul 18 2026 11:57:02 GMT-0400 (Eastern Daylight Time){}successThu Jul 16 2026 14:43:02 GMT-0400 (Eastern Daylight Time){}successThu Jul 09 2026 11:57:02 GMT-0400 (Eastern Daylight Time){}
Date: success
Infos: Thu Jul 30 2026 10:57:02 GMT-0400 (Eastern Daylight Time)
{}
success
Thu Jul 30 2026 10:13:04 GMT-0400 (Eastern Daylight Time)
{}
success
Wed Jul 29 2026 21:16:02 GMT-0400 (Eastern Daylight Time)
{}
success
Wed Jul 29 2026 20:36:46 GMT-0400 (Eastern Daylight Time)
{}
success
Mon Jul 20 2026 15:45:19 GMT-0400 (Eastern Daylight Time)
{}
success
Mon Jul 20 2026 15:42:05 GMT-0400 (Eastern Daylight Time)
{}
success
Mon Jul 20 2026 15:40:08 GMT-0400 (Eastern Daylight Time)
{}
success
Sat Jul 18 2026 11:57:02 GMT-0400 (Eastern Daylight Time)
{}
success
Thu Jul 16 2026 14:43:02 GMT-0400 (Eastern Daylight Time)
{}
success
Thu Jul 09 2026 11:57:02 GMT-0400 (Eastern Daylight Time)
{}

Status: success
Date: Thu Jul 30 2026 10:57:02 GMT-0400 (Eastern Daylight Time)
Infos: {}

Status: success
Date: Thu Jul 30 2026 10:13:04 GMT-0400 (Eastern Daylight Time)
Infos: {}

Status: success
Date: Wed Jul 29 2026 21:16:02 GMT-0400 (Eastern Daylight Time)
Infos: {}

Status: success
Date: Wed Jul 29 2026 20:36:46 GMT-0400 (Eastern Daylight Time)
Infos: {}

Status: success
Date: Mon Jul 20 2026 15:45:19 GMT-0400 (Eastern Daylight Time)
Infos: {}

Status: success
Date: Mon Jul 20 2026 15:42:05 GMT-0400 (Eastern Daylight Time)
Infos: {}

Status: success
Date: Mon Jul 20 2026 15:40:08 GMT-0400 (Eastern Daylight Time)
Infos: {}

Status: success
Date: Sat Jul 18 2026 11:57:02 GMT-0400 (Eastern Daylight Time)
Infos: {}

Status: success
Date: Thu Jul 16 2026 14:43:02 GMT-0400 (Eastern Daylight Time)
Infos: {}

Status: success
Date: Thu Jul 09 2026 11:57:02 GMT-0400 (Eastern Daylight Time)
Infos: {}

Remote Experiments
------------------

Address-Bar-Tips-V2 Expansion in 2026 (Re-launch #2): control
Holdback A/A: treatment-a
Long term holdback 2026 Growth Desktop: delivery
"Moment in Time" Set to Default campaigns - Holdback Experiment: treatment

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

accessibility.typeaheadfind.flashBar: 0
browser.cache.disk.amount_written: 1374630
browser.cache.disk.capacity: 153600
browser.cache.disk.filesystem_reported: 1
browser.cache.disk.smart_size.first_run: false
browser.contentblocking.category: custom
browser.download.always_ask_before_handling_new_types: true
browser.download.useDownloadDir: false
browser.link.open_newwindow.restriction: 0
browser.places.smartBookmarksVersion: 8
browser.search.region: US
browser.sessionstore.upgradeBackup.latestBuildID: 20260727124451
browser.startup.homepage_override.buildID: 20260727124451
browser.startup.homepage_override.mstone: 153.0.1
browser.tabs.firefox-view.ui-state.tab-pickup.open: true
browser.tabs.loadBookmarksInTabs: true
browser.tabs.warnOnClose: true
browser.toolbars.bookmarks.visibility: always
browser.urlbar.lastUrlbarSearchSeconds: 1785423740
browser.urlbar.placeholderName: Google
browser.urlbar.placeholderName.private: Google
browser.urlbar.quickactions.timesShownOnboardingLabel: 3
browser.urlbar.quicksuggest.migrationVersion: 7
browser.urlbar.quicksuggest.scenario: offline
browser.urlbar.resultBuckets: {"children":[{"maxResultCount":1,"children":[{"group":"heuristicTest"},{"group":"heuristicExtension"},{"group":"heuristi
browser.urlbar.resultGroups: {"children":[{"maxResultCount":1,"children":[{"group":"heuristicTest"},{"group":"heuristicExtension"},{"group":"heuristi
browser.urlbar.searchSuggestionsChoice: true
browser.urlbar.suggest.quicksuggest.sponsored: false
browser.urlbar.suggest.trending: false
browser.urlbar.tabToSearch.onboard.interactionsLeft: 0
browser.urlbar.timesBeforeHidingSuggestionsHint: 0
browser.urlbar.tipShownCount.searchTip_onboard: 4
browser.urlbar.tipShownCount.searchTip_persist: 4
browser.urlbar.tipShownCount.searchTip_redirect: 4
browser.urlbar.tipShownCount.tabToSearch: 2
browser.urlbar.trimURLs: false
doh-rollout.balrog-migration-done: true
doh-rollout.doneFirstRun: true
doh-rollout.doorhanger-decision: UIOk
doh-rollout.home-region: US
doh-rollout.mode: 2
doh-rollout.self-enabled: true
doh-rollout.trr-selection.dry-run-result: https://mozilla.cloudflare-dns.com/dns-query
doh-rollout.uri: https://mozilla.cloudflare-dns.com/dns-query
dom.forms.autocomplete.formautofill: true
dom.popup_allowed_events: change click dblclick mouseup pointerup notificationclick reset submit touchend
dom.security.https_only_mode: true
dom.security.https_only_mode_ever_enabled: true
dom.security.https_only_mode_ever_enabled_pbm: true
dom.storage.next_gen_auto_enabled_by_cause1: true
extensions.formautofill.addresses.enabled: false
extensions.formautofill.addresses.usage.hasEntry: false
extensions.formautofill.creditCards.enabled: false
extensions.formautofill.creditCards.used: 2
extensions.formautofill.firstTimeUse: false
extensions.lastAppVersion: 153.0.1
font.internaluseonly.changed: false
idle.lastDailyNotification: 1784577328
media.autoplay.default: 5
media.gmp-gmpopenh264.abi: aarch64-gcc3
media.gmp-gmpopenh264.hashValue: d69514fa5a04483674b9d5a9c2ab0c1736db6363f1afc83bad4e54f0c155949e34cdf9746e07f9d855b3fcad16da8b9e8d79b2707fa1ae1e9aaeaaab
media.gmp-gmpopenh264.lastDownload: 1744721638
media.gmp-gmpopenh264.lastInstallStart: 1744721636
media.gmp-gmpopenh264.lastUpdate: 1744721638
media.gmp-gmpopenh264.version: 2.6.0
media.gmp-manager.buildID: 20260713164047
media.gmp-manager.lastCheck: 1784576705
media.gmp-manager.lastEmptyCheck: 1784576705
media.gmp-widevinecdm.abi: aarch64-gcc3
media.gmp-widevinecdm.hashValue: 5ade9a40703c835026d26dc660cf5793a03e275229438f7ff7154116a33ce595d1ee99a79f6f0579231bdc9f51e72363d35c958f02ace911a7c47fb2
media.gmp-widevinecdm.lastDownload: 1781893509
media.gmp-widevinecdm.lastInstallStart: 1781893508
media.gmp-widevinecdm.lastUpdate: 1781893509
media.gmp-widevinecdm.version: 4.10.3050.0
media.gmp.storage.version.observed: 1
media.videocontrols.picture-in-picture.video-toggle.first-seen-secs: 1696277098
media.videocontrols.picture-in-picture.video-toggle.has-used: true
network.cookie.CHIPS.lastMigrateDatabase: 2
network.cookie.cookieBehavior: 3
network.cookie.prefsMigrated: true
network.cookie.validation.lastEpoch: 1
network.http.throttle.version: 2
network.predictor.cleaned-up: true
network.trr.blocklist_cleanup_done: true
places.database.lastMaintenance: 1784577328
places.history.expiration.transient_current_max_pages: 112348
plugin.disable_full_page_plugin_for_types: application/pdf
plugin.flash.lastmod_hi: 373
plugin.flash.lastmod_lo: -1298111245
privacy.bounceTrackingProtection.hasMigratedUserActivationData: true
privacy.clearOnShutdown_v2.formdata: true
privacy.clearOnShutdown_v2.siteSettings: true
privacy.clearOnShutdown.offlineApps: true
privacy.clearOnShutdown.siteSettings: true
privacy.cpd.offlineApps: true
privacy.donottrackheader.enabled: true
privacy.fingerprintingProtection: true
privacy.globalprivacycontrol.enabled: true
privacy.globalprivacycontrol.was_ever_enabled: true
privacy.history.custom: true
privacy.purge_trackers.date_in_cookie_database: 0
privacy.purge_trackers.last_purge: 1605121333264
privacy.sanitize.clearOnShutdown.hasMigratedToNewPrefs3: true
privacy.sanitize.pending: [{"id":"shutdown","itemsToClear":["cache","formdata","siteSettings","browsingHistoryAndDownloads","cookiesAndStorage"],"
privacy.sanitize.sanitizeOnShutdown: true
privacy.sanitize.timeSpan: 0
privacy.trackingprotection.allow_list.baseline.enabled: false
privacy.trackingprotection.allow_list.convenience.enabled: false
privacy.trackingprotection.allow_list.hasMigratedCategoryPrefs: true
privacy.trackingprotection.enabled: true
privacy.trackingprotection.introCount: 20
privacy.trackingprotection.socialtracking.enabled: true
security.cert_pinning.enforcement_level: 2
security.disable_button.openCertManager: false
security.disable_button.openDeviceManager: false
security.enterprise_roots.auto-enabled: true
security.oskeystore.test.encrypted: TNbEqWNA2VXk7ZqCxFaFo0Lr44Srvhpv7yGeMqwNxFI=
security.oskeystore.test.label: 92d927f9-8566-4d46-9c09-97e5c8cb38ff
security.remote_settings.crlite_filters.checked: 1655760498
security.remote_settings.intermediates.checked: 1655760498
security.sandbox.content.tempDirSuffix: 49ba5a38-c1d0-c740-b9a5-6b8f8988996c
security.sandbox.plugin.tempDirSuffix: c5308a6d-810e-8d41-8757-8748cd165aaf
security.tls.version.enable-deprecated: true
services.sync.declinedEngines: passwords,tabs,addresses,creditcards,forms,history
services.sync.engine.addresses.available: true
services.sync.engine.history: false
services.sync.engine.passwords: false
services.sync.engine.prefs.modified: false
services.sync.engine.tabs: false
services.sync.lastPing: 1785375283
services.sync.lastSync: Thu Jul 30 2026 11:09:53 GMT-0400 (Eastern Daylight Time)
signon.autofillForms: false
signon.firefoxRelay.feature: offered
signon.generation.enabled: false
signon.importedFromSqlite: true
signon.management.page.breach-alerts.enabled: false
signon.rememberSignons: false
signon.rustMirror.migrationNeeded: true
signon.usage.hasEntry: true
storage.vacuum.last.content-prefs.sqlite: 1781893547
storage.vacuum.last.index: 0
storage.vacuum.last.places.sqlite: 1784577328

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

extensions.formautofill.creditCards.os-auth.locked.enabled: false
fission.autostart.session: true
media.utility-process.enabled: true
signon.management.page.os-auth.locked.enabled: false

Places Database
---------------

Last Idle Maintenance Date: 7/20/2026, 3:55 PM
Last Vacuum Date: 7/20/2026, 3:55 PM
Last Integrity Corruption Date: Missing

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

Activated: false
Prevent Accessibility: 0

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

NSPR
Expected minimum version: 4.39
Version in use: 4.39

NSS
Expected minimum version: 3.125
Version in use: 3.125

NSSSMIME
Expected minimum version: 3.125
Version in use: 3.125

NSSSSL
Expected minimum version: 3.125
Version in use: 3.125

NSSUTIL
Expected minimum version: 3.125
Version in use: 3.125

Sandbox
-------

Content Process Sandbox Level: 3
Effective Content Process Sandbox Level: 3

Startup Cache
-------------

Ignore Disk Cache: false
Found Disk Cache on Init: true
Wrote to Disk Cache: false

Internationalization & Localization
-----------------------------------

Application Settings
Requested Locales: ["en-US"]
Available Locales: ["en-US"]
App Locales: ["en-US"]
Regional Preferences: ["en-US"]
Default Locale: "en-US"
Operating System
System Locales: ["en-US"]
Regional Preferences: ["en-US"]

Remote Debugging (Chromium Protocol)
------------------------------------

Accepting Connections: false
URL:

Printing
--------

Modified print settings
-----------------------

print_printer: Canon MX920 series
print.macosx.pagesetup-2: eJzdll1v2jAUhq/Hr8hyj504n0xpqg5aDQnaqIRqu0Je4jGvwYkct4z9+jkJCRQIg3Y32xWWfc7j9/U52PEufy4S5ZnwnKbsQtWBpiqERWlM2fxCnYY3XVe9
print.printer_Canon_MX920_series.print_bgcolor: false
print.printer_Canon_MX920_series.print_bgimages: false
print.printer_Canon_MX920_series.print_duplex: -437918235
print.printer_Canon_MX920_series.print_edge_bottom: 0
print.printer_Canon_MX920_series.print_edge_left: 0
print.printer_Canon_MX920_series.print_edge_right: 0
print.printer_Canon_MX920_series.print_edge_top: 0
print.printer_Canon_MX920_series.print_evenpages: true
print.printer_Canon_MX920_series.print_footercenter:
print.printer_Canon_MX920_series.print_footerleft: &PT
print.printer_Canon_MX920_series.print_footerright: &D
print.printer_Canon_MX920_series.print_headercenter:
print.printer_Canon_MX920_series.print_headerleft: &T
print.printer_Canon_MX920_series.print_headerright: &U
print.printer_Canon_MX920_series.print_in_color: true
print.printer_Canon_MX920_series.print_margin_bottom: 0.5
print.printer_Canon_MX920_series.print_margin_left: 0.5
print.printer_Canon_MX920_series.print_margin_right: 0.5
print.printer_Canon_MX920_series.print_margin_top: 0.5
print.printer_Canon_MX920_series.print_oddpages: true
print.printer_Canon_MX920_series.print_orientation: 0
print.printer_Canon_MX920_series.print_page_delay: 50
print.printer_Canon_MX920_series.print_paper_data: 0
print.printer_Canon_MX920_series.print_paper_height: 11.00
print.printer_Canon_MX920_series.print_paper_name: na-letter
print.printer_Canon_MX920_series.print_paper_size_unit: 0
print.printer_Canon_MX920_series.print_paper_width: 8.50
print.printer_Canon_MX920_series.print_resolution: -437918235
print.printer_Canon_MX920_series.print_reversed: false
print.printer_Canon_MX920_series.print_scaling: 1.00
print.printer_Canon_MX920_series.print_shrink_to_fit: true
print.printer_Canon_MX920_series.print_to_file: false
print.printer_Canon_MX920_series.print_unwriteable_margin_bottom: 20
print.printer_Canon_MX920_series.print_unwriteable_margin_left: 25
print.printer_Canon_MX920_series.print_unwriteable_margin_right: 25
print.printer_Canon_MX920_series.print_unwriteable_margin_top: 20

Content Analysis (DLP)
----------------------

Active: false
Connected to Agent:
Agent Path:
Agent Failed Signature Verification:
Request Count:

As you can see, I do have extensions installed but I've disabled them for testing purposes. Firefox is set to be my default at the moment, I do not use session restore (restore previously open tabs), and I have Firefox set to clear cookies and site data at each exit with certain sites being exempted (none of the sites I test with are those in the exemptions list, for the record).

The test is simple and 100% reproduceable to me.

  1. Make Firefox the default browser
  2. Ensure that Session Restore is not enabled.
  3. Close all tabs and fully exit/quit Firefox.
  4. Open another app (such as Mail, Outlook, Notes, anything with a link to a homepage/support site, etc.)
  5. Click a link in that app.

You should see Firefox open a blank New Tab page along with another tab containing the URL that was clicked from the external app. (i.e., an empty New Tab page and another tab pointing to https://www.google.com).

If you skip step 3 (above) and leave Firefox open it will open a tab to the URL that was clicked and will NOT open the extra New Tab page.

I think bug 2055233 that was patched is a completely separate issue, isolated to Session Restore, which I don't use in normal setups. In my testing for bug 1600153 using Session Restore was tested to see if it or the patch altered the behavior, and it did change some aspects. Here is a summary of what was observed as it relates to Session Restore:

Session Restore Observations (Bug 1600153 Testing)

1. sessionType is Always RESUME_SESSION

SessionStartup.sessionType always returned 2 (RESUME_SESSION) regardless of whether any tabs were actually being restored. NO_SESSION (0) was never observed in practice, making sessionType unreliable as a discriminator for "did session restore actually do anything meaningful."

2. Lazy-Loaded Tabs Report about:blank

Session-restored tabs that have not yet been activated show about:blank as their currentURI, even when they hold real content. This made URI-based detection of the startup placeholder tab unreliable — a genuinely blank startup tab and a lazy restored tab containing a real URL are indistinguishable by currentURI alone.

3. Session Restore Navigates the Placeholder Tab

Session restore navigates the startup placeholder tab (the initial about:newtab tab) to restored content rather than replacing it with a new tab element. This meant that saving an object reference to the placeholder tab and removing it later ended up removing the wrong tab — the reference still pointed to the same tab element, but session restore had navigated it to restored content.

4. SessionStore.getTabState() Is the Reliable Solution

SessionStore.getTabState() reads the intended URL from session data regardless of whether the tab has loaded. A restored about:newtab tab correctly reports about:newtab in its session data even when currentURI shows about:blank, while a lazy restored real-URL tab reports its actual URL. This allowed us to reliably distinguish a genuine blank startup tab from a lazy restored tab.

5. URL Handling Must Be Deferred Until After sessionstore-windows-restored

Handling the mac-startup-urls notification at browser-delayed-startup-finished is too early — session restore runs between that event and sessionstore-windows-restored and overwrites any navigation we attempt at the earlier point. Deferring URL handling until _onWindowsRestored() (called from sessionstore-windows-restored) ensures session restore has finished and tab state is stable before we open the clicked URL.

(In reply to Jesse Peden from comment #84)

To make sure we're on the same page, here is the about:support output from my non-nightly installation of Firefox:

Are you testing this in nightly or non-nightly? Bug 2055233 is only fixed on nightly currently

Yes, and bug 2055233 is not isolated to session restore (even though the visible effect it fixes was).

(In reply to Dave Townsend [:mossop] from comment #85)

(In reply to Jesse Peden from comment #84)

To make sure we're on the same page, here is the about:support output from my non-nightly installation of Firefox:

Are you testing this in nightly or non-nightly? Bug 2055233 is only fixed on nightly currently

My mistake, then. I thought I saw something about it having been pushed to the general release, so only tested 2055233 against the general production release. I’ll test in the nightly release in a bit.

(In reply to Emilio Cobos Álvarez [:emilio] from comment #86)

Yes, and bug 2055233 is not isolated to session restore (even though the visible effect it fixes was).

That’s good to know, too. Hopefully you’re right, then, that it also patches 1600153.

(In reply to Jesse Peden from comment #84)

The test is simple and 100% reproduceable to me.

  1. Make Firefox the default browser
  2. Ensure that Session Restore is not enabled.
  3. Close all tabs and fully exit/quit Firefox.
  4. Open another app (such as Mail, Outlook, Notes, anything with a link to a homepage/support site, etc.)
  5. Click a link in that app.

You should see Firefox open a blank New Tab page along with another tab containing the URL that was clicked from the external app. (i.e., an empty New Tab page and another tab pointing to https://www.google.com).

I can reproduce this with a clean profile in 153. I can't reproduce this on Nightly tho, same set-up.

(In reply to Emilio Cobos Álvarez [:emilio] from comment #88)

(In reply to Jesse Peden from comment #84)

The test is simple and 100% reproduceable to me.

  1. Make Firefox the default browser
  2. Ensure that Session Restore is not enabled.
  3. Close all tabs and fully exit/quit Firefox.
  4. Open another app (such as Mail, Outlook, Notes, anything with a link to a homepage/support site, etc.)
  5. Click a link in that app.

You should see Firefox open a blank New Tab page along with another tab containing the URL that was clicked from the external app. (i.e., an empty New Tab page and another tab pointing to https://www.google.com).

I can reproduce this with a clean profile in 153. I can't reproduce this on Nightly tho, same set-up.

Confirmed that in the Nightly this is issue is not reproducible in my own testing. I'll break out the champaign.

Sweet, glad I was not imagining things. I'll file a separate bug for comment 83 since it seems different (and not related to startup).

Status: REOPENED → RESOLVED
Closed: 6 years ago2 days ago
Duplicate of bug: 2055233
Resolution: --- → DUPLICATE
See Also: → 2059501

Now that this has finally - after 6+ years - been resolved, what do I need to do on the Phabricator site?

Attachment #9587502 - Attachment is obsolete: true
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: