WebKit-https.git
6 years agoUnresponsive Web processes sometimes throw ObjC exceptions under didPerformActionMenu...
timothy_horton@apple.com [Sun, 25 Jan 2015 08:20:02 +0000 (08:20 +0000)]
Unresponsive Web processes sometimes throw ObjC exceptions under didPerformActionMenuHitTest:
https://bugs.webkit.org/show_bug.cgi?id=140859
<rdar://problem/19571057>

Reviewed by Darin Adler.

* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController didPerformActionMenuHitTest:userData:]):
If we've already given up on this gesture (either because it was canceled or the
willBeginAnimation timeout expired), we shouldn't build a new animationController for it.
This is true both because it wouldn't look good to swap animationControllers out
from under the gesture, but also because AppKit throws an exception when you do this
and that breaks a lot of things.

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

6 years agoLong spins under Frame::rangeForPoint when doing Lookup on feedly.com
timothy_horton@apple.com [Sun, 25 Jan 2015 08:17:39 +0000 (08:17 +0000)]
Long spins under Frame::rangeForPoint when doing Lookup on feedly.com
https://bugs.webkit.org/show_bug.cgi?id=140862
<rdar://problem/19566089>

Reviewed by Dan Bernstein.

* page/Frame.cpp:
(WebCore::Frame::rangeForPoint):
If there isn't a selectable text node at the given point, rangeForPoint
will eventually return null. However, we can make it fail much faster
by checking the initial position's text-ness and selectability.

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

6 years agoUnreviewed, gardening for EFL port.
gyuyoung.kim@samsung.com [Sun, 25 Jan 2015 08:02:46 +0000 (08:02 +0000)]
Unreviewed, gardening for EFL port.

* platform/efl/TestExpectations: media/media-fullscreen-inline.html has been passed since r19100.

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

6 years ago[Win] More rebaselines. (Tables)
bfulgham@apple.com [Sun, 25 Jan 2015 07:35:56 +0000 (07:35 +0000)]
[Win] More rebaselines. (Tables)

* platform/win/tables/mozilla/bugs/bug1188-expected.png: Added.
* platform/win/tables/mozilla/bugs/bug1188-expected.txt:
* platform/win/tables/mozilla/bugs/bug18359-expected.png: Added.
* platform/win/tables/mozilla/bugs/bug18359-expected.txt:
* platform/win/tables/mozilla/bugs/bug2479-3-expected.png: Added.
* platform/win/tables/mozilla/bugs/bug2479-3-expected.txt:
* platform/win/tables/mozilla/bugs/bug2479-4-expected.png: Added.
* platform/win/tables/mozilla/bugs/bug2479-4-expected.txt:
* platform/win/tables/mozilla/bugs/bug29326-expected.png: Added.
* platform/win/tables/mozilla/bugs/bug29326-expected.txt:
* platform/win/tables/mozilla/bugs/bug33855-expected.png: Added.
* platform/win/tables/mozilla/bugs/bug33855-expected.txt:
* platform/win/tables/mozilla/bugs/bug4382-expected.png: Added.
* platform/win/tables/mozilla/bugs/bug4382-expected.txt:
* platform/win/tables/mozilla/bugs/bug4527-expected.txt:
* platform/win/tables/mozilla/bugs/bug96334-expected.png: Added.
* platform/win/tables/mozilla/bugs/bug96334-expected.txt:
* platform/win/tables/mozilla/core/margins-expected.png: Added.
* platform/win/tables/mozilla/core/margins-expected.txt:
* platform/win/tables/mozilla/dom/tableDom-expected.png: Added.
* platform/win/tables/mozilla/dom/tableDom-expected.txt:
* platform/win/tables/mozilla/other/move_row-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.png: Added.
* platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
* platform/win/tables/mozilla_expected_failures/core/captions1-expected.png: Added.
* platform/win/tables/mozilla_expected_failures/core/captions1-expected.txt:
* platform/win/tables/mozilla_expected_failures/core/captions2-expected.png: Added.
* platform/win/tables/mozilla_expected_failures/core/captions2-expected.txt:

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

6 years ago[Win] Unreviewed rebaselining.
bfulgham@apple.com [Sun, 25 Jan 2015 07:14:14 +0000 (07:14 +0000)]
[Win] Unreviewed rebaselining.

Second batch: Fast

* platform/win/fast/block/float/float-avoidance-expected.png: Added.
* platform/win/fast/block/margin-collapse/103-expected.png: Added.
* platform/win/fast/canvas/fallback-content-expected.txt:
* platform/win/fast/css/non-standard-checkbox-size-expected.png: Added.
* platform/win/fast/css/non-standard-checkbox-size-expected.txt:
* platform/win/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
* platform/win/fast/forms/001-expected.png:
* platform/win/fast/forms/001-expected.txt:
* platform/win/fast/forms/003-expected.png: Added.
* platform/win/fast/forms/003-expected.txt:
* platform/win/fast/forms/004-expected.png: Added.
* platform/win/fast/forms/004-expected.txt:
* platform/win/fast/forms/HTMLOptionElement_label01-expected.png: Added.
* platform/win/fast/forms/HTMLOptionElement_label01-expected.txt:
* platform/win/fast/forms/HTMLOptionElement_label02-expected.png: Added.
* platform/win/fast/forms/HTMLOptionElement_label02-expected.txt:
* platform/win/fast/forms/HTMLOptionElement_label03-expected.png: Added.
* platform/win/fast/forms/HTMLOptionElement_label03-expected.txt:
* platform/win/fast/forms/HTMLOptionElement_label04-expected.png: Added.
* platform/win/fast/forms/HTMLOptionElement_label04-expected.txt:
* platform/win/fast/forms/HTMLOptionElement_label06-expected.txt:
* platform/win/fast/forms/HTMLOptionElement_label07-expected.txt:
* platform/win/fast/forms/basic-inputs-expected.png:
* platform/win/fast/forms/basic-inputs-expected.txt:
* platform/win/fast/forms/basic-selects-expected.png:
* platform/win/fast/forms/basic-selects-expected.txt:
* platform/win/fast/forms/basic-textareas-quirks-expected.png: Added.
* platform/win/fast/forms/box-shadow-override-expected.png:
* platform/win/fast/forms/box-shadow-override-expected.txt:
* platform/win/fast/forms/control-clip-overflow-expected.png: Added.
* platform/win/fast/forms/control-clip-overflow-expected.txt:
* platform/win/fast/forms/control-restrict-line-height-expected.png: Added.
* platform/win/fast/forms/control-restrict-line-height-expected.txt:
* platform/win/fast/forms/disabled-select-change-index-expected.png: Added.
* platform/win/fast/forms/disabled-select-change-index-expected.txt:
* platform/win/fast/forms/file/file-input-disabled-expected.png:
* platform/win/fast/forms/file/file-input-disabled-expected.txt:
* platform/win/fast/forms/form-element-geometry-expected.png: Added.
* platform/win/fast/forms/form-element-geometry-expected.txt:
* platform/win/fast/forms/formmove-expected.png: Added.
* platform/win/fast/forms/formmove-expected.txt:
* platform/win/fast/forms/indeterminate-expected.png: Added.
* platform/win/fast/forms/indeterminate-expected.txt:
* platform/win/fast/forms/input-appearance-height-expected.png: Added.
* platform/win/fast/forms/input-appearance-height-expected.txt:
* platform/win/fast/forms/input-appearance-selection-expected.png: Added.
* platform/win/fast/forms/input-appearance-selection-expected.txt: Added.
* platform/win/fast/forms/menulist-deselect-update-expected.txt:
* platform/win/fast/forms/menulist-no-overflow-expected.png: Added.
* platform/win/fast/forms/menulist-no-overflow-expected.txt:
* platform/win/fast/forms/menulist-restrict-line-height-expected.png: Added.
* platform/win/fast/forms/menulist-restrict-line-height-expected.txt:
* platform/win/fast/forms/menulist-separator-painting-expected.txt:
* platform/win/fast/forms/menulist-style-color-expected.png:
* platform/win/fast/forms/menulist-style-color-expected.txt:
* platform/win/fast/forms/menulist-width-change-expected.txt:
* platform/win/fast/forms/option-script-expected.txt:
* platform/win/fast/forms/option-strip-whitespace-expected.png: Added.
* platform/win/fast/forms/option-strip-whitespace-expected.txt:
* platform/win/fast/forms/option-text-clip-expected.png:
* platform/win/fast/forms/option-text-clip-expected.txt:
* platform/win/fast/forms/range/input-appearance-range-expected.png: Added.
* platform/win/fast/forms/range/input-appearance-range-expected.txt:
* platform/win/fast/forms/range/slider-delete-while-dragging-thumb-expected.txt: Added.
* platform/win/fast/forms/range/slider-mouse-events-expected.txt:
* platform/win/fast/forms/range/slider-onchange-event-expected.txt: Added.
* platform/win/fast/forms/range/slider-padding-expected.txt:
* platform/win/fast/forms/range/slider-thumb-shared-style-expected.png: Added.
* platform/win/fast/forms/range/slider-thumb-shared-style-expected.txt:
* platform/win/fast/forms/range/slider-zoomed-expected.txt: Added.
* platform/win/fast/forms/select-align-expected.png: Added.
* platform/win/fast/forms/select-align-expected.txt:
* platform/win/fast/forms/select-background-none-expected.txt:
* platform/win/fast/forms/select-baseline-expected.png: Added.
* platform/win/fast/forms/select-baseline-expected.txt:
* platform/win/fast/forms/select-change-listbox-to-popup-expected.png: Added.
* platform/win/fast/forms/select-change-listbox-to-popup-expected.txt:
* platform/win/fast/forms/select-change-popup-to-listbox-expected.png: Added.
* platform/win/fast/forms/select-change-popup-to-listbox-expected.txt: Added.
* platform/win/fast/forms/select-disabled-appearance-expected.png: Added.
* platform/win/fast/forms/select-disabled-appearance-expected.txt:
* platform/win/fast/forms/select-initial-position-expected.png: Added.
* platform/win/fast/forms/select-initial-position-expected.txt:
* platform/win/fast/forms/select-selected-expected.png: Added.
* platform/win/fast/forms/select-selected-expected.txt:
* platform/win/fast/forms/select-size-expected.txt:
* platform/win/fast/forms/select-style-expected.png: Added.
* platform/win/fast/forms/select-style-expected.txt:
* platform/win/fast/forms/select-visual-hebrew-expected.txt:
* platform/win/fast/forms/select-writing-direction-natural-expected.png:
* platform/win/fast/forms/select-writing-direction-natural-expected.txt:
* platform/win/fast/forms/select/optgroup-rendering-expected.png:
* platform/win/fast/forms/select/optgroup-rendering-expected.txt:
* platform/win/fast/forms/selectlist-minsize-expected.txt:
* platform/win/fast/forms/stuff-on-my-optgroup-expected.png: Added.
* platform/win/fast/forms/stuff-on-my-optgroup-expected.txt:
* platform/win/fast/invalid: Added.
* platform/win/fast/invalid/014-expected.txt: Added.
* platform/win/fast/multicol/pagination/RightToLeft-rl-hittest-expected.txt:
* platform/win/fast/parser: Added.
* platform/win/fast/parser/entity-comment-in-textarea-expected.txt: Added.
* platform/win/fast/parser/open-comment-in-textarea-expected.txt: Added.
* platform/win/fast/repaint/slider-thumb-drag-release-expected.txt:
* platform/win/fast/replaced/three-selects-break-expected.txt:
* platform/win/fast/text/international/bidi-menulist-expected.txt:
* platform/win/fast/text/international/pop-up-button-text-alignment-and-direction-expected.txt:
* platform/win/fast/text/textIteratorNilRenderer-expected.txt:

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

6 years ago[Win] Unreviewed baseline update.
bfulgham@apple.com [Sun, 25 Jan 2015 05:46:55 +0000 (05:46 +0000)]
[Win] Unreviewed baseline update.

First batch: CSS updates.

* platform/win/css2.1/t09-c5526c-display-00-e-expected.txt:
* platform/win/css3/selectors3/html/css3-modsel-161-expected.png:
* platform/win/css3/selectors3/html/css3-modsel-161-expected.txt:
* platform/win/css3/selectors3/html/css3-modsel-25-expected.png:
* platform/win/css3/selectors3/html/css3-modsel-25-expected.txt:
* platform/win/css3/selectors3/html/css3-modsel-70-expected.png:
* platform/win/css3/selectors3/html/css3-modsel-70-expected.txt:
* platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.png:
* platform/win/css3/selectors3/xhtml/css3-modsel-161-expected.txt:
* platform/win/css3/selectors3/xhtml/css3-modsel-25-expected.png:
* platform/win/css3/selectors3/xhtml/css3-modsel-25-expected.txt:
* platform/win/css3/selectors3/xhtml/css3-modsel-70-expected.png:
* platform/win/css3/selectors3/xhtml/css3-modsel-70-expected.txt:
* platform/win/css3/selectors3/xml/css3-modsel-161-expected.png:
* platform/win/css3/selectors3/xml/css3-modsel-161-expected.txt:
* platform/win/css3/selectors3/xml/css3-modsel-25-expected.png:
* platform/win/css3/selectors3/xml/css3-modsel-25-expected.txt:
* platform/win/css3/selectors3/xml/css3-modsel-70-expected.png:
* platform/win/css3/selectors3/xml/css3-modsel-70-expected.txt:
* platform/win/fast/block/float/float-avoidance-expected.txt:
* platform/win/fast/block/margin-collapse/103-expected.txt:

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

6 years agoupdate-webkit’s --internal option is unused
mitz@apple.com [Sun, 25 Jan 2015 04:36:44 +0000 (04:36 +0000)]
update-webkit’s --internal option is unused
https://bugs.webkit.org/show_bug.cgi?id=140861

Reviewed by Anders Carlsson.

* Scripts/update-webkit: Removed the option.

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

6 years ago[WK2][Cocoa] Drop WKDiagnosticLoggingResultType defines
cdumez@apple.com [Sun, 25 Jan 2015 03:02:42 +0000 (03:02 +0000)]
[WK2][Cocoa] Drop WKDiagnosticLoggingResultType defines
https://bugs.webkit.org/show_bug.cgi?id=140838

Reviewed by Sam Weinig.

Drop WKDiagnosticLoggingResultType defines in _WKDiagnosticLoggingDelegate.h
header now that the client-side is correctly using
_WKDiagnosticLoggingResultType instead.

* UIProcess/API/Cocoa/_WKDiagnosticLoggingDelegate.h:

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

6 years ago[Win] Unreviewed gardening. Reactivating tests.
bfulgham@apple.com [Sun, 25 Jan 2015 02:55:39 +0000 (02:55 +0000)]
[Win] Unreviewed gardening. Reactivating tests.

Re-enable a series of tests that work properly on Windows. New baselines will be needed.

