WebKit-https.git
7 years agoBump jQuery to same version that dromaeo.com uses.
akling@apple.com [Sat, 26 Apr 2014 03:30:52 +0000 (03:30 +0000)]
Bump jQuery to same version that dromaeo.com uses.

Rubber-stamped by Ryosuke Niwa.

* Dromaeo/resources/dromaeo/web/lib/jquery-1.10.2.min.js: Added.
* Dromaeo/resources/dromaeo/web/tests/cssquery-jquery.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-attr-jquery.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-event-jquery.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-modify-jquery.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-style-jquery.html:
* Dromaeo/resources/dromaeo/web/tests/jslib-traverse-jquery.html:

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

7 years agoREGRESSION (r167828): http/tests/media/hls/video-controls-live-stream.html fails
timothy_horton@apple.com [Sat, 26 Apr 2014 00:31:23 +0000 (00:31 +0000)]
REGRESSION (r167828): http/tests/media/hls/video-controls-live-stream.html fails

* English.lproj/mediaControlsLocalizedStrings.js:
Add 'Live Broadcast' to the localized strings list.

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

7 years ago[iOS][WK2] Add an intermediary view to do the target transform and adjustment transform
benjamin@webkit.org [Sat, 26 Apr 2014 00:12:29 +0000 (00:12 +0000)]
[iOS][WK2] Add an intermediary view to do the target transform and adjustment transform
https://bugs.webkit.org/show_bug.cgi?id=132175

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-04-25
Reviewed by Enrica Casucci.

Some utility views of WKContentView account for the transforms between the content view
and the utility view.

Since the dynamic resize relies on setting subLayerTransforms, it is getting in the way.

This patch adds a layer in between for the animation. That way the content view remains
unscaled.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _didCommitLayerTree:WebKit::]):
(-[WKWebView _dynamicViewportUpdateChangedTargetToScale:position:]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _endAnimatedResize]):

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

7 years agoREGRESSION (iOS WebKit2): Selection is not being repainted during live resize.
enrica@apple.com [Sat, 26 Apr 2014 00:06:15 +0000 (00:06 +0000)]
REGRESSION (iOS WebKit2): Selection is not being repainted during live resize.
https://bugs.webkit.org/show_bug.cgi?id=132216
<rdar://problem/16628819>

Reviewed by Benjamin Poulain.

Since the selection is drawn in the UIProcess on iOS,
we need to update the selection rects and force a repaint
during a live resize.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidLayout):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::updateSelectionAppearance):

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

7 years agoSet prepare-Changelog flag so that it no longer runs check-webkit-style by default
jcraig@apple.com [Fri, 25 Apr 2014 23:48:10 +0000 (23:48 +0000)]
Set prepare-Changelog flag so that it no longer runs check-webkit-style by default
https://bugs.webkit.org/show_bug.cgi?id=132209

Reviewed by Daniel Bates.

Set default to --no-style to avoid additional spew from false positives in check-webkit-style.
Run check-webkit-style before generating changelogs to avoid additional spurious errors.

* Scripts/prepare-ChangeLog:
(main):

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

7 years agoWeb Inspector: DOM Tree debugger popover obscures dashboard
commit-queue@webkit.org [Fri, 25 Apr 2014 23:43:15 +0000 (23:43 +0000)]
Web Inspector: DOM Tree debugger popover obscures dashboard
https://bugs.webkit.org/show_bug.cgi?id=132205

Patch by Jonathan Wells <jonowells@apple.com> on 2014-04-25
Reviewed by Timothy Hatcher.

* UserInterface/Views/DashboardContainerView.css:
(.toolbar .dashboard.visible): Change z-index to 1. Force stacking context.
* UserInterface/Views/Popover.css:
(.popover): Add z-index: 100.

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

7 years agoNeed earlier cell test
oliver@apple.com [Fri, 25 Apr 2014 23:14:16 +0000 (23:14 +0000)]
Need earlier cell test
https://bugs.webkit.org/show_bug.cgi?id=132211

Reviewed by Mark Lam.

Source/JavaScriptCore:
Move cell test to before the function call repatch
location, as the repatch logic for 32bit assumes that the
caller will already have performed a cell check.

* jit/JITCall32_64.cpp:
(JSC::JIT::compileOpCall):

LayoutTests:
Tests

* js/regress/polymorphic-array-call-expected.txt: Added.
* js/regress/polymorphic-array-call.html: Added.
* js/regress/script-tests/polymorphic-array-call.js: Added.
(func.C.this.m):
(func.C):
(func):

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

7 years agoUn-fast-allocate JSGlobalObjectRareData because Windows doesn't build and I'm not...
akling@apple.com [Fri, 25 Apr 2014 23:08:01 +0000 (23:08 +0000)]
Un-fast-allocate JSGlobalObjectRareData because Windows doesn't build and I'm not in the mood.

* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::JSGlobalObjectRareData::JSGlobalObjectRareData):
(JSC::JSGlobalObject::JSGlobalObjectRareData::~JSGlobalObjectRareData): Deleted.

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

7 years agoAdd a selection overlay.
beidson@apple.com [Fri, 25 Apr 2014 22:22:14 +0000 (22:22 +0000)]
Add a selection overlay.
<rdar://problem/16727797> and https://bugs.webkit.org/show_bug.cgi?id=132200

Reviewed by David Hyatt.

Source/WebCore:
No new tests (WK2 feature in development).

* WebCore.xcodeproj/project.pbxproj:

Add a SelectionRectGathterer class.
It creates a Notifier (given a RenderView) then accepts Rects from the RenderView.
When the Notifier is destroyed, the appropriate EditorClient is notified of the gathered rects.
* editing/SelectionRectGatherer.cpp: Added.
(WebCore::SelectionRectGatherer::SelectionRectGatherer):
(WebCore::SelectionRectGatherer::addRect):
(WebCore::SelectionRectGatherer::addRects):
(WebCore::SelectionRectGatherer::Notifier::Notifier):
(WebCore::SelectionRectGatherer::Notifier::~Notifier):
(WebCore::SelectionRectGatherer::clearAndCreateNotifier):
* editing/SelectionRectGatherer.h: Added.

* page/EditorClient.h:
(WebCore::EditorClient::selectionRectsDidChange):

* rendering/RenderView.cpp:
(WebCore::RenderView::RenderView):
(WebCore::RenderView::setSelection): Clear the gatherer’s rects then create a Notifier.
(WebCore::RenderView::setSubtreeSelection): Give all the selection rects to be painted to
  the SelectionRectGatherer.
* rendering/RenderView.h:

Source/WebKit2:
* WebKit2.xcodeproj/project.pbxproj:

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::selectionRectsDidChange): Pass the new selection rects on
  to the selection overlay controller.
* WebProcess/WebCoreSupport/WebEditorClient.h:

* WebProcess/WebPage/SelectionOverlayController.cpp: Added.
(WebKit::SelectionOverlayController::SelectionOverlayController):
(WebKit::SelectionOverlayController::createOverlayIfNeeded):
(WebKit::SelectionOverlayController::destroyOverlay):
(WebKit::SelectionOverlayController::pageOverlayDestroyed):
(WebKit::SelectionOverlayController::willMoveToWebPage):
(WebKit::SelectionOverlayController::didMoveToWebPage):
(WebKit::SelectionOverlayController::selectionRectsDidChange):
(WebKit::SelectionOverlayController::drawRect):
(WebKit::SelectionOverlayController::mouseEvent):
* WebProcess/WebPage/SelectionOverlayController.h: Added.
(WebKit::SelectionOverlayController::create):
* WebProcess/WebPage/mac/SelectionOverlayControllerMac.mm: Added.
(WebKit::SelectionOverlayController::drawRect):
(WebKit::SelectionOverlayController::mouseEvent):
(WebKit::SelectionOverlayController::handleClick):
(WebKit::SelectionOverlayController::clearHighlight):

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::selectionOverlayController):
* WebProcess/WebPage/WebPage.h:

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

7 years agoUpdate WKSI for https://webkit.org/b/132195
dino@apple.com [Fri, 25 Apr 2014 22:18:36 +0000 (22:18 +0000)]
Update WKSI for https://webkit.org/b/132195
<rdar://problem/16175750>

Sorry, I forgot to update the header. This should fix
the Mac builds.

* WebKitSystemInterface.h:

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

7 years agoSupport "Live" streams in media controls.
jer.noble@apple.com [Fri, 25 Apr 2014 22:18:23 +0000 (22:18 +0000)]
Support "Live" streams in media controls.
https://bugs.webkit.org/show_bug.cgi?id=131390

Reviewed by Brent Fulgham.

Source/WebCore:
Test: http/tests/media/hls/video-controls-live-stream.html

Support "Live" streams by adding an isLive property to our media controls.

* Modules/mediacontrols/mediaControlsApple.css:
(audio::-webkit-media-controls-status-display):
(video:-webkit-full-screen::-webkit-media-controls-status-display):
* Modules/mediacontrols/mediaControlsApple.js:
(Controller): isLive defaults to false.
(Controller.prototype.setIsLive): Set the isLive property and conditionally reconfigure the controls.
(Controller.prototype.configureInlineControls): Don't add the timeline if we are live.
(Controller.prototype.configureFullScreenControls): Ditto.
(Controller.prototype.updateStatusDisplay): Added.
(Controller.prototype.handleLoadStart): Call updateStatusDisplay().
(Controller.prototype.handleError): Ditto.
(Controller.prototype.handleAbort): Ditto.
(Controller.prototype.handleSuspend): Ditto.
(Controller.prototype.handleStalled): Ditto.
(Controller.prototype.handleWaiting): Ditto.
(Controller.prototype.updateDuration): Ditto.
(Controller.prototype.updateReadyState): Ditto.

LayoutTests:
* http/tests/media/hls/video-controls-live-stream-expected.txt: Added.
* http/tests/media/hls/video-controls-live-stream.html: Added.
* http/tests/media/resources/hls/test-live.php: Added.
* http/tests/media/resources/hls/test-vod.m3u8: Added.
* http/tests/media/resources/hls/test.ts: Added.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
* platform/mac/fast/layers/video-layer-expected.txt:
* platform/mac/media/media-controls-clone-expected.txt:
* platform/wincairo/TestExpectations:

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

7 years agoREGRESSION (r167818): editing/inserting/typing-space-to-trigger-smart-link.html fails...
timothy_horton@apple.com [Fri, 25 Apr 2014 22:02:49 +0000 (22:02 +0000)]
REGRESSION (r167818): editing/inserting/typing-space-to-trigger-smart-link.html fails on WebKit1 bots
https://bugs.webkit.org/show_bug.cgi?id=132207

* platform/mac-wk1/TestExpectations:
Mark as failing in WebKit1.

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

7 years agoRemove duplicate member variable in WKAutocorrectionRects and WKAutocorrectionContext.
enrica@apple.com [Fri, 25 Apr 2014 21:47:00 +0000 (21:47 +0000)]
Remove duplicate member variable in WKAutocorrectionRects and WKAutocorrectionContext.
https://bugs.webkit.org/show_bug.cgi?id=132206

Reviewed by Benjamin Poulain.

* UIProcess/ios/WKContentViewInteraction.mm:

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

7 years agoAllow a platform-specific size enumeration to be passed into popup-menu display
dino@apple.com [Fri, 25 Apr 2014 21:42:48 +0000 (21:42 +0000)]
Allow a platform-specific size enumeration to be passed into popup-menu display
https://bugs.webkit.org/show_bug.cgi?id=132195

Reviewed by Brent Fulgham. With some in-person review comments from Sam Weinig.

Platforms like OS X use a set of predefined sizes for built-in controls
used for <select>: normal, small and mini. Expose that information to
the PopupMenuClient via the PopupMenuStyle, allowing it to be passed
into the platform code in WebKitSystemInterface.

Source/WebCore:
* platform/PopupMenuStyle.h: Add a menu size enum.
(WebCore::PopupMenuStyle::PopupMenuStyle):
(WebCore::PopupMenuStyle::menuSize):
* platform/mac/WebCoreSystemInterface.h: Pass in NSControlSize as a parameter
to WKPopupMenu.
* platform/mac/WebCoreSystemInterface.mm: Ditto.
* rendering/RenderMenuList.cpp:
(RenderMenuList::menuStyle): Ask the RenderTheme to calculate the size
of the menu button, so that it can be added to the PopupMenuStyle.
* rendering/RenderTheme.h: New method to retrieve the menu size.
(WebCore::RenderTheme::popupMenuSize): Convert an NSControlSize into a PopupMenuSize.
* rendering/RenderThemeMac.h: Override the base function, and add a
controlSizeForCell helper.
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::controlSizeForCell): Used by this new
code and the old setControlSizeForCell to calculate the NSControlSize
that would be used for the button.
(WebCore::RenderThemeMac::setControlSize): Call the new helper.
(WebCore::RenderThemeMac::popupMenuSize): Return the value from the helper.

Source/WebKit/mac:
* WebCoreSupport/PopupMenuMac.mm:
(PopupMenuMac::show): Convert the WebCore menu size type into the
WebCoreSystemInterface type.

Source/WebKit2:
* Shared/PlatformPopupMenuData.cpp: Encode and decode the PopupMenuSize enum.
(WebKit::PlatformPopupMenuData::encode):
(WebKit::PlatformPopupMenuData::decode):
* Shared/PlatformPopupMenuData.h: Add PopupMenuSize member variable.
* UIProcess/mac/WebPopupMenuProxyMac.mm:
(WebKit::WebPopupMenuProxyMac::showPopupMenu): Convert the PopupMenuSize
into a WKControlSize, and pass that into WKPopupMenu.
* WebProcess/WebCoreSupport/mac/WebPopupMenuMac.mm:
(WebKit::WebPopupMenu::setUpPlatformData): Add the PopupMenuSize to
the PlatformPopupMenuData.

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

7 years agoUpdate WKSI for https://webkit.org/b/132195
dino@apple.com [Fri, 25 Apr 2014 21:40:06 +0000 (21:40 +0000)]
Update WKSI for https://webkit.org/b/132195
<rdar://problem/16175750>

Reviewed by Jessie Berlin.

* WebKitSystemInterface.h:
* libWebKitSystemInterfaceMavericks.a:
* libWebKitSystemInterfaceMountainLion.a:

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

7 years agoWindows build fix attempt.
akling@apple.com [Fri, 25 Apr 2014 21:32:40 +0000 (21:32 +0000)]
Windows build fix attempt.

* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::JSGlobalObjectRareData::~JSGlobalObjectRareData):

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

7 years agoREGRESSION (r167775): Safari crashes in ViewSnapshotStore::pruneSnapshots after loadi...
timothy_horton@apple.com [Fri, 25 Apr 2014 21:28:04 +0000 (21:28 +0000)]
REGRESSION (r167775): Safari crashes in ViewSnapshotStore::pruneSnapshots after loading 20 pages
https://bugs.webkit.org/show_bug.cgi?id=132204
<rdar://problem/16729123>

Reviewed by Anders Carlsson.

* UIProcess/mac/ViewSnapshotStore.h:
* UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::ViewSnapshotStore::ViewSnapshotStore):
(WebKit::ViewSnapshotStore::pruneSnapshots):
(WebKit::ViewSnapshotStore::recordSnapshot):
Keep track of the number of snapshots that actually have live images; the
size of the snapshot map no longer represents that.
Also, fix the crash by using the UUID from the current item instead of from
the (potentially null) most distant item; r167775 accidentally typo'd this.

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

7 years agoREGRESSION(r167799): ASSERTION in parseGridTemplateShorthand in fast/css-grid-layout...
commit-queue@webkit.org [Fri, 25 Apr 2014 21:17:45 +0000 (21:17 +0000)]
REGRESSION(r167799): ASSERTION in parseGridTemplateShorthand in fast/css-grid-layout/grid-template-shorthand-get-set.html
https://bugs.webkit.org/show_bug.cgi?id=132194

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-04-25
Reviewed by Martin Robinson.

Source/WebCore:
Properly resolving the grid-template shorthand for the corresponding longhand
properties.

No new tests, grid-template-shorthand-get-set.html already covers this case.

* css/StyleProperties.cpp:
(WebCore::StyleProperties::getPropertyValue):
* css/StylePropertyShorthand.cpp:
(WebCore::shorthandForProperty):
(WebCore::matchingShorthandsForLonghand):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyProperty):

LayoutTests:
* TestExpectations: Unskip fast/css-grid-layout/grid-template-shorthand-get-set.html.

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

7 years agoColumn rules not respecting scroll offsets.
hyatt@apple.com [Fri, 25 Apr 2014 21:05:59 +0000 (21:05 +0000)]
Column rules not respecting scroll offsets.
https://bugs.webkit.org/show_bug.cgi?id=109683

Reviewed by Dean Jackson.

Source/WebCore:
Added fast/multicol/scrolling-column-rules.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintColumnRules):
Make paintColumnRules virtual so that it works with both column implementations.

(WebCore::RenderBlock::paintObject):
Changed to call paintColumnRules with the adjusted scroll offset and to do it after
bailing on the root background only check.

* rendering/RenderBlock.h:
paintColumnRules is now virtual.

* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::paintColumnRules):
(WebCore::RenderBlockFlow::paintBoxDecorations): Deleted.
* rendering/RenderBlockFlow.h:
Got rid of paintBoxDecorations override since it failed when hasBoxDecorations was false
anyway. Override paintColumnRules instead to paint at the right time.

LayoutTests:
* fast/multicol/scrolling-column-rules.html: Added.
* platform/mac/fast/multicol/scrolling-column-rules-expected.png: Added.
* platform/mac/fast/multicol/scrolling-column-rules-expected.txt: Added.

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

7 years agoCrash in platform/mac/accessibility/table-visible-rows.html
msaboff@apple.com [Fri, 25 Apr 2014 20:34:47 +0000 (20:34 +0000)]
Crash in platform/mac/accessibility/table-visible-rows.html
https://bugs.webkit.org/show_bug.cgi?id=132146

Reviewed by Mark Lam.

Changed to use a local JSValueRef array temporary instead of a
std::make_unique<JSValueRef[]> when making an array of JSValues so that the temporary
JSValues are visited during garbage collection when the stack is scanned.  Otherwise,
the temporary values could be collected.

* DumpRenderTree/AccessibilityUIElement.cpp:
(convertElementsToObjectArray):
* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::EventSendingController::contextClick):
* WebKitTestRunner/InjectedBundle/mac/AccessibilityUIElementMac.mm:
(WTR::convertElementsToObjectArray):

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

7 years agoCrash applying editing commands from iframe onload event
jhoneycutt@apple.com [Fri, 25 Apr 2014 20:30:07 +0000 (20:30 +0000)]
Crash applying editing commands from iframe onload event

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

Source/WebCore:
This patch merges the Chromium bug workaround from
<http://src.chromium.org/viewvc/blink?revision=162080&view=revision>,
which prevents reentrancy in CompositeEditCommand::apply().

Reviewed by Darin Adler.

Test: editing/apply-style-iframe-crash.html

* editing/CompositeEditCommand.cpp:
(WebCore::HTMLNames::ReentrancyGuard::isRecursiveCall):
(WebCore::HTMLNames::ReentrancyGuard::Scope::Scope):
(WebCore::HTMLNames::ReentrancyGuard::Scope::~Scope):
(WebCore::CompositeEditCommand::apply):
If this is a recursive call, return early.

LayoutTests:
Reviewed by Darin Adler.

* editing/apply-style-iframe-crash-expected.txt: Added.
* editing/apply-style-iframe-crash.html: Added.

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

7 years ago[New Multicolumn] fast/multicol/hit-test-* layout tests all fail
hyatt@apple.com [Fri, 25 Apr 2014 20:20:48 +0000 (20:20 +0000)]
[New Multicolumn] fast/multicol/hit-test-* layout tests all fail
https://bugs.webkit.org/show_bug.cgi?id=132081

Reviewed by Dean Jackson.

Source/WebCore:
Added a bunch of tests in fast/multicol/newmulticol/compare-with-old-impl/hit-test-*.html

* rendering/RenderBlock.h:
Make offsetForContents public, since I need to call it from RenderMultiColumnSet.

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::populate):
Stop an ASSERT in the new columns code on the hit tests by making sure layout state is
disabled when moving children around.

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::positionForPoint):
Refactor this function to call a helper function instead, translateRegionPointToFlowThread.

(WebCore::RenderMultiColumnSet::translateRegionPointToFlowThread):
This function is logical (unlike the mistaken physical function I first implemented in
positionForPoint).

(WebCore::RenderMultiColumnSet::updateHitTestResult):
* rendering/RenderMultiColumnSet.h:
Overridden to fill in the correct local coordinate when the HTML document is inside a paginated
RenderView. Note that column spans don't actually work, but once we move over to a
non-column based pagination API, that will become irrelevant.

LayoutTests:
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-above-or-below.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-block-axis-flipped.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-with-line-height-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column-with-line-height.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-end-of-column.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-float-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-float.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages-flipped.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-between-pages.html: Added.
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis-expected.txt: Added.
* fast/multicol/newmulticol/compare-with-old-impl/hit-test-gap-block-axis.html: Added.

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

7 years agoRefactor debugging code to use BreakpointActions instead of Vector<ScriptBreakpointAc...
mark.lam@apple.com [Fri, 25 Apr 2014 19:45:06 +0000 (19:45 +0000)]
Refactor debugging code to use BreakpointActions instead of Vector<ScriptBreakpointAction>.
<https://webkit.org/b/132201>

Reviewed by Joseph Pecoraro.

BreakpointActions is Vector<ScriptBreakpointAction>.  Let's just consistently use
BreakpointActions everywhere.

* inspector/ScriptBreakpoint.h:
(Inspector::ScriptBreakpoint::ScriptBreakpoint):
* inspector/ScriptDebugServer.cpp:
(Inspector::ScriptDebugServer::setBreakpoint):
(Inspector::ScriptDebugServer::getActionsForBreakpoint):
* inspector/ScriptDebugServer.h:
* inspector/agents/InspectorDebuggerAgent.cpp:
(Inspector::InspectorDebuggerAgent::breakpointActionsFromProtocol):
(Inspector::InspectorDebuggerAgent::setBreakpointByUrl):
(Inspector::InspectorDebuggerAgent::setBreakpoint):
(Inspector::InspectorDebuggerAgent::removeBreakpoint):
* inspector/agents/InspectorDebuggerAgent.h:

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

7 years agoFigure out how many cores are available for realsies.
fpizlo@apple.com [Fri, 25 Apr 2014 19:41:56 +0000 (19:41 +0000)]
Figure out how many cores are available for realsies.

Rubber stamped by Andreas Kling.

HW_AVAILCPU is more canonical than HW_NCPU. For example if you use hacks to tell Darwin
to make it seem like there are fewer CPUs, HW_AVAILCPU will change but HW_NCPU won't.
HW_NCPU doesn't reflect how much actual paralellism you'll get; it's merely reporting
facts about the machine you're running on. HW_AVAILCPU is almost always what WebKit
wants since it uses this information to decide how many threads to launch for various
things.

* wtf/NumberOfCores.cpp:
(WTF::numberOfProcessorCores):

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

7 years agoDFG worklist scanning should not treat the key as a separate entity
fpizlo@apple.com [Fri, 25 Apr 2014 19:39:09 +0000 (19:39 +0000)]
DFG worklist scanning should not treat the key as a separate entity
https://bugs.webkit.org/show_bug.cgi?id=132167

Reviewed by Mark Hahnenberg.

This simplifies the interface to the GC and will enable more optimizations.

* dfg/DFGCompilationKey.cpp:
(JSC::DFG::CompilationKey::visitChildren): Deleted.
* dfg/DFGCompilationKey.h:
* dfg/DFGPlan.cpp:
(JSC::DFG::Plan::visitChildren):
* dfg/DFGWorklist.cpp:
(JSC::DFG::Worklist::visitChildren):

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

7 years agoRemove unused parameter from codeblock linking function
oliver@apple.com [Fri, 25 Apr 2014 18:51:20 +0000 (18:51 +0000)]
Remove unused parameter from codeblock linking function
https://bugs.webkit.org/show_bug.cgi?id=132199

Reviewed by Anders Carlsson.

No change in behaviour. This is just a small change to make it
slightly easier to reason about what the offsets in UnlinkedFunctionExecutable
actually mean.

* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedFunctionExecutable::link):
* bytecode/UnlinkedCodeBlock.h:
* runtime/Executable.cpp:
(JSC::ProgramExecutable::initializeGlobalProperties):

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

7 years agoREGRESSION(r167799): ASSERTION in parseGridTemplateShorthand in fast/css-grid-layout...
timothy_horton@apple.com [Fri, 25 Apr 2014 18:17:46 +0000 (18:17 +0000)]
REGRESSION(r167799): ASSERTION in parseGridTemplateShorthand in fast/css-grid-layout/grid-template-shorthand-get-set.html
https://bugs.webkit.org/show_bug.cgi?id=132194

* TestExpectations:
Skip the test on debug testers.
Also unmark js/slow-stress/new-spread.html because it is fixed (https://bugs.webkit.org/show_bug.cgi?id=132022)

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

7 years agoMark some things with WTF_MAKE_FAST_ALLOCATED.
akling@apple.com [Fri, 25 Apr 2014 18:15:48 +0000 (18:15 +0000)]
Mark some things with WTF_MAKE_FAST_ALLOCATED.
<https://webkit.org/b/132198>

Use FastMalloc for more things.

Reviewed by Anders Carlsson.

Source/JavaScriptCore:
* builtins/BuiltinExecutables.h:
* heap/GCThreadSharedData.h:
* inspector/JSConsoleClient.h:
* inspector/agents/InspectorAgent.h:
* runtime/CodeCache.h:
* runtime/JSGlobalObject.h:
* runtime/Lookup.cpp:
(JSC::HashTable::createTable):
(JSC::HashTable::deleteTable):
* runtime/WeakGCMap.h:

Source/WebCore:
* bindings/js/ScriptController.h:
* dom/DocumentOrderedMap.h:
* inspector/InspectorCSSAgent.h:
* inspector/InspectorDOMAgent.h:
* inspector/InspectorDOMDebuggerAgent.h:
* inspector/InspectorDOMStorageAgent.h:
* inspector/InspectorDatabaseAgent.h:
* inspector/InspectorLayerTreeAgent.h:
* inspector/InspectorPageAgent.h:
* inspector/InspectorResourceAgent.h:
* inspector/InspectorTimelineAgent.h:
* inspector/InspectorWorkerAgent.h:
* inspector/PageRuntimeAgent.h:
* loader/HistoryController.h:
* page/DeviceClient.h:
* page/DeviceController.h:
* page/EventHandler.h:
* page/Page.h:
* page/scrolling/ScrollingStateNode.h:
* platform/graphics/FontGenericFamilies.h:
* platform/graphics/FontPlatformData.h:

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

7 years ago[CSS Regions] Rename objectShouldPaintInFlowRegion to something more clear
stavila@adobe.com [Fri, 25 Apr 2014 17:58:19 +0000 (17:58 +0000)]
[CSS Regions] Rename objectShouldPaintInFlowRegion to something more clear
https://bugs.webkit.org/show_bug.cgi?id=132050

Reviewed by Andreas Kling.

The objectShouldPaintInFlowRegion is no longer used only by the painting process
but also for hit-testing, so it was renamed to something more generic (objectShouldFragmentInFlowRegion).

No new tests required, it's just a method rename.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::nodeAtPoint):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::positionForPoint):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::objectShouldFragmentInFlowRegion):
(WebCore::RenderFlowThread::objectShouldPaintInFlowRegion): Deleted.
* rendering/RenderFlowThread.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::hitTestLayer):
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::ensureOverflowForBox):
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::shouldPaint):

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

7 years agoiOS build fix after http://trac.webkit.org/changeset/167803
enrica@apple.com [Fri, 25 Apr 2014 17:53:32 +0000 (17:53 +0000)]
iOS build fix after trac.webkit.org/changeset/167803
Unreviewed.

* page/Frame.cpp:
(WebCore::Frame::checkOverflowScroll):
* rendering/RenderBlock.cpp:
(WebCore::positionForPointRespectingEditingBoundaries):

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

7 years ago[New Multicolumn] Add support for offsetLeft and offsetTop.
hyatt@apple.com [Fri, 25 Apr 2014 16:21:38 +0000 (16:21 +0000)]
[New Multicolumn] Add support for offsetLeft and offsetTop.
https://bugs.webkit.org/show_bug.cgi?id=132080

Reviewed by Andrei Bucur.

Source/WebCore:
Added fast/multicol/client-spanners-complex.html and offset-top-left.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::adjustedPositionRelativeToOffsetParent):
Patch the offsetLeft/Top loop to handle calling into RenderMultiColumnFlowThread
in order to adjust the coordinates for the new multicolumn layout.

* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::mapFromFlowToRegion):
Modified to use a helper that can be shared by offsetLeft/Top code. This code
ran for client rects, and I'm moving/refactoring it for more sharing.

(WebCore::RenderMultiColumnFlowThread::physicalTranslationOffsetFromFlowToRegion):
(WebCore::RenderMultiColumnFlowThread::physicalTranslationFromFlowToRegion):
* rendering/RenderMultiColumnFlowThread.h:
New functions that beef up what was in mapFromFlowToRegion and fix some bugs
with the translation code.

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::columnTranslationForOffset):
Patched to factor in the flow thread portion rect of the specific multicolumn set.

* rendering/RenderObject.h:
(WebCore::RenderObject::isRenderMultiColumnFlowThread):
Added for toRenderMultiColumnFlowThread capability.

LayoutTests:
* fast/multicol/client-rects-spanners-complex.html: Added.
* fast/multicol/client-rects-spanners.html:
* fast/multicol/offset-top-left-expected.txt: Added.
* fast/multicol/offset-top-left.html: Added.
* platform/mac/fast/multicol/client-rects-spanners-complex-expected.png: Added.
* platform/mac/fast/multicol/client-rects-spanners-complex-expected.txt: Added.

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

7 years agoScrollingCoordinator is unaware of topContentInset
bfulgham@apple.com [Fri, 25 Apr 2014 15:27:55 +0000 (15:27 +0000)]
ScrollingCoordinator is unaware of topContentInset
https://bugs.webkit.org/show_bug.cgi?id=132158
<rdar://problem/16706152>

Reviewed by Darin Adler.

Source/WebCore:
Test: platform/mac/fast/scrolling/scroll-select-bottom-test.html

The calculation of non-fast-scrollable regions does not currently take
the topContentOffset into account. Consequently, the logic that decides
whether to stay on the scrolling thread, or drop down to an individual
page element, can make the wrong choice. This is especially true for
small scrollable regions (such as <select> elements), where the
topContentInset may be quite close to the size of the scrollable
 element itself.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::computeNonFastScrollableRegion): Also
include the topContentInset value in our calculation.

LayoutTests:
* platform/mac/fast/scrolling/scroll-select-bottom-test-expected.txt: Added.
* platform/mac/fast/scrolling/scroll-select-bottom-test.html: Added.

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

7 years agoREGRESSION(r167799): Breaks debug build
commit-queue@webkit.org [Fri, 25 Apr 2014 15:15:52 +0000 (15:15 +0000)]
REGRESSION(r167799): Breaks debug build
https://bugs.webkit.org/show_bug.cgi?id=132194

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-04-25
Reviewed by Andrei Bucur.

Fix the debug bots after r167799

No new tests, no new functionality.

* css/CSSParser.cpp:
(WebCore::CSSParser::parseGridTemplateShorthand):

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

7 years agoWeb process is crashed during dispatching touchEvent created by JS.
commit-queue@webkit.org [Fri, 25 Apr 2014 14:28:24 +0000 (14:28 +0000)]
Web process is crashed during dispatching touchEvent created by JS.
https://bugs.webkit.org/show_bug.cgi?id=113225

Patch by Miyoung Shin <myid.shin@samsung.com> on 2014-04-25
Reviewed by Benjamin Poulain.

TouchEvent created by JS should have the necessary attributes
of touches, targetTouches and changedTouches.
It should be verified weather there are touchLists before dispatching touch event.

Source/WebCore:
Test: fast/events/touch/create-touch-event-without-touchList.html

* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchEvent):
(WebCore::EventPath::updateTouchLists):
(WebCore::addRelatedNodeResolversForTouchList): Deleted.

LayoutTests:
* fast/events/touch/create-touch-event-without-touchList-expected.txt: Added.
* fast/events/touch/create-touch-event-without-touchList.html: Added.

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

7 years ago[GTK] File webkitRelativePath attribute was removed in r163483
commit-queue@webkit.org [Fri, 25 Apr 2014 14:17:54 +0000 (14:17 +0000)]
[GTK] File webkitRelativePath attribute was removed in r163483
https://bugs.webkit.org/show_bug.cgi?id=132193

Patch by Philippe Normand <pnormand@igalia.com> on 2014-04-25
Reviewed by Carlos Garcia Campos.

Add the removed getter as deprecated API to keep backwards compatibility.

* bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_file_get_webkit_relative_path):
* bindings/gobject/WebKitDOMDeprecated.h:
* bindings/gobject/WebKitDOMDeprecated.symbols:

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

7 years ago[CSS Regions] Overflow selection doesn't work properly
stavila@adobe.com [Fri, 25 Apr 2014 13:56:12 +0000 (13:56 +0000)]
[CSS Regions] Overflow selection doesn't work properly
https://bugs.webkit.org/show_bug.cgi?id=130715

Reviewed by David Hyatt.

Source/WebCore:
When hit-testing, painting block selection gaps and searching for the node at a specific point inside a flow thread,
the region range of the box being checked must be validated in order to not return false positives. Otherwise, hit-testing
at the top of region B could hit elements that overflow the bottom of region A.

Tests: fast/regions/selection-in-overflow-hit-testing.html
       fast/regions/selection-in-overflow.html
       fast/regions/selection-in-text-after-overflow-hit-testing.html

* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::visiblePositionRangeForLine):
(WebCore::AccessibilityRenderObject::visiblePositionForPoint):
* dom/Document.cpp:
(WebCore::Document::caretRangeFromPoint):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::contains):
* editing/VisibleUnits.cpp:
(WebCore::previousLinePosition):
(WebCore::nextLinePosition):
* page/EventHandler.cpp:
(WebCore::EventHandler::selectClosestWordFromHitTestResult):
(WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent):
(WebCore::EventHandler::handleMousePressEventTripleClick):
(WebCore::EventHandler::handleMousePressEventSingleClick):
(WebCore::selectionExtentRespectingEditingBoundary):
(WebCore::EventHandler::updateSelectionForMouseDrag):
(WebCore::EventHandler::handleMouseReleaseEvent):
* page/Frame.cpp:
(WebCore::Frame::visiblePositionForPoint):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::nodeAtPoint):
(WebCore::positionForPointRespectingEditingBoundaries):
(WebCore::RenderBlock::positionForPointWithInlineChildren):
(WebCore::isChildHitTestCandidate):
(WebCore::RenderBlock::positionForPoint):
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
(WebCore::RenderBlockFlow::positionForPointWithInlineChildren):
(WebCore::RenderBlockFlow::positionForPoint):
* rendering/RenderBlockFlow.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::positionForPoint):
* rendering/RenderBox.h:
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::positionForPoint):
* rendering/RenderFileUploadControl.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::positionForPoint):
* rendering/RenderInline.h:
* rendering/RenderLineBreak.cpp:
(WebCore::RenderLineBreak::positionForPoint):
* rendering/RenderLineBreak.h:
* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::positionForPoint):
* rendering/RenderMultiColumnSet.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::positionForPoint):
* rendering/RenderObject.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::positionForPoint):
* rendering/RenderRegion.h:
* rendering/RenderReplaced.cpp:
(WebCore::RenderReplaced::positionForPoint):
* rendering/RenderReplaced.h:
* rendering/RenderText.cpp:
(WebCore::RenderText::positionForPoint):
* rendering/RenderText.h:
* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::positionForPoint):
* rendering/svg/RenderSVGInlineText.h:
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::positionForPoint):
* rendering/svg/RenderSVGText.h:

LayoutTests:
Added tests for hit-testing and painting selection gaps in the region's overflow area.

* fast/regions/selection-in-overflow-expected.html: Added.
* fast/regions/selection-in-overflow-hit-testing-expected.html: Added.
* fast/regions/selection-in-overflow-hit-testing.html: Added.
* fast/regions/selection-in-overflow.html: Added.
* fast/regions/selection-in-text-after-overflow-hit-testing-expected.html: Added.
* fast/regions/selection-in-text-after-overflow-hit-testing.html: Added.

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

7 years ago[GTK] Iframe seamless support was removed in r163427
commit-queue@webkit.org [Fri, 25 Apr 2014 13:35:26 +0000 (13:35 +0000)]
[GTK] Iframe seamless support was removed in r163427
https://bugs.webkit.org/show_bug.cgi?id=132192

Patch by Philippe Normand <pnormand@igalia.com> on 2014-04-25
Reviewed by Carlos Garcia Campos.

Add the removed get and set methods as deprecated API to keep
backwards compatibility.

* bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_processing_instruction_set_data):
(webkit_dom_html_iframe_element_get_seamless):
(webkit_dom_html_iframe_element_set_seamless):
* bindings/gobject/WebKitDOMDeprecated.h:
* bindings/gobject/WebKitDOMDeprecated.symbols:

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

7 years ago[GTK] HTMLInputElement webkitdirectory property was removed in r163483
commit-queue@webkit.org [Fri, 25 Apr 2014 13:24:07 +0000 (13:24 +0000)]
[GTK] HTMLInputElement webkitdirectory property was removed in r163483
https://bugs.webkit.org/show_bug.cgi?id=132191

Patch by Philippe Normand <pnormand@igalia.com> on 2014-04-25
Reviewed by Carlos Garcia Campos.

Add the removed get and set methods as deprecated API to keep
backwards compatibility.

* bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_html_input_element_get_webkitdirectory):
(webkit_dom_html_input_element_set_webkitdirectory):
* bindings/gobject/WebKitDOMDeprecated.h:
* bindings/gobject/WebKitDOMDeprecated.symbols:

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

7 years agoUnreviewed GTK gardening.
commit-queue@webkit.org [Fri, 25 Apr 2014 12:38:58 +0000 (12:38 +0000)]
Unreviewed GTK gardening.

Added test expectations for the following flaky tests:

Patch by Enrique Ocaña González <eocanha@igalia.com> on 2014-04-25

* platform/gtk/TestExpectations:
    fast/loader/submit-form-while-parsing-2.html
    css3/calc/transitions-dependent.html
    fast/dom/adopt-node-crash-2.html
    fast/multicol/span/span-as-immediate-columns-child-dynamic.html
    platform/gtk/editing/pasteboard/middle-button-paste.html

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

7 years ago[CSS Grid Layout] Implementation of the grid-template shorthand.
commit-queue@webkit.org [Fri, 25 Apr 2014 12:06:53 +0000 (12:06 +0000)]
[CSS Grid Layout] Implementation of the grid-template shorthand.
https://bugs.webkit.org/show_bug.cgi?id=128980

Patch by Javier Fernandez <jfernandez@igalia.com> on 2014-04-25
Reviewed by Darin Adler.

Source/WebCore:
This shorthand sets the values for the grid-template-columns,
grid-template-rows and grid-template-areas, so the implementation
tries to reuse as much available parsing functions as possible.

The "parsingGridTrackList" was refactored to return a CSSValue and
let the "parseValue" function to assign the property value. The
"forwardSlash" operator is now valid when the track-list clause is
part of a shorthand. The "parseValue" function checkouts that only
additional clauses are allowed when processing shorthands; the
grid-columns-rows-get-set.html tests was modified to verify this.

The "parseGridTemplateAreas" was refactored too, in order to
process single areas's rows. This is very useful for the
gris-template secondary syntax, which mixes areas and rows values.

Finally, the "parseGirdLineNames" function was modified as well by
defining an new argument to concatenate head/tail custom-ident
elements and ensure the identList is at the heading index, since
it's now possible the parseList was rewound.

The implementation of the grid-template shorthand tries first to
match the <grid-template-columns> / <grid-template-rows> syntax,
failing back to the secondary syntax if needed.  This approach
requires to rewind the parseList but it produces a clearer code.

Test: fast/css-grid-layout/grid-template-shorthand-get-set.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::ComputedStyleExtractor::propertyValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseGridTemplateRowsAndAreas):
(WebCore::CSSParser::parseGridTemplateShorthand):
(WebCore::CSSParser::parseGridLineNames):
(WebCore::CSSParser::parseGridTrackList):
(WebCore::CSSParser::parseGridTemplateAreasRow):
(WebCore::CSSParser::parseGridTemplateAreas):
* css/CSSParser.h:
* css/CSSParserValues.h:
(WebCore::CSSParserValueList::setCurrentIndex):
* css/CSSPropertyNames.in:
* css/StylePropertyShorthand.cpp:
(WebCore::webkitGridTemplateShorthand):
* css/StylePropertyShorthand.h:

LayoutTests:
Layout Test for the basic functionality of the grid-template shorthand. It was
also added a new javascript file with some utility functions.

This shorthand sets the values for the grid-template-columns,
grid-template-rows and grid-template-areas, so the implementation
tries to reuse as much available parsing functions as possible.

* fast/css-grid-layout/grid-template-shorthand-get-set-expected.txt: Added.
* fast/css-grid-layout/grid-template-shorthand-get-set.html: Added.
* fast/css-grid-layout/resources/grid-template-shorthand-parsing-utils.js: Added.
(testGridDefinitionsValues):
(testGridDefinitionsSetJSValues):
(testNonGridDefinitionsSetJSValues):
(checkGridDefinitionsSetJSValues):
(testGridDefinitionsSetBadJSValues):

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

