[BlackBerry] Fix usage of HitTestRequest::RequestType
https://bugs.webkit.org/show_bug.cgi?id=110342

Patch by Alberto Garcia <albgarcia@rim.com> on 2013-02-20
Reviewed by Carlos Garcia Campos.

Rename HitTestResult::* -> HitTestRequest::*
This was introduced by mistake in r142977.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::hitTestResult):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143460 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Read "data-blackberry-text-selection-handle-position" attribute from element
https://bugs.webkit.org/show_bug.cgi?id=110235

Patch by Yongxin Dai <yodai@rim.com> on 2013-02-20
Reviewed by Yong Li.

PR #257207.

Read "data-blackberry-text-selection-handle-position" attribute from element and pass it along
with notifySelectionDetailsChanged(). If "data-blackberry-text-selection-handle-position" attribute
is specified in the element, the selection handle is always flipped to the required position.
along with selected text within element.

Reviewed Internally by Mike Fenton.

* Api/WebPageClient.h:
* WebKitSupport/DOMSupport.cpp:
(BlackBerry::WebKit::DOMSupport::selectionContainerElement):
(DOMSupport):
(BlackBerry::WebKit::DOMSupport::elementHandlePositionAttribute):
* WebKitSupport/DOMSupport.h:
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::requestedSelectionHandlePosition):
(WebKit):
(BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
* WebKitSupport/SelectionHandler.h:
(SelectionHandler):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143461 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Rename AncestorChainWalker.h to EventPathWalker.h in the project file.

Unreviewed gardening.

AncestorChainWalker has been renamed to EventPathWalker in r143422.
Rename the header in the project file as well so that it shows up in QtCreator.

No new tests needed.

* Target.pri:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143462 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Gtk] HTML5 Media controls require a design refresh
https://bugs.webkit.org/show_bug.cgi?id=83869

Source/WebCore:

Created new controls that depend less on Gtk and more in CSS.

Patch by Xabier Rodriguez Calvar  <calvaris@igalia.com>  and  Martin Robinson <mrobinson@igalia.com> on 2013-02-20
Reviewed by Philippe Normand.

