Timeline



Nov 18, 2014:

11:49 PM Changeset in webkit [176311] by Philippe Normand
  • 8 edits in trunk

start/stop method for AudioBufferSourceNodes and OscillatorNodes can take no args
https://bugs.webkit.org/show_bug.cgi?id=138739

Reviewed by Darin Adler.

Source/WebCore:

The patch is inspired by the following Blink revision by
<Raymond Toy>:
<https://src.chromium.org/viewvc/blink?view=rev&revision=160845>

Test: webaudio/dom-exceptions.html

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::start):
(WebCore::AudioBufferSourceNode::startPlaying):
(WebCore::AudioBufferSourceNode::noteGrainOn):
(WebCore::AudioBufferSourceNode::startGrain): Deleted.

  • Modules/webaudio/AudioBufferSourceNode.h:
  • Modules/webaudio/AudioBufferSourceNode.idl:
  • Modules/webaudio/AudioScheduledSourceNode.cpp:

(WebCore::AudioScheduledSourceNode::start):
(WebCore::AudioScheduledSourceNode::stop):

  • Modules/webaudio/AudioScheduledSourceNode.h:
  • Modules/webaudio/OscillatorNode.idl:

LayoutTests:

  • webaudio/dom-exceptions-expected.txt: Added.
  • webaudio/dom-exceptions.html: Added.
10:45 PM Changeset in webkit [176310] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Aad failing test expectations to some tests imported in r176144.

  • platform/win/TestExpectations:
9:41 PM Changeset in webkit [176309] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Use of uninitialized value in string eq in many http tests
https://bugs.webkit.org/show_bug.cgi?id=138852

Reviewed by Daniel Bates.

  • http/tests/security/xssAuditor/resources/echo-intertag.pl: Don't use it uninitialized.
9:13 PM Changeset in webkit [176308] by benjamin@webkit.org
  • 15 edits in trunk/Source/WebKit2

[WK2] Remove the minimalUI code from the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=138819

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

It looks like the only interface we have to keep alive is
[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:minimumLayoutSizeForMinimalUI:maximumUnobscuredSizeOverride:].

Clean up everything else, it is a pile of useless code.

  • UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _didCommitLoadForMainFrame]):
(-[WKWebView _didCommitLayerTree:]):
(-[WKWebView _frameOrBoundsChanged]):
(-[WKWebView _didRelaunchProcess]):
(-[WKWebView _beginAnimatedResizeWithUpdates:]):
(-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:minimumLayoutSizeForMinimalUI:maximumUnobscuredSizeOverride:]):
(-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:maximumUnobscuredSizeOverride:]):
(-[WKWebView _setUsesMinimalUI:]): Deleted.
(-[WKWebView _usesMinimalUI]): Deleted.
(activeMinimumLayoutSizeForMinimalUI): Deleted.
(-[WKWebView _setMinimumLayoutSizeOverrideForMinimalUI:]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewInternal.h:
  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
  • UIProcess/API/ios/WKViewIOS.mm:

(-[WKView _frameOrBoundsChanged]):

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/PageClientImplIOS.h:
  • UIProcess/ios/PageClientImplIOS.mm:

(WebKit::PageClientImpl::setUsesMinimalUI): Deleted.

  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::dynamicViewportSizeUpdate):
(WebKit::WebPageProxy::setViewportConfigurationMinimumLayoutSizeForMinimalUI): Deleted.
(WebKit::WebPageProxy::setUsesMinimalUI): Deleted.

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

(WebKit::WebPage::viewportPropertiesDidChange):
(WebKit::WebPage::dynamicViewportSizeUpdate):
(WebKit::WebPage::setViewportConfigurationMinimumLayoutSizeForMinimalUI): Deleted.

9:12 PM Changeset in webkit [176307] by benjamin@webkit.org
  • 7 edits
    20 adds in trunk

Add the initial implementation of dynamic specificity for :matches()
https://bugs.webkit.org/show_bug.cgi?id=138822

Reviewed by Andreas Kling.

Source/WebCore:

Previously we completely ignored the selector list of :matches() when computing
the specificity of the selector.

The spec (http://dev.w3.org/csswg/selectors4/#specificity) says:
"The specificity of a :matches() pseudo-class, however, is the specificity

of the most specific complex selector that matched the given element."

This patch does just that.

In the CSS JIT, we only consider specificities that can be computed statically
for now, this should be extended later.
When the specificity is dynamic, we fall back to SelectorChecker. In that case,
we execute every selector of the selector list and we keep the maximum value
as the specificity for the whole :matches().

Tests: fast/css/matches-specificity-1.html

fast/css/matches-specificity-2.html
fast/css/matches-specificity-3.html
fast/css/matches-specificity-4.html
fast/css/matches-specificity-5.html
fast/css/matches-specificity-6.html
fast/css/matches-specificity-7.html
fast/css/matches-specificity-8.html
fast/css/matches-specificity-9.html
fast/css/matches-specificity-10.html

  • css/CSSSelector.cpp:

(WebCore::selectorSpecificity):
(WebCore::maxSpecificity):
(WebCore::CSSSelector::specificity):
(WebCore::simpleSelectorSpecificityInternal):
(WebCore::CSSSelector::simpleSelectorSpecificity):
:matches() itself should not have any specificity. The specificity of its components
is computed in SelectorChecker.

Since :matches() is no longer accounted as a class B specificity, I had to finish
the specificity of :not() or some test breaks.

  • css/CSSSelector.h:
  • css/PageRuleCollector.cpp:

(WebCore::comparePageRules):

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):
We can no longer shortcut the execution when context.pseudoElementEffective is false.
There is no guarantee that a following selector wouldn't match with a higher specificity.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):
(WebCore::SelectorCompiler::SelectorCodeGenerator::SelectorCodeGenerator):
(WebCore::SelectorCompiler::constructFragments):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):

LayoutTests:

  • fast/css/matches-specificity-1-expected.html: Added.
  • fast/css/matches-specificity-1.html: Added.
  • fast/css/matches-specificity-2-expected.html: Added.
  • fast/css/matches-specificity-2.html: Added.
  • fast/css/matches-specificity-3-expected.html: Added.
  • fast/css/matches-specificity-3.html: Added.
  • fast/css/matches-specificity-4-expected.html: Added.
  • fast/css/matches-specificity-4.html: Added.
  • fast/css/matches-specificity-5-expected.html: Added.
  • fast/css/matches-specificity-5.html: Added.
  • fast/css/matches-specificity-6-expected.html: Added.
  • fast/css/matches-specificity-6.html: Added.
  • fast/css/matches-specificity-7-expected.html: Added.
  • fast/css/matches-specificity-7.html: Added.
  • fast/css/matches-specificity-8-expected.html: Added.
  • fast/css/matches-specificity-8.html: Added.
  • fast/css/matches-specificity-9-expected.html: Added.
  • fast/css/matches-specificity-9.html: Added.
  • fast/css/matches-specificity-10-expected.html: Added.
  • fast/css/matches-specificity-10.html: Added.
9:08 PM Changeset in webkit [176306] by Conrad Shultz
  • 2 edits in trunk/Source/WebKit2

Unreviewed. Revision to the build fix in r176304.

The guarded method should simply be in the !TARGET_OS_IPHONE block.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
9:06 PM Changeset in webkit [176305] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebKit2

iOS8 new "slow tap" heuristic fires mouse compat events despite preventDefault on touchend
https://bugs.webkit.org/show_bug.cgi?id=137069
rdar://problem/18481464

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

On WebKit2, we let UIWebTouchEventsGestureRecognizer and _UIWebHighlightLongPressGestureRecognizer
run concurrently. This causes a race with an incorrect behavior:
1) If UIWebTouchEventsGestureRecognizer does not cancel the native gestures on start.
2) _UIWebHighlightLongPressGestureRecognizer starts after highlightDelay.
3) When the finger leaves the screen, both gestures end.
-> If the touch end sent to JavaScript in [3] ask the priority over native events, that no longer stops

the _UIWebHighlightLongPressGestureRecognizer.

The two gesture recognizers can run in any order, there is no guarantee on which one runs first.
To solve the bug, I must make sure the _UIWebHighlightLongPressGestureRecognizer never trigger a click
if the page wants the event.

To solve the order problem, I use the fact that event recognition goes in two phases for
non cancelled events:
1) Update the gesture recognizers.
2) Trigger the actions.

I do not know the order of recognizers in [1], but I know both have run before [2] is executed.
I use that to stop _UIWebHighlightLongPressGestureRecognizer from ending with a click in the case of the bug:
1) When _UIWebHighlightLongPressGestureRecognizer starts, I set _highlightLongPressCanClick signaling

the gesture can end normally. This is done on a timer and not direct input so I don't really have to worry
about a race here.

2) When processing the touch event for UIWebTouchEventsGestureRecognizer, I reset the flag _highlightLongPressCanClick

if the page wants the event.

3) When the actions of _UIWebHighlightLongPressGestureRecognizer are processed, the touch event

has already been processed by the page and the flag has been cleared if needed.

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

(-[WKContentView _webTouchEvent:preventsNativeGestures:]):
(-[WKContentView _highlightLongPressRecognized:]):

8:31 PM Changeset in webkit [176304] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit2

iOS build fix after r176299. This method is not defined in WKViewIOS.mm.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
6:42 PM Changeset in webkit [176303] by ddkilzer@apple.com
  • 8 edits in trunk/Source

FeatureDefines.xcconfig: Switch from using PLATFORM_NAME to SDK selectors
<http://webkit.org/b/138813>

Reviewed by Mark Rowe.

  • Configurations/FeatureDefines.xcconfig: Switch to using SDK

selectors.

6:17 PM Changeset in webkit [176302] by rniwa@webkit.org
  • 2 edits in branches/safari-600.2-branch/LayoutTests

nested-multicol-into-region-dynamic.html is flaky on WK1.

  • platform/mac-wk1/TestExpectations:
6:05 PM Changeset in webkit [176301] by Chris Dumez
  • 3 edits
    4 adds in trunk

Crash when setting 'z-index' / 'flex-shrink' CSS properties to a calculated value
https://bugs.webkit.org/show_bug.cgi?id=138783

Reviewed by Andreas Kling.

Source/WebCore:

Update operators converting CSSPrimitiveValue to integer / floating
point types to properly handle calculated values (e.g. 'calc(2 * 3)').
Previously, this was not working in release builds and we would hit an
ASSERT_NOT_REACHED() in debug builds.

Tests: fast/css/flex-shrink-calculated-value.html

fast/css/z-index-calculated-value.html

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::operator unsigned short):
(WebCore::CSSPrimitiveValue::operator int):
(WebCore::CSSPrimitiveValue::operator unsigned):
(WebCore::CSSPrimitiveValue::operator float):

LayoutTests:

Add layout tests to check that settings 'z-index' / 'flex-shrink' CSS
properties to a calculated value does not crash and behaves as
expected.

  • fast/css/flex-shrink-calculated-value-expected.txt: Added.
  • fast/css/flex-shrink-calculated-value.html: Added.
  • fast/css/z-index-calculated-value-expected.txt: Added.
  • fast/css/z-index-calculated-value.html: Added.
5:57 PM Changeset in webkit [176300] by dburkart@apple.com
  • 1 copy in tags/Safari-600.3.7

Tagging.

5:43 PM Changeset in webkit [176299] by Conrad Shultz
  • 4 edits in trunk/Source/WebKit2

Give clients a way to cancel preview popovers
https://bugs.webkit.org/show_bug.cgi?id=138855

Reviewed by Tim Horton.

Promote -[WKView _dismissActionMenuPopovers] from internal to private.

  • UIProcess/API/Cocoa/WKViewPrivate.h:
  • UIProcess/API/mac/WKView.mm:

(-[WKView _dismissActionMenuPopovers]):

  • UIProcess/API/mac/WKViewInternal.h:
5:19 PM Changeset in webkit [176298] by mmaxfield@apple.com
  • 14 edits
    2 moves in trunk

Unreviewed, rolling out r176263 and r176273.
https://bugs.webkit.org/show_bug.cgi?id=138854

Underlines are hideous. (Requested by litherum on #webkit).

Reverted changesets:

"Use underlining metrics from the font file"
https://bugs.webkit.org/show_bug.cgi?id=138762
http://trac.webkit.org/changeset/176263

"iOS build fix."
http://trac.webkit.org/changeset/176273

Patch by Commit Queue <commit-queue@webkit.org> on 2014-11-18# Please enter the commit message for your changes. Lines starting

4:56 PM Changeset in webkit [176297] by Chris Dumez
  • 14 edits in trunk/Source

Add a setting to toggle DOMTimer throttling support
https://bugs.webkit.org/show_bug.cgi?id=138844
<rdar://problem/19020874>

Reviewed by Andreas Kling.

Add a setting to disable DOM timers throttling, in order to help
developers determine if a specific issue is caused by timer
throttling.

Source/WebCore:

  • page/DOMTimer.cpp:

(WebCore::DOMTimerFireState::contextDocument):
(WebCore::DOMTimerFireState::scriptMadeUserObservableChanges):
(WebCore::DOMTimer::isDOMTimersThrottlingEnabled):
(WebCore::DOMTimer::updateThrottlingStateIfNecessary):

  • page/DOMTimer.h:
  • page/Settings.in:

Source/WebKit/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences domTimersThrottlingEnabled]):
(-[WebPreferences setDOMTimersThrottlingEnabled:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

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

(WKPreferencesSetDOMTimersThrottlingEnabled):
(WKPreferencesGetDOMTimersThrottlingEnabled):

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

(WebKit::WebPage::updatePreferences):

4:49 PM Changeset in webkit [176296] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

REGRESSION: Invoking dictionary lookup on text in some search fields searches for
incorrect item
https://bugs.webkit.org/show_bug.cgi?id=138853
-and corresponding-
rdar://problem/18912505

Reviewed by Tim Horton.

Get the visible position based on the frame, not just the renderer.

  • editing/mac/DictionaryLookup.mm:

(WebCore::rangeForDictionaryLookupAtHitTestResult):

4:37 PM Changeset in webkit [176295] by hyatt@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION (r167210): Invalid cast in WebCore::RenderBlock::blockSelectionGaps
https://bugs.webkit.org/show_bug.cgi?id=137590

Reviewed by Dean Jackson.

Source/WebCore:

Added fast/block/selection-block-gaps-crash.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::blockSelectionGaps):
Check that we really are a RenderBlock before recurring.

LayoutTests:

  • fast/block/selection-block-gap-crash-expected.txt: Added.
  • fast/block/selection-block-gap-crash.html: Added.
4:20 PM Changeset in webkit [176294] by akling@apple.com
  • 4 edits in trunk

Avoid synchronous style recalc in Document.activeElement
<https://webkit.org/b/138850>

Reviewed by Ryosuke Niwa.

Source/WebCore:

This subtly changes the behavior of <input autofocus>, which was caught by
a layout test. Auto-focus doesn't happen until the render tree is attached,
although it was possible to force it by accessing document.activeElement.

Now auto-focus is always lazy. This is consistent with other browser engines.

~1% progression on Speedometer locally.

  • dom/Document.cpp:

(WebCore::Document::activeElement):

LayoutTests:

Tweak a test to run once the DOM is loaded instead of during parsing.

  • fast/forms/autofocus-in-sandbox-with-allow-scripts.html:
4:17 PM Changeset in webkit [176293] by Chris Dumez
  • 5 edits in trunk/Source

Have Vector::capacity() return an unsigned instead of a size_t
https://bugs.webkit.org/show_bug.cgi?id=138842

Reviewed by Andreas Kling.

Source/WebCore:

Update the code base now that Vector::capacity() returns an unsigned
type instead of a size_t.

No new tests, no behavior change.

  • editing/TextIterator.cpp:

(WebCore::SearchBuffer::append):
(WebCore::SearchBuffer::prependContext):
(WebCore::SearchBuffer::search):
(WebCore::SearchBuffer::length):

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::duplicateDataBufferIfNecessary):

Source/WTF:

Have Vector::capacity() return an unsigned instead of a size_t as
capacity is stored as an unsigned internally.

  • wtf/Vector.h:

(WTF::Vector::capacity):
(WTF::OverflowHandler>::expandCapacity):
(WTF::OverflowHandler>::tryExpandCapacity):

3:07 PM Changeset in webkit [176292] by Simon Fraser
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merge r175679. rdar://problem/18978404

3:07 PM Changeset in webkit [176291] by Simon Fraser
  • 5 edits
    4 adds in branches/safari-600.3-branch

Merge r175656. rdar://problem/18978402

3:06 PM Changeset in webkit [176290] by ggaren@apple.com
  • 13 edits in trunk/Source

Removed the custom allocator for ListHashSet nodes
https://bugs.webkit.org/show_bug.cgi?id=138841

Reviewed by Andreas Kling.

Source/WebCore:

Uses of ListHashSet no longer need to declare an inline capacity,
since that was only used to specify the capacity of the custom allocator.

  • dom/DOMNamedFlowCollection.h:
  • dom/DocumentEventQueue.h:
  • dom/DocumentStyleSheetCollection.h:
  • dom/NamedFlowCollection.h:
  • html/FormController.h:
  • rendering/FloatingObjects.h:
  • rendering/RenderBlock.h:

Source/WebKit2:

Uses of ListHashSet no longer need to declare an inline capacity,
since that was only used to specify the capacity of the custom allocator.

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::PluginInfoStore::loadPluginsIfNecessary):

Source/WTF:

bmalloc is fast, so we don't need a custom allocator.

The MallocBench test for linked list node allocation (list_allocate) is
4.09X faster in bmalloc than TCMalloc. Also, I wrote a stress test to
add/remove link elements, which modify a ListHashSet on insertion and
removal, and it was 1% faster / in the noise with bmalloc enabled.

  • wtf/ListHashSet.h:

(WTF::ListHashSetNode::ListHashSetNode):
(WTF::ListHashSetTranslator::translate):
(WTF::U>::ListHashSet):
(WTF::=):
(WTF::U>::swap):
(WTF::U>::~ListHashSet):
(WTF::U>::size):
(WTF::U>::capacity):
(WTF::U>::isEmpty):
(WTF::U>::first):
(WTF::U>::removeFirst):
(WTF::U>::takeFirst):
(WTF::U>::last):
(WTF::U>::removeLast):
(WTF::U>::takeLast):
(WTF::U>::contains):
(WTF::U>::remove):
(WTF::U>::clear):
(WTF::U>::unlink):
(WTF::U>::unlinkAndDelete):
(WTF::U>::appendNode):
(WTF::U>::prependNode):
(WTF::U>::insertNodeBefore):
(WTF::U>::deleteAllNodes):
(WTF::ListHashSetNodeAllocator::ListHashSetNodeAllocator): Deleted.
(WTF::ListHashSetNodeAllocator::allocate): Deleted.
(WTF::ListHashSetNodeAllocator::deallocate): Deleted.
(WTF::ListHashSetNodeAllocator::pool): Deleted.
(WTF::ListHashSetNodeAllocator::pastPool): Deleted.
(WTF::ListHashSetNodeAllocator::inPool): Deleted.
(WTF::ListHashSetNode::operator new): Deleted.
(WTF::ListHashSetNode::destroy): Deleted.

2:57 PM Changeset in webkit [176289] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix after r176283.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:
2:54 PM Changeset in webkit [176288] by timothy_horton@apple.com
  • 7 edits in trunk/Source

Avoid re-encoding action menu image data
https://bugs.webkit.org/show_bug.cgi?id=138817
<rdar://problem/18840382>

Reviewed by Anders Carlsson.

  • Shared/mac/ActionMenuHitTestResult.h:
  • Shared/mac/ActionMenuHitTestResult.mm:

(WebKit::ActionMenuHitTestResult::encode):
(WebKit::ActionMenuHitTestResult::decode):
Store and encode a SharedMemory with the raw encoded image data,
instead of re-painting the image into a ShareableBitmap.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _hitTestResultImage]):
(-[WKActionMenuController _defaultMenuItemsForImage]):
(-[WKActionMenuController _copyImage:]):
(-[WKActionMenuController _addImageToPhotos:]):
(-[WKActionMenuController _defaultMenuItems]):
(-[WKActionMenuController _canAddMediaToPhotos]): Deleted.
Build a temporary filename from a UUID and the image's desired extension.
Use the Image's encoded data instead of re-encoding it with CGImageDestination.
Build an image menu only if we have an image, URL, data, and extension.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performActionMenuHitTestAtLocation):

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _defaultMenuItemsForImage:]):
(-[WebActionMenuController _addImageToPhotos:]):
Build a temporary filename from a UUID and the image's desired extension.
Use the Image's encoded data instead of re-encoding it with CGImageDestination.
Build an image menu only if we have an image, URL, data, and extension.

2:51 PM Changeset in webkit [176287] by hyatt@apple.com
  • 3 edits
    2 adds in trunk

REGRESSION(r152313): Inline-block element doesn't wrap properly
https://bugs.webkit.org/show_bug.cgi?id=138846 - <rdar://problem/18838703>

Reviewed by Simon Fraser.

Source/WebCore:

Added fast/inline-block/inline-block-empty-spans.html

  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::BreakingContext::canBreakAtThisPosition):

LayoutTests:

  • fast/inline-block/inline-block-empty-spans-expected.html: Added.
  • fast/inline-block/inline-block-empty-spans.html: Added.
2:45 PM Changeset in webkit [176286] by rniwa@webkit.org
  • 2 edits in branches/safari-600.2-branch/LayoutTests

Add test expectations.

  • platform/mac/TestExpectations:
2:40 PM Changeset in webkit [176285] by mmaxfield@apple.com
  • 3 edits
    2 adds in trunk

Multicolumn layout with negative line spacing and orphans causes pieces of letters to be shown at the bottom of columns
https://bugs.webkit.org/show_bug.cgi?id=138204

Source/WebCore:

Reviewed by Dave Hyatt.

This code is responsible for pushing block elements to the next column if
the "orphans" CSS property is triggered. The mechanism by which this is
achieved is to push the block down such that the origin of the block is
at the origin of the next column. However, if there is negative line
spacing, the top portion of the text might actually be on top of the
origin of the block. Therefore, the block wasn't being pushed down enough
to entirely contain its text, so the top pieces were being drawn on the
previous column.

Test: fast/multicol/orphans-negative-line-spacing.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::adjustLinePositionForPagination):

LayoutTests:

Patch by Myles C. Maxfield <litherum@gmail.com> on 2014-11-18
Reviewed by Dave Hyatt.

Create a layout where the "orphans" css property causes a block element to
be pushed to the next column.

  • fast/multicol/orphans-negative-line-spacing-expected.html: Added.
  • fast/multicol/orphans-negative-line-spacing.html: Added.
2:10 PM Changeset in webkit [176284] by dburkart@apple.com
  • 6 edits in branches/safari-600.3-branch/Source

Merge r176166. rdar://problem/18953982

2:10 PM Changeset in webkit [176283] by eric.carlson@apple.com
  • 5 edits in trunk/Source/WebKit2

[iOS] allow host application to opt-out of alternate fullscreen
https://bugs.webkit.org/show_bug.cgi?id=138787

Reviewed by Sam Weinig.

"allowsAlternateFullscreen" doesn't need to be in the public WKWebView header.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]): allowsAlternateFullscreen -> _allowsAlternateFullscreen.

  • UIProcess/API/Cocoa/WKWebViewConfiguration.h: Remove allowsAlternateFullscreen.
  • UIProcess/API/Cocoa/WKWebViewConfiguration.mm:

(-[WKWebViewConfiguration _allowsAlternateFullscreen]): New.
(-[WKWebViewConfiguration _setAllowsAlternateFullscreen:]): New.

  • UIProcess/API/Cocoa/WKWebViewConfigurationPrivate.h: Declare _allowsAlternateFullscreen.
2:05 PM Changeset in webkit [176282] by Chris Dumez
  • 3 edits
    2 adds in trunk

DOMTimers sometimes don't get unthrottled on scrolling
https://bugs.webkit.org/show_bug.cgi?id=138838

Reviewed by Antti Koivisto.

Source/WebCore:

DOMTimers sometimes didn't get unthrottled on scrolling. This is
because we stopped listening for viewport changes every time the
timer fires, but we didn't listen for those changes again if we
decided the timer should stay throttled after the timer's action
was executed.

We should listen for viewport changes again after executing the
timer's action, if there are elements outside the viewport causing
the DOMTimer to be throttled, even if the throttleState hasn't
changed (i.e the timer stays throttled).

Test: fast/dom/timer-unthrottle-on-scroll.html

  • page/DOMTimer.cpp:

(WebCore::DOMTimer::updateThrottlingStateIfNecessary):
(WebCore::DOMTimer::updateTimerIntervalIfNecessary):
(WebCore::DOMTimer::updateThrottlingStateAfterViewportChange):

LayoutTests:

Add a layout test to verify that DOMTimers get unthrottled on scroll if
the element whose style they are changing is inside the viewport after
the scroll.

  • fast/dom/timer-unthrottle-on-scroll-expected.txt: Added.
  • fast/dom/timer-unthrottle-on-scroll.html: Added.
1:28 PM Changeset in webkit [176281] by dburkart@apple.com
  • 28 edits
    1 copy in branches/safari-600.3-branch/Source

Merge r176164. rdar://problem/18953982

1:01 PM Changeset in webkit [176280] by dburkart@apple.com
  • 21 edits in branches/safari-600.3-branch/Source

Merge r176108. rdar://problem/19005904

12:59 PM Changeset in webkit [176279] by Csaba Osztrogonác
  • 4 edits in trunk/Tools

Remove the WinCairo buildbot
https://bugs.webkit.org/show_bug.cgi?id=138805

Reviewed by Alex Christensen.

  • BuildSlaveSupport/build.webkit.org-config/config.json:
  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(appendCustomBuildFlags):

  • BuildSlaveSupport/test-result-archive:

(archiveTestResults):

12:56 PM Changeset in webkit [176278] by dbates@webkit.org
  • 8 edits in trunk/Source/WebCore

[iOS] Make WebCore build and link with public SDK
https://bugs.webkit.org/show_bug.cgi?id=136487

Patch by Daniel Bates <dbates@webkit.org> on 2014-11-18
Reviewed by David Kilzer.

  • bindings/objc/DOMInternal.mm: Include header NSMapTableSPI.h.
  • bindings/objc/WebScriptObject.mm: Ditto; Also fix style nit, substitute

#import for #include when importing header WTFString.h.

  • bridge/objc/objc_instance.mm: Include header NSMapTableSPI.h and remove

#import NSMapTable.h as the former will import the latter.

  • platform/ios/PlatformEventFactoryIOS.mm: Include header wtf/CurrentTime.h

for the declaration of WTF::currentTime().

  • platform/ios/wak/WebCoreThread.mm: Remove unnecessary include of header CoreFoundation/CFPriv.h.
  • platform/spi/ios/AVKitSPI.h: Add more SPI.
  • platform/spi/ios/MPAVRoutingControllerSPI.h: Ditto.
12:12 PM Changeset in webkit [176277] by rniwa@webkit.org
  • 2 edits in trunk/Websites/perf.webkit.org

Unreviewed. Updated the install instruction.

  • Install.md:
12:04 PM Changeset in webkit [176276] by mmaxfield@apple.com
  • 21 edits
    1 copy
    1 add in trunk/Source

Subclass CachedFont for SVG fonts
https://bugs.webkit.org/show_bug.cgi?id=138686

Reviewed by Simon Fraser.

Re-landing due to flakey bots.

Source/WebCore:

CachedFont had many #if ENABLE(SVG_FONTS) scattered throughout it.
Splitting out this SVG-specific code into a subclass of CachedFont
cleans up the design.

No new tests because there is no behavior change.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::getFontData): There are two sections
in this function; one for SVG fonts and one for regular fonts.
I've moved these two sections into CachedFont and SVGCachedFont,
thereby simplifying this function.
(WebCore::CSSFontFaceSource::ensureFontData): Ditto.
(WebCore::CSSFontFaceSource::svgFontFaceElement): Moved to header.
(WebCore::CSSFontFaceSource::setSVGFontFaceElement): Ditto.
(WebCore::CSSFontFaceSource::isSVGFontFaceSource): Ditto.

  • css/CSSFontFaceSource.h: Put functions that are simple enough to

be inlined here.

  • css/CSSFontFaceSrcValue.cpp:

(WebCore::CSSFontFaceSrcValue::isSVGFontTarget): Convenience
function.
(WebCore::CSSFontFaceSrcValue::cachedFont): Pass through a boolean
from CSSFontSelector to CachedResourceHandle regarding if we should
be using SVGCachedFont instead of CachedFont.

  • css/CSSFontFaceSrcValue.h: New convenience function.
  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::addFontFaceRule): Pass through a boolean

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResourceType): Update for new
CachedResource type
(WebCore::cachedResourcesForFrame): Ditto.

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::CachedFont):
(WebCore::CachedFont::ensureCustomFontData): Taken from
CSSFontFaceSource::getFontData()
(WebCore::CachedFont::getFontData): Ditto.
(WebCore::CachedFont::platformDataFromCustomData): Ditto.
(WebCore::CachedFont::ensureSVGFontData): Moved to SVGCachedFont.
(WebCore::CachedFont::getSVGFontById): Ditto.

  • loader/cache/CachedFont.h:
  • loader/cache/CachedResource.cpp:

(WebCore::defaultPriorityForResourceType): Update for new enum
type.

  • loader/cache/CachedResource.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::createResource): Takes new boolean.
(WebCore::CachedResourceLoader::requestFont): Ditto.
(WebCore::CachedResourceLoader::checkInsecureContent): Update for
new enum type
(WebCore::CachedResourceLoader::canRequest): Ditto.

  • loader/cache/CachedResourceLoader.h:
  • loader/cache/CachedSVGFont.cpp: Added.

(WebCore::CachedSVGFont::CachedSVGFont): Moved from
CSSFontFaceSource::getFontData() and CachedFont
(WebCore::CachedSVGFont::getFontData): Ditto.
(WebCore::CachedSVGFont::platformDataFromCustomData): Ditto.
(WebCore::CachedSVGFont::ensureCustomFontData): Ditto.
(WebCore::CachedSVGFont::getSVGFontById): Ditto.
(WebCore::CachedSVGFont::firstFontFace): Ditto.

  • loader/cache/CachedSVGFont.h: Subclass CachedFont.
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::getStatistics): Update for new enum.

  • svg/SVGFontFaceUriElement.cpp:

(WebCore::isSVGFontTarget): Convenience function.
(WebCore::SVGFontFaceUriElement::loadFont): Update for new
boolean.

Source/WebKit2:

Update for enum type.

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::maximumBufferingTime):

11:56 AM Changeset in webkit [176275] by Chris Dumez
  • 21 edits in trunk/Source

Update the Vector API to deal with unsigned types instead of size_t
https://bugs.webkit.org/show_bug.cgi?id=138824

Reviewed by Andreas Kling.

Source/JavaScriptCore:

Update code base to fix build errors related to the typing changes
in the Vector API (size_t -> unsigned).

  • bytecode/PreciseJumpTargets.cpp:
  • replay/EncodedValue.h:

Source/WebCore:

Update code base to fix build errors related to the typing changes
in the Vector API (size_t -> unsigned).

No new tests, no behavior change.

  • WebCore.exp.in:
  • bindings/js/JSDOMBinding.h:

(WebCore::jsArray):

  • bindings/js/JSWebGLRenderingContextCustom.cpp:
  • cssjit/SelectorCompiler.cpp:
  • html/HTMLFormElement.cpp:

(WebCore::removeFromVector):

  • html/parser/HTMLParserIdioms.h:
  • html/parser/XSSAuditor.cpp:

Source/WebKit2:

Update code base to fix build errors related to the typing changes
in the Vector API (size_t -> unsigned).

  • Platform/IPC/ArgumentCoders.h:
  • Platform/IPC/DataReference.h:

Source/WTF:

Update part of the Vector API to deal with unsigned types instead of
size_t. The Vector class is already using unsigned type for its
capacity and size data members. However, the Vector API was never
updated accordingly.

The rest of the Vector API will be ported in follow-up patches to
make the change smaller and more easily reviewable.

  • wtf/Forward.h:
  • wtf/Vector.h:

(WTF::VectorTypeOperations::compare):
(WTF::VectorBufferBase::allocateBuffer):
(WTF::VectorBufferBase::tryAllocateBuffer):
(WTF::VectorBufferBase::shouldReallocateBuffer):
(WTF::VectorBufferBase::reallocateBuffer):
(WTF::VectorBufferBase::capacity):
(WTF::VectorBufferBase::VectorBufferBase):
(WTF::VectorBuffer::VectorBuffer):
(WTF::VectorBuffer::allocateBuffer):
(WTF::VectorBuffer::tryAllocateBuffer):
(WTF::VectorBuffer::shouldReallocateBuffer):
(WTF::VectorBuffer::reallocateBuffer):
(WTF::VectorBuffer::swap):
(WTF::VectorBuffer::swapInlineBuffer):
(WTF::VectorBuffer::swapInlineBuffers):
(WTF::Vector::Vector):
(WTF::Vector::at):
(WTF::Vector::operator[]):
(WTF::OverflowHandler>::find):
(WTF::OverflowHandler>::reverseFind):
(WTF::OverflowHandler>::fill):
(WTF::OverflowHandler>::expandCapacity):
(WTF::OverflowHandler>::tryExpandCapacity):
(WTF::OverflowHandler>::resize):
(WTF::OverflowHandler>::resizeToFit):
(WTF::OverflowHandler>::shrink):
(WTF::OverflowHandler>::grow):
(WTF::OverflowHandler>::reserveCapacity):
(WTF::OverflowHandler>::tryReserveCapacity):
(WTF::OverflowHandler>::reserveInitialCapacity):
(WTF::OverflowHandler>::shrinkCapacity):
(WTF::OverflowHandler>::append):
(WTF::OverflowHandler>::tryAppend):
(WTF::OverflowHandler>::insert):
(WTF::OverflowHandler>::insertVector):
(WTF::OverflowHandler>::remove):
(WTF::OverflowHandler>::reverse):
(WTF::OverflowHandler>::checkConsistency):

  • wtf/text/AtomicString.h:
  • wtf/text/StringImpl.h:

(WTF::StringImpl::adopt):
(WTF::equalIgnoringNullity):

  • wtf/text/StringView.h:

(WTF::append):

  • wtf/text/WTFString.h:
11:32 AM Changeset in webkit [176274] by mmaxfield@apple.com
  • 1 edit in trunk/Source/WebCore/ChangeLog

Unreviewed iOS build fix

  • platform/graphics/ios/SimpleFontDataIOS.mm:

(WebCore::SimpleFontData::platformInit):

11:31 AM Changeset in webkit [176273] by mitz@apple.com
  • 2 edits in trunk/Source/WebCore

iOS build fix.

  • platform/graphics/ios/SimpleFontDataIOS.mm:

(WebCore::SimpleFontData::platformInit):

11:31 AM Changeset in webkit [176272] by matthew_hanson@apple.com
  • 1 edit
    2 adds in branches/safari-600.2-branch/LayoutTests

Merge missing layout tests which were added to trunk in r175197.
rdar://problem/18976843

  • css3/infinite-word-spacing-expected.txt: Added.
  • css3/infinite-word-spacing.html: Added.
11:24 AM Changeset in webkit [176271] by matthew_hanson@apple.com
  • 1 edit
    2 adds in branches/safari-600.3-branch/LayoutTests

Merge missing layout tests which were added to trunk in r175197.
rdar://problem/18976843

  • css3/infinite-word-spacing-expected.txt: Added.
  • css3/infinite-word-spacing.html: Added.
11:14 AM Changeset in webkit [176270] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merge r175765. rdar://problem/19005917

11:10 AM Changeset in webkit [176269] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WTF

[WinCairo] Compile errors when GStreamer is enabled.
https://bugs.webkit.org/show_bug.cgi?id=137000

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-11-18
Reviewed by Philippe Normand.

MSVC does not allow the keyword default on move constructors and move assignment operators.

  • wtf/gobject/GMainLoopSource.cpp:

(WTF::GMainLoopSource::cancel):
(WTF::GMainLoopSource::socketCallback):

  • wtf/gobject/GMainLoopSource.h:

(WTF::GMainLoopSource::Context::operator=):

11:08 AM Changeset in webkit [176268] by dburkart@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebInspectorUI

Merge r175763. rdar://problem/19005901

10:52 AM Changeset in webkit [176267] by commit-queue@webkit.org
  • 21 edits
    2 deletes in trunk/Source

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

caused many test failures (Requested by litherum on #webkit).

Reverted changeset:

"Subclass CachedFont for SVG fonts"
https://bugs.webkit.org/show_bug.cgi?id=138686
http://trac.webkit.org/changeset/176264

10:14 AM Changeset in webkit [176266] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

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

Not ready yet (Requested by ap on #webkit).

Reverted changeset:

"Update WebKit to build with LLVM TOT"
https://bugs.webkit.org/show_bug.cgi?id=138519
http://trac.webkit.org/changeset/176207

10:05 AM Changeset in webkit [176265] by dbates@webkit.org
  • 15 edits
    6 copies in trunk

[iOS] Libdispatch, Dyld, IOKit, Mach, NSPointerFunctions, MobileGestalt
SPI are not available in public SDK
https://bugs.webkit.org/show_bug.cgi?id=138802

Reviewed by David Kilzer.

Source/WebCore:

Add SPI wrapper headers {Dispatch, DynamicLinker, IOPMLib, MachVM, NSPointerFunctions, MobileGestalt}SPI.h
that forward declare applicable libdispatch, dyld, IOKit, mach, Foundation, MobileGestalt SPI
and use these headers instead of the including private headers corresponding to these libraries/frameworks.

  • WebCore.xcodeproj/project.pbxproj: Add private headers MobileGestaltSPI.h and

MachVMSPI.h, and project headers DynamicLinkerSPI.h, NSPointerFunctionsSPI.h,
DispatchSPI.h and IOPMLibSPI.h. Also, sort files in Xcode project.

  • bindings/objc/DOMInternal.mm: Include header NSPointerFunctionsSPI.h.
  • bridge/objc/objc_instance.mm: Ditto; Also, sort #import directives.
  • platform/cocoa/DisplaySleepDisablerCocoa.cpp: Substitute header IOPMLibSPI.h

for private header IOKit/pwr_mgt/IOPMLib.h.

  • platform/cocoa/MemoryPressureHandlerCocoa.mm: Substitute header DispatchSPI.h

for private header dispatch/private.h.

  • platform/graphics/ios/FontServicesIOS.mm: Substitute header DynamicLinkerSPI.h

for private header mach-o/dyld_priv.h.

  • platform/ios/PlatformScreenIOS.mm: Substitute header MobileGestaltSPI.h for

private header MobileGestalt.h.

  • platform/spi/cocoa/DispatchSPI.h: Added.
  • platform/spi/cocoa/DynamicLinkerSPI.h: Added.
  • platform/spi/cocoa/IOPMLibSPI.h: Added.
  • platform/spi/cocoa/MachVMSPI.h: Added.
  • platform/spi/cocoa/NSPointerFunctionsSPI.h: Added.
  • platform/spi/ios/MobileGestaltSPI.h: Added.

Source/WebKit/mac:

Include headers DispatchSPI.h and MobileGestaltSPI.h instead of including
libdispatch and MobileGestalt headers directly.

  • WebView/WebView.mm:

Source/WebKit2:

Include headers DispatchSPI.h and MachVMSPI.h.h instead of including
libdispatch and Mach headers directly.

  • Platform/mac/SharedMemoryMac.cpp:
  • UIProcess/ios/WebMemoryPressureHandlerIOS.mm:

Tools:

Include header MachVMSPI.h instead of including the private header mach/mach_vm.h.

  • DumpRenderTree/mac/CheckedMalloc.cpp:
10:04 AM Changeset in webkit [176264] by mmaxfield@apple.com
  • 21 edits
    1 copy
    1 add in trunk/Source

Subclass CachedFont for SVG fonts
https://bugs.webkit.org/show_bug.cgi?id=138686

Reviewed by Simon Fraser.

Source/WebCore:

CachedFont had many #if ENABLE(SVG_FONTS) scattered throughout it.
Splitting out this SVG-specific code into a subclass of CachedFont
cleans up the design.

No new tests because there is no behavior change.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::getFontData): There are two sections
in this function; one for SVG fonts and one for regular fonts.
I've moved these two sections into CachedFont and SVGCachedFont,
thereby simplifying this function.
(WebCore::CSSFontFaceSource::ensureFontData): Ditto.
(WebCore::CSSFontFaceSource::svgFontFaceElement): Moved to header.
(WebCore::CSSFontFaceSource::setSVGFontFaceElement): Ditto.
(WebCore::CSSFontFaceSource::isSVGFontFaceSource): Ditto.

  • css/CSSFontFaceSource.h: Put functions that are simple enough to

be inlined here.

  • css/CSSFontFaceSrcValue.cpp:

(WebCore::CSSFontFaceSrcValue::isSVGFontTarget): Convenience
function.
(WebCore::CSSFontFaceSrcValue::cachedFont): Pass through a boolean
from CSSFontSelector to CachedResourceHandle regarding if we should
be using SVGCachedFont instead of CachedFont.

  • css/CSSFontFaceSrcValue.h: New convenience function.
  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::addFontFaceRule): Pass through a boolean

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::cachedResourceType): Update for new
CachedResource type
(WebCore::cachedResourcesForFrame): Ditto.

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::CachedFont):
(WebCore::CachedFont::ensureCustomFontData): Taken from
CSSFontFaceSource::getFontData()
(WebCore::CachedFont::getFontData): Ditto.
(WebCore::CachedFont::platformDataFromCustomData): Ditto.
(WebCore::CachedFont::ensureSVGFontData): Moved to SVGCachedFont.
(WebCore::CachedFont::getSVGFontById): Ditto.

  • loader/cache/CachedFont.h:
  • loader/cache/CachedResource.cpp:

