mobile/android/components/XPIDialogService.js

Tue, 06 Jan 2015 21:39:09 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Tue, 06 Jan 2015 21:39:09 +0100
branch
TOR_BUG_9701
changeset 8
97036ab72558
permissions
-rw-r--r--

Conditionally force memory storage according to privacy.thirdparty.isolate;
This solves Tor bug #9701, complying with disk avoidance documented in
https://www.torproject.org/projects/torbrowser/design/#disk-avoidance.

     1 /* This Source Code Form is subject to the terms of the Mozilla Public
     2  * License, v. 2.0. If a copy of the MPL was not distributed with this
     3  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
     5 const Ci = Components.interfaces;
     6 const Cu = Components.utils;
     8 Cu.import("resource://gre/modules/XPCOMUtils.jsm");
     9 Cu.import("resource://gre/modules/Services.jsm");
    11 // -----------------------------------------------------------------------
    12 // Web Install Prompt service
    13 // -----------------------------------------------------------------------
    15 function WebInstallPrompt() { }
    17 WebInstallPrompt.prototype = {
    18   classID: Components.ID("{c1242012-27d8-477e-a0f1-0b098ffc329b}"),
    19   QueryInterface: XPCOMUtils.generateQI([Ci.amIWebInstallPrompt]),
    21   confirm: function(aWindow, aURL, aInstalls) {
    22     let bundle = Services.strings.createBundle("chrome://browser/locale/browser.properties");
    24     let prompt = Services.prompt;
    25     let flags = prompt.BUTTON_POS_0 * prompt.BUTTON_TITLE_IS_STRING + prompt.BUTTON_POS_1 * prompt.BUTTON_TITLE_CANCEL;
    26     let title = bundle.GetStringFromName("addonsConfirmInstall.title");
    27     let button = bundle.GetStringFromName("addonsConfirmInstall.install");
    29     aInstalls.forEach(function(install) {
    30       let result = (prompt.confirmEx(aWindow, title, install.name, flags, button, null, null, null, {value: false}) == 0);
    31       if (result)
    32         install.install();
    33       else
    34         install.cancel();
    35     });
    36   }
    37 };
    39 this.NSGetFactory = XPCOMUtils.generateNSGetFactory([WebInstallPrompt]);

mercurial