* GNUmakefile.list.am: Added compilation for MediaControlsGtk.cpp
and MediaControlsGtk.h
* css/mediaControlsGtk.css: Taken from Chromium and adapted for
WebKitGtk+.
* html/shadow/MediaControlsGtk.cpp: Added.
(WebCore): Added MediaControlsGtk class.
(WebCore::MediaControlsGtk::MediaControlsGtk): Class constructor
(WebCore::MediaControls::create): Creates the Gtk+ controls
components.
(WebCore::MediaControlsGtk::createControls): Creates the Gtk+
controls components.
(WebCore::MediaControlsGtk::initializeControls): Initializes all
media controls.
(WebCore::MediaControlsGtk::setMediaController): Sets the media
controller.
(WebCore::MediaControlsGtk::reset): Resets the controllers.
(WebCore::MediaControlsGtk::playbackStarted): Invoked when the
playback starts
(WebCore::MediaControlsGtk::updateCurrentTimeDisplay): Updates the
controls when the current time shall be updated.
(WebCore::MediaControlsGtk::changedMute): Updates the controls
then the mute changes.
(WebCore::MediaControlsGtk::showVolumeSlider): Invoked when the
volume slider is meant to be shown.
(WebCore::MediaControlsGtk::createTextTrackDisplay): Creates the
track display. Though it is not used by us, it needs to be created
to prevent immediate crashes when loading a video.
* html/shadow/MediaControlsGtk.h: Added.
(WebCore): Added the MediaControlsGtk class.
(MediaControlsGtk): Added the MediaControlsGtk class.
* platform/gtk/RenderThemeGtk.cpp:
(WebCore): Added getStockSymbolicIconForWidgetType function
signature to load symbolic icons.
(WebCore::supportsFocus): Added media control widgets to support
focus so that the focus ring is not painted by WebCore.
(WebCore::RenderThemeGtk::paintMediaButton): Added the symbolic
icon support. It supports now normal and symbolic icons at the
same time.
(WebCore::RenderThemeGtk::paintMediaFullscreenButton): Added the
symbolic icon support.
(WebCore::RenderThemeGtk::paintMediaMuteButton): Added the
symbolic icon support.
(WebCore::RenderThemeGtk::paintMediaPlayButton): Added the
symbolic icon support.
(WebCore::RenderThemeGtk::paintMediaSeekBackButton): Added the
symbolic icon support.
(WebCore::RenderThemeGtk::paintMediaSeekForwardButton): Added the
symbolic icon support.
(WebCore::borderRadiiFromStyle): Created the radii info from the
style.
(WebCore::RenderThemeGtk::paintMediaSliderTrack): Removed the
background and the Gtk widget support as it is painted with
CSS. Also paint the time ranges with the CSS style.
(WebCore::RenderThemeGtk::paintMediaSliderThumb): Paint slider
thumb according to the CSS parameters.
(WebCore::RenderThemeGtk::paintMediaVolumeSliderContainer):
Delegates in the CSS.
(WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack): Fills the
track up to the volume level and delegates the border in the CSS.
(WebCore::RenderThemeGtk::paintMediaVolumeSliderThumb): Delegates
in the paintMediaSliderThumb method so the thumb is painted the
same with the CSS parameters.
(WebCore::RenderThemeGtk::paintMediaCurrentTime): Removed the Gtk
background to use only CSS.
* platform/gtk/RenderThemeGtk.h:
(RenderThemeGtk): Changed paintMediaButton to support the symbolic
and normal icons at the same time.
* platform/gtk/RenderThemeGtk2.cpp:
(WebCore::RenderThemeGtk::adjustSliderThumbSize): Not adjusting
the thumb size and letting the CSS decide that for media slider.
(WebCore::getStockSymbolicIconForWidgetType): Implemented as a
fallback to the normal stock icons.
* platform/gtk/RenderThemeGtk3.cpp:
(WebCore):
(WebCore::RenderThemeGtk::adjustSliderThumbSize): Not adjusting
the thumb size and letting the CSS decide that for the media
sliders.
(WebCore::getStockSymbolicIconForWidgetType): Added this function
to load symbolic icons. It falls back to normal icons if the
symbolic is not found.

Tools:

Patch by Xabier Rodriguez Calvar <calvaris@igalia.com> on 2013-02-20
Reviewed by Philippe Normand.

* DumpRenderTree/gtk/DumpRenderTree.cpp:
(initializeGtkFontSettings): Added gnome as default icon theme for
the DRT.
* WebKitTestRunner/InjectedBundle/gtk/ActivateFontsGtk.cpp:
(WTR::initializeGtkSettings): Added gnome as default icon theme for
the WTR.
* gtk/jhbuild.modules: Added gnome-icon-theme-symbolic as external
dependency.

LayoutTests:

Tests flagged and rebaselines.

Patch by Xabier Rodriguez Calvar <calvaris@igalia.com> on 2013-02-20
Reviewed by Philippe Normand.

* platform/gtk/TestExpectations: Tests flagged and removed some
other flags.
* platform/gtk/accessibility/media-element-expected.txt: Rebaseline
* platform/gtk/fast/hidpi/video-controls-in-hidpi-expected.txt: Rebaseline
* platform/gtk/fast/layers/video-layer-expected.png: Rebaseline
* platform/gtk/fast/layers/video-layer-expected.txt: Rebaseline
* platform/gtk/http/tests/media/video-buffered-range-contains-currentTime-expected.png: Rebaseline
* platform/gtk/media/audio-repaint-expected.png: Rebaseline
* platform/gtk/media/audio-repaint-expected.txt: Rebaseline
* platform/gtk/media/controls-styling-strict-expected.png: Rebaseline
* platform/gtk/media/video-controls-rendering-expected.png: Rebaseline
* platform/gtk/media/video-empty-source-expected.txt: Rebaseline
* platform/gtk/media/video-no-audio-expected.txt: Rebaseline
* platform/gtk/media/video-volume-slider-expected.txt: Rebaseline
* platform/gtk/media/video-zoom-controls-expected.txt: Rebaseline
* platform/gtk/media/video-zoom-expected.png: Rebaseline

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143463 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[v8] potentially disposed handle returned for npapi object
https://bugs.webkit.org/show_bug.cgi?id=110331

