platform/upstream/qtdeclarative.git
11 years agoImplement v8::LowMemoryNotification and IdleNotification
Lars Knoll [Mon, 15 Apr 2013 20:49:54 +0000 (22:49 +0200)]
Implement v8::LowMemoryNotification and IdleNotification

Avoids some failed assertions when explicitly triggering a gc().

Change-Id: I60345f7b971e0a756229931c8162039f3d0f72a2
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoFix a bug in the v8 API wrapper
Lars Knoll [Mon, 15 Apr 2013 20:45:21 +0000 (22:45 +0200)]
Fix a bug in the v8 API wrapper

This gets us further in the qjsengine autotest.

Change-Id: I911c893b49d34b6ee2226a82dc4bb7f398f57d5a
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoFix crash in v8 bindings
Simon Hausmann [Mon, 15 Apr 2013 10:40:04 +0000 (12:40 +0200)]
Fix crash in v8 bindings

We now exceed the maximum object size of 256 bytes, so bump it to 512
in the allocator.

Change-Id: Ifbf87b7f7681f5bcff09407a04a98b154c0bc3da
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoFix compilation with built-in v4vm JS engine
Simon Hausmann [Mon, 15 Apr 2013 09:50:16 +0000 (11:50 +0200)]
Fix compilation with built-in v4vm JS engine

Change-Id: Ieda9267e296acf6392a5461f4cfb9233a7a409a0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoAdjust to API changes after eliminating Handle<T>::operator* for safety reasons
Simon Hausmann [Fri, 8 Mar 2013 09:32:35 +0000 (10:32 +0100)]
Adjust to API changes after eliminating Handle<T>::operator* for safety reasons

Change-Id: I44661963044dedaf31e149768ebd2422959f15a6
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoFix compilation with v4vm's v8 compatibility headers
Simon Hausmann [Tue, 5 Mar 2013 12:07:23 +0000 (13:07 +0100)]
Fix compilation with v4vm's v8 compatibility headers

Some code is also commented out - it will disappear during the removal of the
v8 code later.

Change-Id: I46e07be47ed7d4bc12423a6348d674d2fca489f7
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoMerge branch 'master' of ssh://codereview.qt-project.org:29418/playground/v4vm into v4
Simon Hausmann [Mon, 15 Apr 2013 09:34:00 +0000 (11:34 +0200)]
Merge branch 'master' of ssh://codereview.qt-project.org:29418/playground/v4vm into v4

This is the initial merge of the v4vm JS engine, designed specifically for QML.

The engine is tested on Linux and Mac OS X, works on x86, x86-64 and ARM.

Change-Id: I826b72cfa3d3575007b70d78604080582db568db

Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoFix loading of this value on 32-bit
Simon Hausmann [Mon, 15 Apr 2013 09:25:09 +0000 (11:25 +0200)]
Fix loading of this value on 32-bit

Make sure to copy all 64-bits out of ctx->thisObject

Change-Id: I9984f83f5f238177e75e469c574ef49ee5bb0665
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoTiny optimisation
Lars Knoll [Mon, 15 Apr 2013 08:58:53 +0000 (10:58 +0200)]
Tiny optimisation

Change-Id: Iba4355e547c6f0d18bb31a977448bf433021c9f9
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoAdd some inline property data to Object
Lars Knoll [Mon, 15 Apr 2013 08:31:35 +0000 (10:31 +0200)]
Add some inline property data to Object

This avoids malloc'ing the memberData array in most cases, and
speed up the V8 benchmark by another 10%

Change-Id: Id5976a9f9b389ee2d1568211b486c2896d818dd3
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoSmaller cleanups
Lars Knoll [Mon, 15 Apr 2013 08:12:52 +0000 (10:12 +0200)]
Smaller cleanups

Change-Id: I47e0211536ca7bae2f38aca04cb5e338759caa68
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRemove context argument for increment/decrement value
Lars Knoll [Mon, 15 Apr 2013 07:46:45 +0000 (09:46 +0200)]
Remove context argument for increment/decrement value

Change-Id: I35c87190527a9eebd596aba8c4b100be77f552cd
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoFix compilation in release mode
Lars Knoll [Mon, 15 Apr 2013 07:19:58 +0000 (09:19 +0200)]
Fix compilation in release mode

Change-Id: I02a41aa5336c8aaad8584c1b8a857ee6cecc2370
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoSpecialized lookups for accessor properties
Lars Knoll [Sun, 14 Apr 2013 21:38:46 +0000 (23:38 +0200)]
Specialized lookups for accessor properties

Change-Id: Ic4afb5b2b73b3311077d3d64ddc03fa6da842e82
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoImplement fast lookup for constructor calls to the global object
Lars Knoll [Sun, 14 Apr 2013 21:08:01 +0000 (23:08 +0200)]
Implement fast lookup for constructor calls to the global object

