svnno****@sourc*****
svnno****@sourc*****
2010年 12月 18日 (土) 20:25:46 JST
Revision: 2226
http://sourceforge.jp/projects/sie/svn/view?view=rev&revision=2226
Author: dhrname
Date: 2010-12-18 20:25:45 +0900 (Sat, 18 Dec 2010)
Log Message:
-----------
0.65統合
Modified Paths:
--------------
trunk/org/w3c/core.js
trunk/org/w3c/dom/css.js
trunk/org/w3c/dom/events.js
trunk/org/w3c/dom/svg.js
Property Changed:
----------------
trunk/org/
trunk/org/w3c/
trunk/org/w3c/core.js
trunk/org/w3c/dom/css.js
trunk/org/w3c/dom/events.js
trunk/org/w3c/dom/svg.js
Property changes on: trunk/org
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/06x/061/org:1864-2067
/branches/06x/062/org:2071-2106
/branches/06x/063/org:2110-2146
/branches/06x/064/org:2149-2177
/branches/06x/org:1861-2187
+ /branches/06x/061/org:1864-2067
/branches/06x/062/org:2071-2106
/branches/06x/063/org:2110-2146
/branches/06x/064/org:2149-2177
/branches/06x/065/org:2179-2209
/branches/06x/org:1861-2225
Property changes on: trunk/org/w3c
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/06x/061/org/w3c:1864-2067
/branches/06x/062/org/w3c:2071-2106
/branches/06x/063/org/w3c:2110-2146
/branches/06x/064/org/w3c:2149-2177
/branches/06x/org/w3c:1861-2187
/branches/ufltima:1621-1788
+ /branches/06x/061/org/w3c:1864-2067
/branches/06x/062/org/w3c:2071-2106
/branches/06x/063/org/w3c:2110-2146
/branches/06x/064/org/w3c:2149-2177
/branches/06x/065/org/w3c:2179-2209
/branches/06x/org/w3c:1861-2225
/branches/ufltima:1621-1788
Modified: trunk/org/w3c/core.js
===================================================================
--- trunk/org/w3c/core.js 2010-12-17 14:34:55 UTC (rev 2225)
+++ trunk/org/w3c/core.js 2010-12-18 11:25:45 UTC (rev 2226)
@@ -131,7 +131,7 @@
WRONG_DOCUMENT_ERR
ノードを生成した文書以外の(そのノードをサポートしない)異なる文書で,ノードが使用されている。4
*/
-}
+};
DOMException.INDEX_SIZE_ERR = 1;
DOMException.DOMSTRING_SIZE_ERR = 2;
DOMException.HIERARCHY_REQUEST_ERR = 3;
Property changes on: trunk/org/w3c/core.js
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/06x/061/org/w3c/core.js:1864-2067
/branches/06x/062/org/w3c/core.js:2071-2106
/branches/06x/063/org/w3c/core.js:2110-2146
/branches/06x/064/org/w3c/core.js:2149-2177
/branches/06x/org/w3c/core.js:1861-2187
/branches/ufltima/core.js:1621-1854
+ /branches/06x/061/org/w3c/core.js:1864-2067
/branches/06x/062/org/w3c/core.js:2071-2106
/branches/06x/063/org/w3c/core.js:2110-2146
/branches/06x/064/org/w3c/core.js:2149-2177
/branches/06x/065/org/w3c/core.js:2179-2209
/branches/06x/org/w3c/core.js:1861-2225
/branches/ufltima/core.js:1621-1854
Modified: trunk/org/w3c/dom/css.js
===================================================================
--- trunk/org/w3c/dom/css.js 2010-12-17 14:34:55 UTC (rev 2225)
+++ trunk/org/w3c/dom/css.js 2010-12-18 11:25:45 UTC (rev 2226)
@@ -216,9 +216,11 @@
var ti = this._list[i], tc = ti.cssText;
if (tc.indexOf(propertyName) > -1) { //プロパティ名に合致するCSSValueオブジェクトが見つかった場合
ti._empercents = this._list._fontSize;
+ propertyName = null;
return ti;
}
}
+ propertyName = null;
return null;
},
/*removePropertyメソッド
@@ -644,17 +646,18 @@
return this;
};
/*CSSStyleDeclaration*/ ViewCSS.prototype.getComputedStyle = function( /*Element*/ elt, /*string*/ pseudoElt) {
+ if (!!elt._currentStyle) {
+ /*キャッシュがあれば、それを返す*/
+ return (elt._currentStyle);
+ }
var s = new CSSStyleDeclaration();
+ elt._currentStyle = s;
//リストを連結することによって、カスケーディングを実現する
var pelt = elt.parentNode;
if (pelt) {
- if (this._cache_ele !== pelt) { //キャッシュを更新する
- this._cache = this.getComputedStyle(pelt, pseudoElt);
- this._cache_ele = pelt;
- }
- var p = this._cache._list;
+ var p = this.getComputedStyle(pelt, pseudoElt)._list;
} else {
- var p = CSS2Properties._list; //デフォルト値の設定
+ var p = this._defaultCSS; //デフォルト値の設定
}
var q = s._list;
if (!!elt.style) {
@@ -682,7 +685,7 @@
}
s._list._opacity = p._opacity * (eso || 1);
s._list._fontSize = p._fontSize;
- eso = p = q = null;
+ pelt = eso = p = q = null;
s._document = elt.ownerDocument;
return s;
};
Property changes on: trunk/org/w3c/dom/css.js
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/06x/061/org/w3c/dom/css.js:1864-2067
/branches/06x/062/org/w3c/dom/css.js:2071-2106
/branches/06x/063/org/w3c/dom/css.js:2110-2146
/branches/06x/064/org/w3c/dom/css.js:2149-2177
/branches/06x/org/w3c/dom/css.js:1861-2187
/branches/ufltima/dom/css.js:1621-1855
+ /branches/06x/061/org/w3c/dom/css.js:1864-2067
/branches/06x/062/org/w3c/dom/css.js:2071-2106
/branches/06x/063/org/w3c/dom/css.js:2110-2146
/branches/06x/064/org/w3c/dom/css.js:2149-2177
/branches/06x/065/org/w3c/dom/css.js:2179-2209
/branches/06x/org/w3c/dom/css.js:1861-2225
/branches/ufltima/dom/css.js:1621-1855
Modified: trunk/org/w3c/dom/events.js
===================================================================
--- trunk/org/w3c/dom/events.js 2010-12-17 14:34:55 UTC (rev 2225)
+++ trunk/org/w3c/dom/events.js 2010-12-18 11:25:45 UTC (rev 2226)
@@ -237,6 +237,8 @@
},
/*void*/ preventDefault : function(){
this._default = false;
+ /*IEのみで使えるreturnValueプロパティ*/
+ window.event.returnValue = false;
},
/*void*/ initEvent : function( /*string*/ eventTypeArg, /*boolean*/ canBubbleArg, /*boolean*/ cancelableArg) {
this.type = eventTypeArg;
Property changes on: trunk/org/w3c/dom/events.js
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/06x/061/org/w3c/dom/events.js:1864-2067
/branches/06x/062/org/w3c/dom/events.js:2071-2106
/branches/06x/063/org/w3c/dom/events.js:2110-2146
/branches/06x/064/org/w3c/dom/events.js:2149-2177
/branches/06x/org/w3c/dom/events.js:1861-2187
/branches/ufltima/dom/events.js:1621-1856
+ /branches/06x/061/org/w3c/dom/events.js:1864-2067
/branches/06x/062/org/w3c/dom/events.js:2071-2106
/branches/06x/063/org/w3c/dom/events.js:2110-2146
/branches/06x/064/org/w3c/dom/events.js:2149-2177
/branches/06x/065/org/w3c/dom/events.js:2179-2209
/branches/06x/org/w3c/dom/events.js:1861-2225
/branches/ufltima/dom/events.js:1621-1856
Modified: trunk/org/w3c/dom/svg.js
===================================================================
--- trunk/org/w3c/dom/svg.js 2010-12-17 14:34:55 UTC (rev 2225)
+++ trunk/org/w3c/dom/svg.js 2010-12-18 11:25:45 UTC (rev 2226)
@@ -149,16 +149,17 @@
if (evt.eventPhase === Event.BUBBLING_PHASE) {
return;
}
- var name = evt.attrName, tar = evt.target, _parseFloat = parseFloat;
+ var name = evt.attrName, tar = evt.target;
if (!!CSS2Properties[name] || name.indexOf("-") > -1) { //スタイルシートのプロパティならば
tar._attributeStyle.setProperty(name, evt.newValue, "");
+ tar._currentStyle = null; //キャッシュは消しておく
}
if (evt.relatedNode.localName === "id") { //xml:idあるいはid属性ならば
tar.id = evt.newValue;
} else if (name === "transform" && !!tar.transform) {
- var tft = evt.newValue, degR = /[\-\d\.e]+/g;
- var coma = tft.match(/[A-Za-z]+(?=\s*\()/g); //コマンド文字にマッチ translate
- var list = tft.match(/\([^\)]+\)/g); //カッコ内のリストにマッチ (10 20 30...)
+ var tft = evt.newValue, degR = tar._degReg;
+ var coma = tft.match(tar._comaReg); //コマンド文字にマッチ translate
+ var list = tft.match(tar._strReg); //カッコ内のリストにマッチ (10 20 30...)
var a,b,c,d,e,f,lis,deg,rad,degli;
//transform属性の値を、SVGTransformListであるtransformプロパティに結びつける
for (var j=0,cli=coma.length;j<cli;j++) {
@@ -168,22 +169,22 @@
degli = deg.length;
if (degli === 6) {
var cm = s.matrix;
- cm.a = _parseFloat(deg[0]);
- cm.b = _parseFloat(deg[1]);
- cm.c = _parseFloat(deg[2]);
- cm.d = _parseFloat(deg[3]);
- cm.e = _parseFloat(deg[4]);
- cm.f = _parseFloat(deg[5]);
+ cm.a = +(deg[0]);
+ cm.b = +(deg[1]);
+ cm.c = +(deg[2]);
+ cm.d = +(deg[3]);
+ cm.e = +(deg[4]);
+ cm.f = +(deg[5]);
} else {
if (degli === 3) {
var degz = _parseFloat(deg[0]);
- s.setRotate(degz, _parseFloat(deg[1]), _parseFloat(deg[2]))
+ s.setRotate(degz, +(deg[1]), +(deg[2]))
} else if (degli <= 2) {
- var degz = _parseFloat(deg[0]);
+ var degz = +(deg[0]);
if (com === "translate") {
- s.setTranslate(degz, _parseFloat(deg[1] || 0));
+ s.setTranslate(degz, +(deg[1] || 0));
} else if (com === "scale") {
- s.setScale(degz, _parseFloat(deg[1] || deg[0]));
+ s.setScale(degz, +(deg[1] || deg[0]));
} else if (com === "rotate") {
s.setRotate(degz, 0, 0);
} else if (com === "skewX") {
@@ -202,9 +203,9 @@
style.cssText = sc;
if (sc !== "") {
//style属性値の解析
- sc = sc.replace(/^[^a-z\-]+/, "")
- .replace(/\:\s+/g, ":")
- .replace(/\s*;[^a-z\-]*/g, ";");
+ sc = sc.replace(tar._shouReg, "")
+ .replace(tar._conReg, ":")
+ .replace(tar._bouReg, ";");
var a = sc.split(";");
for (var i=0, ali=a.length;i<ali;++i) {
var ai = a[i], m = ai.split(":");
@@ -215,6 +216,7 @@
}
a = sc = null;
}
+ tar._currentStyle = null;
} else if (name === "class") {
tar.className = evt.newValue;
} else if (name.indexOf("on") === 0) { //event属性ならば
@@ -252,7 +254,7 @@
if (!!tar[name]) {
var tea = tar[name], tod = tar.ownerDocument.documentElement;
if (tea instanceof SVGAnimatedLength) {
- var n = evt.newValue.match(/\D+$/), type = SVGLength.SVG_LENGTHTYPE_NUMBER;
+ var n = evt.newValue.match(tar._NaNReg), type = SVGLength.SVG_LENGTHTYPE_NUMBER, _parseFloat = parseFloat;
if (!!n) {
n = n[0];
}
@@ -306,6 +308,14 @@
SVGElement.constructor = Element;
SVGElement.prototype = new Element();
+SVGElement.prototype._degReg = /[\-\d\.e]+/g;
+SVGElement.prototype._comaReg = /[A-Za-z]+(?=\s*\()/g;
+SVGElement.prototype._strReg = /\([^\)]+\)/g;
+SVGElement.prototype._syouReg = /^[^a-z\-]+/;
+SVGElement.prototype._conReg = /\:\s+/g;
+SVGElement.prototype._bouReg = /\s*;[^a-z\-]*/g;
+SVGElement.prototype._NaNReg = /\D+$/;
+
/*interface SVGLocatable*/
/*SVGRect*/ SVGElement.prototype.getBBox = function(){
var s = new SVGRect();
@@ -317,7 +327,7 @@
*/
var degis = data.match(/[0-9\-]+/g);
for (var i=0,degisli=degis.length;i<degisli;i+=2) {
- var nx = parseInt(degis[i]), ny = parseInt(degis[i+1]);
+ var nx = +(degis[i]), ny = +(degis[i+1]);
el = el > nx ? nx : el;
et = et > ny ? ny : et;
er = er > nx ? er : nx;
@@ -1519,6 +1529,7 @@
/*responseXMLを使うと、時々、空のデータを返すことがあるため(原因は不明)、
*ここでは、responseTextを用いる
*/
+ var dsd = new Date();
str = this.xmlhttp.responseText;
NAIBU.doc.async = false;
/*下記のプロパティについては、Microsoftのサイトを参照
@@ -1555,14 +1566,20 @@
tmp = null;
}
var s = DOMImplementation.createDocument("http://www.w3.org/2000/svg", "svg");
- var tar = s.documentElement;
- tar.viewport.top = 0;
- tar.viewport.left = 0;
- tar.viewport.width = objei.clientWidth;
- tar.viewport.height = objei.clientHeight;
+ var tar = s.documentElement, tview = tar.viewport;
+ tview.top = 0;
+ tview.left = 0;
+ tview.width = objei.clientWidth;
+ tview.height = objei.clientHeight;
+ if (tview.height < 24) { //IEの標準モードではclientHeightプロパティの値が小さくなることがある
+ tview.height = screen.availHeight;
+ }
if (tar.viewport.height < 24) { //IEの標準モードではclientHeightプロパティの値が小さくなることがある
tar.viewport.height = screen.width;
}
+ if (tar.viewport.height < 24) { //IEの標準モードではclientHeightプロパティの値が小さくなることがある
+ tar.viewport.height = screen.width;
+ }
var objw = objei.getAttribute("width"), objh = objei.getAttribute("height");
if (objw) {
tar.setAttributeNS(null, "width", objw);
@@ -1579,10 +1596,9 @@
}
str = attr = null;
var sdt = tar._tar, sp = document.createElement("div"), dcp = document.createElement("v:group");
- var view = tar.viewport;
- dcp.style.width = view.width+ "px";
- dcp.style.height = view.height+ "px";
- dcp.coordsize = view.width+ " " +view.height;
+ dcp.style.width = tview.width+ "px";
+ dcp.style.height = tview.height+ "px";
+ dcp.coordsize = tview.width+ " " +tview.height;
sp.appendChild(dcp);
objei.parentNode.insertBefore(sp, objei);
dcp.appendChild(sdt)
@@ -1596,7 +1612,7 @@
*作り出す作業を行う。これは必須
*/
var backr = document.createElement("v:rect");
- var w = tar.viewport.width, h = tar.viewport.height, sw = tar.width.baseVal.value, sh = tar.height.baseVal.value;
+ var w = tview.width, h = tview.height, sw = tar.width.baseVal.value, sh = tar.height.baseVal.value;
backr.style.position = "absolute";
backr.style.width = w+ "px";
backr.style.height = h+ "px";
@@ -1657,6 +1673,7 @@
s = evt = null;
/*IEのメモリリーク対策として、空関数を入力*/
this.xmlhttp.onreadystatechange = NAIBU.emptyFunction;
+ alert(+(new Date()) - dsd.getTime())
if (this._next) {
this._next._init();
} else {
@@ -1692,10 +1709,9 @@
*2次元座標の点(x,y)を表すオブジェクト
*/
function SVGPoint() {
- /*float*/ this.x = 0;
- /*float*/ this.y = 0;
return this;
};
+/*float*/SVGPoint.prototype.x = SVGPoint.prototype.y = 0;
SVGPoint.prototype.matrixTransform = function(/*SVGMatrix*/ matrix ) {
/*整数にしているのは、VMLの設計上、小数点を扱えないときがあるため*/
var x = parseInt(matrix.a * this.x + matrix.c * this.y + matrix.e);
@@ -1724,15 +1740,15 @@
*[0 0 1]
*/
function SVGMatrix() {
- /*float*/ this.a = 1;
- /*float*/ this.b = 0;
- /*float*/ this.c = 0;
- /*float*/ this.d = 1;
- /*float*/ this.e = 0;
- /*float*/ this.f = 0;
return this;
};
SVGMatrix.prototype = {
+ /*float*/ a : 1,
+ /*float*/ b : 0,
+ /*float*/ c : 0,
+ /*float*/ d : 1,
+ /*float*/ e : 0,
+ /*float*/ f : 0,
/*multiplyメソッド
*行列の積を求めて返す
*/
@@ -2659,10 +2675,9 @@
var w = vi.width.baseVal.value, h = vi.height.baseVal.value;
dat[dat.length] = " e";
tar._tar.path = dat.join(" ");
- dat = null;
tar._tar.coordsize = w + " " + h;
NAIBU._setPaint(tar, matrix);
- evt = tar = w = h = matrix = x = y = _parseInt = null;
+ evt = tar = dat = w = h = matrix = tlist = x = y = _parseInt = ma = mb = mc = md = me = mf = vi = isZ = isM = isL = isC = null;
}, false);
evt = tar = null;
}, false);
@@ -4138,7 +4153,7 @@
rx = ry = r;
var tarrect = tar.getBBox();
var vi = tar.ownerDocument.documentElement.viewport;
- var el = vi.width, et = vi.height, er = 0, eb = 0;
+ var el = vi.width | 0, et = vi.height | 0, er = 0, eb = 0;
var units = grad.getAttributeNS(null, "gradientUnits");
if (!units || units === "objectBoundingBox") {
//%の場合は小数点に変換(10% -> 0.1)
@@ -4736,7 +4751,7 @@
/* try{*/
var ntc = NAIBU.Time.currentFrame++;
var nc = NAIBU.Clip;
- var s = ntc * 125 * 0.8; //フレーム数ntcをミリ秒数sに変換
+ var s = ntc * 100; //フレーム数ntcをミリ秒数sに変換
if (ntc > NAIBU.Time.Max) {
clearInterval(NAIBU.stop);
}
@@ -5166,6 +5181,11 @@
SVGExternalResourcesRequired,
SVGStylable*/ {
SVGElement.apply(this);
+ this.addEventListener("SVGLoad", function(evt){
+ var tar = evt.target, ctar = evt.currentTarget;
+ ctar._instance = tar._instance;
+ evt = tar = ctar = null;
+ }, true);
return this;
};
SVGFontElement.constructor = SVGElement;
@@ -5225,11 +5245,6 @@
}
evt.target.setAttributeNS("http://www.w3.org/1999/xlink", "xlink:show", "embed");
}, false);
- this.addEventListener("SVGLoad", function(evt){
- var tar = evt.target;
- var doc = tar.ownerDocument.importNode(tar._instance, true);
- evt = trans = tar = evtt = tgtb = null;
- }, false);
SVGURIReference.apply(this);
return this;
};
@@ -5370,6 +5385,8 @@
s._list._opacity = 1;
s._list._fontSize = 12;
CSS2Properties._list = s._list;
+ Document.prototype.defaultView._defaultCSS = CSS2Properties._list;
+ s = null;
})();
NAIBU.addEvent = function(evt,lis){
@@ -5520,4 +5537,4 @@
};
NAIBU.addEvent("unload", unsvgtovml);
//IEならばtrue
-NAIBU.isMSIE = /*@cc_on!@*/false;
+NAIBU.isMSIE = /*@cc_on!@*/false;
\ No newline at end of file
Property changes on: trunk/org/w3c/dom/svg.js
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/06x/061/org/w3c/dom/svg.js:1864-2067
/branches/06x/062/org/w3c/dom/svg.js:2071-2106
/branches/06x/063/org/w3c/dom/svg.js:2110-2146
/branches/06x/064/org/w3c/dom/svg.js:2149-2177
/branches/06x/065/org/w3c/dom/svg.js:2179-2181
/branches/06x/org/w3c/dom/svg.js:1861-2187
/branches/ufltima/dom/svg.js:1621-1856
+ /branches/06x/061/org/w3c/dom/svg.js:1864-2067
/branches/06x/062/org/w3c/dom/svg.js:2071-2106
/branches/06x/063/org/w3c/dom/svg.js:2110-2146
/branches/06x/064/org/w3c/dom/svg.js:2149-2177
/branches/06x/065/org/w3c/dom/svg.js:2179-2209
/branches/06x/org/w3c/dom/svg.js:1861-2225
/branches/ufltima/dom/svg.js:1621-1856