Patch by Dan Carney <dcarney@google.com> on 2013-02-20
Reviewed by Kentaro Hara.

No new tests. No change in functionality.

* bindings/v8/V8NPUtils.cpp:
(WebCore::convertNPVariantToV8Object):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143464 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: CSSProperty.status defaults to "style" not "active"
https://bugs.webkit.org/show_bug.cgi?id=110348

Reviewed by Timothy Hatcher.

* inspector/Inspector.json: Fix the default property status to be "style" in the description.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143465 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Make sure to always sync before reusing backingstore tiles.
https://bugs.webkit.org/show_bug.cgi?id=109863
PR 296118

Reviewed by Rob Buis.
Internally reviewed by Mike Lattanzio and Konrad Piascik.

In SVN r142137, I replaced a syncToCurrentMessage() call
with updateSuspendScreenUpdateState() in some cases,
which internally calls the same function.

Unfortunately, when I optimized updateSuspendScreenUpdateState()
to only sync when the state is actually being changed,
I omitted an adaptation of adoptAsFrontState() which would
rely on this sync but now didn't always perform it.

This caused a bad race condition as tile buffers could now
be accessed from the WebKit thread and the UI thread at
the same time. Fix it by (optionally) letting the caller
of updateSuspendScreenUpdateState() know whether a sync
was performed, and adapt adoptAsFrontState() accordingly.

Also fixes some excessive flicker caused by the same
race condition.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::updateSuspendScreenUpdateState):
(BlackBerry::WebKit::BackingStorePrivate::adoptAsFrontState):
* Api/BackingStore_p.h:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143466 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[New Multicolumn] Make layers paint properly in columns.
https://bugs.webkit.org/show_bug.cgi?id=110296.

Reviewed by Sam Weinig.

Source/WebCore: 

Construct the style for the RenderMultiColumnFlowThread such that it
establishes a stacking context (by being position:relative
with a z-index of 0). This causes the layer collection code
to correctly ignore the RenderFlowThread layers during normal
painting.
        
Fix more clipping bugs to eliminate subpixel layout differences
between old and new multicolumn.

Test: fast/multicol/newmulticol/layers-in-multicol.html

* rendering/RenderMultiColumnBlock.cpp:
(WebCore::createMultiColumnFlowThreadStyle):
(WebCore):
(WebCore::RenderMultiColumnBlock::addChild):
Use a custom style (similar to what normal RenderFlowThreads do)
for the RenderMultiColumnFlowThread that makes it a stacking
context.
        
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):
Fix the overflow calculations out the leftmost and rightmost
columns to actually look at the physical placement of the columns.
The old code was backwards for RTL.
        
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::overflowRectForFlowThreadPortion):
Fix the clipping done by overflowRectForFlowThreadPortion to min
and max with the passed-in portion rect so that subclasses that
inflate the rect prior to passing it into the method don't have that
inflation discarded.

LayoutTests: 

* fast/multicol/newmulticol/layers-in-multicol-expected.html: Added.
* fast/multicol/newmulticol/layers-in-multicol.html: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143467 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed.  Rolled Chromium DEPS to r183552.  Requested by
"Mark Pilgrim" <pilgrim@chromium.org> via sheriffbot.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-20

* DEPS:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143468 268f45cc-cd09-0410-ab3c-d52691b4dbfc
iOS does not use CaptionUserPreferencesMac
https://bugs.webkit.org/show_bug.cgi?id=110259

Reviewed by Dean Jackson.

* page/CaptionUserPreferencesMac.h: Add PLATFORM(IOS) guard
* page/CaptionUserPreferencesMac.mm: Ditto.

