Timeline



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.

Nov 13, 2014:

10:57 PM Changeset in webkit [176116] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Two WKWebView internal methods are implemented in a category
https://bugs.webkit.org/show_bug.cgi?id=138728

Reviewed by Tim HOrton.

Moved the implementations from the category to the class.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView _ignoresNonWheelMouseEvents]):
(-[WKWebView _setIgnoresNonWheelMouseEvents:]):

8:26 PM Changeset in webkit [176115] by timothy_horton@apple.com
  • 8 edits in trunk/Source/WebCore

[mac] Keep around more decoded image data, since it's purgeable
https://bugs.webkit.org/show_bug.cgi?id=125273
<rdar://problem/13205438>

Reviewed by Simon Fraser.

No new tests, just an optimization.

Instead of throwing away decoded image data eagerly, allow the operating
system to manage the memory via the standard purgeability mechanism,
where it can.

This improves the performance on some pathological cases (extremely large
animated GIFs) by up to 8x.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::pruneLiveResourcesToSize):
Don't prune live resources' decoded data if it is purgeable.

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::destroyDecodedDataIfNecessary):
Don't eagerly throw away decoded image data if it's purgeable.

  • loader/cache/CachedImage.h:
  • loader/cache/CachedResource.h:

(WebCore::CachedResource::decodedDataIsPurgeable):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.h:

(WebCore::Image::decodedDataIsPurgeable):

6:53 PM Changeset in webkit [176114] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Addressing post-review comment
https://bugs.webkit.org/show_bug.cgi?id=138633

  • platform/spi/cg/CoreGraphicsSPI.h:
6:45 PM Changeset in webkit [176113] by psolanki@apple.com
  • 185 edits in trunk/LayoutTests

Rebaseline iOS layout tests
https://bugs.webkit.org/show_bug.cgi?id=138721

Reviewed by Simon Fraser.

Rebaseline many of the failures in compositing tests.

  • platform/ios-simulator/compositing/absolute-inside-out-of-view-fixed-expected.txt:
  • platform/ios-simulator/compositing/backing/backface-visibility-flip-expected.txt:
  • platform/ios-simulator/compositing/backing/backface-visibility-in-3dtransformed-expected.txt:
  • platform/ios-simulator/compositing/backing/border-radius-no-backing-expected.txt:
  • platform/ios-simulator/compositing/backing/child-layer-no-backing-expected.txt:
  • platform/ios-simulator/compositing/backing/filter-no-backing-expected.txt:
  • platform/ios-simulator/compositing/backing/inline-block-no-backing-expected.txt:
  • platform/ios-simulator/compositing/backing/masked-child-no-backing-expected.txt:
  • platform/ios-simulator/compositing/backing/no-backing-for-clip-expected.txt:
  • platform/ios-simulator/compositing/backing/no-backing-for-clip-overhang-expected.txt:
  • platform/ios-simulator/compositing/backing/no-backing-for-clip-overlap-expected.txt:
  • platform/ios-simulator/compositing/backing/no-backing-for-perspective-expected.txt:
  • platform/ios-simulator/compositing/backing/replaced-child-no-backing-expected.txt:
  • platform/ios-simulator/compositing/backing/whitespace-nodes-no-backing-expected.txt:
  • platform/ios-simulator/compositing/bounds-in-flipped-writing-mode-expected.txt:
  • platform/ios-simulator/compositing/clip-child-by-non-stacking-ancestor-expected.txt:
  • platform/ios-simulator/compositing/columns/ancestor-clipped-in-paginated-expected.txt:
  • platform/ios-simulator/compositing/columns/clipped-in-paginated-expected.txt:
  • platform/ios-simulator/compositing/columns/composited-columns-expected.txt:
  • platform/ios-simulator/compositing/columns/composited-columns-vertical-rl-expected.txt:
  • platform/ios-simulator/compositing/columns/composited-in-paginated-expected.txt:
  • platform/ios-simulator/compositing/columns/composited-in-paginated-rl-expected.txt:
  • platform/ios-simulator/compositing/columns/composited-in-paginated-writing-mode-rl-expected.txt:
  • platform/ios-simulator/compositing/columns/composited-lr-paginated-repaint-expected.txt:
  • platform/ios-simulator/compositing/columns/composited-nested-columns-expected.txt:
  • platform/ios-simulator/compositing/columns/composited-rl-paginated-repaint-expected.txt:
  • platform/ios-simulator/compositing/columns/hittest-composited-in-paginated-expected.txt:
  • platform/ios-simulator/compositing/columns/rotated-in-paginated-expected.txt:
  • platform/ios-simulator/compositing/columns/untransformed-composited-in-paginated-expected.txt:
  • platform/ios-simulator/compositing/contents-opaque/background-clip-expected.txt:
  • platform/ios-simulator/compositing/contents-opaque/background-color-expected.txt:
  • platform/ios-simulator/compositing/contents-opaque/body-background-painted-expected.txt:
  • platform/ios-simulator/compositing/contents-opaque/body-background-skipped-expected.txt:
  • platform/ios-simulator/compositing/contents-opaque/control-layer-expected.txt:
  • platform/ios-simulator/compositing/contents-opaque/filter-expected.txt:
  • platform/ios-simulator/compositing/contents-opaque/hidden-with-visible-child-expected.txt:
  • platform/ios-simulator/compositing/contents-opaque/hidden-with-visible-text-expected.txt:
  • platform/ios-simulator/compositing/contents-opaque/layer-opacity-expected.txt:
  • platform/ios-simulator/compositing/contents-opaque/layer-transform-expected.txt:
  • platform/ios-simulator/compositing/contents-opaque/overflow-hidden-child-layers-expected.txt:
  • platform/ios-simulator/compositing/contents-opaque/visibility-hidden-expected.txt:
  • platform/ios-simulator/compositing/contents-scale/animating-expected.txt:
  • platform/ios-simulator/compositing/contents-scale/rounded-contents-scale-expected.txt:
  • platform/ios-simulator/compositing/contents-scale/scaled-ancestor-expected.txt:
  • platform/ios-simulator/compositing/contents-scale/simple-scale-expected.txt:
  • platform/ios-simulator/compositing/contents-scale/z-translate-expected.txt:
  • platform/ios-simulator/compositing/filters/sw-layer-overlaps-hw-shadow-expected.txt:
  • platform/ios-simulator/compositing/filters/sw-nested-shadow-overlaps-hw-nested-shadow-expected.txt:
  • platform/ios-simulator/compositing/filters/sw-shadow-overlaps-hw-layer-expected.txt:
  • platform/ios-simulator/compositing/filters/sw-shadow-overlaps-hw-shadow-expected.txt:
  • platform/ios-simulator/compositing/fixed-image-loading-expected.txt:
  • platform/ios-simulator/compositing/geometry/ancestor-overflow-change-expected.txt:
  • platform/ios-simulator/compositing/geometry/bounds-clipped-composited-child-expected.txt:
  • platform/ios-simulator/compositing/geometry/bounds-ignores-hidden-composited-descendant-expected.txt:
  • platform/ios-simulator/compositing/geometry/bounds-ignores-hidden-dynamic-expected.txt:
  • platform/ios-simulator/compositing/geometry/bounds-ignores-hidden-dynamic-negzindex-expected.txt:
  • platform/ios-simulator/compositing/geometry/bounds-ignores-hidden-expected.txt:
  • platform/ios-simulator/compositing/geometry/clip-expected.txt:
  • platform/ios-simulator/compositing/geometry/clip-inside-expected.txt:
  • platform/ios-simulator/compositing/geometry/composited-in-columns-expected.txt:
  • platform/ios-simulator/compositing/geometry/fixed-position-composited-switch-expected.txt:
  • platform/ios-simulator/compositing/geometry/flipped-writing-mode-expected.txt:
  • platform/ios-simulator/compositing/geometry/foreground-layer-expected.txt:
  • platform/ios-simulator/compositing/geometry/layer-due-to-layer-children-deep-switch-expected.txt:
  • platform/ios-simulator/compositing/geometry/layer-due-to-layer-children-switch-expected.txt:
  • platform/ios-simulator/compositing/geometry/limit-layer-bounds-fixed-expected.txt:
  • platform/ios-simulator/compositing/geometry/limit-layer-bounds-fixed-positioned-expected.txt:
  • platform/ios-simulator/compositing/geometry/limit-layer-bounds-overflow-root-expected.txt:
  • platform/ios-simulator/compositing/geometry/limit-layer-bounds-positioned-expected.txt:
  • platform/ios-simulator/compositing/geometry/limit-layer-bounds-positioned-transition-expected.txt:
  • platform/ios-simulator/compositing/geometry/limit-layer-bounds-transformed-expected.txt:
  • platform/ios-simulator/compositing/geometry/limit-layer-bounds-transformed-overflow-expected.txt:
  • platform/ios-simulator/compositing/geometry/negative-text-indent-with-overflow-hidden-layer-expected.txt:
  • platform/ios-simulator/compositing/geometry/preserve-3d-switching-expected.txt:
  • platform/ios-simulator/compositing/geometry/vertical-scroll-composited-expected.txt:
  • platform/ios-simulator/compositing/iframes/become-composited-nested-iframes-expected.txt:
  • platform/ios-simulator/compositing/iframes/become-overlapped-iframe-expected.txt:
  • platform/ios-simulator/compositing/iframes/composited-parent-iframe-expected.txt:
  • platform/ios-simulator/compositing/iframes/connect-compositing-iframe-delayed-expected.txt:
  • platform/ios-simulator/compositing/iframes/connect-compositing-iframe-expected.txt:
  • platform/ios-simulator/compositing/iframes/connect-compositing-iframe2-expected.txt:
  • platform/ios-simulator/compositing/iframes/connect-compositing-iframe3-expected.txt:
  • platform/ios-simulator/compositing/iframes/enter-compositing-iframe-expected.txt:
  • platform/ios-simulator/compositing/iframes/iframe-resize-expected.txt:
  • platform/ios-simulator/compositing/iframes/iframe-size-from-zero-expected.txt:
  • platform/ios-simulator/compositing/iframes/iframe-size-to-zero-expected.txt: Progression.
  • platform/ios-simulator/compositing/iframes/iframe-src-change-expected.txt: Progression.
  • platform/ios-simulator/compositing/iframes/invisible-nested-iframe-hide-expected.txt:
  • platform/ios-simulator/compositing/iframes/leave-compositing-iframe-expected.txt:
  • platform/ios-simulator/compositing/iframes/overlapped-iframe-expected.txt:
  • platform/ios-simulator/compositing/iframes/overlapped-iframe-iframe-expected.txt:
  • platform/ios-simulator/compositing/iframes/overlapped-nested-iframes-expected.txt:
  • platform/ios-simulator/compositing/iframes/page-cache-layer-tree-expected.txt:
  • platform/ios-simulator/compositing/iframes/resizer-expected.txt:
  • platform/ios-simulator/compositing/iframes/scrolling-iframe-expected.txt:
  • platform/ios-simulator/compositing/images/clip-on-directly-composited-image-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/animation-overlap-with-children-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/fixed-position-and-transform-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/fixed-position-change-out-of-view-in-view-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/fixed-position-out-of-view-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/fixed-position-out-of-view-scaled-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/fixed-position-out-of-view-scaled-scroll-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/fixed-position-transformed-into-view-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/fixed-position-under-transform-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/no-compositing-for-fixed-position-under-transform-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/no-compositing-for-preserve-3d-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/no-compositing-for-sticky-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/overflow-scroll-overlap-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/overlap-child-layer-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/overlap-clipping-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/overlap-transformed-3d-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/overlap-transformed-and-clipped-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/overlap-transformed-layer-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/overlap-transformed-preserved-3d-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/overlap-transforms-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/rotate3d-overlap-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/scroll-partial-update-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/stacking-context-overlap-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/stacking-context-overlap-nested-expected.txt:
  • platform/ios-simulator/compositing/layer-creation/translatez-overlap-expected.txt:
  • platform/ios-simulator/compositing/masks/mask-layer-size-expected.txt:
  • platform/ios-simulator/compositing/overflow-trumps-transform-style-expected.txt:
  • platform/ios-simulator/compositing/overflow/automatically-opt-into-composited-scrolling-expected.txt: Progression.
  • platform/ios-simulator/compositing/overflow/clip-descendents-expected.txt:
  • platform/ios-simulator/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
  • platform/ios-simulator/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
  • platform/ios-simulator/compositing/overflow/content-gains-scrollbars-expected.txt:
  • platform/ios-simulator/compositing/overflow/content-loses-scrollbars-expected.txt:
  • platform/ios-simulator/compositing/overflow/overflow-auto-with-touch-expected.txt:
  • platform/ios-simulator/compositing/overflow/overflow-auto-with-touch-toggle-expected.txt:
  • platform/ios-simulator/compositing/overflow/overflow-overlay-with-touch-expected.txt:
  • platform/ios-simulator/compositing/overflow/overflow-scrollbar-layer-positions-expected.txt:
  • platform/ios-simulator/compositing/overflow/overflow-scrollbar-layers-expected.txt:
  • platform/ios-simulator/compositing/overflow/resize-painting-expected.txt:
  • platform/ios-simulator/compositing/regions/fixed-in-named-flow-clip-descendant-expected.txt:
  • platform/ios-simulator/compositing/regions/fixed-in-named-flow-expected.txt:
  • platform/ios-simulator/compositing/regions/fixed-in-named-flow-from-abs-in-named-flow-expected.txt:
  • platform/ios-simulator/compositing/regions/fixed-in-named-flow-from-outflow-expected.txt:
  • platform/ios-simulator/compositing/regions/fixed-in-named-flow-got-transformed-parent-expected.txt:
  • platform/ios-simulator/compositing/regions/fixed-in-named-flow-lost-transformed-parent-expected.txt:
  • platform/ios-simulator/compositing/regions/fixed-in-named-flow-overlap-composited-expected.txt:
  • platform/ios-simulator/compositing/regions/fixed-in-named-flow-transformed-parent-expected.txt:
  • platform/ios-simulator/compositing/regions/fixed-transformed-in-named-flow-expected.txt:
  • platform/ios-simulator/compositing/repaint/absolute-painted-into-composited-ancestor-expected.txt:
  • platform/ios-simulator/compositing/repaint/become-overlay-composited-layer-expected.txt:
  • platform/ios-simulator/compositing/repaint/fixed-background-scroll-expected.txt:
  • platform/ios-simulator/compositing/repaint/invalidations-on-composited-layers-expected.txt:
  • platform/ios-simulator/compositing/repaint/positioned-movement-expected.txt:
  • platform/ios-simulator/compositing/repaint/repaint-on-layer-grouping-change-expected.txt:
  • platform/ios-simulator/compositing/repaint/resize-repaint-expected.txt:
  • platform/ios-simulator/compositing/rtl/rtl-absolute-expected.txt:
  • platform/ios-simulator/compositing/rtl/rtl-absolute-overflow-expected.txt:
  • platform/ios-simulator/compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
  • platform/ios-simulator/compositing/rtl/rtl-fixed-expected.txt:
  • platform/ios-simulator/compositing/rtl/rtl-fixed-overflow-expected.txt:
  • platform/ios-simulator/compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
  • platform/ios-simulator/compositing/rtl/rtl-iframe-absolute-expected.txt:
  • platform/ios-simulator/compositing/rtl/rtl-iframe-absolute-overflow-expected.txt:
  • platform/ios-simulator/compositing/rtl/rtl-iframe-fixed-expected.txt:
  • platform/ios-simulator/compositing/rtl/rtl-iframe-relative-expected.txt:
  • platform/ios-simulator/compositing/rtl/rtl-relative-expected.txt:
  • platform/ios-simulator/compositing/scrolling/touch-scroll-to-clip-expected.txt:
  • platform/ios-simulator/compositing/tiled-layers-hidpi-expected.txt:
  • platform/ios-simulator/compositing/tiling/backface-preserve-3d-tiled-expected.txt:
  • platform/ios-simulator/compositing/tiling/crash-reparent-tiled-layer-expected.txt:
  • platform/ios-simulator/compositing/tiling/huge-layer-add-remove-child-expected.txt:
  • platform/ios-simulator/compositing/tiling/huge-layer-img-expected.txt:
  • platform/ios-simulator/compositing/tiling/huge-layer-with-layer-children-expected.txt:
  • platform/ios-simulator/compositing/tiling/huge-layer-with-layer-children-resize-expected.txt:
  • platform/ios-simulator/compositing/tiling/rotated-tiled-clamped-expected.txt:
  • platform/ios-simulator/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
  • platform/ios-simulator/compositing/tiling/tile-cache-zoomed-expected.txt:
  • platform/ios-simulator/compositing/tiling/tiled-layer-resize-expected.txt:
  • platform/ios-simulator/compositing/visibility/layer-visible-content-expected.txt:
  • platform/ios-simulator/compositing/visibility/visibility-image-layers-dynamic-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/2d-transformed-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/3d-transform-style-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/3d-transformed-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/clipped-by-viewport-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/clipped-visible-rect-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/flipped-preserve-3d-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/iframe-and-layers-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/nested-transform-expected.txt:
  • platform/ios-simulator/compositing/visible-rect/scrolled-expected.txt:
