summaryrefslogtreecommitdiff
path: root/deps
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2019-03-15 22:59:50 +0100
committerRefael Ackermann <refack@gmail.com>2019-03-28 16:37:58 -0400
commite6af2207a9d5a7602688379147662a2bb4ee4ce6 (patch)
tree6aa9fab00999f4af8addb81c79d5963cf3ccc951 /deps
parent963061bc024958cd424a75a507a0dbcf6724e2ec (diff)
downloadandroid-node-v8-e6af2207a9d5a7602688379147662a2bb4ee4ce6.tar.gz
android-node-v8-e6af2207a9d5a7602688379147662a2bb4ee4ce6.tar.bz2
android-node-v8-e6af2207a9d5a7602688379147662a2bb4ee4ce6.zip
deps: V8: cherry-pick d5f08e4
Original commit message: [api] Remove unowned Extensions interface Extensions are now always passed via unique_ptr and are owned by V8. This CL removes the deprecated API where the embedder would own the Extension, but has no mechanism for deleting it. R=ulan@chromium.org Bug: v8:8725 Change-Id: Icb83660fad9d04c66f8db2265091ebabcbb197c4 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1514493 Reviewed-by: Yang Guo <yangguo@chromium.org> Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Cr-Commit-Position: refs/heads/master@{#60186} Refs: https://github.com/v8/v8/commit/d5f08e4e4fa5beedda1e22c2e16d8da99540574e PR-URL: https://github.com/nodejs/node/pull/26685 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Michaƫl Zasso <targos@protonmail.com> Reviewed-By: Refael Ackermann <refack@gmail.com>
Diffstat (limited to 'deps')
-rw-r--r--deps/v8/include/v8.h4
-rw-r--r--deps/v8/src/api.cc12
-rw-r--r--deps/v8/src/api.h8
3 files changed, 1 insertions, 23 deletions
diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h
index f76fd34183..ac96091ef6 100644
--- a/deps/v8/include/v8.h
+++ b/deps/v8/include/v8.h
@@ -6497,10 +6497,6 @@ class V8_EXPORT Extension { // NOLINT
bool auto_enable_;
};
-V8_DEPRECATED(
- "Use unique_ptr version or stop using extension (http://crbug.com/334679).",
- void V8_EXPORT RegisterExtension(Extension* extension));
-
void V8_EXPORT RegisterExtension(std::unique_ptr<Extension>);
// --- Statics ---
diff --git a/deps/v8/src/api.cc b/deps/v8/src/api.cc
index 657c93419c..6742907a70 100644
--- a/deps/v8/src/api.cc
+++ b/deps/v8/src/api.cc
@@ -898,20 +898,10 @@ void V8::SetFlagsFromCommandLine(int* argc, char** argv, bool remove_flags) {
RegisteredExtension* RegisteredExtension::first_extension_ = nullptr;
-RegisteredExtension::RegisteredExtension(Extension* extension)
- : legacy_unowned_extension_(extension) {}
-
RegisteredExtension::RegisteredExtension(std::unique_ptr<Extension> extension)
: extension_(std::move(extension)) {}
// static
-void RegisteredExtension::Register(Extension* extension) {
- RegisteredExtension* new_extension = new RegisteredExtension(extension);
- new_extension->next_ = first_extension_;
- first_extension_ = new_extension;
-}
-
-// static
void RegisteredExtension::Register(std::unique_ptr<Extension> extension) {
RegisteredExtension* new_extension =
new RegisteredExtension(std::move(extension));
@@ -946,8 +936,6 @@ class ExtensionResource : public String::ExternalOneByteStringResource {
};
} // anonymous namespace
-void RegisterExtension(Extension* that) { RegisteredExtension::Register(that); }
-
void RegisterExtension(std::unique_ptr<Extension> extension) {
RegisteredExtension::Register(std::move(extension));
}
diff --git a/deps/v8/src/api.h b/deps/v8/src/api.h
index 40f4e18025..5491a9ece5 100644
--- a/deps/v8/src/api.h
+++ b/deps/v8/src/api.h
@@ -71,20 +71,14 @@ class ApiFunction {
class RegisteredExtension {
public:
- static void Register(Extension*);
static void Register(std::unique_ptr<Extension>);
static void UnregisterAll();
- Extension* extension() const {
- return legacy_unowned_extension_ ? legacy_unowned_extension_
- : extension_.get();
- }
+ Extension* extension() const { return extension_.get(); }
RegisteredExtension* next() const { return next_; }
static RegisteredExtension* first_extension() { return first_extension_; }
private:
explicit RegisteredExtension(Extension*);
explicit RegisteredExtension(std::unique_ptr<Extension>);
- // TODO(clemensh): Remove this after the 7.4 branch.
- Extension* legacy_unowned_extension_ = nullptr;
std::unique_ptr<Extension> extension_;
RegisteredExtension* next_ = nullptr;
static RegisteredExtension* first_extension_;