convert apple mac TestExpectations files to the new syntax
https://bugs.webkit.org/show_bug.cgi?id=97143

Unreviewed, expectations change.

Files converted with Tools/Scripts/convert-test-expectations.

* platform/mac-lion/TestExpectations:
* platform/mac-snowleopard/TestExpectations:
* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129061 268f45cc-cd09-0410-ab3c-d52691b4dbfc
convert apple win TestExpectations files to the new syntax
https://bugs.webkit.org/show_bug.cgi?id=97144

Unreviewed, expectations change.

Files converted with Tools/Scripts/convert-test-expectations.

* platform/win-wk2/TestExpectations:
* platform/win-xp/TestExpectations:
* platform/win/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129062 268f45cc-cd09-0410-ab3c-d52691b4dbfc
nrwt: convert chromium TestExpectations to the new syntax
https://bugs.webkit.org/show_bug.cgi?id=97139

Reviewed by Ryosuke Niwa.

Actually land the file supposedly landed below :).

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129063 268f45cc-cd09-0410-ab3c-d52691b4dbfc
convert chromium android TestExpectations to the new syntax
https://bugs.webkit.org/show_bug.cgi?id=97145

Unreviewed, expectations change.

Files converted with Tools/Scripts/convert-test-expectations.

* platform/chromium-android/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129064 268f45cc-cd09-0410-ab3c-d52691b4dbfc
REGRESSION(r128802): It made some JS tests crash
https://bugs.webkit.org/show_bug.cgi?id=97001

Reviewed by Mark Hahnenberg.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::visitChildren):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Remove "current transaction" concept from backing store
https://bugs.webkit.org/show_bug.cgi?id=96663

Reviewed by Tony Chang.

Source/WebCore:

IndexedDB should allow multiple transactions to run in parallel within and
across databases within an origin. As an initial step to enabling this, the
backing store should not hold a "current transaction" - instead, operations
should be done relative to a transaction managed by the database.

No new tests - no functional changes.