6:19 PM Changeset in webkit [176112] by mmaxfield@apple.com
  • 23 edits
    1 copy
    1 move
    1 add in trunk/Source

Move FontMac and FontCacheMac off of WKSI
https://bugs.webkit.org/show_bug.cgi?id=138633

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2014-11-13
Reviewed by NOBODY (OOPS!).

Source/WebCore:

No new tests because there is no behavior change.

  • WebCore.exp.in:
  • WebCore.order:
  • WebCore.vcxproj/WebCoreCG.props:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/ios/FontCacheIOS.mm:

(WebCore::FontCache::platformInit):

  • platform/graphics/mac/FontCacheMac.mm:

(WebCore::FontCache::platformInit):
(WebCore::FontCache::systemFallbackForCharacters):

  • platform/graphics/mac/FontMac.mm:

(WebCore::isIntegral):
(WebCore::setCGFontRenderingMode):
(WebCore::Font::drawGlyphs):

  • platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::FontCache::platformInit):

  • platform/ios/WebCoreSystemInterfaceIOS.mm:
  • platform/mac/WebCoreSystemInterface.h:
  • platform/mac/WebCoreSystemInterface.mm:
  • platform/spi/cocoa/CoreGraphicsSPI.h: Copied from Source/WebCore/platform/spi/cocoa/CGFontUnicodeSupportSPI.h.
  • platform/spi/cocoa/CoreTextSPI.h:
  • platform/spi/mac/NSFontSPI.h: Renamed from Source/WebCore/platform/spi/cocoa/CGFontUnicodeSupportSPI.h.

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • WebKit.order:

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

  • mac/WebKit2.order:
6:16 PM Changeset in webkit [176111] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Move 'image-resolution' CSS property to the new StyleBuilder
https://bugs.webkit.org/show_bug.cgi?id=138715

Reviewed by Andreas Kling.

Move 'image-resolution' 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::ApplyPropertyImageResolution::applyInheritValue): Deleted.
(WebCore::ApplyPropertyImageResolution::applyInitialValue): Deleted.
(WebCore::ApplyPropertyImageResolution::applyValue): Deleted.
(WebCore::ApplyPropertyImageResolution::createHandler): Deleted.

  • css/StyleBuilderCustom.h:

(WebCore::StyleBuilderFunctions::applyInheritImageResolution):
(WebCore::StyleBuilderFunctions::applyInitialImageResolution):
(WebCore::StyleBuilderFunctions::applyValueImageResolution):

5:15 PM Changeset in webkit [176110] by akling@apple.com
  • 8 edits in trunk/Source/WebCore

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

needs build love (Requested by kling on #webkit).

Reverted changeset:

"[mac] Keep around more decoded image data, since it's
purgeable"
https://bugs.webkit.org/show_bug.cgi?id=125273
http://trac.webkit.org/changeset/176106

Patch by Commit Queue <commit-queue@webkit.org> on 2014-11-13

5:07 PM Changeset in webkit [176109] by msaboff@apple.com
  • 21 edits in trunk/Source/JavaScriptCore

Add scope operand to op_new_func* byte codes
https://bugs.webkit.org/show_bug.cgi?id=138707

Reviewed by Mark Lam.

Added scope operand to op_new_func and op_new_func_expr to replace the implicit use
of exec->scope().

  • bytecode/BytecodeList.json: Increased size of op_new_func & op_new_func_expr bytecodes.
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode): Added scope operand to dump output.

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::emitNewFunctionInternal):
(JSC::BytecodeGenerator::emitNewFunctionExpression):
Emit scope operand.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):
Added new scope source nodes to NewFunction, NewFunctionExpression & NewFunctionNoCheck.

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileNewFunctionNoCheck):
(JSC::DFG::SpeculativeJIT::compileNewFunctionExpression):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):
Use scope children when making new function JIT_Operation calls. Use JSScope* value instead of
exec->scope().

  • dfg/DFGOperations.h:
  • dfg/DFGOperations.cpp:
  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::callOperation):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_new_func):
(JSC::JIT::emit_op_new_func_exp):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:

Added new Jsc JIT_Operation parameter type for JSScope* values. Created declarations and
definitions for new JIT_Operations with Jsc parameters. Use the JSScope* parameters in lieu
of exec->scope() in operationNewFunction().
Removed comment for unused Jsa (JSLexicalEnvironment*) JIT_Operation parameter type.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
Use the scope operand instead of exec->scope().

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:

Changed the operand indecies for added scope operand.

4:46 PM Changeset in webkit [176108] by Beth Dakin
  • 21 edits in trunk/Source