7 years agoRemove two unused SVGDocument functions.
akling@apple.com [Fri, 25 Apr 2014 09:23:13 +0000 (09:23 +0000)]
Remove two unused SVGDocument functions.
<https://webkit.org/b/132178>

Reviewed by Antti Koivisto.

* svg/SVGDocument.cpp:
(WebCore::SVGDocument::dispatchZoomEvent): Deleted.
(WebCore::SVGDocument::dispatchScrollEvent): Deleted.
* svg/SVGDocument.h:

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

7 years agoImplement Array.prototype.find()
graouts@webkit.org [Fri, 25 Apr 2014 08:25:59 +0000 (08:25 +0000)]
Implement Array.prototype.find()
https://bugs.webkit.org/show_bug.cgi?id=130966

Reviewed by Oliver Hunt.

Source/JavaScriptCore:
Implement Array.prototype.find() and Array.prototype.findIndex() as proposed in the Harmony spec.

* builtins/Array.prototype.js:
(find):
(findIndex):
* runtime/ArrayPrototype.cpp:

LayoutTests:
* js/Object-getOwnPropertyNames-expected.txt:
* js/array-find-expected.txt: Added.
* js/array-find.html: Added.
* js/array-findIndex-expected.txt: Added.
* js/array-findIndex.html: Added.
* js/script-tests/Object-getOwnPropertyNames.js:
* js/script-tests/array-find.js: Added.
* js/script-tests/array-findIndex.js: Added.

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

7 years agoIncomplete body painting when using blend modes
commit-queue@webkit.org [Fri, 25 Apr 2014 08:04:28 +0000 (08:04 +0000)]
Incomplete body painting when using blend modes
https://bugs.webkit.org/show_bug.cgi?id=131889

Source/WebCore:
The incomplete painting was caused by the transparency layer created for
the root renderer. We can safely skip creating this transparency layer at
the root level, as there is nothing else being painted behind this layer that
could be used erroneously as a backdrop.

Patch by Ion Rosca <rosca@adobe.com> on 2014-04-25
Reviewed by Simon Fraser.

Test: css3/compositing/blend-mode-with-body.html

* rendering/RenderLayer.h:
Changing RenderLayer::paintsWithTransparency so that it will not
return true when the root renderer needs to isolate blending.

LayoutTests:
Patch by Ion Rosca <rosca@adobe.com> on 2014-04-25
Reviewed by Simon Fraser.

* css3/compositing/blend-mode-with-body-expected.html: Added.
* css3/compositing/blend-mode-with-body.html: Added.

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

7 years ago[GTK] Plugin process crashes with GTK2 windowed plugins
carlosgc@webkit.org [Fri, 25 Apr 2014 07:58:31 +0000 (07:58 +0000)]
[GTK] Plugin process crashes with GTK2 windowed plugins
https://bugs.webkit.org/show_bug.cgi?id=132127

Reviewed by Martin Robinson.

It happens sometimes because the socket is used before the plug
has been added. A runtime critical warnings is shown and it
sometimes ends up crashing.

* WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
(WebKit::NetscapePlugin::platformPostInitializeWindowed): Do not
show the plug widget until the socket is connected.

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

7 years agoASSERTION FAILED: "!m_isolatedWorld->isNormal() || m_wrapper || !m_jsFunction" in...
darin@apple.com [Fri, 25 Apr 2014 07:55:19 +0000 (07:55 +0000)]
ASSERTION FAILED: "!m_isolatedWorld->isNormal() || m_wrapper || !m_jsFunction" in svg/custom/use-instanceRoot-event-listeners.xhtml
https://bugs.webkit.org/show_bug.cgi?id=132148

Reviewed by Andreas Kling.

Changed how JSCustomMarkFunction generation works. Instead of leaving out
the generated visitChildren function, just generate a call to visitAdditionalChildren.
This eliminates the need to repeat boilerplate.

The fix for the above bug was to correct mistaken logic where JSSVGElementInstance
had a visitChildren that did not properly mark event listeners because it explicitly
did not call through to the base class visitChildren. The new arrangement makes that
mistake impossible.

* bindings/js/JSAttrCustom.cpp:
(WebCore::JSAttr::visitAdditionalChildren): Use this instead of visitChildren.
* bindings/js/JSAudioTrackCustom.cpp:
(WebCore::JSAudioTrack::visitAdditionalChildren): Ditto.
* bindings/js/JSAudioTrackListCustom.cpp:
(WebCore::JSAudioTrackList::visitAdditionalChildren): Ditto.
* bindings/js/JSCSSRuleCustom.cpp:
(WebCore::JSCSSRule::visitAdditionalChildren): Ditto.
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::visitAdditionalChildren): Ditto.
* bindings/js/JSCanvasRenderingContextCustom.cpp:
(WebCore::JSCanvasRenderingContext::visitAdditionalChildren): Ditto.
* bindings/js/JSCryptoKeyPairCustom.cpp:
(WebCore::JSCryptoKeyPair::visitAdditionalChildren): Ditto.
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::visitAdditionalChildren): Ditto.
* bindings/js/JSMessageChannelCustom.cpp:
(WebCore::JSMessageChannel::visitAdditionalChildren): Ditto.
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::JSMessagePort::visitAdditionalChildren): Ditto.
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::visitAdditionalChildren): Ditto.
* bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::visitAdditionalChildren): Ditto.
* bindings/js/JSNodeIteratorCustom.cpp:
(WebCore::JSNodeIterator::visitAdditionalChildren): Ditto.
* bindings/js/JSSVGElementInstanceCustom.cpp:
(WebCore::JSSVGElementInstance::visitAdditionalChildren): Ditto.
* bindings/js/JSSharedWorkerCustom.cpp:
(WebCore::JSSharedWorker::visitAdditionalChildren): Ditto.
* bindings/js/JSStyleSheetCustom.cpp:
(WebCore::JSStyleSheet::visitAdditionalChildren): Ditto.
* bindings/js/JSTextTrackCueCustom.cpp:
(WebCore::JSTextTrackCue::visitAdditionalChildren): Ditto.
* bindings/js/JSTextTrackCustom.cpp:
(WebCore::JSTextTrack::visitAdditionalChildren): Ditto.
* bindings/js/JSTextTrackListCustom.cpp:
(WebCore::JSTextTrackList::visitAdditionalChildren): Ditto.
* bindings/js/JSTreeWalkerCustom.cpp:
(WebCore::JSTreeWalker::visitAdditionalChildren): Ditto.
* bindings/js/JSVideoTrackCustom.cpp:
(WebCore::JSVideoTrack::visitAdditionalChildren): Ditto.
* bindings/js/JSVideoTrackListCustom.cpp:
(WebCore::JSVideoTrackList::visitAdditionalChildren): Ditto.
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::visitAdditionalChildren): Ditto.
* bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::visitAdditionalChildren): Ditto.
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::visitAdditionalChildren): Ditto.
* bindings/js/JSXPathResultCustom.cpp:
(WebCore::JSXPathResult::visitAdditionalChildren): Ditto.

* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::visitChildren): Rewrote to use modern for loops.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader): Generate declaration of visitAdditionalChildren.
(GenerateImplementation): Generate call to visitAdditionalChildren.

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

7 years ago[iOS WebKit2] Enable optimization to mmap downloaded resources once they become file...
akling@apple.com [Fri, 25 Apr 2014 07:19:31 +0000 (07:19 +0000)]
[iOS WebKit2] Enable optimization to mmap downloaded resources once they become file-backed.
<https://webkit.org/b/132171>
<rdar://problem/16720733>

Source/WebCore:
Add a missing export for the USE(CFNETWORK) + WebKit2 combo.

Reviewed by Antti Koivisto.

* WebCore.exp.in:

Source/WebKit2:
Implement a CFNetwork-based version of NetworkResourceLoader::willCacheResponseAsync()
and activate the DiskCacheMonitor code path. This means that once resources go into
file system cache, we get notified and mmap them from disk, saving heaps of memory.

Reviewed by Antti Koivisto.

* NetworkProcess/NetworkResourceLoader.h:
* NetworkProcess/mac/DiskCacheMonitor.mm:
* NetworkProcess/mac/NetworkResourceLoaderMac.mm:
(WebKit::NetworkResourceLoader::willCacheResponseAsync):

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

7 years ago[iOS WebKit2] RemoteLayerTreeDrawingArea should force CA to garbage collect surfaces.
akling@apple.com [Fri, 25 Apr 2014 06:28:33 +0000 (06:28 +0000)]
[iOS WebKit2] RemoteLayerTreeDrawingArea should force CA to garbage collect surfaces.
<https://webkit.org/b/132160>
<rdar://problem/16110687>

Do an empty CATransaction at the end of RemoteLayerTreeDrawingArea::flushLayers()
to get CA to garbage collect its IOSurfaces. This helps clean up unused surfaces
that we'd otherwise end up hanging on to for a long time.

Reviewed by Tim Horton.

* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::didUpdate):

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

7 years agoFix typo in comment from last check-in
darin@apple.com [Fri, 25 Apr 2014 06:02:42 +0000 (06:02 +0000)]
Fix typo in comment from last check-in

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

7 years agoFrameLoader::checkCompleted can hit the "ref'ing while destroyed" assertion
darin@apple.com [Fri, 25 Apr 2014 06:01:34 +0000 (06:01 +0000)]
FrameLoader::checkCompleted can hit the "ref'ing while destroyed" assertion
https://bugs.webkit.org/show_bug.cgi?id=132163
rdar://problem/16720640

Reviewed by Brady Eidson.

Couldn't find a way to test this yet. Would be nice to have a test.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::checkCompleted): Move protector until after we check
if the frame is already complete. That can happen in practice when this is
called from within the frame's destructor. All the code that runs before the
protector simply checks state and does not require protection.

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

7 years agoMark Supplement instead of RefCountedSupplement in NavigatorContentUtils
gyuyoung.kim@samsung.com [Fri, 25 Apr 2014 03:59:46 +0000 (03:59 +0000)]
Mark Supplement instead of RefCountedSupplement in NavigatorContentUtils
https://bugs.webkit.org/show_bug.cgi?id=132151

Reviewed by Darin Adler.

Though Original goal was to make it sharable across navigator instances, the NavigatorContentUtils
has used RefCountedSupplement<Page> instead of RefCountedSupplement<Navigator>. This patch makes it
use Supplement<Page> because there is no scenario which needs to be shared across navigator instances.

Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=171403.

No new tests, no behavior changes.

* Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
(WebCore::NavigatorContentUtils::from):
(WebCore::NavigatorContentUtils::create):
(WebCore::provideNavigatorContentUtilsTo):
* Modules/navigatorcontentutils/NavigatorContentUtils.h:

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

7 years agoUnreviewed, rolling out r167700.
rniwa@webkit.org [Fri, 25 Apr 2014 01:24:27 +0000 (01:24 +0000)]
Unreviewed, rolling out r167700.
https://bugs.webkit.org/show_bug.cgi?id=132142

Incorrectly reverted the change in r167547 for
webkit.org/b/131898 (Requested by rniwa on #webkit).

Reverted changeset:

"Cursor doesn't change back to pointer when leaving the Safari
window"
https://bugs.webkit.org/show_bug.cgi?id=132038
http://trac.webkit.org/changeset/167700

Patch by Commit Queue <commit-queue@webkit.org> on 2014-04-24

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

7 years agoWeb Inspector: Dashboard when paused in debugger shows some missing glyph boxes
timothy@apple.com [Fri, 25 Apr 2014 00:54:05 +0000 (00:54 +0000)]
Web Inspector: Dashboard when paused in debugger shows some missing glyph boxes
https://bugs.webkit.org/show_bug.cgi?id=132113

Reviewed by Joseph Pecoraro.

* UserInterface/Views/DebuggerDashboardView.css:
(.dashboard.debugger > .location .function-name::after): Fix the codepoint for nbsp.

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

7 years agoRename "IMAGE_CONTROLS" feature to "SERVICE_CONTROLS"
beidson@apple.com [Fri, 25 Apr 2014 00:53:01 +0000 (00:53 +0000)]
Rename "IMAGE_CONTROLS" feature to "SERVICE_CONTROLS"
https://bugs.webkit.org/show_bug.cgi?id=132155

Reviewed by Tim Horton.

Source/JavaScriptCore:
* Configurations/FeatureDefines.xcconfig:

Source/WebCore:
No new tests (No change in behavior).

* Configurations/FeatureDefines.xcconfig:
* DerivedSources.make:
* WebCore.exp.in:
* css/CSSDefaultStyleSheets.cpp:
(WebCore::CSSDefaultStyleSheets::ensureDefaultStyleSheetsForElement):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/CSSValueKeywords.in:
* dom/Node.h:
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::HTMLImageElement):
(WebCore::HTMLImageElement::parseAttribute):
(WebCore::HTMLImageElement::didAttachRenderers):
* html/HTMLImageElement.h:
* html/shadow/ImageControlsRootElement.cpp:
* html/shadow/ImageControlsRootElement.h:
* html/shadow/mac/ImageControlsButtonElementMac.cpp:
* html/shadow/mac/ImageControlsButtonElementMac.h:
* html/shadow/mac/ImageControlsRootElementMac.cpp:
* html/shadow/mac/ImageControlsRootElementMac.h:
* page/ContextMenuContext.cpp:
(WebCore::ContextMenuContext::ContextMenuContext):
* page/ContextMenuContext.h:
* page/ContextMenuController.cpp:
(WebCore::ContextMenuController::maybeCreateContextMenu):
(WebCore::ContextMenuController::populate):
* page/ContextMenuController.h:
* page/Settings.in:
* platform/ThemeTypes.h:
* rendering/RenderImage.cpp:
(WebCore::RenderImage::canHaveChildren):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::adjustStyle):
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::servicesRolloverButtonCell):
(WebCore::RenderThemeMac::paintImageControlsButton):
(WebCore::RenderThemeMac::imageControlsButtonSize):

