IndexedDB: test conversion batch 3
https://bugs.webkit.org/show_bug.cgi?id=102168

Reviewed by Tony Chang.

These were all pretty straightforward. metadata.html could include
some additional tests that check the metadata after a versionchange
transaction aborts, but I think that's tested in one of the intversion
tests.

* storage/indexeddb/exceptions-expected.txt:
* storage/indexeddb/factory-deletedatabase-expected.txt:
* storage/indexeddb/index-duplicate-keypaths-expected.txt:
* storage/indexeddb/index-multientry-expected.txt:
* storage/indexeddb/index-population-expected.txt:
* storage/indexeddb/metadata-expected.txt:
* storage/indexeddb/resources/database-basics.js:
  Fix failure when run as a chromium browser test.

* storage/indexeddb/resources/exceptions.js:
  Moved some asserts from running before the database is opened to
  afterward but they appear to be testing the same thing.
(transactionComplete):
  close can't proceed until the transactions are complete, something
  setVersion didn't have to deal with.

* storage/indexeddb/resources/factory-deletedatabase.js:
  The conditions under which deleteDatabase is called in this test is
  _slightly_ different. Previously, deleteDatabase was called from
  inside a versionchange transaction, causing the original connection
  to receive a versionchange event. With upgradeneeded we have to close
  the original connection before entering a versionchange transaction,
  so the second connection is now what closes in response to the
  deleteDatabase's versionchange event.

* storage/indexeddb/resources/index-duplicate-keypaths.js:
(testCollideAutoIncrementSetup):
(testCollideAutoIncrement):
* storage/indexeddb/resources/index-multientry.js:
(prepareDatabase):
(createIndexOnStoreWithData):
* storage/indexeddb/resources/index-population.js:
(prepareDatabase.request.onsuccess):
(prepareDatabase):
(doSetVersion2):
(setVersion2):
(setVersion2Abort):
* storage/indexeddb/resources/metadata.js:
(prepareDatabase):
(snapshotConnection1):
(secondOpen.request.onupgradeneeded):
(secondOpen.request.onsuccess):
(secondOpen):
(thirdOpen.request.onupgradeneeded):
(thirdOpen.request.onerror):
(thirdOpen):
(fourthOpen.request.onupgradeneeded):
(fourthOpen.request.onsuccess):
(fourthOpen):
(checkState):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134661 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Refactor theme font lookup into a factory
https://bugs.webkit.org/show_bug.cgi?id=101949

Patch by Scott Violet <sky@chromium.org> on 2012-11-14
Reviewed by Tony Chang.

This will ultimately allow us to use what is currently in RenderThemeChromiumLinux on windows.

No new tests. Refactoring only.

* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* rendering/RenderThemeChromiumFontProvider.cpp: Added.
(WebCore):
(WebCore::RenderThemeChromiumFontProvider::defaultGUIFont): Moved into RenderThemeFontProvider.
* rendering/RenderThemeChromiumFontProvider.h: Added.
(WTF):
(WebCore):
(RenderThemeChromiumFontProvider): This is the font related methods.
* rendering/RenderThemeChromiumFontProviderLinux.cpp: Added.
(WebCore):
(WebCore::RenderThemeChromiumFontProvider::setDefaultFontSize): What was in RenderThemeChromiumSkia::setDefaultFontSize.
(WebCore::RenderThemeChromiumFontProvider::systemFont): What was in RenderThemeChromiumSkia::systemFont.
* rendering/RenderThemeChromiumFontProviderWin.cpp: Added.
(WebCore):
(WebCore::pointsToPixels): Moved from RenderThemeChromiumWin.
(WebCore::getNonClientMetrics): Moved from RenderThemeChromiumWin.
(WebCore::systemFontSize): Moved from RenderThemeChromiumWin.
(WebCore::RenderThemeChromiumFontProvider::systemFont): Moved from RenderThemeChromiumWin.
(WebCore::RenderThemeChromiumFontProvider::setDefaultFontSize): Moved from RenderThemeChromiumWin.
* rendering/RenderThemeChromiumSkia.cpp:
(WebCore::RenderThemeChromiumSkia::RenderThemeChromiumSkia): Moved into RenderThemeFontProvider.
(WebCore::RenderThemeChromiumSkia::systemFont): Calls to RenderThemeChromiumFontProvider.
(WebCore::RenderThemeChromiumSkia::setDefaultFontSize): Calls to RenderThemeChromiumFontProvider.
* rendering/RenderThemeChromiumSkia.h:
(RenderThemeChromiumSkia): Moves defaultFontSize into RenderThemeChromiumFontProvider.
* rendering/RenderThemeChromiumWin.cpp: Moves font code into RenderThemeFontProviderWin.
(WebCore):
* rendering/RenderThemeChromiumWin.h: Removed overriden methods now handled by RenderThemeChromiumSkia.
(RenderThemeChromiumWin):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134662 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Coordinated Graphics: Rename m_CoordinatedGraphicsLayerClient to m_coordinator
https://bugs.webkit.org/show_bug.cgi?id=102133