Context menus should not offer the "Download video" option for videos that cannot
be downloaded
https://bugs.webkit.org/show_bug.cgi?id=138530
-and corresponding-
rdar://problem/18919130

Patch by Eric Carlson <eric.carlson@apple.com> on 2014-11-13
Reviewed by Tim Horton.

Source/WebCore:

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::populate):

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::canSaveMediaData):
(WebCore::MediaPlayer::supportsSave): Deleted.

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::supportsFullscreen):
(WebCore::MediaPlayerPrivateInterface::canSaveMediaData):
(WebCore::MediaPlayerPrivateInterface::supportsSave): Deleted.

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:

(WebCore::MediaPlayerPrivateAVFoundation::resolvedURL):
(WebCore::MediaPlayerPrivateAVFoundation::canSaveMediaData):

  • platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::resolvedURL):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

(WebCore::MediaPlayerPrivateGStreamer::canSaveMediaData):

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.h:
  • platform/graphics/mac/MediaPlayerPrivateQTKit.mm:

(WebCore::MediaPlayerPrivateQTKit::canSaveMediaData):

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::isDownloadableMedia):

Source/WebKit2:

Expose isDownloadableMedia() to the InjectedBundleHitTestResult.

  • WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:

(WKBundleHitTestResultIsDownloadableMedia):

  • WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
  • WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:

(WebKit::InjectedBundleHitTestResult::isDownloadableMedia):

  • WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
4:37 PM Changeset in webkit [176107] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/mac

WK1: Clean up WebActionMenuController to use the _hitTestResult ivar
https://bugs.webkit.org/show_bug.cgi?id=138716
-and corresponding-
rdar://problem/18977222

Reviewed by Tim Horton.

It’s not necessary to use the WebElementDictionary for so many things now that we
are caching the HitTestResult. We should just use the HitTestResult.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController prepareForMenu:withEvent:]):
(-[WebActionMenuController _openURLFromActionMenu:]):
(-[WebActionMenuController _addToReadingListFromActionMenu:]):
(elementBoundingBoxFromNode):
(-[WebActionMenuController _quickLookURLFromActionMenu:]):
(-[WebActionMenuController _defaultMenuItemsForLink]):
(-[WebActionMenuController _defaultMenuItemsForImage]):
(-[WebActionMenuController _defaultMenuItemsForVideo]):
(-[WebActionMenuController _defaultMenuItemsForText]):
(-[WebActionMenuController _defaultMenuItemsForEditableText]):
(-[WebActionMenuController _defaultMenuItemsForEditableTextWithSuggestions]):
(-[WebActionMenuController _defaultMenuItemsForWhitespaceInEditableArea]):
(-[WebActionMenuController _createActionMenuItemForTag:]):
(-[WebActionMenuController _defaultMenuItems]):
(-[WebActionMenuController _elementBoundingBoxFromDOMElement:]): Deleted.
(-[WebActionMenuController _defaultMenuItemsForLink:]): Deleted.
(-[WebActionMenuController _defaultMenuItemsForImage:]): Deleted.
(-[WebActionMenuController _defaultMenuItemsForVideo:]): Deleted.
(-[WebActionMenuController _defaultMenuItemsForText:]): Deleted.
(-[WebActionMenuController _defaultMenuItemsForEditableText:]): Deleted.
(-[WebActionMenuController _defaultMenuItemsForEditableTextWithSuggestions:]): Deleted.
(-[WebActionMenuController _defaultMenuItemsForWhitespaceInEditableArea:]): Deleted.
(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]): Deleted.
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]): Deleted.

4:36 PM Changeset in webkit [176106] by akling@apple.com
  • 8 edits in trunk/Source/WebCore

[mac] Keep around more decoded image data, since it's purgeable
<https://webkit.org/b/125273>
<rdar://problem/13205438>

Patch by Tim Horton <timothy_horton@apple.com> on 2014-11-02
Reviewed by Simon Fraser and Andreas Kling.

No new tests, just an optimization.

Instead of throwing away decoded image data eagerly, allow the operating
system to manage the memory via the standard purgeability mechanism,
where it can.

This improves the performance on some pathological cases (extremely large
animated GIFs) by up to 8x.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::pruneLiveResourcesToSize):
Don't prune live resources' decoded data if it is purgeable.

  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::destroyDecodedDataIfNecessary):
Don't eagerly throw away decoded image data if it's purgeable.

  • loader/cache/CachedImage.h:
  • loader/cache/CachedResource.h:

(WebCore::CachedResource::decodedDataIsPurgeable):

  • platform/graphics/BitmapImage.h:
  • platform/graphics/Image.h:

(WebCore::Image::decodedDataIsPurgeable):

4:34 PM Changeset in webkit [176105] by dbates@webkit.org
  • 12 edits in trunk/Source

[iOS] NSGeometry data types are not available in the public SDK
https://bugs.webkit.org/show_bug.cgi?id=137536

Reviewed by David Kilzer.

Source/WebCore:

Towards building iOS WebKit with the public iOS SDK, define NSGeometry
data types and functions in terms of CGGeometry data types and functions
because the former is SPI on iOS.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm: Include

header WAKAppKitStubs.h when building for iOS. Otherwise, include header NSGeometry.h.

  • platform/graphics/ca/mac/PlatformCALayerMac.mm: Remove import of private header NSGeometry.h.

We will use the NSGeometry data types defined in WAKAppKitStubs.h, which is implicitly imported
by header WAKWindow.h.

  • platform/graphics/mac/MediaPlayerProxy.h: Substitute WAKAppKitStubs.h for NSGeometry.h.
  • platform/ios/PlatformEventFactoryIOS.mm: Ditto. Also fix up style issues with #import directives.
  • platform/ios/WebEvent.mm: Ditto.
  • platform/ios/wak/WAKAppKitStubs.h: Define typedefs and macros that map NSGeometry data types

and functions to the analogous CGGeometry data types and functions. Also, remove #ifdef OBJC-
guard as the existing content in WAKAppKitStubs.h assumes that this file will only be included
in an Objective-C/Objective-C++ file.

  • platform/ios/wak/WAKView.h: Import header WAKAppKitStubs.h instead of defining macros for some

NSGeometry data types.

Source/WebKit/mac:

Substitute header WAKAppKitStubs.h for NSGeometry.h as the latter is a
private header.

  • DOM/WebDOMOperationsPrivate.h:

Source/WebKit2:

Substitute header WAKAppKitStubs.h for NSGeometry.h as the latter is a
private header.

  • Shared/ios/NativeWebTouchEventIOS.mm:
4:33 PM Changeset in webkit [176104] by ap@apple.com
  • 2 edits in trunk/Tools

https://bugs.webkit.org/show_bug.cgi?id=138628
A patch that doesn't apply is stuck in commit queue

Rubber-stamped by David Kilzer.

This also hopefully fixes other issues:

  • a patch that has cq+ flag set by a non-committer kills commit queue;
  • EWS never reports failing tests, and keeps spinning instead.
  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py:

(Bugzilla.set_flag_on_attachment):
(Bugzilla.obsolete_attachment):
Apply the fix from r174797 to more places.

4:10 PM Changeset in webkit [176103] by bshafiei@apple.com
  • 7 edits in tags/Safari-601.1.9/Source/WebCore

Merged r176090. rdar://problem/18963531

3:50 PM Changeset in webkit [176102] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Versioning.

3:47 PM Changeset in webkit [176101] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.3.6

New Tag.

3:43 PM Changeset in webkit [176100] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Change X86/64 JIT probes to save/restore xmm regs as double instead of m128. [Follow up]
<https://webkit.org/b/138708>

Reviewed by Michael Saboff.

Removed a stale comment and a now unnecessary #include.

  • assembler/X86Assembler.h:
3:30 PM Changeset in webkit [176099] by Beth Dakin
  • 3 edits in trunk/Source/WebKit/mac

WK1: Support default actions for video
https://bugs.webkit.org/show_bug.cgi?id=138713
-and corresponding-
rdar://problem/18877520

Reviewed by Tim Horton.

Call setToNonShadowAncestor() for media HitTestResults.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController performHitTestAtPoint:]):

Default items and actions.
(-[WebActionMenuController _defaultMenuItemsForVideo:]):
(-[WebActionMenuController _copyVideoURL:]):
(-[WebActionMenuController _saveVideoToDownloads:]):
(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):

  • WebView/WebUIDelegatePrivate.h:
3:30 PM Changeset in webkit [176098] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

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

Broke the build (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/176087

3:27 PM Changeset in webkit [176097] by Simon Fraser
  • 11 edits in trunk/Source

[WK2] Fire a layout milestone on session restore based on render tree size
https://bugs.webkit.org/show_bug.cgi?id=138711
rdar://problem/16033854

Reviewed by Anders Carlsson.
Source/WebCore:

New layout milestone for session restore based on render tree size. Only used
in WK2 at present.

  • page/LayoutMilestones.h:

Source/WebKit2:

Add a session-restore layout milestone which fires after restoring a session,
when the render tree size reaches 50% of the size saved in the session state.

  • Shared/SessionState.h: Add renderTreeSize.
  • UIProcess/API/Cocoa/WKWebView.mm:

(layoutMilestones): Translate from SPI to WebCore milestones.

  • UIProcess/API/Cocoa/WKWebViewPrivate.h: New iOS-only milestone, er, event.
  • UIProcess/Cocoa/NavigationState.mm:

(WebKit::renderingProgressEvents): Translate from WebCore milestone to rendering event.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy): Init stuff.
(WebKit::WebPageProxy::sessionState):
(WebKit::WebPageProxy::restoreFromSessionState): Zero out the target render tree size,
then get it out of session state and set the flag to say that we haven't reached it yet.
(WebKit::WebPageProxy::listenForLayoutMilestones): Set a flag to know that we should fire
the milestone. The other milestones get sent directly to WebCore.

  • UIProcess/WebPageProxy.h:
  • UIProcess/ios/WebPageProxyIOS.mm:

(WebKit::exceedsRenderTreeSizeSizeThreshold): Return true when we've reached 50%.
(WebKit::WebPageProxy::didCommitLayerTree): Fire the milestone when appropriate.

  • UIProcess/mac/LegacySessionStateCoding.cpp: Rev the session state data for iOS

(where doing so is less disruptive). Standardize some CFString constants.
(WebKit::encodeSessionHistory): Wrap for legibility.
(WebKit::encodeLegacySessionState): Make a CFNumber for render tree size, and store
it in the root dictionary.
(WebKit::decodeBackForwardTreeNode): Move a comment to match another similar block.
(WebKit::decodeLegacySessionState): Decode render tree size and store it.

3:22 PM Changeset in webkit [176096] by mitz@apple.com
  • 4 edits in trunk

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:]):

3:00 PM Changeset in webkit [176095] by mark.lam@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

Change X86/64 JIT probes to save/restore xmm regs as double instead of m128.
<https://webkit.org/b/138708>

Reviewed by Michael Saboff.