(WebCore::defaultPriorityForResourceType): Update for new enum
type.

  • loader/cache/CachedResource.h:
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::createResource): Takes new boolean.
(WebCore::CachedResourceLoader::requestFont): Ditto.
(WebCore::CachedResourceLoader::checkInsecureContent): Update for
new enum type
(WebCore::CachedResourceLoader::canRequest): Ditto.

  • loader/cache/CachedResourceLoader.h:
  • loader/cache/CachedSVGFont.cpp: Added.

(WebCore::CachedSVGFont::CachedSVGFont): Moved from
CSSFontFaceSource::getFontData() and CachedFont
(WebCore::CachedSVGFont::getFontData): Ditto.
(WebCore::CachedSVGFont::platformDataFromCustomData): Ditto.
(WebCore::CachedSVGFont::ensureCustomFontData): Ditto.
(WebCore::CachedSVGFont::getSVGFontById): Ditto.
(WebCore::CachedSVGFont::firstFontFace): Ditto.

  • loader/cache/CachedSVGFont.h: Subclass CachedFont.
  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::getStatistics): Update for new enum.

  • svg/SVGFontFaceUriElement.cpp:

(WebCore::isSVGFontTarget): Convenience function.
(WebCore::SVGFontFaceUriElement::loadFont): Update for new
boolean.

Source/WebKit2:

Update for enum type.

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::maximumBufferingTime):

10:04 AM Changeset in webkit [176263] by mmaxfield@apple.com
  • 14 edits
    2 moves in trunk

Use underlining metrics from the font file
https://bugs.webkit.org/show_bug.cgi?id=138762

Patch by Myles C. Maxfield <litherum@gmail.com> on 2014-11-18
Reviewed by Dave Hyatt.

Source/WebCore:

Test: platform/mac/fast/css3-text/css3-text-decoration/text-decoration-thickness.html

  • platform/graphics/FontMetrics.h: Adding variables for text decoration thickness and

underline position.
(WebCore::FontMetrics::FontMetrics):
(WebCore::FontMetrics::decorationThickness):
(WebCore::FontMetrics::setDecorationThickness):
(WebCore::FontMetrics::underlinePosition):
(WebCore::FontMetrics::setUnderlinePosition):

  • platform/graphics/freetype/SimpleFontDataFreeType.cpp:

(WebCore::SimpleFontData::platformInit): Initialize new FontMetrics members.

  • platform/graphics/ios/SimpleFontDataIOS.mm:

(WebCore::SimpleFontData::platformInit): Ditto.

  • platform/graphics/mac/SimpleFontDataMac.mm:

(WebCore::SimpleFontData::platformInit): Ditto.

  • platform/graphics/win/SimpleFontDataCGWin.cpp:

(WebCore::SimpleFontData::platformInit): Ditto.

  • platform/graphics/win/SimpleFontDataCairoWin.cpp:

(WebCore::SimpleFontData::platformInit): Ditto.

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore::SimpleFontData::initGDIFont): Ditto.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration): Use FontMetrics data.

  • style/InlineTextBoxStyle.cpp:

(WebCore::computeUnderlineOffset): Ditto.
(WebCore::visualOverflowForDecorations): Ditto.

  • style/InlineTextBoxStyle.h:

(WebCore::textDecorationStrokeThickness): Deleted.

  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::initializeFontData): Initialize new FontMetrics members.

LayoutTests:

This patch makes underline placement platform-dependent.

  • platform/mac/fast/css3-text/css3-text-decoration/text-decoration-thickness-expected.html: Renamed from LayoutTests/fast/css3-text/css3-text-decoration/text-decoration-thickness-expected.html.
  • platform/mac/fast/css3-text/css3-text-decoration/text-decoration-thickness.html: Renamed from LayoutTests/fast/css3-text/css3-text-decoration/text-decoration-thickness.html.
9:54 AM Changeset in webkit [176262] by hyatt@apple.com
  • 8 edits
    2 adds in trunk

Improve Ruby selection (getting rid of overlap and improving gap filling)
https://bugs.webkit.org/show_bug.cgi?id=138250

Reviewed by Dean Jackson.

Source/WebCore:

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::blockSelectionGaps):
Add Ruby text in along with the Ruby base.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::inlineSelectionGaps):
Don't let block gaps get filled in here.

  • rendering/RenderRubyBase.h:

Expose accessor to the ruby run.

  • rendering/RenderRubyText.cpp:

(WebCore::RenderRubyText::rubyRun):

  • rendering/RenderRubyText.h:

Add accessor to the ruby run.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::selectionTop):
(WebCore::RootInlineBox::selectionBottom):
Improve selectionTop and selectionBottom of ruby bases to avoid the
ruby text. Improve the selectionTop and selectionBottom of ruby texts
to fill the gap up to the previous/next line as appropriate.

LayoutTests:

Added fast/repaint/selection-ruby-rl.html

  • fast/repaint/selection-ruby-rl-expected.txt: Added.
  • fast/repaint/selection-ruby-rl.html: Added.
9:45 AM Changeset in webkit [176261] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

crypto: Use sequence<> instead of KeyUsage[] in IDL.
https://bugs.webkit.org/show_bug.cgi?id=138823

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-11-18
Reviewed by Darin Adler.

Use sequence<KeyUsage> instead of KeyUsage[] in crypto IDL as per spec: https://dvcs.w3.org/hg/webcrypto-api/raw-file/tip/spec/
Overview.html#SubtleCrypto-method-generateKey

No new tests, no behavior change.

  • crypto/SubtleCrypto.idl:
9:21 AM Changeset in webkit [176260] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix after /webkit2/WebKitWebView/default-context r176256.

Forgot to fix this test before landing.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(testWebViewDefaultContext):

8:31 AM Changeset in webkit [176259] by Philippe Normand
  • 10 edits in trunk/Source/WebCore

HRTFDatabaseLoader is not an absolute condition to run audioContext
https://bugs.webkit.org/show_bug.cgi?id=138829

Reviewed by Jer Noble.

This patch is a port of the following Blink revision by
<keonho07.kim@samsung.com>:
<https://src.chromium.org/viewvc/blink?revision=167887&view=revision>

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::isRunnable): Deleted.

  • Modules/webaudio/AudioContext.h:

(WebCore::AudioContext::hrtfDatabaseLoader): Deleted.

  • Modules/webaudio/AudioDestinationNode.cpp:

(WebCore::AudioDestinationNode::render):

  • Modules/webaudio/OfflineAudioDestinationNode.cpp:

(WebCore::OfflineAudioDestinationNode::offlineRender):

  • Modules/webaudio/PannerNode.cpp:

(WebCore::PannerNode::PannerNode):
(WebCore::PannerNode::process):
(WebCore::PannerNode::initialize):
(WebCore::PannerNode::setPanningModel):

  • Modules/webaudio/PannerNode.h:
  • Modules/webaudio/RealtimeAnalyser.cpp:
  • Modules/webaudio/RealtimeAnalyser.h:
  • platform/audio/HRTFDatabaseLoader.cpp:

(WebCore::HRTFDatabaseLoader::createAndLoadAsynchronouslyIfNecessary):

8:09 AM Changeset in webkit [176258] by commit-queue@webkit.org
  • 29 edits
    5 deletes in trunk

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

seems to have caused regressions on the perf bots (Requested
by lajava on #webkit).

Reverted changeset:

"[CSS Grid Layout] Upgrade align-self and align-items parsing
to CSS 3"
https://bugs.webkit.org/show_bug.cgi?id=133359
http://trac.webkit.org/changeset/176218

7:24 AM Changeset in webkit [176257] by mihnea@adobe.com
  • 5 edits in trunk/LayoutTests

fast/multicol/newmulticol tests use a non-existent resource
https://bugs.webkit.org/show_bug.cgi?id=138800

Reviewed by Andrei Bucur.

Fix path in tests.

  • fast/multicol/newmulticol/compare-with-old-impl/shrink-to-column-height-for-pagination-expected.html:
  • fast/multicol/newmulticol/compare-with-old-impl/shrink-to-column-height-for-pagination.html:
  • fast/multicol/newmulticol/float-multicol-expected.html:
  • fast/multicol/newmulticol/float-multicol.html:
6:19 AM Changeset in webkit [176256] by Carlos Garcia Campos
  • 31 edits in trunk

[GTK] Add API to create a WebKitWebContext
https://bugs.webkit.org/show_bug.cgi?id=138826

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

We have always used a default web context without providing API to
create others. The main reason was that nobody requested it and we
haven't needed it either. The main problem of the default web
context is that you can't configure anything during
construction. This hasn't been a problem so far because all the
web context configuration we expose in the API can be configured
after construction. But now we need to expose API to allow the
user to configure the local storage directory, which is a
construct only configuration. The default web context was also a
problem for our unit tests, because sharing the same context made
it difficult to ensure tests cases are independent to each other.

  • UIProcess/API/gtk/WebKitGeolocationProvider.cpp:

(WebKitGeolocationProvider::~WebKitGeolocationProvider): Reset the
provider to avoid crashes when web context is destroyed and a new
one is created.

  • UIProcess/API/gtk/WebKitWebContext.cpp:

(webkitWebContextConstructed): Add constructed implementation to
create the WebContext and initialize it.
(webkitWebContextDispose): Detach web context clients to avoid
crashes when a client callback is called on a disposed WebKitWebContext.
(webkit_web_context_class_init): Initialize gettext, add
constructed implementation and add the pointer to the vmethods
when creating signals.
(createDefaultWebContext): Simply create a WebKitWebContext.
(webkit_web_context_new): New public method to create a WebKitWebContext.
(injectedBundleFilename): Deleted.

  • UIProcess/API/gtk/WebKitWebContext.h: Add virtual methods for

signals, so that users can inherit from WebKitWebContext and
override the virtual methods.

  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.

Tools:

Use a different WebKitWebContext for every test to ensure test
cases are independent to each other. Tests using DBus to
communicate with the injected bundle extension now use a unique
name for the well known DBus name.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestAuthentication.cpp:

(beforeAll): Remove comment about the order of the tests and
move the success test before the failed one now that tests don't
depend on each others.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestContextMenu.cpp:

(beforeAll): Remove call to set the web extensions directory,
since this is now done for all test in the Test constructor.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestCookieManager.cpp:

(beforeAll): Do not create a temporary directory, a temporary data
directory is now created for all tests.
(afterAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNode.cpp:

(testWebKitDOMNodeHierarchyNavigation): Pass the web extension ID
to the web process test runner.
(testWebKitDOMNodeInsertion): Ditto.
(testWebKitDOMNodeTagNames): Ditto.
(beforeAll): Remove call to set the web extensions directory.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMNodeFilter.cpp:

(runTest): Pass the web extension ID to the web process test runner.
(beforeAll): Remove call to set the web extensions directory.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDOMXPathNSResolver.cpp:

(runTest): Pass the web extension ID to the web process test runner.
(beforeAll): Remove call to set the web extensions directory.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestDownloads.cpp:

(createFileAtDestination): Use Test::dataDirectory() as base dir
for temporary files.
(beforeAll): Do not create a temporary directory.
(afterAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestFrame.cpp:

(webkitFrameTestRun): Pass the web extension ID to the web process
test runner.
(beforeAll): Remove call to set the web extensions directory.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestLoaderClient.cpp:

(beforeAll): Remove call to set the web extensions directory.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestMultiprocess.cpp:

(testProcessPerWebView): Use local member instead of global variable.
(testMultiprocessWebViewCreateReadyClose): Ditto.
(beforeAll): Do not connect to initialize-web-extensions, Test now
connects to the signal for all tests and calls a virtual method
that test can override.
(afterAll):
(initializeWebExtensions): Deleted.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestPrinting.cpp:

(testPrintOperationPrint): Use Test::dataDirectory() as base dir
for temporary files.
(beforeAll): Do not create a temporary directory.
(afterAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/TestResources.cpp:

(beforeAll): Remove call to set the web extensions directory.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestSSL.cpp:

(beforeAll): Remove comment about the tests order.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebExtensions.cpp:

(testWebExtensionGetTitle): Build the DBus service name using the
web extension ID.
(testDocumentLoadedSignal): Ditto.
(testWebKitWebViewProcessCrashed): Ditto.
(testWebExtensionIsolatedWorld): Ditto.
(beforeAll): Remove initialization-user-data test, since now all
tests are passing user data to the web extension.
(testWebExtensionInitializationUserData): Deleted.
(initializeWebExtensions): Deleted.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitFaviconDatabase.cpp:

(testSetDirectory): Use the web context member inherited from Test.
(testClearDatabase): Ditto.
(testGetFaviconURI): Ditto.
(beforeAll): Do not create a temporary directory.
(afterAll):
(webkitFaviconDatabaseFinalizedCallback): Deleted.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp:

(UserContentManagerTest::UserContentManagerTest):
(beforeAll): Remove call to set the web extensions directory.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebContext.cpp:

(testWebContextDefault): Check also that a newly create web
context is not the default web context.
(testWebContextSpellChecker): Use the web context member inherited
from Test.
(testWebContextLanguages): Ditto.

  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:

(methodCallCallback): Remove GetInitializationUserData method.
(webkit_web_extension_initialize_with_user_data): Always create
the DBus name using the user data provided.
(makeBusName): Deleted.

  • TestWebKitAPI/Tests/WebKit2Gtk/WebProcessTest.cpp:

(webkit_web_extension_initialize_with_user_data): Create the DBus
name using the user data provided.
(webkit_web_extension_initialize): Deleted.

  • TestWebKitAPI/gtk/WebKit2Gtk/TestMain.cpp:

(Test::dataDirectory): Return the temporary data directory.
(removeNonEmptyDirectory): Also remove directories recursively.
(main): Remove the disk cache directory initialization, since this
is now done in the Test constructor.

  • TestWebKitAPI/gtk/WebKit2Gtk/TestMain.h:

(Test::initializeWebExtensionsCallback): Call the virtual method
initializeWebExtensions()
(Test::Test): Create a new WebKitWebContext and initialize it.
(Test::~Test): Disconnect initialize-web-extensions signal.
(Test::initializeWebExtensions): Set the web extensions directory
and user data.

  • TestWebKitAPI/gtk/WebKit2Gtk/WebProcessTestRunner.cpp:

(WebProcessTestRunner::~WebProcessTestRunner): Use nullptr.
(WebProcessTestRunner::runTest): Build the DBus proxy using a
unique name created with the Test web extension ID.
(WebProcessTestRunner::proxy): Deleted.

  • TestWebKitAPI/gtk/WebKit2Gtk/WebProcessTestRunner.h:
  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.cpp:

(WebViewTest::WebViewTest): Create the web view with the Test web
context.

  • TestWebKitAPI/gtk/WebKit2Gtk/WebViewTest.h: Add optional user

content manager parameter to the constructor.

5:53 AM WebKitGTK/2.6.x edited by Ting-Wei Lan
Add another changeset which fix gtk-doc build problem on FreeBSD (diff)
5:40 AM Changeset in webkit [176255] by ChangSeok Oh
  • 2 edits
    1 add in trunk/Tools

[GTK] Mesa build fails over llvm-3.5
https://bugs.webkit.org/show_bug.cgi?id=138825

Reviewed by Gustavo Noronha Silva.

OwningPtr.h have been removed in llvm-3.5. Instread we should use std::unique_ptr for mesa build.

  • gtk/jhbuild.modules:
  • gtk/patches/mesa-gallivm-Fix-build-after-LLVM-commit-211259.patch: Added.
4:51 AM Changeset in webkit [176254] by jdiggs@igalia.com
  • 3 edits
    2 adds in trunk

AX: [ATK] Crash getting the orientation of a MenuListOption after the MenuList was removed from the document
https://bugs.webkit.org/show_bug.cgi?id=138727

Reviewed by Chris Fleizach.

Source/WebCore:

AccessibilityMenuListOption::elementRect() returns the value of the
grandparent MenuList, asserting that the grandparent exists with that
role. But it is possible to have an existing MenuListOption and remove
the element which had been backing that MenuList from the document.
Adding null checks prior to the assertions prevents our crashing if the
parent or grandparent was removed.

Test: platform/gtk/accessibility/combobox-descendants-orientation-crash.html

  • accessibility/AccessibilityMenuListOption.cpp:

(WebCore::AccessibilityMenuListOption::elementRect):

LayoutTests:

  • platform/gtk/accessibility/combobox-descendants-orientation-crash-expected.txt: Added.
  • platform/gtk/accessibility/combobox-descendants-orientation-crash.html: Added.
3:55 AM WebKitGTK/2.6.x edited by Carlos Garcia Campos
(diff)
3:55 AM WebKitGTK/2.6.x edited by clopez@igalia.com
(diff)
3:54 AM WebKitGTK/2.6.x edited by clopez@igalia.com
(diff)
3:49 AM Changeset in webkit [176253] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r176252 - [SOUP] [GnuTLS] Don't use a SSL3.0 record version in client hello.
https://bugs.webkit.org/show_bug.cgi?id=138794

Reviewed by Sergio Villar Senin.

It seems that following POODLE many sites incorrectly banned SSL 3.0
record packet versions. Since GnuTLS uses a SSL 3.0 record to
advertise TLS 1.2, they are effectively banning it even if it doesn't
advertise SSL 3.0. That is a server issue, but it can be worked around
by using the modifier %LATEST_RECORD_VERSION.

With this modifier, GnuTLS will use the latest TLS version record
in client hello instead of using the default SSL 3.0.

  • NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp:

(main):

  • WebProcess/EntryPoint/unix/WebProcessMain.cpp:

(main):

2:35 AM WebKitGTK/2.6.x edited by clopez@igalia.com
(diff)
2:32 AM WebKitGTK/2.4.x edited by clopez@igalia.com
(diff)
2:27 AM WebKitGTK/2.6.x edited by clopez@igalia.com
(diff)
2:26 AM WebKitGTK/2.4.x edited by clopez@igalia.com
(diff)
1:32 AM Changeset in webkit [176252] by clopez@igalia.com
  • 3 edits in trunk/Source/WebKit2

[SOUP] [GnuTLS] Don't use a SSL3.0 record version in client hello.
https://bugs.webkit.org/show_bug.cgi?id=138794

Reviewed by Sergio Villar Senin.

It seems that following POODLE many sites incorrectly banned SSL 3.0
record packet versions. Since GnuTLS uses a SSL 3.0 record to
advertise TLS 1.2, they are effectively banning it even if it doesn't
advertise SSL 3.0. That is a server issue, but it can be worked around
by using the modifier %LATEST_RECORD_VERSION.

With this modifier, GnuTLS will use the latest TLS version record
in client hello instead of using the default SSL 3.0.

  • NetworkProcess/EntryPoint/unix/NetworkProcessMain.cpp:

(main):

  • WebProcess/EntryPoint/unix/WebProcessMain.cpp:

(main):

Nov 17, 2014:

8:50 PM Changeset in webkit [176251] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix a small indentation mistake in SelectorCodeGenerator::generateNthFilterTest

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-11-17

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateNthFilterTest):

8:30 PM Changeset in webkit [176250] by benjamin@webkit.org
  • 14 edits in trunk/Source/WebCore

Fix two bad function names of HTMLFormControlElement
https://bugs.webkit.org/show_bug.cgi?id=138790

Reviewed by Andreas Kling.

Darin suggested some name improvements in https://bugs.webkit.org/show_bug.cgi?id=138769

  • dom/CheckedRadioButtons.cpp:

(WebCore::RadioButtonGroup::add):
(WebCore::RadioButtonGroup::updateCheckedState):
(WebCore::RadioButtonGroup::requiredAttributeChanged):
(WebCore::RadioButtonGroup::remove):
(WebCore::RadioButtonGroup::updateValidityForAllButtons):
(WebCore::RadioButtonGroup::setNeedsValidityCheckForAllButtons): Deleted.

  • html/FileInputType.cpp:

(WebCore::FileInputType::setFiles):

  • html/HTMLButtonElement.cpp:

(WebCore::HTMLButtonElement::computeWillValidate):
(WebCore::HTMLButtonElement::recalcWillValidate): Deleted.

  • html/HTMLButtonElement.h:
  • html/HTMLFieldSetElement.h:
  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::requiredAttributeChanged):
(WebCore::HTMLFormControlElement::computeWillValidate):
(WebCore::HTMLFormControlElement::willValidate):
(WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
(WebCore::HTMLFormControlElement::isValidFormControlElement):
(WebCore::HTMLFormControlElement::updateValidity):
(WebCore::HTMLFormControlElement::setCustomValidity):
(WebCore::HTMLFormControlElement::recalcWillValidate): Deleted.
(WebCore::HTMLFormControlElement::setNeedsValidityCheck): Deleted.

  • html/HTMLFormControlElement.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::runPostTypeUpdateTasks):
(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::setChecked):
(WebCore::HTMLInputElement::setValueInternal):
(WebCore::HTMLInputElement::setValueFromRenderer):
(WebCore::HTMLInputElement::computeWillValidate):
(WebCore::HTMLInputElement::parseMaxLengthAttribute):
(WebCore::HTMLInputElement::recalcWillValidate): Deleted.

  • html/HTMLInputElement.h:
  • html/HTMLKeygenElement.h:
  • html/HTMLOutputElement.h:
  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::deselectItems):
(WebCore::HTMLSelectElement::optionSelectedByUser):
(WebCore::HTMLSelectElement::listBoxSelectItem):
(WebCore::HTMLSelectElement::add):
(WebCore::HTMLSelectElement::parseAttribute):
(WebCore::HTMLSelectElement::childrenChanged):
(WebCore::HTMLSelectElement::optionElementChildrenChanged):
(WebCore::HTMLSelectElement::setLength):
(WebCore::HTMLSelectElement::selectAll):
(WebCore::HTMLSelectElement::updateListBoxSelection):
(WebCore::HTMLSelectElement::selectOption):
(WebCore::HTMLSelectElement::restoreFormControlState):
(WebCore::HTMLSelectElement::parseMultipleAttribute):
(WebCore::HTMLSelectElement::reset):

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::parseAttribute):
(WebCore::HTMLTextAreaElement::subtreeHasChanged):
(WebCore::HTMLTextAreaElement::setValue):
(WebCore::HTMLTextAreaElement::setNonDirtyValue):

8:13 PM Changeset in webkit [176249] by dburkart@apple.com
  • 28 edits
    1 delete in branches/safari-600.3-branch/Source

Revert r176248

7:45 PM Changeset in webkit [176248] by dburkart@apple.com
  • 28 edits
    1 copy in branches/safari-600.3-branch/Source

Merge r176164. rdar://problem/18953982

7:29 PM Changeset in webkit [176247] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r176150. rdar://problem/18982046

7:23 PM Changeset in webkit [176246] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r176148. rdar://problem/18990684

7:05 PM Changeset in webkit [176245] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merge r176145. rdar://problem/18989840

7:01 PM Changeset in webkit [176244] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merge 176143. rdar://problem/18989840

6:31 PM Changeset in webkit [176243] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merge r175492. rdar://problem/18978410

6:25 PM Changeset in webkit [176242] by dburkart@apple.com
  • 4 edits
    4 copies in branches/safari-600.3-branch

Merge r173293. rdar://problem/18978414

6:21 PM Changeset in webkit [176241] by commit-queue@webkit.org
  • 15 edits in trunk

Add parsing for :role()
https://bugs.webkit.org/show_bug.cgi?id=138310

Patch by Sukolsak Sakshuwong <Sukolsak Sakshuwong> on 2014-11-17
Reviewed by Benjamin Poulain.

Source/WebCore:

Add support for parsing :role() pseudo class. The implementation of selector
matching will be in a follow-up patch.

  • css/CSSGrammar.y.in:
  • css/CSSParser.cpp:

(WebCore::CSSParser::detectFunctionTypeToken):

  • css/CSSSelector.cpp:

(WebCore::appendPseudoClassFunctionTail):
(WebCore::CSSSelector::selectorText):

  • css/CSSSelector.h:
  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • css/SelectorPseudoClassAndCompatibilityElementMap.in:
  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::addPseudoClassType):

LayoutTests:

  • fast/css/css-selector-text-expected.txt:
  • fast/css/css-selector-text.html:
  • fast/css/css-set-selector-text-expected.txt:
  • fast/css/css-set-selector-text.html:
  • fast/selectors/invalid-functional-pseudo-class-expected.txt:
  • fast/selectors/invalid-functional-pseudo-class.html:
5:49 PM Changeset in webkit [176240] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

[iOS WK1] Sometimes, missing tiles in -webkit-overflow-scrolling: touch in UIWebViews
https://bugs.webkit.org/show_bug.cgi?id=138815
rdar://problem/18746203

Reviewed by Tim Horton.

The scroll-velocity-related data members on FrameView, added in r168233, were uninitialized in UIWebViews,
so FrameView::computeCoverageRect() could return garbage results, leading to too much or too little tile coverage.

We still add additional coverage from the new inclusion of a margin area, but, for simplicity, leave that the same
between WK1 and WK2 for now.

  • page/FrameView.cpp:

(WebCore::FrameView::FrameView):

5:14 PM Changeset in webkit [176239] by Chris Dumez
  • 6 edits
    8 adds in trunk

Add initial layout testing coverage for timer throttling
https://bugs.webkit.org/show_bug.cgi?id=138809

Reviewed by Simon Fraser.

Source/WebCore:

Add isTimerThrottled() API to Internals so that we can add layout test
coverage for timer throttling.

Tests: fast/dom/nested-timer-invisible-element-throttling.html

fast/dom/nested-timer-visible-element-throttling.html
fast/dom/repeating-timer-invisible-element-throttling.html
fast/dom/repeating-timer-visible-element-throttling.html

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

(WebCore::Internals::isTimerThrottled):

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

LayoutTests:

Add initial layout test coverage for timer throttling. It currently
covers the following cases:

  • Repeating timer changes the style of an Element that is visible
  • Repeating timer changes the style of an Element that is not visible (i.e. "display: none").
  • Repeating timer doing DOM mutations
  • Nested timer changes the style of an Element that is visible
  • Nested timer changes the style of an Element that is not visible (i.e. "display: none").
  • Nested timer doing DOM mutations

More layout tests are coming. In particular, we should add coverage for
changing the style of an Element outside the viewport. We should also
Test that the timer gets unthrottled if necessary on scrolling / layout.

  • fast/dom/nested-timer-invisible-element-throttling-expected.txt: Added.
  • fast/dom/nested-timer-invisible-element-throttling.html: Added.
  • fast/dom/nested-timer-visible-element-throttling-expected.txt: Added.
  • fast/dom/nested-timer-visible-element-throttling.html: Added.
  • fast/dom/repeating-timer-invisible-element-throttling-expected.txt: Added.
  • fast/dom/repeating-timer-invisible-element-throttling.html: Added.
  • fast/dom/repeating-timer-visible-element-throttling-expected.txt: Added.
  • fast/dom/repeating-timer-visible-element-throttling.html: Added.
5:13 PM Changeset in webkit [176238] by Conrad Shultz
  • 2 edits in trunk/Source/WebKit2

Page previews should be loaded sooner
https://bugs.webkit.org/show_bug.cgi?id=138814

Reviewed by Tim Horton.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController willOpenMenu:withEvent:]):
Send -_createPreviewPopover..
(-[WKActionMenuController _previewURLFromActionMenu:]):
Relocate some logic to the new -_createPreviewPopover; gate early return on popover visibility.
(-[WKActionMenuController _createPreviewPopover]):
Renamed from -_createPreviewPopoverForURL:originRect:; explicitly send -loadView to warm up the preview view.
(-[WKActionMenuController _createPreviewPopoverForURL:originRect:]): Deleted.

4:47 PM Changeset in webkit [176237] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

Preview is sometimes dismissed too early
https://bugs.webkit.org/show_bug.cgi?id=138811
-and corresponding-
rdar://problem/18900839

Reviewed by Tim Horton.

Don’t make the popover transient until didCloseMenu: time.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController didCloseMenu:withEvent:]):
(-[WKActionMenuController _createPreviewPopoverForURL:originRect:]):

3:26 PM Changeset in webkit [176236] by bweinstein@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Remove calls to deprecated NSMenu methods
https://bugs.webkit.org/show_bug.cgi?id=138808.

Reviewed by Anders Carlsson.

-[NSMenu menuChangedMessagesEnabled] and -[NSMenu setMenuChangedMessagesEnabled:] are no-ops as of 10.6.

  • WebCoreSupport/PopupMenuMac.mm:

(PopupMenuMac::populate):

3:17 PM Changeset in webkit [176235] by Alan Bujtas
  • 6 edits
    2 adds in trunk/Source/WebCore

Simple line layout: Rename FlowContentIterator and move implementation to SimpleLineLayoutFlowContents.cpp
https://bugs.webkit.org/show_bug.cgi?id=138799

Reviewed by Antti Koivisto.

This is in preparation to support multiple renderers.
The FlowContents class will be used not just when we create runs, but also when we resolve them at painting time.

No change in functionality.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::initializeNewLine):
(WebCore::SimpleLineLayout::splitFragmentToFitLine):
(WebCore::SimpleLineLayout::nextFragment):
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns):
(WebCore::SimpleLineLayout::createTextRuns):
(WebCore::SimpleLineLayout::FlowContentIterator::FlowContentIterator): Deleted.
(WebCore::SimpleLineLayout::FlowContentIterator::findNextBreakablePosition): Deleted.
(WebCore::SimpleLineLayout::FlowContentIterator::findNextNonWhitespacePosition): Deleted.
(WebCore::SimpleLineLayout::FlowContentIterator::textWidth): Deleted.
(WebCore::SimpleLineLayout::FlowContentIterator::isNewlineCharacter): Deleted.
(WebCore::SimpleLineLayout::FlowContentIterator::isEndOfContent): Deleted.
(WebCore::SimpleLineLayout::FlowContentIterator::style): Deleted.
(WebCore::SimpleLineLayout::computeLineLeft): Deleted.

  • rendering/SimpleLineLayoutFlowContents.cpp: Added.

(WebCore::SimpleLineLayout::FlowContents::FlowContents):
(WebCore::SimpleLineLayout::FlowContents::findNextBreakablePosition):
(WebCore::SimpleLineLayout::FlowContents::findNextNonWhitespacePosition):
(WebCore::SimpleLineLayout::FlowContents::textWidth):

  • rendering/SimpleLineLayoutFlowContents.h: Added.

(WebCore::SimpleLineLayout::FlowContents::Style::Style):
(WebCore::SimpleLineLayout::FlowContents::style):
(WebCore::SimpleLineLayout::FlowContents::isNewlineCharacter):
(WebCore::SimpleLineLayout::FlowContents::isEndOfContent):

2:36 PM Changeset in webkit [176234] by dbates@webkit.org
  • 15 edits
    6 deletes in trunk

Unreviewed, rolling out r176232.

Broke the Mac build. Will investigate offline.

Reverted changeset:

"[iOS] Libdispatch, Dyld, IOKit, Mach, NSPointerFunctions,
MobileGestalt"
https://bugs.webkit.org/show_bug.cgi?id=138802
http://trac.webkit.org/changeset/176232

2:03 PM Changeset in webkit [176233] by mark.lam@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

Add printing functionality in JITted code for debugging purposes.
<https://webkit.org/b/138660>

Reviewed by Geoffrey Garen.

Sometimes, for debugging, it'd be nice to be able to just print the
values of constants or registers used in JITted code, or even just
a string to log that certain pieces of JITted code have been executed.
Using the JIT probe mechanism, we can make this happen.

  • assembler/ARMv7Assembler.h:
  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::CPUState::registerName):
(JSC::AbstractMacroAssembler::CPUState::registerValue):
(JSC::AbstractMacroAssembler::print):
(JSC::AbstractMacroAssembler::PrintArg::PrintArg):
(JSC::AbstractMacroAssembler::appendPrintArg):
(JSC::AbstractMacroAssembler::printInternal):
(JSC::AbstractMacroAssembler::printCallback):

  • assembler/MacroAssemblerARM.cpp:

(JSC::MacroAssemblerARM::printCPURegisters):
(JSC::MacroAssemblerARM::printRegister):

  • assembler/MacroAssemblerARM.h:
  • assembler/MacroAssemblerARMv7.cpp:

(JSC::MacroAssemblerARMv7::printCPURegisters):
(JSC::MacroAssemblerARMv7::printRegister):

  • assembler/MacroAssemblerARMv7.h:
  • assembler/MacroAssemblerX86Common.cpp:

(JSC::MacroAssemblerX86Common::printRegister):

  • assembler/MacroAssemblerX86Common.h:
1:59 PM Changeset in webkit [176232] by dbates@webkit.org
  • 15 edits
    6 copies in trunk

[iOS] Libdispatch, Dyld, IOKit, Mach, NSPointerFunctions, MobileGestalt
SPI are not available in public SDK
https://bugs.webkit.org/show_bug.cgi?id=138802

Reviewed by David Kilzer.

Source/WebCore:

Add SPI wrapper headers {Dispatch, DynamicLinker, IOPMLib, MachVM, NSPointerFunctions, MobileGestalt}SPI.h
that forward declare applicable libdispatch, dyld, IOKit, mach, Foundation, MobileGestalt SPI
and use these headers instead of the including private headers corresponding to these libraries/frameworks.

  • WebCore.xcodeproj/project.pbxproj: Add private headers MobileGestaltSPI.h and

MachVMSPI.h, and project headers DynamicLinkerSPI.h, NSPointerFunctionsSPI.h,
DispatchSPI.h and IOPMLibSPI.h. Also, sort files in Xcode project.

  • bindings/objc/DOMInternal.mm: Include header NSPointerFunctionsSPI.h.
  • bridge/objc/objc_instance.mm: Ditto; Also, sort #import directives.
  • platform/cocoa/DisplaySleepDisablerCocoa.cpp: Substitute header IOPMLibSPI.h

for private header IOKit/pwr_mgt/IOPMLib.h.

  • platform/cocoa/MemoryPressureHandlerCocoa.mm: Substitute header DispatchSPI.h

for private header dispatch/private.h.

  • platform/graphics/ios/FontServicesIOS.mm: Substitute header DynamicLinkerSPI.h

for private header mach-o/dyld_priv.h.

  • platform/ios/PlatformScreenIOS.mm: Substitute header MobileGestaltSPI.h for

private header MobileGestalt.h.

  • platform/spi/cocoa/DispatchSPI.h: Added.
  • platform/spi/cocoa/DynamicLinkerSPI.h: Added.
  • platform/spi/cocoa/IOPMLibSPI.h: Added.
  • platform/spi/cocoa/MachVMSPI.h: Added.
  • platform/spi/cocoa/NSPointerFunctionsSPI.h: Added.
  • platform/spi/ios/MobileGestaltSPI.h: Added.

Source/WebKit/mac:

Include headers DispatchSPI.h and MobileGestaltSPI.h instead of including
libdispatch and MobileGestalt headers directly.

  • WebView/WebView.mm:

Source/WebKit2:

Include headers DispatchSPI.h and MachVMSPI.h.h instead of including
libdispatch and Mach headers directly.

  • Platform/mac/SharedMemoryMac.cpp:
  • UIProcess/ios/WebMemoryPressureHandlerIOS.mm:

Tools:

Include header MachVMSPI.h instead of including the private header mach/mach_vm.h.

  • DumpRenderTree/mac/CheckedMalloc.cpp:
1:58 PM Changeset in webkit [176231] by dburkart@apple.com
  • 1 edit in branches/safari-600.3-branch/Source/WebCore/editing/mac/DataDetection.h

Fix build failure. rdar://problem/18877535

1:56 PM Changeset in webkit [176230] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merge r176132. <rdar://problem/18979004>

1:52 PM Changeset in webkit [176229] by dbates@webkit.org
  • 10 edits
    1 add in trunk/Source

[iOS] CoreText and CoreUI SPI are not available in public SDK
https://bugs.webkit.org/show_bug.cgi?id=138760

Reviewed by David Kilzer.

Source/WebCore:

Add a SPI wrapper header CoreUISPI.h that forward declares CoreUI SPI
and use this header instead of including private headers of CoreUI directly.

Additionally, add more forward declarations for CoreText SPI.

  • WebCore.xcodeproj/project.pbxproj: Add project header CoreUISPI.h.
  • platform/graphics/ios/FontCacheIOS.mm: Include header CoreTextSPI.h instead

of including CoreText headers directly.

  • platform/graphics/mac/FontMac.mm: Include header CoreUISPI.h instead

of including CoreUI headers directly.

  • platform/graphics/mac/GlyphPageTreeNodeMac.cpp: Remove unnecessary

include of CoreText headers. These headers will be included by header
CoreTextSPI.h (at the top of the file).

  • platform/graphics/mac/SimpleFontDataMac.mm: Remove forward declaration

of CTFontDescriptorIsSystemUIFont() and include of header CTFontDescriptorPriv.h
as this duplicates the logic in CoreTextSPI.h, which is included in this file.

  • platform/spi/cocoa/CoreTextSPI.h: Added more forward declarations. Simplified

