Skip to content

Instantly share code, notes, and snippets.

@mikeconley
mikeconley / gist:cefe64460f5b00e39fb35ff195d79c02
Created January 6, 2026 16:44
Changes since 148.0.20251211.63751
commit 2078d7f60b84da33f0982579e105e0b73d0ac21c
Author: Reem H <42309026+reemhamz@users.noreply.github.com>
Date: Mon Jan 5 06:44:47 2026 +0000
Bug 2007031 - Update ModalOverlay component to use native HTML dialog element. r=home-newtab-reviewers,nina-py
Differential Revision: https://phabricator.services.mozilla.com/D277131
commit 33bba5cfe4a89dda0ee07fa9fbac578353713fd3
Author: Reem H <42309026+reemhamz@users.noreply.github.com>
@mikeconley
mikeconley / snippet.yaml
Last active June 27, 2024 18:26 — forked from leplatrem/snippet.yaml
Remote Settings Example Schema
attachment:
enabled: false
required: false
displayFields:
- update_channel
- download_url
schema:
type: object
description: Download links for downloading the browser as part of a backup recovery.
additionalProperties: false
mconleys-MBP:mozilla-central mikeconley$ ./obj-artifact/dist/Nightly.app/Contents/MacOS/firefox --help
Usage: ./obj-artifact/dist/Nightly.app/Contents/MacOS/firefox [ options ... ] [URL]
where options include:
--g-fatal-warnings Make all warnings fatal
Firefox options
-h or --help Print this message.
-v or --version Print Firefox version.
--full-version Print Firefox version, build and platform build ids.
@mikeconley
mikeconley / Firefox tabs script.md
Last active February 5, 2022 16:19
A script you can execute in your Browser Console to generate a string representation of your tabs!

Update: the original version of this gist required you to put some stuff into your Browser Console. I've made it easier now - there's a Firefox add-on you can install instead:

https://mzl.la/3sfOF1R

This will add a button to your toolbar (the green square), which upon clicking will copy the grid to your clipboard. Have fun!

IndexedDB

  1. Set dom.indexedDB.storageOption.enabled to true, then restart the browser
  2. Go to a webpage, and in the devtools console, paste this in:
let request = indexedDB.open(name, { version: 1, storage: "persistent" });

DRM

@mikeconley
mikeconley / pip-captions.md
Last active March 17, 2022 21:19
Captions in Picture-in-Picture

Subtitle and caption support for many sites in Firefox's Picture-in-Picture player window is targeted to ship in Firefox 100.

Hi! If you're reading this, then you've asked me about or otherwise expressed interest in supporting captions / subtitles in Firefox's Picture-in-Picture feature.

As of this writing, Firefox does not currently support captions or subtitles in the player window. This is because most sites have invented their own mechanisms for display captions or subtitles. YouTube's captions, for example, are implemented in a completely different way from Netflix's.

This makes it rather difficult for us as a browser to develop a general solution to the subtitles / caption problem.

~Difficult, but not impossible. We're currently working on ways for us to develop site-specific behaviours for Picture-in-Picture. This allows Firefox's Picture-in-Picture feature to be smarter in how it interacts with specific video sites. In theory, this would allow us to detect the subtitles and captions and disp

// STEPS:
// 1: Make sure only the images you want are in the document (i.e., make a document with only the most recent headlines)
// 2: Scroll down to the bottom of that document to ensure Google Docs has lazy loaded all of the images
// 3: Run this in the console:
// ```
// copy(JSON.stringify([...document.querySelectorAll(".kix-canvas-tile-content image")].map(i => i.href.baseVal)))
// ```
// 4: Paste them in here:
let urls = [];
// 5: Increment this number to match the next Nightly blog post number:
/*!
*
* NOTE: This file is generated by webpack from components.jsx
* using the npm bundle task.
*
*/
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/*!
*
* NOTE: This file is generated by webpack from components.jsx
* using the npm bundle task.
*
*/
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/