widget/cocoa/nsIdleServiceX.h

Thu, 15 Jan 2015 15:59:08 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 15 Jan 2015 15:59:08 +0100
branch
TOR_BUG_9701
changeset 10
ac0c01689b40
permissions
-rw-r--r--

Implement a real Private Browsing Mode condition by changing the API/ABI;
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 #ifndef nsIdleServiceX_h_
     6 #define nsIdleServiceX_h_
     8 #include "nsIdleService.h"
    10 class nsIdleServiceX : public nsIdleService
    11 {
    12 public:
    13   NS_DECL_ISUPPORTS_INHERITED
    15   bool PollIdleTime(uint32_t* aIdleTime);
    17   static already_AddRefed<nsIdleServiceX> GetInstance() 
    18   {
    19     nsRefPtr<nsIdleService> idleService = nsIdleService::GetInstance();
    20     if (!idleService) {
    21       idleService = new nsIdleServiceX();
    22     }
    24     return idleService.forget().downcast<nsIdleServiceX>();
    25   }
    27 protected:
    28     nsIdleServiceX() { }
    29     virtual ~nsIdleServiceX() { }
    30     bool UsePollMode();
    31 };
    33 #endif // nsIdleServiceX_h_

mercurial