Change-Id: I8a03089032aabdd7cf07c3dd197f6f47dabd66ab
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRemove unused method
Lars Knoll [Sun, 14 Apr 2013 20:52:25 +0000 (22:52 +0200)]
Remove unused method

Change-Id: I6961116e0b973d46e497d96d97203cb6046a06bb
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoSmall fix for qmljs_delete_subscript
Lars Knoll [Sun, 14 Apr 2013 20:52:00 +0000 (22:52 +0200)]
Small fix for qmljs_delete_subscript

Change-Id: I19f5ae0bb0a138756bb3396ebda6300eb8958b16
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRemove the context pointer from unary operations
Lars Knoll [Sun, 14 Apr 2013 20:45:22 +0000 (22:45 +0200)]
Remove the context pointer from unary operations

Change-Id: Idaf67f719402666e11676983d6bc99952f48a72d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoGet rid of qmljs_get_this_object
Lars Knoll [Sun, 14 Apr 2013 20:37:54 +0000 (22:37 +0200)]
Get rid of qmljs_get_this_object

This is trivial to inline.

Change-Id: Idccfc3c39d19e85768ec1be4b3b62b67abf00325
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRemove the ExecutionContext parameter from some methods
Lars Knoll [Sun, 14 Apr 2013 20:01:20 +0000 (22:01 +0200)]
Remove the ExecutionContext parameter from some methods

We can avoid passing the context into many methods now.

Change-Id: I3cfedd679441117c5ea3aa735d5342788d7dfac5
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agouse lookups for the global scope
Lars Knoll [Sun, 14 Apr 2013 10:17:11 +0000 (12:17 +0200)]
use lookups for the global scope

Gives about 12% speed improvement for the V8 benchmark.
fact.2.js is almost twice as fast.

Change-Id: Icfa1a780b30e131b9531e12f4bd569516c404e86
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoIntroduce specialized lookup methods
Lars Knoll [Sat, 13 Apr 2013 18:58:21 +0000 (20:58 +0200)]
Introduce specialized lookup methods

Add specialized lookup methods for data properties.
Speeds up the v8 benchmark by ~10%

Change-Id: Ib61a59529b6eaba1ac5ad3020fd1ff52594b7ddf
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMove the lookup class into it's own file
Lars Knoll [Fri, 12 Apr 2013 15:26:44 +0000 (17:26 +0200)]
Move the lookup class into it's own file

Change-Id: Id57b23ebd6de4579f8e425bd2964b1249fb327c1
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoFix build of the rest of v4vm against WTF/JSC update
Simon Hausmann [Fri, 12 Apr 2013 13:51:47 +0000 (15:51 +0200)]
Fix build of the rest of v4vm against WTF/JSC update

* Add missing functions to our WTF stubs
* Some of the math functions wrapped with MathExtras.h are back in the std:: namespace
  they belong to

Change-Id: I9da43e8344ab8c95edc8db19f44ccdbd91b4ac70
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoApply modifications on top of WTF/JSC
Simon Hausmann [Fri, 12 Apr 2013 13:49:31 +0000 (15:49 +0200)]
Apply modifications on top of WTF/JSC

* Extend FunctionPtr by another overloaded constructor that allows passing 6 arguments
* Work around STL <> WTF incompatibilities with iterators
* Remove unused printInternal functions that rely on CString/WTFString

Change-Id: Ie0cc503288871cb594716e47e03dd509b1b5ac85
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoWTF/JSC update to r148273
Simon Hausmann [Fri, 12 Apr 2013 10:58:29 +0000 (12:58 +0200)]
WTF/JSC update to r148273

This brings in various bug fixes in the ARM and MIPS assemblers as well as
a Yarr crash fix and performance fix.

This change doesn't compile as-is, but the next change will
apply the modifications necessary to compile. That'll make future updates
easier as it allows for cherry-picking because the modifications are usually
always the same.

Change-Id: Iac32f62c71e8ff908deb41f28f12fbc98c0823e1
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoSmaller cleanup in the lookup code
Lars Knoll [Fri, 12 Apr 2013 13:29:05 +0000 (15:29 +0200)]
Smaller cleanup in the lookup code

Change-Id: I74835d7c088b803205aa417ec2b7a2808f66f6ca
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRename file to reflect class name change
Lars Knoll [Fri, 12 Apr 2013 13:26:48 +0000 (15:26 +0200)]
Rename file to reflect class name change

Change-Id: Ib6d32ac61f54f2fb4325f67c54aeb01b99624ab9
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRemove getValueChecked()
Lars Knoll [Fri, 12 Apr 2013 13:03:16 +0000 (15:03 +0200)]
Remove getValueChecked()

In the two places where we need to check, we can do it
more easily on the calling side.

