Closed Bug 1686453 Opened 4 years ago Closed 4 years ago

browser.webRequest.filterResponseData crashes view-source: pages

Categories

(WebExtensions :: Request Handling, defect)

Firefox 84
defect

Tracking

(Not tracked)

RESOLVED DUPLICATE of bug 1678734

People

(Reporter: cman1, Unassigned)

Details

Attachments

(1 file)

652 bytes, application/vnd.rar
Details
Attached file response_crash.rar

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0

Steps to reproduce:

  1. Create simple addon consisting of 2 files
  2. manifest.json
    {
    "description": "WebRequests desc",
    "manifest_version": 2,
    "name": "webRequest - crash",
    "version": "1.0",

"permissions": [
"webRequest",
"webRequestBlocking",
"https://www.youtube.com/*"
],

"background": {
"scripts": ["background.js"]
}
}

  1. background.js (example based on https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/StreamFilter/ondata)

function listener(details) {
let filter = browser.webRequest.filterResponseData(details.requestId)
let decoder = new TextDecoder("utf-8")
let encoder = new TextEncoder()
let data = []
filter.ondata = event => {data.push(decoder.decode(event.data, {stream: true}))}
filter.onstop = event => {
data.push(decoder.decode())
str = data.join("")

filter.write(encoder.encode(str))
filter.close()

}
}

browser.webRequest.onBeforeRequest.addListener(
listener,
{urls: ["https://www.youtube.com/*"], types: ['main_frame']},
["blocking"]
)

  1. Enter https://www.youtube.com
  2. Open "view-source:" (Tools -> For developers -> Source Code)

Actual results:

view-source:https://www.youtube.com will crash.
It can be reproduced with any site - just need to change matches in both files.

Expected results:

Source code should be shown.
Also there seems to be no way to disable "view-source:" listener calls through match patterns (https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Match_patterns) or filtering by details passed to listener function (https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/webRequest/onBeforeRequest#details).

Status: UNCONFIRMED → RESOLVED
Closed: 4 years ago
Resolution: --- → DUPLICATE
Component: Untriaged → Request Handling
Product: Firefox → WebExtensions
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: