Bumping manifests a=b2g-bump
[gecko.git] / dom / filesystem / FileSystemPermissionRequest.h
blob632f295fcbba4050fd6a65f90cfa7aad6c3beeb2
1 /* -*- Mode: c++; c-basic-offset: 2; indent-tabs-mode: nil; tab-width: 40 -*- */
2 /* vim: set ts=2 et sw=2 tw=80: */
3 /* This Source Code Form is subject to the terms of the Mozilla Public
4 * License, v. 2.0. If a copy of the MPL was not distributed with this file,
5 * You can obtain one at http://mozilla.org/MPL/2.0/. */
7 #ifndef mozilla_dom_FileSystemPermissionRequest_h
8 #define mozilla_dom_FileSystemPermissionRequest_h
10 #include "nsAutoPtr.h"
11 #include "nsIRunnable.h"
12 #include "nsIContentPermissionPrompt.h"
13 #include "nsString.h"
15 class nsPIDOMWindow;
17 namespace mozilla {
18 namespace dom {
20 class FileSystemTaskBase;
22 class FileSystemPermissionRequest MOZ_FINAL
23 : public nsIContentPermissionRequest
24 , public nsIRunnable
26 public:
27 // Request permission for the given task.
28 static void
29 RequestForTask(FileSystemTaskBase* aTask);
31 NS_DECL_THREADSAFE_ISUPPORTS
32 NS_DECL_NSICONTENTPERMISSIONREQUEST
33 NS_DECL_NSIRUNNABLE
34 private:
35 explicit FileSystemPermissionRequest(FileSystemTaskBase* aTask);
37 virtual
38 ~FileSystemPermissionRequest();
40 nsCString mPermissionType;
41 nsCString mPermissionAccess;
42 nsRefPtr<FileSystemTaskBase> mTask;
43 nsCOMPtr<nsPIDOMWindow> mWindow;
44 nsCOMPtr<nsIPrincipal> mPrincipal;
47 } // namespace dom
48 } // namespace mozilla
50 #endif // mozilla_dom_FileSystemPermissionRequest_h