Change-Id: I259d3cc798660121bba13208ef46e371e3173053
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRemove context arguments where they aren't required
Lars Knoll [Fri, 12 Apr 2013 12:43:58 +0000 (14:43 +0200)]
Remove context arguments where they aren't required

A bunch of methods took pointers to the current execution
context even though they don't require it.

Change-Id: I2a504a72069af16bb8bdbb62be438ee1cab723b0
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoSimplify logic for put and putIndexed
Lars Knoll [Fri, 12 Apr 2013 12:36:41 +0000 (14:36 +0200)]
Simplify logic for put and putIndexed

Change-Id: Ia67dc06f505fdb064a22920a9786708aa6d83e6e
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMove property attributes out of the property arrays
Lars Knoll [Wed, 10 Apr 2013 08:46:23 +0000 (10:46 +0200)]
Move property attributes out of the property arrays

Rather large change that fully separates the property
attributes from the property data. This saves quite some
memory. Since the property data for members is saves
in the class structure it'll also allow optimizations
to the lookup code.

Change-Id: I9ba1d372bb756695bef8188d1b86275562a1b219
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoSmall fix to PropertyAttributes
Lars Knoll [Tue, 9 Apr 2013 13:33:26 +0000 (15:33 +0200)]
Small fix to PropertyAttributes

Change-Id: I9fc8b291c434dc6552eba2a39623a4fe75291e0f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMove functionality from PropertyDescriptor to Property
Lars Knoll [Tue, 9 Apr 2013 12:28:20 +0000 (14:28 +0200)]
Move functionality from PropertyDescriptor to Property

Change-Id: I37177b5287ec323f54826cce1cb307ee7f678930
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoUse PropertyAttributes in PropertyDescriptor
Lars Knoll [Tue, 9 Apr 2013 11:37:31 +0000 (13:37 +0200)]
Use PropertyAttributes in PropertyDescriptor

This further encapsulates the property attribute handling,
and will allow to separate the attributes from the
proprety data.

Change-Id: I140a6c9349cd1e871cd9fdcef51abac7ae78e517
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMake the PropertyAttributes a proper class
Lars Knoll [Tue, 9 Apr 2013 07:48:21 +0000 (09:48 +0200)]
Make the PropertyAttributes a proper class

Change-Id: Ia81236136aedcddaad303187b353cfcf03d792c6
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoChange internal class when attributes of properties change
Lars Knoll [Mon, 8 Apr 2013 13:38:30 +0000 (15:38 +0200)]
Change internal class when attributes of properties change

