Review Request 116065: Implement FontLoader type.
Anton Kreuzkamp
akreuzkamp at web.de
Wed Mar 5 10:08:59 UTC 2014
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/116065/#review50989
-----------------------------------------------------------
Except of those issues below, I decided to like your compromise between not having too much dependencies (== ideally have no extern dependencies at all), keeping the overall codebase small, not reinventing the wheel and providing all the functionality. :)
Thanks for your good work. Keep it up! :)
src/qtcore.js
<https://git.reviewboard.kde.org/r/116065/#comment35778>
you can just use
function touchName() {
}
here. I think it's better readable and may bring some small performance optimizations on some browsers.
src/qtcore.js
<https://git.reviewboard.kde.org/r/116065/#comment36910>
Why do you set the name property here, before actually loading the font? You wouldn't need all the touchName-stuff, if you just make font_name (->fontName) a private member (==constructor local) and set the name when the font finished loading, would you?
Regarding to how i understand the Qt-docs and what I observed, this is what QtQuick does as well.
src/qtcore.js
<https://git.reviewboard.kde.org/r/116065/#comment36911>
Why not just use FontLoader !== undefined? Has it a specific reason to use typeof? (with typeof you have to do an expensive string-comparison, after all)
- Anton Kreuzkamp
On Feb. 25, 2014, 11:20 p.m., Nikita Skovoroda wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://git.reviewboard.kde.org/r/116065/
> -----------------------------------------------------------
>
> (Updated Feb. 25, 2014, 11:20 p.m.)
>
>
> Review request for QML Web and Anton Kreuzkamp.
>
>
> Repository: qmlweb
>
>
> Description
> -------
>
> Implement FontLoader type.
>
> See http://qt-project.org/doc/qt-5/qml-qtquick-fontloader.html and http://qt-project.org/doc/qt-4.7/qml-fontloader.html
>
> This currently depends on smnh's MIT-licensed FontLoader.js library
> to get notifications when a font is loaded and trigger all events in time.
>
> Elements that are using that font through 'font.family: fontId.name' get their dimensions recalculated correctly when the font loads.
>
> If FontLoader.js is not provided the font is still loaded, but 'status' property is set to Error and dimensions recalculation is triggered after a fixed timeout (3 seconds).
> In this case the user gets a notice in console.log.
>
>
> Timeout (3 seconds) is the maximum time for a font to load. If font isn't loaded in this time, status is set to Error.
> Without FontLoader.js dimensions recalculations for elements are triggered after that time.
>
> For both cases (with and without FontLoader.js) if the font takes more than this time to load, dimensions recalculations for elements that are using this font will not be triggered or will have no effect.
>
> On the other hand, if the font could not be loaded (with FontLoader.js enabled), the Error status will be set only when this timeout expires.
>
>
> Diffs
> -----
>
> src/qtcore.js c219e2e
>
> Diff: https://git.reviewboard.kde.org/r/116065/diff/
>
>
> Testing
> -------
>
> Works as expected (as described above) with or without FontLoader.js.
> Tested cases when the font should load and when it should fail to load.
>
> Tested «Text {font.family: fontId.name}» dimensions recalculations.
>
> Works well for me.
>
>
> Thanks,
>
> Nikita Skovoroda
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/qmlweb/attachments/20140305/48b251d3/attachment.html>
More information about the QmlWeb
mailing list