* page/PageGroup.cpp:
(WebCore::PageGroup::captionPreferences): Ditto.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143469 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebKit/chromium: Fix use after free in ContextMenuClientImpl.cpp
https://bugs.webkit.org/show_bug.cgi?id=109220

Patch by Rouslan Solomakhin <rouslan@chromium.org> on 2013-02-20
Reviewed by Tony Chang.

ContextMenuClientImpl can use a DocumentMarker after it is freed. The DocumentMarker is originally allocated
by the spell checker. When the user context-clicks on a misspelling, ContextMenuClientImpl saves a reference
to the clicked DocumentMarker, changes the selection, and then uses the DocumentMarker. Changing the selection
causes re-check of spelling. If the spell check client serves the spellcheck request from cache, then re-checking
spelling will delete the DocumentMarker and add a new one. This invalidates the DocumentMarker reference held by
ContextMenuClientImpl. When ContextMenuClientImpl attempts to use the DocumentMarker, Address Sanitizer detects
use after free. The fix is to save a copy of the DocumentMarker before changing selection.

* src/ContextMenuClientImpl.cpp:
(WebKit::selectMisspellingAsync): Save a copy of DocumentMarker before changing selection.
(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems): Use DocumentMarker instead of Vector<DocumentMarker*>.

Tools: [Chromium] Serve spellcheck suggestions for editing/spelling/spelling-changed-text.html from cache
https://bugs.webkit.org/show_bug.cgi?id=109220

Patch by Rouslan Solomakhin <rouslan@chromium.org> on 2013-02-19
Reviewed by Tony Chang.

* DumpRenderTree/chromium/TestRunner/src/MockSpellCheck.cpp:
(WebTestRunner::MockSpellCheck::hasInCache): Added a method to detect whether spellcheck results can be served from cache.
(WebTestRunner):
(WebTestRunner::MockSpellCheck::fillSuggestionList): Modified to suggest "checker" for the word "cheher".
(WebTestRunner::MockSpellCheck::initializeIfNeeded): Modified to mark "cheher" as misspelling.
* DumpRenderTree/chromium/TestRunner/src/MockSpellCheck.h:
(MockSpellCheck):
* DumpRenderTree/chromium/TestRunner/src/SpellCheckClient.cpp:
(WebTestRunner::SpellCheckClient::requestCheckingOfText): Modified to serve spellcheck suggestions from cache when possible.

LayoutTests: Spellchecker should not crash after text has changed and spellcheck results are served from cache
https://bugs.webkit.org/show_bug.cgi?id=109220

Patch by Rouslan Solomakhin <rouslan@chromium.org> on 2013-02-20
Reviewed by Tony Chang.

* editing/spelling/spelling-changed-text-expected.txt: Added the expected output for serving spellcheck results from cache for edited text.
* editing/spelling/spelling-changed-text.html: Added a test for serving spellcheck results from cache for edited text.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143470 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rename DatabaseBackend to DatabaseBackendBase.
https://bugs.webkit.org/show_bug.cgi?id=110303.

Rubber stamped by Alexey Proskuryakov.

Source/WebCore: 

This is a purely cosmetic change to make the naming consistent with
the front-end DatabaseBase.