Source/WebKit/mac:
* Configurations/FeatureDefines.xcconfig:
* Misc/WebSharingServicePickerController.h:
* Misc/WebSharingServicePickerController.mm:
* WebCoreSupport/WebContextMenuClient.h:
* WebCoreSupport/WebContextMenuClient.mm:
(WebContextMenuClient::contextMenuForEvent):
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:
* Configurations/FeatureDefines.xcconfig:
* Shared/ContextMenuContextData.cpp:
(WebKit::ContextMenuContextData::ContextMenuContextData):
(WebKit::ContextMenuContextData::operator=):
(WebKit::ContextMenuContextData::encode):
(WebKit::ContextMenuContextData::decode):
* Shared/ContextMenuContextData.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::internalShowContextMenu):
* UIProcess/WebPageProxy.h:
* UIProcess/mac/WebContextMenuProxyMac.h:
* UIProcess/mac/WebContextMenuProxyMac.mm:
(WebKit::WebContextMenuProxyMac::contextMenuItemSelected):
(WebKit::WebContextMenuProxyMac::populate):
(WebKit::WebContextMenuProxyMac::showContextMenu):
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
* WebProcess/WebPage/WebContextMenu.cpp:
* WebProcess/WebPage/WebContextMenu.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

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

7 years agoWeb Inspector: Restore PageDebuggerAgent::enable / disable
timothy@apple.com [Fri, 25 Apr 2014 00:51:14 +0000 (00:51 +0000)]
Web Inspector: Restore PageDebuggerAgent::enable / disable
https://bugs.webkit.org/show_bug.cgi?id=132156

Restore functions that were eroniously removed in r167530.

Reviewed by Joseph Pecoraro.

* inspector/PageDebuggerAgent.cpp:
(WebCore::PageDebuggerAgent::enable): Added.
(WebCore::PageDebuggerAgent::disable): Added.
* inspector/PageDebuggerAgent.h:

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

7 years agoDropzone effects don't work in non-file documents
ap@apple.com [Fri, 25 Apr 2014 00:48:38 +0000 (00:48 +0000)]
Dropzone effects don't work in non-file documents
https://bugs.webkit.org/show_bug.cgi?id=131770

Reviewed by Darin Adler.

File documents have two quirks that were making dropzone work in these before:
1. An ancient hack for Dashboard allows pasteboard access from JS.
2. On Mac, sandbox doesn't prevent File object creation, as we already have the access.

* dom/DataTransfer.cpp:
(WebCore::DataTransfer::hasFileOfType):
(WebCore::DataTransfer::hasStringOfType):
* dom/DataTransfer.h:
Moved these functions from EventHandler to DataTransfer. We can't create a DataTransfer
with Files while dragging, security doesn't permit us to. But we can get the file name.

* fileapi/File.cpp:
(WebCore::createBlobDataForFile):
(WebCore::createBlobDataForFileWithName):
(WebCore::File::contentTypeFromFilePath):
(WebCore::getContentTypeFromFileName): Deleted.
* fileapi/File.h:
Exposed a function to get file type from path without creating a File first.
This is much cheaper than creating a File, and works even when sandbox disallows
read access to content, such as when dragging over a target.

* page/EventHandler.cpp:
(WebCore::hasDropZoneType):
(WebCore::hasFileOfType): Deleted.
(WebCore::hasStringOfType): Deleted.

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

7 years ago[iOS] Add some missing overrides and remove unnecessary virtuals
commit-queue@webkit.org [Fri, 25 Apr 2014 00:17:07 +0000 (00:17 +0000)]
[iOS] Add some missing overrides and remove unnecessary virtuals
https://bugs.webkit.org/show_bug.cgi?id=132153

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-04-24
Reviewed by Darin Adler.

* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/WebVideoFullscreenManagerProxy.h:

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

7 years agoREGRESSION: Apparent hang of PCE.js Mac OS System 7.0.1 on ARM64 devices
msaboff@apple.com [Fri, 25 Apr 2014 00:14:14 +0000 (00:14 +0000)]
REGRESSION: Apparent hang of PCE.js Mac OS System 7.0.1 on ARM64 devices
https://bugs.webkit.org/show_bug.cgi?id=132147

Reviewed by Mark Lam.

Fixed or64(), eor32( ) and eor64() to use "src" register when we have a valid logicalImm.

* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::or64):
(JSC::MacroAssemblerARM64::xor32):
(JSC::MacroAssemblerARM64::xor64):
* tests/stress/regress-132147.js: Added test.

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

7 years agoWeb Inspector: Should update to CodeMirror 4.1
commit-queue@webkit.org [Fri, 25 Apr 2014 00:06:46 +0000 (00:06 +0000)]
Web Inspector: Should update to CodeMirror 4.1
https://bugs.webkit.org/show_bug.cgi?id=132140

Patch by Jonathan Wells <jonowells@apple.com> on 2014-04-24
Reviewed by Timothy Hatcher.

Updated to CodeMirror 4.1, which contains several bugfixes.
Release notes: http://codemirror.net/doc/releases.html#v4

* Tools/PrettyPrinting/codemirror.js:
* Tools/PrettyPrinting/css.js:
* Tools/PrettyPrinting/javascript.js:
* UserInterface/External/CodeMirror/codemirror.js:
* UserInterface/External/CodeMirror/css.js:
* UserInterface/External/CodeMirror/javascript.js:
* UserInterface/External/CodeMirror/livescript.js:
* UserInterface/External/CodeMirror/runmode.js:
* UserInterface/External/CodeMirror/xml.js:
Updated to CodeMirror 4.1.

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

7 years agoUnreviewed, rolling out r167441.
jer.noble@apple.com [Thu, 24 Apr 2014 22:48:32 +0000 (22:48 +0000)]
Unreviewed, rolling out r167441.
https://bugs.webkit.org/show_bug.cgi?id=132152

Caused full screen regressions on vimeo, youtube, and others.
(Requested by jernoble on #webkit).

Reverted changeset:

"Fullscreen media controls are unusable in pagination mode"
https://bugs.webkit.org/show_bug.cgi?id=131705
http://trac.webkit.org/changeset/167441

Patch by Commit Queue <commit-queue@webkit.org> on 2014-04-24

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

7 years agoWeb Inspector: CSS autofill suggests properties instead of values when values are...
commit-queue@webkit.org [Thu, 24 Apr 2014 22:29:16 +0000 (22:29 +0000)]
Web Inspector: CSS autofill suggests properties instead of values when values are needed
https://bugs.webkit.org/show_bug.cgi?id=132090

Patch by Jonathan Wells <jonowells@apple.com> on 2014-04-24
Reviewed by Joseph Pecoraro.

Updates are required to the CodeMirror helpers to be compatible with
CodeMirror 4. Some of those changes have been made to fix an issue
with CSS autofill, CSS code coloring, and also
https://bugs.webkit.org/show_bug.cgi?id=131859. The main issue is that
CodeMirror 4's CSS mode (css.js) stores its parsing modes in a different
data structure. All references to state.stack are obscelete. Many
are fixed here and more will be in an upcoming patch.

* Tools/PrettyPrinting/CodeMirrorFormatters.js: Removed exception for checking state.stack properties.
* UserInterface/Controllers/CodeMirrorCompletionController.js:
(WebInspector.CodeMirrorCompletionController.prototype._generateCSSCompletions): Corrected "block" state detection.
* UserInterface/External/CodeMirror/less.js: Removed.
* UserInterface/Views/CodeMirrorAdditions.js: Sets default state of "block" correctly.
* UserInterface/Views/CodeMirrorFormatters.js: Removed exception for checking state.stack properties.
* UserInterface/Views/SyntaxHighlightingDefaultTheme.css: Fix styles to match CSS mode changes.

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

7 years agoUnused class forward declarations in Page
cavalcantii@gmail.com [Thu, 24 Apr 2014 22:14:14 +0000 (22:14 +0000)]
Unused class forward declarations in Page
https://bugs.webkit.org/show_bug.cgi?id=132141

Reviewed by Benjamin Poulain.

No new tests, no change on behavior.

* page/Page.h:

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

7 years ago[Mac] don't ask for AVAssetTrack properties before they are available
eric.carlson@apple.com [Thu, 24 Apr 2014 21:46:19 +0000 (21:46 +0000)]
[Mac] don't ask for AVAssetTrack properties before they are available
https://bugs.webkit.org/show_bug.cgi?id=131902
<rdar://problem/16505076>

Reviewed by Brent Fulgham.

No new tests, the behavior this changes can not be tested with a layout test.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC): Initialize
    m_cachedTotalBytes.
(WebCore::MediaPlayerPrivateAVFoundationObjC::beginLoadingMetadata): Don't report that
    metadata has been loaded until the track properties we need have been loaded too.
(WebCore::MediaPlayerPrivateAVFoundationObjC::totalBytes): Cache totalBytes instead
    of recalculating it every time.
(WebCore::MediaPlayerPrivateAVFoundationObjC::tracksDidChange): Invalidate cached
    total bytes.
(WebCore::assetTrackMetadataKeyNames): Array of AVAssetTrack properties we use.

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

7 years agoWebKit2 View Gestures: Use a single struct for the snapshot, and pass it around
timothy_horton@apple.com [Thu, 24 Apr 2014 21:45:55 +0000 (21:45 +0000)]
WebKit2 View Gestures: Use a single struct for the snapshot, and pass it around
https://bugs.webkit.org/show_bug.cgi?id=132114

Reviewed by Simon Fraser.

Have only a single map in ViewSnapshotStore, from back-forward item
to ViewSnapshotStore::Snapshot, and return the Snapshot struct when looking
up snapshots (via getSnapshot()), so that future patches can persist additional
information along with the snapshot.

* UIProcess/ios/ViewGestureControllerIOS.mm:
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
* UIProcess/mac/ViewGestureController.h:
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::retrieveSnapshotForItem):
(WebKit::ViewGestureController::beginSwipeGesture):
(WebKit::ViewGestureController::endSwipeGesture):
Adopt getSnapshot() instead of snapshotAndRenderTreeSize().
Move retrieveSnapshotForItem out into a separate function (for future use).

* UIProcess/mac/ViewSnapshotStore.h:
(WebKit::ViewSnapshotStore::disableSnapshotting):
(WebKit::ViewSnapshotStore::enableSnapshotting):
* UIProcess/mac/ViewSnapshotStore.mm:
(WebKit::ViewSnapshotStore::pruneSnapshots):
(WebKit::ViewSnapshotStore::recordSnapshot):
(WebKit::ViewSnapshotStore::getSnapshot):
(WebKit::ViewSnapshotStore::snapshotAndRenderTreeSize): Deleted.
Make Snapshot struct public.
Get rid of the separate map of back-forward items to render tree sizes.
When evicting, instead of removing the entry, clear out its snapshot image;
this way, we can keep other snapshot metadata around.

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

7 years ago[iOS WebKit2] Should properly handle focus redirect (keyboard state changes when...
enrica@apple.com [Thu, 24 Apr 2014 21:44:42 +0000 (21:44 +0000)]
[iOS WebKit2] Should properly handle focus redirect (keyboard state changes when focus changes).
https://bugs.webkit.org/show_bug.cgi?id=132136
<rdar://problem/16238336>

Reviewed by Benjamin Poulain.

Focusing a field from JavaScript should not make the keyboard or the select picker
appear unless the user has already started interacting with one of the fields in the page.
Adding a parameter to StartAssistingNode to indicate whether the focus change is a result
of a user action.

* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::startAssistingNode):
* UIProcess/ios/WKContentViewInteraction.h:
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _startAssistingNode:userIsInteracting:userObject:]):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::startAssistingNode):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::dispatchTouchEvent):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleTap):
(WebKit::WebPage::elementDidFocus):

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

7 years agoUnify platformWidthForGlyph across OS X and iOS
mmaxfield@apple.com [Thu, 24 Apr 2014 21:20:54 +0000 (21:20 +0000)]
Unify platformWidthForGlyph across OS X and iOS
https://bugs.webkit.org/show_bug.cgi?id=132036

Reviewed by Darin Adler.

This patch creates on shared SimpleFontData::platformWidthForGlyph() function for both OS X and iOS.

No new tests are necessary because there should be no behavior changes.

* platform/graphics/SimpleFontData.h: Signatures for two helper functions
* platform/graphics/ios/SimpleFontDataIOS.mm: Replace iOS implementation of platformWidthForGlyph() with
implementations of only the two helper functions
(WebCore::SimpleFontData::getRenderingStyle): Compute style argument to CGFontGetGlyphAdvancesForStyle()
(WebCore::SimpleFontData::advanceForColorBitmapFont): iOS doesn't have color bitmap fonts
(WebCore::SimpleFontData::platformWidthForGlyph): Deleted.
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::getRenderingStyle): Compute style argument to CGFontGetGlyphAdvancesForStyle()
(WebCore::SimpleFontData::advanceForColorBitmapFont): Use [NSFont advancementForGlyph] to compute the advance
(WebCore::hasCustomTracking): Removed #if
(WebCore::isEmoji): Only relevant on iOS
(WebCore::SimpleFontData::platformWidthForGlyph): Shared implementation. Calls helper functions.

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

7 years agoMake slowPathAllocsBetweenGCs a runtime option.
mark.lam@apple.com [Thu, 24 Apr 2014 21:12:56 +0000 (21:12 +0000)]
Make slowPathAllocsBetweenGCs a runtime option.
<https://webkit.org/b/132137>

Reviewed by Mark Hahnenberg.

This will make it easier to more casually run tests with this configuration
as well as to reproduce issues (instead of requiring a code mod and rebuild).
We will now take --slowPathAllocsBetweenGCs=N where N is the number of
slow path allocations before we trigger a collection.

The option defaults to 0, which is reserved to mean that we will not trigger
any collections there.

* heap/Heap.h:
* heap/MarkedAllocator.cpp:
(JSC::MarkedAllocator::doTestCollectionsIfNeeded):
(JSC::MarkedAllocator::allocateSlowCase):
* heap/MarkedAllocator.h:
* runtime/Options.h:

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

