OSDN Git Service

styleseetモジュールとcssモジュールをbase関数で再定義
authordhrname <sie-developers@lists.sourceforge.jp>
Wed, 23 Jul 2014 10:30:54 +0000 (19:30 +0900)
committerdhrname <sie-developers@lists.sourceforge.jp>
Wed, 23 Jul 2014 10:30:54 +0000 (19:30 +0900)
org/w3c/dom/css.js
org/w3c/dom/stylesheet.js

index 7bdc4e8..8c314e9 100644 (file)
@@ -628,13 +628,13 @@ var n = "none",
 n = m = a = void 0;\r
 CSS2Properties.visibility._n = 1; //初期値の設定(_setPaintで使う)\r
 \r
-function CSSStyleSheet() {\r
-  StyleSheet.apply(this);\r
-/*CSSRule*/      this.ownerRule = null;\r
+/*$CSSStyleSheetオブジェクト*/\r
+\r
+base("$StyleSheet").up("$CSSStyleSheet").on("up", function() {\r
 /*CSSRuleList*/  this.cssRules = [];\r
-};\r
-CSSStyleSheet.prototype = Object._create(StyleSheet);\r
-/*long*/  CSSStyleSheet.prototype.insertRule = function( /*string*/ rule, /*long*/ index) {\r
+}).mix( {\r
+/*CSSRule*/ ownerRule: null,\r
+/*long*/     insertRule: function( /*string*/ rule, /*long*/ index) {\r
   var s = new CSSStyleRule(), style = s.style, a, sc = rule.match(/\{[\s\S]+\}/), m;\r
   s.parentStyleSheet = this;\r
   style.cssText = rule;\r
@@ -653,11 +653,11 @@ CSSStyleSheet.prototype = Object._create(StyleSheet);
     }\r
   a = sc = style = void 0;\r
   this.cssRules.splice(index,s,1);\r
-};\r
-/*void*/  CSSStyleSheet.prototype.deleteRule = function(/*long*/ index) {\r
+},\r
+/*void*/     deleteRule: function(/*long*/ index) {\r
   this.cssRules.splice(index, 1);\r
-};\r
-\r
+}\r
+} );\r
 \r
 /*getComputedStyle関数\r
  *最近の計算値を取得する。Document.defaultViewはSafariがグローバル(window)にサポートしていないため付ける。\r
@@ -778,7 +778,7 @@ base("$document").defaultView = base("$viewCSS").mix({
  */\r
 /*interface DOMImplementationCSS : DOMImplementation {*/\r
 /*CSSStyleSheet*/ base("DOMImplementation").createCSSStyleSheet = function( /*string*/ title, /*string*/ media) {\r
-  var s = new CSSStyleSheet();\r
+  var s = base("$StyleSheet").up("$CSSStyleSheet").up("$1");\r
   s.title = title;\r
   var nm = new MediaList();\r
   nm.mediaText = media;\r
index 9d1c676..45f9b79 100644 (file)
@@ -73,15 +73,18 @@ module stylesheets
 /*StyleSheet\r
  *スタイルシート文書を示す。削除不可。\r
  */\r
-function StyleSheet() {\r
-  this.type = "text/css";\r
-  this.disabled = false;\r
-  /*Node*/ this.ownerNode = null;\r
-  /*StyleSheet*/ this.parentStyleSheet = null;\r
-  this.href = null;\r
-  this.title = "";\r
+base("$StyleSheet").mix( {\r
+  type:  "text/css",\r
+  disabled:  false,\r
+  /*Node*/ ownerNode:  null,\r
+  /*StyleSheet*/ parentStyleSheet:  null,\r
+  href:  null,\r
+  title:  ""\r
+} )\r
+ .on( "up", function() {\r
   /*MediaList*/ this.media = new MediaList();\r
-};\r
+} )\r
+ .mix( function(_) {\r
 \r
 /*StyleSheetList\r
  *このインターフェースはArrayで代用する\r
@@ -91,11 +94,9 @@ function StyleSheetList() {
   };\r
 */\r
 \r
-function MediaList() {\r
-  this.mediaText = "";\r
-  this.length = 0;\r
-};\r
-MediaList.prototype = {\r
+_.up("$MediaList").mix( {\r
+  mediaText: "",\r
+  length: 0,\r
 /*string*/ item : function(/*long*/ index) {\r
     return (this[index]);\r
   },\r
@@ -113,15 +114,16 @@ MediaList.prototype = {
     this[this.length] = newMedium;\r
     ++this.length;\r
   }\r
-};\r
+} );\r
 \r
-function LinkStyle() {\r
-  /*StyleSheet*/ this.sheet = new StyleSheet();\r
+_.LinkStyle = function() {\r
+  /*StyleSheet*/ this.sheet = _.up("$1");\r
 };\r
 \r
-function DocumentStyle() {\r
+_.DocumentStyle = function() {\r
   /*StyleSheetList*/ this.styleSheets = [];\r
 };\r
+} );\r
 /*\r
 #endif // _STYLESHEETS_IDL_\r
 */
\ No newline at end of file