Dirty rects always contain full tiles with delegated rendering.
[chromium-blink-merge.git] / gin / context_holder.cc
blob80c11980938b555c50ac4d74b21986d0256e94d9
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "gin/context_holder.h"
7 #include "base/logging.h"
8 #include "gin/per_context_data.h"
10 namespace gin {
12 ContextHolder::ContextHolder(v8::Isolate* isolate)
13 : isolate_(isolate) {
16 ContextHolder::~ContextHolder() {
17 v8::HandleScope handle_scope(isolate());
18 v8::Handle<v8::Context> context = this->context();
20 data_->Detach(context);
21 data_.reset();
23 // TODO(abarth): Figure out how to set kResetInDestructor to true.
24 context_.Reset();
27 void ContextHolder::SetContext(v8::Handle<v8::Context> context) {
28 DCHECK(context_.IsEmpty());
29 context_.Reset(isolate_, context);
30 data_.reset(new PerContextData(context));
33 } // namespace gin