diff --git a/public/svg-edit/editor/extensions/closepath_icons.svg b/public/svg-edit/editor/extensions/closepath_icons.svg
new file mode 100644
index 00000000..41a2664e
--- /dev/null
+++ b/public/svg-edit/editor/extensions/closepath_icons.svg
@@ -0,0 +1,43 @@
+
\ No newline at end of file
diff --git a/public/svg-edit/editor/extensions/ext-closepath.js b/public/svg-edit/editor/extensions/ext-closepath.js
index 2f943d02..5d09350a 100644
--- a/public/svg-edit/editor/extensions/ext-closepath.js
+++ b/public/svg-edit/editor/extensions/ext-closepath.js
@@ -43,12 +43,13 @@ $(function() {
return {
name: "ClosePath",
+ svgicons: "extensions/closepath_icons.svg",
context_tools: [{
type: "tool_button",
panel: "closepath_panel",
title: "Open or Close path",
id: "close",
- events: { mousedown: toggleClosed }
+ events: { click: toggleClosed }
}],
callback: function() {
$('#closepath_panel').hide();
diff --git a/public/svg-edit/editor/extensions/ext-foreignobject.js b/public/svg-edit/editor/extensions/ext-foreignobject.js
new file mode 100644
index 00000000..6657dc40
--- /dev/null
+++ b/public/svg-edit/editor/extensions/ext-foreignobject.js
@@ -0,0 +1,278 @@
+/*
+ * ext-foreignobject.js
+ *
+ * Licensed under the Apache License, Version 2
+ *
+ * Copyright(c) 2010 Jacques Distler
+ * Copyright(c) 2010 Alexis Deveria
+ *
+ */
+
+$(function() {
+ svgCanvas.addExtension("foreignObject", function(S) {
+ var svgcontent = S.svgcontent,
+ addElem = S.addSvgElementFromJson,
+ selElems,
+ svgns = "http://www.w3.org/2000/svg",
+ xlinkns = "http://www.w3.org/1999/xlink",
+ xmlns = "http://www.w3.org/XML/1998/namespace",
+ xmlnsns = "http://www.w3.org/2000/xmlns/",
+ se_ns = "http://svg-edit.googlecode.com",
+ htmlns = "http://www.w3.org/1999/xhtml",
+ mathns = "http://www.w3.org/1998/Math/MathML",
+ editingforeign = false,
+ svgdoc = S.svgroot.parentNode.ownerDocument;
+
+
+ var properlySourceSizeTextArea = function(){
+ // TODO: remove magic numbers here and get values from CSS
+ var height = $('#svg_source_container').height() - 80;
+ $('#svg_source_textarea').css('height', height);
+ };
+
+ function showPanel(on) {
+ var fc_rules = $('#fc_rules');
+ if(!fc_rules.length) {
+ fc_rules = $('