7 years agoSubpixel rendering: Clipping on text areas when shifted by one device pixel.
zalan@apple.com [Thu, 24 Apr 2014 20:46:26 +0000 (20:46 +0000)]
Subpixel rendering: Clipping on text areas when shifted by one device pixel.
https://bugs.webkit.org/show_bug.cgi?id=132008

Reviewed by Darin Adler.

Make RenderTheme paint* functions LayoutRect aware. Textarea is device pixel snapped, while
other theme controls are still on integral size/positions.

Source/WebCore:
Test: fast/forms/hidpi-textarea-on-subpixel-position.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBoxDecorations):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::paintTextField):
(WebCore::RenderTheme::paintTextFieldDecorations):
(WebCore::RenderTheme::paintTextArea):
(WebCore::RenderTheme::paintTextAreaDecorations):
* rendering/RenderThemeIOS.h:
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::paintTextFieldDecorations):
(WebCore::RenderThemeIOS::paintTextAreaDecorations):
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::paintTextArea):

LayoutTests:
* fast/forms/hidpi-textarea-on-subpixel-position-expected.html: Added.
* fast/forms/hidpi-textarea-on-subpixel-position.html: Added.
* platform/mac-wk2/TestExpectations: Due to defective RenderLayer cliprect calculation (WK2 only): webkit.org/b/132100

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

7 years agoText caret disappears in Mail after returning from another application
rniwa@webkit.org [Thu, 24 Apr 2014 20:24:13 +0000 (20:24 +0000)]
Text caret disappears in Mail after returning from another application
https://bugs.webkit.org/show_bug.cgi?id=132111

Reviewed by Darin Adler.

The bug was caused by our SPI _windowChangedKeyState not getting called upon deminiaturization.

Fixed the bug by using the standard NSWindowDidBecomeKeyNotification and NSWindowDidResignKeyNotification
notifications as done in WebKit2 since they DO get called upon deminiaturization.

* WebView/WebView.mm:
(-[WebView addWindowObserversForWindow:]):
(-[WebView removeWindowObservers]):
(-[WebView _windowKeyStateChanged:]):
(-[WebView _windowChangedKeyState]): Deleted.

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

7 years agoUnreviewed GTK gardening
commit-queue@webkit.org [Thu, 24 Apr 2014 19:49:23 +0000 (19:49 +0000)]
Unreviewed GTK gardening

Patch by Eduardo Lima Mitev <elima@igalia.com> on 2014-04-24

Tools:
* Scripts/run-gtk-tests: Skips one flaky accesibility test in WK2API suite
(TestRunner):

LayoutTests:
* platform/gtk/TestExpectations: Updated a few expectations entries

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

7 years agoFontCache::fontCache() never returns nullptr so it can be made to return a reference...
mmaxfield@apple.com [Thu, 24 Apr 2014 19:05:47 +0000 (19:05 +0000)]
FontCache::fontCache() never returns nullptr so it can be made to return a reference instead
https://bugs.webkit.org/show_bug.cgi?id=132110

Reviewed by Tim Horton.

Updates callers to use '.' instead of '->'.

No new tests are necessary because there should be no behavior change.

Source/WebCore:
* css/CSSFontFaceSource.cpp:
(WebCore::CSSFontFaceSource::getFontData):
* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::CSSFontSelector):
(WebCore::CSSFontSelector::~CSSFontSelector):
(WebCore::CSSFontSelector::addFontFaceRule):
(WebCore::fontDataForGenericFamily):
(WebCore::CSSFontSelector::getFallbackFontData):
* platform/MemoryPressureHandler.cpp:
(WebCore::MemoryPressureHandler::releaseMemory):
* platform/graphics/FontCache.cpp:
(WebCore::fontCache): Return a reference
* platform/graphics/FontCache.h:
(WebCore::FontCachePurgePreventer::FontCachePurgePreventer):
(WebCore::FontCachePurgePreventer::~FontCachePurgePreventer):
* platform/graphics/FontGlyphs.cpp:
(WebCore::FontGlyphs::FontGlyphs):
(WebCore::FontGlyphs::releaseFontData):
(WebCore::FontGlyphs::realizeFontDataAt):
(WebCore::FontGlyphs::glyphDataAndPageForCharacter):
* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::verticalData):
* platform/graphics/ios/SimpleFontDataIOS.mm:
(WebCore::SimpleFontData::platformCreateScaledFontData):
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::invalidateFontCache):
(WebCore::fontCacheRegisteredFontsChangedNotificationCallback):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::platformDestroy):
(WebCore::SimpleFontData::platformCreateScaledFontData):
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::getCJKCodePageMasks):
* platform/graphics/win/SimpleFontDataWin.cpp:
(WebCore::SimpleFontData::containsCharacters):
* platform/graphics/wince/FontCacheWinCE.cpp:
(WebCore::getCJKCodePageMasks):
* platform/graphics/wince/FontPlatformData.cpp:
(WebCore::FontFamilyCodePageInfo::codePages):
(WebCore::FixedSizeFontData::create):
* platform/graphics/wince/GlyphPageTreeNodeWinCE.cpp:
(WebCore::GlyphPage::fill):
* platform/graphics/wince/SimpleFontDataWinCE.cpp:
(WebCore::SimpleFontData::platformCreateScaledFontData):
(WebCore::SimpleFontData::containsCharacters):

Source/WebKit/efl:
* ewk/ewk_settings.cpp:
(ewk_settings_memory_cache_clear):

Source/WebKit/ios:
* Misc/EmojiFallbackFontSelector.cpp:
(EmojiFallbackFontSelector::getFallbackFontData):

Source/WebKit/mac:
* Misc/WebCoreStatistics.mm:
(+[WebCoreStatistics cachedFontDataCount]):
(+[WebCoreStatistics cachedFontDataInactiveCount]):
(+[WebCoreStatistics purgeInactiveFontData]):
* WebView/WebView.mm:
(+[WebView purgeInactiveFontData]):

Source/WebKit/win:
* WebCoreStatistics.cpp:
(WebCoreStatistics::cachedFontDataCount):
(WebCoreStatistics::cachedFontDataInactiveCount):
(WebCoreStatistics::purgeInactiveFontData):

Source/WebKit2:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::terminate):
(WebKit::WebProcess::didClose):
(WebKit::WebProcess::getWebCoreStatistics):

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

7 years ago[iOS] Manage AudioSession category according to media type
eric.carlson@apple.com [Thu, 24 Apr 2014 19:04:01 +0000 (19:04 +0000)]
[iOS] Manage AudioSession category according to media type
https://bugs.webkit.org/show_bug.cgi?id=132096

Reviewed by Jer Noble.

Source/WebCore:
* WebCore.exp.in: Export setting.

* html/HTMLMediaSession.cpp:
(WebCore::HTMLMediaSession::HTMLMediaSession):
(WebCore::initializeAudioSession): Deleted.

* page/Settings.cpp:
* page/Settings.h:
(WebCore::Settings::setShouldManageAudioSession): New.
(WebCore::Settings::shouldManageAudioSession): Ditto.

* platform/audio/ios/AudioDestinationIOS.cpp:
(WebCore::AudioDestinationIOS::AudioDestinationIOS): Use a MediaSession instead of inheriting
    from AudioListener and calling the AudioSession directly.
(WebCore::AudioDestinationIOS::~AudioDestinationIOS): Ditto.
(WebCore::AudioDestinationIOS::start): Notify session.
(WebCore::AudioDestinationIOS::stop): Ditto.
(WebCore::AudioDestinationIOS::beganAudioInterruption): Deleted.
(WebCore::AudioDestinationIOS::endedAudioInterruption): Deleted.
* platform/audio/ios/AudioDestinationIOS.h:
(WebCore::AudioDestinationIOS::mediaType):
(WebCore::AudioDestinationIOS::canReceiveRemoteControlCommands):
(WebCore::AudioDestinationIOS::didReceiveRemoteControlCommand):
(WebCore::AudioDestinationIOS::isPlaying): Deleted.

* platform/audio/ios/AudioSessionIOS.mm:
(WebCore::categoryName): Debug-only logging function.
(WebCore::AudioSession::setCategory): Don't stick with "media" once it is set.

* platform/audio/ios/MediaSessionManagerIOS.mm:
(WebCore::MediaSessionManageriOS::resetRestrictions): Set up restrictions for WebAudio.
(WebCore::MediaSessionManageriOS::updateNowPlayingInfo): Don't set invalid start time.

* platform/audio/mac/MediaSessionManagerMac.cpp:
(MediaSessionManager::updateSessionState): Manage AudioSession.active when WebAudio clients
    come and go. Manage AudioSession.category according to the number of WebAudio and
    HTMLMediaElement clients.

Source/WebKit/mac:
* WebView/WebView.mm:
(-[WebView _commonInitializationWithFrameName:groupName:]): Tell
    WebCore to manage the AudioSession when running in MobileSafari.

Source/WebKit2:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage): Tell WebCore to manage the AudioSession.

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

7 years ago[wk2] Provide SPI allowing clients to hand events directly to swipe code, bypassing...
timothy_horton@apple.com [Thu, 24 Apr 2014 17:48:28 +0000 (17:48 +0000)]
[wk2] Provide SPI allowing clients to hand events directly to swipe code, bypassing scrolling
https://bugs.webkit.org/show_bug.cgi?id=132092
<rdar://problem/15948244>

Reviewed by Darin Adler.

* UIProcess/API/Cocoa/WKViewPrivate.h:
* UIProcess/API/mac/WKView.mm:
(-[WKView _tryToSwipeWithEvent:ignoringPinnedState:]):
Added. Hand the event directly to ViewGestureController, optionally
ignoring whether or not the WKView is scrollable (always pretending that it is not).

* UIProcess/mac/ViewGestureController.h:
(WebKit::ViewGestureController::shouldIgnorePinnedState):
(WebKit::ViewGestureController::setShouldIgnorePinnedState):
* UIProcess/mac/ViewGestureControllerMac.mm:
(WebKit::ViewGestureController::ViewGestureController):
(WebKit::ViewGestureController::scrollEventCanBecomeSwipe):
(WebKit::ViewGestureController::handleScrollWheelEvent):
(WebKit::ViewGestureController::wheelEventWasNotHandledByWebCore):
(WebKit::scrollEventCanBecomeSwipe):
If we're ignoring the view's pinned state, pretend that we're always pinned,
and don't worry about sending events to WebCore.

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

7 years ago[GTK] Unreviewed GTK gardening.
commit-queue@webkit.org [Thu, 24 Apr 2014 17:30:57 +0000 (17:30 +0000)]
[GTK] Unreviewed GTK gardening.
Update expectations after removal of environment variable
XVFB_SCREEN_DEPTH=8 from the GTK Release bot.

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

* platform/gtk/TestExpectations:

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

7 years ago[New Multicolumn] Client rects don't work with column spans.
hyatt@apple.com [Thu, 24 Apr 2014 17:02:37 +0000 (17:02 +0000)]
[New Multicolumn] Client rects don't work with column spans.
https://bugs.webkit.org/show_bug.cgi?id=132131

Reviewed by Dean Jackson.

Source/WebCore:

Don't factor in the offset of the multicolumn set from the top
of the multicolumn block. This was added already, and it doesn't
need to be a part of columnTranslationForOffset.

Added fast/multicol/client-rects-spanners.html

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::columnTranslationForOffset):

LayoutTests:

* fast/multicol/client-rects-spanners.html: Added.
* platform/mac/fast/multicol/client-rects-spanners-expected.png: Added.
* platform/mac/fast/multicol/client-rects-spanners-expected.txt: Added.

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

7 years agoTest that we correctly process ArrayBufferView slices in WebCrypto
ap@apple.com [Thu, 24 Apr 2014 16:36:56 +0000 (16:36 +0000)]
Test that we correctly process ArrayBufferView slices in WebCrypto
https://bugs.webkit.org/show_bug.cgi?id=132087

Reviewed by Brent Fulgham.

* crypto/subtle/array-buffer-view-offset-expected.txt: Added.
* crypto/subtle/array-buffer-view-offset.html: Added.

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

7 years ago[EFL] WebKit build fails when MEDIA_SOURCE is enabled
commit-queue@webkit.org [Thu, 24 Apr 2014 16:31:21 +0000 (16:31 +0000)]
[EFL] WebKit build fails when MEDIA_SOURCE is enabled
https://bugs.webkit.org/show_bug.cgi?id=132118

Patch by Praveen R Jadhav <praveen.j@samsung.com> on 2014-04-24
Reviewed by Brent Fulgham.

Files MediaSourceGStreamer.cpp, SourceBufferPrivateGStreamer.cpp and
WebKitMediaSourceGStreamer.cpp are included for EFL port build.

No new tests. No change in behaviour.

* PlatformEfl.cmake: MediaSourceGStreamer.cpp, SourceBufferPrivateGStreamer.cpp
and WebKitMediaSourceGStreamer.cpp are included for compilation.

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

7 years agoASSERTION FAILED: !begin.isIndefinite() in WebCore::SVGSMILElement::resolveFirstInterval.
tgergely.u-szeged@partner.samsung.com [Thu, 24 Apr 2014 16:27:38 +0000 (16:27 +0000)]
ASSERTION FAILED: !begin.isIndefinite() in WebCore::SVGSMILElement::resolveFirstInterval.
https://bugs.webkit.org/show_bug.cgi?id=131097

Reviewed by Darin Adler.

Source/WebCore:
According to smil animation reference, max attribute cannot be 0.

Test: svg/animations/smil-animation-max-attribute-zero-crash.svg

* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::maxValue):
  changed (result < 0) to (result <= 0)

LayoutTests:
Test added.

* svg/animations/smil-animation-max-attribute-zero-crash-expected.txt: Added.
* svg/animations/smil-animation-max-attribute-zero-crash.svg: Added.

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