The JIT code only uses the xmm regs as double registers. This patch changes
the storage types of the FP registers in X86Assembler.h to double instead of
m128, and updates the X86 and X86_64 JIT probe implementations accordingly.

Also made some minor cosmetic changes in the output of the probe dump functions.

  • assembler/MacroAssemblerX86Common.cpp:

(JSC::MacroAssemblerX86Common::ProbeContext::dumpCPURegisters):

  • assembler/X86Assembler.h:
  • jit/JITStubsX86.h:
  • jit/JITStubsX86Common.h:
  • jit/JITStubsX86_64.h:
2:59 PM Changeset in webkit [176094] by mmaxfield@apple.com
  • 2 edits in trunk/LayoutTests

Update expected .png for platform/mac/editing/input/devanagari-ligature.html
https://bugs.webkit.org/show_bug.cgi?id=138712

This doesn't actually fix the test, it just updates the image.

Reviewed by Zalan Bujtas.

  • platform/mac/editing/input/devanagari-ligature-expected.png:
2:51 PM Changeset in webkit [176093] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit/mac

WK1: Update icon for Add to Reading List
https://bugs.webkit.org/show_bug.cgi?id=138710
<rdar://problem/18975774>

Reviewed by Beth Dakin.

  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]):
Use the right icon, matching WebKit2.

2:15 PM WebKitGTK/2.6.x edited by jdiggs@igalia.com
Adding a proposed merge for the next stable release (diff)
2:14 PM Changeset in webkit [176092] by matthew_hanson@apple.com
  • 10 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176086. rdar://problems/18947156

2:11 PM Changeset in webkit [176091] by jdiggs@igalia.com
  • 5 edits
    2 adds in trunk

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.
2:10 PM Changeset in webkit [176090] by eric.carlson@apple.com
  • 7 edits in trunk/Source/WebCore

[iOS] update optimized fullscreen media controls artwork
https://bugs.webkit.org/show_bug.cgi?id=138705

Reviewed by Dean Jackson.

  • Modules/mediacontrols/MediaControlsHost.cpp:

(WebCore::MediaControlsHost::mediaUIImageData): Remove one button.

  • Modules/mediacontrols/MediaControlsHost.idl:
  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.controlsAreHidden): Add parentheses to fix the logic.

  • Modules/mediacontrols/mediaControlsiOS.js:

(ControllerIOS.prototype.shouldHaveStartPlaybackButton): The big play button should not be

visible during playback.

(ControllerIOS.prototype.createControls): No longer necessary to insert style dynamically,
(ControllerIOS.prototype.setPlaying): Call the base class first so "isPlaying" is set before

calling updateControls, which calls shouldHaveStartPlaybackButton.

  • platform/ios/WebCoreSystemInterfaceIOS.h: Update constants.
  • rendering/RenderThemeIOS.mm:

(WebCore::RenderThemeIOS::mediaControlsStyleSheet): Add button style to the media controls sheet.

1:57 PM Changeset in webkit [176089] by psolanki@apple.com
  • 1 edit
    1 move in trunk/LayoutTests

Rename ios-sim to ios-sim-deprecated.

The results here are historical and new results should go into ios-simulator
directory. Eventually, we should get rid of this directory completely.

Rubber-stamped by Simon Fraser.

  • platform/ios-sim: Removed.
  • platform/ios-sim-deprecated: Copied from LayoutTests/platform/ios-sim.
1:55 PM Changeset in webkit [176088] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Update the "combineModules" script to handel more LLVM metadata.
https://bugs.webkit.org/show_bug.cgi?id=138514

Patch by Juergen Ributzka <juergen@apple.com> on 2014-11-13
Reviewed by Filip Pizlo.

  • ReducedFTL/combineModules.rb:
1:54 PM Changeset in webkit [176087] 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-13
Reviewed by Geoffrey Garen.

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

(initializeAndGetJSCLLVMAPI):

1:18 PM Changeset in webkit [176086] by timothy_horton@apple.com
  • 10 edits in trunk/Source/WebKit2

Adjust the WKBundlePageOverlay Data Detectors SPI
https://bugs.webkit.org/show_bug.cgi?id=138685
<rdar://problem/18947156>

Reviewed by Anders Carlsson.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
Forward DDActionContext callbacks to the Web process.

  • WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
  • WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
  • WebProcess/WebPage/WebPageOverlay.cpp:
  • WebProcess/WebPage/WebPageOverlay.h:

Add four DataDetectors-related WebKit2-only page overlay callbacks:

(WebKit::WebPageOverlay::actionContextForResultAtPoint):
Called during the action menu hit test; clients can reply with a DDActionContext
and a DOM range, and WebKit will treat that result and range as if it had
detected it itself, building the action menu and showing the yellow highlight as usual.

(WebKit::WebPageOverlay::dataDetectorsPresentedUI):
(WebKit::WebPageOverlay::dataDetectorsChangedUI):
(WebKit::WebPageOverlay::dataDetectorsHidUI):
These correspond to the DDActionContext callbacks, and can be used by clients
to show/hide corresponding UI while DataDetectors in the UI process is presenting UI.

(WebKit::WebPageOverlay::prepareForActionMenu): Deleted.
Get rid of prepareForActionMenu, as nobody ever used it.

  • WebProcess/WebPage/WebPage.cpp:

Add WebPageOverlay.h so that we can build, because the destructor lives here.

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

(WebKit::WebPage::performActionMenuHitTestAtLocation):
Give all of the WebPageOverlays the first shot at data detection; if none of them
reply with a valid DDActionContext/DOM range, we'll go ahead and do our normal detection.

(WebKit::WebPage::dataDetectorsPresentedUI):
(WebKit::WebPage::dataDetectorsChangedUI):
(WebKit::WebPage::dataDetectorsHidUI):
Forward these along to the active WebPageOverlay.

1:16 PM Changeset in webkit [176085] by Csaba Osztrogonác
  • 2 edits
    1 delete in trunk

Remove Source/Platform cruft
https://bugs.webkit.org/show_bug.cgi?id=138658

Reviewed by Anders Carlsson.

  • CMakeLists.txt:
  • Source/Platform: Removed.
1:00 PM Changeset in webkit [176084] by benjamin@webkit.org
  • 8 edits
    18 adds in trunk

Implement the matching for :nth-last-child(An+B of selector-list)
https://bugs.webkit.org/show_bug.cgi?id=138650

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-11-13
Reviewed by Andreas Kling.

Source/WebCore:

Matching is trivial based on the existing CSS4 infrastructure.

The tricky part is style invalidation. In the cases of the old :nth-last-child()
and :nth-last-of-type(), we were using the flag ChildrenAffectedByBackwardPositionalRules.

The problem with ChildrenAffectedByBackwardPositionalRules is that it only invalidate
subtrees when nodes are being added or removed. It is a valuable optimization by itself
since tree updates are less common than property updates.

For the case of property updates, I have added the new flag "ChildrenAffectedByPropertyBasedBackwardPositionalRules".
It pretty much work the same way but invalidates subtree on style recalc.

Tests: fast/css/nth-child-and-nth-last-child.html

fast/css/nth-last-child-of-classname.html
fast/css/nth-last-child-of-complex-selector.html
fast/css/nth-last-child-of-compound-selector.html
fast/css/nth-last-child-of-style-sharing-1.html
fast/css/nth-last-child-of-style-sharing-2.html
fast/css/nth-last-child-of-style-update-optimization.html
fast/css/nth-last-child-of-tagname.html
fast/selectors/nth-last-child-of-class-style-update.html

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOne):

  • dom/Element.cpp:

(WebCore::Element::setChildrenAffectedByPropertyBasedBackwardPositionalRules):
(WebCore::Element::hasFlagsSetDuringStylingOfChildren):
(WebCore::Element::rareDataChildrenAffectedByPropertyBasedBackwardPositionalRules):

  • dom/Element.h:

(WebCore::Element::childrenAffectedByPropertyBasedBackwardPositionalRules):

  • dom/ElementRareData.h:

(WebCore::ElementRareData::childrenAffectedByPropertyBasedBackwardPositionalRules):
(WebCore::ElementRareData::setChildrenAffectedByPropertyBasedBackwardPositionalRules):
(WebCore::ElementRareData::ElementRareData):
(WebCore::ElementRareData::resetDynamicRestyleObservations):

  • dom/Node.cpp:

(WebCore::Node::updateAncestorsForStyleRecalc):
(WebCore::Node::setNeedsStyleRecalc):
(WebCore::markAncestorsWithChildNeedsStyleRecalc): Deleted.

  • dom/Node.h:

Unlike the other marking steps, ChildrenAffectedByPropertyBasedBackwardPositionalRules can only really
affect one level (because we don't have a parent-selectors). It is quite easy to mark large
trees with ChildrenAffectedByPropertyBasedBackwardPositionalRules by using a selector list that is a bit
too generic. When that happen, we must be careful not invalidating everything, just the affected subtree.

LayoutTests:

  • fast/selectors/nth-last-child-of-class-style-update-expected.txt: Added.
  • fast/selectors/nth-last-child-of-class-style-update.html: Added.

Verify simple cases of style update.

  • fast/css/nth-last-child-of-style-update-optimization-expected.txt: Added.
  • fast/css/nth-last-child-of-style-update-optimization.html: Added.

Verify that style invalidation stays reasonable.

  • fast/css/nth-last-child-of-style-sharing-1-expected.html: Added.
  • fast/css/nth-last-child-of-style-sharing-1.html: Added.
  • fast/css/nth-last-child-of-style-sharing-2-expected.html: Added.
  • fast/css/nth-last-child-of-style-sharing-2.html: Added.

Check that style sharing is disabled for elements matching :nth-last-child().

  • fast/css/nth-child-and-nth-last-child-expected.html: Added.
  • fast/css/nth-child-and-nth-last-child.html: Added.

Test uniqueness testing by combining :nth-child() and :nth-last-child().

  • fast/css/nth-last-child-of-classname-expected.html: Added.
  • fast/css/nth-last-child-of-classname.html: Added.
  • fast/css/nth-last-child-of-complex-selector-expected.html: Added.
  • fast/css/nth-last-child-of-complex-selector.html: Added.
  • fast/css/nth-last-child-of-compound-selector-expected.html: Added.
  • fast/css/nth-last-child-of-compound-selector.html: Added.
  • fast/css/nth-last-child-of-tagname-expected.html: Added.
  • fast/css/nth-last-child-of-tagname.html: Added.

Test matching, those are the "last-child" counterpart of the existing
"nth-child-of" tests.

12:43 PM Changeset in webkit [176083] by benjamin@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

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:15 PM Changeset in webkit [176082] by jhoneycutt@apple.com
  • 3 edits
    2 adds in trunk

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.
11:57 AM Changeset in webkit [176081] by Andres Gomez
  • 1 edit
    1 add in trunk/Source/WebInspectorUI

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

Reviewed by Timothy Hatcher.

Add another free icon for the Web Inspector in GTK+.

  • UserInterface/Images/gtk/NavigationItemProbes.svg: Added.
11:36 AM Changeset in webkit [176080] by timothy@apple.com
  • 3 edits
    1 add
    1 delete in trunk/Source/WebInspectorUI

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.

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

Generate put_by_id for bracket assignment with constant string subscript.
<https://webkit.org/b/138702>

Reviewed by Geoffrey Garen.

Transform of?=x to o.f=x when generating bytecode. This allows our JIT
to inline-cache those accesses instead of always dropping out to C++.

Just like the get_by_id transformations, this gets a bunch of use on
real-web content (and Speedometer) but little/none on raw JS benchmarks.

  • bytecompiler/NodesCodegen.cpp:

(JSC::AssignBracketNode::emitBytecode):

11:07 AM Changeset in webkit [176078] by mmaxfield@apple.com
  • 4 edits in trunk

Allow constructing a base PassRef with a derived Ref
https://bugs.webkit.org/show_bug.cgi?id=138701

Reviewed by Andreas Kling

Source/WTF:

  • wtf/PassRef.h:

(WTF::PassRef<T>::PassRef):

Tools:

  • TestWebKitAPI/Tests/WTF/Ref.cpp:

(TestWebKitAPI::passWithPassRef):
(TestWebKitAPI::passWithPassRefPtr):
(TestWebKitAPI::TEST):

10:57 AM WebKitGTK/2.6.x edited by jdiggs@igalia.com
Adding a proposed merge for the next stable release (diff)
10:52 AM Changeset in webkit [176077] by Alan Bujtas
  • 1 edit
    1 add in trunk/PerformanceTests

Simple line layout: Add performance test case to measure line layout speed of monolithic text content.
https://bugs.webkit.org/show_bug.cgi?id=138699

Reviewed by Antti Koivisto.

  • Layout/line-layout-long-long-text.html: Added.
10:20 AM Changeset in webkit [176076] by jdiggs@igalia.com
  • 3 edits
    2 adds in trunk

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.
9:33 AM Changeset in webkit [176075] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Simplify expectations for fullscreen/full-screen-iframe-legacy.html, as the more
specific variant doesn't work due to <https://bugs.webkit.org/show_bug.cgi?id=138698>.

  • platform/mac/TestExpectations:
9:26 AM Changeset in webkit [176074] by ap@apple.com
  • 2 edits in trunk/LayoutTests

fast/events/overflow-scroll-fake-mouse-move.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=138697

  • platform/mac-wk1/TestExpectations: Mark it as such.
9:21 AM Changeset in webkit [176073] by Alan Bujtas
  • 2 edits in trunk/LayoutTests

Unreviewed WK2 subpixel gardening.

  • platform/mac-wk2/TestExpectations:
8:43 AM Changeset in webkit [176072] by mark.lam@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Create canonical lists of registers used by both the Assemblers and the JIT probes.
<https://webkit.org/b/138681>

Reviewed by Filip Pizlo.

  • assembler/ARMAssembler.h:
  • assembler/ARMv7Assembler.h:
  • assembler/X86Assembler.h:
  • The FP register storage type is still defined as m128 because the JIT probe code still expects that amount of storage to be available. Will change this to double when the JIT probe code is updated accordingly in a later patch.
4:50 AM Changeset in webkit [176071] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[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):

12:53 AM Changeset in webkit [176070] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebCore

[EFL] Unexpected crashes in layout test after r175953
https://bugs.webkit.org/show_bug.cgi?id=138652

Reviewed by Csaba Osztrogonác.

In r175953, it set reusableNodeIndex value with m_partCache's size(). It causes
out of bound index crash because the reusableNodeIndex is Vector object.

No new test. This patch is to fix broken tests related to widgets on EFL port.

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::getThemePartFromCache): Need to set reusableNodeIndex with "size() - 1".

12:21 AM Changeset in webkit [176069] by Chris Dumez
  • 6 edits
    2 adds in trunk

Lazily create HTMLInputElement's inputType and shadow subtree
https://bugs.webkit.org/show_bug.cgi?id=138524

Reviewed by Ryosuke Niwa.

Source/WebCore:

When an HTMLInputElement was created by the parser, we would first call
HTMLInputElement::create(), then call Element::parserSetAttributes() on
the constructed input. With the previous implementation, this was a bit
inefficient because HTMLInputElement::create() would construct a
TextInputType inputType (as this is the default) as well as its
corresponding shadow subtree. Then, parserSetAttributes() would often
set the |type| attribute and would need to destroy this input type as
well as its subtree if the new |type| is not 'text', to create a new
inputType / shadow subtree of the right type. The profiler showed that
this was fairly expensive.

To improve this, this patch delays the inputType / shadow subtree
creation when the HTMLInputElement is constructed by the parser, until
the attributes are actually set by the parser. This way, we directly
create an inputType / shadow subtree of the right type.

I see a 1.4% speed up on speedometer (73.95 -> 75.0).

Test: fast/dom/HTMLInputElement/border-attribute-crash.html

  • dom/Element.cpp:

(WebCore::Element::parserSetAttributes):
(WebCore::Element::parserDidSetAttributes):

  • dom/Element.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::HTMLInputElement):
(WebCore::HTMLInputElement::create):
(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::runPostTypeUpdateTasks):
(WebCore::HTMLInputElement::initializeInputType):
(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::parserDidSetAttributes):
(WebCore::HTMLInputElement::finishParsingChildren):

  • html/HTMLInputElement.h:

LayoutTests:

Add a test case to make sure we don't crash when parsing an <input>
Element that has a |border| attribute as first attribute. This is what
was happening with the first version of this patch that landed in
r175852. When attributeChanged() was called for the |border| attribute
HTMLInputElement::isPresentationAttribute() would get called before
m_inputType is initialized, and "name == borderAttr && isImageButton()"
would crash because isImageButton() dereferences m_inputType.

  • fast/dom/HTMLInputElement/border-attribute-crash-expected.txt: Added.
  • fast/dom/HTMLInputElement/border-attribute-crash.html: Added.

Nov 12, 2014:

11:59 PM Changeset in webkit [176068] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening. Skip more test failing after r175776.

  • platform/gtk/TestExpectations:
11:36 PM Changeset in webkit [176067] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebCore

Merged r175268. rdar://problems/18883890

11:07 PM Changeset in webkit [176066] by ryuan.choi@navercorp.com
  • 5 edits in trunk/Source

[EFL] Fix the build with EFL 1.12
https://bugs.webkit.org/show_bug.cgi?id=138245

Reviewed by Gyuyoung Kim.

Source/WebKit2:

  • UIProcess/API/efl/EwkView.cpp:

First, modified to use Evas_GL raw pointer instead of UniquePtrEfl because
Evas_GL.h can't be included in UniquePtrEfl.h
It should be moved into EvasGLContext because WebKit/EFL use only one Evas_GL.
Second, provided the version of GLES in Evas_GL_Config not to break build with
EFL 1.12
(EwkView::EwkView):
(EwkView::~EwkView):
(EwkView::displayTimerFired):
(EwkView::createGLSurface):

  • UIProcess/API/efl/EwkView.h:

Source/WTF:

  • wtf/efl/UniquePtrEfl.h:

Removed Evas_GL.h from UniquePtrEfl.h, which is commonly included, because
it should not be included with official GL headers.

7:28 PM Changeset in webkit [176065] by Chris Dumez
  • 12 edits in trunk/Source

Have DOMTimer deal with more ScriptExecutionContext references
https://bugs.webkit.org/show_bug.cgi?id=138679

Reviewed by Andreas Kling.

Source/WebCore:

Have DOMTimer deal with more ScriptExecutionContext references instead
of pointers, to make it clear the script execution context cannot be
null.

No new tests, no behavior change.

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::execute):
(WebCore::ScheduledAction::executeFunctionInContext):

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

(WebCore::DOMTimerFireState::DOMTimerFireState):
(WebCore::NestedTimersMap::instanceForContext):
(WebCore::DOMTimer::DOMTimer):
(WebCore::DOMTimer::install):
(WebCore::DOMTimer::removeById):
(WebCore::DOMTimer::fired):

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

(WebCore::DOMWindow::setTimeout):
(WebCore::DOMWindow::clearTimeout):
(WebCore::DOMWindow::setInterval):
(WebCore::DOMWindow::clearInterval):

  • page/SuspendableTimer.cpp:

(WebCore::SuspendableTimer::SuspendableTimer):

  • page/SuspendableTimer.h:
  • workers/WorkerGlobalScope.cpp:

(WebCore::WorkerGlobalScope::setTimeout):
(WebCore::WorkerGlobalScope::clearTimeout):
(WebCore::WorkerGlobalScope::setInterval):
(WebCore::WorkerGlobalScope::clearInterval):

Source/WebKit/win:

Update WindowCloseTimer to deal with ScriptExecutionContext references
instead of pointers as it subclasses SuspendableTimer and its
constructor takes a ScriptExecutionContext& in argument.

  • WebView.cpp:

(WindowCloseTimer::create):
(WindowCloseTimer::WindowCloseTimer):

7:19 PM Changeset in webkit [176064] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebCore

Merged r176047. rdar://problems/18785434

7:19 PM Changeset in webkit [176063] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.3-branch/Source

Merged r176041. rdar://problems/18785434

6:52 PM Changeset in webkit [176062] by matthew_hanson@apple.com
  • 9 edits in branches/safari-600.3-branch/Source

Merged r175966. rdar://problems/18866308

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

Merged r176038. rdar://problems/18960409

6:31 PM Changeset in webkit [176060] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.3-branch/Source

Merged r176037. rdar://problems/18869900

6:30 PM Changeset in webkit [176059] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r176027. rdar://problems/18909111

6:30 PM Changeset in webkit [176058] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.3-branch/Source

Merged r175992. rdar://problems/18741567

6:11 PM Changeset in webkit [176057] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175985. rdar://problems/18947400

6:11 PM Changeset in webkit [176056] by matthew_hanson@apple.com
  • 3 edits
    1 delete in branches/safari-600.3-branch/Source/WebKit2

Merged r175983. rdar://problems/18871984

6:11 PM Changeset in webkit [176055] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175973. rdar://problems/18855914

6:11 PM Changeset in webkit [176054] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.3-branch/Source/WebKit2

Merged r175969. rdar://problems/18932770

5:58 PM Changeset in webkit [176053] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merged r175964. rdar://problems/18867627

5:52 PM Changeset in webkit [176052] by matthew_hanson@apple.com
  • 4 edits in branches/safari-600.3-branch/Source

Merged r175963. rdar://problems/18932770

5:45 PM Changeset in webkit [176051] by matthew_hanson@apple.com
  • 6 edits in branches/safari-600.3-branch/Source

Merged r175962. rdar://problem/18815343

5:23 PM Changeset in webkit [176050] by dino@apple.com
  • 12 edits
    4 adds in trunk

