Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(212)

Unified Diff: plugins/org.chromium.sdk.wipbackend.protocol_1_0/src/org/chromium/sdk/internal/wip/WipValueBuilder.java

Issue 12300043: Move setValue operation into a separate JsDeclarativeVariable interface (Closed) Base URL: https://chromedevtools.googlecode.com/svn/trunk
Patch Set: fcr Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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

Powered by Google App Engine
This is Rietveld 408576698