This should allow us to share property attributes for different
class instances saving quite some memory. In addition, it
can be used to speed up property access (as we then know in the
lookup whether it's a data or accessor property).

Change-Id: Ide9c6168a07b5c83a1e73d075d8fc4f6594e08fd
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMerge remote-tracking branch 'origin/stable' into dev
Frederik Gladhorn [Wed, 10 Apr 2013 08:00:34 +0000 (10:00 +0200)]
Merge remote-tracking branch 'origin/stable' into dev

Change-Id: I958754b1f51ecdaf465faa7700d4e57f2df926fc

11 years agoAdded more tests for activeFocusOnTab
Liang Qi [Tue, 9 Apr 2013 10:09:24 +0000 (12:09 +0200)]
Added more tests for activeFocusOnTab

The ignored key events will go to parent.

Change-Id: I5e002ee9df44d1c7865c1c50a1631e8e206c68af
Reviewed-by: Alan Alpert (Personal) <416365416c@gmail.com>
11 years agoFix new warnings in qtdeclarative (found by GCC 4.8)
Thiago Macieira [Sat, 6 Apr 2013 18:35:00 +0000 (11:35 -0700)]
Fix new warnings in qtdeclarative (found by GCC 4.8)

qqmlproperty.cpp:1561:35: warning: typedef ‘VMEMO’ locally defined but not used [-Wunused-local-typedefs]
qquickglobal.cpp:1017:13: warning: ‘initialized’ defined but not used [-Wunused-variable]
qquicktextnode.cpp:245:6: warning: unused parameter ‘position’ [-Wunused-parameter]

Change-Id: I48c5486953278dc960249f68e0e122d108f56e07
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoVersion new property and signal
Liang Qi [Fri, 5 Apr 2013 13:39:59 +0000 (15:39 +0200)]
Version new property and signal

activeFocusOnTab and activeFocusOnTabChanged in QQuickItem.

Task-number: QTBUG-30446
Change-Id: I973df95d690b8e533b5cc108d8e083a2fed8528a
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoSimplify internal class logic
Lars Knoll [Mon, 8 Apr 2013 11:53:26 +0000 (13:53 +0200)]
Simplify internal class logic

getOrAddMember was always used for adding. Make that
explicit.

Change-Id: Iff202a83e857aefd231eadf59f310619c4338b52
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoAvoid defining name twice in some error objects
Lars Knoll [Mon, 8 Apr 2013 11:42:27 +0000 (13:42 +0200)]
Avoid defining name twice in some error objects

Change-Id: I2e96718556ef5a4262816233351b71dd6a80cb9d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoStore the global object as an Object pointer in the engine
Lars Knoll [Mon, 8 Apr 2013 07:08:02 +0000 (09:08 +0200)]
Store the global object as an Object pointer in the engine

Change-Id: Ia8b010a9d9c9dd3aacb1b08ce34a42236fa73195
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoAdd change log file for Qt 5.1.0
Sergio Ahumada [Mon, 8 Apr 2013 09:21:25 +0000 (11:21 +0200)]
Add change log file for Qt 5.1.0

Change-Id: I9bd3fe3cb3897c18b08a3f9d4792f69a29d9d5f9
Reviewed-by: Shawn Rutledge <shawn.rutledge@digia.com>
11 years agoChange the Context stack back to a singly linked list
Lars Knoll [Sun, 7 Apr 2013 15:23:36 +0000 (17:23 +0200)]
Change the Context stack back to a singly linked list

The other implementation was too complicated, and only solved
one special case (indirect eval calls), but that one can be
solved by simply creating a GlobalContext when needed.

In addition it'll make it simpler to implement context
optimisations for simple methods in the future.

Speeds up the V8 benchmark by 3%

Change-Id: I61ac7753821e0174476094f51a9a4e934563f8e0
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoConvert the remaining builtin methods to use the SimpleCallContext
Lars Knoll [Fri, 5 Apr 2013 19:38:09 +0000 (21:38 +0200)]
Convert the remaining builtin methods to use the SimpleCallContext

Change-Id: Ib01bd0c15578b93829abd6fcf8df22cac12daf14
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoIntroduce a SimpleCallContext for simple functions
Lars Knoll [Fri, 5 Apr 2013 19:15:58 +0000 (21:15 +0200)]
Introduce a SimpleCallContext for simple functions

Use it for most builtin methods. Gives ~10% speed
improvement on the V8 benchmark.

Change-Id: I0039f102e561c0adbe1a9b070150ad32142a33e8
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoQmlDebugging: Remove 'insignificant_test'
Aurindam Jana [Tue, 19 Mar 2013 12:41:34 +0000 (13:41 +0100)]
QmlDebugging: Remove 'insignificant_test'

The test cases used to depend on a specific port being free for
client-server communication. Since, the test cases now use a port
range, they should be more stable now. The timeout has also been
increased from 5s to 10s to ensure that the application output
is read.

Task-number: QTBUG-28263

Change-Id: I7f0670713b8a901e4da3c3d62bbb9fc18e38bd25
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
11 years agoFixed distance field text when using non-opaque colors.
Yoann Lopes [Thu, 21 Mar 2013 15:34:38 +0000 (16:34 +0100)]
Fixed distance field text when using non-opaque colors.

The alpha has to be premultiplied before passing the color to the
shader.

Change-Id: If22f0e0892eb4330d5f7398bea2710fce18c4dcb
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
11 years agoTestLib: Add more mouseMove in mouseDrag implementation
Caroline Chao [Tue, 2 Apr 2013 16:24:46 +0000 (18:24 +0200)]
TestLib: Add more mouseMove in mouseDrag implementation

So the cursor has intermediate states while dragging instead of
jumping to the final position.

This is for example useful for testing the behavior of a control
during the drag.

Add autotest.

Change-Id: I061dd18ef7ac389aa4da4a5b60f9e128ee8c08d0
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoUse correct alpha range for the distance field outlined text.
Yoann Lopes [Thu, 21 Mar 2013 17:22:09 +0000 (18:22 +0100)]
Use correct alpha range for the distance field outlined text.

The alpha treshold values used in the outline shader were hard-coded. It
should use the same logic as in the normal text shader, using the
ThresholdFunc and the AntialiasingSpreadFunc for calculating these
values.

Change-Id: I0e6f38644692cc7a8a4cee1e8e60622fe289d615
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
11 years agoFix scope for functions created through bind()
Lars Knoll [Fri, 5 Apr 2013 21:45:15 +0000 (23:45 +0200)]
Fix scope for functions created through bind()

Change-Id: I69718b2943259dc0f6d6bf2856e651bfb4fbe3a5
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMove arguments out of ExecutionContext and into CallContext
Lars Knoll [Fri, 5 Apr 2013 14:23:22 +0000 (16:23 +0200)]
Move arguments out of ExecutionContext and into CallContext

Change-Id: Ic826e3e71eac9171fa113dec79db7c69982f2386
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMove activation out of ExecutionContext
Lars Knoll [Fri, 5 Apr 2013 13:57:26 +0000 (15:57 +0200)]
Move activation out of ExecutionContext

Have an activation object (for now) in CallContext, and
a global object in the GlobalContext.

Change-Id: I02b1e6a2e976d914acfcc3d35cd8abda08dfd298
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMerge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging...
Frederik Gladhorn [Fri, 5 Apr 2013 14:01:51 +0000 (16:01 +0200)]
Merge "Merge remote-tracking branch 'origin/release' into stable" into refs/staging/stable

11 years agoDon't create new Objects in the current scope
Lars Knoll [Fri, 5 Apr 2013 12:51:13 +0000 (14:51 +0200)]
Don't create new Objects in the current scope

When creating new objects through the V8 API, use the
root context, not the current context.

Fixes some crashes in QML, after creating contexts on the
stack again.

Change-Id: I9e49fa39f6222dcfa747b7466f1555572dc24f94
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMove function pointer from ExecutionContext to CallContext
Lars Knoll [Fri, 5 Apr 2013 12:46:27 +0000 (14:46 +0200)]
Move function pointer from ExecutionContext to CallContext

Change-Id: Id992154d38e26ee95ccf6f175eeab360c63c0b04
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRemove unused methods
Lars Knoll [Fri, 5 Apr 2013 12:37:24 +0000 (14:37 +0200)]
Remove unused methods

Change-Id: I928b9c4816b421e3d79bd038c37e24d09129899d
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMove locals from ExecutionContext to CallContext
Lars Knoll [Fri, 5 Apr 2013 12:16:56 +0000 (14:16 +0200)]
Move locals from ExecutionContext to CallContext

Change-Id: I3f6751fc7e0450a74339f1131b10b56a2ebe6a50
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoSplit out the Context for With/Catch into their own classes
Lars Knoll [Fri, 5 Apr 2013 11:27:38 +0000 (13:27 +0200)]
Split out the Context for With/Catch into their own classes

Change-Id: I8e7d2fe649eb2c8119f9a787d54b8e92c0e9684f
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoIntroduce different context types
Lars Knoll [Fri, 5 Apr 2013 09:52:08 +0000 (11:52 +0200)]
Introduce different context types

These will be used to split up the context
into more specialized subclasses.

Change-Id: Ic346c1738ad6e9c4d78e2e6f51133c8ea781f59b
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoImplemented text styles for QSGDefaultGlyphNode.
Yoann Lopes [Tue, 12 Mar 2013 17:43:21 +0000 (18:43 +0100)]
Implemented text styles for QSGDefaultGlyphNode.

Used when Text has renderType: Text.NativeRendering.

Task-number: QTBUG-27867
Change-Id: Id1262ef49e26229c86ebd2533b9f6de638bc75cb
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
11 years agoMake keyClick/Press/Release work with a char
Albert Astals Cid [Wed, 3 Apr 2013 09:07:18 +0000 (11:07 +0200)]
Make keyClick/Press/Release work with a char

Change-Id: Id821bddd993d4da4458464713a69edfea4aaecaa
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@digia.com>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoAndroid: Support implicit import paths for assets:/ urls
Eskil Abrahamsen Blomfeldt [Thu, 4 Apr 2013 14:17:35 +0000 (16:17 +0200)]
Android: Support implicit import paths for assets:/ urls

The assets: scheme is not handled by QNetworkAccessManager, so it needs
to be special cased along side the qrc: scheme. We make QML recognize
it as a synchronously loaded, local file, and we make the type loader
get the correct path and check existence of the directory correctly.
This makes it possible to implicitly import the containing directory
of QML files that are bundled in the assets directory.

Task-number: QTBUG-30510

Change-Id: I048292757e509066a4af342081ec8428e2bd8af3
Reviewed-by: Paul Olav Tvete <paul.tvete@digia.com>
11 years agoClean up the property lookup code
Lars Knoll [Thu, 4 Apr 2013 13:05:24 +0000 (15:05 +0200)]
Clean up the property lookup code

Also look a bit deeper into the proto chain. This speeds up
the deltablue benchmark by 10%

Change-Id: Id3f5de58f336d7ca74c7c32e6c30564410baf1e4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoRemove unused declaration of accessibility text functions.
Frederik Gladhorn [Thu, 4 Apr 2013 12:33:04 +0000 (14:33 +0200)]
Remove unused declaration of accessibility text functions.

Change-Id: I5cf9849f5c1ea39954050292d29db9cb1bd78c0c
Reviewed-by: Jan Arve Sæther <jan-arve.saether@digia.com>
11 years agoTestLib: add mouse release at the end of a mouseDrag
Caroline Chao [Wed, 27 Mar 2013 12:13:30 +0000 (13:13 +0100)]
TestLib: add mouse release at the end of a mouseDrag

Change-Id: I901f23a2bc7089784ed644a53a3712669b21f417
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoFix autotest-exported class from QtQuick.
Thiago Macieira [Tue, 2 Apr 2013 05:45:28 +0000 (22:45 -0700)]
Fix autotest-exported class from QtQuick.

Each class with a virtual table should have at least one non-inline
member. Especially if it's exported (there's no point in exporting it
otherwise).

