Timeline



May 15, 2014:

11:58 PM Changeset in webkit [168929] by matthew_hanson@apple.com
  • 2 edits in branches/safari-538.34-branch/Source/WebKit/mac

Merge r168913.

11:52 PM Changeset in webkit [168928] by Lucas Forschler
  • 7 edits in branches/safari-538.34.5-branch/Source

Merged r168452.

11:51 PM Changeset in webkit [168927] by matthew_hanson@apple.com
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Merge r168870.

11:47 PM Changeset in webkit [168926] by Lucas Forschler
  • 7 edits in branches/safari-538.34.5-branch/Source

Merged r168447.

10:21 PM Changeset in webkit [168925] by gyuyoung.kim@samsung.com
  • 4 edits in trunk

[EFL][WK2] Skip failing unit tests
https://bugs.webkit.org/show_bug.cgi?id=132979

Reviewed by Daniel Bates.

Source/WebKit2:

  • PlatformEfl.cmake: Skip failing unit tests for now.

Tools:

  • TestWebKitAPI/PlatformEfl.cmake: Skip failing unit tests for now.
9:51 PM Changeset in webkit [168924] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Attempt to fix the Apple Mavericks Release, Apple MountainLion Release,
Apple MountainLion Release (32-bit Build), EFL, and GTK builds following
<http://trac.webkit.org/changeset/168921> (https://bugs.webkit.org/show_bug.cgi?id=132669)

  • dom/ContainerNode.cpp: Include SVGElement.h for the definition of Node::hasTagName(const SVGQualifiedName&).
9:44 PM Changeset in webkit [168923] by Lucas Forschler
  • 5 edits in branches/safari-538.34.5-branch/Source

Versioning.

9:32 PM Changeset in webkit [168922] by Lucas Forschler
  • 1 copy in branches/safari-538.34.5-branch

New Branch

9:30 PM Changeset in webkit [168921] by dbates@webkit.org
  • 11 edits
    24 adds in trunk

ASSERT_NOT_REACHED() in DocumentOrderedMap::get() when removing SVG subtree
https://bugs.webkit.org/show_bug.cgi?id=132669
<rdar://problem/14931432>

Reviewed by Brent Fulgham and Ryosuke Niwa.

Source/WebCore:
Fixes an assertion failure when removing an SVG element with a duplicate id.

When removing an SVG element with id A we synchronously instruct each element that references A
to find the first element with id A, call this N, from the document root and register itself to
either receive subsequent notifications from N (say, there is another element with id A) or as
waiting for an element with id A (say, N = nullptr; => we removed the last element with id A from
the document). Because the elements that reference A perform this operation synchronously when
removing an element they consult an transient state of the DocumentOrderedMap when querying for the
element with id A.

Without loss of generality, let E, E_1, E_2, and E_3 be elements, where E_1, E_2, E_3 are children
of E in that order and E_1.id = E_2.id = A and E_3.href = #A (that is, it references an element
with id A). Suppose we remove E then we remove E_1, update DocumentOrderedMap to decrement its count
for id A, and notify E_3 to look for an element with id A. This leads to an assertion failure since
DocumentOrderedMap expects to find an element with id A, E_2, but cannot find such an element when
traversing from the document root because E was unlinked from the document root (i.e. E_2 is in a
disjoint subtree).

Tests: svg/custom/change-id-of-use-during-removal.html

svg/custom/remove-subtree-including-path-with-duplicate-id-referenced-by-later-textpath.html
svg/custom/remove-subtree-including-text-with-duplicate-id-referenced-by-later-tref.html
svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-earlier-use.html
svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-animate.html
svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-feimage.html
svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-mpath.html
svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use.html
svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use2.html
svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-in-different-subtree.html
svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-with-duplicate-id-in-different-subtree.html
svg/custom/remove-use-with-duplicate-id-referenced-by-later-use.html

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::removeChild): Call SVGDocumentExtensions::rebuildElements() after we remove
a DOM subtree so that applicable SVG elements can update their referenced element when the DocumentOrderedMap
is in a stable-state.
(WebCore::ContainerNode::removeChildren): Ditto.

  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::rebuildElements): Added; notifies SVG elements that their href attribute
changed so that they query the DocumentOrderedMap for the element they reference by id in their href attribute.
(WebCore::SVGDocumentExtensions::clearTargetDependencies): Added; Called from removing
an SVG element S from the DOM. Appends all elements that reference the id of S to the end of a Vector of
elements to be rebuilt (when SVGDocumentExtensions::rebuildElements() is called) and notifies these elements
that have been marked to be rebuilt so that they can invalidate their state (e.g. stop animating).
(WebCore::SVGDocumentExtensions::rebuildAllElementReferencesForTarget): Changed to take its argument by reference
(since it's always non-null) and simplified logic to synchronously notify SVG updates that their referenced element
may have changed. Calling SVGElement::svgAttributeChanged() on an element E should at most remove the dependencies
of E.

  • svg/SVGDocumentExtensions.h:
  • svg/SVGElement.cpp:

(WebCore::SVGElement::~SVGElement): Substitute "*this" for "this" as SVGDocumentExtensions::rebuildAllElementReferencesForTarget()
now takes a reference instead of a pointer.
(WebCore::SVGElement::removedFrom): Modified to call SVGDocumentExtensions::clearTargetDependencies().
(WebCore::SVGElement::attributeChanged): Substitute "*this" for "this" as SVGDocumentExtensions::rebuildAllElementReferencesForTarget()
now takes a reference instead of a pointer.

  • svg/SVGElement.h:

(WebCore::SVGElement::callClearTarget): Added; calls through to private virtual SVGElement::clearTarget().
(WebCore::SVGElement::clearTarget): Added.

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::clearTarget): Added.

  • svg/SVGTRefElement.h:
  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::clearTarget): Added.

  • svg/animation/SVGSMILElement.h:

LayoutTests:
Add tests to ensure that we don't cause an assertion failure when removing an SVG element with a duplicate id.

  • svg/custom/change-id-of-use-during-removal-expected.txt: Added.
  • svg/custom/change-id-of-use-during-removal.html: Added.
  • svg/custom/remove-subtree-including-path-with-duplicate-id-referenced-by-later-textpath-expected.txt: Added.
  • svg/custom/remove-subtree-including-path-with-duplicate-id-referenced-by-later-textpath.html: Added.
  • svg/custom/remove-subtree-including-text-with-duplicate-id-referenced-by-later-tref-expected.txt: Added.
  • svg/custom/remove-subtree-including-text-with-duplicate-id-referenced-by-later-tref.html: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-earlier-use-expected.txt: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-earlier-use.html: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-animate-expected.txt: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-animate.html: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-feimage-expected.txt: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-feimage.html: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-mpath-expected.txt: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-mpath.html: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use-expected.txt: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use.html: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use2-expected.txt: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-later-use2.html: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-in-different-subtree-expected.txt: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-in-different-subtree.html: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-with-duplicate-id-in-different-subtree-expected.html: Added.
  • svg/custom/remove-subtree-including-use-with-duplicate-id-referenced-by-use-with-duplicate-id-in-different-subtree.html: Added.
  • svg/custom/remove-use-with-duplicate-id-referenced-by-later-use-expected.html: Added.
  • svg/custom/remove-use-with-duplicate-id-referenced-by-later-use.html: Added.
8:56 PM Changeset in webkit [168920] by Simon Fraser
  • 10 edits in trunk/Source

[iOS WK2] When zoomed, fixed elements jump at the start of a scroll, and jump back at the end.
https://bugs.webkit.org/show_bug.cgi?id=132978
<rdar://problem/16894428>

Reviewed by Benjamin Poulain.

Source/WebCore:

This was the actual cause of the bug; r168560 changed the rect passed in here
to be the customFixedPositionRect rather than the unobscured rect, but we
used it to call FrameView::rectForViewportConstrainedObjects() which gave back
another bogus rect. So just use the rect passed in.

  • page/scrolling/ios/ScrollingTreeScrollingNodeIOS.mm:

(WebCore::ScrollingTreeScrollingNodeIOS::updateLayersAfterViewportChange):

Source/WebKit2:

Move the static function fixedPositionRectFromExposedRect() to a member function on
WebPageProxy so we can call it from more places. Also never give WebCore a customFixedPosition
rect that extends past the document bounds, but allow rubber-banding/pinching in the UI process to
move fixed elements outside the document.

  • UIProcess/PageClient.h: Need to expose minimumZoomScale() and contentsSize() to WebPageProxy.
  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::minimumZoomScale):
(WebKit::PageClientImpl::contentsSize):

  • UIProcess/ios/WKContentView.mm:

(-[WKContentView didUpdateVisibleRect:unobscuredRect:unobscuredRectInScrollViewCoordinates:scale:minimumScale:inStableState:isChangingObscuredInsetsInteractively:]):
Pass the computeCustomFixedPositionRect(ConstrainedToDocumentRect) to WebCore, but use computeCustomFixedPositionRect()
for the ScrollingCoordinator update.
(adjustedUnexposedEdge): Deleted.
(adjustedUnexposedMaxEdge): Deleted.
(fixedPositionRectFromExposedRect): Deleted.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::adjustedUnexposedEdge):
(WebKit::adjustedUnexposedMaxEdge):
(WebKit::WebPageProxy::computeCustomFixedPositionRect):

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::commitLayerTree): This fixes some flashing when the scrolling tree
was being updated while scrolling; we now pass the correct rect.

8:32 PM Changeset in webkit [168919] by commit-queue@webkit.org
  • 22 edits in trunk/Source/WebInspectorUI

Web Inspector: Should remove JSDoc comment blocks.
https://bugs.webkit.org/show_bug.cgi?id=132984

Patch by Jono Wells <jonowells@apple.com> on 2014-05-15
Reviewed by Timothy Hatcher.

