IndexedDB: Throw proper exceptions
https://bugs.webkit.org/show_bug.cgi?id=85513

Reviewed by Tony Chang.

Test all of the exception throwing clauses in the spec, unless they are
well covered elsewhere (indicated by a comment in the script).

* storage/indexeddb/exceptions-expected.txt: Added.
* storage/indexeddb/exceptions.html: Added.
* storage/indexeddb/resources/exceptions.js: Added.
(test.request.onsuccess.request.onsuccess.request.onsuccess):
(test.request.onsuccess.request.onsuccess):
(test.request.onsuccess):
(test):
(testDatabase.request.onsuccess.trans.oncomplete):
(testDatabase.request.onsuccess):
(testDatabase):
(prepareStoreAndIndex.request.onsuccess):
(prepareStoreAndIndex):
(testObjectStore.request.onsuccess.trans.oncomplete):
(testObjectStore.request.onsuccess):
(testObjectStore):
(testIndex):
(testCursor.makeCursor.request.onsuccess):
(testCursor.makeCursor):
(testCursor.makeKeyCursor.request.onsuccess):
(testCursor.makeKeyCursor):
(testCursor.makeReverseCursor.request.onsuccess):
(testCursor.makeReverseCursor):
(testCursor.makeInlineCursor.request.onsuccess):
(testCursor.makeInlineCursor):
(testCursor.testCursorAdvance):
(testCursor.testCursorContinue):
(testCursor.testCursorDelete):
(testCursor.testCursorUpdate):
(testCursor.makeReadOnlyCursor.request.onsuccess):
(testCursor.makeReadOnlyCursor):
(testCursor.doReadOnlyCursorTests):
(testCursor):
(testTransaction):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124837 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] About: shows PAGE_CACHE not enabled.
https://bugs.webkit.org/show_bug.cgi?id=93216

Reviewed by Antonio Gomes.

Page cache is a feature that can be enabled/disabled at runtime, there's no
MACRO named PAGE_CACHE to control the feature.

* WebCoreSupport/AboutDataEnableFeatures.in:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124838 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Convert WebScrollbarThemeGeometry from a concrete class to an interface
https://bugs.webkit.org/show_bug.cgi?id=93308

Reviewed by James Robinson.

Source/Platform:

Convert WebScrollbarThemeGeometry to be an interface. Update
WebScrollbarLayer to take a pointer to this interface.

* chromium/public/WebScrollbarLayer.h:
(WebScrollbarLayer):
* chromium/public/WebScrollbarThemeGeometry.h:
(WebScrollbarThemeGeometry):

Source/WebCore:

Convert WebScrollbarThemeGeometry to be an interface. Create a new
WebScrollbarThemeGeometryNative implementation to wrap a native theme
pointer.

Update ScrollbarLayerChromium/CCScrollbarLayerImpl to use a pointer to
this interface rather than a concrete member variable. Because both
layer types need to access the theme during painting or compositing
and either layer could go away at any time, the theme is cloned during
commit rather than dealing with refcounting across threads or having
one layer type be the sole owner.

