Fix broken loop in style guide
https://bugs.webkit.org/show_bug.cgi?id=105346

Reviewed by Ryosuke Niwa.

Found by Sean Silva <silvas@purdue.edu>

* coding/coding-style.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138068 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=102579
[mac] Enable scaled cursors

Reviewed by Dean Jackson.

Source/JavaScriptCore: 

* Configurations/FeatureDefines.xcconfig:

Source/WebCore: 

Not much is required to get this turned on. We just need the feature to be 
defined, and we need to initialize m_imageScaleFactor in the Cursor constructors.

* Configurations/FeatureDefines.xcconfig:
* platform/mac/CursorMac.mm:
(WebCore::Cursor::Cursor):
(WebCore::Cursor::operator=):

Source/WebKit/mac: 

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2: 

* Configurations/FeatureDefines.xcconfig:

LayoutTests: 

Un-skip these tests now that the feature is enabled.
* platform/mac/TestExpectations:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138069 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, roll chromium deps to r173769

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138070 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Track menu needs localization
https://bugs.webkit.org/show_bug.cgi?id=105233

Reviewed by Eric Carlson.

Source/WebCore:

Allow the UI strings in the closed captions menu to be localized, and
profile strings for the English locale.

Test: media/video-controls-captions-trackmenu-localized.html

* English.lproj/Localizable.strings: Adds the four new captions strings.
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu): Use localized getters.
* platform/LocalizedStrings.cpp:
(WebCore::textTrackClosedCaptionsText): New localized string getter.
(WebCore::textTrackSubtitlesText): Ditto.
(WebCore::textTrackOffText): Ditto.
(WebCore::textTrackNoLabelText): Ditto.
* platform/LocalizedStrings.h:

LayoutTests:

Test to exercise the localization of strings in the captions menu.
While I was here I merged some common code into a helper file.

* media/trackmenu-test.js: Added. New helper file to run common test operations.
* media/video-controls-captions-trackmenu-localized-expected.txt: Added.
* media/video-controls-captions-trackmenu-localized.html: Added.
* media/video-controls-captions-trackmenu-sorted.html: Updated to use helper functions.
* platform/chromium/TestExpectations: Skip unimplemented test.
* platform/efl/TestExpectations: Ditto.
* platform/gtk/TestExpectations: Ditto.
* platform/qt/TestExpectations: Ditto.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138071 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Split BackingStore histogram
https://bugs.webkit.org/show_bug.cgi?id=105222

Reviewed by Tony Chang.

Add separate histograms for Consistency, Write, and Read errors.
Recategorize some read errors as consistency errors.

Tested the preprocessor logic by manually making some functions fail
and printing the histogram string from chromium code.

Next up is logging successes to get an idea of which functions have
the highest failure _rate_.

* Modules/indexeddb/IDBBackingStore.cpp:
(WebCore::recordInternalError):
(WebCore):
(WebCore::setUpMetadata):
(WebCore::IDBBackingStore::getIDBDatabaseMetaData):
(WebCore::getNewDatabaseId):
(WebCore::IDBBackingStore::createIDBDatabaseMetaData):
(WebCore::IDBBackingStore::getObjectStores):
(WebCore::setMaxObjectStoreId):
(WebCore::IDBBackingStore::deleteObjectStore):
(WebCore::IDBBackingStore::getRecord):
(WebCore::getNewVersionNumber):
(WebCore::IDBBackingStore::getKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStore::keyExistsInObjectStore):
(WebCore::IDBBackingStore::getIndexes):
(WebCore::setMaxIndexId):
(WebCore::versionExists):
(WebCore::IDBBackingStore::findKeyInIndex):
(WebCore::IDBBackingStore::getPrimaryKeyViaIndex):
(WebCore::IDBBackingStore::keyExistsInIndex):
(WebCore::ObjectStoreKeyCursorImpl::loadCurrentRow):
(WebCore::ObjectStoreCursorImpl::loadCurrentRow):
(WebCore::IndexKeyCursorImpl::loadCurrentRow):
(WebCore::IndexCursorImpl::loadCurrentRow):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138072 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Convert indexingTypeToString to IndexingTypeDump
https://bugs.webkit.org/show_bug.cgi?id=105351

Reviewed by Mark Hahnenberg.

This gets rid of another case of static char buffer[thingy].

* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* runtime/IndexingType.cpp:
(JSC::dumpIndexingType):
* runtime/IndexingType.h:
(JSC):
* runtime/JSValue.cpp:
(JSC::JSValue::dump):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138073 268f45cc-cd09-0410-ab3c-d52691b4dbfc
SunSpider/date-format-tofte shouldn't compile each of the tiny worthless eval's only to OSR exit in the prologue every time
https://bugs.webkit.org/show_bug.cgi?id=105335

Reviewed by Geoffrey Garen.

The first thing I did was restructure the logic of canInlineResolveOperations(),
because I didn't understand it. This was relevant because the OSR exits are
caused by a resolve that the DFG cannot handle.
        
I was then going to make it so that we didn't compile the resolve at all, but
realized that this would not be the best fix: it didn't seem sensible to me to
be optimizing these evals after only 60 invocations. Evals should have a higher
threshold, since they often contain code for which the baseline JIT does a
pretty good job already (if all you've got is a single heap access or a single
hard-to-inline call, then the baseline JIT has got you covered), and typically
if we see one eval code block we expect to see more (from the same eval site):
so our typical low threshold could lead to a *lot* of compilation. As such, the
main effect of this patch is to introduce an evalThresholdMultiplier, which is
now set to 10.
        
This is a ~5% speed-up on data-format-tofte. No regressions anywhere as far as
I can see.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::codeTypeThresholdMultiplier):
(JSC):
(JSC::CodeBlock::optimizationThresholdScalingFactor):
(JSC::CodeBlock::exitCountThresholdForReoptimization):
(JSC::CodeBlock::exitCountThresholdForReoptimizationFromLoop):
* bytecode/CodeBlock.h:
(CodeBlock):
* dfg/DFGCapabilities.h:
(JSC::DFG::canInlineResolveOperations):
* dfg/DFGOSRExitCompiler.cpp:
* runtime/Options.h:
(JSC):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138074 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove entries for passing tests and one bad expectation for a reftest.

Unreviewed.

* platform/chromium-mac/compositing/background-color/background-color-change-to-text-expected.png: Removed.
* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138075 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Allow position:sticky elements to be moved by the scrolling thread
https://bugs.webkit.org/show_bug.cgi?id=105245

Reviewed by Beth Dakin.

Source/WebCore:

Allow sticky position elements to be repositioned on the scrolling thread.

RenderLayerCompositor::requiresCompositingForPosition() is changed to make
all position:-webkit-sticky elements composited.

Sticky position constraints are already communicated to the ScrollingCoordinator,
but now we created ScrollingStateStickyNodes for them, and send the constraints
over to the scrolling thread for new ScrollingTreeStickyNodes. That allows
their layers to be repositioned on the scrolling thread.

Tests: platform/mac/tiled-drawing/sticky/sticky-horizontal.html
       platform/mac/tiled-drawing/sticky/sticky-vertical.html