Remove JSDoc comment blocks. These are no longer necessary.

  • UserInterface/Base/Main.js:
  • UserInterface/Base/Object.js:
  • UserInterface/Controllers/DOMTreeManager.js:
  • UserInterface/Models/CSSCompletions.js:
  • UserInterface/Models/DOMNode.js:
  • UserInterface/Models/SourceMap.js:
  • UserInterface/Protocol/InspectorBackend.js:
  • UserInterface/Protocol/RemoteObject.js:
  • UserInterface/Views/ApplicationCacheFrameContentView.js:
  • UserInterface/Views/ConsoleMessage.js:
  • UserInterface/Views/ConsoleMessageImpl.js:
  • UserInterface/Views/ContextMenu.js:
  • UserInterface/Views/DOMTreeElement.js:
  • UserInterface/Views/DOMTreeOutline.js:
  • UserInterface/Views/DOMTreeUpdater.js:
  • UserInterface/Views/DataGrid.js:
  • UserInterface/Views/DatabaseContentView.js:
  • UserInterface/Views/EditingSupport.js:
  • UserInterface/Views/ObjectPropertiesSection.js:
  • UserInterface/Views/Popover.js:
  • UserInterface/Views/TreeOutline.js:

JSDoc style comment blocks removed.

5:11 PM Changeset in webkit [168918] by mrowe@apple.com
  • 3 edits in trunk/Source/WebKit2

<https://webkit.org/b/132976> Move discovery of sharing services off the main thread

Discovery of sharing services can require disk access and IPC. Since the interface to
ServicesController is already asynchronous, we can easily perform the discovery on a
background queue. This can eliminate tens to hundreds of milliseconds worth of work
from the main thread when creating the first web process.

Reviewed by Brady Eidson.

  • UIProcess/mac/ServicesController.h:
  • UIProcess/mac/ServicesController.mm:

(WebKit::ServicesController::ServicesController):
(WebKit::ServicesController::refreshExistingServices): Bail out early if we're already
in the process of refreshing the services. Kick the discovery over to a background queue,
with it hopping back to the main queue to update the actual state and notify any contexts
that were interested.

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

Fixed a typo in a comment and updated previous change log entry.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::elementDidFocus):

4:46 PM Changeset in webkit [168916] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] www.wikipedia.org is loading much slower due to FormClient::willBeginInputSession
https://bugs.webkit.org/show_bug.cgi?id=132974

Reviewed by Enrica Casucci.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::elementDidFocus): Don’t call FormClient::willBeginInputSession if the
focus isn’t user-initiated, because in that case the UI process will bail out of
-_startAssistingNode:userIsInteracting:userObject: before creating an input session and
calling the -_webView:didStartInputSession:.

4:28 PM Changeset in webkit [168915] by dbates@webkit.org
  • 14 edits
    12 adds in trunk

SVG element may reference arbitrary DOM element before running its insertion logic
https://bugs.webkit.org/show_bug.cgi?id=132757
<rdar://problem/15703817>

Reviewed by Ryosuke Niwa.

Source/WebCore:
Fixes an issue where an SVG element may reference an arbitrary DOM element e before e finished being
inserted in the tree.

Currently when an SVG element A is inserted into a document we use document.getElementById() to find the
element B it references (if any). If A is inserted before B and B has the same id as a later element in
the document then A can find B before B is notified that its been inserted into the document (i.e. before
Element::insertedFrom() is called on B). Instead, A should call document.getElementById() only after
cessation of the insertion operation that inserted it to ensure that all inserted nodes (including B)
processed their insertion-specific logic.

Tests: svg/custom/reparent-animate-element.html

svg/custom/reparent-feimage-element.html
svg/custom/reparent-mpath-element.html
svg/custom/reparent-textpath-element.html
svg/custom/reparent-tref-element.html
svg/custom/reparent-use-element.html

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::insertedInto): Return InsertionShouldCallDidNotifySubtreeInsertions so that
we are called back to resolve our target element (i.e. call SVGFEImageElement::buildPendingResources())
after the subtree we're in is inserted.
(WebCore::SVGFEImageElement::didNotifySubtreeInsertions): Added; turns around and calls SVGFEImageElement::buildPendingResources().

  • svg/SVGFEImageElement.h:
  • svg/SVGMPathElement.cpp:

(WebCore::SVGMPathElement::insertedInto): Return InsertionShouldCallDidNotifySubtreeInsertions so that
we are called back to resolve our target element (i.e. call SVGMPathElement::buildPendingResources())
after the subtree we're in is inserted.
(WebCore::SVGMPathElement::didNotifySubtreeInsertions): Added; turns around and calls SVGMPathElement::buildPendingResources().

  • svg/SVGMPathElement.h:
  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::insertedInto): Return InsertionShouldCallDidNotifySubtreeInsertions so that
we are called back to resolve our target element (i.e. call SVGTRefElement::buildPendingResources())
after the subtree we're in is inserted.
(WebCore::SVGTRefElement::didNotifySubtreeInsertions): Added; turns around and calls SVGTRefElement::buildPendingResources().

  • svg/SVGTRefElement.h:
  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::insertedInto): Return InsertionShouldCallDidNotifySubtreeInsertions so that
we are called back to resolve our target element (i.e. call SVGTextPathElement::buildPendingResources())
after the subtree we're in is inserted.
(WebCore::SVGTextPathElement::didNotifySubtreeInsertions): Added; turns around and calls SVGTextPathElement::buildPendingResources().

  • svg/SVGTextPathElement.h:
  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::insertedInto): Return InsertionShouldCallDidNotifySubtreeInsertions so that
we are called back to resolve our target element (i.e. call SVGUseElement::buildPendingResources()) after its subtree is
inserted.
(WebCore::SVGUseElement::didNotifySubtreeInsertions): Added; turns around and calls SVGUseElement::buildPendingResources().

  • svg/SVGUseElement.h:
  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::insertedInto): Return InsertionShouldCallDidNotifySubtreeInsertions so that
we are called back to resolve our target element (i.e. call SVGSMILElement::buildPendingResources())
after the subtree we're in is inserted.
(WebCore::SVGSMILElement::didNotifySubtreeInsertions): Added; turns around and calls SVGSMILElement::buildPendingResources().

  • svg/animation/SVGSMILElement.h:

LayoutTests:
Add tests to ensure that we don't cause an assertion failure when re-parenting an SVG subtree that
contains an element with a duplicate id.

  • svg/custom/reparent-animate-element-expected.txt: Added.
  • svg/custom/reparent-animate-element.html: Added.
  • svg/custom/reparent-feimage-element-expected.txt: Added.
  • svg/custom/reparent-feimage-element.html: Added.
  • svg/custom/reparent-mpath-element-expected.txt: Added.
  • svg/custom/reparent-mpath-element.html: Added.
  • svg/custom/reparent-textpath-element-expected.txt: Added.
  • svg/custom/reparent-textpath-element.html: Added.
  • svg/custom/reparent-tref-element-expected.txt: Added.
  • svg/custom/reparent-tref-element.html: Added.
  • svg/custom/reparent-use-element-expected.txt: Added.
  • svg/custom/reparent-use-element.html: Added.
4:03 PM Changeset in webkit [168914] by mhahnenberg@apple.com
  • 6 edits
    4 adds in trunk

JSDOMWindow should not claim HasImpureGetOwnPropertySlot
https://bugs.webkit.org/show_bug.cgi?id=132918

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

  • jit/Repatch.cpp:

(JSC::tryRepatchIn): We forgot to check for watchpoints when repatching "in".

Source/WebCore:
Tests: js/cached-window-properties.html

js/cached-window-prototype-properties.html

We now correctly handle the impurity of JSDOMWindow's custom getOwnPropertySlot without needing the
blanket HasImpureGetOwnPropertySlot. We do this through the use of watchpoints and by explicitly forbidding
any caching beyond a certain point using PropertySlot::disableCaching. Getting rid of this flag will allow
us to cache many properties/methods on both the JSDOMWindow and its prototype, which are very commonly used
across the web.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot):

  • bindings/scripts/CodeGeneratorJS.pm:

(HasComplexGetOwnProperty):
(InterfaceRequiresAttributesOnInstance):
(InstanceOverridesGetOwnPropertySlot):
(GenerateHeader):

LayoutTests:
We now correctly handle the impurity of JSDOMWindow's custom getOwnPropertySlot without needing the
blanket HasImpureGetOwnPropertySlot. We do this through the use of watchpoints and by explicitly forbidding
any caching beyond a certain point using PropertySlot::disableCaching. Getting rid of this flag will allow
us to cache many properties/methods on both the JSDOMWindow and its prototype, which are very commonly used
across the web.

These tests trigger inline caching of window and window prototype properties.

  • js/cached-window-properties-expected.txt: Added.
  • js/cached-window-properties.html: Added.
  • js/cached-window-prototype-properties-expected.txt: Added.
  • js/cached-window-prototype-properties.html: Added.
2:27 PM Changeset in webkit [168913] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Crash in [WebSharingServicePickerController clear]
<rdar://problem/16879073> and https://bugs.webkit.org/show_bug.cgi?id=132968

Reviewed by Tim Horton.

  • Misc/WebSharingServicePickerController.mm:

(-[WebSharingServicePickerController clear]): Add a RetainPtr protector so this object

isn’t dealloc’ed partway through.

2:20 PM Changeset in webkit [168912] by Simon Fraser
  • 2 edits in trunk/Source/WebKit/mac

Initialize the WebKitRegionBasedColumnsEnabled pref on iOS WK1
https://bugs.webkit.org/show_bug.cgi?id=132969

Reviewed by Dan Bernstein.

Move this outside the #if !PLATFORM(IOS) block.

  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):

2:20 PM Changeset in webkit [168911] by Simon Fraser
  • 2 edits in trunk/Source/WebKit/mac

Clean up -[WebView _preferencesChanged]
https://bugs.webkit.org/show_bug.cgi?id=132967

Reviewed by Sam Weinig.

-[WebView _preferencesChanged] was a horrible mess of #ifdefs. Clean this up by
moving all the #if PLATFORM() code together, and moving all the feature-define related
settings to the end.

No behavior changes, checked by diffing the resulting Settings with and without
the patch, on OS X and iOS.

  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

