TextTrackCue's .endTime property should fire a TypeError when NaN is assigned
https://bugs.webkit.org/show_bug.cgi?id=103413

Patch by Antoine Quint <graouts@apple.com> on 2012-12-05
Reviewed by Eric Carlson.

Source/WebCore:

Check whether the new time passed to setStartTime() and setEndTime() is none of NaN or Infinity,
otherwise throwing a TypeError.

Thanks to this fix, we're no longer skipping media/track/opera/interfaces/TextTrackCue/endTime.html and
media/track/opera/interfaces/TextTrackCue/startTime.html.

* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::setStartTime):
(WebCore::TextTrackCue::setEndTime):
* html/track/TextTrackCue.h:
(TextTrackCue):
* html/track/TextTrackCue.idl:

LayoutTests:

Stop skipping two tests that now have new passing conditions, only held back from
passing altogether by https://bugs.webkit.org/show_bug.cgi?id=103258.

* media/track/opera/interfaces/TextTrackCue/endTime-expected.txt: Added.
* media/track/opera/interfaces/TextTrackCue/startTime-expected.txt: Added.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136684 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt][Mac] QWebView disappears when the system tries to hide the scrollbars.
https://bugs.webkit.org/show_bug.cgi?id=104116

This is a workaround for an issue in Qt that was
caused by Change-Id: I2000fa50d46b153e981ceafc12a53932a196382e
in qtbase.
Since we are drawing the scrollbars by ourselves, there is no
widget available that needs to be hidden by the style.
Therefore we have to disable transient scrollbar
animations on Mac.

Patch by: J-P Nurmi <jpnurmi@digia.com>

Reviewed by Simon Hausmann.

* WidgetSupport/QStyleFacadeImp.cpp:
(WebKit::QStyleFacadeImp::paintScrollBar):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136685 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Implement IndexedDB bindings for JSC
https://bugs.webkit.org/show_bug.cgi?id=103484

Patch by Michael Pruett <michael@68k.org> on 2012-12-05
Reviewed by Kentaro Hara.

IndexedDB is currently implemented only for V8. This change adds
the bindings necessary for IndexedDB to work with JSC. With this
patch, IndexedDB for JSC passes 112 out of the 196 layout tests in
storage/indexeddb. IndexedDB is still not enabled for any JSC port.