* WebCore.xcodeproj/project.pbxproj: Add new files.
* page/scrolling/ScrollingConstraints.h:
(WebCore::StickyPositionViewportConstraints::absoluteContainingBlockRect): New accessors.
(WebCore::StickyPositionViewportConstraints::absoluteStickyBoxRect):
(WebCore::StickyPositionViewportConstraints::operator==):
(WebCore::StickyPositionViewportConstraints::operator!=):
* page/scrolling/ScrollingCoordinator.h: Added StickyNode type.
* page/scrolling/ScrollingStateFixedNode.cpp:
(WebCore::ScrollingStateFixedNode::syncLayerPositionForViewportRect):
New virtual method that allows different kinds of nodes to sync layer positions.
* page/scrolling/ScrollingStateFixedNode.h:
* page/scrolling/ScrollingStateNode.h:
(WebCore::ScrollingStateNode::isStickyNode):
(WebCore::ScrollingStateNode::syncLayerPositionForViewportRect):
* page/scrolling/ScrollingStateStickyNode.cpp: Added.
(WebCore::ScrollingStateStickyNode::create):
(WebCore::ScrollingStateStickyNode::ScrollingStateStickyNode):
(WebCore::ScrollingStateStickyNode::~ScrollingStateStickyNode):
(WebCore::ScrollingStateStickyNode::clone):
(WebCore::ScrollingStateStickyNode::updateConstraints):
(WebCore::ScrollingStateStickyNode::syncLayerPositionForViewportRect):
(WebCore::ScrollingStateStickyNode::dumpProperties):
* page/scrolling/ScrollingStateStickyNode.h: Copied from Source/WebCore/page/scrolling/ScrollingStateFixedNode.h.
(ScrollingStateStickyNode):
(WebCore::ScrollingStateStickyNode::viewportConstraints):
(WebCore::toScrollingStateStickyNode):
* page/scrolling/ScrollingTree.cpp:
(WebCore::ScrollingTree::updateTreeFromStateNode):
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::attachToStateTree): Handle sticky nodes.
(WebCore::ScrollingCoordinatorMac::syncChildPositions): Generalize to different kinds of nodes by
calling a virtual method on the node.
(WebCore::ScrollingCoordinatorMac::updateViewportConstrainedNode):
* page/scrolling/mac/ScrollingTreeFixedNode.mm:
(WebCore::ScrollingTreeFixedNode::ScrollingTreeFixedNode):
* page/scrolling/mac/ScrollingTreeStickyNode.h: Added.
(ScrollingTreeStickyNode):
* page/scrolling/mac/ScrollingTreeStickyNode.mm: Copied from Source/WebCore/page/scrolling/mac/ScrollingTreeFixedNode.mm.
(WebCore::ScrollingTreeStickyNode::create):
(WebCore::ScrollingTreeStickyNode::ScrollingTreeStickyNode):
(WebCore::ScrollingTreeStickyNode::~ScrollingTreeStickyNode):
(WebCore::ScrollingTreeStickyNode::update):
(WebCore::operator*):
(WebCore::ScrollingTreeStickyNode::parentScrollPositionDidChange):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::attachToScrollingCoordinator):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForPosition):
(WebCore::RenderLayerCompositor::computeFixedViewportConstraints):
(WebCore::RenderLayerCompositor::computeStickyViewportConstraints):
(WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):

LayoutTests:

Sticky position tests that dump the scrolling tree.

* platform/mac/tiled-drawing/sticky/sticky-horizontal-expected.txt: Added.
* platform/mac/tiled-drawing/sticky/sticky-horizontal.html: Added.
* platform/mac/tiled-drawing/sticky/sticky-vertical-expected.txt: Added.
* platform/mac/tiled-drawing/sticky/sticky-vertical.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138076 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Pull in the opus codec sources.

Unreviewed, build fix.

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138077 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<rdar://problem/12720539> per-pid private temporary directories for sandboxed webkit2 plugins

Reviewed by Sam Weinig, Alexey Proskuryakov, Anders Carlsson.

Previously we assigned each PluginProcess a private temporary and
cache directory based on the bundle name of the plugin that was
running. This sometimes led to overly-long pathnames (sockets on OS X
can only be 103 characters long), and didn't provide isolation between
multiple running instances of the same plugin on behalf of different
processes. We now assign each PluginProcess its own private
temporary and cache directory regardless of which plugin it's running,
and make an attempt to clean these up when the process terminates.

We also pass the temporary directory into the sandbox
profile as a parameter, in case the plugin profile needs to apply
additional rules beyond the default read/write policy.

* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain):
* WebProcess/Plugins/Netscape/mac/NetscapeSandboxFunctions.mm:
(enterSandbox):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138078 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed attempted build fix for Chromium.

Insert stub methods for localized text track menu labels.

* src/LocalizedStrings.cpp:
(WebCore):
(WebCore::textTrackClosedCaptionsText):
(WebCore::textTrackSubtitlesText):
(WebCore::textTrackOffText):
(WebCore::textTrackNoLabelText):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138079 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Cannot click an element at 2nd line or more inside inline-block in vertical writing mode.
https://bugs.webkit.org/show_bug.cgi?id=104775

Patch by Yuki Sekiguchi <yuki.sekiguchi@access-company.com> on 2012-12-18
Reviewed by Dean Jackson.

Source/WebCore:

If the parent of an inline box changes writing mode, then the inline box must flip incoming hit point coordinates.
Otherwise, the coordinate will be misunderstood because the box has a different origin from its parent.
If the InlineBox doesn't flip its offset, its children will use the wrong offset
because they don't know their grandparent changed writing modes.
InlineBox::nodeAtPoint should flip accumulatedOffset like InlineBox::paint().

Test: fast/writing-mode/vertical-inline-block-hittest.html

* rendering/InlineBox.cpp:
(WebCore::InlineBox::nodeAtPoint):