2:17 PM Changeset in webkit [168910] by ddkilzer@apple.com
  • 3 edits in trunk/Tools

[iOS] Support TestWebKitAPI in the iOS Simulator
<http://webkit.org/b/129535>
<rdar://problem/16203529>

Reviewed by Daniel Bates.

  • Scripts/run-api-tests:

(runTest):
(listAllTests):

  • Extract common arguments into local variable.
  • Use xcrun to find the sim tool in order to invoke

TestWebKitAPI properly in the iOS Simulator.

  • Scripts/webkitdirs.pm:

(argumentsForConfiguration): Set --device or --sim as
appropriate to fix buildTestTool() in run-api-tests.

2:00 PM Changeset in webkit [168909] by ap@apple.com
  • 4 edits in trunk/Source/WebCore

NetworkProcess crashes at ResourceHandle::continueDidReceiveResponse
https://bugs.webkit.org/show_bug.cgi?id=132966
<rdar://problem/16373694>

Reviewed by Brady Eidson.

Covered by many fast/files tests.

  • platform/network/BlobResourceHandle.cpp: (WebCore::BlobResourceHandle::continueDidReceiveResponse):
  • platform/network/BlobResourceHandle.h:
  • platform/network/ResourceHandle.h:

Don't call delegate's continueDidReceiveResponse when loading a blob:// URL,
the delegate is null. On the Mac, we used to lazily create it, which was also wrong,
but at least not observable.

1:58 PM Changeset in webkit [168908] by ap@apple.com
  • 2 edits
    8 adds in trunk/LayoutTests

Automatically zip document bundles used via File API
https://bugs.webkit.org/show_bug.cgi?id=132713
<rdar://problem/13397892>

Actually land the tests.

  • fast/files/filereader-zip-bundle-expected.txt: Added.
  • fast/files/filereader-zip-bundle.html: Added.
  • fast/files/resources/document.rtfd: Added.
  • fast/files/resources/document.rtfd/TXT.rtf: Added.
  • http/tests/local/fileapi/resources/document.rtfd: Added.
  • http/tests/local/fileapi/resources/document.rtfd/TXT.rtf: Added.
  • http/tests/local/fileapi/upload-zip-bundle-as-blob-expected.txt: Added.
  • http/tests/local/fileapi/upload-zip-bundle-as-blob.html: Added.
  • platform/wk2/TestExpectations:
1:03 PM Changeset in webkit [168907] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] WKWebView sends invalid content offsets at the end of animated resize
https://bugs.webkit.org/show_bug.cgi?id=132941
<rdar://problem/16921557>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-15
Reviewed by Tim Horton.

Since we cannot change the scale and content inset simultaneously while accounting for the obscured insets,
we end up with invalid contentOffsets.

To work around the problem, change the content scale outside of UIScrollView to ensure none of the side effect
happens.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _endAnimatedResize]):

12:45 PM Changeset in webkit [168906] by timothy_horton@apple.com
  • 2 edits in trunk/Tools

Fix a logging typo in copy-webkitlibraries-to-product-directory

Reviewed by Dean Jackson.

  • Scripts/copy-webkitlibraries-to-product-directory:
12:17 PM Changeset in webkit [168905] by commit-queue@webkit.org
  • 23 edits in trunk/Source/WebCore

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

Broke some compositing regions tests on Mavericks (Requested
by mihnea_ on #webkit).

Reverted changeset:

"[CSS Regions] Reduce the RenderRegion invasiveness in
rendering code"
https://bugs.webkit.org/show_bug.cgi?id=132121
http://trac.webkit.org/changeset/168899

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

WebKit2 View Gestures (Zoom): Document size changes during zoom gesture cause erratic scrolling
https://bugs.webkit.org/show_bug.cgi?id=132944
<rdar://problem/15769454>

Reviewed by Simon Fraser.

  • WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:

(WebKit::TiledCoreAnimationDrawingArea::flushLayers):
If a layer flush occurs and we have an active transient zoom,
re-apply the transient zoom to the relevant platform layers, because
WebCore might have overwritten the relevant layer properties.

(WebKit::TiledCoreAnimationDrawingArea::applyTransientZoomToPage):
Reset m_transientZoomScale before flushLayers() so that we don't
re-apply the transient zoom when we're actually trying to commit it.

11:42 AM Changeset in webkit [168903] by commit-queue@webkit.org
  • 11 edits in trunk/Source

Add pointer lock to features without enabling it.
https://bugs.webkit.org/show_bug.cgi?id=132961

Patch by Alex Christensen <achristensen@webkit.org> on 2014-05-15
Reviewed by Sam Weinig.

  • Configurations/FeatureDefines.xcconfig:

Added ENABLE_POINTER_LOCK to list of features.

Source/WebCore:

  • WebCore.exp.in:

Added linker symbols which differ with pointer lock enabled.

  • WebCore.xcodeproj/project.pbxproj:

Added PointerLockController.cpp to build.

Source/WebKit/mac:

  • WebView/WebPDFView.mm:

(-[WebPDFView PDFViewWillClickOnLink:withURL:]):
Added extra parameters needed when pointer lock is enabled.

11:28 AM Changeset in webkit [168902] by mhahnenberg@apple.com
  • 9 edits in trunk

Move subframe name getter lookup later in JSDOMWindow::getOwnPropertySlot
https://bugs.webkit.org/show_bug.cgi?id=132922

Reviewed by Geoffrey Garen.

Source/WebCore:
No new tests.

In JSDOMWindow::getOwnPropertySlot, we currently look for the property on the JSDOMWindow,
then we search the window's subframes for name getters, then we look in the window's prototype
chain. Apparently we were doing the lookup in this order to be compatible with Mozilla, but
Mozilla no longer implements this behavior. Instead, they do the lookup on the prototype before
looking for subframe name getters. We should change this to match Mozilla. This has the convenient
side effect of allowing us to cache lookups in the window's prototype chain.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::getOwnPropertySlot):

LayoutTests:
In JSDOMWindow::getOwnPropertySlot, we currently look for the property on the JSDOMWindow,
then we search the window's subframes for name getters, then we look in the window's prototype
chain. Apparently we were doing the lookup in this order to be compatible with Mozilla, but
Mozilla no longer implements this behavior. Instead, they do the lookup on the prototype before
looking for subframe name getters. We should change this to match Mozilla. This has the convenient
side effect of allowing us to cache lookups in the window's prototype chain.

  • fast/dom/Window/window-function-frame-getter-precedence-expected.txt: Rebaseline to account

for change in behavior.

  • fast/dom/Window/window-function-frame-getter-precedence.html:
  • http/tests/security/document-all-expected.txt: Rebaseline due to the presenece of a security check

that was previously not done with the old behavior.

  • http/tests/security/window-named-proto-expected.txt: Ditto.
  • http/tests/security/window-named-valueOf-expected.txt: Ditto.
  • http/tests/security/xss-DENIED-window-name-alert.html: Changed test so it actually tests named getters.
10:48 AM Changeset in webkit [168901] by Simon Fraser
  • 23 edits in trunk/Source

[UI-side compositing] Fix copying animations between layers, and pausing them
https://bugs.webkit.org/show_bug.cgi?id=132943
<rdar://problem/16906369&16906541>

Reviewed by Tim Horton.

Source/WebCore:

Pass the animation key back to animationStarted(), though this isn't used
when animations are running in-process.

  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(-[WebAnimationDelegate animationDidStart:]):
(PlatformCALayerMac::animationStarted):

  • platform/graphics/ca/win/PlatformCALayerWin.cpp:

(PlatformCALayerWin::animationStarted):

  • platform/graphics/ca/win/PlatformCALayerWin.h:

Source/WebKit2:

Fix PlatformCAAnimationRemote to support animation copying, and to record
the beginTime for implicitly started animations. This fixes animation pausing,
and copying of animations between layers when they go between tiled and non-tiled.

This requires sending the animation key back through animationDidStart() so that
we can record this beginTime on the PlatformCAAnimationRemote in the web process.
This path doesn't set the "hasExplicitBeginTime" flag.

PlatformCAAnimationRemote also now stores a hash of active animations, so that
it can implement animationForKey(), and record the beginTime.

  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
  • UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:

(WebKit::RemoteLayerTreeDrawingAreaProxy::acceleratedAnimationDidStart):

  • UIProcess/mac/RemoteLayerTreeHost.h:
  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::animationDidStart): Grovel for the key for this
animation; sadly CA doesn't give us an easier way.

  • WebProcess/WebPage/DrawingArea.h:

(WebKit::DrawingArea::acceleratedAnimationDidStart):

  • WebProcess/WebPage/DrawingArea.messages.in:
  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:

(-[WKAnimationDelegate animationDidStart:]):
(WebKit::PlatformCAAnimationRemote::copy):
(WebKit::PlatformCAAnimationRemote::copyTimingFunctionFrom):
(WebKit::PlatformCAAnimationRemote::copyFromValueFrom):
(WebKit::PlatformCAAnimationRemote::copyToValueFrom):
(WebKit::PlatformCAAnimationRemote::copyValuesFrom):
(WebKit::PlatformCAAnimationRemote::copyKeyTimesFrom):
(WebKit::PlatformCAAnimationRemote::copyTimingFunctionsFrom):
(WebKit::addAnimationToLayer):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:

(WebKit::PlatformCALayerRemote::addAnimationForKey):
(WebKit::PlatformCALayerRemote::removeAnimationForKey):
(WebKit::PlatformCALayerRemote::animationForKey):
(WebKit::PlatformCALayerRemote::animationStarted):

  • WebProcess/WebPage/mac/PlatformCALayerRemote.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:

(WebKit::RemoteLayerTreeContext::animationDidStart):

  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
  • WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:

(WebKit::RemoteLayerTreeDrawingArea::acceleratedAnimationDidStart):

10:18 AM Changeset in webkit [168900] by ddkilzer@apple.com
  • 2 edits
    1 move
    1 add in trunk/Tools

TestWebKitAPI: URLExtras.mm should be a shared test for iOS and Mac
<http://webkit.org/b/132959>