Change-Id: I6b2821faa9662c6e8b65ce9ced53332e1a18e8d9
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoRemove the APPLE_texture_format path
Gunnar Sletta [Mon, 18 Mar 2013 12:22:54 +0000 (13:22 +0100)]
Remove the APPLE_texture_format path

It is untested and is causing problems elsewhere.

Change-Id: I412f820d14c1632e3d1000b627231d8f78e792b5
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
11 years agoRemove resize hook from QSGRenderLoop, exposureChanged is enough.
Gunnar Sletta [Thu, 21 Feb 2013 10:16:58 +0000 (11:16 +0100)]
Remove resize hook from QSGRenderLoop, exposureChanged is enough.

After much back and forth, I think we have settled on the right approach
in QtGui, which is that resizeEvent is pretty much useless as the
action happens on the following exposeEvent().

Change-Id: I5e87bda89853907d041f56acf9a2895e540c41f0
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
11 years agoOur debug env vars are a mess. Standardize on QSG_RENDER_TIMING
Gunnar Sletta [Thu, 4 Apr 2013 07:39:03 +0000 (09:39 +0200)]
Our debug env vars are a mess. Standardize on QSG_RENDER_TIMING

Change-Id: I4e88b479a8a9a5126312a05800e8170511b1f7ac
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
11 years agoCorrect image provider example path in documentation
Shawn Rutledge [Thu, 14 Mar 2013 12:24:54 +0000 (13:24 +0100)]
Correct image provider example path in documentation