No new tests.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/webdatabase/AbstractDatabaseServer.h:
* Modules/webdatabase/Database.cpp:
(WebCore::Database::create):
(WebCore::Database::version):
* Modules/webdatabase/Database.h:
(Database):
* Modules/webdatabase/DatabaseBackend.cpp: Removed.
* Modules/webdatabase/DatabaseBackend.h: Removed.
* Modules/webdatabase/DatabaseBackendAsync.cpp:
(WebCore::DatabaseBackendAsync::DatabaseBackendAsync):
(WebCore::DatabaseBackendAsync::performOpenAndVerify):
* Modules/webdatabase/DatabaseBackendAsync.h:
* Modules/webdatabase/DatabaseBackendBase.cpp: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackend.cpp.
(WebCore::DatabaseBackendBase::databaseInfoTableName):
(WebCore::DatabaseBackendBase::DatabaseBackendBase):
(WebCore::DatabaseBackendBase::~DatabaseBackendBase):
(WebCore::DatabaseBackendBase::closeDatabase):
(WebCore::DatabaseBackendBase::version):
(WebCore::DoneCreatingDatabaseOnExitCaller::DoneCreatingDatabaseOnExitCaller):
(DoneCreatingDatabaseOnExitCaller):
(WebCore::DatabaseBackendBase::performOpenAndVerify):
(WebCore::DatabaseBackendBase::securityOrigin):
(WebCore::DatabaseBackendBase::stringIdentifier):
(WebCore::DatabaseBackendBase::displayName):
(WebCore::DatabaseBackendBase::estimatedSize):
(WebCore::DatabaseBackendBase::fileName):
(WebCore::DatabaseBackendBase::details):
(WebCore::DatabaseBackendBase::getVersionFromDatabase):
(WebCore::DatabaseBackendBase::setVersionInDatabase):
(WebCore::DatabaseBackendBase::setExpectedVersion):
(WebCore::DatabaseBackendBase::getCachedVersion):
(WebCore::DatabaseBackendBase::setCachedVersion):
(WebCore::DatabaseBackendBase::getActualVersionForTransaction):
(WebCore::DatabaseBackendBase::disableAuthorizer):
(WebCore::DatabaseBackendBase::enableAuthorizer):
(WebCore::DatabaseBackendBase::setAuthorizerReadOnly):
(WebCore::DatabaseBackendBase::setAuthorizerPermissions):
(WebCore::DatabaseBackendBase::lastActionChangedDatabase):
(WebCore::DatabaseBackendBase::lastActionWasInsert):
(WebCore::DatabaseBackendBase::resetDeletes):
(WebCore::DatabaseBackendBase::hadDeletes):
(WebCore::DatabaseBackendBase::resetAuthorizer):
(WebCore::DatabaseBackendBase::maximumSize):
(WebCore::DatabaseBackendBase::incrementalVacuumIfNeeded):
(WebCore::DatabaseBackendBase::interrupt):
(WebCore::DatabaseBackendBase::isInterrupted):
(WebCore::DatabaseBackendBase::reportOpenDatabaseResult):
(WebCore::DatabaseBackendBase::reportChangeVersionResult):
(WebCore::DatabaseBackendBase::reportStartTransactionResult):
(WebCore::DatabaseBackendBase::reportCommitTransactionResult):
(WebCore::DatabaseBackendBase::reportExecuteStatementResult):
(WebCore::DatabaseBackendBase::reportVacuumDatabaseResult):
* Modules/webdatabase/DatabaseBackendBase.h: Copied from Source/WebCore/Modules/webdatabase/DatabaseBackend.h.
(DatabaseBackendBase):
* Modules/webdatabase/DatabaseBackendSync.cpp:
(WebCore::DatabaseBackendSync::DatabaseBackendSync):
* Modules/webdatabase/DatabaseBackendSync.h:
* Modules/webdatabase/DatabaseBase.h:
* Modules/webdatabase/DatabaseManager.cpp:
(WebCore::DatabaseManager::openDatabaseBackend):
(WebCore::DatabaseManager::openDatabase):
(WebCore::DatabaseManager::openDatabaseSync):
(WebCore::DatabaseManager::getMaxSizeForDatabase):
* Modules/webdatabase/DatabaseManager.h:
(DatabaseManager):
* Modules/webdatabase/DatabaseServer.cpp:
(WebCore::DatabaseServer::openDatabase):
(WebCore::DatabaseServer::createDatabase):
(WebCore::DatabaseServer::getMaxSizeForDatabase):
* Modules/webdatabase/DatabaseServer.h:
* Modules/webdatabase/DatabaseSync.cpp:
(WebCore::DatabaseSync::create):
* Modules/webdatabase/DatabaseSync.h:
(DatabaseSync):
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::getMaxSizeForDatabase):
(WebCore::DatabaseTracker::databaseChanged):
(WebCore::DatabaseTracker::interruptAllDatabasesForContext):
(WebCore::DatabaseTracker::doneCreatingDatabase):
(WebCore::DatabaseTracker::addOpenDatabase):
(WebCore::DatabaseTracker::removeOpenDatabase):
(WebCore::DatabaseTracker::getOpenDatabases):
(WebCore::DatabaseTracker::deleteDatabaseFile):
* Modules/webdatabase/DatabaseTracker.h:
(DatabaseTracker):
* Modules/webdatabase/OriginQuotaManager.cpp:
(WebCore::OriginQuotaManager::markDatabase):
* Modules/webdatabase/OriginQuotaManager.h:
(OriginQuotaManager):
* Modules/webdatabase/SQLTransactionClient.cpp:
(WebCore::SQLTransactionClient::didCommitWriteTransaction):
(WebCore::SQLTransactionClient::didExecuteStatement):
(WebCore::SQLTransactionClient::didExceedQuota):
* Modules/webdatabase/SQLTransactionClient.h:
(SQLTransactionClient):
* Modules/webdatabase/chromium/DatabaseObserver.h:
(DatabaseObserver):
* Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp:
(WebCore::DatabaseTracker::addOpenDatabase):
(WebCore::NotifyDatabaseObserverOnCloseTask::create):
(WebCore::NotifyDatabaseObserverOnCloseTask::NotifyDatabaseObserverOnCloseTask):
(NotifyDatabaseObserverOnCloseTask):
(WebCore::DatabaseTracker::removeOpenDatabase):
(WebCore::DatabaseTracker::prepareToOpenDatabase):
(WebCore::DatabaseTracker::failedToOpenDatabase):
(WebCore::DatabaseTracker::getMaxSizeForDatabase):
(WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::create):
(WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::CloseOneDatabaseImmediatelyTask):
(DatabaseTracker::CloseOneDatabaseImmediatelyTask):
(WebCore::DatabaseTracker::closeOneDatabaseImmediately):
* Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp:
(WebCore::NotifyDatabaseChangedTask::create):
(WebCore::NotifyDatabaseChangedTask::NotifyDatabaseChangedTask):
(NotifyDatabaseChangedTask):
(WebCore::SQLTransactionClient::didCommitWriteTransaction):
(WebCore::SQLTransactionClient::didExecuteStatement):
(WebCore::SQLTransactionClient::didExceedQuota):
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:

Source/WebKit/chromium: 

* public/WebDatabase.h:
(WebDatabase):
* src/DatabaseObserver.cpp:
(WebCore::DatabaseObserver::databaseOpened):
(WebCore::DatabaseObserver::databaseModified):
(WebCore::DatabaseObserver::databaseClosed):
(WebCore::DatabaseObserver::reportOpenDatabaseResult):
(WebCore::DatabaseObserver::reportChangeVersionResult):
(WebCore::DatabaseObserver::reportStartTransactionResult):
(WebCore::DatabaseObserver::reportCommitTransactionResult):
(WebCore::DatabaseObserver::reportExecuteStatementResult):
(WebCore::DatabaseObserver::reportVacuumDatabaseResult):
* src/WebDatabase.cpp:
(WebKit::WebDatabase::WebDatabase):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143471 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2] add setNeedsDisplay in DrawingArea to mark whole layer as dirty.
https://bugs.webkit.org/show_bug.cgi?id=110299

Patch by Huang Dongsung <luxtella@company100.net> on 2013-02-20
Reviewed by Anders Carlsson.

Currently, we call setNeedsDisplay with the size of WebPage to mark whole
backing store as dirty. However, the size of non compositing layer can be
inconsistent with the size of WebPage. For example, in Coordinated Graphics, the
size of non compositing layer is contents size.

So, WebPage should not assume the size of non compositing layer, and should just
call setNeedsDisplay when marking whole layer as dirty.

