tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Howard M. Lewis Ship (JIRA)" <j...@apache.org>
Subject [jira] [Closed] (TAP5-1538) Optimize client-side URL rebuilding in IE 7
Date Tue, 21 Jun 2011 21:41:47 GMT

     [ https://issues.apache.org/jira/browse/TAP5-1538?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Howard M. Lewis Ship closed TAP5-1538.
--------------------------------------

       Resolution: Fixed
    Fix Version/s: 5.2.6

> Optimize client-side URL rebuilding in IE 7
> -------------------------------------------
>
>                 Key: TAP5-1538
>                 URL: https://issues.apache.org/jira/browse/TAP5-1538
>             Project: Tapestry 5
>          Issue Type: Improvement
>          Components: tapestry-core
>    Affects Versions: 5.3, 5.2.5
>            Reporter: Pedro Ayala
>            Assignee: Howard M. Lewis Ship
>              Labels: javascript,, performance
>             Fix For: 5.3.0, 5.2.6
>
>         Attachments: tapestry-buildurl-improvement.txt
>
>
> While loading the tapestry javascript, we execute the "contains" function for every script
and css files in the page. The function tries to find if we already have one asset in the
list of script.
> Firefox and Chrome already contains the complete URL, but IE needs to call rebuildURL
to get it. This results in calling the function hundred of times so any little optimization
of it saves some javascript loading time.
> The most expensive operation is the one for retrieving the window.location url and adding
it to the path parameter. In order to improve it, we can save the basic build url in a local
variable and just add the path to it.
> ### Eclipse Workspace Patch 1.0
> #P tapestry-core
> Index: src/main/resources/org/apache/tapestry5/tapestry.js
> ===================================================================
> --- src/main/resources/org/apache/tapestry5/tapestry.js	(revision 1129681)
> +++ src/main/resources/org/apache/tapestry5/tapestry.js	(working copy)
> @@ -522,8 +522,12 @@
>  			return path;
>  		}
>  
> -		var l = window.location;
> -		return l.protocol + "//" + l.host + path;
> +		if (!Tapestry.buildUrl) {
> +			var l = window.location;
> +			Tapestry.buildUrl = l.protocol + "//" + l.host;
> +		}
> +
> +		return Tapestry.buildUrl + path;
>  	},
>  
>  	stripToLastSlash : function(URL) {

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message