svnno****@sourc*****
svnno****@sourc*****
2007年 10月 26日 (金) 22:30:48 JST
Revision: 235 http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi?root=bbs2ch&view=rev&rev=235 Author: flyson Date: 2007-10-26 22:30:47 +0900 (Fri, 26 Oct 2007) Log Message: ----------- Components.interfaces 等の定数化 ツリービューの高速化 Modified Paths: -------------- trunk/bbs2chreader/chrome/content/bbs2chreader/board/items.js trunk/bbs2chreader/chrome/content/bbs2chreader/board/logMove.xul trunk/bbs2chreader/chrome/content/bbs2chreader/board/page.js trunk/bbs2chreader/chrome/content/bbs2chreader/board/page.xul trunk/bbs2chreader/chrome/content/bbs2chreader/board/subscribe.js trunk/bbs2chreader/chrome/content/bbs2chreader/board/subscribe.xul -------------- next part -------------- Modified: trunk/bbs2chreader/chrome/content/bbs2chreader/board/items.js =================================================================== --- trunk/bbs2chreader/chrome/content/bbs2chreader/board/items.js 2007-10-26 13:29:26 UTC (rev 234) +++ trunk/bbs2chreader/chrome/content/bbs2chreader/board/items.js 2007-10-26 13:30:47 UTC (rev 235) @@ -117,24 +117,21 @@ init: function(aURLSpec){ - this._bbs2chService = Components.classes["@mozilla.org/bbs2ch-service;1"] - .getService(Components.interfaces.nsIBbs2chService); - this._ioService = Components.classes["@mozilla.org/network/io-service;1"] - .getService(Components.interfaces.nsIIOService); - this._dateFormat = Components.classes["@mozilla.org/intl/scriptabledateformat;1"] - .getService(Components.interfaces.nsIScriptableDateFormat); + this._bbs2chService = Cc["@mozilla.org/bbs2ch-service;1"].getService(Ci.nsIBbs2chService); + this._ioService = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService); + this._dateFormat = Cc["@mozilla.org/intl/scriptabledateformat;1"] + .getService(Ci.nsIScriptableDateFormat); this._validURL = false; try{ - this._url = this._ioService.newURI(aURLSpec, null, null) - .QueryInterface(Components.interfaces.nsIURL); + this._url = this._ioService.newURI(aURLSpec, null, null).QueryInterface(Ci.nsIURL); this._subjectURL = this._ioService.newURI("subject.txt", null, this.url) - .QueryInterface(Components.interfaces.nsIURL); + .QueryInterface(Ci.nsIURL); this._subjectFile = this._bbs2chService.getLogFileAtURL(this.subjectURL.spec); this._settingURL = this._ioService.newURI("SETTING.TXT", null, this.url) - .QueryInterface(Components.interfaces.nsIURL); + .QueryInterface(Ci.nsIURL); this._settingFile = this._bbs2chService.getLogFileAtURL(this.settingURL.spec); }catch(ex){ dump("Bbs2chBoardItems.init: " + ex + "\n"); @@ -295,20 +292,19 @@ htmlToText: function(aStr){ if(aStr.indexOf("&") == -1) return aStr; - var fromStr = Components.classes["@mozilla.org/supports-string;1"] - .createInstance(Components.interfaces.nsISupportsString); + var fromStr = Cc["@mozilla.org/supports-string;1"].createInstance(Ci.nsISupportsString); fromStr.data = aStr; try{ var toStr = { value: null }; - var formatConverter = Components.classes["@mozilla.org/widget/htmlformatconverter;1"] - .createInstance(Components.interfaces.nsIFormatConverter); + var formatConverter = Cc["@mozilla.org/widget/htmlformatconverter;1"] + .createInstance(Ci.nsIFormatConverter); formatConverter.convert("text/html", fromStr, fromStr.toString().length, "text/unicode", toStr, {}); }catch(e){ return aStr; } if(toStr.value){ - toStr = toStr.value.QueryInterface(Components.interfaces.nsISupportsString); + toStr = toStr.value.QueryInterface(Ci.nsISupportsString); return toStr.toString(); } return aStr; @@ -344,7 +340,7 @@ var logDir = this._bbs2chService.getLogFileAtURL(this.url.spec); var entries = logDir.directoryEntries; while(entries.hasMoreElements()){ - var file = entries.getNext().QueryInterface(Components.interfaces.nsILocalFile); + var file = entries.getNext().QueryInterface(Ci.nsILocalFile); if(!regIndexName.test(file.leafName)) continue; var datID = RegExp.$1; var lastModified = file.lastModifiedTime; @@ -398,7 +394,7 @@ */ getThreadForce: function(aDatID, aCount){ // スレッド作成日から現在までのミリ数 - var progress = new Date().getTime() - aDatID * 1000; + var progress = Date.now() - aDatID * 1000; // 86400000 = 一日/ミリ秒 (24 * 60 * 60 * 1000) progress = progress / 86400000; @@ -412,8 +408,8 @@ search: function(aSearchString){ if(!this._lastItems) this._lastItems = this.items.concat(); - var unicodeNormalizer = Components.classes["@mozilla.org/intl/unicodenormalizer;1"] - .createInstance(Components.interfaces.nsIUnicodeNormalizer); + var unicodeNormalizer = Cc["@mozilla.org/intl/unicodenormalizer;1"] + .createInstance(Ci.nsIUnicodeNormalizer); var normalizedStr = {}; var searchString = aSearchString.toLowerCase(); Modified: trunk/bbs2chreader/chrome/content/bbs2chreader/board/logMove.xul =================================================================== --- trunk/bbs2chreader/chrome/content/bbs2chreader/board/logMove.xul 2007-10-26 13:29:26 UTC (rev 234) +++ trunk/bbs2chreader/chrome/content/bbs2chreader/board/logMove.xul 2007-10-26 13:30:47 UTC (rev 235) @@ -4,10 +4,9 @@ <dialog id="winMain" class="plain" buttons="cancel" defaultButton="cancel" title="ログファイルの移動 [bbs2chreader]" onload="startup()" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> +<script type="application/javascript; version=1.7" src="chrome://bbs2chreader/content/lib/xpc.js"/> +<script type="application/javascript; version=1.7" src="chrome://bbs2chreader/content/board/logMove.js"/> -<script type="application/javascript; version=1.7" - src="chrome://bbs2chreader/content/board/logMove.js"/> - <hbox class="wizard-header" id="hdrDialog" label="" description=""/> <vbox width="420" class="spaced"> <hbox class="spaced" flex="1"> Modified: trunk/bbs2chreader/chrome/content/bbs2chreader/board/page.js =================================================================== --- trunk/bbs2chreader/chrome/content/bbs2chreader/board/page.js 2007-10-26 13:29:26 UTC (rev 234) +++ trunk/bbs2chreader/chrome/content/bbs2chreader/board/page.js 2007-10-26 13:30:47 UTC (rev 235) @@ -36,9 +36,7 @@ * ***** END LICENSE BLOCK ***** */ -var gBbs2chService = Components.classes["@mozilla.org/bbs2ch-service;1"] - .getService(Components.interfaces.nsIBbs2chService); - +var gBbs2chService = Cc["@mozilla.org/bbs2ch-service;1"].getService(Ci.nsIBbs2chService); var gTreeSubject; var gBoardItems; var gSubjectDownloader; @@ -135,9 +133,8 @@ function loadPersist(){ - var persistPref = Components.classes["@mozilla.org/preferences-service;1"] - .getService(Components.interfaces.nsIPrefService) - .getBranch("extensions.bbs2chreader.board_persist."); + var persistPref = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefService) + .getBranch("extensions.bbs2chreader.board_persist."); var prefList = persistPref.getChildList("", {}); for(var i=0; i<prefList.length; i++){ var prefName = prefList[i]; @@ -154,9 +151,8 @@ function savePersist(){ - var persistPref = Components.classes["@mozilla.org/preferences-service;1"] - .getService(Components.interfaces.nsIPrefService) - .getBranch("extensions.bbs2chreader.board_persist."); + var persistPref = Cc["@mozilla.org/preferences-service;1"].getService(Ci.nsIPrefService) + .getBranch("extensions.bbs2chreader.board_persist."); var xpathResult = document.evaluate("descendant::*[@id][@persist2]", document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null); @@ -449,10 +445,10 @@ return; } - if(Components.interfaces.nsIFormHistory2){ + if(Ci.nsIFormHistory2){ // フォーム履歴に検索文字列を追加 - var formHistory = Components.classes["@mozilla.org/satchel/form-history;1"] - .getService(Components.interfaces.nsIFormHistory2); + var formHistory = Cc["@mozilla.org/satchel/form-history;1"] + .getService(Ci.nsIFormHistory2); formHistory.addEntry("bbs2ch-board-history", aSearchString); } @@ -571,8 +567,8 @@ function createSettingFile(){ // 板名記入ダイアログ表示 - var promptService = Components.classes["@mozilla.org/embedcomp/prompt-service;1"] - .getService(Components.interfaces.nsIPromptService); + var promptService = Cc["@mozilla.org/embedcomp/prompt-service;1"] + .getService(Ci.nsIPromptService); var promptTitle = gBoardItems.url.spec + " [bbs2chreader]"; var promptMsg = "Entry This Board Title"; var promptValue = { value: "" }; @@ -595,17 +591,14 @@ } function openLogsDir(){ - var logDir = gBoardItems.subjectFile.parent - .QueryInterface(Components.interfaces.nsILocalFile); + var logDir = gBoardItems.subjectFile.parent.QueryInterface(Ci.nsILocalFile); try{ logDir.reveal(); }catch(ex){ // for Unix - var ioService = Components.classes["@mozilla.org/network/io-service;1"] - .getService(Components.interfaces.nsIIOService); - var protocolService = Components.classes - ["@mozilla.org/uriloader/external-protocol-service;1"] - .getService(Components.interfaces.nsIExternalProtocolService); + var ioService = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService); + var protocolService = Cc["@mozilla.org/uriloader/external-protocol-service;1"] + .getService(Ci.nsIExternalProtocolService); var logDirURI = ioService.newFileURI(logDir); protocolService.loadUrl(logDirURI); } @@ -778,8 +771,15 @@ function Bbs2chBoardTreeView(aItems){ this._items = aItems; this._rowCount = aItems.length; - this._atomService = Components.classes["@mozilla.org/atom-service;1"] - .getService(Components.interfaces.nsIAtomService); + + var atomService = Cc["@mozilla.org/atom-service;1"].getService(Ci.nsIAtomService); + this._atom = new Array(); + this._atom["s5"] = atomService.getAtom("s5"); + this._atom["s4"] = atomService.getAtom("s4"); + this._atom["s3"] = atomService.getAtom("s3"); + this._atom["s2"] = atomService.getAtom("s2"); + this._atom["s1"] = atomService.getAtom("s1"); + this._atom["icon"] = atomService.getAtom("icon"); } @@ -875,15 +875,15 @@ }, getRowProperties: function(aIndex, aProperties){ - // var status = "s" + this._items[aIndex].status; - // aProperties.AppendElement(this._atomService.getAtom(status)); + var status = "s" + this._items[aRow].status; + aProperties.AppendElement(this._atom[status]); }, getCellProperties: function(aRow, aCol, aProperties){ if(aCol.element._cellType == "icon"){ var status = "s" + this._items[aRow].status; - aProperties.AppendElement(this._atomService.getAtom(status)); - aProperties.AppendElement(this._atomService.getAtom("icon")); + aProperties.AppendElement(this._atom[status]); + aProperties.AppendElement(this._atom["icon"]); } }, getColumnProperties: function(aCol, aProperties){}, Modified: trunk/bbs2chreader/chrome/content/bbs2chreader/board/page.xul =================================================================== --- trunk/bbs2chreader/chrome/content/bbs2chreader/board/page.xul 2007-10-26 13:29:26 UTC (rev 234) +++ trunk/bbs2chreader/chrome/content/bbs2chreader/board/page.xul 2007-10-26 13:30:47 UTC (rev 235) @@ -10,6 +10,7 @@ onmousedown="eventBubbleCheck(event)" onkeypress="eventBubbleCheck(event)" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> +<script type="application/javascript; version=1.7" src="chrome://bbs2chreader/content/lib/xpc.js"/> <script type="application/javascript; version=1.7" src="chrome://bbs2chreader/content/lib/clipboard.js"/> <script type="application/javascript; version=1.7" src="chrome://bbs2chreader/content/lib/downloader.js"/> <script type="application/javascript; version=1.7" src="chrome://bbs2chreader/content/board/items.js"/> Modified: trunk/bbs2chreader/chrome/content/bbs2chreader/board/subscribe.js =================================================================== --- trunk/bbs2chreader/chrome/content/bbs2chreader/board/subscribe.js 2007-10-26 13:29:26 UTC (rev 234) +++ trunk/bbs2chreader/chrome/content/bbs2chreader/board/subscribe.js 2007-10-26 13:30:47 UTC (rev 235) @@ -1,10 +1,7 @@ -var gBbs2chService = Components.classes["@mozilla.org/bbs2ch-service;1"] - .getService(Components.interfaces.nsIBbs2chService); -var gRDFS = Components.classes["@mozilla.org/rdf/rdf-service;1"] - .getService(Components.interfaces.nsIRDFService); -var gRDFCU = Components.classes["@mozilla.org/rdf/container-utils;1"] - .getService(Components.interfaces.nsIRDFContainerUtils); +var gBbs2chService = Cc["@mozilla.org/bbs2ch-service;1"].getService(Ci.nsIBbs2chService); +var gRDFS = Cc["@mozilla.org/rdf/rdf-service;1"].getService(Ci.nsIRDFService); +var gRDFCU = Cc["@mozilla.org/rdf/container-utils;1"].getService(Ci.nsIRDFContainerUtils); var gTreeSubscribe; var gDatasource; @@ -77,7 +74,7 @@ // ツリーデータベースの初期化 var dsEnu = gTreeSubscribe.database.GetDataSources(); while(dsEnu.hasMoreElements()){ - var ds = dsEnu.getNext().QueryInterface(Components.interfaces.nsIRDFDataSource); + var ds = dsEnu.getNext().QueryInterface(Ci.nsIRDFDataSource); if(ds.URI == null){ gTreeSubscribe.database.RemoveDataSource(ds); } @@ -90,8 +87,8 @@ return; } - gDatasource = Components.classes["@mozilla.org/rdf/datasource;1?name=in-memory-datasource"] - .createInstance(Components.interfaces.nsIRDFDataSource); + gDatasource = Cc["@mozilla.org/rdf/datasource;1?name=in-memory-datasource"] + .createInstance(Ci.nsIRDFDataSource); var rootContainer = gRDFCU.MakeSeq(gDatasource, gRDFS.GetResource("urn:b2rSubscribe:root")); @@ -156,12 +153,12 @@ var newUnread = gRDFS.GetIntLiteral(item.unread); var oldUnread = gDatasource.GetTarget(itemRes, resUnread, true); if(oldUnread){ - oldUnread.QueryInterface(Components.interfaces.nsIRDFInt); + oldUnread.QueryInterface(Ci.nsIRDFInt); if(newUnread.Value != oldUnread.Value){ gDatasource.Change(itemRes, resUnread, oldUnread, newUnread); } var oldState = gDatasource.GetTarget(itemRes, resState, true) - .QueryInterface(Components.interfaces.nsIRDFLiteral); + .QueryInterface(Ci.nsIRDFLiteral); if(newState.Value != oldState.Value){ gDatasource.Change(itemRes, resState, oldState, newState); } @@ -257,7 +254,7 @@ if(gTreeSubscribe.builderView.isContainer(index)){ var boardURL = gDatasource.GetTarget(itemRes, gRDFS.GetResource(B2R_NS + "url"), true) - .QueryInterface(Components.interfaces.nsIRDFLiteral).Value; + .QueryInterface(Ci.nsIRDFLiteral).Value; boardURL = "bbs2ch:board:" + boardURL; gBbs2chService.openURL(boardURL, null, aAddTab); return; @@ -266,7 +263,7 @@ var parentIndex = gTreeSubscribe.builderView.getParentIndex(index); var parentRes = gTreeSubscribe.builderView.getResourceAtIndex(parentIndex); var boardURL = gDatasource.GetTarget(parentRes, gRDFS.GetResource(B2R_NS + "url"), true) - .QueryInterface(Components.interfaces.nsIRDFLiteral).Value; + .QueryInterface(Ci.nsIRDFLiteral).Value; var boardItems = gBoardItemsHash[boardURL]; // スレッド表示数の制限 @@ -283,7 +280,7 @@ } var threadURL = gDatasource.GetTarget(itemRes, gRDFS.GetResource(B2R_NS + "url"), true) - .QueryInterface(Components.interfaces.nsIRDFLiteral).Value; + .QueryInterface(Ci.nsIRDFLiteral).Value; threadURL = "/thread/" + threadURL + threadViewLimit; threadURL = gBbs2chService.serverURL.resolve(threadURL); gBbs2chService.openURL(threadURL, null, aAddTab); @@ -292,14 +289,14 @@ var resUnread = gRDFS.GetResource(B2R_NS + "unread"); var newUnread = gRDFS.GetIntLiteral(0); var oldUnread = gDatasource.GetTarget(itemRes, resUnread, true) - .QueryInterface(Components.interfaces.nsIRDFInt); + .QueryInterface(Ci.nsIRDFInt); if(newUnread.Value != oldUnread.Value){ gDatasource.Change(itemRes, resUnread, oldUnread, newUnread); } var resState = gRDFS.GetResource(B2R_NS + "state"); var newState = gRDFS.GetLiteral("noUpdateItem"); var oldState = gDatasource.GetTarget(itemRes, resState, true) - .QueryInterface(Components.interfaces.nsIRDFLiteral); + .QueryInterface(Ci.nsIRDFLiteral); if(newState.Value != oldState.Value){ gDatasource.Change(itemRes, resState, oldState, newState); } @@ -307,8 +304,7 @@ function removeTreeItem(aParentResource, aResource, aIndex){ - var container = Components.classes["@mozilla.org/rdf/container;1"] - .createInstance(Components.interfaces.nsIRDFContainer); + var container = Cc["@mozilla.org/rdf/container;1"].createInstance(Ci.nsIRDFContainer); container.Init(gDatasource, aParentResource); container.RemoveElement(aResource, true); } @@ -387,8 +383,8 @@ gTreeSubscribe.treeBoxObject.beginUpdateBatch(); - var boardContainer = Components.classes["@mozilla.org/rdf/container;1"] - .createInstance(Components.interfaces.nsIRDFContainer); + var boardContainer = Cc["@mozilla.org/rdf/container;1"] + .createInstance(Ci.nsIRDFContainer); boardContainer.Init(gDatasource, gRDFS.GetResource("urn:b2rSubscribe:board:" + gDownloadQueue[0].url.spec)); while(boardContainer.GetCount()){ boardContainer.RemoveElementAt(1, true); @@ -439,7 +435,7 @@ var newValue = gRDFS.GetLiteral(aStete); var oldValue = gDatasource.GetTarget(boardRes, stateRes, true); if(oldValue){ - oldValue.QueryInterface(Components.interfaces.nsIRDFLiteral); + oldValue.QueryInterface(Ci.nsIRDFLiteral); if(newValue.Value != oldValue.Value){ gDatasource.Change(boardRes, stateRes, oldValue, newValue); } @@ -481,12 +477,12 @@ var parentIndex = gTreeSubscribe.builderView.getParentIndex(index); var parentRes = gTreeSubscribe.builderView.getResourceAtIndex(parentIndex); var boardURL = gDatasource.GetTarget(parentRes, gRDFS.GetResource(B2R_NS + "url"), true) - .QueryInterface(Components.interfaces.nsIRDFLiteral).Value; + .QueryInterface(Ci.nsIRDFLiteral).Value; var boardItems = gBoardItemsHash[boardURL]; var itemRes = gTreeSubscribe.builderView.getResourceAtIndex(index); var datID = gDatasource.GetTarget(itemRes, gRDFS.GetResource(B2R_NS + "datID"), true) - .QueryInterface(Components.interfaces.nsIRDFLiteral).Value; + .QueryInterface(Ci.nsIRDFLiteral).Value; // ログディレクトリ内の .dat ファイル var datFile = gBbs2chService.getLogFileAtURL(boardItems.url.resolve(datID + ".dat")); Modified: trunk/bbs2chreader/chrome/content/bbs2chreader/board/subscribe.xul =================================================================== --- trunk/bbs2chreader/chrome/content/bbs2chreader/board/subscribe.xul 2007-10-26 13:29:26 UTC (rev 234) +++ trunk/bbs2chreader/chrome/content/bbs2chreader/board/subscribe.xul 2007-10-26 13:30:47 UTC (rev 235) @@ -11,10 +11,11 @@ onmousedown="eventBubbleCheck(event)" onkeypress="eventBubbleCheck(event)" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> -<script type="application/javascript;version=1.7" src="chrome://bbs2chreader/content/lib/rdf.js"/> -<script type="application/javascript;version=1.7" src="chrome://bbs2chreader/content/lib/downloader.js"/> -<script type="application/javascript;version=1.7" src="chrome://bbs2chreader/content/board/items.js"/> -<script type="application/javascript;version=1.7" src="chrome://bbs2chreader/content/board/subscribe.js"/> +<script type="application/javascript; version=1.7" src="chrome://bbs2chreader/content/lib/xpc.js"/> +<script type="application/javascript; version=1.7" src="chrome://bbs2chreader/content/lib/rdf.js"/> +<script type="application/javascript; version=1.7" src="chrome://bbs2chreader/content/lib/downloader.js"/> +<script type="application/javascript; version=1.7" src="chrome://bbs2chreader/content/board/items.js"/> +<script type="application/javascript; version=1.7" src="chrome://bbs2chreader/content/board/subscribe.js"/> <popupset> <popup id="treeSubscribeContext"