In addition, this patch renames from setNeedsDisplay() with a rect argument to
setNeedsDisplayInRect(), which matches to the terms of GraphicsLayer.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::invalidateContentsAndRootView):
(WebKit::WebChromeClient::invalidateContentsForSlowScroll):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::restoreViewState):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay):
(WebKit):
(WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplayInRect):
(WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
(CoordinatedLayerTreeHost):
* WebProcess/WebPage/DrawingArea.h:
(DrawingArea):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::setNeedsDisplay):
(WebKit):
(WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
(WebKit::DrawingAreaImpl::scroll):
(WebKit::DrawingAreaImpl::forceRepaint):
(WebKit::DrawingAreaImpl::didUninstallPageOverlay):
(WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
(WebKit::DrawingAreaImpl::resumePainting):
* WebProcess/WebPage/DrawingAreaImpl.h:
(DrawingAreaImpl):
* WebProcess/WebPage/LayerTreeHost.h:
(LayerTreeHost):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setSize):
(WebKit::WebPage::setDrawsBackground):
(WebKit::WebPage::setDrawsTransparentBackground):
(WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
(WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplay):
(WebKit):
(WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplayInRect):
(WebKit::LayerTreeHostGtk::scrollNonCompositedContents):
* WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
(LayerTreeHostGtk):
* WebProcess/WebPage/mac/LayerTreeHostMac.h:
(LayerTreeHostMac):
* WebProcess/WebPage/mac/LayerTreeHostMac.mm:
(WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
(WebKit):
(WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
(WebKit::LayerTreeHostMac::scrollNonCompositedContents):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
(RemoteLayerTreeDrawingArea):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplay):
(WebKit):
(WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplayInRect):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
(TiledCoreAnimationDrawingArea):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
(WebKit):
(WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplayInRect):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143472 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Remove idbFactory from WebKitPlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=106457

Reviewed by Adam Barth.

Now that https://codereview.chromium.org/12230054 has landed, the
idbFactory method is no longer needed. (Embedders must now call
the new setIDBFactory method upon initialization.) Part of a
larger refactoring series; see tracking bug 82948.

* public/platform/WebKitPlatformSupport.h:
(WebKit):
* src/IDBFactoryBackendProxy.cpp:
(WebKit::IDBFactoryBackendProxy::IDBFactoryBackendProxy):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143473 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[WK2] Remove m_viewportSize in WebPage.
https://bugs.webkit.org/show_bug.cgi?id=110311

Patch by Huang Dongsung <luxtella@company100.net> on 2013-02-20
Reviewed by Anders Carlsson.

EFL and Qt use m_viewSize as a contents size while Apple use it as a viewport
size, so EFL and Qt introduced m_viewportSize to make WebPage know a viewport
size.

EFL and Qt use m_viewSize as a contents size because the size of non compositing
layer is contents size, and EFL and Qt mark whole non compositing layer as dirty
using m_viewSize. Bug 110299 (http://webkit.org/b/110299) changes that it is not
necessary to know m_viewSize when marking whole non compositing layer as dirty.
So we can make EFL and Qt use m_viewSize as a viewport size also.

This patch removes m_viewportSize and related methods to increase readability.

* UIProcess/API/qt/raw/qrawwebview.cpp:
(QRawWebView::setSize):
* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::didChangeViewportSize):
* UIProcess/WebPageProxy.cpp:
(WebKit):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::pageRect):
(WebKit::WebChromeClient::contentsSizeChanged):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::updateBackingStoreState):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setSize):
(WebKit::WebPage::sendViewportAttributesChanged):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143474 268f45cc-cd09-0410-ab3c-d52691b4dbfc
input element with placeholder text and width set to 100% on focus causes overflow even after losing focus
https://bugs.webkit.org/show_bug.cgi?id=109020

Reviewed by David Hyatt.

Source/WebCore:

Tests: fast/forms/input-placeholder-layout-view.html
       fast/forms/textarea-placeholder-layout-view.html

Placeholder elements don't affect layout so shouldn't contribute overflow either.

* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::layout):