7 years agoRemove screenColorProfile()
ryuan.choi@samsung.com [Thu, 24 Apr 2014 16:18:34 +0000 (16:18 +0000)]
Remove screenColorProfile()
https://bugs.webkit.org/show_bug.cgi?id=132035

Reviewed by Darin Adler.

Only chromium used screenColorProfile() since r120789.

* platform/PlatformScreen.h:
* platform/efl/PlatformScreenEfl.cpp:
(WebCore::screenColorProfile): Deleted.
* platform/gtk/PlatformScreenGtk.cpp:
(WebCore::screenColorProfile): Deleted.
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::qcmsOutputDeviceProfile):
* platform/ios/PlatformScreenIOS.mm:
(WebCore::screenColorProfile): Deleted.
* platform/mac/PlatformScreenMac.mm:
(WebCore::screenColorProfile): Deleted.
* platform/win/PlatformScreenWin.cpp:
(WebCore::screenColorProfile): Deleted.

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

7 years ago[GTK] wmode='transparent' for flash plugin doesn't work
carlosgc@webkit.org [Thu, 24 Apr 2014 15:59:37 +0000 (15:59 +0000)]
[GTK] wmode='transparent' for flash plugin doesn't work
https://bugs.webkit.org/show_bug.cgi?id=120055

Reviewed by Gustavo Noronha Silva.

Force opaque window mode for flash plugin when wmode='transparent',
since X11 backend doesn't support transparency. We should add
proper transparency support because forcing opaque window mode
doesn't really work. Handle this as a plugin quirk instead of
adding X11 specific code to WebFrameLoaderClient::createPlugin().

* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::NetscapePluginModule::determineQuirks): Add
ForceFlashWindowlessMode quirk for flash in case of EFL platform
because EFL port doesn't support windowed plugins.
* Shared/Plugins/PluginQuirks.h: Add ForceFlashWindowlessMode X11
plugin quirk.
* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::initialize): Modify or add wmode
parameter for flash plugin, to force opaque window mode when
transparent mode is specified or when ForceFlashWindowlessMode
quirk is present.
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createPlugin): Remove X11 specific code.

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

7 years agoOne more unreviewed build fix after r167755.
zalan@apple.com [Thu, 24 Apr 2014 15:56:00 +0000 (15:56 +0000)]
One more unreviewed build fix after r167755.

* html/shadow/mac/ImageControlsButtonElementMac.cpp:
(WebCore::RenderImageControlsButton::updateLogicalWidth):
(WebCore::RenderImageControlsButton::computeLogicalHeight):

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

7 years agoUnreviewed build fix after r167755.
zalan@apple.com [Thu, 24 Apr 2014 15:33:48 +0000 (15:33 +0000)]
Unreviewed build fix after r167755.

* rendering/RenderThemeMac.h:

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

7 years agoWeb Inspector: gradient editor does not appear for linear-gradient with no specified...
graouts@webkit.org [Thu, 24 Apr 2014 14:37:15 +0000 (14:37 +0000)]
Web Inspector: gradient editor does not appear for linear-gradient with no specified angle
https://bugs.webkit.org/show_bug.cgi?id=132083

Reviewed by Timothy Hatcher.

Only assume we're parsing a legacy-formatted gradient if the first parameter is not a color.

* UserInterface/Models/Gradient.js:
(WebInspector.LinearGradient.linearGradientWithComponents):

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

7 years agoTransition RenderTheme API from RenderObject* to const RenderObject&
zalan@apple.com [Thu, 24 Apr 2014 14:27:54 +0000 (14:27 +0000)]
Transition RenderTheme API from RenderObject* to const RenderObject&
https://bugs.webkit.org/show_bug.cgi?id=132037

Reviewed by Andreas Kling.

Using const references provides better encapsulation and improve security.

No change in behavior.

* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::boundingBoxForQuads):
* dom/Element.cpp:
(WebCore::Element::setActive):
(WebCore::Element::setHovered):
* editing/FrameSelection.cpp:
(WebCore::FrameSelection::focusedOrActiveStateChanged):
* html/HTMLFormControlElement.cpp:
(WebCore::HTMLFormControlElement::disabledStateChanged):
(WebCore::HTMLFormControlElement::readOnlyAttributeChanged):
* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::setIndeterminate):
* html/HTMLOptionElement.cpp:
(WebCore::HTMLOptionElement::parseAttribute):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::addVisualOverflowFromTheme):
(WebCore::RenderBlock::baselinePosition):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::paintBoxDecorations):
* rendering/RenderButton.cpp:
(WebCore::RenderButton::styleDidChange):
* rendering/RenderFileUploadControl.cpp:
(WebCore::RenderFileUploadControl::paintObject):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::addRegionsVisualOverflowFromTheme):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide):
* rendering/RenderObject.h:
* rendering/RenderProgress.cpp:
(WebCore::RenderProgress::computeLogicalHeight):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::paint):
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paint):
(WebCore::RenderTheme::paintBorderOnly):
(WebCore::RenderTheme::paintDecorations):
(WebCore::RenderTheme::baselinePosition):
(WebCore::RenderTheme::adjustRepaintRect):
(WebCore::RenderTheme::stateChanged):
(WebCore::RenderTheme::updateControlStatesForRenderer):
(WebCore::RenderTheme::extractControlStatesForRenderer):
(WebCore::RenderTheme::isActive):
(WebCore::RenderTheme::isChecked):
(WebCore::RenderTheme::isIndeterminate):
(WebCore::RenderTheme::isEnabled):
(WebCore::RenderTheme::isFocused):
(WebCore::RenderTheme::isPressed):
(WebCore::RenderTheme::isSpinUpButtonPartPressed):
(WebCore::RenderTheme::isReadOnlyControl):
(WebCore::RenderTheme::isHovered):
(WebCore::RenderTheme::isSpinUpButtonPartHovered):
(WebCore::RenderTheme::isDefault):
(WebCore::RenderTheme::paintInputFieldSpeechButton):
(WebCore::RenderTheme::paintMeter):
(WebCore::RenderTheme::paintSliderTicks):
(WebCore::RenderTheme::progressBarRectForBounds):
* rendering/RenderTheme.h:
(WebCore::RenderTheme::controlSupportsTints):
(WebCore::RenderTheme::paintCapsLockIndicator):
(WebCore::RenderTheme::paintFileUploadIconDecorations):
(WebCore::RenderTheme::imageControlsButtonSize):
(WebCore::RenderTheme::paintCheckbox):
(WebCore::RenderTheme::paintRadio):
(WebCore::RenderTheme::paintButton):
(WebCore::RenderTheme::paintInnerSpinButton):
(WebCore::RenderTheme::paintCheckboxDecorations):
(WebCore::RenderTheme::paintRadioDecorations):
(WebCore::RenderTheme::paintButtonDecorations):
(WebCore::RenderTheme::paintTextField):
(WebCore::RenderTheme::paintTextFieldDecorations):
(WebCore::RenderTheme::paintTextArea):
(WebCore::RenderTheme::paintTextAreaDecorations):
(WebCore::RenderTheme::paintMenuList):
(WebCore::RenderTheme::paintMenuListDecorations):
(WebCore::RenderTheme::paintMenuListButtonDecorations):
(WebCore::RenderTheme::paintPushButtonDecorations):
(WebCore::RenderTheme::paintSquareButtonDecorations):
(WebCore::RenderTheme::paintProgressBar):
(WebCore::RenderTheme::paintSliderTrack):
(WebCore::RenderTheme::paintSliderThumb):
(WebCore::RenderTheme::paintSliderThumbDecorations):
(WebCore::RenderTheme::paintSearchField):
(WebCore::RenderTheme::paintSearchFieldDecorations):
(WebCore::RenderTheme::paintSearchFieldCancelButton):
(WebCore::RenderTheme::paintSearchFieldDecorationPart):
(WebCore::RenderTheme::paintSearchFieldResultsDecorationPart):
(WebCore::RenderTheme::paintSearchFieldResultsButton):
(WebCore::RenderTheme::paintMediaFullscreenButton):
(WebCore::RenderTheme::paintMediaPlayButton):
(WebCore::RenderTheme::paintMediaOverlayPlayButton):
(WebCore::RenderTheme::paintMediaMuteButton):
(WebCore::RenderTheme::paintMediaSeekBackButton):
(WebCore::RenderTheme::paintMediaSeekForwardButton):
(WebCore::RenderTheme::paintMediaSliderTrack):
(WebCore::RenderTheme::paintMediaSliderThumb):
(WebCore::RenderTheme::paintMediaVolumeSliderContainer):
(WebCore::RenderTheme::paintMediaVolumeSliderTrack):
(WebCore::RenderTheme::paintMediaVolumeSliderThumb):
(WebCore::RenderTheme::paintMediaRewindButton):
(WebCore::RenderTheme::paintMediaReturnToRealtimeButton):
(WebCore::RenderTheme::paintMediaToggleClosedCaptionsButton):
(WebCore::RenderTheme::paintMediaControlsBackground):
(WebCore::RenderTheme::paintMediaCurrentTime):
(WebCore::RenderTheme::paintMediaTimeRemaining):
(WebCore::RenderTheme::paintMediaFullScreenVolumeSliderTrack):
(WebCore::RenderTheme::paintMediaFullScreenVolumeSliderThumb):
(WebCore::RenderTheme::paintSnapshottedPluginOverlay):
(WebCore::RenderTheme::paintImageControlsButton):
* rendering/RenderThemeIOS.h:
* rendering/RenderThemeIOS.mm:
(WebCore::RenderThemeIOS::addRoundedBorderClip):
(WebCore::RenderThemeIOS::paintCheckboxDecorations):
(WebCore::RenderThemeIOS::baselinePosition):
(WebCore::RenderThemeIOS::paintRadioDecorations):
(WebCore::RenderThemeIOS::paintTextFieldDecorations):
(WebCore::RenderThemeIOS::paintTextAreaDecorations):
(WebCore::RenderThemeIOS::paintMenuListButtonDecorations):
(WebCore::RenderThemeIOS::paintSliderTrack):
(WebCore::RenderThemeIOS::paintSliderThumbDecorations):
(WebCore::RenderThemeIOS::paintProgressBar):
(WebCore::RenderThemeIOS::paintSearchFieldDecorations):
(WebCore::RenderThemeIOS::paintButtonDecorations):
(WebCore::RenderThemeIOS::paintPushButtonDecorations):
(WebCore::RenderThemeIOS::paintFileUploadIconDecorations):
* rendering/RenderThemeMac.h:
(WebCore::RenderThemeMac::updateActiveState):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::documentViewFor):
(WebCore::RenderThemeMac::adjustRepaintRect):
(WebCore::RenderThemeMac::convertToPaintingRect):
(WebCore::RenderThemeMac::updateCheckedState):
(WebCore::RenderThemeMac::updateEnabledState):
(WebCore::RenderThemeMac::updateFocusedState):
(WebCore::RenderThemeMac::updatePressedState):
(WebCore::RenderThemeMac::controlSupportsTints):
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::paintCapsLockIndicator):
(WebCore::RenderThemeMac::paintTextArea):
(WebCore::RenderThemeMac::paintMenuList):
(WebCore::RenderThemeMac::paintMeter):
(WebCore::RenderThemeMac::progressBarRectForBounds):
(WebCore::RenderThemeMac::paintProgressBar):
(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::paintMenuListButtonDecorations):
(WebCore::RenderThemeMac::setPopupButtonCellState):
(WebCore::RenderThemeMac::paintSliderTrack):
(WebCore::RenderThemeMac::paintSliderThumb):
(WebCore::RenderThemeMac::paintSearchField):
(WebCore::RenderThemeMac::setSearchCellState):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::paintSearchFieldDecorationPart):
(WebCore::RenderThemeMac::paintSearchFieldResultsDecorationPart):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):
(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
(WebCore::RenderThemeMac::paintImageControlsButton):
(WebCore::RenderThemeMac::imageControlsButtonSize):

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

7 years ago[EFL] Update baselines after r167568
commit-queue@webkit.org [Thu, 24 Apr 2014 12:58:16 +0000 (12:58 +0000)]
[EFL] Update baselines after r167568
https://bugs.webkit.org/show_bug.cgi?id=132125

Unreviewed EFL gardening.

Patch by Krzysztof Wolanski <k.wolanski@samsung.com> on 2014-04-24

* platform/efl-wk2/inspector-protocol/debugger/setBreakpoint-dfg-and-modify-local-expected.txt: Added.
* platform/efl/fast/repaint/reflection-redraw-expected.txt: Rebaseline after r167568.
* platform/efl/fast/table/multiple-captions-display-expected.txt: Rebaseline after r167568.
* platform/efl/svg/W3C-SVG-1.1-SE/filters-image-03-f-expected.txt: Added.
* platform/efl/svg/W3C-SVG-1.1-SE/filters-image-05-f-expected.txt: Added.
* platform/efl/svg/W3C-SVG-1.1/filters-composite-02-b-expected.txt: Added.
* platform/efl/svg/W3C-SVG-1.1/filters-displace-01-f-expected.txt: Added.
* platform/efl/svg/W3C-SVG-1.1/filters-image-01-b-expected.txt: Added.
* platform/efl/tables/mozilla/marvin/body_col-expected.txt: Rebaseline after r167568.
* platform/efl/tables/mozilla/marvin/x_th_valign_baseline-expected.txt: Rebaseline after r167568.
* platform/efl/tables/mozilla/other/body_col-expected.txt: Rebaseline after r167568.
* platform/efl/tables/mozilla_expected_failures/bugs/bug10140-expected.txt: Rebaseline after r167568.
* platform/efl/tables/mozilla_expected_failures/bugs/bug10216-expected.txt: Rebaseline after r167568.
* platform/efl/tables/mozilla_expected_failures/core/captions3-expected.txt: Rebaseline after r167568.
* platform/efl/tables/mozilla_expected_failures/other/test4-expected.txt: Rebaseline after r167568.

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

7 years agoprepare-ChangeLog reports as deleted methods that has not been removed.
llango.u-szeged@partner.samsung.com [Thu, 24 Apr 2014 08:55:18 +0000 (08:55 +0000)]
prepare-ChangeLog reports as deleted methods that has not been removed.
https://bugs.webkit.org/show_bug.cgi?id=131733

Reviewed by Ryosuke Niwa.

* Scripts/prepare-ChangeLog:
(originalFile): Set merge base to origin/master by default.

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

7 years ago[GTK] HTML Media capture attribute is a boolean since r163958
carlosgc@webkit.org [Thu, 24 Apr 2014 07:17:15 +0000 (07:17 +0000)]
[GTK] HTML Media capture attribute is a boolean since r163958
https://bugs.webkit.org/show_bug.cgi?id=132061

Reviewed by Gustavo Noronha Silva.

Add new methods webkit_dom_html_input_element_get_capture_enabled
and webkit_dom_html_input_element_set_capture_enabled using a
boolean and deprecate the old methods.

* bindings/gobject/WebKitDOMDeprecated.cpp:
(webkit_dom_html_input_element_get_capture):
(webkit_dom_html_input_element_set_capture):
* bindings/gobject/WebKitDOMDeprecated.h:
* bindings/gobject/WebKitDOMDeprecated.symbols:
* bindings/gobject/webkitdom.symbols:
* bindings/scripts/CodeGeneratorGObject.pm:
(GetEffectiveFunctionName): Helper function to rename API methods
for special cases.
(GenerateFunction): Use GetEffectiveFunctionName().

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

7 years agoprepare-Changelog and svn-create-patch should optionally run check-webkit-style.
jcraig@apple.com [Thu, 24 Apr 2014 07:07:06 +0000 (07:07 +0000)]
prepare-Changelog and svn-create-patch should optionally run check-webkit-style.
https://bugs.webkit.org/show_bug.cgi?id=131115

Reviewed by Daniel Bates.

Added [--[no-]style] param to run check-webkit-style as part of prepare-Changelog and svn-create-patch.

* Scripts/commit-log-editor: Added --no-style.
* Scripts/prepare-ChangeLog: Primary patch.
(main): Primary patch.
(createPatchCommand): Added --no-style.
* Scripts/svn-create-patch: Primary patch.
* Scripts/webkit-tools-completion.sh: Added --style and --no-style.
* Scripts/webkitpy/common/checkout/scm/svn.py: Added --no-style.
(SVN.create_patch): Added --no-style.

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

7 years ago[MediaStream] Implement MediaStream active attribute
commit-queue@webkit.org [Thu, 24 Apr 2014 06:37:51 +0000 (06:37 +0000)]
[MediaStream] Implement MediaStream active attribute
https://bugs.webkit.org/show_bug.cgi?id=131973

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

Source/WebCore:
MediaStream .active attribute are introduced which will replace
.ended attribute. This patch implements the newly introduced attributes.

MediaStream-add-remove-tracks.html is updated to handle this scenario.

* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::active): Added.
(WebCore::MediaStream::setActive): Added.
(WebCore::MediaStream::addTrack): Propagates 'onactive' event when required.
(WebCore::MediaStream::removeTrack): Propagates 'oninactive' event when required.
(WebCore::MediaStream::trackDidEnd): Propagates 'oninactive' event when required.
(WebCore::MediaStream::streamDidEnd):
(WebCore::MediaStream::setStreamIsActive): Added.
* Modules/mediastream/MediaStream.h:
* Modules/mediastream/MediaStream.idl:
* dom/EventNames.h:
* platform/mediastream/MediaStreamPrivate.cpp:
(WebCore::MediaStreamPrivate::MediaStreamPrivate): Initialize .active attribute
(WebCore::MediaStreamPrivate::setEnded):
(WebCore::MediaStreamPrivate::setActive): Added.
* platform/mediastream/MediaStreamPrivate.h:
(WebCore::MediaStreamPrivate::active): Added.