#include directives.

  • platform/spi/ios/CoreUISPI.h: Added.
  • rendering/RenderThemeIOS.mm: Move CoreUI externs from this file to file

CoreUISPI.h and include header CoreUISPI.h.

Source/WebKit2:

Include header CoreTextSPI.h instead of including CoreText private headers.

  • WebProcess/WebPage/WebPage.cpp:
1:52 PM Changeset in webkit [176228] by ap@apple.com
  • 2 edits in trunk/LayoutTests

media/track/track-in-band-cues-added-once.html fails sometimes
https://bugs.webkit.org/show_bug.cgi?id=138806

  • platform/mac/TestExpectations: Marked as flaky.
1:46 PM Changeset in webkit [176227] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merge r176131. <rdar://problem/18941927>

1:43 PM Changeset in webkit [176226] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merge r176107. <rdar://problem/18977222>

1:32 PM Changeset in webkit [176225] by dburkart@apple.com
  • 3 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merge r176099. <rdar://problem/18877520>

1:26 PM Changeset in webkit [176224] by dburkart@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit/mac

Merge r176093. <rdar://problem/18975774>

1:14 PM Changeset in webkit [176223] by Alan Bujtas
  • 2 edits in trunk/Source/WebCore

Simple line layout: Drop 16bit support temporarily.
https://bugs.webkit.org/show_bug.cgi?id=138796

Reviewed by Antti Koivisto.

This is in preparation to multiple renderers support.
It requires code refactoring on top of the coming multiple renderers codebase.
(Not expecting any significant coverage shrinking.)

  • rendering/SimpleLineLayout.cpp:

(WebCore::SimpleLineLayout::canUseFor):
(WebCore::SimpleLineLayout::FlowContentIterator::findNextBreakablePosition):
(WebCore::SimpleLineLayout::FlowContentIterator::findNextNonWhitespacePosition):
(WebCore::SimpleLineLayout::FlowContentIterator::textWidth):
(WebCore::SimpleLineLayout::removeTrailingWhitespace):
(WebCore::SimpleLineLayout::initializeNewLine):
(WebCore::SimpleLineLayout::splitFragmentToFitLine):
(WebCore::SimpleLineLayout::nextFragment):
(WebCore::SimpleLineLayout::createLineRuns):
(WebCore::SimpleLineLayout::closeLineEndingAndAdjustRuns):
(WebCore::SimpleLineLayout::createTextRuns):
(WebCore::SimpleLineLayout::create):

12:59 PM Changeset in webkit [176222] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/multicol/newmulticol/spanner-crash.html still crashes sometimes
https://bugs.webkit.org/show_bug.cgi?id=137316

12:27 PM Changeset in webkit [176221] by timothy_horton@apple.com
  • 9 edits in trunk/Source

DataDetectors PageOverlay callbacks can come in to the wrong overlay
https://bugs.webkit.org/show_bug.cgi?id=138801
<rdar://problem/18991369>

Reviewed by Anders Carlsson.

We can call dataDetectorsDidHideUI on the wrong (or no) PageOverlay,
because it's possible to have another performActionMenuHitTestAtLocation
between the first one and the dataDetectorsDid*UI that correspond to it.

To make sure that the callbacks come to the right PageOverlay, plumb
an integer ID through all of the callbacks and find the overlay based on that.

  • Shared/mac/ActionMenuHitTestResult.h:

Store the ID of the PageOverlay that overrode data detection.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
Send the ID back to the Web process when replying from DD callbacks.

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performActionMenuHitTestAtLocation):
Store the ID of the PageOverlay that overrode data detection instead of
keeping the PageOverlay itself.

(WebKit::WebPage::dataDetectorsDidPresentUI):
(WebKit::WebPage::dataDetectorsDidChangeUI):
(WebKit::WebPage::dataDetectorsDidHideUI):
Find and reply to the correct page overlay.

  • page/PageOverlay.cpp:

(WebCore::generatePageOverlayID):
(WebCore::PageOverlay::PageOverlay):

  • page/PageOverlay.h:

Give each PageOverlay a unique ID.

12:09 PM Changeset in webkit [176220] by Beth Dakin
  • 9 edits in trunk/Source

Whitespace action menus should focus the HitTestResult and create an insertion
point
https://bugs.webkit.org/show_bug.cgi?id=138786
-and corresponding-
rdar://problem/18944893

Reviewed by Tim Horton.

Whitespace menus should cause the HitTestResult to be focused, and they should set
the selection based on the HitTest location.
Source/WebKit/mac:

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController isMenuForTextContent]):
(-[WebActionMenuController focusAndSelectHitTestResult]):
(-[WebActionMenuController willOpenMenu:withEvent:]):

Source/WebKit2:

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::focusAndSelectLastActionMenuHitTestResult):

  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController isMenuForTextContent]):
(-[WKActionMenuController willOpenMenu:withEvent:]):

  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performActionMenuHitTestAtLocation):
(WebKit::WebPage::focusAndSelectLastActionMenuHitTestResult):

11:58 AM Changeset in webkit [176219] by andersca@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Fix JavaScriptCore build with newer versions of clang.
<rdar://problem/18978716>

  • heap/Heap.cpp:

(JSC::Heap::visitTempSortVectors):
(JSC::Heap::deleteAllCompiledCode): Deleted.

  • inspector/agents/InspectorConsoleAgent.h:
11:52 AM Changeset in webkit [176218] by jfernandez@igalia.com
  • 29 edits
    5 adds in trunk

[CSS Grid Layout] Upgrade align-self and align-items parsing to CSS 3
https://bugs.webkit.org/show_bug.cgi?id=133359

Reviewed by David Hyatt.

Source/WebCore:

Broaden justify-self's parsing name as a preparation of migrating
align-self, align-items and justify-items to the CSS 3 Alignment syntax.

The current naming was too tied to justify-self and needs to
be broadened. This will reduce the follow-up implementations'
patches.

Upgrade align-self and align-items parsing to CSS 3

This change migrates the 2 properties to the CSS 3 Alignment
parsing. The new parsing is identical to how we parse
'justify-self'. The 2 properties need to be migrated together
as they are used in tandem in CSSComputedStyleDeclaration.

This change also removes EAlignItems as it is now unused.

Tests: css3/parse-align-items.html

css3/parse-align-self.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForItemPositionWithOverflowAlignment): Added. Builds the CSSValue for the for the alignment properties.
(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSParser.cpp:

(WebCore::isKeywordPropertyID): Removed align-items and align-self from the list.
(WebCore::isValidKeywordPropertyAndValue): Removed align-items and align-self from the list.
(WebCore::CSSParser::parseValue): Added align-items and align-self to the list and call to the generic parsing fuction for the alignment properties.
(WebCore::isBaselinePositionKeyword): Utility function added to identify Baseline keyword values.
(WebCore::CSSParser::parseItemPositionOverflowPosition): Generic parsing fuction for the alignment properties.
(WebCore::CSSParser::parseJustifySelf): Deleted.

  • css/CSSParser.h:
  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Refactoring some mapping functions.

(WebCore::CSSPrimitiveValue::operator ItemPosition): Added. Replace the old EAlignItems enumeration.

(WebCore::CSSPrimitiveValue::operator OverflowAlignment): Added.
(WebCore::CSSPrimitiveValue::operator EAlignItems): Deleted.
(WebCore::CSSPrimitiveValue::operator EJustifySelf): Deleted.
(WebCore::CSSPrimitiveValue::operator EJustifySelfOverflowAlignment): Deleted.

  • css/CSSPropertyNames.in:
  • css/CSSValueKeywords.in:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle): Added a new adjustment to resolve the "auto" vale on the alignment properties.
(WebCore::StyleResolver::adjustStyleForAlignment): Added. Function to resolve the "auto" vale on the alignment properties.
(WebCore::StyleResolver::applyProperty):
(WebCore::isDisplayFlexibleBox): Deleted. Moved to the RenderStyle.
(WebCore::isDisplayGridBox): Deleted. Moved to the RenderStyle.
(WebCore::isDisplayFlexibleOrGridBox): Deleted. Moved to the RenderStyle.

  • css/StyleResolver.h:
  • rendering/RenderBox.cpp:

(WebCore::flexItemHasStretchAlignment): Adapted to the new ItemPosition enum.

  • rendering/RenderFlexibleBox.cpp:

(WebCore::RenderFlexibleBox::firstLineBaseline): Adapted to the new ItemPosition enum.
(WebCore::resolveAlignment): Consider also that align-items could be "auto", since it's the default now.
(WebCore::RenderFlexibleBox::styleDidChange): Adapted to the new ItemPosition enum.
(WebCore::RenderFlexibleBox::alignmentForChild): Adapted to the new ItemPosition enum.
(WebCore::RenderFlexibleBox::needToStretchChild): Adapted to the new ItemPosition enum.
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Adapted to the new ItemPosition enum.
(WebCore::RenderFlexibleBox::alignChildren): Adapted to the new ItemPosition enum.

  • rendering/RenderFlexibleBox.h:
  • rendering/RenderFullScreen.cpp:

(WebCore::createFullScreenStyle): Adapted to the new ItemPosition enum.

  • rendering/RenderMenuList.cpp:

(WebCore::RenderMenuList::adjustInnerStyle): Adapted to the new ItemPosition enum.

  • rendering/mathml/RenderMathMLRoot.cpp:

(WebCore::RenderMathMLRoot::updateStyle): Adapted to the new ItemPosition enum.

  • rendering/mathml/RenderMathMLScripts.cpp:

(WebCore::RenderMathMLScripts::fixAnonymousStyleForSubSupPair): Adapted to the new ItemPosition enum.
(WebCore::RenderMathMLScripts::fixAnonymousStyles): Adapted to the new ItemPosition enum.

  • rendering/style/RenderStyle.h: Adapted to the new ItemPosition enum.
  • rendering/style/RenderStyleConstants.h: Adapted to the new ItemPosition enum.
  • rendering/style/StyleRareNonInheritedData.cpp: Adapted to the new ItemPosition enum.

(WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData): Adapted to the new ItemPosition enum.
(WebCore::StyleRareNonInheritedData::operator==): Adapted to the new ItemPosition enum.

  • rendering/style/StyleRareNonInheritedData.h: Adapted to the new ItemPosition enum.
  • style/StyleResolveTree.cpp:

(WebCore::Style::determineChange): Changes in the alignItems property will cause a Detach.

LayoutTests:

From Blink r164817 and r165264 by <jchaffraix@chromium.org>

Broaden justify-self's parsing name and upgrade align-self and
align-items parsing to CSS 3.

  • css3/flexbox/css-properties-expected.txt:
  • css3/flexbox/css-properties.html:
  • css3/parse-align-items-expected.txt: Added.
  • css3/parse-align-items.html: Added.
  • css3/parse-align-self-expected.txt: Added.
  • css3/parse-align-self.html: Added.
  • css3/resources/alignment-parsing-utils.js: Added.

(checkValues):
(checkBadValues):
(checkInitialValues):
(checkInheritValues):
(checkLegacyValues):

  • fast/css/getComputedStyle/computed-style-expected.txt:
  • fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
  • fast/css/getComputedStyle/resources/property-names.js:
  • svg/css/getComputedStyle-basic-expected.txt:
  • platform/gtk/TestExpectations: Report new failures and update expectations.
11:48 AM Changeset in webkit [176217] by andersca@apple.com
  • 3 edits in trunk/Source/WTF

Fix WTF build with newer versions of clang.
<rdar://problem/18978705>

  • wtf/HashTable.h:

(WTF::removeIterator):

  • wtf/dtoa/utils.h:

(WTF::double_conversion::BitCast):

11:45 AM Changeset in webkit [176216] by dburkart@apple.com
  • 6 edits in branches/safari-600.3-branch/Source

Merged r176156. rdar://problem/18877535

11:44 AM Changeset in webkit [176215] by dburkart@apple.com
  • 6 edits in branches/safari-600.3-branch/Source

Merged r176153. rdar://problem/18877535

11:36 AM Changeset in webkit [176214] by dburkart@apple.com
  • 9 edits
    4 copies
    2 deletes in branches/safari-600.3-branch/Source

Merged r176137. rdar://problem/18877535

11:24 AM Changeset in webkit [176213] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Attribute text in HTMLAnchorElement should behave as per specification.
https://bugs.webkit.org/show_bug.cgi?id=138557

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-11-17
Reviewed by Darin Adler.

Source/WebCore:

attribute text in HTMLAnchorElement should not be readonly as per specification
http://www.w3.org/TR/html/text-level-semantics.html#dom-a-text. It should behave as textContent attribute.
Also This matches the behavior of Chrome 38 and FireFox.

Test: fast/dom/HTMLAnchorElement/anchor-text-attribute.html

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::text):
(WebCore::HTMLAnchorElement::setText):

  • html/HTMLAnchorElement.h:
  • html/HTMLAnchorElement.idl:

LayoutTests:

  • fast/dom/HTMLAnchorElement/anchor-text-attribute-expected.txt: Added.
  • fast/dom/HTMLAnchorElement/anchor-text-attribute.html: Added.
11:23 AM Changeset in webkit [176212] by Chris Dumez
  • 16 edits in trunk/Source/WebCore

Throttle timers that change the style of elements outside the viewport
https://bugs.webkit.org/show_bug.cgi?id=138292

Reviewed by Antti Koivisto.

Throttle timers that change the style of elements outside the viewport
to 1 second, similarly to what was already done for timers interacting
with non user observable plugins. To be conservative, we don't throttle
timers that also cause DOM Tree modifications (e.g. adding/removing
nodes, modify element attributes).

On huffingtonpost.com, the CPU usage is at ~17% when the top scrolling
banner is inside the viewport on my machine. Without this patch, CPU
usage would stay ~17% when the banner is outside the viewport. Thanks
to timer throttling, CPU usage now goes down to ~1.5%, without user
observable side effects. The timers get unthrottled when they are
inside the viewport again (i.e. due to scrolling or layout).

On espn.com, the CPU usage goes down from ~7% at the top of the page
to ~1% when scrolling to the bottom of the page. On ebay.com, CPU
usage goes down from ~25% at the top of the page to less than 1% when
scrolling to the bottom of the page.

11:06 AM Changeset in webkit [176211] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Having 30+ flaky failures breaks EWS
https://bugs.webkit.org/show_bug.cgi?id=138743

Patch by Jake Nielsen <jacob_nielsen@apple.com> on 2014-11-17
Reviewed by Alexey Proskuryakov.

Adds tests to ensure that the problem has been solved.

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:

(test_first_failure_limit):
(test_first_failure_limit_with_some_tree_redness):
(test_second_failure_limit):
(test_tree_failure_limit_with_patch_that_potentially_fixes_some_redness):
(test_first_and_second_failure_limit):
(test_first_and_clean_failure_limit):
(test_first_second_and_clean_failure_limit):
(test_very_red_tree_retry): Deleted.
Really this was renamed to test_first_second_and_clean_failure_limit.

  • Scripts/webkitpy/tool/bot/patchanalysistask.py:

Makes the appropriate changes to PatchAnalysisTask to make sure that
even when the first test run hits the failure limit, it will still try
a second run.
(PatchAnalysisTask._results_failed_different_tests):
(PatchAnalysisTask._test_patch):
(PatchAnalysisTask._continue_testing_patch_that_exceeded_failure_limit_on_first_or_second_try): Deleted.

10:58 AM Changeset in webkit [176210] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo] Compile error, CoreGraphics header file included.
https://bugs.webkit.org/show_bug.cgi?id=138795

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

CoreGraphics is not available on WinCairo.

  • platform/graphics/win/FontCacheWin.cpp:
10:56 AM Changeset in webkit [176209] by ap@apple.com
  • 2 edits in trunk/LayoutTests

media/track/track-cues-sorted-before-dispatch.html is flaky on Mountain Lion
https://bugs.webkit.org/show_bug.cgi?id=138798

  • platform/mac/TestExpectations: Marked it as such.
10:48 AM Changeset in webkit [176208] by commit-queue@webkit.org
  • 5 edits
    2 deletes in trunk

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

Appears to have broken svg/custom/anchor-on-use.svg (Requested
by ap on #webkit).

Reverted changeset:

"Attribute text in HTMLAnchorElement should behave as per
specification."
https://bugs.webkit.org/show_bug.cgi?id=138557
http://trac.webkit.org/changeset/176169

10:42 AM Changeset in webkit [176207] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

Update WebKit to build with LLVM TOT
https://bugs.webkit.org/show_bug.cgi?id=138519

Patch by Juergen Ributzka <juergen@apple.com> on 2014-11-17
Reviewed by Alexey Proskuryakov.

  • Configurations/LLVMForJSC.xcconfig:
  • llvm/LLVMAPIFunctions.h:
  • llvm/library/LLVMExports.cpp:

(initializeAndGetJSCLLVMAPI):

10:30 AM Changeset in webkit [176206] by dbates@webkit.org
  • 6 edits
    2 adds in trunk/Source

[iOS] AVKit and MediaPlayer SPI are not available in public SDK
https://bugs.webkit.org/show_bug.cgi?id=138756

Reviewed by Eric Carlson.

Source/WebCore:

Add a SPI wrapper headers {AVKit, MPAVRoutingController}SPI.h that forward declares
AVKit and MPAVRoutingController SPI, respectively, and use these header instead of
including private headers of AVKit and MediaPlayer directly.

  • WebCore.xcodeproj/project.pbxproj: Add project and private header AVKitSPI.h

and MPAVRoutingControllerSPI.h, respectively.

  • platform/audio/ios/MediaSessionManagerIOS.mm: Include header MPAVRoutingControllerSPI.h

instead of including the private header MPAVRoutingController.h.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm: Include header AVKitSPI.h

instead of including AVKit headers directly.

Source/WebKit2:

Include header MPAVRoutingControllerSPI.h instead of including the
private header MPAVRoutingController.h.

Additionally, sort the list of #import directives.

  • UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
9:56 AM Changeset in webkit [176205] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Attempt to fix the Mac build after <https://trac.webkit.org/changeset/176204>
(https://bugs.webkit.org/show_bug.cgi?id=138751)

Move declaration of CAContext to be before the declaration of CALayer since
the latter depends on the former.

  • platform/spi/cocoa/QuartzCoreSPI.h:
9:44 AM Changeset in webkit [176204] by dbates@webkit.org
  • 19 edits
    1 add
    1 delete in trunk/Source

[iOS] QuartzCore SPI not available in public SDK
https://bugs.webkit.org/show_bug.cgi?id=138751

Reviewed by David Kilzer.

Source/WebCore:

Add a SPI wrapper header called QuartzCoreSPI.h that forward declares
QuartzCore SPI and use this header instead of including private headers
of QuartzCore directly.

  • WebCore.xcodeproj/project.pbxproj: Added private header QuartzCoreSPI.h.
  • platform/graphics/ca/mac/PlatformCAFiltersMac.h: Removed; incorporated its

functionality into QuartzCoreSPI.h.

  • platform/graphics/ca/mac/PlatformCAFiltersMac.mm: Substitute header

QuartzCoreSPI.h for PlatformCAFiltersMac.h as the content of the latter
was incorporated into the former.

  • platform/graphics/ca/mac/PlatformCALayerMac.mm: Move CALayer and CATiledLayer

forward declarations from this file to file QuartzCoreSPI.h and include
header QuartzCoreSPI.h instead of including CATiledLayerPrivate.h directly. Also
remove header PlatformCAFiltersMac.h as its content is incorporated into QuartzCoreSPI.h

  • platform/ios/LegacyTileCache.mm: Include headers CoreGraphicsSPI.h and QuartzCoreSPI.h

instead of including QuartzCore headers directly.

  • platform/ios/LegacyTileGrid.mm: Include header QuartzCoreSPI.h instead

of including QuartzCore headers directly. Also sort the list of #include directives.

  • platform/ios/LegacyTileGridTile.mm: Include header QuartzCoreSPI.h

instead of including QuartzCore headers directly.

  • platform/spi/cocoa/QuartzCoreSPI.h: Added.

Source/WebKit/mac:

Include header QuartzCoreSPI.h instead of including QuartzCore headers directly.

  • WebInspector/WebNodeHighlight.mm:
  • WebView/WebIndicateLayer.mm:

Source/WebKit2:

  • Shared/mac/RemoteLayerBackingStore.mm: Move CALayer forward declaration

from this file to file QuartzCoreSPI.h and include header QuartzCoreSPI.h.

  • Shared/mac/RemoteLayerTreePropertyApplier.mm: Ditto.
  • UIProcess/API/Cocoa/WKWebView.mm: Include header QuartzCoreSPI.h instead

of including QuartzCore headers directly.

  • UIProcess/ios/ViewGestureControllerIOS.mm: Ditto.
  • UIProcess/ios/WKContentView.mm: Ditto.
  • UIProcess/ios/WKPDFPageNumberIndicator.mm: Ditto.
  • UIProcess/mac/ViewGestureControllerMac.mm: Move CAFilter forward declarations

from this file to fileQuartzCoreSPI.h and include header QuartzCoreSPI.h.
Also sort the list of #import directives.

  • UIProcess/mac/ViewSnapshotStore.mm: Include header QuartzCoreSPI.h

instead of including QuartzCore headers directly.

9:07 AM Changeset in webkit [176203] by rniwa@webkit.org
  • 3 edits in trunk/Websites/perf.webkit.org

App.Manifest shouldn't use App.container.lookup
https://bugs.webkit.org/show_bug.cgi?id=138768

Reviewed by Andreas Kling.

Removed the hack to find the store object via App.container.lookup.
Pass around the store object instead.

  • public/v2/app.js:

(App.DashboardRow._createPane): Add "store" property to the pane.
(App.DashboardPaneProxyForPicker._platformOrMetricIdChanged): Ditto.
(App.IndexController.gridChanged): Ditto.
(App.IndexController.actions.addRow): Ditto.
(App.IndexController.init): Ditto.
(App.Pane._fetch): Ditto.
(App.ChartsController._parsePaneList): Ditto.
(App.ChartsController._updateQueryString): Ditto.
(App.ChartsController.actions.addPaneByMetricAndPlatform): Ditto.
(App.BuildPopup): Ditto.
(App.AnalysisTaskRoute.model): Ditto.
(App.AnalysisTaskViewModel._taskUpdated): Ditto.

  • public/v2/manifest.js:

(App.Manifest.fetch): Removed the code to find the store object.

8:43 AM Changeset in webkit [176202] by Chris Dumez
  • 5 edits in trunk/Source/WebCore

Move more CSS properties to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138766

Reviewed by Darin Adler.

Move more CSS properties from DeprecatedStyleBuilder to the new
StyleBuilder:
line-height
word-spacing
-webkit-marquee-repetition
-webkit-text-underline-position

No new tests, no behavior change.

  • css/CSSPropertyNames.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::csstoLengthConversionDataWithTextZoomFactor): Deleted.
(WebCore::ApplyPropertyMarqueeRepetition::applyValue): Deleted.
(WebCore::ApplyPropertyMarqueeRepetition::createHandler): Deleted.
(WebCore::ApplyPropertyTextUnderlinePosition::applyValue): Deleted.
(WebCore::ApplyPropertyTextUnderlinePosition::createHandler): Deleted.
(WebCore::ApplyPropertyLineHeight::applyValue): Deleted.
(WebCore::ApplyPropertyLineHeight::createHandler): Deleted.
(WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyValue): Deleted.
(WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyInitialValue): Deleted.
(WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::applyInheritValue): Deleted.
(WebCore::ApplyPropertyLineHeightForIOSTextAutosizing::createHandler): Deleted.
(WebCore::ApplyPropertyWordSpacing::applyValue): Deleted.
(WebCore::ApplyPropertyWordSpacing::createHandler): Deleted.

  • css/StyleBuilderConverter.h:

(WebCore::StyleBuilderConverter::convertMarqueeRepetition):
(WebCore::StyleBuilderConverter::convertTextUnderlinePosition):

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderFunctions::csstoLengthConversionDataWithTextZoomFactor):
(WebCore::StyleBuilderFunctions::convertLineHeight):
(WebCore::StyleBuilderFunctions::applyValueWordSpacing):
(WebCore::StyleBuilderFunctions::applyInheritLineHeight):
(WebCore::StyleBuilderFunctions::applyInitialLineHeight):
(WebCore::StyleBuilderFunctions::applyValueLineHeight):

8:22 AM Changeset in webkit [176201] by akling@apple.com
  • 8 edits in trunk

Avoid synchronous style recalc when mutating a Node inside FrameSelection.
<https://webkit.org/b/138791>

Reviewed by Antti Koivisto.

Source/WebCore:

We can safely clear the RenderView's selection without doing a synchronous
style recalc first.

This is a small progression on Speedometer locally.

  • editing/FrameSelection.cpp:

(WebCore::DragCaretController::nodeWillBeRemoved):
(WebCore::FrameSelection::respondToNodeModification):
(WebCore::clearRenderViewSelection): Deleted.

Merged clearRenderViewSelection() into the call sites and removed
the now-unnecessary protection of the Document.

LayoutTests:

Rebaseline fast/dynamic/move-node-with-selection.html.
This is a progression, we avoid littering the render tree with some empty
text renderers due to deferring the style recalc in selection clearing.

  • platform/efl/fast/dynamic/move-node-with-selection-expected.txt:
  • platform/gtk/fast/dynamic/move-node-with-selection-expected.txt:
  • platform/ios-sim-deprecated/fast/dynamic/move-node-with-selection-expected.txt:
  • platform/ios-simulator/fast/dynamic/move-node-with-selection-expected.txt:
  • platform/mac/fast/dynamic/move-node-with-selection-expected.txt:
6:41 AM Changeset in webkit [176200] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Skip timeouting editing tests
https://bugs.webkit.org/show_bug.cgi?id=138693

Patch by Tibor Meszaros <tmeszaros.u-szeged@partner.samsung.com> on 2014-11-17
Reviewed by Csaba Osztrogonác.

  • platform/efl/TestExpectations:
6:07 AM Changeset in webkit [176199] by eric.carlson@apple.com
  • 20 edits in trunk/Source

[iOS] allow host application to opt-out of alternate fullscreen
https://bugs.webkit.org/show_bug.cgi?id=138787

Reviewed by Darin Adler.

Source/WebCore:

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::optimizedFullscreenSupported): Check mediaSession().allowsAlternateFullscreen.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::enterFullscreenOptimized): Do nothing if

mediaSession().allowsAlternateFullscreen says it isn't allowed.

  • html/HTMLMediaSession.cpp:

(WebCore::HTMLMediaSession::allowsAlternateFullscreen): New, check settings.

  • html/HTMLMediaSession.h:
  • page/Settings.cpp: Add allowsAlternateFullscreen.
  • page/Settings.in: Ditto.

Source/WebKit/mac:

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences allowsAlternateFullscreen]):
(-[WebPreferences setAllowsAlternateFullscreen:]):

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

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

(WKPreferencesSetAllowsAlternateFullscreen):
(WKPreferencesGetAllowsAlternateFullscreen):

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

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

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

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

2:48 AM Changeset in webkit [176198] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Add library search paths from LDFLAGS before pkg-config --libs
https://bugs.webkit.org/show_bug.cgi?id=136018

Patch by Ting-Wei Lan <Ting-Wei Lan> on 2014-11-17
Reviewed by Carlos Garcia Campos.

It is possible that the order of -L arguments in the output of
pkg-config is wrong, which causes the linker to find the wrong
version (usually older version) of libraries when running
gtkdoc-scangobj.

  • gtk/gtkdoc.py:

(GTKDoc._run_gtkdoc_scangobj):

2:27 AM Changeset in webkit [176197] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Skip more tests failing after r175776.

There is no network load scheduling or prioritization with NetworkProcess.

  • platform/gtk/TestExpectations:
1:53 AM Changeset in webkit [176196] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk/Tools

Bump EFL version to 1.12.0
https://bugs.webkit.org/show_bug.cgi?id=138733

Reviewed by Gyuyoung Kim.

  • efl/jhbuild.modules:
1:06 AM Changeset in webkit [176195] by Carlos Garcia Campos
  • 4 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176170 - Assertion hit when setting a very large value to 'border-width' / 'font-size' CSS properties
https://bugs.webkit.org/show_bug.cgi?id=138770

Reviewed by Darin Adler.

Source/WebCore:

When setting a very large value to a CSS property, it is represented internally as
infinity. r166114 already tried to deal with this by adding an std::isinf() check
in CSSValuePool::createValue() and returning an identifier CSSPrimitiveValue with
CSSValueInvalid value in such case. The issue is that doing leads to the
StyleBuilder getting a CSSValueInvalid CSSPrimitive value as input, which is not
handled and leads to assertions.

This patch updates the CSSParser to detect cases where the double value is
infinity earlier (in CSSParser::validUnit() and parseSimpleLengthValue()), so
that we mark the value as invalid and actually drop it. As a result,
CSSPrimitiveValues with CSSValueInvalid value no longer make their way to the
StyleBuilder.

Test: fast/css/style-builder-infinite-value.html

fast/css/infinite-floating-value.html

  • css/CSSParser.cpp:

(WebCore::parseSimpleLengthValue):
(WebCore::CSSParser::validUnit):

  • css/CSSValuePool.cpp:

(WebCore::CSSValuePool::createValue):

LayoutTests:

Add a layout test setting very large values to 'border-width' and
'font-size' CSS properties.

  • fast/css/style-builder-infinite-value-expected.txt: Added.
  • fast/css/style-builder-infinite-value.html: Added.
1:05 AM Changeset in webkit [176194] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176169 - Attribute text in HTMLAnchorElement should behave as per specification.
https://bugs.webkit.org/show_bug.cgi?id=138557

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-11-16
Reviewed by Darin Adler.

Source/WebCore:

attribute text in HTMLAnchorElement should not be readonly as per specification
http://www.w3.org/TR/html/text-level-semantics.html#dom-a-text. It should behave as textContent attribute.
Also This matches the behavior of Chrome 38 and FireFox.

Test: fast/dom/HTMLAnchorElement/anchor-text-attribute.html

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::text):
(WebCore::HTMLAnchorElement::setText):

  • html/HTMLAnchorElement.h:
  • html/HTMLAnchorElement.idl:

LayoutTests:

  • fast/dom/HTMLAnchorElement/anchor-text-attribute-expected.txt: Added.
  • fast/dom/HTMLAnchorElement/anchor-text-attribute.html: Added.
12:52 AM Changeset in webkit [176193] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r176163 - AX: [ATK] REGRESSION(r166288): Accessible values are no longer accessible via AT-SPI2
https://bugs.webkit.org/show_bug.cgi?id=138776

Reviewed by Chris Fleizach.

r166288 used #if...#else instead of #if...#endif, thus disabling the old
AtkValue support. Unfortunately AT-SPI2 doesn't yet have support for the
new AtkValue API. Thus r166288 broke access to value-holding elements for
AT-SPI2 assistive technologies. Replacing #else with #endif fixes things.

No new tests because catching this regression would require AT-SPI2.

  • accessibility/atk/WebKitAccessibleInterfaceValue.cpp:

(webkitAccessibleValueGetMinimumIncrement):
(webkitAccessibleValueInterfaceInit):

12:49 AM Changeset in webkit [176192] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r176154 - Network process crash when running http/tests/appcache/fallback.html
https://bugs.webkit.org/show_bug.cgi?id=138740

Reviewed by Alexey Proskuryakov.

It happens because ResourceHandle::continueWillSendRequest() is
called with a null request. We could handle that case in the
ResourceHandle, but the thing is tha the behaviour is
not the same for async loads, or when loading in the web
process. In WebResourceLoader::willSendRequest(),
ResourceRequest::willSendRequest() is called, and cancels the load
if the client returns a null request. In this case, the
ResourceLoader is detached and WebResourceLoader::willSendRequest()
returns early without sending the ContinueWillSendRequest message
to the network process. However, for synchronous loads,
NetworkResourceLoader::continueWillSendRequest() is always called.

Fixes http/tests/appcache/fallback.html for GTK port when using
the network process.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::continueWillSendRequest): Do not
call ResourceHandle::continueWillSendRequest() if the client
request is null, since the load is going to be cancelled.

12:46 AM Changeset in webkit [176191] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176124 - Table rows repaint entire table when their background color changes.
https://bugs.webkit.org/show_bug.cgi?id=26662

Reviewed by Simon Fraser.

Added fast/repaint/table-row-repaint.html

Source/WebCore:

  • rendering/RenderTableCell.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::clippedOverflowRectForRepaint):
Improve table row's function to unite with the cell rects that can possibly
have the the row's background color painted behind them.

LayoutTests:

  • fast/repaint/table-row-repaint-expected.txt: Added.
  • fast/repaint/table-row-repaint.html: Added.
  • platform/mac/accessibility/table-detection-expected.txt:
12:39 AM Changeset in webkit [176190] by Carlos Garcia Campos
  • 3 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r176120 - [SOUP] Use GMainLoopSource for request timeout in ResourceHandle
https://bugs.webkit.org/show_bug.cgi?id=138695

Reviewed by Sergio Villar Senin.

We are currently using soup_timeout_add() that simply creates a
GSource and attaches it to the given context. Using
GMainLoopSource we simplify the code and fix any potential problem
of converting the double value into milliseconds.

  • platform/network/ResourceHandleInternal.h:
  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::cleanupSoupRequestOperation):
(WebCore::ResourceHandle::sendPendingRequest):
(WebCore::ResourceHandle::platformSetDefersLoading):
(WebCore::requestTimeoutCallback): Deleted.

12:37 AM Changeset in webkit [176189] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r176119 - [SOUP] Encode/Decode allowCookies in ResourceRequest
https://bugs.webkit.org/show_bug.cgi?id=138730

Reviewed by Sergio Villar Senin.

We are not sending this information to the network process, making
cookies always available. Fixes
http/tests/xmlhttprequest/cross-origin-no-authorization.html when
network process is enabled.

  • Shared/soup/WebCoreArgumentCodersSoup.cpp:

(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):

12:27 AM Changeset in webkit [176188] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6

Merge r176096 - Policy client not called for navigations through the page cache
https://bugs.webkit.org/show_bug.cgi?id=138703

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Test added to TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::loadDifferentDocumentItem): When using a cached page, which already
has a document loader, set the document loader’s triggering action (so that the policy
client sees that this is a back/forward navigation) and clear its last checked request (so
that the policy client gets called).

Tools:

  • TestWebKitAPI/Tests/WebKit2Cocoa/Navigation.mm:

(-[DecidePolicyForPageCacheNavigationDelegate webView:didFinishNavigation:]):
(-[DecidePolicyForPageCacheNavigationDelegate webView:decidePolicyForNavigationAction:decisionHandler:]):

12:23 AM Changeset in webkit [176187] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r176151 - STRH can store values with the wrong offset
https://bugs.webkit.org/show_bug.cgi?id=138723

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-11-14
Reviewed by Michael Saboff.

This is the counterpart of r176083 for the str instruction.

I believe this code is currently unreachable because there is only one client of strh()
in the MacroAssembler and it always setup the scale explicitely.

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::strh):

12:22 AM Changeset in webkit [176186] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r176083 - ARMv7(s) Assembler: LDRH with immediate offset is loading from the wrong offset
https://bugs.webkit.org/show_bug.cgi?id=136914

Reviewed by Michael Saboff.

TLDR: the immediate offset of half-word load was divided by 2.

Story time: So I started getting those weird reports of :nth-child() behaving bizarrely
on ARMv7 and ARMv7s. To make things worse, the behavior changes depending on style updates.

I started looking the disassembly on the tests cases...

The first thing I noticed was that the computation of An+B looked wrong. For example,
in the case of n+6, the instruction should have been:

subs r1, r1, #6

but was

subs r1, r1, #2

After spending a lot of time trying to find the error in the assembler, I discovered
the problem was not real, but just a bug in the disassembler.
This is the first fix: ARMv7DOpcodeAddSubtractImmediate3's immediate3() was truncating
the value to 2 bits instead of 3 bits.

The disassembler being fixed, I still have no lead on the weird bug. Some disassembly later,
I realize the LDRH instruction is not decoded at all. The reason is that both LDRH and STRH
were under the umbrella ARMv7DOpcodeLoadStoreRegisterImmediateHalfWord but the pattern
only matched SRTH.

I fix that next, ARMv7DOpcodeLoadStoreRegisterImmediateHalfWord is split into
ARMv7DOpcodeStoreRegisterImmediateHalfWord and ARMv7DOpcodeLoadRegisterImmediateHalfWord,
each with their own pattern and their instruction group.

Now that I can see the LDRHs correctly, there is something fishy about them, their offset
is way too small for the data I load.

This time, looking at the binary, the generated code is indeed incorrect. It turns out that
the ARMv7 assembler shifted the offset of half-word load as if they were byte load: divided by 4.
As a result, all the load of half-words with more than zero offset were loading
values with a smaller offset than what they should have.

That being fixed, I dump the assembly: still wrong. I am ready to throw my keyboard through
my screen at that point.

Looking at the disassembler, there is yet again a bug. The computation of the scale() adjustment
of the offset was incorrect for anything but word loads.
I replaced it by a switch-case to make it explicit.

STRH is likely incorrect too. I'll fix that in a follow up, I want to survey all the 16 bits cases
that are not directly used by the CSS JIT.

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::ldrh):
Fix the immediate scaling. Add an assertion to make sure the alignment of the input is correct.

  • disassembler/ARMv7/ARMv7DOpcode.cpp:

(JSC::ARMv7Disassembler::ARMv7DOpcodeLoadStoreRegisterImmediate::scale):
Fix the scaling code. Just hardcode instruction-to-scale table.

  • disassembler/ARMv7/ARMv7DOpcode.h:

(JSC::ARMv7Disassembler::ARMv7DOpcodeAddSubtractImmediate3::immediate3):
The mask for a 3 bits immediate is not 3 :)

(JSC::ARMv7Disassembler::ARMv7DOpcodeLoadStoreRegisterImmediate::scale): Deleted.

12:20 AM Changeset in webkit [176185] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176082 - REGRESSION (r172826): Password field placeholder text is missing if
placeholder attribute precedes type attribute

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

Source/WebCore:

When the placeholder attribute is encountered, a shadow tree is created
to include the placeholder element. When the type attribute is
encountered, the previous shadow tree is destroyed, and a new shadow
tree is created. TextFieldInputType::createShadowSubtree() did not
handle creating the placeholder element.

This regressed in r172826 because prior to r172826, the placeholder
element would be recreated when
HTMLTextFormControlElement::updatePlaceholderVisibility() was called.
In r172826, updatePlaceholderVisibility() was changed to only show or
hide the placeholder element if it exists.

Reviewed by Benjamin Poulain.

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::createShadowSubtree):
Call updatePlaceholderVisibility() to insert the placeholder element
(after the inner text element has been inserted, as it appears before
it in the shadow DOM).

LayoutTests:

Reviewed by Benjamin Poulain.

  • fast/forms/placeholder-attribute-ordering-expected.html: Added.
  • fast/forms/placeholder-attribute-ordering.html: Added.
12:18 AM Changeset in webkit [176184] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebKit2

Merge r176071 - [SOUP] Missing ResourceRequest members encoded/decoded
https://bugs.webkit.org/show_bug.cgi?id=138694

Reviewed by Sergio Villar Senin.

At least timeoutInterval and priority should also be
encoded/decoded. This fixes all http/tests/xmlhttprequest/timeout/
tests when using the network process, since the timeout is always
0 for all requests that we send to the network process.

  • Shared/soup/WebCoreArgumentCodersSoup.cpp:

(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):

Nov 16, 2014:

11:59 PM Changeset in webkit [176183] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r175965 - [Frame Flattening] ASSERT(transaction->view == &view()) fails in RenderBlock::removeFromUpdateScrollInfoAfterLayoutTransaction()
https://bugs.webkit.org/show_bug.cgi?id=138615
<rdar://problem/18928487>

Reviewed by David Hyatt.

Source/WebCore:

Fixes an issue where we always expected that the RenderView associated with the RenderBlock called in
RenderBlock::removeFromUpdateScrollInfoAfterLayoutTransaction() is the same as the RenderView associated with
the top transaction in the UpdateScrollInfoAfterLayoutTransaction stack regardless of frame flattening. This
expectation is only true when frame flattening is disabled.

Test: fast/frames/flattening/iframe-flattening-inside-flexbox-with-delayed-scroll-update.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::removeFromUpdateScrollInfoAfterLayoutTransaction):

LayoutTests:

Add a test that causes an assertion failure in affected builds.

  • fast/frames/flattening/iframe-flattening-inside-flexbox-with-delayed-scroll-update-expected.txt: Added.
  • fast/frames/flattening/iframe-flattening-inside-flexbox-with-delayed-scroll-update.html: Added.
11:50 PM Changeset in webkit [176182] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r175809 - Crash in WebCore::Node::getFlag
https://bugs.webkit.org/show_bug.cgi?id=137961

Reviewed by Antti Koivisto.

Source/WebCore:

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyBlockStyle): Null pointer check added.

LayoutTests:

  • editing/execCommand/crash-137961-expected.txt: Added.
  • editing/execCommand/crash-137961.html: Added.
11:48 PM Changeset in webkit [176181] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6
Merge r175807 - ASSERTION FAILED: !object
!object->parent()->isRuby() is<RenderRubyRun>(*object) (object->isInline() && (object->isBeforeContent() object->isAfterContent())) (object->isAnonymous() && ... ) in WebCore::isAnonymousRubyInlineBlock

https://bugs.webkit.org/show_bug.cgi?id=137958

Reviewed by Chris Dumez.

Source/WebCore:

When a ruby element, with block behavior, dynamically changes its style
from multicol to without multicol, we have to remove its special children,
RenderMultiColumnFlowThread and RenderMultiColumnSet, the normal way using
the method in RenderBlockFlow base class. This patch adds both
RenderMultiColumnFlowThread and RenderMultiColumnSet to the list of RenderRuby
children removed normally and adds a new function - isRubyChildForNormalRemove -
to test the condition and use it in the assertion in RenderRuby*::removeChild
method.

Test: fast/multicol/newmulticol/ruby-from-multicol-to-auto.html

  • rendering/RenderRuby.cpp:

(WebCore::isRubyChildForNormalRemove):
(WebCore::RenderRubyAsInline::removeChild):
(WebCore::RenderRubyAsBlock::removeChild):

LayoutTests:

  • fast/multicol/newmulticol/ruby-from-multicol-to-auto-expected.txt: Added.
  • fast/multicol/newmulticol/ruby-from-multicol-to-auto.html: Added.
11:44 PM Changeset in webkit [176180] by zandobersek@gmail.com
  • 12 edits in trunk/Source/WebCore

Replace RenderSVGResource::cast<T>() with downcast<T>()
https://bugs.webkit.org/show_bug.cgi?id=138290

Reviewed by Chris Dumez.

Add type traits for the RenderSVGResource hierarchy. This enables
using the typecasting framework in getRenderSVGResourceById() that
in return renders the RenderSVGResource::cast<>() template and all
the static s_resourceType member variables in the hierarchy removable.

  • WebCore.order:
  • rendering/svg/RenderSVGResource.h:

(WebCore::RenderSVGResource::cast): Deleted.

  • rendering/svg/RenderSVGResourceClipper.h:
  • rendering/svg/RenderSVGResourceContainer.h:

(WebCore::getRenderSVGResourceById):

  • rendering/svg/RenderSVGResourceFilter.h:

(isType):

  • rendering/svg/RenderSVGResourceLinearGradient.h:
  • rendering/svg/RenderSVGResourceMarker.h:
  • rendering/svg/RenderSVGResourceMasker.h:
  • rendering/svg/RenderSVGResourcePattern.h:
  • rendering/svg/RenderSVGResourceRadialGradient.h:
  • rendering/svg/RenderSVGResourceSolidColor.h:
11:43 PM Changeset in webkit [176179] by Carlos Garcia Campos
  • 3 edits
    2 adds
    1 delete in releases/WebKitGTK/webkit-2.6/Source/WebInspectorUI

Merge r176080 - Web Inspector: Replace PDF Probes icon with SVG version
https://bugs.webkit.org/show_bug.cgi?id=137296

Reviewed by Joseph Pecoraro.

  • UserInterface/Images/NavigationItemProbes.pdf: Removed.
  • UserInterface/Images/NavigationItemProbes.svg: Added.
  • UserInterface/Views/ProbeDetailsSidebarPanel.js:

(WebInspector.ProbeDetailsSidebarPanel): Use NavigationItemProbes.svg.

  • UserInterface/Images/gtk/NavigationItemProbes.svg: Added.
11:40 PM Changeset in webkit [176178] by Carlos Garcia Campos
  • 5 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176091 - AX: [ATK] Do not return ATK_ROLE_UNKNOWN for null or otherwise invalid accessible objects
https://bugs.webkit.org/show_bug.cgi?id=137867

Reviewed by Chris Fleizach.

Source/WebCore:

Return ATK_ROLE_INVALID for null or otherwise invalid accessible objects.

Test: platform/gtk/accessibility/detached-object-role.html

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(webkitAccessibleGetRole):

Tools:

Add ATK_ROLE_INVALID to roleToString. Remove the null AtkRole check in
AccessibilityUIElement::role: ATK_ROLE_INVALID = 0, and we need to be
able to test for the presence of ATK_ROLE_INVALID.

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::AccessibilityUIElement::role):

LayoutTests:

  • platform/gtk/accessibility/detached-object-role-expected.txt: Added.
  • platform/gtk/accessibility/detached-object-role.html: Added.
11:35 PM Changeset in webkit [176177] by Carlos Garcia Campos
  • 3 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r176076 - AX: [ATK] Accessible focus events are emitted when the selection is changed in non-focused combo boxes
https://bugs.webkit.org/show_bug.cgi?id=137866

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Check that the AccessibilityMenuList is really focused before notifying
the platform that it is focused. Likewise, only notify the platform of
an AccessibilityMenuListOption focus gain if the AccessibilityMenuList
containing that option is expanded.

Test: platform/gtk/accessibility/menu-list-unfocused-notifications.html

  • accessibility/atk/AXObjectCacheAtk.cpp:

(WebCore::notifyChildrenSelectionChange):
(WebCore::AXObjectCache::postPlatformNotification):

LayoutTests:

  • platform/gtk/accessibility/menu-list-unfocused-notifications-expected.txt: Added.
  • platform/gtk/accessibility/menu-list-unfocused-notifications.html: Added.
11:31 PM Changeset in webkit [176176] by Carlos Garcia Campos
  • 5 edits in releases/WebKitGTK/webkit-2.6

Merge r175724 - slow_path_get_direct_pname() needs to be hardened against a constant baseValue.
<https://webkit.org/b/138476>

Reviewed by Michael Saboff.

Source/JavaScriptCore:

slow_path_get_direct_pname() currently assumes that the baseValue is always a
non-constant virtual register. However, this is not always the case like in the
following:

function foo() {

var o = { a:1 };
for (var n in o)

0[n];

}
foo();

This patch fixes it to also check for constant virtual register indexes.

  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

LayoutTests:

  • js/get-by-pname-expected.txt:
  • js/script-tests/get-by-pname.js:

(getByPnameOnConstant):
(getByPnameOnVar):

  • Added more test cases.
11:03 PM Changeset in webkit [176175] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebKit2

Start cleaning up minimal UI from WKWebView
https://bugs.webkit.org/show_bug.cgi?id=138725

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

Start removing the old update path for minimumLayoutSize/maximumUnobscuredSize.

Unfortunately, I cannot remove everything yet because the clients still did not have
alternatives to [_overrideLayoutParametersWithMinimumLayoutSize:minimumLayoutSizeForMinimalUI:maximumUnobscuredSizeOverride]
and might change the minimal UI options.

This patch adds [_overrideLayoutParametersWithMinimumLayoutSize:maximumUnobscuredSizeOverride] to move
in the right direction. Next we'll udpate the client code and get rid of all the useless code.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:minimumLayoutSizeForMinimalUI:maximumUnobscuredSizeOverride:]):
(-[WKWebView _overrideLayoutParametersWithMinimumLayoutSize:maximumUnobscuredSizeOverride:]):
(-[WKWebView _minimumLayoutSizeOverrideForMinimalUI]): Deleted.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h:
11:01 PM Changeset in webkit [176174] by benjamin@webkit.org
  • 18 edits
    32 adds in trunk

Implement :valid and :invalid matching for the fieldset element
https://bugs.webkit.org/show_bug.cgi?id=138769

Reviewed by Darin Adler.

Source/WebCore:

In the latest HTML spec, the pseudo classes :valid and :invalid match
a fieldset element based on its descendants:

https://html.spec.whatwg.org/#selector-valid
https://html.spec.whatwg.org/#selector-invalid

This patch adds that behavior.

There are two key problems to solve with these pseudo classes on fieldset:
-Efficient matching.
-Style invalidation when any of the descendant changes.

To implement the style invalidation, I have modified HTMLFormControlElement
to notify its ancestor when its state changes.

The first change is making the state fully internal to HTMLFormControlElement,
we do not want subclass to be able to change the behavior and forget to update
the ancestors.

To achieve that encapsulation, the interface was changed a bit:
-Neither willValidate() nor isValidFormControlElement() inherit from Element.

Instead, willValidate() is the implementation of FormAssociatedElement's interface
and it is final. The method isValidFormControlElement() becomes completely internal
to HTMLFormControlElement.

-Since willValidate() should no longer be re-implemented by subclass, the elements

that were depending on it have been migrated to recalcWillValidate() to set
the initial state as needed.

With the validity state fully encapsulated in HTMLFormControlElement, all I need
is a way to communicate that information to HTMLFieldSetElement ancestors.
This is done in two cases:
-The validity state changes.
-The tree changes in a way that would make the input element not a descendant

of a HTMLFieldSetElement.

The invalidation is simply done by walking up the ancestors and adding the current
element to a "validity dependency list" on each HTMLFieldSetElement.

Tests: fast/css/pseudo-invalid-fieldset-invalidation-optimization.html

fast/css/pseudo-invalid-fieldset-style-sharing.html
fast/css/pseudo-invalid-fieldset.html
fast/css/pseudo-valid-fieldset-invalidation-optimization.html
fast/css/pseudo-valid-fieldset-style-sharing.html
fast/css/pseudo-valid-fieldset.html
fast/selectors/invalid-fieldset-style-update-1.html
fast/selectors/invalid-fieldset-style-update-2.html
fast/selectors/invalid-fieldset-style-update-3.html
fast/selectors/invalid-fieldset-style-update-4.html
fast/selectors/invalid-fieldset-style-update-5.html
fast/selectors/valid-fieldset-style-update-1.html
fast/selectors/valid-fieldset-style-update-2.html
fast/selectors/valid-fieldset-style-update-3.html
fast/selectors/valid-fieldset-style-update-4.html
fast/selectors/valid-fieldset-style-update-5.html

  • css/SelectorCheckerTestFunctions.h:

(WebCore::isInRange):
(WebCore::isOutOfRange):
(WebCore::isInvalid):
(WebCore::isValid):
The hack "ContainsValidityStyleRules" is in the way of correct styling
of FieldSet and Form.
It is not the right way to get stylesheet properties anyway.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::canShareStyleWithControl):
Make sure style sharing does not incorrectly share style for fieldset elements.

  • dom/Document.cpp:

(WebCore::Document::Document):

  • dom/Document.h:

(WebCore::Document::containsValidityStyleRules): Deleted.
(WebCore::Document::setContainsValidityStyleRules): Deleted.

  • dom/Element.h:

(WebCore::Element::matchesValidPseudoClass):
(WebCore::Element::matchesInvalidPseudoClass):
(WebCore::Element::willValidate): Deleted.
(WebCore::Element::isValidFormControlElement): Deleted.

  • html/FormAssociatedElement.cpp:

(WebCore::FormAssociatedElement::customError):

  • html/FormAssociatedElement.h:
  • html/HTMLFieldSetElement.cpp:

(WebCore::HTMLFieldSetElement::matchesValidPseudoClass):
(WebCore::HTMLFieldSetElement::matchesInvalidPseudoClass):
(WebCore::HTMLFieldSetElement::addInvalidDescendant):
(WebCore::HTMLFieldSetElement::removeInvalidDescendant):
Each HTMLFormControlElement that has constraint validation adds or removes
itself from its HTMLFieldSetElement ancestors.

It should be possible to just keep track of a count instead of a HashSet.
I decided to got with the HashSet to make the code more robust and easier
to debug. A few assertions ensure that the HashSet is actually used as a counter.

  • html/HTMLFieldSetElement.h:
  • html/HTMLFormControlElement.cpp:

(WebCore::addInvalidElementToAncestorFromInsertionPoint):
(WebCore::removeInvalidElementToAncestorFromInsertionPoint):

(WebCore::HTMLFormControlElement::insertedInto):
(WebCore::HTMLFormControlElement::removedFrom):
One tricky part of those two functions is that we cannot use
matchesValidPseudoClass() or matchesInvalidPseudoClass().

The reason is that HTMLFieldSetElement is a subclass of HTMLFormControlElement
and it has its own definition of what Valid and Invalid mean when matching selectors.

In HTMLFormControlElement, we must use the internal state,
willValidate() and isValidFormControlElement() must be used directly.

(WebCore::HTMLFormControlElement::matchesValidPseudoClass):
(WebCore::HTMLFormControlElement::matchesInvalidPseudoClass):
(WebCore::HTMLFormControlElement::willValidate):
(WebCore::addInvalidElementToAncestors):
(WebCore::removeInvalidElementFromAncestors):
(WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
(WebCore::HTMLFormControlElement::setNeedsValidityCheck):
(WebCore::HTMLFormControlElement::isValidFormControlElement): Deleted.

  • html/HTMLFormControlElement.h:

(WebCore::HTMLFormControlElement::isValidFormControlElement):

  • html/HTMLKeygenElement.h:
  • html/HTMLObjectElement.h:
  • html/HTMLOutputElement.h:

LayoutTests:

There are many ways to change the validation state of a submittable element.
I included a series of test trying to exercises as many combination
as possible.

  • fast/css/pseudo-valid-unapplied-expected.txt:
  • fast/css/pseudo-valid-unapplied.html:

This test was checking that :valid and :invalid are not applied
to fieldset. Such results are incorrect with the latest specification.

  • fast/css/pseudo-invalid-fieldset-expected.html: Added.
  • fast/css/pseudo-invalid-fieldset-invalidation-optimization-expected.txt: Added.
  • fast/css/pseudo-invalid-fieldset-invalidation-optimization.html: Added.
  • fast/css/pseudo-invalid-fieldset-style-sharing-expected.html: Added.
  • fast/css/pseudo-invalid-fieldset-style-sharing.html: Added.
  • fast/css/pseudo-invalid-fieldset.html: Added.
  • fast/css/pseudo-valid-fieldset-expected.html: Added.
  • fast/css/pseudo-valid-fieldset-invalidation-optimization-expected.txt: Added.
  • fast/css/pseudo-valid-fieldset-invalidation-optimization.html: Added.
  • fast/css/pseudo-valid-fieldset-style-sharing-expected.html: Added.
  • fast/css/pseudo-valid-fieldset-style-sharing.html: Added.
  • fast/css/pseudo-valid-fieldset.html: Added.
  • fast/selectors/invalid-fieldset-style-update-1-expected.txt: Added.
  • fast/selectors/invalid-fieldset-style-update-1.html: Added.
  • fast/selectors/invalid-fieldset-style-update-2-expected.txt: Added.
  • fast/selectors/invalid-fieldset-style-update-2.html: Added.
  • fast/selectors/invalid-fieldset-style-update-3-expected.txt: Added.
  • fast/selectors/invalid-fieldset-style-update-3.html: Added.
  • fast/selectors/invalid-fieldset-style-update-4-expected.txt: Added.
  • fast/selectors/invalid-fieldset-style-update-4.html: Added.
  • fast/selectors/invalid-fieldset-style-update-5-expected.txt: Added.
  • fast/selectors/invalid-fieldset-style-update-5.html: Added.
  • fast/selectors/valid-fieldset-style-update-1-expected.txt: Added.
  • fast/selectors/valid-fieldset-style-update-1.html: Added.
  • fast/selectors/valid-fieldset-style-update-2-expected.txt: Added.
  • fast/selectors/valid-fieldset-style-update-2.html: Added.
  • fast/selectors/valid-fieldset-style-update-3-expected.txt: Added.
  • fast/selectors/valid-fieldset-style-update-3.html: Added.
  • fast/selectors/valid-fieldset-style-update-4-expected.txt: Added.
  • fast/selectors/valid-fieldset-style-update-4.html: Added.
  • fast/selectors/valid-fieldset-style-update-5-expected.txt: Added.
  • fast/selectors/valid-fieldset-style-update-5.html: Added.
10:49 PM Changeset in webkit [176173] by zandobersek@gmail.com
  • 8 edits in trunk/Source

[TexMap] Add typecasting support for GraphicsLayerTextureMapper
https://bugs.webkit.org/show_bug.cgi?id=138741

Reviewed by Martin Robinson.

Source/WebCore:

Add type traits for the GraphicsLayerTextureMapper class.
This enables using typecasting functions instead of
toGraphicsLayerTextureMapper().

Remove toTextureMapperLayer() casting function which actually
returned the TextureMapperLayer object that belonged to the
passed-in GraphicsLayerTextureMapper. Instead, the GraphicsLayer
object is now downcasted and the TextureMapperLayer is accessed
by calling the GraphicsLayerTextureMapper::layer() method.

  • platform/graphics/GraphicsLayer.h:

(WebCore::GraphicsLayer::isGraphicsLayerTextureMapper):

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::toTextureMapperLayerVector):
(WebCore::GraphicsLayerTextureMapper::commitLayerChanges):
(WebCore::toTextureMapperLayer): Deleted.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:

(WebCore::toGraphicsLayerTextureMapper): Deleted.

Source/WebKit/win:

Switch to using downcast<GraphicsLayerTextureMapper>() and replace
uses of toTextureMapperLayer() with downcasting and calling
the GraphicsLayerTextureMapper::layer() method.

  • WebCoreSupport/AcceleratedCompositingContext.cpp:

(AcceleratedCompositingContext::initialize):
(AcceleratedCompositingContext::startedAnimation):
(AcceleratedCompositingContext::compositeLayersToContext):

Source/WebKit2:

Replace uses of toTextureMapperLayer() with downcasting and
calling the GraphicsLayerTextureMapper::layer() method.

  • WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:

(WebKit::LayerTreeHostGtk::initialize):
(WebKit::LayerTreeHostGtk::layerFlushTimerFired):
(WebKit::LayerTreeHostGtk::compositeLayersToContext):

10:46 PM Changeset in webkit [176172] by gyuyoung.kim@samsung.com
  • 14 edits in trunk/Source/WebCore

Move WebCore/loader to std::unique_ptr
https://bugs.webkit.org/show_bug.cgi?id=138646

Reviewed by Chris Dumez.

Replace OwnPtr with std::unique_ptr<> and std::make_unique<>.
However this patch leaves ResourceRequest::adopt() because this need
to be handled by different patch.

No new tests, no behavior changes.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequest):
(WebCore::DocumentThreadableLoader::preflightSuccess):

  • loader/DocumentThreadableLoader.h:
  • loader/SubresourceLoader.cpp:

(WebCore::SubresourceLoader::SubresourceLoader):
(WebCore::SubresourceLoader::didReceiveResponse):
(WebCore::SubresourceLoader::notifyDone):

  • loader/SubresourceLoader.h:
  • loader/TextTrackLoader.h:
  • loader/appcache/ApplicationCacheHost.h:
  • loader/appcache/ApplicationCacheStorage.cpp:

(WebCore::ApplicationCacheStorage::storeCopyOfCache):

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::create):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestPreload):
(WebCore::CachedResourceLoader::clearPreloads):
(WebCore::CachedResourceLoader::printPreloadStats):

  • loader/cache/CachedResourceLoader.h:
  • loader/icon/IconDatabase.cpp:

(WebCore::IconDatabase::deleteAllPreparedStatements):
(WebCore::readySQLiteStatement):

  • loader/icon/IconDatabase.h:
  • loader/icon/IconRecord.h:
9:41 PM Changeset in webkit [176171] by Chris Dumez
  • 3 edits
    2 adds in trunk

Crash when setting 'order' CSS property to a calculated value
https://bugs.webkit.org/show_bug.cgi?id=138780

Reviewed by Darin Adler.

Source/WebCore:

CSS Calculated values were not handled by the CSS parser for 'order'
CSS property. As a result, using calculated values wouldn't work in
release builds and would hit an assertion in debug builds.

This patch updates the CSS parser to directly convert the
CSS Calculated value into a simple integer CSSPrimitiveValue for
'order' property. We could have marked CSS Calculated values as
valid in the CSS Parser instead but this would have brought issues:

  • The calculated value needs to be adjusted to INT_MIN + 2 if it is less than that. This would force us to calculate the expression anyway.
  • The StyleBuilder would need updating to properly handle CSS Calculated values for 'order'.

Test: fast/css/order-calculated-value.html

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

LayoutTests:

Add a layout test to validate that setting a calculated value to the
'order' CSS property does not crash and behaves as expected.

  • fast/css/order-calculated-value-expected.txt: Added.
  • fast/css/order-calculated-value.html: Added.
9:38 PM Changeset in webkit [176170] by Chris Dumez
  • 4 edits
    2 adds in trunk

Assertion hit when setting a very large value to 'border-width' / 'font-size' CSS properties
https://bugs.webkit.org/show_bug.cgi?id=138770

Reviewed by Darin Adler.

Source/WebCore:

When setting a very large value to a CSS property, it is represented internally as
infinity. r166114 already tried to deal with this by adding an std::isinf() check
in CSSValuePool::createValue() and returning an identifier CSSPrimitiveValue with
CSSValueInvalid value in such case. The issue is that doing leads to the
StyleBuilder getting a CSSValueInvalid CSSPrimitive value as input, which is not
handled and leads to assertions.

This patch updates the CSSParser to detect cases where the double value is
infinity earlier (in CSSParser::validUnit() and parseSimpleLengthValue()), so
that we mark the value as invalid and actually drop it. As a result,
CSSPrimitiveValues with CSSValueInvalid value no longer make their way to the
StyleBuilder.

Test: fast/css/style-builder-infinite-value.html

fast/css/infinite-floating-value.html

  • css/CSSParser.cpp:

(WebCore::parseSimpleLengthValue):
(WebCore::CSSParser::validUnit):

  • css/CSSValuePool.cpp:

(WebCore::CSSValuePool::createValue):

LayoutTests:

Add a layout test setting very large values to 'border-width' and
'font-size' CSS properties.

  • fast/css/style-builder-infinite-value-expected.txt: Added.
  • fast/css/style-builder-infinite-value.html: Added.
9:14 PM Changeset in webkit [176169] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Attribute text in HTMLAnchorElement should behave as per specification.
https://bugs.webkit.org/show_bug.cgi?id=138557

Patch by Shivakumar JM <shiva.jm@samsung.com> on 2014-11-16
Reviewed by Darin Adler.

Source/WebCore:

attribute text in HTMLAnchorElement should not be readonly as per specification
http://www.w3.org/TR/html/text-level-semantics.html#dom-a-text. It should behave as textContent attribute.
Also This matches the behavior of Chrome 38 and FireFox.

Test: fast/dom/HTMLAnchorElement/anchor-text-attribute.html

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::text):
(WebCore::HTMLAnchorElement::setText):

  • html/HTMLAnchorElement.h:
  • html/HTMLAnchorElement.idl:

LayoutTests:

  • fast/dom/HTMLAnchorElement/anchor-text-attribute-expected.txt: Added.
  • fast/dom/HTMLAnchorElement/anchor-text-attribute.html: Added.
8:35 PM Changeset in webkit [176168] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move 'vertical-align' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138764

Reviewed by Darin Adler.

Move 'vertical-align' CSS property from DeprecatedStyleBuilder to the
new StyleBuilder by using custom code.

No new tests, no behavior change.

  • css/CSSPropertyNames.in:
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder):
(WebCore::ApplyPropertyVerticalAlign::applyValue): Deleted.
(WebCore::ApplyPropertyVerticalAlign::createHandler): Deleted.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderFunctions::applyValueVerticalAlign):

7:27 PM Changeset in webkit [176167] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Test expectation gardening.

  • platform/mac/TestExpectations:
5:57 PM Changeset in webkit [176166] by timothy_horton@apple.com
  • 5 edits in trunk/Source

Use TextIndicator instead of the built in Lookup highlight
https://bugs.webkit.org/show_bug.cgi?id=138775
<rdar://problem/18953982>

Follow-up to r176164.

  • UIProcess/API/mac/WKView.mm:

(-[WKView dealloc]):
(-[WKView initWithFrame:context:configuration:webView:]):

  • UIProcess/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::didPerformDictionaryLookup):
Include the softlinking macros directly in the files they're used
in, as they're supposed to be used.

  • platform/spi/mac/LookupSPI.h:

(WebCore::canDisableLookupIndicator): Deleted.
Remove canDisableLookupIndicator.

5:18 PM Changeset in webkit [176165] by Chris Dumez
  • 3 edits
    2 adds in trunk

Crash when setting '-webkit-line-clamp' CSS property to a calculated value
https://bugs.webkit.org/show_bug.cgi?id=138777

Reviewed by Benjamin Poulain.

Source/WebCore:

CSS Calculated values were not handled when converting a CSSPrimitiveValue
to a LineClampValue. As a result, we would hit an ASSERT_NOT_REACHED()
assertion. To address this issue, this patch updates the code to use
primitiveType() / getValue<>() instead of m_primitiveUnitType /
m_value.num, as those getter function properly handle CSS Calculated
values.

Test: fast/css/webkit-line-clamp-calculated-value.html

  • css/CSSPrimitiveValueMappings.h:

(WebCore::CSSPrimitiveValue::operator LineClampValue):

LayoutTests:

Add a layout test to check that assigning calculated values to the
'-webkit-line-clamp' CSS property does not crash and behaves as
expected.

  • fast/css/webkit-line-clamp-calculated-value-expected.txt: Added.
  • fast/css/webkit-line-clamp-calculated-value.html: Added.
12:41 PM Changeset in webkit [176164] by timothy_horton@apple.com
  • 28 edits
    1 add in trunk/Source

Use TextIndicator instead of the built in Lookup highlight
https://bugs.webkit.org/show_bug.cgi?id=138775
<rdar://problem/18953982>

Reviewed by Anders Carlsson.

In order to make the yellow highlight for Lookup more accurately match the
painted content of the web page (in light of e.g. Web fonts, and interesting
text features that only WebKit implements and cannot round-trip through
NSAttributedString), use a TextIndicator instead of the built-in Lookup
highlight where possible.

  • Configurations/BaseTarget.xcconfig:

Make it possible to include headers from private frameworks. This matches WebCore.

  • Shared/DictionaryPopupInfo.cpp:

(WebKit::DictionaryPopupInfo::encode):
(WebKit::DictionaryPopupInfo::decode):

  • Shared/DictionaryPopupInfo.h:

Include the attributed string inside the DictionaryPopupInfo, instead of
as a secondary argument to DidPerformDictionaryLookup.
Add a TextIndicator to DictionaryPopupInfo, which can be used to highlight
the text in the UI process.

  • UIProcess/API/mac/WKView.mm:

(-[WKView dealloc]):
(-[WKView viewDidMoveToWindow]):
(-[WKView _dictionaryLookupPopoverWillClose:]):
(-[WKView _setTextIndicator:fadeOut:animate:animationCompletionHandler:]):
(-[WKView _setTextIndicator:fadeOut:animate:]):
(-[WKView initWithFrame:context:configuration:webView:]):
(+[WKView hideWordDefinitionWindow]):

  • UIProcess/API/mac/WKViewInternal.h:

Adopt the Lookup SPI header.
If we have the requisite API, register the notification that Lookup sends
when the popover closes, and hook that up to hide the text indicator.
Add a version of _setTextIndicator: that takes an animation completion handler.

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::WebPageProxy::didPerformDictionaryLookup):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::didPerformDictionaryLookup):
Adjust to the new didPerformDictionaryLookup signature.

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):
Remove a WKSI import.

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

(WebKit::PageClientImpl::didPerformDictionaryLookup):
If we have the requisite API, disable Lookup's built-in highlight and
present a TextIndicator instead.
We currently have to run the animations serially (first bounce the TextIndicator,
then animate in the Lookup popover) because the act of adding the Lookup popover
blocks us from getting any animation events for the TextIndicator, and breaks
the bounce. We could also fix this by using a threaded animation for the TextIndicator,
but it's not clear that it's safe to do so.

(WebKit::PageClientImpl::dismissDictionaryLookupPanel):
When explicitly dismissing the Lookup panel, also hide the text indicator.

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

(WebKit::TextIndicatorWindow::setTextIndicator):
Store the completion handler.

(WebKit::TextIndicatorWindow::bounceAnimationDidEnd):
Call the completion handler when the animation completes.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _createActionMenuItemForTag:]):
Disable the Lookup item if lookup is not available.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::showDefinitionForAttributedString):
Adjust to the new didPerformDictionaryLookup signature.
Since PDFPlugin can't trivially repaint the required part of the PDF,
we don't build a TextIndicator. This will result in PDFPlugin continuing
to use Lookup's built-in highlight.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performDictionaryLookupForRange):
Build a TextIndicator from the Lookup range and pass it along with
the DictionaryPopupInfo.

  • WebCore.exp.in:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:

Remove a WKSI import/export that we don't need anymore.

  • platform/spi/mac/LookupSPI.h: Added.

(WebCore::canDisableLookupIndicator):
Add Lookup SPI header.
Add a 'canDisableLookupIndicator', which must be called in any translation
unit that wants to use either of the soft-linked constants related to
that functionality, before calling the get* function.

  • WebCore.xcodeproj/project.pbxproj:
  • editing/mac/DictionaryLookup.mm:

(WebCore::rangeForDictionaryLookupForSelection):
(WebCore::rangeForDictionaryLookupAtHitTestResult):
Adopt the Lookup SPI header.

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):
Remove a WKSI import.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _lookupText:]):
(-[WebActionMenuController _createActionMenuItemForTag:]):
Make use of the new Lookup SPI header.
Disable the Lookup item if lookup is not available.

9:13 AM Changeset in webkit [176163] by jdiggs@igalia.com
  • 2 edits in trunk/Source/WebCore

AX: [ATK] REGRESSION(r166288): Accessible values are no longer accessible via AT-SPI2
https://bugs.webkit.org/show_bug.cgi?id=138776

Reviewed by Chris Fleizach.

r166288 used #if...#else instead of #if...#endif, thus disabling the old
AtkValue support. Unfortunately AT-SPI2 doesn't yet have support for the
new AtkValue API. Thus r166288 broke access to value-holding elements for
AT-SPI2 assistive technologies. Replacing #else with #endif fixes things.

No new tests because catching this regression would require AT-SPI2.

  • accessibility/atk/WebKitAccessibleInterfaceValue.cpp:

(webkitAccessibleValueGetMinimumIncrement):
(webkitAccessibleValueInterfaceInit):

8:51 AM Changeset in webkit [176162] by jdiggs@igalia.com
  • 12 edits in trunk

AX: [ATK] Expose the blockquote element using ATK_ROLE_BLOCK_QUOTE
https://bugs.webkit.org/show_bug.cgi?id=138771

Reviewed by Chris Fleizach.

Source/WebCore:

Add BlockquoteRole and assigns it to blockquote elements. Make
corresponding changes to platform role mappings: ATK_ROLE_BLOCK_QUOTE
for GTK and EFL; AXGroup (which was being used already) for the Mac.

No new tests are required. Instead, updated the existing expectations
to reflect the new mapping.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::determineAccessibilityRole):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::isBlockquote):

  • accessibility/AccessibilityObject.h:
  • accessibility/AccessibilityRenderObject.cpp:

(WebCore::AccessibilityRenderObject::determineAccessibilityRole):

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

  • accessibility/mac/WebAccessibilityObjectWrapperMac.mm:

(createAccessibilityRoleMap):

Tools:

Add mapping for ATK_ROLE_BLOCK_QUOTE in roleToString()

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

LayoutTests:

Updated the expectations for GTK and EFL as there is a new role
being used. The Mac expectations were not updated because the
new role on that platform continues to be to AXGroup.

  • platform/efl/accessibility/roles-exposed-expected.txt: Updated
  • platform/gtk/accessibility/roles-exposed-expected.txt: Updated
7:54 AM Changeset in webkit [176161] by Chris Dumez
  • 3 edits
    2 adds in trunk

Crash when setting 'alt' CSS property to inherit or initial
https://bugs.webkit.org/show_bug.cgi?id=138774
<rdar://problem/18995409>

Reviewed by Chris Fleizach.

Source/WebCore:

The StyleResolver was not handling 'inherit' or 'initial' values for
'alt' CSS property. As a result, the code was assuming the CSSValue
was a CSSPrimitiveValue (although it could be a CSSInitialValue or
a CSSInheritValue). In such case, the code would dereference a null
pointer because primitiveValue is initialized using:
CSSPrimitiveValue* primitiveValue = is<CSSPrimitiveValue>(*value)

? downcast<CSSPrimitiveValue>(value)
: nullptr;

Test: fast/css/alt-inherit-initial.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

LayoutTests:

Add a layout test to verify that setting the 'alt' CSS property to
inherit / initial is not crashing and working as intended.

  • fast/css/alt-inherit-initial-expected.txt: Added.
  • fast/css/alt-inherit-initial.html: Added.

Nov 15, 2014:

11:34 PM Changeset in webkit [176160] by jdiggs@igalia.com
  • 5 edits in trunk

AX: [ATK] Lists with selectable children should have ATK_ROLE_LIST_BOX
https://bugs.webkit.org/show_bug.cgi?id=127060

Reviewed by Chris Fleizach.

Source/WebCore:

Corrected the mapping from ATK_ROLE_LIST to ATK_ROLE_LIST_BOX.

No new tests. Instead, updated the expectations of roles-exposed.html to
reflect the corrected mapping.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

LayoutTests:

Updated the expectations to reflect the corrected role.

  • platform/efl/accessibility/roles-exposed-expected.txt: updated
  • platform/gtk/accessibility/roles-exposed-expected.txt: updated
11:32 PM Changeset in webkit [176159] by jdiggs@igalia.com
  • 11 edits in trunk

AX: [ATK] Video and audio elements should be exposed using ATK's video and audio roles.
https://bugs.webkit.org/show_bug.cgi?id=138767

Reviewed by Chris Fleizach.

Source/WebCore:

Map AudioRole and VideoRole to ATK_ROLE_AUDIO and ATK_ROLE_VIDEO
respectively, falling back on the existing mapping to ATK_ROLE_EMBEDDED
in environments which have an older version of ATK.

No new tests are required. Instead, existing expectations were updated
to reflect the new mapping.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

Tools:

Add mappings for ATK_ROLE_AUDIO and ATK_ROLE_VIDEO to roleToString().

  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

LayoutTests:

Updated expectations to reflect the new mapping to ATK_ROLE_AUDIO and
ATK_ROLE_VIDEO.

  • platform/efl/accessibility/media-element-expected.txt: updated
  • platform/efl/accessibility/media-emits-object-replacement-expected.txt: updated
  • platform/gtk/accessibility/media-controls-panel-title-expected.txt: updated
  • platform/gtk/accessibility/media-controls-panel-title.html: updated
  • platform/gtk/accessibility/media-element-expected.txt: updated
  • platform/gtk/accessibility/media-emits-object-replacement-expected.txt: updated
11:26 PM Changeset in webkit [176158] by jdiggs@igalia.com
  • 6 edits in trunk

AX: [ATK] Expose the footer element as ATK_ROLE_FOOTER
https://bugs.webkit.org/show_bug.cgi?id=138773

Reviewed by Chris Fleizach.

Source/WebCore:

Map FooterRole to ATK_ROLE_FOOTER.

No new tests. Unskipped a test that verifies this mapping.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp:

(atkRole):

LayoutTests:

  • accessibility/roles-exposed.html: Unskip the footer element test for GTK and EFL
  • platform/efl/accessibility/roles-exposed-expected.txt: Updated expectations
  • platform/gtk/accessibility/roles-exposed-expected.txt: Updated expectations
3:02 PM Changeset in webkit [176157] by dino@apple.com
  • 33 edits
    6 moves in trunk

Rename WebKitCSSKeyframe(s)Rule into CSSKeyframe(s)Rule
https://bugs.webkit.org/show_bug.cgi?id=138763
<rdar://problem/18991569>

Reviewed by Simon Fraser.

Source/WebCore:

Globally rename WebKitCSSKeyframeRule and WebKitCSSKeyframesRule to
CSSKeyframeRule and CSSKeyframesRule respectively.

This *may* break some existing content, but is compatible with
what Blink and Firefox are doing. To minimize breakage, I kept an
alias for the old constant values on CSSRule: WEBKIT_KEYFRAMES_RULE
and WEBKIT_KEYFRAME_RULE.

Covered by existing tests.

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

(WebCore::toJS):

  • bindings/objc/DOMCSS.mm:

(kitClass):

  • css/CSSGrammar.y.includes:
  • css/CSSKeyframeRule.cpp: Renamed from Source/WebCore/css/WebKitCSSKeyframeRule.cpp.

(WebCore::StyleKeyframe::StyleKeyframe):
(WebCore::StyleKeyframe::~StyleKeyframe):
(WebCore::StyleKeyframe::mutableProperties):
(WebCore::StyleKeyframe::parseKeyString):
(WebCore::StyleKeyframe::cssText):
(WebCore::CSSKeyframeRule::CSSKeyframeRule):
(WebCore::CSSKeyframeRule::~CSSKeyframeRule):
(WebCore::CSSKeyframeRule::style):
(WebCore::CSSKeyframeRule::reattach):

  • css/CSSKeyframeRule.h: Renamed from Source/WebCore/css/WebKitCSSKeyframeRule.h.

(WebCore::StyleKeyframe::create):
(WebCore::StyleKeyframe::keyText):
(WebCore::StyleKeyframe::setKeyText):
(WebCore::StyleKeyframe::getKeys):
(WebCore::StyleKeyframe::properties):

  • css/CSSKeyframeRule.idl: Renamed from Source/WebCore/css/WebKitCSSKeyframeRule.idl.
  • css/CSSKeyframesRule.cpp: Renamed from Source/WebCore/css/WebKitCSSKeyframesRule.cpp.

