WebKit-https.git
7 years ago[BlackBerry] Some media controls are mispositioned for dynamic live streams (HLS)
commit-queue@webkit.org [Thu, 16 Aug 2012 20:54:21 +0000 (20:54 +0000)]
[BlackBerry] Some media controls are mispositioned for dynamic live streams (HLS)
https://bugs.webkit.org/show_bug.cgi?id=94176

Patch by Max Feil <mfeil@rim.com> on 2012-08-16
Reviewed by Antonio Gomes.

.:

An automated layout test is not possible for this patch because
dynamic live streams require a special dedicated web server.
Putting an external video URL into an automated test is not
correct either. So I have created a manual test that points to
an external HLS video that works today.

* ManualTests/blackberry/video-hls-controls.html: Added.

Source/WebCore:

The default HTML5 media controls for dynamic live streams have
no timeline or timeline container, which for BlackBerry results
in mispositioning of the buttons that are supposed to be to
the right of the timeline (fullscreen and mute). Instead of
being right justified they incorrectly appear on the left next
to the play button. The fix is to explicitly position these 2
buttons whenever the media duration is infinite (indicating a
live stream).

Manual test: ManualTests/blackberry/video-hls-controls.html

* platform/blackberry/RenderThemeBlackBerry.cpp:
(WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):

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

7 years agoRegression(r118248): Replaced element not layout
inferno@chromium.org [Thu, 16 Aug 2012 20:50:05 +0000 (20:50 +0000)]
Regression(r118248): Replaced element not layout
https://bugs.webkit.org/show_bug.cgi?id=85804

Reviewed by Levi Weintraub.

Source/WebCore:

r118248 moved the layout call of replaced elements to nextLineBreak.
This was intended to delay the layout after all the lineboxes are cleared
in RenderBlock::layoutInlineChildren. However, this caused the end line
object to not layout at all. We revert to the old planned way to just
keep a local vector of replaced elements to layout and then layout all of them
after the lineboxes are cleared.

Test: fast/replaced/replaced-last-line-layout.html

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
(WebCore::RenderBlock::LineBreaker::nextLineBreak):

LayoutTests:

* fast/replaced/replaced-last-line-layout-expected.html: Added.
* fast/replaced/replaced-last-line-layout.html: Added.

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

7 years agoDo not perform 8 to 16bits characters conversion when converting a WTFString to NSStr...
benjamin@webkit.org [Thu, 16 Aug 2012 20:48:02 +0000 (20:48 +0000)]
Do not perform 8 to 16bits characters conversion when converting a WTFString to NSString/CFString
https://bugs.webkit.org/show_bug.cgi?id=90720

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-08-16
Reviewed by Geoffrey Garen.

In most String to CFString conversion, we should be able to use the "NoCopy" constructor and have
a relatively cheap conversion from WTF::String to CFString.

When the String is 8 bits, it was converted to 16 bits by getData16SlowCase() because of the call
to String::characters().

This patch adds a path for creating a CFString from a 8bits string using CFStringCreateWithBytes.

This is covered by existing tests.

* platform/text/cf/StringCF.cpp:
(WTF::String::createCFString): CFSTR() create static CFString, it is unecessary to retain it.
* platform/text/cf/StringImplCF.cpp:
(WTF::StringImpl::createCFString): The logic to avoid the StringWrapperCFAllocator has also been simplified.
The allocator creation is now closer to where it is useful.

The function CFStringCreateWithBytesNoCopy() does not necessarilly allocate a new string, it can reuse
existing strings. In those cases, the allocator is not used. For that reason, the assertion regarding
currentString is moved to the branch that always allocate new strings.

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

7 years ago[BlackBerry] Use form state to determine the VKB enter key.
mifenton@rim.com [Thu, 16 Aug 2012 20:47:18 +0000 (20:47 +0000)]
[BlackBerry] Use form state to determine the VKB enter key.
https://bugs.webkit.org/show_bug.cgi?id=94239

Reviewed by Rob Buis.

PR 188234.

If the enter key for the VKB is not explicitly set, use
submit if we are in a single line input and a default
button exists for the form.

Reviewed Internally by Gen Mak.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::setElementFocused):

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

7 years agoDirectoryEntry should use Dictionary rather than custom bindings code
abarth@webkit.org [Thu, 16 Aug 2012 20:44:36 +0000 (20:44 +0000)]
DirectoryEntry should use Dictionary rather than custom bindings code
https://bugs.webkit.org/show_bug.cgi?id=94207

Reviewed by Eric Seidel.

Source/WebCore:

Since this code was written, we added native support for WebIDL
Dictionary objects. This patch moves DirectoryEntry to use this
automatic facility instead of custom code.

I've also renamed and simplified WebKitFlags. This is possible because
this object was no longer exposed via IDL (even before to this patch).

* GNUmakefile.list.am:
* Modules/filesystem/DOMFileSystemBase.cpp:
(WebCore::DOMFileSystemBase::getFile):
(WebCore::DOMFileSystemBase::getDirectory):
* Modules/filesystem/DOMFileSystemBase.h:
(DOMFileSystemBase):
* Modules/filesystem/DirectoryEntry.cpp:
(WebCore::DirectoryEntry::getFile):
(WebCore::DirectoryEntry::getDirectory):
* Modules/filesystem/DirectoryEntry.h:
(DirectoryEntry):
* Modules/filesystem/DirectoryEntry.idl:
* Modules/filesystem/DirectoryEntrySync.cpp:
(WebCore::DirectoryEntrySync::getFile):
(WebCore::DirectoryEntrySync::getDirectory):
* Modules/filesystem/DirectoryEntrySync.h:
(DirectoryEntrySync):
* Modules/filesystem/DirectoryEntrySync.idl:
* Modules/filesystem/FileSystemCallbacks.cpp:
(WebCore):
(WebCore::ResolveURICallbacks::didOpenFileSystem):
* Modules/filesystem/FileSystemFlags.h: Renamed from Source/WebCore/Modules/filesystem/WebKitFlags.h.
(WebCore):
(WebCore::FileSystemFlags::FileSystemFlags):
(FileSystemFlags):
* Modules/filesystem/WorkerContextFileSystem.cpp:
(WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):
* Target.pri:
* UseJSC.cmake:
* UseV8.cmake:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSDirectoryEntryCustom.cpp: Removed.
* bindings/js/JSDirectoryEntrySyncCustom.cpp: Removed.
* bindings/v8/custom/V8DirectoryEntryCustom.cpp: Removed.
* bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp: Removed.

LayoutTests:

This patch changes our behavior slightly in that passing a non-object
as a flags Dictionary throws an exception rather than being treated as
an empty dictionary. This new behavior matches the WebIDL spec and
hopefully won't cause compat problems.

* fast/filesystem/flags-passing-expected.txt:
* fast/filesystem/script-tests/flags-passing.js:
(runNullTest):
(runNonObjectTest):

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

7 years agoAll op_resolve_global instructions should end up in the list of global resolve instru...
fpizlo@apple.com [Thu, 16 Aug 2012 20:35:12 +0000 (20:35 +0000)]
All op_resolve_global instructions should end up in the list of global resolve instructions
https://bugs.webkit.org/show_bug.cgi?id=94247
<rdar://problem/12103500>

Reviewed by Mark Hahnenberg.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::emitResolveWithBase):

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

7 years agoRemove StyleSheetContents::m_finalURL
antti@apple.com [Thu, 16 Aug 2012 20:30:13 +0000 (20:30 +0000)]
Remove StyleSheetContents::m_finalURL
https://bugs.webkit.org/show_bug.cgi?id=94140

Reviewed by Andreas Kling.

It is equal (or empty in case of inline stylesheets) to the baseURL passed in CSSParserContext.
Removing it simplifies the constructors and the related code.

* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::createInline):
(WebCore::CSSStyleSheet::canAccessRules):
(WebCore::CSSStyleSheet::rules):
(WebCore::CSSStyleSheet::cssRules):

    - factor access check to a function
    - allow document always access rules of its inline stylesheets

* css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::setCSSStyleSheet):
(WebCore::StyleRuleImport::requestStyleSheet):
* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::StyleSheetContents):
(WebCore::StyleSheetContents::parseAuthorStyleSheet):
* css/StyleSheetContents.h:
(WebCore::StyleSheetContents::create):
(WebCore::StyleSheetContents::originalURL):
(StyleSheetContents):
* dom/ProcessingInstruction.cpp:
(WebCore::ProcessingInstruction::setCSSStyleSheet):
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setCSSStyleSheet):
* inspector/InspectorStyleSheet.cpp:
(WebCore::fillMediaListChain):
(WebCore::InspectorStyleSheet::styleSheetURL):
* xml/XSLImportRule.cpp:
(WebCore::XSLImportRule::loadSheet):

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

7 years ago[Chromium] Changing Canvas2DLayerBridge to use SkDeferredCanvas's notification client API
commit-queue@webkit.org [Thu, 16 Aug 2012 20:11:48 +0000 (20:11 +0000)]
[Chromium] Changing Canvas2DLayerBridge to use SkDeferredCanvas's notification client API
https://bugs.webkit.org/show_bug.cgi?id=94234

Patch by Justin Novosad <junov@chromium.org> on 2012-08-16
Reviewed by James Robinson.

The existing DeviceContext API in skia's SkDeferredCanvas is being
deprecated in favor of the new NotificationClient interface, which is
designed to allow WebKit to control deferred canvas global memory
consumption.

No new tests: this patch does not fix any bug and does not add new
functionality. It is just a transition to a new skia interface.
Coverage is assured by existing tests.

* platform/graphics/chromium/Canvas2DLayerBridge.cpp:
(WebCore):
Removed the AcceleratedDeviceContext class completely and mixed it
into Canvas2DLayerBridge by inheriting
SkDeferredCanvas::NotificationClient
(WebCore::Canvas2DLayerBridge::~Canvas2DLayerBridge):
(WebCore::Canvas2DLayerBridge::deferredCanvas):
(WebCore::Canvas2DLayerBridge::prepareForDraw):
(WebCore::Canvas2DLayerBridge::skCanvas):
* platform/graphics/chromium/Canvas2DLayerBridge.h:
(Canvas2DLayerBridge):
* platform/graphics/skia/ImageBufferSkia.cpp:
Cleaning up unnecessary include of SkDeferredCanvas.h

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

7 years ago[BlackBerry] Reload valid page from Error Page keeps history ViewState and zoom.
kpiascik@rim.com [Thu, 16 Aug 2012 19:55:52 +0000 (19:55 +0000)]
[BlackBerry] Reload valid page from Error Page keeps history ViewState and zoom.
https://bugs.webkit.org/show_bug.cgi?id=94123

Reviewed by Antonio Gomes.

Reviewed internally by Leo Yang, Jacky Jiang.
PR 178305

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setLoadState):Reset the scales and
the user scalable flag if we're reloading from an error page.
(BlackBerry::WebKit::WebPagePrivate::updateViewportSize): Don't update the
viewport size if we're still in the WebPagePrivate::init method.
(BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
Properly set the shouldZoom flag if we're not going to restore the
view state.
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::FrameLoaderClientBlackBerry):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidCommitLoad): Set the
ViewState's shouldSaveViewState flag if we're coming from an error page.
(WebCore::FrameLoaderClientBlackBerry::saveViewStateToItem): Set the
new member variable m_shouldRestoreViewState based on the ViewState's
shouldSaveViewState flag.
(WebCore::FrameLoaderClientBlackBerry::restoreViewState): Added early
return if m_shouldRestoreViewState is false.
* WebCoreSupport/FrameLoaderClientBlackBerry.h: Add new method to have
the client track whether we should restore the view state.
(WebCore::FrameLoaderClientBlackBerry::shouldRestoreViewState):
(FrameLoaderClientBlackBerry):

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

7 years ago[Chromium] Avoid aliasing global symbol monotonicallyIncreasingTime().
commit-queue@webkit.org [Thu, 16 Aug 2012 19:54:00 +0000 (19:54 +0000)]
[Chromium] Avoid aliasing global symbol monotonicallyIncreasingTime().
https://bugs.webkit.org/show_bug.cgi?id=94233

Patch by David Reveman <reveman@chromium.org> on 2012-08-16
Reviewed by James Robinson.

Source/WebCore:

Rename virtual function CCDelayBasedTimeSource::monotonicallyIncreasingTime()
that exist for testing purposes to CCDelayBasedTimeSource::monotonicTimeNow().

No new tests.

* platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
(WebCore::CCDelayBasedTimeSource::setActive):
(WebCore::CCDelayBasedTimeSource::onTimerFired):
(WebCore::CCDelayBasedTimeSource::monotonicTimeNow):
* platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:

Source/WebKit/chromium:

* tests/CCDelayBasedTimeSourceTest.cpp:
(WebKitTests::TEST):
* tests/CCFrameRateControllerTest.cpp:
(WebKitTests::TEST):
* tests/CCSchedulerTestCommon.h:
(WebKitTests::FakeCCDelayBasedTimeSource::setMonotonicTimeNow):
(WebKitTests::FakeCCDelayBasedTimeSource::FakeCCDelayBasedTimeSource):
(FakeCCDelayBasedTimeSource):

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

7 years agoTypo in old-run-webkit-tests script from https://bugs.webkit.org/show_bug.cgi?id...
commit-queue@webkit.org [Thu, 16 Aug 2012 19:50:22 +0000 (19:50 +0000)]
Typo in old-run-webkit-tests script from https://bugs.webkit.org/show_bug.cgi?id=93904.
https://bugs.webkit.org/show_bug.cgi?id=94228

Patch by Roger Fong <roger_fong@apple.com> on 2012-08-16
Reviewed by Tim Horton.

I previously made the change but made a typo that causes the script not ignore mismatch ref tests.

* Scripts/old-run-webkit-tests:
(isUsedInReftest):

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

7 years ago[Chromium] Schedule texture uploads based on hard-coded timer and vsync.
commit-queue@webkit.org [Thu, 16 Aug 2012 19:42:21 +0000 (19:42 +0000)]
[Chromium] Schedule texture uploads based on hard-coded timer and vsync.
https://bugs.webkit.org/show_bug.cgi?id=84281

Patch by David Reveman <reveman@chromium.org> on 2012-08-16
Reviewed by James Robinson.

Source/WebCore:

Improve interaction between vsync and texture uploads by performing
uploads in smaller batches and use a hard-coded timer to emulate
upload completion. This greatly reduces the chance of the compositor
missing a vsync due to being busy with texture uploads.

The CCScheduler client is now given a time limit when told to update
more resources. This time limit is passed to an instance of the
CCTextureUpdateController class, which is responsible for performing
texture updates until the limit is reached.

Unit tests: CCSchedulerTest.RequestCommit
            CCTextureUpdateControllerTest.UpdateMoreTextures
            CCTextureUpdateControllerTest.HasMoreUpdates

