OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 class DOMWrapperBase { | 5 class DOMWrapperBase { |
6 final _ptr; | 6 final _ptr; |
7 | 7 |
8 DOMWrapperBase._wrap(this._ptr) { | 8 DOMWrapperBase._wrap(this._ptr) { |
9 // We should never be creating duplicate wrappers. | 9 // We should never be creating duplicate wrappers. |
10 » assert(_ptr.dartObjectLocalStorage === null); | 10 » // TODO(jacobr): this boolean value is evaluated outside of the assert |
| 11 » // to work around a mysterious and flaky bug in tip of trunk versions of |
| 12 » // chrome. |
| 13 » bool hasExistingWrapper = _ptr.dartObjectLocalStorage === null; |
| 14 » assert(hasExistingWrapper); |
11 _ptr.dartObjectLocalStorage = this; | 15 _ptr.dartObjectLocalStorage = this; |
12 } | 16 } |
13 } | 17 } |
14 | 18 |
15 /** This function is provided for unittest purposes only. */ | 19 /** This function is provided for unittest purposes only. */ |
16 unwrapDomObject(DOMWrapperBase wrapper) { | 20 unwrapDomObject(DOMWrapperBase wrapper) { |
17 return wrapper._ptr; | 21 return wrapper._ptr; |
18 } | 22 } |
OLD | NEW |