summaryrefslogtreecommitdiffstats
path: root/gin
diff options
context:
space:
mode:
authorjochen <jochen@chromium.org>2015-11-06 13:36:43 -0800
committerCommit bot <commit-bot@chromium.org>2015-11-06 21:37:54 +0000
commit4a5e3814844abbf8a26d195fab24081101eafd0e (patch)
tree84ff11c92479d032084b7e8d7f33a90dd4647fdc /gin
parent1f586913e41b23b7b339a4b9d2397b56f3b62145 (diff)
downloadchromium_src-4a5e3814844abbf8a26d195fab24081101eafd0e.zip
chromium_src-4a5e3814844abbf8a26d195fab24081101eafd0e.tar.gz
chromium_src-4a5e3814844abbf8a26d195fab24081101eafd0e.tar.bz2
Replace hidden values with private symbols in mojo and gin
Private symbols are ES6 symbols that can't be observed from JavaScript. We will soon remove support for hidden values. BUG=none R=sky@chromium.org Review URL: https://codereview.chromium.org/1418513021 Cr-Commit-Position: refs/heads/master@{#358408}
Diffstat (limited to 'gin')
-rw-r--r--gin/modules/timer.cc15
1 files changed, 10 insertions, 5 deletions
diff --git a/gin/modules/timer.cc b/gin/modules/timer.cc
index 8aac8a6..26b5c75 100644
--- a/gin/modules/timer.cc
+++ b/gin/modules/timer.cc
@@ -12,8 +12,8 @@ namespace gin {
namespace {
-v8::Local<v8::String> GetHiddenPropertyName(v8::Isolate* isolate) {
- return gin::StringToSymbol(isolate, "::gin::Timer");
+v8::Local<v8::Private> GetHiddenPropertyName(v8::Isolate* isolate) {
+ return v8::Private::ForApi(isolate, gin::StringToV8(isolate, "::gin::Timer"));
}
} // namespace
@@ -45,8 +45,10 @@ Timer::Timer(v8::Isolate* isolate, bool repeating, int delay_ms,
runner_(PerContextData::From(
isolate->GetCurrentContext())->runner()->GetWeakPtr()),
weak_factory_(this) {
- GetWrapper(runner_->GetContextHolder()->isolate())->SetHiddenValue(
- GetHiddenPropertyName(isolate), function);
+ GetWrapper(runner_->GetContextHolder()->isolate())
+ ->SetPrivate(isolate->GetCurrentContext(), GetHiddenPropertyName(isolate),
+ function)
+ .FromJust();
timer_.Start(FROM_HERE, base::TimeDelta::FromMilliseconds(delay_ms),
base::Bind(&Timer::OnTimerFired, weak_factory_.GetWeakPtr()));
}
@@ -65,7 +67,10 @@ void Timer::OnTimerFired() {
Runner::Scope scope(runner_.get());
v8::Isolate* isolate = runner_->GetContextHolder()->isolate();
v8::Local<v8::Function> function = v8::Local<v8::Function>::Cast(
- GetWrapper(isolate)->GetHiddenValue(GetHiddenPropertyName(isolate)));
+ GetWrapper(isolate)
+ ->GetPrivate(runner_->GetContextHolder()->context(),
+ GetHiddenPropertyName(isolate))
+ .ToLocalChecked());
runner_->Call(function, v8::Undefined(isolate), 0, NULL);
}