[Laszlo-dev] [Laszlo-checkins] r5910 - in openlaszlo/branches/wafflecone/WEB-INF/lps/lfc: core events services
Max Carlson
max at openlaszlo.org
Thu Aug 2 23:54:47 PDT 2007
It's an undocumented API that's only used by the LFC. We don't want
folks overriding constructWithArgs() or using it. Given the comment
above the declaration in LzNode (@todo 2006-05-24 ptw Adam says this is
a hack that we should get rid of.) I'm okay with this change.
If you still think otherwise I'll put it back in :)
P T Withington wrote:
> Well I still feel you cannot just eliminate an interface without first
> deprecating it. Is there any reason not to use the solution I proposed?
>
> On Aug 2, 2007, at 9:45 PM, Max Carlson <max at openlaszlo.org> wrote:
>
>> I grepped the entire source tree (with diamond) and didn't find any
>> calls to super.constructWithArgs(). The only declaration is in
>> WEB-INF/lps/lfc/data/LzReplicationManager.lzs:
>>
>> /**
>> * @access private
>> */
>> function constructWithArgs ( args ){
>> this.__LZHandleMultiNodes( this.initialnodes );
>> delete this.initialnodes;
>> if ( this.visible == false ){
>> this.setVisible( false );
>> }
>> }
>>
>> P T Withington wrote:
>>> I'm concerned about the change to constructWithArgs. Since this is a
>>> defined method, there could be overrides out there that will attempt
>>> to call super from their method -- that will bomb now. If you want
>>> to avoid this call, then you could say:
>>> if (this.constructWithArgs !== LzNode.prototype.constructWithArgs) {
>>> this.constructWithArgs(parent, args);
>>> }
>>> and not remove the default method.
>>> On 2007-08-02, at 13:18 EDT, max at openlaszlo.org wrote:
>>>> Author: max
>>>> Date: 2007-08-02 10:18:46 -0700 (Thu, 02 Aug 2007)
>>>> New Revision: 5910
>>>>
>>>> Modified:
>>>> openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/core/LzNode.lzs
>>>>
>>>> openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/events/LaszloEvents.lzs
>>>> openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/services/LzCSSStyle.js
>>>> Log:
>>>> 20070801-maxcarlson-V by maxcarlson at plastik on 2007-08-01 20:51:00 PDT
>>>> in /Users/maxcarlson/openlaszlo/wafflecone
>>>> for http://svn.openlaszlo.org/openlaszlo/branches/wafflecone
>>>>
>>>> Summary: More optimization of LFC
>>>>
>>>> New Features:
>>>>
>>>> Bugs Fixed: LPP-4414 - Improve startup performance (partial)
>>>>
>>>> Technical Reviewer: promanik
>>>> QA Reviewer: ben
>>>> Doc Reviewer: (pending)
>>>>
>>>> Documentation:
>>>>
>>>> Release Notes:
>>>>
>>>> Details: LzCSSStyle.js - Cache getPropertyValueFor() calls. Only
>>>> call _selectorApplies() for compound css statements.
>>>>
>>>> LzNode.lzs - Only call constructWithArgs() if it exists.
>>>>
>>>> LaszloEvents.lzs - Check for null reference.
>>>>
>>>>
>>>> Tests: ...silver/main.lzx?lzr=dhtml&lzt=html shows ~24029 fewer
>>>> total calls (252524 total before, 228495 now).
>>>> http://localhost:8080/wafflecone/test/style/constraints/main.lzx?lzr=swf8 passes
>>>> as before, shows 405ms for lookup test.
>>>>
>>>>
>>>>
>>>> Modified:
>>>> openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/core/LzNode.lzs
>>>> ===================================================================
>>>> ---
>>>> openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/core/LzNode.lzs
>>>> 2007-08-02 16:46:55 UTC (rev 5909)
>>>> +++
>>>> openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/core/LzNode.lzs
>>>> 2007-08-02 17:18:46 UTC (rev 5910)
>>>> @@ -180,7 +180,11 @@
>>>> this.__LZstyleConstraints = this.__LZapplyStyleMap(
>>>> styleMap, attrs );
>>>> }
>>>>
>>>> - this.constructWithArgs( maskedargs );
>>>> + /**
>>>> + * @todo 2006-05-24 ptw Adam says this is a hack that we
>>>> should get
>>>> + * rid of.
>>>> + */
>>>> + if (this.constructWithArgs) this.constructWithArgs(
>>>> maskedargs );
>>>>
>>>> delete this.__LZdeferDelegates;
>>>> if (qpos != LzDelegate.__LZdelegatesQueue.length) {
>>>> @@ -641,13 +645,6 @@
>>>> }
>>>>
>>>> /**
>>>> - * @access private
>>>> - * @todo 2006-05-24 ptw Adam says this is a hack that we should get
>>>> - * rid of.
>>>> - */
>>>> -function constructWithArgs ( parent , args ){}
>>>> -
>>>> -/**
>>>> * Called at the same time that the node sends its oninit event --
>>>> usually
>>>> * when the node's siblings are instantiated, and always after the
>>>> node's
>>>> * children are instantiated.
>>>> @@ -1967,10 +1964,4 @@
>>>> this.makeChild( dpobj , true);
>>>> }
>>>>
>>>> -
>>>> -/**
>>>> - * @access private
>>>> - */
>>>> -function constructWithArgs ( parent , args ){}
>>>> -
>>>> } // End of LzNode
>>>>
>>>> Modified:
>>>> openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/events/LaszloEvents.lzs
>>>> ===================================================================
>>>> ---
>>>> openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/events/LaszloEvents.lzs
>>>> 2007-08-02 16:46:55 UTC (rev 5909)
>>>> +++
>>>> openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/events/LaszloEvents.lzs
>>>> 2007-08-02 17:18:46 UTC (rev 5910)
>>>> @@ -215,7 +215,7 @@
>>>> }
>>>> */
>>>> // d.execute( sd ); inlined
>>>> - d.c[d.f]( sd );
>>>> + if (d.c[d.f]) d.c[d.f]( sd );
>>>> i+=2;
>>>> }
>>>> evq.length = pos;
>>>>
>>>> Modified:
>>>> openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/services/LzCSSStyle.js
>>>> ===================================================================
>>>> ---
>>>> openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/services/LzCSSStyle.js
>>>> 2007-08-02 16:46:55 UTC (rev 5909)
>>>> +++
>>>> openlaszlo/branches/wafflecone/WEB-INF/lps/lfc/services/LzCSSStyle.js
>>>> 2007-08-02 17:18:46 UTC (rev 5910)
>>>> @@ -70,6 +70,7 @@
>>>> return 1 ;
>>>> }
>>>>
>>>> +LzCSSStyleRule.prototype.__pvcache = {};
>>>>
>>>> var LzCSSStyle = {};
>>>>
>>>> @@ -90,6 +91,8 @@
>>>> //var t = getTimer();
>>>> if (!node) return;
>>>> var uid = node.getUID();
>>>> + var val = LzCSSStyleRule.prototype.__pvcache[uid + pname];
>>>> + if (val) return val;
>>>> var rules = this.__LZRuleCache[ uid ];
>>>> if ( !rules ) {
>>>> rules = new Array();
>>>> @@ -102,7 +105,7 @@
>>>> (rp.type == 3 && (((rp.classname in lz) && (node
>>>> instanceof lz[ rp.classname ])) || ( (rp.classname in global) &&
>>>> (node instanceof global[ rp.classname ])))) ||
>>>> (rp.type == 5 && node[ rp.attrname ] ==
>>>> rp.attrvalue) ||
>>>> (rp.type == 6 && node[ rp.attrname ] ==
>>>> rp.attrvalue && (((rp.classname in lz) && (node instanceof lz[
>>>> rp.classname ])) || ( (rp.classname in global) && (node instanceof
>>>> global[ rp.classname ])))) ||
>>>> - this._selectorApplies( r, rp, node ) ){
>>>> + (rp.type == 4 && this._selectorApplies( r, rp,
>>>> node ))){
>>>> rules.push(r);
>>>> }
>>>> }
>>>> @@ -124,7 +127,7 @@
>>>> (rp.type == 3 && (((rp.classname in lz) && (node
>>>> instanceof lz[ rp.classname ])) || ( (rp.classname in global) &&
>>>> (node instanceof global[ rp.classname ])))) ||
>>>> (rp.type == 5 && node[ rp.attrname ] ==
>>>> rp.attrvalue) ||
>>>> (rp.type == 6 && node[ rp.attrname ] ==
>>>> rp.attrvalue && (((rp.classname in lz) && (node instanceof lz[
>>>> rp.classname ])) || ( (rp.classname in global) && (node instanceof
>>>> global[ rp.classname ])))) ||
>>>> - this._selectorApplies( r, rp, node ) ){
>>>> + (rp.type == 4 && this._selectorApplies( r, rp,
>>>> node ))){
>>>> rules.push(r);
>>>> }
>>>> }
>>>> @@ -148,7 +151,11 @@
>>>> var i = 0;
>>>> while ( i < l ) {
>>>> var props = rules[i++].properties;
>>>> - if (pname in props) { return props[pname]; }
>>>> + if (pname in props) {
>>>> + var v = props[pname];
>>>> + LzCSSStyleRule.prototype.__pvcache[uid + pname] = v
>>>> + return v;
>>>> + }
>>>> }
>>>>
>>>> ////this.time1 += getTimer() - t;
>>>> @@ -316,7 +323,7 @@
>>>> (inrp.type == 3 && (((inrp.classname
>>>> in lz) && (icurnode instanceof lz[ inrp.classname ])) || (
>>>> (inrp.classname in global) && (icurnode instanceof global[
>>>> inrp.classname ])))) ||
>>>> (inrp.type == 5 && icurnode[
>>>> inrp.attrname ] == inrp.attrvalue) ||
>>>> (inrp.type == 6 && icurnode[
>>>> inrp.attrname ] == inrp.attrvalue && (((inrp.classname in lz) &&
>>>> (icurnode instanceof lz[ inrp.classname ])) || ( (inrp.classname in
>>>> global) && (icurnode instanceof global[ inrp.classname ])))) ||
>>>> - this._selectorApplies( rule, inrp,
>>>> icurnode )){
>>>> + (inrp.type == 4 &&
>>>> this._selectorApplies( rule, inrp, icurnode ))){
>>>> if ( sindex-- == 0 ){
>>>> iresult = true;
>>>> break;
>>>>
>>>>
>>>> _______________________________________________
>>>> Laszlo-checkins mailing list
>>>> Laszlo-checkins at openlaszlo.org
>>>> http://www.openlaszlo.org/mailman/listinfo/laszlo-checkins
>>
>> --
>> Regards,
>> Max Carlson
>> OpenLaszlo.org
--
Regards,
Max Carlson
OpenLaszlo.org
More information about the Laszlo-dev
mailing list