OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "sky/engine/config.h" | 5 #include "sky/engine/config.h" |
6 #include "sky/engine/bindings/builtin_sky.h" | 6 #include "sky/engine/bindings/builtin_sky.h" |
7 | 7 |
8 #include "sky/engine/bindings/builtin.h" | 8 #include "sky/engine/bindings/builtin.h" |
9 #include "sky/engine/core/frame/LocalDOMWindow.h" | 9 #include "sky/engine/core/frame/LocalDOMWindow.h" |
10 #include "sky/engine/core/script/dom_dart_state.h" | 10 #include "sky/engine/core/script/dom_dart_state.h" |
| 11 #include "sky/engine/core/view/View.h" |
11 #include "sky/engine/tonic/dart_error.h" | 12 #include "sky/engine/tonic/dart_error.h" |
12 | 13 |
13 namespace blink { | 14 namespace blink { |
14 | 15 |
15 BuiltinSky::BuiltinSky(DOMDartState* dart_state) { | 16 BuiltinSky::BuiltinSky(DOMDartState* dart_state) { |
16 Builtin::SetNativeResolver(Builtin::kSkyLibrary); | 17 Builtin::SetNativeResolver(Builtin::kSkyLibrary); |
17 library_.Set(dart_state, Builtin::LoadAndCheckLibrary(Builtin::kSkyLibrary)); | 18 library_.Set(dart_state, Builtin::LoadAndCheckLibrary(Builtin::kSkyLibrary)); |
18 } | 19 } |
19 | 20 |
20 BuiltinSky::~BuiltinSky() { | 21 BuiltinSky::~BuiltinSky() { |
21 } | 22 } |
22 | 23 |
23 void BuiltinSky::InstallWindow(DOMDartState* dart_state) { | 24 void BuiltinSky::InstallWindow(DOMDartState* dart_state) { |
24 CHECK(!LogIfError(Dart_SetField(library_.value(), | 25 CHECK(!LogIfError(Dart_SetField(library_.value(), |
25 ToDart("window"), | 26 ToDart("window"), |
26 ToDart(dart_state->CurrentWindow())))); | 27 ToDart(dart_state->CurrentWindow())))); |
27 // TODO(abarth): Retain the document wrapper. | 28 // TODO(abarth): Retain the document wrapper. |
28 } | 29 } |
29 | 30 |
| 31 void BuiltinSky::InstallView(View* view) { |
| 32 CHECK(!LogIfError( |
| 33 Dart_SetField(library_.value(), ToDart("view"), ToDart(view)))); |
| 34 } |
| 35 |
30 Dart_Handle BuiltinSky::GetClassByName(const char* class_name) { | 36 Dart_Handle BuiltinSky::GetClassByName(const char* class_name) { |
31 Dart_Handle name_handle = ToDart(class_name); | 37 Dart_Handle name_handle = ToDart(class_name); |
32 Dart_Handle class_handle = Dart_GetType(library_.value(), name_handle, 0, null
ptr); | 38 Dart_Handle class_handle = Dart_GetType(library_.value(), name_handle, 0, null
ptr); |
33 DCHECK(!Dart_IsError(class_handle)) << class_name; | 39 DCHECK(!Dart_IsError(class_handle)) << class_name; |
34 return class_handle; | 40 return class_handle; |
35 } | 41 } |
36 | 42 |
37 } // namespace blink | 43 } // namespace blink |
OLD | NEW |