(WebCore::StyleRuleKeyframes::StyleRuleKeyframes):
(WebCore::StyleRuleKeyframes::~StyleRuleKeyframes):
(WebCore::StyleRuleKeyframes::parserAppendKeyframe):
(WebCore::StyleRuleKeyframes::wrapperAppendKeyframe):
(WebCore::StyleRuleKeyframes::wrapperRemoveKeyframe):
(WebCore::StyleRuleKeyframes::findKeyframeIndex):
(WebCore::CSSKeyframesRule::CSSKeyframesRule):
(WebCore::CSSKeyframesRule::~CSSKeyframesRule):
(WebCore::CSSKeyframesRule::setName):
(WebCore::CSSKeyframesRule::appendRule):
(WebCore::CSSKeyframesRule::insertRule):
(WebCore::CSSKeyframesRule::deleteRule):
(WebCore::CSSKeyframesRule::findRule):
(WebCore::CSSKeyframesRule::cssText):
(WebCore::CSSKeyframesRule::length):
(WebCore::CSSKeyframesRule::item):
(WebCore::CSSKeyframesRule::cssRules):
(WebCore::CSSKeyframesRule::reattach):

  • css/CSSKeyframesRule.h: Renamed from Source/WebCore/css/WebKitCSSKeyframesRule.h.

(WebCore::StyleRuleKeyframes::create):
(WebCore::StyleRuleKeyframes::keyframes):
(WebCore::StyleRuleKeyframes::name):
(WebCore::StyleRuleKeyframes::setName):
(WebCore::StyleRuleKeyframes::copy):

  • css/CSSKeyframesRule.idl: Renamed from Source/WebCore/css/WebKitCSSKeyframesRule.idl.
  • css/CSSParser.cpp:
  • css/CSSRule.h:
  • css/CSSRule.idl:
  • css/CSSStyleSheet.cpp:
  • css/RuleSet.cpp:
  • css/StyleResolver.cpp:
  • css/StyleRule.cpp:

(WebCore::StyleRuleBase::createCSSOMWrapper):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::asCSSRuleList):

LayoutTests:

Some of the tests use the prefixed interface name. Replace that
with the unprefixed version.

The "keyframes-rule.html" test added a check to make sure the
old constant WEBKIT_KEYFRAMES_RULE is the same as the new
constant KEYFRAMES_RULE.

  • animations/keyframes-rule-expected.txt:
  • animations/keyframes-rule.html:
  • fast/dom/resources/wrapper-identity-base.js:
  • fast/dom/wrapper-classes.html:
  • fast/dom/wrapper-identity-expected.txt:
  • platform/efl/js/dom/global-constructors-attributes-expected.txt:
  • platform/gtk/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-mavericks/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac-mountainlion/js/dom/global-constructors-attributes-expected.txt:
  • platform/mac/fast/dom/objc-wrapper-identity-expected.txt:
  • platform/mac/js/dom/global-constructors-attributes-expected.txt:
  • platform/win/js/dom/global-constructors-attributes-expected.txt:
10:57 AM Changeset in webkit [176156] by ddkilzer@apple.com
  • 6 edits in trunk/Source

REGRESSION (r176137): iOS build broke after moving DataDetectors scanning code to WebCore

This regressed with the following commit:

Move DataDetectors scanning code to WebCore
https://bugs.webkit.org/show_bug.cgi?id=138731
<rdar://problem/18877535>

Source/WebCore:

This fixes the following build failures:

In file included from WebCore/editing/mac/DataDetection.mm:29:
WebCore/platform/spi/mac/DataDetectorsSPI.h:66:11: error: unknown type name 'NSRect'
@property NSRect highlightFrame;


WebCore/editing/mac/DataDetection.mm:42:28: error: use of undeclared identifier 'DataDetection'
RetainPtr<DDActionContext> DataDetection::detectItemAroundHitTestResult(const HitTestResult& hitTestResult, FloatRect& detectedDataBoundingBox, RefPtr<Range>& detectedDataRange)


2 errors generated.

  • WebCore.exp.in:

(DataDetection::detectItemAroundHitTestResult): Move symbol from
shared section to Mac-only section.

  • editing/mac/DataDetection.mm: Add PLATFORM(MAC) check around

the entire implementation since it it unused on iOS.

  • platform/spi/mac/DataDetectorsSPI.h: Expand PLATFORM(MAC)

check around DDActionContext class declarations.

Source/WebKit2:

  • Shared/mac/ActionMenuHitTestResult.mm: Add PLATFORM(MAC) check

around the entire implementation since it it unused on iOS.

10:41 AM Changeset in webkit [176155] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Raise an exception if -[WKWebView initWithFrame:configuration:] is passed a nil configuration
https://bugs.webkit.org/show_bug.cgi?id=138757

Reviewed by Simon Fraser.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView initWithFrame:configuration:]):

12:37 AM Changeset in webkit [176154] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

Network process crash when running http/tests/appcache/fallback.html
https://bugs.webkit.org/show_bug.cgi?id=138740

Reviewed by Alexey Proskuryakov.

It happens because ResourceHandle::continueWillSendRequest() is
called with a null request. We could handle that case in the
ResourceHandle, but the thing is tha the behaviour is
not the same for async loads, or when loading in the web
process. In WebResourceLoader::willSendRequest(),
ResourceRequest::willSendRequest() is called, and cancels the load
if the client returns a null request. In this case, the
ResourceLoader is detached and WebResourceLoader::willSendRequest()
returns early without sending the ContinueWillSendRequest message
to the network process. However, for synchronous loads,
NetworkResourceLoader::continueWillSendRequest() is always called.

Fixes http/tests/appcache/fallback.html for GTK port when using
the network process.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::continueWillSendRequest): Do not
call ResourceHandle::continueWillSendRequest() if the client
request is null, since the load is going to be cancelled.

12:12 AM Changeset in webkit [176153] by timothy_horton@apple.com
  • 6 edits in trunk/Source

Implement data detectors and mailto action menus for WebKit1
https://bugs.webkit.org/show_bug.cgi?id=138765
<rdar://problem/18877535>

Reviewed by Beth Dakin.

  • WebView/WebActionMenuController.h:
  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController willOpenMenu:withEvent:]):
Tell DataDetectors that the menu is going to open.
Select the text (or not) based on the number of items in the menu, just like WebKit2.

(-[WebActionMenuController didCloseMenu:withEvent:]):
Tell DataDetectors that the menu closed.

(-[WebActionMenuController _defaultMenuItemsForLink]):
Move these checks out of _defaultMenuItemsForLink, because we expect this
to always return a complete link menu.

(-[WebActionMenuController _defaultMenuItemsForMailtoLink]):
Implement. More or less copied from WebKit2.

(-[WebActionMenuController _selectDataDetectedText]):
Select the stashed range.

(-[WebActionMenuController _defaultMenuItemsForDataDetectedText]):
Implement. More or less copied from WebKit2.
The yellow highlight isn't hooked up yet.
Give the client a chance to override via _webView:actionContextForHitTestResult:range:.

(-[WebActionMenuController _selectLookupText]):
Remove an unnecessary return.

(-[WebActionMenuController _defaultMenuItems]):
Call into the two new menu types.

  • WebView/WebUIDelegatePrivate.h:
  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForMailtoLink]):

Nov 14, 2014:

6:32 PM Changeset in webkit [176152] by benjamin@webkit.org
  • 5 edits in trunk/Source/WebCore

Compute the selector specificity as we match simple selectors
https://bugs.webkit.org/show_bug.cgi?id=138718

Reviewed by Andreas Kling.

This is an other tiny step toward dynamic specificity. Instead of computing
the entire specificity at the end, compute it dynamically as we are matching
each individual simple selector.

  • css/CSSSelector.cpp:

(WebCore::CSSSelector::specificity):
(WebCore::CSSSelector::simpleSelectorSpecificity):
(WebCore::CSSSelector::addSpecificities):
(WebCore::CSSSelector::specificityForPage):
(WebCore::CSSSelector::specificityForOneSelector): Deleted.

  • css/CSSSelector.h:
  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::match):
(WebCore::SelectorChecker::matchRecursively):
(WebCore::SelectorChecker::checkOne):
(WebCore::SelectorChecker::matchSelectorList):

  • css/SelectorChecker.h:
6:31 PM Changeset in webkit [176151] by benjamin@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

STRH can store values with the wrong offset
https://bugs.webkit.org/show_bug.cgi?id=138723

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-11-14
Reviewed by Michael Saboff.

This is the counterpart of r176083 for the str instruction.

I believe this code is currently unreachable because there is only one client of strh()
in the MacroAssembler and it always setup the scale explicitely.

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::strh):

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

Remove pre-[DDActionContext contextForView:...] fallback path
https://bugs.webkit.org/show_bug.cgi?id=138735
<rdar://problem/18982046>

Reviewed by Simon Fraser.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController willOpenMenu:withEvent:]):
(-[WKActionMenuController didCloseMenu:withEvent:]):
(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
(hasDataDetectorsCompletionAPI): Deleted.
Remove the now-unnecessary fallback path.

4:36 PM Changeset in webkit [176149] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

[mac] Only images that are actually purgeable should be advertised as such.
<https://webkit.org/b/138759>
<rdar://problem/13205438>

Reviewed by Tim Horton.

Instead of saying that all images on >=Yosemite are purgeable, have BitmapImage
forward the question to CGImage for the correct answer.

The memory may be marked non-volatile by frameworks underneath WebKit at any
given time, but that's not something we need to worry about.

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::decodedDataIsPurgeable):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/cg/BitmapImageCG.cpp:

(WebCore::BitmapImage::decodedDataIsPurgeable):

  • platform/graphics/cg/ImageSourceCG.cpp:

(WebCore::ImageSource::createFrameAtIndex):

  • platform/spi/cg/CoreGraphicsSPI.h:
4:31 PM Changeset in webkit [176148] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Frequent crashes under actionContextForResultAtPoint
https://bugs.webkit.org/show_bug.cgi?id=138761
<rdar://problem/18990684>

Reviewed by Dean Jackson.

  • WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:

(PageOverlayClientImpl::actionContextForResultAtPoint):
Initialize apiRange.

4:26 PM Changeset in webkit [176147] by Alan Bujtas
  • 5 edits in trunk/Source/WebCore

Remove computeTextPaintStyle's RenderText dependency.
https://bugs.webkit.org/show_bug.cgi?id=138754

Reviewed by Simon Fraser.

So that we can compute text paint style across renderers in simple line layout.

No change in functionality.

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paint):

  • rendering/SimpleLineLayoutFunctions.cpp:

(WebCore::SimpleLineLayout::paintFlow):

  • rendering/TextPaintStyle.cpp:

(WebCore::computeTextPaintStyle):

  • rendering/TextPaintStyle.h:
4:02 PM Changeset in webkit [176146] by mmaxfield@apple.com
  • 9 edits
    2 deletes in trunk/Source

Get rid of WebFontCache
https://bugs.webkit.org/show_bug.cgi?id=134752

Reviewed by Dave Hyatt.

Source/WebCore:

No new tests because there is no behavior change.

  • Configurations/WebCore.xcconfig:
  • PlatformMac.cmake:
  • WebCore.exp.in:
  • WebCore.order:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::acceptableChoice):
(WebCore::betterChoice):
(WebCore::toTraitsMask):
(WebCore::desiredFamilyToAvailableFamilyDictionary):
(WebCore::rememberDesiredFamilyToAvailableFamilyMapping):
(WebCore::fontWithFamily):
(WebCore::invalidateFontCache):
(WebCore::FontCache::getTraitsInFamily):
(WebCore::FontCache::createFontPlatformData):

  • platform/mac/WebFontCache.h: Removed.
  • platform/mac/WebFontCache.mm: Removed.

Source/WebKit/mac:

  • WebView/WebHTMLView.mm:
3:50 PM Changeset in webkit [176145] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Update some artwork for the legacy WebKit action menu
https://bugs.webkit.org/show_bug.cgi?id=138758
<rdar://problem/18989840>

  • WebView/WebActionMenuController.mm:

(webKitBundleImageNamed): Deleted.
Fix the build.

3:45 PM Changeset in webkit [176144] by commit-queue@webkit.org
  • 2 edits
    1766 adds in trunk/LayoutTests

Import w3c tests for canvas
https://bugs.webkit.org/show_bug.cgi?id=138324.

Patch by Said Abou-Hallawa <sabouhallawa@apple.com> on 2014-11-14
Reviewed by Dean Jackson.

