[Qt-qml] ListModel and WorkerScript limitations
ari.koivisto at nokia.com
ari.koivisto at nokia.com
Wed Sep 8 16:10:12 CEST 2010
> From: Kennedy Aaron (Nokia-MS-Qt/Brisbane)
> ><ari.koivisto at nokia.com> wrote:
> > (0. The DOM API could be more complete, now the JS I wrote is not
> exactly
> > pretty)
>
> Yes, the DOM API is quite a minimal subset of the full W3C spec. Your
> best bet is to file bugs against the parts that you want, or, better
> yet, submit some patches! We'd love to see contributions in this area.
>
> In the future we are looking at sharing the webkit implementations of
> these constructs, which obviously support the entire spec, but that is
> not scheduled for any particular release.
Things like getElementsByTagName would've have made life a bit easier.
I'll try to raise a suggestion around this soon.
> > 1. In my case the server response document can take a while to
> process
> > few seconds on embedded devices -> I¹d like to use WorkerScript to
> > prevent the UI getting stuck, but I can¹t: ³If a list model is to be
> > accessed from a WorkerScript, it cannot contain list data.² Well,
> that
> > is exactly the case I have and I can¹t modify the ListModel to work
> > without list data
>
> That is a limitation of the current implementation that is non-trivial
> to fix. Future releases of QML will included better model data support
> that will hopefully help with this problem.
That is really a shame as WorkerScript would be a perfect fit for more
complex ListModel handling - especially around embedded use cases. Now the
PC version runs the JS XML parser with sample XML data in ~42ms and
it takes ~1600ms on a embedded device, that is too much for fluid UI
handling.
I'll try work around this issue for now via C++.
> > 2. While looking at WorkerScript I noticed that I couldn¹t pass
> the
> > responseXML to the WorkerScript via SendMessage. WorkerScript gets
> > stuck when trying to access the object - e.g.
> > ³response.childNodes.length². Moving the whole XMLHttpRequest to
> > WorkerScript doesn¹t work either (³TypeError: Result of expression
> > 'doc.responseXML' [null] is not an object.²)
>
> I can't reproduce this. The attached example uses XMLHttpRequest from
> a worker script and it seems to be able to access responseXML without
> issue.
> Can you provide more details about your problem - like the specific
> release of Qt you are using and, ideally, a self contained example of
> the problem?
Ah, this was a "stupid user" error :-). Forgot that the test data lived in
different directory than the script while doing the WorkScript test.
Best Regards,
Ari
More information about the Qt-qml
mailing list