The link didn't work.

Change-Id: Ic517fac376b32637da4422a5217130304c37f947
Reviewed-by: Martin Smith <martin.smith@digia.com>
11 years agoQQuickTextEdit: render inline images after change 48798
Pierre Rossi [Thu, 21 Mar 2013 12:15:01 +0000 (13:15 +0100)]
QQuickTextEdit: render inline images after change 48798

The refactoring in QQuickTextEdit from this change:
https://codereview.qt-project.org/#change,48798
accidentally broke rendering of inline images.
Revive the ProtectedLayoutAccessor trick to get the proper
format and properly extract the image from it.

Change-Id: I445914efcea1012daa79d594aa1e828b1039b988
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
11 years agoCreate some execution contexts on the stack again
Lars Knoll [Wed, 3 Apr 2013 18:24:38 +0000 (20:24 +0200)]
Create some execution contexts on the stack again

This seems to be working now, and speeds up our benchmarks
with another 20%.

Change-Id: Ib01bf8f66db91b0e06090eff705db79b0caf66ee
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMark tst_dialogs insignificant to stop geting CI failures
Shawn Rutledge [Thu, 4 Apr 2013 13:02:58 +0000 (15:02 +0200)]
Mark tst_dialogs insignificant to stop geting CI failures

Task-number: QTBUG-30513
Change-Id: I625ff99e2e2e31b58fd219cf9736f262098d2664
Reviewed-by: David Faure (KDE) <faure@kde.org>
11 years agoRemove stray backslash
Simon Hausmann [Wed, 3 Apr 2013 18:35:33 +0000 (20:35 +0200)]
Remove stray backslash

Not needed :)

Change-Id: If22d077a05ffa21f393569f93fcb9f599008af82
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoDon't include internal headers in qv4v8.h
Lars Knoll [Wed, 3 Apr 2013 14:47:42 +0000 (16:47 +0200)]
Don't include internal headers in qv4v8.h

Change-Id: I2b43d8c356a8b433836c1e3f6a99675e69b670fa
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoSpeed up Context creation and handling
Lars Knoll [Wed, 3 Apr 2013 13:59:17 +0000 (15:59 +0200)]
Speed up Context creation and handling

Creating context and locals in two mallocs wasn't very good
for performance. This allocates them in one go again, while
still managing them through the garbage collector.

This brings performance up by around 20%.

Change-Id: I9b31d669e1a502c90a117bacf5fee5d23e9821b4
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoMerge remote-tracking branch 'origin/release' into stable
Frederik Gladhorn [Wed, 3 Apr 2013 14:16:08 +0000 (16:16 +0200)]
Merge remote-tracking branch 'origin/release' into stable