Support unprefixed animation property names
https://bugs.webkit.org/show_bug.cgi?id=138678
<rdar://problem/18943059>

Reviewed by Simon Fraser.

Source/WebCore:

Step 1 of 3 in unprefixing CSS animations: handling the
property names and values.

Unlike other unprefixing, where we use an alias that
effectively removes the prefixed values from the code,
for animations we need to keep the old values around so that
existing content will not break (e.g. computed style).

During testing I noticed that we didn't handle the
(relatively) new animation-direction values of
"reverse" and "alternate-reverse" when querying
computed style.

Tests: animations/unprefixed-properties.html

animations/unprefixed-shorthand.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue): Handle the unprefixed
values, but also get animation direction to produce the correct
results when "reverse" and "alternate-reverse" is specified.

  • css/CSSParser.cpp: Handle the new values. If necessary, pass a flag

around indicating whether it is prefixed or unprefixed.
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseAnimationShorthand): Use the flag to decide
which of the forms we're going to check.
(WebCore::CSSParser::parseAnimationProperty):

  • css/CSSParser.h:
  • css/CSSProperty.h:

(WebCore::prefixingVariantForPropertyId): Add prefixing/unprefixing variants for
all the animation values, and clean up the code a bit.

  • css/CSSPropertyNames.in: Add new properties.
  • css/DeprecatedStyleBuilder.cpp:

(WebCore::DeprecatedStyleBuilder::DeprecatedStyleBuilder): We need handlers for the
unprefixed forms. This should move to the new StyleBuilder soon.

  • css/StyleProperties.cpp: Handle new values.

(WebCore::StyleProperties::getPropertyValue):
(WebCore::StyleProperties::asText):

  • css/StylePropertyShorthand.cpp:

(WebCore::animationShorthand):
(WebCore::animationShorthandForParsing): Decide which list of properties to use.
(WebCore::shorthandForProperty):
(WebCore::matchingShorthandsForLonghand):
(WebCore::webkitAnimationShorthandForParsing): Deleted.

  • css/StylePropertyShorthand.h:
  • css/StyleResolver.cpp: Since the new properties come before "background" in

alphabetical order, they are earlier in the CSSPropertyNames.in file, and thus
we need to update the call sites that think CSSPropertyBackground is the first
property.
(WebCore::StyleResolver::styleForKeyframe): Replace CSSPropertyBackground with CSSPropertyAnimation.
(WebCore::StyleResolver::styleForPage):
(WebCore::StyleResolver::applyMatchedProperties):
(WebCore::StyleResolver::applyProperty):

LayoutTests:

Tests for unprefixed parsing and calculation of animation
properties. Fun fact, this is the first test we have
for the computed style of all animation-direction values.

  • animations/unprefixed-properties-expected.txt: Added.
  • animations/unprefixed-properties.html: Added.
  • animations/unprefixed-shorthand-expected.txt: Added.
  • animations/unprefixed-shorthand.html: Added.
4:27 PM Changeset in webkit [176049] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebInspectorUI

Web Inspector: Reduce work when activating multiple agents sequentially
https://bugs.webkit.org/show_bug.cgi?id=138677

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2014-11-12
Reviewed by Timothy Hatcher.

  • UserInterface/Base/Main.js:

(WebInspector.activateExtraDomains):

  • UserInterface/Controllers/FrameResourceManager.js:

(WebInspector.FrameResourceManager.prototype._extraDomainsActivated):

  • UserInterface/Controllers/StorageManager.js:

(WebInspector.StorageManager.prototype._extraDomainsActivated):

3:51 PM Changeset in webkit [176048] by ap@apple.com
  • 10 edits
    8 copies
    1 add in trunk/LayoutTests

<rdar://problem/15864185> Syrah: platform/mac/editing/attributed-string tests are failing

Land Yosemite results, and remove the tests from TestExpectations.

  • platform/mac-mavericks/platform/mac/editing/attributed-string: Added.
  • platform/mac-mavericks/platform/mac/editing/attributed-string/anchor-element-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/anchor-element-expected.txt.
  • platform/mac-mavericks/platform/mac/editing/attributed-string/basic-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/basic-expected.txt.
  • platform/mac-mavericks/platform/mac/editing/attributed-string/font-size-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/font-size-expected.txt.
  • platform/mac-mavericks/platform/mac/editing/attributed-string/font-style-variant-effect-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/font-style-variant-effect-expected.txt.
  • platform/mac-mavericks/platform/mac/editing/attributed-string/font-weight-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/font-weight-expected.txt.
  • platform/mac-mavericks/platform/mac/editing/attributed-string/letter-spacing-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/letter-spacing-expected.txt.
  • platform/mac-mavericks/platform/mac/editing/attributed-string/text-decorations-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/text-decorations-expected.txt.
  • platform/mac-mavericks/platform/mac/editing/attributed-string/vertical-align-expected.txt: Copied from LayoutTests/platform/mac/editing/attributed-string/vertical-align-expected.txt.
  • platform/mac/editing/attributed-string/anchor-element-expected.txt:
  • platform/mac/editing/attributed-string/basic-expected.txt:
  • platform/mac/editing/attributed-string/font-size-expected.txt:
  • platform/mac/editing/attributed-string/font-style-variant-effect-expected.txt:
  • platform/mac/editing/attributed-string/font-weight-expected.txt:
  • platform/mac/editing/attributed-string/letter-spacing-expected.txt:
  • platform/mac/editing/attributed-string/text-decorations-expected.txt:
  • platform/mac/editing/attributed-string/vertical-align-expected.txt:
  • platform/mac/TestExpectations:
3:46 PM Changeset in webkit [176047] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Speculative build fix.

  • WebCore.exp.in:
3:33 PM Changeset in webkit [176046] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Make Mac media-source test expectations future compatible
https://bugs.webkit.org/show_bug.cgi?id=138674

Roll it out, it somehow broke Mountain Liona and Mavericks.

  • platform/mac/TestExpectations:
3:25 PM Changeset in webkit [176045] by adachan@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix the iOS build.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::pageMutedStateDidChange):

3:24 PM Changeset in webkit [176044] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Fix the iOS build.

  • platform/spi/mac/DataDetectorsSPI.h:

It's likely that more of this file should be compiled out on iOS,
but this is all we need to build.

3:22 PM Changeset in webkit [176043] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

media/video-play-pause-exception.html is flakey.
https://bugs.webkit.org/show_bug.cgi?id=138670

Reviewed by Alexey Proskuryakov.

Work around race-condition behavior in HTMLMediaElement's resource selection algorithm.

  • media/video-play-pause-exception.html:
2:55 PM Changeset in webkit [176042] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Make Mac media-source test expectations future compatible
https://bugs.webkit.org/show_bug.cgi?id=138674

Reviewed by Eric Carlson.

  • platform/mac/TestExpectations:
2:52 PM Changeset in webkit [176041] by Beth Dakin
  • 6 edits in trunk/Source

WK1: Support default actions for images
https://bugs.webkit.org/show_bug.cgi?id=138668
-and corresponding-
rdar://problem/18785434

Reviewed by Tim Horton.

Source/WebCore:

Symbol needed for copying image.

  • WebCore.exp.in:

Source/WebKit/mac:

  • WebView/WebActionMenuController.h:
  • WebView/WebActionMenuController.mm:

(-[WebActionMenuController didCloseMenu:withEvent:]):
(-[WebActionMenuController _defaultMenuItemsForImage:]):
(-[WebActionMenuController _copyImage:]):
(temporaryPhotosDirectoryPath):
(pathToPhotoOnDisk):
(-[WebActionMenuController _canAddMediaToPhotos]):
(-[WebActionMenuController _addImageToPhotos:]):
(-[WebActionMenuController _saveImageToDownloads:]):
(-[WebActionMenuController sharingServicePicker:sharingServicesForItems:mask:proposedSharingServices:]):
(-[WebActionMenuController sharingServicePicker:delegateForSharingService:]):
(-[WebActionMenuController sharingService:sourceWindowForShareItems:sharingContentScope:]):
(-[WebActionMenuController _createActionMenuItemForTag:withHitTestResult:]):
(-[WebActionMenuController _defaultMenuItemsForHitTestResult:]):

  • WebView/WebUIDelegatePrivate.h:
2:39 PM Changeset in webkit [176040] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Flaky Test: media/video-ended-event-slow-motion-playback.html
https://bugs.webkit.org/show_bug.cgi?id=136755

Reviewed by Jer Noble.

  • media/video-ended-event-slow-motion-playback.html: The test verifies that playback

rate doesn't get rounded down to 0, and that is very easy to detect, no need for
flaky timeouts.

  • platform/mac/TestExpectations: Remove the flakiness expectation. Also while at it,

updated media/video-playbackrate.html to match what the bots actually see.

2:12 PM Changeset in webkit [176039] by adachan@apple.com
  • 20 edits
    3 adds in trunk

Implement new plug-in API for muting plug-ins
https://bugs.webkit.org/show_bug.cgi?id=138105

Reviewed by Anders Carlsson.

Source/WebCore:

Add the new NPNVmuteAudioBool NPNVariable.

Test: platform/mac-wk2/plugins/muted-state.html

  • plugins/npapi.h:

Source/WebKit2:

Handle the setting of NPNVmuteAudioBool on the plug-in.

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::PluginControllerProxy):
Initialize m_isMuted.
(WebKit::PluginControllerProxy::mutedStateChanged):
Tell the plugin about the new muted state.

  • PluginProcess/PluginControllerProxy.h:
  • PluginProcess/PluginControllerProxy.messages.in:

Add the MutedStateChanged message.

  • PluginProcess/PluginCreationParameters.cpp:

(WebKit::PluginCreationParameters::PluginCreationParameters):
Initialize isMuted.
(WebKit::PluginCreationParameters::encode):
Handle isMuted.
(WebKit::PluginCreationParameters::decode):
Ditto.

  • PluginProcess/PluginCreationParameters.h:
  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:

(WebKit::NPN_GetValue):
Get the plug-in's muted state.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::isMuted):
Get the muted state from PluginControllerProxy.
(WebKit::NetscapePlugin::mutedStateChanged):
Call NPP_SetValue with NPNVmuteAudioBool and the updated muted state.

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:
  • WebProcess/Plugins/Plugin.h:

(WebKit::Plugin::mutedStateChanged):

  • WebProcess/Plugins/PluginController.h:
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::initialize):
Set m_pendingPluginCreationParameters->isMuted.
(WebKit::PluginProxy::mutedStateChanged):
Send the MutedStateChanged message to the plugin process.

  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::pageMutedStateDidChange):
Call Plugin::mutedStateChanged() with the page's muted state.
(WebKit::PluginView::isMuted):
Get the page's current muted state.

  • WebProcess/Plugins/PluginView.h:

Tools:

Add a new plug-in test for the mute API.

  • DumpRenderTree/DumpRenderTree.xcodeproj/project.pbxproj:
  • DumpRenderTree/TestNetscapePlugIn/Tests/mac/SetMuted.cpp: Added.

