blob: 35c98d95f17dd8f7df8f3e1c5d2a176d47771098 [file] [log] [blame]
// Copyright 2019 PDFium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef TESTING_V8_INITIALIZER_H_
#define TESTING_V8_INITIALIZER_H_
#include <memory>
#include <string>
#ifndef PDF_ENABLE_V8
#error "V8 must be enabled"
#endif
namespace v8 {
class Platform;
#ifdef V8_USE_EXTERNAL_STARTUP_DATA
class StartupData;
#endif
} // namespace v8
#ifdef V8_USE_EXTERNAL_STARTUP_DATA
// |natives_blob| and |snapshot_blob| are optional out parameters. They should
// either both be valid or both be nullptrs.
std::unique_ptr<v8::Platform> InitializeV8ForPDFiumWithStartupData(
const std::string& exe_path,
const std::string& bin_dir,
v8::StartupData* natives_blob,
v8::StartupData* snapshot_blob);
#else
std::unique_ptr<v8::Platform> InitializeV8ForPDFium(
const std::string& exe_path);
#endif
#endif // TESTING_V8_INITIALIZER_H_