Conflicts:
examples/qml/xmlhttprequest/doc/src/xmlhttprequest.qdoc
examples/quick/accessibility/doc/src/accessibility.qdoc
examples/quick/animation/doc/src/animation.qdoc
examples/quick/canvas/doc/src/canvas.qdoc
examples/quick/draganddrop/doc/src/draganddrop.qdoc
examples/quick/imageelements/doc/src/imageelements.qdoc
examples/quick/keyinteraction/doc/src/keyinteraction.qdoc
examples/quick/localstorage/doc/src/localstorage.qdoc
examples/quick/mousearea/doc/src/mousearea.qdoc
examples/quick/particles/affectors/doc/src/affectors.qdoc
examples/quick/particles/customparticle/doc/src/customparticle.qdoc
examples/quick/particles/emitters/doc/src/emitters.qdoc
examples/quick/particles/imageparticle/doc/src/imageparticle.qdoc
examples/quick/particles/system/doc/src/system.qdoc
examples/quick/positioners/doc/src/positioners.qdoc
examples/quick/righttoleft/doc/src/righttoleft.qdoc
examples/quick/scenegraph/customgeometry/doc/src/customgeometry.qdoc
examples/quick/scenegraph/openglunderqml/doc/src/openglunderqml.qdoc
examples/quick/scenegraph/simplematerial/doc/src/simplematerial.qdoc
examples/quick/threading/doc/src/threading.qdoc
examples/quick/touchinteraction/doc/src/touchinteraction.qdoc
examples/quick/views/doc/src/views.qdoc

Change-Id: Idf7bb76c82acacf86b19a9f4633c3cbf4ae1a9a0

11 years agoMerge remote-tracking branch 'origin/stable' into dev
Frederik Gladhorn [Wed, 3 Apr 2013 12:53:29 +0000 (14:53 +0200)]
Merge remote-tracking branch 'origin/stable' into dev

Change-Id: Ieb4590cfd49bd002f0ae0b4799e39b5a402900fd

11 years agoFix export macros for the QML parser export.
Thiago Macieira [Tue, 2 Apr 2013 05:44:32 +0000 (22:44 -0700)]
Fix export macros for the QML parser export.

