Index: third_party/WebKit/Source/bindings/IDLExtendedAttributes.md |
diff --git a/third_party/WebKit/Source/bindings/IDLExtendedAttributes.md b/third_party/WebKit/Source/bindings/IDLExtendedAttributes.md |
index 13113cbc5804e70db598dbf67d53845481232e63..eecb69946f0f87a0c3a721ace166c70990eb501f 100644 |
--- a/third_party/WebKit/Source/bindings/IDLExtendedAttributes.md |
+++ b/third_party/WebKit/Source/bindings/IDLExtendedAttributes.md |
@@ -1573,6 +1573,31 @@ v8::experimental::FastAccessorBuilder* V8Node::XXXAttributeGetterBuilder(v8::Iso |
``` |
+ |
+### [CachedAccessor] _(a)_ |
+ |
+Summary: Caches accessor result to a private property. |
+ |
haraken
2016/09/20 14:15:02
Add a webidl example.
|
+ |
haraken
2016/09/20 14:15:02
Some description is needed to describe what [Cache
|
+*** note |
+The accessor cannot have any side effects since calls to the getter will be suppresed, being replaced by a cheap property load. |
+It uses a **push approach**, so updates must be 'pushed' every single time, it **WONT'T** invalidate/recalculate the values automatically. |
+The original getter can still be used/called on certain circumstances. |
+Useful for performance-critical use cases, where the accessor's result doesn't change often. |
+ |
+Please add the required property to V8PrivateProperty.h. |
+To update the cache (e.g. for window.document) proceed as follows: |
+ |
+```c++ |
+V8PrivateProperty::getWindowDocument().set(context, object, newValue); |
+``` |
+ |
+ |
+*** |
+ |
+Usage: `[CachedAccessor]` takes no arguments, can be specified on attributes. |
+ |
+ |
## Discouraged Blink-specific IDL Extended Attributes |
These extended attributes are _discouraged_ - they are not deprecated, but they should be avoided and removed if possible. |