LayoutTests:
MediaStream .onended attribute will be replaced with .active attribute.
Patch updates the test case to verify the .active attribute.

* fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
* fast/mediastream/MediaStream-add-remove-tracks.html:

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

7 years ago[iOS WK2] Missing content inside long overflow-scrolling:touch
simon.fraser@apple.com [Thu, 24 Apr 2014 05:16:45 +0000 (05:16 +0000)]
[iOS WK2] Missing content inside long overflow-scrolling:touch
https://bugs.webkit.org/show_bug.cgi?id=132105

Reviewed by Tim Horton.

PlatformCALayerRemote needs to track bounds origin as well as size,
since iOS uses bounds origin for overflow scrolling.

* Shared/mac/RemoteLayerTreePropertyApplier.mm:
(WebKit::applyPropertiesToLayer):
* Shared/mac/RemoteLayerTreeTransaction.h:
* Shared/mac/RemoteLayerTreeTransaction.mm:
(WebKit::RemoteLayerTreeTransaction::LayerProperties::LayerProperties):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
(WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
(WebKit::dumpChangedLayers):
* WebProcess/WebPage/mac/PlatformCALayerRemote.cpp:
(WebKit::PlatformCALayerRemote::updateBackingStore):
(WebKit::PlatformCALayerRemote::bounds):
(WebKit::PlatformCALayerRemote::setBounds):

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

7 years agoVersioning.
lforschler@apple.com [Thu, 24 Apr 2014 04:49:22 +0000 (04:49 +0000)]
Versioning.

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

7 years ago[Cocoa] fix CF leaks found by code inspection
darin@apple.com [Thu, 24 Apr 2014 04:46:28 +0000 (04:46 +0000)]
[Cocoa] fix CF leaks found by code inspection
https://bugs.webkit.org/show_bug.cgi?id=132106

Reviewed by Andreas Kling.

* page/CaptionUserPreferencesMediaAF.cpp:
(WebCore::trackDisplayName): Added a missing adoptCF.

* platform/Language.cpp:
(WebCore::displayNameForLanguageLocale): Added a missing adoptCF.

* platform/graphics/FontPlatformData.cpp:
(WebCore::FontPlatformData::openTypeTable): Added a missing adoptCF.

* platform/graphics/avfoundation/cf/InbandTextTrackPrivateAVCF.cpp:
(WebCore::InbandTextTrackPrivateAVCF::label): Added two missing adoptCF.

* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::AVFWrapper::createImageForTimeInRect): Added two missing adoptCF.

* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::createPDFDocument): Added missing adoptCF.

* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::cascadeToLastResortFontDescriptor): Added two missing adoptCF.

* platform/graphics/mac/FontMac.mm:
(WebCore::Font::primaryFontDataIsSystemFont): Added missing adoptCF.

* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::hasCustomTracking): Added missing adoptCF.

* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageDecoder::qcmsOutputDeviceProfile): Added CFRelease.

* plugins/mac/PluginPackageMac.cpp:
(WebCore::readPListFile): Added two missing adoptCF.

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

7 years agoRemove Apple Dictionary workaround in WebFrameLoaderClient.
akling@apple.com [Thu, 24 Apr 2014 04:42:32 +0000 (04:42 +0000)]
Remove Apple Dictionary workaround in WebFrameLoaderClient.
<https://webkit.org/b/132095>

Kill a hack to work around a WK1 client bug that got fixed years ago.
See <rdar://problem/6471058> for backstory.

Reviewed by Darin Adler.

* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::dispatchDidLoadResourceFromMemoryCache):
(WebFrameLoaderClient::dispatchWillSendRequest):
(applyAppleDictionaryApplicationQuirkNonInlinePart): Deleted.
(applyAppleDictionaryApplicationQuirk): Deleted.

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

7 years agoREGRESSION (r157328): popover to check into flight ba.com dismisses instantly when...
rniwa@webkit.org [Thu, 24 Apr 2014 04:24:30 +0000 (04:24 +0000)]
REGRESSION (r157328): popover to check into flight ba.com dismisses instantly when focusing form
https://bugs.webkit.org/show_bug.cgi?id=131949

Address the review comment.

* dom/EventDispatcher.cpp:
(WebCore::EventRelatedNodeResolver::findHostOfTreeScopeInTargetTreeScope):

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

7 years agoCachedResourceLoader hoards URLs indefinitely for no good reason.
akling@apple.com [Thu, 24 Apr 2014 04:11:50 +0000 (04:11 +0000)]
CachedResourceLoader hoards URLs indefinitely for no good reason.
<https://webkit.org/b/132102>
<rdar://problem/16708265>

Since we don't care about CachedResourceLoader::m_validatedURL's after
the Document has finished dispatching its initial load event, clear the
set at that point, and don't add any new URLs to it.

Reviewed by Anders Carlsson.

* dom/Document.cpp:
(WebCore::Document::dispatchWindowLoadEvent):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::documentDidFinishLoadEvent):
* loader/cache/CachedResourceLoader.h:

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

7 years agoRemove unused WKPageSetMemoryCacheClientCallsEnabled API.
akling@apple.com [Thu, 24 Apr 2014 03:56:09 +0000 (03:56 +0000)]
Remove unused WKPageSetMemoryCacheClientCallsEnabled API.
<https://webkit.org/b/132098>

This API was added to WK2 back in 2011 but never actually used.

Reviewed by Anders Carlsson.

* Shared/WebPageCreationParameters.cpp:
(WebKit::WebPageCreationParameters::encode):
(WebKit::WebPageCreationParameters::decode):
* Shared/WebPageCreationParameters.h:
* UIProcess/API/C/WKPage.cpp:
(WKPageSetMemoryCacheClientCallsEnabled): Deleted.
* UIProcess/API/C/WKPage.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::creationParameters):
(WebKit::WebPageProxy::setMemoryCacheClientCallsEnabled): Deleted.
* UIProcess/WebPageProxy.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::setMemoryCacheMessagesEnabled): Deleted.
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:

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

7 years agoCanvas cache of clean URLs can grow without bounds.
akling@apple.com [Thu, 24 Apr 2014 03:43:47 +0000 (03:43 +0000)]
Canvas cache of clean URLs can grow without bounds.
<https://webkit.org/b/132091>
<rdar://problem/16695665>

Remove a silly "optimization" that kept a cache of clean URLs
that can be drawn into a canvas without tainting it, all to avoid
the "expensive" checks to determine whether it would taint.

Reviewed by Benjamin Poulain.

* html/canvas/CanvasRenderingContext.cpp:
(WebCore::CanvasRenderingContext::wouldTaintOrigin):
* html/canvas/CanvasRenderingContext.h:

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

7 years ago[iOS WK2] Make -webkit-overflow-scrolling:touch work
simon.fraser@apple.com [Thu, 24 Apr 2014 03:31:30 +0000 (03:31 +0000)]
[iOS WK2] Make -webkit-overflow-scrolling:touch work
https://bugs.webkit.org/show_bug.cgi?id=132097

Reviewed by Tim Horton.

Scrolling of UIScrollViews in content (for -webkit-overflow-scrolling:touch)
depends on them getting hit-tested correctly. UIKit hit testing assumes
that subviews are enclosed by their ancestors, but this is not true of
web content. In addition, we had a root layer that was zero sized.

Fix by overriding hitTest:withEvent: on our content WKViews to hit
test subviews even if they are not enclosed.

* UIProcess/ios/RemoteLayerTreeHostIOS.mm:
(-[UIView _recursiveFindDescendantViewAtPoint:withEvent:]):
(-[UIView _findDescendantViewAtPoint:withEvent:]):
(-[WKCompositingView hitTest:withEvent:]):
(-[WKTransformView hitTest:withEvent:]):
(-[WKRemoteView hitTest:withEvent:]):
(WebKit::RemoteLayerTreeHost::createLayer):
* WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
(WebKit::RemoteLayerTreeDrawingArea::updatePreferences):
Update debug borders on the root layer.
(WebKit::RemoteLayerTreeDrawingArea::mainFrameContentSizeChanged):
Size the root layer to the contents size. This isn't strictly necessary
given the hit testing overrides, but seems sensible to do anyway.

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

7 years agoNonopaque layers double-paint with UI-side compositing
simon.fraser@apple.com [Thu, 24 Apr 2014 03:31:28 +0000 (03:31 +0000)]
Nonopaque layers double-paint with UI-side compositing
https://bugs.webkit.org/show_bug.cgi?id=132101

Reviewed by Tim Horton.

The non-IOSurface code path was failing to clear the backing store
before painting.

* Shared/mac/RemoteLayerBackingStore.mm:
(WebKit::RemoteLayerBackingStore::display):
(WebKit::RemoteLayerBackingStore::drawInContext):

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

7 years ago[iOS][WK2] Image and text documents sometime gets the webpage viewport configuration
benjamin@webkit.org [Thu, 24 Apr 2014 02:37:05 +0000 (02:37 +0000)]
[iOS][WK2] Image and text documents sometime gets the webpage viewport configuration
https://bugs.webkit.org/show_bug.cgi?id=132099

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

When didReceiveMobileDocType(), if the doctype was not XHTML mobile, we were setting
the viewport configuration to webpageParameters(). This is obviously not correct for
Image and Text documents.

This patch moves the code deciding the default configuration out of WebPage::didCommitLoad()
and use it from WebPage::didCommitLoad() and WebPage::didReceiveMobileDocType().

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::didReceiveMobileDocType):
(WebKit::WebPage::resetViewportDefaultConfiguration):

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

7 years ago[EFL][WK1] Add *const* keyword to _get() APIs
commit-queue@webkit.org [Thu, 24 Apr 2014 02:25:08 +0000 (02:25 +0000)]
[EFL][WK1] Add *const* keyword to _get() APIs
https://bugs.webkit.org/show_bug.cgi?id=132094

Patch by Hyowon Kim <hw1008.kim@samsung.com> on 2014-04-23
Reviewed by Gyuyoung Kim.

Some _get() EFL APIs don't have *const* keyword though the _get() APIs don't modify passed argument.
We need to add *const* keyword to those APIs.

* ewk/ewk_history.cpp:
(ewk_history_limit_get):
* ewk/ewk_history.h:
* ewk/ewk_js.cpp:
(ewk_js_object_type_get):
* ewk/ewk_js.h:

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