Pier Angelo Vendrame pushed to branch tor-browser-140.3.0esr-15.0-1 at The Tor Project / Applications / Tor Browser

Commits:

3 changed files:

Changes:

  • toolkit/components/search/OpenSearchLoader.sys.mjs
    ... ... @@ -98,8 +98,9 @@ const MOZSEARCH_LOCALNAME = "SearchPlugin";
    98 98
      * @param {string} [lastModified]
    
    99 99
      *   The UTC date when the engine was last updated, if any.
    
    100 100
      * @param {object} [originAttributes]
    
    101
    - *   The first party domain of the site loading that manifest. The domain of the
    
    102
    - *   manifest will be used if not provided.
    
    101
    + *   The origin attributes of the site loading the manifest. If none are
    
    102
    + *   specified, the origin attributes will be formed of the first party domain
    
    103
    + *   based on the domain of the manifest.
    
    103 104
      * @returns {Promise<OpenSearchProperties>}
    
    104 105
      *   The properties of the loaded OpenSearch engine.
    
    105 106
      */
    
    ... ... @@ -165,7 +166,8 @@ function loadEngineXML(sourceURI, lastModified, originAttributes = null) {
    165 166
         sourceURI,
    
    166 167
         // OpenSearchEngine is loading a definition file for a search engine,
    
    167 168
         // TYPE_DOCUMENT captures that load best.
    
    168
    -    Ci.nsIContentPolicy.TYPE_DOCUMENT
    
    169
    +    Ci.nsIContentPolicy.TYPE_DOCUMENT,
    
    170
    +    originAttributes
    
    169 171
       );
    
    170 172
     
    
    171 173
       // we collect https telemetry for all top-level (document) loads.
    
    ... ... @@ -173,17 +175,6 @@ function loadEngineXML(sourceURI, lastModified, originAttributes = null) {
    173 175
         ? Ci.nsILoadInfo.ALREADY_HTTPS
    
    174 176
         : Ci.nsILoadInfo.NO_UPGRADE;
    
    175 177
     
    
    176
    -  if (!originAttributes) {
    
    177
    -    originAttributes = {};
    
    178
    -    try {
    
    179
    -      originAttributes.firstPartyDomain =
    
    180
    -        Services.eTLD.getSchemelessSite(sourceURI);
    
    181
    -    } catch (ex) {
    
    182
    -      console.error("Failed to get first party domain for the manifest", ex);
    
    183
    -    }
    
    184
    -  }
    
    185
    -  chan.loadInfo.originAttributes = originAttributes;
    
    186
    -
    
    187 178
       if (lastModified && chan instanceof Ci.nsIHttpChannel) {
    
    188 179
         chan.setRequestHeader("If-Modified-Since", lastModified, false);
    
    189 180
       }
    

  • toolkit/components/search/SearchUtils.sys.mjs
    ... ... @@ -244,10 +244,12 @@ export var SearchUtils = {
    244 244
        *   The URL string from which to create an nsIChannel.
    
    245 245
        * @param {nsContentPolicyType} contentPolicyType
    
    246 246
        *   The type of document being loaded.
    
    247
    +   * @param {object} [originAttributes]
    
    248
    +   *   The origin attributes to associate to this channel.
    
    247 249
        * @returns {nsIChannel}
    
    248 250
        *   an nsIChannel object, or null if the url is invalid.
    
    249 251
        */
    
    250
    -  makeChannel(url, contentPolicyType) {
    
    252
    +  makeChannel(url, contentPolicyType, originAttributes = null) {
    
    251 253
         if (!contentPolicyType) {
    
    252 254
           throw new Error("makeChannel called with invalid content policy type");
    
    253 255
         }
    
    ... ... @@ -260,11 +262,13 @@ export var SearchUtils = {
    260 262
               {}
    
    261 263
             );
    
    262 264
           } else {
    
    263
    -        let originAttributes = {};
    
    264
    -        try {
    
    265
    -          originAttributes.firstPartyDomain =
    
    266
    -            Services.eTLD.getSchemelessSite(uri);
    
    267
    -        } catch {}
    
    265
    +        if (!originAttributes) {
    
    266
    +          originAttributes = {};
    
    267
    +          try {
    
    268
    +            originAttributes.firstPartyDomain =
    
    269
    +              Services.eTLD.getSchemelessSite(uri);
    
    270
    +          } catch {}
    
    271
    +        }
    
    268 272
             principal =
    
    269 273
               Services.scriptSecurityManager.createNullPrincipal(originAttributes);
    
    270 274
           }
    

  • tools/@types/generated/lib.gecko.xpcom.d.ts
    ... ... @@ -11613,7 +11613,7 @@ interface nsISearchService extends nsISupports, Enums<typeof nsISearchService_Op
    11613 11613
       readonly hasSuccessfullyInitialized: boolean;
    
    11614 11614
       runBackgroundChecks(): Promise<any>;
    
    11615 11615
       resetToAppDefaultEngine(): void;
    
    11616
    -  addOpenSearchEngine(engineURL: string, iconURL: string): Promise<any>;
    
    11616
    +  addOpenSearchEngine(engineURL: string, iconURL: string, originAttributes?: any): Promise<any>;
    
    11617 11617
       addUserEngine(formInfo: any): Promise<any>;
    
    11618 11618
       addEnginesFromExtension(extension: any): Promise<any>;
    
    11619 11619
       restoreDefaultEngines(): void;