* platform/win/TestExpectations:
* platform/win/css1/box_properties/acid_test-expected.png: Added.
* platform/win/css1/box_properties/acid_test-expected.txt:
* platform/win/editing/input/caret-at-the-edge-of-input-expected.txt:
* platform/win/fast/block/float/float-avoidance-expected.txt:
* platform/win/fast/block/margin-collapse/103-expected.txt:
* platform/win/fast/css/box-shadow-and-border-radius-expected.png:
* platform/win/fast/dynamic/008-expected.txt: Added.
* platform/win/fast/forms/001-expected.png: Added.
* platform/win/fast/forms/001-expected.txt:
* platform/win/fast/forms/003-expected.txt:
* platform/win/fast/forms/004-expected.txt:
* platform/win/fast/forms/006-expected.png: Added.
* platform/win/fast/forms/007-expected.png: Added.
* platform/win/fast/forms/HTMLOptionElement_label01-expected.txt: Added.
* platform/win/fast/forms/HTMLOptionElement_label02-expected.txt: Added.
* platform/win/fast/forms/HTMLOptionElement_label03-expected.txt: Added.
* platform/win/fast/forms/HTMLOptionElement_label04-expected.txt: Added.
* platform/win/fast/forms/HTMLOptionElement_label05-expected.txt: Added.
* platform/win/fast/forms/HTMLOptionElement_label06-expected.txt: Removed property svn:executable.
* platform/win/fast/forms/HTMLOptionElement_label07-expected.txt: Added.
* platform/win/fast/forms/basic-buttons-expected.png: Added.
* platform/win/fast/forms/basic-buttons-expected.txt: Added.
* platform/win/fast/forms/basic-inputs-expected.png: Added.
* platform/win/fast/forms/basic-selects-expected.txt:
* platform/win/fast/forms/basic-textareas-expected.png: Added.
* platform/win/fast/forms/box-shadow-override-expected.png: Added.
* platform/win/fast/forms/box-shadow-override-expected.txt: Added.
* platform/win/fast/forms/button-positioned-expected.txt: Added.
* platform/win/fast/forms/button-sizes-expected.txt: Added.
* platform/win/fast/forms/button-style-color-expected.txt: Added.
* platform/win/fast/forms/button-text-transform-expected.txt: Added.
* platform/win/fast/forms/control-clip-overflow-expected.txt: Added.
* platform/win/fast/forms/control-restrict-line-height-expected.txt:
* platform/win/fast/forms/disabled-select-change-index-expected.txt: Added.
* platform/win/fast/forms/form-element-geometry-expected.txt: Added.
* platform/win/fast/forms/hidden-listbox-expected.txt: Added.
* platform/win/fast/forms/input-appearance-focus-expected.txt: Added.
* platform/win/fast/forms/input-double-click-selection-gap-bug-expected.txt: Added.
* platform/win/fast/forms/input-readonly-autoscroll-expected.txt: Added.
* platform/win/fast/forms/input-text-double-click-expected.txt: Added.
* platform/win/fast/forms/listbox-hit-test-zoomed-expected.txt: Added.
* platform/win/fast/forms/listbox-scrollbar-incremental-load-expected.txt: Added.
* platform/win/fast/forms/listbox-width-change-expected.txt: Added.
* platform/win/fast/forms/menulist-deselect-update-expected.txt:
* platform/win/fast/forms/menulist-no-overflow-expected.txt: Added.
* platform/win/fast/forms/number/number-appearance-rtl-expected.txt: Added.
* platform/win/fast/forms/number/number-appearance-spinbutton-disabled-readonly-expected.txt: Added.
* platform/win/fast/forms/number/number-appearance-spinbutton-layer-expected.txt: Added.
* platform/win/fast/forms/option-strip-whitespace-expected.txt: Added.
* platform/win/fast/forms/plaintext-mode-2-expected.txt: Added.
* platform/win/fast/forms/search: Added.
* platform/win/fast/forms/search/search-size-with-decorations-expected.txt: Added.
* platform/win/fast/forms/select-align-expected.txt: Added.
* platform/win/fast/forms/select-baseline-expected.txt: Added.
* platform/win/fast/forms/select-block-background-expected.txt: Added.
* platform/win/fast/forms/select-change-listbox-size-expected.txt: Added.
* platform/win/fast/forms/select-change-listbox-to-popup-expected.txt: Added.
* platform/win/fast/forms/select-dirty-parent-pref-widths-expected.txt: Added.
* platform/win/fast/forms/select-disabled-appearance-expected.txt: Added.
* platform/win/fast/forms/select-initial-position-expected.txt: Added.
* platform/win/fast/forms/select-item-background-clip-expected.txt: Added.
* platform/win/fast/forms/select-list-box-with-height-expected.txt: Added.
* platform/win/fast/forms/select-selected-expected.txt: Added.
* platform/win/fast/forms/select/optgroup-rendering-expected.txt:
* platform/win/fast/forms/tabbing-input-iframe-expected.txt: Added.
* platform/win/fast/frames: Added.
* platform/win/fast/frames/take-focus-from-iframe-expected.txt: Added.
* platform/win/fast/multicol/pagination: Added.
* platform/win/fast/multicol/pagination/LeftToRight-tb-hittest-expected.txt: Added.
* platform/win/fast/multicol/pagination/RightToLeft-rl-hittest-expected.txt: Added.
* platform/win/fast/overflow/entity-comment-in-textarea-expected.txt: Added.
* platform/win/fast/overflow/open-comment-in-textarea-expected.txt: Added.
* platform/win/fast/overflow/overflow-x-y-expected.txt: Added.
* platform/win/fast/table/003-expected.txt: Added.
* platform/win/fast/table/colspanMinWidth-expected.txt: Added.
* platform/win/fast/table/colspanMinWidth-vertical-expected.txt: Added.
* platform/win/tables/mozilla/bugs/bug103533-expected.txt: Added.
* platform/win/tables/mozilla/bugs/bug1188-expected.txt: Added.
* platform/win/tables/mozilla/bugs/bug12384-expected.txt: Added.
* platform/win/tables/mozilla/bugs/bug1318-expected.txt: Added.
* platform/win/tables/mozilla/bugs/bug18359-expected.txt:
* platform/win/tables/mozilla/bugs/bug2479-2-expected.txt: Added.
* platform/win/tables/mozilla/bugs/bug26178-expected.txt:
* platform/win/tables/mozilla/bugs/bug28928-expected.txt:
* platform/win/tables/mozilla/bugs/bug29326-expected.txt: Added.
* platform/win/tables/mozilla/bugs/bug30559-expected.txt:
* platform/win/tables/mozilla/bugs/bug30692-expected.txt: Added.
* platform/win/tables/mozilla/bugs/bug33855-expected.txt:
* platform/win/tables/mozilla/bugs/bug4382-expected.txt: Added.
* platform/win/tables/mozilla/bugs/bug4429-expected.txt:
* platform/win/tables/mozilla/bugs/bug44505-expected.txt: Added.
* platform/win/tables/mozilla/bugs/bug51037-expected.txt:
* platform/win/tables/mozilla/bugs/bug55545-expected.txt: Added.
* platform/win/tables/mozilla/bugs/bug92647-2-expected.txt: Added.
* platform/win/tables/mozilla/bugs/bug96334-expected.txt: Added.
* platform/win/tables/mozilla/bugs/bug99948-expected.txt: Added.
* platform/win/tables/mozilla/core: Added.
* platform/win/tables/mozilla/core/bloomberg-expected.txt: Added.
* platform/win/tables/mozilla/core/margins-expected.txt: Added.
* platform/win/tables/mozilla/dom/tableDom-expected.txt:
* platform/win/tables/mozilla/marvin/x_col_align_justify-expected.png: Added.
* platform/win/tables/mozilla_expected_failures/bugs/bug1725-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug2479-5-expected.txt:
* platform/win/tables/mozilla_expected_failures/bugs/bug45621-expected.txt: Added.
* platform/win/tables/mozilla_expected_failures/bugs/bug58402-2-expected.txt:

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

6 years agoDumpRenderTree needs to run with Windows native controls on Windows
bfulgham@apple.com [Sun, 25 Jan 2015 00:08:01 +0000 (00:08 +0000)]
DumpRenderTree needs to run with Windows native controls on Windows
https://bugs.webkit.org/show_bug.cgi?id=25592

Reviewed by Anders Carlsson.

* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebPreferencesToConsistentValues): Tell DRT to use native controls.
(prepareConsistentTestingEnvironment): Ditto.

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

6 years agoMove height/width implementation for use element from RenderSVGViewportContainer...
darin@apple.com [Sat, 24 Jan 2015 19:55:58 +0000 (19:55 +0000)]
Move height/width implementation for use element from RenderSVGViewportContainer to SVGUseElement
https://bugs.webkit.org/show_bug.cgi?id=140826

Reviewed by Anders Carlsson.

Source/WebCore:

Tests: svg/animations/use-animate-width-and-height.html
       svg/custom/use-attribute-invalidations.html
       svg/custom/use-dynamic-attribute-setting.html

This is an adaptation of work Rob Buis did in Blink:

    http://src.chromium.org/viewvc/blink?view=revision&revision=173258

The goal here is to reduce use of SVGElementInstance since we are going to
remove it. The tests Rob added to Blink (which I believe I improved a bit here)
meant we had to fix quite a few bugs in the implementation of the width/height
logic rather than just moving it. Even so, this could use even more test coverage
since there is separate logic for <symbol> and <svg>, three different code paths
(animation/attribute setting, initial creation, and one other), and also
distinct issues for attributes not set at all, attributes set to values that
can't be parsed, and attributes set with different units.

* rendering/svg/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::calcViewport): Removed the old logic.

* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::SVGSVGElement): Use ASCIILiteral to more efficiently
create strings from ASCII literals here.
(WebCore::SVGSVGElement::parseAttribute): Default to 100%, not 0, when the
width or height property are either not set or not successfully parsed. Without
this change, one of the SVG tests starts failing.

* svg/SVGUseElement.cpp:
(WebCore::updateWidthAndHeight): Added. The tricky part here is that we have
to copy width and height attributes only if they were successfully parsed, and
also we need to copy the current animating values, not the original attribute
strings. Kind of messy, but I wanted to adapt Rob's solution for the time being,
rather than inventing something new.
(WebCore::SVGUseElement::svgAttributeChanged): Call updateWidthAndHeight.
This is used both when actual attribute changes occur and also when animation
changes the current value.
(WebCore::SVGUseElement::buildShadowAndInstanceTree): Call updateWidthAndHeight.
This is used when the shadow elements are first created.
(WebCore::SVGUseElement::expandUseElementsInShadowTree): Call updateWidthAndHeight.
This was in Rob's patch, but I am not sure we have sufficient test coverage.

LayoutTests:

* platform/mac/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.png: Old test
result was expecting failure. New one expects success.
* platform/mac/svg/custom/relative-sized-shadow-tree-content-with-symbol-expected.txt: Ditto.
* svg/animations/use-animate-width-and-height-expected.txt: Added.
* svg/animations/use-animate-width-and-height.html: Added.
* svg/custom/use-attribute-invalidations-expected.html: Added.
* svg/custom/use-attribute-invalidations.html: Added.
* svg/custom/use-dynamic-attribute-setting-expected.html: Added.
* svg/custom/use-dynamic-attribute-setting.html: Added.

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

6 years agoProvide implementation for WTF::DefaultHash<bool>
cdumez@apple.com [Sat, 24 Jan 2015 16:28:14 +0000 (16:28 +0000)]
Provide implementation for WTF::DefaultHash<bool>
https://bugs.webkit.org/show_bug.cgi?id=140848

Reviewed by Anders Carlsson.

Source/WebCore:

Use HashMap<std::pair<UChar32, bool>> type in Font.cpp for
CharacterFallbackMap instead of HashMap<std::pair<UChar32, unsigned>>.
It builds now that WTF::DefaultHash<bool> is defined in WTF.

* platform/graphics/Font.cpp:
(WebCore::Font::removeFromSystemFallbackCache):

Source/WTF:

Provide implementation for WTF::DefaultHash<bool> so that we can use
HashMap<std::pair<XXX, bool>> in the code base. Right now, we need to
use some integer type to work around the issue.

* wtf/HashFunctions.h:

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

6 years ago[Win] Unreviewed gardening. Add Windows baseline for
bfulgham@apple.com [Sat, 24 Jan 2015 07:05:45 +0000 (07:05 +0000)]
[Win] Unreviewed gardening. Add Windows baseline for
mouse-cursor-image-set.

* platform/win/fast/events/mouse-cursor-image-set-expected.txt: Added.

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

6 years ago[Win] Cursor assignment operator is skipping scale factor
bfulgham@apple.com [Sat, 24 Jan 2015 07:04:01 +0000 (07:04 +0000)]
[Win] Cursor assignment operator is skipping scale factor
https://bugs.webkit.org/show_bug.cgi?id=140852

Reviewed by Chris Dumez.

Found by fast/events/mouse-cursor-image-set.html

* platform/win/CursorWin.cpp:
(WebCore::Cursor::operator=): Make sure to also assign the
scale factor.

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

6 years ago[iOS] Attempt to fix the build after AVValueTiming.h moved
ddkilzer@apple.com [Sat, 24 Jan 2015 05:36:59 +0000 (05:36 +0000)]
[iOS] Attempt to fix the build after AVValueTiming.h moved

* platform/spi/ios/AVKitSPI.h: The AVValueTiming.h header moved
to an unexpected location, so work around it by using local SPI
declarations.

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

6 years agoTry to fix the build after r179056.
ap@apple.com [Sat, 24 Jan 2015 05:33:40 +0000 (05:33 +0000)]
Try to fix the build after r179056.

* platform/Cursor.h: (WebCore::Cursor::Cursor): Initialize dadat members in correct order.

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

6 years ago[Win] Cursor copy constructor does not initialize scale factor
bfulgham@apple.com [Sat, 24 Jan 2015 05:26:41 +0000 (05:26 +0000)]
[Win] Cursor copy constructor does not initialize scale factor
https://bugs.webkit.org/show_bug.cgi?id=140849

Reviewed by Antti Koivisto.

Found by fast/events/mouse-cursor-image-set.html

Make sure the scale factor is captured during copy construction. Also make sure
it is properly initialized in the default constructor, since it it used in the
Windows port for some default cursors.

* platform/CursorWin.h:
* platform/win/CursorWin.cpp:
(WebCore::Cursor::Cursor): Make sure copy constructor captures
the scale factor.

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

6 years agoAdd pointer/hover media queries
benjamin@webkit.org [Sat, 24 Jan 2015 04:15:56 +0000 (04:15 +0000)]
Add pointer/hover media queries
https://bugs.webkit.org/show_bug.cgi?id=134822

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-01-23
Reviewed by Antti Koivisto.

Source/WebCore:

Media Queries Level 4 introduces two types of Interaction Media Features:
"pointer" and "hover". Those media features are useful for adapting the design
to the type of input:
    http://dev.w3.org/csswg/mediaqueries-4/#mf-interaction

This implementation is trivial: just #ifdef the return value depending on
the support for touch events.
In the future we should move that to a client interface but let's start easy
for now.

Tests: fast/media/mq-any-hover-cssom.html
       fast/media/mq-any-hover-invalid.html
       fast/media/mq-any-hover-matchMedia.html
       fast/media/mq-any-hover-styling.html
       fast/media/mq-any-pointer-cssom.html
       fast/media/mq-any-pointer-invalid.html
       fast/media/mq-any-pointer-matchMedia.html
       fast/media/mq-any-pointer-styling.html
       fast/media/mq-hover-cssom.html
       fast/media/mq-hover-invalid.html
       fast/media/mq-hover-matchMedia.html
       fast/media/mq-hover-styling.html
       fast/media/mq-pointer-cssom.html
       fast/media/mq-pointer-invalid.html
       fast/media/mq-pointer-matchMedia.html
       fast/media/mq-pointer-styling.html

* css/CSSValueKeywords.in:
* css/MediaFeatureNames.h:
* css/MediaQueryEvaluator.cpp:
(WebCore::hoverMediaFeatureEval):
(WebCore::any_hoverMediaFeatureEval):
(WebCore::pointerMediaFeatureEval):
(WebCore::any_pointerMediaFeatureEval):
(WebCore::leastCapablePrimaryPointerDeviceType): Deleted.
* css/MediaQueryExp.cpp:
(WebCore::featureWithCSSValueID):
(WebCore::featureWithZeroOrOne):
(WebCore::featureWithoutValue):
* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
(WebCore::EventHandler::fakeMouseMoveEventTimerFired):
* page/Settings.in:

LayoutTests:

* fast/media/mq-any-hover-cssom-expected.txt: Added.
* fast/media/mq-any-hover-cssom.html: Added.
* fast/media/mq-any-hover-invalid-expected.txt: Added.
* fast/media/mq-any-hover-invalid.html: Added.
* fast/media/mq-any-hover-matchMedia-expected.txt: Added.
* fast/media/mq-any-hover-matchMedia.html: Added.
* fast/media/mq-any-hover-styling-expected.txt: Added.
* fast/media/mq-any-hover-styling.html: Added.
* fast/media/mq-any-pointer-cssom-expected.txt: Added.
* fast/media/mq-any-pointer-cssom.html: Added.
* fast/media/mq-any-pointer-invalid-expected.txt: Added.
* fast/media/mq-any-pointer-invalid.html: Added.
* fast/media/mq-any-pointer-matchMedia-expected.txt: Added.
* fast/media/mq-any-pointer-matchMedia.html: Added.
* fast/media/mq-any-pointer-styling-expected.txt: Added.
* fast/media/mq-any-pointer-styling.html: Added.
* fast/media/mq-hover-cssom-expected.txt: Added.
* fast/media/mq-hover-cssom.html: Added.
* fast/media/mq-hover-invalid-expected.txt: Added.
* fast/media/mq-hover-invalid.html: Added.
* fast/media/mq-hover-matchMedia-expected.txt: Added.
* fast/media/mq-hover-matchMedia.html: Added.
* fast/media/mq-hover-styling-expected.txt: Added.
* fast/media/mq-hover-styling.html: Added.
* fast/media/mq-pointer-cssom-expected.txt: Added.
* fast/media/mq-pointer-cssom.html: Added.
* fast/media/mq-pointer-expected.txt:
* fast/media/mq-pointer-invalid-expected.txt: Added.
* fast/media/mq-pointer-invalid.html: Added.
* fast/media/mq-pointer-matchMedia-expected.txt: Added.
* fast/media/mq-pointer-matchMedia.html: Added.
* fast/media/mq-pointer-styling-expected.txt: Added.
* fast/media/mq-pointer-styling.html: Added.
* fast/media/mq-pointer.html:
* platform/ios-simulator/fast/media/mq-any-hover-matchMedia-expected.txt: Added.
* platform/ios-simulator/fast/media/mq-any-hover-styling-expected.txt: Added.
* platform/ios-simulator/fast/media/mq-any-pointer-matchMedia-expected.txt: Added.
* platform/ios-simulator/fast/media/mq-any-pointer-styling-expected.txt: Added.
* platform/ios-simulator/fast/media/mq-hover-matchMedia-expected.txt: Added.
* platform/ios-simulator/fast/media/mq-hover-styling-expected.txt: Added.
* platform/ios-simulator/fast/media/mq-pointer-expected.txt: Added.
* platform/ios-simulator/fast/media/mq-pointer-matchMedia-expected.txt: Added.
* platform/ios-simulator/fast/media/mq-pointer-styling-expected.txt: Added.

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

6 years agoUnreviewed, rolling out r179051.
commit-queue@webkit.org [Sat, 24 Jan 2015 03:05:36 +0000 (03:05 +0000)]
Unreviewed, rolling out r179051.
https://bugs.webkit.org/show_bug.cgi?id=140850

broke the 32-bit build (Requested by thorton on #webkit).

Reverted changeset:

"[Mac][EME] Support ClearKey encryption with AES128-encrypted
HLS"
https://bugs.webkit.org/show_bug.cgi?id=140825
http://trac.webkit.org/changeset/179051

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

6 years agoWeb Inspector: Rename InjectedScriptHost::type to subtype
commit-queue@webkit.org [Sat, 24 Jan 2015 02:34:18 +0000 (02:34 +0000)]
Web Inspector: Rename InjectedScriptHost::type to subtype
https://bugs.webkit.org/show_bug.cgi?id=140841

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2015-01-23
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

We were using this to set the subtype of an "object" type RemoteObject
so we should clean up the name and call it subtype.

* inspector/InjectedScriptHost.h:
* inspector/InjectedScriptSource.js:
* inspector/JSInjectedScriptHost.cpp:
(Inspector::JSInjectedScriptHost::subtype):
(Inspector::JSInjectedScriptHost::type): Deleted.
* inspector/JSInjectedScriptHost.h:
* inspector/JSInjectedScriptHostPrototype.cpp:
(Inspector::JSInjectedScriptHostPrototype::finishCreation):
(Inspector::jsInjectedScriptHostPrototypeFunctionSubtype):
(Inspector::jsInjectedScriptHostPrototypeFunctionType): Deleted.

Source/WebCore:

* inspector/WebInjectedScriptHost.cpp:
(WebCore::WebInjectedScriptHost::subtype):
(WebCore::WebInjectedScriptHost::type): Deleted.
* inspector/WebInjectedScriptHost.h:

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

6 years agoImplement cache size limit
antti@apple.com [Sat, 24 Jan 2015 02:27:31 +0000 (02:27 +0000)]
Implement cache size limit
https://bugs.webkit.org/show_bug.cgi?id=140844

Reviewed by Andreas Kling.

Prevent the cache from growing without bounds. The simple scheme implemented here
estimates the cache size from number of entries. When the estimated size exceeds
the maximum size we randomly clear 1/4 of the entries.

* NetworkProcess/cache/NetworkCacheStorage.h:
* NetworkProcess/cache/NetworkCacheStorageCocoa.mm:
(WebKit::NetworkCacheStorage::NetworkCacheStorage):
(WebKit::NetworkCacheStorage::initialize):
(WebKit::NetworkCacheStorage::removeEntry):
(WebKit::NetworkCacheStorage::store):
(WebKit::NetworkCacheStorage::setMaximumSize):
(WebKit::NetworkCacheStorage::clear):
(WebKit::NetworkCacheStorage::shrinkIfNeeded):
(WebKit::NetworkCacheStorage::initializeKeyFilter): Deleted.

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

6 years ago[Mac][EME] Support ClearKey encryption with AES128-encrypted HLS
jer.noble@apple.com [Sat, 24 Jan 2015 02:20:22 +0000 (02:20 +0000)]
[Mac][EME] Support ClearKey encryption with AES128-encrypted HLS
https://bugs.webkit.org/show_bug.cgi?id=140825

Reviewed by Eric Carlson.

Source/WebCore:

Test: http/tests/media/clearkey/clear-key-hls-aes128.html

Add support for ClearKey encryption when used with an AES-128 encrypted HLS stream.

* Modules/encryptedmedia/CDM.cpp:
(WebCore::installedCDMFactories): Add the CDMPrivateClearKey factory.
* Modules/encryptedmedia/CDMPrivateClearKey.cpp:
(WebCore::CDMPrivateClearKey::supportsKeySystem): Support the "org.w3c.clearkey" key system.
(WebCore::CDMPrivateClearKey::supportsKeySystemAndMimeType): Ditto.
(WebCore::CDMPrivateClearKey::supportsMIMEType): Ditto.
(WebCore::CDMPrivateClearKey::createSession): Create a CDMSessionClearKey.
* Modules/encryptedmedia/CDMPrivateClearKey.h:
(WebCore::CDMPrivateClearKey::create): Simple factory.
(WebCore::CDMPrivateClearKey::~CDMPrivateClearKey): Virtual destructor.
(WebCore::CDMPrivateClearKey::CDMPrivateClearKey): Simple destructor.
* Modules/encryptedmedia/CDMSessionClearKey.cpp: Added.
(WebCore::clearKeyVM): Static method returning the VM to be used by JSON parsing.
(WebCore::CDMSessionClearKey::CDMSessionClearKey): Simple constructor.
(WebCore::CDMSessionClearKey::~CDMSessionClearKey): Simple destructor.
(WebCore::CDMSessionClearKey::generateKeyRequest): Store the initData, ensure that it consists of a UTF8-encoded key
    URI, and return same.
(WebCore::CDMSessionClearKey::releaseKeys): Purged all cached keys.
(WebCore::CDMSessionClearKey::update): Parse raw JSON-encoded JWK keys, rejecting non-AES, non-oct keys.
(WebCore::CDMSessionClearKey::cachedKeyForKeyID): Return cached keys.
* Modules/encryptedmedia/CDMSessionClearKey.h:

Add support for the "org.w3c.clearkey" CDM to MediaPlayerPrivateAVFoundationObjC, and do so in a platform-agnostic
way by simply asking for raw key data from MediaPlayerClient when notified that a key has been added.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::keySystemIsSupported):
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsType):
(WebCore::MediaPlayerPrivateAVFoundationObjC::supportsKeySystem):
(WebCore::fulfillRequestWithKeyData): Added utility method.
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource):
(WebCore::MediaPlayerPrivateAVFoundationObjC::keyAdded):

Pipe a keyAdded() notification down to MediaPlayer and a cachedKeyForKeyId() request up to CDMSessionClearKey:

* Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::cachedKeyForKeyId):
(WebCore::MediaKeySession::addKeyTimerFired):
* Modules/encryptedmedia/MediaKeySession.h:
* Modules/encryptedmedia/MediaKeys.cpp:
(WebCore::MediaKeys::keyAdded):
(WebCore::MediaKeys::cachedKeyForKeyId):
* Modules/encryptedmedia/MediaKeys.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::keyAdded):
* html/HTMLMediaElement.h:
* platform/graphics/CDMSession.h:
(WebCore::CDMSession::cachedKeyForKeyID):
* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::keyAdded):
(WebCore::MediaPlayer::cachedKeyForKeyId):
* platform/graphics/MediaPlayer.h:
(WebCore::MediaPlayerClient::mediaPlayerCachedKeyForKeyId):
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::keyAdded):

Add new files to project:

* WebCore.xcodeproj/project.pbxproj:
* CMakeLists.txt:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:

LayoutTests:

* http/tests/media/clearkey/clear-key-hls-aes128-expected.txt: Added.
* http/tests/media/clearkey/clear-key-hls-aes128.html: Added.
* http/tests/media/clearkey/support.js: Added.
(stringToUInt8Array):
(uInt8ArrayToString):
(base64EncodeUint8Array):
* http/tests/media/resources/hls/clearkey/crypt0.key: Added.
* http/tests/media/resources/hls/clearkey/iframe_index.m3u8: Added.
* http/tests/media/resources/hls/clearkey/main0.ts: Added.
* http/tests/media/resources/hls/clearkey/prog_index.m3u8: Added.
* media/video-test.js:
(waitForEventOnceOn):

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

6 years agoImplement system fonts FontDescription caching at RenderTheme level
cdumez@apple.com [Sat, 24 Jan 2015 01:41:30 +0000 (01:41 +0000)]
Implement system fonts FontDescription caching at RenderTheme level
https://bugs.webkit.org/show_bug.cgi?id=140840

Reviewed by Andreas Kling.

Implement system fonts FontDescription caching at RenderTheme level
instead of duplicating the logic in its subclasses for each platform.
This reduces code / logic duplication and reduces the amount of
platform-specific code. This will also make the refactoring at
Bug 140577 a lot easier.

The caching logic remains in RenderThemeIOS class for iOS because:
- It supports different system font values than all other platforms
- It requires cache invalidation in some cases while other platforms
  do not.

This patch is inspired by the following Blink revision:
https://src.chromium.org/viewvc/blink?view=rev&revision=184449

Test: fast/css/css2-system-fonts.html

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

6 years ago[Win] Unreviewed gardening: Correct some typos in Failure entries.
bfulgham@apple.com [Sat, 24 Jan 2015 01:38:10 +0000 (01:38 +0000)]
[Win] Unreviewed gardening: Correct some typos in Failure entries.

* platform/win/TestExpectations:

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

6 years agoSimple line layout: Refactor line wrapping logic.
zalan@apple.com [Sat, 24 Jan 2015 01:13:44 +0000 (01:13 +0000)]
Simple line layout: Refactor line wrapping logic.
https://bugs.webkit.org/show_bug.cgi?id=140834

Reviewed by Antti Koivisto.

Use a more readable structure to deal with wrapping logic.

No change in functionality.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::createLineRuns):

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

6 years agoSimple line layout: Use only FlowContents::nextTextFragment() to read fragments from...
zalan@apple.com [Sat, 24 Jan 2015 01:12:06 +0000 (01:12 +0000)]
Simple line layout: Use only FlowContents::nextTextFragment() to read fragments from the text flow.
https://bugs.webkit.org/show_bug.cgi?id=140842

Reviewed by Antti Koivisto.

This is in preparation to make FlowContents a content iterator class.

No change in functionality.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::initializeNewLine):
* rendering/SimpleLineLayoutFlowContents.h:

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

6 years agotest-webkitpy: webkitpy.tool.commands.earlywarningsystem_unittest.EarlyWarningSystemT...
ddkilzer@apple.com [Sat, 24 Jan 2015 01:05:32 +0000 (01:05 +0000)]
test-webkitpy: webkitpy.tool.commands.earlywarningsystem_unittest.EarlyWarningSystemTest.test_ewses fails on EFL, GTK, Win ports
<http://webkit.org/b/140787>

Reviewed by Daniel Bates.

* Scripts/webkitpy/port/ios.py:
(IOSPort.determine_full_port_name): Instead of checking the type
of the current host, test if /usr/bin/xcrun exists before trying
to use it.

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

6 years ago[MSE] Implement Range Removal algorithm.
commit-queue@webkit.org [Sat, 24 Jan 2015 00:52:42 +0000 (00:52 +0000)]
[MSE] Implement Range Removal algorithm.
https://bugs.webkit.org/show_bug.cgi?id=140622.

Patch by Bartlomiej Gajda <b.gajda@samsung.com> on 2015-01-23
Reviewed by Jer Noble.

Source/WebCore:

This extract Range Removal algorithm (Editor's Draft version, bug:26316) from remove(),
to separate function to deal with old FIXME since bug in spec was resolved.
This should both guarantee good order of events, and prevent from switching to 'open' state
during end of stream.

Test: media/media-source/media-source-end-of-stream-readyState.html

* Modules/mediasource/MediaSource.cpp:
(WebCore::MediaSource::setDurationInternal): update to use rangeRemoval(), not remove()
(WebCore::MediaSource::streamEndedWithError): remove FIXME, brigning back correct order of events.
* Modules/mediasource/SourceBuffer.cpp:
(WebCore::SourceBuffer::remove): comments up to spec, extract rangeRemoval algorithm.
(WebCore::SourceBuffer::rangeRemoval):
(WebCore::SourceBuffer::removeTimerFired): comments up to spec.
* Modules/mediasource/SourceBuffer.h:

LayoutTests:

Added short test to check whether endOfStream incorrectly switches back
to 'open' state.

* media/media-source/media-source-end-of-stream-readyState.html: Added.
* media/media-source/media-source-end-of-stream-readyState-expected.txt: Added.

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

6 years agoFix the false positive build failures on the Windows buildbots
ossy@webkit.org [Sat, 24 Jan 2015 00:49:02 +0000 (00:49 +0000)]
Fix the false positive build failures on the Windows buildbots
https://bugs.webkit.org/show_bug.cgi?id=140819

Reviewed by Brent Fulgham.

Increase the build timeout (without producing output) to 2 hours for Windows bots,
the default 20 minutes is enough for others since they produce output during the build.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(BuildFactory.__init__):

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

6 years ago[Win] Test gardening. Mark a few failures after filing bugs.
bfulgham@apple.com [Sat, 24 Jan 2015 00:38:49 +0000 (00:38 +0000)]
[Win] Test gardening. Mark a few failures after filing bugs.

Also rebaseline a few tests.

* platform/win/TestExpectations:
* platform/win/accessibility/parent-element-expected.txt:
* platform/win/editing/input/caret-at-the-edge-of-input-expected.png: Added.
* platform/win/editing/input/caret-at-the-edge-of-input-expected.txt: Added.
* platform/win/js/dom/global-constructors-attributes-expected.txt:

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

6 years agoPerf dashboard always assigns the result of A/B testing with build request 1
rniwa@webkit.org [Sat, 24 Jan 2015 00:24:26 +0000 (00:24 +0000)]
Perf dashboard always assigns the result of A/B testing with build request 1
https://bugs.webkit.org/show_bug.cgi?id=140382

Reviewed by Darin Adler.

The bug was caused by the expression array_get($report, 'jobId') or array_get($report, 'buildRequest')
which always evaluated to 1 when the report contained jobId. Fixed the bug by cascading array_get instead.

Also fixed a typo as well as a bug that reports were never associated with builds.

* public/include/report-processor.php:
(ReportProcessor::process): Don't use "or" to find the non-null value since that always evaluates to 1
instead of the first non-null value.
(ReportProcessor::resolve_build_id): Fixed the typo by adding the missing "$this->".
(ReportProcessor::commit): Associate the report with the corresponding build as intended.

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

6 years agoUnreviewed typo fix. The prefix in triggerable_configurations is "trigconfig", not...
rniwa@webkit.org [Sat, 24 Jan 2015 00:21:15 +0000 (00:21 +0000)]
Unreviewed typo fix. The prefix in triggerable_configurations is "trigconfig", not "trigrepo".

* public/admin/tests.php:

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

6 years agoLayoutTests/js/script-tests/reentrant-caching.js crashing on 32 bit builds
msaboff@apple.com [Fri, 23 Jan 2015 23:48:14 +0000 (23:48 +0000)]
LayoutTests/js/script-tests/reentrant-caching.js crashing on 32 bit builds
https://bugs.webkit.org/show_bug.cgi?id=140843

Reviewed by Oliver Hunt.

When we are in vmEntryToJavaScript, we keep the stack pointer at an
alignment sutiable for pointing to a call frame header, which is the
alignment post making a call.  We adjust the sp when calling to JS code,
but don't adjust it before calling the out of stack handler.

* llint/LowLevelInterpreter32_64.asm:
Moved stack point down 8 bytes to get it aligned.

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

6 years agoSource/WebKit/win:
bfulgham@apple.com [Fri, 23 Jan 2015 23:34:08 +0000 (23:34 +0000)]
Source/WebKit/win:
[Win] Teach WebKit to provide IAccessible2 'get_language'
https://bugs.webkit.org/show_bug.cgi?id=140839

Reviewed by Dean Jackson.

* AccessibleBase.cpp:
(AccessibleBase::get_locale): Wrap the Webore::AccessibleObject::language
result in an IA2Locale structure to statisfy the IAccessible2 specification.

Tools:
[Win] Teach WebKit to provide IAccessible2 'get_language' and access AXLanguage
https://bugs.webkit.org/show_bug.cgi?id=140839

Reviewed by Dean Jackson.

* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(AccessibilityUIElement::language): Retrieve the 'language' BSTR
from the IA2Locale structure and pass it to DRT.

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

6 years agoHit test returns incorrect results when performed in paginated content over the page...
enrica@apple.com [Fri, 23 Jan 2015 22:16:31 +0000 (22:16 +0000)]
Hit test returns incorrect results when performed in paginated content over the page gaps.
https://bugs.webkit.org/show_bug.cgi?id=140837
rdar://problem/17494390

Reviewed by Dave Hyatt.

Source/WebCore:

Tests: fast/multicol/pagination/LeftToRight-tb-hittest.html
       fast/multicol/pagination/RightToLeft-rl-hittest.html

When hittesting reaches the RenderView we need to check if we are
in paginated content and use the correct class to compute hittest results.

* rendering/RenderView.cpp:
(WebCore::RenderView::updateHitTestResult):

LayoutTests:

* fast/multicol/pagination/LeftToRight-tb-hittest-expected.txt: Added.
* fast/multicol/pagination/LeftToRight-tb-hittest.html: Added.
* fast/multicol/pagination/RightToLeft-rl-hittest-expected.txt: Added.
* fast/multicol/pagination/RightToLeft-rl-hittest.html: Added.

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

6 years ago[Win] Unreviewed gardening after landing r179024.
bfulgham@apple.com [Fri, 23 Jan 2015 21:57:23 +0000 (21:57 +0000)]
[Win] Unreviewed gardening after landing r179024.

Update Windows-specific accessibility tests and test expectations after making Windows AX output match Mac.
This allows us to share more Mac results.

* platform/win/TestExpectations:
* platform/win/accessibility/adjacent-continuations-cause-assertion-failure-expected.txt:
* platform/win/accessibility/aria-checkbox-text-expected.txt: Removed.
* platform/win/accessibility/aria-combobox-expected.txt:
* platform/win/accessibility/aria-fallback-roles-expected.txt: Removed.
* platform/win/accessibility/aria-hidden-expected.txt: Removed.
* platform/win/accessibility/aria-labelledby-on-input-expected.txt: Removed.
* platform/win/accessibility/aria-labelledby-overrides-aria-label-expected.txt:
* platform/win/accessibility/aria-labelledby-overrides-label-expected.txt: Removed.
* platform/win/accessibility/aria-list-and-listitem-expected.txt:
* platform/win/accessibility/aria-mappings-expected.txt: Added.
* platform/win/accessibility/aria-menubar-menuitems-expected.txt:
* platform/win/accessibility/aria-option-role-expected.txt:
* platform/win/accessibility/aria-presentational-role-expected.txt: Removed.
* platform/win/accessibility/aria-roles-expected.txt:
* platform/win/accessibility/aria-tab-role-on-buttons-expected.txt:
* platform/win/accessibility/aria-tab-roles-expected.txt:
* platform/win/accessibility/aria-toggle-button-with-title-expected.txt: Removed.
* platform/win/accessibility/canvas-description-and-role-expected.txt:
* platform/win/accessibility/canvas-fallback-content-expected.txt:
* platform/win/accessibility/css-content-attribute-expected.txt: Added.
* platform/win/accessibility/deleting-iframe-destroys-axcache-expected.txt:
* platform/win/accessibility/div-within-anchors-causes-crash-expected.txt:
* platform/win/accessibility/document-enabled-state-expected.txt:
* platform/win/accessibility/document-enabled-state.html:
* platform/win/accessibility/document-role-expected.txt:
* platform/win/accessibility/heading-elements-expected.txt:
* platform/win/accessibility/heading-elements.html:
* platform/win/accessibility/image-map1-expected.txt: Added.
* platform/win/accessibility/image-with-alt-and-map-expected.txt: Added.
* platform/win/accessibility/img-alt-attribute-expected.txt:
* platform/win/accessibility/img-alt-attribute.html:
* platform/win/accessibility/img-alt-tag-only-whitespace-expected.txt: Removed.
* platform/win/accessibility/img-aria-button-alt-tag-expected.txt: Removed.
* platform/win/accessibility/img-fallsback-to-title-expected.txt: Removed.
* platform/win/accessibility/input-image-alt-expected.txt: Removed.
* platform/win/accessibility/linked-elements-expected.txt:
* platform/win/accessibility/linked-elements.html:
* platform/win/accessibility/list-item-role-expected.txt:
* platform/win/accessibility/list-item-role.html:
* platform/win/accessibility/list-marker-role-expected.txt:
* platform/win/accessibility/list-marker-role.html:
* platform/win/accessibility/list-role-expected.txt:
* platform/win/accessibility/list-role.html:
* platform/win/accessibility/multiple-select-element-role-expected.txt:
* platform/win/accessibility/multiple-select-element-role.html:
* platform/win/accessibility/parent-element-expected.txt:
* platform/win/accessibility/parent-element.html:
* platform/win/accessibility/select-element-role-expected.txt:
* platform/win/accessibility/select-element-role.html:
* platform/win/accessibility/selection-and-focus-expected.txt:
* platform/win/accessibility/selection-and-focus.html:
* platform/win/accessibility/single-select-children.html:
* platform/win/accessibility/svg-image-expected.txt: Removed.
* platform/win/accessibility/text-role-expected.txt:
* platform/win/aria-labelledby-overrides-aria-label-actual.txt: Added.

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

6 years agoDocument should be a FontSelectorClient.
akling@apple.com [Fri, 23 Jan 2015 21:39:28 +0000 (21:39 +0000)]
Document should be a FontSelectorClient.
<https://webkit.org/b/140833>

Reviewed by Antti Koivisto.

Make Document a FontSelectorClient so it can listen to the invalidation
callbacks from FontSelector instead of having code in FontSelector that
calls out to Document on invalidation.

* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::dispatchInvalidationCallbacks):
* dom/Document.cpp:
(WebCore::Document::fontsNeedUpdate):
(WebCore::Document::fontSelector):
(WebCore::Document::clearStyleResolver):
* dom/Document.h:

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

6 years ago[Win] Update DRT Accessibility implementation to better match Mac.
bfulgham@apple.com [Fri, 23 Jan 2015 21:31:34 +0000 (21:31 +0000)]
[Win] Update DRT Accessibility implementation to better match Mac.
https://bugs.webkit.org/show_bug.cgi?id=140830

Reviewed by Dean Jackson.

* DumpRenderTree/win/AccessibilityUIElementWin.cpp:
(AccessibilityUIElement::titleUIElement):
(AccessibilityUIElement::parentElement):
(convertToDRTLabel):
(AccessibilityUIElement::role):
(AccessibilityUIElement::title):
(AccessibilityUIElement::description):
(AccessibilityUIElement::stringValue):
(AccessibilityUIElement::helpText):
(AccessibilityUIElement::isFocused):

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

6 years agoFix the pre-Yosemite build.
timothy_horton@apple.com [Fri, 23 Jan 2015 20:53:41 +0000 (20:53 +0000)]
Fix the pre-Yosemite build.

* UIProcess/API/mac/WKView.mm:
(-[WKView _dismissContentRelativeChildWindows]):

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

6 years agoWeb Inspector: Object Previews in the Console
joepeck@webkit.org [Fri, 23 Jan 2015 20:05:44 +0000 (20:05 +0000)]
Web Inspector: Object Previews in the Console
https://bugs.webkit.org/show_bug.cgi?id=129204

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Update the very old, unused object preview code. Part of this comes from
the earlier WebKit legacy implementation, and the Blink implementation.

A RemoteObject may include a preview, if it is asked for, and if the
RemoteObject is an object. Previews are a shallow (single level) list
of a limited number of properties on the object. The previewed
properties are always stringified (even if primatives). Previews are
limited to just 5 properties or 100 indices. Previews are marked
as lossless if they are a complete snapshot of the object.

There is a path to make previews two levels deep, that is currently
unused but should soon be used for tables (e.g. IndexedDB).

* inspector/InjectedScriptSource.js:
- Move some code off of InjectedScript to be generic functions
usable by RemoteObject as well.
- Update preview generation to use

* inspector/protocol/Runtime.json:
- Add a new type, "accessor" for preview objects. This represents
a getter / setter. We currently don't get the value.

Source/WebInspectorUI:

* UserInterface/Controllers/JavaScriptLogViewController.js:
(WebInspector.JavaScriptLogViewController.prototype.consolePromptTextCommitted):
* UserInterface/Controllers/JavaScriptRuntimeCompletionProvider.js:
(get WebInspector.JavaScriptRuntimeCompletionProvider.prototype.):
Update RuntimeManager callsites that do not need object previews.

* UserInterface/Controllers/RuntimeManager.js:
(WebInspector.RuntimeManager.prototype.evalCallback):
(WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
Update the main evaluate method to include a boolean parameter for
object previews. Most callers do not need them. Also, since previews
were not available on iOS 6, switch to invoke, to conditionally
include the command parameter.

* UserInterface/Protocol/RemoteObject.js:
(WebInspector.RemoteObject):
(WebInspector.RemoteObject.fromPayload):
(WebInspector.RemoteObject.prototype.get preview):
Store the preview from the payload.

* UserInterface/Views/ConsoleMessageImpl.js:
(WebInspector.ConsoleMessageImpl.prototype._format):
(WebInspector.ConsoleMessageImpl.prototype._formatParameter):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsString):
(WebInspector.ConsoleMessageImpl.prototype._formatAsArrayEntry):
Pass an explicit false for most formatters to not use a preview if available.

(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
(WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
Currently only object types are previewed. Though we request previews
for arrays, we don't use the preview because we show a better preview
by just immediately requesting for a full non-preview property list.

(WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
Quickly output an object preview into the title element. The format
is "ClassName {prop: value...}". Elide the class name if it is "Object".
Also skip over certain preview properties that may not be useful
at a glance (like constructor, or accessors without values).

* UserInterface/Views/LogContentView.css:
(.console-object-preview):
(.console-formatted-array .console-object-preview):
(.console-object-preview-lossless):
(.expanded .console-object-preview):
Show lossy previews in italics.
Show lossless previews and array previews without italics.
Do not show the class name in the preview in italics when expanded.

(.console-object-preview .name):
Give preview property names the same color as ObjectPropertiesSection property names.

(.expanded .console-object-preview > .console-object-preview-body):
When expanding an object, hide the preview.

(.console-object-preview > .console-object-preview-name.console-object-preview-name-Object):
(.expanded .console-object-preview > .console-object-preview-name.console-object-preview-name-Object):
For "Object" previews, hide the name "Object" when not expanded, and show it when expanded.

LayoutTests:

* inspector/debugger/command-line-api-exception-nested-catch.html:
* inspector/debugger/command-line-api-exception.html:
* inspector/model/remote-object-get-properties.html:
Update RuntimeManager callsites to not ask for previews when evaluating.

* inspector/model/remote-object-expected.txt: Added.
* inspector/model/remote-object.html: Added.
Add a test specifically for Remote Object. This test can also be
opened in a browser. It attempts to run the gamut of all different
types of objects and shows the RemoteObject constructed for it.

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

6 years agoLeverage CSSValuePool's font family cache in CSSComputedStyleDeclaration
cdumez@apple.com [Fri, 23 Jan 2015 20:01:50 +0000 (20:01 +0000)]
Leverage CSSValuePool's font family cache in CSSComputedStyleDeclaration
https://bugs.webkit.org/show_bug.cgi?id=140829

Reviewed by Andreas Kling.

Leverage CSSValuePool's font family cache in CSSComputedStyleDeclaration
by calling CSSValuePool::createFontFamilyValue() to create the font
family CSSPrimitiveValue instead of cssValuePool().createValue().

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForFamily):

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

6 years agoWeb Inspector: Disable *Annotators on minified files that aren't pretty printed
saambarati1@gmail.com [Fri, 23 Jan 2015 19:57:02 +0000 (19:57 +0000)]
Web Inspector: Disable *Annotators on minified files that aren't pretty printed
https://bugs.webkit.org/show_bug.cgi?id=140550

Reviewed by Timothy Hatcher.

When SourceCodeTextEditor speculates that a file is minified it
sets a flag on itself that the Annotators will notice when pretty
printing and turning on type profiling.

SourceCodeTextEditor enforces the following two behaviors:

1. Always pretty print a file if we think it's minified while
viewing type annotations. So, while viewing a minified file,
if you press the type profiling button, the pretty printer will
first reformat the file, then the type profiler will insert type annotations.

2. If the type profiler is enabled and we're viewing a pretty
printed file that we think originally was minified, and the
pretty printer is disabled via pressing the button, then the
type profiler will also be disabled.

These two behaviors maintain a good user experience because
it prevents a bad visual representation of profiler data and
also prevents bad performance.

* UserInterface/Controllers/TypeTokenAnnotator.js:
(WebInspector.TypeTokenAnnotator.prototype.toggleTypeAnnotations): Deleted.
* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor):
(WebInspector.SourceCodeTextEditor.prototype.shown):
(WebInspector.SourceCodeTextEditor.prototype.contentDidChange):
(WebInspector.SourceCodeTextEditor.prototype.toggleTypeAnnotations):
(WebInspector.SourceCodeTextEditor.prototype.prettyPrint):
(WebInspector.SourceCodeTextEditor.prototype._contentWillPopulate):
(WebInspector.SourceCodeTextEditor.prototype._populateWithContent):
(WebInspector.SourceCodeTextEditor.prototype._setTypeTokenAnnotatorEnabledState):

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

6 years agoImmediate crash when setting JS breakpoint
msaboff@apple.com [Fri, 23 Jan 2015 19:52:25 +0000 (19:52 +0000)]
Immediate crash when setting JS breakpoint
https://bugs.webkit.org/show_bug.cgi?id=140811

Reviewed by Mark Lam.

When the DFG stack layout phase doesn't allocate a register for the scope register,
it incorrectly sets the scope register in the code block to a bad value, one with
an offset of 0.  Changed it so that we set the code block's scope register to the
invalid VirtualRegister instead.

No tests needed as adding the ASSERT in setScopeRegister() was used to find the bug.
We crash with that ASSERT in testapi and likely many other tests as well.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* bytecode/CodeBlock.h:
(JSC::CodeBlock::setScopeRegister):
(JSC::CodeBlock::scopeRegister):
Added ASSERTs to catch any future improper setting of the code block's scope register.

* dfg/DFGStackLayoutPhase.cpp:
(JSC::DFG::StackLayoutPhase::run):

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

6 years agoQLPreviewMenuItem popovers don't close when the page scrolls
timothy_horton@apple.com [Fri, 23 Jan 2015 19:43:20 +0000 (19:43 +0000)]
QLPreviewMenuItem popovers don't close when the page scrolls
https://bugs.webkit.org/show_bug.cgi?id=140806
<rdar://problem/19555618>

Reviewed by Beth Dakin.

Now that QLPreviewMenuItem's popover doesn't eat scrolls, we need to dismiss it if the page scrolls.

* WebView/WebHTMLView.mm:
(-[WebHTMLView scrollWheel:scrollWheel:]):
Send scrollWheel along to WebImmediateActionController.

* WebView/WebImmediateActionController.h:
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController webView:didHandleScrollWheel:]):
(-[WebImmediateActionController _clearImmediateActionState]):
(-[WebImmediateActionController _defaultAnimationController]):
Keep track of the active QLPreviewMenuItem, and close it upon scroll.