(SetMuted::SetMuted):
(SetMuted::isMuted):
(SetMuted::cachedIsMuted):
(SetMuted::ScriptableObject::hasProperty):
(SetMuted::ScriptableObject::getProperty):
(SetMuted::ScriptableObject::pluginTest):
(SetMuted::NPP_New):
(SetMuted::NPP_GetValue):
(SetMuted::NPP_SetValue):

LayoutTests:

  • platform/mac-wk2/plugins/muted-state-expected.txt: Added.
  • platform/mac-wk2/plugins/muted-state.html: Added.
1:55 PM Changeset in webkit [176038] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Two action menu item titles are swapped
https://bugs.webkit.org/show_bug.cgi?id=138667
<rdar://problem/18960409>

Reviewed by Beth Dakin.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController _createActionMenuItemForTag:]):
Swap them back.

1:50 PM Changeset in webkit [176037] by timothy_horton@apple.com
  • 5 edits in trunk/Source

Need to show the text indicator when Data Detectors shows a popover
https://bugs.webkit.org/show_bug.cgi?id=138664
<rdar://problem/18869900>

Reviewed by Beth Dakin.

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

(hasDataDetectorsCompletionAPI):
Determine if we have the new API.

(-[WKActionMenuController willDestroyView:]):
(-[WKActionMenuController willOpenMenu:withEvent:]):
Make use of the new API.
If we wanted to show a Data Detectors menu but have no items (or they're all
disabled), cancel the menu.
If we don't have it, manually manipulate the highlight.

(-[WKActionMenuController didCloseMenu:withEvent:]):
Make use of the new API.
If we don't have it, manually manipulate the highlight.

(-[WKActionMenuController _defaultMenuItemsForDataDetectedText]):
Set up completion handlers if we have the new API; when DataDetectors
presents UI, show the text indicator, when it dismisses, hide it.
If we don't have the API, manually manipulate the highlight.

  • platform/spi/mac/DataDetectorsSPI.h:

Add new DataDetectors SPI.

1:48 PM Changeset in webkit [176036] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

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

Capturing CString is not thread safe (Requested by anttik on
#webkit).

Reverted changeset:

"[WK2] Use C++ lambdas in IPC::Connection"
https://bugs.webkit.org/show_bug.cgi?id=138018
http://trac.webkit.org/changeset/175806

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

Generate get_by_id for bracket access with constant string subscript.
<https://webkit.org/b/138663>

Reviewed by Michael Saboff.

Transform of? into o.f when generating bytecode. This allows our JIT
to inline-cache those accesses instead of always dropping out to C++.

This is surprisingly common in real-web content, less so in benchmarks.
Interestingly, Speedometer does hit the optimization quite a bit.

  • bytecompiler/NodesCodegen.cpp:

(JSC::BracketAccessorNode::emitBytecode):

1:09 PM Changeset in webkit [176034] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Some platform/mac text expectation cleanup.

  • platform/mac-wk1/TestExpectations:
  • platform/mac/TestExpectations:
12:22 PM Changeset in webkit [176033] by ap@apple.com
  • 4 edits in trunk/LayoutTests

Mac-WK2 test expectations cleanup, part 1.

Put WK1 specific expectations into mac-wk1 (they used to be put in mac, and then
being overridden for wk2).
Remove expectations for tests that are no longer flaky.
Add more specific expectations to encient entries that were added in old format,
and just skipped indiscriminately.

  • platform/mac-wk1/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
12:16 PM Changeset in webkit [176032] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Minor improvements to RenderListItem
https://bugs.webkit.org/show_bug.cgi?id=138601

Reviewed by Darin Adler.

Make several minor improvements to RenderListItem and clean up the
code a bit.

No new tests, no behavior change.

  • rendering/RenderListItem.cpp:

(WebCore::isHTMLListElement):

  • Rename isList to isHTMLListElement() for clarity as it checks for HTMLOListElement and HTMLUListElement types
  • Inline the function as it is short.
  • Use is<HTML*Element>() for type checking
  • Update the argument to take a Node& instead of an Element*. This is because the argument is expected to the non-null. Also using looser typing here allows us to use this utility function is one more place, without impacting performance as hasTagName(HTMLQualifiedName) is defined on Node.

(WebCore::enclosingList):

  • Pass the argument as a reference instead of a pointer as it is expected to be non-null.
  • Initialize firstNode before the loop to avoid the if (!firstNode) check for every iteration.

(WebCore::nextListItem):

  • Take an Element as second argument instead of a RenderListItem* and provide convenience overloads so that we don't need to do null checks just because some calls sites call this function with 2 arguments and others with 1 argument. This way, we avoid unnecessary null checks as most call sites already do such checks (or have references).
  • Transform the while loop into a for loop for clarity.
  • Don't traverse an Element's subtree if the Element does not have a renderer as it is impossible of any of its descendant to have a renderer (and we are looking for a specific type of renderer).

(WebCore::previousListItem):

  • Pass the item argument as a reference instead of a pointer as it is expected to be non-null.
  • Reduce the scope of the |current| so that it is now declared inside the loop.

(WebCore::RenderListItem::updateItemValuesForOrderedList):
(WebCore::RenderListItem::itemCountForOrderedList):

  • Pass argument as a reference instead of a pointer as it was expected to be non-null (There was an assertion in place to make sure of it).

(WebCore::RenderListItem::calcValue):

  • Use is<HTMLOListElement>() instead of hasTagName().

(WebCore::getParentOfFirstLineBox):

  • Rename variables to stop using abbreviations.
  • Pass arguments as references instead of pointers as they are expected to be non-null.
  • Remove the firstChild null check before the loop as it does not change behavior. The loop will abort early if firstChild is null and we will end up returning nullptr as well.
  • Use is<>() more for type checking.
  • Reuse the isHTMLListElement() utility function instead of duplicating its code inside this function.

(WebCore::firstNonMarkerChild):

  • Pass argument as a reference as it is expected to be non-null.
  • Rename variable from result to child for clarity, as we are traversing the children.

(WebCore::RenderListItem::markerTextWithSuffix):

  • Use String appending instead of StringBuilder as it simplifies the code a lot and should not impact performance in this case.

(WebCore::RenderListItem::explicitValueChanged):

  • Restructure the code a bit to do the |listNode| null check before the loop, now that nextListItem() takes a reference in argument. This is the only call site where we didn't already know that listNode is non-null.

(WebCore::previousOrNextItem):

  • Mark this function as inline as it is short and called repeatedly.
12:09 PM Changeset in webkit [176031] by mark.lam@apple.com
  • 21 edits in trunk/Source

Rename USE(MASM_PROBE) to ENABLE(MASM_PROBE).
<https://webkit.org/b/138661>

Reviewed by Michael Saboff.

Also move the switch for enabling the use of MASM_PROBE from JavaScriptCore's
config.h to WTF's Platform.h. This ensures that the setting is consistently
applied even when building WebCore parts as well.

Source/JavaScriptCore:

  • assembler/ARMAssembler.h:
  • assembler/ARMv7Assembler.h:
  • assembler/MacroAssemblerARM.cpp:
  • assembler/MacroAssemblerARM.h:
  • assembler/MacroAssemblerARMv7.cpp:
  • assembler/MacroAssemblerARMv7.h:
  • assembler/MacroAssemblerX86.h:
  • assembler/MacroAssemblerX86Common.cpp:
  • assembler/MacroAssemblerX86Common.h:
  • assembler/MacroAssemblerX86_64.h:
  • assembler/X86Assembler.h:
  • config.h:
  • jit/JITStubs.h:
  • jit/JITStubsARM.h:
  • jit/JITStubsARMv7.h:
  • jit/JITStubsX86.h:
  • jit/JITStubsX86Common.h:
  • jit/JITStubsX86_64.h:

Source/WTF:

  • wtf/Platform.h:
12:07 PM Changeset in webkit [176030] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Speed up HTMLTextFormControlElement::setInnerTextValue() a bit
https://bugs.webkit.org/show_bug.cgi?id=138619

Reviewed by Darin Adler.

Speed up HTMLTextFormControlElement::setInnerTextValue() a bit by:

  • Not doing a virtual isTextFormControl() call. Relying on innerTextElement() not returning null is sufficient.
  • Caching the result of innerTextElement() instead of repeatedly calling that virtual function.
  • De-virtualizing setFormControlValueMatchesRenderer() / formControlValueMatchesRenderer() as these are never overridden.
  • Moving the code constructing the innerTextValue from a TextControlInnerTextElement from innerTextValue() to a new innerTextValueFrom(TextControlInnerTextElement&) function and call this new function from setInnerTextValue() to avoid calling innerTextElement() again and making sure it is non-null
  • Do the tree traversal from innerTextElement's firstChild instead of from innerTextElement. The innerTextElement is a TextControlInnerTextElement. Therefore, it cannot be an HTMLBRElement or a Text node.

No new tests, no behavior change.

  • html/HTMLFormControlElement.h:

(WebCore::HTMLFormControlElement::formControlValueMatchesRenderer):
(WebCore::HTMLFormControlElement::setFormControlValueMatchesRenderer):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::stripTrailingNewline):
(WebCore::innerTextValueFrom):
(WebCore::HTMLTextFormControlElement::setInnerTextValue):
(WebCore::HTMLTextFormControlElement::innerTextValue):
(WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
(WebCore::finishText): Deleted.

11:34 AM Changeset in webkit [176029] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Remove expectations for a couple tests that were marked as flaky on WK1 only,
as they don't appear to be flaky any more.

  • platform/mac-wk1/TestExpectations:
11:08 AM Changeset in webkit [176028] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Some WebKit1-only Yosemite-only failures don't appear to exist any more.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:

Unmark the tests.

11:06 AM Changeset in webkit [176027] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Make action menus much more reliable
https://bugs.webkit.org/show_bug.cgi?id=138654
<rdar://problem/18909111>

Reviewed by Anders Carlsson.

  • UIProcess/mac/WKActionMenuController.mm:

(-[WKActionMenuController prepareForMenu:withEvent:]):
Remove MenuUpdateStage; nothing actually uses this value, we just pass it around.

(-[WKActionMenuController didPerformActionMenuHitTest:userData:]):
Update the menu as soon as we have a reply from the Web process.

(-[WKActionMenuController menuNeedsUpdate:]):
If our sync-wait for the Web process' reply times out, we should still update
the menu to remove the placeholder separator item.

(-[WKActionMenuController _updateActionMenuItems]):
(-[WKActionMenuController _updateActionMenuItemsForStage:]): Deleted.
If we have our final answer for this menu (_state == Ready), and the final answer
has no items in the menu, cancel tracking on the menu.

10:59 AM Changeset in webkit [176026] by ap@apple.com
  • 3 edits in trunk/LayoutTests

A number of hidpi tests don't appear to fail on Yosemite now, let's try unmarking them.

  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
10:41 AM Changeset in webkit [176025] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Instead of blacklisting tests for OS X versions that use PPT for testing,
whitelist MountainLion that doesn't. That's more future compatible.

  • platform/mac-wk2/TestExpectations:
10:40 AM Changeset in webkit [176024] by jer.noble@apple.com
  • 5 edits in trunk

[Mac] media/track/audio-track.html is flakey
https://bugs.webkit.org/show_bug.cgi?id=138394

Reviewed by Alexey Proskuryakov.

Source/WebCore:

The above test fails if the HTMLMediaElement's "canplaythrough" event fires before the AudioTrackList's
"addtrack" event fires. This can happen because each object keeps its own GenericEventQueue, which
empties when that individual queue's timer fires. So events can be enqueued in the following order:
1, A, 2, B, 3, C; but fired in a different order: 1, 2, 3, A, B, C.

Make events enqueued in GenericEventQueues globally ordered, so that events are fired in the order
which they are enqueued, regardless of which object owns the queue. Use a static queue of
GenericEventQueues to manage which GenericEventQueue fires and in what order.

GenericEventQueues will use a WeakPtrFactory to cancel pending events. Revoking a GenericEventQueue's
weak pointers means those queue's entries will be skipped the next time the meta-queue is processed.

  • dom/GenericEventQueue.cpp:

(WebCore::GenericEventQueue::GenericEventQueue): Create a WeakPtrFactory instead of a Timer.
(WebCore::GenericEventQueue::enqueueEvent): Enqueue this queue with the MetaQueue.
(WebCore::GenericEventQueue::sharedTimer): Lazily-initializing accessor.
(WebCore::GenericEventQueue::sharedTimerFired): Ask each queue to dispatch one event.
(WebCore::GenericEventQueue::pendingQueues): Lazily-initializing accessor.
(WebCore::GenericEventQueue::dispatchOneEvent): Renamed from timerFired.
(WebCore::GenericEventQueue::close): Revoke all WeakPtrs.
(WebCore::GenericEventQueue::cancelAllEvents): Ditto.
(WebCore::GenericEventQueue::hasPendingEvents): Use !isEmpty().
(WebCore::GenericEventQueue::timerFired): Deleted.

  • dom/GenericEventQueue.h:

LayoutTests:

  • platform/mac/TestExpectations:
10:18 AM Changeset in webkit [176023] by ap@apple.com
  • 2 edits in trunk/LayoutTests

Fix a typo in the previous commit - a test should be skipped, not its expectation.

  • platform/mac/TestExpectations:
9:46 AM Changeset in webkit [176022] by ap@apple.com
  • 2 edits
    1 move
    2 deletes in trunk/LayoutTests

compositing/video/video-border-radius.html frequently times out on Mountain Lion only
https://bugs.webkit.org/show_bug.cgi?id=138662

Make the test a reftest again, and skip it, as nothing helps.

Also, updated all compositing/video expectations to match what bots see now.

  • compositing/video/video-border-radius-expected.html: Copied from LayoutTests/compositing/video/video-border-radius-expected.html-disabled.
  • compositing/video/video-border-radius-expected.html-disabled: Removed.
  • compositing/video/video-border-radius-expected.png: Removed.
  • compositing/video/video-border-radius-expected.txt: Removed.
  • platform/mac/TestExpectations:
9:16 AM Changeset in webkit [176021] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[WinCairo] Incorrect names for test executables in debug mode.
https://bugs.webkit.org/show_bug.cgi?id=138659

Patch by peavo@outlook.com <peavo@outlook.com> on 2014-11-12
Reviewed by Alex Christensen.

In debug mode, jsc.exe, and testapi.exe are not created, causing JSC test failures.

8:37 AM Changeset in webkit [176020] by Philippe Normand
  • 2 edits in trunk/Tools

Unreviewed, GTK gardening.

  • Scripts/run-gtk-tests:

(TestRunner): Skip the UserMediaBasic test because it depends on
constraints validation which is going to be fixed in bug #136449.

6:23 AM Changeset in webkit [176019] by Carlos Garcia Campos
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening. Skip shared worker tests after r175776.

Shared workers are disabled with the Network Process.

  • platform/gtk/TestExpectations:
4:30 AM Changeset in webkit [176018] by Carlos Garcia Campos
  • 7 edits
    1 add in trunk

[GTK] Expose user script messages to GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=138411

Reviewed by Philippe Normand.

Source/WebCore:

  • PlatformGTK.cmake: Add WebKitDOMCustomUnstable.h to the list of

installed headers and make a symlink for it in the DerivedSources dir.

  • bindings/gobject/WebKitDOMCustomUnstable.h: Added.
  • bindings/gobject/WebKitDOMCustom.cpp:

(webkit_dom_dom_window_get_webkit_namespace):
(webkit_dom_user_message_handlers_namespace_get_handler):

  • bindings/scripts/CodeGeneratorGObject.pm:

(HasUnstableCustomAPI): Helper function to check if the given
class has custom unstable API.
(WriteData): Include WebKitDOMCustomUnstable.h header if the class
has API defined there.

Tools:

Add a test case to check that user script messages sent using the
DOM bindings API are also received in the UI process.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitUserContentManager.cpp:

(UserScriptMessageTest::waitUntilMessageReceived):
(UserScriptMessageTest::postMessageAndWaitUntilReceived):
(testUserContentManagerScriptMessageFromDOMBindings):
(beforeAll):

  • TestWebKitAPI/Tests/WebKit2Gtk/WebExtensionTest.cpp:

(documentLoadedCallback):

4:26 AM Changeset in webkit [176017] by Carlos Garcia Campos
  • 10 edits in trunk/Source/WebCore

[GTK] Fix how SerializedScriptValue is exposed to GObject DOM bindings
https://bugs.webkit.org/show_bug.cgi?id=138409

Reviewed by Philippe Normand.

It's currently exposed as a WebKitDOMSerializedScriptValue class
that doesn't really exist. It should be handled as a string, that
is used to create a SerializedScriptValue when coming from the
API, and converted to a string again when returned to the API.

  • bindings/scripts/CodeGeneratorGObject.pm:

(GetGlibTypeName): Return gchar* as glib type of SerializedScriptValue.
(IsGDOMClassType): Don't consider SerializedScriptValue as a GDOM class.
(GenerateFunction): Handle SerializedScriptValue parameters and
return values specially.

  • bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:

(webkit_dom_test_callback_callback_with_serialized_script_value_param):

  • bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
  • bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:

(webkit_dom_test_obj_serialized_value):

  • bindings/scripts/test/GObject/WebKitDOMTestObj.h:
  • bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:

(webkit_dom_test_serialized_script_value_interface_class_init):
(webkit_dom_test_serialized_script_value_interface_get_value):
(webkit_dom_test_serialized_script_value_interface_set_value):
(webkit_dom_test_serialized_script_value_interface_get_readonly_value):
(webkit_dom_test_serialized_script_value_interface_get_cached_value):
(webkit_dom_test_serialized_script_value_interface_set_cached_value):
(webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value):

  • bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:

(webkit_dom_test_typedefs_class_init):
(webkit_dom_test_typedefs_get_immutable_serialized_script_value):
(webkit_dom_test_typedefs_set_immutable_serialized_script_value):

  • bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
4:13 AM Changeset in webkit [176016] by Carlos Garcia Campos
  • 5 edits
    2 moves in trunk/Source

[GTK] Move RedirectedXCompositeWindow from platform to WebKit2 layer
https://bugs.webkit.org/show_bug.cgi?id=138093

Reviewed by Martin Robinson.

Source/WebCore:

Remove RedirectedXCompositeWindow.

  • PlatformGTK.cmake:

Source/WebKit2:

It's only used by WebKitWebViewBase. While moving the code the
following cleanups have been made:

  • Use NeverDestroyed instead of DEPRECATED_DEFINE_STATIC_LOCAL.
  • Use a helper class XDamageNotifier to handle the XDamage events filtering and notification.
  • Use std::function instead of pointer to function for the damage callback.
  • Pass the X display to the RedirectedXCompositeWindow constructor and keep it as a member to use it everywhere, instead of using the default display in some places and the widget display in others.
  • Pass the damage notify function as a contructor parameter of RedirectedXCompositeWindow instead of setting the callback right after creating the object.
  • Remove GLContextNeeded and all the dead code related to the CreateGLContext mode that is no longer used.
  • Rename cairoSurfaceForWidget() as surface().
  • windowId() has been renamed as windowID() and made const.
  • Use std::unique_ptr instead of PassOwnPtr.
  • Fix coding style issues.
  • PlatformGTK.cmake:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseConstructed):
