summaryrefslogtreecommitdiffstats
path: root/src/declarative/graphicsitems/qdeclarativegridview.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Converting accidental use of doubles to qreal in declarativemread2011-10-051-3/+3
| | | | | | | | | | | | | Declarative had a number of places where double operations were used instead of qreal, due to the use of double literals. These are now constructed as qreal literals so that qreal operations are used. This makes no difference where qreal is double. But on Symbian, qreal is float, and this give a performance boost for floating point intensive code. Task-number: QTBUG-4894 Reviewed-by: Martin Jones
* Merge remote branch 'origin/4.8' into 4.8-from-4.7Rohan McGovern2011-09-141-2/+5
|\ | | | | | | | | | | Conflicts: src/gui/text/qtextengine_p.h src/network/ssl/qsslsocket_openssl.cpp
| * Merge branch 4.7 into qt-4.8-from-4.7Sergio Ahumada2011-08-311-1/+1
| |\ | | | | | | | | | | | | Conflicts: doc/src/index.qdoc
| * \ Merge branch 4.7 into qt-4.8-from-4.7Sergio Ahumada2011-08-261-1/+1
| |\ \ | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/index.qdoc src/xmlpatterns/expr/qevaluationcache_p.h
| * \ \ Merge remote branch 'upstream/4.8'Jerome Pasion2011-07-081-31/+66
| |\ \ \ | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/external-resources.qdoc
| | * \ \ Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-qml-staging into ↵Qt Continuous Integration System2011-07-051-31/+66
| | |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-qml-staging: Flicking behaviour of ListView/GridView SnapOnItem is inconsistent Skip flick velocity test on Mac. Try again to fix flickable velocity on Mac. Try to fix Mac CI test failure qmlplugindump: Fix dumping with -path on Mac. qmlplugindump: Improve error message for misbehaving plugin components. Flickable is too sensitive. Reduce timing dependancy in flickable test Velocities reported by Flickable in onFlickStarted can be 0 qmldump: Fix export comparison. QmlInspector: Some code cleanups QmlInspector: Some cleanup in the Color Picker tool QmlInspector: Unified mouse and keyboard event handling QmlInspector: Removed private header postfix and Qt namespace QmlInspector: Share code between QGV/SG based QML debugging qmlplugindump: For extended types, remove exports of the base object. qmlplugindump: Build debug version if possible. QDeclarativeDebug: Add code coverage information
| | | * | | Flicking behaviour of ListView/GridView SnapOnItem is inconsistentMartin Jones2011-07-041-31/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve the response of the views when SnapOneItem/Row is enabled. In this case it is best to be much more reactive to the user input since even a small movement in a particular direction indicates a change to the next/previous item. Change-Id: I6a8eb689c3b12cdc67f24106032e36bba82d2846 Task-number: QTBUG-19874 Reviewed-by: Bea Lam
| * | | | | Doc: Standardized on QtQuick for \since declarations.David Boddie2011-07-011-1/+1
| |/ / / / | | | | | | | | | | | | | | | (cherry picked from commit 609dc22f719ecb8d48349fd56f84960bbf46d731)
| * | | | Merge branch '4.8' of scm.dev.nokia.troll.no:qt/qtDavid Boddie2011-06-171-17/+9
| |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/declarative/righttoleft.qdoc examples/draganddrop/fridgemagnets/main.cpp examples/script/context2d/main.cpp
| | * \ \ \ Merge branch 'master' of scm.dev.nokia.troll.no:qt/qt-qml-staging into ↵Qt Continuous Integration System2011-06-091-1/+3
| | |\ \ \ \ | | | |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | master-integration * 'master' of scm.dev.nokia.troll.no:qt/qt-qml-staging: QDeclarativeDebug: Don't hang if started with ',block' argument QDeclarativeDebug: Fix QJSDebugService if launched with ',block' Fix docs on caching for images loaded by image providers Fixed compile of tst_qscriptextensionplugin on some Windows configurations QDeclarative: fixed clean animation lists DeclarativeObserver: Don't fade in the highlight edge Renamed declarativeobserver plugin to qmldbg_inspector QmlDebugger: adding slots to items in Live Preview QmlDebugger: parsing packets iteratively in the communication protocol qmlplugindump: Bump QtQuick.tooling version to 1.1. qmlplugindump: Dump revision property. qmlplugindump: Fix --path usage with drive letters on Windows. ListView segmentation fault when setting highlight to null DeclarativeObserver: Fixed duplicates in item selection
| | | * | | ListView segmentation fault when setting highlight to nullMartin Jones2011-05-301-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Setting view highlight to null due to focus change caused a crash since graphicsview accessed the highlight item after it had been deleted. Remove highlight item from scene and deleteLater(), as is done for delegates. Change-Id: I5bfd59095aca90d3adca805bc4f61c92c192ee1b Task-number: QTBUG-19509 Reviewed-by: Bea Lam
| | * | | | Merge remote-tracking branch 'origin/4.7' into qt-4.8-from-4.7Olivier Goffart2011-05-311-16/+6
| | |\ \ \ \ | | | |/ / / | | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/text/qtextengine.cpp src/gui/text/qtextengine_p.h src/gui/text/qtextlayout.cpp src/plugins/phonon/mmf/mmf.pro src/plugins/s60/5_0/5_0.pro tests/auto/qtextlayout/tst_qtextlayout.cpp
| * | | | | Merge branch '4.8' of scm.dev.nokia.troll.no:qt/qtDavid Boddie2011-05-241-17/+20
| |\ \ \ \ \ | | |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/text/qrawfont.cpp src/gui/text/qtextlayout.cpp src/gui/util/qscroller.cpp src/gui/widgets/qlineedit.cpp
| | * | | | Merge remote-tracking branch 'qt/4.8'Jyri Tahtela2011-05-181-0/+3
| | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/examples/wheel.qdoc src/gui/util/qflickgesture.cpp src/gui/util/qflickgesture_p.h src/gui/util/qscroller.cpp src/gui/util/qscroller.h src/gui/util/qscroller_p.h src/gui/util/qscrollerproperties.cpp src/gui/util/qscrollerproperties.h tests/auto/qscroller/tst_qscroller.cpp
| | | * \ \ \ Merge remote-tracking branch 'origin/4.7' into qt-4.8-from-4.7Olivier Goffart2011-05-061-0/+3
| | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/painting/qpainterpath.cpp src/gui/text/qfontengine_ft.cpp src/s60installs/eabi/QtGuiu.def
| | * | | | | | Update licenseheader text in source files for qt4.8Jyri Tahtela2011-05-131-17/+17
| | |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
| * | | | | | Doc: Fixed qdoc warnings.David Boddie2011-05-111-1/+1
| |/ / / / /
| * | | | | Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-04-181-1/+21
| |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: qmake/generators/makefile.cpp qmake/generators/win32/msbuild_objectmodel.cpp qmake/generators/win32/msvc_vcxproj.cpp src/corelib/global/qnamespace.h src/gui/text/qtextcontrol.cpp
| * \ \ \ \ \ Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-04-071-1/+2
| |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gui/text/qfontengine_mac.mm tests/auto/qdiriterator/tst_qdiriterator.cpp
| * \ \ \ \ \ \ Merge remote-tracking branch 'origin/4.7' into qt-master-from-4.7Olivier Goffart2011-03-311-3/+3
| |\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: doc/src/declarative/example-slideswitch.qdoc doc/src/development/qmake-manual.qdoc doc/src/snippets/code/doc_src_qmake-manual.pro doc/src/snippets/code/doc_src_qtscript.qdoc src/corelib/animation/qabstractanimation.cpp src/s60installs/bwins/QtOpenGLu.def src/s60installs/eabi/QtOpenGLu.def src/s60installs/eabi/QtOpenVGu.def tests/auto/qdir/qdir.pro tests/auto/qsslsocket/tst_qsslsocket.cpp tools/qdoc3/doc/qdoc-manual.qdocconf
| * | | | | | | | Fix warning about maybe-uninitialised use of variableThiago Macieira2011-03-221-0/+1
| | | | | | | | |
* | | | | | | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2011-09-121-2/+4
|\ \ \ \ \ \ \ \ \ | |_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: StrictlyEnforceRange with snapOneItem/Row and header behavior change
| * | | | | | | | StrictlyEnforceRange with snapOneItem/Row and header behavior changeMartin Jones2011-09-121-2/+4
| | |_|_|_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change cf23188de237009136fa1480ab8fd9e3ca364769 changed the positioning of a view with StrictlyEnforceRange, snapOneItem/Row, and a header, such that the view was positioned at the beginning of the header, rather than on the first item. This change reverts back to the old behavior (position on the first item). Change-Id: I62ad183919bb2ed83d787d1d76421caf9e708599 Task-number: QTTH-1501 Reviewed-by: Michael Brasser
* | | | | | | | Doc: Standardized on QtQuick for \since declarations.David Boddie2011-08-301-1/+1
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (cherry picked from commit 609dc22f719ecb8d48349fd56f84960bbf46d731) Reapplied after bad v4.7.4 merge
* | | | | | | Flicking behaviour of ListView/GridView SnapOnItem is inconsistentMartin Jones2011-07-081-31/+66
| |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve the response of the views when SnapOneItem/Row is enabled. In this case it is best to be much more reactive to the user input since even a small movement in a particular direction indicates a change to the next/previous item. Change-Id: I6a8eb689c3b12cdc67f24106032e36bba82d2846 Task-number: QTBUG-19874 Reviewed-by: Bea Lam (cherry picked from commit e7bebcf0c59368340df524db4a53ae2595d057d7)
* | | | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2011-05-271-16/+6
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: Remove unnecessary QtQuick 1.1 effectiveLayoutDirection, effectiveHorizontalAlignment and anchors.mirror properties
| * | | | | | Remove unnecessary QtQuick 1.1 effectiveLayoutDirection, ↵Joona Petrell2011-05-271-16/+6
| | |_|_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | effectiveHorizontalAlignment and anchors.mirror properties * these properties are seldomly used * they confuse developers that do not care about right-to-left user interfaces * LayoutMirroring.enabled property can be used instead to determine if mirroring is enabled * if needed, you can easily determine the effective layout directions and alignments with a little bit of JavaScript: function effectiveLayoutDirection() { if (LayoutMirroring.enabled) return (listView.layoutDirection == Qt.LeftToRight) ? Qt.RightToLeft : Qt.LeftToRight; else return listView.layoutDirection; } Task-number: QTBUG-11042 Reviewed-by: Martin Jones
* | | | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1 into ↵Qt Continuous Integration System2011-05-171-17/+17
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4.7-integration * '4.7' of scm.dev.nokia.troll.no:qt/oslo-staging-1: Updating file with CRLF line endings for the updated header Fix a regression in QList::mid() update gitignore remove -fno-stack-protector Fix make confclean Update licenseheader text in source files
| * | | | | Update licenseheader text in source filesJyri Tahtela2011-05-131-17/+17
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Updated version of LGPL and FDL licenseheaders. Apply release phase licenseheaders for all source files. Reviewed-by: Trust Me
* | | | | Views do not notify count changes properlyMartin Jones2011-05-051-0/+3
|/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The views don't have a valid count until both a model and a delegate are provided. But, countChanged() is not called when a delegate is set after the model, so bindings to count were not evaluated. Also test that count is updated for insertion/removal Change-Id: Ic82039a624c02f0bdb2862ac7a6e215df75bb314 Task-number: QTBUG-19037 Reviewed-by: Bea Lam
* | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2011-04-151-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: QmlDebug: Fix license headers in new ost plugin Fixed autotest after b4b85257ccff6ba21bcbcbd46a9f7f09884abe79 Resolve unqualified attached properties correctly Adding plugin qmltooling/qmlostplugin for QML debugging over OST (USB) on Symbian. QmlDebug: Rename 'tcpserver' library to 'qmldbg_tcp' QDeclarativeDebug: Don't crash when connection is closed Fix so concurrent jobs produce the correct model results Fix uninitialized variable.
| * | | | Fix uninitialized variable.Martin Jones2011-04-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: Ieebfc72cf9b31c9d2522487ed7cd860f060ef0be Task-number: QTBUG-15877
* | | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2011-04-141-0/+20
|\ \ \ \ \ | |/ / / / | | | | / | |_|_|/ |/| | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: Add pincharea.qmlproject file for PinchArea example. Moving contentY by large values in List/GridView is slow
| * | | Moving contentY by large values in List/GridView is slowMartin Jones2011-04-141-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We needed to create/destroy every delegate between the current position and the new position. Now we estimate element at the new position and just create the elements from that item. Change-Id: I9da1354cbadb4e44fafc1a0bee619d058d1e06a2 Task-number: QTBUG-14974 Reviewed-by: Bea Lam
* | | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2011-04-061-1/+2
|\ \ \ \ | |/ / / | | | / | |_|/ |/| | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: Improve Flickable dynamics and allow platform specific tweaking.
| * | Improve Flickable dynamics and allow platform specific tweaking.Martin Jones2011-04-061-1/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Flickable's previous overshoot behavior was to continue past the boundary without any additional friction (deceleration). It now decelerates faster when overshooting. On touch screens in particular, the last points when a touch point is released are unreliable, resulting in sporadic flick velocities. It also now allows the number of samples used for velocity calclations to be tuned. It is now easy to tune the Flickable behavior for different platforms. Change-Id: I24142a50be1fde2f8877e359e30b8efcdd1f7d5c Task-number: QTBUG-10894, QTBUG-16388, QTBUG-17830 Reviewed-by: Michael Brasser
* | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7-integrationQt Continuous Integration System2011-03-301-1/+1
|\ \ \ | |/ / | | | | | | | | | | | | * '4.7' of scm.dev.nokia.troll.no:qt/qt-qml: Return correct boundaries reasons from QTextBoundaryFinder. GridView jumps to beginning of list when resized
| * | GridView jumps to beginning of list when resizedMartin Jones2011-03-291-1/+1
| |/ | | | | | | | | | | | | | | | | Introduced by RTL changes. The list position should only be reset when the view is completely regenerated, e.g. when the orientation changes. Change-Id: I748333529c113d95eaebfb8ac9bb9cf543413d3b Task-number: QTBUG-18441 Reviewed-by: Bea Lam
* | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt into 4.7David Boddie2011-03-221-127/+458
|\ \ | |/ | | | | | | | | Conflicts: doc/src/declarative/declarativeui.qdoc doc/src/examples/qml-examples.qdoc
| * Regression: currentIndex was not set correctly after model cleared.Martin Jones2011-03-151-3/+3
| | | | | | | | | | | | | | | | | | | | Change b3080d78f2ff2d98410249e09d5d7d6e20fd155c stopped the currentIndex from being updated when a new item is added to an empty view. Change-Id: I77a0789fcf3693034a2d7aca173fec669b913b18 Task-number: QTBUG-18123 Reviewed-by: Bea Lam
| * Fix documentation talking about old property LayoutMirror::mirrorJoona Petrell2011-03-071-1/+1
| | | | | | | | | | | | | | Task-number: QTBUG-11042 Reviewed-by: Bea Lam Change-Id: I3f842b7672ee57dadbd1ed9216249c36aa527d6a
| * Merge branch '4.7' into qtquick11Martin Jones2011-03-011-14/+18
| |\ | | | | | | | | | | | | | | | | | | Conflicts: src/declarative/graphicsitems/qdeclarativelistview.cpp Change-Id: Ic21311365c6139520ae337a379bdedb6ffe497db
| * | Add LayoutMirroring attached property for mirroring QML layoutsJoona Petrell2011-03-011-19/+50
| | | | | | | | | | | | | | | | | | Task-number: QTBUG-17280 Reviewed-by: Martin Jones Change-Id: I34a623b49ce0fd5c05ae7a7ea5d0437c107b8a9b
| * | GridView and ListView bug fixesChristopher Ham2011-02-171-28/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ListView and GridView check before accessing an empty model. Fixed issue with undefined header. Current index initialised properly when dynamically creating ListModel items with javascript. Change-Id: I121c0626db6eb7ccaab689dfc750e0d03773d90f Task-number: QTBUG-15877 Reviewed-by: Joona Petrell
| * | Righ-to-left support for GridView and ListViewChristopher Ham2011-02-151-118/+417
| | | | | | | | | | | | | | | | | | | | | | | | | | | GridView and ListView can now be laid out right-to-left. The behaviour should be identical and mirrored to the oridinary behaviour. Change-Id: I8e55c5f88358042caa5201712ef239cd67628172 Task-number: QTBUG-15877 Reviewed-by: Joona Petrell
* | | Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt into 4.7David Boddie2011-03-091-8/+12
|\ \ \ | | |/ | |/| | | | | | | | | | Conflicts: doc/src/declarative/dynamicobjects.qdoc doc/src/declarative/elements.qdoc
| * | Drag over bounds errors when ListView has variable height contentMartin Jones2011-02-281-8/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There are two related problems: - when dragging variable height content up beyond bounds items are destroyed, causing the maximum extent to change, which in turn causes skipping. This is fixed by storing the extents on press so that later changes do not affect drag behavior. - when variable height content is dragged beyond the bounds and and released, items are created as the view returns to bounds. This changes the extents, however the bound target was not updated. If the viewport height changes during fixup the bounds animation is now updated. Change-Id: Ib37ec9e51f8ceb71af1e2e58f25fd8da18dcd632 Task-number: QTBUG-17769 Reviewed-by: Michael Brasser
| * | fix/improve docs for new QtQuick 1.1 attributesBea Lam2011-02-281-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Ensure attributes added in QtQuick 1.1 are marked with the '\since QtQuick 1.1' tag. Also add links to items listed in the QtQuick 1.1 section in whatsnew.qdoc. Task-number: QTBUG-17771 Change-Id: Ic8fb3c8d3c99a1469c1767779efaafd27ef460e1
* | | Merge commit 'refs/merge-requests/1113' of git://gitorious.org/qt/qt into ↵David Boddie2011-02-281-2/+2
|\ \ \ | |/ / | | | | | | | | | | | | | | | merge-requests/1113 Conflicts: doc/src/development/qmake-manual.qdoc
| * | ListView and GridView indexAt should use qreal coordinates.Martin Jones2011-02-231-2/+2
| | | | | | | | | | | | | | | | | | Change-Id: Ibe6969b5c3209062213c6582eaf4c285bcb793de Task-number: QTBUG-17594 Reviewed-by: Bea Lam