* UIProcess/API/mac/WKView.mm:
(-[WKView _dismissContentRelativeChildWindows]):
Send _dismissContentRelativeChildWindows on to WKImmediateActionController.

* UIProcess/mac/WKImmediateActionController.h:
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _clearImmediateActionState]):
(-[WKImmediateActionController dismissContentRelativeChildWindows]):
(-[WKImmediateActionController _defaultAnimationController]):
Keep track of the active QLPreviewMenuItem, and close it upon scroll.

* platform/spi/mac/QuickLookMacSPI.h:
Add some SPI.

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

6 years agoInfinite recursion in _clearImmediateActionState
timothy_horton@apple.com [Fri, 23 Jan 2015 19:42:03 +0000 (19:42 +0000)]
Infinite recursion in _clearImmediateActionState
https://bugs.webkit.org/show_bug.cgi?id=140807
<rdar://problem/19571601>

Reviewed by Anders Carlsson.

* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController _clearImmediateActionState]):
Clear _hasActivatedActionContext before calling didUseActions, because
didUseActions can call _clearImmediateActionState.

* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController _clearImmediateActionState]):
Use this opportunity to bring identical code to WebKit1, to avoid
getting DataDetectors stuck when an immediate action is canceled.

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

6 years agoHang CSSFontSelector off Document instead of StyleResolver.
akling@apple.com [Fri, 23 Jan 2015 18:44:22 +0000 (18:44 +0000)]
Hang CSSFontSelector off Document instead of StyleResolver.
<https://webkit.org/b/140820>

Reviewed by Antti Koivisto.

Move the CSSFontSelector from StyleResolver to Document. This is the first
step towards making the CSSFontSelector be able to survive full style recalc.

Clearing a Document's StyleResolver will still nuke the CSSFontSelector,
though that is done in Document::clearStyleResolver() now.

* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::CSSFontSelector):
* css/CSSFontSelector.h:

    Modernize CSSFontSelector construction a bit by having create() return
    a Ref and the constructor take a Document& instead of a Document*.
    Also made the constructor explicit.

(WebCore::StyleResolver::~StyleResolver):
* dom/Document.cpp:
(WebCore::Document::clearStyleResolver):

    Nuke the current CSSFontSelector in clearStyleResolver() instead of
    in ~StyleResolver. It's a minor change, but shows the way forward.
    Added a FIXME about how CSSFontSelector should eventually survive
    this operation.

(WebCore::Document::fontSelector):
* css/FontLoader.cpp:
(WebCore::FontLoader::loadFont):
(WebCore::FontLoader::checkFont):
(WebCore::FontLoader::resolveFontStyle):
* css/RuleSet.cpp:
(WebCore::RuleSet::addChildRules):
* css/StyleResolver.h:
(WebCore::StyleResolver::fontSelector): Deleted.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::appendAuthorStyleSheets):
(WebCore::StyleResolver::styleForElement):
(WebCore::StyleResolver::defaultStyleForElement):
(WebCore::StyleResolver::updateFont):
* dom/Document.h:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::setFont):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::updateFromElement):
(WebCore::RenderListBox::paintItemForeground):
* rendering/RenderMenuList.cpp:
(RenderMenuList::fontSelector):
* rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::fontSelector):
* rendering/TextAutoSizing.cpp:
(WebCore::TextAutoSizingValue::adjustNodeSizes):
(WebCore::TextAutoSizingValue::reset):
* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
* style/StyleResolveForDocument.cpp:
(WebCore::Style::resolveForDocument):
* style/StyleResolveTree.cpp:
(WebCore::Style::resolveTree):

    Move CSSFontSelector ownership from StyleResolver to Document.

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

6 years agoCreate a "load and stall" cgi that support byte ranges.
eric.carlson@apple.com [Fri, 23 Jan 2015 18:28:05 +0000 (18:28 +0000)]
Create a "load and stall" cgi that support byte ranges.
https://bugs.webkit.org/show_bug.cgi?id=140628

Reviewed by Jer Noble.

* http/tests/media/resources/serve-video.php: Add support for "stallOffset", "stallDuration",
    and "chunkSize" parameters.

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

6 years agoLayout Test http/tests/media/track-in-band-hls-metadata.html is flaky
jer.noble@apple.com [Fri, 23 Jan 2015 18:27:27 +0000 (18:27 +0000)]
Layout Test http/tests/media/track-in-band-hls-metadata.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=140827

Reviewed by Eric Carlson.

Create the m_metadataTrack by calling prepareMetadataTrack() before deref-ing it.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::metadataDidArrive):

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

6 years ago[GTK] Add missing null check in some derefGPtr implementations
carlosgc@webkit.org [Fri, 23 Jan 2015 16:33:04 +0000 (16:33 +0000)]
[GTK] Add missing null check in some derefGPtr implementations
https://bugs.webkit.org/show_bug.cgi?id=140822

Reviewed by Sergio Villar Senin.

It's missing in GHashTable and GVariant implementations.

* wtf/gobject/GRefPtr.cpp:
(WTF::derefGPtr):

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

6 years agoREGRESSION: run-perf-tests --profiler= seems to have broken
svillar@igalia.com [Fri, 23 Jan 2015 14:56:54 +0000 (14:56 +0000)]
REGRESSION: run-perf-tests --profiler= seems to have broken
https://bugs.webkit.org/show_bug.cgi?id=113528

Reviewed by Daniel Bates.

The problem is that "perf --record" (or the equivalent call for
other profilers) is never called whenever there is a wrapper
option in the port. We should inject the profiler call first
(should it exists) and then use the port wrapper.

* Scripts/webkitpy/port/driver.py:
(Driver._command_wrapper):
* Scripts/webkitpy/port/driver_unittest.py:
(DriverTest.test_profiler_and_wrapper): New unit test.

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

6 years ago[GTK] Add initial database process support
carlosgc@webkit.org [Fri, 23 Jan 2015 14:30:21 +0000 (14:30 +0000)]
[GTK] Add initial database process support
https://bugs.webkit.org/show_bug.cgi?id=139491

Reviewed by Sergio Villar Senin.

.:

* Source/cmake/OptionsGTK.cmake: Set WebKit2_DatabaseProcess_OUTPUT_NAME.

Source/WebCore:

* platform/sql/SQLiteFileSystem.cpp:
(WebCore::SQLiteFileSystem::openDatabase): Use
WebCore::fileSystemRepresentation() for the database filename,
otherwise sqlite3_open() fails when the filename contains "%2E".

Source/WebKit2:

Add initial support for DatabaseProcess, disabled by default for
now.

* CMakeLists.txt: Add required files to compilation.
* DatabaseProcess/DatabaseProcess.cpp:
(WebKit::DatabaseProcess::createDatabaseToWebProcessConnection):
Add the unix domain sockets implementation.
* DatabaseProcess/EntryPoint/unix/DatabaseProcessMain.cpp: Added.
(main):
* DatabaseProcess/gtk/DatabaseProcessMainGtk.cpp: Added.
(WebKit::DatabaseProcessMainUnix):
* DatabaseProcess/unix/DatabaseProcessMainUnix.h: Added.
* PlatformGTK.cmake: Add required files to compilation.
* Shared/ProcessExecutablePath.h:
* Shared/gtk/KeyedDecoder.cpp: Added.
(WebKit::KeyedDecoder::KeyedDecoder):
(WebKit::KeyedDecoder::~KeyedDecoder):
(WebKit::KeyedDecoder::buildDictionaryFromGVariant):
(WebKit::KeyedDecoder::decodeBytes):
(WebKit::KeyedDecoder::decodeBool):
(WebKit::KeyedDecoder::decodeUInt32):
(WebKit::KeyedDecoder::decodeInt32):
(WebKit::KeyedDecoder::decodeInt64):
(WebKit::KeyedDecoder::decodeFloat):
(WebKit::KeyedDecoder::decodeDouble):
(WebKit::KeyedDecoder::decodeString):
(WebKit::KeyedDecoder::beginObject):
(WebKit::KeyedDecoder::endObject):
(WebKit::KeyedDecoder::beginArray):
(WebKit::KeyedDecoder::beginArrayElement):
(WebKit::KeyedDecoder::endArrayElement):
(WebKit::KeyedDecoder::endArray):
* Shared/gtk/KeyedDecoder.h: Added.
* Shared/gtk/KeyedEncoder.cpp: Added.
(WebKit::KeyedEncoder::KeyedEncoder):
(WebKit::KeyedEncoder::~KeyedEncoder):
(WebKit::KeyedEncoder::encodeBytes):
(WebKit::KeyedEncoder::encodeBool):
(WebKit::KeyedEncoder::encodeUInt32):
(WebKit::KeyedEncoder::encodeInt32):
(WebKit::KeyedEncoder::encodeInt64):
(WebKit::KeyedEncoder::encodeFloat):
(WebKit::KeyedEncoder::encodeDouble):
(WebKit::KeyedEncoder::encodeString):
(WebKit::KeyedEncoder::beginObject):
(WebKit::KeyedEncoder::endObject):
(WebKit::KeyedEncoder::beginArray):
(WebKit::KeyedEncoder::beginArrayElement):
(WebKit::KeyedEncoder::endArrayElement):
(WebKit::KeyedEncoder::endArray):
(WebKit::KeyedEncoder::finishEncoding):
* Shared/gtk/KeyedEncoder.h: Added.
* Shared/gtk/ProcessExecutablePathGtk.cpp:
(WebKit::executablePathOfDatabaseProcess):
* UIProcess/Databases/DatabaseProcessProxy.cpp:
(WebKit::DatabaseProcessProxy::didCreateDatabaseToWebProcessConnection):
Add the unix domain sockets implementation.
* UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
(WebKit::ProcessLauncher::launchProcess): Handle the
DatabaseProcess too.
* UIProcess/gtk/WebContextGtk.cpp:
(WebKit::WebContext::platformDefaultIndexedDBDatabaseDirectory):
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::ensureWebToDatabaseProcessConnection): Add
the unix domain sockets implementation.

Source/WTF:

Add support for using GRefPtr with GVariantBuilder.

* wtf/gobject/GRefPtr.cpp:
(WTF::refGPtr):
(WTF::derefGPtr):
* wtf/gobject/GRefPtr.h:
* wtf/gobject/GTypedefs.h:

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

6 years agoInitialization for some member variable of FontPlatformData
commit-queue@webkit.org [Fri, 23 Jan 2015 10:33:33 +0000 (10:33 +0000)]
Initialization for some member variable of FontPlatformData
https://bugs.webkit.org/show_bug.cgi?id=136327

Patch by Byeongha Cho <byeongha.cho@samsung.com> on 2015-01-23
Reviewed by Myles C. Maxfield.

No new tests. There's no functional change.

* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::operator=):
(WebCore::FontPlatformData::~FontPlatformData):

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

6 years agosvg-resource-fragment-identifier-img-src.html is a hidpi reftest, but its -expected...
ap@apple.com [Fri, 23 Jan 2015 08:52:56 +0000 (08:52 +0000)]
svg-resource-fragment-identifier-img-src.html is a hidpi reftest, but its -expected.html
counterpart isn't hidpi
https://bugs.webkit.org/show_bug.cgi?id=140815

Reviewed by Simon Fraser.

* svg/css/svg-resource-fragment-identifier-img-src-expected.html: Make the expectation
match its test.

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

6 years agoRename ChildNodeRemovalNotifier::m_insertionPoint to m_removalPoint
g.czajkowski@samsung.com [Fri, 23 Jan 2015 08:49:39 +0000 (08:49 +0000)]
Rename ChildNodeRemovalNotifier::m_insertionPoint to m_removalPoint
https://bugs.webkit.org/show_bug.cgi?id=140766

Reviewed by Andreas Kling.

ChildNodeRemovalNotifier::ChildNodeRemovalNotifier(...) should take
a node as removal point.
It's probably Copy/Paste from ChildNodeInsertionNotifier::m_insertionPoint.

No new tests. No behavior change.

* dom/ContainerNodeAlgorithms.h:
(WebCore::ChildNodeRemovalNotifier::ChildNodeRemovalNotifier):
(WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromDocument):
(WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):

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

6 years agoRewrite the fast/css/css2-system-fonts.html test to be more useful on all platforms
cdumez@apple.com [Fri, 23 Jan 2015 08:25:22 +0000 (08:25 +0000)]
Rewrite the fast/css/css2-system-fonts.html test to be more useful on all platforms
https://bugs.webkit.org/show_bug.cgi?id=140810

Reviewed by Andreas Kling.

Make the fast/css/css2-system-fonts.html explicit about the font styles
expected on each platform instead of just Mac.

It also converts the test to be text only as the style information is
now displayed in text format.

This change is in preparation for a refactor of system font handling.

This change is based on the following Blink revision by
<alancutter@chromium.org>:
http://src.chromium.org/viewvc/blink?view=revision&revision=169612

* fast/css/css2-system-fonts.html:
* platform/efl/fast/css/css2-system-fonts-expected.png: Removed.
* platform/efl/fast/css/css2-system-fonts-expected.txt: Removed.
* platform/gtk/fast/css/css2-system-fonts-expected.png: Removed.
* platform/gtk/fast/css/css2-system-fonts-expected.txt: Removed.
* platform/ios-simulator-wk2/fast/css/css2-system-fonts-expected.txt:
* platform/mac-mavericks/fast/css/css2-system-fonts-expected.png: Removed.
* platform/mac-mavericks/fast/css/css2-system-fonts-expected.txt:
* platform/mac-mountainlion/fast/css/css2-system-fonts-expected.txt: Removed.
* platform/mac/fast/css/css2-system-fonts-expected.png: Removed.
* platform/mac/fast/css/css2-system-fonts-expected.txt:

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

