[GTK] Missing build flags when building with Harfbuzz
https://bugs.webkit.org/show_bug.cgi?id=108174

Reviewed by Martin Robinson.

Add FREETYPE_CFLAGS and FREETYPE_LIBS to makefiles so -lharfbuzz
parameter will be added to linking lines when needed.

Source/WebKit/gtk:

* GNUmakefile.am: Added FREETYPE_CFLAGS and FREETYPE_LIBS.

Source/WebKit2:

* GNUmakefile.am: Added FREETYPE_CFLAGS and FREETYPE_LIBS.
* UIProcess/API/gtk/tests/GNUmakefile.am: Ditto.

Tools:

* GNUmakefile.am: Added FREETYPE_CFLAGS and FREETYPE_LIBS.
* MiniBrowser/gtk/GNUmakefile.am: Ditto.
* TestWebKitAPI/GNUmakefile.am: Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141126 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Heap-use-after-free in WebCore::RenderTextTrackCue::layout
https://bugs.webkit.org/show_bug.cgi?id=108197

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/track/track-cue-rendering-tree-is-removed-properly.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::textTrackRemoveCue): Ensure the display tree
is removed when the cue is removed from the list of cues.
* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::~TextTrackCue): Enfore display tree removal.

LayoutTests:

Added test that triggers the crash. Verified proper removal of the tree.

* media/track/track-cue-rendering-tree-is-removed-properly-expected.txt: Added.
* media/track/track-cue-rendering-tree-is-removed-properly.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141127 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] IndexedDB: Let callers specify reason (error) for aborting transaction
https://bugs.webkit.org/show_bug.cgi?id=107851

Reviewed by Tony Chang.

Source/WebCore:

Internal to the back-end, callers are able to abort transactions and specify a reason
as an IDBDatabaseError, e.g. ConstraintError. Expose this to the WebKit/chromium/public
API so that intermediate layers can specify reasons as well, e.g. QuotaExceededError.

Test will land in Chromium as fix for crbug.com/113118

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::abort): Added overload that takes error.
* Modules/indexeddb/IDBDatabaseBackendImpl.h: Ditto.
* Modules/indexeddb/IDBDatabaseBackendInterface.h: Ditto.

Source/WebKit/chromium:

Let Chromium call abort() on a transaction and specify a reason, specifically for
QuotaExceededError.

* public/WebIDBDatabase.h:
(WebKit::WebIDBDatabase::abort): New overload for abort() that takes an error.
* public/WebIDBDatabaseError.h:
(WebKit::WebIDBDatabaseError::WebIDBDatabaseError): Overloaded constructor/assign that takes error.
* src/IDBDatabaseBackendProxy.cpp:
(WebKit::IDBDatabaseBackendProxy::abort): New overload for abort() that takes an error.
* src/IDBDatabaseBackendProxy.h:
(IDBDatabaseBackendProxy): Ditto.
* src/WebIDBDatabaseError.cpp: Implementation of overload ctor/assign.
* src/WebIDBDatabaseImpl.cpp:
(WebKit::WebIDBDatabaseImpl::abort): New overload for abort() that takes an error.
* src/WebIDBDatabaseImpl.h: Ditto.
* tests/IDBDatabaseBackendTest.cpp: Overload stubs for Mock class.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@141128 268f45cc-cd09-0410-ab3c-d52691b4dbfc