WebKit-https.git
8 years ago[mac] WebKit1 clients can’t tell when a frame has been removed from the hierarchy
mitz@apple.com [Mon, 7 Jan 2013 23:26:41 +0000 (23:26 +0000)]
[mac] WebKit1 clients can’t tell when a frame has been removed from the hierarchy
https://bugs.webkit.org/show_bug.cgi?id=106261

Reviewed by Simon Fraser.

Source/WebKit/mac:

Test: TestWebKitAPI/Tests/mac/WebViewDidRemoveFrameFromHierarchy.mm.

Added -[WebFrameLoadDelegate webView:didRemoveFrameFromHierarchy:].

* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::detachedFromParent2): Added a call to the new frame load delegate
method.
* WebView/WebDelegateImplementationCaching.h:
(WebFrameLoadDelegateImplementationCache): Added the new method to the cache.
* WebView/WebFrameLoadDelegatePrivate.h: Declared the new delegate method.
* WebView/WebView.mm:
(-[WebView _cacheFrameLoadDelegateImplementations]): Added the new method to the cache.

Tools:

Added a test for -[WebFrameLoadDelegate webView:didRemoveFrameFromHierarchy:].

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/WebViewDidRemoveFrameFromHierarchy.mm: Added.
(-[DidRemoveFrameFromHierarchyFrameLoadDelegate webView:didFinishLoadForFrame:]):
(-[DidRemoveFrameFromHierarchyFrameLoadDelegate webView:didRemoveFrameFromHierarchy:]):
(TestWebKitAPI):
(TestWebKitAPI::TEST):

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

8 years agoTiled-layer TileCaches shouldn't unparent offscreen tiles
timothy_horton@apple.com [Mon, 7 Jan 2013 23:17:36 +0000 (23:17 +0000)]
Tiled-layer TileCaches shouldn't unparent offscreen tiles
https://bugs.webkit.org/show_bug.cgi?id=106258
<rdar://problem/12969116>

Reviewed by Simon Fraser.

Add a setting on TiledBacking (implemented on TileCache) that controls whether or not
the TileCache should unparent offscreen tiles. We can't use this behavior for tiled-layer TileCaches
currently because m_isInWindow is not updated for tiled-layer TileCaches, and because we haven't
decided exactly what their behavior should be. So, revert to the old behavior for them.

* platform/graphics/TiledBacking.h:
* platform/graphics/ca/mac/TileCache.h:
(TileCache): Add setUnparentsOffscreenTiles/unparentsOffscreenTiles.
* platform/graphics/ca/mac/TileCache.mm:
(WebCore::TileCache::TileCache): m_unparentsOffscreenTiles defaults to false.
(WebCore::TileCache::revalidateTiles):
Return to the old behavior of always adding new layers to the layer tree regardless of m_isInWindow if m_unparentsOffscreenTiles is false.
Return to the old behavior of never unparenting tiles regardless of m_isInWindow if m_unparentsOffscreenTiles is false.
(WebCore::TileCache::ensureTilesForRect): Return to the old behavior of always ensuring tiles regardless of m_isInWindow if m_unparentsOffscreen$
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::RenderLayerBacking): Tell primary TileCaches that it's OK to unparent offscreen tiles.

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

8 years agoA couple more rebaselines for http://trac.webkit.org/changeset/138838.
ojan@chromium.org [Mon, 7 Jan 2013 23:04:52 +0000 (23:04 +0000)]
A couple more rebaselines for trac.webkit.org/changeset/138838.
* platform/mac/fast/table/038-vertical-expected.txt:
* platform/mac/fast/table/border-collapsing/004-vertical-expected.txt:

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

8 years agoAdd the Apple MountainLion bots to garden-o-matic.
ojan@chromium.org [Mon, 7 Jan 2013 22:59:46 +0000 (22:59 +0000)]
Add the Apple MountainLion bots to garden-o-matic.
Eventually, we really should move away from hardcoding
the list of bots.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:

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

8 years agoFixing memory read after free in CanvasRenderingContext2D::accessFont
junov@google.com [Mon, 7 Jan 2013 22:56:02 +0000 (22:56 +0000)]
Fixing memory read after free in CanvasRenderingContext2D::accessFont
https://bugs.webkit.org/show_bug.cgi?id=106244

Reviewed by Abhishek Arya.

Source/WebCore:

Using a temporary String object to hold ref count on string that is
passed by reference in CanvasRenderingContext2D::accessFont.

Test: fast/canvas/canvas-measureText.html

* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::accessFont):

LayoutTests:

New test case to verify stability of 2D canvas method measureText.
Test case was causing a DumpRenderTree crash on builds with
AddressSantitizer instrumentation.

* fast/canvas/canvas-measureText-expected.txt: Added.
* fast/canvas/canvas-measureText.html: Added.

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

8 years ago[chromium] move web audio related methods to testrunner library
jochen@chromium.org [Mon, 7 Jan 2013 22:52:17 +0000 (22:52 +0000)]
[chromium] move web audio related methods to testrunner library
https://bugs.webkit.org/show_bug.cgi?id=106211

Reviewed by Adam Barth.

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::reset):
* DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):
* DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebKit):
(WebTestRunner::WebTestRunner::shouldDumpAsAudio):
(WebTestRunner::WebTestRunner::audioData):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::shouldDumpAsAudio):
(WebTestRunner):
(WebTestRunner::TestRunner::audioData):
(WebTestRunner::TestRunner::setAudioData):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):
* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::dump):

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

8 years agoDOMEvents.h should include DOMProgressEvent.h
andersca@apple.com [Mon, 7 Jan 2013 22:24:54 +0000 (22:24 +0000)]
DOMEvents.h should include DOMProgressEvent.h
https://bugs.webkit.org/show_bug.cgi?id=106250

Reviewed by Sam Weinig.

DOMProgressEvent.h is already installed as a public header, so it should also be included by DOMEvents.h.

* bindings/objc/DOMEvents.h:

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

8 years agoAdd window.internals.nonFastScrollableRects for testing scrollable areas in fast...
wangxianzhu@chromium.org [Mon, 7 Jan 2013 22:12:47 +0000 (22:12 +0000)]
Add window.internals.nonFastScrollableRects for testing scrollable areas in fast/slow paths
https://bugs.webkit.org/show_bug.cgi?id=105546

Reviewed by James Robinson.

.:

Export the new symbol.

* Source/autotools/symbols.filter:

Source/WebCore:

No new tests. Added test API for new tests of other bugs.

* WebCore.exp.in:
* page/Page.cpp:
(WebCore::Page::nonFastScrollableRects):
(WebCore):
* page/Page.h:
(WebCore):
(Page):
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): Change to public to allow Page::nonFastScrollableRects to access.
* page/scrolling/ScrollingCoordinator.h:
(ScrollingCoordinator):
* testing/Internals.cpp:
(WebCore::Internals::nonFastScrollableRects):
(WebCore):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit2:

Export the new symbol.

* win/WebKit2.def.in:

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

8 years agoDocument::initSecurityContext() gives parent security context to iframes with invalid...
tsepez@chromium.org [Mon, 7 Jan 2013 22:10:40 +0000 (22:10 +0000)]
Document::initSecurityContext() gives parent security context to iframes with invalid URLs.
https://bugs.webkit.org/show_bug.cgi?id=104960

Reviewed by Adam Barth.

Change covers the case of an invalid non-empty URL.  We know nothing
about that kind of URL and choose not to inherit origins.

* dom/Document.cpp:
(WebCore::shouldInheritSecurityOriginFromOwner):

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

8 years agoAX: Regression: Contextual menu not following with VO cursor in HTML content when...
cfleizach@apple.com [Mon, 7 Jan 2013 22:09:16 +0000 (22:09 +0000)]
AX: Regression: Contextual menu not following with VO cursor in HTML content when item is scrolled
https://bugs.webkit.org/show_bug.cgi?id=70075

Reviewed by Anders Carlsson.

On WK2 only, when accessibility opens a contextual menu, it does not honor the scroll offset.
On WK1, the attachment views handle this conversion when it's needed, but on WK2 it needs to be done manually
(similar to how the accessibility position is calculated).

No test. Cannot test the location of context menu popups on WK2 yet.

* accessibility/mac/WebAccessibilityObjectWrapper.mm:
(-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):

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

8 years agoHeap-buffer-overflow in WebCore::RenderBlock::clone.
inferno@chromium.org [Mon, 7 Jan 2013 22:07:45 +0000 (22:07 +0000)]
Heap-buffer-overflow in WebCore::RenderBlock::clone.
https://bugs.webkit.org/show_bug.cgi?id=101984

Reviewed by Julien Chaffraix.

Source/WebCore:

Add a global in RenderBlock to prevent recursion inside splitFlow.
While inside splitFlow (multi-column handling), we move many children
using fullRemoveInsert=true, causing RenderBlock::addChild to be called
and recursing in splitFlow. This messes the tree splitting happening in
RenderBlock::splitBlocks and can cause bad casts.

Test: fast/multicol/recursive-split-flow-crash.html

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

LayoutTests:

* fast/multicol/recursive-split-flow-crash-expected.txt: Added.
* fast/multicol/recursive-split-flow-crash.html: Added.

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

8 years ago[chromium] Fix PlatformContextSkia::setDrawingToImageBuffer abuse
alokp@chromium.org [Mon, 7 Jan 2013 22:05:33 +0000 (22:05 +0000)]
[chromium] Fix PlatformContextSkia::setDrawingToImageBuffer abuse
https://bugs.webkit.org/show_bug.cgi?id=104956

Reviewed by James Robinson.

Replaced PlatformContextSkia::SetDrawingToImageBuffer with GraphicsContext::setShouldSmoothFonts.

Source/WebCore:

No new tests needed. No change in functionality.

* platform/graphics/chromium/CompositorHUDFontAtlas.cpp:
(WebCore::CompositorHUDFontAtlas::generateFontAtlas):
* platform/graphics/chromium/OpaqueRectTrackingContentLayerDelegate.cpp:
(WebCore::OpaqueRectTrackingContentLayerDelegate::paintContents):
* platform/graphics/skia/ImageBufferSkia.cpp:
(WebCore::ImageBuffer::ImageBuffer):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::couldUseLCDRenderedText):
(WebCore):

Source/WebKit/chromium:

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::paintContents):
(WebKit):
(WebKit::NonCompositedContentHost::setShowDebugBorders):
* src/PageWidgetDelegate.cpp:
(WebKit::PageWidgetDelegate::paint):
* src/WebFontImpl.cpp:
(WebKit::WebFontImpl::drawText):

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

8 years agoSome characters are not rotated properly in vertical text
enrica@apple.com [Mon, 7 Jan 2013 22:03:53 +0000 (22:03 +0000)]
Some characters are not rotated properly in vertical text
https://bugs.webkit.org/show_bug.cgi?id=105663
<rdar://problem/12738911>

Source/WebCore:

Reviewed by Dan Bernstein.

Test: platform/mac/fast/text/vertical-no-sideways.html

* platform/graphics/Font.cpp:
(WebCore::Font::isCJKIdeographOrSymbol): Added several characters to the list.
* platform/graphics/FontFastPath.cpp:
(WebCore::shouldIgnoreRotation): Added
(WebCore::Font::glyphDataAndPageForNonCJKCharacterWithGlyphOrientation): Added logic to avoid
rotation for all the characters listed in shouldIgnoreRotation.

LayoutTests:

Reviewed by Dan Bernstein.

* platform/mac/fast/text/vertical-no-sideways.html: Added.
* platform/mac/platform/mac/fast/text/vertical-no-sideways-expected.txt: Added.

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

8 years agoUnreviewed gardening. Updating test expectations following r138717.
leviw@chromium.org [Mon, 7 Jan 2013 22:02:26 +0000 (22:02 +0000)]
Unreviewed gardening. Updating test expectations following r138717.

* platform/chromium-linux/platform/chromium/fast/events/touch: Removed.
* platform/chromium-linux/platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt: Removed.
* platform/chromium-mac/platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt:
* platform/chromium-win-xp/platform/chromium/fast/events: Added.
* platform/chromium-win-xp/platform/chromium/fast/events/touch: Added.
* platform/chromium-win-xp/platform/chromium/fast/events/touch/compositor-touch-hit-rects-expected.txt: Added.
* platform/chromium/TestExpectations:

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

8 years ago[Chromium] fast/speech/scripted/navigate-away.html is flaky.
dglazkov@chromium.org [Mon, 7 Jan 2013 21:47:20 +0000 (21:47 +0000)]
[Chromium] fast/speech/scripted/navigate-away.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=106249

* platform/chromium/TestExpectations: Marked as flaky.

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

8 years agoMake the IFRAME_SEAMLESS flag runtime-enabled.
mkwst@chromium.org [Mon, 7 Jan 2013 21:45:42 +0000 (21:45 +0000)]
Make the IFRAME_SEAMLESS flag runtime-enabled.
https://bugs.webkit.org/show_bug.cgi?id=106213

Reviewed by Ojan Vafai.

Source/WebCore:

Seamless IFrames live behind the IFRAME_SEAMLESS compile-time flag, this
patch adds another layer to that in order to enable runtime decisions
about when it should be active. This will allow ports (Chromium, for
instance) to toggle the feature on/off for particular builds without
recompiling from scratch.

* WebCore.exp.in:
* bindings/generic/RuntimeEnabledFeatures.cpp:
(WebCore):
* bindings/generic/RuntimeEnabledFeatures.h:
(RuntimeEnabledFeatures):
(WebCore::RuntimeEnabledFeatures::seamlessIFramesEnabled):
(WebCore::RuntimeEnabledFeatures::setSeamlessIFramesEnabled):
    Add seamless IFrames to the set of runtime controlled features.
* dom/Document.cpp:
(WebCore::Document::shouldDisplaySeamlesslyWithParent):
    If seamless IFrames aren't runtime enabled, always return false from
    Document::shouldDisplaySeamlesslyWithParent. As this method already
    acts as the single gate that controls the rest of the system, it's
    the only place we need to make the runtime check.

Source/WebKit/chromium:

* public/WebRuntimeFeatures.h:
(WebRuntimeFeatures):
* src/WebRuntimeFeatures.cpp:
(WebKit::WebRuntimeFeatures::enableSeamlessIFrames):
(WebKit):
(WebKit::WebRuntimeFeatures::areSeamlessIFramesEnabled):
    Expose the new runtime feature to the Chromium port.

Source/WebKit/efl:

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::setSeamlessIFramesEnabled):
* WebCoreSupport/DumpRenderTreeSupportEfl.h:
* ewk/ewk_view.cpp:
(_ewk_view_priv_new):
    Add a toggle for seamless IFrames to EFL's DRTSuport.

Source/WebKit/gtk:

* WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
* WebCoreSupport/DumpRenderTreeSupportGtk.h:
(DumpRenderTreeSupportGtk):
    Add a toggle for seamless IFrames to GTK's DRTSuport.

Source/WebKit/mac:

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(-[WebPreferences seamlessIFramesEnabled]):
(-[WebPreferences setSeamlessIFramesEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):
    Add a seamless IFrame preference to WebPreferences, and use it to
    toggle the runtime state of the feature as appropriate.

Source/WebKit/qt:

* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(DumpRenderTreeSupportQt::setSeamlessIFramesEnabled):
* WebCoreSupport/DumpRenderTreeSupportQt.h:
    Add a toggle for seamless IFrames to QT's DRTSuport.

Source/WebKit2:

* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleSetSeamlessIFramesEnabled):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::setSeamlessIFramesEnabled):
(WebKit):
* WebProcess/InjectedBundle/InjectedBundle.h:
(InjectedBundle):
    Add a toggle for seamless IFrames to InjectedBundle, and set it to
    true when beginning testing.

Tools:

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):
* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(DumpRenderTreeChrome::resetDefaultsToConsistentValues):
* DumpRenderTree/gtk/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues):
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetDefaultsToConsistentValues):
* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::WebPage::resetSettings):
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
    Ensure that seamless IFrames are enabled for layout tests in each of
    the ports that support seamless IFrames.

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

8 years ago [WK2] Remove more obsolete shim code
ap@apple.com [Mon, 7 Jan 2013 21:34:23 +0000 (21:34 +0000)]
    [WK2] Remove more obsolete shim code
        https://bugs.webkit.org/show_bug.cgi?id=106248

        Reviewed by Anders Carlsson.

        Removing KeychainItemShimCallbacks, and SecItemRequestData::CopyContent, which was
        only needed for that obsolete version of shim.

        We now use WebProcessSecItemShimCallbacks.

        * Shared/mac/SecItemRequestData.h:
        * UIProcess/mac/WebProcessProxyMac.mm:
        (WebKit::handleSecItemRequest):
        * WebProcess/mac/WebProcessShim.h:

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

8 years agoMerge child process main functions as much as possible
weinig@apple.com [Mon, 7 Jan 2013 21:26:01 +0000 (21:26 +0000)]
Merge child process main functions as much as possible
https://bugs.webkit.org/show_bug.cgi?id=106192

Reviewed by Anders Carlsson.

To reduce copied code, this merges the Mac main functions for the WebProcess,
NetworkProcess, PluginProcess, and SharedWorkerProcess. Since slight variations
are needed, it adds a delegate class for hooks into the main function that each
process can override if necessary.

* NetworkProcess/mac/NetworkProcessMainMac.mm:
(WebKit::NetworkProcessMain):
Remove almost everything with a call to ChildProcessMain with the default delegate.

* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializeProcess):
Move defaults registration here from PluginProcessMainMac.

* PluginProcess/mac/PluginProcessMainMac.mm:
(PluginProcessMainDelegate):
Add a delegate for the new shared main function that does does PluginProcess
specific work.

(WebKit::PluginProcessMainDelegate::doPreInitializationWork):
Move DYLD_INSERT_LIBRARIES removal and createPluginMIMETypesPreferences special mode
to this pre-initialization hook.

(WebKit::PluginProcessMainDelegate::doPostRunWork):
Move private temporary and cache directories clean up to this post run hook.

(WebKit::PluginProcessMain):
Call the ChildProcessMain shared main function with the PluginProcess as the process
to initialize and PluginProcessMainDelegate as the main delegate.

* Shared/mac/ChildProcessMain.h: Added.
(ChildProcessMainDelegate):
ChildProcessMainDelegate is a helper class that process can subclass to hook into
the main function.

(WebKit::ChildProcessMain):
Add a single version of the "main" function that uses the ChildProcessMainDelegate to
allow processes to hook into it.

* Shared/mac/ChildProcessMain.mm:
(WebKit::ChildProcessMainDelegate::~ChildProcessMainDelegate):
(WebKit::ChildProcessMainDelegate::installSignalHandlers):
(WebKit::ChildProcessMainDelegate::doPreInitializationWork):
(WebKit::ChildProcessMainDelegate::getConnectionIdentifier):
(WebKit::ChildProcessMainDelegate::getClientIdentifier):
(WebKit::ChildProcessMainDelegate::getClientProcessName):
(WebKit::ChildProcessMainDelegate::doPostRunWork):
Add default implementations of the delegate hooks, most processes should be able to
use the defaults.

* SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
(WebKit::SharedWorkerProcessMain):
Remove almost everything with a call to ChildProcessMain with the default delegate.

* WebKit2.xcodeproj/project.pbxproj:
Add new files.

* WebProcess/mac/WebProcessMainMac.mm:
(WebProcessMainDelegate):
Add a delegate for the new shared main function that does does WebProcess
specific work.

(WebKit::WebProcessMainDelegate::doPreInitializationWork):
Move DYLD_INSERT_LIBRARIES removal to this this pre-initialization hook.

(WebKit::WebProcessMainDelegate::getConnectionIdentifier):
A custom getConnectionIdentifier is necessary for the WebProcess to keep support for having the WebProcess
be able to launch the UIProcess (for debugging purposes).

(WebKit::WebProcessMainDelegate::getClientIdentifier):
For the same reasons as about, a custom getClientIdentifier is needed.

(WebKit::WebProcessMain):
Call the ChildProcessMain shared main function with the WebProcess as the process
to initialize and WebProcessMainDelegate as the main delegate.

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

8 years ago[chromium] move dumpAsText and friends to the TestRunner library
jochen@chromium.org [Mon, 7 Jan 2013 21:21:28 +0000 (21:21 +0000)]
[chromium] move dumpAsText and friends to the TestRunner library
https://bugs.webkit.org/show_bug.cgi?id=106222

Reviewed by Adam Barth.

This moves dumpAsText, dumpChildFramesAsText, and dumpChildFrameScrollPositions to the TestRunner library.

* DumpRenderTree/chromium/DRTTestRunner.cpp:
(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::reset):
* DumpRenderTree/chromium/DRTTestRunner.h:
(DRTTestRunner):
* DumpRenderTree/chromium/TestRunner/public/WebTestRunner.h:
(WebTestRunner::WebTestRunner::shouldDumpAsText):
(WebTestRunner::WebTestRunner::setShouldDumpAsText):
(WebTestRunner::WebTestRunner::shouldGeneratePixelResults):
(WebTestRunner::WebTestRunner::setShouldGeneratePixelResults):
(WebTestRunner::WebTestRunner::shouldDumpChildFrameScrollPositions):
(WebTestRunner::WebTestRunner::shouldDumpChildFramesAsText):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:
(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner::TestRunner::shouldDumpAsText):
(WebTestRunner):
(WebTestRunner::TestRunner::setShouldDumpAsText):
(WebTestRunner::TestRunner::shouldGeneratePixelResults):
(WebTestRunner::TestRunner::setShouldGeneratePixelResults):
(WebTestRunner::TestRunner::shouldDumpChildFrameScrollPositions):
(WebTestRunner::TestRunner::shouldDumpChildFramesAsText):
(WebTestRunner::TestRunner::dumpAsText):
(WebTestRunner::TestRunner::dumpChildFrameScrollPositions):
(WebTestRunner::TestRunner::dumpChildFramesAsText):
* DumpRenderTree/chromium/TestRunner/src/TestRunner.h:
(TestRunner):

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

8 years ago[BlackBerry] Touch Events are falling through fullscreen video
commit-queue@webkit.org [Mon, 7 Jan 2013 20:58:46 +0000 (20:58 +0000)]
[BlackBerry] Touch Events are falling through fullscreen video
https://bugs.webkit.org/show_bug.cgi?id=106112

Patch by Genevieve Mak <gmak@rim.com> on 2013-01-07
Reviewed by Rob Buis.

Reviewed Internally by Jakob Petsovits.
PR #274326
Do not do viewport centering calculations if in fullscreen video.
The offset should be zero.

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

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

8 years agoLayoutUnit(unsigned long long value) compile failure
eric.carlson@apple.com [Mon, 7 Jan 2013 20:53:58 +0000 (20:53 +0000)]
LayoutUnit(unsigned long long value) compile failure
https://bugs.webkit.org/show_bug.cgi?id=106239

Cast the result of ('unsigned long long' * 'int') to an int before storing in m_value
to avoid compile failure on some platforms.

Reviewed by Ryosuke Niwa.

* platform/LayoutUnit.h:
(WebCore::LayoutUnit::LayoutUnit): Cast to int after multiplication.

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

8 years ago[BlackBerry] Handle the new AuthRetry result code in NetworkJob::notifyAuthReceived
commit-queue@webkit.org [Mon, 7 Jan 2013 20:47:54 +0000 (20:47 +0000)]
[BlackBerry] Handle the new AuthRetry result code in NetworkJob::notifyAuthReceived
https://bugs.webkit.org/show_bug.cgi?id=106233

Patch by Joe Mason <jmason@rim.com> on 2013-01-07
Reviewed by Rob Buis.

Internal PR: 270683
FilterStream::notifyAuthReceived has a new result code, AuthRetry. When it's received we
need to handle it by resending the request with the same credentials.

Reviewed internally by Leo Yang.

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

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

8 years agoClear pending container size requests as early as possible
pdr@google.com [Mon, 7 Jan 2013 20:33:53 +0000 (20:33 +0000)]
Clear pending container size requests as early as possible
https://bugs.webkit.org/show_bug.cgi?id=106162

Reviewed by Eric Seidel.

http://trac.webkit.org/changeset/137981 contained a bug where pending container size
requests were only cleared for images that use container sizes. Bitmap images do not use
container sizes so these requests were not being cleared. This patch does the trivial
refactoring so that container size requests are cleared as early as possible.

No new tests as this is just a refactoring of some messy code added in r137981.

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::createImage):

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

8 years ago[Chromium] Rebaseline webaudio/realtimeanalyser-fft-sizing.html.
dglazkov@chromium.org [Mon, 7 Jan 2013 20:23:29 +0000 (20:23 +0000)]
[Chromium] Rebaseline webaudio/realtimeanalyser-fft-sizing.html.

* platform/chromium-win/webaudio/realtimeanalyser-fft-sizing-expected.txt: Renamed from LayoutTests/platform/chromium-win-xp/webaudio/realtimeanalyser-fft-sizing-expected.txt.

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

8 years agoUnreviewed, rolling out r137632.
inferno@chromium.org [Mon, 7 Jan 2013 19:52:02 +0000 (19:52 +0000)]
Unreviewed, rolling out r137632.
http://trac.webkit.org/changeset/137632
https://bugs.webkit.org/show_bug.cgi?id=106237

Caused major security regressions on ClusterFuzz (Requested by
inferno-sec on #webkit).

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

Source/WebCore:

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::startDelayUpdateScrollInfo):
(WebCore::RenderBlock::finishDelayUpdateScrollInfo):

LayoutTests:

* mathml/mo-stretch-crash-expected.txt: Removed.
* mathml/mo-stretch-crash.html: Removed.

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

8 years agoMake WKViews work when layer-backed
simon.fraser@apple.com [Mon, 7 Jan 2013 19:52:01 +0000 (19:52 +0000)]
Make WKViews work when layer-backed
https://bugs.webkit.org/show_bug.cgi?id=106166

Reviewed by Sam Weinig.

When not in TileCache mode, WebKit2 views had redraw problems on scrolling,
if layer-backed.

The issue is that the DrawingAreaProxy code tries to optimize scrolling by
calling -scrollRect:by: on the WKView (an NSView) to copy bits, rather than
repainting the entire view. However, -scrollRect:by: does nothing for NSViews
that have layers.

Fix by plumbing through a canScrollView() function which PageClientImpl()
implements, returning true if the view does not have layer backing.
When canScrollView() is false, DrawingAreaProxyImpl::incorporateUpdate()
dirties the entire view.

* UIProcess/API/gtk/PageClientImpl.h:
(WebKit::PageClientImpl::canScrollView):
* UIProcess/API/mac/PageClientImpl.h:
(PageClientImpl):
* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::canScrollView):
* UIProcess/API/qt/raw/qrawwebview_p_p.h:
(QRawWebViewPrivate::canScrollView):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::incorporateUpdate):
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::canScrollView):
* UIProcess/WebPageProxy.h:
* UIProcess/efl/PageClientBase.h:
(WebKit::PageClientBase::canScrollView):
* UIProcess/qt/QtPageClient.h:
(WebKit::QtPageClient::canScrollView):
* UIProcess/win/WebView.h:
(WebKit::WebView::canScrollView):

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

8 years ago[Chromium] Rebaseline svg/W3C-SVG-1.1/paths-data-03-f.svg.
dglazkov@chromium.org [Mon, 7 Jan 2013 19:44:34 +0000 (19:44 +0000)]
[Chromium] Rebaseline svg/W3C-SVG-1.1/paths-data-03-f.svg.

* platform/chromium-win/svg/W3C-SVG-1.1/paths-data-03-f-expected.png: Updated expectation.

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

8 years ago[Chromium] Tests in svg/dynamic-updates are flaky..
dglazkov@chromium.org [Mon, 7 Jan 2013 19:41:18 +0000 (19:41 +0000)]
[Chromium] Tests in svg/dynamic-updates are flaky..
https://bugs.webkit.org/show_bug.cgi?id=106238

* platform/chromium/TestExpectations: Marked as flaky.

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

8 years agoMIPS LLInt implementation.
commit-queue@webkit.org [Mon, 7 Jan 2013 19:40:10 +0000 (19:40 +0000)]
MIPS LLInt implementation.
https://bugs.webkit.org/show_bug.cgi?id=99706

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2013-01-07
Reviewed by Filip Pizlo.

LLInt implementation for MIPS.

Source/JavaScriptCore:

* assembler/MacroAssemblerMIPS.h:
(JSC::MacroAssemblerMIPS::jump):
* dfg/DFGOperations.cpp:
(JSC):
* jit/JITStubs.cpp:
(JSC):
* jit/JITStubs.h:
(JITStackFrame):
* llint/LLIntOfflineAsmConfig.h:
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* offlineasm/backends.rb:
* offlineasm/instructions.rb:
* offlineasm/mips.rb: Added.

Source/WTF:

* wtf/Platform.h:

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

8 years ago[BlackBerry] Roll out r136173 as there are alternative approaches from the client...
zhajiang@rim.com [Mon, 7 Jan 2013 19:31:35 +0000 (19:31 +0000)]
[BlackBerry] Roll out r136173 as there are alternative approaches from the client sides now
https://bugs.webkit.org/show_bug.cgi?id=106236

Unreviewed, rolling out r136173.
This becomes unnecessary now as there are alternative approaches to
solve the issue from the client sides.

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

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

8 years agoRebaselines after http://trac.webkit.org/changeset/138838.
ojan@chromium.org [Mon, 7 Jan 2013 19:24:18 +0000 (19:24 +0000)]
Rebaselines after trac.webkit.org/changeset/138838.

* platform/chromium-mac-lion/fast/ruby/base-shorter-than-text-expected.txt:
* platform/chromium-mac-lion/fast/table/038-vertical-expected.png:
* platform/chromium-mac-lion/fast/table/border-collapsing/004-vertical-expected.png:
* platform/chromium-mac-snowleopard/fast/table/038-vertical-expected.png:
* platform/chromium-mac-snowleopard/fast/table/border-collapsing/004-vertical-expected.png:
* platform/chromium-mac/fast/ruby/base-shorter-than-text-expected.txt:
* platform/chromium-mac/fast/table/038-vertical-expected.png:
* platform/chromium-mac/fast/table/038-vertical-expected.txt: Copied from LayoutTests/platform/chromium/fast/table/038-vertical-expected.txt.
* platform/chromium-mac/fast/table/border-collapsing/004-vertical-expected.png:
* platform/chromium-mac/fast/table/border-collapsing/004-vertical-expected.txt:
* platform/chromium-win-xp/fast/ruby/base-shorter-than-text-expected.txt:
* platform/chromium-win-xp/fast/table/038-vertical-expected.png: Added.
* platform/chromium-win-xp/fast/table/border-collapsing/004-vertical-expected.png: Added.
* platform/chromium/TestExpectations:
* platform/gtk/TestExpectations:
* platform/gtk/fast/ruby/base-shorter-than-text-expected.txt:
* platform/gtk/fast/table/038-vertical-expected.txt:
* platform/gtk/fast/table/border-collapsing/004-vertical-expected.txt:
* platform/mac-lion/fast/table/038-vertical-expected.txt: Copied from LayoutTests/platform/chromium/fast/table/038-vertical-expected.txt.
* platform/mac-lion/fast/table/border-collapsing/004-vertical-expected.txt: Added.
* platform/mac-wk2/fast/table/038-vertical-expected.txt: Renamed from LayoutTests/platform/chromium/fast/table/038-vertical-expected.txt.
* platform/mac-wk2/fast/table/border-collapsing/004-vertical-expected.txt: Added.
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/qt/fast/table/038-vertical-expected.txt:
* platform/qt/fast/table/border-collapsing/004-vertical-expected.txt:

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

8 years ago[Track] Rendering crash
victor@rosedu.org [Mon, 7 Jan 2013 19:21:07 +0000 (19:21 +0000)]
[Track] Rendering crash
https://bugs.webkit.org/show_bug.cgi?id=106199

Reviewed by Eric Carlson.

Source/WebCore:

The browser is crashing if a text track is added through JavaScript,
due to the fact that the containing block is not marked as inline at
the time RenderTextTrackCue::layout() is called. The fix consists
of ensuring that the pseudo id is set, even if the track isn't
yet visible.

Test: media/track/track-cue-inline-assertion-crash.html

* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::updateDisplayTree): The pseudo-id should
be set when the display tree is generated.
(WebCore::TextTrackCue::getDisplayTree): Added extra check to not
do unneccessary logic if the track will never be displayed.

LayoutTests:

* media/track/track-cue-inline-assertion-crash-expected.txt: Added.
* media/track/track-cue-inline-assertion-crash.html: Added.

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

8 years agoBuild fix attempt after r138810.
rniwa@webkit.org [Mon, 7 Jan 2013 19:04:56 +0000 (19:04 +0000)]
Build fix attempt after r138810.

Apparently python 2.6 is really bad at floating point computation.

* Scripts/webkitpy/performance_tests/perftestsrunner_integrationtest.py:
(MainTest.test_run_memory_test):

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

8 years ago[JSC] Copy non-index properties of arrays in SerializedScriptValue
commit-queue@webkit.org [Mon, 7 Jan 2013 19:03:44 +0000 (19:03 +0000)]
[JSC] Copy non-index properties of arrays in SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=105575

Patch by Michael Pruett <michael@68k.org> on 2013-01-07
Reviewed by Oliver Hunt.

The structured cloning algorithm requires copying all properties of
array objects, including non-index properties.

Source/WebCore:

Tests: fast/storage/serialized-script-value.html
       storage/indexeddb/structured-clone.html

* bindings/js/SerializedScriptValue.cpp:
(WebCore):
(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::putProperty):
(WebCore::CloneDeserializer::deserialize):

LayoutTests:

* fast/storage/resources/serialized-script-value.js:
* fast/storage/serialized-script-value-expected.txt:
* fast/storage/serialized-script-value.html:
* platform/chromium/fast/storage/serialized-script-value-expected.txt:
* platform/chromium/fast/storage/serialized-script-value.html:

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

8 years agoIndexedDB: Stub out async IDBDatabaseBackendInterface::createObjectStore
alecflett@chromium.org [Mon, 7 Jan 2013 18:53:47 +0000 (18:53 +0000)]
IndexedDB: Stub out async IDBDatabaseBackendInterface::createObjectStore
https://bugs.webkit.org/show_bug.cgi?id=106148

Reviewed by Adam Barth.

Source/WebCore:

These methods are becoming async in multiprocess ports, so stub out
versions that have no return values.

* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(WebCore::IDBDatabaseBackendImpl::createObjectStore):
(WebCore::IDBDatabaseBackendImpl::deleteObjectStore):
* Modules/indexeddb/IDBDatabaseBackendInterface.h:
(IDBDatabaseBackendInterface):

Source/WebKit/chromium:

Stub out WebKit API for async createObjectStore.

* public/WebIDBDatabase.h:
(WebIDBDatabase):
* src/IDBDatabaseBackendProxy.cpp:
(WebKit::IDBDatabaseBackendProxy::createObjectStore):
(WebKit):
(WebKit::IDBDatabaseBackendProxy::deleteObjectStore):
* src/IDBDatabaseBackendProxy.h:
(IDBDatabaseBackendProxy):
* src/WebIDBDatabaseImpl.cpp:
(WebKit::WebIDBDatabaseImpl::createObjectStore):
(WebKit):
(WebKit::WebIDBDatabaseImpl::deleteObjectStore):
* src/WebIDBDatabaseImpl.h:
(WebIDBDatabaseImpl):

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

8 years ago ResourceHandle::willLoadFromCache is evil
ap@apple.com [Mon, 7 Jan 2013 18:40:55 +0000 (18:40 +0000)]
    ResourceHandle::willLoadFromCache is evil
        https://bugs.webkit.org/show_bug.cgi?id=106147

        Reviewed by Brady Eidson.

        For back/forward navigations to a page that's a result of form submission, we may
        never silently re-submit the form. So, we show a warning dialog when about to re-submit,
        but try to load from cache if possible.

        This patch changes the logic so that we always try to fetch from cache, without
        any preflighting. If cache load fails, we restart the load as a known re-submit.

        No behavior change expected, so no tests.

        * html/HTMLAnchorElement.cpp: (WebCore::HTMLAnchorElement::handleClick):
        Added a FIXME.

        * loader/DocumentLoader.cpp: (WebCore::DocumentLoader::startLoadingMainResource):
        Amended a FIXME with some information about why this call may still be needed.

        * loader/FrameLoader.h:
        * loader/FrameLoader.cpp:
        (WebCore::FrameLoader::loadURLIntoChildFrame): Pass an explicit argument for unchanged caching behavior.
        (WebCore::FrameLoader::reloadWithOverrideEncoding): Added a FIXME. This function
        can silently re-submit a form.
        (WebCore::FrameLoader::addExtraFieldsToMainResourceRequest): Added a FIXME about
        an incorrect use of current load type.
        (WebCore::FrameLoader::addExtraFieldsToRequest): Make sure that a correct caching
        policy is used for subresources even if main resource was loaded from cache. We
        didn't need that before because initial request had wrong extra fields due to a use
        of m_loadType when it was first called.
        Removed code to change caching policy for b/f navigations. This function does not
        have enough context to decide what the policy should be.
        (WebCore::FrameLoader::loadDifferentDocumentItem): Added an argument telling the
        function whether it should attempt loading from cache. It should do that on first
        attempt to navigate to a form submission result, but not if that failed.
        Pass a correct loadType - m_loadType is one for _previous_ load.
        Removed a special case for https - we've long stopped prohibiting caching of https
        resources, and using a resource that's already cached should definitely be allowed.
        (WebCore::FrameLoader::loadItem): Pass an explicit argument for unchanged caching behavior.
        (WebCore::FrameLoader::retryAfterFailedCacheOnlyMainResourceLoad): Added.

        * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::notifyFinished):
        Removed a check for m_resource being null, because we were immediately dereferencing
        it anyway.
        Call retryAfterFailedCacheOnlyMainResourceLoad() to let FrameLoader restart the navigation.

        * platform/network/ResourceHandle.h:
        * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
        * platform/network/cf/ResourceHandleCFNet.cpp:
        * platform/network/chromium/ResourceHandle.cpp:
        * platform/network/curl/ResourceHandleCurl.cpp:
        * platform/network/mac/ResourceHandleMac.mm:
        * platform/network/qt/ResourceHandleQt.cpp:
        * platform/network/soup/ResourceHandleSoup.cpp:
        * platform/network/win/ResourceHandleWin.cpp:
        Removed willLoadFromCache() - the new logic is cross-platform.

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

8 years ago[CSS Regions] LayoutTests/fast/regions/webkit-flow-inlines-inside-regions-bounds...
mihnea@adobe.com [Mon, 7 Jan 2013 18:36:47 +0000 (18:36 +0000)]
[CSS Regions] LayoutTests/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl.html has repainting issues
https://bugs.webkit.org/show_bug.cgi?id=97208

Reviewed by Tony Chang.

Following the fix for https://bugs.webkit.org/show_bug.cgi?id=105893, i converted this to a ref test.
Used a defined monospace font for similar results on all platforms.

* fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.html: Added.
* fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
* fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl.html:
* platform/chromium-linux/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
* platform/chromium-mac-lion/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
* platform/chromium-mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
* platform/chromium-win/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
* platform/chromium-win/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
* platform/chromium/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
* platform/efl/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
* platform/gtk/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.
* platform/qt/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png: Removed.
* platform/qt/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.txt: Removed.

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

8 years ago[GTK] Disable deprecation warnings for GStaticRecMutex
commit-queue@webkit.org [Mon, 7 Jan 2013 18:34:36 +0000 (18:34 +0000)]
[GTK] Disable deprecation warnings for GStaticRecMutex
https://bugs.webkit.org/show_bug.cgi?id=105918

Patch by Alberto Garcia <agarcia@igalia.com> on 2013-01-07
Reviewed by Philippe Normand.

GStaticRecMutex is deprecated since glib 2.32, but we can't remove
it because it's needed by GStreamer 0.10. The solution is to
disable the deprecation warnings for that code alone.

* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

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

8 years ago[Chromium] Marked WebAudio tests that are failing on Windows.
dglazkov@chromium.org [Mon, 7 Jan 2013 18:33:05 +0000 (18:33 +0000)]
[Chromium] Marked WebAudio tests that are failing on Windows.
https://bugs.webkit.org/show_bug.cgi?id=106232

* platform/chromium/TestExpectations: Marked.

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

8 years agoRefactor client removal in CachedResource::switchClientsToRevalidatedResource
pdr@google.com [Mon, 7 Jan 2013 18:32:16 +0000 (18:32 +0000)]
Refactor client removal in CachedResource::switchClientsToRevalidatedResource
https://bugs.webkit.org/show_bug.cgi?id=106206

Previously switchClientsToRevalidatedResource() failed to call didRemoveClient() for each
client and instead simply cleared m_clients. This patch removes an incorrect comment and
refactors the code so that removeClient() and didRemoveClient() are properly called.

Reviewed by Nate Chapin.

No new tests as there are no observable changes from this refactoring.

* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::switchClientsToRevalidatedResource):

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

8 years agotestapi is failing with a block-related error in the Objc API
mhahnenberg@apple.com [Mon, 7 Jan 2013 18:31:20 +0000 (18:31 +0000)]
testapi is failing with a block-related error in the Objc API
https://bugs.webkit.org/show_bug.cgi?id=106055

Reviewed by Geoffrey Garen.

Casting a block to a bool will always return true, which isn't the behavior that is intended here.
Instead we need to call the block, but C semantics don't allow this, so we need to change
testapi.m to be Objective-C++ and therefore testapi.mm.

* API/tests/testapi.m: Removed.
* API/tests/testapi.mm: Copied from Source/JavaScriptCore/API/tests/testapi.m.
(blockSignatureContainsClass):
* JavaScriptCore.xcodeproj/project.pbxproj:

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

8 years ago[BlackBerry] Never avoid blitting when one-shot drawing sync is involved.
jpetsovits@rim.com [Mon, 7 Jan 2013 18:28:14 +0000 (18:28 +0000)]
[BlackBerry] Never avoid blitting when one-shot drawing sync is involved.
https://bugs.webkit.org/show_bug.cgi?id=106225
RIM PR 274948

Reviewed by George Staikos.
Based on a patch by Chris Guan.

didRenderContent() has a mechanism to avoid double blits;
when scrolling or zooming is enabled then we don't issue
blitContents() as the client would (continually) do that
already.

However, since r138024, didRenderContents() also deals
with one-shot drawing synchronization and commits.
When these are required, we can't just skip out or the
backingstore and overlaying composited layers are likely
to get out of sync. The condition also doesn't make much
sense for direct rendering as no blit calls are issued
at all when it is enabled.

Fix the issue by limiting the impact of the scroll/zoom
early return to only regular blit operations.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::didRenderContent):

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

8 years agoExtract a class to represent a test result to simplify PerfTest.parse_output and...
rniwa@webkit.org [Mon, 7 Jan 2013 18:28:05 +0000 (18:28 +0000)]
Extract a class to represent a test result to simplify PerfTest.parse_output and PageLoadPerfTest._run_with_driver
https://bugs.webkit.org/show_bug.cgi?id=106172

Reviewed by Tony Chang.

Extracted PerfTestMetric, which represents a test result and knows how to compute statistics and convert itself
to a dictionary. A metric is a type of measurement each test makes such as "Time", "Malloc", and "JSHeap".
A single test (e.g. html5-full-render.html) may have multiple metrics, each of which is reported as a separate
test on perf-o-matic and perf. test's results page.

Also, use python's compute_statistics instead of reading statistics off of DriverOutput to simplify the code.

* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTestMetric): Added.
(PerfTestMetric.__init__): Added.
(PerfTestMetric.metric): Added.
(PerfTestMetric.has_values): Added.
(PerfTestMetric.legacy_chromium_bot_compatible_test_name): Added. Following the legacy convention, "Malloc" and
"JSHeap" will use "test_name:Malloc" whereas "Time" uses "test_name" itself. We should eventually move these
conversions to be done on the client side (perf-o-matic and results page).
(PerfTestMetric.append): Added.
(PerfTestMetric.to_dict): Added. Computes the statistics and generates the dictionary object that represents
a result for this metric.
(PerfTestMetric.metric_to_unit): Added. Each metric maps to exactly one unit (it's not one-to-one).
(PerfTestMetric.compute_statistics): Moved from PerfTest.

(PerfTest._create_driver): Extracted from PerfTest.run.
(PerfTest.run): Given an array of PerfTestMetric, generate the results dictionary. Also print out results
as needed.
(PerfTest._run_with_driver):
(PerfTest): Removed _result_classes and _result_class_regex. "result class" is the old name for "metric".
(PerfTest.parse_output): Dramatically simplified. We now just return an array of PerfTestMetric's. Also ignore
all keys except "values". We rely on PerfTestMetric to compute the statistics for us.

(ChromiumStylePerfTest.run): Added and merged _run_with_driver. Since chromium style perf tests are so different
from other perf tests, there isn't much point in sharing the code here.

(PageLoadingPerfTest._run_with_driver): Simplified. Just create an array of PerfTestMetric's without computing
statistics for the measured values.

* Scripts/webkitpy/performance_tests/perftest_unittest.py:
(TestPerfTestMetric): Added.
(TestPerfTestMetric.test_init_set_missing_unit): Added.
(TestPerfTestMetric.test_legacy_chromium_bot_compatible_test_name): Added.
(TestPerfTestMetric.test_has_values): Added.
(TestPerfTestMetric.test_append): Added.
(TestPerfTestMetric.test_compute_statistics.compute_statistics):
(TestPerfTestMetric.test_compute_statistics): Added a trivial test case.

(TestPerfTest._assert_results_are_correct): Updated as needed.
(TestPageLoadingPerfTest.test_run): Ditto. Notice that we no longer log anything in _run_with_driver. It's done
in PerfTest.run now after generating the results dictionary.
(TestPageLoadingPerfTest.test_run_with_memory_output): Ditto.

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

8 years agoMark fast/block/float/max-width-clear-float-with-overflow-hidden.html as failing.
dglazkov@chromium.org [Mon, 7 Jan 2013 18:27:05 +0000 (18:27 +0000)]
Mark fast/block/float/max-width-clear-float-with-overflow-hidden.html as failing.
https://bugs.webkit.org/show_bug.cgi?id=47975

* platform/chromium/TestExpectations: Marked.

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

8 years ago[Chromium] Update bug numbers and organize bug lines.
dglazkov@chromium.org [Mon, 7 Jan 2013 18:18:24 +0000 (18:18 +0000)]
[Chromium] Update bug numbers and organize bug lines.

* platform/chromium/TestExpectations: Organizzazzed.

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

8 years agoSupport size_t multiplication and division operators on LayoutUnit
jchaffraix@webkit.org [Mon, 7 Jan 2013 17:25:37 +0000 (17:25 +0000)]
Support size_t multiplication and division operators on LayoutUnit
https://bugs.webkit.org/show_bug.cgi?id=83848

Reviewed by Emil A Eklund.

Source/WebCore:

Per Darin's suggestion, adding a version of the operator for most unsigned types (excluding
only unsigned char). This should automatically cover size_t as it should be one of these.

Test: TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp

* platform/LayoutUnit.h:
(WebCore::LayoutUnit::LayoutUnit):
(WebCore::operator*):
(WebCore::operator/):
Added the operators and (possibly saturating) constructors for unsigned short, unsigned long,
unsigned long long.

Tools:

* TestWebKitAPI/Tests/WebCore/LayoutUnit.cpp:
Added some simple tests for the new operators using size_t.

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

8 years ago[Qt] run-webkit-tests cleanup for parallel NRWT
ossy@webkit.org [Mon, 7 Jan 2013 17:15:19 +0000 (17:15 +0000)]
[Qt] run-webkit-tests cleanup for parallel NRWT
https://bugs.webkit.org/show_bug.cgi?id=106220

Reviewed by Dirk Pranke.

* Scripts/run-webkit-tests:
(useNewRunWebKitTests):
* Scripts/webkitpy/layout_tests/port/qt.py:
(QtPort):
(QtPort.default_child_processes):

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

8 years agoAdd comment to WebKit skia gyp
schenney@chromium.org [Mon, 7 Jan 2013 17:02:41 +0000 (17:02 +0000)]
Add comment to WebKit skia gyp

Unreviewed additon of a comment.

* skia_webkit.gyp: Some changes should not yet be committed. Commented to that effect.

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

8 years agoAdd Skia build flags to WebKit skia gyp
schenney@chromium.org [Mon, 7 Jan 2013 16:54:33 +0000 (16:54 +0000)]
Add Skia build flags to WebKit skia gyp

Unreviewed change to enable easy layout test rebaselining.

* skia_webkit.gyp: Added SK_IGNORE_QUAD_STROKE_FIX and SK_IGNORE_TREAT_AS_SPRITE

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

8 years agoUnreviewed, rolling out r138944.
commit-queue@webkit.org [Mon, 7 Jan 2013 16:40:52 +0000 (16:40 +0000)]
Unreviewed, rolling out r138944.
http://trac.webkit.org/changeset/138944
https://bugs.webkit.org/show_bug.cgi?id=106223

It made 28 tests crash (Requested by Ossy on #webkit).

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

* plugins/qt/PluginPackageQt.cpp:
(WebCore::PluginPackage::fetchInfo):
(WebCore::PluginPackage::load):

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

8 years ago[WinCairo] Build fixes after r138413
commit-queue@webkit.org [Mon, 7 Jan 2013 16:32:16 +0000 (16:32 +0000)]
[WinCairo] Build fixes after r138413
https://bugs.webkit.org/show_bug.cgi?id=106087

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-01-07
Reviewed by Alexey Proskuryakov.

* WebCore.vcproj/WebCore.vcproj: Added NetworkStorageSessionStub.cpp,
and removed NetworkStorageSessionCFNet.cpp for WinCairo build.
* platform/win/TemporaryLinkStubs.cpp: Include fix.

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

8 years ago[Qt] Apply correct patch for the scrolling issue from bug 105014
michael.bruning@digia.com [Mon, 7 Jan 2013 15:51:38 +0000 (15:51 +0000)]
[Qt] Apply correct patch for the scrolling issue from bug 105014
https://bugs.webkit.org/show_bug.cgi?id=106219

Correct the if condition when overwriting the layout direction option
with the values from the facade options to only overwrite if the facade
direction is not equal to LayoutDirectionAuto.

Reviewed by Allan Sandfeld Jensen.

* WidgetSupport/QStyleFacadeImp.cpp:
(WebKit::initGenericStyleOption):

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

8 years agoCreate a GStreamerAudio watchlist and add myself to it.
philn@webkit.org [Mon, 7 Jan 2013 15:45:50 +0000 (15:45 +0000)]
Create a GStreamerAudio watchlist and add myself to it.

Unreviewed.

* Scripts/webkitpy/common/config/watchlist:

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

8 years ago[Qt] Major performance improvement in Qt's PluginDatabase implementation
commit-queue@webkit.org [Mon, 7 Jan 2013 15:40:19 +0000 (15:40 +0000)]
[Qt] Major performance improvement in Qt's PluginDatabase implementation
https://bugs.webkit.org/show_bug.cgi?id=106140

Patch by David Faure <faure@kde.org> on 2013-01-07
Reviewed by Simon Hausmann.

No new tests, only a performance improvement.

* plugins/qt/PluginPackageQt.cpp:
(WebCore::PluginPackage::fetchInfo): Don't do a full-fledged load(), load the module directly.
(WebCore::PluginPackage::load): Use existing module if fetchInfo created it.

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

8 years agoUnreviewed. Unskip tests fixed in http://trac.webkit.org/changeset/138937.
mihnea@adobe.com [Mon, 7 Jan 2013 15:13:23 +0000 (15:13 +0000)]
Unreviewed. Unskip tests fixed in trac.webkit.org/changeset/138937.

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

8 years ago[GTK][EFL][Qt] New tests fast/regions/region-rule-nested-region-rule.html, fast/regio...
mihnea@adobe.com [Mon, 7 Jan 2013 14:47:38 +0000 (14:47 +0000)]
[GTK][EFL][Qt] New tests fast/regions/region-rule-nested-region-rule.html, fast/regions/region-styling-mediaquery.html are failing
https://bugs.webkit.org/show_bug.cgi?id=106168

Reviewed by Csaba Osztrogonác.

Specify a margin-top: 0 both for the h1 element that is flowed into region and the h1 element in the ref test to ensure
the h1 element is displayed at the same position in the region and in the containing article element.
Also, cleaned up the tests a little.

* fast/regions/region-rule-nested-region-rule-expected.html:
* fast/regions/region-rule-nested-region-rule.html:
* fast/regions/region-styling-mediaquery-expected.html:
* fast/regions/region-styling-mediaquery.html:

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

8 years agoOptimizing RGBA16, RGB16, ARGB16, BGRA16 unpacking functions with NEON intrinsics
rgabor@webkit.org [Mon, 7 Jan 2013 14:31:32 +0000 (14:31 +0000)]
Optimizing RGBA16, RGB16, ARGB16, BGRA16 unpacking functions with NEON intrinsics
https://bugs.webkit.org/show_bug.cgi?id=103614

Reviewed by Zoltan Herczeg.

Optimizing RGBA16, RGB16, ARGB16, BGRA16 unpacking functions in GraphicsContext3D
with ARM NEON intrinsics. The optimized functions are 2-3x faster than the origin.

* platform/graphics/GraphicsContext3D.cpp:
(WebCore):
* platform/graphics/cpu/arm/GraphicsContext3DNEON.h:
(WebCore::SIMD::unpackOneRowOfRGBA16LittleToRGBA8):
(SIMD):
(WebCore::SIMD::unpackOneRowOfRGB16LittleToRGBA8):
(WebCore::SIMD::unpackOneRowOfARGB16LittleToRGBA8):
(WebCore::SIMD::unpackOneRowOfBGRA16LittleToRGBA8):

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

8 years agoRegression(r138786): Causes webaudio tests to crash
christophe.dumez@intel.com [Mon, 7 Jan 2013 13:26:13 +0000 (13:26 +0000)]
Regression(r138786): Causes webaudio tests to crash
https://bugs.webkit.org/show_bug.cgi?id=106182

Reviewed by Philippe Normand.

Source/WebCore:

Partially revert r138786 since it causes crashes in webaudio
tests. The WebProcess would actually become unresponsive due
to source element never going to PLAYING state.

Only the changes to webKitWebAudioSrcChangeState() were reverted.

No new tests, already covered by existing tests.

* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioSrcChangeState):

LayoutTests:

Unskip several webaudio tests for EFL WK2 now that the
regression was fixed.

* platform/efl-wk2/TestExpectations:

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

8 years ago[Qt] Gardening.
jbadics@inf.u-szeged.hu [Mon, 7 Jan 2013 11:26:59 +0000 (11:26 +0000)]
[Qt] Gardening.
r138820: Skipped a test because track feature is not functional yet.
r138838: Added new baseline to fast/writing-mode/table-percent-width-quirk-expected.txt.

Reviewed by Csaba Osztrogonác.

* platform/qt/TestExpectations:
* platform/qt/fast/writing-mode/table-percent-width-quirk-expected.txt:

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

8 years ago[Qt] Horizontal scrollbars events are offseted making them difficult to use
michael.bruning@digia.com [Mon, 7 Jan 2013 10:09:16 +0000 (10:09 +0000)]
[Qt] Horizontal scrollbars events are offseted making them difficult to use
https://bugs.webkit.org/show_bug.cgi?id=105014

Reviewed by Allan Sandfeld Jensen.

Patch co-authored by Simon Hausmann.

Only copy the layout direction from the facade options if the
current option is Qt::LayoutDirectionAuto in order to prevent
misinterpretations as different layout direction when hit testing.

Tests added to tst_qwebview and tst_qgraphicswebview to verify
that the view actually is scrolled in the right direction.

* WidgetSupport/QStyleFacadeImp.cpp:
(WebKit::initGenericStyleOption):
* tests/qgraphicswebview/resources/scrolltest_page.html: Added.
* tests/qgraphicswebview/tst_qgraphicswebview.cpp:
(tst_QGraphicsWebView):
(tst_QGraphicsWebView::horizontalScrollbarTest):
* tests/qgraphicswebview/tst_qgraphicswebview.qrc:
* tests/qwebview/resources/scrolltest_page.html: Added.
* tests/qwebview/tst_qwebview.cpp:
(tst_QWebView):
(tst_QWebView::horizontalScrollbarTest):
* tests/qwebview/tst_qwebview.qrc:

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

8 years agoUnskip now passing ruby tests.
allan.jensen@digia.com [Mon, 7 Jan 2013 10:01:29 +0000 (10:01 +0000)]
Unskip now passing ruby tests.

Unreviewed gardening.

Verified to match rendering in other ports.

* platform/qt/TestExpectations:
* platform/qt/fast/ruby/ruby-beforeafter-expected.txt: Added.
* platform/qt/fast/ruby/ruby-empty-rt-expected.txt: Added.
* platform/qt/fast/ruby/ruby-length-expected.txt: Added.
* platform/qt/fast/ruby/ruby-run-break-expected.txt: Added.
* platform/qt/fast/ruby/ruby-runs-expected.txt: Added.
* platform/qt/fast/ruby/ruby-runs-spans-expected.txt: Added.
* platform/qt/fast/ruby/ruby-simple-expected.txt: Added.
* platform/qt/fast/ruby/ruby-simple-rp-expected.txt: Added.
* platform/qt/fast/ruby/ruby-trailing-expected.txt: Added.

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

8 years agoUnreviewed EFL gardening.
christophe.dumez@intel.com [Mon, 7 Jan 2013 09:18:12 +0000 (09:18 +0000)]
Unreviewed EFL gardening.

Mark 2 fast/regions ref tests as failing for EFL
port. Those tests were introduced in r138854.

* platform/efl/TestExpectations:

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

8 years agoUnreviewed EFL gardening.
christophe.dumez@intel.com [Mon, 7 Jan 2013 09:13:25 +0000 (09:13 +0000)]
Unreviewed EFL gardening.

Mark several webaudio tests as crashing on WK2 EFL
due to a regression in r138786.

* platform/efl-wk2/TestExpectations:

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

8 years agoCannot compile with ENABLE_SHADOW_DOM=0 and ENABLE_STYLE_SCOPED=1
hayato@chromium.org [Mon, 7 Jan 2013 09:07:01 +0000 (09:07 +0000)]
Cannot compile with ENABLE_SHADOW_DOM=0 and ENABLE_STYLE_SCOPED=1
https://bugs.webkit.org/show_bug.cgi?id=106207

Reviewed by Hajime Morita.

Guard StyleScopeResolver::addHostRule with SHADOW_DOM flag.

No tests, as no change in behavior.

* css/StyleScopeResolver.cpp:
(WebCore):

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

8 years agoMissing amendments to r138927. Amend Changelog to remove item about Timer.h, which...
jonlee@apple.com [Mon, 7 Jan 2013 08:12:33 +0000 (08:12 +0000)]
Missing amendments to r138927. Amend Changelog to remove item about Timer.h, which was not changed.

* rendering/RenderSnapshottedPlugIn.cpp: Rename stopAndRestartDelayTimer() to resetDelayTimer().
(WebCore::RenderSnapshottedPlugIn::updateSnapshot):
(WebCore::RenderSnapshottedPlugIn::handleEvent):
(WebCore::RenderSnapshottedPlugIn::resetDelayTimer):
* rendering/RenderSnapshottedPlugIn.h:

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

8 years agoShow label automatically for plug-ins of significant size
jonlee@apple.com [Mon, 7 Jan 2013 07:28:58 +0000 (07:28 +0000)]
Show label automatically for plug-ins of significant size
https://bugs.webkit.org/show_bug.cgi?id=106146
<rdar://problem/12783010>

Reviewed by Simon Fraser.

For significantly sized plug-ins, trigger a timer that displays the label automatically
without requiring the user to mouse over the element first. The trickiness of the logic
here is that there are two delays involved-- one for whether the user mouses over (shorter),
and one for when the label is shown automatically (longer). Mousing over a plug-in that is
marked to show it automatically should have the timer delay switched. And if the label
showed automatically, mousing in and out of the element should not change that label's
state.

* html/HTMLPlugInImageElement.cpp:
(WebCore): Add constants that determine whether the plug-in is of a significant size.
(WebCore::shouldPlugInShowLabelAutomatically): Based on the size of the frame view and the
clipped plug-in size, determine whether the label should show automatically. If the plug-in is
not contained within the bounds of the frame view, or is not at least as large as the threshold
size, then do not show the label automatically.
(WebCore::HTMLPlugInImageElement::subframeLoaderWillCreatePlugIn): After we've determined that
the plug-in should not auto-start, make a check to see if the label should show automatically.
Also, update some of the logging.
(WebCore::HTMLPlugInImageElement::subframeLoaderDidCreatePlugIn): Update the logging.

* platform/Timer.h:
(WebCore::DeferrableOneShotTimer::setDelay): Added to allow changing the delay of the timer. It
does not change any currently set timer, but should change the delay for the next one.

* rendering/RenderSnapshottedPlugIn.h: Rename the timer to m_showLabelDelayTimer since
it can fire for two different reasons. Add some additional state variables, and an enum
to explain why the label appeared.
* rendering/RenderSnapshottedPlugIn.cpp:
(WebCore): Change hoverDelay to showLabelAfterMouseOverDelay. Add a new, longer delay for
when the plug-in is supposed to auto-show the label.
(WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn): Initialize the member variables.
(WebCore::RenderSnapshottedPlugIn::updateSnapshot): When the snapshot image is updated,
start the timer to auto-show the label.
(WebCore::RenderSnapshottedPlugIn::paintLabel): Avoid painting the label only if the element
is not hovered and the user was mousing over the plug-in. Otherwise, the plug-in is supposed
to show automatically, and we should paint. Mark the renderer as having showed the label at
least once.
(WebCore::RenderSnapshottedPlugIn::showLabelDelayTimerFired): Renamed to reflect the
purpose of the timer.
(WebCore::RenderSnapshottedPlugIn::setShouldShowLabelAutomatically): Set the variable that
determines whether, in general, this plug-in should show the label automatically even
without user input.
(WebCore::RenderSnapshottedPlugIn::handleEvent): If the user mouses over the plug-in,
only reset the show timer is the label has never appeared before, or if it has, that
it's not because the label was supposed to show automatically. That is, if the label is
supposed to show automatically, the label should remain visible. This is also true when
the user mouses out of the plug-in. If the user moused out before the time had a chance
to fire and show the label for the first time, then we check to see if the plug-in should
be displaying the label automatically, and if so, restart the timer using the longer delay.
(WebCore::RenderSnapshottedPlugIn::stopAndRestartDelayTimer): Convenience function to
update the m_showReason variable, and reset the timer with the appropriate delay.

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

8 years agoHeap-use-after-free in DocumentLoader::stopLoading
inferno@chromium.org [Mon, 7 Jan 2013 07:15:33 +0000 (07:15 +0000)]
Heap-use-after-free in DocumentLoader::stopLoading
https://bugs.webkit.org/show_bug.cgi?id=103656

Reviewed by Eric Seidel.

Source/WebCore:

Test: fast/dom/ready-state-change-crash.html

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::prepareToStopParsing): Bail out
if the parser is detached due to mutation event.
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::stopLoading): Move the protectors for
frame and document loader to the start of the function. Call to
m_frame->loader()->stopLoading() can change document ready state
and fire mutation event which might blow the document loader from
underneath.

LayoutTests:

* fast/dom/ready-state-change-crash-expected.txt: Added.
* fast/dom/ready-state-change-crash.html: Added.

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

8 years agoSimplify slow case profiling
fpizlo@apple.com [Mon, 7 Jan 2013 06:34:31 +0000 (06:34 +0000)]
Simplify slow case profiling
https://bugs.webkit.org/show_bug.cgi?id=106208

Reviewed by Mark Rowe.

Removing the minimum execution ratio portion of slow case profiling, which allows
the removal of a field from CodeBlock. This appears to be performance neutral,
implying that the complexity incurred by the previous heuristic was purely
harmful: it made the code more complicated, and it made CodeBlock larger, without
resulting in any measurable benefits.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::likelyToTakeSlowCase):
(JSC::CodeBlock::couldTakeSlowCase):
(JSC::CodeBlock::likelyToTakeSpecialFastCase):
(JSC::CodeBlock::couldTakeSpecialFastCase):
(JSC::CodeBlock::likelyToTakeDeepestSlowCase):
(JSC::CodeBlock::likelyToTakeAnySlowCase):
* jit/JIT.cpp:
(JSC::JIT::privateCompile):
* runtime/Options.h:

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

8 years ago[Shadow DOM]: crash in WebCore::ElementShadow::setValidityUndetermined
tasak@google.com [Mon, 7 Jan 2013 06:10:27 +0000 (06:10 +0000)]
[Shadow DOM]: crash in WebCore::ElementShadow::setValidityUndetermined
https://bugs.webkit.org/show_bug.cgi?id=106203

Reviewed by Hajime Morita.

InsertionPoint should check whether ElementShadow is available or not
before invoking its methods.

No new tests. Webcomponents_fuzzer reported this bug. Would like to
use the fuzzer to check this issue.

* html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::getDistributedNodes):
(WebCore::InsertionPoint::childrenChanged):
(WebCore::InsertionPoint::insertedInto):
Added ifs to check whether ElementShadow is available or not before
invoking ElementShadow's methods, i.e. setValidityUndetermined,
invalidateDistribution, and ensureDistributionDocument.

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

8 years agoRenderImage should not use shadowAncestorNode
shinyak@chromium.org [Mon, 7 Jan 2013 06:03:17 +0000 (06:03 +0000)]
RenderImage should not use shadowAncestorNode
https://bugs.webkit.org/show_bug.cgi?id=97871

Reviewed by Dimitri Glazkov.

Since shadowAncestorNode() does not return 0, this if-condition will never hold.
shadowHost() should be used instead.

No change in logic, refactoring.

* rendering/RenderImage.cpp:
(WebCore::RenderImage::hostImageElement):

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

8 years agoDFG should inline closure calls
fpizlo@apple.com [Mon, 7 Jan 2013 02:24:58 +0000 (02:24 +0000)]
DFG should inline closure calls
https://bugs.webkit.org/show_bug.cgi?id=106067

Reviewed by Gavin Barraclough.

This adds initial support for inlining closure calls to the DFG. A call is considered
to be a closure call when the JSFunction* varies, but always has the same executable.
We already have closure call inline caching in both JITs, which works by checking that
the callee has an expected structure (as a cheap way of detecting that it is in fact
a JSFunction) and an expected executable. Closure call inlining uses profiling data
aggregated by CallLinkStatus to decide when to specialize the call to the particular
structure/executable, and inline the call rather than emitting a call sequence. When
we choose to do a closure inline rather than an ordinary inline, a number of things
change about how inlining is performed:

- The inline is guarded by a CheckStructure/CheckExecutable rather than a
  CheckFunction.

- Instead of propagating a constant value for the scope, we emit GetMyScope every time
  that the scope is needed, which loads the scope from a local variable. We do similar
  things for the callee.

- The prologue of the inlined code includes SetMyScope and SetCallee nodes to eagerly
  plant the scope and callee into the "true call frame", i.e. the place on the stack
  where the call frame would have been if the call had been actually performed. This
  allows GetMyScope/GetCallee to work as they would if the code wasn't inlined. It
  also allows for trivial handling of scope and callee for call frame reconstruction
  upon stack introspection and during OSR.

- A new node called GetScope is introduced, which just gets the scope of a function.
  This node has the expected CSE support. This allows for the
  SetMyScope(GetScope(@function)) sequence to set up the scope in the true call frame.

- GetMyScope/GetCallee CSE can match against SetMyScope/SetCallee, which means that
  the GetMyScope/GetCallee nodes emitted during parsing are often removed during CSE,
  if we can prove that it is safe to do so.

- Inlining heuristics are adjusted to grok the cost of inlining a closure. We are
  less likely to inline a closure call than we are to inline a normal call, since we
  end up emitting more code for closures due to CheckStructure, CheckExecutable,
  GetScope, SetMyScope, and SetCallee.

Additionally, I've fixed the VariableEventStream to ensure that we don't attempt to
plant Undefined into the true call frames. This was previously a harmless oversight,
but it becomes quite bad if OSR is relying on the scope/callee already having been
set and not subsequently clobbered by the OSR itself.

This is a ~60% speed-up on programs that frequently make calls to closures. It's
neutral on V8v7 and other major benchmark suites.

The lack of a definite speed-up is likely due the fact that closure inlining currently
does not do any cardinality [1] optimizations. We don't observe when a closure was
constructed within its caller, and so used the scope from its caller; and furthermore
we have no facility to detect when the scope is single. All scoped variable accesses
are assumed to be multiple instead. A subsequent step will be to ensure that closure
call inlining will be single and loving it.

[1] Single and loving it: Must-alias analysis for higher-order languages. Suresh
    Jagannathan, Peter Thiemann, Stephen Weeks, and Andrew Wright. In POPL '98.

* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::dump):
* bytecode/CallLinkStatus.h:
(JSC::CallLinkStatus::isClosureCall):
(CallLinkStatus):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::globalObjectFor):
(JSC):
* bytecode/CodeBlock.h:
(CodeBlock):
* bytecode/CodeOrigin.cpp:
(JSC::InlineCallFrame::dump):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGByteCodeParser.cpp:
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::handleCall):
(JSC::DFG::ByteCodeParser::emitFunctionChecks):
(JSC::DFG::ByteCodeParser::handleInlining):
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::pureCSE):
(CSEPhase):
(JSC::DFG::CSEPhase::getCalleeLoadElimination):
(JSC::DFG::CSEPhase::checkExecutableElimination):
(JSC::DFG::CSEPhase::getMyScopeLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGCapabilities.cpp:
(JSC::DFG::mightInlineFunctionForClosureCall):
* dfg/DFGCapabilities.h:
(DFG):
(JSC::DFG::mightInlineFunctionForClosureCall):
(JSC::DFG::canInlineFunctionForClosureCall):
(JSC::DFG::canInlineFunctionFor):
* dfg/DFGNode.h:
(Node):
(JSC::DFG::Node::hasExecutable):
(JSC::DFG::Node::executable):
* dfg/DFGNodeType.h:
(DFG):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGVariableEventStream.cpp:
(JSC::DFG::VariableEventStream::reconstruct):
* runtime/Options.h:
(JSC):

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

8 years agoBug 106177 - [GStreamer] Don't call gst_video_info_from_caps() with non-fixed caps
commit-queue@webkit.org [Sun, 6 Jan 2013 20:26:23 +0000 (20:26 +0000)]
Bug 106177 - [GStreamer] Don't call gst_video_info_from_caps() with non-fixed caps
https://bugs.webkit.org/show_bug.cgi?id=106177

Patch by Sebastian Dröge <sebastian.droege@collabora.co.uk> on 2013-01-06
Reviewed by Martin Robinson.

* platform/graphics/gstreamer/GStreamerVersioning.cpp:
(getVideoSizeAndFormatFromCaps):
Don't call gst_video_info_from_caps() with non-fixed caps as
it will cause assertions.

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

8 years agoHeap-use-after-free in WebCore::Document::implicitClose
inferno@chromium.org [Sun, 6 Jan 2013 18:53:15 +0000 (18:53 +0000)]
Heap-use-after-free in WebCore::Document::implicitClose
https://bugs.webkit.org/show_bug.cgi?id=105655

Reviewed by Eric Seidel.

Source/WebCore:

Test: fast/dom/window-load-crash.html

* dom/Document.cpp:
(WebCore::Document::implicitClose): RefPtr protect |this| document since it
can be destroyed in the dispatchWindowLoadEvent call.

LayoutTests:

* fast/dom/window-load-crash-expected.txt: Added.
* fast/dom/window-load-crash.html: Added.

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

8 years agoSeamless: IFrame's padding isn't taken into account when calculating its height.
mkwst@chromium.org [Sun, 6 Jan 2013 09:43:11 +0000 (09:43 +0000)]
Seamless: IFrame's padding isn't taken into account when calculating its height.
https://bugs.webkit.org/show_bug.cgi?id=106167

Reviewed by Eric Seidel.

Source/WebCore:

IFrames rendered seamlessly don't currently calculate their height
correctly when padding is applied to the frame itself. This patch adds
padding calculations to RenderIFrame::layoutSeamlessly to ensure that
the seamless frame is correctly sized.

* rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::layoutSeamlessly):

LayoutTests:

* fast/frames/seamless/seamless-border-padding-expected.txt:
    Adjusts the previously failing expectations to the correct values.

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

8 years agoREGRESSION: [Mac] Intermittent crashes in AXObjectCache::notificationPostTimerFired
rniwa@webkit.org [Sun, 6 Jan 2013 06:16:13 +0000 (06:16 +0000)]
REGRESSION: [Mac] Intermittent crashes in AXObjectCache::notificationPostTimerFired
https://bugs.webkit.org/show_bug.cgi?id=106106

Reviewed by Eric Seidel.

The crash was cause by notification post timer firing after the object destruction had taken place.
Clear the timer so that this won't happen. Also make sure the document doesn't go away while we're
going through m_notificationsToPost.

No new tests since crashes have been caught by various layout tests, and we can't easily
create a deterministic layout test for this particular crash.

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::notificationPostTimerFired):

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

8 years agoData flow paths that carry non-numbers, non-undefined, non-null values should not...
fpizlo@apple.com [Sun, 6 Jan 2013 02:59:41 +0000 (02:59 +0000)]
Data flow paths that carry non-numbers, non-undefined, non-null values should not cause subtractions and arithmetic additions (i.e. ++) to speculate double
https://bugs.webkit.org/show_bug.cgi?id=106190

Reviewed by Sam Weinig.

The problem is that the DFG logic for deciding when to speculate integer was
confusing the special case of ValueAdd (where non-numeric values should cause us
to not speculate integer, because we want to fall off into the generic case) with
the more normal case of ArithAdd and ArithSub (where we want to speculate integer
unless we have evidence that the operands are doubles, since the DFG doesn't have
generic handling of those operations). Prior to this change doing a - b where
either a or b were possibly non-numeric would always force the subtraction to be
done using doubles.

* dfg/DFGGraph.h:
(JSC::DFG::Graph::addSpeculationMode):
(Graph):
(JSC::DFG::Graph::valueAddSpeculationMode):
(JSC::DFG::Graph::arithAddSpeculationMode):
(JSC::DFG::Graph::addImmediateShouldSpeculateInteger):

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

8 years agoIndexedDB: Replace int64 with int64_t
commit-queue@webkit.org [Sun, 6 Jan 2013 02:45:36 +0000 (02:45 +0000)]
IndexedDB: Replace int64 with int64_t
https://bugs.webkit.org/show_bug.cgi?id=106189

Patch by Michael Pruett <michael@68k.org> on 2013-01-05
Reviewed by Sam Weinig.

Cleaning up coding inconsistencies, no change in behavior.

Tests: storage/indexeddb/*

* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::GetOperation::create):

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

8 years agoRemove WebProcessInitialization and NetworkProcessInitialization by putting the rest...
weinig@apple.com [Sun, 6 Jan 2013 02:26:45 +0000 (02:26 +0000)]
Remove WebProcessInitialization and NetworkProcessInitialization by putting the rest of initialization in ChildProcess derived classes
https://bugs.webkit.org/show_bug.cgi?id=106163

Reviewed by Darin Adler.

Adds ChildProcess::initializeProcessName() and the catchall ChildProcess::initializeProcess()
as the last pieces to have all the initialization from WebProcessInitialization and NetworkProcessInitialization
captured in ChildProcess and derived classes.

* NetworkProcess/NetworkProcess.cpp:
(WebKit::NetworkProcess::initializeProcessName):
(WebKit::NetworkProcess::initializeSandbox):
* NetworkProcess/NetworkProcess.h:
(NetworkProcess):
* NetworkProcess/mac/NetworkProcessInitialization.h: Removed.
* NetworkProcess/mac/NetworkProcessInitialization.mm: Removed.
* NetworkProcess/mac/NetworkProcessMac.mm:
(WebKit::NetworkProcess::initializeProcessName):
(WebKit::NetworkProcess::initializeSandbox):
* NetworkProcess/mac/NetworkProcessMainMac.mm:
(WebKit::NetworkProcessMain):
* PluginProcess/PluginProcess.cpp:
(WebKit::PluginProcess::initializeProcess):
* PluginProcess/PluginProcess.h:
(PluginProcess):
* PluginProcess/mac/PluginProcessMac.mm:
(WebKit::PluginProcess::platformInitializeProcess):
* PluginProcess/mac/PluginProcessMainMac.mm:
(WebKit::PluginProcessMain):
* PluginProcess/qt/PluginProcessQt.cpp:
(WebKit::PluginProcess::platformInitializeProcess):
(WebKit::PluginProcess::platformInitializePluginProcess):
* PluginProcess/unix/PluginProcessUnix.cpp:
(WebKit::PluginProcess::platformInitializeProcess):
* Shared/ChildProcess.cpp:
(WebKit::ChildProcess::initialize):
(WebKit::ChildProcess::initializeProcess):
(WebKit::ChildProcess::initializeProcessName):
(WebKit::ChildProcess::initializeSandbox):
(WebKit::ChildProcess::initializeConnection):
* Shared/ChildProcess.h:
(ChildProcess):
* SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
(WebKit::SharedWorkerProcessMain):
* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::initializeProcess):
(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::initializeSandbox):
* WebProcess/WebProcess.h:
(WebProcess):
* WebProcess/mac/WebProcessInitialization.h: Removed.
* WebProcess/mac/WebProcessInitialization.mm: Removed.
* WebProcess/mac/WebProcessMac.mm:
(WebKit::WebProcess::initializeSandbox):
(WebKit::WebProcess::initializeProcessName):
(WebKit::WebProcess::platformInitializeProcess):
* WebProcess/mac/WebProcessMainMac.mm:
(WebKit::WebProcessMain):
* WebProcess/mac/WebProcessServiceEntryPoints.mm:
(WebKit::WebProcessServiceEventHandler):
(initializeWebProcessForWebProcessServiceForWebKitDevelopment):

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

8 years agoAdd failing test expectations to some tile drawing tests on Mac WebKit2.
rniwa@webkit.org [Sun, 6 Jan 2013 00:03:25 +0000 (00:03 +0000)]
Add failing test expectations to some tile drawing tests on Mac WebKit2.
The failures are tracked by the bug 106187.

* platform/mac-wk2/TestExpectations:

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

8 years agoRevert an erroneous change from r138874.
rniwa@webkit.org [Sat, 5 Jan 2013 23:55:07 +0000 (23:55 +0000)]
Revert an erroneous change from r138874.

http/tests/misc/link-rel-icon-beforeload.html had been skipped prior to r138874
and it should continued to be.

* platform/mac-wk2/TestExpectations:

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

8 years agoAdd a flaky test expectation for the bug 106185.
rniwa@webkit.org [Sat, 5 Jan 2013 23:40:42 +0000 (23:40 +0000)]
Add a flaky test expectation for the bug 106185.

* platform/mac/TestExpectations:

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

8 years agoRemove RenderObjectChildList::beforePseudoElementRenderer and afterPseudoElementRenderer
esprehn@chromium.org [Sat, 5 Jan 2013 23:07:05 +0000 (23:07 +0000)]
Remove RenderObjectChildList::beforePseudoElementRenderer and afterPseudoElementRenderer
https://bugs.webkit.org/show_bug.cgi?id=106132

Reviewed by Abhishek Arya.

We no longer need the complicated traversals in beforePseudoElementRenderer
and afterPseudoElementRenderer since we can get the renderers of pseudo
elements through the node. This removes all that code and swaps it for
Element::pseudoElementRenderer.

This is possible now that r138850 removed all the now incorrect manual
management of pseudo element renderers from the render tree that was
left over from before the switch to DOM based pseudo elements.

No new tests, just refactoring.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* dom/Element.cpp:
(WebCore::Element::pseudoElementRenderer):
    Added, gets the renderer of the pseudo element by PseudoId if it
    exists.
* dom/Element.h:
(Element):
* dom/NodeRenderingTraversal.cpp:
(WebCore::NodeRenderingTraversal::nextSiblingSlow):
(WebCore::NodeRenderingTraversal::previousSiblingSlow):
* rendering/RenderCounter.cpp:
(WebCore::previousInPreOrder):
(WebCore::previousSiblingOrParent):
(WebCore::nextInPreOrder):
* rendering/RenderObject.h:
(WebCore::RenderObject::lastChild):
* rendering/RenderObjectChildList.cpp:
* rendering/RenderObjectChildList.h:
(RenderObjectChildList):
* rendering/RenderTreeAsText.cpp:
(WebCore::counterValueForElement):

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

8 years agoHeap-use-after-free in WebCore::RenderBlock::insertIntoTrackedRendererMaps
robert@webkit.org [Sat, 5 Jan 2013 21:23:07 +0000 (21:23 +0000)]
Heap-use-after-free in WebCore::RenderBlock::insertIntoTrackedRendererMaps
https://bugs.webkit.org/show_bug.cgi?id=105654

Reviewed by Simon Fraser.

Source/WebCore:

As with position:relative, position:sticky does not apply to table sections.

Test: fast/block/sticky-position-containing-block-crash.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::adjustRenderStyle):

LayoutTests:

* fast/block/sticky-position-containing-block-crash-expected.txt: Added.
* fast/block/sticky-position-containing-block-crash.html: Added.

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

8 years agoDeflaking http/tests/security/contentSecurityPolicy/report-uri-from-javascript.html
mkwst@chromium.org [Sat, 5 Jan 2013 21:20:54 +0000 (21:20 +0000)]
Deflaking http/tests/security/contentSecurityPolicy/report-uri-from-javascript.html
https://bugs.webkit.org/show_bug.cgi?id=106165

Reviewed by Adam Barth.

The original test chose its violation mechanism poorly. The existing injection file
injected two violations, which generated reports delivered in a random order. This
patch creates a new injection JavaScript file that injects a single image, generating
a single report. That should deflake the test.

* http/tests/security/contentSecurityPolicy/report-uri-from-javascript-expected.txt:
* http/tests/security/contentSecurityPolicy/report-uri-from-javascript.html:
* http/tests/security/contentSecurityPolicy/resources/inject-image.js:
    Adjusting the test to be deterministic.
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
    Unskipping test.

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

8 years agoCleanup: mayDisplaySeamlessWithParent -> mayDisplaySeamless_ly_WithParent
mkwst@chromium.org [Sat, 5 Jan 2013 21:07:04 +0000 (21:07 +0000)]
Cleanup: mayDisplaySeamlessWithParent -> mayDisplaySeamless_ly_WithParent
https://bugs.webkit.org/show_bug.cgi?id=106169

Reviewed by Eric Seidel.

This patch renames SecurityContext's 'm_mayDisplaySeamlessWithParent' to
'm_mayDisplaySeamlesslyWithParent'. Because adverbs matter.

* dom/Document.cpp:
(WebCore::Document::initSecurityContext):
(WebCore::Document::shouldDisplaySeamlesslyWithParent):
* dom/SecurityContext.cpp:
(WebCore::SecurityContext::SecurityContext):
* dom/SecurityContext.h:
(SecurityContext):

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

8 years ago[BlackBerry] SelectionHandler::selectAtPoint should use last fat finger result when...
commit-queue@webkit.org [Sat, 5 Jan 2013 21:02:17 +0000 (21:02 +0000)]
[BlackBerry] SelectionHandler::selectAtPoint should use last fat finger result when it is a link
https://bugs.webkit.org/show_bug.cgi?id=106141

Patch by Andy Chen <andchen@rim.com> on 2013-01-05
Reviewed by Rob Buis.

If last fat finger result is a link, select it directly when
SelectionHandler::selectAtPoint is called.
PR 263449
Internally reviewed by Mike Fenton and Yongxin Dai.

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::selectNodeIfFatFingersResultIsLink):
(WebKit):
(BlackBerry::WebKit::SelectionHandler::selectAtPoint):
* WebKitSupport/SelectionHandler.h:
(WebKit):
(SelectionHandler):

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

8 years agoseamless iframes don't take border into account properly and make the iframe too...
mkwst@chromium.org [Sat, 5 Jan 2013 20:50:43 +0000 (20:50 +0000)]
seamless iframes don't take border into account properly and make the iframe too small.
https://bugs.webkit.org/show_bug.cgi?id=90827

Reviewed by Ojan Vafai.

Source/WebCore:

Seamless IFrames were incorrectly calculating their width; borders and
padding of the child document were accidentally left out of the end
result. This tiny patch adds the border/padding width to the calculated
width for the seamless IFrame, bringing things back into line with
expectations.

Test: fast/frames/seamless/seamless-border-padding.html

* rendering/RenderIFrame.cpp:
(WebCore::RenderIFrame::minPreferredLogicalWidth):
(WebCore::RenderIFrame::maxPreferredLogicalWidth):
    Add borderAndPaddingLogicalWidth() to the result of both methods.

LayoutTests:

* fast/frames/seamless/seamless-border-padding-expected.txt: Added.
* fast/frames/seamless/seamless-border-padding.html: Added.
    This test checks the IFrame's handling of borders and padding.
    Things work correctly for width after this patch, but there are
    still issues with padding and height, which will be fixed in
    http://wkbug.com/106167

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

8 years agoOnly enable MinGW-w64 pow() workaround if needed
commit-queue@webkit.org [Sat, 5 Jan 2013 20:50:13 +0000 (20:50 +0000)]
Only enable MinGW-w64 pow() workaround if needed
https://bugs.webkit.org/show_bug.cgi?id=106099

Patch by Jonathan Liu <net147@gmail.com> on 2013-01-05
Reviewed by Filip Pizlo.

The pow() workaround is no longer needed in the latest version
of MinGW-w64.

* wtf/MathExtras.h:

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

8 years agoMediaControls::show() should make controls opaque
commit-queue@webkit.org [Sat, 5 Jan 2013 20:49:15 +0000 (20:49 +0000)]
MediaControls::show() should make controls opaque
https://bugs.webkit.org/show_bug.cgi?id=106034

Patch by Min Qin <qinmin@chromium.org> on 2013-01-05
Reviewed by Eric Carlson.

Source/WebCore:

When a video enters fullscreen, webkit starts a timer to make the control transparent when the timer expires.
If the user exits fullscreen while the timer expires, webkit will call mediaControls::show().
However, show() actually displays nothing as the control is transparent.
The user had to move his mouse outside the video rect and move it back in order to show the controls.
Simply clicking/moving the mouse inside the video rect will not make the control opaque.
Test: media/video-controls-visible-exiting-fullscreen.html

* html/shadow/MediaControls.cpp:
(WebCore::MediaControls::show):

LayoutTests:

Add tests to check that video controls are shown when exiting from fullscreen.

* media/video-controls-visible-exiting-fullscreen-expected.txt: Added.
* media/video-controls-visible-exiting-fullscreen.html: Added.

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

8 years ago[WK2] Exclude IndexedDB tests which use eventSender.beginDragWithFiles()
commit-queue@webkit.org [Sat, 5 Jan 2013 20:44:04 +0000 (20:44 +0000)]
[WK2] Exclude IndexedDB tests which use eventSender.beginDragWithFiles()
https://bugs.webkit.org/show_bug.cgi?id=106138

Patch by Michael Pruett <michael@68k.org> on 2013-01-05
Reviewed by Alexey Proskuryakov.

* platform/wk2/TestExpectations:

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

8 years agoIndexedDB: Migrate backend ObjectStore calls to use transaction id
alecflett@chromium.org [Sat, 5 Jan 2013 20:42:38 +0000 (20:42 +0000)]
IndexedDB: Migrate backend ObjectStore calls to use transaction id
https://bugs.webkit.org/show_bug.cgi?id=102741

Reviewed by Tony Chang.

Source/WebCore:

Fully migrate 8 core data calls (get, put, setIndexKeys, setIndexesReady,
openCursor, count, deleteRange, and clear) into IDBDatabaseBackendImpl,
combining common code from IDBObjectStoreBackendImpl and IDBIndexBackendImpl
in order to simplify the backend interface. These calls are now
implemented in terms of an int64_t-based transactionId rather than
an IDBTransactionBackendInterface, which simplifies the ownership model
between the frontend and the backend.

In addition, remove references to IDBObjectStoreBackend* from IDBIndex,
as it is no longer needed.

A few duplicate IDB_TRACE methods have been removed from wrapper methods
that call another method that already have IDB_TRACE's.

Finally, IDBCursorBackendImpl now no longer holds onto an
IDBObjectStoreBackendImpl*, so its destruction and member variables are
simplified, and reordered to match proper destruction order.

* Modules/indexeddb/IDBCursorBackendImpl.cpp: Reordered to account for proper destruction.
(WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
(WebCore::IDBCursorBackendImpl::~IDBCursorBackendImpl):
(WebCore::IDBCursorBackendImpl::deleteFunction):
* Modules/indexeddb/IDBCursorBackendImpl.h:
(WebCore::IDBCursorBackendImpl::create):
(IDBCursorBackendImpl):
* Modules/indexeddb/IDBDatabase.h:
(WebCore::IDBDatabase::backend):
(IDBDatabase):
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(GetOperation): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::*RetrievalOperation
(WebCore::GetOperation::create):
(WebCore::GetOperation::GetOperation):
(WebCore):
(PutOperation): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::*StorageOperation.
(WebCore::PutOperation::create):
(WebCore::PutOperation::PutOperation):
(SetIndexesReadyOperation): Moved from IDBObjectStoreBackendImpl::IndexesReadyOperation
(WebCore::SetIndexesReadyOperation::create):
(WebCore::SetIndexesReadyOperation::SetIndexesReadyOperation):
(OpenCursorOperation): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::Open*CursorOperation
(WebCore::OpenCursorOperation::create):
(WebCore::OpenCursorOperation::OpenCursorOperation):
(CountOperation): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::CountOperation
(WebCore::CountOperation::create):
(WebCore::CountOperation::CountOperation):
(DeleteRangeOperation): Moved from IDBObjectStoreBackendImpl::DeleteOperation
(WebCore::DeleteRangeOperation::create):
(WebCore::DeleteRangeOperation::DeleteRangeOperation):
(ClearOperation): Moved from IDBObjectStoreBackendImpl::ClearOperation
(WebCore::ClearOperation::create):
(WebCore::ClearOperation::ClearOperation):
(WebCore::IDBDatabaseBackendImpl::get): Combined from IDBObjectStoreBackendImpl/IDBIndexBackendImpl::get*
(WebCore::GetOperation::perform):
(WebCore::IDBDatabaseBackendImpl::put): Moved from IDBObjectStoreBackendImpl::put
(WebCore::PutOperation::perform):
(WebCore::IDBDatabaseBackendImpl::setIndexKeys): Moved from IDBObjectStoreBackendImpl::setIndexKeys
(WebCore::IDBDatabaseBackendImpl::setIndexesReady):
(WebCore::SetIndexesReadyOperation::perform):
(WebCore::IDBDatabaseBackendImpl::openCursor):
(WebCore::IDBDatabaseBackendImpl::count):
(WebCore::CountOperation::perform):
(WebCore::IDBDatabaseBackendImpl::deleteRange):
(WebCore::DeleteRangeOperation::perform):
(WebCore::IDBDatabaseBackendImpl::clear):
(WebCore::ClearOperation::perform):
(WebCore::OpenCursorOperation::perform):
* Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::IDBIndex):
(WebCore::IDBIndex::openCursor):
(WebCore::IDBIndex::count):
(WebCore::IDBIndex::openKeyCursor):
(WebCore::IDBIndex::get):
(WebCore::IDBIndex::getKey):
(WebCore::IDBIndex::backendDB):
(WebCore):
* Modules/indexeddb/IDBIndex.h:
(WebCore::IDBIndex::create):
(IDBIndex):
* Modules/indexeddb/IDBIndexBackendImpl.cpp:
(WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
* Modules/indexeddb/IDBIndexBackendImpl.h:
(WebCore::IDBIndexBackendImpl::create):
(WebCore::IDBIndexBackendImpl::openCursor):
(WebCore::IDBIndexBackendImpl::count):
(WebCore::IDBIndexBackendImpl::openKeyCursor):
(WebCore::IDBIndexBackendImpl::get):
(WebCore::IDBIndexBackendImpl::getKey):
(IDBIndexBackendImpl):
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::get):
(WebCore::IDBObjectStore::put):
(WebCore::IDBObjectStore::deleteFunction):
(WebCore::IDBObjectStore::clear):
(WebCore):
(WebCore::IDBObjectStore::createIndex):
(WebCore::IDBObjectStore::index):
(WebCore::IDBObjectStore::openCursor):
(WebCore::IDBObjectStore::count):
(WebCore::IDBObjectStore::backendDB):
* Modules/indexeddb/IDBObjectStore.h:
(WebCore::IDBObjectStore::id):
(IDBObjectStore):
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
(WebCore::IDBObjectStoreBackendImpl::createIndex):
(WebCore::IDBObjectStoreBackendImpl::loadIndexes):
(WebCore::IDBObjectStoreBackendImpl::generateKey):
(WebCore::IDBObjectStoreBackendImpl::updateKeyGenerator):
* Modules/indexeddb/IDBObjectStoreBackendImpl.h:
(WebCore::IDBObjectStoreBackendImpl::get):
(WebCore::IDBObjectStoreBackendImpl::put):
(WebCore::IDBObjectStoreBackendImpl::deleteFunction):
(WebCore::IDBObjectStoreBackendImpl::clear):
(WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
(WebCore::IDBObjectStoreBackendImpl::setIndexesReady):
(WebCore::IDBObjectStoreBackendImpl::openCursor):
(WebCore::IDBObjectStoreBackendImpl::count):
(IDBObjectStoreBackendImpl):
* Modules/indexeddb/IDBTransactionBackendImpl.h:
(WebCore::IDBTransactionBackendImpl::database):
(IDBTransactionBackendImpl):

Source/WebKit/chromium:

Fix a bug where an array was initialized with a large empty buffer,
clean up whitespace, and update to match signatures that changed
in WebCore.

* public/WebIDBDatabase.h:
(WebKit::WebIDBDatabase::clear):
* src/WebIDBDatabaseImpl.cpp:
(WebKit::WebIDBDatabaseImpl::put):
* src/WebIDBIndexImpl.cpp:
* tests/IDBDatabaseBackendTest.cpp:

LayoutTests:

Add additional count() tests for multi-entry indexes, not previously
covered.

* storage/indexeddb/index-multientry-expected.txt:
* storage/indexeddb/resources/index-multientry.js:
(.transaction.oncomplete):
(verifyCount.request.onsuccess.request.onsuccess):
(verifyCount.request.onsuccess):
(verifyCount):

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

8 years agoMax width of a floated container with floated children calculated incorrectly
robert@webkit.org [Sat, 5 Jan 2013 20:26:18 +0000 (20:26 +0000)]
Max width of a floated container with floated children calculated incorrectly
https://bugs.webkit.org/show_bug.cgi?id=47975

Source/WebCore:

Accumulate the width of child floats in the correct counter so that it gets reset
as expected when a subsequent sibling decides to clear it.

Reviewed by Levi Weintraub.

Test: fast/block/float/max-width-clear-float-with-overflow-hidden.html

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

LayoutTests:

Reviewed by Levi Weintraub.

* fast/block/float/max-width-clear-float-with-overflow-hidden-expected.html: Added.
* fast/block/float/max-width-clear-float-with-overflow-hidden.html: Added.

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

8 years agoIndexedDB: Stub out IDBDatabaseBackendInterface::createIndex/deleteIndex
alecflett@chromium.org [Sat, 5 Jan 2013 20:22:08 +0000 (20:22 +0000)]
IndexedDB: Stub out IDBDatabaseBackendInterface::createIndex/deleteIndex
https://bugs.webkit.org/show_bug.cgi?id=106117

Reviewed by Adam Barth.

Source/WebCore:

No new tests, these are just stubs for refactoring.

* Modules/indexeddb/IDBDatabaseBackendImpl.h:
(WebCore::IDBDatabaseBackendImpl::createIndex):
(WebCore::IDBDatabaseBackendImpl::deleteIndex):
(IDBDatabaseBackendImpl):
* Modules/indexeddb/IDBDatabaseBackendInterface.h:
(IDBDatabaseBackendInterface):

Source/WebKit/chromium:

Stubs for migration from WebIDBObjectStore.

* public/WebIDBDatabase.h:
(WebKit::WebIDBDatabase::createIndex):
(WebKit::WebIDBDatabase::deleteIndex):
(WebIDBDatabase):
* src/IDBDatabaseBackendProxy.cpp:
(WebKit::IDBDatabaseBackendProxy::createIndex):
(WebKit):
(WebKit::IDBDatabaseBackendProxy::deleteIndex):
* src/IDBDatabaseBackendProxy.h:
(IDBDatabaseBackendProxy):
* src/WebIDBDatabaseImpl.cpp:
(WebKit::WebIDBDatabaseImpl::createIndex):
(WebKit):
(WebKit::WebIDBDatabaseImpl::deleteIndex):
* src/WebIDBDatabaseImpl.h:
(WebIDBDatabaseImpl):
* tests/IDBDatabaseBackendTest.cpp:

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

8 years ago[Shadow DOM]: Some named elements in ShadowTree visible on nesting document level
tasak@google.com [Sat, 5 Jan 2013 20:11:47 +0000 (20:11 +0000)]
[Shadow DOM]: Some named elements in ShadowTree visible on nesting document level
https://bugs.webkit.org/show_bug.cgi?id=105617

Reviewed by Dimitri Glazkov.

Source/WebCore:

According to the shadow dom spec, the nodes and named elements are not
accessible using shadow host's document DOM tree accessors or with
Window object named properties. c.f.
https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#upper-boundary-encapsulation

Test: fast/dom/shadow/element-name-in-shadow.html

* dom/Element.h:
(WebCore::Element::updateName):
Check whether the given element is in a shadow dom tree or not. If in
a shadow dom tree, don't register the name.
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::insertedInto):
(WebCore::HTMLIFrameElement::removedFrom):
(WebCore::HTMLIFrameElement::parseAttribute):
HTMLIFrameElement doesn't use updateName. Instead the element uses
addExtraNamedItem and removeExtraNameItem in HTMLIFrameElement.cpp.

LayoutTests:

* fast/dom/shadow/element-name-in-shadow-expected.txt: Added.
* fast/dom/shadow/element-name-in-shadow.html: Added.

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

8 years agoUnreviewed GTK gardening
zandobersek@gmail.com [Sat, 5 Jan 2013 20:05:35 +0000 (20:05 +0000)]
Unreviewed GTK gardening

Skipping http/tests/multipart/multipart-wait-before-boundary.html for now,
the test is intermittently timing out on release builders despite being assigned
a SLOW expectation, thus unnecessarily painting bots red. A bug identifier is also
added for this test.

* platform/gtk/TestExpectations:

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

8 years agoImplement MediaStreamSource::setAudioFormat()
crogers@google.com [Sat, 5 Jan 2013 20:04:35 +0000 (20:04 +0000)]
Implement MediaStreamSource::setAudioFormat()
https://bugs.webkit.org/show_bug.cgi?id=106053

Reviewed by Kenneth Russell.

Source/Platform:

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

Source/WebCore:

MediaStreamAudioDestinationNode needs to be able to tell its associated
MediaStreamSource about the audio format (number of channels and sample-rate).

* Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
(WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
* platform/audio/AudioDestinationConsumer.h:
(AudioDestinationConsumer):
* platform/chromium/support/WebMediaStreamSource.cpp:
(ConsumerWrapper):
(WebKit::ConsumerWrapper::setFormat):
(WebKit):
* platform/mediastream/MediaStreamSource.cpp:
(WebCore::MediaStreamSource::setAudioFormat):
(WebCore):
* platform/mediastream/MediaStreamSource.h:
(MediaStreamSource):

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

8 years agoFix compilation of MathExtras.h with MinGW-w64
commit-queue@webkit.org [Sat, 5 Jan 2013 20:02:49 +0000 (20:02 +0000)]
Fix compilation of MathExtras.h with MinGW-w64
https://bugs.webkit.org/show_bug.cgi?id=106105

Patch by Jonathan Liu <net147@gmail.com> on 2013-01-05
Reviewed by Simon Hausmann.

The isfinite and isinf functions are required by wtf_pow but
not defined until after wtf_pow. Move wtf_pow to after
"using std::isfinite" and "using std::isinf" to fix compilation.

* wtf/MathExtras.h:
(wtf_pow):

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

8 years agoAdd function to move caret selection towards a point
commit-queue@webkit.org [Sat, 5 Jan 2013 20:01:16 +0000 (20:01 +0000)]
Add function to move caret selection towards a point
https://bugs.webkit.org/show_bug.cgi?id=105189

Patch by Chris Hopman <cjhopman@google.com> on 2013-01-05
Reviewed by Eric Seidel.

This function moves the selection to the corresponding point in the
rootEditableElement of the current selection. Used on Android for
the behavior of insertion handles (i.e. dragging the caret around).

* public/WebFrame.h:
(WebFrame):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::moveCaretSelectionTowardsWindowPoint):
(WebKit):
* src/WebFrameImpl.h:
(WebFrameImpl):

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

8 years agoUnreviewed EFL gardening.
christophe.dumez@intel.com [Sat, 5 Jan 2013 15:15:26 +0000 (15:15 +0000)]
Unreviewed EFL gardening.

Rebaseline several tests after r138838.

* platform/efl/fast/ruby/base-shorter-than-text-expected.png:
* platform/efl/fast/ruby/base-shorter-than-text-expected.txt:
* platform/efl/fast/table/038-vertical-expected.png:
* platform/efl/fast/table/038-vertical-expected.txt:
* platform/efl/fast/table/border-collapsing/004-vertical-expected.png:
* platform/efl/fast/table/border-collapsing/004-vertical-expected.txt:

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

8 years ago[Texmap] TextureMapperGL should reset ARRAY_BUFFER after painting.
zeno.albisser@digia.com [Sat, 5 Jan 2013 13:52:43 +0000 (13:52 +0000)]
[Texmap] TextureMapperGL should reset ARRAY_BUFFER after painting.
https://bugs.webkit.org/show_bug.cgi?id=106098

This fixes the issue of the address bar disappearing in
Qt/MiniBrowser after r138555.

Reviewed by Jocelyn Turcotte.

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

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