LayoutTests:

Test that we can click 2nd line inside inline-block in vertical writing mode.

* fast/writing-mode/vertical-inline-block-hittest-expected.txt: Added.
* fast/writing-mode/vertical-inline-block-hittest.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138080 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Implement custom bindings for parsing options
https://bugs.webkit.org/show_bug.cgi?id=96614

Patch by Michael Pruett <michael@68k.org> on 2012-12-18
Reviewed by Darin Adler.

Parsing the options dictionary in IDBDatabase.createObjectStore()
and IDBObjectStore.createIndex() requires custom bindings in JSC.

Tests: storage/indexeddb/*

* GNUmakefile.list.am:
* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::createObjectStore):
(WebCore):
* Modules/indexeddb/IDBDatabase.h:
(IDBDatabase):
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::createIndex):
(WebCore):
* Modules/indexeddb/IDBObjectStore.h:
(IDBObjectStore):
* Modules/indexeddb/IDBObjectStore.idl:
* UseJSC.cmake:
* bindings/js/IDBBindingUtilities.cpp:
(WebCore::idbKeyPathFromValue): Added utility function for converting a JSValue to an IDBKeyPath.
(WebCore):
* bindings/js/IDBBindingUtilities.h:
(WebCore):
* bindings/js/JSIDBDatabaseCustom.cpp: Added.
(WebCore):
(WebCore::JSIDBDatabase::createObjectStore):
* bindings/js/JSIDBObjectStoreCustom.cpp: Added.
(WebCore):
(WebCore::JSIDBObjectStore::createIndex):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138081 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] pull in the CDM module recently added to media
https://bugs.webkit.org/show_bug.cgi?id=105360

Unreiviewed build fix, but sanity checked by ddorwin.

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138082 268f45cc-cd09-0410-ab3c-d52691b4dbfc
EventSource should support CORS
https://bugs.webkit.org/show_bug.cgi?id=61862

Patch by Per-Erik Brodin <per-erik.brodin@ericsson.com> on 2012-12-18
Reviewed by Alexey Proskuryakov.

Source/WebCore:

Enabled CORS in EventSource with optional constructor argument to
indicate whether credentials should be included or not, as per the spec.
Added didFailAccessControlCheck to ThreadableLoaderClient to be able to
properly distinguish CORS failures from other errors.

Tests: http/tests/eventsource/eventsource-cors-basic.html
       http/tests/eventsource/eventsource-cors-no-server.html
       http/tests/eventsource/eventsource-cors-with-credentials.html

* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
(WebCore::DocumentThreadableLoader::didReceiveResponse):
(WebCore::DocumentThreadableLoader::preflightFailure):
* loader/ThreadableLoaderClient.h:
(WebCore::ThreadableLoaderClient::didFailAccessControlCheck):
* loader/ThreadableLoaderClientWrapper.h:
(WebCore::ThreadableLoaderClientWrapper::didFailAccessControlCheck):
(ThreadableLoaderClientWrapper):
* loader/WorkerThreadableLoader.cpp:
(WebCore::workerContextDidFailAccessControlCheck):
(WebCore):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFailAccessControlCheck):
* loader/WorkerThreadableLoader.h:
(MainThreadBridge):
* page/EventSource.cpp:
(WebCore::EventSource::EventSource):
(WebCore::EventSource::create):
(WebCore::EventSource::connect):
(WebCore::EventSource::withCredentials):
(WebCore):
(WebCore::EventSource::didReceiveResponse):
(WebCore::EventSource::didFailAccessControlCheck):
(WebCore::EventSource::didFailRedirectCheck):
(WebCore::EventSource::abortConnectionAttempt):
(WebCore::EventSource::parseEventStreamLine):
(WebCore::EventSource::createMessageEvent):
* page/EventSource.h:
(WebCore):
(EventSource):
(WebCore::EventSource::refEventTarget):
(WebCore::EventSource::derefEventTarget):
* page/EventSource.idl:

LayoutTests:

Added new CORS tests for EventSource. Modified existing test to verify
that the new constructor argument can be passed to the constructor.

* fast/eventsource/eventsource-constructor-expected.txt:
* fast/eventsource/eventsource-constructor.html:
* fast/js/constructor-length.html:
* http/tests/eventsource/eventsource-cors-basic-expected.txt: Added.
* http/tests/eventsource/eventsource-cors-basic.html: Added.
* http/tests/eventsource/eventsource-cors-no-server-expected.txt: Added.
* http/tests/eventsource/eventsource-cors-no-server.html: Added.
* http/tests/eventsource/eventsource-cors-with-credentials-expected.txt: Added.
* http/tests/eventsource/eventsource-cors-with-credentials.html: Added.
* http/tests/eventsource/resources/es-cors-basic.php: Added.
* http/tests/eventsource/resources/es-cors-credentials.php: Added.
* platform/blackberry/fast/js/constructor-length-expected.txt:
* platform/chromium/fast/js/constructor-length-expected.txt:
* platform/gtk/fast/js/constructor-length-expected.txt:
* platform/mac/fast/js/constructor-length-expected.txt:
* platform/qt/fast/js/constructor-length-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138083 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Bug 105344 - [BlackBerry] Make single line text edits touch scrollable.
https://bugs.webkit.org/show_bug.cgi?id=105344

Patch by Genevieve Mak <gmak@rim.com> on 2012-12-18
Reviewed by Antonio Gomes.

Reviewed Internally by Mike Fenton.
We don't need to check the overflow for editable layers because there's
no need for overflow to be set by the content.
PR #231776

* WebKitSupport/InRegionScrollableArea.cpp:
(BlackBerry::WebKit::InRegionScrollableArea::InRegionScrollableArea):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138084 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Initial refactoring of database functionality into the manager and server.
https://bugs.webkit.org/show_bug.cgi?id=104748.

Reviewed by Brady Eidson.

This is not a complete refactor, but a stepping stone on the way to isolating
script side database activity from the SQL backend.

No new tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/webdatabase/AbstractDatabase.cpp:
(WebCore):
(WebCore::updateGuidVersionMap):
(WebCore::guidForOriginAndName):
(WebCore::AbstractDatabase::AbstractDatabase):
(WebCore::AbstractDatabase::maximumSize):
* Modules/webdatabase/AbstractDatabase.h:
(AbstractDatabase):
- Moved isAvailable() and setIsAvailable() to the DatabaseManager.
* Modules/webdatabase/AbstractDatabaseServer.h:
(AbstractDatabaseServer):
* Modules/webdatabase/DBBackendServer.cpp: Added.
(WebCore::DBBackend::Server::initialize):
(WebCore::DBBackend::Server::setClient):
(WebCore::DBBackend::Server::databaseDirectoryPath):
(WebCore::DBBackend::Server::setDatabaseDirectoryPath):
(WebCore::DBBackend::Server::fullPathForDatabase):
(WebCore::DBBackend::Server::hasEntryForOrigin):
(WebCore::DBBackend::Server::origins):
(WebCore::DBBackend::Server::databaseNamesForOrigin):
(WebCore::DBBackend::Server::detailsForNameAndOrigin):
(WebCore::DBBackend::Server::usageForOrigin):
(WebCore::DBBackend::Server::quotaForOrigin):
(WebCore::DBBackend::Server::setQuota):
(WebCore::DBBackend::Server::deleteAllDatabases):
(WebCore::DBBackend::Server::deleteOrigin):
(WebCore::DBBackend::Server::deleteDatabase):
(WebCore::DBBackend::Server::scheduleNotifyDatabaseChanged):
(WebCore::DBBackend::Server::databaseChanged):
(WebCore::DBBackend::Server::closeDatabasesImmediately):
(WebCore::DBBackend::Server::interruptAllDatabasesForContext):
(WebCore::DBBackend::Server::canEstablishDatabase):
(WebCore::DBBackend::Server::addOpenDatabase):
(WebCore::DBBackend::Server::removeOpenDatabase):
(WebCore::DBBackend::Server::setDatabaseDetails):
(WebCore::DBBackend::Server::getMaxSizeForDatabase):
- Refactored all calls to the DatabaseTracker to go thru the DBBackend::Server.
* Modules/webdatabase/DBBackendServer.h:
* Modules/webdatabase/DOMWindowWebDatabase.cpp:
(WebCore::DOMWindowWebDatabase::openDatabase):
* Modules/webdatabase/Database.cpp:
(WebCore::Database::close):
(WebCore::Database::maximumSize):
* Modules/webdatabase/Database.h:
(Database):
- Moved the openDatabase() factory method to the DatabaseManager.
- Removed the unused deliverPendingCallback() prototype.
* Modules/webdatabase/DatabaseBasicTypes.h: Added.
- A place to define some common basic types used by the database module.
* Modules/webdatabase/DatabaseContext.cpp:
(WebCore::DatabaseContext::databaseExceededQuota):
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::DatabaseManager):
(WebCore::DatabaseManager::initialize):
(WebCore::DatabaseManager::setClient):
(WebCore::DatabaseManager::databaseDirectoryPath):
(WebCore::DatabaseManager::setDatabaseDirectoryPath):
(WebCore::DatabaseManager::isAvailable):
(WebCore::DatabaseManager::setIsAvailable):
(DatabaseCreationCallbackTask):
(WebCore::DatabaseCreationCallbackTask::create):
(WebCore::DatabaseCreationCallbackTask::performTask):
(WebCore::DatabaseCreationCallbackTask::DatabaseCreationCallbackTask):
(WebCore::DatabaseManager::openDatabase):
(WebCore::DatabaseManager::openDatabaseSync):
(WebCore::DatabaseManager::setHasOpenDatabases):
(WebCore::DatabaseManager::fullPathForDatabase):
(WebCore::DatabaseManager::hasEntryForOrigin):
(WebCore::DatabaseManager::origins):
(WebCore::DatabaseManager::databaseNamesForOrigin):
(WebCore::DatabaseManager::detailsForNameAndOrigin):
(WebCore::DatabaseManager::usageForOrigin):
(WebCore::DatabaseManager::quotaForOrigin):
(WebCore::DatabaseManager::setQuota):
(WebCore::DatabaseManager::deleteAllDatabases):
(WebCore::DatabaseManager::deleteOrigin):
(WebCore::DatabaseManager::deleteDatabase):
(WebCore::DatabaseManager::scheduleNotifyDatabaseChanged):
(WebCore::DatabaseManager::databaseChanged):
(WebCore::DatabaseManager::closeDatabasesImmediately):
(WebCore::DatabaseManager::interruptAllDatabasesForContext):
(WebCore::DatabaseManager::canEstablishDatabase):
(WebCore::DatabaseManager::addOpenDatabase):
(WebCore::DatabaseManager::removeOpenDatabase):
(WebCore::DatabaseManager::setDatabaseDetails):
(WebCore::DatabaseManager::getMaxSizeForDatabase):
* Modules/webdatabase/DatabaseManager.h:
(DatabaseManager):
* Modules/webdatabase/DatabaseSync.cpp:
(WebCore::DatabaseSync::~DatabaseSync):
(WebCore::DatabaseSync::closeImmediately):
* Modules/webdatabase/DatabaseSync.h:
(DatabaseSync):
- Moved the openDatabaseSync() factory method to the DatabaseManager.
* Modules/webdatabase/DatabaseTask.h:
* Modules/webdatabase/SQLResultSet.h:
* Modules/webdatabase/SQLStatementSync.h:
* Modules/webdatabase/SQLTransaction.h:
* Modules/webdatabase/SQLTransactionClient.cpp:
(WebCore::SQLTransactionClient::didCommitWriteTransaction):
(WebCore::SQLTransactionClient::didExecuteStatement):
(WebCore::SQLTransactionClient::didExceedQuota):
* Modules/webdatabase/SQLTransactionSync.h:
* Modules/webdatabase/WorkerContextWebDatabase.cpp:
(WebCore::WorkerContextWebDatabase::openDatabase):
(WebCore::WorkerContextWebDatabase::openDatabaseSync):
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138085 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode incorrectly checks for non-array array storage when it should be checking for array array storage
https://bugs.webkit.org/show_bug.cgi?id=105365

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore: 

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode):

LayoutTests: 

* fast/js/dfg-ensure-array-storage-on-window-expected.txt: Added.
* fast/js/dfg-ensure-array-storage-on-window.html: Added.
* fast/js/indexed-setter-on-global-object-expected.txt: Added.
* fast/js/indexed-setter-on-global-object.html: Added.
* fast/js/script-tests/dfg-ensure-array-storage-on-window.js: Added.
(foo):
* fast/js/script-tests/indexed-setter-on-global-object.js: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@138086 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix the test description.
        
Rubber stamped by Mark Hahnenberg.

* fast/js/script-tests/dfg-ensure-array-storage-on-window.js:



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