wkbuild.py fix after r157827.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157866 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fixed a typo.

* UIProcess/API/mac/WKBrowsingContextController.mm:
(didChangeBackForwardList):
* UIProcess/API/mac/WKBrowsingContextLoadDelegate.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157867 268f45cc-cd09-0410-ab3c-d52691b4dbfc
jitCompileAndSetHeuristics should DeferGCForAWhile
https://bugs.webkit.org/show_bug.cgi?id=123196

Reviewed by Mark Hahnenberg.
        
This fixes random crashes in V8v7/raytrace. I only see those crashes on exactly one of
my machines. I don't think this is testable; we just need to steadily converge towards
getting our uses of DeferGC to be right and then be careful not to regress. We're not
there yet, obviously.
        
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::jitCompileAndSetHeuristics):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157868 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make IDBDatabaseBackendLevelDB.cpp be cross platform
https://bugs.webkit.org/show_bug.cgi?id=123027

Attentively reviewed by Dean Jackson.

Source/WebCore:

Move it out of the indexeddb/leveldb directory, and rename it to IDBDatabaseBackendImpl.

Project files:
* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.cpp.
* Modules/indexeddb/IDBDatabaseBackendImpl.h: Renamed from Source/WebCore/Modules/indexeddb/leveldb/IDBDatabaseBackendLevelDB.h.

* Modules/indexeddb/IDBDatabaseBackendInterface.h:
(WebCore::IDBDatabaseBackendInterface::isIDBDatabaseBackendImpl): Add to support a required cast in LevelDB code.

* Modules/indexeddb/IDBFactoryBackendInterface.h:

* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.cpp:
* Modules/indexeddb/leveldb/IDBCursorBackendLevelDB.h:

* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.cpp:
(WebCore::IDBFactoryBackendLevelDB::deleteDatabase):
(WebCore::IDBFactoryBackendLevelDB::open):
(WebCore::IDBFactoryBackendLevelDB::maybeCreateTransactionBackend):
* Modules/indexeddb/leveldb/IDBFactoryBackendLevelDB.h:

* Modules/indexeddb/leveldb/IDBLevelDBCoding.cpp:
* Modules/indexeddb/leveldb/IDBLevelDBCoding.h:

* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.cpp:
(WebCore::IDBTransactionBackendLevelDB::create):
(WebCore::IDBTransactionBackendLevelDB::IDBTransactionBackendLevelDB):
(WebCore::IDBTransactionBackendLevelDB::scheduleVersionChangeOperation):
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDB.h:

* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.cpp:
(WebCore::IDBDatabaseBackendImpl::VersionChangeOperation::perform):
(WebCore::IDBDatabaseBackendImpl::VersionChangeAbortOperation::perform):
* Modules/indexeddb/leveldb/IDBTransactionBackendLevelDBOperations.h:

Source/WebKit2:

* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.cpp:
(WebKit::WebIDBFactoryBackend::maybeCreateTransactionBackend):
* WebProcess/Databases/IndexedDB/WebIDBFactoryBackend.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157869 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[cg] Fix the capitalization of kCGImageSourceSkipMetaData (-> Metadata)
https://bugs.webkit.org/show_bug.cgi?id=122918

Reviewed by Anders Carlsson.

* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::imageSourceOptions):
The capitalization of kCGImageSourceSkipMetaData changed to
kCGImageSourceSkipMetadata in Mountain Lion.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157870 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove Lion bots from the Dashboard.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:
(WebKitBuildbot):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157871 268f45cc-cd09-0410-ab3c-d52691b4dbfc
FTL should be able to do some simple inline caches using LLVM patchpoints
https://bugs.webkit.org/show_bug.cgi?id=123164

Source/JavaScriptCore: 

Reviewed by Mark Hahnenberg.
        
This implements GetById inline caches in the FTL using llvm.webkit.patchpoint.
        
The idea is that we ask LLVM for a nop slide the size of a GetById inline
cache and then fill in the code after LLVM compilation is complete. For now, we
just use the system calling convention for the arguments and return. We also
still make some assumptions about registers that aren't correct. But, most of
the scaffolding is there and this will successfully patch an inline cache.

