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

Unified Diff: plugins/org.chromium.sdk.wipbackend.dev/src/org/chromium/sdk/internal/wip/WipContextBuilder.java

Issue 12287017: Support set variable value for WebKit protocol (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
« no previous file with comments | « no previous file | plugins/org.chromium.sdk.wipbackend.dev/src/org/chromium/sdk/internal/wip/WipValueBuilder.java » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: plugins/org.chromium.sdk.wipbackend.dev/src/org/chromium/sdk/internal/wip/WipContextBuilder.java
diff --git a/plugins/org.chromium.sdk.wipbackend.dev/src/org/chromium/sdk/internal/wip/WipContextBuilder.java b/plugins/org.chromium.sdk.wipbackend.dev/src/org/chromium/sdk/internal/wip/WipContextBuilder.java
index dbb91cdb6e59a33d48a1928fb3c166306185e6f6..5a25c4c6e68066902606e8e963b4e2e6849d14dc 100644
--- a/plugins/org.chromium.sdk.wipbackend.dev/src/org/chromium/sdk/internal/wip/WipContextBuilder.java
+++ b/plugins/org.chromium.sdk.wipbackend.dev/src/org/chromium/sdk/internal/wip/WipContextBuilder.java
@@ -329,9 +329,11 @@ class WipContextBuilder {
public List<JsScope> construct() {
final List<JsScope> scopes = new ArrayList<JsScope>(scopeDataList.size());
+ ScopeHolderParams holderParams = new ScopeHolderParams(id, null);
+
for (int i = 0; i < scopeDataList.size(); i++) {
ScopeValue scopeData = scopeDataList.get(i);
- scopes.add(createScope(scopeData, valueLoader));
+ scopes.add(createScope(scopeData, valueLoader, holderParams, i));
}
return scopes;
}
@@ -410,7 +412,7 @@ class WipContextBuilder {
}
private JsVariable createSimpleNameVariable(String name, RemoteObjectValue thisObjectData) {
- return valueLoader.getValueBuilder().createVariable(thisObjectData, name);
+ return valueLoader.getValueBuilder().createVariable(thisObjectData, name, null);
}
private final WipEvaluateContextBase<?> evaluateContext =
@@ -563,7 +565,8 @@ class WipContextBuilder {
};
- static JsScope createScope(ScopeValue scopeData, WipValueLoader valueLoader) {
+ static JsScope createScope(ScopeValue scopeData, WipValueLoader valueLoader,
+ ScopeHolderParams holderParams, int scopeIndex) {
JsScope.Type type = WIP_TO_SDK_SCOPE_TYPE.get(scopeData.type());
if (type == null) {
type = JsScope.Type.UNKNOWN;
@@ -571,7 +574,8 @@ class WipContextBuilder {
if (type == JsScope.Type.WITH || type == JsScope.Type.GLOBAL) {
return new ObjectScopeImpl(scopeData, type, valueLoader);
} else {
- return new DeclarativeScopeImpl(scopeData, type, valueLoader);
+ ScopeParams scopeParams = new ScopeParams(holderParams, scopeIndex);
+ return new DeclarativeScopeImpl(scopeData, scopeParams, type, valueLoader);
}
}
@@ -579,11 +583,14 @@ class WipContextBuilder {
private final AsyncFutureRef<Getter<ScopeVariables>> propertiesRef =
new AsyncFutureRef<Getter<ScopeVariables>>();
private final String objectId;
+ private final ScopeParams scopeParams;
private final Type type;
private final WipValueLoader valueLoader;
- public DeclarativeScopeImpl(ScopeValue scopeData, Type type, WipValueLoader valueLoader) {
+ public DeclarativeScopeImpl(ScopeValue scopeData, ScopeParams scopeParams, Type type,
+ WipValueLoader valueLoader) {
this.type = type;
+ this.scopeParams = scopeParams;
this.objectId = scopeData.object().objectId();
this.valueLoader = valueLoader;
}
@@ -641,12 +648,7 @@ class WipContextBuilder {
for (PropertyDescriptorValue property : propertyList) {
final String name = property.name();
- JsVariable variable;
- if (objectId == null) {
- variable = valueBuilder.createVariable(property.value(), name);
- } else {
- variable = valueBuilder.createObjectProperty(property, objectId, name);
- }
+ JsVariable variable = valueBuilder.createVariable(property.value(), name, scopeParams);
properties.add(variable);
}
final ScopeVariables scopeVariables = new ScopeVariables(properties, currentCacheState);
@@ -674,6 +676,35 @@ class WipContextBuilder {
}
}
+ static class ScopeHolderParams {
+ private final String callFrameId;
+ private final String functionId;
+
+ ScopeHolderParams(String callFrameId, String functionId) {
+ this.callFrameId = callFrameId;
+ this.functionId = functionId;
+ }
+ }
+
+ static class ScopeParams {
+ private final ScopeHolderParams scopeHolder;
+ private final int scopeIndex;
+
+ private ScopeParams(ScopeHolderParams scopeHolder, int scopeIndex) {
+ this.scopeHolder = scopeHolder;
+ this.scopeIndex = scopeIndex;
+ }
+ String getCallFrameId() {
+ return scopeHolder.callFrameId;
+ }
+ String getFunctionId() {
+ return scopeHolder.functionId;
+ }
+ int getScopeNumber() {
+ return scopeIndex;
+ }
+ }
+
private static class ObjectScopeImpl implements JsScope.ObjectBased {
private final JsValue jsValue;
private final JsScope.Type type;
« no previous file with comments | « no previous file | plugins/org.chromium.sdk.wipbackend.dev/src/org/chromium/sdk/internal/wip/WipValueBuilder.java » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698