* WebCore.gypi:
* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::createScrollbarLayer):
* platform/chromium/support/WebScrollbarThemeGeometryNative.cpp: Renamed from Source/WebKit/chromium/src/WebScrollbarThemeGeometry.cpp.
(WebKit):
(WebKit::WebScrollbarThemeGeometryNative::create):
(WebKit::WebScrollbarThemeGeometryNative::WebScrollbarThemeGeometryNative):
(WebKit::WebScrollbarThemeGeometryNative::clone):
(WebKit::WebScrollbarThemeGeometryNative::thumbPosition):
(WebKit::WebScrollbarThemeGeometryNative::thumbLength):
(WebKit::WebScrollbarThemeGeometryNative::trackPosition):
(WebKit::WebScrollbarThemeGeometryNative::trackLength):
(WebKit::WebScrollbarThemeGeometryNative::hasButtons):
(WebKit::WebScrollbarThemeGeometryNative::hasThumb):
(WebKit::WebScrollbarThemeGeometryNative::trackRect):
(WebKit::WebScrollbarThemeGeometryNative::thumbRect):
(WebKit::WebScrollbarThemeGeometryNative::minimumThumbLength):
(WebKit::WebScrollbarThemeGeometryNative::scrollbarThickness):
(WebKit::WebScrollbarThemeGeometryNative::backButtonStartRect):
(WebKit::WebScrollbarThemeGeometryNative::backButtonEndRect):
(WebKit::WebScrollbarThemeGeometryNative::forwardButtonStartRect):
(WebKit::WebScrollbarThemeGeometryNative::forwardButtonEndRect):
(WebKit::WebScrollbarThemeGeometryNative::constrainTrackRectToTrackPieces):
(WebKit::WebScrollbarThemeGeometryNative::splitTrack):
* platform/chromium/support/WebScrollbarThemeGeometryNative.h: Added.
(WebKit):
(WebScrollbarThemeGeometryNative):
* platform/graphics/chromium/ScrollbarLayerChromium.cpp:
(WebCore::ScrollbarLayerChromium::create):
(WebCore::ScrollbarLayerChromium::ScrollbarLayerChromium):
(WebCore::ScrollbarLayerChromium::pushPropertiesTo):
(WebCore::ScrollbarBackgroundPainter::create):
(WebCore::ScrollbarBackgroundPainter::ScrollbarBackgroundPainter):
(ScrollbarBackgroundPainter):
(WebCore::ScrollbarThumbPainter::create):
(WebCore::ScrollbarThumbPainter::ScrollbarThumbPainter):
(ScrollbarThumbPainter):
(WebCore::ScrollbarLayerChromium::createTextureUpdaterIfNeeded):
(WebCore::ScrollbarLayerChromium::setTexturePriorities):
(WebCore::ScrollbarLayerChromium::update):
* platform/graphics/chromium/ScrollbarLayerChromium.h:
(ScrollbarLayerChromium):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
(WebCore::CCScrollbarLayerImpl::setScrollbarGeometry):
(WebCore::CCScrollbarLayerImpl::setScrollbarData):
(WebCore::CCScrollbarLayerImpl::appendQuads):
* platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
(WebCore::CCScrollbarLayerImpl::scrollbarGeometry):
(CCScrollbarLayerImpl):

Source/WebKit/chromium:

Now that WebScrollbarThemeGeometry can have different implementations,
create a FakeWebScrollbarThemeGeometry for testing purposes rather
than just overriding a geometry-related virtual.

* WebKit.gyp:
* WebKit.gypi:
* src/WebScrollbarLayer.cpp:
(WebKit::WebScrollbarLayer::create):
* tests/CCLayerTreeHostImplTest.cpp:
* tests/FakeWebScrollbarThemeGeometry.h: Added.
(WebKit):
(FakeWebScrollbarThemeGeometry):
(WebKit::FakeWebScrollbarThemeGeometry::create):
* tests/ScrollbarLayerChromiumTest.cpp:
(WebCore::TEST):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@124839 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] add sync points and GL_CHROMIUM_texture_mailbox entrypoints to WebGraphicsContext3D
https://bugs.webkit.org/show_bug.cgi?id=93313

Reviewed by James Robinson.

Sync points already landed chromium-side, mailbos at https://chromiumcodereview.appspot.com/10829209/

* chromium/public/WebGraphicsContext3D.h:
(WebKit::WebGraphicsContext3D::insertSyncPoint):
(WebKit::WebGraphicsContext3D::waitSyncPoint):
(WebGraphicsContext3D):
(WebKit::WebGraphicsContext3D::genMailboxCHROMIUM):
(WebKit::WebGraphicsContext3D::produceTextureCHROMIUM):
(WebKit::WebGraphicsContext3D::consumeTextureCHROMIUM):


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