804 tests are ported from w3c canvas test suite. There are 39 tests failed on WebKit
and there are 45 tests need to be changed such that they can be automatically verified.

  • canvas: Added.
  • canvas/2d.canvas.readonly-expected.txt: Added.
  • canvas/2d.canvas.readonly.html: Added.
  • canvas/2d.canvas.reference-expected.txt: Added.
  • canvas/2d.canvas.reference.html: Added.
  • canvas/2d.clearRect.basic-expected.txt: Added.
  • canvas/2d.clearRect.basic.html: Added.
  • canvas/2d.clearRect.clip-expected.txt: Added.
  • canvas/2d.clearRect.clip.html: Added.
  • canvas/2d.clearRect.globalalpha-expected.txt: Added.
  • canvas/2d.clearRect.globalalpha.html: Added.
  • canvas/2d.clearRect.globalcomposite-expected.txt: Added.
  • canvas/2d.clearRect.globalcomposite.html: Added.
  • canvas/2d.clearRect.negative-expected.txt: Added.
  • canvas/2d.clearRect.negative.html: Added.
  • canvas/2d.clearRect.nonfinite-expected.txt: Added.
  • canvas/2d.clearRect.nonfinite.html: Added.
  • canvas/2d.clearRect.path-expected.txt: Added.
  • canvas/2d.clearRect.path.html: Added.
  • canvas/2d.clearRect.shadow-expected.txt: Added.
  • canvas/2d.clearRect.shadow.html: Added.
  • canvas/2d.clearRect.transform-expected.txt: Added.
  • canvas/2d.clearRect.transform.html: Added.
  • canvas/2d.clearRect.zero-expected.txt: Added.
  • canvas/2d.clearRect.zero.html: Added.
  • canvas/2d.composite.canvas.copy-expected.txt: Added.
  • canvas/2d.composite.canvas.copy.html: Added.
  • canvas/2d.composite.canvas.destination-atop-expected.txt: Added.
  • canvas/2d.composite.canvas.destination-atop.html: Added.
  • canvas/2d.composite.canvas.destination-in-expected.txt: Added.
  • canvas/2d.composite.canvas.destination-in.html: Added.
  • canvas/2d.composite.canvas.destination-out-expected.txt: Added.
  • canvas/2d.composite.canvas.destination-out.html: Added.
  • canvas/2d.composite.canvas.destination-over-expected.txt: Added.
  • canvas/2d.composite.canvas.destination-over.html: Added.
  • canvas/2d.composite.canvas.lighter-expected.txt: Added.
  • canvas/2d.composite.canvas.lighter.html: Added.
  • canvas/2d.composite.canvas.source-atop-expected.txt: Added.
  • canvas/2d.composite.canvas.source-atop.html: Added.
  • canvas/2d.composite.canvas.source-in-expected.txt: Added.
  • canvas/2d.composite.canvas.source-in.html: Added.
  • canvas/2d.composite.canvas.source-out-expected.txt: Added.
  • canvas/2d.composite.canvas.source-out.html: Added.
  • canvas/2d.composite.canvas.source-over-expected.txt: Added.
  • canvas/2d.composite.canvas.source-over.html: Added.
  • canvas/2d.composite.canvas.xor-expected.txt: Added.
  • canvas/2d.composite.canvas.xor.html: Added.
  • canvas/2d.composite.clip.copy-expected.txt: Added.
  • canvas/2d.composite.clip.copy.html: Added.
  • canvas/2d.composite.clip.destination-atop-expected.txt: Added.
  • canvas/2d.composite.clip.destination-atop.html: Added.
  • canvas/2d.composite.clip.destination-in-expected.txt: Added.
  • canvas/2d.composite.clip.destination-in.html: Added.
  • canvas/2d.composite.clip.destination-out-expected.txt: Added.
  • canvas/2d.composite.clip.destination-out.html: Added.
  • canvas/2d.composite.clip.destination-over-expected.txt: Added.
  • canvas/2d.composite.clip.destination-over.html: Added.
  • canvas/2d.composite.clip.lighter-expected.txt: Added.
  • canvas/2d.composite.clip.lighter.html: Added.
  • canvas/2d.composite.clip.source-atop-expected.txt: Added.
  • canvas/2d.composite.clip.source-atop.html: Added.
  • canvas/2d.composite.clip.source-in-expected.txt: Added.
  • canvas/2d.composite.clip.source-in.html: Added.
  • canvas/2d.composite.clip.source-out-expected.txt: Added.
  • canvas/2d.composite.clip.source-out.html: Added.
  • canvas/2d.composite.clip.source-over-expected.txt: Added.
  • canvas/2d.composite.clip.source-over.html: Added.
  • canvas/2d.composite.clip.xor-expected.txt: Added.
  • canvas/2d.composite.clip.xor.html: Added.
  • canvas/2d.composite.globalAlpha.canvas-expected.txt: Added.
  • canvas/2d.composite.globalAlpha.canvas.html: Added.
  • canvas/2d.composite.globalAlpha.canvaspattern-expected.txt: Added.
  • canvas/2d.composite.globalAlpha.canvaspattern.html: Added.
  • canvas/2d.composite.globalAlpha.default-expected.txt: Added.
  • canvas/2d.composite.globalAlpha.default.html: Added.
  • canvas/2d.composite.globalAlpha.fill-expected.txt: Added.
  • canvas/2d.composite.globalAlpha.fill.html: Added.
  • canvas/2d.composite.globalAlpha.image-expected.txt: Added.
  • canvas/2d.composite.globalAlpha.image.html: Added.
  • canvas/2d.composite.globalAlpha.imagepattern-expected.txt: Added.
  • canvas/2d.composite.globalAlpha.imagepattern.html: Added.
  • canvas/2d.composite.globalAlpha.invalid-expected.txt: Added.
  • canvas/2d.composite.globalAlpha.invalid.html: Added.
  • canvas/2d.composite.globalAlpha.range-expected.txt: Added.
  • canvas/2d.composite.globalAlpha.range.html: Added.
  • canvas/2d.composite.image.copy-expected.txt: Added.
  • canvas/2d.composite.image.copy.html: Added.
  • canvas/2d.composite.image.destination-atop-expected.txt: Added.
  • canvas/2d.composite.image.destination-atop.html: Added.
  • canvas/2d.composite.image.destination-in-expected.txt: Added.
  • canvas/2d.composite.image.destination-in.html: Added.
  • canvas/2d.composite.image.destination-out-expected.txt: Added.
  • canvas/2d.composite.image.destination-out.html: Added.
  • canvas/2d.composite.image.destination-over-expected.txt: Added.
  • canvas/2d.composite.image.destination-over.html: Added.
  • canvas/2d.composite.image.lighter-expected.txt: Added.
  • canvas/2d.composite.image.lighter.html: Added.
  • canvas/2d.composite.image.source-atop-expected.txt: Added.
  • canvas/2d.composite.image.source-atop.html: Added.
  • canvas/2d.composite.image.source-in-expected.txt: Added.
  • canvas/2d.composite.image.source-in.html: Added.
  • canvas/2d.composite.image.source-out-expected.txt: Added.
  • canvas/2d.composite.image.source-out.html: Added.
  • canvas/2d.composite.image.source-over-expected.txt: Added.
  • canvas/2d.composite.image.source-over.html: Added.
  • canvas/2d.composite.image.xor-expected.txt: Added.
  • canvas/2d.composite.image.xor.html: Added.
  • canvas/2d.composite.operation.casesensitive-expected.txt: Added.
  • canvas/2d.composite.operation.casesensitive.html: Added.
  • canvas/2d.composite.operation.clear-expected.txt: Added.
  • canvas/2d.composite.operation.clear.html: Added.
  • canvas/2d.composite.operation.darker-expected.txt: Added.
  • canvas/2d.composite.operation.darker.html: Added.
  • canvas/2d.composite.operation.default-expected.txt: Added.
  • canvas/2d.composite.operation.default.html: Added.
  • canvas/2d.composite.operation.get-expected.txt: Added.
  • canvas/2d.composite.operation.get.html: Added.
  • canvas/2d.composite.operation.highlight-expected.txt: Added.
  • canvas/2d.composite.operation.highlight.html: Added.
  • canvas/2d.composite.operation.over-expected.txt: Added.
  • canvas/2d.composite.operation.over.html: Added.
  • canvas/2d.composite.operation.unrecognised-expected.txt: Added.
  • canvas/2d.composite.operation.unrecognised.html: Added.
  • canvas/2d.composite.solid.copy-expected.txt: Added.
  • canvas/2d.composite.solid.copy.html: Added.
  • canvas/2d.composite.solid.destination-atop-expected.txt: Added.
  • canvas/2d.composite.solid.destination-atop.html: Added.
  • canvas/2d.composite.solid.destination-in-expected.txt: Added.
  • canvas/2d.composite.solid.destination-in.html: Added.
  • canvas/2d.composite.solid.destination-out-expected.txt: Added.
  • canvas/2d.composite.solid.destination-out.html: Added.
  • canvas/2d.composite.solid.destination-over-expected.txt: Added.
  • canvas/2d.composite.solid.destination-over.html: Added.
  • canvas/2d.composite.solid.lighter-expected.txt: Added.
  • canvas/2d.composite.solid.lighter.html: Added.
  • canvas/2d.composite.solid.source-atop-expected.txt: Added.
  • canvas/2d.composite.solid.source-atop.html: Added.
  • canvas/2d.composite.solid.source-in-expected.txt: Added.
  • canvas/2d.composite.solid.source-in.html: Added.
  • canvas/2d.composite.solid.source-out-expected.txt: Added.
  • canvas/2d.composite.solid.source-out.html: Added.
  • canvas/2d.composite.solid.source-over-expected.txt: Added.
  • canvas/2d.composite.solid.source-over.html: Added.
  • canvas/2d.composite.solid.xor-expected.txt: Added.
  • canvas/2d.composite.solid.xor.html: Added.
  • canvas/2d.composite.transparent.copy-expected.txt: Added.
  • canvas/2d.composite.transparent.copy.html: Added.
  • canvas/2d.composite.transparent.destination-atop-expected.txt: Added.
  • canvas/2d.composite.transparent.destination-atop.html: Added.
  • canvas/2d.composite.transparent.destination-in-expected.txt: Added.
  • canvas/2d.composite.transparent.destination-in.html: Added.
  • canvas/2d.composite.transparent.destination-out-expected.txt: Added.
  • canvas/2d.composite.transparent.destination-out.html: Added.
  • canvas/2d.composite.transparent.destination-over-expected.txt: Added.
  • canvas/2d.composite.transparent.destination-over.html: Added.
  • canvas/2d.composite.transparent.lighter-expected.txt: Added.
  • canvas/2d.composite.transparent.lighter.html: Added.
  • canvas/2d.composite.transparent.source-atop-expected.txt: Added.
  • canvas/2d.composite.transparent.source-atop.html: Added.
  • canvas/2d.composite.transparent.source-in-expected.txt: Added.
  • canvas/2d.composite.transparent.source-in.html: Added.
  • canvas/2d.composite.transparent.source-out-expected.txt: Added.
  • canvas/2d.composite.transparent.source-out.html: Added.
  • canvas/2d.composite.transparent.source-over-expected.txt: Added.
  • canvas/2d.composite.transparent.source-over.html: Added.
  • canvas/2d.composite.transparent.xor-expected.txt: Added.
  • canvas/2d.composite.transparent.xor.html: Added.
  • canvas/2d.composite.uncovered.fill.copy-expected.txt: Added.
  • canvas/2d.composite.uncovered.fill.copy.html: Added.
  • canvas/2d.composite.uncovered.fill.destination-atop-expected.txt: Added.
  • canvas/2d.composite.uncovered.fill.destination-atop.html: Added.
  • canvas/2d.composite.uncovered.fill.destination-in-expected.txt: Added.
  • canvas/2d.composite.uncovered.fill.destination-in.html: Added.
  • canvas/2d.composite.uncovered.fill.source-in-expected.txt: Added.
  • canvas/2d.composite.uncovered.fill.source-in.html: Added.
  • canvas/2d.composite.uncovered.fill.source-out-expected.txt: Added.
  • canvas/2d.composite.uncovered.fill.source-out.html: Added.
  • canvas/2d.composite.uncovered.image.copy-expected.txt: Added.
  • canvas/2d.composite.uncovered.image.copy.html: Added.
  • canvas/2d.composite.uncovered.image.destination-atop-expected.txt: Added.
  • canvas/2d.composite.uncovered.image.destination-atop.html: Added.
  • canvas/2d.composite.uncovered.image.destination-in-expected.txt: Added.
  • canvas/2d.composite.uncovered.image.destination-in.html: Added.
  • canvas/2d.composite.uncovered.image.source-in-expected.txt: Added.
  • canvas/2d.composite.uncovered.image.source-in.html: Added.
  • canvas/2d.composite.uncovered.image.source-out-expected.txt: Added.
  • canvas/2d.composite.uncovered.image.source-out.html: Added.
  • canvas/2d.composite.uncovered.nocontext.copy-expected.txt: Added.
  • canvas/2d.composite.uncovered.nocontext.copy.html: Added.
  • canvas/2d.composite.uncovered.nocontext.destination-atop-expected.txt: Added.
  • canvas/2d.composite.uncovered.nocontext.destination-atop.html: Added.
  • canvas/2d.composite.uncovered.nocontext.destination-in-expected.txt: Added.
  • canvas/2d.composite.uncovered.nocontext.destination-in.html: Added.
  • canvas/2d.composite.uncovered.nocontext.source-in-expected.txt: Added.
  • canvas/2d.composite.uncovered.nocontext.source-in.html: Added.
  • canvas/2d.composite.uncovered.nocontext.source-out-expected.txt: Added.
  • canvas/2d.composite.uncovered.nocontext.source-out.html: Added.
  • canvas/2d.composite.uncovered.pattern.copy-expected.txt: Added.
  • canvas/2d.composite.uncovered.pattern.copy.html: Added.
  • canvas/2d.composite.uncovered.pattern.destination-atop-expected.txt: Added.
  • canvas/2d.composite.uncovered.pattern.destination-atop.html: Added.
  • canvas/2d.composite.uncovered.pattern.destination-in-expected.txt: Added.
  • canvas/2d.composite.uncovered.pattern.destination-in.html: Added.
  • canvas/2d.composite.uncovered.pattern.source-in-expected.txt: Added.
  • canvas/2d.composite.uncovered.pattern.source-in.html: Added.
  • canvas/2d.composite.uncovered.pattern.source-out-expected.txt: Added.
  • canvas/2d.composite.uncovered.pattern.source-out.html: Added.
  • canvas/2d.coordinatespace.html: Added.
  • canvas/2d.drawImage.3arg-expected.txt: Added.
  • canvas/2d.drawImage.3arg.html: Added.
  • canvas/2d.drawImage.5arg-expected.txt: Added.
  • canvas/2d.drawImage.5arg.html: Added.
  • canvas/2d.drawImage.9arg.basic-expected.txt: Added.
  • canvas/2d.drawImage.9arg.basic.html: Added.
  • canvas/2d.drawImage.9arg.destpos-expected.txt: Added.
  • canvas/2d.drawImage.9arg.destpos.html: Added.
  • canvas/2d.drawImage.9arg.destsize-expected.txt: Added.
  • canvas/2d.drawImage.9arg.destsize.html: Added.
  • canvas/2d.drawImage.9arg.sourcepos-expected.txt: Added.
  • canvas/2d.drawImage.9arg.sourcepos.html: Added.
  • canvas/2d.drawImage.9arg.sourcesize-expected.txt: Added.
  • canvas/2d.drawImage.9arg.sourcesize.html: Added.
  • canvas/2d.drawImage.alpha-expected.txt: Added.
  • canvas/2d.drawImage.alpha.html: Added.
  • canvas/2d.drawImage.animated.apng.html: Added.
  • canvas/2d.drawImage.animated.gif.html: Added.
  • canvas/2d.drawImage.animated.poster-expected.txt: Added.
  • canvas/2d.drawImage.animated.poster.html: Added.
  • canvas/2d.drawImage.broken-expected.txt: Added.
  • canvas/2d.drawImage.broken.html: Added.
  • canvas/2d.drawImage.canvas-expected.txt: Added.
  • canvas/2d.drawImage.canvas.html: Added.
  • canvas/2d.drawImage.clip-expected.txt: Added.
  • canvas/2d.drawImage.clip.html: Added.
  • canvas/2d.drawImage.composite-expected.txt: Added.
  • canvas/2d.drawImage.composite.html: Added.
  • canvas/2d.drawImage.floatsource-expected.txt: Added.
  • canvas/2d.drawImage.floatsource.html: Added.
  • canvas/2d.drawImage.image.incomplete.empty-expected.txt: Added.
  • canvas/2d.drawImage.image.incomplete.empty.html: Added.
  • canvas/2d.drawImage.image.incomplete.omitted-expected.txt: Added.
  • canvas/2d.drawImage.image.incomplete.omitted.html: Added.
  • canvas/2d.drawImage.incomplete-expected.txt: Added.
  • canvas/2d.drawImage.incomplete.html: Added.
  • canvas/2d.drawImage.negativedest-expected.txt: Added.
  • canvas/2d.drawImage.negativedest.html: Added.
  • canvas/2d.drawImage.negativedir-expected.txt: Added.
  • canvas/2d.drawImage.negativedir.html: Added.
  • canvas/2d.drawImage.negativesource-expected.txt: Added.
  • canvas/2d.drawImage.negativesource.html: Added.
  • canvas/2d.drawImage.nonfinite-expected.txt: Added.
  • canvas/2d.drawImage.nonfinite.html: Added.
  • canvas/2d.drawImage.nowrap-expected.txt: Added.
  • canvas/2d.drawImage.nowrap.html: Added.
  • canvas/2d.drawImage.null-expected.txt: Added.
  • canvas/2d.drawImage.null.html: Added.
  • canvas/2d.drawImage.path-expected.txt: Added.
  • canvas/2d.drawImage.path.html: Added.
  • canvas/2d.drawImage.self.1-expected.txt: Added.
  • canvas/2d.drawImage.self.1.html: Added.
  • canvas/2d.drawImage.self.2-expected.txt: Added.
  • canvas/2d.drawImage.self.2.html: Added.
  • canvas/2d.drawImage.transform-expected.txt: Added.
  • canvas/2d.drawImage.transform.html: Added.
  • canvas/2d.drawImage.wrongtype-expected.txt: Added.
  • canvas/2d.drawImage.wrongtype.html: Added.
  • canvas/2d.drawImage.zerocanvas-expected.txt: Added.
  • canvas/2d.drawImage.zerocanvas.html: Added.
  • canvas/2d.drawImage.zerosource-expected.txt: Added.
  • canvas/2d.drawImage.zerosource.html: Added.
  • canvas/2d.fillRect.basic-expected.txt: Added.
  • canvas/2d.fillRect.basic.html: Added.
  • canvas/2d.fillRect.clip-expected.txt: Added.
  • canvas/2d.fillRect.clip.html: Added.
  • canvas/2d.fillRect.negative-expected.txt: Added.
  • canvas/2d.fillRect.negative.html: Added.
  • canvas/2d.fillRect.nonfinite-expected.txt: Added.
  • canvas/2d.fillRect.nonfinite.html: Added.
  • canvas/2d.fillRect.path-expected.txt: Added.
  • canvas/2d.fillRect.path.html: Added.
  • canvas/2d.fillRect.shadow-expected.txt: Added.
  • canvas/2d.fillRect.shadow.html: Added.
  • canvas/2d.fillRect.transform-expected.txt: Added.
  • canvas/2d.fillRect.transform.html: Added.
  • canvas/2d.fillRect.zero-expected.txt: Added.
  • canvas/2d.fillRect.zero.html: Added.
  • canvas/2d.fillStyle.default-expected.txt: Added.
  • canvas/2d.fillStyle.default.html: Added.
  • canvas/2d.fillStyle.get.semitransparent-expected.txt: Added.
  • canvas/2d.fillStyle.get.semitransparent.html: Added.
  • canvas/2d.fillStyle.get.solid-expected.txt: Added.
  • canvas/2d.fillStyle.get.solid.html: Added.
  • canvas/2d.fillStyle.get.transparent-expected.txt: Added.
  • canvas/2d.fillStyle.get.transparent.html: Added.
  • canvas/2d.fillStyle.invalidstring-expected.txt: Added.
  • canvas/2d.fillStyle.invalidstring.html: Added.
  • canvas/2d.fillStyle.invalidtype-expected.txt: Added.
  • canvas/2d.fillStyle.invalidtype.html: Added.
  • canvas/2d.fillStyle.parse.current.basic-expected.txt: Added.
  • canvas/2d.fillStyle.parse.current.basic.html: Added.
  • canvas/2d.fillStyle.parse.current.changed-expected.txt: Added.
  • canvas/2d.fillStyle.parse.current.changed.html: Added.
  • canvas/2d.fillStyle.parse.current.removed-expected.txt: Added.
  • canvas/2d.fillStyle.parse.current.removed.html: Added.
  • canvas/2d.fillStyle.parse.hex3-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hex3.html: Added.
  • canvas/2d.fillStyle.parse.hex6-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hex6.html: Added.
  • canvas/2d.fillStyle.parse.hsl-1-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hsl-1.html: Added.
  • canvas/2d.fillStyle.parse.hsl-2-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hsl-2.html: Added.
  • canvas/2d.fillStyle.parse.hsl-3-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hsl-3.html: Added.
  • canvas/2d.fillStyle.parse.hsl-4-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hsl-4.html: Added.
  • canvas/2d.fillStyle.parse.hsl-5-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hsl-5.html: Added.
  • canvas/2d.fillStyle.parse.hsl-6-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hsl-6.html: Added.
  • canvas/2d.fillStyle.parse.hsl-clamp-1-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hsl-clamp-1.html: Added.
  • canvas/2d.fillStyle.parse.hsl-clamp-2-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hsl-clamp-2.html: Added.
  • canvas/2d.fillStyle.parse.hsl-clamp-3-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hsl-clamp-3.html: Added.
  • canvas/2d.fillStyle.parse.hsl-clamp-4-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hsl-clamp-4.html: Added.
  • canvas/2d.fillStyle.parse.hsla-1-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hsla-1.html: Added.
  • canvas/2d.fillStyle.parse.hsla-2-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hsla-2.html: Added.
  • canvas/2d.fillStyle.parse.hsla-clamp-1-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hsla-clamp-1.html: Added.
  • canvas/2d.fillStyle.parse.hsla-clamp-2-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hsla-clamp-2.html: Added.
  • canvas/2d.fillStyle.parse.hsla-clamp-3-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hsla-clamp-3.html: Added.
  • canvas/2d.fillStyle.parse.hsla-clamp-4-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hsla-clamp-4.html: Added.
  • canvas/2d.fillStyle.parse.hsla-clamp-5-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hsla-clamp-5.html: Added.
  • canvas/2d.fillStyle.parse.hsla-clamp-6-expected.txt: Added.
  • canvas/2d.fillStyle.parse.hsla-clamp-6.html: Added.
  • canvas/2d.fillStyle.parse.html4-expected.txt: Added.
  • canvas/2d.fillStyle.parse.html4.html: Added.
  • canvas/2d.fillStyle.parse.invalid.hex1-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.hex1.html: Added.
  • canvas/2d.fillStyle.parse.invalid.hex2-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.hex2.html: Added.
  • canvas/2d.fillStyle.parse.invalid.hex3-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.hex3.html: Added.
  • canvas/2d.fillStyle.parse.invalid.hex4-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.hex4.html: Added.
  • canvas/2d.fillStyle.parse.invalid.hex5-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.hex5.html: Added.
  • canvas/2d.fillStyle.parse.invalid.hex6-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.hex6.html: Added.
  • canvas/2d.fillStyle.parse.invalid.hex7-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.hex7.html: Added.
  • canvas/2d.fillStyle.parse.invalid.hex8-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.hex8.html: Added.
  • canvas/2d.fillStyle.parse.invalid.hsl-1-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.hsl-1.html: Added.
  • canvas/2d.fillStyle.parse.invalid.hsl-2-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.hsl-2.html: Added.
  • canvas/2d.fillStyle.parse.invalid.hsl-3-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.hsl-3.html: Added.
  • canvas/2d.fillStyle.parse.invalid.hsl-4-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.hsl-4.html: Added.
  • canvas/2d.fillStyle.parse.invalid.hsl-5-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.hsl-5.html: Added.
  • canvas/2d.fillStyle.parse.invalid.hsl-6-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.hsl-6.html: Added.
  • canvas/2d.fillStyle.parse.invalid.hsla-1-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.hsla-1.html: Added.
  • canvas/2d.fillStyle.parse.invalid.hsla-2-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.hsla-2.html: Added.
  • canvas/2d.fillStyle.parse.invalid.name-1-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.name-1.html: Added.
  • canvas/2d.fillStyle.parse.invalid.name-2-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.name-2.html: Added.
  • canvas/2d.fillStyle.parse.invalid.name-3-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.name-3.html: Added.
  • canvas/2d.fillStyle.parse.invalid.name-4-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.name-4.html: Added.
  • canvas/2d.fillStyle.parse.invalid.name-5-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.name-5.html: Added.
  • canvas/2d.fillStyle.parse.invalid.rgb-1-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.rgb-1.html: Added.
  • canvas/2d.fillStyle.parse.invalid.rgb-2-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.rgb-2.html: Added.
  • canvas/2d.fillStyle.parse.invalid.rgb-3-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.rgb-3.html: Added.
  • canvas/2d.fillStyle.parse.invalid.rgb-4-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.rgb-4.html: Added.
  • canvas/2d.fillStyle.parse.invalid.rgb-5-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.rgb-5.html: Added.
  • canvas/2d.fillStyle.parse.invalid.rgb-6-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.rgb-6.html: Added.
  • canvas/2d.fillStyle.parse.invalid.rgb-7-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.rgb-7.html: Added.
  • canvas/2d.fillStyle.parse.invalid.rgba-1-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.rgba-1.html: Added.
  • canvas/2d.fillStyle.parse.invalid.rgba-2-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.rgba-2.html: Added.
  • canvas/2d.fillStyle.parse.invalid.rgba-3-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.rgba-3.html: Added.
  • canvas/2d.fillStyle.parse.invalid.rgba-4-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.rgba-4.html: Added.
  • canvas/2d.fillStyle.parse.invalid.rgba-5-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.rgba-5.html: Added.
  • canvas/2d.fillStyle.parse.invalid.rgba-6-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.rgba-6.html: Added.
  • canvas/2d.fillStyle.parse.invalid.rgba-7-expected.txt: Added.
  • canvas/2d.fillStyle.parse.invalid.rgba-7.html: Added.
  • canvas/2d.fillStyle.parse.rgb-clamp-1-expected.txt: Added.
  • canvas/2d.fillStyle.parse.rgb-clamp-1.html: Added.
  • canvas/2d.fillStyle.parse.rgb-clamp-2-expected.txt: Added.
  • canvas/2d.fillStyle.parse.rgb-clamp-2.html: Added.
  • canvas/2d.fillStyle.parse.rgb-clamp-3-expected.txt: Added.
  • canvas/2d.fillStyle.parse.rgb-clamp-3.html: Added.
  • canvas/2d.fillStyle.parse.rgb-clamp-4-expected.txt: Added.
  • canvas/2d.fillStyle.parse.rgb-clamp-4.html: Added.
  • canvas/2d.fillStyle.parse.rgb-clamp-5-expected.txt: Added.
  • canvas/2d.fillStyle.parse.rgb-clamp-5.html: Added.
  • canvas/2d.fillStyle.parse.rgb-eof-expected.txt: Added.
  • canvas/2d.fillStyle.parse.rgb-eof.html: Added.
  • canvas/2d.fillStyle.parse.rgb-num-expected.txt: Added.
  • canvas/2d.fillStyle.parse.rgb-num.html: Added.
  • canvas/2d.fillStyle.parse.rgb-percent-expected.txt: Added.
  • canvas/2d.fillStyle.parse.rgb-percent.html: Added.
  • canvas/2d.fillStyle.parse.rgba-clamp-1-expected.txt: Added.
  • canvas/2d.fillStyle.parse.rgba-clamp-1.html: Added.
  • canvas/2d.fillStyle.parse.rgba-clamp-2-expected.txt: Added.
  • canvas/2d.fillStyle.parse.rgba-clamp-2.html: Added.
  • canvas/2d.fillStyle.parse.rgba-eof-expected.txt: Added.
  • canvas/2d.fillStyle.parse.rgba-eof.html: Added.
  • canvas/2d.fillStyle.parse.rgba-num-1-expected.txt: Added.
  • canvas/2d.fillStyle.parse.rgba-num-1.html: Added.
  • canvas/2d.fillStyle.parse.rgba-num-2-expected.txt: Added.
  • canvas/2d.fillStyle.parse.rgba-num-2.html: Added.
  • canvas/2d.fillStyle.parse.rgba-percent-expected.txt: Added.
  • canvas/2d.fillStyle.parse.rgba-percent.html: Added.
  • canvas/2d.fillStyle.parse.rgba-solid-1-expected.txt: Added.
  • canvas/2d.fillStyle.parse.rgba-solid-1.html: Added.
  • canvas/2d.fillStyle.parse.rgba-solid-2-expected.txt: Added.
  • canvas/2d.fillStyle.parse.rgba-solid-2.html: Added.
  • canvas/2d.fillStyle.parse.rgba-solid-3-expected.txt: Added.
  • canvas/2d.fillStyle.parse.rgba-solid-3.html: Added.
  • canvas/2d.fillStyle.parse.rgba-solid-4-expected.txt: Added.
  • canvas/2d.fillStyle.parse.rgba-solid-4.html: Added.
  • canvas/2d.fillStyle.parse.svg-1-expected.txt: Added.
  • canvas/2d.fillStyle.parse.svg-1.html: Added.
  • canvas/2d.fillStyle.parse.svg-2-expected.txt: Added.
  • canvas/2d.fillStyle.parse.svg-2.html: Added.
  • canvas/2d.fillStyle.parse.system-expected.txt: Added.
  • canvas/2d.fillStyle.parse.system.html: Added.
  • canvas/2d.fillStyle.parse.transparent-1-expected.txt: Added.
  • canvas/2d.fillStyle.parse.transparent-1.html: Added.
  • canvas/2d.fillStyle.parse.transparent-2-expected.txt: Added.
  • canvas/2d.fillStyle.parse.transparent-2.html: Added.
  • canvas/2d.getcontext.exists-expected.txt: Added.
  • canvas/2d.getcontext.exists.html: Added.
  • canvas/2d.getcontext.extraargs-expected.txt: Added.
  • canvas/2d.getcontext.extraargs.html: Added.
  • canvas/2d.getcontext.shared-expected.txt: Added.
  • canvas/2d.getcontext.shared.html: Added.
  • canvas/2d.getcontext.unique-expected.txt: Added.
  • canvas/2d.getcontext.unique.html: Added.
  • canvas/2d.gradient.empty-expected.txt: Added.
  • canvas/2d.gradient.empty.html: Added.
  • canvas/2d.gradient.interpolate.alpha-expected.txt: Added.
  • canvas/2d.gradient.interpolate.alpha.html: Added.
  • canvas/2d.gradient.interpolate.colour-expected.txt: Added.
  • canvas/2d.gradient.interpolate.colour.html: Added.
  • canvas/2d.gradient.interpolate.colouralpha-expected.txt: Added.
  • canvas/2d.gradient.interpolate.colouralpha.html: Added.
  • canvas/2d.gradient.interpolate.multiple-expected.txt: Added.
  • canvas/2d.gradient.interpolate.multiple.html: Added.
  • canvas/2d.gradient.interpolate.outside-expected.txt: Added.
  • canvas/2d.gradient.interpolate.outside.html: Added.
  • canvas/2d.gradient.interpolate.overlap-expected.txt: Added.
  • canvas/2d.gradient.interpolate.overlap.html: Added.
  • canvas/2d.gradient.interpolate.overlap2-expected.txt: Added.
  • canvas/2d.gradient.interpolate.overlap2.html: Added.
  • canvas/2d.gradient.interpolate.solid-expected.txt: Added.
  • canvas/2d.gradient.interpolate.solid.html: Added.
  • canvas/2d.gradient.interpolate.vertical-expected.txt: Added.
  • canvas/2d.gradient.interpolate.vertical.html: Added.
  • canvas/2d.gradient.interpolate.zerosize-expected.txt: Added.
  • canvas/2d.gradient.interpolate.zerosize.fill-expected.txt: Added.
  • canvas/2d.gradient.interpolate.zerosize.fill.html: Added.
  • canvas/2d.gradient.interpolate.zerosize.fillRect-expected.txt: Added.
  • canvas/2d.gradient.interpolate.zerosize.fillRect.html: Added.
  • canvas/2d.gradient.interpolate.zerosize.fillText-expected.txt: Added.
  • canvas/2d.gradient.interpolate.zerosize.fillText.html: Added.
  • canvas/2d.gradient.interpolate.zerosize.html: Added.
  • canvas/2d.gradient.interpolate.zerosize.stroke-expected.txt: Added.
  • canvas/2d.gradient.interpolate.zerosize.stroke.html: Added.
  • canvas/2d.gradient.interpolate.zerosize.strokeRect-expected.txt: Added.
  • canvas/2d.gradient.interpolate.zerosize.strokeRect.html: Added.
  • canvas/2d.gradient.interpolate.zerosize.strokeText-expected.txt: Added.
  • canvas/2d.gradient.interpolate.zerosize.strokeText.html: Added.
  • canvas/2d.gradient.linear.nonfinite-expected.txt: Added.
  • canvas/2d.gradient.linear.nonfinite.html: Added.
  • canvas/2d.gradient.linear.transform.1-expected.txt: Added.
  • canvas/2d.gradient.linear.transform.1.html: Added.
  • canvas/2d.gradient.linear.transform.2-expected.txt: Added.
  • canvas/2d.gradient.linear.transform.2.html: Added.
  • canvas/2d.gradient.linear.transform.3-expected.txt: Added.
  • canvas/2d.gradient.linear.transform.3.html: Added.
  • canvas/2d.gradient.object.compare-expected.txt: Added.
  • canvas/2d.gradient.object.compare.html: Added.
  • canvas/2d.gradient.object.crosscanvas-expected.txt: Added.
  • canvas/2d.gradient.object.crosscanvas.html: Added.
  • canvas/2d.gradient.object.current-expected.txt: Added.
  • canvas/2d.gradient.object.current.html: Added.
  • canvas/2d.gradient.object.invalidcolour-expected.txt: Added.
  • canvas/2d.gradient.object.invalidcolour.html: Added.
  • canvas/2d.gradient.object.invalidoffset-expected.txt: Added.
  • canvas/2d.gradient.object.invalidoffset.html: Added.
  • canvas/2d.gradient.object.return-expected.txt: Added.
  • canvas/2d.gradient.object.return.html: Added.
  • canvas/2d.gradient.object.update-expected.txt: Added.
  • canvas/2d.gradient.object.update.html: Added.
  • canvas/2d.gradient.radial.cone.behind-expected.txt: Added.
  • canvas/2d.gradient.radial.cone.behind.html: Added.
  • canvas/2d.gradient.radial.cone.beside-expected.txt: Added.
  • canvas/2d.gradient.radial.cone.beside.html: Added.
  • canvas/2d.gradient.radial.cone.bottom-expected.txt: Added.
  • canvas/2d.gradient.radial.cone.bottom.html: Added.
  • canvas/2d.gradient.radial.cone.cylinder-expected.txt: Added.
  • canvas/2d.gradient.radial.cone.cylinder.html: Added.
  • canvas/2d.gradient.radial.cone.front-expected.txt: Added.
  • canvas/2d.gradient.radial.cone.front.html: Added.
  • canvas/2d.gradient.radial.cone.shape1-expected.txt: Added.
  • canvas/2d.gradient.radial.cone.shape1.html: Added.
  • canvas/2d.gradient.radial.cone.shape2-expected.txt: Added.
  • canvas/2d.gradient.radial.cone.shape2.html: Added.
  • canvas/2d.gradient.radial.cone.top-expected.txt: Added.
  • canvas/2d.gradient.radial.cone.top.html: Added.
  • canvas/2d.gradient.radial.equal-expected.txt: Added.
  • canvas/2d.gradient.radial.equal.html: Added.
  • canvas/2d.gradient.radial.inside1-expected.txt: Added.
  • canvas/2d.gradient.radial.inside1.html: Added.
  • canvas/2d.gradient.radial.inside2-expected.txt: Added.
  • canvas/2d.gradient.radial.inside2.html: Added.
  • canvas/2d.gradient.radial.inside3-expected.txt: Added.
  • canvas/2d.gradient.radial.inside3.html: Added.
  • canvas/2d.gradient.radial.negative-expected.txt: Added.
  • canvas/2d.gradient.radial.negative.html: Added.
  • canvas/2d.gradient.radial.nonfinite-expected.txt: Added.
  • canvas/2d.gradient.radial.nonfinite.html: Added.
  • canvas/2d.gradient.radial.outside1-expected.txt: Added.
  • canvas/2d.gradient.radial.outside1.html: Added.
  • canvas/2d.gradient.radial.outside2-expected.txt: Added.
  • canvas/2d.gradient.radial.outside2.html: Added.
  • canvas/2d.gradient.radial.outside3-expected.txt: Added.
  • canvas/2d.gradient.radial.outside3.html: Added.
  • canvas/2d.gradient.radial.touch1-expected.txt: Added.
  • canvas/2d.gradient.radial.touch1.html: Added.
  • canvas/2d.gradient.radial.touch2-expected.txt: Added.
  • canvas/2d.gradient.radial.touch2.html: Added.
  • canvas/2d.gradient.radial.touch3-expected.txt: Added.
  • canvas/2d.gradient.radial.touch3.html: Added.
  • canvas/2d.gradient.radial.transform.1-expected.txt: Added.
  • canvas/2d.gradient.radial.transform.1.html: Added.
  • canvas/2d.gradient.radial.transform.2-expected.txt: Added.
  • canvas/2d.gradient.radial.transform.2.html: Added.
  • canvas/2d.gradient.radial.transform.3-expected.txt: Added.
  • canvas/2d.gradient.radial.transform.3.html: Added.
  • canvas/2d.imageData.create1.basic-expected.txt: Added.
  • canvas/2d.imageData.create1.basic.html: Added.
  • canvas/2d.imageData.create1.initial-expected.txt: Added.
  • canvas/2d.imageData.create1.initial.html: Added.
  • canvas/2d.imageData.create1.type-expected.txt: Added.
  • canvas/2d.imageData.create1.type.html: Added.
  • canvas/2d.imageData.create1.zero-expected.txt: Added.
  • canvas/2d.imageData.create1.zero.html: Added.
  • canvas/2d.imageData.create2.basic-expected.txt: Added.
  • canvas/2d.imageData.create2.basic.html: Added.
  • canvas/2d.imageData.create2.initial-expected.txt: Added.
  • canvas/2d.imageData.create2.initial.html: Added.
  • canvas/2d.imageData.create2.large-expected.txt: Added.
  • canvas/2d.imageData.create2.large.html: Added.
  • canvas/2d.imageData.create2.negative-expected.txt: Added.
  • canvas/2d.imageData.create2.negative.html: Added.
  • canvas/2d.imageData.create2.nonfinite-expected.txt: Added.
  • canvas/2d.imageData.create2.nonfinite.html: Added.
  • canvas/2d.imageData.create2.round-expected.txt: Added.
  • canvas/2d.imageData.create2.round.html: Added.
  • canvas/2d.imageData.create2.tiny-expected.txt: Added.
  • canvas/2d.imageData.create2.tiny.html: Added.
  • canvas/2d.imageData.create2.type-expected.txt: Added.
  • canvas/2d.imageData.create2.type.html: Added.
  • canvas/2d.imageData.create2.zero-expected.txt: Added.
  • canvas/2d.imageData.create2.zero.html: Added.
  • canvas/2d.imageData.get.basic-expected.txt: Added.
  • canvas/2d.imageData.get.basic.html: Added.
  • canvas/2d.imageData.get.clamp-expected.txt: Added.
  • canvas/2d.imageData.get.clamp.html: Added.
  • canvas/2d.imageData.get.length-expected.txt: Added.
  • canvas/2d.imageData.get.length.html: Added.
  • canvas/2d.imageData.get.nonfinite-expected.txt: Added.
  • canvas/2d.imageData.get.nonfinite.html: Added.
  • canvas/2d.imageData.get.nonpremul-expected.txt: Added.
  • canvas/2d.imageData.get.nonpremul.html: Added.
  • canvas/2d.imageData.get.order.alpha-expected.txt: Added.
  • canvas/2d.imageData.get.order.alpha.html: Added.
  • canvas/2d.imageData.get.order.cols-expected.txt: Added.
  • canvas/2d.imageData.get.order.cols.html: Added.
  • canvas/2d.imageData.get.order.rgb-expected.txt: Added.
  • canvas/2d.imageData.get.order.rgb.html: Added.
  • canvas/2d.imageData.get.order.rows-expected.txt: Added.
  • canvas/2d.imageData.get.order.rows.html: Added.
  • canvas/2d.imageData.get.range-expected.txt: Added.
  • canvas/2d.imageData.get.range.html: Added.
  • canvas/2d.imageData.get.source.negative-expected.txt: Added.
  • canvas/2d.imageData.get.source.negative.html: Added.
  • canvas/2d.imageData.get.source.outside-expected.txt: Added.
  • canvas/2d.imageData.get.source.outside.html: Added.
  • canvas/2d.imageData.get.source.size-expected.txt: Added.
  • canvas/2d.imageData.get.source.size.html: Added.
  • canvas/2d.imageData.get.tiny-expected.txt: Added.
  • canvas/2d.imageData.get.tiny.html: Added.
  • canvas/2d.imageData.get.type-expected.txt: Added.
  • canvas/2d.imageData.get.type.html: Added.
  • canvas/2d.imageData.get.unaffected-expected.txt: Added.
  • canvas/2d.imageData.get.unaffected.html: Added.
  • canvas/2d.imageData.get.zero-expected.txt: Added.
  • canvas/2d.imageData.get.zero.html: Added.
  • canvas/2d.imageData.object.clamp-expected.txt: Added.
  • canvas/2d.imageData.object.clamp.html: Added.
  • canvas/2d.imageData.object.ctor-expected.txt: Added.
  • canvas/2d.imageData.object.ctor.html: Added.
  • canvas/2d.imageData.object.nan-expected.txt: Added.
  • canvas/2d.imageData.object.nan.html: Added.
  • canvas/2d.imageData.object.properties-expected.txt: Added.
  • canvas/2d.imageData.object.properties.html: Added.
  • canvas/2d.imageData.object.readonly-expected.txt: Added.
  • canvas/2d.imageData.object.readonly.html: Added.
  • canvas/2d.imageData.object.round-expected.txt: Added.
  • canvas/2d.imageData.object.round.html: Added.
  • canvas/2d.imageData.object.set-expected.txt: Added.
  • canvas/2d.imageData.object.set.html: Added.
  • canvas/2d.imageData.object.string-expected.txt: Added.
  • canvas/2d.imageData.object.string.html: Added.
  • canvas/2d.imageData.object.undefined-expected.txt: Added.
  • canvas/2d.imageData.object.undefined.html: Added.
  • canvas/2d.imageData.put.alpha-expected.txt: Added.
  • canvas/2d.imageData.put.alpha.html: Added.
  • canvas/2d.imageData.put.basic-expected.txt: Added.
  • canvas/2d.imageData.put.basic.html: Added.
  • canvas/2d.imageData.put.clip-expected.txt: Added.
  • canvas/2d.imageData.put.clip.html: Added.
  • canvas/2d.imageData.put.created-expected.txt: Added.
  • canvas/2d.imageData.put.created.html: Added.
  • canvas/2d.imageData.put.cross-expected.txt: Added.
  • canvas/2d.imageData.put.cross.html: Added.
  • canvas/2d.imageData.put.dirty.negative-expected.txt: Added.
  • canvas/2d.imageData.put.dirty.negative.html: Added.
  • canvas/2d.imageData.put.dirty.outside-expected.txt: Added.
  • canvas/2d.imageData.put.dirty.outside.html: Added.
  • canvas/2d.imageData.put.dirty.rect1-expected.txt: Added.
  • canvas/2d.imageData.put.dirty.rect1.html: Added.
  • canvas/2d.imageData.put.dirty.rect2-expected.txt: Added.
  • canvas/2d.imageData.put.dirty.rect2.html: Added.
  • canvas/2d.imageData.put.dirty.zero-expected.txt: Added.
  • canvas/2d.imageData.put.dirty.zero.html: Added.
  • canvas/2d.imageData.put.modified-expected.txt: Added.
  • canvas/2d.imageData.put.modified.html: Added.
  • canvas/2d.imageData.put.nonfinite-expected.txt: Added.
  • canvas/2d.imageData.put.nonfinite.html: Added.
  • canvas/2d.imageData.put.null-expected.txt: Added.
  • canvas/2d.imageData.put.null.html: Added.
  • canvas/2d.imageData.put.path-expected.txt: Added.
  • canvas/2d.imageData.put.path.html: Added.
  • canvas/2d.imageData.put.unaffected-expected.txt: Added.
  • canvas/2d.imageData.put.unaffected.html: Added.
  • canvas/2d.imageData.put.unchanged-expected.txt: Added.
  • canvas/2d.imageData.put.unchanged.html: Added.
  • canvas/2d.imageData.put.wrongtype-expected.txt: Added.
  • canvas/2d.imageData.put.wrongtype.html: Added.
  • canvas/2d.line.cap.butt-expected.txt: Added.
  • canvas/2d.line.cap.butt.html: Added.
  • canvas/2d.line.cap.closed-expected.txt: Added.
  • canvas/2d.line.cap.closed.html: Added.
  • canvas/2d.line.cap.open-expected.txt: Added.
  • canvas/2d.line.cap.open.html: Added.
  • canvas/2d.line.cap.round-expected.txt: Added.
  • canvas/2d.line.cap.round.html: Added.
  • canvas/2d.line.cap.square-expected.txt: Added.
  • canvas/2d.line.cap.square.html: Added.
  • canvas/2d.line.cap.valid-expected.txt: Added.
  • canvas/2d.line.cap.valid.html: Added.
  • canvas/2d.line.cross-expected.txt: Added.
  • canvas/2d.line.cross.html: Added.
  • canvas/2d.line.defaults-expected.txt: Added.
  • canvas/2d.line.defaults.html: Added.
  • canvas/2d.line.join.bevel-expected.txt: Added.
  • canvas/2d.line.join.bevel.html: Added.
  • canvas/2d.line.join.closed-expected.txt: Added.
  • canvas/2d.line.join.closed.html: Added.
  • canvas/2d.line.join.miter-expected.txt: Added.
  • canvas/2d.line.join.miter.html: Added.
  • canvas/2d.line.join.open-expected.txt: Added.
  • canvas/2d.line.join.open.html: Added.
  • canvas/2d.line.join.parallel-expected.txt: Added.
  • canvas/2d.line.join.parallel.html: Added.
  • canvas/2d.line.join.round-expected.txt: Added.
  • canvas/2d.line.join.round.html: Added.
  • canvas/2d.line.join.valid-expected.txt: Added.
  • canvas/2d.line.join.valid.html: Added.
  • canvas/2d.line.miter.acute-expected.txt: Added.
  • canvas/2d.line.miter.acute.html: Added.
  • canvas/2d.line.miter.exceeded-expected.txt: Added.
  • canvas/2d.line.miter.exceeded.html: Added.
  • canvas/2d.line.miter.invalid-expected.txt: Added.
  • canvas/2d.line.miter.invalid.html: Added.
  • canvas/2d.line.miter.lineedge-expected.txt: Added.
  • canvas/2d.line.miter.lineedge.html: Added.
  • canvas/2d.line.miter.obtuse-expected.txt: Added.
  • canvas/2d.line.miter.obtuse.html: Added.
  • canvas/2d.line.miter.rightangle-expected.txt: Added.
  • canvas/2d.line.miter.rightangle.html: Added.
  • canvas/2d.line.miter.valid-expected.txt: Added.
  • canvas/2d.line.miter.valid.html: Added.
  • canvas/2d.line.miter.within-expected.txt: Added.
  • canvas/2d.line.miter.within.html: Added.
  • canvas/2d.line.union-expected.txt: Added.
  • canvas/2d.line.union.html: Added.
  • canvas/2d.line.width.basic-expected.txt: Added.
  • canvas/2d.line.width.basic.html: Added.
  • canvas/2d.line.width.invalid-expected.txt: Added.
  • canvas/2d.line.width.invalid.html: Added.
  • canvas/2d.line.width.scaledefault-expected.txt: Added.
  • canvas/2d.line.width.scaledefault.html: Added.
  • canvas/2d.line.width.transformed-expected.txt: Added.
  • canvas/2d.line.width.transformed.html: Added.
  • canvas/2d.line.width.valid-expected.txt: Added.
  • canvas/2d.line.width.valid.html: Added.
  • canvas/2d.path.arc.angle.1-expected.txt: Added.
  • canvas/2d.path.arc.angle.1.html: Added.
  • canvas/2d.path.arc.angle.2-expected.txt: Added.
  • canvas/2d.path.arc.angle.2.html: Added.
  • canvas/2d.path.arc.angle.3-expected.txt: Added.
  • canvas/2d.path.arc.angle.3.html: Added.
  • canvas/2d.path.arc.angle.4-expected.txt: Added.
  • canvas/2d.path.arc.angle.4.html: Added.
  • canvas/2d.path.arc.angle.5-expected.txt: Added.
  • canvas/2d.path.arc.angle.5.html: Added.
  • canvas/2d.path.arc.angle.6-expected.txt: Added.
  • canvas/2d.path.arc.angle.6.html: Added.
  • canvas/2d.path.arc.default-expected.txt: Added.
  • canvas/2d.path.arc.default.html: Added.
  • canvas/2d.path.arc.empty-expected.txt: Added.
  • canvas/2d.path.arc.empty.html: Added.
  • canvas/2d.path.arc.end-expected.txt: Added.
  • canvas/2d.path.arc.end.html: Added.
  • canvas/2d.path.arc.negative-expected.txt: Added.
  • canvas/2d.path.arc.negative.html: Added.
  • canvas/2d.path.arc.nonempty-expected.txt: Added.
  • canvas/2d.path.arc.nonempty.html: Added.
  • canvas/2d.path.arc.nonfinite-expected.txt: Added.
  • canvas/2d.path.arc.nonfinite.html: Added.
  • canvas/2d.path.arc.scale.1-expected.txt: Added.
  • canvas/2d.path.arc.scale.1.html: Added.
  • canvas/2d.path.arc.scale.2-expected.txt: Added.
  • canvas/2d.path.arc.scale.2.html: Added.
  • canvas/2d.path.arc.selfintersect.1-expected.txt: Added.
  • canvas/2d.path.arc.selfintersect.1.html: Added.
  • canvas/2d.path.arc.selfintersect.2-expected.txt: Added.
  • canvas/2d.path.arc.selfintersect.2.html: Added.
  • canvas/2d.path.arc.shape.1-expected.txt: Added.
  • canvas/2d.path.arc.shape.1.html: Added.
  • canvas/2d.path.arc.shape.2-expected.txt: Added.
  • canvas/2d.path.arc.shape.2.html: Added.
  • canvas/2d.path.arc.shape.3-expected.txt: Added.
  • canvas/2d.path.arc.shape.3.html: Added.
  • canvas/2d.path.arc.shape.4-expected.txt: Added.
  • canvas/2d.path.arc.shape.4.html: Added.
  • canvas/2d.path.arc.shape.5-expected.txt: Added.
  • canvas/2d.path.arc.shape.5.html: Added.
  • canvas/2d.path.arc.twopie.1-expected.txt: Added.
  • canvas/2d.path.arc.twopie.1.html: Added.
  • canvas/2d.path.arc.twopie.2-expected.txt: Added.
  • canvas/2d.path.arc.twopie.2.html: Added.
  • canvas/2d.path.arc.twopie.3-expected.txt: Added.
  • canvas/2d.path.arc.twopie.3.html: Added.
  • canvas/2d.path.arc.twopie.4-expected.txt: Added.
  • canvas/2d.path.arc.twopie.4.html: Added.
  • canvas/2d.path.arc.zero.1-expected.txt: Added.
  • canvas/2d.path.arc.zero.1.html: Added.
  • canvas/2d.path.arc.zero.2-expected.txt: Added.
  • canvas/2d.path.arc.zero.2.html: Added.
  • canvas/2d.path.arc.zeroradius-expected.txt: Added.
  • canvas/2d.path.arc.zeroradius.html: Added.
  • canvas/2d.path.arcTo.coincide.1-expected.txt: Added.
  • canvas/2d.path.arcTo.coincide.1.html: Added.
  • canvas/2d.path.arcTo.coincide.2-expected.txt: Added.
  • canvas/2d.path.arcTo.coincide.2.html: Added.
  • canvas/2d.path.arcTo.collinear.1-expected.txt: Added.
  • canvas/2d.path.arcTo.collinear.1.html: Added.
  • canvas/2d.path.arcTo.collinear.2-expected.txt: Added.
  • canvas/2d.path.arcTo.collinear.2.html: Added.
  • canvas/2d.path.arcTo.collinear.3-expected.txt: Added.
  • canvas/2d.path.arcTo.collinear.3.html: Added.
  • canvas/2d.path.arcTo.ensuresubpath.1-expected.txt: Added.
  • canvas/2d.path.arcTo.ensuresubpath.1.html: Added.
  • canvas/2d.path.arcTo.ensuresubpath.2-expected.txt: Added.
  • canvas/2d.path.arcTo.ensuresubpath.2.html: Added.
  • canvas/2d.path.arcTo.negative-expected.txt: Added.
  • canvas/2d.path.arcTo.negative.html: Added.
  • canvas/2d.path.arcTo.nonfinite-expected.txt: Added.
  • canvas/2d.path.arcTo.nonfinite.html: Added.
  • canvas/2d.path.arcTo.scale-expected.txt: Added.
  • canvas/2d.path.arcTo.scale.html: Added.
  • canvas/2d.path.arcTo.shape.curve1-expected.txt: Added.
  • canvas/2d.path.arcTo.shape.curve1.html: Added.
  • canvas/2d.path.arcTo.shape.curve2-expected.txt: Added.
  • canvas/2d.path.arcTo.shape.curve2.html: Added.
  • canvas/2d.path.arcTo.shape.end-expected.txt: Added.
  • canvas/2d.path.arcTo.shape.end.html: Added.
  • canvas/2d.path.arcTo.shape.start-expected.txt: Added.
  • canvas/2d.path.arcTo.shape.start.html: Added.
  • canvas/2d.path.arcTo.transformation-expected.txt: Added.
  • canvas/2d.path.arcTo.transformation.html: Added.
  • canvas/2d.path.arcTo.zero.1-expected.txt: Added.
  • canvas/2d.path.arcTo.zero.1.html: Added.
  • canvas/2d.path.arcTo.zero.2-expected.txt: Added.
  • canvas/2d.path.arcTo.zero.2.html: Added.
  • canvas/2d.path.beginPath-expected.txt: Added.
  • canvas/2d.path.beginPath.html: Added.
  • canvas/2d.path.bezierCurveTo.basic-expected.txt: Added.
  • canvas/2d.path.bezierCurveTo.basic.html: Added.
  • canvas/2d.path.bezierCurveTo.ensuresubpath.1-expected.txt: Added.
  • canvas/2d.path.bezierCurveTo.ensuresubpath.1.html: Added.
  • canvas/2d.path.bezierCurveTo.ensuresubpath.2-expected.txt: Added.
  • canvas/2d.path.bezierCurveTo.ensuresubpath.2.html: Added.
  • canvas/2d.path.bezierCurveTo.nonfinite-expected.txt: Added.
  • canvas/2d.path.bezierCurveTo.nonfinite.html: Added.
  • canvas/2d.path.bezierCurveTo.scaled-expected.txt: Added.
  • canvas/2d.path.bezierCurveTo.scaled.html: Added.
  • canvas/2d.path.bezierCurveTo.shape-expected.txt: Added.
  • canvas/2d.path.bezierCurveTo.shape.html: Added.
  • canvas/2d.path.clip.basic.1-expected.txt: Added.
  • canvas/2d.path.clip.basic.1.html: Added.
  • canvas/2d.path.clip.basic.2-expected.txt: Added.
  • canvas/2d.path.clip.basic.2.html: Added.
  • canvas/2d.path.clip.empty-expected.txt: Added.
  • canvas/2d.path.clip.empty.html: Added.
  • canvas/2d.path.clip.intersect-expected.txt: Added.
  • canvas/2d.path.clip.intersect.html: Added.
  • canvas/2d.path.clip.unaffected-expected.txt: Added.
  • canvas/2d.path.clip.unaffected.html: Added.
  • canvas/2d.path.clip.winding.1-expected.txt: Added.
  • canvas/2d.path.clip.winding.1.html: Added.
  • canvas/2d.path.clip.winding.2-expected.txt: Added.
  • canvas/2d.path.clip.winding.2.html: Added.
  • canvas/2d.path.closePath.empty-expected.txt: Added.
  • canvas/2d.path.closePath.empty.html: Added.
  • canvas/2d.path.closePath.newline-expected.txt: Added.
  • canvas/2d.path.closePath.newline.html: Added.
  • canvas/2d.path.closePath.nextpoint-expected.txt: Added.
  • canvas/2d.path.closePath.nextpoint.html: Added.
  • canvas/2d.path.fill.closed.basic-expected.txt: Added.
  • canvas/2d.path.fill.closed.basic.html: Added.
  • canvas/2d.path.fill.closed.unaffected-expected.txt: Added.
  • canvas/2d.path.fill.closed.unaffected.html: Added.
  • canvas/2d.path.fill.overlap-expected.txt: Added.
  • canvas/2d.path.fill.overlap.html: Added.
  • canvas/2d.path.fill.winding.add-expected.txt: Added.
  • canvas/2d.path.fill.winding.add.html: Added.
  • canvas/2d.path.fill.winding.subtract.1-expected.txt: Added.
  • canvas/2d.path.fill.winding.subtract.1.html: Added.
  • canvas/2d.path.fill.winding.subtract.2-expected.txt: Added.
  • canvas/2d.path.fill.winding.subtract.2.html: Added.
  • canvas/2d.path.fill.winding.subtract.3-expected.txt: Added.
  • canvas/2d.path.fill.winding.subtract.3.html: Added.
  • canvas/2d.path.initial-expected.txt: Added.
  • canvas/2d.path.initial.html: Added.
  • canvas/2d.path.isPointInPath.arc-expected.txt: Added.
  • canvas/2d.path.isPointInPath.arc.html: Added.
  • canvas/2d.path.isPointInPath.basic.1-expected.txt: Added.
  • canvas/2d.path.isPointInPath.basic.1.html: Added.
  • canvas/2d.path.isPointInPath.basic.2-expected.txt: Added.
  • canvas/2d.path.isPointInPath.basic.2.html: Added.
  • canvas/2d.path.isPointInPath.bezier-expected.txt: Added.
  • canvas/2d.path.isPointInPath.bezier.html: Added.
  • canvas/2d.path.isPointInPath.bigarc-expected.txt: Added.
  • canvas/2d.path.isPointInPath.bigarc.html: Added.
  • canvas/2d.path.isPointInPath.edge-expected.txt: Added.
  • canvas/2d.path.isPointInPath.edge.html: Added.
  • canvas/2d.path.isPointInPath.empty-expected.txt: Added.
  • canvas/2d.path.isPointInPath.empty.html: Added.
  • canvas/2d.path.isPointInPath.nonfinite-expected.txt: Added.
  • canvas/2d.path.isPointInPath.nonfinite.html: Added.
  • canvas/2d.path.isPointInPath.outside-expected.txt: Added.
  • canvas/2d.path.isPointInPath.outside.html: Added.
  • canvas/2d.path.isPointInPath.subpath-expected.txt: Added.
  • canvas/2d.path.isPointInPath.subpath.html: Added.
  • canvas/2d.path.isPointInPath.transform.1-expected.txt: Added.
  • canvas/2d.path.isPointInPath.transform.1.html: Added.
  • canvas/2d.path.isPointInPath.transform.2-expected.txt: Added.
  • canvas/2d.path.isPointInPath.transform.2.html: Added.
  • canvas/2d.path.isPointInPath.transform.3-expected.txt: Added.
  • canvas/2d.path.isPointInPath.transform.3.html: Added.
  • canvas/2d.path.isPointInPath.unclosed-expected.txt: Added.
  • canvas/2d.path.isPointInPath.unclosed.html: Added.
  • canvas/2d.path.isPointInPath.winding-expected.txt: Added.
  • canvas/2d.path.isPointInPath.winding.html: Added.
  • canvas/2d.path.lineTo.basic-expected.txt: Added.
  • canvas/2d.path.lineTo.basic.html: Added.
  • canvas/2d.path.lineTo.ensuresubpath.1-expected.txt: Added.
  • canvas/2d.path.lineTo.ensuresubpath.1.html: Added.
  • canvas/2d.path.lineTo.ensuresubpath.2-expected.txt: Added.
  • canvas/2d.path.lineTo.ensuresubpath.2.html: Added.
  • canvas/2d.path.lineTo.nextpoint-expected.txt: Added.
  • canvas/2d.path.lineTo.nextpoint.html: Added.
  • canvas/2d.path.lineTo.nonfinite-expected.txt: Added.
  • canvas/2d.path.lineTo.nonfinite.html: Added.
  • canvas/2d.path.moveTo.basic-expected.txt: Added.
  • canvas/2d.path.moveTo.basic.html: Added.
  • canvas/2d.path.moveTo.multiple-expected.txt: Added.
  • canvas/2d.path.moveTo.multiple.html: Added.
  • canvas/2d.path.moveTo.newsubpath-expected.txt: Added.
  • canvas/2d.path.moveTo.newsubpath.html: Added.
  • canvas/2d.path.moveTo.nonfinite-expected.txt: Added.
  • canvas/2d.path.moveTo.nonfinite.html: Added.
  • canvas/2d.path.quadraticCurveTo.basic-expected.txt: Added.
  • canvas/2d.path.quadraticCurveTo.basic.html: Added.
  • canvas/2d.path.quadraticCurveTo.ensuresubpath.1-expected.txt: Added.
  • canvas/2d.path.quadraticCurveTo.ensuresubpath.1.html: Added.
  • canvas/2d.path.quadraticCurveTo.ensuresubpath.2-expected.txt: Added.
  • canvas/2d.path.quadraticCurveTo.ensuresubpath.2.html: Added.
  • canvas/2d.path.quadraticCurveTo.nonfinite-expected.txt: Added.
  • canvas/2d.path.quadraticCurveTo.nonfinite.html: Added.
  • canvas/2d.path.quadraticCurveTo.scaled-expected.txt: Added.
  • canvas/2d.path.quadraticCurveTo.scaled.html: Added.
  • canvas/2d.path.quadraticCurveTo.shape-expected.txt: Added.
  • canvas/2d.path.quadraticCurveTo.shape.html: Added.
  • canvas/2d.path.rect.basic-expected.txt: Added.
  • canvas/2d.path.rect.basic.html: Added.
  • canvas/2d.path.rect.closed-expected.txt: Added.
  • canvas/2d.path.rect.closed.html: Added.
  • canvas/2d.path.rect.end.1-expected.txt: Added.
  • canvas/2d.path.rect.end.1.html: Added.
  • canvas/2d.path.rect.end.2-expected.txt: Added.
  • canvas/2d.path.rect.end.2.html: Added.
  • canvas/2d.path.rect.negative-expected.txt: Added.
  • canvas/2d.path.rect.negative.html: Added.
  • canvas/2d.path.rect.newsubpath-expected.txt: Added.
  • canvas/2d.path.rect.newsubpath.html: Added.
  • canvas/2d.path.rect.nonfinite-expected.txt: Added.
  • canvas/2d.path.rect.nonfinite.html: Added.
  • canvas/2d.path.rect.selfintersect-expected.txt: Added.
  • canvas/2d.path.rect.selfintersect.html: Added.
  • canvas/2d.path.rect.winding-expected.txt: Added.
  • canvas/2d.path.rect.winding.html: Added.
  • canvas/2d.path.rect.zero.1-expected.txt: Added.
  • canvas/2d.path.rect.zero.1.html: Added.
  • canvas/2d.path.rect.zero.2-expected.txt: Added.
  • canvas/2d.path.rect.zero.2.html: Added.
  • canvas/2d.path.rect.zero.3-expected.txt: Added.
  • canvas/2d.path.rect.zero.3.html: Added.
  • canvas/2d.path.rect.zero.4-expected.txt: Added.
  • canvas/2d.path.rect.zero.4.html: Added.
  • canvas/2d.path.rect.zero.5-expected.txt: Added.
  • canvas/2d.path.rect.zero.5.html: Added.
  • canvas/2d.path.rect.zero.6-expected.txt: Added.
  • canvas/2d.path.rect.zero.6.html: Added.
  • canvas/2d.path.stroke.empty-expected.txt: Added.
  • canvas/2d.path.stroke.empty.html: Added.
  • canvas/2d.path.stroke.overlap-expected.txt: Added.
  • canvas/2d.path.stroke.overlap.html: Added.
  • canvas/2d.path.stroke.prune.arc-expected.txt: Added.
  • canvas/2d.path.stroke.prune.arc.html: Added.
  • canvas/2d.path.stroke.prune.closed-expected.txt: Added.
  • canvas/2d.path.stroke.prune.closed.html: Added.
  • canvas/2d.path.stroke.prune.corner-expected.txt: Added.
  • canvas/2d.path.stroke.prune.corner.html: Added.
  • canvas/2d.path.stroke.prune.curve-expected.txt: Added.
  • canvas/2d.path.stroke.prune.curve.html: Added.
  • canvas/2d.path.stroke.prune.line-expected.txt: Added.
  • canvas/2d.path.stroke.prune.line.html: Added.
  • canvas/2d.path.stroke.prune.rect-expected.txt: Added.
  • canvas/2d.path.stroke.prune.rect.html: Added.
  • canvas/2d.path.stroke.scale1-expected.txt: Added.
  • canvas/2d.path.stroke.scale1.html: Added.
  • canvas/2d.path.stroke.scale2-expected.txt: Added.
  • canvas/2d.path.stroke.scale2.html: Added.
  • canvas/2d.path.stroke.skew-expected.txt: Added.
  • canvas/2d.path.stroke.skew.html: Added.
  • canvas/2d.path.stroke.unaffected-expected.txt: Added.
  • canvas/2d.path.stroke.unaffected.html: Added.
  • canvas/2d.path.stroke.union-expected.txt: Added.
  • canvas/2d.path.stroke.union.html: Added.
  • canvas/2d.path.transformation.basic-expected.txt: Added.
  • canvas/2d.path.transformation.basic.html: Added.
  • canvas/2d.path.transformation.changing-expected.txt: Added.
  • canvas/2d.path.transformation.changing.html: Added.
  • canvas/2d.path.transformation.multiple-expected.txt: Added.
  • canvas/2d.path.transformation.multiple.html: Added.
  • canvas/2d.pattern.animated.gif.html: Added.
  • canvas/2d.pattern.basic.canvas-expected.txt: Added.
  • canvas/2d.pattern.basic.canvas.html: Added.
  • canvas/2d.pattern.basic.image-expected.txt: Added.
  • canvas/2d.pattern.basic.image.html: Added.
  • canvas/2d.pattern.basic.nocontext-expected.txt: Added.
  • canvas/2d.pattern.basic.nocontext.html: Added.
  • canvas/2d.pattern.basic.type-expected.txt: Added.
  • canvas/2d.pattern.basic.type.html: Added.
  • canvas/2d.pattern.basic.zerocanvas-expected.txt: Added.
  • canvas/2d.pattern.basic.zerocanvas.html: Added.
  • canvas/2d.pattern.crosscanvas-expected.txt: Added.
  • canvas/2d.pattern.crosscanvas.html: Added.
  • canvas/2d.pattern.image.incomplete-expected.txt: Added.
  • canvas/2d.pattern.image.incomplete.empty-expected.txt: Added.
  • canvas/2d.pattern.image.incomplete.empty.html: Added.
  • canvas/2d.pattern.image.incomplete.html: Added.
  • canvas/2d.pattern.image.incomplete.omitted-expected.txt: Added.
  • canvas/2d.pattern.image.incomplete.omitted.html: Added.
  • canvas/2d.pattern.image.null-expected.txt: Added.
  • canvas/2d.pattern.image.null.html: Added.
  • canvas/2d.pattern.image.string-expected.txt: Added.
  • canvas/2d.pattern.image.string.html: Added.
  • canvas/2d.pattern.image.undefined-expected.txt: Added.
  • canvas/2d.pattern.image.undefined.html: Added.
  • canvas/2d.pattern.modify.canvas1-expected.txt: Added.
  • canvas/2d.pattern.modify.canvas1.html: Added.
  • canvas/2d.pattern.modify.canvas2-expected.txt: Added.
  • canvas/2d.pattern.modify.canvas2.html: Added.
  • canvas/2d.pattern.modify.image1.html: Added.
  • canvas/2d.pattern.modify.image2.html: Added.
  • canvas/2d.pattern.paint.norepeat.basic-expected.txt: Added.
  • canvas/2d.pattern.paint.norepeat.basic.html: Added.
  • canvas/2d.pattern.paint.norepeat.coord1-expected.txt: Added.
  • canvas/2d.pattern.paint.norepeat.coord1.html: Added.
  • canvas/2d.pattern.paint.norepeat.coord2-expected.txt: Added.
  • canvas/2d.pattern.paint.norepeat.coord2.html: Added.
  • canvas/2d.pattern.paint.norepeat.coord3-expected.txt: Added.
  • canvas/2d.pattern.paint.norepeat.coord3.html: Added.
  • canvas/2d.pattern.paint.norepeat.outside-expected.txt: Added.
  • canvas/2d.pattern.paint.norepeat.outside.html: Added.
  • canvas/2d.pattern.paint.orientation.canvas-expected.txt: Added.
  • canvas/2d.pattern.paint.orientation.canvas.html: Added.
  • canvas/2d.pattern.paint.orientation.image-expected.txt: Added.
  • canvas/2d.pattern.paint.orientation.image.html: Added.
  • canvas/2d.pattern.paint.repeat.basic-expected.txt: Added.
  • canvas/2d.pattern.paint.repeat.basic.html: Added.
  • canvas/2d.pattern.paint.repeat.coord1-expected.txt: Added.
  • canvas/2d.pattern.paint.repeat.coord1.html: Added.
  • canvas/2d.pattern.paint.repeat.coord2-expected.txt: Added.
  • canvas/2d.pattern.paint.repeat.coord2.html: Added.
  • canvas/2d.pattern.paint.repeat.coord3-expected.txt: Added.
  • canvas/2d.pattern.paint.repeat.coord3.html: Added.
  • canvas/2d.pattern.paint.repeat.outside-expected.txt: Added.
  • canvas/2d.pattern.paint.repeat.outside.html: Added.
  • canvas/2d.pattern.paint.repeatx.basic-expected.txt: Added.
  • canvas/2d.pattern.paint.repeatx.basic.html: Added.
  • canvas/2d.pattern.paint.repeatx.coord1-expected.txt: Added.
  • canvas/2d.pattern.paint.repeatx.coord1.html: Added.
  • canvas/2d.pattern.paint.repeatx.outside-expected.txt: Added.
  • canvas/2d.pattern.paint.repeatx.outside.html: Added.
  • canvas/2d.pattern.paint.repeaty.basic-expected.txt: Added.
  • canvas/2d.pattern.paint.repeaty.basic.html: Added.
  • canvas/2d.pattern.paint.repeaty.coord1-expected.txt: Added.
  • canvas/2d.pattern.paint.repeaty.coord1.html: Added.
  • canvas/2d.pattern.paint.repeaty.outside-expected.txt: Added.
  • canvas/2d.pattern.paint.repeaty.outside.html: Added.
  • canvas/2d.pattern.repeat.case-expected.txt: Added.
  • canvas/2d.pattern.repeat.case.html: Added.
  • canvas/2d.pattern.repeat.empty-expected.txt: Added.
  • canvas/2d.pattern.repeat.empty.html: Added.
  • canvas/2d.pattern.repeat.null-expected.txt: Added.
  • canvas/2d.pattern.repeat.null.html: Added.
  • canvas/2d.pattern.repeat.undefined-expected.txt: Added.
  • canvas/2d.pattern.repeat.undefined.html: Added.
  • canvas/2d.pattern.repeat.unrecognised-expected.txt: Added.
  • canvas/2d.pattern.repeat.unrecognised.html: Added.
  • canvas/2d.scaled.html: Added.
  • canvas/2d.shadow.alpha.1-expected.txt: Added.
  • canvas/2d.shadow.alpha.1.html: Added.
  • canvas/2d.shadow.alpha.2-expected.txt: Added.
  • canvas/2d.shadow.alpha.2.html: Added.
  • canvas/2d.shadow.alpha.3-expected.txt: Added.
  • canvas/2d.shadow.alpha.3.html: Added.
  • canvas/2d.shadow.alpha.4-expected.txt: Added.
  • canvas/2d.shadow.alpha.4.html: Added.
  • canvas/2d.shadow.alpha.5-expected.txt: Added.
  • canvas/2d.shadow.alpha.5.html: Added.
  • canvas/2d.shadow.attributes.shadowBlur.initial-expected.txt: Added.
  • canvas/2d.shadow.attributes.shadowBlur.initial.html: Added.
  • canvas/2d.shadow.attributes.shadowBlur.invalid-expected.txt: Added.
  • canvas/2d.shadow.attributes.shadowBlur.invalid.html: Added.
  • canvas/2d.shadow.attributes.shadowBlur.valid-expected.txt: Added.
  • canvas/2d.shadow.attributes.shadowBlur.valid.html: Added.
  • canvas/2d.shadow.attributes.shadowColor.initial-expected.txt: Added.
  • canvas/2d.shadow.attributes.shadowColor.initial.html: Added.
  • canvas/2d.shadow.attributes.shadowColor.invalid-expected.txt: Added.
  • canvas/2d.shadow.attributes.shadowColor.invalid.html: Added.
  • canvas/2d.shadow.attributes.shadowColor.valid-expected.txt: Added.
  • canvas/2d.shadow.attributes.shadowColor.valid.html: Added.
  • canvas/2d.shadow.attributes.shadowOffset.initial-expected.txt: Added.
  • canvas/2d.shadow.attributes.shadowOffset.initial.html: Added.
  • canvas/2d.shadow.attributes.shadowOffset.invalid-expected.txt: Added.
  • canvas/2d.shadow.attributes.shadowOffset.invalid.html: Added.
  • canvas/2d.shadow.attributes.shadowOffset.valid-expected.txt: Added.
  • canvas/2d.shadow.attributes.shadowOffset.valid.html: Added.
  • canvas/2d.shadow.blur.high.html: Added.
  • canvas/2d.shadow.blur.low.html: Added.
  • canvas/2d.shadow.canvas.alpha-expected.txt: Added.
  • canvas/2d.shadow.canvas.alpha.html: Added.
  • canvas/2d.shadow.canvas.basic-expected.txt: Added.
  • canvas/2d.shadow.canvas.basic.html: Added.
  • canvas/2d.shadow.canvas.transparent.1-expected.txt: Added.
  • canvas/2d.shadow.canvas.transparent.1.html: Added.
  • canvas/2d.shadow.canvas.transparent.2-expected.txt: Added.
  • canvas/2d.shadow.canvas.transparent.2.html: Added.
  • canvas/2d.shadow.clip.1-expected.txt: Added.
  • canvas/2d.shadow.clip.1.html: Added.
  • canvas/2d.shadow.clip.2-expected.txt: Added.
  • canvas/2d.shadow.clip.2.html: Added.
  • canvas/2d.shadow.clip.3-expected.txt: Added.
  • canvas/2d.shadow.clip.3.html: Added.
  • canvas/2d.shadow.composite.1-expected.txt: Added.
  • canvas/2d.shadow.composite.1.html: Added.
  • canvas/2d.shadow.composite.2-expected.txt: Added.
  • canvas/2d.shadow.composite.2.html: Added.
  • canvas/2d.shadow.composite.3-expected.txt: Added.
  • canvas/2d.shadow.composite.3.html: Added.
  • canvas/2d.shadow.enable.blur-expected.txt: Added.
  • canvas/2d.shadow.enable.blur.html: Added.
  • canvas/2d.shadow.enable.off.1-expected.txt: Added.
  • canvas/2d.shadow.enable.off.1.html: Added.
  • canvas/2d.shadow.enable.off.2-expected.txt: Added.
  • canvas/2d.shadow.enable.off.2.html: Added.
  • canvas/2d.shadow.enable.x-expected.txt: Added.
  • canvas/2d.shadow.enable.x.html: Added.
  • canvas/2d.shadow.enable.y-expected.txt: Added.
  • canvas/2d.shadow.enable.y.html: Added.
  • canvas/2d.shadow.gradient.alpha-expected.txt: Added.
  • canvas/2d.shadow.gradient.alpha.html: Added.
  • canvas/2d.shadow.gradient.basic-expected.txt: Added.
  • canvas/2d.shadow.gradient.basic.html: Added.
  • canvas/2d.shadow.gradient.transparent.1-expected.txt: Added.
  • canvas/2d.shadow.gradient.transparent.1.html: Added.
  • canvas/2d.shadow.gradient.transparent.2-expected.txt: Added.
  • canvas/2d.shadow.gradient.transparent.2.html: Added.
  • canvas/2d.shadow.image.alpha-expected.txt: Added.
  • canvas/2d.shadow.image.alpha.html: Added.
  • canvas/2d.shadow.image.basic-expected.txt: Added.
  • canvas/2d.shadow.image.basic.html: Added.
  • canvas/2d.shadow.image.scale-expected.txt: Added.
  • canvas/2d.shadow.image.scale.html: Added.
  • canvas/2d.shadow.image.section-expected.txt: Added.
  • canvas/2d.shadow.image.section.html: Added.
  • canvas/2d.shadow.image.transparent.1-expected.txt: Added.
  • canvas/2d.shadow.image.transparent.1.html: Added.
  • canvas/2d.shadow.image.transparent.2-expected.txt: Added.
  • canvas/2d.shadow.image.transparent.2.html: Added.
  • canvas/2d.shadow.offset.negativeX-expected.txt: Added.
  • canvas/2d.shadow.offset.negativeX.html: Added.
  • canvas/2d.shadow.offset.negativeY-expected.txt: Added.
  • canvas/2d.shadow.offset.negativeY.html: Added.
  • canvas/2d.shadow.offset.positiveX-expected.txt: Added.
  • canvas/2d.shadow.offset.positiveX.html: Added.
  • canvas/2d.shadow.offset.positiveY-expected.txt: Added.
  • canvas/2d.shadow.offset.positiveY.html: Added.
  • canvas/2d.shadow.outside-expected.txt: Added.
  • canvas/2d.shadow.outside.html: Added.
  • canvas/2d.shadow.pattern.alpha-expected.txt: Added.
  • canvas/2d.shadow.pattern.alpha.html: Added.
  • canvas/2d.shadow.pattern.basic-expected.txt: Added.
  • canvas/2d.shadow.pattern.basic.html: Added.
  • canvas/2d.shadow.pattern.transparent.1-expected.txt: Added.
  • canvas/2d.shadow.pattern.transparent.1.html: Added.
  • canvas/2d.shadow.pattern.transparent.2-expected.txt: Added.
  • canvas/2d.shadow.pattern.transparent.2.html: Added.
  • canvas/2d.shadow.stroke.basic-expected.txt: Added.
  • canvas/2d.shadow.stroke.basic.html: Added.
  • canvas/2d.shadow.stroke.cap.1-expected.txt: Added.
  • canvas/2d.shadow.stroke.cap.1.html: Added.
  • canvas/2d.shadow.stroke.cap.2-expected.txt: Added.
  • canvas/2d.shadow.stroke.cap.2.html: Added.
  • canvas/2d.shadow.stroke.join.1-expected.txt: Added.
  • canvas/2d.shadow.stroke.join.1.html: Added.
  • canvas/2d.shadow.stroke.join.2-expected.txt: Added.
  • canvas/2d.shadow.stroke.join.2.html: Added.
  • canvas/2d.shadow.stroke.join.3-expected.txt: Added.
  • canvas/2d.shadow.stroke.join.3.html: Added.
  • canvas/2d.shadow.transform.1-expected.txt: Added.
  • canvas/2d.shadow.transform.1.html: Added.
  • canvas/2d.shadow.transform.2-expected.txt: Added.
  • canvas/2d.shadow.transform.2.html: Added.
  • canvas/2d.state.saverestore.bitmap-expected.txt: Added.
  • canvas/2d.state.saverestore.bitmap.html: Added.
  • canvas/2d.state.saverestore.clip-expected.txt: Added.
  • canvas/2d.state.saverestore.clip.html: Added.
  • canvas/2d.state.saverestore.fillStyle-expected.txt: Added.
  • canvas/2d.state.saverestore.fillStyle.html: Added.
  • canvas/2d.state.saverestore.font-expected.txt: Added.
  • canvas/2d.state.saverestore.font.html: Added.
  • canvas/2d.state.saverestore.globalAlpha-expected.txt: Added.
  • canvas/2d.state.saverestore.globalAlpha.html: Added.
  • canvas/2d.state.saverestore.globalCompositeOperation-expected.txt: Added.
  • canvas/2d.state.saverestore.globalCompositeOperation.html: Added.
  • canvas/2d.state.saverestore.lineCap-expected.txt: Added.
  • canvas/2d.state.saverestore.lineCap.html: Added.
  • canvas/2d.state.saverestore.lineJoin-expected.txt: Added.
  • canvas/2d.state.saverestore.lineJoin.html: Added.
  • canvas/2d.state.saverestore.lineWidth-expected.txt: Added.
  • canvas/2d.state.saverestore.lineWidth.html: Added.
  • canvas/2d.state.saverestore.miterLimit-expected.txt: Added.
  • canvas/2d.state.saverestore.miterLimit.html: Added.
  • canvas/2d.state.saverestore.path-expected.txt: Added.
  • canvas/2d.state.saverestore.path.html: Added.
  • canvas/2d.state.saverestore.shadowBlur-expected.txt: Added.
  • canvas/2d.state.saverestore.shadowBlur.html: Added.
  • canvas/2d.state.saverestore.shadowColor-expected.txt: Added.
  • canvas/2d.state.saverestore.shadowColor.html: Added.
  • canvas/2d.state.saverestore.shadowOffsetX-expected.txt: Added.
  • canvas/2d.state.saverestore.shadowOffsetX.html: Added.
  • canvas/2d.state.saverestore.shadowOffsetY-expected.txt: Added.
  • canvas/2d.state.saverestore.shadowOffsetY.html: Added.
  • canvas/2d.state.saverestore.stack-expected.txt: Added.
  • canvas/2d.state.saverestore.stack.html: Added.
  • canvas/2d.state.saverestore.stackdepth-expected.txt: Added.
  • canvas/2d.state.saverestore.stackdepth.html: Added.
  • canvas/2d.state.saverestore.strokeStyle-expected.txt: Added.
  • canvas/2d.state.saverestore.strokeStyle.html: Added.
  • canvas/2d.state.saverestore.textAlign-expected.txt: Added.
  • canvas/2d.state.saverestore.textAlign.html: Added.
  • canvas/2d.state.saverestore.textBaseline-expected.txt: Added.
  • canvas/2d.state.saverestore.textBaseline.html: Added.
  • canvas/2d.state.saverestore.transformation-expected.txt: Added.
  • canvas/2d.state.saverestore.transformation.html: Added.
  • canvas/2d.state.saverestore.underflow-expected.txt: Added.
  • canvas/2d.state.saverestore.underflow.html: Added.
  • canvas/2d.strokeRect.basic-expected.txt: Added.
  • canvas/2d.strokeRect.basic.html: Added.
  • canvas/2d.strokeRect.clip-expected.txt: Added.
  • canvas/2d.strokeRect.clip.html: Added.
  • canvas/2d.strokeRect.globalalpha-expected.txt: Added.
  • canvas/2d.strokeRect.globalalpha.html: Added.
  • canvas/2d.strokeRect.globalcomposite-expected.txt: Added.
  • canvas/2d.strokeRect.globalcomposite.html: Added.
  • canvas/2d.strokeRect.negative-expected.txt: Added.
  • canvas/2d.strokeRect.negative.html: Added.
  • canvas/2d.strokeRect.nonfinite-expected.txt: Added.
  • canvas/2d.strokeRect.nonfinite.html: Added.
  • canvas/2d.strokeRect.path-expected.txt: Added.
  • canvas/2d.strokeRect.path.html: Added.
  • canvas/2d.strokeRect.shadow-expected.txt: Added.
  • canvas/2d.strokeRect.shadow.html: Added.
  • canvas/2d.strokeRect.transform-expected.txt: Added.
  • canvas/2d.strokeRect.transform.html: Added.
  • canvas/2d.strokeRect.zero.1-expected.txt: Added.
  • canvas/2d.strokeRect.zero.1.html: Added.
  • canvas/2d.strokeRect.zero.2-expected.txt: Added.
  • canvas/2d.strokeRect.zero.2.html: Added.
  • canvas/2d.strokeRect.zero.3-expected.txt: Added.
  • canvas/2d.strokeRect.zero.3.html: Added.
  • canvas/2d.strokeRect.zero.5-expected.txt: Added.
  • canvas/2d.strokeRect.zero.5.html: Added.
  • canvas/2d.strokeStyle.default-expected.txt: Added.
  • canvas/2d.strokeStyle.default.html: Added.
  • canvas/2d.text.align.default-expected.txt: Added.
  • canvas/2d.text.align.default.html: Added.
  • canvas/2d.text.align.valid-expected.txt: Added.
  • canvas/2d.text.align.valid.html: Added.
  • canvas/2d.text.baseline.default-expected.txt: Added.
  • canvas/2d.text.baseline.default.html: Added.
  • canvas/2d.text.baseline.valid-expected.txt: Added.
  • canvas/2d.text.baseline.valid.html: Added.
  • canvas/2d.text.draw.align.center.html: Added.
  • canvas/2d.text.draw.align.end.ltr.html: Added.
  • canvas/2d.text.draw.align.end.rtl.html: Added.
  • canvas/2d.text.draw.align.left.html: Added.
  • canvas/2d.text.draw.align.right.html: Added.
  • canvas/2d.text.draw.align.start.ltr.html: Added.
  • canvas/2d.text.draw.align.start.rtl.html: Added.
  • canvas/2d.text.draw.baseline.alphabetic.html: Added.
  • canvas/2d.text.draw.fill.basic.html: Added.
  • canvas/2d.text.draw.fill.maxWidth.bound.html: Added.
  • canvas/2d.text.draw.fill.maxWidth.fontface.html: Added.
  • canvas/2d.text.draw.fill.maxWidth.large.html: Added.
  • canvas/2d.text.draw.fill.maxWidth.negative-expected.txt: Added.
  • canvas/2d.text.draw.fill.maxWidth.negative.html: Added.
  • canvas/2d.text.draw.fill.maxWidth.small.html: Added.
  • canvas/2d.text.draw.fill.maxWidth.zero.html: Added.
  • canvas/2d.text.draw.fill.rtl.html: Added.
  • canvas/2d.text.draw.fill.unaffected-expected.txt: Added.
  • canvas/2d.text.draw.fill.unaffected.html: Added.
  • canvas/2d.text.draw.fontface.html: Added.
  • canvas/2d.text.draw.fontface.notinpage.html: Added.
  • canvas/2d.text.draw.fontface.repeat.html: Added.
  • canvas/2d.text.draw.kern.consistent.html: Added.
  • canvas/2d.text.draw.space.basic.html: Added.
  • canvas/2d.text.draw.space.collapse.nonspace.html: Added.
  • canvas/2d.text.draw.stroke.basic.html: Added.
  • canvas/2d.text.draw.stroke.unaffected-expected.txt: Added.
  • canvas/2d.text.draw.stroke.unaffected.html: Added.
  • canvas/2d.text.font.default-expected.txt: Added.
  • canvas/2d.text.font.default.html: Added.
  • canvas/2d.text.font.parse.basic-expected.txt: Added.
  • canvas/2d.text.font.parse.basic.html: Added.
  • canvas/2d.text.font.parse.complex-expected.txt: Added.
  • canvas/2d.text.font.parse.complex.html: Added.
  • canvas/2d.text.font.parse.invalid-expected.txt: Added.
  • canvas/2d.text.font.parse.invalid.html: Added.
  • canvas/2d.text.font.parse.size.percentage-expected.txt: Added.
  • canvas/2d.text.font.parse.size.percentage.default-expected.txt: Added.
  • canvas/2d.text.font.parse.size.percentage.default.html: Added.
  • canvas/2d.text.font.parse.size.percentage.html: Added.
  • canvas/2d.text.font.parse.system-expected.txt: Added.
  • canvas/2d.text.font.parse.system.html: Added.
  • canvas/2d.text.measure.width.basic.html: Added.
  • canvas/2d.text.measure.width.empty-expected.txt: Added.
  • canvas/2d.text.measure.width.empty.html: Added.
  • canvas/2d.transformation.order-expected.txt: Added.
  • canvas/2d.transformation.order.html: Added.
  • canvas/2d.transformation.rotate.direction-expected.txt: Added.
  • canvas/2d.transformation.rotate.direction.html: Added.
  • canvas/2d.transformation.rotate.nonfinite-expected.txt: Added.
  • canvas/2d.transformation.rotate.nonfinite.html: Added.
  • canvas/2d.transformation.rotate.radians-expected.txt: Added.
  • canvas/2d.transformation.rotate.radians.html: Added.
  • canvas/2d.transformation.rotate.wrap-expected.txt: Added.
  • canvas/2d.transformation.rotate.wrap.html: Added.
  • canvas/2d.transformation.rotate.wrapnegative-expected.txt: Added.
  • canvas/2d.transformation.rotate.wrapnegative.html: Added.
  • canvas/2d.transformation.rotate.zero-expected.txt: Added.
  • canvas/2d.transformation.rotate.zero.html: Added.
  • canvas/2d.transformation.scale.basic-expected.txt: Added.
  • canvas/2d.transformation.scale.basic.html: Added.
  • canvas/2d.transformation.scale.large-expected.txt: Added.
  • canvas/2d.transformation.scale.large.html: Added.
  • canvas/2d.transformation.scale.multiple-expected.txt: Added.
  • canvas/2d.transformation.scale.multiple.html: Added.
  • canvas/2d.transformation.scale.negative-expected.txt: Added.
  • canvas/2d.transformation.scale.negative.html: Added.
  • canvas/2d.transformation.scale.nonfinite-expected.txt: Added.
  • canvas/2d.transformation.scale.nonfinite.html: Added.
  • canvas/2d.transformation.scale.zero-expected.txt: Added.
  • canvas/2d.transformation.scale.zero.html: Added.
  • canvas/2d.transformation.setTransform.multiple-expected.txt: Added.
  • canvas/2d.transformation.setTransform.multiple.html: Added.
  • canvas/2d.transformation.setTransform.nonfinite-expected.txt: Added.
  • canvas/2d.transformation.setTransform.nonfinite.html: Added.
  • canvas/2d.transformation.setTransform.skewed-expected.txt: Added.
  • canvas/2d.transformation.setTransform.skewed.html: Added.
  • canvas/2d.transformation.transform.identity-expected.txt: Added.
  • canvas/2d.transformation.transform.identity.html: Added.
  • canvas/2d.transformation.transform.multiply-expected.txt: Added.
  • canvas/2d.transformation.transform.multiply.html: Added.
  • canvas/2d.transformation.transform.nonfinite-expected.txt: Added.
  • canvas/2d.transformation.transform.nonfinite.html: Added.
  • canvas/2d.transformation.transform.skewed-expected.txt: Added.
  • canvas/2d.transformation.transform.skewed.html: Added.
  • canvas/2d.transformation.translate.basic-expected.txt: Added.
  • canvas/2d.transformation.translate.basic.html: Added.
  • canvas/2d.transformation.translate.nonfinite-expected.txt: Added.
  • canvas/2d.transformation.translate.nonfinite.html: Added.
  • canvas/2d.type.delete-expected.txt: Added.
  • canvas/2d.type.delete.html: Added.
  • canvas/2d.voidreturn-expected.txt: Added.
  • canvas/2d.voidreturn.html: Added.
  • canvas/canvas_colorsandstyles_addcolorstop_001-expected.txt: Added.
  • canvas/canvas_colorsandstyles_addcolorstop_001.htm: Added.
  • canvas/canvas_colorsandstyles_createlineargradient_001.htm: Added.
  • canvas/canvas_complexshapes_arcto_001.htm: Added.
  • canvas/canvas_complexshapes_beziercurveto_001.htm: Added.
  • canvas/canvas_complexshapes_ispointInpath_001-expected.txt: Added.
  • canvas/canvas_complexshapes_ispointInpath_001.htm: Added.
  • canvas/canvas_compositing_globalcompositeoperation_001.htm: Added.
  • canvas/canvas_linestyles_linecap_001.htm: Added.
  • canvas/canvas_shadows_001.htm: Added.
  • canvas/canvas_state_restore_001.htm: Added.
  • canvas/canvas_text_font_001.htm: Added.
  • canvas/canvas_transformations_scale_001.htm: Added.
  • canvas/context.casesensitive-expected.txt: Added.
  • canvas/context.casesensitive.html: Added.
  • canvas/context.emptystring-expected.txt: Added.
  • canvas/context.emptystring.html: Added.
  • canvas/context.unrecognised.badname-expected.txt: Added.
  • canvas/context.unrecognised.badname.html: Added.
  • canvas/context.unrecognised.badsuffix-expected.txt: Added.
  • canvas/context.unrecognised.badsuffix.html: Added.
  • canvas/context.unrecognised.nullsuffix-expected.txt: Added.
  • canvas/context.unrecognised.nullsuffix.html: Added.
  • canvas/context.unrecognised.unicode-expected.txt: Added.
  • canvas/context.unrecognised.unicode.html: Added.
  • canvas/fallback.basic-expected.txt: Added.
  • canvas/fallback.basic.html: Added.
  • canvas/fallback.multiple-expected.txt: Added.
  • canvas/fallback.multiple.html: Added.
  • canvas/fallback.nested-expected.txt: Added.
  • canvas/fallback.nested.html: Added.
  • canvas/initial.colour-expected.txt: Added.
  • canvas/initial.colour.html: Added.
  • canvas/initial.reset.2dstate-expected.txt: Added.
  • canvas/initial.reset.2dstate.html: Added.
  • canvas/initial.reset.clip-expected.txt: Added.
  • canvas/initial.reset.clip.html: Added.
  • canvas/initial.reset.different-expected.txt: Added.
  • canvas/initial.reset.different.html: Added.
  • canvas/initial.reset.gradient-expected.txt: Added.
  • canvas/initial.reset.gradient.html: Added.
  • canvas/initial.reset.path-expected.txt: Added.
  • canvas/initial.reset.path.html: Added.
  • canvas/initial.reset.pattern-expected.txt: Added.
  • canvas/initial.reset.pattern.html: Added.
  • canvas/initial.reset.same-expected.txt: Added.
  • canvas/initial.reset.same.html: Added.
  • canvas/initial.reset.transform-expected.txt: Added.
  • canvas/initial.reset.transform.html: Added.
  • canvas/resources: Added.
  • canvas/resources/2d.composite.canvas.copy.png: Added.
  • canvas/resources/2d.composite.canvas.destination-atop.png: Added.
  • canvas/resources/2d.composite.canvas.destination-in.png: Added.
  • canvas/resources/2d.composite.canvas.destination-out.png: Added.
  • canvas/resources/2d.composite.canvas.destination-over.png: Added.
  • canvas/resources/2d.composite.canvas.lighter.png: Added.
  • canvas/resources/2d.composite.canvas.source-atop.png: Added.
  • canvas/resources/2d.composite.canvas.source-in.png: Added.
  • canvas/resources/2d.composite.canvas.source-out.png: Added.
  • canvas/resources/2d.composite.canvas.source-over.png: Added.
  • canvas/resources/2d.composite.canvas.xor.png: Added.
  • canvas/resources/2d.composite.image.copy.png: Added.
  • canvas/resources/2d.composite.image.destination-atop.png: Added.
  • canvas/resources/2d.composite.image.destination-in.png: Added.
  • canvas/resources/2d.composite.image.destination-out.png: Added.
  • canvas/resources/2d.composite.image.destination-over.png: Added.
  • canvas/resources/2d.composite.image.lighter.png: Added.
  • canvas/resources/2d.composite.image.source-atop.png: Added.
  • canvas/resources/2d.composite.image.source-in.png: Added.
  • canvas/resources/2d.composite.image.source-out.png: Added.
  • canvas/resources/2d.composite.image.source-over.png: Added.
  • canvas/resources/2d.composite.image.xor.png: Added.
  • canvas/resources/2d.composite.solid.copy.png: Added.
  • canvas/resources/2d.composite.solid.destination-atop.png: Added.
  • canvas/resources/2d.composite.solid.destination-in.png: Added.
  • canvas/resources/2d.composite.solid.destination-out.png: Added.
  • canvas/resources/2d.composite.solid.destination-over.png: Added.
  • canvas/resources/2d.composite.solid.lighter.png: Added.
  • canvas/resources/2d.composite.solid.source-atop.png: Added.
  • canvas/resources/2d.composite.solid.source-in.png: Added.
  • canvas/resources/2d.composite.solid.source-out.png: Added.
  • canvas/resources/2d.composite.solid.source-over.png: Added.
  • canvas/resources/2d.composite.solid.xor.png: Added.
  • canvas/resources/2d.composite.transparent.copy.png: Added.
  • canvas/resources/2d.composite.transparent.destination-atop.png: Added.
  • canvas/resources/2d.composite.transparent.destination-in.png: Added.
  • canvas/resources/2d.composite.transparent.destination-out.png: Added.
  • canvas/resources/2d.composite.transparent.destination-over.png: Added.
  • canvas/resources/2d.composite.transparent.lighter.png: Added.
  • canvas/resources/2d.composite.transparent.source-atop.png: Added.
  • canvas/resources/2d.composite.transparent.source-in.png: Added.
  • canvas/resources/2d.composite.transparent.source-out.png: Added.
  • canvas/resources/2d.composite.transparent.source-over.png: Added.
  • canvas/resources/2d.composite.transparent.xor.png: Added.
  • canvas/resources/2d.composite.uncovered.fill.copy.png: Added.
  • canvas/resources/2d.composite.uncovered.fill.destination-atop.png: Added.
  • canvas/resources/2d.composite.uncovered.fill.destination-in.png: Added.
  • canvas/resources/2d.composite.uncovered.fill.source-in.png: Added.
  • canvas/resources/2d.composite.uncovered.fill.source-out.png: Added.
  • canvas/resources/2d.composite.uncovered.image.copy.png: Added.
  • canvas/resources/2d.composite.uncovered.image.destination-atop.png: Added.
  • canvas/resources/2d.composite.uncovered.image.destination-in.png: Added.
  • canvas/resources/2d.composite.uncovered.image.source-in.png: Added.
  • canvas/resources/2d.composite.uncovered.image.source-out.png: Added.
  • canvas/resources/2d.composite.uncovered.nocontext.copy.png: Added.
  • canvas/resources/2d.composite.uncovered.nocontext.destination-atop.png: Added.
  • canvas/resources/2d.composite.uncovered.nocontext.destination-in.png: Added.
  • canvas/resources/2d.composite.uncovered.nocontext.source-in.png: Added.
  • canvas/resources/2d.composite.uncovered.nocontext.source-out.png: Added.
  • canvas/resources/2d.composite.uncovered.pattern.copy.png: Added.
  • canvas/resources/2d.composite.uncovered.pattern.destination-atop.png: Added.
  • canvas/resources/2d.composite.uncovered.pattern.destination-in.png: Added.
  • canvas/resources/2d.composite.uncovered.pattern.source-in.png: Added.
  • canvas/resources/2d.composite.uncovered.pattern.source-out.png: Added.
  • canvas/resources/2d.coordinatespace.png: Added.
  • canvas/resources/2d.fillStyle.parse.current.removed.png: Added.
  • canvas/resources/2d.fillStyle.parse.hex3.png: Added.
  • canvas/resources/2d.fillStyle.parse.hex6.png: Added.
  • canvas/resources/2d.fillStyle.parse.hsl-1.png: Added.
  • canvas/resources/2d.fillStyle.parse.hsl-2.png: Added.
  • canvas/resources/2d.fillStyle.parse.hsl-3.png: Added.
  • canvas/resources/2d.fillStyle.parse.hsl-4.png: Added.
  • canvas/resources/2d.fillStyle.parse.hsl-5.png: Added.
  • canvas/resources/2d.fillStyle.parse.hsl-6.png: Added.
  • canvas/resources/2d.fillStyle.parse.hsl-clamp-1.png: Added.
  • canvas/resources/2d.fillStyle.parse.hsl-clamp-2.png: Added.
  • canvas/resources/2d.fillStyle.parse.hsl-clamp-3.png: Added.
  • canvas/resources/2d.fillStyle.parse.hsl-clamp-4.png: Added.
  • canvas/resources/2d.fillStyle.parse.hsla-1.png: Added.
  • canvas/resources/2d.fillStyle.parse.hsla-2.png: Added.
  • canvas/resources/2d.fillStyle.parse.hsla-clamp-1.png: Added.
  • canvas/resources/2d.fillStyle.parse.hsla-clamp-2.png: Added.
  • canvas/resources/2d.fillStyle.parse.hsla-clamp-3.png: Added.
  • canvas/resources/2d.fillStyle.parse.hsla-clamp-4.png: Added.
  • canvas/resources/2d.fillStyle.parse.hsla-clamp-5.png: Added.
  • canvas/resources/2d.fillStyle.parse.hsla-clamp-6.png: Added.
  • canvas/resources/2d.fillStyle.parse.html4.png: Added.
  • canvas/resources/2d.fillStyle.parse.rgb-clamp-1.png: Added.
  • canvas/resources/2d.fillStyle.parse.rgb-clamp-2.png: Added.
  • canvas/resources/2d.fillStyle.parse.rgb-clamp-3.png: Added.
  • canvas/resources/2d.fillStyle.parse.rgb-clamp-4.png: Added.
  • canvas/resources/2d.fillStyle.parse.rgb-clamp-5.png: Added.
  • canvas/resources/2d.fillStyle.parse.rgb-eof.png: Added.
  • canvas/resources/2d.fillStyle.parse.rgb-num.png: Added.
  • canvas/resources/2d.fillStyle.parse.rgb-percent.png: Added.
  • canvas/resources/2d.fillStyle.parse.rgba-clamp-1.png: Added.
  • canvas/resources/2d.fillStyle.parse.rgba-clamp-2.png: Added.
  • canvas/resources/2d.fillStyle.parse.rgba-eof.png: Added.
  • canvas/resources/2d.fillStyle.parse.rgba-num-1.png: Added.
  • canvas/resources/2d.fillStyle.parse.rgba-num-2.png: Added.
  • canvas/resources/2d.fillStyle.parse.rgba-percent.png: Added.
  • canvas/resources/2d.fillStyle.parse.rgba-solid-1.png: Added.
  • canvas/resources/2d.fillStyle.parse.rgba-solid-2.png: Added.
  • canvas/resources/2d.fillStyle.parse.rgba-solid-3.png: Added.
  • canvas/resources/2d.fillStyle.parse.rgba-solid-4.png: Added.
  • canvas/resources/2d.fillStyle.parse.svg-1.png: Added.
  • canvas/resources/2d.fillStyle.parse.svg-2.png: Added.
  • canvas/resources/2d.fillStyle.parse.transparent-1.png: Added.
  • canvas/resources/2d.fillStyle.parse.transparent-2.png: Added.
  • canvas/resources/2d.gradient.interpolate.alpha.png: Added.
  • canvas/resources/2d.gradient.interpolate.colour.png: Added.
  • canvas/resources/2d.gradient.interpolate.colouralpha.png: Added.
  • canvas/resources/2d.gradient.interpolate.multiple.png: Added.
  • canvas/resources/2d.gradient.interpolate.overlap.png: Added.
  • canvas/resources/2d.gradient.interpolate.vertical.png: Added.
  • canvas/resources/2d.gradient.object.current.png: Added.
  • canvas/resources/2d.imageData.put.alpha.png: Added.
  • canvas/resources/2d.path.fill.overlap.png: Added.
  • canvas/resources/2d.path.stroke.overlap.png: Added.
  • canvas/resources/2d.scaled.png: Added.
  • canvas/resources/2d.shadow.alpha.2.png: Added.
  • canvas/resources/2d.shadow.alpha.3.png: Added.
  • canvas/resources/2d.shadow.alpha.4.png: Added.
  • canvas/resources/2d.shadow.alpha.5.png: Added.
  • canvas/resources/2d.shadow.blur.high.png: Added.
  • canvas/resources/2d.shadow.blur.low.png: Added.
  • canvas/resources/2d.shadow.canvas.alpha.png: Added.
  • canvas/resources/2d.shadow.gradient.alpha.png: Added.
  • canvas/resources/2d.shadow.image.alpha.png: Added.
  • canvas/resources/2d.shadow.pattern.alpha.png: Added.
  • canvas/resources/2d.text.draw.fill.basic.png: Added.
  • canvas/resources/2d.text.draw.fill.maxWidth.large.png: Added.
  • canvas/resources/2d.text.draw.fill.rtl.png: Added.
  • canvas/resources/2d.text.draw.stroke.basic.png: Added.
  • canvas/resources/anim-gr.gif: Added.
  • canvas/resources/anim-gr.png: Added.
  • canvas/resources/anim-poster-gr.png: Added.
  • canvas/resources/broken.png: Added.
  • canvas/resources/clear-100x50.png: Added.
  • canvas/resources/ggrr-256x256.png: Added.
  • canvas/resources/green-100x50.png: Added.
  • canvas/resources/green-1x1.png: Added.
  • canvas/resources/green.png: Added.
  • canvas/resources/initial.colour.png: Added.
  • canvas/resources/initial.reset.different.png: Added.
  • canvas/resources/initial.reset.path.png: Added.
  • canvas/resources/initial.reset.same.png: Added.
  • canvas/resources/red-16x16.png: Added.
  • canvas/resources/red.png: Added.
  • canvas/resources/redtransparent.png: Added.
  • canvas/resources/rgrg-256x256.png: Added.
  • canvas/resources/rrgg-256x256.png: Added.
  • canvas/resources/size.attributes.default.png: Added.
  • canvas/resources/size.attributes.get.png: Added.
  • canvas/resources/size.attributes.parse.decimal.png: Added.
  • canvas/resources/size.attributes.parse.em.png: Added.
  • canvas/resources/size.attributes.parse.empty.png: Added.
  • canvas/resources/size.attributes.parse.exp.png: Added.
  • canvas/resources/size.attributes.parse.junk.png: Added.
  • canvas/resources/size.attributes.parse.minus.png: Added.
  • canvas/resources/size.attributes.parse.octal.png: Added.
  • canvas/resources/size.attributes.parse.onlyspace.png: Added.
  • canvas/resources/size.attributes.parse.percent.png: Added.
  • canvas/resources/size.attributes.parse.plus.png: Added.
  • canvas/resources/size.attributes.parse.space.png: Added.
  • canvas/resources/size.attributes.parse.trailingjunk.png: Added.
  • canvas/resources/size.attributes.parse.whitespace.png: Added.
  • canvas/resources/size.attributes.reflect.setcontent.png: Added.
  • canvas/resources/size.attributes.reflect.setidl.png: Added.
  • canvas/resources/size.attributes.removed.png: Added.
  • canvas/resources/size.attributes.set.png: Added.
  • canvas/resources/size.attributes.setAttribute.decimal.png: Added.
  • canvas/resources/size.attributes.setAttribute.em.png: Added.
  • canvas/resources/size.attributes.setAttribute.empty.png: Added.
  • canvas/resources/size.attributes.setAttribute.exp.png: Added.
  • canvas/resources/size.attributes.setAttribute.junk.png: Added.
  • canvas/resources/size.attributes.setAttribute.minus.png: Added.
  • canvas/resources/size.attributes.setAttribute.octal.png: Added.
  • canvas/resources/size.attributes.setAttribute.onlyspace.png: Added.
  • canvas/resources/size.attributes.setAttribute.percent.png: Added.
  • canvas/resources/size.attributes.setAttribute.plus.png: Added.
  • canvas/resources/size.attributes.setAttribute.space.png: Added.
  • canvas/resources/size.attributes.setAttribute.trailingjunk.png: Added.
  • canvas/resources/size.attributes.setAttribute.whitespace.png: Added.
  • canvas/resources/size.attributes.style.png: Added.
  • canvas/resources/toDataURL.jpeg.alpha.png: Added.
  • canvas/resources/toDataURL.jpeg.primarycolours.png: Added.
  • canvas/resources/toDataURL.jpeg.quality.basic.png: Added.
  • canvas/resources/toDataURL.png.complexcolours.png: Added.
  • canvas/resources/toDataURL.png.primarycolours.png: Added.
  • canvas/resources/transparent.png: Added.
  • canvas/resources/transparent50.png: Added.
  • canvas/resources/yellow.png: Added.
  • canvas/resources/yellow75.png: Added.
  • canvas/security.dataURI.html: Added.
  • canvas/security.drawImage.canvas-expected.txt: Added.
  • canvas/security.drawImage.canvas.html: Added.
  • canvas/security.drawImage.image-expected.txt: Added.
  • canvas/security.drawImage.image.html: Added.
  • canvas/security.pattern.canvas.fillStyle-expected.txt: Added.
  • canvas/security.pattern.canvas.fillStyle.html: Added.
  • canvas/security.pattern.canvas.strokeStyle-expected.txt: Added.
  • canvas/security.pattern.canvas.strokeStyle.html: Added.
  • canvas/security.pattern.canvas.timing-expected.txt: Added.
  • canvas/security.pattern.canvas.timing.html: Added.
  • canvas/security.pattern.create-expected.txt: Added.
  • canvas/security.pattern.create.html: Added.
  • canvas/security.pattern.cross-expected.txt: Added.
  • canvas/security.pattern.cross.html: Added.
  • canvas/security.pattern.image.fillStyle-expected.txt: Added.
  • canvas/security.pattern.image.fillStyle.html: Added.
  • canvas/security.pattern.image.strokeStyle-expected.txt: Added.
  • canvas/security.pattern.image.strokeStyle.html: Added.
  • canvas/security.reset-expected.txt: Added.
  • canvas/security.reset.html: Added.
  • canvas/size.attributes.default-expected.txt: Added.
  • canvas/size.attributes.default.html: Added.
  • canvas/size.attributes.get-expected.txt: Added.
  • canvas/size.attributes.get.html: Added.
  • canvas/size.attributes.idl-expected.txt: Added.
  • canvas/size.attributes.idl.html: Added.
  • canvas/size.attributes.idl.set.zero-expected.txt: Added.
  • canvas/size.attributes.idl.set.zero.html: Added.
  • canvas/size.attributes.parse.decimal-expected.txt: Added.
  • canvas/size.attributes.parse.decimal.html: Added.
  • canvas/size.attributes.parse.em-expected.txt: Added.
  • canvas/size.attributes.parse.em.html: Added.
  • canvas/size.attributes.parse.empty-expected.txt: Added.
  • canvas/size.attributes.parse.empty.html: Added.
  • canvas/size.attributes.parse.exp-expected.txt: Added.
  • canvas/size.attributes.parse.exp.html: Added.
  • canvas/size.attributes.parse.hex-expected.txt: Added.
  • canvas/size.attributes.parse.hex.html: Added.
  • canvas/size.attributes.parse.junk-expected.txt: Added.
  • canvas/size.attributes.parse.junk.html: Added.
  • canvas/size.attributes.parse.minus-expected.txt: Added.
  • canvas/size.attributes.parse.minus.html: Added.
  • canvas/size.attributes.parse.octal-expected.txt: Added.
  • canvas/size.attributes.parse.octal.html: Added.
  • canvas/size.attributes.parse.onlyspace-expected.txt: Added.
  • canvas/size.attributes.parse.onlyspace.html: Added.
  • canvas/size.attributes.parse.percent-expected.txt: Added.
  • canvas/size.attributes.parse.percent.html: Added.
  • canvas/size.attributes.parse.plus-expected.txt: Added.
  • canvas/size.attributes.parse.plus.html: Added.
  • canvas/size.attributes.parse.space-expected.txt: Added.
  • canvas/size.attributes.parse.space.html: Added.
  • canvas/size.attributes.parse.trailingjunk-expected.txt: Added.
  • canvas/size.attributes.parse.trailingjunk.html: Added.
  • canvas/size.attributes.parse.whitespace-expected.txt: Added.
  • canvas/size.attributes.parse.whitespace.html: Added.
  • canvas/size.attributes.parse.zero-expected.txt: Added.
  • canvas/size.attributes.parse.zero.html: Added.
  • canvas/size.attributes.reflect.setcontent-expected.txt: Added.
  • canvas/size.attributes.reflect.setcontent.html: Added.
  • canvas/size.attributes.reflect.setidl-expected.txt: Added.
  • canvas/size.attributes.reflect.setidl.html: Added.
  • canvas/size.attributes.reflect.setidlzero-expected.txt: Added.
  • canvas/size.attributes.reflect.setidlzero.html: Added.
  • canvas/size.attributes.removed-expected.txt: Added.
  • canvas/size.attributes.removed.html: Added.
  • canvas/size.attributes.set-expected.txt: Added.
  • canvas/size.attributes.set.html: Added.
  • canvas/size.attributes.setAttribute.decimal-expected.txt: Added.
  • canvas/size.attributes.setAttribute.decimal.html: Added.
  • canvas/size.attributes.setAttribute.em-expected.txt: Added.
  • canvas/size.attributes.setAttribute.em.html: Added.
  • canvas/size.attributes.setAttribute.empty-expected.txt: Added.
  • canvas/size.attributes.setAttribute.empty.html: Added.
  • canvas/size.attributes.setAttribute.exp-expected.txt: Added.
  • canvas/size.attributes.setAttribute.exp.html: Added.
  • canvas/size.attributes.setAttribute.hex-expected.txt: Added.
  • canvas/size.attributes.setAttribute.hex.html: Added.
  • canvas/size.attributes.setAttribute.junk-expected.txt: Added.
  • canvas/size.attributes.setAttribute.junk.html: Added.
  • canvas/size.attributes.setAttribute.minus-expected.txt: Added.
  • canvas/size.attributes.setAttribute.minus.html: Added.
  • canvas/size.attributes.setAttribute.octal-expected.txt: Added.
  • canvas/size.attributes.setAttribute.octal.html: Added.
  • canvas/size.attributes.setAttribute.onlyspace-expected.txt: Added.
  • canvas/size.attributes.setAttribute.onlyspace.html: Added.
  • canvas/size.attributes.setAttribute.percent-expected.txt: Added.
  • canvas/size.attributes.setAttribute.percent.html: Added.
  • canvas/size.attributes.setAttribute.plus-expected.txt: Added.
  • canvas/size.attributes.setAttribute.plus.html: Added.
  • canvas/size.attributes.setAttribute.space-expected.txt: Added.
  • canvas/size.attributes.setAttribute.space.html: Added.
  • canvas/size.attributes.setAttribute.trailingjunk-expected.txt: Added.
  • canvas/size.attributes.setAttribute.trailingjunk.html: Added.
  • canvas/size.attributes.setAttribute.whitespace-expected.txt: Added.
  • canvas/size.attributes.setAttribute.whitespace.html: Added.
  • canvas/size.attributes.setAttribute.zero-expected.txt: Added.
  • canvas/size.attributes.setAttribute.zero.html: Added.
  • canvas/size.attributes.style-expected.txt: Added.
  • canvas/size.attributes.style.html: Added.
  • canvas/toDataURL.arguments.1-expected.txt: Added.
  • canvas/toDataURL.arguments.1.html: Added.
  • canvas/toDataURL.arguments.2-expected.txt: Added.
  • canvas/toDataURL.arguments.2.html: Added.
  • canvas/toDataURL.arguments.3-expected.txt: Added.
  • canvas/toDataURL.arguments.3.html: Added.
  • canvas/toDataURL.bogustype-expected.txt: Added.
  • canvas/toDataURL.bogustype.html: Added.
  • canvas/toDataURL.default-expected.txt: Added.
  • canvas/toDataURL.default.html: Added.
  • canvas/toDataURL.jpeg.alpha.html: Added.
  • canvas/toDataURL.jpeg.primarycolours.html: Added.
  • canvas/toDataURL.jpeg.quality.basic.html: Added.
  • canvas/toDataURL.jpeg.quality.notnumber-expected.txt: Added.
  • canvas/toDataURL.jpeg.quality.notnumber.html: Added.
  • canvas/toDataURL.jpeg.quality.outsiderange-expected.txt: Added.
  • canvas/toDataURL.jpeg.quality.outsiderange.html: Added.
  • canvas/toDataURL.lowercase.ascii-expected.txt: Added.
  • canvas/toDataURL.lowercase.ascii.html: Added.
  • canvas/toDataURL.lowercase.unicode-expected.txt: Added.
  • canvas/toDataURL.lowercase.unicode.html: Added.
  • canvas/toDataURL.nocontext-expected.txt: Added.
  • canvas/toDataURL.nocontext.html: Added.
  • canvas/toDataURL.png-expected.txt: Added.
  • canvas/toDataURL.png.complexcolours.html: Added.
  • canvas/toDataURL.png.html: Added.
  • canvas/toDataURL.png.primarycolours.html: Added.
  • canvas/toDataURL.unrecognised-expected.txt: Added.
  • canvas/toDataURL.unrecognised.html: Added.
  • canvas/toDataURL.zerosize-expected.txt: Added.
  • canvas/toDataURL.zerosize.html: Added.
  • canvas/type.delete-expected.txt: Added.
  • canvas/type.delete.html: Added.
  • canvas/type.exists-expected.txt: Added.
  • canvas/type.exists.html: Added.
  • canvas/type.extend-expected.txt: Added.
  • canvas/type.extend.html: Added.
  • canvas/type.name-expected.txt: Added.
  • canvas/type.name.html: Added.
  • canvas/type.prototype-expected.txt: Added.
  • canvas/type.prototype.html: Added.
  • canvas/type.replace-expected.txt: Added.
  • canvas/type.replace.html: Added.
  • common: Added.
  • common/canvas-frame.css: Added.
  • common/canvas-index.css: Added.
  • common/canvas-spec.css: Added.
  • common/canvas-tests.css: Added.
  • common/canvas-tests.js: Added.
  • common/domtestcase.js: Added.
  • common/media.js: Added.
  • common/text-plain.txt: Added.