* platform/graphics/chromium/cc/CCFrameRateController.cpp:
(WebCore::CCFrameRateController::nextTickTime):
(WebCore):
* platform/graphics/chromium/cc/CCFrameRateController.h:
(CCFrameRateController):
* platform/graphics/chromium/cc/CCScheduler.cpp:
(WebCore::CCScheduler::processScheduledActions):
* platform/graphics/chromium/cc/CCScheduler.h:
(CCSchedulerClient):
* platform/graphics/chromium/cc/CCTextureUpdateController.cpp:
(WebCore::CCTextureUpdateController::maxPartialTextureUpdates):
(WebCore::CCTextureUpdateController::CCTextureUpdateController):
(WebCore::CCTextureUpdateController::updateMoreTextures):
(WebCore):
(WebCore::CCTextureUpdateController::onTimerFired):
(WebCore::CCTextureUpdateController::monotonicTimeNow):
(WebCore::CCTextureUpdateController::updateMoreTexturesTime):
(WebCore::CCTextureUpdateController::updateMoreTexturesSize):
(WebCore::CCTextureUpdateController::updateMoreTexturesIfEnoughTimeRemaining):
(WebCore::CCTextureUpdateController::updateMoreTexturesNow):
* platform/graphics/chromium/cc/CCTextureUpdateController.h:
(WebCore::CCTextureUpdateController::create):
(CCTextureUpdateController):
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
(WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
* platform/graphics/chromium/cc/CCThreadProxy.h:

Source/WebKit/chromium:

* tests/CCSchedulerTest.cpp:
(WebKitTests::TEST):
* tests/CCSchedulerTestCommon.h:
(WebKitTests::FakeCCTimeSource::FakeCCTimeSource):
(WebKitTests::FakeCCTimeSource::setNextTickTime):
(FakeCCTimeSource):
* tests/CCTextureUpdateControllerTest.cpp:

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

7 years ago[chromium] Impl scrolling crashes when the renderer's initialization failed
danakj@chromium.org [Thu, 16 Aug 2012 19:35:25 +0000 (19:35 +0000)]
[chromium] Impl scrolling crashes when the renderer's initialization failed
https://bugs.webkit.org/show_bug.cgi?id=94232

Reviewed by James Robinson.

Source/WebCore:

CCLayerTreeHostImpl::calculateRenderSurfaceLayerList should not be
called when there is no renderer present or it will crash.

Chromium bug: crbug.com/125482

Tests: CCLayerTreeHostImplTest.scrollWithoutRenderer

* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
(WebCore::CCLayerTreeHostImpl::ensureRenderSurfaceLayerList):

Source/WebKit/chromium:

Also updated the finishAllRenderingAfterContextLost to properly fail
renderer initialization.

* tests/CCLayerTreeHostImplTest.cpp:

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

7 years agohttp/tests/security/contentSecurityPolicy/shared-worker-connect-src-blocked.html...
beidson@apple.com [Thu, 16 Aug 2012 19:31:17 +0000 (19:31 +0000)]
http/tests/security/contentSecurityPolicy/shared-worker-connect-src-blocked.html fails (results weren't updated in r125772)
https://bugs.webkit.org/show_bug.cgi?id=94236

Unreviewed (test gardening)

* http/tests/security/contentSecurityPolicy/shared-worker-connect-src-blocked-expected.txt: Update results here, like the rest of 125772 did.

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

7 years agoUse initialization from literals for StringStatics
benjamin@webkit.org [Thu, 16 Aug 2012 19:28:28 +0000 (19:28 +0000)]
Use initialization from literals for StringStatics
https://bugs.webkit.org/show_bug.cgi?id=94185

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-08-16
Reviewed by Geoffrey Garen.

* wtf/text/StringStatics.cpp:
Remove the arguments for DEFINE_GLOBAL. They are no longer used by the macro.
(WTF::AtomicString::init):
Use ConstructFromLiteral to initialize the strings faster and to save memory.

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

7 years ago[BlackBerry] Remove Mobile mode from WebPage.cpp and WebPage_p.h
commit-queue@webkit.org [Thu, 16 Aug 2012 18:46:58 +0000 (18:46 +0000)]
[BlackBerry] Remove Mobile mode from WebPage.cpp and WebPage_p.h
https://bugs.webkit.org/show_bug.cgi?id=94223
PR #192773

Patch by Leo Yang <leoyang@rim.com> on 2012-08-16
Reviewed by Rob Buis.
Reviewed internally by Arvid Nilsson.

Remove Mobile mode as it's not been used. Also remove code that
handle top-level SVG document because now we can handle it in Desktop mode.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
* Api/WebPage_p.h:

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

7 years ago[BlackBerry] SurfacePool::waitForBuffer() sometimes waits for deleted EGLSyncKHR...
commit-queue@webkit.org [Thu, 16 Aug 2012 18:07:14 +0000 (18:07 +0000)]
[BlackBerry] SurfacePool::waitForBuffer() sometimes waits for deleted EGLSyncKHR object
https://bugs.webkit.org/show_bug.cgi?id=94208

Patch by Arvid Nilsson <anilsson@rim.com> on 2012-08-16
Reviewed by Rob Buis.

SurfacePool::notifyBuffersComposited() adds a tile's previous
sync object to the garbage list before replacing it with a new one.
However, it failed to thoroughly clear all tiles that were referencing
the old sync object.

Thus it could happen that if a set of tiles A was composited, then
another set of tiles B was composited, only the intersection of A and B
was cleared of the soon-to-be-deleted sync object, and the subtraction
A - B would reference an invalid sync object in case the BackingStore
decided to render to one of the tiles in A - B before they were
composited again.

Fixed by storing each individual sync object in only one place so we
don't have to rummage through all tiles and remove stale references to
sync objects that are about to be destroyed.

A new reference counted Fence class is added for this purpose, to store
a sync object. Tiles refer to Fence instances instead of holding a sync
object directly. Since Fence is reference counted, several tiles can
refer to the same Fence instance, and clearing its sync object will
instantly remove it from the grasp of all tiles that depend on that
Fence.

Since there's no point in waiting for the same Fence twice, the only
operation provided on Fence is takePlatformSync() which returns the
sync object and clears the Fence of its sync object.

Reviewed internally by Filip Spacek.

PR 193610

* WebKitSupport/BackingStoreTile.cpp:
(BlackBerry::WebKit::TileBuffer::TileBuffer):
* WebKitSupport/BackingStoreTile.h:
(BlackBerry):
(Fence):
(BlackBerry::Fence::create):
(BlackBerry::Fence::takePlatformSync):
(BlackBerry::Fence::Fence):
(BlackBerry::WebKit::TileBuffer::fence):
(BlackBerry::WebKit::TileBuffer::setFence):
(TileBuffer):
* WebKitSupport/SurfacePool.cpp:
(BlackBerry::WebKit::SurfacePool::waitForBuffer):
(BlackBerry::WebKit::SurfacePool::notifyBuffersComposited):
* WebKitSupport/SurfacePool.h:
(SurfacePool):

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

7 years agoAccumulate sub-pixel offsets through layers and transforms
leviw@chromium.org [Thu, 16 Aug 2012 18:00:34 +0000 (18:00 +0000)]
Accumulate sub-pixel offsets through layers and transforms
https://bugs.webkit.org/show_bug.cgi?id=89238

Reviewed by Eric Seidel.

Source/WebCore:

Pixel snapping logic makes use of sub-pixel offsets accumulated when walking down
the render tree. When we align RenderLayers to paint on pixel boundaries, we were
also losing that accumulated value. This preserves the fractional offset and passes
it to the RenderLayer's RenderObjects so they paint the proper size and offset.

This also necessitates a new mode of mapLocalToContainer whereby we pixel snap the
offset used in transforms. Otherwise, they wouldn't account for the pixel snapping
done elsewhere in the render tree.

Test: fast/sub-pixel/sub-pixel-accumulates-to-layers.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::pixelSnappedSizingBox): The LayoutUnit version of sizingBox returns a
LayoutRect with the location zeroed out. This leads to incorrect pixel snapping, so
we shouldn't put these numbers into a transform. Sadly, I couldn't figure out a
test for this without the rest of the patch.
(WebCore):
(WebCore::computedTransform): Using pixel-snapped values when generating transforms.
* rendering/RenderBox.cpp:
(WebCore::RenderBox::mapLocalToContainer): Adding a mode whereby the values inputed
into the transform are properly pixel snapped.
(WebCore::RenderBox::computeRectForRepaint): Using pixel snapped values for the transform.
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderGeometryMap.cpp:
(WebCore::RenderGeometryMap::mapToAbsolute):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::mapLocalToContainer):
* rendering/RenderInline.h:
(RenderInline):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::updateTransform): Using pixel snapped values for the transform.
(WebCore::RenderLayer::currentTransform): Ditto.
(WebCore::RenderLayer::perspectiveTransform): Ditto.
(WebCore::RenderLayer::paint): Support passing along the accumulated sub-pixel offset instead
of rounding and use enclosingIntRect for the damageRect.
(WebCore::RenderLayer::paintOverlayScrollbars): Updating to the new paintLayer contract
(WebCore::RenderLayer::paintLayer): Adding a sub-pixel accumulation LayoutSize. We pass this
delta to the Layer's RenderObject when we paint, but align the graphics context to the proper
pixel value.
(WebCore::RenderLayer::paintLayerContentsAndReflection): Ditto.
(WebCore::RenderLayer::paintLayerContents): Ditto.
(WebCore::RenderLayer::paintList): Ditto.
(WebCore::RenderLayer::paintChildLayerIntoColumns): Ditto.
(WebCore::RenderLayer::calculateClipRects): Avoid unnecessary rounding when sub-pixel is enabled.
(WebCore::RenderLayer::calculateRects): Remove unnecessary pixel snapping.
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateLayerTransform): Use pixel-snapped values for transforms.
(WebCore::RenderLayerBacking::paintIntoLayer): Update to new paintLayer contract.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::localToContainerQuad): Adding a mode for optionally pixel snapping.
(WebCore::RenderObject::localToContainerPoint): Ditto.
* rendering/RenderObject.h:
(WebCore::RenderObject::localToAbsoluteQuad): Ditto.
(RenderObject):
* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::paint): Updating to new paintLayer contract.
* rendering/RenderView.h:
(RenderView):
* rendering/svg/RenderSVGForeignObject.cpp:
(WebCore::RenderSVGForeignObject::mapLocalToContainer):
* rendering/svg/RenderSVGForeignObject.h:
(RenderSVGForeignObject):
* rendering/svg/RenderSVGInline.cpp:
(WebCore::RenderSVGInline::mapLocalToContainer):
* rendering/svg/RenderSVGInline.h:
(RenderSVGInline):
* rendering/svg/RenderSVGModelObject.cpp:
(WebCore::RenderSVGModelObject::mapLocalToContainer):
* rendering/svg/RenderSVGModelObject.h:
(RenderSVGModelObject):
* rendering/svg/RenderSVGRoot.h:
(RenderSVGRoot):
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::mapLocalToContainer):
* rendering/svg/RenderSVGText.h:
(RenderSVGText):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::mapLocalToContainer):
* rendering/svg/SVGRenderSupport.h:
(SVGRenderSupport):

LayoutTests:

* fast/sub-pixel/sub-pixel-accumulates-to-layers.html: Added.
* platform/chromium-mac/compositing/shadows/shadow-drawing-expected.png:
* platform/chromium-mac/fast/repaint/scroll-fixed-layer-with-transformed-parent-layer-expected.png:
* platform/chromium-mac/fast/sub-pixel/sub-pixel-accumulates-to-layers-expected.png: Added.
* platform/chromium-mac/fast/sub-pixel/sub-pixel-accumulates-to-layers-expected.txt: Added.
* platform/chromium-mac/fast/transforms/transformed-document-element-expected.png:
* platform/chromium-mac/media/audio-repaint-expected.png:
* platform/chromium-mac/svg/transforms/svg-css-transforms-expected.png:
* platform/chromium/TestExpectations:
* platform/efl/Skipped:
* platform/gtk/TestExpectations:
* platform/mac-lion/Skipped:
* platform/mac-snowleopard/Skipped:
* platform/mac-wk2/Skipped:
* platform/mac/Skipped:
* platform/qt-4.8/Skipped:
* platform/qt/Skipped:
* platform/win-wk2/Skipped:
* platform/win-xp/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:
* platform/wk2/Skipped:

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

7 years agoLayout Test media/track/track-active-cues.html frequently times out on Windows.
annacc@chromium.org [Thu, 16 Aug 2012 17:47:29 +0000 (17:47 +0000)]
Layout Test media/track/track-active-cues.html frequently times out on Windows.
https://bugs.webkit.org/show_bug.cgi?id=81402

Reviewed by Eric Carlson.

This patch changes the test to use captions-fast.vtt to see if several cuechange
events available at different times helps the test not timeout.

* media/track/track-active-cues.html:

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

7 years ago[Chromium] Pass the --strip-binary argument to the apk test generator
peter@chromium.org [Thu, 16 Aug 2012 17:45:15 +0000 (17:45 +0000)]
[Chromium] Pass the --strip-binary argument to the apk test generator
https://bugs.webkit.org/show_bug.cgi?id=94224

Reviewed by Adam Barth.

The native test generator currently relies on the $STRIP environment
variable to be available, which it shouldn't do. Instead, pass it as an
argument to the script. The $STRIP variable is being deprecated.

Source/WebKit/chromium:

* WebKitUnitTests.gyp:

Tools:

* DumpRenderTree/DumpRenderTree.gyp/DumpRenderTree.gyp:
* TestWebKitAPI/TestWebKitAPI.gyp/TestWebKitAPI.gyp:

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

7 years ago[GTK] Bad utf8 data is being passed to enchant_dict_check
commit-queue@webkit.org [Thu, 16 Aug 2012 17:33:29 +0000 (17:33 +0000)]
[GTK] Bad utf8 data is being passed to enchant_dict_check
https://bugs.webkit.org/show_bug.cgi?id=94202

Patch by Mario Sanchez Prada <msanchez@igalia.com> on 2012-08-16
Reviewed by Martin Robinson.

Pass the number of bytes instead of the number of UTF8 characters
when calling enchant_dict_check.

* platform/text/gtk/TextCheckerEnchant.cpp:
(TextCheckerEnchant::checkSpellingOfString): Use 'bytes' instead
of 'wordLength'.

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

7 years agoWeb Inspector: added Paint events for Images to TimelineAgent
commit-queue@webkit.org [Thu, 16 Aug 2012 17:22:44 +0000 (17:22 +0000)]
Web Inspector: added Paint events for Images to TimelineAgent
https://bugs.webkit.org/show_bug.cgi?id=90277

Patch by Sergey Rogulenko <rogulenko@google.com> on 2012-08-16
Reviewed by Pavel Feldman.

Source/WebCore:

- add DecodeImage & ResizeImage timeline events;
- implement {will,did}DecodeImage and {will,did}ResizeImage methods of Timeline agent;

Test: inspector/timeline/timeline-decode-resize.html

* English.lproj/localizedStrings.js:
* inspector/InspectorTimelineAgent.cpp:
(TimelineRecordType):
(WebCore::InspectorTimelineAgent::willDecodeImage):
(WebCore::InspectorTimelineAgent::didDecodeImage):
(WebCore::InspectorTimelineAgent::willResizeImage):
(WebCore::InspectorTimelineAgent::didResizeImage):
* inspector/TimelineRecordFactory.cpp:
(WebCore::TimelineRecordFactory::createDecodeImageData):
(WebCore):
(WebCore::TimelineRecordFactory::createResizeImageData):
* inspector/TimelineRecordFactory.h:
(TimelineRecordFactory):
* inspector/front-end/TimelineModel.js:
* inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.initRecordStyles_):
(WebInspector.TimelinePresentationModel.Record.prototype._getRecordDetails):

LayoutTests:

Added a test and fixed enum-stabitily because of a new Timeline Event.

* inspector/timeline/resources/big.png: Added.
* inspector/timeline/resources/test.bmp: Added.
* inspector/timeline/resources/test.gif: Added.
* inspector/timeline/resources/test.ico: Added.
* inspector/timeline/resources/test.jpg: Added.
* inspector/timeline/resources/test.png: Added.
* inspector/timeline/resources/test.webp: Added.
* inspector/timeline/timeline-decode-resize-expected.txt: Added.
* inspector/timeline/timeline-decode-resize.html: Added.
* inspector/timeline/timeline-enum-stability-expected.txt:

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

7 years agoMake compositing/layer-creation/overflow-scroll-overlap non-flaky
enne@google.com [Thu, 16 Aug 2012 17:20:24 +0000 (17:20 +0000)]
Make compositing/layer-creation/overflow-scroll-overlap non-flaky
https://bugs.webkit.org/show_bug.cgi?id=94162

Reviewed by James Robinson.

This test has been failing flakily in Chromium with the scrollbar
layer sometimes being composited and sometimes not. This is likely due
to the video flakily being accelerated depending on whether it has
loaded or not.

Fix this test by making it always have a vertical scrollbar and remove
the video with an always-composited div.

* compositing/layer-creation/overflow-scroll-overlap-expected.txt:
* compositing/layer-creation/overflow-scroll-overlap.html:
* platform/chromium/TestExpectations:
* platform/chromium/compositing/layer-creation/overflow-scroll-overlap-expected.txt: Removed.

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

7 years ago[chromium] Remove alwaysReserveTextures code - it doesn't do anything
jamesr@google.com [Thu, 16 Aug 2012 17:16:06 +0000 (17:16 +0000)]
[chromium] Remove alwaysReserveTextures code - it doesn't do anything
https://bugs.webkit.org/show_bug.cgi?id=94183

Reviewed by Dimitri Glazkov.

Source/Platform:

Remove deprecated setAlwaysReserveTextures() call from WebLayer.

* chromium/public/WebLayer.h:
(WebLayer):

Source/WebCore:

LayerChromium::setAlwaysReservesTextures doesn't do anything and hasn't since the prioritized texture manager
landed. This deletes the associated code.

* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
* platform/graphics/chromium/LayerChromium.h:
(LayerChromium):

Source/WebKit/chromium:

Stops attempting to find the scrollbar layers and call setAlwaysReserveTextures() on them since the call doesn't
do anything.

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::setViewport):
* src/WebLayer.cpp:

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

7 years agoUnreviewed. Sort the xcodeproj file.
abarth@webkit.org [Thu, 16 Aug 2012 17:06:56 +0000 (17:06 +0000)]
Unreviewed. Sort the xcodeproj file.

* WebCore.xcodeproj/project.pbxproj:

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

7 years agoUnreviewed. Update bindings tests results from my recent VoidCallback
abarth@webkit.org [Thu, 16 Aug 2012 17:05:54 +0000 (17:05 +0000)]
Unreviewed. Update bindings tests results from my recent VoidCallback
patch. The new result is correct.

* bindings/scripts/test/V8/V8TestCallback.cpp:

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

7 years agoWeb Inspector: CPU profiler status bar is broken.
caseq@chromium.org [Thu, 16 Aug 2012 16:06:13 +0000 (16:06 +0000)]
Web Inspector: CPU profiler status bar is broken.
https://bugs.webkit.org/show_bug.cgi?id=94212

Reviewed by Pavel Feldman.

- properly compute floating status bar buttons offset for profile and timeline panels,
    taking actual number of panel status bar buttons and panel sidebar offset into account;

* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype.get statusBarItems):
(WebInspector.ProfilesPanel.prototype.sidebarResized):
(WebInspector.ProfilesPanel.prototype.onResize):
* inspector/front-end/SplitView.js:
(WebInspector.SplitView.prototype.sidebarWidth):
* inspector/front-end/StatusBarButton.js:
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype.sidebarResized):
(WebInspector.TimelinePanel.prototype.onResize):

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

7 years agoFix the Mac build.
jocelyn.turcotte@nokia.com [Thu, 16 Aug 2012 16:02:13 +0000 (16:02 +0000)]
Fix the Mac build.

Unreviewed build fix.

* WebCore.exp.in: Export FrameView::didFirstLayout()

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

7 years ago[Qt] Remove an unused variable
jocelyn.turcotte@nokia.com [Thu, 16 Aug 2012 15:33:02 +0000 (15:33 +0000)]
[Qt] Remove an unused variable

Reviewed by Simon Hausmann.

* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPagePrivate::QQuickWebPagePrivate):
* UIProcess/API/qt/qquickwebpage_p_p.h:
(QQuickWebPagePrivate):

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

7 years ago[Qt][WK2] Change the default cache model to enable the page cache
jocelyn.turcotte@nokia.com [Thu, 16 Aug 2012 15:31:48 +0000 (15:31 +0000)]
[Qt][WK2] Change the default cache model to enable the page cache
https://bugs.webkit.org/show_bug.cgi?id=94221

Reviewed by Simon Hausmann.

The default CacheModelDocumentViewer disables the memory back-forward page cache.
As uses of applications using QQuickWebView might vary, I'm setting the default to
CacheModelDocumentBrowser.
We should eventually expose this in the API to allow serious Web browsers setting it
to CacheModelPrimaryWebBrowser or to CacheModelDocumentViewer for application tight
on memory with limited page navigations.

* UIProcess/qt/QtWebContext.cpp:
(WebKit::QtWebContext::defaultContext):

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

7 years ago[Qt] Make sure that we don't prematurely force the first layout during loading.
jocelyn.turcotte@nokia.com [Thu, 16 Aug 2012 15:30:28 +0000 (15:30 +0000)]
[Qt] Make sure that we don't prematurely force the first layout during loading.
https://bugs.webkit.org/show_bug.cgi?id=94106

Reviewed by Kenneth Rohde Christiansen.

This would have the nasty effect that the frame loader would report the first layout
before loadCommitted was reported. This would resume the rendering engine prematurely,
showing blank content and reporting an empty contents size.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setFixedLayoutSize):

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

7 years agoUnreviewed. Rolled DEPS.
peter@chromium.org [Thu, 16 Aug 2012 15:23:25 +0000 (15:23 +0000)]
Unreviewed.  Rolled DEPS.

* DEPS:

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

7 years agoAdd BB10 User Agent String to Web Inspector.
kpiascik@rim.com [Thu, 16 Aug 2012 14:58:17 +0000 (14:58 +0000)]
Add BB10 User Agent String to Web Inspector.
https://bugs.webkit.org/show_bug.cgi?id=94217

Reviewed by George Staikos.

Add the new BlackBerry 10 User Agent String and device metrics for
emulation.

* inspector/front-end/SettingsScreen.js:
(WebInspector.UserAgentSettingsTab.prototype._createUserAgentSelectRowElement.get const):

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

7 years agoSource/WebKit/blackberry: [BlackBerry] Suppress non DRT JS Console output.
commit-queue@webkit.org [Thu, 16 Aug 2012 14:54:54 +0000 (14:54 +0000)]
Source/WebKit/blackberry: [BlackBerry] Suppress non DRT JS Console output.
https://bugs.webkit.org/show_bug.cgi?id=94058

Patch by Rob Buis <rbuis@rim.com> on 2012-08-16
Reviewed by Yong Li.
Reviewed internally by Ming Xie.

Some actual test results show JS Console showing up twice, for
instance traversal/moz-bug559526.html. Only print the DRT specific
Console message.

* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::addMessageToConsole):

Tools: [BlackBerry] Update format of JS console message to keep consistent with other ports.
https://bugs.webkit.org/show_bug.cgi?id=94058

Patch by Xiaobo Wang <xbwang@torchmobile.com.cn> on 2012-08-16
Reviewed by Yong Li.
Reviewed internally by George Staikos.

1. Remove line number if it's zero.
2. Print only file name for "file://" URL.

* DumpRenderTree/blackberry/DumpRenderTree.cpp:
(BlackBerry::WebKit::DumpRenderTree::addMessageToConsole):

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

7 years ago[Qt] Input method hints are not being set.
commit-queue@webkit.org [Thu, 16 Aug 2012 14:27:50 +0000 (14:27 +0000)]
[Qt] Input method hints are not being set.
https://bugs.webkit.org/show_bug.cgi?id=92386

Patch by Marcelo Lira <marcelo.lira@openbossa.org> on 2012-08-16
Reviewed by Kenneth Rohde Christiansen.

Input method hints for an editable element must be obtained from a proper
HTML element. If the editable element is a complex one, it will have elements
in the Shadow DOM, and it's one of those that will be returned as the root
editable element. This works for editable DIVs, but not for INPUT elements.
Using Element::shadowHost() on the root editable element will provide the
needed HTML element, and for further clarity a method that does this was added
to FrameSelection.

Source/WebCore:

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::rootEditableElementRespectingShadowTree): Similar to
WebCore::FrameSelection::rootEditableElement, but returns the first ancestor of
the editable element outside the shadow tree.
(WebCore):
* editing/FrameSelection.h:
(FrameSelection):

Source/WebKit2:

Added an API test to the Qt port regarding the correct setting
of input method hints information on INPUT HTML tags.

* UIProcess/API/qt/tests/html/inputmethod.html:
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView):
(tst_QQuickWebView::inputMethodHints):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::editorState):

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

7 years ago[Qt] Make DRT results more reliable on X11
hausmann@webkit.org [Thu, 16 Aug 2012 14:17:17 +0000 (14:17 +0000)]
[Qt] Make DRT results more reliable on X11

Reviewed by Jocelyn Turcotte.

Disable desktop setting awareness, to prevent QApplication on X11 from reading palette settings from
the running desktop environment.

* DumpRenderTree/qt/main.cpp:
(main):

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Thu, 16 Aug 2012 14:16:16 +0000 (14:16 +0000)]
Unreviewed GTK gardening.

Adding a platform-specific baseline after r125772.

* platform/gtk/http/tests/security/contentSecurityPolicy/shared-worker-connect-src-blocked-expected.txt: Added.

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

7 years ago[EFL] Gardening after r125758, r125759
commit-queue@webkit.org [Thu, 16 Aug 2012 13:57:06 +0000 (13:57 +0000)]
[EFL] Gardening after r125758, r125759
https://bugs.webkit.org/show_bug.cgi?id=94215

Unreviewed, gardening.

Newly added tests: compositing/overflow/overflow-hidden-canvas-layer.html,
fast/forms/file/selected-files-from-history-state.html fail on EFL and need gardening.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-08-16

* platform/efl/TestExpectations:

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

7 years agoMake GraphicsSurface double buffered by default.
zeno.albisser@nokia.com [Thu, 16 Aug 2012 13:24:22 +0000 (13:24 +0000)]
Make GraphicsSurface double buffered by default.
https://bugs.webkit.org/show_bug.cgi?id=93252

Create only a single GraphicsSurface per canvas
on both supported platforms Mac/Linux.
The GraphicsSurface on Mac internally uses two IOSurface
to provide a front and a back buffer.
The GLX implementation of GraphicsSurface uses
an XWindow which already provides a front and a back buffer.

Reviewed by Noam Rosenthal.

Source/WebCore:

* platform/graphics/qt/GraphicsContext3DQt.cpp:
(GraphicsContext3DPrivate):
    Remove creation of second GraphicsSurface.
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
(WebCore):
(WebCore::GraphicsContext3DPrivate::graphicsSurfaceToken):
(WebCore::GraphicsContext3DPrivate::createGraphicsSurfaces):
* platform/graphics/surfaces/GraphicsSurface.cpp:
(WebCore::GraphicsSurface::create):
    Adjust token type to uint64_t.
(WebCore::GraphicsSurface::exportToken):
    Adjust return type to uint64_t.
(WebCore::GraphicsSurface::frontBuffer):
(WebCore):
(WebCore::GraphicsSurface::swapBuffers):
    Add forwarding function to swap buffers inside GraphicsSurface.
* platform/graphics/surfaces/GraphicsSurface.h:
(GraphicsSurface):
    Add SupportsSingleBuffered flag to allow for single buffered implementations.
    Currently single buffered surfaces are either not implemented or disabled.
* platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
    Move implementation details into GraphicsSurfacePrivate.
    This way the platform specific code can be hidden in the specific cpp file
    instead of polluting the global GraphicsSurface header.
(WebCore::createTexture):
(GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::swapBuffers):
(WebCore::GraphicsSurfacePrivate::token):
(WebCore::GraphicsSurfacePrivate::frontBufferTextureID):
(WebCore::GraphicsSurfacePrivate::backBufferTextureID):
(WebCore::GraphicsSurfacePrivate::frontBuffer):
(WebCore::GraphicsSurfacePrivate::backBuffer):
(WebCore):
(WebCore::GraphicsSurface::platformExport):
(WebCore::GraphicsSurface::platformGetTextureID):
(WebCore::GraphicsSurface::platformCopyToGLTexture):
(WebCore::GraphicsSurface::platformCopyFromFramebuffer):
(WebCore::GraphicsSurface::platformFrontBuffer):
(WebCore::GraphicsSurface::platformSwapBuffers):
(WebCore::GraphicsSurface::platformCreate):
(WebCore::GraphicsSurface::platformImport):
(WebCore::ioSurfaceLockOptions):
(WebCore::GraphicsSurface::platformLock):
(WebCore::GraphicsSurface::platformUnlock):
(WebCore::GraphicsSurface::platformDestroy):
* platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
(WebCore::OffScreenRootWindow::get):
(WebCore::GraphicsSurfacePrivate::swapBuffers):
    Make sure that framebuffer bindings remain consistent
    after swapping buffers on the XWindow.
(WebCore::GraphicsSurface::platformExport):
    Make sure the GLXPixmap is only bound to the texture once.
(WebCore::GraphicsSurface::platformGetTextureID):
(WebCore::GraphicsSurface::platformCopyFromFramebuffer):
(WebCore):
(WebCore::GraphicsSurface::platformFrontBuffer):
    The GLX surface does not know how to destinguish between
    the front and the back buffer by an id. This is not necessary
    for GraphicsSurfaceGLX, because the texture can just be
    read from the XWindow at any time.
(WebCore::GraphicsSurface::platformSwapBuffers):
(WebCore::GraphicsSurface::platformCreate):
(WebCore::GraphicsSurface::platformImport):
* platform/graphics/texmap/TextureMapperBackingStore.cpp:
    Remove code that was used for switching between two GraphicsSurfaces,
    as this is now handled directly inside GraphicsSurface.
(WebCore::TextureMapperSurfaceBackingStore::setGraphicsSurface):
(WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper):
(WebCore::TextureMapperSurfaceBackingStore::setSurface):
(WebCore):
* platform/graphics/texmap/TextureMapperBackingStore.h:
    Remove GraphicsSurfaceData struct. This class is not needed anymore
    as we do not keep track of more than one GraphicsSurface at the time.
(WebCore):
(TextureMapperSurfaceBackingStore):
(WebCore::TextureMapperSurfaceBackingStore::graphicsSurface):
(WebCore::TextureMapperSurfaceBackingStore::TextureMapperSurfaceBackingStore):
* platform/graphics/texmap/TextureMapperPlatformLayer.h:
(WebCore::TextureMapperPlatformLayer::graphicsSurfaceToken):

Source/WebKit2:

* Shared/ShareableSurface.h:
(Handle):
    Change the type of GraphicsSurface token to uint64_t.
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
(WebKit::LayerTreeCoordinatorProxy::syncCanvas):
    Add a parameter that denotes the current front buffer of the
    GraphicsSurface.
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
(LayerTreeCoordinatorProxy):
* UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::syncCanvas):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::syncCanvas):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayerClient):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
(WebKit::LayerTreeCoordinator::syncCanvas):
* WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
(LayerTreeCoordinator):

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

7 years agoImplement the form-action Content Security Policy directive.
commit-queue@webkit.org [Thu, 16 Aug 2012 12:42:09 +0000 (12:42 +0000)]
Implement the form-action Content Security Policy directive.
https://bugs.webkit.org/show_bug.cgi?id=93777

Patch by Mike West <mkwst@chromium.org> on 2012-08-16
Reviewed by Jochen Eisinger.

Source/WebCore:

The CSP 1.1 editor's draft defines the 'form-action' directive as a
mechanism for whitelisting valid targets for form submission from a
protected resource. A web author might desire to restrict form
submissions to the same origin as the protected resource itself via
a Content Security Policy of "form-action 'self'", or ensure that all
submissions were sent over an SSL connection via "form-action https:".

Specification details available at: https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html#form-action--experimental

This experimental directive is gated on the ENABLE_CSP_NEXT flag, which
is currently only enabled in Chromium.

Tests: http/tests/security/contentSecurityPolicy/1.1/form-action-src-allowed.html
       http/tests/security/contentSecurityPolicy/1.1/form-action-src-blocked.html
       http/tests/security/contentSecurityPolicy/1.1/form-action-src-default-ignored.html
       http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-allowed.html
       http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked.html
       http/tests/security/contentSecurityPolicy/1.1/form-action-src-javascript-blocked.html
       http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked.html

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkIfFormActionAllowedByCSP):
    Adding a callback to FrameLoader in order to allow the
    MainResourceLoader to check the relevant CSP status without knowing
    anything about CSP.
(WebCore):
* loader/FrameLoader.h:
(FrameLoader):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::willSendRequest):
    Check against the protected resource's Content Security Policy when
    presented with a request that is itself a form submission, or is the
    result of a redirect in response to a form submission. If CSP would
    block the target, cancel the request.
* page/ContentSecurityPolicy.cpp:
(CSPDirectiveList):
(WebCore::CSPDirectiveList::checkSourceAndReportViolation):
    Added explanatory text to the source violation console warning that
    specifically calls out sending form data (as opposed to "connect to"
    or "load the").
(WebCore::CSPDirectiveList::allowFormAction):
    Check a URL against a directive list's the 'form-action' source list.
(WebCore):
(WebCore::CSPDirectiveList::addDirective):
    Recognize the 'form-action' CSP directive.
(WebCore::ContentSecurityPolicy::allowFormAction):
    Public interface to check a form action.
* page/ContentSecurityPolicy.h:

LayoutTests:

* http/tests/navigation/resources/redirection-response.php:
    Allow for the specification of alternate hosts for the redirect. We
    need this capability in order to check that an initial submission
    followed by a blocked redirect results in the correct behavior.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-allowed-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-allowed.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-default-ignored-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-default-ignored.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-allowed-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-allowed.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-get-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-javascript-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-javascript-blocked.html: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked-expected.txt: Added.
* http/tests/security/contentSecurityPolicy/1.1/form-action-src-redirect-blocked.html: Added.

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

7 years ago[BlackBerry] WebGL and Canvas fail to display after being restored from page cache
commit-queue@webkit.org [Thu, 16 Aug 2012 12:12:36 +0000 (12:12 +0000)]
[BlackBerry] WebGL and Canvas fail to display after being restored from page cache
https://bugs.webkit.org/show_bug.cgi?id=94105

Patch by Arvid Nilsson <anilsson@rim.com> on 2012-08-16
Reviewed by George Staikos.

The EGLImage was being destroyed when releasing layer resources on the
compositing thread, but the WebKit thread layer never found out and
failed to create a new image.

Fixed by extending the release layer resources mechanism to also make a
pass on the WebKit thread so that thread's layers have a chance to
delete their textures and related resources.

Source/WebCore:

WebGL and canvas layers now take this opportunity to release their
textures so the EGLImage gets recreated when compositing commits
resume.

The only detail that deserves extra explanation is the ownership of the
EGLImage.

Since the EGLImage is created in updateTextureContentsIfNeeded() and
that one is always followed by commitPendingTextureUploads() which
transfers the EGLImage to the compositing thread layer's custody, the
EGLImage currently referenced by EGLImageLayerWebKitThread::m_image
should never be deleted by the WebKit thread layer.

Thus all we have to do in deleteFrontBuffer() is to set the m_image
member to 0 so the image gets recreated on the next commit. It will be
deleted by the part of releaseLayerResources() that executes on the
compositing thread (which, if you recall, was the original source of
this bug).

Reviewed internally by Filip Spacek.

PR 192899

Not currently testable by the BlackBerry testing infrastructure.

* platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
(WebCore::CanvasLayerWebKitThread::deleteTextures):
(WebCore):
* platform/graphics/blackberry/CanvasLayerWebKitThread.h:
(CanvasLayerWebKitThread):
* platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
(WebCore::EGLImageLayerWebKitThread::~EGLImageLayerWebKitThread):
(WebCore::EGLImageLayerWebKitThread::deleteFrontBuffer):
* platform/graphics/blackberry/EGLImageLayerWebKitThread.h:
(EGLImageLayerWebKitThread):
* platform/graphics/blackberry/LayerWebKitThread.cpp:
(WebCore::LayerWebKitThread::releaseLayerResources):
(WebCore):
* platform/graphics/blackberry/LayerWebKitThread.h:
(LayerWebKitThread):
(WebCore::LayerWebKitThread::deleteTextures):
* platform/graphics/blackberry/WebGLLayerWebKitThread.cpp:
(WebCore::WebGLLayerWebKitThread::~WebGLLayerWebKitThread):
(WebCore::WebGLLayerWebKitThread::deleteTextures):
(WebCore):
* platform/graphics/blackberry/WebGLLayerWebKitThread.h:
(WebGLLayerWebKitThread):

Source/WebKit/blackberry:

Reviewed internally by Filip Spacek.

PR 192899

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::releaseLayerResources):
(WebKit):
(BlackBerry::WebKit::WebPagePrivate::releaseLayerResourcesCompositingThread):
(BlackBerry::WebKit::WebPagePrivate::suspendRootLayerCommit):
* Api/WebPage_p.h:
(WebPagePrivate):
* WebKitSupport/FrameLayers.cpp:
(BlackBerry::WebKit::FrameLayers::releaseLayerResources):
(WebKit):
* WebKitSupport/FrameLayers.h:
(FrameLayers):

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

7 years agoWeb Inspector: enable instrumentation of platform code
caseq@chromium.org [Thu, 16 Aug 2012 12:06:20 +0000 (12:06 +0000)]
Web Inspector: enable instrumentation of platform code
https://bugs.webkit.org/show_bug.cgi?id=94125

Reviewed by Pavel Feldman.

- add PlatformInstrumentation class that exposes instrumentation methods that may be used by code under WebCore/platform;
- move TRACE_EVENT_XXX() macros into PlatformInstrumentation.h to minimize instrumentation hassle in the client code;
- implement PlatformInstrumentationClient by InspectorTimelineAgent;
- only install PlatformInstrumentationClient when we have outer events for which we expect low-level details

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/InspectorTimelineAgent.cpp:
(WebCore::InspectorTimelineAgent::willDecodeImage): to be implemented by subsequent change;
(WebCore::InspectorTimelineAgent::didDecodeImage): to be implemented by subsequent change;
(WebCore::InspectorTimelineAgent::willResizeImage): to be implemented by subsequent change;
(WebCore::InspectorTimelineAgent::didResizeImage): to be implemented by subsequent change;
(WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
(WebCore::InspectorTimelineAgent::pushCurrentRecord):
(WebCore::InspectorTimelineAgent::clearRecordStack):
* inspector/InspectorTimelineAgent.h:
(InspectorTimelineAgent):
* platform/PlatformInstrumentation.cpp: Added.
(WebCore):
(WebCore::PlatformInstrumentation::setClient):
* platform/PlatformInstrumentation.h: Added.
(WebCore):
(PlatformInstrumentationClient):
(PlatformInstrumentation):
(WebCore::PlatformInstrumentation::hasClient):
(WebCore::PlatformInstrumentation::willDecodeImage):
(WebCore::PlatformInstrumentation::didDecodeImage):
(WebCore::PlatformInstrumentation::willResizeImage):
(WebCore::PlatformInstrumentation::didResizeImage):
* platform/graphics/skia/NativeImageSkia.cpp:
(WebCore::NativeImageSkia::resizedBitmap): added calls to PlatformInstrumentation, removed TRACE_EVENT();
* platform/image-decoders/bmp/BMPImageDecoder.cpp:
(WebCore::BMPImageDecoder::frameBufferAtIndex): added calls to PlatformInstrumentation;
(WebCore::BMPImageDecoder::decode): removed TRACE_EVENT()
* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::frameBufferAtIndex): added calls to PlatformInstrumentation;
(WebCore::GIFImageDecoder::decode): removed TRACE_EVENT()
* platform/image-decoders/ico/ICOImageDecoder.cpp:
(WebCore::ICOImageDecoder::frameBufferAtIndex): added calls to PlatformInstrumentation;
(WebCore::ICOImageDecoder::decode): removed TRACE_EVENT()
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
(WebCore::JPEGImageDecoder::frameBufferAtIndex): added calls to PlatformInstrumentation;
(WebCore::JPEGImageDecoder::decode): removed TRACE_EVENT()
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageDecoder::frameBufferAtIndex): added calls to PlatformInstrumentation;
* platform/image-decoders/webp/WEBPImageDecoder.cpp:
(WebCore::WEBPImageDecoder::frameBufferAtIndex): added calls to PlatformInstrumentation;
(WebCore::WEBPImageDecoder::decode): removed TRACE_EVENT();
* inspector/InspectorInstrumentation.cpp: removed orphan event support;
(WebCore):
* inspector/InspectorInstrumentation.h: ditto.

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

7 years ago[EFL] Update pixel test expectations for layout test fast/dom/
commit-queue@webkit.org [Thu, 16 Aug 2012 11:54:10 +0000 (11:54 +0000)]
[EFL] Update pixel test expectations for layout test fast/dom/
https://bugs.webkit.org/show_bug.cgi?id=94177

Unreviewed, rebaseline.

Some tests have wrong pixel test results. They should be replaced.

And, two tests related image seem to fail. Alt text should be displayed
if src attribute is not set.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-08-16

* platform/efl/TestExpectations: Added two tests related to display alt text without src.
* platform/efl/fast/dom/34176-expected.png:
* platform/efl/fast/dom/Element/class-attribute-whitespace-expected.png:
* platform/efl/fast/dom/HTMLElement/bdo-expected.png:
* platform/efl/fast/dom/HTMLHeadElement/head-link-style-href-check-expected.png:
* platform/efl/fast/dom/HTMLLinkElement/pending-stylesheet-count-expected.png:
* platform/efl/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.png:
* platform/efl/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.png:
* platform/efl/fast/dom/HTMLMeterElement/meter-boundary-values-expected.png:
* platform/efl/fast/dom/HTMLMeterElement/meter-optimums-expected.png:
* platform/efl/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.png:
* platform/efl/fast/dom/HTMLMeterElement/meter-styles-expected.png:
* platform/efl/fast/dom/HTMLObjectElement/vspace-hspace-as-number-expected.png:
* platform/efl/fast/dom/HTMLTableColElement/resize-table-using-col-width-expected.png:
* platform/efl/fast/dom/HTMLTableElement/colSpan-expected.png:
* platform/efl/fast/dom/HTMLTableElement/createCaption-expected.png:
* platform/efl/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png:
* platform/efl/fast/dom/Range/surroundContents-1-expected.png:
* platform/efl/fast/dom/Window/open-existing-pop-up-blocking-expected.png:
* platform/efl/fast/dom/blur-contenteditable-expected.png:
* platform/efl/fast/dom/children-nodes-expected.png:
* platform/efl/fast/dom/clone-contents-0-end-offset-expected.png:
* platform/efl/fast/dom/css-rule-functions-expected.png:
* platform/efl/fast/dom/focus-contenteditable-expected.png:
* platform/efl/fast/dom/gc-10-expected.png:
* platform/efl/fast/dom/importNodeHTML-expected.png:
* platform/efl/fast/dom/importNodeXML-expected.png:
* platform/efl/fast/dom/row-inner-text-expected.png:
* platform/efl/fast/dom/scroll-reveal-left-overflow-expected.png:
* platform/efl/fast/dom/scroll-reveal-top-overflow-expected.png:

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

7 years agoWeb Inspector: Breakpoints are not correctly restored on reload.
vsevik@chromium.org [Thu, 16 Aug 2012 11:42:13 +0000 (11:42 +0000)]
Web Inspector: Breakpoints are not correctly restored on reload.
https://bugs.webkit.org/show_bug.cgi?id=94209

Reviewed by Pavel Feldman.

Source/WebCore:

BreakpointManager now resets uiLocations on workspace reset (was doing it on GlobalObjectCleared).
Breakpoint manager now calls restoreBreakpoints automatically when uiSourceCode is added to workspace.

* inspector/front-end/BreakpointManager.js:
(WebInspector.BreakpointManager):
(WebInspector.BreakpointManager.prototype._uiSourceCodeAdded):
(WebInspector.BreakpointManager.prototype._workspaceReset):
* inspector/front-end/UISourceCode.js:
(WebInspector.UISourceCode):
* inspector/front-end/inspector.js:

LayoutTests:

restoreBreakpoints is not called inside the test anymore to test that it is called automatically.

* inspector/debugger/breakpoint-manager-expected.txt:
* inspector/debugger/breakpoint-manager.html:

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

7 years ago[Qt] Remove FontQt4, HAVE_QRAWFONT flag and the related dead code
pierre.rossi@gmail.com [Thu, 16 Aug 2012 10:53:07 +0000 (10:53 +0000)]
[Qt] Remove FontQt4, HAVE_QRAWFONT flag and the related dead code
https://bugs.webkit.org/show_bug.cgi?id=93960

Reviewed by Simon Hausmann.

Following the removal of Qt 4 support from trunk in r124879.

Source/WebCore:

No new tests. Simple cleanup job.

* Target.pri:
* platform/graphics/Font.cpp:
(WebCore::Font::codePath):
* platform/graphics/Font.h:
(Font):
* platform/graphics/GraphicsContext.cpp:
(WebCore):
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::platformGlyphInit):
(WebCore::SimpleFontData::glyphForCharacter):
* platform/graphics/SimpleFontData.h:
(SimpleFontData):
(WebCore::SimpleFontData::widthForGlyph):
* platform/graphics/qt/FontCacheQt.cpp:
(WebCore::rawFontForCharacters):
(WebCore::FontCache::getFontDataForCharacters):
* platform/graphics/qt/FontCustomPlatformData.h:
(FontCustomPlatformData):
* platform/graphics/qt/FontCustomPlatformDataQt.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData):
(WebCore::createFontCustomPlatformData):
* platform/graphics/qt/FontPlatformData.h:
(WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
(FontPlatformDataPrivate):
(FontPlatformData):
(WebCore::FontPlatformData::FontPlatformData):
* platform/graphics/qt/FontPlatformDataQt.cpp:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::operator==):
(WebCore::FontPlatformData::hash):
* platform/graphics/qt/FontQt4.cpp: Removed.
* platform/graphics/qt/GlyphPageTreeNodeQt.cpp:
(WebCore::GlyphPage::fill):
* platform/graphics/qt/SimpleFontDataQt.cpp:
(WebCore::SimpleFontData::determinePitch):
(WebCore::SimpleFontData::platformBoundsForGlyph):
(WebCore::SimpleFontData::platformInit):
(WebCore::SimpleFontData::platformCharWidthInit):
* rendering/svg/SVGTextMetricsBuilder.cpp:
(WebCore::SVGTextMetricsBuilder::advance):
(WebCore::SVGTextMetricsBuilder::advanceSimpleText):
(WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):

Source/WebKit/blackberry:

* WebCoreSupport/AboutDataHaveFeatures.in: Remove all traces of HAVE_QRAWFONT's existence.

Source/WebKit2:

* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::getWebCoreStatistics):

Tools:

* qmake/mkspecs/features/features.prf:

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

7 years ago[EFL] Gardening after r125592, r125635
commit-queue@webkit.org [Thu, 16 Aug 2012 09:56:41 +0000 (09:56 +0000)]
[EFL] Gardening after r125592, r125635
https://bugs.webkit.org/show_bug.cgi?id=94197

Unreviewed gardening.

Gardening of fast/overflow/line-clamp-and-columns.html and
http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child.html.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-08-16

* platform/efl/TestExpectations:

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

7 years agoDOMWindowPagePopup needs to be installed before loading the html inside the page...
keishi@webkit.org [Thu, 16 Aug 2012 09:28:20 +0000 (09:28 +0000)]
DOMWindowPagePopup needs to be installed before loading the html inside the page popup
https://bugs.webkit.org/show_bug.cgi?id=94193

Reviewed by Kent Tamura.

We are using window.pagePopupController.localizeNumberString while loading so we need to install DOMWindowPagePopup before loading the html.

* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopupImpl::initPage):

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

7 years agoWeb Inspector: memory instrumentation for Resource{Request/Response}Base
yurys@chromium.org [Thu, 16 Aug 2012 09:18:34 +0000 (09:18 +0000)]
Web Inspector: memory instrumentation for Resource{Request/Response}Base
https://bugs.webkit.org/show_bug.cgi?id=94109

Reviewed by Vsevolod Vlasov.

Added reportMemoryUsage methods to ResourceRequestBase, ResourceResponseBase
and several related classes.

* dom/MemoryInstrumentation.cpp:
(WebCore::MemoryInstrumentation::addInstrumentedObjectImpl): added overrides
for String, StringImpl and AtomicString object types so that we can reuse
existing addInstrumentedCollection method instead of adding a counterpart
that would operate on not instrumented content. Next step would be to get
rid od addObject overrides for these types so that all kinds of Strings are
considered as instrumented classes despite they don't have reportMemoryUsage
method.
(WebCore):
* dom/MemoryInstrumentation.h:
(WebCore::MemoryInstrumentation::addInstrumentedObjectImpl):
(MemoryInstrumentation):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::reportMemoryUsage):
* platform/network/FormData.cpp:
(WebCore::FormData::reportMemoryUsage):
(WebCore):
* platform/network/FormData.h:
(WebCore):
(FormData):
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::reportMemoryUsage):
(WebCore):
* platform/network/ResourceRequestBase.h:
(ResourceRequestBase):
* platform/network/ResourceResponseBase.cpp:
(WebCore):
(WebCore::ResourceResponseBase::reportMemoryUsage):
* platform/network/ResourceResponseBase.h:
(WebCore):
(ResourceResponseBase):

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

7 years ago[EFL][WK2] Add unit tests for Web intent registration
commit-queue@webkit.org [Thu, 16 Aug 2012 09:12:57 +0000 (09:12 +0000)]
[EFL][WK2] Add unit tests for Web intent registration
https://bugs.webkit.org/show_bug.cgi?id=94133

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-08-16
Reviewed by Kenneth Rohde Christiansen.

Add unit tests for Web Intent service registration.
This tests the "intent,service,register" signaling
on the Ewk_View as well as Ewk_Intent_Service.

* PlatformEfl.cmake:
* UIProcess/API/efl/tests/resources/intent-service.html: Added.
* UIProcess/API/efl/tests/test_ewk2_intents.cpp: Added.
(onIntentServiceRegistration):
(TEST_F):

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

7 years agoDelete DOMWindow::securityOrigin()
abarth@webkit.org [Thu, 16 Aug 2012 09:09:42 +0000 (09:09 +0000)]
Delete DOMWindow::securityOrigin()
https://bugs.webkit.org/show_bug.cgi?id=93991

Reviewed by Eric Seidel.

DOMWindow::securityOrigin() just calls through to
document()->securityOrigin(). This patch updates all the callers to do
that work themselves, making it clearer what's going on at each call
site.

* bindings/generic/BindingSecurity.cpp:
(WebCore::canAccessDocument):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::allowsAccessFrom):
* bindings/js/JSDOMWindowCustom.h:
(WebCore::JSDOMWindowBase::allowsAccessFromPrivate):
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::collectIsolatedContexts):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::isInsecureScriptAccess):
(WebCore::DOMWindow::createWindow):
* page/DOMWindow.h:
(DOMWindow):
* page/Location.cpp:
(WebCore::Location::reload):

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

7 years agoUnreviewed, rolling out r125751.
commit-queue@webkit.org [Thu, 16 Aug 2012 08:54:22 +0000 (08:54 +0000)]
Unreviewed, rolling out r125751.
http://trac.webkit.org/changeset/125751
https://bugs.webkit.org/show_bug.cgi?id=94206

we shouldn't be rolling out this patch without a formal
review. (Requested by rniwa_ on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-16

* dom/CharacterData.cpp:
(WebCore::CharacterData::setDataAndUpdate):
* editing/FrameSelection.cpp:
(WebCore::updatePositionAfterAdoptingTextReplacement):
(WebCore::FrameSelection::textWasReplaced):
* editing/FrameSelection.h:
(FrameSelection):

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

7 years ago.: FormController, WebHistoryItem: Enable reading selected file names from document...
commit-queue@webkit.org [Thu, 16 Aug 2012 08:52:25 +0000 (08:52 +0000)]
.: FormController, WebHistoryItem: Enable reading selected file names from document state
https://bugs.webkit.org/show_bug.cgi?id=91231

Patch by Marja Hölttä <marja@chromium.org> on 2012-08-16
Reviewed by Jochen Eisinger.

This change enables Chromium to set up file permissions properly when
the session restore feature restores a page with selected files.

* Source/autotools/symbols.filter: Exported FormController::getReferencedFilePaths and HistoryController::saveDocumentAndScrollState.

Source/WebCore: FormController, FileInputType: Enable reading selected file names from document state
https://bugs.webkit.org/show_bug.cgi?id=91231

Patch by Marja Hölttä <marja@chromium.org> on 2012-08-16
Reviewed by Jochen Eisinger.

This change enables Chromium to set up file permissions properly when
the session restore feature restores a page with selected files.

Test: fast/forms/file/selected-files-from-history-state.html

* WebCore.exp.in: Exported FormController::getReferencedFilePaths.
* html/FileInputType.cpp:
(WebCore::FileInputType::filesFromFormControlState): Added. Extracts FileChooserFileInfos from a FormControlState.
(WebCore):
(WebCore::FileInputType::restoreFormControlState): Refactored to use filesFromFormControlState.
* html/FileInputType.h:
(FileInputType): Added filesFromFormControlState.
* html/FormController.cpp:
(SavedFormState): Added getReferencedFilePaths.
(WebCore::SavedFormState::getReferencedFilePaths): Added. Extracts selected file paths from SavedFormState.
(WebCore):
(WebCore::FormController::setStateForNewFormElements): Refactored to use formStatesFromStateVector.
(WebCore::FormController::formStatesFromStateVector):
(WebCore::FormController::getReferencedFilePaths): Added. Static. Extracts selected file paths from a document state.
* html/FormController.h:
(FormController): Added getReferencedFilePaths and formStatesFromStateVector.
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::filesFromFileInputFormControlState): Added. Delegates to FileInputType::filesFromFormControlState.
(WebCore):
* html/HTMLInputElement.h: Added filesFromFileInputFormControlState.
(HTMLInputElement):
* testing/Internals.cpp:
(WebCore::Internals::getReferencedFilePaths): Calls FormController::getReferencedFilePaths.
(WebCore):
* testing/Internals.h:
(Internals): Added getReferencedFilePaths.
* testing/Internals.idl: Added binding for getReferencedFilePaths.