(webkitWebViewRenderAcceleratedCompositingResults):
(webkitWebViewBaseCreateWebPage):
(redirectedWindowDamagedCallback): Deleted.

  • UIProcess/gtk/RedirectedXCompositeWindow.cpp: Renamed from Source/WebCore/platform/gtk/RedirectedXCompositeWindow.cpp.

(WebKit::XDamageNotifier::XDamageNotifier):
(WebKit::XDamageNotifier::add):
(WebKit::XDamageNotifier::remove):
(WebKit::XDamageNotifier::filterXDamageEvent):
(WebKit::XDamageNotifier::filterXEvent):
(WebKit::xDamageNotifier):
(WebKit::supportsXDamageAndXComposite):
(WebKit::RedirectedXCompositeWindow::create):
(WebKit::RedirectedXCompositeWindow::RedirectedXCompositeWindow):
(WebKit::RedirectedXCompositeWindow::~RedirectedXCompositeWindow):
(WebKit::RedirectedXCompositeWindow::resize):
(WebKit::RedirectedXCompositeWindow::cleanupPixmapAndPixmapSurface):
(WebKit::RedirectedXCompositeWindow::surface):

  • UIProcess/gtk/RedirectedXCompositeWindow.h: Renamed from Source/WebCore/platform/gtk/RedirectedXCompositeWindow.h.

(WebKit::RedirectedXCompositeWindow::windowID):

3:25 AM Changeset in webkit [176015] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix GTK+ clean build after r175930.

Partial rollout of r175930 to not build the new unit test that
broke clean builds in GTK+ port.

  • TestWebKitAPI/PlatformGTK.cmake:
12:51 AM Changeset in webkit [176014] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r175974 - Protect Document in ProcessingInstruction::setXSLStyleSheet()
<http://webkit.org/b/138621>

Reviewed by Andreas Kling.

The patch is inspired by the following Blink revision by
<tasak@google.com>:
<https://src.chromium.org/viewvc/blink?view=rev&revision=182309>

  • dom/ProcessingInstruction.cpp:

(WebCore::ProcessingInstruction::setXSLStyleSheet):

12:49 AM Changeset in webkit [176013] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.6.3

WebKitGTK+ 2.6.3

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

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.6.3 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.6.3.
12:25 AM Changeset in webkit [176011] by Philippe Normand
  • 37 edits
    32 adds in trunk

Patch

Note: See TracTimeline for information about the timeline view.