LayoutTests:

* fast/forms/input-placeholder-layout-view-expected.html: Added.
* fast/forms/input-placeholder-layout-view.html: Added.
* fast/forms/textarea-placeholder-layout-view-expected.html: Added.
* fast/forms/textarea-placeholder-layout-view.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143475 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Make intrinsic width values work for positioned elements
https://bugs.webkit.org/show_bug.cgi?id=110264

Reviewed by Tony Chang.

Source/WebCore:

Tests: fast/css-intrinsic-dimensions/intrinsic-sized-absolutes.html
       fast/css-intrinsic-dimensions/width-shrinks-avoid-floats.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeIntrinsicLogicalWidthUsing):
(WebCore::RenderBox::computeLogicalWidthInRegionUsing):
Move the computation of intrinsic widths out into a helper function so that
computePositionedLogicalWidthUsing can use it. As per the current spec,
fill-available measures shrink to avoid floats. http://dev.w3.org/csswg/css3-sizing/

(WebCore::RenderBox::computePositionedLogicalWidth):
Compute intrinsic min-widths in addition to non-zero ones. Intrinsic widths
return true for isZero. width and max-width don't need modifying since they already
call computePositionedLogicalWidthUsing for intrinsic widths.

(WebCore::RenderBox::computePositionedLogicalWidthUsing):
Compute intrinsic widths and use a Fixed length for the rest of the positioned width
computation. Doesn't include bordersPlusPadding because the caller, expected the content
width and adds in the bordersPlusPadding later.

* rendering/RenderBox.h:

LayoutTests:

* fast/css-intrinsic-dimensions/intrinsic-sized-absolutes-expected.txt: Added.
* fast/css-intrinsic-dimensions/intrinsic-sized-absolutes.html: Added.
* fast/css-intrinsic-dimensions/width-shrinks-avoid-floats-expected.txt: Added.
* fast/css-intrinsic-dimensions/width-shrinks-avoid-floats.html: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143476 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove stretchesToMinIntrinsicLogicalWidth
https://bugs.webkit.org/show_bug.cgi?id=110266

Reviewed by Emil Eklund.

This was only used by fieldsets and now we have a way to express this
concept in CSS.

* WebCore.order:
* css/html.css:
Make fieldsets min-width: -webkit-min-content.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::computeLogicalWidthInRegion):
(WebCore::RenderBox::computePositionedLogicalWidth):
* rendering/RenderBox.h:
Remove all calls to stretchesToMinIntrinsicLogicalWidth.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143479 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] use a WebTestProxyBase pointer to identify the window we need the history for
https://bugs.webkit.org/show_bug.cgi?id=110346

Reviewed by Adam Barth.

Using an index is very brittle, as the TestRunner API does not define
any ordering of windows.

Also, make TestRunner::shouldDumpBackForwardList() so content shell can
trigger the capturing in the browser process before generating the
text dump.

* DumpRenderTree/chromium/TestRunner/public/WebTestDelegate.h:
(WebTestRunner):
(WebTestRunner::WebTestDelegate::captureHistoryForWindow):
* DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebTestRunner):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/TestRunner/src/WebTestProxy.cpp:
(WebTestRunner::WebTestProxyBase::captureTree):
* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::captureHistoryForWindow):
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@143480 268f45cc-cd09-0410-ab3c-d52691b4dbfc
No caret on empty contenteditable element with negative text-indent
https://bugs.webkit.org/show_bug.cgi?id=108633

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: fast/repaint/paint-caret-in-div-with-negative-indent.html

When an editable element has a negative text indent we won't paint the caret when the
element is empty because it falls outside the element's border box. To ensure the caret is painted,
account for any negative indent with our overflow.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::computeOverflow):

LayoutTests:

* fast/repaint/paint-caret-in-div-with-negative-indent-expected.png: Added.
* fast/repaint/paint-caret-in-div-with-negative-indent-expected.txt: Added.
* fast/repaint/paint-caret-in-div-with-negative-indent.html: Added.


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