Reviewed by Dan Bernstein.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj: Add

Cocoa directory to project and move URLExtras.mm into it.

  • TestWebKitAPI/Tests/Cocoa/URLExtras.mm: Renamed from Tools/TestWebKitAPI/Tests/mac/URLExtras.mm.
9:43 AM Changeset in webkit [168899] by abucur@adobe.com
  • 23 edits in trunk/Source/WebCore

[CSS Regions] Reduce the RenderRegion invasiveness in rendering code
https://bugs.webkit.org/show_bug.cgi?id=132121

Reviewed by Antti Koivisto.

Remove the RenderRegion / RenderNamedFlowFragment parameters and fields from
the painting / hit testing data structures and use a stateful approach to
correctly handle regions.

When painting or hit testing, the current flow thread is saved along the current
region. They are accessed through the |currentRenderNamedFlowFragment| helper
method on RenderObject or RenderLayer.

The patch also changes a bunch of 0s to nullptrs.

Tests: No new tests, no functional change.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):

  • rendering/HitTestLocation.cpp:

(WebCore::HitTestLocation::HitTestLocation):
(WebCore::HitTestLocation::operator=):

  • rendering/HitTestLocation.h:

(WebCore::HitTestLocation::region): Deleted.

  • rendering/HitTestResult.h:
  • rendering/PaintInfo.h:

(WebCore::PaintInfo::PaintInfo):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::paintObject):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::nodeAtPoint):

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::nodeAtPoint):
(WebCore::RenderBox::paintBoxDecorations):
(WebCore::RenderBox::pushContentsClip):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintMaskForTextFillBox):
(WebCore::RenderBoxModelObject::paintFillLayerExtended):

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::paintLayerByApplyingTransform):
(WebCore::RenderLayer::collectFragments):
(WebCore::RenderLayer::updatePaintingInfoForFragments):
(WebCore::RenderLayer::paintTransformedLayerIntoFragments):
(WebCore::RenderLayer::paintBackgroundForFragments):
(WebCore::RenderLayer::paintForegroundForFragmentsWithPhase):
(WebCore::RenderLayer::paintOutlineForFragments):
(WebCore::RenderLayer::paintMaskForFragments):
(WebCore::RenderLayer::hitTest):
(WebCore::RenderLayer::hitTestFixedLayersInNamedFlows):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::hitTestTransformedLayerInFragments):
(WebCore::RenderLayer::mapLayerClipRectsToFragmentationLayer):
(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateCompositedBounds):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::clippedByAncestor):

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::currentRenderNamedFlowFragment):

  • rendering/RenderObject.h:
  • rendering/RenderReplaced.cpp:

(WebCore::RenderReplaced::shouldPaint):

  • rendering/RenderReplica.cpp:

(WebCore::RenderReplica::paint):

  • rendering/RenderTable.cpp:

(WebCore::RenderTable::nodeAtPoint):

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::nodeAtPoint):

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeLayers):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::paint):

  • rendering/svg/RenderSVGRoot.cpp:

(WebCore::RenderSVGRoot::paintReplaced):

9:35 AM Changeset in webkit [168898] by Simon Fraser
  • 8 edits in trunk/Source

Clean up "has non-zero begin time" terminology in animations
https://bugs.webkit.org/show_bug.cgi?id=132942

Reviewed by Tim Horton.

Change the "non-zero beginTime" terminology in the platform CA animations
code to "explicit beginTime": this flag really means that we explicitly set
the beginTime of the animation, rather than let CA set the beginTime when
committing the animation. This flag is used for animations with negative
delay, and when pausing.

Source/WebCore:

The WKNonZeroBeginTimeFlag key was spread across PlatformCALayerMac and PlatformCAAnimationMac,
so hide it behind getter/setter functions.

Remove lots of m_layer.get() in PlatformCAAnimationMac.

  • platform/graphics/ca/mac/PlatformCAAnimationMac.h:
  • platform/graphics/ca/mac/PlatformCAAnimationMac.mm:

(WebCore::hasExplicitBeginTime):
(WebCore::setHasExplicitBeginTime):
(PlatformCAAnimationMac::copy):
(PlatformCAAnimationMac::keyPath):
(PlatformCAAnimationMac::beginTime):
(PlatformCAAnimationMac::setBeginTime):
(PlatformCAAnimationMac::duration):
(PlatformCAAnimationMac::setDuration):
(PlatformCAAnimationMac::speed):
(PlatformCAAnimationMac::setSpeed):
(PlatformCAAnimationMac::timeOffset):
(PlatformCAAnimationMac::setTimeOffset):
(PlatformCAAnimationMac::repeatCount):
(PlatformCAAnimationMac::setRepeatCount):
(PlatformCAAnimationMac::autoreverses):
(PlatformCAAnimationMac::setAutoreverses):
(PlatformCAAnimationMac::fillMode):
(PlatformCAAnimationMac::setFillMode):
(PlatformCAAnimationMac::setTimingFunction):
(PlatformCAAnimationMac::copyTimingFunctionFrom):
(PlatformCAAnimationMac::isRemovedOnCompletion):
(PlatformCAAnimationMac::setRemovedOnCompletion):
(PlatformCAAnimationMac::isAdditive):
(PlatformCAAnimationMac::setAdditive):
(PlatformCAAnimationMac::valueFunction):
(PlatformCAAnimationMac::setValueFunction):
(hasNonZeroBeginTimeFlag): Deleted.
(setNonZeroBeginTimeFlag): Deleted.

  • platform/graphics/ca/mac/PlatformCALayerMac.mm:

(-[WebAnimationDelegate animationDidStart:]):

Source/WebKit2:

  • Shared/mac/RemoteLayerTreeTransaction.mm:

(WebKit::RemoteLayerTreeTextStream::operator<<):

  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.h:
  • WebProcess/WebPage/mac/PlatformCAAnimationRemote.mm:

(-[WKAnimationDelegate animationDidStart:]):
(WebKit::PlatformCAAnimationRemote::Properties::encode):
(WebKit::PlatformCAAnimationRemote::Properties::decode):
(WebKit::PlatformCAAnimationRemote::setBeginTime):
(WebKit::addAnimationToLayer):

8:18 AM Changeset in webkit [168897] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

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

Lots of media tests still come to crash on EFL layout test
(Requested by gyuyoung on #webkit).

Reverted changeset:

"LayoutTests: Unreviewed EFL gardening. Unskip media test both
EFL WK1 and WK2."
http://trac.webkit.org/changeset/168893

1:51 AM Changeset in webkit [168896] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk/LayoutTests

[EFL] Add new test expectations after r168544
https://bugs.webkit.org/show_bug.cgi?id=132908

Unreviewed gardening

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

  • platform/efl/TestExpectations:
  • platform/efl/svg/foreignObject/svg-document-in-html-document-expected.txt:
  • platform/efl/svg/text/small-fonts-in-html5-expected.txt:
  • platform/efl/svg/zoom/page/zoom-svg-as-relative-image-expected.txt: Added.
  • platform/efl/svg/zoom/text/zoom-svg-float-border-padding-expected.txt: Added.
1:09 AM Changeset in webkit [168895] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

[iOS] Incremental updates during scroll-to-top shouldn’t count as “stable” updates
https://bugs.webkit.org/show_bug.cgi?id=132934

Reviewed by Simon Fraser.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _updateVisibleContentRects]):
If we're in a scroll-to-top programmatic scroll, the update is not stable.
The last event comes in with _isScrollingToTop false, so we do our stable update.

1:06 AM Changeset in webkit [168894] by Carlos Garcia Campos
  • 9 edits in trunk

[GTK] Compile all installed resources as GResources
https://bugs.webkit.org/show_bug.cgi?id=131099

Reviewed by Philippe Normand.

Source/WebCore:

  • PlatformGTK.cmake: Do not install the resources.
  • platform/audio/gtk/AudioBusGtk.cpp:

(WebCore::AudioBus::loadPlatformResource): Load the audio resource
from GResources and use createBusFromInMemoryAudioFile().

  • platform/graphics/Image.h: Remove unsued function loadPlatformThemeIcon.
  • platform/graphics/gtk/ImageGtk.cpp:

(WebCore::loadImageFromGResource): Load the given icon name from GResources.
(WebCore::loadResourceSharedBuffer): Use char* instead of CString.
(WebCore::loadMissingImageIconFromTheme): Try to load the missing
icon from the current GTK icon theme.
(WebCore::Image::loadPlatformResource): Call
loadMissingImageIconFromTheme for missing icon or
loadImageFromGResource for any other icon name.
(WebCore::getPathToImageResource): Deleted.
(WebCore::getThemeIconFileName): Deleted.
(WebCore::loadImageFromFile): Deleted.
(WebCore::Image::loadPlatformThemeIcon): Deleted.

Source/WebKit2:
It avoids conflicts with old WebKit versions, and resources are
always found even without installing or using environment variables.

  • PlatformGTK.cmake: Add rules to write the xml file with the

resources depending on the configure options and to generate and
build the GResources file.

Tools:

  • Scripts/webkitpy/port/gtk.py:

(GtkPort.setup_environ_for_server): Removed now unneeded
AUDIO_RESOURCES_PATH env var.

May 14, 2014:

10:40 PM Changeset in webkit [168893] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/LayoutTests

LayoutTests: Unreviewed EFL gardening. Unskip media test both EFL WK1 and WK2.
Crash doesn't happen anymore.

  • platform/efl/TestExpectations:
10:07 PM Changeset in webkit [168892] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Fix an unit test of ewk_context_url_scheme_register()
https://bugs.webkit.org/show_bug.cgi?id=132902

Reviewed by Anders Carlsson.

This test can be run when CUSTOM_PROTOCOL is enabled. Besides the test needs
to check if registered callback function works well.

  • UIProcess/API/efl/tests/test_ewk2_context.cpp:

(EWK2ContextTest::schemeRequestCallback):
(TEST_F):

9:20 PM Changeset in webkit [168891] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2] Use default context for ewk_view_add
https://bugs.webkit.org/show_bug.cgi?id=132936