* Modules/indexeddb/IDBBackingStore.h:
(IDBBackingStore):
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::createObjectStoreInternal):
(WebCore::IDBDatabaseBackendImpl::deleteObjectStoreInternal):
(WebCore::IDBDatabaseBackendImpl::setVersionInternal):
(WebCore::IDBDatabaseBackendImpl::setIntVersionInternal):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::openCursorInternal):
(WebCore::IDBIndexBackendImpl::countInternal):
(WebCore::IDBIndexBackendImpl::count):
(WebCore::IDBIndexBackendImpl::getInternal):
(WebCore::IDBIndexBackendImpl::getKeyInternal):
(WebCore::IDBIndexBackendImpl::get):
(WebCore::IDBIndexBackendImpl::getKey):
* Modules/indexeddb/IDBIndexBackendImpl.h:
(IDBIndexBackendImpl):
* Modules/indexeddb/IDBLevelDBBackingStore.cpp:
(WebCore::IDBLevelDBBackingStore::updateIDBDatabaseIntVersion):
(WebCore::IDBLevelDBBackingStore::updateIDBDatabaseMetaData):
(WebCore::IDBLevelDBBackingStore::createObjectStore):
(WebCore::IDBLevelDBBackingStore::deleteObjectStore):
(WebCore::IDBLevelDBBackingStore::getObjectStoreRecord):
(WebCore):
(WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
(WebCore::IDBLevelDBBackingStore::clearObjectStore):
(WebCore::IDBLevelDBBackingStore::deleteObjectStoreRecord):
(WebCore::IDBLevelDBBackingStore::getKeyGeneratorCurrentNumber):
(WebCore::IDBLevelDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
(WebCore::IDBLevelDBBackingStore::keyExistsInObjectStore):
(WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
(WebCore::IDBLevelDBBackingStore::createIndex):
(WebCore::IDBLevelDBBackingStore::deleteIndex):
(WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
(WebCore::IDBLevelDBBackingStore::deleteIndexDataForRecord):
(WebCore::IDBLevelDBBackingStore::findKeyInIndex):
(WebCore::IDBLevelDBBackingStore::getPrimaryKeyViaIndex):
(WebCore::IDBLevelDBBackingStore::keyExistsInIndex):
(WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
(WebCore::IDBLevelDBBackingStore::openObjectStoreKeyCursor):
(WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
(WebCore::IDBLevelDBBackingStore::openIndexCursor):
(WebCore::IDBLevelDBBackingStore::Transaction::Transaction):
(WebCore::IDBLevelDBBackingStore::Transaction::begin):
(WebCore::IDBLevelDBBackingStore::Transaction::commit):
(WebCore::IDBLevelDBBackingStore::Transaction::rollback):
* Modules/indexeddb/IDBLevelDBBackingStore.h:
(IDBLevelDBBackingStore):
(WebCore::IDBLevelDBBackingStore::Transaction::levelDBTransaction):
(Transaction):
(WebCore::IDBLevelDBBackingStore::Transaction::levelDBTransactionFrom):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::get):
(WebCore::IDBObjectStoreBackendImpl::getInternal):
(WebCore):
(WebCore::makeIndexWriters):
(WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::deleteFunction):
(WebCore::IDBObjectStoreBackendImpl::deleteInternal):
(WebCore::IDBObjectStoreBackendImpl::clear):
(WebCore::IDBObjectStoreBackendImpl::clearInternal):
(WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
(WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
(WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
(WebCore::IDBObjectStoreBackendImpl::count):
(WebCore::IDBObjectStoreBackendImpl::countInternal):
(WebCore::IDBObjectStoreBackendImpl::generateKey):
(WebCore::IDBObjectStoreBackendImpl::updateKeyGenerator):
* Modules/indexeddb/IDBObjectStoreBackendImpl.h:
(IDBObjectStoreBackendImpl):

Source/WebKit/chromium:

Update fake class with new method signatures.

* tests/IDBFakeBackingStore.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix lines missed (??) in mac-wk2/TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=97143

Unreviewed, expectations change.

* platform/mac-wk2/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129067 268f45cc-cd09-0410-ab3c-d52691b4dbfc
When kerning is enabled, word spacing is doubly accounted for in RenderText::computePreferredLogicalWidths
https://bugs.webkit.org/show_bug.cgi?id=97146

Reviewed by Anders Carlsson.

Source/WebCore: 

Test: fast/text/word-space-with-kerning.html

* rendering/RenderText.cpp:
(WebCore::RenderText::computePreferredLogicalWidths): When kerning is enabled, words are
measured with their trailing space, if there is one, then the width of a space is subtracted.
Changed that width, stored in the local variable wordTrailingSpaceWidth, to include the
word spacing, since it is included in the result of widthFromCache().

LayoutTests: 

* fast/text/word-space-with-kerning-expected.html: Added.
* fast/text/word-space-with-kerning.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129068 268f45cc-cd09-0410-ab3c-d52691b4dbfc
fix MISSING after TestExpectations conversion
https://bugs.webkit.org/show_bug.cgi?id=97148

Tools:

Unreviewed, expectations change / build fix.

* Scripts/convert-test-expectations:
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectationParser):

LayoutTests:

Unreviewed, expectations change.

* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt-4.8/TestExpectations:
* platform/qt-mac/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129069 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Disable resource load scheduling
https://bugs.webkit.org/show_bug.cgi?id=97131

Reviewed by Nate Chapin.

Source/WebCore:

We'll use Chrome's network stack for scheduling instead.

No new tests.

* loader/ResourceLoadScheduler.cpp:
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::preload):

LayoutTests:

The preload scanner loads resources sooner and these tests are affected.

* platform/chromium/http/tests/css/link-css-disabled-value-with-slow-loading-sheet-in-error-expected.txt: Added.
* platform/chromium/http/tests/inspector/network/network-initiator-expected.txt: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129070 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fix v8 bug urls after syntax conversion

Unreviewed, expectations change.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129071 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Fix expectation conflict on fast/hidpi/video-controls-in-hidpi.html

Unreviewed, exepectations change.

* platform/chromium/TestExpectations:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129072 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add backer@chromium.org as contributor
https://bugs.webkit.org/show_bug.cgi?id=97150

* Scripts/webkitpy/common/config/committers.py:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129073 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Improve glyph positioning of HarfBuzzShaper
https://bugs.webkit.org/show_bug.cgi?id=97093

Reviewed by Tony Chang.

For proper positioning, HarfBuzzShaper requires the positions(offsets and advance)
of the previous glyph. This mean we need to shape all HarfBuzzRuns before glyph positioning.
Collect and shape HarfBuzzRuns, then set positions of glyphs.

No new tests. Tests that uses spacing for complex text (e.g. fast/text/atsui-negative-spacing-features.html)
should close in the expectations. (not the identical, maybe there are subtle differences between
harfbuzz old and harfbuzz ng)

* platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::HarfBuzzRun::applyShapeResult): Allocate m_offsets.
(WebCore::HarfBuzzShaper::HarfBuzzRun::setGlyphAndPositions): Renamed and set offset too.
(WebCore::HarfBuzzShaper::HarfBuzzRun::characterIndexForXPosition):
(WebCore::HarfBuzzShaper::shape): Call fillGlyphBuffer() if we need to fill glyphBuffer.
(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns): Removed glyph positioning code.
(WebCore::HarfBuzzShaper::setGlyphPositionsForHarfBuzzRun): Ditto.
(WebCore::HarfBuzzShaper::fillGlyphBufferFromHarfBuzzRun): Added.
(WebCore):
(WebCore::HarfBuzzShaper::fillGlyphBuffer): Added.
* platform/graphics/harfbuzz/ng/HarfBuzzShaper.h:
(HarfBuzzRun):
(WebCore::HarfBuzzShaper::HarfBuzzRun::offsets): Added.
(WebCore::HarfBuzzShaper::HarfBuzzRun::glyphToCharacterIndexes): Added.
(HarfBuzzShaper):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129074 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Attempt to unskip some tests by removing them from the Skipped list.

Added new baselines for those that need them.

* platform/mac/Skipped:
* platform/mac/fast/block/float/float-in-float-hit-testing-expected.txt:
* platform/mac/fast/frames/flattening/frameset-flattening-advanced-expected.txt:
* platform/mac/fast/frames/flattening/frameset-flattening-simple-expected.txt:
* platform/mac/fast/frames/flattening/frameset-flattening-subframesets-expected.txt:
* platform/mac/fast/layers/video-layer-expected.txt:
* platform/mac/fast/table/cell-pref-width-invalidation-expected.txt:
* platform/mac/fast/table/colspanMinWidth-vertical-expected.txt:
* platform/mac/fast/writing-mode/broken-ideograph-small-caps-expected.txt:
* platform/mac/media/video-empty-source-expected.txt:
* platform/mac/tables/mozilla/bugs/bug2123-expected.txt:
* platform/mac/tables/mozilla/bugs/bug2509-expected.txt:
* platform/mac/tables/mozilla/bugs/bug34176-expected.txt:
* platform/mac/tables/mozilla/bugs/bug44505-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug59252-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug7243-expected.txt:
* platform/mac/tables/mozilla_expected_failures/bugs/bug85016-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129075 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Pending call cleanup
https://bugs.webkit.org/show_bug.cgi?id=96952

Reviewed by Tony Chang.

Replace RefPtr usage with OwnPtr for PendingXXXCalls (since they're never referenced twice)
and replace queue of "second half open" calls with a single item.

No new tests - no functional changes.

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::PendingOpenCall::create):
(WebCore::IDBDatabaseBackendImpl::PendingOpenWithVersionCall::create):
(WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::create):
(WebCore::IDBDatabaseBackendImpl::PendingSetVersionCall::create):
(WebCore::IDBDatabaseBackendImpl::setVersion):
(WebCore::IDBDatabaseBackendImpl::transactionFinishedAndAbortFired):
(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
(WebCore::IDBDatabaseBackendImpl::runIntVersionChangeTransaction):
(WebCore::IDBDatabaseBackendImpl::close):
* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(IDBDatabaseBackendImpl):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129076 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[V8] ScriptController::compileAndRunScript() can crash
https://bugs.webkit.org/show_bug.cgi?id=96567

Reviewed by Adam Barth.

See chromium bug: http://code.google.com/p/chromium/issues/detail?id=146776

The root cause is that v8::PreCompile() can return 0 when the stack of
V8's parser overflows (c.f. http://code.google.com/codesearch#OAMlx_jo-ck/src/v8/src/parser.cc&exact_package=chromium&q=kPreParseStackOverflow&type=cs&l=6021).

This patch adds the 0 check to the caller side. Given that precompileScript()
is just trying to speculatively precompile a script, it's OK to give up
precompiling for such edge cases.

Manually tested with the html generated by the following shell script:

  echo '<script language="JavaScript" type="text/javascript" src="asan-crash.js"></script>' > asan-crash.html
  echo 'if(wURLF.search("")>=0) {}' > asan-crash.js
  for i in `seq 14830`
  do
    echo 'else if(wURLF.search("")>=0) {}' >> asan-crash.js
  done

I didn't add the test because '14380' depends on an environment
and because we don't want to add a huge html test.

* bindings/v8/ScriptSourceCode.cpp:
(WebCore::ScriptSourceCode::precompileScript):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129077 268f45cc-cd09-0410-ab3c-d52691b4dbfc
The collapsing border code needs direction-aware border getters
https://bugs.webkit.org/show_bug.cgi?id=96710

Reviewed by Ojan Vafai.

This refactoring is needed to extend our collapsing border support for mixed directionality
at the table cell level (we currently wrongly ignore any direction below the row-group). For
now, the new helpers are dumb and return exactly the old result but they will be made
direction-aware in a follow-up change.

Refactoring covered by existing tests.

* rendering/RenderBox.h:
(WebCore::RenderBox::hasSameDirectionAs):
Added this helper function. For now, it's only used to compare against
the table direction but we will reuse it to compare the current cell
direction against the other table parts.

* rendering/RenderTableCell.h:
(WebCore::RenderTableCell::computeCollapsedStartBorder):
(WebCore::RenderTableCell::computeCollapsedEndBorder):
Transitioned those 2 functions to using the new direction-aware functions.

* rendering/RenderTable.cpp:
(WebCore::RenderTable::tableStartBorderAdjoiningCell):
(WebCore::RenderTable::tableEndBorderAdjoiningCell):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::firstRowCellAdjoiningTableStart):
(WebCore::RenderTableSection::firstRowCellAdjoiningTableEnd):
* rendering/RenderTableCell.h:
(WebCore::RenderTableCell::borderAdjoiningTableStart):
(WebCore::RenderTableCell::borderAdjoiningTableEnd):
* rendering/RenderTableSection.h:
(WebCore::RenderTableSection::borderAdjoiningTableStart):
(WebCore::RenderTableSection::borderAdjoiningTableEnd):
Updated those call sites to use RenderBox::hasSameDirectionAs.

* rendering/RenderTableCell.h:
(WebCore::RenderTableCell::borderAdjoiningNextCell):
(WebCore::RenderTableCell::borderAdjoiningPreviousCell):
* rendering/RenderTableCol.cpp:
(WebCore::RenderTableCol::borderAdjoiningCellStartBorder):
(WebCore::RenderTableCol::borderAdjoiningCellEndBorder):
(WebCore::RenderTableCol::borderAdjoiningCellBefore):
(WebCore::RenderTableCol::borderAdjoiningCellAfter):
* rendering/RenderTableCol.h:
* rendering/RenderTableRow.cpp:
(WebCore::RenderTableRow::borderAdjoiningStartCell):
(WebCore::RenderTableRow::borderAdjoiningEndCell):
* rendering/RenderTableRow.h:
(WebCore::RenderTableRow::borderAdjoiningTableStart):
(WebCore::RenderTableRow::borderAdjoiningTableEnd):
* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::borderAdjoiningStartCell):
(WebCore::RenderTableSection::borderAdjoiningEndCell):
New direction-aware functions. Added some ASSERT to ensure
we don't call them with the wrong parameters.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129078 268f45cc-cd09-0410-ab3c-d52691b4dbfc
update flakiness dashboard after cutover to new test expectations syntax
https://bugs.webkit.org/show_bug.cgi?id=97152

Reviewed by Ryosuke Niwa.

This change clones the TestExpectation parsing state machine
from python into javascript.

* TestResultServer/static-dashboards/flakiness_dashboard.js:
(parsedExpectations.lines.forEach):
(parsedExpectations):
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@129079 268f45cc-cd09-0410-ab3c-d52691b4dbfc
update flakiness dashboard after cutover to new test expectations syntax
https://bugs.webkit.org/show_bug.cgi?id=97152

Unreviewed, build fix.

Handle (??) the new Bug notations as well. Hopefully we don't
still need the old ones.

* TestResultServer/static-dashboards/flakiness_dashboard.js:
(filterBugs):
(htmlForBugs):
* TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

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