Source/WebKit/chromium: WebHistoryItem: Enable reading selected file names from document state
https://bugs.webkit.org/show_bug.cgi?id=91231

Patch by Marja Hölttä <marja@chromium.org> on 2012-08-16
Reviewed by Jochen Eisinger.

This change enables Chromium to set up file permissions properly when
the session restore feature restores a page with selected files.

* public/WebHistoryItem.h:
(WebHistoryItem): Added getReferencedFilePaths.
* src/WebHistoryItem.cpp:
(WebKit::WebHistoryItem::getReferencedFilePaths): Extracts selected and posted file paths from a document state.
(WebKit):

Source/WebKit2: FormController, WebHistoryItem: Enable reading selected file names from document state
https://bugs.webkit.org/show_bug.cgi?id=91231

Patch by Marja Hölttä <marja@chromium.org> on 2012-08-16
Reviewed by Jochen Eisinger.

This change enables Chromium to set up file permissions properly when
the session restore feature restores a page with selected files.

* win/WebKit2.def: Exported FormController::getReferencedFilePaths and HistoryController::saveDocumentAndScrollState.

LayoutTests: FormController: Enable reading selected file names from document state
https://bugs.webkit.org/show_bug.cgi?id=91231

Patch by Marja Hölttä <marja@chromium.org> on 2012-08-16
Reviewed by Jochen Eisinger.

This change enables Chromium to set up file permissions properly when
the session restore feature restores a page with selected files.

* fast/forms/file/selected-files-from-history-state-expected.txt: Added.
* fast/forms/file/selected-files-from-history-state.html: Added.

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

7 years ago[chromium] set scissorRect per quad so that quads are correctly clipped
shawnsingh@chromium.org [Thu, 16 Aug 2012 08:50:21 +0000 (08:50 +0000)]
[chromium] set scissorRect per quad so that quads are correctly clipped
https://bugs.webkit.org/show_bug.cgi?id=94050

Reviewed by Adrienne Walker.

Source/WebCore:

Certain quad types rely on scissoring to do correct
clipping. Refactoring the quad types to remove this assumption
will be done in a later patch, but for now, we have to apply the
scissor rect to every quad to ensure that those quads are
correctly clipped.

Test: compositing/overflow/overflow-hidden-canvas-layer.html

Also updated two unit tests to reflect the change in semantics.

* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawRenderPass):
(WebCore::LayerRendererChromium::drawQuad):

Source/WebKit/chromium:

Updated two unit tests to reflect that we need to always scissor,
until we refactor so that quads do not depend on scissoring.

* tests/CCLayerTreeHostImplTest.cpp:

LayoutTests:

* compositing/overflow/overflow-hidden-canvas-layer-expected.png: Added.
* compositing/overflow/overflow-hidden-canvas-layer-expected.txt: Added.
* compositing/overflow/overflow-hidden-canvas-layer.html: Added.

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

7 years agoPrevent showing suggestions when right-clicking a selection range.
hbono@chromium.org [Thu, 16 Aug 2012 08:07:51 +0000 (08:07 +0000)]
Prevent showing suggestions when right-clicking a selection range.
https://bugs.webkit.org/show_bug.cgi?id=94189

Reviewed by Hajime Morita.

To emulate Safari, my r120810 changes selection when right-clicking a misspelled
word. Unfortunately, this change somehow uses VisibleSelection::isCaretOrRange
and it changes the existing selection when right-clicking a selection which
includes a misspelled word. This change uses VisibleSelection::isCaret to
prevent showing suggestions when right-clicking a selection range. (Neither does
Safari show suggestions when there is a selection range.)

* src/ContextMenuClientImpl.cpp:
(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Thu, 16 Aug 2012 07:57:39 +0000 (07:57 +0000)]
Unreviewed GTK gardening.

Adding failure expectations for two accessibility tests introduced in r125710.

Rebaselining fast/css/word-space-extra.html after r125578.

* platform/gtk/TestExpectations:
* platform/gtk/fast/css/word-space-extra-expected.txt:

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

7 years agoAdd deleteFileSystem support to DumpRenderTree for chromium
commit-queue@webkit.org [Thu, 16 Aug 2012 07:54:35 +0000 (07:54 +0000)]
Add deleteFileSystem support to DumpRenderTree for chromium
https://bugs.webkit.org/show_bug.cgi?id=94071

Patch by Taiju Tsuiki <tzik@chromium.org> on 2012-08-16
Reviewed by Kent Tamura.

* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::deleteFileSystem): Added
* DumpRenderTree/chromium/WebViewHost.h:
(WebViewHost):

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

7 years ago[Forms] Wheel event support in multiple fields time input UI
yosin@chromium.org [Thu, 16 Aug 2012 07:34:13 +0000 (07:34 +0000)]
[Forms] Wheel event support in multiple fields time input UI
https://bugs.webkit.org/show_bug.cgi?id=94166

Reviewed by Kent Tamura.

Source/WebCore:

This patch makes multiple fields time input UI to handle wheel event
on spin button.

This patch affects if ENABLE_INPUT_TYPE_TIME and ENABLE_INPUT_TYPE_MULTIPLE_FIELDS
are enabled.

Test: fast/forms/time-multiple-fields/time-multiple-fields-wheel-event.html

* html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditElement::defaultEventHandler): Changed to forward
event to spin button if available.

LayoutTests:

This patch adds a test for wheel event handling in multiple fields
time input UI.

* fast/forms/time-multiple-fields/time-multiple-fields-wheel-event-expected.txt: Added.
* fast/forms/time-multiple-fields/time-multiple-fields-wheel-event.html: Added.

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

7 years agoTextureMapperGL::beginPainting has a duplicate call to get GL_FRAMEBUFFER_BINDING.
commit-queue@webkit.org [Thu, 16 Aug 2012 07:18:45 +0000 (07:18 +0000)]
TextureMapperGL::beginPainting has a duplicate call to get GL_FRAMEBUFFER_BINDING.
https://bugs.webkit.org/show_bug.cgi?id=94180

Patch by Zhigang Gong <zhigang.gong@linux.intel.com> on 2012-08-16
Reviewed by Noam Rosenthal.

* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::beginPainting):

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

7 years agoUnreviewed, rolling out r119705.
inferno@chromium.org [Thu, 16 Aug 2012 07:06:14 +0000 (07:06 +0000)]
Unreviewed, rolling out r119705.
http://trac.webkit.org/changeset/119705
https://bugs.webkit.org/show_bug.cgi?id=94192

Causing crash on ClusterFuzz due to incorrect layout ordering
change (Requested by inferno-sec on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-16

* dom/CharacterData.cpp:
(WebCore::CharacterData::setDataAndUpdate):
* editing/FrameSelection.cpp:
(WebCore::updatePositionAfterAdoptingTextReplacement):
(WebCore::FrameSelection::textWillBeReplaced):
* editing/FrameSelection.h:
(FrameSelection):

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

7 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Thu, 16 Aug 2012 06:20:00 +0000 (06:20 +0000)]
Unreviewed.  Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-15

* DEPS:

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

7 years ago[Chromium] Refactoring: Introduce a new function for some part of PopupContainer...
tkent@chromium.org [Thu, 16 Aug 2012 06:01:33 +0000 (06:01 +0000)]
[Chromium] Refactoring: Introduce a new function for some part of PopupContainer::layoutAndCalculateWidgetRect()
https://bugs.webkit.org/show_bug.cgi?id=94087

Reviewed by Hajime Morita.

Move some part of PopupContainer::layoutAndCalculateWidgetRect() to a
new function which is not a member of PopupContainer because we'd like
to add a unit test for the position calculation code, and to reduce the
dependency.

No new tests. Popup positioning code is not testable in WebKit.

* platform/chromium/PopupContainer.cpp:
(WebCore::layoutAndCalculateWidgetRectInternal):
Added. Move the code from PopupContainer::layoutAndCalculateWidgetRect.
In order to avoid to call member functions of PopupContainer, we
don't call layoutAndGetRTLOffset() and height(). Use
PopupListBox::layout() to recalculate the popup content size, and use
PopupListBox::height() + kBorderSize * 2 instead of height(). We
resize the view after finishing layoutAndCalculateWidgetRectInternal
in PopupContainer::layoutAndCalculateWidgetRect.
(WebCore::PopupContainer::layoutAndCalculateWidgetRect):
Move some code to layoutAndCalculateWidgetRectInternal.
(WebCore::PopupContainer::fitToListBox):
Added. Move the code from PopupContainer::layoutAndGetRTLOffset.
(WebCore::PopupContainer::layoutAndGetRTLOffset):
Move some code to fitToListBox.
* platform/chromium/PopupContainer.h:
(PopupContainer): Added fitToListBox.

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

7 years ago[Tests] Disable fast/forms/time-multiple-fields tests for port which don't enable...
yosin@chromium.org [Thu, 16 Aug 2012 05:59:39 +0000 (05:59 +0000)]
[Tests] Disable fast/forms/time-multiple-fields tests for port which don't enable multiple fields time input UI feature
https://bugs.webkit.org/show_bug.cgi?id=94186

Reviewed by Kent Tamura.

This patch disables tests in fast/forms/time-multiple-fields.
These tests are enabled if both ENABLE_INPUT_TYPE_TIME and
ENABLED_INPUT_TYPE_TIME_MULTIPLE_FIELDS enabled.

* platform/chromium/TestExpectations:
* platform/efl/tExpectations:
* platform/gtk/TestExpectations:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:
* platform/wincairo/Skipped:

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

7 years ago[Forms] Re-factor fast/forms/number/number-wheel-event.html
yosin@chromium.org [Thu, 16 Aug 2012 05:37:03 +0000 (05:37 +0000)]
[Forms] Re-factor fast/forms/number/number-wheel-event.html
https://bugs.webkit.org/show_bug.cgi?id=94172

Reviewed by Kent Tamura.

This patch moves test code from number-wheel-event.html to common-wheel-event.js
for sharing test code among input types.

* fast/forms/number/number-wheel-event.html:
* fast/forms/resources/common-wheel-event.js:
(testWheelEvent):

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

7 years agoREGRESSION (r125659): 4 HTMLMeterElement tests fail on Mac.
shinyak@chromium.org [Thu, 16 Aug 2012 05:21:33 +0000 (05:21 +0000)]
REGRESSION (r125659): 4 HTMLMeterElement tests fail on Mac.
https://bugs.webkit.org/show_bug.cgi?id=94157

Unreviewed, unskip failing tests and  rebaseline after r125659.

* platform/mac/Skipped:
* platform/mac/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt:
* platform/mac/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt:
* platform/mac/fast/dom/HTMLMeterElement/meter-styles-expected.txt:
* platform/mac/fast/dom/HTMLMeterElement/meter-writing-mode-expected.txt:

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

7 years agoVoidCallback should not be a special snowflake
abarth@webkit.org [Thu, 16 Aug 2012 05:01:52 +0000 (05:01 +0000)]
VoidCallback should not be a special snowflake
https://bugs.webkit.org/show_bug.cgi?id=94119

Reviewed by Eric Seidel.

VoidCallback is the oldest of the callbacks and it predates our ability
to autogenerate callback objects. The existing implementation of
VoidCallback is wrong because it doesn't call
ActiveDOMCallback::canInvokeCallback. The net result of that is that
void callbacks can race with navigations and occationally execute after
the Frame has navigated to a new Document, which was causing the
flakiness.

This patch changes VoidCallback to no longer be a unique snowflake.
Instead, we autogenerate the implementation, just like every other
callback in WebCore.

Tests: storage/websql/database-lock-after-reload.html is no longer flaky.

* DerivedSources.make:
* GNUmakefile.list.am:
* Modules/filesystem/SyncCallbackHelper.h:
(WebCore::SyncCallbackHelper::SuccessCallbackImpl::handleEvent):
* Target.pri:
* UseJSC.cmake:
* UseV8.cmake:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/cpp/WebDOMCustomVoidCallback.cpp: Removed.
* bindings/cpp/WebDOMCustomVoidCallback.h: Removed.
* bindings/js/JSBindingsAllInOne.cpp:
* bindings/js/JSCustomVoidCallback.cpp: Removed.
* bindings/js/JSCustomVoidCallback.h: Removed.
* bindings/js/JSDesktopNotificationsCustom.cpp:
(WebCore::JSNotificationCenter::requestPermission):
* bindings/scripts/CodeGeneratorCPP.pm:
(GetClassName):
(AddIncludesForType):
* bindings/scripts/CodeGeneratorJS.pm:
(GetCallbackClassName):
(GenerateCallbackImplementation):
(JSValueToNative):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateCallbackImplementation):
(TypeCanFailConversion):
(GetCallbackClassName):
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::callbackWithNoParam):
* bindings/scripts/test/V8/V8TestCallback.cpp:
* bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
* bindings/v8/custom/V8CustomVoidCallback.cpp: Removed.
* bindings/v8/custom/V8CustomVoidCallback.h: Removed.
* bindings/v8/custom/V8MutationCallbackCustom.cpp:
* bindings/v8/custom/V8NotificationCenterCustom.cpp:
(WebCore::V8NotificationCenter::requestPermissionCallback):
* html/VoidCallback.h:
(VoidCallback):
* html/VoidCallback.idl:
* inspector/InspectorDatabaseAgent.cpp:
(WebCore):

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

7 years ago[Shadow] Stop 'load' and 'error' events at shadow boundaries
hayato@chromium.org [Thu, 16 Aug 2012 04:51:14 +0000 (04:51 +0000)]
[Shadow] Stop 'load' and 'error' events at shadow boundaries
https://bugs.webkit.org/show_bug.cgi?id=93425

Reviewed by Dimitri Glazkov.

Source/WebCore:

The shadow DOM spec has added these events as 'always-be-stopped' events at shadow boundaries.
http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#events-that-are-always-stopped

Test: fast/dom/shadow/events-stopped-at-shadow-boundary.html

* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::determineDispatchBehavior):

LayoutTests:

* fast/dom/shadow/events-stopped-at-shadow-boundary-expected.txt:
* fast/dom/shadow/events-stopped-at-shadow-boundary.html:

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

7 years ago[Tests] Copy to fast/forms/resources/common-wheel-event.js from fast/forms/number...
yosin@chromium.org [Thu, 16 Aug 2012 04:21:53 +0000 (04:21 +0000)]
[Tests] Copy to fast/forms/resources/common-wheel-event.js from fast/forms/number/number-wheel-event.html
https://bugs.webkit.org/show_bug.cgi?id=94184

Reviewed by Kent Tamura.

This patch copies fast/forms/number/number-wheel-event.html
to fast/forms/resources/common-wheel-event.js for sharing
test code among input types.

* fast/forms/resources/common-wheel-event.js: Copied from LayoutTests/fast/forms/number/number-wheel-event.html.

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

7 years ago(r125629): Newly added test css3/filters/custom/filter-fallback-to-software.html...
commit-queue@webkit.org [Thu, 16 Aug 2012 03:56:38 +0000 (03:56 +0000)]
(r125629): Newly added test css3/filters/custom/filter-fallback-to-software.html failing on mac
https://bugs.webkit.org/show_bug.cgi?id=94169

Patch by Kiran Muppala <cmuppala@apple.com> on 2012-08-15
Reviewed by Sam Weinig.

Update TestExpecatations of failing test to make the bot green.

* platform/mac/TestExpectations:

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

7 years agoCalendar Picker: Localize numbers in a calendar picker
tkent@chromium.org [Thu, 16 Aug 2012 03:54:03 +0000 (03:54 +0000)]
Calendar Picker: Localize numbers in a calendar picker
https://bugs.webkit.org/show_bug.cgi?id=93704

Reviewed by Hajime Morita.

.:

* ManualTests/forms/calendar-picker.html:
Add a mock pagePopupController.localizeNumberString().

Source/WebCore:

Because Number.toLocaleString() of V8 returns no localized
numbers, we provide a localization function via
PagePopupController.

No new tests. We have no ways to change the locale in layout tests.

* Resources/pagepopups/calendarPicker.js:
(localizeNumber): Added. A wrapper for pagePopupController.localizeNumberString().
(formatJapaneseImperialEra): Use localizeNumber().
(formatYearMonth): ditto.
(DaysTable.prototype._renderMonth): ditto.
* page/PagePopupController.cpp:
(WebCore::PagePopupController::localizeNumberString):
Added. Just calls WebCore::convertToLocalizedNumber().
* page/PagePopupController.h:
(PagePopupController): Declare localizeNumberString().
* page/PagePopupController.idl: Add localizeNumberString().

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

7 years ago[Forms] Rename LayoutTests/fast/forms/number/number-wheel.html to number-wheel-event...
yosin@chromium.org [Thu, 16 Aug 2012 03:45:39 +0000 (03:45 +0000)]
[Forms] Rename LayoutTests/fast/forms/number/number-wheel.html to number-wheel-event.html
https://bugs.webkit.org/show_bug.cgi?id=94173

Reviewed by Kent Tamura.

This patch renames LayoutTest/fast/forms/number/number-wheel.html to
number-wheel-event.html to indicate the test checks wheel event
handling.

* fast/forms/number/number-wheel-event-expected.txt: Copied from LayoutTests/fast/forms/number/number-wheel-expected.txt.
* fast/forms/number/number-wheel-event.html: Copied from LayoutTests/fast/forms/number/number-wheel.html.
* fast/forms/number/number-wheel-expected.txt: Removed.
* fast/forms/number/number-wheel.html: Removed.

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

7 years agoRegression(121518) TextFieldDecorationElement formatting is broken.
morrita@google.com [Thu, 16 Aug 2012 03:05:59 +0000 (03:05 +0000)]
Regression(121518) TextFieldDecorationElement formatting is broken.
https://bugs.webkit.org/show_bug.cgi?id=90913

Reviewed by Dimitri Glazkov.

Source/WebCore:

NodeRenderingContext::nextRenderer() has a problem which cannot retrieve the renderer
across an insertion point in some case. That is because ad-hoc composed tree traversal on
NodeRenderingContext is broken. The problem is hidden before r121518 though.

This change rewrite nextRenderer() using ComposedShadowTreeWalker to eliminate the ad-hoc
traversal. previousRenderer() is also rewritten in the same way.

Test: fast/dom/shadow/shadow-div-reflow.html

* dom/NodeRenderingContext.cpp:
(WebCore):
(WebCore::NodeRenderingContext::nextRenderer):
(WebCore::NodeRenderingContext::previousRenderer):

LayoutTests:

* fast/dom/shadow/shadow-div-reflow-expected.html: Added.
* fast/dom/shadow/shadow-div-reflow.html: Added.

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

7 years agoUpdate manual tests and comments to refer to TestRunner instead of LayoutTestController
rniwa@webkit.org [Thu, 16 Aug 2012 02:40:21 +0000 (02:40 +0000)]
Update manual tests and comments to refer to TestRunner instead of LayoutTestController
https://bugs.webkit.org/show_bug.cgi?id=94168

Reviewed by Kent Tamura.

.:

* ManualTests/resources/multiFileResources/post-echo-and-notify-done.cgi:

Source/WebKit:

* PlatformBlackBerry.cmake:

Source/WebKit/chromium:

* public/WebDevToolsAgent.h:
(WebDevToolsAgent):
* public/WebView.h:
(WebView):

Source/WebKit/qt:

* Api/qwebelement.cpp:
(convertJSValueToWebElementVariant):
* WebCoreSupport/DumpRenderTreeSupportQt.h:

Source/WebKit/win:

* Interfaces/IWebPreferencesPrivate.idl:

Source/WebKit2:

* Shared/WebPreferencesStore.cpp:
(WebKit::WebPreferencesStore::getBoolValueForKey):

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

7 years agoAdd a was-inserted-into-tree notification to RenderObject
jchaffraix@webkit.org [Thu, 16 Aug 2012 02:35:29 +0000 (02:35 +0000)]
Add a was-inserted-into-tree notification to RenderObject
https://bugs.webkit.org/show_bug.cgi?id=93874

Reviewed by Eric Seidel.

This change adds insertedIntoTree to RenderObject so that renderers
can now do their post-insertion task inside this function.

Our current architecture has 2 ways of doing post-insertion tasks:
- overriding RenderObject::addChild
- RenderObjectChildList::insertChildNode / appendChildNode

Because the former is not guaranteed to be called for each insertion
(on top of being called on the parent and not the inserted child), the
2 latter functions are the one that have been mostly used recently. This
led to code duplication between the functions but also doesn't scale as
other renderers need to hop on this notification and currently don't (for
example, table parts). The other renderer's migration will be done in
follow-up patches.

Refactoring covered by existing tests.

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::enclosingRenderNamedFlowThread):
Moved the code from renderNamedFlowThreadContainer to RenderObject::enclosingRenderNamedFlowThread.
This is needed as now 2 classes need to access the function.

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::appendChildNode):
(WebCore::RenderObjectChildList::insertChildNode):
Moved the code duplicated from those 2 functions into
the instances of insertedIntoTree below.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::insertedIntoTree):
Base function that needs to be called from all the other
specialized functions below.

* rendering/RenderListItem.cpp:
(WebCore::RenderListItem::insertedIntoTree):
* rendering/RenderListItem.h:
* rendering/RenderObject.h:
* rendering/RenderObjectChildList.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::insertedIntoTree):
* rendering/RenderRegion.h:
Added the overriden insertedIntoTree function.

* rendering/RenderQuote.h:
Moved the comment from RenderObjectChildList about RenderQuote here.

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

7 years agoAllow blocking of Web SQL databases in third-party documents
jpfau@apple.com [Thu, 16 Aug 2012 02:14:16 +0000 (02:14 +0000)]
Allow blocking of Web SQL databases in third-party documents
https://bugs.webkit.org/show_bug.cgi?id=94057

Reviewed by Adam Barth.

Source/WebCore:

Add a check for pages in third-party pages to allow third-party storage blocking of Web SQL databases.

Tests: http/tests/security/cross-origin-websql-allowed.html
       http/tests/security/cross-origin-websql.html

* Modules/webdatabase/DOMWindowWebDatabase.cpp:
(WebCore::DOMWindowWebDatabase::openDatabase): Pass top origin to canAccessDatabase
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canAccessStorage): Common method for various types of storage that use the same criteria
* page/SecurityOrigin.h:
(WebCore::SecurityOrigin::canAccessDatabase): Use canAccessStorage
(WebCore::SecurityOrigin::canAccessLocalStorage): Change to using canAccessStorage
(SecurityOrigin):

LayoutTests:

Created tests for accessing openDatabase from a third party and first party context when third-party blocking is on and off.

* http/tests/security/cross-origin-websql-allowed-expected.txt: Added.
* http/tests/security/cross-origin-websql-allowed.html: Added.
* http/tests/security/cross-origin-websql-expected.txt: Added.
* http/tests/security/cross-origin-websql.html: Added.
* http/tests/security/resources/cross-origin-iframe-for-websql.html: Added.

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

7 years agoFix TestExpectations line format for two fast/css tests failing on mac
commit-queue@webkit.org [Thu, 16 Aug 2012 01:48:18 +0000 (01:48 +0000)]
Fix TestExpectations line format for two fast/css tests failing on mac
https://bugs.webkit.org/show_bug.cgi?id=94160

Patch by Kiran Muppala <cmuppala@apple.com> on 2012-08-15
Reviewed by Sam Weinig.

Remove "MAC" modifier, which seems to prevent the expectations from taking effect.

* platform/mac/TestExpectations:

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

7 years agoImprove Document.h compile time - reduce includes of ScriptCallStack.h
commit-queue@webkit.org [Thu, 16 Aug 2012 01:41:37 +0000 (01:41 +0000)]
Improve Document.h compile time - reduce includes of ScriptCallStack.h
https://bugs.webkit.org/show_bug.cgi?id=94161

Patch by Nikhil Bhargava <nbhargava@google.com> on 2012-08-15
Reviewed by Eric Seidel.

ScriptCallStack.h no longer included from ScriptExecutionContext. It's
relatively expensive to compile and gets compiled a ton because
Document.h indirectly includes it.

No new tests. Functionality should remain the same

* Modules/indexeddb/IDBDatabase.cpp:
* Modules/indexeddb/IDBIndex.cpp:
* Modules/indexeddb/IDBObjectStore.cpp:
* bindings/js/ScriptController.cpp:
* dom/ScriptElement.cpp:
* dom/ScriptExecutionContext.h:
(WebCore):
* fileapi/Blob.cpp:
* fileapi/WebKitBlobBuilder.cpp:
* html/HTMLTrackElement.cpp:
* loader/TextTrackLoader.cpp:
* page/DOMSecurityPolicy.cpp:

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

7 years agoRename LayoutTestController to TestRunner in WebKitTestRunner
rniwa@webkit.org [Thu, 16 Aug 2012 01:22:26 +0000 (01:22 +0000)]
Rename LayoutTestController to TestRunner in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=93942

Reviewed by Simon Fraser.

Renamed the class and relevant files.

* WebKitTestRunner/CMakeLists.txt:
* WebKitTestRunner/DerivedSources.make:
* WebKitTestRunner/GNUmakefile.am:
* WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Removed.
* WebKitTestRunner/InjectedBundle/Bindings/TestRunner.idl: Copied from Tools/WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl.
* WebKitTestRunner/InjectedBundle/DerivedSources.pri:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::didReceiveMessage):
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/InjectedBundle.h:
(WTR::InjectedBundle::testRunner):
(InjectedBundle):
* WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:
* WebKitTestRunner/InjectedBundle/LayoutTestController.cpp: Removed.
* WebKitTestRunner/InjectedBundle/LayoutTestController.h: Removed.
* WebKitTestRunner/InjectedBundle/Target.pri:
* WebKitTestRunner/InjectedBundle/TestRunner.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.cpp.
* WebKitTestRunner/InjectedBundle/TestRunner.h: Copied from Tools/WebKitTestRunner/InjectedBundle/LayoutTestController.h.
(TestRunner):
* WebKitTestRunner/InjectedBundle/efl/LayoutTestControllerEfl.cpp: Removed.
* WebKitTestRunner/InjectedBundle/efl/TestRunnerEfl.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/efl/LayoutTestControllerEfl.cpp.
(WTR::waitToDumpWatchdogTimerCallback):
(WTR::TestRunner::platformInitialize):
(WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
(WTR::TestRunner::pathToLocalResource):
(WTR::TestRunner::platformName):
* WebKitTestRunner/InjectedBundle/gtk/LayoutTestControllerGtk.cpp: Removed.
* WebKitTestRunner/InjectedBundle/gtk/TestRunnerGtk.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/gtk/LayoutTestControllerGtk.cpp.
(WTR::waitToDumpWatchdogTimerCallback):
(WTR::TestRunner::platformInitialize):
(WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
(WTR::TestRunner::pathToLocalResource):
(WTR::TestRunner::platformName):
* WebKitTestRunner/InjectedBundle/mac/LayoutTestControllerMac.mm: Removed.
* WebKitTestRunner/InjectedBundle/mac/TestRunnerMac.mm: Copied from Tools/WebKitTestRunner/InjectedBundle/mac/LayoutTestControllerMac.mm.
(WTR::TestRunner::platformInitialize):
(WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
(WTR::waitUntilDoneWatchdogTimerFired):
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
(WTR::TestRunner::pathToLocalResource):
(WTR::TestRunner::platformName):
* WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp: Removed.
* WebKitTestRunner/InjectedBundle/qt/TestRunnerQt.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/qt/LayoutTestControllerQt.cpp.
(WTR::WatchdogTimerHelper::timerFired):
(WTR::TestRunner::platformInitialize):
(WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
(WTR::TestRunner::pathToLocalResource):
(WTR::TestRunner::platformName):
* WebKitTestRunner/InjectedBundle/win/LayoutTestControllerWin.cpp: Removed.
* WebKitTestRunner/InjectedBundle/win/TestRunnerWin.cpp: Copied from Tools/WebKitTestRunner/InjectedBundle/win/LayoutTestControllerWin.cpp.
(WTR::TestRunner::platformInitialize):
(WTR::TestRunner::invalidateWaitToDumpWatchdogTimer):
(WTR::waitToDumpWatchdogTimerFired):
(WTR::TestRunner::initializeWaitToDumpWatchdogTimerIfNeeded):
(WTR::TestRunner::pathToLocalResource):
(WTR::TestRunner::platformName):
* WebKitTestRunner/PlatformEfl.cmake:
* WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj:
* WebKitTestRunner/win/InjectedBundle.vcproj:

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

7 years agoUpdate test expectations for css3/filters/custom/invalid-custom-filter-shader.html...
commit-queue@webkit.org [Thu, 16 Aug 2012 01:03:55 +0000 (01:03 +0000)]
Update test expectations for css3/filters/custom/invalid-custom-filter-shader.html failing on Apple Lion Debug WK1 (Tests)
https://bugs.webkit.org/show_bug.cgi?id=94067

Patch by Kiran Muppala <cmuppala@apple.com> on 2012-08-15
Reviewed by Brady Eidson.

Add to the list of tests needing rebaselining after https://bugs.webkit.org/show_bug.cgi?id=6033

* platform/mac/TestExpectations:

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

7 years agoIndexedDB: IDB*::keyPath should return IDBKeyPath, not IDBAny
commit-queue@webkit.org [Thu, 16 Aug 2012 00:57:53 +0000 (00:57 +0000)]
IndexedDB: IDB*::keyPath should return IDBKeyPath, not IDBAny
https://bugs.webkit.org/show_bug.cgi?id=92434

Patch by Alec Flett <alecflett@chromium.org> on 2012-08-15
Reviewed by Tony Chang.

Clean up IDBKeyPath conversion to IDBAny objects. This gets rid of
some implicit conversion from IDBKeyPath to IDBAny.

No new tests, just changing method signatures.

* Modules/indexeddb/IDBAny.cpp:
(WebCore::IDBAny::set):
(WebCore):
* Modules/indexeddb/IDBAny.h:
(WebCore):
(WebCore::IDBAny::create):
(IDBAny):
* Modules/indexeddb/IDBIndex.h:
(WebCore::IDBIndex::keyPathAny):
(WebCore::IDBIndex::keyPath):
* Modules/indexeddb/IDBIndex.idl:
* Modules/indexeddb/IDBKeyPath.cpp:
* Modules/indexeddb/IDBKeyPath.h:
* Modules/indexeddb/IDBObjectStore.h:
(WebCore::IDBObjectStore::keyPathAny):
(WebCore::IDBObjectStore::keyPath):
* Modules/indexeddb/IDBObjectStore.idl:

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

7 years agoEFL build fix attempt after r125711. Touch an IDL file to regenerate derived sources.
rniwa@webkit.org [Thu, 16 Aug 2012 00:52:20 +0000 (00:52 +0000)]
EFL build fix attempt after r125711. Touch an IDL file to regenerate derived sources.

* html/HTMLAllCollection.idl:

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

7 years agoIndexedDB: generate index keys for existing data in createIndex in front end
commit-queue@webkit.org [Thu, 16 Aug 2012 00:50:52 +0000 (00:50 +0000)]
IndexedDB: generate index keys for existing data in createIndex in front end
https://bugs.webkit.org/show_bug.cgi?id=91125

Patch by Alec Flett <alecflett@chromium.org> on 2012-08-15
Reviewed by Tony Chang.

Source/WebCore:

Make createIndex() do index key generation in the frontend, rather
than the backend. When an index is created, the frontend uses the
cursor API to iterate through the values in the backend to
generate keys, sending them back to the backend using
IDBObjectStore::setIndexKeys()

This confines all key injection/extraction to the frontend.

The new test verifies the implemented behavior with respect to
error handling in degenerate uses of put(), though that behavior
is still in discussion as the spec is vague on the proper error
behavior.

Test: storage/indexeddb/lazy-index-population.html

* Modules/indexeddb/IDBCursorBackendImpl.cpp: Make sure that the
TaskType propagates throught the cursor and all subsequent
continue() calls.
(WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
(WebCore::IDBCursorBackendImpl::continueFunction):
(WebCore::IDBCursorBackendImpl::prefetchContinue):
* Modules/indexeddb/IDBCursorBackendImpl.h:
(WebCore::IDBCursorBackendImpl::create):
(IDBCursorBackendImpl):
* Modules/indexeddb/IDBObjectStore.cpp: Add an IndexPopulator
class to run a cursor from the frontend.
(WebCore):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::openCursor):
* Modules/indexeddb/IDBObjectStore.h:
(WebCore::IDBObjectStore::openCursor):
(IDBObjectStore):
(WebCore::IDBObjectStore::createIndex):
* Modules/indexeddb/IDBObjectStore.idl: Pass along ScriptContext
so that openCursor can be called from createIndex.
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore):
(WebCore::makeIndexWriters):
(WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
(WebCore::IDBObjectStoreBackendImpl::setIndexesReady):
(WebCore::IDBObjectStoreBackendImpl::setIndexesReadyInternal):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::deleteInternal):
(WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
(WebCore::IDBObjectStoreBackendImpl::openCursor):
(WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
* Modules/indexeddb/IDBObjectStoreBackendImpl.h:
(IDBObjectStoreBackendImpl):
(WebCore::IDBObjectStoreBackendImpl::iterIndexesBegin):
(WebCore::IDBObjectStoreBackendImpl::iterIndexesEnd):
(WebCore::IDBObjectStoreBackendImpl::backingStore):
(WebCore::IDBObjectStoreBackendImpl::databaseId):
* Modules/indexeddb/IDBObjectStoreBackendInterface.h:
* Modules/indexeddb/IDBRequest.cpp:
Allow requests to keep their own TaskType, to give certain
requests priority over others.
(WebCore::IDBRequest::create):
(WebCore):
(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::abort):
* Modules/indexeddb/IDBRequest.h:
(IDBRequest):
(WebCore::IDBRequest::taskType):
* Modules/indexeddb/IDBTransactionBackendImpl.cpp:
Introduce a second, higher priority event queue, m_preemptiveTaskQueue,
which takes priority over the regular task queue.
(WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::scheduleTask):
(WebCore::IDBTransactionBackendImpl::isTaskQueueEmpty):
(WebCore):
(WebCore::IDBTransactionBackendImpl::commit):
(WebCore::IDBTransactionBackendImpl::taskTimerFired):
(WebCore::IDBTransactionBackendImpl::taskEventTimerFired):
* Modules/indexeddb/IDBTransactionBackendImpl.h:
(WebCore::IDBTransactionBackendImpl::scheduleTask):
(IDBTransactionBackendImpl):
(WebCore::IDBTransactionBackendImpl::addEarlyEvent):
(WebCore::IDBTransactionBackendImpl::didCompleteEarlyEvent):
* Modules/indexeddb/IDBVersionChangeRequest.cpp:
(WebCore::IDBVersionChangeRequest::IDBVersionChangeRequest):

Source/WebKit/chromium:

Add Chromium API methods to let the renderer process tell the
browser process about indexing progress.

* public/WebIDBObjectStore.h:
(WebKit::WebIDBObjectStore::openCursor):
* src/IDBObjectStoreBackendProxy.cpp:
(WebKit::IDBObjectStoreBackendProxy::setIndexKeys):
(WebKit):
(WebKit::IDBObjectStoreBackendProxy::setIndexesReady):
(WebKit::IDBObjectStoreBackendProxy::openCursor):
* src/IDBObjectStoreBackendProxy.h:
(IDBObjectStoreBackendProxy):
* src/WebIDBObjectStoreImpl.cpp:
(WebKit::WebIDBObjectStoreImpl::setIndexKeys):
(WebKit):
(WebKit::WebIDBObjectStoreImpl::setIndexesReady):
(WebKit::WebIDBObjectStoreImpl::openCursor):
* src/WebIDBObjectStoreImpl.h:
(WebIDBObjectStoreImpl):

LayoutTests:

The transaction should be aborted when existing data in an
objectStore causes uniqueness errors during index creation.

* storage/indexeddb/lazy-index-population-expected.txt: Added.
* storage/indexeddb/lazy-index-population.html: Added.

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

7 years agoA 'load' event should be fired on the shadow host directly, not on an inner image...
hayato@chromium.org [Thu, 16 Aug 2012 00:43:01 +0000 (00:43 +0000)]
A 'load' event should be fired on the shadow host directly, not on an inner image element of shadow dom subtree.
https://bugs.webkit.org/show_bug.cgi?id=93920

Reviewed by Dimitri Glazkov.

Source/WebCore:

A 'load' event is a must-stoppable event at shadow boundary. So we
should fire a 'load' event on a shadow host directly, not on an
inner image element.

Test: fast/dom/shadow/shadowdom-for-image-event.html

* html/HTMLImageLoader.cpp:
(WebCore::HTMLImageLoader::dispatchLoadEvent):
* loader/ImageLoaderClient.h:
(WebCore::ImageLoaderClient::eventTarget):

LayoutTests:

* fast/dom/shadow/shadowdom-for-image-event-expected.txt: Added.
* fast/dom/shadow/shadowdom-for-image-event.html: Added.

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

7 years ago[Chromium-Android] DumpRenderTree timeouts before NRWT timeouts
wangxianzhu@chromium.org [Thu, 16 Aug 2012 00:38:07 +0000 (00:38 +0000)]
[Chromium-Android] DumpRenderTree timeouts before NRWT timeouts
https://bugs.webkit.org/show_bug.cgi?id=94155

Reviewed by Dirk Pranke.

* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidPort.create_driver): Force no_timeout=True

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

7 years agoAdd a hyperlink to perf-o-matic from build.webkit.org/root.html
rniwa@webkit.org [Thu, 16 Aug 2012 00:18:46 +0000 (00:18 +0000)]
Add a hyperlink to perf-o-matic from build.webkit.org/root.html
https://bugs.webkit.org/show_bug.cgi?id=93749

Reviewed by Csaba Osztrogonác.

Added the hyperlink to webkit-perf.appspot.com. Also added hyperlinks to the waterfall display
of performance tests.

* BuildSlaveSupport/build.webkit.org-config/templates/root.html:

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

7 years ago[Qt] new test fast/forms/radio/radio-group.html introduced in r104668 fails
commit-queue@webkit.org [Thu, 16 Aug 2012 00:05:22 +0000 (00:05 +0000)]
[Qt] new test fast/forms/radio/radio-group.html introduced in r104668 fails
https://bugs.webkit.org/show_bug.cgi?id=76051

Patch by Lauro Neto <lauro.neto@openbossa.org> on 2012-08-15
Reviewed by Csaba Osztrogonác.

Unskip now working test.

* platform/qt/Skipped:

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

7 years agoAdd a layout test for :lang() selector observing dynamic changes to lang
commit-queue@webkit.org [Wed, 15 Aug 2012 23:43:11 +0000 (23:43 +0000)]
Add a layout test for :lang() selector observing dynamic changes to lang
https://bugs.webkit.org/show_bug.cgi?id=94092

Patch by Matt Falkenhagen <falken@chromium.org> on 2012-08-15
Reviewed by Alexey Proskuryakov.

This patch adds a test that dynamic changes to the lang attribute are seen by the :lang selector.
This behavior was first added in an earlier patch (probably http://trac.webkit.org/changeset/103608)
but there was no layout test for it yet.

* fast/selectors/lang-dynamic-expected.html: Added.
* fast/selectors/lang-dynamic.html: Added.

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

7 years agoREGRESSION (125659): 4 HTMLMeterElement tests fail on Mac
beidson@apple.com [Wed, 15 Aug 2012 23:38:41 +0000 (23:38 +0000)]
REGRESSION (125659): 4 HTMLMeterElement tests fail on Mac
https://bugs.webkit.org/show_bug.cgi?id=94157

Skipping these 4 tests until the perpetrator can fix.

Not reviewed (Bot gardening).

* platform/mac/Skipped:

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

7 years ago[BlackBerry] When there is an exception we want to check if the ref is 0, not the
commit-queue@webkit.org [Wed, 15 Aug 2012 23:34:51 +0000 (23:34 +0000)]
[BlackBerry] When there is an exception we want to check if the ref is 0, not the
value as JSObjectCallAsFunction returns 0 in that case.
https://bugs.webkit.org/show_bug.cgi?id=94153

Patch by Benjamin C Meyer <bmeyer@rim.com> on 2012-08-15
Reviewed by Yong Li.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::executeJavaScriptFunction):

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

7 years ago[EFL] Some late night gardening
commit-queue@webkit.org [Wed, 15 Aug 2012 23:32:28 +0000 (23:32 +0000)]
[EFL] Some late night gardening
https://bugs.webkit.org/show_bug.cgi?id=94151

Unreviewed, EFL gardening.

Moving the autoscroll test out, adding platform specific baselines for the HTMLMeterElement tests.

Patch by Dominik Röttsches <d-r@roettsches.de> on 2012-08-15

* platform/efl/TestExpectations:
* platform/efl/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt:
* platform/efl/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt:
* platform/efl/fast/dom/HTMLMeterElement/meter-boundary-values-expected.txt:
* platform/efl/fast/dom/HTMLMeterElement/meter-clone-expected.txt: Added.
* platform/efl/fast/dom/HTMLMeterElement/meter-element-crash-expected.txt: Added.
* platform/efl/fast/dom/HTMLMeterElement/meter-element-expected.txt: Added.
* platform/efl/fast/dom/HTMLMeterElement/meter-element-form-expected.txt: Added.
* platform/efl/fast/dom/HTMLMeterElement/meter-element-markup-expected.txt: Added.
* platform/efl/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt: Added.
* platform/efl/fast/dom/HTMLMeterElement/meter-element-with-child-crash-expected.txt: Added.
* platform/efl/fast/dom/HTMLMeterElement/meter-optimums-expected.txt: Added.
* platform/efl/fast/dom/HTMLMeterElement/meter-percent-size-expected.txt: Added.
* platform/efl/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt: Added.
* platform/efl/fast/dom/HTMLMeterElement/meter-styles-expected.txt: Added.
* platform/efl/fast/dom/HTMLMeterElement/meter-writing-mode-expected.txt: Added.
* platform/efl/fast/dom/HTMLMeterElement/set-meter-properties-expected.txt: Added.

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

7 years ago[chromium] Mark canvas-fallback-content tests as asserting in debug builds
enne@google.com [Wed, 15 Aug 2012 22:54:36 +0000 (22:54 +0000)]
[chromium] Mark canvas-fallback-content tests as asserting in debug builds
https://bugs.webkit.org/show_bug.cgi?id=94156

Unreviewed gardening. Update expectations.

* platform/chromium/TestExpectations:

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

7 years ago[BlackBerry] Show custom error page when 407 is received
commit-queue@webkit.org [Wed, 15 Aug 2012 22:42:52 +0000 (22:42 +0000)]
[BlackBerry] Show custom error page when 407 is received
https://bugs.webkit.org/show_bug.cgi?id=94138

 Reviewed by George Staikos.
 Internally reviewed by Lianghui Chen

 Adding a new custom error page when the browser receieves
 a Wifi proxy authentication error. The previous behaviour
 is to ask for user credentials everytime, and silently fails
 when the username and password fields in the Wifi settings
 are not empty. UX suggests modifying the behaviour to simply
 asks the user to change their credentials in the Wifi settings
 when we receive such an error.

 The fix is to prevent notifyAuthReceived from sending another
 networkjob when authCallbacks are called, and to listen to any 407
 calls in notifyStatusReceived. Once we hit a 407, tell the frame we
 failed and should load the custom error page.

 Also removed checking functions in sendRequestWithCredentials because
 proxy auth requests won't get into that function anymore.

 #PR163400

 Tested by loading on device and loading/reloading pages under
 these scenarios:
 - Connected to wifi (no proxy)
 - Connected to wifi (proxy with no credentials)
 - Connected to wifi (proxy with invalid credentials)
 - Connected to wifi (proxy with valid credentials)

 * platform/network/blackberry/NetworkJob.cpp:
 (WebCore::NetworkJob::handleNotifyStatusReceived):
 (WebCore::NetworkJob::notifyAuthReceived):
 (WebCore::NetworkJob::sendRequestWithCredentials):

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-08-15

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

7 years agoRefactor away IsolatedWorld
commit-queue@webkit.org [Wed, 15 Aug 2012 22:37:00 +0000 (22:37 +0000)]
Refactor away IsolatedWorld
https://bugs.webkit.org/show_bug.cgi?id=93971

Patch by Dan Carney <dcarney@google.com> on 2012-08-15
Reviewed by Adam Barth.

Remove IsolatedWorld class as it was 1:1 with DOMWrapperWorld.
This paves the way towards a JSC-like use of DOMWrapperWorld.

No tests.  No change in functionality.

* UseV8.cmake:
* WebCore.gypi:
* bindings/v8/DOMWrapperWorld.cpp:
(WebCore):
(WebCore::mainThreadNormalWorld):
* bindings/v8/DOMWrapperWorld.h:
(WebCore):
(DOMWrapperWorld):
(WebCore::DOMWrapperWorld::create):
(WebCore::DOMWrapperWorld::~DOMWrapperWorld):
(WebCore::DOMWrapperWorld::count):
(WebCore::DOMWrapperWorld::worldId):
(WebCore::DOMWrapperWorld::domDataStore):
(WebCore::DOMWrapperWorld::DOMWrapperWorld):
* bindings/v8/IsolatedWorld.cpp: Removed.
* bindings/v8/IsolatedWorld.h: Removed.
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::getCachedWrapper):
* bindings/v8/V8IsolatedContext.cpp:
(WebCore::V8IsolatedContext::V8IsolatedContext):
(WebCore::V8IsolatedContext::destroy):
* bindings/v8/V8IsolatedContext.h:
(WebCore::V8IsolatedContext::getEntered):
(WebCore::V8IsolatedContext::world):
(V8IsolatedContext):

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

7 years ago[css3-text] Add CSS3 Text decoration compile flag
commit-queue@webkit.org [Wed, 15 Aug 2012 22:31:26 +0000 (22:31 +0000)]
[css3-text] Add CSS3 Text decoration compile flag
https://bugs.webkit.org/show_bug.cgi?id=93863

Patch by Bruno de Oliveira Abinader <bruno.abinader@basyskom.com> on 2012-08-15
Reviewed by Julien Chaffraix.

This patch handles the compile flag implementation, which will come disabled by
default, thus not exposing the CSS3 text decoration features to the web, unless
when explicitly enabling it with "--css3-text-decoration" build parameter.

.:

* Source/cmake/WebKitFeatures.cmake:
* Source/cmakeconfig.h.cmake:
* configure.ac:

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Changeset r125205 added "-webkit-text-decoration-line" support without proper
compile flag. I am fixing this on this patch by adding #ifdef's along the added
code and reverting getComputedStyle* layout test changes until further notice.
The text-decoration-line.html layout test is now moved to
fast/css3-text-decoration directory, which is skipped on all platforms until
feature is sound and ready to be exposed to web.

Test: fast/css3-text-decoration/text-decoration-line.html

* Configurations/FeatureDefines.xcconfig:
* GNUmakefile.am:
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::addTextDecorationProperty):
(WebCore::CSSParser::parseTextDecoration):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::isInheritedProperty):
* css/CSSPropertyNames.in:
* css/StyleBuilder.cpp:
(WebCore::StyleBuilder::StyleBuilder):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):
Added #ifdefs to enable/disable CSS3 Text Decoration code implemented by r125205.

Source/WebKit/chromium:

* features.gypi:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Tools:

* Scripts/webkitperl/FeatureList.pm:
* qmake/mkspecs/features/features.pri:

WebKitLibraries:

* win/tools/vsprops/FeatureDefines.vsprops:
* win/tools/vsprops/FeatureDefinesCairo.vsprops:

LayoutTests:

Changeset r125205 added "-webkit-text-decoration-line" support without proper
compile flag. I am fixing this on this patch by adding #ifdef's along the added
code and reverting getComputedStyle* layout test changes until further notice.
The text-decoration-line.html layout test is now moved to
fast/css3-text-decoration directory, which is skipped on all platforms until
feature is sound and ready to be exposed to web.

* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* fast/css/getComputedStyle/resources/property-names.js:
* svg/css/getComputedStyle-basic-expected.txt:
Avoid regression by reverting changes from r125205.
* fast/css3-text-decoration/text-decoration-line-expected.html: Renamed from LayoutTests/fast/css/text-decoration-line-expected.html.
* fast/css3-text-decoration/text-decoration-line.html: Renamed from LayoutTests/fast/css/text-decoration-line.html.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
fast/css3-text-decoration directory is skipped until feature is enabled by default.

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

7 years agoRefactoring: move EventHandler::targetNode into HitTestResult
commit-queue@webkit.org [Wed, 15 Aug 2012 22:14:05 +0000 (22:14 +0000)]
Refactoring: move EventHandler::targetNode into HitTestResult
https://bugs.webkit.org/show_bug.cgi?id=94107

Patch by Iain Merrick <husky@chromium.org> on 2012-08-15
Reviewed by Dimitri Glazkov.

Source/WebCore:

This static helper method in EventHandler was made public so that
WebFrameImpl can call it. That's untidy because EventHandler isn't
really involved. This patch turns it into an instance method of
HitTestResult (with a wrapper in MouseEventWithHitTestResult for
convenience).

Pure refactoring, no behavior change, no new test needed.

* page/EventHandler.cpp:
(WebCore::EventHandler::selectClosestWordFromMouseEvent):
(WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
(WebCore::EventHandler::handleMousePressEventTripleClick):
(WebCore::EventHandler::handleMousePressEventSingleClick):
(WebCore::EventHandler::handleMousePressEvent):
(WebCore::EventHandler::handleMouseDraggedEvent):
(WebCore::EventHandler::updateSelectionForMouseDrag):
(WebCore::EventHandler::handleMouseReleaseEvent):
(WebCore::EventHandler::subframeForHitTestResult):
(WebCore::EventHandler::selectCursor):
(WebCore::EventHandler::handleMouseDoubleClickEvent):
(WebCore::EventHandler::handleMouseMoveEvent):
(WebCore::EventHandler::updateDragAndDrop):
(WebCore::EventHandler::handleGestureEvent):
(WebCore::EventHandler::sendContextMenuEvent):
* page/EventHandler.h:
(EventHandler):
* page/MouseEventWithHitTestResults.h:
(WebCore::MouseEventWithHitTestResults::targetNode):
* page/chromium/EventHandlerChromium.cpp:
(WebCore::EventHandler::passMousePressEventToSubframe):
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
* page/efl/EventHandlerEfl.cpp:
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
* page/gtk/EventHandlerGtk.cpp:
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
* page/mac/EventHandlerMac.mm:
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
(WebCore::EventHandler::passSubframeEventToSubframe):
* page/wx/EventHandlerWx.cpp:
(WebCore::EventHandler::passWidgetMouseDownEventToWidget):
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::targetNode):
(WebCore):
* rendering/HitTestResult.h:
(HitTestResult):

Source/WebKit/chromium:

This static helper method in EventHandler was made public so that
WebFrameImpl can call it. That's untidy because EventHandler isn't
really involved. This patch turns it into an instance method of
HitTestResult (with a wrapper in MouseEventWithHitTestResult for
convenience).

Pure refactoring, no behavior change, no new test needed.

* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::visiblePositionForWindowPoint):

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

7 years ago[BlackBerry] Upstream FrameLoaderClientBlackBerry::securityOriginForNewDocument()
commit-queue@webkit.org [Wed, 15 Aug 2012 22:07:46 +0000 (22:07 +0000)]
[BlackBerry] Upstream FrameLoaderClientBlackBerry::securityOriginForNewDocument()
https://bugs.webkit.org/show_bug.cgi?id=94139

Patch by Yong Li <yoli@rim.com> on 2012-08-15
Reviewed by Antonio Gomes.

Keep same security origin when a file URL automatically redirects to its child folder.
This patch will be reverted when we finish the better solution.
PR# 172333 and PR# 180590.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::FrameLoaderClientBlackBerry):
(WebCore::FrameLoaderClientBlackBerry::dispatchDidStartProvisionalLoad):
(WebCore::FrameLoaderClientBlackBerry::securityOriginForNewDocument):
(WebCore):
* WebCoreSupport/FrameLoaderClientBlackBerry.h:
(FrameLoaderClientBlackBerry):

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

7 years agoIndexedDB: Add some ASSERTs
dgrogan@chromium.org [Wed, 15 Aug 2012 21:54:50 +0000 (21:54 +0000)]
IndexedDB: Add some ASSERTs
https://bugs.webkit.org/show_bug.cgi?id=94055

Reviewed by Ojan Vafai.

Source/WebCore:

These are just some additional ASSERTS and some ASSERT_WITH_MESSAGE in
place of ASSERT. They are from the patch in
https://bugs.webkit.org/show_bug.cgi?id=92897

No new tests - we should never hit this behavior.

* Modules/indexeddb/IDBDatabase.cpp:
(WebCore::IDBDatabase::setVersion):
(WebCore::IDBDatabase::registerFrontendCallbacks):
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::dispatchEvent):
(WebCore::IDBRequest::enqueueEvent):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::setActive):

Source/WebKit/chromium:

* src/IDBDatabaseBackendProxy.cpp:
(WebKit::IDBDatabaseBackendProxy::setVersion):

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

7 years agoMore unreviewed updated expectations from r125694.
leviw@chromium.org [Wed, 15 Aug 2012 21:41:59 +0000 (21:41 +0000)]
More unreviewed updated expectations from r125694.

* platform/chromium-linux/fast/text/international/bidi-layout-across-linebreak-expected.txt: Removed.
* platform/chromium-linux/fast/transforms/bounding-rect-zoom-expected.txt: Removed.
* platform/chromium-linux/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt: Removed.
* platform/chromium-linux/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt: Removed.
* platform/chromium-linux/tables/mozilla_expected_failures/bugs/bug89315-expected.txt: Removed.
* platform/chromium-win/fast/text/international/bidi-layout-across-linebreak-expected.png:
* platform/chromium-win/fast/text/international/bidi-layout-across-linebreak-expected.txt:
* platform/chromium-win/fast/transforms/bounding-rect-zoom-expected.txt:
* platform/chromium-win/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-win/svg/zoom/page/zoom-img-preserveAspectRatio-support-1-expected.txt:
* platform/chromium-win/svg/zoom/page/zoom-replaced-intrinsic-ratio-001-expected.txt:
* platform/chromium-win/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
* platform/chromium-win/tables/mozilla_expected_failures/bugs/bug89315-expected.png:
* platform/chromium-win/tables/mozilla_expected_failures/bugs/bug89315-expected.txt:

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

7 years agoUnreviewed, rolling out r125687.
commit-queue@webkit.org [Wed, 15 Aug 2012 21:35:55 +0000 (21:35 +0000)]
Unreviewed, rolling out r125687.
http://trac.webkit.org/changeset/125687
https://bugs.webkit.org/show_bug.cgi?id=94147

It broke the whole world (Requested by Ossy_night on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-15

Source/JavaScriptCore:

* API/JSValueRef.cpp:
(JSValueToBoolean):
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* bytecode/Watchpoint.h:
(WatchpointSet):
* debugger/DebuggerCallFrame.h:
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::SpeculativeJIT::nonSpeculativePeepholeBranchNull):
(JSC::DFG::SpeculativeJIT::compile):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_is_undefined):
(JSC::JIT::emit_op_jeq_null):
(JSC::JIT::emit_op_jneq_null):
(JSC::JIT::emit_op_eq_null):
(JSC::JIT::emit_op_neq_null):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_is_undefined):
(JSC::JIT::emit_op_jeq_null):
(JSC::JIT::emit_op_jneq_null):
(JSC::JIT::emit_op_eq_null):
(JSC::JIT::emit_op_neq_null):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncFilter):
(JSC::arrayProtoFuncEvery):
(JSC::arrayProtoFuncSome):
* runtime/BooleanConstructor.cpp:
(JSC::constructBoolean):
(JSC::callBooleanConstructor):
* runtime/JSCell.h:
(JSCell):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::JSGlobalObject):
* runtime/JSGlobalObject.h:
(JSGlobalObject):
* runtime/JSString.h:
(JSC::JSCell::toBoolean):
(JSC::JSValue::toBoolean):
* runtime/JSValue.h:
* runtime/ObjectConstructor.cpp:
(JSC::toPropertyDescriptor):
* runtime/Operations.cpp:
(JSC::jsTypeStringForValue):
(JSC::jsIsObjectType):
* runtime/Operations.h:
(JSC):
(JSC::JSValue::equalSlowCaseInline):
* runtime/RegExpConstructor.cpp:
(JSC::setRegExpConstructorMultiline):
* runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncToString):
* runtime/Structure.h:

Source/WebCore:

* bindings/js/JSCustomSQLStatementErrorCallback.cpp:
(WebCore::JSSQLStatementErrorCallback::handleEvent):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::addEventListener):
(WebCore::JSDOMWindow::removeEventListener):
* bindings/js/JSDataViewCustom.cpp:
(WebCore::getDataViewMember):
* bindings/js/JSDeviceMotionEventCustom.cpp:
(WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
* bindings/js/JSDeviceOrientationEventCustom.cpp:
(WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
* bindings/js/JSDictionary.cpp:
(WebCore::JSDictionary::convertValue):
* bindings/js/JSDirectoryEntryCustom.cpp:
(WebCore::JSDirectoryEntry::getFile):
(WebCore::JSDirectoryEntry::getDirectory):
* bindings/js/JSDirectoryEntrySyncCustom.cpp:
(WebCore::getFlags):
* bindings/js/JSHTMLCanvasElementCustom.cpp:
(WebCore::JSHTMLCanvasElement::getContext):
* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::populateContextMenuItems):
* bindings/js/JSMessageEventCustom.cpp:
(WebCore::handleInitMessageEvent):
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::dataFunctionMatrix):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::open):
* bindings/js/JavaScriptCallFrame.cpp:
* bindings/js/JavaScriptCallFrame.h:
(JavaScriptCallFrame):
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::hasBreakpoint):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateEventListenerCall):
(GenerateHeader):
(JSValueToNative):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
* bindings/scripts/test/JS/JSTestEventTarget.h:
(WebCore::JSTestEventTarget::create):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::setJSTestObjCreate):
(WebCore::setJSTestObjReflectedBooleanAttr):
(WebCore::setJSTestObjReflectedCustomBooleanAttr):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
* bridge/c/c_utility.cpp:
(JSC::Bindings::convertValueToNPVariant):
* bridge/jni/jni_jsobject.mm:
(JavaJSObject::convertValueToJObject):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertValueToQVariant):

Source/WebKit/mac:

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::addValueToArray):

Source/WebKit2:

* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):

LayoutTests:

* fast/js/document-all-between-frames-expected.txt: Removed.
* fast/js/document-all-between-frames.html: Removed.
* fast/js/resources/document-all-between-frames-subframe.html: Removed.
* platform/chromium/TestExpectations:

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

7 years agoAX: Calls to AXObjectCache should prefer Node over Renderer
dmazzoni@google.com [Wed, 15 Aug 2012 21:31:35 +0000 (21:31 +0000)]
AX: Calls to AXObjectCache should prefer Node over Renderer
https://bugs.webkit.org/show_bug.cgi?id=91794

Reviewed by Chris Fleizach.

Source/WebCore:

Now that it's possible for nodes inside a canvas subtree to be focused and
represent accessible content, accessibility notifications should be triggered
with a Node* rather than with a RenderObject* whenever possible.

Every public API in AXObjectCache that took a RenderObject* before now either
takes a Node* instead, or has a parallel method that takes a Node*.

Tests: accessibility/accessibility-node-memory-management.html
       accessibility/accessibility-node-reparent.html
       accessibility/canvas-fallback-content.html

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::focusedImageMapUIElement):
(WebCore::AXObjectCache::focusedUIElementForPage):
(WebCore::AXObjectCache::get):
(WebCore::AXObjectCache::getOrCreate):
(WebCore::AXObjectCache::contentChanged):
(WebCore):
(WebCore::AXObjectCache::updateCacheAfterNodeIsAttached):
(WebCore::AXObjectCache::childrenChanged):
(WebCore::AXObjectCache::postNotification):
(WebCore::AXObjectCache::checkedStateChanged):
(WebCore::AXObjectCache::selectedChildrenChanged):
(WebCore::AXObjectCache::nodeTextChangeNotification):
(WebCore::AXObjectCache::handleAriaExpandedChange):
(WebCore::AXObjectCache::handleActiveDescendantChanged):
(WebCore::AXObjectCache::handleAriaRoleChanged):
(WebCore::AXObjectCache::textMarkerDataForVisiblePosition):
(WebCore::AXObjectCache::rootAXEditableElement):
(WebCore::AXObjectCache::nodeIsTextControl):
* accessibility/AXObjectCache.h:
(AXObjectCache):
(WebCore::AXObjectCache::setNodeInUse):
(WebCore::AXObjectCache::removeNodeForUse):
(WebCore::AXObjectCache::isNodeInUse):
(WebCore::AXObjectCache::checkedStateChanged):
(WebCore::AXObjectCache::childrenChanged):
(WebCore::AXObjectCache::contentChanged):
(WebCore::AXObjectCache::updateCacheAfterNodeIsAttached):
(WebCore::AXObjectCache::handleActiveDescendantChanged):
(WebCore::AXObjectCache::handleAriaExpandedChange):
(WebCore::AXObjectCache::handleAriaRoleChanged):
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
(WebCore::AXObjectCache::nodeTextChangeNotification):
(WebCore::AXObjectCache::postNotification):
(WebCore::AXObjectCache::selectedChildrenChanged):
* accessibility/AccessibilityListBoxOption.cpp:
(WebCore::AccessibilityListBoxOption::parentObject):
* accessibility/AccessibilityObject.cpp:
(WebCore::appendAccessibilityObject):
(WebCore::replacedNodeNeedsCharacter):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::menuForMenuButton):
(WebCore::AccessibilityRenderObject::menuButtonForMenu):
(WebCore::AccessibilityRenderObject::checkboxOrRadioRect):
(WebCore::AccessibilityRenderObject::addRadioButtonGroupMembers):
(WebCore::AccessibilityRenderObject::titleUIElement):
(WebCore::AccessibilityRenderObject::isTabItemSelected):
(WebCore::AccessibilityRenderObject::accessibilityParentForImageMap):
(WebCore::AccessibilityRenderObject::nodeIsTextControl):
(WebCore::AccessibilityRenderObject::activeDescendant):
(WebCore::AccessibilityRenderObject::correspondingControlForLabelElement):
(WebCore::AccessibilityRenderObject::correspondingLabelForControlElement):
* accessibility/AccessibilityRenderObject.h:
(AccessibilityRenderObject):
* accessibility/AccessibilityScrollView.cpp:
(WebCore::AccessibilityScrollView::webAreaObject):
(WebCore::AccessibilityScrollView::parentObject):
(WebCore::AccessibilityScrollView::parentObjectIfExists):
* accessibility/chromium/AXObjectCacheChromium.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
* accessibility/gtk/AXObjectCacheAtk.cpp:
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
* accessibility/win/AXObjectCacheWin.cpp:
(WebCore::AXObjectCache::handleFocusedUIElementChanged):
* bindings/cpp/WebDOMCustomVoidCallback.cpp:
(toWebCore):
* dom/Document.cpp:
(WebCore::Document::setFocusedNode):
* dom/Element.cpp:
(WebCore::Element::attributeChanged):
* dom/Node.cpp:
(WebCore::Node::~Node):
(WebCore::Node::attach):
* editing/AppendNodeCommand.cpp:
(WebCore::sendAXTextChangedIgnoringLineBreaks):
* editing/DeleteFromTextNodeCommand.cpp:
(WebCore::DeleteFromTextNodeCommand::doApply):
(WebCore::DeleteFromTextNodeCommand::doUnapply):
* editing/Editor.cpp:
(WebCore::Editor::respondToChangedContents):
(WebCore::Editor::markAndReplaceFor):
* editing/InsertIntoTextNodeCommand.cpp:
(WebCore::InsertIntoTextNodeCommand::doApply):
(WebCore::InsertIntoTextNodeCommand::doUnapply):
* editing/InsertNodeBeforeCommand.cpp:
(WebCore::InsertNodeBeforeCommand::doApply):
(WebCore::InsertNodeBeforeCommand::doUnapply):
* editing/chromium/FrameSelectionChromium.cpp:
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setChecked):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::childrenChanged):
(WebCore::HTMLSelectElement::optionElementChildrenChanged):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::setInnerTextValue):
* html/InputType.cpp:
(WebCore::InputType::applyStep):
* html/RangeInputType.cpp:
(WebCore::RangeInputType::handleKeydownEvent):
* page/FocusController.cpp:
(WebCore::FocusController::setInitialFocus):

LayoutTests:

New tests:
- canvas-fallback-content tests that objects in a canvas subtree can be
  focused and then you can retrieve the role of the accessible object.
- accessibility-node-memory-management ensures that an AccessibilityNodeObject
  is detached when its node is destroyed.
- accessibility-node-reparent ensures that if an AccessibilityNodeObject is
  created for a node without a renderer, but the node later gets a renderer,
  the AccessibilityNodeObject is detached and an AccessibilityRenderObject is
  created instead.

* accessibility/accessibility-node-memory-management-expected.txt: Added.
* accessibility/accessibility-node-memory-management.html: Added.
* accessibility/accessibility-node-reparent-expected.txt: Added.
* accessibility/accessibility-node-reparent.html: Added.
* accessibility/canvas-fallback-content-expected.txt: Added.
* accessibility/canvas-fallback-content.html: Added.
* platform/gtk/TestExpectations:

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Wed, 15 Aug 2012 21:24:24 +0000 (21:24 +0000)]
Unreviewed GTK gardening.

Updating baselines for <meter> tests after r125659.

Marking fullscreen/full-screen-iframe-legacy.html and
storage/websql/database-lock-after-reload.html as flaky.

* platform/gtk/TestExpectations:
* platform/gtk/fast/dom/HTMLMeterElement/meter-appearances-capacity-expected.txt:
* platform/gtk/fast/dom/HTMLMeterElement/meter-appearances-rating-relevancy-expected.txt:
* platform/gtk/fast/dom/HTMLMeterElement/meter-boundary-values-expected.txt:
* platform/gtk/fast/dom/HTMLMeterElement/meter-element-expected.txt: Added.
* platform/gtk/fast/dom/HTMLMeterElement/meter-element-repaint-on-update-value-expected.txt: Added.
* platform/gtk/fast/dom/HTMLMeterElement/meter-optimums-expected.txt: Added.
* platform/gtk/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt: Added.
* platform/gtk/fast/dom/HTMLMeterElement/meter-styles-expected.txt: Added.
* platform/gtk/fast/dom/HTMLMeterElement/meter-writing-mode-expected.txt: Added.

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