6 years ago[GTK] Fix debug build after r178940
commit-queue@webkit.org [Fri, 23 Jan 2015 08:19:47 +0000 (08:19 +0000)]
[GTK] Fix debug build after r178940
https://bugs.webkit.org/show_bug.cgi?id=140814

Patch by Hunseop Jeong <hs85.jeong@samsung.com> on 2015-01-23
Reviewed by Carlos Garcia Campos.

* platform/graphics/opentype/OpenTypeVerticalData.cpp:
(WebCore::OpenTypeVerticalData::substituteWithVerticalGlyphs):

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

6 years agoEdenCollections unnecessarily visit SmallStrings
mhahnenb@gmail.com [Fri, 23 Jan 2015 07:04:05 +0000 (07:04 +0000)]
EdenCollections unnecessarily visit SmallStrings
https://bugs.webkit.org/show_bug.cgi?id=140762

Reviewed by Geoffrey Garen.

* heap/Heap.cpp:
(JSC::Heap::copyBackingStores): Also added a GCPhase for copying
backing stores, which is a significant portion of garbage collection.
(JSC::Heap::visitSmallStrings): Check to see if we need to visit
SmallStrings based on the collection type.
* runtime/SmallStrings.cpp:
(JSC::SmallStrings::SmallStrings):
(JSC::SmallStrings::visitStrongReferences): Set the fact that we have
visited the SmallStrings since the last modification.
* runtime/SmallStrings.h:
(JSC::SmallStrings::needsToBeVisited): If we're doing a
FullCollection, we need to visit. Otherwise, it depends on whether
we've been visited since the last modification/allocation.

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

6 years agoSimple line layout: Move leading whitespace handling from removeTrailingWhitespace...
zalan@apple.com [Fri, 23 Jan 2015 06:26:28 +0000 (06:26 +0000)]
Simple line layout: Move leading whitespace handling from removeTrailingWhitespace() to initializeNewLine().
https://bugs.webkit.org/show_bug.cgi?id=140757

Reviewed by Antti Koivisto.

Checking if overflowed pre-wrap whitespace needs to be ignored should not be part of the trailing whitespace handling.
Move it to initializeNewLine().

No change in functionality.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::preWrap):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::initializeNewLine):
* rendering/SimpleLineLayoutFlowContents.h:
(WebCore::SimpleLineLayout::FlowContents::isLineBreak):

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

6 years ago[iOS][WK2] Ignore synthetic click initiated on a previous page
benjamin@webkit.org [Fri, 23 Jan 2015 04:17:11 +0000 (04:17 +0000)]
[iOS][WK2] Ignore synthetic click initiated on a previous page
https://bugs.webkit.org/show_bug.cgi?id=139556
rdar://problem/18586008

Patch by Benjamin Poulain <bpoulain@apple.com> on 2015-01-22
Reviewed by David Kilzer.

Under the right accumulation of bad luck, a synthetic click could be generated
on a page that never asked for it.

What happened was:
1) Page Foo listen to touch event.
2) In response to touch events, Foo decides to navigate to page Bar
   *but* it does not cancel the native gesture recognizers with preventDefault().
3) Page Bar loads.
4) The native gesture recognizer ask us to click, we forward that to the WebProcess
   and generate a synthetic mouse event.
-> Bar receives a click.
If you are unlucky enough, it looks like a single tap does a double click.

There are two ways this patch avoids the problem:

First, in the UIProcess, we just cancel the HighlightLongPressGestureRecognizer
on didCommitLoadForMainFrame. This prevents "fast clicks" from accidentally going through.
This is not bullet proof because we get didCommitLoadForMainFrame asynchronously but
killing the timer and gesture seems like a good idea.

Second, we skip any tap command at the WebProcess level when it was issued for
the previous page. This is using the same principle we used for VisibleContentRect:
any input generated before the current layer tree commit is useless for the current page.

We track the commit ID in the UIProcess when we decide to do the tracking or not.
Note that we keep the ID regardless of the tracking state, it does not matter if we have sent
touch events, what matters is what content was on screen when the touch events were handled.

If the user interaction result in a tap, we send the commit ID along the tap commands.
In the WebProcess, we know the actual layer tree commit associated with the current page.
If the tap was generated with a layer ID preceding the current page, we fail the command.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::handleTouchEventSynchronously):
(WebKit::WebPageProxy::resetState):
* UIProcess/WebPageProxy.h:
* UIProcess/ios/WKContentView.mm:
(-[WKContentView _didCommitLoadForMainFrame]):
* UIProcess/ios/WKContentViewInteraction.mm:
(-[WKContentView _attemptClickAtLocation:]):
* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::commitPotentialTap):
(WebKit::WebPageProxy::handleTap):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::didCommitLoad):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::handleTap):
(WebKit::WebPage::commitPotentialTap):

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

6 years agoconfigure-xcode-for-ios-development needs to import webkitdirs.pm
ddkilzer@apple.com [Fri, 23 Jan 2015 04:06:40 +0000 (04:06 +0000)]
configure-xcode-for-ios-development needs to import webkitdirs.pm
<http://webkit.org/b/140704>

Fixes the following runtime error:

    Undefined subroutine &main::exitStatus called at ./Tools/Scripts/configure-xcode-for-ios-development line 167.

* Scripts/configure-xcode-for-ios-development: Add back code to
import webkitdirs.pm for the exitStatus() method.  Not sure why
I removed it before patch review.

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

6 years agoRemove unused class EmojiFallbackFontSelector.
akling@apple.com [Fri, 23 Jan 2015 03:32:57 +0000 (03:32 +0000)]
Remove unused class EmojiFallbackFontSelector.
<https://webkit.org/b/140809>

Reviewed by Antti Koivisto.

Source/WebKit:

* WebKit.xcodeproj/project.pbxproj:

Source/WebKit/ios:

This class no longer has any clients.

* Misc/EmojiFallbackFontSelector.cpp: Removed.
* Misc/EmojiFallbackFontSelector.h: Removed.

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

6 years agoImport fast/css/font-shorthand-line-height.html layout test from Blink
cdumez@apple.com [Fri, 23 Jan 2015 02:17:32 +0000 (02:17 +0000)]
Import fast/css/font-shorthand-line-height.html layout test from Blink
https://bugs.webkit.org/show_bug.cgi?id=140801

Reviewed by Andreas Kling.

Import fast/css/font-shorthand-line-height.html layout test from Blink
to get better test coverage for 'line-height' font shorthands cascades:
https://src.chromium.org/viewvc/blink?view=rev&revision=184346

I am working on expanding the font shorthand at parsing time (like
other shorthands) via Bug 140577 and I want to make sure I don't break
line-height in the process.

* fast/css/font-shorthand-line-height-expected.txt: Added.
* fast/css/font-shorthand-line-height.html: Added.

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

6 years ago[WK2][Cocoa] Drop WKWebViewConfiguration._featureCounterEnabled SPI.
cdumez@apple.com [Fri, 23 Jan 2015 01:57:31 +0000 (01:57 +0000)]
[WK2][Cocoa] Drop WKWebViewConfiguration._featureCounterEnabled SPI.
https://bugs.webkit.org/show_bug.cgi?id=140799

Reviewed by Dan Bernstein.

Drop WKWebViewConfiguration._featureCounterEnabled SPI now that the
client-side has been updated.

* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration _setAllowsAlternateFullscreen:]):
(-[WKWebViewConfiguration _featureCounterEnabled]): Deleted.
(-[WKWebViewConfiguration _setFeatureCounterEnabled:]): Deleted.
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:

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

6 years agoFix ENABLE(NETWORK_CACHE) build
antti@apple.com [Fri, 23 Jan 2015 01:19:20 +0000 (01:19 +0000)]
Fix ENABLE(NETWORK_CACHE) build

* NetworkProcess/NetworkResourceLoader.cpp:
(WebKit::NetworkResourceLoader::didFinishLoading):

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

6 years ago[Win] Unreviewed test fix after r178965.
bfulgham@apple.com [Fri, 23 Jan 2015 01:16:04 +0000 (01:16 +0000)]
[Win] Unreviewed test fix after r178965.

* WebView.cpp: Supply missing implementation of 'setEditable'. It
currently asserts, causing all debug tests to fail.

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

6 years agoREGRESSION (r178847): Yosemite 32-bit bot isn't doing any work
timothy_horton@apple.com [Fri, 23 Jan 2015 00:47:31 +0000 (00:47 +0000)]
REGRESSION (r178847): Yosemite 32-bit bot isn't doing any work
https://bugs.webkit.org/show_bug.cgi?id=140795

Reviewed by Jon Honeycutt.

* BuildSlaveSupport/build.webkit.org-config/config.json:
r178847 accidentally remove the scheduler for this bot. Re-add it to the
Yosemite scheduler.

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

6 years agoWeb Inspector: ResourceContentView.js incorrectly contains call to WebInspector.UIStr...
jonowells@apple.com [Fri, 23 Jan 2015 00:44:45 +0000 (00:44 +0000)]
Web Inspector: ResourceContentView.js incorrectly contains call to WebInspector.UIString with a variable parameter
https://bugs.webkit.org/show_bug.cgi?id=140268

Reviewed by Timothy Hatcher.

UIString no longer incorrectly used around variables. Drive-by fixes to prototype inheritance style.
Use of Promises corrected such that requesting content for a resource resolves rather than rejects if
a resource can't be found or has another error that isn't a web inspector error.

* Localizations/en.lproj/localizedStrings.js: Updated.
* UserInterface/Models/Resource.js: Change reject to resolve.
* UserInterface/Models/Script.js:
(WebInspector.Script.prototype.requestContentFromBackend): Proper use of Error object.
* UserInterface/Models/SourceCode.js: Use correct inheritance style.
* UserInterface/Views/ResourceContentView.js:
(WebInspector.ResourceContentView.prototype._contentAvailable): Handle error now that promise resolves.
(WebInspector.ResourceContentView.prototype._contentError): Remove incorrect use of UIString.
* UserInterface/Views/SourceCodeTextEditor.js:
(WebInspector.SourceCodeTextEditor.prototype._contentAvailable): Handle error now that promise resolves.

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

6 years ago[iOS] Media controls disappear when loading a HLS live stream
jer.noble@apple.com [Fri, 23 Jan 2015 00:31:24 +0000 (00:31 +0000)]
[iOS] Media controls disappear when loading a HLS live stream
https://bugs.webkit.org/show_bug.cgi?id=140792
rdar://problem/19491658

Reviewed by Dean Jackson.

Overload reconnectControls to reconnect the "start playback" button
if the control type has been set to "StartPlaybackButton".

* Modules/mediacontrols/mediaControlsiOS.js:
(ControllerIOS.prototype.reconnectControls):

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

6 years ago[Win] No plugin content on some sites.
commit-queue@webkit.org [Fri, 23 Jan 2015 00:18:35 +0000 (00:18 +0000)]
[Win] No plugin content on some sites.
https://bugs.webkit.org/show_bug.cgi?id=140780

Patch by peavo@outlook.com <peavo@outlook.com> on 2015-01-22
Reviewed by Anders Carlsson.

Source/WebCore:

Return script instance from ScriptController::createScriptInstanceForWidget(),
instead of always returning null.

* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::createScriptInstanceForWidget):
* plugins/PluginViewBase.h:
(WebCore::PluginViewBase::bindingInstance):

Source/WebKit/win:

Add override modifier to bindingInstance method.

* Plugins/PluginView.h:

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

6 years ago[Mac][EME] Adopt changes to AVStreamSession class methods
jer.noble@apple.com [Fri, 23 Jan 2015 00:17:13 +0000 (00:17 +0000)]
[Mac][EME] Adopt changes to AVStreamSession class methods
https://bugs.webkit.org/show_bug.cgi?id=140778
rdar://problem/19458200

Reviewed by Eric Carlson.

AVStreamSession class methods have added a "storageDirectoryAtURL:" parameter so as to be able to
read and modify records stored at non-default storage locations.

* Modules/encryptedmedia/MediaKeySession.cpp:
(WebCore::MediaKeySession::mediaKeysStorageDirectory): Implement client method by querying document and settings.
* Modules/encryptedmedia/MediaKeySession.h:
* platform/graphics/CDMSession.h:
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.h:
* platform/graphics/avfoundation/objc/CDMSessionMediaSourceAVFObjC.mm:
(WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys): Check whether the AVStreamSession class responds to new selector before calling.
(WebCore::CDMSessionMediaSourceAVFObjC::update): Ditto.
(WebCore::CDMSessionMediaSourceAVFObjC::generateKeyReleaseMessage): Ditto.
(WebCore::CDMSessionMediaSourceAVFObjC::storagePath): Fetch the storage path from the client.

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

6 years agoREGRESSION (174847): can't view NHK(Japan's national public broadcasting organization...
msaboff@apple.com [Fri, 23 Jan 2015 00:15:51 +0000 (00:15 +0000)]
REGRESSION (174847): can't view NHK(Japan's national public broadcasting organization)’s news pages
https://bugs.webkit.org/show_bug.cgi?id=140794

Reviewed by Anders Carlsson.

Source/WebCore:

If a document.open has been set, return it instead of always returning a new,
non-cached instance of jsHTMLDocumentPrototypeFunctionOpen.

Test: js/dom/document-overwrite-open.html

* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::getOwnPropertySlot):

LayoutTests:

* js/dom/document-overwrite-open-expected.txt: Added.
* js/dom/document-overwrite-open.html: Added.

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

6 years ago[Win] Expose missing editing features through WebView interface
bfulgham@apple.com [Thu, 22 Jan 2015 23:46:41 +0000 (23:46 +0000)]
[Win] Expose missing editing features through WebView interface
https://bugs.webkit.org/show_bug.cgi?id=140773
<rdar://problem/19565421>

Reviewed by Dean Jackson.

Connect the various WebView editing delegate methods to our
test infrastructure. Also prefer _bstr_t to raw BSTR types
to simplify life cycle management.

Source/WebKit/win:

* DOMCoreClasses.cpp: Flesh out the DOMRange object.
(DOMElement::createInstance):
(DOMRange::QueryInterface):
(DOMRange::DOMRange):
(DOMRange::~DOMRange):
(DOMRange::createInstance):
(DOMRange::startContainer):
(DOMRange::startOffset):
(DOMRange::endContainer):
(DOMRange::endOffset):
(DOMRange::collapsed):
(DOMRange::commonAncestorContainer):
(DOMRange::setStart):
(DOMRange::setEnd):
(DOMRange::setStartBefore):
(DOMRange::setStartAfter):
(DOMRange::setEndBefore):
(DOMRange::setEndAfter):
(DOMRange::collapse):
(DOMRange::selectNode):
(DOMRange::selectNodeContents):
(DOMRange::compareBoundaryPoints):
(DOMRange::deleteContents):
(DOMRange::extractContents):
(DOMRange::cloneContents):
(DOMRange::insertNode):
(DOMRange::surroundContents):
(DOMRange::cloneRange):
(DOMRange::toString):
(DOMRange::detach):
* DOMCoreClasses.h:
(DOMRange::AddRef):
(DOMRange::Release):
(DOMRange::throwException):
(DOMRange::callWebScriptMethod):
(DOMRange::evaluateWebScript):
(DOMRange::removeWebScriptKey):
(DOMRange::stringRepresentation):
(DOMRange::webScriptValueAtIndex):
(DOMRange::setWebScriptValueAtIndex):
(DOMRange::setException):
* Interfaces/IWebEditingDelegate.idl:
* Interfaces/IWebView.idl:
* WebCoreSupport/WebEditorClient.cpp: Connect more methods
to actual editing features in WebCore.
(WebEditorClient::shouldBeginEditing):
(WebEditorClient::shouldEndEditing):
(WebEditorClient::didBeginEditing):
(WebEditorClient::respondToChangedContents):
(WebEditorClient::respondToChangedSelection):
(WebEditorClient::didEndEditing):
(WebEditorClient::shouldDeleteRange):
(WebEditorClient::shouldInsertNode):
(WebEditorClient::shouldInsertText):
(WebEditorClient::shouldChangeSelectedRange):
(WebEditorClient::webViewDidChangeTypingStyle):
(WebEditorClient::webViewDidChangeSelection):
(WebEditorClient::isSelectTrailingWhitespaceEnabled):
* WebView.cpp:
(WebView::setEditingDelegate): Added.

