Lively Kernel canvas
runfalsenulltruefalsetruenull
seealsohttp://lively-kernel.org/repository/webwerkstatt/projects/HTML5/listBenchmark.xhtml?useFlattenedHTMLRenderingLayer=true2
ListBenchmark
createlistplainfalsenulltruefalsetruenull
results:clickedsomewhereintestList:46msclickedsomewhereintestList:154msclickedsomewhereintestList:264msclickedsomewhereintestList:255msclickedsomewhereintestList:442msclickedsomewhereintestList:820msclickedsomewhereintestList:147msclickedsomewhereintestList:129msclickedsomewhereintestList:135msclickedsomewhereintestList:128msclickedsomewhereintestList:132msclickedsomewhereintestList:224msclickedsomewhereintestList:130msclickedsomewhereintestList:150msclickedsomewhereintestList:55msclickedsomewhereintestList:298msclickedsomewhereintestList:162msclickedsomewhereintestList:163msclickedsomewhereintestList:288msclickedsomewhereintestList:4msclickedsomewhereintestList:6msclickedsomewhereintestList:6msclickedsomewhereintestList:7msclickedsomewhereintestList:7msclickedsomewhereintestList:66msclickedsomewhereintestList:60msclickedsomewhereintestList:62msclickedsomewhereintestList:63msclickedsomewhereintestList:120msclickedsomewhereintestList:130msclickedsomewhereintestList:122msclickedsomewhereintestList:49msclickedsomewhereintestList:53msclickedsomewhereintestList:54msclickedsomewhereintestList:87msclickedsomewhereintestList:171msmousemove1mousemove2msmousemove1msmousemove1msmousemove2msmousemove2msmousemove1msmousemove2msmousemove2msmousemove1ms46
nullfalsetruenull
TabCompletion.js:TabCompletionLayerfalsenulltruefalse
false
false
nullfalse
http://lively-kernel.org/repository/webwerkstatt/truetruetruetruetrue
truetrue
00.11
true
true
codebasefalsenulltruefalsetrue
localfalsenulltruefalsetrue
Localcodefalsefalsetruefalsetrue0false
test1.js(notparsed)falsefalsetruefalsetrue0false
test2.js(notparsed)falsefalsetruefalsetrue0false208.000015null-1nullnulltruetruetrue
00.11
true
null
null
null
nulltrue
true
-----falsefalsetruefalsetrue0false208.000015null
-1nullnulltruetruetrue
00.11
true
null
null
null
nulltrue
true
-----falsefalsetruefalsetrue0false208.000015null
-1nullnulltruetruetrue
00.11
true
null
null
null
nulltrue
true
-----falsefalsetruefalsetrue0false208.000015null
-1nullnulltruetruetrue
00.11
true
null
null
null
nulltrue
true
20null
truetrue2000000
0.5
truetrue
00.11
true
true
20null
Addmodulefalsenulltruefalsetrue
Loadallfalsenulltruefalsetrue
LineNofalsenulltruefalsetrue
Refreshfalsenulltruefalsetrue
Evalonfalsenulltruefalsetrue
Sortfalsenulltruefalsetrue
Viewas...falsenulltruefalsetrue
truetrue
falsenullnullnullnullfalse
Morph.prototype.localize=function(pt){if(pt==null)console.log('nullpt');if(this.world()==null){//console.log('ERRORin'+this.id()+'localize:'+pt+'this.world()isnull');//printStack();returnpt;}returnpt.matrixTransform(this.world().transformToMorph(this));}Morph.prototype.changed=function(){//Notemostmorphsdon'tneedthisinSVG,buttextneedsthe//callonbounds()totriggerlayoutonnewboundsif(this.owner)this.owner.invalidRect(this.bounds());}
15
createlistfalsenulltruefalsetrue
cop.create('DraftLayer').refineClass(WorldMorph,{morphToGrabOrReceive:function(evt,droppingMorph,checkForDnD){//IfcheckForDnDisfalse,returnthemorphtoreceivethismouseevent(ornull)//IfcheckForDnDistrue,returnthemorphtograbfromamousedownevent(ornull)//IfdroppingMorphisnotnull,thencheckthatthisisawillingrecipient(elsenull)if(this.isEpimorph)returnnull;if(!this.fullContainsWorldPoint(evt.mousePoint))returnnull;//notcontainedanywhere//Firstcheckallthesubmorphs,frontfirstfor(vari=this.submorphs.length-1;i>=0;i--){varhit=this.submorphs[i].morphToGrabOrReceive(evt,droppingMorph,checkForDnD);if(hit!=null){returnhit;//hitasubmorph}};//Checkifit'sreallyinthismorph(notjustfullBounds)if(!this.containsWorldPoint(evt.mousePoint))returnnull;//IfnoDnDcheck,thenwehaveahit(unlessnohandlerinwhichcaseamiss)if(!checkForDnD)returnthis.mouseHandler?this:null;//Ondrops,checkthatthisisawillingrecipientif(droppingMorph!=null){returnthis.acceptsDropping(droppingMorph)?this:null;}else{//Ongrabs,can'tpickuptheworldormorphsthathandlemousedown//DI:Ithinktheworldisadequatelycheckedfornowelsewhere//elsereturn(!evt.isCommandKey()&&this===this.world())?null:this;returnthis;}}});= 0; i--) {\n\t\t\tvar hit = this.submorphs[i].morphToGrabOrReceive(evt, droppingMorph, checkForDnD); \n\t\t\tif (hit != null) { \n\t\t\t\treturn hit; // hit a submorph\n\t\t\t}\n\t\t};\n\n\t\t// Check if it's really in this morph (not just fullBounds)\n\t\tif (!this.containsWorldPoint(evt.mousePoint)) return null;\n\n\t\t// If no DnD check, then we have a hit (unless no handler in which case a miss)\n\t\tif (!checkForDnD) return this.mouseHandler ? this : null;\n\n\t\t// On drops, check that this is a willing recipient\n\t\tif (droppingMorph != null) {\n\t\t\treturn this.acceptsDropping(droppingMorph) ? this : null;\n\t\t} else {\n\t\t\t// On grabs, can't pick up the world or morphs that handle mousedown\n\t\t\t// DI: I think the world is adequately checked for now elsewhere\n\t\t\t// else return (!evt.isCommandKey() && this === this.world()) ? null : this; \n\t\t\treturn this;\n\t\t}\n\n\t}\n});"]]>= 0; i--) {\n\t\t\tvar hit = this.submorphs[i].morphToGrabOrReceive(evt, droppingMorph, checkForDnD); \n\t\t\tif (hit != null) { \n\t\t\t\treturn hit; // hit a submorph\n\t\t\t}\n\t\t};\n\n\t\t// Check if it's really in this morph (not just fullBounds)\n\t\tif (!this.containsWorldPoint(evt.mousePoint)) return null;\n\n\t\t// If no DnD check, then we have a hit (unless no handler in which case a miss)\n\t\tif (!checkForDnD) return this.mouseHandler ? this : null;\n\n\t\t// On drops, check that this is a willing recipient\n\t\tif (droppingMorph != null) {\n\t\t\treturn this.acceptsDropping(droppingMorph) ? this : null;\n\t\t} else {\n\t\t\t// On grabs, can't pick up the world or morphs that handle mousedown\n\t\t\t// DI: I think the world is adequately checked for now elsewhere\n\t\t\t// else return (!evt.isCommandKey() && this === this.world()) ? null : this; \n\t\t\treturn this;\n\t\t}\n\n\t}\n});"]]>35
m=$morph('testList');Functions.timeToRun(function(){m.localize(pt(100,100))})2
everyadditionalbrowsertaks300ms.Why?
00000falsefalsetruefalsetrue0false
11111falsefalsetruefalsetrue0false
22222falsefalsetruefalsetrue0false
33333falsefalsetruefalsetrue0false
44444falsefalsetruefalsetrue0false
55555falsefalsetruefalsetrue0false
66666falsefalsetruefalsetrue0false
77777falsefalsetruefalsetrue0false
88888falsefalsetruefalsetrue0false
99999falsefalsetruefalsetrue0false
1010101010falsefalsetruefalsetrue0false200
2nullfalse
//25%this.transformToMorphfunction(other){//getTransformToElementhasissuesonsomeplatformsdbgOn(!other);if(Config.useGetTransformToElement){returnthis.rawNode.getTransformToElement(other.rawNode);}else{vartfm=this.getGlobalTransform();varinv=other.getGlobalTransform().createInverse();//console.log("ownglobal:"+tfm+"otherinverse"+inv);tfm.preConcatenate(inv);//console.log("transforming"+this+"to"+tfm);returntfm;}}//50%EventaddMousePointaddMousePoint:function(evtOrTouch){varpos=pt(evtOrTouch.pageX||evtOrTouch.clientX,evtOrTouch.pageY||evtOrTouch.clientY);this.mousePoint=pos.subPt(this.offset());this.priorPoint=this.mousePoint;},Core.jssetupEventsEventoffset:function(){//notethatFFdoesn'tdoesntcalculateoffsetLeft/offsetTopearlyenoughwedon'tprecomputethesevaluesvartopElement=this.canvas;if(Config.isEmbedded){varoffsetX=0;varoffsetY=-3;do{offsetX+=topElement.offsetLeftoffsetY+=topElement.offsetToptopElement=topElement.offsetParent;}while(topElement&&topElement.tagName!='BODY');returnpt(offsetX,offsetY);}else{returnpt(topElement.offsetLeft||0,(topElement.offsetTop||0)-3);}},43
WorldMorph.prototype.morphToGrabOrReceivecop.create('DraftLayer').refineClass(ClipMorph,{morphToGrabOrReceive:function(evt,droppingMorph,checkForDnD){returnnull}})cop.create('DraftLayer').refineClass(WindowMorph,{morphToGrabOrReceive:function(evt,droppingMorph,checkForDnD){returnnull}})cop.create('DraftLayer').refineClass(TextListMorph,{morphToGrabOrReceive:function(evt,droppingMorph,checkForDnD){returnnull}})enableLayer(DraftLayer)disableLayer(DraftLayer)23
browser=newSimpleBrowser();//shouldcheckforvalidclassnamebrowser.openIn(this.world(),pt(700,50));browser.getModel().setClassName("Morph");2
mousemovefalsenulltruetruetrue
Config.ignoredepricatedProceed=true
this.canvas().offsetLeftthis.canvas().offsetTop2
Wikicontroltruetrue
null99