summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/inspector/front-end/CSSStyleModel.js
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/inspector/front-end/CSSStyleModel.js')
-rw-r--r--Source/WebCore/inspector/front-end/CSSStyleModel.js88
1 files changed, 50 insertions, 38 deletions
diff --git a/Source/WebCore/inspector/front-end/CSSStyleModel.js b/Source/WebCore/inspector/front-end/CSSStyleModel.js
index 700417e..148bfd8 100644
--- a/Source/WebCore/inspector/front-end/CSSStyleModel.js
+++ b/Source/WebCore/inspector/front-end/CSSStyleModel.js
@@ -43,9 +43,9 @@ WebInspector.CSSStyleModel.parseRuleArrayPayload = function(ruleArray)
WebInspector.CSSStyleModel.prototype = {
getStylesAsync: function(nodeId, userCallback)
{
- function callback(userCallback, payload)
+ function callback(userCallback, error, payload)
{
- if (!payload) {
+ if (error) {
if (userCallback)
userCallback(null);
return;
@@ -59,8 +59,11 @@ WebInspector.CSSStyleModel.prototype = {
result.matchedCSSRules = WebInspector.CSSStyleModel.parseRuleArrayPayload(payload.matchedCSSRules);
result.styleAttributes = {};
- for (var name in payload.styleAttributes)
- result.styleAttributes[name] = WebInspector.CSSStyleDeclaration.parsePayload(payload.styleAttributes[name]);
+ var payloadStyleAttributes = payload.styleAttributes;
+ for (var i = 0; i < payloadStyleAttributes.length; ++i) {
+ var name = payloadStyleAttributes[i].name;
+ result.styleAttributes[name] = WebInspector.CSSStyleDeclaration.parsePayload(payloadStyleAttributes[i].style);
+ }
result.pseudoElements = [];
for (var i = 0; i < payload.pseudoElements.length; ++i) {
@@ -88,9 +91,9 @@ WebInspector.CSSStyleModel.prototype = {
getComputedStyleAsync: function(nodeId, userCallback)
{
- function callback(userCallback, stylePayload)
+ function callback(userCallback, error, stylePayload)
{
- if (!stylePayload)
+ if (error)
userCallback(null);
else
userCallback(WebInspector.CSSStyleDeclaration.parsePayload(stylePayload));
@@ -101,9 +104,9 @@ WebInspector.CSSStyleModel.prototype = {
getInlineStyleAsync: function(nodeId, userCallback)
{
- function callback(userCallback, stylePayload)
+ function callback(userCallback, error, stylePayload)
{
- if (!stylePayload)
+ if (error)
userCallback(null);
else
userCallback(WebInspector.CSSStyleDeclaration.parsePayload(stylePayload));
@@ -114,28 +117,31 @@ WebInspector.CSSStyleModel.prototype = {
setRuleSelector: function(ruleId, nodeId, newSelector, successCallback, failureCallback)
{
- function checkAffectsCallback(nodeId, successCallback, rulePayload, selectedNodeIds)
+ function checkAffectsCallback(nodeId, successCallback, rulePayload, error, selectedNodeIds)
{
+ if (error)
+ return;
var doesAffectSelectedNode = (selectedNodeIds.indexOf(nodeId) >= 0);
var rule = WebInspector.CSSRule.parsePayload(rulePayload);
successCallback(rule, doesAffectSelectedNode);
this._styleSheetChanged(rule.id.styleSheetId, true);
}
- function callback(nodeId, successCallback, failureCallback, newSelector, rulePayload)
+ function callback(nodeId, successCallback, failureCallback, error, newSelector, rulePayload)
{
- if (!rulePayload)
+ // FIXME: looks like rulePayload is always null.
+ if (error)
failureCallback();
else
DOMAgent.querySelectorAll(nodeId, newSelector, true, checkAffectsCallback.bind(this, nodeId, successCallback, rulePayload));
}
- CSSAgent.setRuleSelector(ruleId, newSelector, callback.bind(this, nodeId, successCallback, failureCallback));
+ CSSAgent.setRuleSelector(ruleId, newSelector, callback.bind(this, nodeId, successCallback, failureCallback, newSelector));
},
addRule: function(nodeId, selector, successCallback, failureCallback)
{
- function checkAffectsCallback(nodeId, successCallback, rulePayload, selectedNodeIds)
+ function checkAffectsCallback(nodeId, successCallback, rulePayload, error, selectedNodeIds)
{
var doesAffectSelectedNode = (selectedNodeIds.indexOf(nodeId) >= 0);
var rule = WebInspector.CSSRule.parsePayload(rulePayload);
@@ -143,9 +149,9 @@ WebInspector.CSSStyleModel.prototype = {
this._styleSheetChanged(rule.id.styleSheetId, true);
}
- function callback(successCallback, failureCallback, selector, rulePayload)
+ function callback(successCallback, failureCallback, selector, error, rulePayload)
{
- if (!rulePayload) {
+ if (error) {
// Invalid syntax for a selector
failureCallback();
} else
@@ -160,21 +166,26 @@ WebInspector.CSSStyleModel.prototype = {
if (!majorChange || !styleSheetId)
return;
- function callback(href, content)
+ function callback(error, href, content)
{
+ if (error)
+ return;
var resource = WebInspector.resourceForURL(href);
- if (resource && resource.type === WebInspector.Resource.Type.Stylesheet)
+ if (resource && resource.type === WebInspector.Resource.Type.Stylesheet) {
resource.setContent(content, this._onRevert.bind(this, styleSheetId));
+ this.dispatchEventToListeners("stylesheet changed");
+ }
}
CSSAgent.getStyleSheetText(styleSheetId, callback.bind(this));
},
_onRevert: function(styleSheetId, contentToRevertTo)
{
- function callback(success)
+ function callback(error, success)
{
+ if (error)
+ return;
this._styleSheetChanged(styleSheetId, true);
- this.dispatchEventToListeners("stylesheet changed");
}
CSSAgent.setStyleSheetText(styleSheetId, contentToRevertTo, callback.bind(this));
}
@@ -335,12 +346,12 @@ WebInspector.CSSStyleDeclaration.prototype = {
insertPropertyAt: function(index, name, value, userCallback)
{
- function callback(userCallback, payload)
+ function callback(userCallback, error, payload)
{
if (!userCallback)
return;
- if (!payload)
+ if (error)
userCallback(null);
else {
userCallback(WebInspector.CSSStyleDeclaration.parsePayload(payload));
@@ -412,8 +423,14 @@ WebInspector.CSSProperty = function(ownerStyle, index, name, value, priority, st
WebInspector.CSSProperty.parsePayload = function(ownerStyle, index, payload)
{
+ // The following default field values are used in the payload:
+ // priority: ""
+ // parsedOk: true
+ // implicit: false
+ // status: "style"
+ // shorthandName: ""
var result = new WebInspector.CSSProperty(
- ownerStyle, index, payload.name, payload.value, payload.priority, payload.status, payload.parsedOk, payload.implicit, payload.shorthandName, payload.text);
+ ownerStyle, index, payload.name, payload.value, payload.priority || "", payload.status || "style", ("parsedOk" in payload) ? payload.parsedOk : true, !!payload.implicit, payload.shorthandName || "", payload.text);
return result;
}
@@ -464,9 +481,9 @@ WebInspector.CSSProperty.prototype = {
userCallback(style);
}
- function callback(stylePayload)
+ function callback(error, stylePayload)
{
- if (stylePayload) {
+ if (!error && stylePayload) {
this.text = propertyText;
var style = WebInspector.CSSStyleDeclaration.parsePayload(stylePayload);
var newProperty = style.allProperties[this.index];
@@ -504,11 +521,11 @@ WebInspector.CSSProperty.prototype = {
if (disabled === this.disabled && userCallback)
userCallback(this.ownerStyle);
- function callback(stylePayload)
+ function callback(error, stylePayload)
{
if (!userCallback)
return;
- if (!stylePayload)
+ if (error)
userCallback(null);
else {
var style = WebInspector.CSSStyleDeclaration.parsePayload(stylePayload);
@@ -524,9 +541,6 @@ WebInspector.CSSProperty.prototype = {
WebInspector.CSSStyleSheet = function(payload)
{
this.id = payload.styleSheetId;
- this.sourceURL = payload.sourceURL;
- this.title = payload.title;
- this.disabled = payload.disabled;
this.rules = [];
this.styles = {};
for (var i = 0; i < payload.rules.length; ++i) {
@@ -541,9 +555,9 @@ WebInspector.CSSStyleSheet = function(payload)
WebInspector.CSSStyleSheet.createForId = function(styleSheetId, userCallback)
{
- function callback(styleSheetPayload)
+ function callback(error, styleSheetPayload)
{
- if (!styleSheetPayload)
+ if (error)
userCallback(null);
else
userCallback(new WebInspector.CSSStyleSheet(styleSheetPayload));
@@ -559,14 +573,12 @@ WebInspector.CSSStyleSheet.prototype = {
setText: function(newText, userCallback)
{
- function callback(styleSheetPayload)
+ function callback(error, isChangeSuccessful)
{
- if (!styleSheetPayload)
- userCallback(null);
- else {
- userCallback(new WebInspector.CSSStyleSheet(styleSheetPayload));
- WebInspector.cssModel._styleSheetChanged(this.id, true);
- }
+ if (userCallback)
+ userCallback(isChangeSuccessful);
+ if (isChangeSuccessful)
+ WebInspector.cssModel._styleSheetChanged(this.id, true);
}
CSSAgent.setStyleSheetText(this.id, newText, callback.bind(this));