These classes are in the QtQml library. They shouldn't be defined to
export (even if it's autotest export) when compiling other libraries,
notably QtQuick.

Change-Id: Id76d2b2f2c60355240edabb7875db3e97fb0da17
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoStabilize Code
Alan Alpert [Mon, 1 Apr 2013 18:14:48 +0000 (11:14 -0700)]
Stabilize Code

Apparently it is no longer necessary to rely on undefined compiler
behavior.

Change-Id: I8e93dc0de663713c714d7894f4c66acb0aec30b4
Reviewed-by: Matthew Vogt <matthew.vogt@qinetic.com.au>
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
11 years agoVersion new signals
Alan Alpert [Fri, 29 Mar 2013 22:14:50 +0000 (15:14 -0700)]
Version new signals

New signals added as a workaround need to be versioned as new. However,
because they're used just to override the property's signals and are
forwarded to the old signal you can still use the old signal names from
QML. Consequently, this revision shouldn't need to be exposed to QML.

Change-Id: I80407852f0a5063866c5f4334cfd0285f00d5578
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Caroline Chao <caroline.chao@digia.com>
11 years agoProvide workaround to slow glyph cache updates.
Michael Brasser [Tue, 26 Mar 2013 14:15:10 +0000 (09:15 -0500)]
Provide workaround to slow glyph cache updates.

The environmental variable QML_USE_GLYPHCACHE_WORKAROUND can be
specified to use the workaround path, which performs better on some
hardware.

Task-number: QTBUG-29264
Change-Id: I16d35ceabc12c990e4f791693ec4694f4e7f55f7
Reviewed-by: Samuel Rødal <samuel.rodal@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
11 years agoUse distance fields for text on retina displays
Gunnar Sletta [Wed, 20 Mar 2013 14:41:44 +0000 (15:41 +0100)]
Use distance fields for text on retina displays

Change-Id: I6d3f3e7e4813155f2abb3edc51b145fb709c485b
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
11 years agoDefine MODULE_VERSION so it builds against latest qtbase
Lars Knoll [Tue, 2 Apr 2013 13:28:04 +0000 (15:28 +0200)]
Define MODULE_VERSION so it builds against latest qtbase

Change-Id: I55404dc70b1de8c9cf5a6aade503e64ec7fe5c84
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoSome further fixes to the v8 API
Lars Knoll [Thu, 21 Mar 2013 20:32:23 +0000 (21:32 +0100)]
Some further fixes to the v8 API

Better implementation of user comparisons, and fix a bug in
GetPropertyNames.

Change-Id: I2afa87239e4e269707d1809712b0beefed162d0e
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoImplement v8::StackFrame and v8::StackTrace
Lars Knoll [Thu, 21 Mar 2013 14:16:07 +0000 (15:16 +0100)]
Implement v8::StackFrame and v8::StackTrace

Change-Id: Ib0f210f1d30a0681c3d741544206bbe0d9d26f95
Reviewed-by: Simon Hausmann <simon.hausmann@digia.com>
11 years agoFix incorrect merge in textureprovider example.
Michael Brasser [Tue, 26 Mar 2013 19:53:38 +0000 (14:53 -0500)]
Fix incorrect merge in textureprovider example.

Change-Id: I5a76ab1ef77c43aecd2a03cc7d614a198290f427
Reviewed-by: Christian Stenger <christian.stenger@digia.com>
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
11 years agoQmlProfiling: Test case uses port range
Aurindam Jana [Tue, 19 Mar 2013 12:38:57 +0000 (13:38 +0100)]
QmlProfiling: Test case uses port range

Change-Id: I45fcb8b7d496d480ad7fa72064b13c00a4bd6fa6
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
11 years agoDebugger: Accepts port range as arguments
Aurindam Jana [Mon, 18 Mar 2013 16:17:52 +0000 (17:17 +0100)]
Debugger: Accepts port range as arguments

Allow a port range to pass on command line, and try to listen on any of the
ports in the range. (Re)using the ',' separator allows for backwards compatibility,
that is, also Qt 4 will accept a -qmljsdebugger=port:1000,1010 argument, but
will only try to listen on port 1000.

Change-Id: Ic03fe20e4aee9ecdea86651f46f1df5cb19bd75c
Reviewed-by: Kai Koehne <kai.koehne@digia.com>
11 years agoUpdate EtcProvider example to support configurable base url.
Michael Brasser [Wed, 27 Mar 2013 01:29:10 +0000 (20:29 -0500)]
Update EtcProvider example to support configurable base url.

Change-Id: Idb047bc7bf2c9f1c62c4749cb416bdf267e66e17
Reviewed-by: Gunnar Sletta <gunnar.sletta@digia.com>
11 years agoFix distance field antialiasing for retina displays.
Gunnar Sletta [Wed, 20 Mar 2013 14:40:49 +0000 (15:40 +0100)]
Fix distance field antialiasing for retina displays.

Change-Id: I01d7d41a4e70822555bae453978dbe92fbb5c98d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
Reviewed-by: Yoann Lopes <yoann.lopes@digia.com>
11 years agoShow fullscreen button in qmlscene on Mac
Gunnar Sletta [Thu, 21 Mar 2013 08:56:37 +0000 (09:56 +0100)]
Show fullscreen button in qmlscene on Mac

Change-Id: I3202e8e7461f457eeb73a82b7a8da40a11e4f76d
Reviewed-by: Morten Johan Sørvig <morten.sorvig@digia.com>
11 years agoSpeed up regexp creation through caching
Simon Hausmann [Sat, 30 Mar 2013 16:43:03 +0000 (17:43 +0100)]
Speed up regexp creation through caching

RegExp objects (the backend to the JS visible RegExpObject) are garbage
collected. Now we also keep (weak) references to all live instances in a
QHash<Key, RegExp*> (where key is essentially the pattern), which allows for
quick re-use. Once a regexp gets garbage collected, it also disappears from the
"cache".

Speeds up v8-bench's RegExp test by ~1%.

Change-Id: Ibeb2fa1b234a95b884594817bf5c0468fd54e839
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoChanged RegExp to be garbage collected instead of reference counted
Simon Hausmann [Sat, 30 Mar 2013 16:05:32 +0000 (17:05 +0100)]
Changed RegExp to be garbage collected instead of reference counted

This makes a cache implementation much easier in the future.

Change-Id: I35ec5c416dc7455ea51dc58f889e2a4ee74d0ee8
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoFix license headers
Simon Hausmann [Fri, 29 Mar 2013 03:00:03 +0000 (04:00 +0100)]
Fix license headers

These files are not part of Qt Creator. Use the regular Qt module
template.

Change-Id: Ifde77e7d365c313b3284bf0a65383fa4bd10b4be
Reviewed-by: Laszlo Papp <lpapp@kde.org>
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoFix memory allocation of executable code
Simon Hausmann [Mon, 25 Mar 2013 16:31:38 +0000 (17:31 +0100)]
Fix memory allocation of executable code

Previously we allocated at least one page for each compiled function, even if
it required less bytes (common). That causes excessive memory usages for large
scripts or long running scripts with frequent eval usage.

This patch introduces a simple allocator that allocates also on page
granularity from the system but allocates the remaining space in the pages in
sub-sequent calls. It is optimized to scale with the number of requests and
also return pages to the system as soon as possible.

Change-Id: I0751a8094afe97e94b5f44c6a691a679ecdb1df0
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
11 years agoDoc: Fix some titles and links
Sze Howe Koh [Thu, 28 Mar 2013 12:39:13 +0000 (20:39 +0800)]
Doc: Fix some titles and links

Make page titles follow the conventions at
http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation.

Make class/type list titles follow the "<Qt Module> C++ Classes" and
"<Qt Module> QML Types" formats.

Links are updated accordingly, along with broken links found during this
sweep. Some inline links also have their surrounding text modified, to
improve flow.

Change-Id: I0ed7788caa250085d7ea0080a77d8a2655debf39
Reviewed-by: Alan Alpert <aalpert@blackberry.com>