LCOV - code coverage report
Current view: top level - dom/filesystem/compat - FileSystemEntry.cpp (source / functions) Hit Total Coverage
Test: output.info Lines: 0 36 0.0 %
Date: 2017-07-14 16:53:18 Functions: 0 13 0.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
       2             : /* vim: set ts=8 sts=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/. */
       6             : 
       7             : #include "FileSystemEntry.h"
       8             : #include "FileSystemDirectoryEntry.h"
       9             : #include "FileSystemFileEntry.h"
      10             : #include "mozilla/dom/FileSystemEntryBinding.h"
      11             : #include "mozilla/dom/UnionTypes.h"
      12             : 
      13             : namespace mozilla {
      14             : namespace dom {
      15             : 
      16           0 : NS_IMPL_CYCLE_COLLECTION_WRAPPERCACHE(FileSystemEntry, mParent, mParentEntry,
      17             :                                       mFileSystem)
      18             : 
      19           0 : NS_IMPL_CYCLE_COLLECTING_ADDREF(FileSystemEntry)
      20           0 : NS_IMPL_CYCLE_COLLECTING_RELEASE(FileSystemEntry)
      21             : 
      22           0 : NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(FileSystemEntry)
      23           0 :   NS_WRAPPERCACHE_INTERFACE_MAP_ENTRY
      24           0 :   NS_INTERFACE_MAP_ENTRY(nsISupports)
      25           0 : NS_INTERFACE_MAP_END
      26             : 
      27             : /* static */ already_AddRefed<FileSystemEntry>
      28           0 : FileSystemEntry::Create(nsIGlobalObject* aGlobalObject,
      29             :                         const OwningFileOrDirectory& aFileOrDirectory,
      30             :                         FileSystem* aFileSystem)
      31             : {
      32           0 :   MOZ_ASSERT(aGlobalObject);
      33           0 :   MOZ_ASSERT(aFileSystem);
      34             : 
      35           0 :   RefPtr<FileSystemEntry> entry;
      36           0 :   if (aFileOrDirectory.IsFile()) {
      37             :     entry = new FileSystemFileEntry(aGlobalObject,
      38           0 :                                     aFileOrDirectory.GetAsFile(),
      39             :                                     nullptr,
      40           0 :                                     aFileSystem);
      41             :   } else {
      42           0 :     MOZ_ASSERT(aFileOrDirectory.IsDirectory());
      43             :     entry = new FileSystemDirectoryEntry(aGlobalObject,
      44           0 :                                          aFileOrDirectory.GetAsDirectory(),
      45             :                                          nullptr,
      46           0 :                                          aFileSystem);
      47             :   }
      48             : 
      49           0 :   return entry.forget();
      50             : }
      51             : 
      52           0 : FileSystemEntry::FileSystemEntry(nsIGlobalObject* aGlobal,
      53             :                                  FileSystemEntry* aParentEntry,
      54           0 :                                  FileSystem* aFileSystem)
      55             :   : mParent(aGlobal)
      56             :   , mParentEntry(aParentEntry)
      57           0 :   , mFileSystem(aFileSystem)
      58             : {
      59           0 :   MOZ_ASSERT(aGlobal);
      60           0 :   MOZ_ASSERT(aFileSystem);
      61           0 : }
      62             : 
      63           0 : FileSystemEntry::~FileSystemEntry()
      64           0 : {}
      65             : 
      66             : JSObject*
      67           0 : FileSystemEntry::WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto)
      68             : {
      69           0 :   return FileSystemEntryBinding::Wrap(aCx, this, aGivenProto);
      70             : }
      71             : 
      72             : void
      73           0 : FileSystemEntry::GetParent(const Optional<OwningNonNull<FileSystemEntryCallback>>& aSuccessCallback,
      74             :                            const Optional<OwningNonNull<ErrorCallback>>& aErrorCallback)
      75             : {
      76           0 :   if (!aSuccessCallback.WasPassed() && !aErrorCallback.WasPassed()) {
      77           0 :     return;
      78             :   }
      79             : 
      80           0 :   if (mParentEntry) {
      81           0 :     FileSystemEntryCallbackHelper::Call(GetParentObject(), aSuccessCallback,
      82           0 :                                         mParentEntry);
      83           0 :     return;
      84             :   }
      85             : 
      86           0 :   FileSystemEntryCallbackHelper::Call(GetParentObject(), aSuccessCallback, this);
      87             : }
      88             : 
      89             : } // dom namespace
      90             : } // mozilla namespace

Generated by: LCOV version 1.13