Reviewed by Gyuyoung Kim.

Since r146265, ewk_view_add created new context and it's regression.
This patch restores the behavior of ewk_view_add to original one.

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_add):

  • UIProcess/API/efl/tests/test_ewk2_view.cpp:

(TEST_F):

9:08 PM Changeset in webkit [168890] by Beth Dakin
  • 7 edits in trunk/Source/WebCore

Tiled scrolling indicator needs to take topContentInset into account
https://bugs.webkit.org/show_bug.cgi?id=132940

Reviewed by Simon Fraser.

The tiled scrolling indicator needs to move down by the value of the
topContentInset. This patch makes that happen by caching the topContentInset in
the TileController. This does feel a little silly since there is already a
function called setTiledScrollingIndicatorPosition() on TiledBacking. However, it
was often the case that calling that function had no effect because m_coverageMap
had not yet been created, and then the information was lost. So instead, we cache
the value.

Set TiledBacking’s copy of topContentInset whenever it changes for the FrameView.

  • page/FrameView.cpp:

(WebCore::FrameView::topContentInsetDidChange):

New function to set the inset. Use the inset to position the coverage map.

  • platform/graphics/TiledBacking.h:
  • platform/graphics/ca/mac/TileController.h:
  • platform/graphics/ca/mac/TileController.mm:

(WebCore::TileController::TileController):
(WebCore::TileController::setTopContentInset):

When the coverage map is created, consult the value of the inset.

  • platform/graphics/ca/mac/TileCoverageMap.mm:

(WebCore::TileCoverageMap::TileCoverageMap):

Once the backing has been ensured, set the inset.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::updateBacking):

8:58 PM Changeset in webkit [168889] by mjs@apple.com
  • 2 edits in trunk/Source/WebKit2

Database Process crashes after loading html5test.com
https://bugs.webkit.org/show_bug.cgi?id=132938
<rdar://problem/16241419>

Reviewed by Ryosuke Niwa.

  • DatabaseProcess/IndexedDB/DatabaseProcessIDBConnection.cpp:

(WebKit::DatabaseProcessIDBConnection::disconnectedFromWebProcess): Expand comment
about the null check.
(WebKit::DatabaseProcessIDBConnection::deleteDatabase): Call disconnectedFromWebProcess
to pick up its null check and to avoid duplicating code.

8:29 PM Changeset in webkit [168888] by matthew_hanson@apple.com
  • 6 edits in branches/safari-538.34-branch

Rollout r168821.

8:27 PM Changeset in webkit [168887] by matthew_hanson@apple.com
  • 7 edits
    3 deletes in branches/safari-538.34-branch

Rollout r168822.

8:24 PM Changeset in webkit [168886] by Brent Fulgham
  • 6 edits in trunk/Source/WebCore

Merge r1267628 from branch.
<rdar://problem/15751219>

Pratik Solanki <psolanki@apple.com>

Reviewed by Simon Fraser.",

TileController relied on the tiling mode in TileCache to determine if it should use low-res
tiles when zooming. Unfortunately, sometimes the tiling mode gets set to Zooming even though
it's actually a pan. Thus we can end up with blurry tiles. Fix this by adding a new flag on
TileCache that controls this behavior and have UIKit set it only when we have an actual zoom
operation.


  • platform/ios/LegacyTileCache.h:

(WebCore::LegacyTileCache::tileControllerShouldUseLowScaleTiles):
(WebCore::LegacyTileCache::setTileControllerShouldUseLowScaleTiles):

  • platform/ios/LegacyTileCache.mm:

(WebCore::LegacyTileCache::LegacyTileCache):

  • platform/ios/wak/WAKWindow.h:
  • platform/ios/wak/WAKWindow.mm:

(-[WAKWindow setTileControllerShouldUseLowScaleTiles:]):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles):

8:23 PM Changeset in webkit [168885] by matthew_hanson@apple.com
  • 7 edits
    3 deletes in tags/Safari-538.34.40

Rollout r168822.

8:09 PM Changeset in webkit [168884] by matthew_hanson@apple.com
  • 6 edits in tags/Safari-538.34.40

Rollout r168821.

7:37 PM Changeset in webkit [168883] by commit-queue@webkit.org
  • 7 edits
    3 deletes in trunk

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

Caused repaint bugs (Requested by weinig on #webkit).

Reverted changeset:

"Text decorations do not contribute to visual overflow"
https://bugs.webkit.org/show_bug.cgi?id=132773
http://trac.webkit.org/changeset/168750

7:33 PM Changeset in webkit [168882] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

[New multicolumn] Spin in RenderMultiColumnSet::repaintFlowThreadContent()
https://bugs.webkit.org/show_bug.cgi?id=132884

Reviewed by Beth Dakin.

On iOS, wikipedia pages can hang under RenderMultiColumnSet::repaintFlowThreadContent().
It appears that computedColumnHeight is set to 0 in prepareForLayout, but layout never happens
on the RenderMultiColumnSet in some cases, leaving the column height set to zero.
This caused columnIndexAtOffset() to return bad values, which resulted in very long loops
in repaintFlowThreadContent().

This fix is a stop-gap.

  • rendering/RenderMultiColumnSet.cpp:

(WebCore::RenderMultiColumnSet::columnIndexAtOffset):

6:48 PM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
5:59 PM Changeset in webkit [168881] by matthew_hanson@apple.com
  • 5 edits in tags/Safari-538.34.40/Source

Versioning.

5:32 PM Changeset in webkit [168880] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] The top/bottom edges should not be sticky when restoring the scroll position from the dynamic size update history
https://bugs.webkit.org/show_bug.cgi?id=132931

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-14
Reviewed by Sam Weinig.

The goal of dynamicSizeUpdateHistory is to make dynamic resize completely reversible.
Because of the stick-to-edges heuristics, this was not true near the top and bottom edges.

For example, start in landscape, scroll the page a bit, then rotate to portrait. Now you have
a lot more vertical space, and the top edge of the document is at the edge of the scrollview.
Rotate back to landscape: the position is restored correct, but it is then overriden by
the stick-to-edges branch.

When we restore the position from history, we should only put it back in the valid bounds, skipping
stick-to-edges entirely.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::dynamicViewportSizeUpdate):

5:27 PM Changeset in webkit [168879] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove FrameView::viewportConstrainedExtentRect, it is unused
https://bugs.webkit.org/show_bug.cgi?id=132927

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-14
Reviewed by Simon Fraser.

  • page/FrameView.cpp:

(WebCore::FrameView::viewportConstrainedExtentRect): Deleted.

  • page/FrameView.h:

Simon replaced this by viewportConstrainedVisibleContentRect, remove the old code.

5:26 PM Changeset in webkit [168878] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.34.40

New tag for Safari-538.34.40

5:26 PM Changeset in webkit [168877] by matthew_hanson@apple.com
  • 1 delete in tags/Safari-538.34.40

Remove the Safari-538.34.40 and recreate from safari-538.34-branch

5:22 PM Changeset in webkit [168876] by matthew_hanson@apple.com
  • 7 edits in branches/safari-538.34-branch/Source

Merge r168859.

5:20 PM Changeset in webkit [168875] by matthew_hanson@apple.com
  • 4 edits in branches/safari-538.34-branch/Source/WebKit/mac

Merge r168847.

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

Enable IOSurface view snapshots for 10.9+
https://bugs.webkit.org/show_bug.cgi?id=132932
<rdar://problem/16900619>

Reviewed by Dean Jackson.

  • UIProcess/mac/ViewSnapshotStore.h:

r166005 unintentionally worked around <rdar://problem/16734031>.
r168689 fixed another bug that caused sometimes randomly white snapshots.
It's safe to turn on IOSurface view snapshots where purgeability is supported.

5:13 PM Changeset in webkit [168873] by matthew_hanson@apple.com
  • 2 edits in trunk/Source/WebCore

Only define MAX_GRID_TRACK_REPETITIONS if CSS_GRID_LAYOUT is enabled.

This was causing -Wunused-const-variable errors.

  • css/CSSParser.cpp: Add include guard.
5:08 PM Changeset in webkit [168872] by matthew_hanson@apple.com
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Only define MAX_GRID_TRACK_REPETITIONS if CSS_GRID_LAYOUT is enabled.

This was causing -Wunused-const-variable errors.

  • css/CSSParser.cpp: Add include guard.
4:58 PM Changeset in webkit [168871] by Beth Dakin
  • 4 edits in trunk/Source/WebCore

Tile cache has way too many tiles when pinch-zoomed in
https://bugs.webkit.org/show_bug.cgi?id=132929
-and corresponding-
<rdar://problem/16527172>

Reviewed by Benjamin Poulain.

This patch makes the margin sizing functions return the set margin size scaled by
the TileGrid's scale. We also need to get rid of the old notion we used to have
that margin tiles might be allowed to have a different size than the other tiles.
We don't want that. They should have the normal margin size, but they should
affect the overall coverage area.

Scale by the TileGrid's scale.

  • platform/graphics/ca/mac/TileController.mm:

(WebCore::TileController::topMarginHeight):
(WebCore::TileController::bottomMarginHeight):
(WebCore::TileController::leftMarginWidth):
(WebCore::TileController::rightMarginWidth):

Get rid of adjustRectAtTileIndexForMargin() since we do not want to ever do this
adjustment. Use tileSize instead of margin size for all sizing computations.

  • platform/graphics/ca/mac/TileGrid.h:
  • platform/graphics/ca/mac/TileGrid.mm:

(WebCore::TileGrid::rectForTileIndex):
(WebCore::TileGrid::getTileIndexRangeForRect):
(WebCore::TileGrid::adjustRectAtTileIndexForMargin): Deleted.

4:36 PM Changeset in webkit [168870] by dino@apple.com
  • 2 edits in trunk/Source/WebCore

[Mac] Search fields should not use centered look
https://bugs.webkit.org/show_bug.cgi?id=132930
<rdar://problem/16825842>

Reviewed by Beth Dakin.