Renamed m_CoordinatedGraphicsLayerClient to m_coordinator.
Also, there is no need for calling setCoordinator every time the tree changes,
since we can call it once when the layer is created, now that LayerTreeCoordinator
is the GraphicsLayerFactory.

Reviewed by Kenneth Rohde Christiansen

No change in functionality.

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setChildren):
(WebCore::CoordinatedGraphicsLayer::addChild):
(WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
(WebCore::CoordinatedGraphicsLayer::addChildAbove):
(WebCore::CoordinatedGraphicsLayer::addChildBelow):
(WebCore::CoordinatedGraphicsLayer::replaceChild):
(WebCore::CoordinatedGraphicsLayer::setContentsToImage):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):
(WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
(WebCore::CoordinatedGraphicsLayer::flushCompositingState):
(WebCore::CoordinatedGraphicsLayer::syncChildren):
(WebCore::CoordinatedGraphicsLayer::syncFilters):
(WebCore::CoordinatedGraphicsLayer::syncLayerState):
(WebCore::CoordinatedGraphicsLayer::syncAnimations):
(WebCore::CoordinatedGraphicsLayer::syncCanvas):
(WebCore::CoordinatedGraphicsLayer::ensureImageBackingStore):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
(WebCore::CoordinatedGraphicsLayer::createTile):
(WebCore::CoordinatedGraphicsLayer::updateTile):
(WebCore::CoordinatedGraphicsLayer::removeTile):
(WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
(WebCore::CoordinatedGraphicsLayer::setCoordinator):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::paintContents):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@134663 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Only resolve presentation attribute style once per shared ElementAttributeData.
<http://webkit.org/b/100990>

Reviewed by Antti Koivisto.

Track the "presentation attribute style dirty" state on ElementAttributeData instead of in a Node flag.
This allows us to avoid duplicate work for ElementAttributeData that are shared between multiple elements,
since the state is no longer per-Element.

I've left the presentation attribute cache in there for now, since it still covers the case where
two elements have the same presentation attributes but different non-presentation attributes.
It's likely that we're not gaining much from it anymore, but that's a topic for another patch.

(WebCore::StyledElement::rebuildPresentationAttributeStyle):
* dom/StyledElement.h:
(WebCore::StyledElement::presentationAttributeStyle):
(WebCore::ElementAttributeData::ElementAttributeData):
* dom/ElementAttributeData.h:
(WebCore::ElementAttributeData::ElementAttributeData):
(ElementAttributeData):
* dom/Node.h:

    Move presentation attribute style dirty flag from Node to ElementAttributeData.

* dom/ElementAttributeData.cpp:
(SameSizeAsElementAttributeData):

    Add a compile-time object size assertion for ElementAttributeData.

* dom/StyledElement.cpp:
(WebCore::StyledElement::attributeChanged):

    Don't mark the presentation attribute style dirty if the element is using an immutable (implies
    shared) ElementAttributeData and another element has already generated the StylePropertySet.
    The element itself is still marked for style recalc like before, this just avoids the process
    of converting the attributes to CSS properties.


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