3:38 PM Changeset in webkit [176143] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Update some artwork for the legacy WebKit action menu
https://bugs.webkit.org/show_bug.cgi?id=138758
<rdar://problem/18989840>

Reviewed by Simon Fraser.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _createActionMenuItemForTag:]):

3:31 PM Changeset in webkit [176142] by dbates@webkit.org
  • 5 edits
    2 adds in trunk/Source

[iOS] NSFileManager and QuickLook SPI not available in public SDK
https://bugs.webkit.org/show_bug.cgi?id=138742

Reviewed by Pratik Solanki.

Source/WebCore:

Add a SPI wrapper headers {NSFileManager, QuickLook}SPI.h that forward declares
NSFileManager and QuickLook SPI, respectively, and use these header instead of
including private headers of Foundation and QuickLook directly.

  • WebCore.xcodeproj/project.pbxproj: Add project and private header QuickLookSPI.h

and NSFileManagerSPI.h, respectively.

  • platform/network/ios/QuickLook.mm: Include headers QuickLookSPI.h and NSFileManagerSPI.h

instead of including headers of QuickLook and Foundation directly.

  • platform/spi/cocoa/NSFileManagerSPI.h: Added.
  • platform/spi/ios/QuickLookSPI.h: Added.

Source/WebKit/mac:

