Skip to content

Commit 4e42a1b

Browse files
author
Neil Fraser
committed
Swap order of arguments on domToWorkspace.
1 parent 4ac1204 commit 4e42a1b

File tree

17 files changed

+53
-39
lines changed

17 files changed

+53
-39
lines changed

appengine/storage.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ BlocklyStorage.restoreBlocks = function(opt_workspace) {
6060
if ('localStorage' in window && window.localStorage[url]) {
6161
var workspace = opt_workspace || Blockly.getMainWorkspace();
6262
var xml = Blockly.Xml.textToDom(window.localStorage[url]);
63-
Blockly.Xml.domToWorkspace(workspace, xml);
63+
Blockly.Xml.domToWorkspace(xml, workspace);
6464
}
6565
};
6666

@@ -181,7 +181,7 @@ BlocklyStorage.loadXml_ = function(xml, workspace) {
181181
}
182182
// Clear the workspace to avoid merge.
183183
workspace.clear();
184-
Blockly.Xml.domToWorkspace(workspace, xml);
184+
Blockly.Xml.domToWorkspace(xml, workspace);
185185
};
186186

187187
/**

core/connection.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -535,7 +535,7 @@ Blockly.Connection.prototype.disconnect = function() {
535535
var shadow = parentConnection.getShadowDom();
536536
if (parentBlock.workspace && shadow && Blockly.Events.recordUndo) {
537537
var blockShadow =
538-
Blockly.Xml.domToBlock(parentBlock.workspace, shadow);
538+
Blockly.Xml.domToBlock(shadow, parentBlock.workspace);
539539
if (blockShadow.outputConnection) {
540540
parentConnection.connect(blockShadow.outputConnection);
541541
} else if (blockShadow.previousConnection) {

core/contextmenu.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -124,7 +124,7 @@ Blockly.ContextMenu.hide = function() {
124124
Blockly.ContextMenu.callbackFactory = function(block, xml) {
125125
return function() {
126126
Blockly.Events.disable();
127-
var newBlock = Blockly.Xml.domToBlock(block.workspace, xml);
127+
var newBlock = Blockly.Xml.domToBlock(xml, block.workspace);
128128
// Move the new block next to the old block.
129129
var xy = block.getRelativeToSurfaceXY();
130130
if (block.RTL) {

core/events.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -324,7 +324,7 @@ Blockly.Events.Create.prototype.run = function(forward) {
324324
var workspace = Blockly.Workspace.getById(this.workspaceId);
325325
var xml = goog.dom.createDom('xml');
326326
xml.appendChild(this.xml);
327-
Blockly.Xml.domToWorkspace(workspace, xml);
327+
Blockly.Xml.domToWorkspace(xml, workspace);
328328
} else {
329329
for (var i = 0, id; id = this.ids[i]; i++) {
330330
var block = Blockly.Block.getById(id);
@@ -389,7 +389,7 @@ Blockly.Events.Delete.prototype.run = function(forward) {
389389
var workspace = Blockly.Workspace.getById(this.workspaceId);
390390
var xml = goog.dom.createDom('xml');
391391
xml.appendChild(this.oldXml);
392-
Blockly.Xml.domToWorkspace(workspace, xml);
392+
Blockly.Xml.domToWorkspace(xml, workspace);
393393
}
394394
};
395395

core/flyout.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -393,7 +393,7 @@ Blockly.Flyout.prototype.show = function(xmlList) {
393393
this.permanentlyDisabled_.length = 0;
394394
for (var i = 0, xml; xml = xmlList[i]; i++) {
395395
if (xml.tagName && xml.tagName.toUpperCase() == 'BLOCK') {
396-
var block = Blockly.Xml.domToBlock(this.workspace_, xml);
396+
var block = Blockly.Xml.domToBlock(xml, this.workspace_);
397397
if (block.disabled) {
398398
// Record blocks that were initially disabled.
399399
// Do not enable these blocks as a result of capacity filtering.
@@ -636,7 +636,7 @@ Blockly.Flyout.prototype.createBlockFunc_ = function(originBlock) {
636636
Blockly.Events.disable();
637637
// Create the new block by cloning the block in the flyout (via XML).
638638
var xml = Blockly.Xml.blockToDom(originBlock);
639-
var block = Blockly.Xml.domToBlock(workspace, xml);
639+
var block = Blockly.Xml.domToBlock(xml, workspace);
640640
// Place it in the same spot as the flyout copy.
641641
var svgRootOld = originBlock.getSvgRoot();
642642
if (!svgRootOld) {

core/workspace_svg.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -468,7 +468,7 @@ Blockly.WorkspaceSvg.prototype.paste = function(xmlBlock) {
468468
}
469469
Blockly.terminateDrag_(); // Dragging while pasting? No.
470470
Blockly.Events.disable();
471-
var block = Blockly.Xml.domToBlock(this, xmlBlock);
471+
var block = Blockly.Xml.domToBlock(xmlBlock, this);
472472
// Move the duplicate to original position.
473473
var blockX = parseInt(xmlBlock.getAttribute('x'), 10);
474474
var blockY = parseInt(xmlBlock.getAttribute('y'), 10);

core/xml.js

Lines changed: 26 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -268,10 +268,17 @@ Blockly.Xml.textToDom = function(text) {
268268

269269
/**
270270
* Decode an XML DOM and create blocks on the workspace.
271-
* @param {!Blockly.Workspace} workspace The workspace.
272271
* @param {!Element} xml XML DOM.
272+
* @param {!Blockly.Workspace} workspace The workspace.
273273
*/
274-
Blockly.Xml.domToWorkspace = function(workspace, xml) {
274+
Blockly.Xml.domToWorkspace = function(xml, workspace) {
275+
if (xml instanceof Blockly.Workspace) {
276+
var swap = xml;
277+
xml = workspace;
278+
workspace = swap;
279+
console.warn('Deprecated call to Blockly.Xml.domToWorkspace, ' +
280+
'swap the arguments.');
281+
}
275282
var width; // Not used in LTR.
276283
if (workspace.RTL) {
277284
width = workspace.getWidth();
@@ -289,7 +296,7 @@ Blockly.Xml.domToWorkspace = function(workspace, xml) {
289296
var xmlChild = xml.childNodes[i];
290297
var name = xmlChild.nodeName.toLowerCase();
291298
if (name == 'block' || name == 'shadow') {
292-
var block = Blockly.Xml.domToBlock(workspace, xmlChild);
299+
var block = Blockly.Xml.domToBlock(xmlChild, workspace);
293300
var blockX = parseInt(xmlChild.getAttribute('x'), 10);
294301
var blockY = parseInt(xmlChild.getAttribute('y'), 10);
295302
if (!isNaN(blockX) && !isNaN(blockY)) {
@@ -306,14 +313,21 @@ Blockly.Xml.domToWorkspace = function(workspace, xml) {
306313
/**
307314
* Decode an XML block tag and create a block (and possibly sub blocks) on the
308315
* workspace.
309-
* @param {!Blockly.Workspace} workspace The workspace.
310316
* @param {!Element} xmlBlock XML block element.
317+
* @param {!Blockly.Workspace} workspace The workspace.
311318
* @return {!Blockly.Block} The root block created.
312319
*/
313-
Blockly.Xml.domToBlock = function(workspace, xmlBlock) {
320+
Blockly.Xml.domToBlock = function(xmlBlock, workspace) {
321+
if (xmlBlock instanceof Blockly.Workspace) {
322+
var swap = xmlBlock;
323+
xmlBlock = workspace;
324+
workspace = swap;
325+
console.warn('Deprecated call to Blockly.Xml.domToBlock, ' +
326+
'swap the arguments.');
327+
}
314328
// Create top-level block.
315329
Blockly.Events.disable();
316-
var topBlock = Blockly.Xml.domToBlockHeadless_(workspace, xmlBlock);
330+
var topBlock = Blockly.Xml.domToBlockHeadless_(xmlBlock, workspace);
317331
if (workspace.rendered) {
318332
// Hide connections to speed up assembly.
319333
topBlock.setConnectionsHidden(true);
@@ -347,12 +361,12 @@ Blockly.Xml.domToBlock = function(workspace, xmlBlock) {
347361
/**
348362
* Decode an XML block tag and create a block (and possibly sub blocks) on the
349363
* workspace.
350-
* @param {!Blockly.Workspace} workspace The workspace.
351364
* @param {!Element} xmlBlock XML block element.
365+
* @param {!Blockly.Workspace} workspace The workspace.
352366
* @return {!Blockly.Block} The root block created.
353367
* @private
354368
*/
355-
Blockly.Xml.domToBlockHeadless_ = function(workspace, xmlBlock) {
369+
Blockly.Xml.domToBlockHeadless_ = function(xmlBlock, workspace) {
356370
var block = null;
357371
var prototypeName = xmlBlock.getAttribute('type');
358372
if (!prototypeName) {
@@ -447,8 +461,8 @@ Blockly.Xml.domToBlockHeadless_ = function(workspace, xmlBlock) {
447461
input.connection.setShadowDom(childShadowNode);
448462
}
449463
if (childBlockNode) {
450-
blockChild = Blockly.Xml.domToBlockHeadless_(workspace,
451-
childBlockNode);
464+
blockChild = Blockly.Xml.domToBlockHeadless_(childBlockNode,
465+
workspace);
452466
if (blockChild.outputConnection) {
453467
input.connection.connect(blockChild.outputConnection);
454468
} else if (blockChild.previousConnection) {
@@ -469,8 +483,8 @@ Blockly.Xml.domToBlockHeadless_ = function(workspace, xmlBlock) {
469483
// This could happen if there is more than one XML 'next' tag.
470484
throw 'Next statement is already connected.';
471485
}
472-
blockChild = Blockly.Xml.domToBlockHeadless_(workspace,
473-
childBlockNode);
486+
blockChild = Blockly.Xml.domToBlockHeadless_(childBlockNode,
487+
workspace);
474488
if (!blockChild.previousConnection) {
475489
throw 'Next block does not have previous statement.';
476490
}

demos/blockfactory/factory.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -786,7 +786,7 @@ function init() {
786786
mainWorkspace);
787787
} else {
788788
var xml = '<xml><block type="factory_base" deletable="false" movable="false"></block></xml>';
789-
Blockly.Xml.domToWorkspace(mainWorkspace, Blockly.Xml.textToDom(xml));
789+
Blockly.Xml.domToWorkspace(Blockly.Xml.textToDom(xml), mainWorkspace);
790790
}
791791
mainWorkspace.clearUndo();
792792

demos/code/code.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -139,11 +139,11 @@ Code.loadBlocks = function(defaultXml) {
139139
// Language switching stores the blocks during the reload.
140140
delete window.sessionStorage.loadOnceBlocks;
141141
var xml = Blockly.Xml.textToDom(loadOnce);
142-
Blockly.Xml.domToWorkspace(Code.workspace, xml);
142+
Blockly.Xml.domToWorkspace(xml, Code.workspace);
143143
} else if (defaultXml) {
144144
// Load the editor with default starting blocks.
145145
var xml = Blockly.Xml.textToDom(defaultXml);
146-
Blockly.Xml.domToWorkspace(Code.workspace, xml);
146+
Blockly.Xml.domToWorkspace(xml, Code.workspace);
147147
} else if ('BlocklyStorage' in window) {
148148
// Restore saved blocks in a separate thread so that subsequent
149149
// initialization is not affected from a failed load.
@@ -270,7 +270,7 @@ Code.tabClick = function(clickedName) {
270270
}
271271
if (xmlDom) {
272272
Code.workspace.clear();
273-
Blockly.Xml.domToWorkspace(Code.workspace, xmlDom);
273+
Blockly.Xml.domToWorkspace(xmlDom, Code.workspace);
274274
}
275275
}
276276

demos/generator/index.html

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,8 @@ <h1><a href="https://developers.google.com/blockly/">Blockly</a> &gt;
116116
var workspace = Blockly.inject('blocklyDiv',
117117
{media: '../../media/',
118118
toolbox: document.getElementById('toolbox')});
119-
Blockly.Xml.domToWorkspace(workspace,
120-
document.getElementById('startBlocks'));
119+
Blockly.Xml.domToWorkspace(document.getElementById('startBlocks'),
120+
workspace);
121121

122122
function showCode() {
123123
// Generate JavaScript code and display it.

0 commit comments

Comments
 (0)