We need to explicitly set the centeredLook property
to NO on modern releases of Mac.

  • rendering/RenderThemeMac.mm: Declare a new private property and set it to NO.

(WebCore::RenderThemeMac::search):

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

Use the correct client in WebPageProxy::unwrapCryptoKey
https://bugs.webkit.org/show_bug.cgi?id=132924

Reviewed by Darin Adler.

  • UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::unwrapCryptoKey): Match what

we now do in wrapCryptoKey().

4:13 PM Changeset in webkit [168868] by Alan Bujtas
  • 28 edits
    2 adds in trunk

Subpixel layout: Change Element.offset* client* scroll* return type to double.
https://bugs.webkit.org/show_bug.cgi?id=132895

Reviewed by Simon Fraser.

Source/WebCore:
This patch changes Element.offset*, Element.client* and Element.scroll* APIs return
type from long to double to match the latest CSSOM View Module spec[1].
Element.offset* and Element.client* do return subpixel values from now on.
Element.scroll* still return integral values as the scrolling code hasn't adopted to subpixel rendering yet.

subpixelCSSOMElementMetricsEnabled setting is added to be able to turn this feature on/off
from WK2 preferences. It toggles the return value from subpixel to floored integral.
It does not change layout/rendering behavior.

Reference list of what other browsers do:
IE: http://blogs.msdn.com/b/ie/archive/2012/02/17/sub-pixel-rendering-and-the-css-object-model.aspx
Blink: http://www.chromestatus.com/features/5497402177880064
Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=825607

[1] http://www.w3.org/TR/2013/WD-cssom-view-20131217/

Test: cssom/subpixel-offsetleft-top-width-height-values.html

  • dom/Element.cpp:

(WebCore::localZoomForRenderer):
(WebCore::adjustForLocalZoom):
(WebCore::convertToNonSubpixelValueIfNeeded):
(WebCore::Element::offsetLeft):
(WebCore::Element::offsetTop):
(WebCore::Element::offsetWidth):
(WebCore::Element::offsetHeight):
(WebCore::Element::clientLeft):
(WebCore::Element::clientTop):
(WebCore::Element::clientWidth):
(WebCore::Element::clientHeight):
(WebCore::Element::scrollLeft):
(WebCore::Element::scrollTop):
(WebCore::Element::setScrollLeft):
(WebCore::Element::setScrollTop):
(WebCore::Element::scrollWidth):
(WebCore::Element::scrollHeight):

  • dom/Element.h:
  • dom/Element.idl:
  • html/HTMLBodyElement.cpp:

(WebCore::adjustForZoom):
(WebCore::HTMLBodyElement::scrollLeft):
(WebCore::HTMLBodyElement::setScrollLeft):
(WebCore::HTMLBodyElement::scrollTop):
(WebCore::HTMLBodyElement::setScrollTop):
(WebCore::HTMLBodyElement::scrollHeight):
(WebCore::HTMLBodyElement::scrollWidth):

  • html/HTMLBodyElement.h:
  • page/Settings.in:

Source/WebKit2:
This patch changes Element.offset*, Element.client* and Element.scroll* APIs return
type from long to double to match the latest CSSOM View Module spec[1].
Element.offset* and Element.client* do return subpixel values from now on.
Element.scroll* still return integral values as the scrolling code hasn't adopted to subpixel rendering yet.

subpixelCSSOMElementMetricsEnabled setting is added to be able to turn this feature on/off
from WK2 preferences. It toggles the return value from subpixel to floored integral.
It does not change layout/rendering behavior.

Reference list of what other browsers do:
IE: http://blogs.msdn.com/b/ie/archive/2012/02/17/sub-pixel-rendering-and-the-css-object-model.aspx
Blink: http://www.chromestatus.com/features/5497402177880064
Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=825607

[1] http://www.w3.org/TR/2013/WD-cssom-view-20131217/

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetSubpixelCSSOMElementMetricsEnabled):
(WKPreferencesGetSubpixelCSSOMElementMetricsEnabled):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

LayoutTests:
Some test cases expect integral values, so the test content is updated accordingly.
It mostly means adding Math.round() before comparing values in order to match pixelSnappedIntRect()
functionality.

  • css3/calc/simple-calcs-prefixed.html: changed file format from Windows to Unix.
  • css3/calc/simple-calcs.html: changed file format from Windows to Unix.
  • cssom/subpixel-offsetleft-top-width-height-values-expected.txt: Added.
  • cssom/subpixel-offsetleft-top-width-height-values.html: Added.
  • editing/selection/drag-start-event-client-x-y.html: use floor as we compare the return value to a truncated integer.
  • editing/selection/mixed-editability-10.html:
  • fast/css/zoom-in-length-round-trip.html:
  • fast/dom/non-numeric-values-numeric-parameters-expected.txt:
  • fast/dom/script-tests/non-numeric-values-numeric-parameters.js:
  • fast/forms/basic-buttons.html:
  • js/dom/dom-static-property-for-in-iteration-expected.txt:
  • platform/mac/fast/scrolling/scroll-div-latched-div.html:
  • platform/mac/fast/scrolling/scroll-div-latched-mainframe.html:
  • platform/mac/fast/scrolling/scroll-select-bottom-test.html:
  • platform/mac/fast/scrolling/scroll-select-latched-mainframe.html:
  • platform/mac/fast/scrolling/scroll-select-latched-select.html:
  • resources/check-layout.js:
3:56 PM Changeset in webkit [168867] by matthew_hanson@apple.com
  • 3 edits in branches/safari-538.34-branch/Source/WebKit2

Merge r168609.

3:55 PM Changeset in webkit [168866] by benjamin@webkit.org
  • 11 edits in trunk/Source/WebKit2

[iOS][WK2] Expose the viewport meta tag width on the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=132926
<rdar://problem/16892115>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-14
Reviewed by Sam Weinig.

Safari requires the viewport meta tag width for legacy stuff on WebApps. Just send it
over to the UIProcess when it changes.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):
(-[WKWebView _setViewportMetaTagWidth:]):
(-[WKWebView _viewportMetaTagWidth]):

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::didChangeViewportMetaTagWidth):

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::viewportMetaTagWidthDidChange):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::viewportPropertiesDidChange):

3:50 PM Changeset in webkit [168865] by commit-queue@webkit.org
  • 3 edits
    5 adds in trunk/LayoutTests

[GTK] Unreviewed GTK gardening.

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

  • platform/gtk/TestExpectations: Report and mark new tests failing.
  • platform/gtk/editing/apply-style-iframe-crash-expected.txt: Added.

Rebaseline after r168641.

  • platform/gtk/svg/W3C-SVG-1.1-SE/painting-marker-05-f-expected.txt: Added.

Rebaseline after r168543.

  • platform/gtk/svg/W3C-SVG-1.1-SE/painting-marker-06-f-expected.txt: Added.

Rebaseline after r168543.

  • platform/gtk/svg/hixie/mixed/010-expected.txt: Rebaseline after r168674.
  • platform/gtk/svg/zoom/page/zoom-svg-as-relative-image-expected.txt: Added.

Rebaseline after r168350.

  • platform/gtk/svg/zoom/text/zoom-svg-float-border-padding-expected.txt: Added.

Rebaseline after r168674.

3:39 PM Changeset in webkit [168864] by Simon Fraser
  • 2 edits in trunk/Source/WebKit2

[iOS WK2] Make view debugging easier
https://bugs.webkit.org/show_bug.cgi?id=132892

Reviewed by Tim Horton.

Enhance -[WKCompositingView description] to show WebKit-related information
which is useful when dumping a window's UIView hierarchy.

Also have WKTransformView and WKRemoteView inherit from WKCompositingView,
and thereby get the hitTest:withEvent: override for free, as well as better dumping.

  • UIProcess/ios/RemoteLayerTreeHostIOS.mm:

(-[WKCompositingView description]):
(-[WKTransformView hitTest:withEvent:]): Deleted.
(-[WKRemoteView hitTest:withEvent:]): Deleted.

3:22 PM Changeset in webkit [168863] by matthew_hanson@apple.com
  • 3 edits in tags/Safari-538.34.40/Source/WebKit2

Merge r168609.

3:09 PM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
2:13 PM Changeset in webkit [168862] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebKit2

[iOS][WK2] Fixed positioned element must relayout correctly before sending resize events to the page
https://bugs.webkit.org/show_bug.cgi?id=132920
<rdar://problem/16836866>

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-05-14
Reviewed by Simon Fraser.

During the dynamic resize operation, we do not update the fixed position elements because
it is a very hard problem on the UI Process side.

When the animation finishes, the fixed positioned rect is recomputed on the UIProcess and pushed
to the WebProcess.

The problem is sending the rect after the animation is too late, the content can observe the fixed
elements layout through JavaScript and would get the old size.

This patch fixes the issue updating the CustomFixedPositionLayoutRect on the WebProcess before
notifying the content of the resize.
First, we layout the content to the new fixed layout size to get the new content size.
Then, we compute the new FixedPositionedLayoutRect with FrameView's viewportConstrainedObjectsRect(),
this use the real content size and our estimated unobscured content rect.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::dynamicViewportSizeUpdate):

1:48 PM Changeset in webkit [168861] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Inline caching for proxies clobbers baseGPR too early
https://bugs.webkit.org/show_bug.cgi?id=132916

Reviewed by Filip Pizlo.

We clobber baseGPR prior to the Structure checks, so if any of the checks fail then the slow path
gets the target of the proxy rather than the proxy itself. We need to delay the clobbering of baseGPR
until we know the inline cache is going to succeed.

  • jit/Repatch.cpp:

(JSC::generateByIdStub):

1:17 PM Changeset in webkit [168860] by Brent Fulgham
  • 3 edits in trunk/Source/JavaScriptCore

[Win] Unreviewed build fix.

was missing commands to build LLInt portions of JSC.

  • llint/LLIntData.cpp: 64-bit build fix.
1:12 PM Changeset in webkit [168859] by beidson@apple.com
  • 7 edits in trunk/Source

