toolkit/devtools/gcli/commands/restart.js

Sat, 03 Jan 2015 20:18:00 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Sat, 03 Jan 2015 20:18:00 +0100
branch
TOR_BUG_3246
changeset 7
129ffea94266
permissions
-rw-r--r--

Conditionally enable double key logic according to:
private browsing mode or privacy.thirdparty.isolate preference and
implement in GetCookieStringCommon and FindCookie where it counts...
With some reservations of how to convince FindCookie users to test
condition and pass a nullptr when disabling double key logic.

     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 "use strict";
     7 const { Cc, Ci, Cu } = require("chrome");
     8 const gcli = require("gcli/index");
     9 const Services = require("Services");
    11 const BRAND_SHORT_NAME = Cc["@mozilla.org/intl/stringbundle;1"]
    12                            .getService(Ci.nsIStringBundleService)
    13                            .createBundle("chrome://branding/locale/brand.properties")
    14                            .GetStringFromName("brandShortName");
    16 /**
    17  * Restart command
    18  *
    19  * @param boolean nocache
    20  *        Disables loading content from cache upon restart.
    21  *
    22  * Examples :
    23  * >> restart
    24  * - restarts browser immediately
    25  * >> restart --nocache
    26  * - restarts immediately and starts Firefox without using cache
    27  */
    28 exports.items = [
    29   {
    30     name: "restart",
    31     description: gcli.lookupFormat("restartBrowserDesc", [ BRAND_SHORT_NAME ]),
    32     params: [
    33       {
    34         name: "nocache",
    35         type: "boolean",
    36         description: gcli.lookup("restartBrowserNocacheDesc")
    37       }
    38     ],
    39     returnType: "string",
    40     exec: function Restart(args, context) {
    41       let canceled = Cc["@mozilla.org/supports-PRBool;1"]
    42                       .createInstance(Ci.nsISupportsPRBool);
    43       Services.obs.notifyObservers(canceled, "quit-application-requested", "restart");
    44       if (canceled.data) {
    45         return gcli.lookup("restartBrowserRequestCancelled");
    46       }
    48       // disable loading content from cache.
    49       if (args.nocache) {
    50         Services.appinfo.invalidateCachesOnRestart();
    51       }
    53       // restart
    54       Cc["@mozilla.org/toolkit/app-startup;1"]
    55           .getService(Ci.nsIAppStartup)
    56           .quit(Ci.nsIAppStartup.eAttemptQuit | Ci.nsIAppStartup.eRestart);
    57       return gcli.lookupFormat("restartBrowserRestarting", [ BRAND_SHORT_NAME ]);
    58     }
    59   }
    60 ];

mercurial