Include header NSFileManagerSPI.h instead of the private header NSFileManager_NSURLExtras.h.

  • WebCoreSupport/WebFrameLoaderClient.mm:
3:06 PM Changeset in webkit [176141] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Application test expectation gardening on WK2.

  • platform/mac-wk2/TestExpectations: Skip two tests that toggle private browsing,

and added a bug number to http/tests/appcache/auth.html.

2:27 PM Changeset in webkit [176140] by dbates@webkit.org
  • 26 edits in trunk/Source

[iOS] CoreGraphics SPI not available in public SDK
https://bugs.webkit.org/show_bug.cgi?id=138709

Reviewed by David Kilzer.

Source/WebCore:

Add a SPI wrapper header called CoreGraphicsSPI.h that forward declares
CoreGraphics SPI and use this header instead of including private headers
of CoreGraphics directly.

  • WebCore.xcodeproj/project.pbxproj: Add WebCore private header CoreGraphicsSPI.h. Also remove header

CGFontUnicodeSupportSPI.h as its functionality has been incorporated into header CoreGraphicsSPI.h.

  • WebCore.vcxproj/WebCore.vcxproj: Add WebCore private header CoreGraphicsSPI.h.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Add directories platform/spi and platform/spi/cg.
  • WebCore.vcxproj/WebCoreCG.props: Add include directory platform/spi/cg.
  • WebCore.vcxproj/copyForwardingHeaders.cmd: Copy WebCore headers from directory platform/spi/cg. This

is necessary because WebCore/platform/graphics/SimpleFontData.h includes CoreGraphicsSPI.h. And
WebCore/platform/graphics/SimpleFontData.h is compiled for the Apple Windows port.

  • platform/graphics/SimpleFontData.h: Move CGFontRenderingStyle declaration and associated enum

from this file to file CoreGraphicsSPI.h and include header CoreGraphicsSPI.h.

  • platform/graphics/cg/BitmapImageCG.cpp: Remove unnecessary #include of header CGContextPrivate.h.
  • platform/graphics/cg/ColorCG.cpp: Include header CoreGraphicsSPI.h instead of including headers

of CoreGraphics directly.

  • platform/graphics/cg/GraphicsContextCG.cpp: Move forward declarations of CoreGraphics functions

from this file to file CoreGraphicsSPI.h and include header CoreGraphicsSPI.h. Also sort the list
of #include directives.

  • platform/graphics/cg/ImageSourceCG.cpp: Include header CoreGraphicsSPI.h instead of including

headers of CoreGraphics directly.

  • platform/graphics/cg/PDFDocumentImage.cpp: Ditto.
  • platform/graphics/cocoa/FontPlatformDataCocoa.mm: Ditto.
  • platform/graphics/ios/FontCacheIOS.mm: Include header CoreGraphicsSPI.h instead of including

header <CoreGraphics/CGFontUnicodeSupport.h> directly.

  • platform/graphics/ios/FontServicesIOS.mm: Include header CoreGraphicsSPI.h instead of including

headers of CoreGraphics directly.

  • platform/graphics/ios/SimpleFontDataIOS.mm: Ditto.
  • platform/graphics/mac/FontMac.mm: Move forward declarations of CoreGraphics functions from this

file to file CoreGraphicsSPI.h and include header CoreGraphicsSPI.h.

  • platform/graphics/mac/GlyphPageTreeNodeMac.cpp: Substitute header CoreGraphicsSPI.h for CGFontUnicodeSupportSPI.h

and remove #include of headers CGFontUnicodeSupport.h (it will be included by CoreGraphicsSPI.h).

  • platform/graphics/mac/SimpleFontDataMac.mm: Move forward declarations of CoreGraphics functions

from this file to file CoreGraphicsSPI.h and include header CoreGraphicsSPI.h.

  • platform/ios/LegacyTileGrid.mm: Include header CoreGraphicsSPI.h instead of including headers of

CoreGraphics directly.

  • platform/ios/wak/WKGraphics.h: Remove #include of header CoreGraphicsPrivate.h and forward declare

CGFontAntialiasingStyle Additionally, declare WKCompositeOperation as an alias of int and use this
data type instead of CGCompositeOperation (SPI). This approach lets us keep the definition of
CGCompositeOperation in file CoreGraphicsSPI.h, where all the other definitions/forward declarations
of CoreGraphics data types reside, as opposed to defining it in this file.

  • platform/ios/wak/WKGraphics.mm:

(WKRectFillUsingOperation): Cast data type WKCompositeOperation to CGCompositeOperation and added
compile-time assert to ensure that the size of WKCompositeOperation is identical to the size of CGCompositeOperation.

  • platform/graphics/cg/ImageSourceCG.cpp: Move CGImageCachingFlags declaration, associated enum, and

forward declaration of CGImageSetCachingFlags() from this file to file CoreGraphicsSPI.h and include
header CoreGraphicsSPI.h.
(WebCore::ImageSource::createFrameAtIndex): Fix incorrect comment.

  • platform/spi/cocoa/CGFontUnicodeSupportSPI.h: Removed; moved its functionality into header CoreGraphicsSPI.h.
  • platform/spi/cg/CoreGraphicsSPI.h: Added.

(CGFloatMin):

  • rendering/RenderThemeIOS.mm: Substitute header CoreGraphics.h for CGPathPrivate.h as we no longer

make use of any functionality from CGPathPrivate.h in this file. The functionality we used from
CGPathPrivate.h, including CGPathAddRoundedRect(), has been moved to the public API header, CGPath.h,
which is included from header CoreGraphics.h.

Source/WebKit/ios:

Include header CoreGraphicsSPI.h instead of the private header CGFloat.h.

  • WebCoreSupport/WebFixedPositionContent.mm:

Source/WebKit2:

Include header CoreGraphicsSPI.h instead of including headers of
CoreGraphics directly.

  • UIProcess/API/Cocoa/WKWebView.mm:
  • UIProcess/ios/WKScrollView.mm:
1:55 PM Changeset in webkit [176139] by dino@apple.com
  • 3 edits
    2 adds in trunk

[Media] Timeline scrubber not updating as the video plays
https://bugs.webkit.org/show_bug.cgi?id=138717
<rdar://problem/18957509>

Reviewed by Jer Noble.

Source/WebCore:

There is some confusing logic that determines
whether or not the controls are hidden, and a
slight error caused timelines to not advance unless
they were explicitly showing.

The fix was to be a bit more liberal in deciding
when the controls are showing, but still cautious
enough to stop up causing repaints when things
are hidden.

Test: media/media-controls-timeline-updates.html

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.controlsAreHidden): We only need
to check if we're an audio element or explicitly
hidden.
(Controller.prototype.showControls): Explicitly call
updateTime.

LayoutTests:

Tests that an inline video will actually advance the
timeline scrubber if it plays momentarily.

Eric wrote all the hard bits here. I just changed
a few lines to test if the timeline had moved from 0.
Unfortunately we can't rely on the timeline value
being identical to the currentTime of the media element,
because we only move the timeline when we get events.

  • media/media-controls-timeline-updates.html: Added.
1:37 PM Changeset in webkit [176138] by bshafiei@apple.com
  • 4 edits in tags/Safari-601.1.9.1/Source/JavaScriptCore

Merged r176087.

1:33 PM Changeset in webkit [176137] by timothy_horton@apple.com
  • 9 edits
    4 adds
    2 deletes in trunk/Source

Move DataDetectors scanning code to WebCore
https://bugs.webkit.org/show_bug.cgi?id=138731
<rdar://problem/18877535>

Reviewed by Anders Carlsson.

Move DataDetectors scanning code to WebCore, so that both WebKits can use it.

  • Shared/TextIndicator.cpp:

(WebKit::TextIndicator::createWithRange):
Move createWithRange in from WebPageMac's textIndicatorForRange.

(WebKit::TextIndicator::createWithSelectionInFrame):

  • Shared/TextIndicator.h:
  • WebProcess/WebPage/WebFrame.cpp:

(WebKit::WebFrame::createSelectionSnapshot):

  • WebProcess/WebPage/WebFrame.h:

Constify some things.

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::performActionMenuHitTestAtLocation):
Avoid using the DD result if it didn't come with a non-null Range.
Make use of detectItemAroundHitTestResult and TextIndicator::createWithRange.

(WebKit::scanForDataDetectedItems): Deleted.
(WebKit::textIndicatorForRange): Deleted.
Moved these two to other places.

  • WebCore.exp.in:

Export our new function.

  • WebCore.xcodeproj/project.pbxproj:

Add DataDetection.{mm, h}
Adjust the project so that editing/mac actually points to editing/mac instead of editing/

  • editing/mac/DictionaryLookup.h:
  • editing/mac/DictionaryLookup.mm:

Swap to PLATFORM(MAC) instead of !PLATFORM(IOS).
Move DictionaryLookup.{mm, h} to editing/mac, where they were in the project but not on disk.

  • editing/mac/DataDetection.h: Added.
  • editing/mac/DataDetection.mm: Added.

(WebCore::DataDetection::detectItemAroundHitTestResult):
Moved from WebKit2.

1:28 PM Changeset in webkit [176136] by mitz@apple.com
  • 12 edits in trunk/Source

<rdar://problem/18978497> Wrong (off-by-1) navigation snapshots shown after a mix of gesture and button back/forward navigation
https://bugs.webkit.org/show_bug.cgi?id=138753

Reviewed by Tim Horton.

Source/WebCore:

Removed a FrameLoaderClient function that no one overrides anymore.

  • loader/FrameLoaderClient.h:

(WebCore::FrameLoaderClient::willChangeCurrentHistoryItem): Deleted.

  • loader/HistoryController.cpp:

(WebCore::HistoryController::setCurrentItem): Removed call to willChangeCurrentHistoryItem.
(WebCore::HistoryController::replaceCurrentItem): Ditto.

Source/WebKit2:

Rather than having the UI process record a snapshot jut before the Web Content process’s
notion of its current back/forward list item changes, have the UI process record a snapshot
right before its own current back/forward list item changes. This ensures that the right
snapshot gets attached to the right item in the UI process.

  • UIProcess/WebBackForwardList.cpp:

(WebKit::WebBackForwardList::addItem): If there is a current item, record a navigation
snapshot of it before making the new item current.
(WebKit::WebBackForwardList::goToItem): If there is a current item, record a navigation
snapshot of it before making another item current.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::willChangeCurrentHistoryItemForMainFrame): Deleted.

  • UIProcess/WebPageProxy.h:
  • UIProcess/WebPageProxy.messages.in: Removed willChangeCurrentHistoryItemForMainFrame

message.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::willChangeCurrentHistoryItem): Deleted.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.h: Removed declaration of

willChangeCurrentHistoryItem override.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::willChangeCurrentHistoryItemForMainFrame): Deleted.

  • WebProcess/WebPage/WebPage.h:
12:44 PM Changeset in webkit [176135] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Do proper teardown for optimized fullscreen
https://bugs.webkit.org/show_bug.cgi?id=138648

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-11-14
Reviewed by Eric Carlson.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(WebVideoFullscreenInterfaceAVKit::invalidate): must do corresponding teardown based on mode.

12:24 PM Changeset in webkit [176134] by mark.lam@apple.com
  • 14 edits in trunk/Source/JavaScriptCore

Reduce amount of cut-and-paste needed for probe mechanism implementations.
<https://webkit.org/b/138671>

Reviewed by Geoffrey Garen.

The existing code requires that each MacroAssembler implementation provide
their own copy of all of the probe implementations even when most of it is
identical. This patch hoists the common parts into AbstractMacroAssembler
(with some minor renaming). Each target specific MacroAssembler now only
need to implement a few target specific methods that are expected by and
documented in AbstractMacroAssembler.h in the ENABLE(MASM_PROBE) section.

In this patch, I also simplified the X86 and X86_64 ports to use the same
port implementation. The ARMv7 probe implementation should not conditionally
exclude the higher FP registers (since the JIT doesn't). Fixed the ARMv7
probe code to include the higher FP registers always.

This is all done in preparation to add printing functionality in JITted code
for debugging.

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::Label::Label):
(JSC::AbstractMacroAssembler::ConvertibleLoadLabel::ConvertibleLoadLabel):
(JSC::AbstractMacroAssembler::DataLabelPtr::DataLabelPtr):
(JSC::AbstractMacroAssembler::DataLabel32::DataLabel32):
(JSC::AbstractMacroAssembler::DataLabelCompact::DataLabelCompact):
(JSC::AbstractMacroAssembler::Jump::link):
(JSC::AbstractMacroAssembler::Jump::linkTo):
(JSC::AbstractMacroAssembler::JumpList::link):
(JSC::AbstractMacroAssembler::JumpList::linkTo):
(JSC::AbstractMacroAssembler::ProbeContext::print):
(JSC::AbstractMacroAssembler::printIndent):
(JSC::AbstractMacroAssembler::printCPU):
(JSC::AbstractMacroAssembler::CachedTempRegister::CachedTempRegister):

  • Except for the 3 printing methods (which are for the probe), the rest are touched simply because we need to add the MacroAssemblerType to the template args. The MacroAssemblerType is used by the abstract probe code to call the few probe methods that need to have CPU specific implementations.
  • assembler/MacroAssemblerARM.cpp:

(JSC::MacroAssemblerARM::printCPURegisters):

  • This was refactored from ProbeContext::dumpCPURegisters() which no longer exists.

(JSC::MacroAssemblerARM::ProbeContext::dumpCPURegisters): Deleted.
(JSC::MacroAssemblerARM::ProbeContext::dump): Deleted.

  • assembler/MacroAssemblerARM.h:
  • assembler/MacroAssemblerARM64.h:
  • assembler/MacroAssemblerARMv7.cpp:

(JSC::MacroAssemblerARMv7::printCPURegisters):

  • This was refactored from ProbeContext::dumpCPURegisters() which no longer exists.

(JSC::MacroAssemblerARMv7::ProbeContext::dumpCPURegisters): Deleted.
(JSC::MacroAssemblerARMv7::ProbeContext::dump): Deleted.

  • assembler/MacroAssemblerARMv7.h:
  • assembler/MacroAssemblerMIPS.h:
  • assembler/MacroAssemblerSH4.h:
  • assembler/MacroAssemblerX86.h:

(JSC::MacroAssemblerX86::trustedImm32FromPtr): Deleted.
(JSC::MacroAssemblerX86::probe): Deleted.

  • assembler/MacroAssemblerX86Common.cpp:

(JSC::MacroAssemblerX86Common::printCPURegisters):

  • This was refactored from ProbeContext::dumpCPURegisters() which no longer exists.

(JSC::MacroAssemblerX86Common::probe):

  • This implementation of probe() is based on the one originally in MacroAssemblerX86_64.h. It is generic and should work for both 32-bit and 64-bit.

(JSC::MacroAssemblerX86Common::ProbeContext::dumpCPURegisters): Deleted.
(JSC::MacroAssemblerX86Common::ProbeContext::dump): Deleted.

  • assembler/MacroAssemblerX86Common.h:
  • assembler/MacroAssemblerX86_64.h:

(JSC::MacroAssemblerX86_64::trustedImm64FromPtr): Deleted.
(JSC::MacroAssemblerX86_64::probe): Deleted.

  • jit/JITStubsARMv7.h:
12:05 PM Changeset in webkit [176133] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

Add some tracing to help investigating <rdar://problem/18905383> [iOS] Crash due to null m_webPageProxyForBackForwardListForCurrentSwipe in ViewGestureController::endSwipeGesture
https://bugs.webkit.org/show_bug.cgi?id=138750

Reviewed by Tim Horton.

Emit trace messages at various points, and log them prior to crashing if the error condition
occurs. Otherwise, clear the trace messages.

  • UIProcess/ios/ViewGestureControllerIOS.mm:

(WebKit::addLogEntry): Helper function that adds a message, including a time stamp and a
backtrace, to m_logEntries.
(WebKit::dumpLogEntries): Helper function that logs everything in m_logEntries.
(WebKit::ViewGestureController::beginSwipeGesture): Add a log entry.
(WebKit::ViewGestureController::endSwipeGesture): If
m_webPageProxyForBackForwardListForCurrentSwipe is null, dump the log entries just before
crashing. Otherwise, clear m_logEntries.
(WebKit::ViewGestureController::willCommitPostSwipeTransitionLayerTree): Add a log entry.
(WebKit::ViewGestureController::removeSwipeSnapshot): Add a log entry.

  • UIProcess/mac/ViewGestureController.h: Defined ENABLE_VIEW_GESTURE_CONTROLLER_TRACING,

and added m_logEntries member variable.

11:25 AM Changeset in webkit [176132] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

WK1: Webpage preview can come up in wrong location
https://bugs.webkit.org/show_bug.cgi?id=138747
-and corresponding-
rdar://problem/18979004

Reviewed by Tim Horton.

Converting to window twice is bad.

  • WebView/WebActionMenuController.mm:

(elementBoundingBoxInWindowCoordinatesFromNode):
(-[WebActionMenuController _quickLookURLFromActionMenu:]):
(elementBoundingBoxFromNode): Deleted.

11:12 AM Changeset in webkit [176131] by Beth Dakin
  • 2 edits in trunk/Source/WebKit2

URLs for some videos are not valid URLs, should not be exposed to action menu
https://bugs.webkit.org/show_bug.cgi?id=138746
-and corresponding-
rdar://problem/18941927

Reviewed by Tim Horton.

If the video cannot be downloaded, that is also an indication that the URL of the
video will not be valid on its own. In these cases, we should share or copy the
main page’s URL.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForVideo]):
(-[WKActionMenuController _copyVideoURL:]):

10:49 AM Changeset in webkit [176130] by bshafiei@apple.com
  • 5 edits in tags/Safari-601.1.9.1/Source

Versioning.

10:47 AM Changeset in webkit [176129] by bshafiei@apple.com
  • 1 copy in tags/Safari-601.1.9.1

New tag.

10:26 AM Changeset in webkit [176128] by ap@apple.com
  • 1 edit in trunk/LayoutTests/ChangeLog

Test that small caps of web fonts works regardless of where the font face is declared
https://bugs.webkit.org/show_bug.cgi?id=138700

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2014-11-14
Reviewed by Alexey Proskuryakov.

  • fast/text/svg-small-caps-expected.html: Added.
  • fast/text/svg-small-caps.html: Added.
10:25 AM Changeset in webkit [176127] by ap@apple.com
  • 4 edits in trunk

Add shortcut macros to Mac TestExpectations
https://bugs.webkit.org/show_bug.cgi?id=138729

Reviewed by Simon Fraser.

  • Scripts/webkitpy/port/mac.py: (MacPort.configuration_specifier_macros):

Add version macros for current OS versions.

10:21 AM Changeset in webkit [176126] by mmaxfield@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Test that small caps of web fonts works regardless of where the font face is declared
https://bugs.webkit.org/show_bug.cgi?id=138700

Reviewed by Alexey Proskuryakov.

  • fast/text/svg-small-caps-expected.html: Added.
  • fast/text/svg-small-caps.html: Added.
10:00 AM Changeset in webkit [176125] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Many (most?) transitions tests are very flaky, frequently failing all at once
https://bugs.webkit.org/show_bug.cgi?id=137883

Add more affected tests to unbreak EWS.

8:53 AM Changeset in webkit [176124] by hyatt@apple.com
  • 5 edits
    2 adds in trunk

Table rows repaint entire table when their background color changes.
https://bugs.webkit.org/show_bug.cgi?id=26662

Reviewed by Simon Fraser.

Added fast/repaint/table-row-repaint.html

Source/WebCore:

  • rendering/RenderTableCell.h:
  • rendering/RenderTableRow.cpp:

(WebCore::RenderTableRow::clippedOverflowRectForRepaint):
Improve table row's function to unite with the cell rects that can possibly
have the the row's background color painted behind them.

LayoutTests:

  • fast/repaint/table-row-repaint-expected.txt: Added.
  • fast/repaint/table-row-repaint.html: Added.
  • platform/mac/accessibility/table-detection-expected.txt:
8:20 AM Changeset in webkit [176123] by Alan Bujtas
  • 6 edits
    1 add in trunk/Source/WebCore

Simple line layout: Move simple line layout RunResolver and LineResolver implementation to SimpleLineLayoutResolver.cpp
https://bugs.webkit.org/show_bug.cgi?id=138704

Reviewed by Antti Koivisto.

No change in functionality.

  • CMakeLists.txt:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/SimpleLineLayoutResolver.cpp: Added.

(WebCore::SimpleLineLayout::RunResolver::Run::Run):
(WebCore::SimpleLineLayout::RunResolver::Run::rect):
(WebCore::SimpleLineLayout::RunResolver::Run::baseline):
(WebCore::SimpleLineLayout::RunResolver::Run::text):
(WebCore::SimpleLineLayout::RunResolver::Iterator::Iterator):
(WebCore::SimpleLineLayout::RunResolver::Iterator::advance):
(WebCore::SimpleLineLayout::RunResolver::Iterator::advanceLines):
(WebCore::SimpleLineLayout::RunResolver::RunResolver):
(WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight):
(WebCore::SimpleLineLayout::RunResolver::rangeForRect):
(WebCore::SimpleLineLayout::LineResolver::Iterator::Iterator):
(WebCore::SimpleLineLayout::LineResolver::Iterator::operator*):
(WebCore::SimpleLineLayout::LineResolver::LineResolver):

  • rendering/SimpleLineLayoutResolver.h:

(WebCore::SimpleLineLayout::RunResolver::Run::Run): Deleted.
(WebCore::SimpleLineLayout::RunResolver::Run::rect): Deleted.
(WebCore::SimpleLineLayout::RunResolver::Run::baseline): Deleted.
(WebCore::SimpleLineLayout::RunResolver::Run::text): Deleted.
(WebCore::SimpleLineLayout::RunResolver::Iterator::Iterator): Deleted.
(WebCore::SimpleLineLayout::RunResolver::Iterator::advance): Deleted.
(WebCore::SimpleLineLayout::RunResolver::Iterator::advanceLines): Deleted.
(WebCore::SimpleLineLayout::RunResolver::RunResolver): Deleted.
(WebCore::SimpleLineLayout::RunResolver::lineIndexForHeight): Deleted.
(WebCore::SimpleLineLayout::RunResolver::rangeForRect): Deleted.
(WebCore::SimpleLineLayout::LineResolver::Iterator::Iterator): Deleted.
(WebCore::SimpleLineLayout::LineResolver::Iterator::operator*): Deleted.
(WebCore::SimpleLineLayout::LineResolver::LineResolver): Deleted.

3:27 AM Changeset in webkit [176122] by commit-queue@webkit.org
  • 10 edits in trunk

AX: Improve AccessibilityTableCell isColumnHeaderCell function.
https://bugs.webkit.org/show_bug.cgi?id=138423

Patch by Andrzej Badowski <a.badowski@samsung.com> on 2014-11-14
Reviewed by Chris Fleizach.

Source/WebCore:

<th> cell in the zero row should be column header.

New tests are not necessary.

  • accessibility/AccessibilityTableCell.cpp:

(WebCore::AccessibilityTableCell::isColumnHeaderCell):

LayoutTests:

Files of expected type are adapted to changes in the code of the function.

  • accessibility/table-cells-roles-expected.txt:
  • platform/efl/accessibility/table-attributes-expected.txt:
  • platform/efl/accessibility/table-cells-expected.txt:
  • platform/gtk/accessibility/table-attributes-expected.txt:
  • platform/gtk/accessibility/table-cells-expected.txt:
  • platform/mac/accessibility/table-attributes-expected.txt:
  • platform/mac/accessibility/table-cells-expected.txt:
2:33 AM Changeset in webkit [176121] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK+ gardening. Skip http/tests/appcache/auth.html after r175776.

Appcache manifest is still downloaded in the WebProcess.

  • platform/gtk/TestExpectations:
1:21 AM Changeset in webkit [176120] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[SOUP] Use GMainLoopSource for request timeout in ResourceHandle
https://bugs.webkit.org/show_bug.cgi?id=138695

Reviewed by Sergio Villar Senin.

We are currently using soup_timeout_add() that simply creates a
GSource and attaches it to the given context. Using
GMainLoopSource we simplify the code and fix any potential problem
of converting the double value into milliseconds.

  • platform/network/ResourceHandleInternal.h:
  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::cleanupSoupRequestOperation):
(WebCore::ResourceHandle::sendPendingRequest):
(WebCore::ResourceHandle::platformSetDefersLoading):
(WebCore::requestTimeoutCallback): Deleted.

12:49 AM Changeset in webkit [176119] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[SOUP] Encode/Decode allowCookies in ResourceRequest
https://bugs.webkit.org/show_bug.cgi?id=138730

Reviewed by Sergio Villar Senin.

We are not sending this information to the network process, making
cookies always available. Fixes
http/tests/xmlhttprequest/cross-origin-no-authorization.html when
network process is enabled.

  • Shared/soup/WebCoreArgumentCodersSoup.cpp:

(IPC::ArgumentCoder<ResourceRequest>::encodePlatformData):
(IPC::ArgumentCoder<ResourceRequest>::decodePlatformData):

12:43 AM Changeset in webkit [176118] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix for the GTK+ port using Clang.

  • UIProcess/gtk/RedirectedXCompositeWindow.h: Include the <functional>

header for the use of std::function<>.

12:21 AM Changeset in webkit [176117] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Remove some ineffective entries.

  • platform/mac/TestExpectations: Remove entries that were meant to override other

ones, but don't.

Note: See TracTimeline for information about the timeline view.