* JavaScriptCore.xcodeproj/project.pbxproj:
* assembler/AbstractMacroAssembler.h:
* assembler/LinkBuffer.cpp:
(JSC::LinkBuffer::finalizeCodeWithoutDisassembly):
(JSC::LinkBuffer::linkCode):
(JSC::LinkBuffer::allocate):
* assembler/LinkBuffer.h:
(JSC::LinkBuffer::LinkBuffer):
(JSC::LinkBuffer::link):
* ftl/FTLAbbreviations.h:
(JSC::FTL::constNull):
(JSC::FTL::buildCall):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLCompile.cpp:
(JSC::FTL::fixFunctionBasedOnStackMaps):
* ftl/FTLInlineCacheDescriptor.h: Added.
(JSC::FTL::InlineCacheDescriptor::InlineCacheDescriptor):
(JSC::FTL::GetByIdDescriptor::GetByIdDescriptor):
(JSC::FTL::GetByIdDescriptor::stackmapID):
(JSC::FTL::GetByIdDescriptor::codeOrigin):
(JSC::FTL::GetByIdDescriptor::uid):
* ftl/FTLInlineCacheSize.cpp: Added.
(JSC::FTL::sizeOfGetById):
(JSC::FTL::sizeOfPutById):
* ftl/FTLInlineCacheSize.h: Added.
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLJITFinalizer.cpp:
(JSC::FTL::JITFinalizer::finalizeFunction):
* ftl/FTLJITFinalizer.h:
* ftl/FTLLocation.cpp:
(JSC::FTL::Location::directGPR):
* ftl/FTLLocation.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileGetById):
* ftl/FTLOutput.h:
(JSC::FTL::Output::call):
* ftl/FTLSlowPathCall.cpp: Added.
(JSC::FTL::callOperation):
* ftl/FTLSlowPathCall.h: Added.
(JSC::FTL::SlowPathCall::SlowPathCall):
(JSC::FTL::SlowPathCall::call):
(JSC::FTL::SlowPathCall::key):
* ftl/FTLSlowPathCallKey.cpp: Added.
(JSC::FTL::SlowPathCallKey::dump):
* ftl/FTLSlowPathCallKey.h: Added.
(JSC::FTL::SlowPathCallKey::SlowPathCallKey):
(JSC::FTL::SlowPathCallKey::usedRegisters):
(JSC::FTL::SlowPathCallKey::callTarget):
(JSC::FTL::SlowPathCallKey::offset):
(JSC::FTL::SlowPathCallKey::isEmptyValue):
(JSC::FTL::SlowPathCallKey::isDeletedValue):
(JSC::FTL::SlowPathCallKey::operator==):
(JSC::FTL::SlowPathCallKey::hash):
(JSC::FTL::SlowPathCallKeyHash::hash):
(JSC::FTL::SlowPathCallKeyHash::equal):
* ftl/FTLStackMaps.cpp:
(JSC::FTL::StackMaps::Location::directGPR):
* ftl/FTLStackMaps.h:
* ftl/FTLState.h:
* ftl/FTLThunks.cpp:
(JSC::FTL::slowPathCallThunkGenerator):
* ftl/FTLThunks.h:
(JSC::FTL::Thunks::getSlowPathCallThunk):
* jit/CCallHelpers.h:
(JSC::CCallHelpers::setupArguments):
* jit/GPRInfo.h:
* jit/JITInlineCacheGenerator.cpp:
(JSC::garbageStubInfo):
(JSC::JITInlineCacheGenerator::JITInlineCacheGenerator):
(JSC::JITByIdGenerator::finalize):
* jit/JITInlineCacheGenerator.h:
(JSC::JITByIdGenerator::slowPathBegin):
* jit/RegisterSet.cpp:
(JSC::RegisterSet::stackRegisters):
(JSC::RegisterSet::specialRegisters):
(JSC::RegisterSet::calleeSaveRegisters):
(JSC::RegisterSet::allGPRs):
(JSC::RegisterSet::allFPRs):
(JSC::RegisterSet::allRegisters):
(JSC::RegisterSet::dump):
* jit/RegisterSet.h:
(JSC::RegisterSet::exclude):
(JSC::RegisterSet::numberOfSetRegisters):
(JSC::RegisterSet::RegisterSet):
(JSC::RegisterSet::isEmptyValue):
(JSC::RegisterSet::isDeletedValue):
(JSC::RegisterSet::operator==):
(JSC::RegisterSet::hash):
(JSC::RegisterSetHash::hash):
(JSC::RegisterSetHash::equal):
* runtime/Options.h:

Source/WTF: 

Reviewed by Mark Hahnenberg.
        
This needed some better bitvector support, like merging (|=), excluding (&=~),
hashing, and bit counting.

* wtf/BitVector.cpp:
(WTF::BitVector::setSlow):
(WTF::BitVector::excludeSlow):
(WTF::BitVector::bitCountSlow):
(WTF::BitVector::equalsSlowCase):
(WTF::BitVector::hashSlowCase):
(WTF::BitVector::dump):
* wtf/BitVector.h:
(WTF::BitVector::merge):
(WTF::BitVector::exclude):
(WTF::BitVector::bitCount):
(WTF::BitVector::BitVector):
(WTF::BitVector::isEmptyValue):
(WTF::BitVector::isDeletedValue):
(WTF::BitVector::isEmptyOrDeletedValue):
(WTF::BitVector::operator==):
(WTF::BitVector::hash):
(WTF::BitVectorHash::hash):
(WTF::BitVectorHash::equal):
* wtf/HashTraits.h:
(WTF::CustomHashTraits::constructDeletedValue):
(WTF::CustomHashTraits::isDeletedValue):
(WTF::CustomHashTraits::emptyValue):
(WTF::CustomHashTraits::isEmptyValue):
* wtf/StdLibExtras.h:
(WTF::bitCount):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157872 268f45cc-cd09-0410-ab3c-d52691b4dbfc
It's valid to have a build ID of 0.

