Update safariVersion to safariVersionString
https://bugs.webkit.org/show_bug.cgi?id=138193

The preceding change updated safariVersion to safariVersionString for the "4 Public Beta" check in OS X 10.5.x,
but it should have also been done for the "4 Public Beta" check in OS X 10.4.x.

Rubber-stamped by David Kilzer.

* Scripts/bisect-builds:
(makeNightlyList):
Compare safariVersionString to a string literal, instead of safariVersion.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175377 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB is deleting data when a PK is shared amongst two objectStores
rdar://problem/18479306 and https://bugs.webkit.org/show_bug.cgi?id=137154

Reviewed by Jer Noble.

Source/WebKit2:

* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.cpp:
(WebKit::v1RecordsTableSchema): Store away the v1 schema for introspection into the database.
(WebKit::v2RecordsTableSchema): Add utility methods to get the v2 schema with different Table names.
(WebKit::createOrMigrateRecordsTableIfNecessary): Check to see if the Records table exists with
  the correct schema. If it is the v1 schema, then migrate the data to a new v2 table, drop the v1
  table, then slide the new table into place.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::ensureValidRecordsTable): Make sure the Records table
  exists and is v2, and then make sure the uniqueness index exists.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::createAndPopulateInitialMetadata): Don’t bother creating
  the Records table here as it will have already been established earlier.
(WebKit::UniqueIDBDatabaseBackingStoreSQLite::getOrEstablishMetadata):
* DatabaseProcess/IndexedDB/sqlite/UniqueIDBDatabaseBackingStoreSQLite.h:

LayoutTests:

* storage/indexeddb/primary-key-unique-to-objectstore-expected.txt: Added.
* storage/indexeddb/primary-key-unique-to-objectstore.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175378 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Migrate ComplexTextControllerCoreText to use SPI instead of WKSI
https://bugs.webkit.org/show_bug.cgi?id=138228

Reviewed by Simon Fraser.

No new tests because there is no behavior change.

* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::ComplexTextRun::ComplexTextRun):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
* platform/spi/cocoa/CoreTextSPI.h: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175379 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Optimize HTMLVideoElement / HTMLAudioElement type checks a bit
https://bugs.webkit.org/show_bug.cgi?id=138202

Reviewed by Benjamin Poulain.

Optimize HTMLVideoElement / HTMLAudioElement type checks a bit by:
1. Using is<HTMLMediaElement>() instead of
   (is<HTMLVideoElement>() || is<HTMLAudioElement>()) if the caller is
   interested in both video and audio elements. This is faster because
   it ends up doing:
       - virtual call to Element::isMediaElement()
   instead of
       - Node::isHTMLElement() +
         virtual call to HTMLElement::isHTMLUnknownElement() +
         2 * HTMLElement::hasTagName()
2. Updating HTMLVideoElement / HTMLAudioElement type traits
   specializations to:
   - Avoid doing any virtual function call if the input type is an
     HTMLMediaElement (which is common in the code base).
   - Speed up check if the input is an Element by doing:
       - virtual call to Element::isMediaElement() +
         HTMLElement::hasTagName()
     instead of
       - Node::isHTMLElement() +
         virtual call to !HTMLElement::isHTMLUnknownElement() +
         HTMLElement::hasTagName()
     The speed stays the same if the input is a Node or an HTMLElement.

No new tests, no behavior change.

* css/CSSDefaultStyleSheets.cpp:
(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
* dom/make_names.pl:
(defaultTagPropertyHash):
(printTypeHelpers):
* html/HTMLAudioElement.h:
(isType):
* html/HTMLImageLoader.cpp:
* html/HTMLTagNames.in:
* html/HTMLVideoElement.h:
(isType):
* page/ChromeClient.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175380 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move -webkit-border-image / -webkit-mask-box-image to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138207

Reviewed by Andreas Kling.

Move -webkit-border-image / -webkit-mask-box-image CSS properties to
the new StyleBuilder so that they are now generated from
CSSPropertyNames.in.

No new tests, no behavior change.

* css/CSSPropertyNames.in:
* css/DeprecatedStyleBuilder.cpp:
(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyBorderImage::applyValue): Deleted.
(WebCore::ApplyPropertyBorderImage::createHandler): Deleted.
* css/StyleBuilderConverter.h:
(WebCore::StyleBuilderConverter::convertBorderImage):
(WebCore::StyleBuilderConverter::convertBorderMask):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175381 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ASSERT(!m_deletionHasBegun) in RefCounted.h should be ASSERT_WITH_SECURITY_IMPLICATION
https://bugs.webkit.org/show_bug.cgi?id=138141

Reviewed by Alexey Proskuryakov.

* wtf/RefCounted.h:
(WTF::RefCountedBase::ref):
(WTF::RefCountedBase::relaxAdoptionRequirement):
(WTF::RefCountedBase::derefBase):
(WTF::adopted):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@175382 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use references in calculateMinimumPageHeight() for non-optional arguments
https://bugs.webkit.org/show_bug.cgi?id=138231

Reviewed by Dean Jackson.

No new tests because there is no behavior change.

* rendering/RenderBlockFlow.cpp:
(WebCore::calculateMinimumPageHeight):
(WebCore::RenderBlockFlow::adjustLinePositionForPagination):

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