Tools:

* DumpRenderTree/win/DumpRenderTree.cpp:
(resetWebViewToConsistentStateBeforeTesting):
* DumpRenderTree/win/EditingDelegate.cpp:
(EditingDelegate::QueryInterface):
(dumpPath):
(dump):
(EditingDelegate::shouldBeginEditingInDOMRange):
(EditingDelegate::shouldEndEditingInDOMRange):
(EditingDelegate::shouldInsertNode):
(EditingDelegate::shouldInsertText):
(EditingDelegate::shouldDeleteDOMRange):
(EditingDelegate::shouldChangeSelectedDOMRange):
(EditingDelegate::shouldApplyStyle):
(EditingDelegate::shouldChangeTypingStyle):
(EditingDelegate::doPlatformCommand):
(EditingDelegate::webViewDidBeginEditing):
(EditingDelegate::webViewDidChange):
(EditingDelegate::webViewDidEndEditing):
(EditingDelegate::webViewDidChangeTypingStyle):
(EditingDelegate::webViewDidChangeSelection):
(EditingDelegate::checkSpellingOfString):
(EditingDelegate::onNotify):
* DumpRenderTree/win/EditingDelegate.h:

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

6 years agoSimple line layout: Reset LineState when starting a new line.
zalan@apple.com [Thu, 22 Jan 2015 23:42:46 +0000 (23:42 +0000)]
Simple line layout: Reset LineState when starting a new line.
https://bugs.webkit.org/show_bug.cgi?id=140789

Reviewed by Antti Koivisto.

Reset LineState when starting a new line to ensure we always
start with a clean state.

No change in functionality.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::updateLineConstrains):
(WebCore::SimpleLineLayout::initializeNewLine):
(WebCore::SimpleLineLayout::splitFragmentToFitLine):
(WebCore::SimpleLineLayout::createTextRuns):

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

6 years ago[WebGL2] Create empty interface files for new WebGL2 objects.
roger_fong@apple.com [Thu, 22 Jan 2015 23:35:15 +0000 (23:35 +0000)]
[WebGL2] Create empty interface files for new WebGL2 objects.
https://bugs.webkit.org/show_bug.cgi?id=140779.
<rdar://problem/15002288>

Reviewed by Dean Jackson.

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* html/canvas/WebGLQuery.cpp: Added.
(WebCore::WebGLQuery::create):
(WebCore::WebGLQuery::~WebGLQuery):
(WebCore::WebGLQuery::WebGLQuery):
(WebCore::WebGLQuery::deleteObjectImpl):
* html/canvas/WebGLQuery.h: Added.
* html/canvas/WebGLQuery.idl: Added.
* html/canvas/WebGLSampler.cpp: Added.
(WebCore::WebGLSampler::create):
(WebCore::WebGLSampler::~WebGLSampler):
(WebCore::WebGLSampler::WebGLSampler):
(WebCore::WebGLSampler::deleteObjectImpl):
* html/canvas/WebGLSampler.h: Added.
* html/canvas/WebGLSampler.idl: Added.
* html/canvas/WebGLSharedObject.h:
(WebCore::WebGLSharedObject::isQuery):
(WebCore::WebGLSharedObject::isSampler):
(WebCore::WebGLSharedObject::isSync):
(WebCore::WebGLSharedObject::isTransformFeedback):
(WebCore::WebGLSharedObject::isVertexArrayObject):
* html/canvas/WebGLSync.cpp: Added.
(WebCore::WebGLSync::create):
(WebCore::WebGLSync::~WebGLSync):
(WebCore::WebGLSync::WebGLSync):
(WebCore::WebGLSync::deleteObjectImpl):
* html/canvas/WebGLSync.h: Added.
* html/canvas/WebGLSync.idl: Added.
* html/canvas/WebGLTransformFeedback.cpp: Added.
(WebCore::WebGLTransformFeedback::create):
(WebCore::WebGLTransformFeedback::~WebGLTransformFeedback):
(WebCore::WebGLTransformFeedback::WebGLTransformFeedback):
(WebCore::WebGLTransformFeedback::deleteObjectImpl):
* html/canvas/WebGLTransformFeedback.h: Added.
* html/canvas/WebGLTransformFeedback.idl: Added.
* html/canvas/WebGLVertexArrayObject.cpp: Added.
(WebCore::WebGLVertexArrayObject::create):
(WebCore::WebGLVertexArrayObject::~WebGLVertexArrayObject):
(WebCore::WebGLVertexArrayObject::WebGLVertexArrayObject):
(WebCore::WebGLVertexArrayObject::deleteObjectImpl):
* html/canvas/WebGLVertexArrayObject.h: Added.
* html/canvas/WebGLVertexArrayObject.idl: Added.
* platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
* platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
* platform/mac/js/dom/global-constructors-attributes-expected.txt:

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

6 years ago[iOS] Fix build for external iphoneos SDK
ddkilzer@apple.com [Thu, 22 Jan 2015 23:34:34 +0000 (23:34 +0000)]
[iOS] Fix build for external iphoneos SDK

Reviewed by Daniel Bates.

* WebKitSystemInterface.h: Remove import of the
<IOSurface/IOSurface.h> header, and add a typedef for
IOSurfaceRef in its place.

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

6 years agoUserData decoding of WKTypeRefWrapper always fails
timothy_horton@apple.com [Thu, 22 Jan 2015 23:21:37 +0000 (23:21 +0000)]
UserData decoding of WKTypeRefWrapper always fails
https://bugs.webkit.org/show_bug.cgi?id=140791
<rdar://problem/19438402>

Reviewed by Anders Carlsson.

* Shared/mac/ObjCObjectGraph.mm:
(WebKit::ObjCObjectGraph::decode):
Add a missing break.

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

6 years agoSkip another copy of oes-vertex-array-object test, because it has the same problems
ap@apple.com [Thu, 22 Jan 2015 23:20:33 +0000 (23:20 +0000)]
Skip another copy of oes-vertex-array-object test, because it has the same problems
as the old one.

* platform/mac/TestExpectations:

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

6 years ago[Win] Unreviewed test gardening.
bfulgham@apple.com [Thu, 22 Jan 2015 23:16:30 +0000 (23:16 +0000)]
[Win] Unreviewed test gardening.

Clean up editing-related tests and rebaseline some output.

* platform/win/TestExpectations:
* platform/win/editing/input/reveal-caret-of-multiline-contenteditable-expected.txt:
* platform/win/editing/input/reveal-caret-of-multiline-input-expected.txt:
* platform/win/editing/inserting/4960120-1-expected.txt:
* platform/win/editing/inserting/break-blockquote-after-delete-expected.txt:
* platform/win/editing/inserting/insert-3907422-fix-expected.txt: Removed.
* platform/win/editing/pasteboard/4641033-expected.txt: Added.
* platform/win/editing/pasteboard/4944770-1-expected.txt: Added.
* platform/win/editing/pasteboard/4944770-2-expected.txt: Added.
* platform/win/editing/pasteboard/drop-text-without-selection-expected.txt: Added.
* platform/win/editing/selection/3690703-2-expected.txt:
* platform/win/editing/selection/3690703-expected.txt:
* platform/win/editing/selection/3690719-expected.txt:
* platform/win/editing/selection/4975120-expected.txt: Added.
* platform/win/editing/selection/5240265-expected.txt:
* platform/win/editing/selection/caret-before-select-expected.txt: Added.
* platform/win/editing/selection/caret-rtl-2-expected.txt: Added.
* platform/win/editing/selection/caret-rtl-2-left-expected.txt:
* platform/win/editing/selection/caret-rtl-expected.txt: Added.
* platform/win/editing/selection/caret-rtl-right-expected.txt:
* platform/win/editing/selection/drag-select-1-expected.txt: Added.
* platform/win/editing/selection/mixed-editability-10-expected.txt:
* platform/win/editing/selection/replaced-boundaries-3-expected.txt: Added.
* platform/win/editing/selection/select-box-expected.txt: Added.
* platform/win/editing/selection/select-element-paragraph-boundary-expected.txt: Added.
* platform/win/editing/selection/select-from-textfield-outwards-expected.txt:
* platform/win/editing/selection/selection-button-text-expected.txt:
* platform/win/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt:
* platform/win/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt:
* platform/win/editing/selection/vertical-rl-rtl-extend-line-backward-br-expected.txt:

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

6 years agoFix remaining multiple targets per rule issues in DerivedSources.make
cdumez@apple.com [Thu, 22 Jan 2015 23:13:36 +0000 (23:13 +0000)]
Fix remaining multiple targets per rule issues in DerivedSources.make
https://bugs.webkit.org/show_bug.cgi?id=140790

Reviewed by David Kilzer.

Fix remaining multiple target per rule issues in DerivedSources.make,
similarly to Bug 140784 and Bug 140756.

This was causing us to run scripts several times to generate the same
files and may lead to malformed files in case of concurrency.

* DerivedSources.make:

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

6 years agoAdd a build flag for ES6 class syntax
rniwa@webkit.org [Thu, 22 Jan 2015 23:12:26 +0000 (23:12 +0000)]
Add a build flag for ES6 class syntax
https://bugs.webkit.org/show_bug.cgi?id=140760

Reviewed by Michael Saboff.

.:

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

Source/JavaScriptCore:

Added ES6_CLASS_SYNTAX build flag and used it in tokenizer to recognize
"class", "extends", "static" and "super" keywords.

* Configurations/FeatureDefines.xcconfig:
* parser/Keywords.table:
* parser/ParserTokens.h:

Source/WebCore:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

* wtf/FeatureDefines.h:

Tools:

* Scripts/webkitperl/FeatureList.pm:

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

6 years agoUnreviewed, skip flakey inspector test.
joepeck@webkit.org [Thu, 22 Jan 2015 23:09:53 +0000 (23:09 +0000)]
Unreviewed, skip flakey inspector test.

* TestExpectations:

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

6 years agoSVGNames.cpp and HTMLNames.cpp are sometimes malformed
cdumez@apple.com [Thu, 22 Jan 2015 22:23:55 +0000 (22:23 +0000)]
SVGNames.cpp and HTMLNames.cpp are sometimes malformed
https://bugs.webkit.org/show_bug.cgi?id=140784
<rdar://problem/17701233>

Reviewed by David Kilzer.

Due to bad rules in DerivedSources.make, make_names.pl was called
several times with the same arguments during build. This is because
SVG/HTML/MathML each had several targets associated to the same
command. This would cause the command (make_names.pl) to be called
once per target. However, make_names.pl only needs to be executed
once to generate all of the files currently marked as target.

Calling make_names.pl several times for the same files is not only
wasteful, but it can also lead to malformed generated files if the
scripts instances are executed in parallel as they will read / write
from / to the same files.

This patch uses INTERMEDIATE targets instead so that we can still
indicate which files are generated by make_names.pl but only run
the script once.

This is a similar fix as for Bug 140756. There may several other
similar issues in DerivedSources.make but this patch focuses on
make_names.pl. I will take care of other in follow-ups if needed.

* DerivedSources.make:

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

6 years agoHave Counter::create() return a Ref<Counter>
cdumez@apple.com [Thu, 22 Jan 2015 22:21:08 +0000 (22:21 +0000)]
Have Counter::create() return a Ref<Counter>
https://bugs.webkit.org/show_bug.cgi?id=140777

Reviewed by Andreas Kling.

Have Counter::create() return a Ref<Counter> instead of a PassRefPtr.

The CSSPrimitiveValue class needed some updates as well to support
constructing a CSSPrimitiveValue object from a Ref<>.

* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::init):
* css/CSSPrimitiveValue.h:
(WebCore::CSSPrimitiveValue::create):
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
* css/Counter.h:
(WebCore::Counter::create):
(WebCore::Counter::cloneForCSSOM):

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

6 years agoDrop the legacy FeatureCounter class
cdumez@apple.com [Thu, 22 Jan 2015 22:19:46 +0000 (22:19 +0000)]
Drop the legacy FeatureCounter class
https://bugs.webkit.org/show_bug.cgi?id=140749

Reviewed by Andreas Kling.

Drop the legacy FeatureCounter class and use DiagnosticLoggingClient
instead.

Source/WebCore:

* CMakeLists.txt:
* Configurations/WebCore.xcconfig:
* WebCore.exp.in:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::parseAttribute):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::willSendRequest):
(WebCore::SubresourceLoader::didReceiveResponse):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::mustRevalidateDueToCacheHeaders):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::logMemoryCacheResourceRequest):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
* page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::mustRevalidateIsExpiredKey):
(WebCore::DiagnosticLoggingKeys::playedKey):
(WebCore::DiagnosticLoggingKeys::noCacheKey):
(WebCore::DiagnosticLoggingKeys::noStoreKey):
(WebCore::DiagnosticLoggingKeys::notInMemoryCacheKey):
(WebCore::DiagnosticLoggingKeys::mediaKey):
(WebCore::DiagnosticLoggingKeys::isExpiredKey):
(WebCore::DiagnosticLoggingKeys::loadingKey):
(WebCore::DiagnosticLoggingKeys::inMemoryCacheKey):
(WebCore::DiagnosticLoggingKeys::reasonKey):
(WebCore::DiagnosticLoggingKeys::audioKey):
(WebCore::DiagnosticLoggingKeys::cachedResourceRevalidationKey):
(WebCore::DiagnosticLoggingKeys::resourceRequestKey):
(WebCore::DiagnosticLoggingKeys::revalidatingKey):
(WebCore::DiagnosticLoggingKeys::unusedKey):
(WebCore::DiagnosticLoggingKeys::unusedReasonCredentialSettingsKey):
(WebCore::DiagnosticLoggingKeys::unusedReasonErrorKey):
(WebCore::DiagnosticLoggingKeys::unusedReasonMustRevalidateNoValidatorKey):
(WebCore::DiagnosticLoggingKeys::unusedReasonNoStoreKey):
(WebCore::DiagnosticLoggingKeys::unusedReasonRedirectChainKey):
(WebCore::DiagnosticLoggingKeys::unusedReasonReloadKey):
(WebCore::DiagnosticLoggingKeys::unusedReasonTypeMismatchKey):
(WebCore::DiagnosticLoggingKeys::usedKey):
(WebCore::DiagnosticLoggingKeys::userKey):
(WebCore::DiagnosticLoggingKeys::videoKey):
(WebCore::DiagnosticLoggingKeys::webViewKey):
(WebCore::DiagnosticLoggingKeys::zoomedKey):
* page/DiagnosticLoggingKeys.h:
* page/Settings.in:
* platform/FeatureCounter.cpp: Removed.
* platform/FeatureCounter.h: Removed.
* platform/FeatureCounterKeys.h: Removed.
* platform/ios/FeatureCounter.mm: Removed.

Source/WebKit2:

* Shared/WebPreferencesDefinitions.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView initWithFrame:configuration:]):
* UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
(-[WKWebViewConfiguration init]):
(-[WKWebViewConfiguration copyWithZone:]):
(-[WKWebViewConfiguration _featureCounterEnabled]):
(-[WKWebViewConfiguration _setFeatureCounterEnabled:]):
* UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::willStartUserTriggeredZooming):

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

