Commit 7fdb06dc authored by Noel Gordon's avatar Noel Gordon Committed by Chromium LUCI CQ

[imageloader] Add chrome://file-manager to image_loader_client.js

image_loader_client.js re-writes the requesting client's origin to the
image loader exension's origin before sending the request to the image
loader extension (using chrome.runtime.sendMessage).

Add a re-write RegEx for chrome://file-manager. Note that this assumes
chrome://file-manager has enabled chrome.runtime.sendMessage.

Bug: 1113981
Change-Id: I8381eb60bdacb958521f1b34bfceb0e00bff2b6e
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2602963
Commit-Queue: Noel Gordon <noel@chromium.org>
Reviewed-by: default avatarAlex Danilo <adanilo@chromium.org>
Cr-Commit-Position: refs/heads/master@{#839655}
parent c2bd53d8
...@@ -98,6 +98,12 @@ ImageLoaderClient.sendMessage_ = function(request, callback) { ...@@ -98,6 +98,12 @@ ImageLoaderClient.sendMessage_ = function(request, callback) {
*/ */
ImageLoaderClient.CLIENT_URL_REGEX = /filesystem:chrome-extension:\/\/[a-z]+/; ImageLoaderClient.CLIENT_URL_REGEX = /filesystem:chrome-extension:\/\/[a-z]+/;
/**
* Image loader client chrome://file-manager request URL matcher.
* @const {!RegExp}
*/
ImageLoaderClient.CLIENT_SWA_REGEX = /filesystem:chrome:\/\/file-manager/;
/** /**
* All client request URL match ImageLoaderClient.CLIENT_URL_REGEX and all are * All client request URL match ImageLoaderClient.CLIENT_URL_REGEX and all are
* rewritten: the client extension id part of the request URL is replaced with * rewritten: the client extension id part of the request URL is replaced with
...@@ -119,9 +125,11 @@ ImageLoaderClient.prototype.load = function(request, callback) { ...@@ -119,9 +125,11 @@ ImageLoaderClient.prototype.load = function(request, callback) {
ImageLoaderClient.recordPercentage('Cache.Usage', ImageLoaderClient.recordPercentage('Cache.Usage',
this.cache_.size() / ImageLoaderClient.CACHE_MEMORY_LIMIT * 100.0); this.cache_.size() / ImageLoaderClient.CACHE_MEMORY_LIMIT * 100.0);
// Replace the client extension id with the image loader extension id. // Replace the client origin with the image loader extension origin.
request.url = request.url.replace( request.url = request.url.replace(
ImageLoaderClient.CLIENT_URL_REGEX, ImageLoaderClient.IMAGE_LOADER_URL); ImageLoaderClient.CLIENT_URL_REGEX, ImageLoaderClient.IMAGE_LOADER_URL);
request.url = request.url.replace(
ImageLoaderClient.CLIENT_SWA_REGEX, ImageLoaderClient.IMAGE_LOADER_URL);
// Try to load from cache, if available. // Try to load from cache, if available.
const cacheKey = LoadImageRequest.cacheKey(request); const cacheKey = LoadImageRequest.cacheKey(request);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment