Timeline



May 12, 2014:

11:41 PM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
11:40 PM Changeset in webkit [168676] by mark.lam@apple.com
  • 9 edits
    8 adds in trunk

WebKit2 on iOS needs to capture the main thread's floating point environment.
<https://webkit.org/b/132755>

Reviewed by Geoffrey Garen.

Source/WebCore:
For iOS, WorkerThread::workerThread() expects to be able to initialize the
worker thread's floating point environment to be the same as the one in the
main thread. The FP env of the main thread is expected to have been captured
in the mainThreadFEnv global. On WebKit2 for iOS, we neglected to initialize
mainThreadFEnv.

We now introduce a FloatingPointEnvironment class that will encapsulate the main
thread (aka "UIThread") fenv, and we'll call FloatingPointEnv::saveMainThreadEnvironment()
from ChildProcess::platformInitialize() to ensure that the FloatingPointEnvironment
singleton instance is initialized properly for WebKit2.

In the ChildProcess::platformInitialize(), we also need to initialize the ARMv7
FP env to support denormalized numbers. We'll do this before calling
saveMainThreadEnvironment().

Tests: fast/workers/worker-floating-point.html

js/floating-point-denormalized.html

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/ios/wak/FloatingPointEnvironment.cpp: Added.

(WebCore::FloatingPointEnvironment::env):
(WebCore::FloatingPointEnvironment::FloatingPointEnvironment):
(WebCore::FloatingPointEnvironment::enableDenormalSupport):
(WebCore::FloatingPointEnvironment::saveMainThreadEnvironment):
(WebCore::FloatingPointEnvironment::propagateMainThreadEnvironment):

  • platform/ios/wak/FloatingPointEnvironment.h: Added.
  • platform/ios/wak/WebCoreThread.h:
  • platform/ios/wak/WebCoreThread.mm:

(RunWebThread):
(StartWebThread):

  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::workerThread):

Source/WebKit2:

  • Shared/mac/ChildProcessMac.mm:

(WebKit::ChildProcess::platformInitialize):

  • Call FloatingPointEnv::enableNeededFloatingPointModes() to initialize the ARMv7 FP env to support denormalized numbers.
  • Call FloatingPointEnv::saveMainThreadEnvironment() to capture the main thread fp env.

LayoutTests:

  • fast/workers/resources/worker-floating-point.js: Added.

(runTest1):
(doDiv):
(runTest2):

  • fast/workers/worker-floating-point-expected.txt: Added.
  • fast/workers/worker-floating-point.html: Added.
  • js/floating-point-denormalized-expected.txt: Added.
  • js/floating-point-denormalized.html: Added.
  • js/script-tests/floating-point-denormalized.js: Added.
11:38 PM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
11:14 PM Changeset in webkit [168675] by gyuyoung.kim@samsung.com
  • 2 edits
    3 adds in trunk/Source/WebKit2

[EFL][WK2] Fix ewk_view_navigation test in EWK2ViewTest
https://bugs.webkit.org/show_bug.cgi?id=132817

Reviewed by Dirk Schulze.

To load test html pages, call ewk_view_uri_set() instead of EWK2UnitTestServer.
Besides this patch adds test html page for ewk_view_navigation unit test.

  • UIProcess/API/efl/tests/resources/Page1.html: Added.
  • UIProcess/API/efl/tests/resources/Page2.html: Added.
  • UIProcess/API/efl/tests/resources/Page3.html: Added.
  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(TEST_F):

11:04 PM Changeset in webkit [168674] by krit@webkit.org
  • 22 edits
    6 adds in trunk

SVG root element accepts background color but fails to repaint it
https://bugs.webkit.org/show_bug.cgi?id=63153

Reviewed by Dean Jackson.

Source/WebCore:
This is back ported from Blink. Don't know the exact commit though.
The patch checks if the SVGSVGElement is an outermost root element.
If it is, mark the whole element for repaint.

Test: svg/custom/svg-root-background.html

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateHasBoxDecorations):
(WebCore::RenderBoxModelObject::updateFromStyle):

  • rendering/RenderBoxModelObject.h:
  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::RenderSVGRoot):
(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::paintReplaced):
(WebCore::RenderSVGRoot::clippedOverflowRectForRepaint):

This is a simple optimization by taking the necessary parts
from RenderReplaced and SVGRenderSupport.

  • rendering/svg/RenderSVGRoot.h:

LayoutTests:
Check that background color updates if the size of an outermost
root SVG element changes.

  • svg/custom/svg-root-background-expected.png: Added.
  • svg/custom/svg-root-background-expected.txt: Added.
  • svg/custom/svg-root-background.html: Added.
10:00 PM Changeset in webkit [168673] by Lucas Forschler
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

9:58 PM Changeset in webkit [168672] by Lucas Forschler
  • 1 copy in tags/Safari-538.34.3

New Tag.

9:53 PM Changeset in webkit [168671] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Unreviewed build fix after r168668.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Add

missing export symbols.

9:32 PM Changeset in webkit [168670] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

[iOS] Fixed items are sometimes clipped after rubber-banding
https://bugs.webkit.org/show_bug.cgi?id=132851
<rdar://problem/16870790>

Reviewed by Benjamin Poulain.

On iOS fixed-position layers would get clipped to the document rect,
but with rubber-banding, we can now have a custom fixed postion rect
that extends outside the document rect.

Another issue was that we would un-composite fixed elements sometimes
when scrolling fast, again because they could fall outside of the document rect.

A final issue was that pinching could reveal parts of fixed elements that should
lie outside the viewport, rather than clipping the layers.

Fix by converting both call points to use viewportConstrainedVisibleContentRect()
rather than viewportConstrainedExtentRect(). On non-iOS platforms these are
the same, but on iOS viewportConstrainedVisibleContentRect() uses the
custom fixed position rect, which is the correct rect to intersect with.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateCompositedBounds):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::requiresCompositingForPosition):

8:19 PM Changeset in webkit [168669] by jpfau@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed, fix mismatched test expectation.

  • webgl/many-contexts-expected.txt:
7:25 PM Changeset in webkit [168668] by jhoneycutt@apple.com
  • 31 edits
    7 adds in trunk

Don't dispatch 'beforeload' event inside FrameView::layout()

https://bugs.webkit.org/show_bug.cgi?id=132621
<rdar://problem/15661470>

This merges Blink revision 162073 with minor renaming and style
changes. From that commit:

Executing JavaScript code inside FrameView::layout() is problematic.
e.g. an assertion failure tested in fast/events/beforeload-assertion.html.
We should avoid it.

This CL makes 'beforeload' event dispatching for plugins and iframes asynchronous,
except plugin access from JavaScript code (HTMLPlugInElement::
renderWidgetForJSBindings).

Reviewed by Brent Fulgham.

Source/WebCore:
Tests: fast/events/beforeload-assertion.html

fast/events/beforeload-iframe-crash.html
fast/events/beforeload-input-time-crash.html

  • WebCore.exp.in:
  • dom/Document.cpp:

(WebCore::Document::updateLayoutIgnorePendingStylesheets):

  • dom/Document.h:
  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::renderWidgetForJSBindings):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::renderWidgetForJSBindings):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::renderWidgetForJSBindings):

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):
(WebCore::FrameView::reset):
(WebCore::FrameView::updateEmbeddedObjectsTimerFired):
(WebCore::FrameView::flushAnyPendingPostLayoutTasks):
(WebCore::FrameView::performPostLayoutTasks):

  • page/FrameView.h:
  • testing/Internals.cpp:

(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks):

  • testing/Internals.h:
  • testing/Internals.idl:

LayoutTests:

  • compositing/plugins/composited-plugin.html:
  • compositing/plugins/no-backing-store.html:
  • fast/dom/beforeload/flash-before-load.html:
  • fast/events/beforeload-assertion-expected.txt: Added.
  • fast/events/beforeload-assertion.html: Added.
  • fast/events/beforeload-iframe-crash-expected.txt: Added.
  • fast/events/beforeload-iframe-crash.html: Added.
  • fast/events/beforeload-input-time-crash-expected.txt: Added.
  • fast/events/beforeload-input-time-crash.html: Added.
  • http/tests/security/contentSecurityPolicy/1.1/plugintypes-notype-data.html:
  • http/tests/security/contentSecurityPolicy/1.1/plugintypes-nourl-blocked.html:
  • http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html:
  • http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html:
  • http/tests/security/contentSecurityPolicy/object-src-none-allowed.html:
  • http/tests/security/contentSecurityPolicy/object-src-none-blocked.html:
  • http/tests/security/contentSecurityPolicy/resources/multiple-iframe-plugin-test.js:

(testImpl.iframe.onload):
(testImpl):

  • http/tests/security/mixedContent/insecure-plugin-in-iframe.html:
  • platform/mac/plugins/supports-carbon-event-model.html:
  • plugins/get-user-agent-with-null-npp-from-npp-new.html:
  • plugins/mouse-click-plugin-clears-selection.html:
  • plugins/netscape-plugin-map-data-to-src.html:
  • plugins/no-mime-with-valid-extension.html:
  • plugins/plugin-initiate-popup-window.html:
  • plugins/windowless_plugin_paint_test.html:
  • resources/plugin.js: Added.

(runAfterPluginLoad):

6:29 PM Changeset in webkit [168667] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Adjust expected result for test added in r168666.

  • webgl/many-contexts-expected.txt:
6:07 PM Changeset in webkit [168666] by roger_fong@apple.com
  • 4 edits
    2 adds in trunk

Limit number of active graphics contexts per web process.
https://bugs.webkit.org/show_bug.cgi?id=132833.
<rdar://problem/16888459>

Reviewed by Dean Jackson.

Test: webgl/many-contexts.html

  • platform/graphics/GraphicsContext3D.h:
  • platform/graphics/mac/GraphicsContext3DMac.mm: Limit number of active contexts to 16.

(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::~GraphicsContext3D):

  • webgl/many-contexts-expected.txt: Added.
  • webgl/many-contexts.html: Added.
5:32 PM Changeset in webkit [168665] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Build fix fix.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::contentShadowLayerForFrameView):

5:29 PM Changeset in webkit [168664] by Brent Fulgham
  • 6 edits in trunk/Source/WebCore

DataDetectorUI doesn't update with resize
https://bugs.webkit.org/show_bug.cgi?id=132830
<rdar://problem/16871179>

Reviewed by Simon Fraser.

  • editing/Editor.cpp:

(WebCore::Editor::scanSelectionForTelephoneNumbers): Add public, no-argument
version that can be called after layout changes.
(WebCore::Editor::didLayout): Reprocess telephone number data
since Ranges will have changed.

  • editing/Editor.h:
  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::updateDataDetectorsForSelection): Added.

  • editing/FrameSelection.h:
  • page/FrameView.cpp:

(WebCore::FrameView::performPostLayoutTasks): Ask the FrameSelection to update the
Range information for selected phone numbers.

5:27 PM Changeset in webkit [168663] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed, EFL build fix since r168625.

  • UIProcess/efl/WebContextEfl.cpp:

(WebKit::WebContext::platformDefaultLocalStorageDirectory): Remove const keyword.

5:21 PM Changeset in webkit [168662] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix the iOS build.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::contentShadowLayerForFrameView):

5:14 PM Changeset in webkit [168661] by Simon Fraser
  • 5 edits in trunk/Source

[iOS WK2] Fuzzy tiles on some sites on loading
https://bugs.webkit.org/show_bug.cgi?id=132847
<rdar://problem/16816178>

Reviewed by Benjamin Poulain.

Source/WebCore:

Export WebCore::TileController::contentsScale() const

  • WebCore.exp.in:

Source/WebKit2:

PlatformCALayerRemoteTiledBacking overrode setContentsScale() but not contentsScale(),
causing us to early-return from GraphicsLayerCA::updateContentsScale() and leave the
scale wrong. Fix by overriding contentsScale() also.

  • WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.cpp:

(WebKit::PlatformCALayerRemoteTiledBacking::contentsScale):

  • WebProcess/WebPage/mac/PlatformCALayerRemoteTiledBacking.h:
5:13 PM Changeset in webkit [168660] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Add debug dumping for ViewportConfiguration
https://bugs.webkit.org/show_bug.cgi?id=132843

Reviewed by Benjamin Poulain.

Add some TextStream-based dumping for ViewportConfiguration.

  • page/ViewportConfiguration.cpp:

(WebCore::ViewportConfiguration::updateConfiguration):
(WebCore::ViewportConfigurationTextStream::ViewportConfigurationTextStream):
(WebCore::ViewportConfigurationTextStream::increaseIndent):
(WebCore::ViewportConfigurationTextStream::decreaseIndent):
(WebCore::dumpProperty):
(WebCore::ViewportConfigurationTextStream::writeIndent):
(WebCore::ViewportConfigurationTextStream::operator<<):
(WebCore::ViewportConfiguration::description):
(WebCore::ViewportConfiguration::dump):

  • page/ViewportConfiguration.h:
5:11 PM Changeset in webkit [168659] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168658.

5:05 PM Changeset in webkit [168658] by beidson@apple.com
  • 2 edits in trunk/Source/WebCore

Followup to "Teach Editor to support more direct replacement of a Node"
<rdar://problem/16817952> and https://bugs.webkit.org/show_bug.cgi?id=132834

Pair programmed and pair reviewed by Brady Eidson and Darin Adler.

  • editing/mac/EditorMac.mm:

(WebCore::maybeCopyNodeAttributesToFragment):
(WebCore::Editor::replaceNodeFromPasteboard):

4:31 PM Changeset in webkit [168657] by timothy_horton@apple.com
  • 4 edits in trunk/Source/WebKit2

Triple-buffer RemoteLayerBackingStore
https://bugs.webkit.org/show_bug.cgi?id=132786
<rdar://problem/16877498>

Reviewed by Simon Fraser.

We need three buffers because we're currently unable to synchronize
with the render server to swap when they're not in use, so we were
throwing surfaces away far too frequently.

This hugely reduces time spent in IOSurface::create on various repaint benchmarks.

  • Shared/mac/RemoteLayerBackingStore.h:

(WebKit::RemoteLayerBackingStore::hasFrontBuffer):
(WebKit::RemoteLayerBackingStore::volatility): Deleted.

  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::RemoteLayerBackingStore):
(WebKit::RemoteLayerBackingStore::clearBackingStore):
(WebKit::RemoteLayerBackingStore::encode):
(WebKit::RemoteLayerBackingStore::decode):
(WebKit::RemoteLayerBackingStore::swapToValidFrontBuffer):
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::applyBackingStoreToLayer):
(WebKit::RemoteLayerBackingStore::setBufferVolatility):
(WebKit::RemoteLayerBackingStore::Buffer::discard):
(WebKit::RemoteLayerBackingStore::setVolatility): Deleted.

  • Shared/mac/RemoteLayerBackingStoreCollection.mm:

(WebKit::RemoteLayerBackingStoreCollection::purgeabilityTimerFired):
Put the ShareableBitmap/IOSurface and a volatility bit in a Buffer struct.
Also factor out "throw away this buffer and put it in the pool" into Buffer::discard().
We keep a volatility bit because querying IOSurface purgeability is expensive,
and we have a guarantee that any changes will happen in the Web process
and go through this class (the lack of this guarantee in most cases is why I'm not
putting this bit in WebCore::IOSurface itself).

Make it so that each buffer's volatility can be adjusted individually
by setBufferVolatility(), and adopt in RemoteLayerBackingStoreCollection.

Add a third buffer, m_secondaryBackBuffer, which will swap with the back buffer
before swapping front and back if the back buffer (soon to be the front buffer)
is still in use by the render server. This means that we will almost never
have to throw away a surface because it's in use (and conversely never need
to make a new surface).

Adjust RemoteLayerBackingStoreCollection to make secondary back surfaces purgeable
more aggressively than others.

4:29 PM Changeset in webkit [168656] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit

Don't make a Frameworks symlink inside WebKitLegacy.framework
https://bugs.webkit.org/show_bug.cgi?id=132842
<rdar://problem/16886939>

Reviewed by Dan Bernstein.

  • WebKit.xcodeproj/project.pbxproj:
4:21 PM Changeset in webkit [168655] by Beth Dakin
  • 9 edits in trunk/Source/WebCore

Content shadow layer needs to move in sync with the content layer
https://bugs.webkit.org/show_bug.cgi?id=132841
-and corresponding-
<rdar://problem/16641115>

Reviewed by Simon Fraser.

Now that the root content layer moves a little bit (for y scroll positions between
0 and topContentInset), the shadow layer needs to move along with it since the
shadow layer should always have the same position as the root content layer.

Set the root state node’s shadow layer, and update the position whenever the root
content layer’s position is updated.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):
(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):

Fetch the compositor’s layerForContentShadow().

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::contentShadowLayerForFrameView):

  • page/scrolling/ScrollingCoordinator.h:

Hook up the contentShadowLayer in the state node.

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):
(WebCore::ScrollingStateScrollingNode::setContentShadowLayer):

Hook it up in the ScrollingTreeNode as well. Move the layer whenever the m
_scrolledContentsLayer is moved.

  • page/scrolling/ScrollingStateScrollingNode.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):

The shadow layer needs an anchor point now that we are moving it around.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

4:17 PM Changeset in webkit [168654] by ap@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r165972): Can't type into text fields in Flash
https://bugs.webkit.org/show_bug.cgi?id=132840
<rdar://problem/16671969>

Reviewed by Anders Carlsson.

  • UIProcess/API/mac/WKView.mm: (-[WKView inputContext]): Restore a function that

got accidentally lost when adding async text input code.

4:02 PM Changeset in webkit [168653] by Chris Fleizach
  • 8 edits in trunk/Source/WebKit2

AX: .js dialogs shown in unload while AX is running crash WebKit.
https://bugs.webkit.org/show_bug.cgi?id=123828

Reviewed by Anders Carlsson.

Utilize platform API to inform AX clients when the WebProcess will suspend and resume.
This allows us to avoid having special behavior for accessibility when the WebProcess needs
to wait on a reply.

  • Platform/IPC/Connection.cpp:

(IPC::Connection::waitForSyncReply):

  • Platform/IPC/Connection.h:
  • Platform/IPC/mac/ConnectionMac.cpp:

(IPC::Connection::willSendSyncMessage):
(IPC::Connection::didReceiveSyncReply):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::runBeforeUnloadConfirmPanel):
(WebKit::WebChromeClient::runJavaScriptAlert):
(WebKit::WebChromeClient::runJavaScriptConfirm):
(WebKit::WebChromeClient::runJavaScriptPrompt):
(WebKit::WebChromeClient::print):
(WebKit::WebChromeClient::exceededDatabaseQuota):

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):

4:01 PM Changeset in webkit [168652] by Lucas Forschler
  • 11 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168650.

3:57 PM Changeset in webkit [168651] by krit@webkit.org
  • 3 edits
    2 adds in trunk

<svg> with opacity and compositing double-applies its opacity
https://bugs.webkit.org/show_bug.cgi?id=116856

Reviewed by Simon Fraser.

Source/WebCore:
The opacity is applied by the compositor. However, all SVG elements
create transparency layers on their own to apply opacity. So did
SVGSVGElement.

Added a check if the current element has a compositing layer and skip
creating transparency layer if it has.

Test: svg/custom/composited-svg-with-opacity.html

  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

LayoutTests:
Test that opacity is not applied twice for composited inline SVG.

  • svg/custom/composited-svg-with-opacity-expected.html: Added.
  • svg/custom/composited-svg-with-opacity.html: Added.
3:47 PM Changeset in webkit [168650] by beidson@apple.com
  • 11 edits in trunk/Source/WebCore

Teach Editor to support more direct replacement of a Node
<rdar://problem/16817952> and https://bugs.webkit.org/show_bug.cgi?id=132834

Reviewed by Enrica Casucci.

The new method "Editor::replaceNodeFromPasteboard" has the intent that the new DocumentFragment
from the pasteboard is as similar to the old Node as possible.

In practice, the new DocumentFragment:
1 - Can represent a single node that's missing various attributes the original Node had.
2 - Can be an unwanted fragment of arbitrary depth when the replacement happens inside Mail.app

This fixes both of these issues.

Add a MailBlockquoteHandling enum class for various Editor operations to pass through to the
ReplaceSelectionCommand:

  • editing/Editor.cpp:

(WebCore::Editor::handleTextEvent):
(WebCore::Editor::pasteAsFragment):
(WebCore::Editor::pasteWithPasteboard):
(WebCore::Editor::replaceSelectionWithFragment):

  • editing/Editor.h:
  • dom/TextEvent.cpp:

(WebCore::TextEvent::createForPlainTextPaste):
(WebCore::TextEvent::createForFragmentPaste):
(WebCore::TextEvent::TextEvent):

  • dom/TextEvent.h:

(WebCore::TextEvent::mailBlockquoteHandling):

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand):
(WebCore::ReplaceSelectionCommand::doApply): Consider whether or not this particular Editor

operation was meant to give special consideration to Mail's Blockquotes.

  • editing/ReplaceSelectionCommand.h:
  • editing/efl/EditorEfl.cpp:

(WebCore::Editor::pasteWithPasteboard):

  • editing/ios/EditorIOS.mm:

(WebCore::Editor::pasteWithPasteboard):

  • editing/mac/EditorMac.mm:

(WebCore::Editor::pasteWithPasteboard):
(WebCore::Editor::readSelectionFromPasteboard):
(WebCore::maybeCopyNodeAttributesToFragment): If the new DocumentFragment represents a single HTML node

with the same tag name is the original HTML node, copy over most attributes from the original node.

(WebCore::Editor::replaceNodeFromPasteboard): Create the fragment, run it through maybeCopyNodeAttributesToFragment.

  • WebCore.exp.in:
3:21 PM Changeset in webkit [168649] by commit-queue@webkit.org
  • 14 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r168642.
https://bugs.webkit.org/show_bug.cgi?id=132839

Broke ARM build (Requested by jpfau on #webkit).

Reverted changeset:

"[Win] Enum type with value zero is compatible with void*,
potential cause of crashes."
https://bugs.webkit.org/show_bug.cgi?id=132772
http://trac.webkit.org/changeset/168642

3:19 PM Changeset in webkit [168648] by Brent Fulgham
  • 2 edits in trunk/Source/WebInspectorUI

[Win] Correct Cygwin Path Confusion in WebInspectorUI Build
https://bugs.webkit.org/show_bug.cgi?id=132826

Reviewed by Joseph Pecoraro.

  • Scripts/copy-user-interface-resources.pl: If the build is running

under Cygwin, be sure to use '/usr/bin/python', instead of just
'python' to avoid build errors.

2:38 PM Changeset in webkit [168647] by achristensen@apple.com
  • 25 edits
    1 delete in trunk/Source

Progress on web timing.
https://bugs.webkit.org/show_bug.cgi?id=132574

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • CMakeLists.txt:

Removed ResourceLoadTiming.cpp.

  • WebCore.exp.in:

Added linker symbols for ResourceLoadTiming.

  • WebCore.xcodeproj/project.pbxproj:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:

Removed ResourceLoadTiming.cpp.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForTiming):

  • inspector/protocol/Network.json:

Updated ResourceTiming structure.

  • loader/DocumentLoadTiming.cpp:

(WebCore::DocumentLoadTiming::setNavigationStart):

  • loader/DocumentLoadTiming.h: Deleted unused setNavigationStart function.
  • page/Performance.idl:

Updated spec URL.

  • page/PerformanceResourceTiming.cpp:

(WebCore::PerformanceResourceTiming::domainLookupStart):
(WebCore::PerformanceResourceTiming::domainLookupEnd):
(WebCore::PerformanceResourceTiming::connectStart):
(WebCore::PerformanceResourceTiming::secureConnectionStart):
(WebCore::PerformanceResourceTiming::responseEnd):
Updated ResourceLoadTiming member variable names.
(WebCore::PerformanceResourceTiming::responseStart):

  • page/PerformanceResourceTiming.h:
  • page/PerformanceResourceTiming.idl:

Deleted responseStart because it is not in the spec.

  • page/PerformanceTiming.cpp:

(WebCore::PerformanceTiming::domainLookupStart):
(WebCore::PerformanceTiming::domainLookupEnd):
(WebCore::PerformanceTiming::connectStart):
(WebCore::PerformanceTiming::secureConnectionStart):
(WebCore::PerformanceTiming::requestStart):
(WebCore::PerformanceTiming::responseStart):
Updated ResourceLoadTiming member variable names.
(WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute):
Use navigationStart as base for resource load times.

  • page/PerformanceTiming.idl:

Updated spec URL.

  • platform/network/HTTPParsers.h:

Removed unused class declarations.

  • platform/network/ResourceHandle.h:

Moved soup request time from ResourceLoadTiming to ResourceHandle.

  • platform/network/ResourceLoadTiming.cpp: Removed.
  • platform/network/ResourceLoadTiming.h:

(WebCore::ResourceLoadTiming::deepCopy):
(WebCore::ResourceLoadTiming::operator==):
(WebCore::ResourceLoadTiming::ResourceLoadTiming):
Updated ResourceLoadTiming member variable names.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::createNSURLConnection):
Collect timing data.

  • platform/network/mac/WebCoreResourceHandleAsDelegate.mm:

(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
Save timing data to a ResourceLoadTiming on the ResourceResponse.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::gotHeadersCallback):
(WebCore::restartedCallback):
(WebCore::milisecondsSinceRequest):
(WebCore::ResourceHandle::didStartRequest):
(WebCore::networkEventCallback):
(WebCore::createSoupMessageForHandleAndRequest):
(WebCore::ResourceHandle::sendPendingRequest):
Updated ResourceLoadTiming member variable names.
(WebCore::wroteBodyCallback): Deleted.

Source/WebKit2:

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ResourceResponse>::encode):
(IPC::ArgumentCoder<ResourceResponse>::decode):
Transfer ResourceLoadTiming values if they exist.

2:34 PM Changeset in webkit [168646] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Expose WebPage::usesEphemeralSession to the bundle
https://bugs.webkit.org/show_bug.cgi?id=132836

Reviewed by Anders Carlsson.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController _usesNonPersistentWebsiteDataStore]):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerPrivate.h:
2:18 PM Changeset in webkit [168645] by krit@webkit.org
  • 10 edits
    16 adds in trunk

SVG outline property is broken and inefficient
https://bugs.webkit.org/show_bug.cgi?id=113666

Reviewed by Dean Jackson.

Source/WebCore:
"[SVG2] css 'outline' property should apply to svg elements

The 'outline' property was only partially working in SVG before
this patch, this makes it work on text and text content child
elements too.

This makes SVG render the outlines as part of the foreground paint
phase.

Partly based on Florin Malita's webkit patch https://bugs.webkit.org/show_bug.cgi?id=113666#c12."

Tests: svg/custom/outline-stacking-expected.svg

svg/custom/outline-stacking.svg
svg/custom/rgba-color-outline.svg
svg/text/text-outline-expected.svg
svg/text/text-outline-rgba.html
svg/text/text-outline.html
svg/text/textpath-outline-expected.svg
svg/text/textpath-outline.svg
svg/text/tspan-multiple-outline.svg
svg/text/tspan-outline-2-expected.svg
svg/text/tspan-outline-2.svg
svg/text/tspan-outline-expected.svg
svg/text/tspan-outline.html

  • rendering/svg/RenderSVGContainer.cpp:

(WebCore::RenderSVGContainer::paint): Draw outline in forground

paint phase.

  • rendering/svg/RenderSVGImage.cpp:

(WebCore::RenderSVGImage::paint): Draw outline in forground

paint phase.

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced): Pass paint offset.

  • rendering/svg/RenderSVGShape.cpp:

(WebCore::RenderSVGShape::paint): Draw outline in forground

paint phase.

  • rendering/svg/RenderSVGText.cpp:

(WebCore::RenderSVGText::paint): Draw outline in forground

paint phase.

  • rendering/svg/SVGInlineFlowBox.cpp:

(WebCore::SVGInlineFlowBox::paint): Pass paint offset.

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::paint): Draw outline in forground

paint phase.

  • rendering/svg/SVGRootInlineBox.cpp:

(WebCore::SVGRootInlineBox::paint): Pass paint offset.

LayoutTests:
Test stacking for outline properties. 'outline' should
not draw above overlapping content anymore.
Test outline drawing for text elements.

  • svg/custom/outline-stacking-expected.svg: Added.
  • svg/custom/outline-stacking.svg: Added.
  • svg/custom/rgba-color-outline-expected.html: Added.
  • svg/custom/rgba-color-outline.svg: Added.
  • svg/text/text-outline-expected.svg: Added.
  • svg/text/text-outline-rgba-expected.html: Added.
  • svg/text/text-outline-rgba.html: Added.
  • svg/text/text-outline.html: Added.
  • svg/text/textpath-outline-expected.svg: Added.
  • svg/text/textpath-outline.svg: Added.
  • svg/text/tspan-multiple-outline-expected.html: Added.
  • svg/text/tspan-multiple-outline.svg: Added.
  • svg/text/tspan-outline-2-expected.svg: Added.
  • svg/text/tspan-outline-2.svg: Added.
  • svg/text/tspan-outline-expected.svg: Added.
  • svg/text/tspan-outline.html: Added.
2:07 PM Changeset in webkit [168644] by Lucas Forschler
  • 19 edits in branches/safari-538.34-branch/Source

Merged r168565.

2:06 PM Changeset in webkit [168643] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Layer for bottom overhang area needs to be offset by the topContentInset
https://bugs.webkit.org/show_bug.cgi?id=132835
-and corresponding-
<rdar://problem/16641115>

Reviewed by Simon Fraser.

Push this layer down by the topContentInset in addition to the root layer height,
footer height, and header height.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateLayerForBottomOverhangArea):

1:42 PM Changeset in webkit [168642] by commit-queue@webkit.org
  • 14 edits in trunk/Source/JavaScriptCore

[Win] Enum type with value zero is compatible with void*, potential cause of crashes.
https://bugs.webkit.org/show_bug.cgi?id=132772

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-05-12
Reviewed by Geoffrey Garen.

Using the MSVC compiler, an instance of an enum type with value zero, is compatible with void* (see bug 132683 for a code example).
This has caused crashes on Windows on two occasions (bug 132683, and bug 121001).
This patch tries to prevent these type of crashes by using a type with explicit constructors instead of void*.
The void* parameter in the loadDouble and storeDouble methods are replaced with TrustedImmPtr.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::loadDouble):
(JSC::MacroAssemblerARM::storeDouble):

  • assembler/MacroAssemblerARM64.h:

(JSC::MacroAssemblerARM64::loadDouble):
(JSC::MacroAssemblerARM64::storeDouble):

  • assembler/MacroAssemblerARMv7.h:

(JSC::MacroAssemblerARMv7::loadDouble):
(JSC::MacroAssemblerARMv7::storeDouble):

  • assembler/MacroAssemblerMIPS.h:

(JSC::MacroAssemblerMIPS::loadDouble):
(JSC::MacroAssemblerMIPS::storeDouble):

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::loadDouble):
(JSC::MacroAssemblerSH4::storeDouble):

  • assembler/MacroAssemblerX86.h:

(JSC::MacroAssemblerX86::storeDouble):

  • assembler/MacroAssemblerX86Common.h:

(JSC::MacroAssemblerX86Common::absDouble):
(JSC::MacroAssemblerX86Common::negateDouble):
(JSC::MacroAssemblerX86Common::loadDouble):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::silentFill):
(JSC::DFG::compileClampDoubleToByte):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::fillSpeculateDouble):
(JSC::DFG::SpeculativeJIT::compile):

  • jit/AssemblyHelpers.cpp:

(JSC::AssemblyHelpers::purifyNaN):

  • jit/JITInlines.h:

(JSC::JIT::emitLoadDouble):

  • jit/JITPropertyAccess.cpp:

(JSC::JIT::emitFloatTypedArrayGetByVal):

  • jit/ThunkGenerators.cpp:

(JSC::floorThunkGenerator):
(JSC::roundThunkGenerator):
(JSC::powThunkGenerator):

1:31 PM Changeset in webkit [168641] by jhoneycutt@apple.com
  • 6 edits in trunk

REGRESSION (r167818): editing/inserting/typing-space-to-trigger-smart-link.html fails on WebKit1 bots

<https://bugs.webkit.org/show_bug.cgi?id=132207>
<rdar://problem/16730393>

Source/WebCore:
Reverts the previous workaround in favor of a more specific fix for the
null dereference.

Reviewed by Darin Adler.

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
Check whether the run's start and end are still in the document, as
removeConflictingInlineStyleFromRun() may have removed them.

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::apply):
Reverted previous workaround.
(WebCore::ApplyEditCommand::ReentrancyGuard::isRecursiveCall): Deleted.
(WebCore::ApplyEditCommand::ReentrancyGuard::Scope::Scope): Deleted.
(WebCore::ApplyEditCommand::ReentrancyGuard::Scope::~Scope): Deleted.

LayoutTests:
Reviewed by Darin Adler.

  • editing/apply-style-iframe-crash-expected.txt:

Rebased test result has one fewer new line.

  • platform/mac-wk1/TestExpectations:

Remove test from list of expected failures.

1:16 PM Changeset in webkit [168640] by zandobersek@gmail.com
  • 10 edits in trunk/Source/WebCore

Clean up CrossThreadTask
https://bugs.webkit.org/show_bug.cgi?id=132800

Reviewed by Darin Adler.

Remove the createCallbackTask overloads and the related CrossThreadTask helper classes.

Instead, have one simple CrossThreadTask class that derives from ScriptExecutionContext::Task.
Its templated constructor takes in the method and the variadic pack of parameters. The cross-thread
copies of the parameters are then bound to that method and the resulting bind expression is used to
initialize the base class. The bind expression is constructed with a placeholder for the
ScriptExecutionContext* parameter that's provided through ScriptExecutionContext::Task::performTask().

  • Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:

(WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
(WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
(WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
(WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
(WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageError):
(WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):

  • Modules/websockets/WorkerThreadableWebSocketChannel.cpp:

(WebCore::WorkerThreadableWebSocketChannel::Peer::send):
(WebCore::WorkerThreadableWebSocketChannel::Peer::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessage):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveBinaryData):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didStartClosingHandshake):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didClose):
(WebCore::WorkerThreadableWebSocketChannel::Peer::didReceiveMessageError):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):

  • dom/CrossThreadTask.h:

(WebCore::CrossThreadTask::CrossThreadTask):
(WebCore::CrossThreadTask1::CrossThreadTask1): Deleted.
(WebCore::CrossThreadTask1::performTask): Deleted.
(WebCore::CrossThreadTask2::CrossThreadTask2): Deleted.
(WebCore::CrossThreadTask2::performTask): Deleted.
(WebCore::CrossThreadTask3::CrossThreadTask3): Deleted.
(WebCore::CrossThreadTask3::performTask): Deleted.
(WebCore::CrossThreadTask4::CrossThreadTask4): Deleted.
(WebCore::CrossThreadTask4::performTask): Deleted.
(WebCore::CrossThreadTask5::CrossThreadTask5): Deleted.
(WebCore::CrossThreadTask5::performTask): Deleted.
(WebCore::CrossThreadTask6::CrossThreadTask6): Deleted.
(WebCore::CrossThreadTask6::performTask): Deleted.
(WebCore::CrossThreadTask7::CrossThreadTask7): Deleted.
(WebCore::CrossThreadTask7::performTask): Deleted.
(WebCore::CrossThreadTask8::CrossThreadTask8): Deleted.
(WebCore::CrossThreadTask8::performTask): Deleted.
(WebCore::createCallbackTask): Deleted.

  • fileapi/FileReader.cpp:

(WebCore::FileReader::abort):

  • loader/WorkerThreadableLoader.cpp:

(WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
(WebCore::WorkerThreadableLoader::MainThreadBridge::destroy):
(WebCore::WorkerThreadableLoader::MainThreadBridge::cancel):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didSendData):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveResponse):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didReceiveData):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFinishLoading):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFail):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFailAccessControlCheck):
(WebCore::WorkerThreadableLoader::MainThreadBridge::didFailRedirectCheck):

  • loader/WorkerThreadableLoader.h:
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::removeRequestFromCache):
(WebCore::MemoryCache::removeRequestFromSessionCaches):

  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
(WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
(WebCore::WorkerMessagingProxy::workerObjectDestroyed):
(WebCore::WorkerMessagingProxy::connectToInspector):
(WebCore::WorkerMessagingProxy::disconnectFromInspector):
(WebCore::WorkerMessagingProxy::sendMessageToInspector):

1:13 PM Changeset in webkit [168639] by commit-queue@webkit.org
  • 15 edits
    3 copies
    3 adds in trunk

Implement EXT_shader_texture_lod in WebGL.
https://bugs.webkit.org/show_bug.cgi?id=128985
<rdar://problem/16111396>

Source/WebCore:
Based on Chromium patch by bajones@chromium.org.
https://src.chromium.org/viewvc/blink?revision=171465&view=revision

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-12
Reviewed by Dean Jackson.

Test: webgl/conformance/extensions/ext-shader-texture-lod.html

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:

Added new EXTShaderTextureLOD files.

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::toJS):
Added EXTShaderTextureLOD.

  • html/canvas/EXTShaderTextureLOD.cpp: Added.

(WebCore::EXTShaderTextureLOD::EXTShaderTextureLOD):
(WebCore::EXTShaderTextureLOD::~EXTShaderTextureLOD):
(WebCore::EXTShaderTextureLOD::getName):

  • html/canvas/EXTShaderTextureLOD.h: Added.
  • html/canvas/EXTShaderTextureLOD.idl: Added.
  • html/canvas/WebGLExtension.h:

Added EXTShaderTextureLODName.

  • html/canvas/WebGLObject.cpp:

Removed unused inclusion of EXTTextureFilterAnisotropic.h.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getExtension):
Added EXT_shader_texture_lod.

  • html/canvas/WebGLRenderingContext.h:

Added a EXTShaderTextureLOD member variable.

LayoutTests:
Based on Firefox patch by Vladimir Vukicevic.
https://bug965848.bugzilla.mozilla.org/attachment.cgi?id=8367994

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-12
Reviewed by Dean Jackson.

  • webgl/conformance/extensions/ext-shader-texture-lod-expected.txt: Added.
  • webgl/conformance/extensions/ext-shader-texture-lod.html: Added.
  • webgl/resources/webgl_test_files/conformance/extensions/ext-shader-texture-lod.html: Added.
12:54 PM Changeset in webkit [168638] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

REGRESSION(168625): [GTK] build broken due to WKContextSetLocalStorageDirectory
https://bugs.webkit.org/show_bug.cgi?id=132831

Unreviewed GTK build fix.

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-12

  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformDefaultLocalStorageDirectory):
This is now a static member function.

12:53 PM Changeset in webkit [168637] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

WKWebViewConfiguration should fill in the blanks
https://bugs.webkit.org/show_bug.cgi?id=132832
<rdar://problem/16886408>

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration _validate]):

  • UIProcess/API/Cocoa/WKWebViewConfigurationInternal.h:
12:47 PM Changeset in webkit [168636] by mhock@apple.com
  • 3 edits
    2 adds in trunk

Disallow drag and drop of non-displayable resources.
https://bugs.webkit.org/show_bug.cgi?id=132745
<rdar://problem/10562662>

Reviewed by Alexey Proskuryakov.

Source/WebCore:
Test: http/tests/security/drag-drop-local-file.html

  • page/DragController.cpp:

(WebCore::DragController::startDrag):

LayoutTests:

  • http/tests/security/drag-drop-local-file-expected.txt: Added.
  • http/tests/security/drag-drop-local-file.html: Added.
12:23 PM Changeset in webkit [168635] by fpizlo@apple.com
  • 7 edits
    9 adds in branches/ftlopt

jsSubstring() should be lazy
https://bugs.webkit.org/show_bug.cgi?id=132556

Reviewed by Andreas Kling.

Source/JavaScriptCore:
jsSubstring() is now lazy by using a special rope that is a substring instead of a
concatenation. To make this patch super simple, we require that a substring's base is
never a rope. Hence, when resolving a rope, we either go down a non-recursive substring
path, or we go down a concatenation path which may see exactly one level of substrings in
its fibers.

This is up to a 50% speed-up on microbenchmarks and a 10% speed-up on Octane/regexp.

Relanding this with assertion fixes.

  • heap/MarkedBlock.cpp:

(JSC::MarkedBlock::specializedSweep):

  • runtime/JSString.cpp:

(JSC::JSRopeString::visitFibers):
(JSC::JSRopeString::resolveRopeInternal8):
(JSC::JSRopeString::resolveRopeInternal16):
(JSC::JSRopeString::clearFibers):
(JSC::JSRopeString::resolveRope):
(JSC::JSRopeString::resolveRopeSlowCase8):
(JSC::JSRopeString::resolveRopeSlowCase):

  • runtime/JSString.h:

(JSC::JSRopeString::finishCreation):
(JSC::JSRopeString::append):
(JSC::JSRopeString::create):
(JSC::JSRopeString::offsetOfFibers):
(JSC::JSRopeString::fiber):
(JSC::JSRopeString::substringBase):
(JSC::JSRopeString::substringOffset):
(JSC::JSRopeString::notSubstringSentinel):
(JSC::JSRopeString::substringSentinel):
(JSC::JSRopeString::isSubstring):
(JSC::JSRopeString::setIsSubstring):
(JSC::jsSubstring):

  • runtime/RegExpMatchesArray.cpp:

(JSC::RegExpMatchesArray::reifyAllProperties):

  • runtime/StringPrototype.cpp:

(JSC::stringProtoFuncSubstring):

LayoutTests:
These tests get 35-50% faster.

  • js/regress/script-tests/substring-concat-weird.js: Added.

(foo):

  • js/regress/script-tests/substring-concat.js: Added.

(foo):

  • js/regress/script-tests/substring.js: Added.

(foo):

  • js/regress/substring-concat-expected.txt: Added.
  • js/regress/substring-concat-weird-expected.txt: Added.
  • js/regress/substring-concat-weird.html: Added.
  • js/regress/substring-concat.html: Added.
  • js/regress/substring-expected.txt: Added.
  • js/regress/substring.html: Added.
12:20 PM Changeset in webkit [168634] by Lucas Forschler
  • 1 edit in branches/safari-538.34-branch/Source/WebKit2/UIProcess/API/Cocoa/WKNavigationResponsePrivate.h

Branch build fix after r168581.

11:35 AM Changeset in webkit [168633] by Lucas Forschler
  • 3 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168582.

11:33 AM Changeset in webkit [168632] by Lucas Forschler
  • 6 edits
    1 copy in branches/safari-538.34-branch/Source/WebKit2

Merged r168581.

11:26 AM Changeset in webkit [168631] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

0.4% of PLT3 in JSCell::structure() below JSObject::visitChildren().
<https://webkit.org/b/132828>
<rdar://problem/16886285>

Reviewed by Michael Saboff.

  • runtime/JSObject.cpp:

(JSC::JSObject::visitButterfly):
(JSC::JSObject::visitChildren):

Use JSCell::structure(VM&) to reduce the number of hoops we jump
through to find Structures during marking.

11:19 AM Changeset in webkit [168630] by stavila@adobe.com
  • 4 edits in trunk/LayoutTests

fast/multicol/newmulticol/first-letter-create.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=132744

Reviewed by Antti Koivisto.

Modified test to not display anything as its only purpose is to ensure it doesn't crash.

  • TestExpectations:
  • fast/multicol/newmulticol/first-letter-create-expected.html:
  • fast/multicol/newmulticol/first-letter-create.html:
11:18 AM Changeset in webkit [168629] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

WKWebView should default to _backgroundExtendsBeyondPage = YES
https://bugs.webkit.org/show_bug.cgi?id=132829
<rdar://problem/16886364>

Reviewed by Beth Dakin.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

11:12 AM Changeset in webkit [168628] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

Pass local storage directory to StorageManager::create
https://bugs.webkit.org/show_bug.cgi?id=132827

Reviewed by Tim Horton.

Since we know the local storage directory at creation time and we know it never changes,
we can get rid of setLocalStorageDirectory and just pass the local storage directory at creation time.

  • UIProcess/Storage/LocalStorageDatabaseTracker.cpp:

(WebKit::LocalStorageDatabaseTracker::create):
(WebKit::LocalStorageDatabaseTracker::LocalStorageDatabaseTracker):
(WebKit::LocalStorageDatabaseTracker::~LocalStorageDatabaseTracker):
(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectory): Deleted.
(WebKit::LocalStorageDatabaseTracker::setLocalStorageDirectoryInternal): Deleted.

  • UIProcess/Storage/LocalStorageDatabaseTracker.h:
  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::create):
(WebKit::StorageManager::StorageManager):
(WebKit::StorageManager::setLocalStorageDirectory): Deleted.

  • UIProcess/Storage/StorageManager.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::WebContext):

11:08 AM Changeset in webkit [168627] by Lucas Forschler
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

11:00 AM Changeset in webkit [168626] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

WinCairo buildfix after r168611
https://bugs.webkit.org/show_bug.cgi?id=132825

Patch by Jozsef Berta <jberta.u-szeged@partner.samsung.com> on 2014-05-12
Reviewed by Darin Adler.

  • platform/network/curl/CurlDownload.cpp:

(WebCore::CurlDownloadManager::downloadThread):
(WebCore::CurlDownload::didReceiveHeader):
(WebCore::CurlDownload::didReceiveData):

10:56 AM Changeset in webkit [168625] by andersca@apple.com
  • 15 edits in trunk

Replace WKContextSetLocalStorageDirectory with a context configuration getter/setter
https://bugs.webkit.org/show_bug.cgi?id=132809

Reviewed by Dan Bernstein.

Source/WebKit2:

  • UIProcess/API/C/WKContext.cpp:

(WKContextSetLocalStorageDirectory): Deleted.

  • UIProcess/API/C/WKContextConfigurationRef.cpp:

(WKContextConfigurationCopyLocalStorageDirectory):
(WKContextConfigurationSetLocalStorageDirectory):

  • UIProcess/API/C/WKContextConfigurationRef.h:

Add getters and setters for the local storage directory.

  • UIProcess/API/C/WKContextPrivate.h:

Remove WKContextSetLocalStorageDirectory.

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(-[WKProcessGroup initWithInjectedBundleURL:]):
Call WebContext::applyPlatformSpecificConfigurationDefaults.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _initWithConfiguration:]):
Call WebContext::applyPlatformSpecificConfigurationDefaults (for now).

  • UIProcess/APIContextConfiguration.cpp:

(API::ContextConfiguration::webContextConfiguration):
Set the local storage. Also, call WebContext::applyPlatformSpecificConfigurationDefaults.

  • UIProcess/APIContextConfiguration.h:

(API::ContextConfiguration::injectedBundlePath):
This should be const.

(API::ContextConfiguration::localStorageDirectory):
(API::ContextConfiguration::setLocalStorageDirectory):
Add getter and setter.

  • UIProcess/Storage/StorageManager.cpp:

(WebKit::StorageManager::setLocalStorageDirectory):
ASSERT that the path isn't null.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::applyPlatformSpecificConfigurationDefaults):
New helper function that will fill in platform specific defaults for empty parameters.

(WebKit::WebContext::WebContext):
Get the local storage directory from the configuration.

(WebKit::WebContext::setLocalStorageDirectory): Deleted.
(WebKit::WebContext::localStorageDirectory): Deleted.
These are no longer needed.

  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformDefaultLocalStorageDirectory):
This should be a static member function.

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):
Set the local storage directory using WKContextConfigurationSetLocalStorageDirectory.

10:56 AM Changeset in webkit [168624] by Antti Koivisto
  • 3 edits
    2 adds in trunk

REGRESSION (r159560): Text clips on tile border if line-height < font-size
https://bugs.webkit.org/show_bug.cgi?id=132822

Reviewed by Andreas Kling.

Source/WebCore:

The first line of simple line layout run range was miscomputed.

Test: fast/text/simple-lines-range-low-line-height.html

  • rendering/SimpleLineLayoutResolver.h:

(WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):

Lines may overlap if line-height < font-size. Apply different adjustment when searching for range begin
so that overflowing earlier lines are taken into account.

(WebCore::SimpleLineLayout::RunResolver::rangeForRect):

LayoutTests:

  • fast/text/simple-lines-range-low-line-height-expected.html: Added.
  • fast/text/simple-lines-range-low-line-height.html: Added.
9:04 AM Changeset in webkit [168623] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Typo fix in generate-forwarding-headers
https://bugs.webkit.org/show_bug.cgi?id=132820

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-12
Reviewed by Anders Carlsson.

  • Scripts/generate-forwarding-headers.pl:

(collectFrameworkHeaderPaths):

9:00 AM Changeset in webkit [168622] by commit-queue@webkit.org
  • 18 edits in trunk/LayoutTests

[EFL] Rebaseline after adding tests in r168350
https://bugs.webkit.org/show_bug.cgi?id=132824

Unreviewed gardening.

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-05-12

  • platform/efl/TestExpectations:
  • platform/efl/fast/multicol/client-rects-expected.txt:
  • platform/efl/fast/multicol/client-rects-spanners-complex-expected.txt:
  • platform/efl/fast/multicol/client-rects-spanners-expected.txt:
  • platform/efl/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
  • platform/efl/fast/multicol/span/span-margin-collapsing-expected.txt:
  • platform/efl/svg/zoom/page/zoom-foreignObject-expected.txt:
  • platform/efl/svg/zoom/page/zoom-svg-as-relative-image-expected.png:
  • platform/efl/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.png:
  • platform/efl/svg/zoom/page/zoom-svg-through-object-with-absolute-size-2-expected.txt:
  • platform/efl/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.png:
  • platform/efl/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
  • platform/efl/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.png:
  • platform/efl/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:
  • platform/efl/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.png:
  • platform/efl/svg/zoom/page/zoom-svg-through-object-with-percentage-size-expected.txt:
  • platform/efl/svg/zoom/text/zoom-foreignObject-expected.txt:
8:23 AM Changeset in webkit [168621] by stavila@adobe.com
  • 4 edits
    2 adds in trunk

Invalid information remaining in lineToRegion map of RenderFlowThread.
https://bugs.webkit.org/show_bug.cgi?id=132690

Reviewed by Antti Koivisto.

Source/WebCore:
Test: fast/multicol/newmulticol/lines-region-map-crash.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::deleteLines):

  • rendering/RenderFlowThread.h:

LayoutTests:
Added test for crash caused by invalid information in the lineToRegion map.

  • fast/multicol/newmulticol/lines-region-map-crash-expected.html: Added.
  • fast/multicol/newmulticol/lines-region-map-crash.html: Added.
7:30 AM Changeset in webkit [168620] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/efl

[EFL][WK1] Enable region based columns
https://bugs.webkit.org/show_bug.cgi?id=132646

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-05-12
Reviewed by Gyuyoung Kim.

Enable new multi-column mode as it was enabled in WK2 (r168046).

  • ewk/ewk_view.cpp:

(_ewk_view_priv_new):

5:48 AM Changeset in webkit [168619] by pmolnar.u-szeged@partner.samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL] TLSErrors do not cause page load to fail when not ignored
https://bugs.webkit.org/show_bug.cgi?id=131104

Reviewed by Gyuyoung Kim.

Added EFL unit test for the bug https://bugs.webkit.org/show_bug.cgi?id=121548

  • UIProcess/API/efl/tests/test_ewk2_ssl.cpp: Added new test: ewk_ssl_bad_cert_redirect_https_to_http
4:58 AM Changeset in webkit [168618] by Csaba Osztrogonác
  • 2 edits in trunk/Source/JavaScriptCore

[cmake] Add missing FTL source files to the build system.

Patch by László Langó <llango.u-szeged@partner.samsung.com> on 2014-05-12
Reviewed by Csaba Osztrogonác.

  • CMakeLists.txt:
4:32 AM Changeset in webkit [168617] by Carlos Garcia Campos
  • 2 edits in trunk

Unreviewed. Bump version numbers.

  • Source/cmake/OptionsGTK.cmake:
2:35 AM WebKitGTK/KeepingTheTreeGreen edited by eocanha@igalia.com
(diff)
2:20 AM Changeset in webkit [168616] by commit-queue@webkit.org
  • 14 edits
    13 adds
    2 deletes in trunk/LayoutTests

[CSS Blending] Adjust blending pixel test expectations
https://bugs.webkit.org/show_bug.cgi?id=132737

Patch by Ion Rosca <Ion Rosca> on 2014-05-12
Reviewed by Mihnea Ovidenie.

Changing failing gif file with with one pixel base64 data and make them different for the two tests,
otherwise they might get cached and the gif animation is shared among multiple tests.
Changing the incorrect expectations for *gif-color-2* and adjusting test expectation for *gif-color-1*

  • css3/blending/background-blend-mode-gif-color-2.html:
  • css3/blending/background-blend-mode-gif-color.html:
  • css3/blending/resources/squares.gif: Removed.
  • platform/mac/css3/blending/background-blend-mode-gif-color-2-expected.png:
  • platform/mac/css3/blending/background-blend-mode-gif-color-expected.png:
  • platform/mac-wk1/TestExpectations:

The background-blend-mode-gif-color-2 does not pass on WK1: the git animation doesn't get started.

  • platform/mac/TestExpectations: Adding bugs to the excepted blending tests.

Adjusting this test to avoid scrollbars. Adjusting test expectations.

  • css3/blending/blend-mode-overflow-expected.txt: Removed.
  • css3/blending/blend-mode-overflow.html:
  • platform/mac/css3/blending/blend-mode-overflow-expected.png:
  • platform/mac/css3/blending/blend-mode-overflow-expected.txt:

Adding pixel expectations for newly added tests:

  • platform/mac/css3/blending/blend-mode-isolation-flags-append-non-stacking-context-blending-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-flags-append-stacking-context-blending-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-flags-remove-non-stacking-context-blending-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-flags-remove-stacking-context-blending-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-flags-turn-off-blending-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-flags-turn-off-blending-no-isolation-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-flags-turn-off-stacking-context-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-flags-turn-on-blending-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-flags-turn-on-stacking-context-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-turn-off-self-painting-layer-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-turn-off-self-painting-layer1-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-turn-off-self-painting-layer2-expected.png: Added.
  • platform/mac/css3/blending/blend-mode-isolation-turn-on-self-painting-layer-expected.png: Added.

Adjusting pixel tests after removing non separable blend modes.

  • platform/mac/css3/blending/blend-mode-simple-composited-expected.png:
  • platform/mac/css3/blending/blend-mode-simple-expected.png:
  • platform/mac/css3/blending/effect-background-blend-mode-expected.png:
  • platform/mac/css3/blending/effect-background-blend-mode-tiled-expected.png:
1:57 AM Changeset in webkit [168615] by Carlos Garcia Campos
  • 3 edits in trunk/Tools

REGRESSION(CMAKE): [GTK] JavaScriptCore API tests are not built anymore
https://bugs.webkit.org/show_bug.cgi?id=132739

Reviewed Anders Carlsson.

  • TestWebKitAPI/CMakeLists.txt: Add missing includes required by

the JSC unit tests.

  • TestWebKitAPI/PlatformGTK.cmake: Bring back JavaScriptCore unit tests.
1:46 AM Changeset in webkit [168614] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.4.2

Tagging the WebKitGTK+ 2.4.2 release

1:02 AM Changeset in webkit [168613] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4

Unreviewed. Update NEWS and Versions.m4 for 2.4.2 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Added release notes for 2.4.2.
12:23 AM Changeset in webkit [168612] by benjamin@webkit.org
  • 1 edit
    8 adds in trunk/Websites/webkit.org

Add potential illustrations for a potential future blog post about the viewport meta tag

  • blog-files/simple-viewport-configuration: Added.
  • blog-files/simple-viewport-configuration/860_viewport.html: Added.
  • blog-files/simple-viewport-configuration/blog_with_viewport.png: Added.
  • blog-files/simple-viewport-configuration/blog_without_viewport.png: Added.
  • blog-files/simple-viewport-configuration/default_viewport.html: Added.
  • blog-files/simple-viewport-configuration/horizontal_design.html: Added.
  • blog-files/simple-viewport-configuration/inspector.png: Added.
  • blog-files/simple-viewport-configuration/report_size.js: Added.
12:04 AM Changeset in webkit [168611] by zandobersek@gmail.com
  • 3 edits in trunk/Source/WebCore

Clean up MainThreadTask
https://bugs.webkit.org/show_bug.cgi?id=132799

Reviewed by Darin Adler.

Only have one simple MainThreadTask class that derives from std::function<void ()>.
Its templated constructor takes in the method and a variadic pack of parameters.
The cross-thread copies of the parameter are then bound to the given method through
std::bind(), with the resulting bind expression used to initialize the base
std::function<void ()> class.

The WebCore::callOnMainThread() functions and the helper classes are removed in favor
of passing MainThreadTask rvalues directly to WTF::callOnMainThread().

  • fileapi/AsyncFileStream.cpp:

(WebCore::AsyncFileStream::startOnFileThread):
(WebCore::AsyncFileStream::stopOnFileThread):
(WebCore::AsyncFileStream::getSizeOnFileThread):
(WebCore::AsyncFileStream::openForReadOnFileThread):
(WebCore::AsyncFileStream::openForWriteOnFileThread):
(WebCore::AsyncFileStream::readOnFileThread):
(WebCore::AsyncFileStream::writeOnFileThread):
(WebCore::AsyncFileStream::truncateOnFileThread):

  • platform/MainThreadTask.h:

(WebCore::MainThreadTask::MainThreadTask):
(WebCore::MainThreadTaskBase::MainThreadTaskBase): Deleted.
(WebCore::MainThreadTaskBase::~MainThreadTaskBase): Deleted.
(WebCore::MainThreadTask1::create): Deleted.
(WebCore::MainThreadTask1::MainThreadTask1): Deleted.
(WebCore::MainThreadTask2::create): Deleted.
(WebCore::MainThreadTask2::MainThreadTask2): Deleted.
(WebCore::MainThreadTask3::create): Deleted.
(WebCore::MainThreadTask3::MainThreadTask3): Deleted.
(WebCore::MainThreadTask4::create): Deleted.
(WebCore::MainThreadTask4::MainThreadTask4): Deleted.
(WebCore::MainThreadTask5::create): Deleted.
(WebCore::MainThreadTask5::MainThreadTask5): Deleted.
(WebCore::MainThreadTask6::create): Deleted.
(WebCore::MainThreadTask6::MainThreadTask6): Deleted.
(WebCore::MainThreadTask7::create): Deleted.
(WebCore::MainThreadTask7::MainThreadTask7): Deleted.
(WebCore::MainThreadTask8::create): Deleted.
(WebCore::MainThreadTask8::MainThreadTask8): Deleted.
(WebCore::executeMainThreadTask): Deleted.
(WebCore::callOnMainThread): Deleted.

12:01 AM Changeset in webkit [168610] by zandobersek@gmail.com
  • 6 edits
    1 delete in trunk/Source/WebCore

Simplify FileThread::Task usage
https://bugs.webkit.org/show_bug.cgi?id=132798

Reviewed by Darin Adler.

Remove the createFileThreadTask functions and the related FileThreadTask helper classes.

Instead, the FileThread::Task class now has a templated constructor that takes in a pointer
to the object instance, a method, and a variadic pack of parameters. The pointer and the
cross-thread copies of all the parameters are then bound to the given method through std::bind().

Instead of createFileThreadTask, std::make_unique<>() should be used to construct unique pointers
that wrap FileThread::Task objects.

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • fileapi/AsyncFileStream.cpp:

(WebCore::AsyncFileStream::create):
(WebCore::AsyncFileStream::stop):
(WebCore::AsyncFileStream::getSize):
(WebCore::AsyncFileStream::openForRead):
(WebCore::AsyncFileStream::openForWrite):
(WebCore::AsyncFileStream::close):
(WebCore::AsyncFileStream::read):
(WebCore::AsyncFileStream::write):
(WebCore::AsyncFileStream::truncate):

  • fileapi/FileThread.h:

(WebCore::FileThread::Task::Task):
(WebCore::FileThread::Task::performTask):
(WebCore::FileThread::Task::~Task): Deleted.

  • fileapi/FileThreadTask.h: Removed.

May 11, 2014:

11:30 PM Changeset in webkit [168609] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Expose a function to copy favicon data without image conversion.
https://bugs.webkit.org/show_bug.cgi?id=132805

Patch by Gordon Sheridan <gordon_sheridan@apple.com> on 2014-05-11
Reviewed by Darin Adler.

  • UIProcess/API/C/WKIconDatabase.cpp:

(WKIconDatabaseCopyIconDataForPageURL):
Add a function to copy the data from the image of a favicon for an associated page url.

  • UIProcess/API/C/WKIconDatabase.h:

Declare WKIconDatabaseCopyIconDataForPageURL.

11:21 PM Changeset in webkit [168608] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

REGRESSION(r168603): [GTK] Build broken.
https://bugs.webkit.org/show_bug.cgi?id=132810

Patch by Seongjun Kim <isAir@company100.com> on 2014-05-11
Reviewed by Carlos Garcia Campos.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(createDefaultWebContext):
Construct a WebContextConfiguration object and pass it to WebContext::create.

9:54 PM Changeset in webkit [168607] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Do not create a temporary string to append the SVGLength's unit
https://bugs.webkit.org/show_bug.cgi?id=132807

Reviewed by Geoffrey Garen.

  • svg/SVGLength.cpp:

(WebCore::lengthTypeToString):
The caller just append the string to a number string. The function
lengthTypeToString() was creating a new WTF::String from scratch,
copied the characters to make a new string, and destroyed the WTF::String.

Instead, just append the string literal.

9:23 PM Changeset in webkit [168606] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

CSS JIT: reduce cost of computing backtracking height
https://bugs.webkit.org/show_bug.cgi?id=132546

Patch by Yusuke Suzuki <Yusuke Suzuki> on 2014-05-11
Reviewed by Benjamin Poulain.

Because compiler previously compute backtracking height for
previous child fragment, by leveraging this, we can limit the
maxPrefixSize for computeBacktrackingHeightFromDescendant.

For example, consider selector "c>a>b>d>a>b e"'s descendant chain,
"c>a>b>d>a>b".

At the <a> position, we have matching pattern [b, a, d, b, a] and
calculate the backtracking height by following method.

pattern: [b, a, d, b, a]
candidate0: [b, a, d, b] => Not matched.
candidate1: [b, a, d] => Not matched.
candidate2: [b, a] => Matched against the pattern.

At this time, first candidate0's pattern size is pattern.size() - 1.
And get backtracking height from descendant 3, that is
pattern.size() - candidate.size(), 5 - 2.

And next, at the <c> position, we calcucate the backtracking height
for this pattern.

pattern: [b, a, d, b, a, c]
candidate0: [b, a, d, b, a] => Not matched.
candidate1: [b, a, d, b] => Not matched.
candidate2: [b, a, d] => Not matched.
candidate3: [b, a] => Not matched.
candidate4: [b] => Not matched.
candidate5: [] => Matched against the pattern.

Then, we get the backtracking height, which is 6 (6 - 0).
However, in the above case, we already know that attempts from candidate0
to candidate1 always fail, since parts of these are already tested at
the <b> position trial and we know they don't match.

So in this case, we should start this computation from candidate2,
such as,

pattern: [b, a, d, b, a, c]
candidate2: [b, a, d] => Not matched.
candidate3: [b, a] => Not matched.
candidate4: [b] => Not matched.
candidate5: [] => Matched against the pattern.

We can start computation with candidate size
pattern.size() - previousChildFragmentBacktrackingHeight.
In this example, pattern.size() is 6 and
previousChildFragmentBacktrackingHeight is 3, so candidate size is
3, that is candidate2.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::computeBacktrackingStartHeightFromDescendant):
(WebCore::SelectorCompiler::computeBacktrackingHeightFromDescendant):

5:08 PM Changeset in webkit [168605] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Remove local storage directory and sandbox extension from WebProcessCreationParameters
https://bugs.webkit.org/show_bug.cgi?id=132808

Reviewed by Beth Dakin.

  • Shared/WebProcessCreationParameters.cpp:

(WebKit::WebProcessCreationParameters::encode):
(WebKit::WebProcessCreationParameters::decode):

  • Shared/WebProcessCreationParameters.h:
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::createNewWebProcess):

  • WebProcess/cocoa/WebProcessCocoa.mm:

(WebKit::WebProcess::platformInitializeWebProcess):

4:44 PM Changeset in webkit [168604] by ljaehun.lim@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed, CMake build fix after r168603

Add APIContextConfiguration.cpp and WKContextConfigurationRef.cpp to the source list.

  • CMakeLists.txt:
3:12 PM Changeset in webkit [168603] by andersca@apple.com
  • 13 edits
    4 adds in trunk

Add a WKContextConfigurationRef object and make the injected bundle path part of the configuration
https://bugs.webkit.org/show_bug.cgi?id=132806

Source/WebKit2:
<rdar://problem/16830143>

Reviewed by Beth Dakin.

Many setters on WKContextRef really only make sense to set early on, so move to a pattern where we create a
configuration object, a WKContextConfiguration which WKContexts can be created from. Add the injected bundle path
as a configuration property. More setters will follow.

  • Shared/API/c/WKBase.h:

Add WKContextConfigurationRef.

  • Shared/APIObject.h:

Add ContextConfiguration enum declaration.

  • UIProcess/API/C/WKAPICast.h:

Handle WKContextConfigurationRef.

  • UIProcess/API/C/WKContext.cpp:

(WKContextCreate):
Create an empty WKContextConfigurationRef object and pass it to WKContextCreateWithConfiguration.

(WKContextCreateWithInjectedBundlePath):
Create a WKContextConfigurationRef object, set its bundle path and pass the configuration to WKContextCreateWithConfiguration.

(WKContextCreateWithConfiguration):
Convert the WKContextConfigurationRef object to a WebContextConfiguration and pass it to WebContext::create.

  • UIProcess/API/C/WKContext.h:

Add WKContextCreateWithConfiguration.

  • UIProcess/API/C/WKContextConfigurationRef.cpp: Added.

(WKContextConfigurationCreate):
Create an API::ContextConfiguration object.

(WKContextConfigurationCopyInjectedBundlePath):
Return the injected bundle path.

(WKContextConfigurationSetInjectedBundlePath):
Set the injected bundle path.

  • UIProcess/API/C/WKContextConfigurationRef.h: Added.

New C SPI header.

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(-[WKProcessGroup initWithInjectedBundleURL:]):
Construct a WebContextConfiguration object and pass it to WebContext::Create.

  • UIProcess/API/Cocoa/WKProcessPool.mm:

(-[WKProcessPool _initWithConfiguration:]):
Construct a WebContextConfiguration object and pass it to WebContext::Create.

  • UIProcess/APIContextConfiguration.cpp: Added.

New API::ContextConfiguration object.

(API::ContextConfiguration::webContextConfiguration):
Construct a WebContextConfiguration struct from our current configuration.

  • UIProcess/APIContextConfiguration.h: Added.
  • UIProcess/WebContext.cpp:

(WebKit::WebContext::create):
Pass the WebContextConfiguration to the constructor.

(WebKit::WebContext::WebContext):
Set the injected bundle path from the WebContextConfiguration object.

  • UIProcess/WebContext.h:

Change the WebContext constructor and create function to take a WebContextConfiguration object.

  • WebKit2.xcodeproj/project.pbxproj:

Add new files.

Tools:

Reviewed by Beth Dakin.

Migrate to WKContextConfiguration.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):

2:02 PM Changeset in webkit [168602] by Beth Dakin
  • 7 edits in trunk/Source/WebCore

Headers and footers are not positioned correctly with topContentInset
https://bugs.webkit.org/show_bug.cgi?id=132787
-and corresponding-
<rdar://problem/16641115>

Reviewed by Tim Horton.

Headers and footers need to take the inset into account, and they also need to
factor in the fact that the root layer moves around now too.

The existing yPositionForRootContentLayer() is actually the right calculation for
the header layer. The root content layer wants that value, but pushed down by the
header height. Now there are static functions for both of them and the footer to
avoid duplicated code in the three spots where we need this information.

  • page/FrameView.cpp:

(WebCore::FrameView::yPositionForHeaderLayer):
(WebCore::FrameView::yPositionForRootContentLayer):
(WebCore::FrameView::yPositionForFooterLayer):

  • page/FrameView.h:

Use the static functions to compute the layer positions.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::updateScrollPositionAfterAsyncScroll):

How did headers ever work with this bug?? I don’t know. We need to return that
layer.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::headerLayerForFrameView):

Use the static functions to compute the layer positions.

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateRootLayerPosition):
(WebCore::RenderLayerCompositor::updateLayerForHeader):
(WebCore::RenderLayerCompositor::updateLayerForFooter):

12:46 PM Changeset in webkit [168601] by Alan Bujtas
  • 16 edits in trunk/Source/WebCore

Subpixel rendering[iOS]: <select> decoration is misaligned when the renderer is on subpixel position.
https://bugs.webkit.org/show_bug.cgi?id=132779
<rdar://problem/16631071>

Reviewed by Simon Fraser.

Push <select> theme decoration's rect to device pixel position to ensure
that the theme bounds are aligned with the renderer's bounds. (in painting terms)
However, as the decoration code paints multiple items, they all need to use snapped
final coordinates for painting : tracked here https://bugs.webkit.org/show_bug.cgi?id=132780
This patch also changes the padding values for <select> [iOS] to compensate for the integer
truncation that happened before subpixel.

Not testable.

  • css/html.css:

(select):

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::paintMenuListButtonDecorations):

  • platform/efl/RenderThemeEfl.h:
  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::paintMenuListButtonDecorations):

  • platform/gtk/RenderThemeGtk.h:
  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paintDecorations):

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::paintMenuListButtonDecorations):

  • rendering/RenderThemeIOS.h:
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintMenuListButtonDecorations):

  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::paintMenuListButtonDecorations):

  • rendering/RenderThemeSafari.h:
  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::paintMenuList):
(WebCore::RenderThemeWin::paintMenuListButtonDecorations):

  • rendering/RenderThemeWin.h:
12:10 PM Changeset in webkit [168600] by zandobersek@gmail.com
  • 20 edits in trunk/Source/WebCore

Move Source/WebCore/workers/ code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=132401

Reviewed by Darin Adler.

Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/workers (and related places)
with std::unique_ptr.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):

  • bindings/js/JSWorkerGlobalScopeCustom.cpp:

(WebCore::JSWorkerGlobalScope::setTimeout):
(WebCore::JSWorkerGlobalScope::setInterval):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::create):

  • bindings/js/ScheduledAction.h:
  • page/DOMTimer.cpp:

(WebCore::DOMTimer::DOMTimer):
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):
(WebCore::DOMTimer::didStop):

  • page/DOMTimer.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::setTimeout):
(WebCore::DOMWindow::setInterval):

  • page/DOMWindow.h:
  • workers/WorkerEventQueue.h:
  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::WorkerGlobalScope):
(WebCore::WorkerGlobalScope::setTimeout):
(WebCore::WorkerGlobalScope::setInterval):

  • workers/WorkerGlobalScope.h:

(WebCore::WorkerGlobalScope::clearScript):

  • workers/WorkerLoaderProxy.h:
  • workers/WorkerMessagingProxy.h:
  • workers/WorkerRunLoop.cpp:

(WebCore::WorkerRunLoop::WorkerRunLoop):

  • workers/WorkerRunLoop.h:
  • workers/WorkerScriptLoader.cpp:

(WebCore::WorkerScriptLoader::loadSynchronously):
(WebCore::WorkerScriptLoader::loadAsynchronously):
(WebCore::WorkerScriptLoader::createResourceRequest):

  • workers/WorkerScriptLoader.h:
  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::workerThread):
(WebCore::WorkerThreadStartupData::create): Deleted.

  • workers/WorkerThread.h:
10:35 AM Changeset in webkit [168599] by mmaxfield@apple.com
  • 6 edits in trunk

[Mac] [iOS] Underlines are too low
https://bugs.webkit.org/show_bug.cgi?id=132770

Reviewed by Darin Adler.

Source/WebCore:
computeUnderlineOffset() inside InlineTextBox.cpp lowers underlines from text
baseline by a value that is proportional to the font size. However, this
lowering was done a second time in
GraphicsContext::computeLineBoundsAndAntialiasingModeForText(). This patch
removes this second, platform-dependent lowering.

This duplication was caused by merging iOS into open source, where iOS used
the GraphicsContext approach and open source used the InlineTextBox approach.

Covered by fast/css3-text/css3-text-decoration/text-decoration-thickness.html.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::computeLineBoundsAndAntialiasingModeForText): Remove
redundant lowering code

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration): Clean up textDecorationThickness
variable

LayoutTests:
See per-file descriptions.

  • fast/css3-text/css3-text-decoration/text-decoration-style-double-space-scales.html: Made

test more robust so it does not barely clip underlines, but rather gives them a couple
pixels of wiggle room.

  • fast/css3-text/css3-text-decoration/text-decoration-thickness.html: Not only does this test

underline thickness, but it also tests underline position. Updated this test to not expect
incorrect results.

2:42 AM Changeset in webkit [168598] by Antti Koivisto
  • 5 edits
    4 adds in trunk

Text with simple line layout not getting pushed below float when there is not enough space for it
https://bugs.webkit.org/show_bug.cgi?id=126991

Reviewed by Andreas Kling.

Source/WebCore:
Tests: fast/text/simple-lines-intruding-wide-float-dynamic.html

fast/text/simple-lines-intruding-wide-float.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::markLinesDirtyInBlockRange):

Invalidate the line layout path when floats change. We need to check SimpleLineLayout::canUseFor again as
intruding floats may make this flow ineligible to use the path.

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::floatingObjectSet):

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor):

Test the top positions of all floats for case that would push text below the float instead of just testing
the first line. We may have floats in the middle of the paragraph too.

LayoutTests:

  • fast/text/simple-lines-intruding-wide-float-dynamic-expected.html: Added.
  • fast/text/simple-lines-intruding-wide-float-dynamic.html: Added.
  • fast/text/simple-lines-intruding-wide-float-expected.html: Added.
  • fast/text/simple-lines-intruding-wide-float.html: Added.
12:47 AM WebKitGTK/2.4.x edited by Carlos Garcia Campos
(diff)
12:47 AM Changeset in webkit [168597] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.4/Source

Merge r168523 - jsmin.py license header confusing, mentions non-free license
https://bugs.webkit.org/show_bug.cgi?id=123665

Reviewed by Darin Adler.

Pull the most recent version from upstream, which has a clear
license.

Source/JavaScriptCore:

  • inspector/scripts/jsmin.py:

Source/WebInspectorUI:

  • Scripts/jsmin.py:
12:01 AM Changeset in webkit [168596] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

WinCairo crashes on acid3 test
https://bugs.webkit.org/show_bug.cgi?id=131364

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-05-11
Reviewed by Brent Fulgham.

When the 304 (Not-modified) response is received, the Curl backend should look up the cached response,
and call the client method didReceiveResponse with the cached response, instead of the 304 response.
Otherwise the response will contain an empty MIME type, which causes the request to be cancelled, and the client deleted.
When the Curl cache manager then accesses the client afterwards, it is deleted, and we crash.

  • platform/network/curl/CurlCacheManager.cpp:

(WebCore::CurlCacheManager::didReceiveResponse): Return early if request is cancelled.
(WebCore::CurlCacheManager::getCachedResponse): Added method to get cached response.

  • platform/network/curl/CurlCacheManager.h: Ditto.
  • platform/network/curl/ResourceHandleManager.cpp:

(WebCore::headerCallback): When 304 response is received, look up cached response, and use it.

May 10, 2014:

10:30 PM Changeset in webkit [168595] by Csaba Osztrogonác
  • 3 edits in trunk/Source/WebKit2

[WK2] URTBF after r168585.

  • Platform/IPC/Connection.h:
  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::terminate):

8:57 PM Changeset in webkit [168594] by timothy_horton@apple.com
  • 4 edits in trunk/Source

[WKWebView _updateScrollViewBackground] churns UI-and-CGColors while repainting
https://bugs.webkit.org/show_bug.cgi?id=132793
<rdar://problem/16877870>

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateScrollViewBackground]):
Don't bypass the cache and make a copy of the CGColor just to set its alpha.
Cache the last color and don't bother creating a UIColor nor updating the
color on our views if it hasn't changed.

  • WebCore.exp.in:

Export a Color convenience function.

8:32 PM Changeset in webkit [168593] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Implement -forwardingTargetForSelector on WKScrollViewDelegateForwarder
https://bugs.webkit.org/show_bug.cgi?id=132790
<rdar://problem/16877802>

Reviewed by Dan Bernstein.

  • UIProcess/ios/WKScrollView.mm:

(-[WKScrollViewDelegateForwarder forwardingTargetForSelector:]):
If only one of the delegates will respond to a selector,
we can return it from forwardingTargetForSelector: to avoid
NSInvocation overhead.

8:02 PM Changeset in webkit [168592] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] Some targets that link or soft-link WebKit.framework don't depend on it
https://bugs.webkit.org/show_bug.cgi?id=132776

Reviewed by Darin Adler.

  • WebKit2.xcodeproj/project.pbxproj:
7:14 PM Changeset in webkit [168591] by Martin Robinson
  • 3 edits in trunk

[GTK][CMake] Unable to do make install
https://bugs.webkit.org/show_bug.cgi?id=130188

Reviewed by Carlos Garcia Campos.

Only try to install the HTML documentation if the build is configured to generate it via
the new ENABLE_GTKDOC option. We cannot conditionally install something, so this allows us
to keep the HTML documentation directory as an installation source.

  • Source/PlatformGTK.cmake: The gtkdoc target now always builds HTML documentation, but

is only added to the default target when ENABLE_GTKDOC is turned on. gtkdoc-no-html is
now only added to the default target when DEVELOPER_MODE is true and ENABLE_GTKDOC is
false. When both ENABLE_GTKDOC and DEVELOPER_MODE are false, documentation isn't built at all.

  • Source/cmake/OptionsGTK.cmake: Add an ENABLE_GTKDOC option to the build.
6:35 PM Changeset in webkit [168590] by ryuan.choi@samsung.com
  • 7 edits in trunk/Source/WebKit2

[EFL][WK2] Move the ownership of EwkSettings from EwkView to EwkPageGroup
https://bugs.webkit.org/show_bug.cgi?id=132771

Reviewed by Gyuyoung Kim.

Moved ownership of EwkSettings from EwkView to EwkPageGroup.

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::EwkView):

  • UIProcess/API/efl/EwkView.h:

(EwkView::settings): Deleted.

  • UIProcess/API/efl/ewk_page_group.cpp:

(EwkPageGroup::EwkPageGroup):

  • UIProcess/API/efl/ewk_page_group_private.h:

(EwkPageGroup::settings):

  • UIProcess/API/efl/ewk_settings_private.h:
  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_settings_get):

5:53 PM Changeset in webkit [168589] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS WebKit2] REGRESSION (r168493): Canvasmark 2013 benchmark always hits the RELEASE_ASSERT in RemoteLayerTreeDrawingArea::flushLayers()
https://bugs.webkit.org/show_bug.cgi?id=132783
<rdar://problem/16877326>

Reviewed by Anders Carlsson.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::flush):
There's a race window between the BackingStoreFlusher sending the new
layer tree to the UI process and updating m_hasFlushed where we can
get a reply back in (on the Web process main thread) from the UI process
that we committed the new layer tree (didUpdate).
This will cause the RELEASE_ASSERT in flushLayers() to fire incorrectly.
Since the RELEASE_ASSERT is there only to avoid painting garbage, move
our code to set m_hasFlushed=true to after we finish calling CGContextFlush
on all of the contexts, instead of after we send the layer tree commit message,
which will remove the race entirely.

5:30 PM Changeset in webkit [168588] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

ASSERTION FAILED: !m_connection under RunJavaScriptAlert
https://bugs.webkit.org/show_bug.cgi?id=132792
<rdar://problem/16691138>

Reviewed by Dan Bernstein.

Detect if someone implementing a UI delegate method with a completion handler never calls the completion
handler and raise an exception instead of asserting.

  • UIProcess/Cocoa/UIDelegate.mm:

(WebKit::CompletionHandlerCallChecker::create):
(WebKit::CompletionHandlerCallChecker::~CompletionHandlerCallChecker):
(WebKit::CompletionHandlerCallChecker::didCallCompletionHandler):
(WebKit::CompletionHandlerCallChecker::CompletionHandlerCallChecker):
(WebKit::CompletionHandlerCallChecker::classImplementingDelegateMethod):
(WebKit::UIDelegate::UIClient::runJavaScriptAlert):
(WebKit::UIDelegate::UIClient::runJavaScriptConfirm):
(WebKit::UIDelegate::UIClient::runJavaScriptPrompt):

5:09 PM Changeset in webkit [168587] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Multiple svg-in-object-placeholder-height tests fail
https://bugs.webkit.org/show_bug.cgi?id=132791

3:42 PM Changeset in webkit [168586] by commit-queue@webkit.org
  • 20 edits in trunk/Source/WebCore

Unreviewed, rolling out r168578.
https://bugs.webkit.org/show_bug.cgi?id=132789

Speculative rollout since this appears to break PLT3.
(Requested by kling on #webkit).

Reverted changeset:

"Move Source/WebCore/workers/ code to std::unique_ptr"
https://bugs.webkit.org/show_bug.cgi?id=132401
http://trac.webkit.org/changeset/168578

3:41 PM Changeset in webkit [168585] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

Use xpc_connection_kill for killing child processes where appropriate
https://bugs.webkit.org/show_bug.cgi?id=132788
<rdar://problem/16664185>

Reviewed by Sam Weinig.

  • Platform/IPC/Connection.h:
  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::Connection::kill):

  • Platform/IPC/mac/XPCPtr.h:

(IPC::XPCPtr::operator bool):

  • Shared/ChildProcessProxy.cpp:

(WebKit::ChildProcessProxy::terminate):

3:17 PM Changeset in webkit [168584] by andersca@apple.com
  • 15 edits
    1 copy in trunk/Source/WebKit2

WebKit2 is leaking an xpc_connection per web process it creates
https://bugs.webkit.org/show_bug.cgi?id=132785
<rdar://problem/14912160>

Reviewed by Sam Weinig.

Introduce an IPC::XPCPtr smart pointer class and use it for XPC connections inside Connection::Identifier and Connection itself.

Make sure we always adopt any connections that are created.

  • DatabaseProcess/EntryPoint/mac/XPCService/DatabaseServiceEntryPoint.mm:

(DatabaseServiceInitializer):

  • NetworkProcess/EntryPoint/mac/XPCService/NetworkServiceEntryPoint.mm:

(WebKit::NetworkServiceInitializerDelegate::NetworkServiceInitializerDelegate):
(NetworkServiceInitializer):

  • Platform/IPC/Connection.h:

(IPC::Connection::Identifier::Identifier):
(IPC::Connection::xpcConnection):

  • Platform/IPC/mac/ConnectionMac.mm:

(IPC::Connection::platformInvalidate):
(IPC::Connection::platformInitialize):
(IPC::Connection::getAuditToken):

  • Platform/IPC/mac/XPCPtr.h: Added.

(IPC::XPCPtr::XPCPtr):
(IPC::XPCPtr::~XPCPtr):
(IPC::XPCPtr::get):
(IPC::XPCPtr::operator!):
(IPC::XPCPtr::operator=):
(IPC::adoptXPC):

  • PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:

(WebKit::PluginServiceInitializerDelegate::PluginServiceInitializerDelegate):
(PluginServiceInitializer):

  • Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm:

(WebKit::BootstrapMain):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:

(WebKit::XPCServiceInitializerDelegate::XPCServiceInitializerDelegate):
(WebKit::XPCServiceInitializer):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.mm:

(WebKit::XPCServiceInitializerDelegate::hasEntitlement):
(WebKit::XPCServiceInitializerDelegate::isClientSandboxed):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:

(WebKit::XPCServiceEventHandler):

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:

(WebKit::XPCServiceEventHandler):

  • UIProcess/Launcher/ProcessLauncher.cpp:

(WebKit::ProcessLauncher::didFinishLaunchingProcess):

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::connectToService):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:

(WebContentServiceInitializer):

1:51 PM Changeset in webkit [168583] by andersca@apple.com
  • 2 edits
    1 move in trunk/Source/WebKit2

Simplify createDataAvailableSource
https://bugs.webkit.org/show_bug.cgi?id=132782
<rdar://problem/16815202>

Reviewed by Sam Weinig.

  • Platform/IPC/mac/ConnectionMac.mm: Renamed from Source/WebKit2/Platform/IPC/mac/ConnectionMac.cpp.

Rename to make this Objective-C++ so we get the lambda-to-block conversion.

(IPC::createDataAvailableSource):
Make this a function template and just pass the function directly to dispatch_source_set_event_handler.

(IPC::Connection::open):
Use lambdas instead of WTF::bind, so we'll make sure the connection is kept alive.

  • WebKit2.xcodeproj/project.pbxproj:

Update for ConnectionMac.cpp to ConnectionMac.mm rename.

1:20 PM Changeset in webkit [168582] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Follow-up fix.

Reviewed by Darin Adler.

  • UIProcess/API/Cocoa/WKNavigationResponse.h:
  • UIProcess/API/Cocoa/WKNavigationResponse.mm:

(-[WKNavigationResponse isForMainFrame]):
Use a slightly better name.

1:11 PM Changeset in webkit [168581] by andersca@apple.com
  • 6 edits
    1 copy in trunk/Source/WebKit2

Make -[WKNavigationResponse frame] SPI and only expose -[WKNavigationResponse isMainFrame]
https://bugs.webkit.org/show_bug.cgi?id=132781
<rdar://problem/16868319>

Reviewed by Darin Adler.

  • UIProcess/API/Cocoa/WKNavigationResponse.h:
  • UIProcess/API/Cocoa/WKNavigationResponse.mm:

(-[WKNavigationResponse description]):
(-[WKNavigationResponse isMainFrameNavigation]):
(-[WKNavigationResponse _frame]):
(-[WKNavigationResponse frame]): Deleted.
(-[WKNavigationResponse setFrame:]): Deleted.

  • UIProcess/API/Cocoa/WKNavigationResponseInternal.h:
  • UIProcess/API/Cocoa/WKNavigationResponsePrivate.h: Added.
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::NavigationState::PolicyClient::decidePolicyForResponse):

  • WebKit2.xcodeproj/project.pbxproj:
12:50 PM Changeset in webkit [168580] by Darin Adler
  • 4 edits in trunk

REGRESSION (r166853): fast/preloader/document-write.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=130942

Reviewed by Anders Carlsson.

Source/WebCore:

  • style/StyleResolveTree.cpp:

(WebCore::Style::suspendMemoryCacheClientCalls): Use a RefPtr to the main
frame as a weak pointer to a Page that will work unless the page is destroyed.
The old code tried to do it with a RefPtr to a document, but as the FIXME
points out, that won't work if the document is disassociated with its frame.

LayoutTests:

  • platform/mac/TestExpectations: Turned the test back on.
12:48 PM Changeset in webkit [168579] by andersca@apple.com
  • 3 edits in trunk/Source/WebCore

Block exceptions when trying to convert attributed strings to RTF and RTFD
https://bugs.webkit.org/show_bug.cgi?id=132778
<rdar://problem/16675805>

Reviewed by Darin Adler.

When the iOS WebHTMLConverter was upstreamed, converting some attributed strings to RTF and RTFD
started throwing Objective-C exceptions (see <rdar://problem/16876920>).

In WebKit2, we now crash on unhandled exceptions so work around that crash by adding exception blocking macros.

  • editing/ios/EditorIOS.mm:

(WebCore::dataInRTFDFormat):
(WebCore::dataInRTFFormat):

  • editing/mac/EditorMac.mm:

(WebCore::dataInRTFDFormat):
(WebCore::dataInRTFFormat):

12:14 PM Changeset in webkit [168578] by zandobersek@gmail.com
  • 20 edits in trunk/Source/WebCore

Move Source/WebCore/workers/ code to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=132401

Reviewed by Andreas Kling.

Replace uses of OwnPtr and PassOwnPtr in code under Source/WebCore/workers (and related places)
with std::unique_ptr.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::setTimeout):
(WebCore::JSDOMWindow::setInterval):

  • bindings/js/JSWorkerGlobalScopeCustom.cpp:

(WebCore::JSWorkerGlobalScope::setTimeout):
(WebCore::JSWorkerGlobalScope::setInterval):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::create):

  • bindings/js/ScheduledAction.h:
  • page/DOMTimer.cpp:

(WebCore::DOMTimer::DOMTimer):
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::fired):
(WebCore::DOMTimer::didStop):

  • page/DOMTimer.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::setTimeout):
(WebCore::DOMWindow::setInterval):

  • page/DOMWindow.h:
  • workers/WorkerEventQueue.h:
  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::WorkerGlobalScope):
(WebCore::WorkerGlobalScope::setTimeout):
(WebCore::WorkerGlobalScope::setInterval):

  • workers/WorkerGlobalScope.h:

(WebCore::WorkerGlobalScope::clearScript):

  • workers/WorkerLoaderProxy.h:
  • workers/WorkerMessagingProxy.h:
  • workers/WorkerRunLoop.cpp:

(WebCore::WorkerRunLoop::WorkerRunLoop):

  • workers/WorkerRunLoop.h:
  • workers/WorkerScriptLoader.cpp:

(WebCore::WorkerScriptLoader::loadSynchronously):
(WebCore::WorkerScriptLoader::loadAsynchronously):
(WebCore::WorkerScriptLoader::createResourceRequest):

  • workers/WorkerScriptLoader.h:
  • workers/WorkerThread.cpp:

(WebCore::WorkerThread::WorkerThread):
(WebCore::WorkerThread::workerThread):
(WebCore::WorkerThreadStartupData::create): Deleted.

  • workers/WorkerThread.h:
2:30 AM Changeset in webkit [168577] by dino@apple.com
  • 10 edits
    13 adds in trunk

-webkit-filter prevents rendering at retina scale
https://bugs.webkit.org/show_bug.cgi?id=93471

Reviewed by Dirk Schulze.

Source/WebCore:
Implement 2x support for filters that go through
the -webkit-filter property. This includes all
shorthand filters, and any referenced SVG-style filters
(as long as they use only the supported subset of
operations - basically the same as is exposed for
the shorthands).

Tests: fast/hidpi/filters-blur.html

fast/hidpi/filters-hue-rotate.html
fast/hidpi/filters-invert.html
fast/hidpi/filters-multiple.html
fast/hidpi/filters-reference.html
fast/hidpi/filters-shadow.html

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::getUnmultipliedImageData): Scale the source rectangle if the method was
called using LogicalCoordinates.
(WebCore::ImageBuffer::getPremultipliedImageData): Ditto.
(WebCore::ImageBuffer::putByteArray): Ditto.

  • platform/graphics/filters/FEDropShadow.cpp:

(WebCore::FEDropShadow::platformApplySoftware): Make sure to scale the blur radius by the filter
resolution, and call the byte-array methods with the native coordinate system.

  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::FEGaussianBlur::calculateUnscaledKernelSize): Fix typo.
(WebCore::FEGaussianBlur::platformApplySoftware): Scale the kernel and paint rectangles
by the filter scale.

  • platform/graphics/filters/Filter.h:

(WebCore::Filter::Filter): Initialise the filter scale.
(WebCore::Filter::filterScale): New property which reflects the mapping between logical pixels
and device pixels.
(WebCore::Filter::setFilterScale):

  • platform/graphics/filters/FilterEffect.cpp:

(WebCore::FilterEffect::asImageBuffer): Make sure buffer creation takes scale into account.
(WebCore::FilterEffect::asUnmultipliedImage): Ditto.
(WebCore::FilterEffect::asPremultipliedImage): Ditto.
(WebCore::FilterEffect::copyImageBytes): Scale any incoming regions if they are talking about
device pixels rather than logical pixels.
(WebCore::FilterEffect::copyUnmultipliedImage): Ditto.
(WebCore::FilterEffect::copyPremultipliedImage): Ditto.
(WebCore::FilterEffect::createImageBufferResult): Take scale into account when creating byte array.
(WebCore::FilterEffect::createUnmultipliedImageResult): Ditto.
(WebCore::FilterEffect::createPremultipliedImageResult): Ditto.

  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::allocateBackingStoreIfNeeded): Pass filter scale into buffer creation.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateOrRemoveFilterEffectRenderer): Make sure to set the filter scale to
the device scale factor, and notice if we ever change scales.

LayoutTests:
New tests for filters at high resolutions. The image used
has a crosshatch at the pixel level, so any scale changes
are visible (such as going from 2x to 1x). All the actual
filters are no-ops so they can be compared to an element
without a filter in the -expected version.

  • fast/hidpi/filters-blur-expected.html: Added.
  • fast/hidpi/filters-blur.html: Added.
  • fast/hidpi/filters-hue-rotate-expected.html: Added.
  • fast/hidpi/filters-hue-rotate.html: Added.
  • fast/hidpi/filters-invert-expected.html: Added.
  • fast/hidpi/filters-invert.html: Added.
  • fast/hidpi/filters-multiple-expected.html: Added.
  • fast/hidpi/filters-multiple.html: Added.
  • fast/hidpi/filters-reference-expected.html: Added.
  • fast/hidpi/filters-reference.html: Added.
  • fast/hidpi/filters-shadow-expected.html: Added.
  • fast/hidpi/filters-shadow.html: Added.
  • fast/hidpi/resources/color-grid.png: Added.
  • fast/hidpi/resources/ensure-hidpi.js: Added.

(runTest):
(scaleFactorIsSet):

  • platform/mac-wk2/TestExpectations: Skip some of these on WK2 Mac.

See webkit.org/b/132766.

12:30 AM Changeset in webkit [168576] by commit-queue@webkit.org
  • 5 edits
    3 moves in trunk/Source/WebCore

[MediaStream] Rename NavigatorMediaStream as NavigatorUserMedia.
https://bugs.webkit.org/show_bug.cgi?id=132734

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-05-10
Reviewed by Eric Carlson.

Spec: http://www.w3.org/TR/mediacapture-streams/#navigatorusermedia

This patch replaces 'NavigatorMediaStream' with 'NavigatorUserMedia'
throughout the code to be consistent with W3C specifications.
Test cases remain the same as 'Navigator' implies 'NavigatorUserMedia'.

  • CMakeLists.txt: Compiles NavigatorUserMedia.cpp
  • DerivedSources.make: Compiles NavigatorUserMedia.idl
  • Modules/mediastream/NavigatorMediaStream.cpp: Removed.
  • Modules/mediastream/NavigatorMediaStream.h: Removed.
  • Modules/mediastream/NavigatorMediaStream.idl: Removed.
  • Modules/mediastream/NavigatorUserMedia.cpp: Added.

(WebCore::NavigatorUserMedia::NavigatorUserMedia):
(WebCore::NavigatorUserMedia::~NavigatorUserMedia):
(WebCore::NavigatorUserMedia::webkitGetUserMedia):

  • Modules/mediastream/NavigatorUserMedia.h: Added.
  • Modules/mediastream/NavigatorUserMedia.idl: Added.
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSNavigatorCustom.cpp:

(WebCore::JSNavigator::webkitGetUserMedia): NavigatorUserMedia
class is used instead of NavigatorMediaStream.

12:23 AM Changeset in webkit [168575] by Alan Bujtas
  • 39 edits in trunk

Subpixel rendering: Empty rects should remain empty after integrally enclosing them.
https://bugs.webkit.org/show_bug.cgi?id=132753
<rdar://problem/16846801>

Reviewed by Simon Fraser.

This patch ensures that empty LayoutRects remain empty after converting to integral enclosing rect.
LayoutRects with fractional position get expanded even if they are empty. This makes rectangle
operations unreliable and can result in undesired side effects.

Source/WebCore:
No testable/covered by existing tests.

  • platform/graphics/LayoutRect.cpp:

(WebCore::enclosingIntRect):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::computeRectForReplacementMarker):
(WebCore::integralEnclosingRectForSelection): Deleted.

LayoutTests:
1px -> 0px progressions.

  • platform/mac-mountainlion/fast/forms/fieldset-align-expected.txt:
  • platform/mac-mountainlion/fast/forms/textAreaLineHeight-expected.txt:
  • platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-rtl-extend-line-backward-p-expected.txt:
  • platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-br-expected.txt:
  • platform/mac/editing/selection/vertical-rl-rtl-extend-line-forward-p-expected.txt:
  • platform/mac/fast/css/css1_forward_compatible_parsing-expected.txt:
  • platform/mac/fast/css/first-line-text-decoration-expected.txt:
  • platform/mac/fast/css/h1-in-section-elements-expected.txt:
  • platform/mac/fast/css/word-space-extra-expected.txt:
  • platform/mac/fast/encoding/utf-16-big-endian-expected.txt:
  • platform/mac/fast/encoding/utf-16-little-endian-expected.txt:
  • platform/mac/fast/forms/fieldset-align-expected.txt:
  • platform/mac/fast/forms/textAreaLineHeight-expected.txt:
  • platform/mac/fast/inline/continuation-outlines-expected.txt:
  • platform/mac/fast/inline/continuation-outlines-with-layers-expected.txt:
  • platform/mac/fast/inline/outline-continuations-expected.txt:
  • platform/mac/fast/invalid/nestedh3s-expected.txt:
  • platform/mac/fast/multicol/client-rects-expected.txt:
  • platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt:
  • platform/mac/fast/multicol/client-rects-spanners-expected.txt:
  • platform/mac/fast/multicol/newmulticol/client-rects-expected.txt:
  • platform/mac/fast/multicol/span/span-as-immediate-columns-child-dynamic-expected.txt:
  • platform/mac/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
  • platform/mac/fast/multicol/span/span-margin-collapsing-expected.txt:
  • platform/mac/fast/overflow/clip-rects-fixed-ancestor-expected.txt:
  • platform/mac/fast/table/014-expected.txt:
  • platform/mac/fast/text/international/bidi-LDB-2-HTML-expected.txt:
  • platform/mac/mathml/presentation/mo-stretch-expected.txt:
  • platform/mac/svg/custom/use-font-face-crash-expected.txt:
  • platform/mac/svg/wicd/rightsizing-grid-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug113235-1-expected.txt:
  • platform/mac/tables/mozilla/bugs/bug113235-2-expected.txt:
  • platform/mac/tables/mozilla/other/wa_table_thtd_rowspan-expected.txt:
  • platform/mac/tables/mozilla/other/wa_table_tr_align-expected.txt:
12:17 AM Changeset in webkit [168574] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

REGRESSION(CMAKE): [GTK] WebKit2 C API tests are not longer built in the same binary
https://bugs.webkit.org/show_bug.cgi?id=132685

Reviewed by Martin Robinson.

Use a single TestWebKit2 binary for all WebKit2 C API tests.

  • TestWebKitAPI/PlatformGTK.cmake:

May 9, 2014:

11:48 PM Changeset in webkit [168573] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Cocoa] Remove a deprecated bundle form delegate method now that no one implements it
https://bugs.webkit.org/show_bug.cgi?id=132769

Reviewed by Sam Weinig.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController _setFormDelegate:]):

10:14 PM Changeset in webkit [168572] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Fix bugs exposed by r168556
https://bugs.webkit.org/show_bug.cgi?id=132768

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-09
Reviewed by Ryosuke Niwa.

Fix two bugs exposed by r168556.
1) We were only changing the page scale factor when the scale was not adjusted by live

resize. The idea was that the scale would either be the same (responsive content)
or that it would be defined by the next viewContentRectUpdate.

Now that we also send resize and scroll events, we must always update the scale since
it affects some APIs observable from JavaScript (like scrolling bounds).

2) Internally, Page's scaleFactor is stored as a float and not double. The rounding error

were causing us to send DynamicViewportUpdateChangedTarget() in cases were there is no change
of target.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::withinEpsilon):
(WebKit::WebPage::dynamicViewportSizeUpdate):

9:51 PM Changeset in webkit [168571] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Close icondatabase when EwkFaviconDatabase is destroyed
https://bugs.webkit.org/show_bug.cgi?id=132767

Reviewed by Gyuyoung Kim.

IconDatabase should be closed explicitly.

  • UIProcess/API/efl/ewk_favicon_database.cpp:

(EwkFaviconDatabase::~EwkFaviconDatabase):

7:20 PM Changeset in webkit [168570] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[fullscreen] cursor should auto-hide when over video
https://bugs.webkit.org/show_bug.cgi?id=132758

Unreviewed followup based on test failure.

  • css/fullscreen.css: Append the previous rule - video children of fullscreen elements.
7:18 PM Changeset in webkit [168569] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Another build fix.

  • mac/MigrateHeadersToWebKit2.make:

Don't migrate the WKPreferences.h header, WebKit2 provides its own header.

7:09 PM Changeset in webkit [168568] by benjamin@webkit.org
  • 4 edits in trunk/Source/WebKit2

[iOS][WK2] Reset the scroll position on the first frame after didCommitLoad
https://bugs.webkit.org/show_bug.cgi?id=132765

Reviewed by Tim Horton.

Since WebCore does not update our scroll view on load, we need to do that ourself.

In case where we need to restore the state from the history, RemoteLayerTreeDrawingAreaProxy
will always invoke the scrolling after didCommitLayerTree() (since r167916).
Consequently, it is now safe again to reset the scroll position ourself on the first frame.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLoadForMainFrame]):
(-[WKWebView _didCommitLayerTree:WebKit::]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView _didCommitLoadForMainFrame]):

6:53 PM Changeset in webkit [168567] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.34.2

New Tag.

6:49 PM Changeset in webkit [168566] by andersca@apple.com
  • 54 edits
    1 add in trunk/Source/WebKit2

Update availability macros
https://bugs.webkit.org/show_bug.cgi?id=132763
<rdar://problem/15311800>

Reviewed by Dan Bernstein.

  • Configurations/WebKit.xcconfig:
  • Shared/API/Cocoa/WKBrowsingContextHandle.h:
  • Shared/API/Cocoa/WKFoundation.h:
  • Shared/API/Cocoa/_WKFrameHandle.h:
  • Shared/API/Cocoa/_WKRemoteObjectInterface.h:
  • Shared/API/Cocoa/_WKRemoteObjectRegistry.h:
  • UIProcess/API/Cocoa/WKBackForwardList.h:
  • UIProcess/API/Cocoa/WKBackForwardListItem.h:
  • UIProcess/API/Cocoa/WKBackForwardListPrivate.h:
  • UIProcess/API/Cocoa/WKBrowsingContextController.h:
  • UIProcess/API/Cocoa/WKBrowsingContextGroup.h:
  • UIProcess/API/Cocoa/WKConnection.h:
  • UIProcess/API/Cocoa/WKFrameInfo.h:
  • UIProcess/API/Cocoa/WKNavigation.h:
  • UIProcess/API/Cocoa/WKNavigationAction.h:

(NS_ENUM):

  • UIProcess/API/Cocoa/WKNavigationData.h:
  • UIProcess/API/Cocoa/WKNavigationDelegate.h:

(NS_ENUM):

  • UIProcess/API/Cocoa/WKNavigationResponse.h:
  • UIProcess/API/Cocoa/WKPreferences.h:
  • UIProcess/API/Cocoa/WKProcessGroup.h:
  • UIProcess/API/Cocoa/WKProcessPool.h:
  • UIProcess/API/Cocoa/WKScriptMessage.h:
  • UIProcess/API/Cocoa/WKScriptMessageHandler.h:
  • UIProcess/API/Cocoa/WKTypeRefWrapper.h:
  • UIProcess/API/Cocoa/WKUIDelegate.h:
  • UIProcess/API/Cocoa/WKUserContentController.h:
  • UIProcess/API/Cocoa/WKWebView.h:
  • UIProcess/API/Cocoa/WKWebViewConfiguration.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:

(NS_OPTIONS):
(NS_ENUM):

  • UIProcess/API/Cocoa/WKWindowFeatures.h:
  • UIProcess/API/Cocoa/_WKActivatedElementInfo.h:

(NS_ENUM):

  • UIProcess/API/Cocoa/_WKDownload.h:
  • UIProcess/API/Cocoa/_WKElementAction.h:

(NS_ENUM):

  • UIProcess/API/Cocoa/_WKProcessPoolConfiguration.h:
  • UIProcess/API/Cocoa/_WKScriptWorld.h:
  • UIProcess/API/Cocoa/_WKThumbnailView.h:
  • UIProcess/API/Cocoa/_WKVisitedLinkProvider.h:
  • UIProcess/API/Cocoa/_WKWebsiteDataStore.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInFrame.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInHitTestResult.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInNodeHandle.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInPageGroup.h:
  • WebProcess/InjectedBundle/API/Cocoa/WKWebProcessPlugInScriptWorld.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMDocument.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMElement.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMNode.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMRange.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMText.h:
  • WebProcess/InjectedBundle/API/mac/WKDOMTextIterator.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.h:
  • mac/rewrite-availability-macros.sh: Added.
6:30 PM Changeset in webkit [168565] by Joseph Pecoraro
  • 19 edits in trunk/Source

Web Inspector: Allow Remote Inspector to entitlement check UIProcess through WebProcess
https://bugs.webkit.org/show_bug.cgi?id=132409

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:
Proxy applications are applications which hold WebViews for other
applications. The WebProcess (Web Content Service) is a proxy application.
For legacy reasons we were supporting a scenario where proxy applications
could potentially host WebViews for more then one other application. That
was never the case for WebProcess and it is now a scenario we don't need
to worry about supporting.

With this change, a proxy application more naturally only holds WebViews
for a single parent / host application. The proxy process can set the
parent pid / audit_token data on the RemoteInspector singleton, and
that data will be sent on to webinspectord later on to be validated.
In the WebProcess<->UIProcess relationship that information is known
and set immediately. In the Legacy iOS case that information is set
soon after, but not immediately known at the point the WebView is created.

This allows us to simplify the RemoteInspectorDebuggable interface.
We no longer need a pid per-Debuggable.

  • inspector/remote/RemoteInspector.h:
  • inspector/remote/RemoteInspector.mm:

(Inspector::RemoteInspector::RemoteInspector):
(Inspector::RemoteInspector::setParentProcessInformation):
(Inspector::RemoteInspector::xpcConnectionReceivedMessage):
(Inspector::RemoteInspector::listingForDebuggable):
(Inspector::RemoteInspector::receivedProxyApplicationSetupMessage):
Handle new proxy application setup message, and provide an API
for a proxy application to set the parent process information.

  • inspector/remote/RemoteInspectorConstants.h:

New setup and response message for proxy applications to pass
their parent / host application information to webinspectord.

  • inspector/remote/RemoteInspectorDebuggable.cpp:

(Inspector::RemoteInspectorDebuggable::info):

  • inspector/remote/RemoteInspectorDebuggable.h:

(Inspector::RemoteInspectorDebuggableInfo::RemoteInspectorDebuggableInfo):
(Inspector::RemoteInspectorDebuggableInfo::hasParentProcess): Deleted.
pid per debuggable is no longer needed.

Source/WebCore:

  • inspector/InspectorClient.h:

(WebCore::InspectorClient::parentProcessIdentifier): Deleted.

  • page/PageDebuggable.cpp:

(WebCore::PageDebuggable::parentProcessIdentifier): Deleted.

  • page/PageDebuggable.h:

pid per debuggable is no longer needed.

Source/WebKit/mac:
Simplify the legacy iOS UIWebViewController case by passing on
the host process pid and audit_token.

  • WebView/WebView.mm:

(-[WebView _setHostApplicationProcessIdentifier:auditToken:]):
(-[WebView setHostApplicationBundleId:name:]): Deleted.
(-[WebView hostApplicationBundleId]): Deleted.
(-[WebView hostApplicationName]): Deleted.

  • WebView/WebViewData.h:
  • WebView/WebViewData.mm:

(-[WebViewPrivate dealloc]):

  • WebView/WebViewPrivate.h:

Source/WebKit2:

  • WebProcess/WebCoreSupport/WebInspectorClient.h:
  • WebProcess/WebCoreSupport/WebInspectorClient.cpp:

(WebKit::WebInspectorClient::parentProcessIdentifier): Deleted.
pid per debuggable is no longer needed.

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):
Immediately pass the parent process pid and audit_token on
to the RemoteInspector singleton when the process is created
so that it can be sent to webinspectord.

6:23 PM Changeset in webkit [168564] by rniwa@webkit.org
  • 2 edits in trunk/PerformanceTests

DYEBench should show 95th percentile right next to the mean with ±
https://bugs.webkit.org/show_bug.cgi?id=132729

Reviewed by Darin Adler.

Before this patch, Full.html showed the 95th percentile delta for the arthemtic mean in a separate row
but this was confusing for some people. Show it right next to mean in the same row separated by ±.

  • DoYouEvenBench/Full.html:
6:11 PM Changeset in webkit [168563] by enrica@apple.com
  • 2 edits in trunk/Source/WebKit2

REGRESSION (WebKit2): Tapping in search field at wikipedia.org doesn’t bring up the keyboard.
https://bugs.webkit.org/show_bug.cgi?id=132761
<rdar://problem/16857491>

Reviewed by Benjamin Poulain.

The interactionAssistant accessor should never create an instance of
UIWKTextInteractionAssistant, but simply return the value of _textInteractionAssistant.
The text interaction assistant should only be created when needed so that the rest of
the code could reliably check if we are interacting with text or not.

  • UIProcess/ios/WKContentViewInteraction.mm:

(-[WKContentView interactionAssistant]):

6:10 PM Changeset in webkit [168562] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

Fix some issues with scrolling tree logging
https://bugs.webkit.org/show_bug.cgi?id=132762

Reviewed by Tim Horton.

Only dump viewport constraints when they change, and dump the primary layer on
scrolling nodes.

  • Shared/Scrolling/RemoteScrollingCoordinatorTransaction.cpp:

(WebKit::RemoteScrollingTreeTextStream::dump): Dump the primary layer.

5:59 PM CommitQueue edited by clopez@igalia.com
Fix URL for commit queue status (diff)
5:38 PM Changeset in webkit [168561] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[fullscreen] cursor should auto-hide when over video
https://bugs.webkit.org/show_bug.cgi?id=132758

Reviewed by Brent Fulgham.

Cursors were not auto-hiding over fullscreen video. There was
a small error in the CSS we load for fullscreen content.

  • css/fullscreen.css: Don't hide when video is a child of the fullscreen element - hide when it *is* the fullscreen element.

(video:-webkit-full-screen):
(:-webkit-full-screen video:hover): Deleted.

5:11 PM Changeset in webkit [168560] by Simon Fraser
  • 5 edits in trunk/Source/WebKit2

[iOS WK2] Fixed elements can go outside the document on pinching
https://bugs.webkit.org/show_bug.cgi?id=132759
<rdar://problem/16870835>

Reviewed by Benjamin Poulain.

Constrain the rect used to position fixed position objects when pinching (when
the scale goes below the minimumScale). Do so in such a way that there's a smooth
transition between rubber-banding and pinching.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateScrollViewBackground]): Use a nicer form for std::max<>.
(-[WKWebView _updateVisibleContentRects]): Pass the minimum scale.

  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView _updateVisibleContentRects]): Ditto.

  • UIProcess/ios/WKContentView.h:
  • UIProcess/ios/WKContentView.mm:

(adjustedUnexposedEdge): Helper to adjust the left/top.
(adjustedUnexposedMaxEdge): Helper to adjust the right/bottom.
(fixedPositionRectFromExposedRect):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:minimumScale:inStableState:]):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]): Deleted.

5:08 PM Changeset in webkit [168559] by Alan Bujtas
  • 7 edits in trunk/Source

Subpixel rendering[iOS]: Top bar on apple.com/support jiggles when the swoosh animates.
https://bugs.webkit.org/show_bug.cgi?id=132750
<rdar://problem/16803281>

Reviewed by Simon Fraser.

This patch ensures that GraphicsLayer and RemoteLayerBackingStore have the same dimensions.

Remove integral enclosing when we set the size on RemoteLayerBackingStore. It makes the layer's size
different from the backingstore when the passed value is fractional.
We scale and integral round this value to size the shareable bitmap later. Rounding ensures that
the final size value matches what we calculated at GraphicsLayerCA::updateGeometry()

Currently not testable.

Source/WebCore:

  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::updateGeometry):
(WebCore::GraphicsLayerCA::computePixelAlignment): include device scale factor to be able calculate the final content scale.

  • platform/graphics/ca/GraphicsLayerCA.h:

Source/WebKit2:

  • Shared/mac/RemoteLayerBackingStore.h:

(WebKit::RemoteLayerBackingStore::size):

  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::ensureBackingStore):
(WebKit::RemoteLayerBackingStore::setNeedsDisplay): use enclosing here to ensure we cover the entire backing store.
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::drawInContext):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::updateBackingStore):

5:06 PM Changeset in webkit [168558] by mhahnenberg@apple.com
  • 4 edits in trunk/Source

JSDOMWindow should disable property caching after a certain point
https://bugs.webkit.org/show_bug.cgi?id=132751

Reviewed by Filip Pizlo.

Source/JavaScriptCore:
This is part of removing HasImpureGetOwnPropertySlot from JSDOMWindow. After the lookup in the static
hash table for JSDOMWindow fails we want to disable property caching even if the code that follows thinks
that it has provided a cacheable value.

  • runtime/PropertySlot.h:

(JSC::PropertySlot::PropertySlot):
(JSC::PropertySlot::isCacheable):
(JSC::PropertySlot::disableCaching):

Source/WebCore:
No new tests.

This is part of removing HasImpureGetOwnPropertySlot from JSDOMWindow. After the lookup in the static
hash table for JSDOMWindow fails we want to disable property caching even if the code that follows thinks
that it has provided a cacheable value.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot):

4:13 PM Changeset in webkit [168557] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the export file after r168556

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-09

  • WebCore.exp.in: I forgot to fix the export file before landing.
4:08 PM Changeset in webkit [168556] by benjamin@webkit.org
  • 16 edits in trunk/Source

[iOS][WK2] Set up the resize events
https://bugs.webkit.org/show_bug.cgi?id=132726

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-09
Reviewed by Darin Adler and Simon Fraser.

Source/WebCore:
Let the WebKit2 layer override the size used for resize events.

  • WebCore.exp.in:
  • page/FrameView.cpp:

(WebCore::FrameView::layout):
(WebCore::FrameView::sizeForResizeEvent):
(WebCore::FrameView::sendResizeEventIfNeeded):
(WebCore::FrameView::setCustomSizeForResizeEvent):

  • page/FrameView.h:

Source/WebKit2:
Wire the UI Process updates to FrameView to send the resize events appropriately.

  • Shared/VisibleContentRectUpdateInfo.cpp:

(WebKit::VisibleContentRectUpdateInfo::encode):
(WebKit::VisibleContentRectUpdateInfo::decode):

  • Shared/VisibleContentRectUpdateInfo.h:

(WebKit::VisibleContentRectUpdateInfo::VisibleContentRectUpdateInfo):
(WebKit::VisibleContentRectUpdateInfo::isChangingObscuredInsetsInteractively):

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateVisibleContentRects]):

  • UIProcess/ios/WKContentView.h:
  • UIProcess/ios/WKContentView.mm:

(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:isChangingObscuredInsetsInteractively:]):
(-[WKContentView didUpdateVisibleRect:unobscuredRect:scale:inStableState:]): Deleted.
Pass down the status of the content insets with the view update to main frame's FrameView
when needed.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::dynamicViewportSizeUpdate):
On live resize, send the resize event, then the scroll events (if needed).

Since JavaScript now gets two chances to change the content (resize event + scroll event),
we query the actual scroll offset and scale for the DynamicViewportUpdateChangedTarget.

(WebKit::WebPage::viewportConfigurationChanged):
Define the custom size on load before the app gets a chance to send different rects.
If for some reason the app changes its mind about the insets, the content will be notified with a resize event.

(WebKit::WebPage::updateVisibleContentRects):
Send the resize event when the insets are stable.
Also move the scroll event after the resize event for consistency with live resize.

2:25 PM Changeset in webkit [168555] by benjamin@webkit.org
  • 11 edits in trunk

[iOS] Switch geolocation to an explicit authorization query model
https://bugs.webkit.org/show_bug.cgi?id=132717

Source/WebKit/ios:
<rdar://problem/16762390>

Reviewed by Sam Weinig.

WebGeolocationCoreLocationProvider is the general WebKit wrapper for CoreLocation.

The old model was to start WebGeolocationCoreLocationProvider and have the start fail or succeed.
The new model is to explicitely ask for authorization through "requestGeolocationAuthorization", and
listen to "geolocationAuthorizationGranted" and "geolocationAuthorizationDenied".

We assume the client of WebGeolocationCoreLocationProvider is well behaved and ask for authorization
before invoking "start".
If "start" is called and the authorization is not granted, we assume geolocation was reset since
the last time authorization was requested, and we reset the client.

WebGeolocationProviderIOS has been adapted to that model. Instead of doing the "warmup" sequence
to get the authorization, it queries WebGeolocationCoreLocationProvider explicitly.

  • Misc/WebGeolocationCoreLocationProvider.h:
  • Misc/WebGeolocationCoreLocationProvider.mm:

(-[WebGeolocationCoreLocationProvider createLocationManager]):
(-[WebGeolocationCoreLocationProvider dealloc]):
(-[WebGeolocationCoreLocationProvider requestGeolocationAuthorization]):
(isAuthorizationGranted):
(-[WebGeolocationCoreLocationProvider start]):
(-[WebGeolocationCoreLocationProvider stop]):
(-[WebGeolocationCoreLocationProvider locationManager:didChangeAuthorizationStatus:]):
(-[WebGeolocationCoreLocationProvider setEnableHighAccuracy:]):
(-[WebGeolocationCoreLocationProvider handleExternalAuthorizationStatusChange:]): Deleted.

  • Misc/WebGeolocationProviderIOS.mm:

(-[WebGeolocationProviderIOS suspend]):
(-[WebGeolocationProviderIOS resume]):
(-[WebGeolocationProviderIOS registerWebView:]):
(-[WebGeolocationProviderIOS unregisterWebView:]):
(-[WebGeolocationProviderIOS setEnableHighAccuracy:]):
(-[WebGeolocationProviderIOS initializeGeolocationForWebView:listener:]):
(-[WebGeolocationProviderIOS geolocationAuthorizationGranted]):
(-[WebGeolocationProviderIOS geolocationAuthorizationDenied]):
(-[WebGeolocationProviderIOS stopTrackingWebView:]):
(-[WebGeolocationProviderIOS resetGeolocation]):
(-[_WebCoreLocationUpdateThreadingProxy geolocationAuthorizationGranted]):
(-[_WebCoreLocationUpdateThreadingProxy geolocationAuthorizationDenied]):
(-[_WebCoreLocationUpdateThreadingProxy positionChanged:WebCore::]):
(-[_WebCoreLocationUpdateThreadingProxy errorOccurred:]):
(-[_WebCoreLocationUpdateThreadingProxy resetGeolocation]):
(-[WebGeolocationProviderIOS _startCoreLocationDelegate]): Deleted.
(-[WebGeolocationProviderIOS _stopCoreLocationDelegateIfNeeded]): Deleted.
(-[WebGeolocationProviderIOS cancelWarmUpForWebView:]): Deleted.
(-[WebGeolocationProviderIOS geolocationDelegateStarted]): Deleted.
(-[WebGeolocationProviderIOS geolocationDelegateUnableToStart]): Deleted.
(-[_WebCoreLocationUpdateThreadingProxy geolocationDelegateStarted]): Deleted.
(-[_WebCoreLocationUpdateThreadingProxy geolocationDelegateUnableToStart]): Deleted.

Source/WebKit/mac:

Reviewed by Sam Weinig.

Since there is no warmup code, WebGeolocationPolicyListener no longer need to know about the provider,
which is awesome :)

  • WebCoreSupport/WebGeolocationClient.mm:

(-[WebGeolocationPolicyListener initWithGeolocation:forWebView:]):
(-[WebGeolocationPolicyListener deny]):
(-[WebGeolocationProviderInitializationListener initializationAllowedWebView:]):
(-[WebGeolocationProviderInitializationListener initializationDeniedWebView:]):
(-[WebGeolocationPolicyListener initWithGeolocation:forWebView:provider:]): Deleted.
(-[WebGeolocationProviderInitializationListener initializationAllowedWebView:provider:]): Deleted.
(-[WebGeolocationProviderInitializationListener initializationDeniedWebView:provider:]): Deleted.

  • WebView/WebViewPrivate.h:

Source/WebKit2:

Reviewed by Sam Weinig.

Switch WKGeolocationProviderIOS to use the new API of WebGeolocationCoreLocationProvider.

On WebKit2, the whole logic to track requesters is in WebGeolocationManagerProxy.

Without the warmup sequence, WKGeolocationProviderIOS becomes really dumb: it just provides
the two step authorization and forward the start/stop messages to the WebGeolocationCoreLocationProvider.

  • UIProcess/ios/WKGeolocationProviderIOS.mm:

(-[WKGeolocationProviderIOS _stopUpdating]):
(-[WKGeolocationProviderIOS decidePolicyForGeolocationRequestFromOrigin:frame:request:window:]):
(-[WKGeolocationProviderIOS geolocationAuthorizationGranted]):
(-[WKGeolocationProviderIOS geolocationAuthorizationDenied]):
(-[WKWebAllowDenyPolicyListener initWithPermissionRequestProxy:]):
(-[WKWebAllowDenyPolicyListener deny]):
(-[WKGeolocationProviderIOS _stopUpdatingIfPossible]): Deleted.
(-[WKGeolocationProviderIOS geolocationDelegateStarted]): Deleted.
(-[WKGeolocationProviderIOS geolocationDelegateUnableToStart]): Deleted.
(-[WKGeolocationProviderIOS permissionDenied:]): Deleted.
(-[WKWebAllowDenyPolicyListener initWithProvider:permissionRequestProxy:]): Deleted.

Tools:

Reviewed by Sam Weinig.

  • DumpRenderTree/mac/MockGeolocationProvider.mm:

(-[MockGeolocationProvider initializeGeolocationForWebView:listener:]):
(-[MockGeolocationProvider cancelWarmUpForWebView:]): Deleted.

2:24 PM Changeset in webkit [168554] by ap@apple.com
  • 6 edits in trunk

REGRESSION (r168518): Multiple tests for workers in blobs assert
https://bugs.webkit.org/show_bug.cgi?id=132728

Reviewed by Geoffrey Garen.

Source/WebCore:
Change File serialization to include name, so that we don't have to regenerate anything
on a secondary thread after deserialization.

Files and Blobs can't be stored persistently, because URLs are transient (IndexedDB
has an explicit check, and fails if there were any blob URLs). API doesn't have the
check, but given that anyone who tried to use these to serialize a File would fail,
it seems OK to change the format.

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::write):
(WebCore::CloneDeserializer::readFile):

  • fileapi/File.cpp:

(WebCore::File::File):

  • fileapi/File.h:

LayoutTests:

  • platform/mac/TestExpectations: Unskip the tests.
2:20 PM Changeset in webkit [168553] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Expose functions necessary for copying favicon between IconDatabases.
https://bugs.webkit.org/show_bug.cgi?id=132709

Patch by Gordon Sheridan <gordon_sheridan@apple.com> on 2014-05-09
Reviewed by Brady Eidson.

  • UIProcess/API/C/WKIconDatabase.cpp:

(WKIconDatabaseSetIconURLForPageURL):
Add C API wrapper for WebIconDatabase::setIconURLForPageURL().

(WKIconDatabaseCopyIconURLForPageURL):
Add C API wrapper for WebIconDatabase::synchronousIconURLForPageURL().

  • UIProcess/API/C/WKIconDatabase.h:

Added declarations for wrapper functions above.

2:01 PM Changeset in webkit [168552] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the iOS DRT build by including CG headers in WKPreferences.h, which uses CGFloat.

  • UIProcess/API/Cocoa/WKPreferences.h:
1:57 PM Changeset in webkit [168551] by Brent Fulgham
  • 3 edits in trunk/Source/WebKit2

{TelephoneNumber, Selection}ControllerMac implementations dosn't handle tiled drawing properly.
https://bugs.webkit.org/show_bug.cgi?id=132746
<rdar://problem/16789588>

Reviewed by Tim Horton.

Don't try to draw the detector UI if no part of the selection bounds are inside
the current tile. Don't limit the detector UI to the bounds of this tile, or else
it will attempt to squeeze itself into the possibly small space available. Let it
draw as if it had the whole screen, and rely on the context clip region to
avoid overdrawing.

  • WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:

(WebKit::TelephoneNumberOverlayController::drawRect): Correct tiled drawing behavior.

  • WebProcess/WebPage/mac/SelectionOverlayControllerMac.mm:

(WebKit::SelectionOverlayController::drawRect): Ditto.

1:48 PM Changeset in webkit [168550] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Production build fix.

Reviewed by Dan Bernstein.

  • Configurations/BaseTarget.xcconfig:

Add SDKROOT in front of UMBRELLA_FRAMEWORKS_DIR for OS X Production builds.

1:28 PM Changeset in webkit [168549] by akling@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

8.8% spent in Object.prototype.hasOwnProperty() on sbperftest.
<https://webkit.org/b/132749>

Leverage the fast-resolve-to-AtomicString optimization for JSRopeString
in Object.prototype.* by using JSString::toIdentifier() in the cases where
we are converting JSString -> String -> Identifier.

This brings time spent in hasOwnProperty() from 8.8% to 1.3% on
"The Great HTML5 Gaming Performance Test: 2014 edition"
<http://www.scirra.com/demos/c2/sbperftest/>

Reviewed by Oliver Hunt.

  • runtime/ObjectPrototype.cpp:

(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncDefineGetter):
(JSC::objectProtoFuncDefineSetter):
(JSC::objectProtoFuncLookupGetter):
(JSC::objectProtoFuncLookupSetter):

1:26 PM Changeset in webkit [168548] by mhahnenberg@apple.com
  • 11 edits in trunk/Source

JSDOMWindow should have a WatchpointSet to fire on window close
https://bugs.webkit.org/show_bug.cgi?id=132721

Reviewed by Filip Pizlo.

Source/JavaScriptCore:
This patch allows us to reset the inline caches that assumed they could skip
the first part of JSDOMWindow::getOwnPropertySlot that checks if the window has
been closed. This is part of getting rid of HasImpureGetOwnPropertySlot on JSDOMWindow.

PropertySlot now accepts a WatchpointSet which the inline cache code can look for
to see if it should create a new Watchpoint for that particular inline cache site.

  • bytecode/Watchpoint.h:
  • jit/Repatch.cpp:

(JSC::generateByIdStub):
(JSC::tryBuildGetByIDList):
(JSC::tryCachePutByID):
(JSC::tryBuildPutByIdList):

  • runtime/PropertySlot.h:

(JSC::PropertySlot::PropertySlot):
(JSC::PropertySlot::watchpointSet):
(JSC::PropertySlot::setWatchpointSet):

Source/WebCore:
No new tests.

This patch allows us to reset the inline caches that assumed they could skip
the first part of JSDOMWindow::getOwnPropertySlot that checks if the window has
been closed. This is part of getting rid of HasImpureGetOwnPropertySlot on JSDOMWindow.

JSDOMWindowBase now has a WatchpointSet that the underlying DOMWindow fires when its
frame is cleared. In getOwnPropertySlot, we now pass this WatchpointSet to PropertySlot
which will shepherd it back up to the code that generates the inline cache (and the
Watchpoint for clearing it).

  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::JSDOMWindowBase):
(WebCore::JSDOMWindowBase::fireFrameClearedWatchpointsForWindow):

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::frameDestroyed):

1:25 PM Changeset in webkit [168547] by dfarler@apple.com
  • 3 edits in trunk/Tools

com.apple.iphonesimulator.startSession needs to pass "RuntimeIdentifier"
https://bugs.webkit.org/show_bug.cgi?id=132718

Reviewed by David Kilzer.

The simulator may not be able to look up runtimes by SDK paths
and instead will map SDK versions to runtimes instead. In
com.apple.iphonesimulator.startSession notifications,
'runtimeIdentifier' (SDK version string) is preferred over
'sdkRoot' (SDK path) anyway. Include the 'runtimeIdentifier' key
when creating a new DRT or WKTR simulator session.

IPhoneSimulatorNotification.pm filters out keys for this
notification's userInfo with a hard-coded list. There's no harm
in including extra key-value pairs in an NSNotification userInfo
dictionary anyway and the simulator may again change its
userInfo schema for this notification.

  • DumpRenderTree/ios/PerlSupport/IPhoneSimulatorNotification/lib/IPhoneSimulatorNotification.pm:

(postStartSessionNotification):

  • Scripts/old-run-webkit-tests:

(installAndLaunchDumpToolAppUsingNotification):

1:16 PM Changeset in webkit [168546] by andersca@apple.com
  • 2 edits in trunk/Tools

Another build fix.

  • Scripts/build-webkit:

WebKit2 should always be built for OS X and iOS.

12:36 PM Changeset in webkit [168545] by andersca@apple.com
  • 2 edits in trunk/Tools

Follow-up build fix.

  • Scripts/build-webkit:

WebKit2 should no longer be built before WebKit.

12:31 PM Changeset in webkit [168544] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS WebKit2] Flush RemoteLayerBackingStore contexts on a secondary queue
https://bugs.webkit.org/show_bug.cgi?id=132667
<rdar://problem/15349483>

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::create):
Address a missed review comment about a missing std::move.

12:05 PM Changeset in webkit [168543] by commit-queue@webkit.org
  • 13 edits
    1 copy
    29 adds in trunk

ASSERTION FAILED: object->style()->overflowX() == object->style()->overflowY()
https://bugs.webkit.org/show_bug.cgi?id=121682

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-05-09
Reviewed by Dirk Schulze.

Source/WebCore:
Add more overflow freedom to the SVG element:
-overflow-x and overflow-y for controlling each scrollbar independently is now supported
-overflow:scroll will display scrollbars regardless of the svg overflowing or not (as required by CSS)
-overflow:hidden will cause overflow to be clipped away and scrollbars to be hidden

Merged from Blink r172126 by <ed@opera.com>

Tests: svg/W3C-SVG-1.1-SE/painting-marker-05-f.svg

svg/W3C-SVG-1.1-SE/painting-marker-06-f.svg
svg/animations/animate-viewport-overflow-2.html
svg/animations/animate-viewport-overflow.html
svg/in-html/overflow-repaint.html
svg/in-html/overflow-svg-root-attr.html
svg/in-html/overflow-svg-root-style.html
svg/in-html/overflow-svg-root.html
svg/overflow/overflow-on-outermost-svg-element-horizontal-auto.svg
svg/overflow/overflow-on-outermost-svg-element-vertical-auto.svg
svg/overflow/overflow-scroll-on-outermost-svg-element.svg
svg/overflow/overflow-x-hidden-on-outermost-svg-element-expected.svg
svg/overflow/overflow-x-hidden-on-outermost-svg-element.svg
svg/overflow/overflow-y-hidden-on-outermost-svg-element-expected.svg
svg/overflow/overflow-y-hidden-on-outermost-svg-element.svg

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle):

  • page/FrameView.cpp:

(WebCore::FrameView::applyOverflowToViewport):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::layout):
(WebCore::RenderSVGRoot::shouldApplyViewportClip):
(WebCore::RenderSVGRoot::paintReplaced):
(WebCore::RenderSVGRoot::computeFloatRectForRepaint):

  • rendering/svg/RenderSVGRoot.h:
  • rendering/svg/SVGRenderSupport.cpp:

(WebCore::SVGRenderSupport::isOverflowHidden):

LayoutTests:
Merge Blink r172126 by Erik Dahlström.

  • platform/efl/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt:
  • platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.png:
  • platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt:
  • platform/mac/svg/text/non-bmp-positioning-lists-expected.txt: Added.
  • svg/W3C-SVG-1.1-SE/painting-marker-05-f-expected.png: Added.
  • svg/W3C-SVG-1.1-SE/painting-marker-05-f-expected.txt: Added.
  • svg/W3C-SVG-1.1-SE/painting-marker-05-f.svg: Added.
  • svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.png: Added.
  • svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.txt: Added.
  • svg/W3C-SVG-1.1-SE/painting-marker-06-f.svg: Added.
  • svg/animations/animate-viewport-overflow-2-expected.txt: Added.
  • svg/animations/animate-viewport-overflow-2.html: Added.
  • svg/animations/animate-viewport-overflow-expected.txt: Added.
  • svg/animations/animate-viewport-overflow.html: Added.
  • svg/in-html/overflow-repaint-expected.txt: Added.
  • svg/in-html/overflow-repaint.html: Added.
  • svg/in-html/overflow-svg-root-attr-expected.html: Added.
  • svg/in-html/overflow-svg-root-attr.html: Added.
  • svg/in-html/overflow-svg-root-expected.html: Added.
  • svg/in-html/overflow-svg-root-style-expected.html: Added.
  • svg/in-html/overflow-svg-root-style.html: Added.
  • svg/in-html/overflow-svg-root.html: Added.
  • svg/overflow/overflow-on-outermost-svg-element-horizontal-auto-expected.html: Added.
  • svg/overflow/overflow-on-outermost-svg-element-horizontal-auto.svg: Added.
  • svg/overflow/overflow-on-outermost-svg-element-ignore-attribute-1-expected.txt:
  • svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.png:
  • svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt: Copied from LayoutTests/platform/mac/svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible-expected.txt.
  • svg/overflow/overflow-on-outermost-svg-element-in-xhtml-visible.xhtml:
  • svg/overflow/overflow-on-outermost-svg-element-vertical-auto-expected.html: Added.
  • svg/overflow/overflow-on-outermost-svg-element-vertical-auto.svg: Added.
  • svg/overflow/overflow-scroll-on-outermost-svg-element-expected.txt: Added.
  • svg/overflow/overflow-scroll-on-outermost-svg-element.svg: Added.
  • svg/overflow/overflow-x-hidden-on-outermost-svg-element-expected.svg: Added.
  • svg/overflow/overflow-x-hidden-on-outermost-svg-element.svg: Added.
  • svg/overflow/overflow-y-hidden-on-outermost-svg-element-expected.svg: Added.
  • svg/overflow/overflow-y-hidden-on-outermost-svg-element.svg: Added.
11:47 AM Changeset in webkit [168542] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r168448): fast/multicol/newmulticol/first-letter-create.html is very flaky
https://bugs.webkit.org/show_bug.cgi?id=132744

11:39 AM Changeset in webkit [168541] by andersca@apple.com
  • 236 edits
    7 copies
    2 adds
    1 delete in trunk

Rename WebKit2.framework to WebKit.framework
https://bugs.webkit.org/show_bug.cgi?id=132743
<rdar://problem/15920046>

Reviewed by Dan Bernstein.

.:

  • Source/Makefile:

Build WebKit.xcodeproj before WebKit2.xcodeproj.

  • WebKit.xcworkspace/xcshareddata/xcschemes/:

Ditto.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Remove the WebKit framework, it lives inside WebKit2 now.

Source/WebKit2:

  • Configurations/BaseLegacyProcess.xcconfig:

Change INSTALL_PATH to WebKit.framework.

  • Configurations/BaseTarget.xcconfig:

Change WEBKIT2_FRAMEWORKS_DIR to WEBKIT_FRAMEWORKS_DIR and add WEBKIT_LEGACY_PRIVATE_HEADERS_DIR.

  • Configurations/BaseXPCService.xcconfig:

Change WebKit2.framework to WebKit.framework.

  • Configurations/WebKit.xcconfig: Copied from Source/WebKit2/Configurations/WebKit2.xcconfig.

New configuration file for WebKit.framework. Re-export WebKitLegacy.framework.

  • Configurations/WebKit2.xcconfig:

New configuration file for the WebKit2 shim framework. Re-export WebKit.framework.

  • NetworkProcess/EntryPoint/mac/XPCService/NetworkService/Info-OSX.plist:

Update DYLD_INSERT_LIBRARIES to refer to WebKit.framework.

  • PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:

Update DYLD_INSERT_LIBRARIES to refer to WebKit.framework.

  • Shared/API/Cocoa/WKBrowsingContextHandle.h:
  • Shared/API/Cocoa/WKRenderingProgressEvents.h:

Update header imports.

  • Shared/API/Cocoa/WebKit.h: Renamed from Source/WebKit/mac/WebKitLegacy/WebKit.h.

New umbrella header. Imports the modern WebKit API as well as the legacy API.

  • Shared/API/Cocoa/WebKit.m: Renamed from Source/WebKit/mac/WebKitLegacy/WebKit.m.

Export install name symbols on iOS.

  • Shared/API/Cocoa/WebKitPrivate.h: Renamed from Source/WebKit/mac/WebKitLegacy/WebKitPrivate.h.

New umbrella SPI header. Imports the modern WebKit SPI.

  • Many headers:

Change WebKit2 includes to WebKit includes.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:

(WebKit::XPCServiceEventHandler):
Change bundle identifiers from com.apple.WebKit2 to com.apple.WebKit.

  • Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:

(WebKit::XPCServiceEventHandler):
Change bundle identifier from com.apple.WebKit2 to com.apple.WebKit.

  • UIProcess/API/Cocoa/WKPreferences.h:

Stop including WKPreferencesRef.h, we have a WebKit2 header that handles this workaround for us now.

  • UIProcess/Launcher/mac/ProcessLauncherMac.mm:

(WebKit::addDYLDEnvironmentAdditions):
(WebKit::connectToService):
(WebKit::createProcess):
(WebKit::ProcessLauncher::launchProcess):
Change bundle identifiers from com.apple.WebKit2 to com.apple.WebKit.

  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::PluginProcessProxy::createPropertyListFile):
Change bundle identifiers from com.apple.WebKit2 to com.apple.WebKit.

  • UIProcess/mac/WebContextMac.mm:

(WebKit::WebContext::platformDefaultDiskCacheDirectory):
Change bundle identifier from com.apple.WebKit2 to com.apple.WebKit.

  • WebKit2.xcodeproj/project.pbxproj:

Copy the python message scripts to the WebKit2 framework.
Rename WebKit2.framework to WebKit.framework everywhere.
Add a new WebKit2 target that builds the shim WebKit2 framework.
Move the build script phase that migrates WebKitLegacy headers to WebKit.
Add a new build script phase that adds forwarding headers from WebKit2 to WebKit.

  • WebProcess/EntryPoint/mac/XPCService/WebContentService/Info-OSX.plist:

Update DYLD_INSERT_LIBRARIES to refer to WebKit.framework.

  • mac/MigrateHeadersFromWebKitLegacy.make: Renamed from Source/WebKit/mac/WebKitLegacy/MigrateHeadersFromWebKitLegacy.make.

Move the makefile that migrates WebKitLegacy headers here. On OS X, it copies the header contents and on iOS it creates forarding headers.

  • mac/MigrateHeadersToWebKit2.make:

New makefile that creates forwarding headers for the WebKit2 shim framework.

  • mac/WKPreferences.h: Added.

Add WebKit2/WKPreferences.h header that imports WebKit2/WKPreferencesref.h.

  • mac/WebKit2.m:

Skeleton for the WebKit2 shim framework.

  • mac/Info-WebKit2.plist: Added.

New Info.plist file for the WebKit2 shim framework.

Tools:

  • Scripts/check-for-inappropriate-files-in-framework:

Use PRODUCT_NAME instead of PROJECT_NAME when matching frameworks.
Change WebKit2 to WebKit.

  • Scripts/check-for-webkit-framework-include-consistency:

Change WebKit to WebKitLegacy.

11:20 AM Changeset in webkit [168540] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix build warning (uninitialized variable) in DFGFixupPhase.cpp
https://bugs.webkit.org/show_bug.cgi?id=132331

Patch by Tanay C <tanay.c@samsung.com> on 2014-05-09
Reviewed by Darin Adler.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::injectTypeConversionsForEdge):

11:19 AM Changeset in webkit [168539] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168499.

11:17 AM Changeset in webkit [168538] by Lucas Forschler
  • 4 edits
    2 copies in branches/safari-538.34-branch

Merged r168460.

9:55 AM Changeset in webkit [168537] by Manuel Rego Casasnovas
  • 2 edits in trunk/Tools

Remove GTK+ WK1 EWS from build.webkit.org/dashboard
https://bugs.webkit.org/show_bug.cgi?id=132732

Reviewed by Alexey Proskuryakov.

GTK+ WK1 EWS was removed in r166427, so it shouldn't appear in the dashboard.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/EWS.js:

(EWS): Remove GTK+ WK1 EWS.

9:44 AM Changeset in webkit [168536] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[MSE][Mac] Destroy the AVStreamDataParser when the SourceBuffer is removed from its MediaSource.
https://bugs.webkit.org/show_bug.cgi?id=132710

Reviewed by Eric Carlson.

The AVStreamDataParser should be destroyed when the SourceBuffer is removed, so that subsequent
SourceBuffers can utilize resources released by the parser on destruction.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(-[WebAVStreamDataParserListener invalidate]):
(-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]): Protect against _parent being invalidated.
(-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC): Call destroyParser();.
(WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::destroyParser): Call -[WebAVStreamDataParserListener invalidate].

9:29 AM Changeset in webkit [168535] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[Win] Crash when enabling DFG JIT.
https://bugs.webkit.org/show_bug.cgi?id=132683

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-05-09
Reviewed by Geoffrey Garen.

On windows, using register GPRInfo::regT0 as parameter to e.g. JIT::storeDouble(..., GPRInfo::regT0)),
results in a call to JIT::storeDouble(FPRegisterID src, const void* address),
where the address parameter gets the value of GPRInfo::regT0, which is 0 (eax on Windows).
This causes the register to be written to address 0, hence the crash.

  • dfg/DFGOSRExitCompiler32_64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit): Use address in regT0 as parameter.

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit): Ditto.

9:15 AM Changeset in webkit [168534] by abucur@adobe.com
  • 4 edits in trunk/Source/WebCore

[CSS Regions] 1-2% performance regression in html5-full-render after r168286
https://bugs.webkit.org/show_bug.cgi?id=132672

Reviewed by Mihnea Ovidenie.

The patch optimizes the search of regions when there's a single region in the chain.
There's no need to execute advanced search logic, we can directly return that region.

Tests: No function change, no tests.

  • rendering/RenderBlock.cpp:

(WebCore::canComputeRegionRangeForBox):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::regionAtBlockOffset):
(WebCore::RenderFlowThread::hasCachedRegionRangeForBox): Renamed from hasRegionRangeForBox to
better suggest what the function does.
(WebCore::RenderFlowThread::getRegionRangeForBox):
(WebCore::RenderFlowThread::hasRegionRangeForBox): Deleted.

  • rendering/RenderFlowThread.h:
8:54 AM Changeset in webkit [168533] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[EME] Call suspendIfNeeded() in the MediaKeySession create() method to avoid an ASSERT.
https://bugs.webkit.org/show_bug.cgi?id=132712

Reviewed by Eric Carlson.

All ActiveDOMObject subclasses must call suspendIfNeeded() immediately after creation.

  • Modules/encryptedmedia/MediaKeySession.cpp:

(WebCore::MediaKeySession::MediaKeySession):

8:08 AM Changeset in webkit [168532] by commit-queue@webkit.org
  • 3 edits
    2 adds
    3 deletes in trunk/LayoutTests

[CSS Blending] Move background-blend-mode tests from fast/repaint to css3/blending and remove the -webkit- prefix
https://bugs.webkit.org/show_bug.cgi?id=132741

Patch by Ion Rosca <Ion Rosca> on 2014-05-09
Reviewed by Mihnea Ovidenie.

Remove the -webkit prefix from comments:

  • css3/blending/background-blend-mode-property-expected.txt:
  • css3/blending/script-tests/background-blend-mode-property.js:

Move the background-blend-mode test from fast/repaint to css3/blending.
This is not required to be a repaint test. It works well as a regular reftest too.

  • css3/blending/background-blend-mode-image-color-dynamic-expected.html: Added.
  • css3/blending/background-blend-mode-image-color-dynamic.html: Added.
  • fast/repaint/background-blend-mode-image-color-dynamic-expected.html: Removed.
  • fast/repaint/background-blend-mode-image-color-dynamic.html: Removed.
  • fast/repaint/resources/ducky.png: Removed.
7:59 AM WebKitGTK/2.2.x edited by vjaquez@igalia.com
(diff)
7:56 AM Changeset in webkit [168531] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Unreviewed. Another attempt to fix Windows build after r168528.

  • platform/graphics/win/FontWin.cpp:

(WebCore::Font::adjustSelectionRectForComplexText):

7:42 AM Changeset in webkit [168530] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

REGRESSION(r167094): JSC crashes on ARM Traditional
https://bugs.webkit.org/show_bug.cgi?id=132738

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-09
Reviewed by Zoltan Herczeg.

PC is two instructions ahead of the current instruction
on ARM Traditional, so the distance is 8 bytes not 2.

  • llint/LowLevelInterpreter.asm:
7:35 AM Changeset in webkit [168529] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix for Win after r168528.

  • platform/graphics/win/FontWin.cpp:

(WebCore::Font::adjustSelectionRectForComplexText):

7:20 AM Changeset in webkit [168528] by Alan Bujtas
  • 18 edits
    5 adds in trunk

REGRESSION (r168095): 1-pixel gap between adjacent selection inlines
https://bugs.webkit.org/show_bug.cgi?id=132474
<rdar://problem/16797394>

Reviewed by David Hyatt.

This patch changes text selection rectangle calculation from integral to device
pixel snapping. It ensures that selection rect painting matches box boundaries for inline elements.
Directional rounding (horizontal only atm) is moved out from Font class and now accessible
to all the painting code. RTL snapping strategy is changed from floor to round to match ltr behavior.
However this patch does not address all the integral snapping across inline elements. There are
a few places where we still calculate enclosing rects where snapping is sufficient.

Source/WebCore:
Test: fast/inline/hidpi-pixel-gap-between-adjacent-selection-inlines.html

  • platform/LayoutUnit.h:

(WebCore::roundToDevicePixel): added fudge factor to change rounding direction as directed.

  • platform/graphics/Font.cpp:

(WebCore::Font::adjustSelectionRectForText):
(WebCore::Font::selectionRectForText): Deleted.

  • platform/graphics/Font.h:
  • platform/graphics/FontFastPath.cpp:

(WebCore::Font::adjustSelectionRectForSimpleText): removed directional rounding.
(WebCore::Font::selectionRectForSimpleText): Deleted.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::GraphicsContext::drawHighlightForText): Deleted.

  • platform/graphics/GraphicsContext.h:
  • platform/graphics/LayoutPoint.h:

(WebCore::roundedForPainting):

  • platform/graphics/LayoutRect.h:

(WebCore::directionalPixelSnappedForPainting): Snap top right corner for rtl direction.

  • platform/graphics/cairo/FontCairoHarfbuzzNG.cpp:

(WebCore::Font::adjustSelectionRectForComplexText):
(WebCore::Font::selectionRectForComplexText): Deleted.

  • platform/graphics/mac/FontComplexTextMac.cpp:

(WebCore::Font::adjustSelectionRectForComplexText): removed directional rounding.
(WebCore::Font::selectionRectForComplexText): Deleted.

  • platform/graphics/win/FontWin.cpp:

(WebCore::Font::adjustSelectionRectForComplexText):
(WebCore::Font::selectionRectForComplexText): Deleted.

  • rendering/EllipsisBox.cpp:

(WebCore::EllipsisBox::selectionRect):
(WebCore::EllipsisBox::paintSelection):

  • rendering/InlineTextBox.cpp:

(WebCore::integralEnclosingRectForSelection): helper to address enclosing empty rect problem.
(WebCore::InlineTextBox::localSelectionRect):
(WebCore::InlineTextBox::paintSelection):
(WebCore::InlineTextBox::paintCompositionBackground):
(WebCore::InlineTextBox::paintDocumentMarker):
(WebCore::InlineTextBox::paintTextMatchMarker):
(WebCore::InlineTextBox::computeRectForReplacementMarker):
(WebCore::InlineTextBox::positionForOffset):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::selectionRectForTextFragment):

LayoutTests:

  • fast/inline/hidpi-pixel-gap-between-adjacent-selection-inlines-expected.html: Added.
  • fast/inline/hidpi-pixel-gap-between-adjacent-selection-inlines.html: Added.
  • platform/mac/editing/selection/mixed-editability-10-expected.txt: progression.
  • platform/mac/fast/forms/cursor-at-editable-content-boundary-expected.txt: progression.
  • platform/mac/platform/mac/editing/input/caret-primary-bidi-expected.txt: Added. change in rounding strategy.
  • platform/mac/svg/text/caret-in-svg-text-expected.txt: Added. progression + change in rounding strategy.
6:34 AM Changeset in webkit [168527] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Add new u-szeged contributors.

Patch by Eva Balazsfalvi <evab.u-szeged@partner.samsung.com> on 2014-05-09
Reviewed by Csaba Osztrogonác.

  • Scripts/webkitpy/common/config/contributors.json:
5:49 AM Changeset in webkit [168526] by Carlos Garcia Campos
  • 3 edits in trunk/Tools

REGRESSION(CMAKE): [GTK] run-gtk-tests doesn't set the right injected bundle path
https://bugs.webkit.org/show_bug.cgi?id=132736

Reviewed by Philippe Normand.

There are two problems, the path returned by common.library_build_path() is wrong when
common.binary_build_path() has previously been called, and the test is still looking for
the .la instead of .so

  • TestWebKitAPI/gtk/PlatformUtilitiesGtk.cpp:

(TestWebKitAPI::Util::createInjectedBundlePath): Use .so instead
of .la as extension of the injected bundle library.

  • gtk/common.py:

(binary_build_path): Remove unused global variable and add a new
one for binary_build_dir instead of sharing the same global
variable for library_build_path and binary_build_path.

5:49 AM Changeset in webkit [168525] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2] Make generate-forwarding-headers.pl work after WebKit2.framework -> WebKit.framework rename
https://bugs.webkit.org/show_bug.cgi?id=132733

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-09
Reviewed by Csaba Osztrogonác.

Rewrite framework's directory name to WebKit2 if the framework is WebKit (former WebKit2)
and then collect headers inside the fixed framework directory and generate forwarding
headers point to the fixed directory.

Leave WebKit2 in @frameworks list during the transition. It can be removed
once <WebKit2/foo.h> style includes were renamed to <WebKit/foo.h> everywhere.

  • Scripts/generate-forwarding-headers.pl:

(collectFameworkHeaderPaths):
(createForwardingHeadersForFramework):

3:58 AM Changeset in webkit [168524] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk
ASSERTION FAILED: !m_code
m_code == defaultExceptionCode

in WebCore::constructQualifiedName
https://bugs.webkit.org/show_bug.cgi?id=132343

'Remove bad assertion in SVGSMILElement's constructQualifiedName() by passing
IGNORE_EXCEPTION instead ASSERT_NO_EXCEPTION to Document::parseQualifiedName().
The constructQualifiedName() function handles parseQualifiedName() failures
propertly by returning early so there is no reason to assert on parsing
failures.'

Blink merge: http://src.chromium.org/viewvc/blink?view=revision&revision=173564
Based on the patch made by Christophe Dumez <ch.dumez@samsung.com>.

Patch by Martin Hodovan <mhodovan@inf.u-szeged.hu> on 2014-05-09
Reviewed by Dirk Schulze.

Source/WebCore:
Test: svg/custom/bad-attributeName-crash.html

  • svg/animation/SVGSMILElement.cpp:

(WebCore::constructQualifiedName):

LayoutTests:

  • svg/custom/bad-attributeName-crash-expected.txt: Added.
  • svg/custom/bad-attributeName-crash.html: Added.
12:10 AM Changeset in webkit [168523] by berto@igalia.com
  • 4 edits in trunk/Source

jsmin.py license header confusing, mentions non-free license
https://bugs.webkit.org/show_bug.cgi?id=123665

Reviewed by Darin Adler.

Pull the most recent version from upstream, which has a clear
license.

Source/JavaScriptCore:

  • inspector/scripts/jsmin.py:

Source/WebInspectorUI:

  • Scripts/jsmin.py:

May 8, 2014:

11:19 PM Changeset in webkit [168522] by ap@apple.com
  • 2 edits in trunk/LayoutTests

REGRESSION (r168518): Multiple tests for workers in blobs assert
https://bugs.webkit.org/show_bug.cgi?id=132728

  • platform/mac/TestExpectations: Skipped for now.
11:01 PM Changeset in webkit [168521] by rniwa@webkit.org
  • 4 edits
    72 adds in trunk/PerformanceTests

DYEBench should use TodoMVC to test FlightJS for consistency
https://bugs.webkit.org/show_bug.cgi?id=132727

Reviewed by Andreas Kling.

Add a test suite for the FlightJS version of TodoMVC, and disable FlightJS-MailClient by default.

I initially intended to include a wider variety of demo apps in DYEBench
but that's not happening any time soon so let us use TodoMVC for all frameworks for now.

We can add more demo apps in v2.

  • DoYouEvenBench/Full.html: Increment the version to 0.10.
  • DoYouEvenBench/InteractiveRunner.html: Don't check disabled suites by default.
  • DoYouEvenBench/resources/tests.js:
  • DoYouEvenBench/resources/todomvc/dependency-examples: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/.gitignore: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/.jshintrc: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/app.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/data: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/data/stats.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/data/todos.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/main.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/store.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/main_selector.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/new_item.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/stats.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/todo_list.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/toggle_all.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/ui/with_filters.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/js/utils.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/templates: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/templates/stats.html: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/app/templates/todo.html: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower.json: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/depot: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/depot/depot.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/es5-shim: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-sham.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/es5-shim/es5-shim.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/advice.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/base.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/component.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/compose.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/debug.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/index.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/logger.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/registry.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/flight/lib/utils.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/jquery: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/jquery/jquery.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs-text: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs-text/text.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/requirejs/require.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.css: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/base.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/bower_components/todomvc-common/bg.png: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/index.html: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/karma.conf.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/package.json: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/readme.md: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/.jshintrc: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture/footer.html: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture/new_todo.html: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/fixture/toggle_all.html: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/mock: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/mock/datastore.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/data: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/data/stats_spec.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/data/todos_spec.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui/new_item_spec.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui/stats_spec.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/spec/ui/toggle_all_spec.js: Added.
  • DoYouEvenBench/resources/todomvc/dependency-examples/flight/test/test-main.js: Added.
10:32 PM Changeset in webkit [168520] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL] Enable MEDIA_STREAM for EFL port
https://bugs.webkit.org/show_bug.cgi?id=132648

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-05-08
Reviewed by Gyuyoung Kim.

Tools:
Script modified to enable MEDIA_STREAM for EFL build.

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:
Updated webaudio test case expectation after enabling MEDIA_STREAM

  • platform/efl/TestExpectations:
10:20 PM Changeset in webkit [168519] by Brent Fulgham
  • 6 edits in trunk/Source/WebCore

Multiple (stacked) cues when shuttling through video while playing closed captions
https://bugs.webkit.org/show_bug.cgi?id=132715
<rdar://problem/16795782>

Reviewed by Eric Carlson.

Tests: media/track/track-in-band-cues-added-once.html

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::hasCue): Revise to use a relaxed time equality.

  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::isEqual): Ditto.
(WebCore::TextTrackCue::hasEquivalentStartTime): Added.

  • html/track/TextTrackCue.h:

(WebCore::TextTrackCue::startTimeVariance): Added.

  • html/track/TextTrackCueGeneric.h:
  • html/track/TextTrackCueGeneric.cpp:

(WebCore::TextTrackCueGeneric::isEqual): Do not call the VTTCue::isEqual method from
this class, since cueType() will not equal VTTCue, and the equality will fail.

9:37 PM Changeset in webkit [168518] by ap@apple.com
  • 15 edits
    2 adds in trunk/Source

Automatically zip document bundles used via File API
https://bugs.webkit.org/show_bug.cgi?id=132713
<rdar://problem/13397892>

Reviewed by Anders Carlsson.

Source/WebCore:
Tests: fast/files/filereader-zip-bundle.html

http/tests/local/fileapi/upload-zip-bundle-as-blob.html

  • FileMac.mm: Added.

(WebCore::File::shouldReplaceFile):
(WebCore::File::computeNameAndContentTypeForReplacedFile):
Added code that decides what to do with a bundle. We need this to happen in
WebProcess, because HTML5 dropzone depends on this, it needs to know file type
even before a File object can be created.

  • WebCore.exp.in: Export new functions.
  • WebCore.xcodeproj/project.pbxproj: Added new files.
  • dom/DataTransfer.cpp: (WebCore::DataTransfer::hasFileOfType): Updated for File

interface change.

  • fileapi/File.h:
  • fileapi/File.cpp:

(WebCore::File::File):
(WebCore::File::computeNameAndContentType):
(WebCore::File::contentTypeForFile):
(WebCore::File::contentTypeFromFilePathOrName): Deleted.
Make it possible for a subclass to affect file name and content type calculation.

  • platform/network/BlobDataFileReference.cpp:

(WebCore::BlobDataFileReference::BlobDataFileReference):
(WebCore::BlobDataFileReference::~BlobDataFileReference):
(WebCore::BlobDataFileReference::path):
(WebCore::BlobDataFileReference::size):
(WebCore::BlobDataFileReference::expectedModificationTime):
(WebCore::BlobDataFileReference::startTrackingModifications):

  • platform/network/BlobDataFileReference.h:

(WebCore::BlobDataFileReference::path): Deleted.
(WebCore::BlobDataFileReference::BlobDataFileReference): Deleted.
Use original or replaced file, as appropriate.

  • platform/network/mac/BlobDataFileReferenceMac.mm: Added.

(WebCore::BlobDataFileReference::generateReplacementFile): Implements generateReplacementFile().

  • platform/network/FormData.h: Added a FIXME.
  • xml/XMLHttpRequest.cpp: (WebCore::XMLHttpRequest::send): Always use Blob code path

for blobs, don't unwrap them into a file path.

Source/WebKit2:

  • NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in: NetworkProcess

now uses FileCoordination (WebProcess already had this allowed).

  • Shared/BlobDataFileReferenceWithSandboxExtension.h: Added final to the class.

Source/WTF:

  • wtf/FeatureDefines.h: Added ENABLE_FILE_REPLACEMENT for Mac.
9:11 PM Changeset in webkit [168517] by fpizlo@apple.com
  • 1 copy in branches/ftlopt

Create a branch for risky FTL enhancements

9:02 PM Changeset in webkit [168516] by Lucas Forschler
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

8:59 PM Changeset in webkit [168515] by Lucas Forschler
  • 1 copy in tags/Safari-538.34.1

New Tag.

7:26 PM Changeset in webkit [168514] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Occasional crash under AsyncScrollingCoordinator::frameViewRootLayerDidChange() on history navigation
https://bugs.webkit.org/show_bug.cgi?id=132723

Reviewed by Sam Weinig.

Crash reports suggest that when we call AsyncScrollingCoordinator::frameViewRootLayerDidChange()
from HistoryController::restoreScrollPositionAndViewState(), the FrameView may not have a
scrolling node ID, which suggests that either the FrameView doesn't have a RenderView,
or compositing hasn't happened yet.

So if we enter AsyncScrollingCoordinator::frameViewRootLayerDidChange()
and the FrameView has no scrollLayerID, just return. We'll fix things up
when compositing kicks in later.

  • page/scrolling/AsyncScrollingCoordinator.cpp:

(WebCore::AsyncScrollingCoordinator::frameViewRootLayerDidChange):

6:08 PM Changeset in webkit [168513] by Simon Fraser
  • 4 edits in trunk/Source

[iOS WK2] Bottom-relative position:fixed elements are misplaced on page load
https://bugs.webkit.org/show_bug.cgi?id=132719
<rdar://problem/16860837>

Reviewed by Benjamin Poulain.

Source/WebCore:

Add a couple of functions, and sort.

  • WebCore.exp.in:

Source/WebKit2:

If we haven't received visible rects from the web process, compute the
fixed position rect, but only after scale has been set.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::viewportConfigurationChanged):

6:06 PM Changeset in webkit [168512] by jer.noble@apple.com
  • 15 edits in trunk/Source

[Mac, iOS] Add source application accounting to AVURLAsset.
https://bugs.webkit.org/show_bug.cgi?id=132637

Reviewed by Eric Carlson.

Source/WebCore:
Properly account for the application responisble for data loading by passing the source
application identifier through to AVFoundation through AVURLAsset options.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::sourceApplicationIdentifier):

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerSourceApplicationIdentifier):

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):

  • platform/network/NetworkingContext.h:

Source/WebKit/mac:
Add accessor for sourceApplicationIdentifier.

  • WebCoreSupport/WebFrameNetworkingContext.h:
  • WebCoreSupport/WebFrameNetworkingContext.mm:

(WebFrameNetworkingContext::sourceApplicationIdentifier):

Source/WebKit2:
Add accessor for sourceApplicationIdentifier.

  • NetworkProcess/RemoteNetworkingContext.h:
  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::RemoteNetworkingContext::sourceApplicationIdentifier):

  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::WebFrameNetworkingContext::sourceApplicationIdentifier):

5:30 PM Changeset in webkit [168511] by dfarler@apple.com
  • 2 edits in trunk/Tools

old-run-webkit-tests: update strings for simulator devices and app name
https://bugs.webkit.org/show_bug.cgi?id=132687

Reviewed by Darin Adler.

iPhone Retina (4-inch) -> iPhone 5
iPhone Retina (4-inch 64-bit) -> iPhone 5s

  • Scripts/old-run-webkit-tests:

(installAndLaunchDumpToolAppUsingNotification):
(openIPhoneSimulator):
(quitIPhoneSimulator):
quit iOS Simulator, not iPhone Simulator.

5:22 PM Changeset in webkit [168510] by mhahnenberg@apple.com
  • 3 edits
    1 add in trunk/Source/JavaScriptCore

Base case for get-by-id inline cache doesn't check for HasImpureGetOwnPropertySlot
https://bugs.webkit.org/show_bug.cgi?id=132695

Reviewed by Filip Pizlo.

We check in the case where we're accessing something other than the base object (e.g. the prototype),
but we fail to do so for the base object.

  • jit/Repatch.cpp:

(JSC::tryCacheGetByID):
(JSC::tryBuildGetByIDList):

  • jsc.cpp: Added some infrastructure to support this test. We don't currently trigger this bug anywhere in WebKit

because all of the values that are returned that could be impure are set to uncacheable anyways.
(WTF::ImpureGetter::ImpureGetter):
(WTF::ImpureGetter::createStructure):
(WTF::ImpureGetter::create):
(WTF::ImpureGetter::finishCreation):
(WTF::ImpureGetter::getOwnPropertySlot):
(WTF::ImpureGetter::visitChildren):
(WTF::ImpureGetter::setDelegate):
(GlobalObject::finishCreation):
(functionCreateImpureGetter):
(functionSetImpureGetterDelegate):

  • tests/stress/impure-get-own-property-slot-inline-cache.js: Added.

(foo):

5:22 PM Changeset in webkit [168509] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS WebKit2] Flush RemoteLayerBackingStore contexts on a secondary queue
https://bugs.webkit.org/show_bug.cgi?id=132667
<rdar://problem/16861454>

Rubber-stamped by Simon Fraser.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
Add a null check to fix a crash on layers which lose backing store.

5:21 PM Changeset in webkit [168508] by jer.noble@apple.com
  • 11 edits in trunk/Source/WebCore

[MSE][Mac] Move AVStreamDataParser off-main-thread.
https://bugs.webkit.org/show_bug.cgi?id=132698

Reviewed by Eric Carlson.

-[AVStreamDataParser appendStreamData:] can casue the main thread to hang when a
large amount of media data is appended at once. Move the actual parsing of data
to a background (synchronous) dispatch queue, and split SourceBuffer::appendBufferTimerFired
into two functions, the latter of which will be called after the background queue
completes.

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::appendBufferTimerFired): Split into sourceBufferPrivateAppendComplete.
(WebCore::SourceBuffer::sourceBufferPrivateAppendComplete): Split from appendBufferTimerFired.

  • Modules/mediasource/SourceBuffer.h:
  • platform/graphics/SourceBufferPrivate.h:
  • platform/graphics/SourceBufferPrivateClient.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:
  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]): Re-dispatch to the

web thread.

(-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:withDiscontinuity:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didReachEndOfTrackWithTrackID:mediaType:]): Ditto.
(-[WebAVStreamDataParserListener streamDataParser:didProvideContentKeyRequestInitializationData:forTrackID:]): Ditto.
(WebCore::globalDataParserQueue): Added.
(WebCore::SourceBufferPrivateAVFObjC::append): Dispatch to the globalDataParserQueue.
(WebCore::SourceBufferPrivateAVFObjC::appendCompleted): Added.

  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

(WebCore::MockSourceBufferPrivate::append): Adopt sourceBufferPrivateAppendComplete.

  • platform/mock/mediasource/MockSourceBufferPrivate.h:

Update SourceBufferPrivateGStreamer to match the new append return value:

  • platform/graphics/gstreamer/SourceBufferPrivateGStreamer.cpp:

(WebCore::SourceBufferPrivateGStreamer::append):

  • platform/graphics/gstreamer/SourceBufferPrivateGStreamer.h:
5:07 PM Changeset in webkit [168507] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.76-branch/Source

Versioning.

5:02 PM Changeset in webkit [168506] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-537.76.4

Versioning.

5:00 PM Changeset in webkit [168505] by matthew_hanson@apple.com
  • 5 edits in branches/safari-537.76-branch/Source

Versioning.

4:38 PM Changeset in webkit [168504] by commit-queue@webkit.org
  • 7 edits in trunk

Unreviewed, rolling out r168498.
https://bugs.webkit.org/show_bug.cgi?id=132714

broke Mavericks WK2 (Requested by litherum on #webkit).

Reverted changeset:

"http/tests/security/xss-DENIED-xsl-document-redirect.xml
fails with NetworkProcess"
https://bugs.webkit.org/show_bug.cgi?id=132523
http://trac.webkit.org/changeset/168498

4:25 PM Changeset in webkit [168503] by Lucas Forschler
  • 5 edits in branches/safari-537.75-branch/Source

Versioning.

4:23 PM Changeset in webkit [168502] by Lucas Forschler
  • 1 copy in tags/Safari-537.75.15

New Tag.

4:02 PM Changeset in webkit [168501] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit/mac

Merged r168500.

3:42 PM Changeset in webkit [168500] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Use a different install name for WebKitLegacy.framework for staged framework builds
https://bugs.webkit.org/show_bug.cgi?id=132711
<rdar://problem/16850620>

Reviewed by Dan Bernstein.

  • Configurations/WebKitLegacy.xcconfig:
3:29 PM Changeset in webkit [168499] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

REGRESSION (r168053): Phone number detection boxes are wrong when scrolled
https://bugs.webkit.org/show_bug.cgi?id=132706
-and corresponding-
<rdar://problem/16787957>

Reviewed by Tim Horton.

We need to paint the boxes in Document coordinates. Range::boundingRect() was
giving us a point that took scroll position into account, and that’s not what we
want. Here we use Range::textQuads() instead so that we can get something in
Document coordinates, and then we need to convert that up to the main Document’s
coordinates.

  • WebProcess/WebPage/mac/TelephoneNumberOverlayControllerMac.mm:

(WebKit::textQuadsToBoundingRectForRange):
(WebKit::TelephoneNumberOverlayController::drawRect):

The telephone click function wants a point in Window coordinates.
(WebKit::TelephoneNumberOverlayController::mouseEvent):

3:03 PM Changeset in webkit [168498] by mmaxfield@apple.com
  • 7 edits in trunk

http/tests/security/xss-DENIED-xsl-document-redirect.xml fails with NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=132523

Reviewed by Alexey Proskuryakov.

Source/WebCore:
We should not manufacture a response in the event of an error during a
synchronous XHR. In addition, this test removes one place that is
sensitive to such a manufactured response.

Updates test expectations.

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::platformLoadResourceSynchronously): Do not
manufacture a response

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::platformLoadResourceSynchronously): Do not
manufacture a response

  • xml/XSLTProcessorLibxslt.cpp:

(WebCore::docLoaderFunc): Only use the response's URL if no error
occurred.

LayoutTests:
Two tests have been rebaselined, and re-enable test that now passes

  • fast/xmlhttprequest/xmlhttprequest-nonexistent-file-expected.txt: The test describes

that success causes an ErrorHandler to run, but there was no ErrorHandler line in the
expected output. This now gets printed.

  • http/tests/security/xss-DENIED-xsl-document-redirect-expected.txt: Expecting logging

output on failed redirection

  • platform/mac-wk2/TestExpectations: Re-enable test that now passes.
2:51 PM Changeset in webkit [168497] by fpizlo@apple.com
  • 5 edits in trunk/Source

deleteAllCompiledCode() shouldn't use the suspension worklist
https://bugs.webkit.org/show_bug.cgi?id=132708

Reviewed by Mark Hahnenberg.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::setOptimizationThresholdBasedOnCompilationResult):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::isStillValid):

  • heap/Heap.cpp:

(JSC::Heap::deleteAllCompiledCode):

2:29 PM Changeset in webkit [168496] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] WebKit should listen to critical memory warnings.
<https://webkit.org/b/132704>
<rdar://problem/16857112>

Listen for DISPATCH_MEMORYSTATUS_PRESSURE_CRITICAL in addition to
DISPATCH_MEMORYSTATUS_PRESSURE_WARN, since we may only get the critical
notification on some systems.

Reviewed by Gavin Barraclough.

  • platform/cocoa/MemoryPressureHandlerCocoa.mm:

(WebCore::MemoryPressureHandler::install):

2:20 PM Changeset in webkit [168495] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: InspectorDOMAgent::getAccessibilityPropertiesForNode should gracefully handle bad node
https://bugs.webkit.org/show_bug.cgi?id=132697

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-05-08
Reviewed by Timothy Hatcher.

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::getAccessibilityPropertiesForNode):
Gracefully handle no node.

2:07 PM Changeset in webkit [168494] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Console error when launching Web Inspector "Mode htmlmixed failed to advance stream"
https://bugs.webkit.org/show_bug.cgi?id=132703

Patch by Jono Wells <jonowells@apple.com> on 2014-05-08
Reviewed by Timothy Hatcher.

The CodeMirror 4 update brought with it a change in the XML mode that
causes our XML mode extension to fail to consume empty paired quotes
correctly.

  • UserInterface/Views/CodeMirrorAdditions.js:

Updated extendedXMLToken() to properly handle empty paired quotes.

1:56 PM Changeset in webkit [168493] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebKit2

[iOS WebKit2] Flush RemoteLayerBackingStore contexts on a secondary queue
https://bugs.webkit.org/show_bug.cgi?id=132667
<rdar://problem/15349483>

Reviewed by Darin Adler.

  • Shared/mac/RemoteLayerBackingStore.h:
  • Shared/mac/RemoteLayerBackingStore.mm:

(WebKit::RemoteLayerBackingStore::takeFrontContextPendingFlush):
(WebKit::RemoteLayerBackingStore::flush): Deleted.
Add takeFrontContextPendingFlush, which returns the painted-but-not-yet-flushed front context,
and drops our reference to it. This needs to be called on all backing store between paints.

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:

(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::hasFlushed):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::~RemoteLayerTreeDrawingArea):
(WebKit::RemoteLayerTreeDrawingArea::flushLayers):
(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::create):
(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::BackingStoreFlusher):
(WebKit::RemoteLayerTreeDrawingArea::BackingStoreFlusher::flush):
(WebKit::flushBackingStoreChangesInTransaction): Deleted.
Flush backing store and send the layer tree commit to the UI process from a dispatch queue.
We will only ever have a single commit in flight at a time, and there's a new
RELEASE_ASSERT to ensure that is the case.
We package up the commit on the main thread; the queue calls CGContextFlush
on all of the newly painted contexts and then tosses the commit over to the UI process.
This is a win in many cases because the Web process main thread can go ahead
and do other non-painting tasks while the queue is blocked on painting.

1:41 PM Changeset in webkit [168492] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit/mac

Merged r168482.

1:39 PM Changeset in webkit [168491] by Lucas Forschler
  • 5 edits in branches/safari-538.34-branch

Merged r168477.

1:34 PM Changeset in webkit [168490] by matthew_hanson@apple.com
  • 6 edits
    1 delete in branches/safari-537.76-branch

Rollout r168034.

1:28 PM Changeset in webkit [168489] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[wk2] Don't use the XPC-based plugin process for Adobe Reader
https://bugs.webkit.org/show_bug.cgi?id=132701
<rdar://problem/16792692>

Reviewed by Anders Carlsson.

  • UIProcess/Plugins/mac/PluginProcessProxyMac.mm:

(WebKit::shouldUseXPC):
Rename the debugging default to a more modern and accurate name.
Don't use XPC for Adobe Reader.

(WebKit::PluginProcessProxy::platformGetLaunchOptions):
Move the check for plugins that need an executable heap into shouldUseXPC.

1:20 PM Changeset in webkit [168488] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

REGRESSION(r168471): Update the builder names on the scheduler list.
https://bugs.webkit.org/show_bug.cgi?id=132699

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-08
Reviewed by Martin Robinson.

On r168471 I missed to update the builder names for the GTK build
bots on the AnyBranchScheduler type scheduler list of bots.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
1:10 PM Changeset in webkit [168487] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Remove an incorrect assertion on asynchronous touch dispatch
https://bugs.webkit.org/show_bug.cgi?id=132660

Reviewed by Enrica Casucci.

This assertion no longer make sense after r168393. Now the asynchronous behavior is maintained
until the last finger leaves the screen.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::handleTouchEventAsynchronously):

12:52 PM Changeset in webkit [168486] by Lucas Forschler
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

12:40 PM Changeset in webkit [168485] by Lucas Forschler
  • 1 copy in branches/safari-538.34-branch

New Branch.

12:40 PM Changeset in webkit [168484] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Selecting frame in debugger sidebar doesn't reveal code
https://bugs.webkit.org/show_bug.cgi?id=132112

Patch by Jono Wells <jonowells@apple.com> on 2014-05-08
Reviewed by Joseph Pecoraro.

WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar was checking
only one of the two content trees in the DebuggerSidebarPanel instance. Added
base getter elementIsSelected to NavigationSidebarPanel and extended it in
DebuggerSidebarPanel.

  • UserInterface/Base/Main.js:

(WebInspector._revealAndSelectRepresentedObjectInNavigationSidebar): modified logic to check selectedSidebarPanel.elementIsSelected.

  • UserInterface/Views/DebuggerSidebarPanel.js:

(WebInspector.DebuggerSidebarPanel.prototype.get elementIsSelected): Checks breakpoint and call stack trees.

  • UserInterface/Views/NavigationSidebarPanel.js:

(WebInspector.NavigationSidebarPanel.prototype.get elementIsSelected): Base implementation.

12:19 PM Changeset in webkit [168483] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the iOS build after r168476.

  • platform/graphics/mac/GraphicsContextMac.mm:

(WebCore::GraphicsContext::drawFocusRing):

12:15 PM Changeset in webkit [168482] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Wrap a new class definition with has_include()
<rdar://problem/16852395> and https://bugs.webkit.org/show_bug.cgi?id=132694

Reviewed by Tim Horton.

  • Misc/WebSharingServicePickerController.mm:
12:14 PM Changeset in webkit [168481] by Bem Jones-Bey
  • 15 edits
    4 adds in trunk

[CSS Shapes] Shapes do not resolve dimensions specified in viewport units
https://bugs.webkit.org/show_bug.cgi?id=124052

Reviewed by Dirk Schulze.

Source/WebCore:
Viewport unit resolution doesn't work unless the RenderView is passed
down into the floatValueForLength methods. All this does is plumb down
a RenderView in all of these cases.

Tests: css3/masking/clip-path-polygon-viewport-units.html

fast/shapes/shape-outside-floats/shape-outside-floats-viewport-units.html

  • css/BasicShapeFunctions.cpp:

(WebCore::floatValueForCenterCoordinate):

  • css/BasicShapeFunctions.h:
  • css/LengthFunctions.cpp:

(WebCore::floatSizeForLengthSize):

  • css/LengthFunctions.h:
  • rendering/ClipPathOperation.h:

(WebCore::ShapeClipPathOperation::pathForReferenceRect):
(WebCore::BoxClipPathOperation::pathForReferenceRect):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::setupClipPath):

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createShape):

  • rendering/shapes/Shape.h:
  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::computedShape):

  • rendering/style/BasicShapes.cpp:

(WebCore::BasicShapeCircle::floatValueForRadiusInBox):
(WebCore::BasicShapeCircle::path):
(WebCore::BasicShapeEllipse::floatValueForRadiusInBox):
(WebCore::BasicShapeEllipse::path):
(WebCore::BasicShapePolygon::path):
(WebCore::floatSizeForLengthSize):
(WebCore::BasicShapeInset::path):

  • rendering/style/BasicShapes.h:
  • rendering/svg/SVGRenderingContext.cpp:

(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

LayoutTests:

  • css3/masking/clip-path-polygon-viewport-units-expected.html: Added.
  • css3/masking/clip-path-polygon-viewport-units.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-viewport-units-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-viewport-units.html: Added.
12:07 PM Changeset in webkit [168480] by fpizlo@apple.com
  • 7 edits
    1 add in trunk/Source/JavaScriptCore

SSA conversion should delete PhantomLocals for captured variables
https://bugs.webkit.org/show_bug.cgi?id=132693

Reviewed by Mark Hahnenberg.

  • dfg/DFGCommon.cpp:

(JSC::DFG::startCrashing): Parallel JIT and a JIT bug means that we man dump IR in parallel. This is the workaround. This patch uses it in all of the places where we dump IR and crash.

  • dfg/DFGCommon.h:
  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::injectTypeConversionsForEdge): Use the workaround.

  • dfg/DFGLivenessAnalysisPhase.cpp:

(JSC::DFG::LivenessAnalysisPhase::run): Use the workaround.

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run): Fix the bug - it's true that PhantomLocal for captured variables doesn't need anything done to it, but it's wrong that we didn't delete it outright.

  • dfg/DFGValidate.cpp: Use the workaround.
  • tests/stress/phantom-local-captured-but-not-flushed-to-ssa.js: Added.

(foo):
(bar):

12:03 PM Changeset in webkit [168479] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

Cue display events may not be registered during page load.
https://bugs.webkit.org/show_bug.cgi?id=132696
<rdar://problem/16652874>

Reviewed by Eric Carlson.

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.handleTextTrackAdd): Don't register
for 'cuechange' events anymore.
(Controller.prototype.handleTextTrackRemove): Ditto.
(Controller.prototype.updateCaptionContainer): Reduce CSS
churn by not adding/removing 'Hidden' class every time a
new cue is processed. Only do this when transitioning
track display state.
(Controller.prototype.handleTextTrackCueChange): Deleted.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::updateTextTrackDisplay): Call
'updateTextTrackContainer' directory when processing cues,
rather than trampolining through the JS layer.

11:33 AM Changeset in webkit [168478] by ap@apple.com
  • 20 edits
    2 adds in trunk/Source

Make BlobDataFileReference manage its sandbox extension
https://bugs.webkit.org/show_bug.cgi?id=132689

Reviewed by Anders Carlsson.

Source/WebCore:

  • WebCore.exp.in: Export symbols that are now needed in WebKit2 to subclass BlobDataFileReference.
  • fileapi/ThreadableBlobRegistry.cpp: (WebCore::ThreadableBlobRegistry::registerFileBlobURL):
  • platform/network/BlobData.cpp: (WebCore::BlobData::appendFile):
  • platform/network/BlobData.h: (WebCore::BlobDataItem::BlobDataItem):
  • platform/network/BlobRegistry.h:
  • platform/network/BlobRegistryImpl.cpp: (WebCore::BlobRegistryImpl::registerFileBlobURL):
  • platform/network/BlobRegistryImpl.h:

BlobRegistry now takes a BlobDataFileReference and not a path, so that WebKit2
could pass objects that include sandbox extensions.

  • platform/network/BlobDataFileReference.h:
  • platform/network/BlobDataFileReference.cpp:

(WebCore::BlobDataFileReference::~BlobDataFileReference): Added a virtual destructor.
(WebCore::BlobDataFileReference::size): We now record the size and modification time right away, no need to lazily calculate them.
(WebCore::BlobDataFileReference::expectedModificationTime): Ditto.
(WebCore::BlobDataFileReference::startTrackingModifications): Record time and size
(since it's a single call). However, size calculation will become complicated again soon.
(WebCore::BlobDataFileReference::prepareForFileAccess): A hook for subclasses.
(WebCore::BlobDataFileReference::revokeFileAccess): Ditto.
(WebCore::BlobDataFileReference::computeFileSystemData): Deleted.

Source/WebKit2:

  • CMakeLists.txt:
  • PlatformGTK.cmake:
  • WebKit2.xcodeproj/project.pbxproj:

Added BlobDataFileReferenceWithSandboxExtension.

  • NetworkProcess/FileAPI/NetworkBlobRegistry.cpp:

(WebKit::NetworkBlobRegistry::registerFileBlobURL):
(WebKit::NetworkBlobRegistry::registerBlobURL):
(WebKit::NetworkBlobRegistry::registerBlobURLForSlice):
(WebKit::NetworkBlobRegistry::unregisterBlobURL):
(WebKit::NetworkBlobRegistry::connectionToWebProcessDidClose):
(WebKit::NetworkBlobRegistry::filesInBlob):
(WebKit::NetworkBlobRegistry::sandboxExtensions): Deleted.

  • NetworkProcess/FileAPI/NetworkBlobRegistry.h:

We no longer track sandbox extensions here. Instead, provide a way to get files
for a blob, which contain extensions and can allow access to themselves.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::NetworkResourceLoader):
(WebKit::NetworkResourceLoader::consumeSandboxExtensions):
(WebKit::NetworkResourceLoader::invalidateSandboxExtensions):

  • NetworkProcess/NetworkResourceLoader.h:

Allow/revoke access to files in blob, just like we do for explicitly passed extensions.

  • Shared/BlobDataFileReferenceWithSandboxExtension.cpp: Added.

(WebKit::BlobDataFileReferenceWithSandboxExtension::BlobDataFileReferenceWithSandboxExtension):
(WebKit::BlobDataFileReferenceWithSandboxExtension::~BlobDataFileReferenceWithSandboxExtension):
(WebKit::BlobDataFileReferenceWithSandboxExtension::prepareForFileAccess):
(WebKit::BlobDataFileReferenceWithSandboxExtension::revokeFileAccess):

  • Shared/BlobDataFileReferenceWithSandboxExtension.h: Added.

(WebKit::BlobDataFileReferenceWithSandboxExtension::create):
A subclass of BlobDataFileReference that also contains a sandbox extension. NetworkProcess
always uses it in BlobRegistryImpl.

  • WebProcess/FileAPI/BlobRegistryProxy.cpp: (WebKit::BlobRegistryProxy::registerFileBlobURL):
  • WebProcess/FileAPI/BlobRegistryProxy.h:

Updated for BlobRegistry interface changes. BlobRegistryProxy doesn't really need
a BlobDataFileReference here, as it only uses a path, but it needs to implement the same interface
as BlobRegistryImpl.

11:24 AM Changeset in webkit [168477] by beidson@apple.com
  • 5 edits in trunk

"shouldKeepCurrentBackForwardListItemInList" API should pass clientInfo to the callback
<rdar://problem/16855357> and https://bugs.webkit.org/show_bug.cgi?id=132692

Reviewed by Tim Horton.

Source/WebKit2:

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageLoaderClient):

  • UIProcess/API/C/WKPageLoaderClient.h:

Tools:

  • TestWebKitAPI/Tests/WebKit2/ShouldKeepCurrentBackForwardListItemInList.cpp:

(TestWebKitAPI::shouldKeepCurrentBackForwardListItemInList):

10:57 AM Changeset in webkit [168476] by cabanier@adobe.com
  • 5 edits
    2 adds in trunk

Add support for drawFocusIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=132584

Reviewed by Dirk Schulze.

Source/WebCore:
The drawFocusIfNeeded API will draw a focus ring if the element that is passed
in is focused and a child element of the canvas.

Test: fast/canvas/draw-focus-if-needed.html

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawFocusIfNeeded):

  • html/canvas/CanvasRenderingContext2D.h:
  • html/canvas/CanvasRenderingContext2D.idl:

LayoutTests:

  • fast/canvas/draw-focus-if-needed-expected.txt: Added.
  • fast/canvas/draw-focus-if-needed.html: Added.
10:50 AM Changeset in webkit [168475] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

REGRESSION(r168471): Duplicate builddirs broke the build master.
https://bugs.webkit.org/show_bug.cgi?id=132688

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-08
Reviewed by Carlos Garcia Campos.

Rename the builddirs of the new GTK bots introduced on r168471 to
be unique. Otherwise the master will break.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
10:32 AM Changeset in webkit [168474] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[GTK] webkitdom script assumes mkdir only fails because the directory already exists
https://bugs.webkit.org/show_bug.cgi?id=132674

Reviewed by Philippe Normand.

Only ignore mkdir failure when exception is raised because the
file already exists and it's a directory.

  • gtk/webkitdom.py:

(write_doc_files):

9:42 AM Changeset in webkit [168473] by Antti Koivisto
  • 6 edits in trunk/Source

[iOS WebKit2] Can't activate text fields on Facebook
https://bugs.webkit.org/show_bug.cgi?id=132682

Reviewed by Enrica Casucci.

Source/WebCore:

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::fired):

The isDocument() test here had reversed in the merge breaking content change observer callback.

Source/WebKit2:

  • WebProcess/WebCoreSupport/ios/WebChromeClientIOS.mm:

(WebKit::WebChromeClient::observedContentChange):

Implement content change observer callback.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::handleSyntheticClick):

If the event gets canceled by a potential change (a started short-duration timer)
save the position and node so we can continue later.

(WebKit::WebPage::completePendingSyntheticClickForContentChangeObserver):

If it turns out the observed timer changed nothing continue the click event.

(WebKit::WebPage::completeSyntheticClick):

Factored click event dispatch part of handleSyntheticClick here.

9:19 AM Changeset in webkit [168472] by commit-queue@webkit.org
  • 30 edits in trunk/LayoutTests

[CSS Blending] Removing -webkit- prefixes for mix-blend-mode and isolation from layout tests.
https://bugs.webkit.org/show_bug.cgi?id=132680

Patch by Ion Rosca <Ion Rosca> on 2014-05-08
Reviewed by Mihnea Ovidenie.

  • css3/blending/blend-mode-accelerated-parent-overflow-hidden.html:
  • css3/blending/blend-mode-isolation-accelerated-overflow-hidden.html:
  • css3/blending/blend-mode-isolation-flags-append-non-stacking-context-blending.html:
  • css3/blending/blend-mode-isolation-flags-append-stacking-context-blending.html:
  • css3/blending/blend-mode-isolation-flags-remove-non-stacking-context-blending.html:
  • css3/blending/blend-mode-isolation-flags-remove-stacking-context-blending.html:
  • css3/blending/blend-mode-isolation-flags-turn-off-blending-no-isolation.html:
  • css3/blending/blend-mode-isolation-flags-turn-off-blending.html:
  • css3/blending/blend-mode-isolation-flags-turn-off-stacking-context.html:
  • css3/blending/blend-mode-isolation-flags-turn-on-blending.html:
  • css3/blending/blend-mode-isolation-flags-turn-on-stacking-context.html:
  • css3/blending/blend-mode-isolation-overflow-hidden.html:
  • css3/blending/blend-mode-isolation-turn-off-self-painting-layer.html:
  • css3/blending/blend-mode-isolation-turn-off-self-painting-layer1.html:
  • css3/blending/blend-mode-isolation-turn-off-self-painting-layer2.html:
  • css3/blending/blend-mode-isolation-turn-on-self-painting-layer.html:
  • css3/blending/blend-mode-overflow.html:
  • css3/blending/repaint/blend-mode-turn-off-isolation-no-effect.html:
  • css3/blending/repaint/blend-mode-turn-off-isolation.html:
  • css3/blending/svg-blend-color-burn.html:
  • css3/blending/svg-blend-darken.html:
  • css3/blending/svg-blend-difference.html:
  • css3/blending/svg-blend-exclusion.html:
  • css3/blending/svg-blend-layer-mask.html:
  • css3/blending/svg-blend-lighten.html:
  • css3/blending/svg-blend-normal.html:
  • css3/blending/svg-blend-overlay.html:
  • css3/blending/svg-isolation-default.html:
  • css3/blending/svg-isolation-simple.html:
9:08 AM Changeset in webkit [168471] by commit-queue@webkit.org
  • 10 edits in trunk/Tools

[WK2][GTK] Split the 64-bit GTK buildbots in Build and Test.
https://bugs.webkit.org/show_bug.cgi?id=131358

Patch by Carlos Alberto Lopez Perez <clopez@igalia.com> on 2014-05-08
Reviewed by Carlos Garcia Campos.

Current 64-bit GTK build bots (Release and Debug) not only test
the build, but run all tests. Split each one of the bots in
BuildOnly and TestWebKit2.

This will allow us to have a better overview of the status of
the GTK port.

Original patch from Sergio Villar Senin <svillar@igalia.com>

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot):

  • Scripts/webkitpy/port/builders.py:
  • Scripts/webkitpy/tool/commands/rebaseline_unittest.py:

(TestRebaselineTest.test_baseline_directory):

  • TestResultServer/static-dashboards/builders.jsonp:
  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:

(resetGlobals):

  • TestResultServer/static-dashboards/loader_unittests.js:
5:26 AM Changeset in webkit [168470] by commit-queue@webkit.org
  • 122 edits
    5 adds in trunk/LayoutTests

[EFL] Rebaseline after enabling new multi-column mode (r168046)
https://bugs.webkit.org/show_bug.cgi?id=132679

Unreviewed gardening.

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-05-08

  • platform/efl/css3/unicode-bidi-isolate-basic-expected.png:
  • platform/efl/css3/unicode-bidi-isolate-basic-expected.txt:
  • platform/efl/fast/block/float/float-not-removed-from-next-sibling4-expected.png:
  • platform/efl/fast/block/float/float-not-removed-from-next-sibling4-expected.txt:
  • platform/efl/fast/line-grid/line-grid-inside-columns-expected.png:
  • platform/efl/fast/line-grid/line-grid-inside-columns-expected.txt:
  • platform/efl/fast/line-grid/line-grid-into-columns-expected.txt:
  • platform/efl/fast/multicol/block-axis-horizontal-bt-expected.png:
  • platform/efl/fast/multicol/block-axis-horizontal-bt-expected.txt:
  • platform/efl/fast/multicol/block-axis-horizontal-tb-expected.png:
  • platform/efl/fast/multicol/block-axis-horizontal-tb-expected.txt:
  • platform/efl/fast/multicol/block-axis-vertical-lr-expected.png:
  • platform/efl/fast/multicol/block-axis-vertical-lr-expected.txt:
  • platform/efl/fast/multicol/block-axis-vertical-rl-expected.txt:
  • platform/efl/fast/multicol/border-padding-pagination-expected.png:
  • platform/efl/fast/multicol/border-padding-pagination-expected.txt:
  • platform/efl/fast/multicol/client-rects-expected.png:
  • platform/efl/fast/multicol/client-rects-expected.txt:
  • platform/efl/fast/multicol/client-rects-spanners-complex-expected.txt: Added.
  • platform/efl/fast/multicol/client-rects-spanners-expected.txt: Added.
  • platform/efl/fast/multicol/column-break-with-balancing-expected.txt:
  • platform/efl/fast/multicol/column-count-with-rules-expected.txt:
  • platform/efl/fast/multicol/column-rules-expected.png:
  • platform/efl/fast/multicol/column-rules-expected.txt:
  • platform/efl/fast/multicol/column-rules-stacking-expected.txt:
  • platform/efl/fast/multicol/columns-shorthand-parsing-expected.txt:
  • platform/efl/fast/multicol/float-avoidance-expected.txt:
  • platform/efl/fast/multicol/float-multicol-expected.txt:
  • platform/efl/fast/multicol/float-paginate-complex-expected.txt:
  • platform/efl/fast/multicol/float-paginate-empty-lines-expected.txt:
  • platform/efl/fast/multicol/float-paginate-expected.txt:
  • platform/efl/fast/multicol/layers-in-multicol-expected.txt:
  • platform/efl/fast/multicol/layers-split-across-columns-expected.txt:
  • platform/efl/fast/multicol/margin-collapse-expected.txt:
  • platform/efl/fast/multicol/max-height-columns-block-expected.png:
  • platform/efl/fast/multicol/max-height-columns-block-expected.txt:
  • platform/efl/fast/multicol/nested-columns-expected.png:
  • platform/efl/fast/multicol/nested-columns-expected.txt:
  • platform/efl/fast/multicol/newmulticol/client-rects-expected.txt: Added.
  • platform/efl/fast/multicol/overflow-across-columns-expected.png:
  • platform/efl/fast/multicol/overflow-across-columns-expected.txt:
  • platform/efl/fast/multicol/overflow-across-columns-percent-height-expected.png:
  • platform/efl/fast/multicol/overflow-across-columns-percent-height-expected.txt:
  • platform/efl/fast/multicol/overflow-unsplittable-expected.png:
  • platform/efl/fast/multicol/overflow-unsplittable-expected.txt:
  • platform/efl/fast/multicol/paginate-block-replaced-expected.txt:
  • platform/efl/fast/multicol/pagination/BottomToTop-bt-expected.txt:
  • platform/efl/fast/multicol/pagination/BottomToTop-lr-expected.txt:
  • platform/efl/fast/multicol/pagination/BottomToTop-rl-expected.txt:
  • platform/efl/fast/multicol/pagination/BottomToTop-tb-expected.txt:
  • platform/efl/fast/multicol/pagination/LeftToRight-bt-expected.txt:
  • platform/efl/fast/multicol/pagination/LeftToRight-lr-expected.txt:
  • platform/efl/fast/multicol/pagination/LeftToRight-rl-expected.txt:
  • platform/efl/fast/multicol/pagination/LeftToRight-tb-expected.txt:
  • platform/efl/fast/multicol/pagination/RightToLeft-bt-expected.txt:
  • platform/efl/fast/multicol/pagination/RightToLeft-lr-expected.txt:
  • platform/efl/fast/multicol/pagination/RightToLeft-rl-expected.txt:
  • platform/efl/fast/multicol/pagination/RightToLeft-tb-expected.txt:
  • platform/efl/fast/multicol/pagination/TopToBottom-bt-expected.txt:
  • platform/efl/fast/multicol/pagination/TopToBottom-lr-expected.txt:
  • platform/efl/fast/multicol/pagination/TopToBottom-rl-expected.txt:
  • platform/efl/fast/multicol/pagination/TopToBottom-tb-expected.txt:
  • platform/efl/fast/multicol/positioned-split-expected.txt:
  • platform/efl/fast/multicol/positive-leading-expected.png:
  • platform/efl/fast/multicol/positive-leading-expected.txt:
  • platform/efl/fast/multicol/scrolling-column-rules-expected.txt: Added.
  • platform/efl/fast/multicol/scrolling-overflow-expected.png:
  • platform/efl/fast/multicol/scrolling-overflow-expected.txt:
  • platform/efl/fast/multicol/shrink-to-column-height-for-pagination-expected.txt:
  • platform/efl/fast/multicol/single-line-expected.txt:
  • platform/efl/fast/multicol/span/anonymous-before-child-parent-crash-expected.png:
  • platform/efl/fast/multicol/span/anonymous-before-child-parent-crash-expected.txt:
  • platform/efl/fast/multicol/span/anonymous-split-block-crash-expected.png:
  • platform/efl/fast/multicol/span/anonymous-split-block-crash-expected.txt:
  • platform/efl/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.png:
  • platform/efl/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.txt:
  • platform/efl/fast/multicol/span/clone-flexbox-expected.txt:
  • platform/efl/fast/multicol/span/clone-summary-expected.txt:
  • platform/efl/fast/multicol/span/span-as-immediate-child-complex-splitting-expected.txt:
  • platform/efl/fast/multicol/span/span-as-immediate-child-generated-content-expected.txt:
  • platform/efl/fast/multicol/span/span-as-immediate-columns-child-expected.txt:
  • platform/efl/fast/multicol/span/span-as-nested-columns-child-dynamic-expected.txt:
  • platform/efl/fast/multicol/span/span-as-nested-columns-child-expected.txt:
  • platform/efl/fast/multicol/span/span-as-nested-inline-block-child-expected.txt:
  • platform/efl/fast/multicol/span/span-margin-collapsing-expected.txt:
  • platform/efl/fast/multicol/table-margin-collapse-expected.txt:
  • platform/efl/fast/multicol/table-vertical-align-expected.txt:
  • platform/efl/fast/multicol/unsplittable-inline-block-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/border-padding-pagination-expected.png:
  • platform/efl/fast/multicol/vertical-lr/border-padding-pagination-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/column-break-with-balancing-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/column-count-with-rules-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/column-rules-expected.png:
  • platform/efl/fast/multicol/vertical-lr/column-rules-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/float-avoidance-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/float-multicol-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/float-paginate-complex-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/float-paginate-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/nested-columns-expected.png:
  • platform/efl/fast/multicol/vertical-lr/nested-columns-expected.txt:
  • platform/efl/fast/multicol/vertical-lr/unsplittable-inline-block-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/border-padding-pagination-expected.png:
  • platform/efl/fast/multicol/vertical-rl/border-padding-pagination-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/column-break-with-balancing-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/column-count-with-rules-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/column-rules-expected.png:
  • platform/efl/fast/multicol/vertical-rl/column-rules-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/float-avoidance-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/float-multicol-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/float-paginate-complex-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/float-paginate-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/nested-columns-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/rule-style-expected.txt:
  • platform/efl/fast/multicol/vertical-rl/unsplittable-inline-block-expected.txt:
  • platform/efl/fast/overflow/paged-x-div-expected.txt:
  • platform/efl/fast/overflow/paged-x-div-with-column-gap-expected.txt:
  • platform/efl/fast/overflow/paged-x-on-root-expected.png:
  • platform/efl/fast/overflow/paged-x-on-root-expected.txt:
  • platform/efl/fast/overflow/paged-x-with-column-gap-expected.png:
  • platform/efl/fast/overflow/paged-x-with-column-gap-expected.txt:
  • platform/efl/fast/overflow/paged-y-div-expected.txt:
  • platform/efl/fast/overflow/paged-y-on-root-expected.png:
  • platform/efl/fast/overflow/paged-y-on-root-expected.txt:
  • platform/efl/fast/repaint/multicol-repaint-expected.png:
  • platform/efl/fast/repaint/multicol-repaint-expected.txt:
3:59 AM Changeset in webkit [168469] by svillar@igalia.com
  • 58 edits in trunk/Source/WebCore

Replace DEPRECATED_DEFINE_STATIC_LOCAL by static NeverDestroyed<T> in svg/
https://bugs.webkit.org/show_bug.cgi?id=132647

Reviewed by Darin Adler.

  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::isSupportedAttribute):

  • svg/SVGAnimateMotionElement.cpp:

(WebCore::SVGAnimateMotionElement::isSupportedAttribute):

  • svg/SVGAnimateTransformElement.cpp:

(WebCore::SVGAnimateTransformElement::isSupportedAttribute):

  • svg/SVGAnimatedLength.cpp:

(WebCore::sharedSVGLength):

  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::isSupportedAttribute):

  • svg/SVGCircleElement.cpp:

(WebCore::SVGCircleElement::isSupportedAttribute):

  • svg/SVGClipPathElement.cpp:

(WebCore::SVGClipPathElement::isSupportedAttribute):

  • svg/SVGComponentTransferFunctionElement.cpp:

(WebCore::SVGComponentTransferFunctionElement::isSupportedAttribute):

  • svg/SVGCursorElement.cpp:

(WebCore::SVGCursorElement::isSupportedAttribute):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::instancesForElement):
(WebCore::SVGElement::childShouldCreateRenderer):

  • svg/SVGEllipseElement.cpp:

(WebCore::SVGEllipseElement::isSupportedAttribute):

  • svg/SVGFEBlendElement.cpp:

(WebCore::SVGFEBlendElement::isSupportedAttribute):

  • svg/SVGFEColorMatrixElement.cpp:

(WebCore::SVGFEColorMatrixElement::isSupportedAttribute):

  • svg/SVGFEComponentTransferElement.cpp:

(WebCore::SVGFEComponentTransferElement::isSupportedAttribute):

  • svg/SVGFECompositeElement.cpp:

(WebCore::SVGFECompositeElement::isSupportedAttribute):

  • svg/SVGFEConvolveMatrixElement.cpp:

(WebCore::SVGFEConvolveMatrixElement::isSupportedAttribute):

  • svg/SVGFEDiffuseLightingElement.cpp:

(WebCore::SVGFEDiffuseLightingElement::isSupportedAttribute):

  • svg/SVGFEDisplacementMapElement.cpp:

(WebCore::SVGFEDisplacementMapElement::isSupportedAttribute):

  • svg/SVGFEDropShadowElement.cpp:

(WebCore::SVGFEDropShadowElement::isSupportedAttribute):

  • svg/SVGFEGaussianBlurElement.cpp:

(WebCore::SVGFEGaussianBlurElement::isSupportedAttribute):

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::isSupportedAttribute):

  • svg/SVGFELightElement.cpp:

(WebCore::SVGFELightElement::isSupportedAttribute):

  • svg/SVGFEMergeNodeElement.cpp:

(WebCore::SVGFEMergeNodeElement::isSupportedAttribute):

  • svg/SVGFEMorphologyElement.cpp:

(WebCore::SVGFEMorphologyElement::isSupportedAttribute):

  • svg/SVGFEOffsetElement.cpp:

(WebCore::SVGFEOffsetElement::isSupportedAttribute):

  • svg/SVGFESpecularLightingElement.cpp:

(WebCore::SVGFESpecularLightingElement::isSupportedAttribute):

  • svg/SVGFETileElement.cpp:

(WebCore::SVGFETileElement::isSupportedAttribute):

  • svg/SVGFETurbulenceElement.cpp:

(WebCore::SVGFETurbulenceElement::isSupportedAttribute):

  • svg/SVGFilterElement.cpp:

(WebCore::SVGFilterElement::isSupportedAttribute):
(WebCore::SVGFilterElement::childShouldCreateRenderer):

  • svg/SVGFilterPrimitiveStandardAttributes.cpp:

(WebCore::SVGFilterPrimitiveStandardAttributes::isSupportedAttribute):

  • svg/SVGForeignObjectElement.cpp:

(WebCore::SVGForeignObjectElement::isSupportedAttribute):

  • svg/SVGGElement.cpp:

(WebCore::SVGGElement::isSupportedAttribute):

  • svg/SVGGradientElement.cpp:

(WebCore::SVGGradientElement::isSupportedAttribute):

  • svg/SVGGraphicsElement.cpp:

(WebCore::SVGGraphicsElement::isSupportedAttribute):

  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::isSupportedAttribute):

  • svg/SVGLength.cpp:

(WebCore::SVGLength::lengthModeForAnimatedLengthAttribute):

  • svg/SVGLineElement.cpp:

(WebCore::SVGLineElement::isSupportedAttribute):

  • svg/SVGLinearGradientElement.cpp:

(WebCore::SVGLinearGradientElement::isSupportedAttribute):

  • svg/SVGMPathElement.cpp:

(WebCore::SVGMPathElement::isSupportedAttribute):

  • svg/SVGMarkerElement.cpp:

(WebCore::SVGMarkerElement::isSupportedAttribute):

  • svg/SVGMaskElement.cpp:

(WebCore::SVGMaskElement::isSupportedAttribute):

  • svg/SVGPathElement.cpp:

(WebCore::SVGPathElement::isSupportedAttribute):

  • svg/SVGPatternElement.cpp:

(WebCore::SVGPatternElement::isSupportedAttribute):

  • svg/SVGPolyElement.cpp:

(WebCore::SVGPolyElement::isSupportedAttribute):

  • svg/SVGRadialGradientElement.cpp:

(WebCore::SVGRadialGradientElement::isSupportedAttribute):

  • svg/SVGRectElement.cpp:

(WebCore::SVGRectElement::isSupportedAttribute):

  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::isSupportedAttribute):

  • svg/SVGStopElement.cpp:

(WebCore::SVGStopElement::isSupportedAttribute):

  • svg/SVGStyleElement.cpp:

(WebCore::SVGStyleElement::isSupportedAttribute):

  • svg/SVGSymbolElement.cpp:

(WebCore::SVGSymbolElement::isSupportedAttribute):

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::isSupportedAttribute):

  • svg/SVGTests.cpp:

(WebCore::SVGTests::attributeToPropertyMap):

  • svg/SVGTextContentElement.cpp:

(WebCore::SVGTextContentElement::textLengthAnimated):
(WebCore::SVGTextContentElement::isSupportedAttribute):

  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::isSupportedAttribute):

  • svg/SVGTextPositioningElement.cpp:

(WebCore::SVGTextPositioningElement::isSupportedAttribute):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::isSupportedAttribute):
(WebCore::isDisallowedElement):

  • svg/SVGViewElement.cpp:

(WebCore::SVGViewElement::isSupportedAttribute):

3:35 AM Changeset in webkit [168468] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[CSS Blending] Replacing Unisolated with NotIsolated in variables and methods names
https://bugs.webkit.org/show_bug.cgi?id=132677

Patch by Ion Rosca <Ion Rosca> on 2014-05-08
Reviewed by Dirk Schulze.

No new tests required.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
(WebCore::RenderLayer::updateAncestorChainHasBlendingDescendants):
(WebCore::RenderLayer::dirtyAncestorChainHasBlendingDescendants):
(WebCore::RenderLayer::updateDescendantDependentFlags):
hasUnisolatedBlendingDescendants -> hasNotIsolatedBlendingDescendants
(WebCore::RenderLayer::addChild):
(WebCore::RenderLayer::removeChild):
(WebCore::RenderLayer::updateStackingContextsAfterStyleChange):

  • rendering/RenderLayer.h:

m_hasUnisolatedBlendingDescendants -> m_hasNotIsolatedBlendingDescendants
m_hasUnisolatedBlendingDescendantsStatusDirty -> m_hasNotIsolatedBlendingDescendantsStatusDirty
hasUnisolatedBlendingDescendants() -> hasNotIsolatedBlendingDescendants()
hasUnisolatedBlendingDescendantsStatusDirty() -> hasNotIsolatedBlendingDescendantsStatusDirty()
m_hasUnisolatedCompositedBlendingDescendants -> m_hasNotIsolatedCompositedBlendingDescendants
hasUnisolatedCompositedBlendingDescendants() -> hasNotIsolatedCompositedBlendingDescendants()
setHasUnisolatedCompositedBlendingDescendants() -> setHasNotIsolatedCompositedBlendingDescendants

  • rendering/RenderLayerCompositor.cpp:

(WebCore::CompositingState::CompositingState):
m_hasUnisolatedCompositedBlendingDescendants -> m_hasNotIsolatedCompositedBlendingDescendants
(WebCore::RenderLayerCompositor::computeCompositingRequirements):

3:28 AM Changeset in webkit [168467] by calvaris@igalia.com
  • 7 edits
    5 adds
    1 delete in trunk

[GTK] Enable skipped http/tests/media/hls/video-controls-live-stream.html
https://bugs.webkit.org/show_bug.cgi?id=132329

Reviewed by Eric Carlson.

Source/WebCore:
GTK port needed to define what happened with live stream media
controls. Now we disable and dim the timeline and tweak the
timers.

Test: http/tests/media/hls/video-controls-live-stream.html.

  • Modules/mediacontrols/mediaControlsGtk.js:

(ControllerGtk.prototype.configureControls): Moved logic from
setControlsType and changed to use an early return.
(ControllerGtk.prototype.reconnectControls): Redefined to just
configure the controls.
(ControllerGtk.prototype.handlePlay): If stream is live we don't
activate the current time just in case.
(ControllerGtk.prototype.updateDuration): Calls the superclass and
sets timeline.max to 0.
(ControllerGtk.prototype.setControlsType): Deleted.
(ControllerGtk.prototype.setIsLive): Configures controls and
disables the timeline if stream is live.

  • css/mediaControlsGtk.css:

(audio::-webkit-media-controls-timeline[disabled])
(video::-webkit-media-controls-timeline[disabled]): Dimmed the
timeline by setting opacity to 0.3.

LayoutTests:
Tweaked test, created GTK results, unskipped in GTK and moved the
current general expectations to be mac only.

  • http/tests/media/hls/video-controls-live-stream-expected.txt:

Moved.

  • http/tests/media/hls/video-controls-live-stream.html: Dump tree

and check status of the timelime.

  • media/media-controls.js:

(dumpMediaControlsTree): Added to dump the shadow dom tree.

  • platform/gtk/TestExpectations: Unskipped video-controls-live-stream.
  • platform/gtk/http/tests/media/hls/video-controls-live-stream-expected.txt: Added.
  • platform/mac/http/tests/media/hls/video-controls-live-stream-expected.txt:

Moved from
LayoutTests/http/tests/media/hls/video-controls-live-stream-expected.txt
and rebaselined.

1:42 AM Changeset in webkit [168466] by mihnea@adobe.com
  • 1 edit
    2 adds in trunk/LayoutTests

[CSS Regions] Content overflowing a fixed positioned region is clipped
https://bugs.webkit.org/show_bug.cgi?id=118607

Reviewed by Andrei Bucur.

Fixed by the overflow in regions work, add test to prevent future regressions.

  • fast/regions/fixed-pos-region-overflow-content-expected.html: Added.
  • fast/regions/fixed-pos-region-overflow-content.html: Added.
1:16 AM Changeset in webkit [168465] by commit-queue@webkit.org
  • 3 edits
    4 adds in trunk

[CSS Blending] Changing isolation CSS property should not trigger repaint in RenderStyle::changeRequiresLayerRepaint
https://bugs.webkit.org/show_bug.cgi?id=131436

Patch by Ion Rosca <Ion Rosca> on 2014-05-08
Reviewed by Dirk Schulze.

Source/WebCore:
The isolation:isolate property will create a stacking context. This is done in
StyleResolver::adjustRenderStyle where z-index is forced to 0.
If the element is already a stacking context for any other reason,
changing the isolation flag should not have any effect.

Tests: css3/blending/repaint/blend-mode-turn-off-isolation-no-effect.html

css3/blending/repaint/blend-mode-turn-off-isolation.html

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::changeRequiresLayerRepaint):
do not request repaint if isolation has changed.

LayoutTests:

  • css3/blending/repaint/blend-mode-turn-off-isolation-expected.txt: Added.
  • css3/blending/repaint/blend-mode-turn-off-isolation-no-effect-expected.txt: Added.
  • css3/blending/repaint/blend-mode-turn-off-isolation-no-effect.html: Added.
  • css3/blending/repaint/blend-mode-turn-off-isolation.html: Added.
1:05 AM Changeset in webkit [168464] by Manuel Rego Casasnovas
  • 4 edits
    2 adds in trunk

REGRESSION (r167652): SelectionState is not set properly for non leaf objects in pages with regions
https://bugs.webkit.org/show_bug.cgi?id=132493

Reviewed by David Hyatt.

Source/WebCore:
Non selection leaf elements were not included in the selection ranges,
that was causing that their selection state was not set properly and
when one of the element was removed as it was marked as SelectionNone
current selection was not removed.

Due to this fix, the regression detected in bug #131982 arose again.
Reverted changes from r167675 and reopened bug as previous fix was not
right. Updated TestExpectations accordingly.

Test: fast/regions/selection/crash-select-all.html

  • rendering/RenderView.cpp:

(WebCore::RenderView::splitSelectionBetweenSubtrees): We need to include
non selection leafs in the range, otherwise we won't be marking
selection state of some elements properly.

LayoutTests:

fast/regions/cssom/region-range-for-box-crash.html as crashing on
debug due to regression detected in bug #131982.

  • fast/regions/selection/crash-select-all-expected.txt: Added.
  • fast/regions/selection/crash-select-all.html: Added.
12:57 AM Changeset in webkit [168463] by zoltan@webkit.org
  • 3 edits
    4 adds in trunk

[CSS Shapes] Can't select content within the area of the floating box when clip-path is applied
https://bugs.webkit.org/show_bug.cgi?id=131375

Reviewed by Dirk Schulze.

Source/WebCore:
According to http://www.w3.org/TR/css-masking-1/, the clipped part of the element should
not have pointer event dispatching. So add this logic to RenderBlock::nodeAtPoint. This
fixes the bug as it disallows selection on any clipped parts.

I implemented the proper selection for the various CSS box types and added testing
for them. Also, I made and run performance tests for exposing mouse events over the
clipped/non-clipped area, which results can be seen in bugzilla.

Based on the patch made by Rob Buis <rob.buis@samsung.com>
Blink revision: http://src.chromium.org/viewvc/blink?view=revision&revision=172619

Tests: fast/masking/clip-path-selection.html

fast/shapes/shape-outside-floats/shape-outside-clip-path-selection.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::nodeAtPoint):

LayoutTests:

  • fast/masking/clip-path-selection-expected.txt: Added.
  • fast/masking/clip-path-selection.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-clip-path-selection-expected.txt: Added.
  • fast/shapes/shape-outside-floats/shape-outside-clip-path-selection.html: Added.
Note: See TracTimeline for information about the timeline view.