On Wed, Jul 8, 2009 at 11:13, Tony Chang<[email protected]> wrote:
>
> What are the more advanced things that we use JST for?  Off the top of
> my head, all I can think of is bulleted lists.

jsselect -  which allows iteration. This is used for bulleted lists and the like

eval/switch - this is used to allowed arbitrary JS expressions but it
is only used inside jsselect at the moments.

> I think we went with a JS solution because it seemed easier and safer
> at the time.
>
> I'm ok with doing string injection in the front end (i.e., a C++ HTML
> templating library), I'm just concerned about XSS.  Is there a good
> existing library that would integrate well into chromium?

I'm not sure.

I think a small js solution is something I can do in a day or two and
it will buy us about 30ms on every DOMUI page.

Any objections to me going ahead with my initial plan?

>
> On Wed, Jul 8, 2009 at 11:09 AM, Erik Arvidsson<[email protected]> wrote:
>> On Wed, Jul 8, 2009 at 11:05, Glen Murphy<[email protected]> wrote:
>>> This time from a Chromium account:
>>>
>>> It would be nice if we didn't have to use JS and could just embed the
>>> strings live so that they could be cached, etc. Our CSS (and maybe
>>> even JS) files could use something like this, (currently we're just
>>> doing $0-$9 replacement).
>>
>> I'm not sure what you mean be "embed the > strings live so that they
>> could be cached"?
>>
>>> This may be separate to what you're looking for.
>>
>> It was different from what I had in mind but maybe we should do the
>> string injection on the front end instead of JS?
>>
>> What was the reason for doing it in JS in the first place?
>>
>>> On Wed, Jul 8, 2009 at 11:02 AM, Erik Arvidsson<[email protected]> wrote:
>>>> Currently we use JsTemplate
>>>> (http://code.google.com/p/google-jstemplate/) to do our l10n of the
>>>> DOMUI. JST has been working well but it is a bit of an overkill to do
>>>> l10n of our UI. It has a couple of features that makes it slow down
>>>> the UI:
>>>>
>>>> 1. It uses eval for every single RHS
>>>> 2. It uses two nested with statements
>>>> 3. It traverses the whole DOM using JavaScript
>>>>
>>>> It also has some advanced features like jsselect, which allows
>>>> iteration, that we are using for non l10n things.
>>>>
>>>> My plan is to create a simpler solution, with almost exactly the same
>>>> syntax that solves the 3 bullet points above. It will not allow
>>>> arbitrary expressions on the RHS and it will only support jsvalues and
>>>> jscontent. Instead of traversing the entire tree it ill use
>>>> document.querySelector which does the tree traversal in C++ and uses
>>>> CSS selectors as the matching which is a lot faster than doing the
>>>> tree traversal in JS.
>>>>
>>>> Since there are still cases where we use JST to do more advanced
>>>> templating it will still be available but it will require opt in.
>>>>
>>>> Any thoughts?
>>>>
>>>> --
>>>> erik
>>>>
>>>
>>
>>
>>
>> --
>> erik
>>
>
> >
>



-- 
erik

--~--~---------~--~----~------------~-------~--~----~
Chromium Developers mailing list: [email protected] 
View archives, change email options, or unsubscribe: 
    http://groups.google.com/group/chromium-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to