Reviewed by Tim Hatcher.

* BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotIteration.js:
(BuildbotIteration):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157873 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Re-instate ProposedDatabases needed by detailsForNameAndOrigin().
https://bugs.webkit.org/show_bug.cgi?id=123131.

Reviewed by Geoffrey Garen.

Source/WebCore: 

Test: storage/websql/open-database-expand-quota.html

If a webpage tries to create a database that exceeds the database size
quota for that security origin, the WebKit1 quota request mechanism
uses detailsForNameAndOrigin() to get the requested size of the database
(that the webpage is attempting to open) in order to determine whether
to increase the quota or not.

Previously, detailsForNameAndOrigin() relies on the ProposedDatabase
mechanism to provide this size information. This change re-instates the
ProposedDatabase mechanism so that WebKit1 client code that relies on
this behavior will continue to work.

* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::ProposedDatabase::ProposedDatabase):
(WebCore::DatabaseManager::ProposedDatabase::~ProposedDatabase):
(WebCore::DatabaseManager::DatabaseManager):
(WebCore::DatabaseManager::openDatabaseBackend):
(WebCore::DatabaseManager::fullPathForDatabase):
(WebCore::DatabaseManager::detailsForNameAndOrigin):
* Modules/webdatabase/DatabaseManager.h:
(WebCore::DatabaseManager::ProposedDatabase::origin):
(WebCore::DatabaseManager::ProposedDatabase::details):

Tools: 

Updated these files to allow database quotas to grow within a limit for
testing purposes.

* DumpRenderTree/blackberry/DumpRenderTree.cpp:
(BlackBerry::WebKit::DumpRenderTree::exceededDatabaseQuota):
* DumpRenderTree/efl/DumpRenderTreeView.cpp:
(onExceededDatabaseQuota):
* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:frame:exceededDatabaseQuotaForSecurityOrigin:database:]):
* DumpRenderTree/win/UIDelegate.cpp:
(UIDelegate::exceededDatabaseQuota):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
(WTR::InjectedBundlePage::didExceedDatabaseQuota):
* WebKitTestRunner/TestController.cpp:
(WTR::exceededDatabaseQuota):

LayoutTests: 

Added a test to exercise growing the database quota within limit.

* platform/gtk/TestExpectations:
* storage/websql/open-database-expand-quota-expected.txt: Added.
* storage/websql/open-database-expand-quota.html: Added.
* storage/websql/open-database-over-quota-expected.txt:
* storage/websql/open-database-over-quota.html:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157874 268f45cc-cd09-0410-ab3c-d52691b4dbfc
LLInt arity check exception processing should start unwinding from caller
https://bugs.webkit.org/show_bug.cgi?id=123209

Reviewed by Oliver Hunt.

Use the caller frame returned from slow_path_call_arityCheck to process exceptions.

* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove the ifdef to exclude remote layer tree transaction logging
on Lion and before.

Rubber-stamped by Anders Carlsson.

* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
* UIProcess/mac/RemoteLayerTreeHost.mm:
(WebKit::RemoteLayerTreeHost::commit):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make more StringImpl construction functions return PassRef.
<https://webkit.org/b/123203>

Knock out a couple more of the StringImpl construction helpers that
always return a non-null StringImpl.

Reviewed by Antti Koivisto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Antialias underlines if they're not axis-aligned
https://bugs.webkit.org/show_bug.cgi?id=123004

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-10-23
Reviewed by Simon Fraser.

Source/WebCore:

In order to make underlines crisp, GraphicsContext:drawLineForText
modifies the bounds of the underline rect in order to make the rect
device-pixel-aligned, and then turns off antialiasing when drawing
the line. This makes sense when the underline is axis-aligned, but
doesn't when the rect is rotated or skewed. Therefore, we should
only opt-in to this behavior if the underline we're about to draw
is axis-aligned. This requires figuring out whether or not the
current transformation is axis-aligned every time
GraphicsContext::drawLineForText is called, which will incur a small
performance hit. However, this is justified by underlines looking
much better (antialiased) when the context is rotated or skewed.

Tests: svg/custom/foreign-object-skew.html
       svg/zoom/page/zoom-foreignObject.html
       svg/zoom/text/zoom-foreignObject.html:

* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::drawLineForText):

LayoutTests:

Updating tests that draw underlines in a non-axis-aligned
GraphicsContext. The expected .png's should show an antialiased
underline. However, underlines which are axis-aligned should still
be unchanged.

* platform/mac/svg/custom/foreign-object-skew-expected.png:
* platform/mac/svg/zoom/page/zoom-foreignObject-expected.png:
* platform/mac/svg/zoom/text/zoom-foreignObject-expected.png:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157878 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix JavaScriptCore build targets following <http://trac.webkit.org/changeset/157864>
(https://bugs.webkit.org/show_bug.cgi?id=123169)

Tell Xcode that the supported platforms for all JavaScriptCore targets are iOS and OS X.

* Configurations/Base.xcconfig:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157879 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Clicking on a test name on the new flakiness dashboard should add a new test pane
https://bugs.webkit.org/show_bug.cgi?id=123194

Reviewed by Simon Fraser.

Added a new click handler on each test name inside the builder test view add a new test pane.
Moved the old trac link to a right-arrow inline SVG icon.

Also tweaked the style so that the builder test view looks different from other test panes.

* index.html:
(TestResultsView._urlFromTest): Extracted from TestResultsView._linkifiedTestName.
(TestResultsView._populateBuilderPane): Fetch the test when its name is clicked.
Added a circled right arrow for the old trac link.
* main.css: Tweaked the style to move the rounded border around the builder test view to be
around the form controls to clearly differentiate it from a regular test pane.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157880 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Reverted erroneously committed changes from the previous commit.

* index.html:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157881 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Explicitly build Win32 or x64 configuration on Windows.
https://bugs.webkit.org/show_bug.cgi?id=123206

Patch by Alex Christensen <achristensen@webkit.org> on 2013-10-23
Reviewed by Brent Fulgham.

* Scripts/webkitdirs.pm:
(jscPath):
(determineConfigurationForVisualStudio):
(determinePassedConfiguration):
Add |Win32 to the end of 32-bit Visual Studio build configurations.
(safariPath):
* Scripts/build-webkit:
* Scripts/old-run-webkit-tests:
* Scripts/run-api-tests:
(testToolPath):
* Scripts/run-javascriptcore-tests:
(testapiPath):
* Scripts/run-regexp-tests:
(testapiPath):
* Scripts/sunspider-compare-results:
(pathToBuiltJSC):
Use configuration instead of configurationForVisualStudio, which are now always different.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157882 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Put all uses of LLVM intrinsics behind a single Option
https://bugs.webkit.org/show_bug.cgi?id=123219

Reviewed by Mark Hahnenberg.

* ftl/FTLExitThunkGenerator.cpp:
(JSC::FTL::ExitThunkGenerator::emitThunk):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::generateExitThunks):
(JSC::FTL::LowerDFGToLLVM::compileGetById):
(JSC::FTL::LowerDFGToLLVM::emitOSRExitCall):
(JSC::FTL::LowerDFGToLLVM::addExitArgumentForNode):
* ftl/FTLOSRExitCompiler.cpp:
(JSC::FTL::compileFTLOSRExit):
* runtime/Options.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157883 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Separated USE(CA) from USE(ACCELERATED_COMPOSITING) to prepare WinCairo for accelerated compositing.
https://bugs.webkit.org/show_bug.cgi?id=123214

Patch by Alex Christensen <achristensen@webkit.org> on 2013-10-23
Reviewed by Brent Fulgham.

Source/WebCore:

* platform/graphics/PlatformLayer.h:
Added TextureMapperPlatformLayer PlatformLayer declaration for WinCairo.
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
(WebCore::MediaPlayerPrivateFullscreenWindow::createWindow):
(WebCore::MediaPlayerPrivateFullscreenWindow::wndProc):
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.h:
Added USE(CA) where necessary to compile WinCairo with accelerated compositing.

Source/WebKit/win:

* WebCoreSupport/WebChromeClient.h:
(WebChromeClient::delegatedScrollRequested): Added empty function.
* WebPreferences.cpp:
(WebPreferences::acceleratedCompositingEnabled):
Return true for non-CA ports using accelerated compositing.
* WebView.cpp:
(WebView::~WebView):
(WebView::sizeChanged):
(WebView::paint):
(WebView::setShouldInvertColors):
(WebView::flushPendingGraphicsLayerChangesSoon):
(WebView::setAcceleratedCompositing):
* WebView.h:
Added USE(CA) where necessary to compile WinCairo with accelerated compositing.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@157884 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix assertion in DatabaseManager::detailsForNameAndOrigin() to be iOS friendly.
https://bugs.webkit.org/show_bug.cgi?id=123218.

Reviewed by Joseph Pecoraro.

No new tests.

* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::detailsForNameAndOrigin):



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