forked from mirrors/gecko-dev
In this change we: - stop treating the nsPluginDirServiceProvider as a directory provider, as its GetFile implementation was a no-op anyway - registering it didn't make any difference. - stop treating it as a class entirely, because the PLID getters were already static, so instantiating it also didn't do anything. - move IO from the plugin directory list provider and the Windows-only PLID getters into nsPluginHost. This enables us to move it off of the main thread later - the directory getting has to happen on the main thread, but we can postpone further checks on the nsIFile instances. - in the process, stop doing exists() calls on files because we can fail more lazily. This allows us to remove more allowlist entries from browser_startup_mainthreadio, though the `isDirectory` calls will actually still cause IO - they don't seem to create IO markers in the profiler. We will move this IO away from the main thread in subsequent commits. Depends on D48328 Differential Revision: https://phabricator.services.mozilla.com/D48329 --HG-- extra : moz-landing-system : lando
19 lines
662 B
C
19 lines
662 B
C
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef nsPluginDirServiceProvider_h_
|
|
#define nsPluginDirServiceProvider_h_
|
|
|
|
#ifdef XP_WIN
|
|
# include "nsCOMPtr.h"
|
|
# include "nsTArray.h"
|
|
|
|
static nsresult GetPLIDDirectories(nsTArray<nsCOMPtr<nsIFile>>& aDirs);
|
|
|
|
static nsresult GetPLIDDirectoriesWithRootKey(
|
|
uint32_t aKey, nsTArray<nsCOMPtr<nsIFile>>& aDirs);
|
|
|
|
#endif // XP_WIN
|
|
#endif // nsPluginDirServiceProvider_h_
|