| Index: plugins/org.chromium.sdk.wipbackend.protocol_1_0/src/org/chromium/sdk/internal/wip/WipValueBuilder.java
|
| diff --git a/plugins/org.chromium.sdk.wipbackend.protocol_1_0/src/org/chromium/sdk/internal/wip/WipValueBuilder.java b/plugins/org.chromium.sdk.wipbackend.protocol_1_0/src/org/chromium/sdk/internal/wip/WipValueBuilder.java
|
| index fb8331149bb4329c3303ec429f8ced3328f1d9c1..7af502abeed993f25ea37c3ba0f932bcc2a97291 100644
|
| --- a/plugins/org.chromium.sdk.wipbackend.protocol_1_0/src/org/chromium/sdk/internal/wip/WipValueBuilder.java
|
| +++ b/plugins/org.chromium.sdk.wipbackend.protocol_1_0/src/org/chromium/sdk/internal/wip/WipValueBuilder.java
|
| @@ -16,6 +16,7 @@ import java.util.concurrent.atomic.AtomicReference;
|
| import java.util.logging.Logger;
|
|
|
| import org.chromium.sdk.JsArray;
|
| +import org.chromium.sdk.JsDeclarativeVariable;
|
| import org.chromium.sdk.JsEvaluateContext.EvaluateCallback;
|
| import org.chromium.sdk.JsFunction;
|
| import org.chromium.sdk.JsObject;
|
| @@ -101,6 +102,9 @@ class WipValueBuilder {
|
| qualifiedNameBuilder, "setter");
|
|
|
| return new ObjectPropertyBase(jsValue, nameBuilder) {
|
| + @Override public JsDeclarativeVariable asDeclarativeVariable() {
|
| + return null;
|
| + }
|
| @Override public boolean isWritable() {
|
| return propertyDescriptor.writable() == Boolean.TRUE;
|
| }
|
| @@ -201,6 +205,18 @@ class WipValueBuilder {
|
| return createVariable(jsValue, nameBuilder);
|
| }
|
|
|
| + public JsDeclarativeVariable createDeclarativeVariable(RemoteObjectValue valueData,
|
| + ValueNameBuilder nameBuilder) {
|
| + QualifiedNameBuilder qualifiedNameBuilder;
|
| + if (nameBuilder == null) {
|
| + qualifiedNameBuilder = null;
|
| + } else {
|
| + qualifiedNameBuilder = nameBuilder.getQualifiedNameBuilder();
|
| + }
|
| + JsValue jsValue = wrap(valueData, qualifiedNameBuilder);
|
| + return new DeclarativeVariable(jsValue, nameBuilder);
|
| + }
|
| +
|
| public JsValue wrap(RemoteObjectValue valueData, QualifiedNameBuilder nameBuilder) {
|
| if (valueData == null) {
|
| return null;
|
| @@ -647,7 +663,6 @@ class WipValueBuilder {
|
| this.nameBuilder = nameBuilder;
|
| }
|
|
|
| - @Override
|
| public boolean isReadable() {
|
| return true;
|
| }
|
| @@ -662,17 +677,6 @@ class WipValueBuilder {
|
| return nameBuilder.getShortName();
|
| }
|
|
|
| - @Override
|
| - public boolean isMutable() {
|
| - return false;
|
| - }
|
| -
|
| - @Override
|
| - public RelayOk setValue(JsValue newValue, SetValueCallback callback,
|
| - SyncCallback syncCallback) throws UnsupportedOperationException {
|
| - throw new UnsupportedOperationException();
|
| - }
|
| -
|
| public String getFullyQualifiedName() {
|
| String result = qualifiedName;
|
| if (result == null) {
|
| @@ -697,6 +701,29 @@ class WipValueBuilder {
|
| @Override public JsObjectProperty asObjectProperty() {
|
| return null;
|
| }
|
| + @Override public JsDeclarativeVariable asDeclarativeVariable() {
|
| + return null;
|
| + }
|
| + }
|
| +
|
| + private static class DeclarativeVariable extends VariableImpl implements JsDeclarativeVariable {
|
| + DeclarativeVariable(JsValue jsValue, ValueNameBuilder nameBuilder) {
|
| + super(jsValue, nameBuilder);
|
| + }
|
| +
|
| + @Override public JsDeclarativeVariable asDeclarativeVariable() {
|
| + return this;
|
| + }
|
| +
|
| + @Override public boolean isMutable() {
|
| + return false;
|
| + }
|
| +
|
| + @Override
|
| + public RelayOk setValue(JsValue newValue, SetValueCallback callback,
|
| + SyncCallback syncCallback) throws UnsupportedOperationException {
|
| + throw new UnsupportedOperationException();
|
| + }
|
| }
|
|
|
| private static abstract class ObjectPropertyBase
|
|
|