Implement NSSharingServiceDelegate method "transitionImageForShareItem"
<rdar://problem/16878020> and https://bugs.webkit.org/show_bug.cgi?id=132911

Reviewed by Tim Horton.

Source/WebCore:

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:

Source/WebKit/mac:

  • Misc/WebSharingServicePickerController.mm:

(-[WebSharingServicePickerController sharingService:transitionImageForShareItem:contentRect:]):

  • WebCoreSupport/WebContextMenuClient.h:
  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::renderedImageForControlledImage): Paint the entire content rect for the controlled image

into an ImageBuffer, then return the resulting NSImage. This only paints the image itself and not any
overlapping content by setting the selection and appropriate painting mode.

1:11 PM Changeset in webkit [168858] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Another unreviewed build fix.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::getTimingData):
Added necessary UNUSED_PARAMs.

1:03 PM Changeset in webkit [168857] by achristensen@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r168849.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::getTimingData):
Protect use of timing data with ENABLE(WEB_TIMING).

12:14 PM Changeset in webkit [168856] by matthew_hanson@apple.com
  • 3 edits in tags/Safari-538.34.40/Source/WebKit2

Merge r168553.

12:13 PM Changeset in webkit [168855] by matthew_hanson@apple.com
  • 3 edits in branches/safari-538.34-branch/Source/WebKit2

Merge r168553.

12:00 PM Changeset in webkit [168854] by bshafiei@apple.com
  • 1 copy in tags/Safari-538.34.5

New tag.

11:47 AM Changeset in webkit [168853] by matthew_hanson@apple.com
  • 5 edits in branches/safari-538.34-branch/Source

Update versioning to 538.34.41

11:43 AM Changeset in webkit [168852] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.34.40

New tag Safari-538.34.40

11:40 AM Changeset in webkit [168851] by matthew_hanson@apple.com
  • 5 edits in branches/safari-538.34-branch/Source

Update versioning to 538.34.40

11:32 AM Changeset in webkit [168850] by matthew_hanson@apple.com
  • 1 delete in tags/Safari-538.34.5

Remove Tag.

11:28 AM Changeset in webkit [168849] by achristensen@apple.com
  • 5 edits in trunk/Source/WebCore

Refactor duplicate code in web timing.
https://bugs.webkit.org/show_bug.cgi?id=132917

Reviewed by Alexey Proskuryakov.

  • platform/network/ResourceHandle.h:

Added getTimingData declaration.

  • platform/network/mac/ResourceHandleMac.mm:

(WebCore::ResourceHandle::getTimingData):

  • platform/network/mac/WebCoreResourceHandleAsDelegate.mm:

(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):
Moved duplicate code to ResourceHandle.

11:02 AM Changeset in webkit [168848] by enrica@apple.com
  • 3 edits in trunk/Source/WebKit2

REGRESSION(WK2): Many pages have very wrong text size after rotating.
https://bugs.webkit.org/show_bug.cgi?id=132893
<rdar://problem/16806958>

Reviewed by Benjamin Poulain.

Whenever our viewport width changes we must reset text autosizing
on the renderer.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::setViewportConfigurationMinimumLayoutSize):
(WebKit::WebPage::setMinimumLayoutSizeForMinimalUI):
(WebKit::WebPage::resetTextAutosizingBeforeLayoutIfNeeded):
(WebKit::WebPage::dynamicViewportSizeUpdate):

11:02 AM Changeset in webkit [168847] by beidson@apple.com
  • 4 edits in trunk/Source/WebKit/mac

sourceFrameOnScreenForShareItem: can be off by a pixel
<rdar://problem/16878020> and https://bugs.webkit.org/show_bug.cgi?id=132911

Reviewed by Simon Fraser.

In a land of LayoutUnits and sub-pixel rendering, converting between IntRects and
FloatRects can be error prone. So we now try to minimize such conversions.

  • Misc/WebSharingServicePickerController.mm:

(-[WebSharingServicePickerController sharingService:sourceFrameOnScreenForShareItem:]):

  • WebCoreSupport/WebContextMenuClient.h:
  • WebCoreSupport/WebContextMenuClient.mm:

(WebContextMenuClient::clientFloatRectForNode): Split this into a separate utility method

as it will be shared with other code very soon. Instead of using absoluteBoundingBoxRect()
which does lossy float->int conversions, try to keep things in terms of FloatRects as
much as possible.

(WebContextMenuClient::screenRectForHitTestNode): Call clientFloatRectForNode to get the

FloatRect, then perform the lossy rounding conversion to an IntRect only once.

10:47 AM Changeset in webkit [168846] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

2014-05-14 Zalan Bujtas <Alan Bujtas>

Fix line ending style for the test.

  • editing/selection/drag-start-event-client-x-y.html:
10:44 AM Changeset in webkit [168845] by achristensen@apple.com
  • 15 edits in trunk/Source

Use references instead of pointers with ResourceLoadTiming.
https://bugs.webkit.org/show_bug.cgi?id=132846

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • WebCore.exp.in:

Removed ResourceResponseBase::setResourceLoadTiming linker symbol.

  • inspector/InspectorResourceAgent.cpp:

(WebCore::buildObjectForResourceResponse):

  • page/PerformanceResourceTiming.cpp:

(WebCore::PerformanceResourceTiming::domainLookupStart):
(WebCore::PerformanceResourceTiming::domainLookupEnd):
(WebCore::PerformanceResourceTiming::connectStart):
(WebCore::PerformanceResourceTiming::connectEnd):
(WebCore::PerformanceResourceTiming::secureConnectionStart):
(WebCore::PerformanceResourceTiming::requestStart):
Use references instead of pointers.

  • page/PerformanceResourceTiming.h:

Make an instance instead of a RefPtr.

  • page/PerformanceTiming.cpp:

(WebCore::PerformanceTiming::domainLookupStart):
(WebCore::PerformanceTiming::domainLookupEnd):
(WebCore::PerformanceTiming::connectStart):
(WebCore::PerformanceTiming::connectEnd):
(WebCore::PerformanceTiming::secureConnectionStart):
(WebCore::PerformanceTiming::requestStart):
(WebCore::PerformanceTiming::responseStart):
Check to see if the loader exists, then use ResourceLoadTiming reference.
(WebCore::PerformanceTiming::resourceLoadTiming): Deleted.

  • page/PerformanceTiming.h:

Removed resourceLoadTiming declaration.

  • platform/network/ResourceLoadTiming.h:

(WebCore::ResourceLoadTiming::ResourceLoadTiming):
(WebCore::ResourceLoadTiming::operator=):
Replaced reference counting with copy constructors.
(WebCore::ResourceLoadTiming::create): Deleted.
(WebCore::ResourceLoadTiming::deepCopy): Deleted.

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::adopt):
(WebCore::ResourceResponseBase::copyData):
(WebCore::ResourceResponseBase::resourceLoadTiming):
(WebCore::ResourceResponseBase::setResourceLoadTiming):
(WebCore::ResourceResponseBase::compare):

  • platform/network/ResourceResponseBase.h:
  • platform/network/mac/WebCoreResourceHandleAsDelegate.mm:

(-[WebCoreResourceHandleAsDelegate connection:didReceiveResponse:]):

  • platform/network/mac/WebCoreResourceHandleAsOperationQueueDelegate.mm:

(-[WebCoreResourceHandleAsOperationQueueDelegate connection:didReceiveResponse:]):

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::ResourceHandle::didStartRequest):
(WebCore::networkEventCallback):
Use references instead of pointers.

Source/WebKit2:

  • Shared/WebCoreArgumentCoders.cpp:

(IPC::ArgumentCoder<ResourceResponse>::encode):
(IPC::ArgumentCoder<ResourceResponse>::decode):
Use references instead of pointers and null checks.

10:29 AM Changeset in webkit [168844] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

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

The patch added an assertion which fires on 6 tests (Requested
by ap on #webkit).

Reverted changeset:

"[CSS Regions] Add ASSERT to make sure using the flowThread
cache does not return incorrect results"
https://bugs.webkit.org/show_bug.cgi?id=132906
http://trac.webkit.org/changeset/168837

10:24 AM Changeset in webkit [168843] by jhoneycutt@apple.com
  • 34 edits
    7 deletes in trunk

Revert "Don't dispatch 'beforeload' event inside FrameView::layout()",
commit 84fe8cf6fbe8b5de9a06300ca3ef6d0ffc96948c, and associated
follow-up fixes:

"platform/mac/plugins/testplugin-onnew-onpaint.html failing after

r168668", commit c17be3bf5127baf94310af4b4b9bf5a57d29aaf4

"[Win] Unreviewed build fix after r168668.", commit

4fa470ad12c38ee7d4c114541b6dd321181a8bc9

The original merged patch appears to have caused a regression in
fast/dom/HTMLObjectElement/object-as-frame.html.

<https://bugs.webkit.org/show_bug.cgi?id=132886>

Reviewed by Alexey Proskuryakov.

Source/WebCore:

  • 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::flushAnyPendingPostLayoutTasks):
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::updateEmbeddedObjectsTimerFired): Deleted.

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

(WebCore::Internals::updateLayoutIgnorePendingStylesheetsAndRunPostLayoutTasks): Deleted.

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

Source/WebKit:

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

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: Removed.
  • fast/events/beforeload-assertion.html: Removed.
  • fast/events/beforeload-iframe-crash-expected.txt: Removed.
  • fast/events/beforeload-iframe-crash.html: Removed.
  • fast/events/beforeload-input-time-crash-expected.txt: Removed.
  • fast/events/beforeload-input-time-crash.html: Removed.
  • 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:
  • platform/mac/plugins/testplugin-onnew-onpaint.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: Removed.
9:59 AM Changeset in webkit [168842] by commit-queue@webkit.org
  • 4 edits in trunk

alidation for getUserMedia() errorCallback is missing.
https://bugs.webkit.org/show_bug.cgi?id=132901

Patch by Kiran <kiran.guduru@samsung.com> on 2014-05-14
Reviewed by Darin Adler.

Source/WebCore:
The patch adds the validation for getUserMedia errorCallBack
and throws TypeMismatchError.