6 years agoWhen extending the fallback transitions with their closure, we are modifying the...
benjamin@webkit.org [Thu, 22 Jan 2015 22:17:32 +0000 (22:17 +0000)]
When extending the fallback transitions with their closure, we are modifying the Set while iterating it
https://bugs.webkit.org/show_bug.cgi?id=140785

Reviewed by Andreas Kling.

* contentextensions/NFAToDFA.cpp:
(WebCore::ContentExtensions::populateTransitions):
Make that in two steps: accumulate the fallback transitions then add the closure
of every element.

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

6 years agohttps://bugs.webkit.org/show_bug.cgi?id=140755
ap@apple.com [Thu, 22 Jan 2015 22:13:19 +0000 (22:13 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=140755
rdar://problem/7881290

* http/tests/appcache/404-resource-with-slow-main-resource.php: Try updating the
tiemout, as it's not sufficient for appcache load to fail on some bots.

* http/tests/appcache/404-resource-with-slow-main-resource.php:

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

6 years agoRename SimpleFontData to Font
antti@apple.com [Thu, 22 Jan 2015 21:57:04 +0000 (21:57 +0000)]
Rename SimpleFontData to Font
https://bugs.webkit.org/show_bug.cgi?id=140496

Reviewed by Zalan Bujtas.

The fallback supporting Font type was renamed FontCascade.
We can now rename SimpleFontData to Font matching the usual definition.

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

6 years agoSimple line layout: Make trailing whitespace handling more explicit.
zalan@apple.com [Thu, 22 Jan 2015 21:54:53 +0000 (21:54 +0000)]
Simple line layout: Make trailing whitespace handling more explicit.
https://bugs.webkit.org/show_bug.cgi?id=140776

Reviewed by Antti Koivisto.

Differentiate between committed and uncommitted trailing whitespace.
This enables further cleanup in removeTrailingWhitespace().

No change in functionality.

* rendering/SimpleLineLayout.cpp:
(WebCore::SimpleLineLayout::LineState::commitAndCreateRun):
(WebCore::SimpleLineLayout::LineState::addUncommitted):
(WebCore::SimpleLineLayout::LineState::hasWhitespaceOnly):
(WebCore::SimpleLineLayout::LineState::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::LineState::LineState): Deleted.
(WebCore::SimpleLineLayout::LineState::removeCommittedTrailingWhitespace): Deleted.
(WebCore::SimpleLineLayout::LineState::resetTrailingWhitespace): Deleted.

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

6 years agoibtoold crash below -[WebView close]
bdakin@apple.com [Thu, 22 Jan 2015 21:40:02 +0000 (21:40 +0000)]
ibtoold crash below -[WebView close]
https://bugs.webkit.org/show_bug.cgi?id=140782
-and corresponding-
rdar://problem/19558472

Reviewed by Tim Horton.

Retain the NSImmediateActionGestureRecognizer. This should not be necessary, but
Source/WebKit/mac:

it is because interface builder is messing with our views.
* WebView/WebImmediateActionController.h:
* WebView/WebImmediateActionController.mm:
(-[WebImmediateActionController webViewClosed]):
(-[WebImmediateActionController _cancelImmediateAction]):
(-[WebImmediateActionController immediateActionRecognizerWillPrepare:]):
(-[WebImmediateActionController _updateImmediateActionItem]):

Source/WebKit2:

it is because interface builder can mess with our views.
* UIProcess/mac/WKImmediateActionController.h:
* UIProcess/mac/WKImmediateActionController.mm:
(-[WKImmediateActionController willDestroyView:]):
(-[WKImmediateActionController _cancelImmediateAction]):
(-[WKImmediateActionController _cancelImmediateActionIfNeeded]):
(-[WKImmediateActionController _updateImmediateActionItem]):

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

6 years agoCrash in URL::protocol() after appcache load fails
ap@apple.com [Thu, 22 Jan 2015 21:04:39 +0000 (21:04 +0000)]
Crash in URL::protocol() after appcache load fails
https://bugs.webkit.org/show_bug.cgi?id=140755
rdar://problem/7881290

Reviewed by Dan Bates.

Source/WebCore:

Test: http/tests/appcache/404-resource-with-slow-main-resource.php

Not every cache that isn't being updated is complete. It could also be in a zombie
state after failing to load. We get rid of the cache once the main resource finishes
loading, but while it's being loaded, the zombie still looks like a regular
candidate application cache.

* loader/appcache/ApplicationCache.cpp: (WebCore::ApplicationCache::isComplete):
* loader/appcache/ApplicationCache.h:
Removed const from isComplete(), because otherwise we couldn't use ApplicationCacheGroup::m_caches.contains().
Constness doesn't make a lot of sense for these objects anyway.

* loader/appcache/ApplicationCacheGroup.cpp:
(WebCore::ApplicationCacheGroup::failedLoadingMainResource): Toned down an assertion.
We can fail a main resource load when the document has a zombie appcache, too.

* loader/appcache/ApplicationCacheGroup.h:
(WebCore::ApplicationCacheGroup::cacheIsComplete):
(WebCore::ApplicationCacheGroup::cacheIsBeingUpdated): Deleted.
These functions are only used in ApplicationCache::isComplete().

LayoutTests:

* http/tests/appcache/404-resource-with-slow-main-resource-expected.txt: Added.
* http/tests/appcache/404-resource-with-slow-main-resource.php: Added.

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

6 years agoAvoid defining always empty Vector<TextCheckingResult>
g.czajkowski@samsung.com [Thu, 22 Jan 2015 20:01:24 +0000 (20:01 +0000)]
Avoid defining always empty Vector<TextCheckingResult>
https://bugs.webkit.org/show_bug.cgi?id=140765

Reviewed by Alexey Proskuryakov.

Pass an empty vector direclty instead.

No new tests. No behavior change.

* editing/SpellChecker.cpp:
(WebCore::SpellChecker::didCheckCancel):

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

6 years agomakeprop.pl script is called too many times during build
cdumez@apple.com [Thu, 22 Jan 2015 19:38:43 +0000 (19:38 +0000)]
makeprop.pl script is called too many times during build
https://bugs.webkit.org/show_bug.cgi?id=140756
<rdar://problem/19467942>

Reviewed by David Kilzer.

The makeprop.pl script was called 4 times (instead of once) during
build due to a bad Makefile rule in DerivedSources.make. makeprop.pl
had 4 associated targets and thus was called 4 times (with the same
parameter). Calling it once is sufficient to generate all 4 files
that were marked as target. This patch uses an INTERMEDIATE target
instead so that we can indicate that several files are generated
by the same command.

I believe this may be the reason for the sporatic build failures
that look like:
"""
CSSPropertyNames.gperf: No keywords in input file!
calling gperf failed: 256 at WebCore/css/makeprop.pl line 1036.
"""
The makeprop.pl script is generating gperf's input file and calling the
gperf executable on this file. If the script is executed several times
in parallel, it would explain the build failures as several instances
of makeprop.pl may be writing / reading from the same
CSSPropertyNames.gperf file.

* DerivedSources.make:

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

6 years agoUnreviewed, rolling out r178894.
commit-queue@webkit.org [Thu, 22 Jan 2015 19:34:34 +0000 (19:34 +0000)]
Unreviewed, rolling out r178894.
https://bugs.webkit.org/show_bug.cgi?id=140775

Broke JSC and bindings tests (Requested by ap_ on #webkit).

Reverted changeset:

"put_by_val_direct need to check the property is index or not
for using putDirect / putDirectIndex"
https://bugs.webkit.org/show_bug.cgi?id=140426
http://trac.webkit.org/changeset/178894

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

6 years ago[iOS] Fix iphoneos SDK builds for ios-ews queue
ddkilzer@apple.com [Thu, 22 Jan 2015 19:27:25 +0000 (19:27 +0000)]
[iOS] Fix iphoneos SDK builds for ios-ews queue
<http://webkit.org/b/140748>

Reviewed by Daniel Bates.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj: Add new SPI headers.
* platform/graphics/cg/ImageBufferCG.cpp: Switch to using
"IOSurfaceSPI.h" from <IOSurface/IOSurface.h>.
* platform/graphics/cg/ImageBufferDataCG.cpp: Ditto.
* platform/graphics/cocoa/IOSurface.mm: Ditto.  Move definitions
in <IOSurface/IOSurfacePrivate.h> into "IOSurfaceSPI.h".
* platform/spi/cg/CoreGraphicsSPI.h: Switch to
WTF_EXTERN_C_{BEGIN,END}.  Add
CGContextGetFontAntialiasingStyle() and
CGContextSetFontAntialiasingStyle().
* platform/spi/cocoa/IOPMLibSPI.h: Switch to use IOReturnSPI.h.
* platform/spi/cocoa/IOReturnSPI.h: Add.
* platform/spi/cocoa/IOSurfaceSPI.h: Add.
* platform/spi/cocoa/IOTypesSPI.h: Add.

Source/WebKit2:

* Platform/spi/ios/BKSProcessAssertionSPI.h: Add -invalidate
definition.  Sort @property to the top of BKSProcessAssertion.

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

6 years agoBytecodeGenerator::initializeCapturedVariable() sets a misleading value for the 5th...
mark.lam@apple.com [Thu, 22 Jan 2015 19:05:42 +0000 (19:05 +0000)]
BytecodeGenerator::initializeCapturedVariable() sets a misleading value for the 5th operand of op_put_to_scope.
<https://webkit.org/b/140743>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

BytecodeGenerator::initializeCapturedVariable() was setting the 5th operand to
op_put_to_scope to an inappropriate value (i.e. 0).  As a result, the execution
of put_to_scope could store a wrong inferred value into the VariableWatchpointSet
for which ever captured variable is at local index 0.  In practice, this turns
out to be the local for the Arguments object.  In this reproduction case in the
bug, the wrong inferred value written there is the boolean true.

Subsequently, DFG compilation occurs and CreateArguments is emitted to first do
a check of the local for the Arguments object.  But because that local has a
wrong inferred value, the check always discovers a non-null value and we never
actually create the Arguments object.  Immediately after this, an OSR exit
occurs leaving the Arguments object local uninitialized.  Later on at arguments
tear off, we run into a boolean true where we had expected to find an Arguments
object, which in turn, leads to the crash.

The fix is to:
1. In the case where the resolveModeType is LocalClosureVar, change the
   5th operand of op_put_to_scope to be a boolean.  True means that the
   local var is watchable.  False means it is not watchable.  We no longer
   pass the local index (instead of true) and UINT_MAX (instead of false).

   This allows us to express more clearer in the code what that value means,
   as well as remove the redundant way of getting the local's identifier.
   The identifier is always the one passed in the 2nd operand.

2. Previously, though intuitively, we know that the watchable variable
   identifier should be the same as the one that is passed in operand 2, this
   relationship was not clear in the code.  By code analysis, I confirmed that
   the callers of BytecodeGenerator::emitPutToScope() always use the same
   identifier for operand 2 and for filling out the ResolveScopeInfo from
   which we get the watchable variable identifier later.  I've changed the
   code to make this clear now by always using the identifier passed in
   operand 2.

3. In the case where the resolveModeType is LocalClosureVar,
   initializeCapturedVariable() and emitPutToScope() will now query
   hasWatchableVariable() to determine if the local is watchable or not.
   Accordingly, we pass the boolean result of hasWatchableVariable() as
   operand 5 of op_put_to_scope.

Also added some assertions.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::CodeBlock):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::initializeCapturedVariable):
(JSC::BytecodeGenerator::hasConstant):
(JSC::BytecodeGenerator::emitPutToScope):
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::hasWatchableVariable):
(JSC::BytecodeGenerator::watchableVariableIdentifier):
(JSC::BytecodeGenerator::watchableVariable): Deleted.

LayoutTests:

* js/dfg-osr-exit-between-create-and-tearoff-arguments-expected.txt: Added.
* js/dfg-osr-exit-between-create-and-tearoff-arguments.html: Added.
* js/script-tests/dfg-osr-exit-between-create-and-tearoff-arguments.js: Added.
(foo):

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

6 years ago[iOS] run-webkit-tests --ios-sim dies with an error; fails to parse Apple Internal
dbates@webkit.org [Thu, 22 Jan 2015 18:51:56 +0000 (18:51 +0000)]
[iOS] run-webkit-tests --ios-sim dies with an error; fails to parse Apple Internal
runtime in simctl output
https://bugs.webkit.org/show_bug.cgi?id=140751

Reviewed by David Kilzer.

Following the fix for <rdar://problem/19444383>, run-webkit-tests --ios-sim dies
with an error because it does not know how to parse the output of the simctl tool
to identify an Apple Internal runtime.

* Scripts/webkitpy/xcode/simulator.py:
(Runtime.__init__): Add parameter is_internal_runtime (defaults to False).
(Runtime.__eq__): Take is_internal_runtime when comparing two Runtime objects for equality.
(Runtime.__repr__): Update printable representation of Runtime object to indicate whether
the runtime is an internal runtime.
(Simulator): Update regular expressions runtime_re and version_re to match an internal runtime.
(Simulator._parse_runtimes): Pass is_internal_runtime to the Runtime constructor with the
appropriate value.
(Simulator._parse_devices): Pass argument is_internal_runtime to Simulator.runtime() so that
it updates the appropriate Runtime object.
(Simulator.runtime): Added optional parameter, is_internal_runtime. Modified to support
looking up a Runtime object for an internal runtime.

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

6 years ago[Win] More unskips and rebaselines.
bfulgham@apple.com [Thu, 22 Jan 2015 18:25:18 +0000 (18:25 +0000)]
[Win] More unskips and rebaselines.

* platform/win/TestExpectations:
* platform/win/fast/repaint/repaint-across-writing-mode-boundary-expected.png:
* platform/win/fast/repaint/repaint-across-writing-mode-boundary-expected.txt:
* platform/win/inspector-protocol: Added.
* platform/win/inspector-protocol/debugger: Added.
* platform/win/inspector-protocol/debugger/breakpoint-eval-with-exception-expected.txt: Added.
* platform/win/inspector-protocol/debugger/setBreakpoint-actions-expected.txt: Added.
* platform/win/inspector-protocol/debugger/setBreakpoint-dfg-callee-and-examine-dfg-local-expected.txt: Added.
* platform/win/svg/text/kerning-expected.txt:
* platform/win/svg/text/multichar-glyph-expected.txt:
* platform/win/svg/transforms/text-with-mask-with-svg-transform-expected.png:
* platform/win/svg/transforms/text-with-mask-with-svg-transform-expected.txt:

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

6 years agoPropertyListNode::emitNode duplicates the code to put a constant property
rniwa@webkit.org [Thu, 22 Jan 2015 18:07:16 +0000 (18:07 +0000)]
PropertyListNode::emitNode duplicates the code to put a constant property
https://bugs.webkit.org/show_bug.cgi?id=140761

Reviewed by Geoffrey Garen.

Extracted PropertyListNode::emitPutConstantProperty to share the code.

Also made PropertyListNode::emitBytecode private since nobody is calling this function directly.

* bytecompiler/NodesCodegen.cpp:
(JSC::PropertyListNode::emitBytecode):
(JSC::PropertyListNode::emitPutConstantProperty): Added.
* parser/Nodes.h:

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

6 years agoLeaksViewer doesn't show recent builds if there are less than 10
ap@apple.com [Thu, 22 Jan 2015 17:59:08 +0000 (17:59 +0000)]
LeaksViewer doesn't show recent builds if there are less than 10
https://bugs.webkit.org/show_bug.cgi?id=140716

Reviewed by Tim Horton.

* BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/RecentBuildsLoader.js:

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

6 years ago[Win] Unreviewed gardening.
bfulgham@apple.com [Thu, 22 Jan 2015 17:21:59 +0000 (17:21 +0000)]
[Win] Unreviewed gardening.

Activate ENABLE(MOUSE_CURSOR_SCALE). This works on Windows and causes more tests to pass.

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

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