Tests: storage/indexeddb/*

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/indexeddb/IDBOpenDBRequest.idl:
* Modules/indexeddb/IDBVersionChangeRequest.idl:
* UseJSC.cmake:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/DOMRequestState.h: Added to match bindings/v8/DOMRequestState.h.
(WebCore):
(DOMRequestState):
(WebCore::DOMRequestState::DOMRequestState):
(WebCore::DOMRequestState::clear):
(Scope):
(WebCore::DOMRequestState::Scope::Scope):
(WebCore::DOMRequestState::exec):
* bindings/js/IDBBindingUtilities.cpp: Add utility functions matching those in bindings/v8/IDBBindingUtilities.cpp.
(WebCore::get):
(WebCore):
(WebCore::canSet):
(WebCore::set):
(WebCore::createIDBKeyFromValue):
(WebCore::getNthValueOnKeyPath):
(WebCore::createIDBKeyFromScriptValueAndKeyPath):
(WebCore::ensureNthValueOnKeyPath):
(WebCore::canInjectNthValueOnKeyPath):
(WebCore::injectIDBKeyIntoScriptValue):
(WebCore::canInjectIDBKeyIntoScriptValue):
(WebCore::deserializeIDBValue):
(WebCore::idbKeyToScriptValue):
* bindings/js/IDBBindingUtilities.h: Add utility functions matching those in bindings/v8/IDBBindingUtilities.h.
(WebCore):
* bindings/js/JSIDBAnyCustom.cpp:
(WebCore::toJS):
* bindings/js/JSIDBKeyCustom.cpp:
(WebCore::toJS):
* bindings/js/JSIDBVersionChangeRequestCustom.cpp: Removed.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136686 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Tools: [WK2] InjectedBundle should check Intent url for null
https://bugs.webkit.org/show_bug.cgi?id=104117

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-12-05
Reviewed by Kenneth Rohde Christiansen.

WKIntentServiceInfoCopyHref() can return null, we need to check
for that in InjectedBundlePage::registerIntentServiceForFrame()
to avoid crashing.

* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::registerIntentServiceForFrame):

LayoutTests: [EFL] InjectedBundle should check Intent url for null
https://bugs.webkit.org/show_bug.cgi?id=104117

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-12-05
Reviewed by Kenneth Rohde Christiansen.

EFL is slightly more verbose than chromium on this one.

* platform/efl/fast/images/crossfade-client-not-removed-crash-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136687 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening, updating baselines after r136657 and r136672.

* platform/gtk/http/tests/inspector/console-websocket-error-expected.txt:
* platform/gtk/http/tests/xmlhttprequest/access-control-preflight-async-header-denied-expected.txt: Removed.
* platform/gtk/http/tests/xmlhttprequest/access-control-preflight-async-method-denied-expected.txt: Removed.
* platform/gtk/http/tests/xmlhttprequest/access-control-preflight-async-not-supported-expected.txt: Removed.
* platform/gtk/http/tests/xmlhttprequest/origin-whitelisting-https-expected.txt: Removed.
* platform/gtk/http/tests/xmlhttprequest/simple-cross-origin-denied-events-expected.txt: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136688 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Avoid showing FCC on empty text field in a different way
https://bugs.webkit.org/show_bug.cgi?id=104019

Patch by Yongxin Dai <yodai@rim.com> on 2012-12-05
Reviewed by Rob Buis.

PR #222796

Add text field empty flag along with the caret change notification so that
FineCursorContnrol is able to avoid showing FCC on empty text filed.
Previous approach, notifying client with empty caret on empty text field,
causes problem. Its code is removed.

Reviewed Internally by Mike Fenton.

* Api/WebPageClient.h:
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::caretPositionChanged):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136689 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Unreviewed gardening.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136690 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL][WK2] EWK2UnitTestBase.ewk_favicon_database_async_icon_get is crashing with new Ewk_Context
https://bugs.webkit.org/show_bug.cgi?id=104110

Reviewed by Laszlo Gombos.

Unregister the WKFaviconDatabase client in EwkFaviconDatabase
destructor to avoid crashing if the callbacks get called
after the EwkFaviconDatabase object has been destroyed (i.e.
the parent EwkContext object was destroyed).

* UIProcess/API/efl/ewk_favicon_database.cpp:
(EwkFaviconDatabase::~EwkFaviconDatabase):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136691 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening.

Moving some expectations for expected failures under the appropriate section.

Rather than skipping expected failures, they should be run (as long as they
don't time out in great numbers) just to get the extra test coverage (mostly
to confirm they don't crash unexpectably). Most of such expectations are being
unskipped and changed into a proper failure expectation, but more can folllow.

* platform/gtk/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136692 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ENABLE(IMAGE_DECODER_DOWN_SAMPLING): Don't swizzle decode down sampled images
https://bugs.webkit.org/show_bug.cgi?id=103856

Reviewed by Yong Li.

For ports using ENABLE(IMAGE_DECODER_DOWN_SAMPLING), turbo swizzle decodes provide
no speed-up when the decoded image will be down sampled because the data must pass
through the buffer.setRGBA() slow path. That is not the swizzled path. Instead use
JCS_RGB decodes to clarify the output color space handling in outputScanlines().

No new tests. Covered by existing JPEG decoding tests.

* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageReader::decode): libjpeg-turbo swizzle decodes provides no real
speed-up if the image will be down sampled. Revert to using JCS_RGA in this case.
(WebCore::setPixel): Remove the libjpeg-turbo JCS_EXT_BGRA and JCS_EXT_RGBA cases.
(WebCore::JPEGImageDecoder::outputScanlines): ditto.
* platform/image-decoders/jpeg/JPEGImageDecoder.h:
(WebCore::JPEGImageDecoder::willDownSample): Return true if image down sampling
will be applied to the decoded image (m_scaled). Note: the willDownSample() return
value is valid only after setSize() has been called: add an ASSERT for that.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136693 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] GeolocationClientBB only holding the latest geolocation permission request
https://bugs.webkit.org/show_bug.cgi?id=104123

PR 256089

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-12-05
Reviewed by Yong Li.

Add a mapping between origin URL and it's geolocation object so we could
respond to the correct geolocation when libwebview responds with onPermission
in GeolocationClient.

Using the mapping, we could also prevent requestGeolocation requests from the same origin
to be sent twice. This prevents pages that hold two iframes to the same resource to request
geolocation permission on the same security origin twice.

Tested this by running a page that includes 2 or more iframes that requests geolocation
permission.

* WebCoreSupport/GeolocationClientBlackBerry.cpp:
(GeolocationClientBlackBerry::requestPermission):
(GeolocationClientBlackBerry::cancelPermissionRequest):
(GeolocationClientBlackBerry::onPermission):
* WebCoreSupport/GeolocationClientBlackBerry.h:
(GeolocationClientBlackBerry):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136694 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Extend StringHasher to take a stream of characters
https://bugs.webkit.org/show_bug.cgi?id=104076
<rdar://problem/12811887>

Reviewed by Darin Adler.

We essentially move computeHash() to a member function of StringHasher. This allows clients of the
hasher to append strings to the general hash, without having to first concatenate the strings.

* wtf/StringHasher.h:
(WTF::StringHasher::addCharacters): Same as computeHash(), except also take into account the possibility
that there is a pending character to hash. If this is the case, we align the word boundary by consuming the
first character in data, adjust the length, move the data pointer forward one, and update the hasher's
pending character state. Also add an early return so that we are guaranteed at least one character in case
we run into this situation.
(WTF::StringHasher::computeHash): Refactor into addCharacters().

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136695 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Replace use of ScriptExecutionContext::Task (Part 2)
https://bugs.webkit.org/show_bug.cgi?id=103931

Reviewed by Tony Chang.

Source/WebCore:

Actually drop use of ScriptExecutionContext::Task and remove incorrect usage of
ThreadSafeRefCounted<>. Define a new IDBTransactionBackendImpl::Operation base class
for operations; storage of per-operation data becomes explicit.

No new tests - just a refactor.

* Modules/indexeddb/IDBCallbacks.h: Remove bogus "ThreadSafe"
* Modules/indexeddb/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::CursorIterationOperation::create):
(IDBCursorBackendImpl::CursorIterationOperation):
(WebCore::IDBCursorBackendImpl::CursorIterationOperation::CursorIterationOperation):
(WebCore::IDBCursorBackendImpl::CursorAdvanceOperation::create):
(IDBCursorBackendImpl::CursorAdvanceOperation):
(WebCore::IDBCursorBackendImpl::CursorAdvanceOperation::CursorAdvanceOperation):
(WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::create):
(IDBCursorBackendImpl::CursorPrefetchIterationOperation):
(WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::CursorPrefetchIterationOperation):
(WebCore::IDBCursorBackendImpl::CursorAdvanceOperation::perform):
(WebCore::IDBCursorBackendImpl::CursorIterationOperation::perform):
(WebCore::IDBCursorBackendImpl::CursorPrefetchIterationOperation::perform):
* Modules/indexeddb/IDBCursorBackendInterface.h: Remove bogus "ThreadSafe"
* Modules/indexeddb/IDBDatabase.cpp:
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::CreateObjectStoreOperation::create):
(IDBDatabaseBackendImpl::CreateObjectStoreOperation):
(WebCore::IDBDatabaseBackendImpl::CreateObjectStoreOperation::CreateObjectStoreOperation):
(WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreOperation::create):
(IDBDatabaseBackendImpl::DeleteObjectStoreOperation):
(WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreOperation::DeleteObjectStoreOperation):
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::create):
(IDBDatabaseBackendImpl::VersionChangeOperation):
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::VersionChangeOperation):
(WebCore::IDBDatabaseBackendImpl::CreateObjectStoreAbortOperation::create):
(IDBDatabaseBackendImpl::CreateObjectStoreAbortOperation):
(WebCore::IDBDatabaseBackendImpl::CreateObjectStoreAbortOperation::CreateObjectStoreAbortOperation):
(WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreAbortOperation::create):
(IDBDatabaseBackendImpl::DeleteObjectStoreAbortOperation):
(WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreAbortOperation::DeleteObjectStoreAbortOperation):
(WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::create):
(IDBDatabaseBackendImpl::VersionChangeAbortOperation):
(WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::VersionChangeAbortOperation):
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::CreateObjectStoreOperation::perform):
(WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
(WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreOperation::perform):
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
(WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
(WebCore::IDBDatabaseBackendImpl::CreateObjectStoreAbortOperation::perform):
(WebCore::IDBDatabaseBackendImpl::DeleteObjectStoreAbortOperation::perform):
(WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
* Modules/indexeddb/IDBDatabaseBackendInterface.h: Remove bogus "ThreadSafe"
* Modules/indexeddb/IDBDatabaseCallbacks.h: Remove bogus "ThreadSafe"
* Modules/indexeddb/IDBFactoryBackendImpl.cpp:
* Modules/indexeddb/IDBFactoryBackendInterface.h: Remove bogus "ThreadSafe"
* Modules/indexeddb/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::OpenIndexCursorOperation::create):
(IDBIndexBackendImpl::OpenIndexCursorOperation):
(WebCore::IDBIndexBackendImpl::OpenIndexCursorOperation::OpenIndexCursorOperation):
(WebCore::IDBIndexBackendImpl::IndexCountOperation::create):
(IDBIndexBackendImpl::IndexCountOperation):
(WebCore::IDBIndexBackendImpl::IndexCountOperation::IndexCountOperation):
(WebCore::IDBIndexBackendImpl::IndexReferencedValueRetrievalOperation::create):
(IDBIndexBackendImpl::IndexReferencedValueRetrievalOperation):
(WebCore::IDBIndexBackendImpl::IndexReferencedValueRetrievalOperation::IndexReferencedValueRetrievalOperation):
(WebCore::IDBIndexBackendImpl::IndexValueRetrievalOperation::create):
(IDBIndexBackendImpl::IndexValueRetrievalOperation):
(WebCore::IDBIndexBackendImpl::IndexValueRetrievalOperation::IndexValueRetrievalOperation):
(WebCore::IDBIndexBackendImpl::OpenIndexCursorOperation::perform):
(WebCore::IDBIndexBackendImpl::openCursor):
(WebCore::IDBIndexBackendImpl::openKeyCursor):
(WebCore::IDBIndexBackendImpl::IndexCountOperation::perform):
(WebCore::IDBIndexBackendImpl::count):
(WebCore::IDBIndexBackendImpl::IndexReferencedValueRetrievalOperation::perform):
(WebCore::IDBIndexBackendImpl::IndexValueRetrievalOperation::perform):
(WebCore::IDBIndexBackendImpl::get):
(WebCore::IDBIndexBackendImpl::getKey):
* Modules/indexeddb/IDBIndexBackendInterface.h: Remove bogus "ThreadSafe"
* Modules/indexeddb/IDBKey.h: Remove bogus "ThreadSafe"
(IDBKey):
* Modules/indexeddb/IDBKeyRange.h: Remove bogus "ThreadSafe"
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreRetrievalOperation::create):
(IDBObjectStoreBackendImpl::ObjectStoreRetrievalOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreRetrievalOperation::ObjectStoreRetrievalOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreStorageOperation::create):
(IDBObjectStoreBackendImpl::ObjectStoreStorageOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreStorageOperation::ObjectStoreStorageOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreIndexesReadyOperation::create):
(IDBObjectStoreBackendImpl::ObjectStoreIndexesReadyOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreIndexesReadyOperation::ObjectStoreIndexesReadyOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreDeletionOperation::create):
(IDBObjectStoreBackendImpl::ObjectStoreDeletionOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreDeletionOperation::ObjectStoreDeletionOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreClearOperation::create):
(IDBObjectStoreBackendImpl::ObjectStoreClearOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreClearOperation::ObjectStoreClearOperation):
(WebCore::IDBObjectStoreBackendImpl::CreateIndexOperation::create):
(IDBObjectStoreBackendImpl::CreateIndexOperation):
(WebCore::IDBObjectStoreBackendImpl::CreateIndexOperation::CreateIndexOperation):
(WebCore::IDBObjectStoreBackendImpl::DeleteIndexOperation::create):
(IDBObjectStoreBackendImpl::DeleteIndexOperation):
(WebCore::IDBObjectStoreBackendImpl::DeleteIndexOperation::DeleteIndexOperation):
(WebCore::IDBObjectStoreBackendImpl::OpenObjectStoreCursorOperation::create):
(IDBObjectStoreBackendImpl::OpenObjectStoreCursorOperation):
(WebCore::IDBObjectStoreBackendImpl::OpenObjectStoreCursorOperation::OpenObjectStoreCursorOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreCountOperation::create):
(IDBObjectStoreBackendImpl::ObjectStoreCountOperation):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreCountOperation::ObjectStoreCountOperation):
(WebCore::IDBObjectStoreBackendImpl::CreateIndexAbortOperation::create):
(IDBObjectStoreBackendImpl::CreateIndexAbortOperation):
(WebCore::IDBObjectStoreBackendImpl::CreateIndexAbortOperation::CreateIndexAbortOperation):
(WebCore::IDBObjectStoreBackendImpl::DeleteIndexAbortOperation::create):
(IDBObjectStoreBackendImpl::DeleteIndexAbortOperation):
(WebCore::IDBObjectStoreBackendImpl::DeleteIndexAbortOperation::DeleteIndexAbortOperation):
(WebCore::IDBObjectStoreBackendImpl::get):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreRetrievalOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore):
(WebCore::IDBObjectStoreBackendImpl::setIndexesReady):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreIndexesReadyOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreStorageOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::deleteFunction):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreDeletionOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::clear):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreClearOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::CreateIndexOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::deleteIndex):
(WebCore::IDBObjectStoreBackendImpl::DeleteIndexOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::openCursor):
(WebCore::IDBObjectStoreBackendImpl::OpenObjectStoreCursorOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::count):
(WebCore::IDBObjectStoreBackendImpl::ObjectStoreCountOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::CreateIndexAbortOperation::perform):
(WebCore::IDBObjectStoreBackendImpl::DeleteIndexAbortOperation::perform):
* Modules/indexeddb/IDBObjectStoreBackendInterface.h: Remove bogus "ThreadSafe"
* Modules/indexeddb/IDBRequest.h: Remove bogus "ThreadSafe"
(IDBRequest):
* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl): Appease RefPtr<> adoption strictness.
(WebCore::IDBTransactionBackendImpl::scheduleTask):
(WebCore::IDBTransactionBackendImpl::abort):
(WebCore::IDBTransactionBackendImpl::taskTimerFired):
* Modules/indexeddb/IDBTransactionBackendImpl.h:
(Operation):
(WebCore::IDBTransactionBackendImpl::Operation::~Operation):
(IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::scheduleTask):
* Modules/indexeddb/IDBTransactionBackendInterface.h: Remove bogus "ThreadSafe"

Source/WebKit/chromium:

Now that IDBCallbacks uses real RefPtr<> a mock class needs to be heap allocated.

* tests/IDBAbortOnCorruptTest.cpp:
(WebCore::MockIDBCallbacks::create):
(WebCore::MockIDBCallbacks::MockIDBCallbacks):
(MockIDBCallbacks):
(WebCore::TEST):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136696 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Gtk] navigator.plugins contains too many plugin entries. First one are garbages
https://bugs.webkit.org/show_bug.cgi?id=102438

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2012-12-05
Reviewed by Xan Lopez.

Source/WebKit/gtk:

In getPluginInfo, outPlugins is resized to plugins.size and then,
plugins are appended to it. So at the end, outPlugins will be twice
too large, and first half will contain null objects. As outPlugins
size is 0 when calling getPluginInfo, we don't need to resize it.

* WebCoreSupport/PlatformStrategiesGtk.cpp:
(PlatformStrategiesGtk::getPluginInfo):

LayoutTests:

Add a test to check that navigator.plugins only contain valid plugin
objects.

* plugins/navigator-plugins-expected.txt: Added.
* plugins/navigator-plugins.html: Added.
* plugins/script-tests/navigator-plugins.js: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136697 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[EFL] Unreviewed gardening.

* platform/efl-wk2/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136698 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed chromium rebaselines.

* platform/chromium-mac/plugins/npp-set-window-called-during-destruction-expected.txt: Added.
* platform/chromium-win-xp/css3/flexbox: Added.
* platform/chromium-win-xp/css3/flexbox/repaint-column-reverse-expected.png: Added.
* platform/chromium-win/css3/filters/effect-reference-hw-expected.png:
* platform/chromium-win/plugins/npp-set-window-called-during-destruction-expected.txt:
* platform/chromium/plugins/npp-set-window-called-during-destruction-expected.txt: Removed.
* platform/win-7sp0/plugins: Added.
* platform/win-7sp0/plugins/npp-set-window-called-during-destruction-expected.txt: Added.
* platform/win/plugins/npp-set-window-called-during-destruction-expected.txt: Removed.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136699 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] meta viewport pages are rendered at a bad initial scale
https://bugs.webkit.org/show_bug.cgi?id=104122

Patch by Jacky Jiang <zhajiang@rim.com>.
Reviewed by Rob Buis.
Internally reviewed by Arvid Nilsson.

PR: 240378
Many websites are rendered at a very bad initial scale because they
both specify meta viewport tag and have large width elements. In such
a case we will think the meta viewport tag is broken if the width of
any element is larger than the calculated layout viewport width.
The fix to this is straightforward that we will zoom the page to fit
the screen to have better user experience instead of respecting the
meta viewport. This can fix the issue on the websites such as
www.travelpod.com, www.forbes.com, interfacelift.com, www.sky.com,
raphaeljs.com and so on.
If non-empty m_userViewportArguments is applied, then we will force to
respect the viewport arguments. In this way we will restrict the fix to
browser only.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::respectViewport):
(WebKit):
(BlackBerry::WebKit::WebPagePrivate::initialScale):
(BlackBerry::WebKit::WebPagePrivate::maximumScale):
(BlackBerry::WebKit::WebPagePrivate::dispatchViewportPropertiesDidChange):
* Api/WebPage_p.h:
(BlackBerry::WebKit::WebPagePrivate::isUserScalable):
(WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::minimumScale):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136700 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed GTK gardening.

Skipping back the Media Stream layout tests, they're not behaving well.
Removing a few failure expectations for tests that are passing.

* platform/gtk/TestExpectations:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136701 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, adding my new email address to watchlist for blackberry.

 * Scripts/webkitpy/common/config/watchlist:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@136702 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: Don't include error message text in the editor buffer.
https://bugs.webkit.org/show_bug.cgi?id=103932

Reviewed by Alexander Pavlov.

Source/WebCore:

Skip entire decoration content when collecting dirty regions.

* inspector/front-end/DefaultTextEditor.js:
(WebInspector.TextEditorMainPanel.prototype._collectLinesFromDOM):

LayoutTests:

* inspector/editor/editor-test.js:
(initialize_EditorTests.InspectorTest.getLineElement):
(initialize_EditorTests):
* inspector/editor/text-editor-type-over-decoration-expected.txt: Added.
* inspector/editor/text-editor-type-over-decoration.html: Added.


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