Test: fast/mediastream/getusermedia.html

  • Modules/mediastream/NavigatorUserMedia.cpp:

(WebCore::NavigatorUserMedia::webkitGetUserMedia):

LayoutTests:
This test checks for null values in getUserMedia errorCallback.

  • fast/mediastream/getusermedia.html:
9:57 AM Changeset in webkit [168841] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

ARM Traditional buildfix after r168776.
https://bugs.webkit.org/show_bug.cgi?id=132903

Patch by Martin Hodovan <mhodovan.u-szeged@partner.samsung.com> on 2014-05-14
Reviewed by Darin Adler.

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::abortWithReason): Added.

9:48 AM Changeset in webkit [168840] by ap@apple.com
  • 7 edits in trunk/LayoutTests

Change line endings of some test files to LF to make it easier to commit and test changes.

  • css3/calc/simple-calcs.html:
  • css3/calc/simple-minmax.html:
  • css3/calc/transforms-scale-expected.html:
  • css3/calc/transforms-scale.html:
  • css3/calc/transforms-translate-expected.html:
  • css3/calc/transforms-translate.html:
9:44 AM Changeset in webkit [168839] by commit-queue@webkit.org
  • 24 edits in trunk

Remove CSS_STICKY_POSITION guards
https://bugs.webkit.org/show_bug.cgi?id=132676

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-05-14
Reviewed by Simon Fraser.

.:

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/OptionsGTK.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EPosition):

  • css/CSSValueKeywords.in:
  • editing/EditingStyle.cpp:

(WebCore::EditingStyle::convertPositionStyle):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.props:
  • win/tools/vsprops/FeatureDefinesCairo.props:
9:41 AM Changeset in webkit [168838] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Fix line ending style for the test (as an experiment).

  • css3/calc/simple-calcs-prefixed.html:
8:38 AM Changeset in webkit [168837] by stavila@adobe.com
  • 3 edits in trunk/Source/WebCore

[CSS Regions] Add ASSERT to make sure using the flowThread cache does not return incorrect results
https://bugs.webkit.org/show_bug.cgi?id=132906

Reviewed by Andrei Bucur.

If flowThreadContainingBlock() is called on an object which is in a different
flow thread than the one currently being laid out, this method will return an incorrect
result. I added an assertion for that to make sure we catch and treat any such scenarios.

No new tests required.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::locateFlowThreadContainingBlockNoCache):
(WebCore::RenderObject::locateFlowThreadContainingBlock):

  • rendering/RenderObject.h:
8:14 AM WebKitGTK/KeepingTheTreeGreen edited by clopez@igalia.com
(diff)
7:35 AM Changeset in webkit [168836] by abucur@adobe.com
  • 5 edits in trunk/Source/WebCore

[CSS Regions] Don't relayout when updating the region range unless necessary
https://bugs.webkit.org/show_bug.cgi?id=132120

Reviewed by Antti Koivisto.

The patch reduces the cases when a relayout is made for boxes that change the region range.
This lowers the amount of nested layouts in most cases and produces big layout speedups for trees
without overhanging floats.

Tests: Major performance improvement with speedups of 50-60% on:
Layout/RegionsAuto.html, Layout/RegionsAutoMaxHeight.html and Layout/RegionsFixed.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateRegionRangeForBoxChild): Ask the child box if it needs a relayout
in case its region range changes.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::layoutBlockChild): It's not necessary to do two layouts here because
there's no block direction position change between them for the child.
(WebCore::RenderBlockFlow::needsLayoutAfterRegionRangeChange): If the block doesn't have floats
or if it expands to enclose the floats it doesn't need to relayout after a region range chage.
It's not possible for it to have a float inside overflow that must be repositioned using the new
range.

  • rendering/RenderBlockFlow.h:
  • rendering/RenderBox.h:

(WebCore::RenderBox::needsLayoutAfterRegionRangeChange): By default don't relayout after a region
range change.

6:43 AM Changeset in webkit [168835] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

RuleData should ref the StyleRule
https://bugs.webkit.org/show_bug.cgi?id=132865

Reviewed by Andreas Kling.

As a defensive move make RuleData ref the StyleRule.
This adds some ref churn but the overall performance impact should be minimal.

  • css/RuleSet.h:

(WebCore::RuleData::rule):

5:48 AM Changeset in webkit [168834] by Carlos Garcia Campos
  • 3 edits
    1 copy
    1 add
    1 delete in trunk/Tools

REGRESSION(CMAKE): [GTK] InputMethodFilter unit test is not built
https://bugs.webkit.org/show_bug.cgi?id=132686

Reviewed by Philippe Normand.

Bring back InputMethodFilter test to the build and compile it into
a single binary TestWebCore with the other WebCore tests. Also
move it from TestWebKitAPI/gtk/ to TestWebKitAPI/Tests/WebCore/gtk/.

  • Scripts/run-gtk-tests:

(TestRunner): Remove WebCoreGtk from the list of test directories.

  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/Tests/WebCore/gtk/InputMethodFilter.cpp: Renamed from Tools/TestWebKitAPI/Tests/gtk/InputMethodFilter.cpp.
5:44 AM Changeset in webkit [168833] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

[EFL] Make XVFBDriver optional
https://bugs.webkit.org/show_bug.cgi?id=131036

Patch by Zsolt Borbely <zsborbely.u-szeged@partner.samsung.com> on 2014-05-14
Reviewed by Gyuyoung Kim.

  • Scripts/webkitpy/port/efl.py:

(EflPort._driver_class):

2:52 AM Changeset in webkit [168832] by Lucas Forschler
  • 5 edits in trunk/Source

Versioning.

2:50 AM Changeset in webkit [168831] by Lucas Forschler
  • 1 copy in tags/Safari-538.35

New Tag.

2:47 AM Changeset in webkit [168830] by Antti Koivisto
  • 4 edits in trunk/Source

Source/WebCore: GIF animations don't restart after scrolling on iOS WebKit1
https://bugs.webkit.org/show_bug.cgi?id=132900

Reviewed by Andreas Kling.

  • WebCore.exp.in:

Source/WebKit/mac: GIF animations don't restart after scrolling with iOS WebKit1
https://bugs.webkit.org/show_bug.cgi?id=132900
<rdar://problem/16490858>

Reviewed by Andreas Kling.

  • WebView/WebView.mm:

(-[WebView _didFinishScrollingOrZooming]):

Check if the animations need to be restarted after scrolling finishes.

2:46 AM Changeset in webkit [168829] by Lucas Forschler
  • 5 edits in branches/safari-538.34-branch/Source

Versioning.

2:44 AM Changeset in webkit [168828] by Lucas Forschler
  • 1 copy in tags/Safari-538.34.5

New Tag.

2:40 AM Changeset in webkit [168827] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168767.

2:38 AM Changeset in webkit [168826] by Lucas Forschler
  • 3 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168764.

2:34 AM Changeset in webkit [168825] by Lucas Forschler
  • 8 edits in branches/safari-538.34-branch/Source

Merge patch for <rdar://problem/16650338>.

2:08 AM Changeset in webkit [168824] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168758.

2:06 AM Changeset in webkit [168823] by Lucas Forschler
  • 6 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168755.

2:03 AM Changeset in webkit [168822] by Lucas Forschler
  • 7 edits
    3 copies in branches/safari-538.34-branch

Merged r168750.

1:57 AM Changeset in webkit [168821] by Lucas Forschler
  • 6 edits in branches/safari-538.34-branch

Merged r168599.

1:53 AM Changeset in webkit [168820] by Lucas Forschler
  • 12 edits in branches/safari-538.34-branch/Source

Merged r168744.

1:44 AM Changeset in webkit [168819] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168768.

1:40 AM Changeset in webkit [168818] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168724.

1:37 AM Changeset in webkit [168817] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168694.

1:35 AM Changeset in webkit [168816] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168691.

1:33 AM Changeset in webkit [168815] by Lucas Forschler
  • 7 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168690.

1:29 AM Changeset in webkit [168814] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168740.

1:15 AM Changeset in webkit [168813] by Lucas Forschler
  • 2 edits
    1 copy
    1 delete in branches/safari-538.34-branch/Source/WebKit2

Merged r168739.

1:13 AM Changeset in webkit [168812] by Lucas Forschler
  • 8 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168689.

1:11 AM Changeset in webkit [168811] by Lucas Forschler
  • 3 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168670.

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

Merged r168661.

1:04 AM Changeset in webkit [168809] by Lucas Forschler
  • 5 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168637.

1:02 AM Changeset in webkit [168808] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168629.

12:59 AM Changeset in webkit [168807] by Lucas Forschler
  • 9 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168655.

12:56 AM Changeset in webkit [168806] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168643.

12:54 AM Changeset in webkit [168805] by Lucas Forschler
  • 7 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168602.

12:50 AM Changeset in webkit [168804] by Lucas Forschler
  • 2 edits
    1 copy
    1 delete in branches/safari-538.34-branch/Source/WebKit2

Merged r168583.

12:45 AM Changeset in webkit [168803] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168572.

12:43 AM Changeset in webkit [168802] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebCore

Merged r168557.

12:41 AM Changeset in webkit [168801] by Lucas Forschler
  • 16 edits in branches/safari-538.34-branch/Source

Merged r168556.

12:36 AM Changeset in webkit [168800] by Lucas Forschler
  • 4 edits in branches/safari-538.34-branch/Source

Merged r168513.

12:26 AM Changeset in webkit [168799] by Lucas Forschler
  • 4 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168568.

12:23 AM Changeset in webkit [168798] by Lucas Forschler
  • 54 edits
    1 copy in branches/safari-538.34-branch/Source/WebKit2

Merged r168566.

12:18 AM Changeset in webkit [168797] by Lucas Forschler
  • 2 edits in branches/safari-538.34-branch/Source/WebKit2

Merged r168563.

12:14 AM Changeset in webkit [168796] by Lucas Forschler
  • 8 edits in branches/safari-538.34-branch

Fix dates in ChangeLogs.

Note: See TracTimeline for information about the timeline view.