Simplify chrome_pdf::ScopedSdkInitializer
ScopedSdkInitializer has an IsSDKInitializedViaPlugin() call that assumes the call can return true, and skip SDK initialization. This may have been possible about a decade ago, but modern //pdf code separates the two types of use cases, as enforced by `public` headers in //pdf/BUILD.gn: 1) Blink plugin code only run in PDF renderer processes, via //pdf/pdf_view_web_plugin.h. 2) Various utilities only run in service processes and tests, via //pdf/pdf.h. As such, ScopedSdkInitializer is only used in //pdf/pdf.cc, so it only has to deal with uses cases of type (2). Without any type (1) overlap, IsSDKInitializedViaPlugin() should always return false. Change-Id: Idff67d6283d8f6229c5d3e84c7c72f4cd799cce7 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/5395192 Commit-Queue: Lei Zhang <thestig@chromium.org> Reviewed-by: Andy Phan <andyphan@chromium.org> Cr-Commit-Position: refs/heads/main@{#1278456}
This commit is contained in:

committed by
Chromium LUCI CQ

parent
a74c30d38e
commit
5fc5aeb38f
18
pdf/pdf.cc
18
pdf/pdf.cc
@ -9,6 +9,7 @@
|
||||
#include <optional>
|
||||
#include <utility>
|
||||
|
||||
#include "base/check.h"
|
||||
#include "base/feature_list.h"
|
||||
#include "build/build_config.h"
|
||||
#include "pdf/pdf_engine.h"
|
||||
@ -26,21 +27,20 @@ std::optional<bool> g_use_skia_renderer_enabled_by_policy;
|
||||
class ScopedSdkInitializer {
|
||||
public:
|
||||
explicit ScopedSdkInitializer(bool enable_v8) {
|
||||
if (!IsSDKInitializedViaPlugin()) {
|
||||
InitializeSDK(
|
||||
enable_v8,
|
||||
g_use_skia_renderer_enabled_by_policy.value_or(
|
||||
base::FeatureList::IsEnabled(features::kPdfUseSkiaRenderer)),
|
||||
FontMappingMode::kNoMapping);
|
||||
}
|
||||
CHECK(!IsSDKInitializedViaPlugin());
|
||||
InitializeSDK(
|
||||
enable_v8,
|
||||
g_use_skia_renderer_enabled_by_policy.value_or(
|
||||
base::FeatureList::IsEnabled(features::kPdfUseSkiaRenderer)),
|
||||
FontMappingMode::kNoMapping);
|
||||
}
|
||||
|
||||
ScopedSdkInitializer(const ScopedSdkInitializer&) = delete;
|
||||
ScopedSdkInitializer& operator=(const ScopedSdkInitializer&) = delete;
|
||||
|
||||
~ScopedSdkInitializer() {
|
||||
if (!IsSDKInitializedViaPlugin())
|
||||
ShutdownSDK();
|
||||
CHECK(!IsSDKInitializedViaPlugin());
|
||||
ShutdownSDK();
|
||||
}
|
||||
};
|
||||
|
||||
|
Reference in New Issue
Block a user