diff --git a/blocks/lists.js b/blocks/lists.js index 9e9217f12..2bbf5b6ea 100644 --- a/blocks/lists.js +++ b/blocks/lists.js @@ -146,7 +146,7 @@ Blockly.Blocks['lists_create_with'] = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, @@ -414,7 +414,7 @@ Blockly.Blocks['lists_getIndex'] = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); var isStatement = !this.outputConnection; container.setAttribute('statement', isStatement); var isAt = this.getInput('AT').type == Blockly.INPUT_VALUE; @@ -578,7 +578,7 @@ Blockly.Blocks['lists_setIndex'] = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); var isAt = this.getInput('AT').type == Blockly.INPUT_VALUE; container.setAttribute('at', isAt); return container; @@ -676,7 +676,7 @@ Blockly.Blocks['lists_getSublist'] = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); var isAt1 = this.getInput('AT1').type == Blockly.INPUT_VALUE; container.setAttribute('at1', isAt1); var isAt2 = this.getInput('AT2').type == Blockly.INPUT_VALUE; @@ -856,7 +856,7 @@ Blockly.Blocks['lists_split'] = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); container.setAttribute('mode', this.getFieldValue('MODE')); return container; }, diff --git a/blocks/logic.js b/blocks/logic.js index c5f156a81..1160b2148 100644 --- a/blocks/logic.js +++ b/blocks/logic.js @@ -320,7 +320,7 @@ Blockly.Constants.Logic.CONTROLS_IF_MUTATOR_MIXIN = { if (!this.elseifCount_ && !this.elseCount_) { return null; } - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); if (this.elseifCount_) { container.setAttribute('elseif', this.elseifCount_); } diff --git a/blocks/loops.js b/blocks/loops.js index a60df7b8b..607c65c47 100644 --- a/blocks/loops.js +++ b/blocks/loops.js @@ -268,7 +268,7 @@ Blockly.Constants.Loops.CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN = { option.text = Blockly.Msg['VARIABLES_SET_CREATE_GET'].replace('%1', varName); var xmlField = Blockly.Variables.generateVariableFieldDom(variable); - var xmlBlock = document.createElement('block'); + var xmlBlock = Blockly.utils.xml.createElement('block'); xmlBlock.setAttribute('type', 'variables_get'); xmlBlock.appendChild(xmlField); option.callback = Blockly.ContextMenu.callbackFactory(this, xmlBlock); diff --git a/blocks/math.js b/blocks/math.js index 4bc690916..23c4f7ce5 100644 --- a/blocks/math.js +++ b/blocks/math.js @@ -460,7 +460,7 @@ Blockly.Constants.Math.IS_DIVISIBLEBY_MUTATOR_MIXIN = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); var divisorInput = (this.getFieldValue('PROPERTY') == 'DIVISIBLE_BY'); container.setAttribute('divisor_input', divisorInput); return container; @@ -545,7 +545,7 @@ Blockly.Constants.Math.LIST_MODES_MUTATOR_MIXIN = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); container.setAttribute('op', this.getFieldValue('OP')); return container; }, diff --git a/blocks/procedures.js b/blocks/procedures.js index 45fd1709b..536821c05 100644 --- a/blocks/procedures.js +++ b/blocks/procedures.js @@ -108,12 +108,12 @@ Blockly.Blocks['procedures_defnoreturn'] = { * @this Blockly.Block */ mutationToDom: function(opt_paramIds) { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); if (opt_paramIds) { container.setAttribute('name', this.getFieldValue('NAME')); } for (var i = 0; i < this.argumentVarModels_.length; i++) { - var parameter = document.createElement('arg'); + var parameter = Blockly.utils.xml.createElement('arg'); var argModel = this.argumentVarModels_[i]; parameter.setAttribute('name', argModel.name); parameter.setAttribute('varid', argModel.getId()); @@ -354,14 +354,14 @@ Blockly.Blocks['procedures_defnoreturn'] = { var option = {enabled: true}; var name = this.getFieldValue('NAME'); option.text = Blockly.Msg['PROCEDURES_CREATE_DO'].replace('%1', name); - var xmlMutation = document.createElement('mutation'); + var xmlMutation = Blockly.utils.xml.createElement('mutation'); xmlMutation.setAttribute('name', name); for (var i = 0; i < this.arguments_.length; i++) { - var xmlArg = document.createElement('arg'); + var xmlArg = Blockly.utils.xml.createElement('arg'); xmlArg.setAttribute('name', this.arguments_[i]); xmlMutation.appendChild(xmlArg); } - var xmlBlock = document.createElement('block'); + var xmlBlock = Blockly.utils.xml.createElement('block'); xmlBlock.setAttribute('type', this.callType_); xmlBlock.appendChild(xmlMutation); option.callback = Blockly.ContextMenu.callbackFactory(this, xmlBlock); @@ -376,7 +376,7 @@ Blockly.Blocks['procedures_defnoreturn'] = { .replace('%1', argVar.name); var argXmlField = Blockly.Variables.generateVariableFieldDom(argVar); - var argXmlBlock = document.createElement('block'); + var argXmlBlock = Blockly.utils.xml.createElement('block'); argXmlBlock.setAttribute('type', 'variables_get'); argXmlBlock.appendChild(argXmlField); argOption.callback = @@ -814,10 +814,10 @@ Blockly.Blocks['procedures_callnoreturn'] = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); container.setAttribute('name', this.getProcedureCall()); for (var i = 0; i < this.arguments_.length; i++) { - var parameter = document.createElement('arg'); + var parameter = Blockly.utils.xml.createElement('arg'); parameter.setAttribute('name', this.arguments_[i]); container.appendChild(parameter); } @@ -880,7 +880,7 @@ Blockly.Blocks['procedures_callnoreturn'] = { Blockly.Events.setGroup(event.group); /** * Create matching definition block. - * + * * * * @@ -889,8 +889,8 @@ Blockly.Blocks['procedures_callnoreturn'] = { * * */ - var xml = document.createElement('xml'); - var block = document.createElement('block'); + var xml = Blockly.utils.xml.createElement('xml'); + var block = Blockly.utils.xml.createElement('block'); block.setAttribute('type', this.defType_); var xy = this.getRelativeToSurfaceXY(); var x = xy.x + Blockly.SNAP_RADIUS * (this.RTL ? -1 : 1); @@ -899,9 +899,10 @@ Blockly.Blocks['procedures_callnoreturn'] = { block.setAttribute('y', y); var mutation = this.mutationToDom(); block.appendChild(mutation); - var field = document.createElement('field'); + var field = Blockly.utils.xml.createElement('field'); field.setAttribute('name', 'NAME'); - field.appendChild(document.createTextNode(this.getProcedureCall())); + field.appendChild(Blockly.utils.xml.createTextNode( + this.getProcedureCall())); block.appendChild(field); xml.appendChild(block); Blockly.Xml.domToWorkspace(xml, this.workspace); @@ -1026,7 +1027,7 @@ Blockly.Blocks['procedures_ifreturn'] = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); container.setAttribute('value', Number(this.hasReturnValue_)); return container; }, diff --git a/blocks/text.js b/blocks/text.js index 91ed6c1fa..554c3e4dd 100644 --- a/blocks/text.js +++ b/blocks/text.js @@ -243,7 +243,7 @@ Blockly.Blocks['text_getSubstring'] = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); var isAt1 = this.getInput('AT1').type == Blockly.INPUT_VALUE; container.setAttribute('at1', isAt1); var isAt2 = this.getInput('AT2').type == Blockly.INPUT_VALUE; @@ -423,7 +423,7 @@ Blockly.Blocks['text_prompt_ext'] = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); container.setAttribute('type', this.getFieldValue('TYPE')); return container; }, @@ -660,7 +660,7 @@ Blockly.Constants.Text.TEXT_JOIN_MUTATOR_MIXIN = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); container.setAttribute('items', this.itemCount_); return container; }, @@ -810,7 +810,7 @@ Blockly.Constants.Text.TEXT_CHARAT_MUTATOR_MIXIN = { * @this Blockly.Block */ mutationToDom: function() { - var container = document.createElement('mutation'); + var container = Blockly.utils.xml.createElement('mutation'); container.setAttribute('at', !!this.isAt_); return container; }, diff --git a/blocks/variables.js b/blocks/variables.js index 1cd2f36f8..af040e7d1 100644 --- a/blocks/variables.js +++ b/blocks/variables.js @@ -113,10 +113,10 @@ Blockly.Constants.Variables.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN = { var option = {enabled: this.workspace.remainingCapacity() > 0}; var name = this.getField('VAR').getText(); option.text = contextMenuMsg.replace('%1', name); - var xmlField = document.createElement('field'); + var xmlField = Blockly.utils.xml.createElement('field'); xmlField.setAttribute('name', 'VAR'); - xmlField.appendChild(document.createTextNode(name)); - var xmlBlock = document.createElement('block'); + xmlField.appendChild(Blockly.utils.xml.createTextNode(name)); + var xmlBlock = Blockly.utils.xml.createElement('block'); xmlBlock.setAttribute('type', opposite_type); xmlBlock.appendChild(xmlField); option.callback = Blockly.ContextMenu.callbackFactory(this, xmlBlock); diff --git a/blocks/variables_dynamic.js b/blocks/variables_dynamic.js index b0ad6206b..b6baad658 100644 --- a/blocks/variables_dynamic.js +++ b/blocks/variables_dynamic.js @@ -114,11 +114,11 @@ Blockly.Constants.VariablesDynamic.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MI var option = {enabled: this.workspace.remainingCapacity() > 0}; var name = this.getField('VAR').getText(); option.text = contextMenuMsg.replace('%1', name); - var xmlField = document.createElement('field'); + var xmlField = Blockly.utils.xml.createElement('field'); xmlField.setAttribute('name', 'VAR'); xmlField.setAttribute('variabletype', varType); - xmlField.appendChild(document.createTextNode(name)); - var xmlBlock = document.createElement('block'); + xmlField.appendChild(Blockly.utils.xml.createTextNode(name)); + var xmlBlock = Blockly.utils.xml.createElement('block'); xmlBlock.setAttribute('type', opposite_type); xmlBlock.appendChild(xmlField); option.callback = Blockly.ContextMenu.callbackFactory(this, xmlBlock); diff --git a/core/field_variable.js b/core/field_variable.js index 278fe5c55..c097b0de2 100644 --- a/core/field_variable.js +++ b/core/field_variable.js @@ -142,7 +142,7 @@ Blockly.FieldVariable.prototype.fromXml = function(fieldElement) { }; /** - * Serialize this field to Xml. + * Serialize this field to XML. * @param {!Element} fieldElement The element to populate with info about the * field's state. * @return {!Element} The element containing info about the field's state. @@ -151,9 +151,9 @@ Blockly.FieldVariable.prototype.toXml = function(fieldElement) { // Make sure the variable is initialized. this.initModel(); - fieldElement.setAttribute('id', this.variable_.getId()); + fieldElement.id = this.variable_.getId(); fieldElement.textContent = this.variable_.name; - fieldElement.setAttribute('variableType', this.variable_.type); + fieldElement.setAttribute('variabletype', this.variable_.type); return fieldElement; }; diff --git a/core/workspace_comment.js b/core/workspace_comment.js index 706c5708b..ec9735c0c 100644 --- a/core/workspace_comment.js +++ b/core/workspace_comment.js @@ -280,7 +280,7 @@ Blockly.WorkspaceComment.prototype.toXmlWithXY = function(opt_noId) { Blockly.WorkspaceComment.prototype.toXml = function(opt_noId) { var commentElement = Blockly.utils.xml.createElement('comment'); if (!opt_noId) { - commentElement.setAttribute('id', this.id); + commentElement.id = this.id; } commentElement.textContent = this.getContent(); return commentElement; diff --git a/core/ws_comment_events.js b/core/ws_comment_events.js index 853bfd817..953f1a7d3 100644 --- a/core/ws_comment_events.js +++ b/core/ws_comment_events.js @@ -207,7 +207,7 @@ Blockly.Events.CommentCreate.prototype.toJson = function() { */ Blockly.Events.CommentCreate.prototype.fromJson = function(json) { Blockly.Events.CommentCreate.superClass_.fromJson.call(this, json); - this.xml = Blockly.Xml.textToDom('' + json['xml'] + '').firstChild; + this.xml = Blockly.Xml.textToDom(json['xml']); }; /** diff --git a/core/xml.js b/core/xml.js index 97e0b750a..cd13f009b 100644 --- a/core/xml.js +++ b/core/xml.js @@ -75,7 +75,7 @@ Blockly.Xml.variablesToDom = function(variableList) { var element = Blockly.utils.xml.createElement('variable'); element.appendChild(Blockly.utils.xml.createTextNode(variable.name)); element.setAttribute('type', variable.type); - element.setAttribute('id', variable.getId()); + element.id = variable.getId(); variables.appendChild(element); } return variables; @@ -146,7 +146,7 @@ Blockly.Xml.blockToDom = function(block, opt_noId) { Blockly.utils.xml.createElement(block.isShadow() ? 'shadow' : 'block'); element.setAttribute('type', block.type); if (!opt_noId) { - element.setAttribute('id', block.id); + element.id = block.id; } if (block.mutationToDom) { // Custom data for an advanced block. diff --git a/demos/accessible/index.html b/demos/accessible/index.html index 7a409c9c9..a259e03b5 100644 --- a/demos/accessible/index.html +++ b/demos/accessible/index.html @@ -70,7 +70,7 @@ }); -