Hardware accelerated CSS transitions appear pixelated when scaled up using transform
https://bugs.webkit.org/show_bug.cgi?id=27684
<rdar://problem/6134606>

Source/WebCore:

Reviewed by Dean Jackson.

Take transforms and animations into account when computing the contentsScale
for a layer, so that scaled-up layers remain sharp most of the time.

In its recursiveCommitChanges() tree walk, GraphicsLayerCA now tracks
a root-relative transform, and extracts from that transform the X and Y
scales which it uses to scale the backing store.

If the layer has transform animations on it, we keep around
a transformation matrix for the animation endpoints (or keyframes),
pick up the state that has the larger impact on the root-relative scale,
and use that as the layer's transform, and the transform when recursing
over descendants.

Tests: compositing/contents-scale/animating.html
       compositing/contents-scale/scaled-ancestor.html
       compositing/contents-scale/simple-scale.html
       compositing/contents-scale/z-translate.html

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::maxScaleFromTransform): Decompose the transform if necesssary
to extract the X and Y scale components.
(WebCore::GraphicsLayerCA::GraphicsLayerCA): Initialize m_rootRelativeScaleFactor.
(WebCore::GraphicsLayerCA::flushCompositingState): Supply a TransformationMatrix
for the root of the recursion.
(WebCore::GraphicsLayerCA::layerTransform): This code was factored out of
computeVisibleRect(), and optionally takes a custom transform.
(WebCore::GraphicsLayerCA::computeVisibleRect): Use the layerTransform() function.
(WebCore::GraphicsLayerCA::updateRootRelativeScale): Given a transform from the root,
find the max scale factor by multiplying the various animation endpoint matrices and picking
the one with the biggest impact on scale. Use this to set m_rootRelativeScaleFactor, and
set the flag to say that we need to update contentsScale.
(WebCore::GraphicsLayerCA::recursiveCommitChanges):
(WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): After updating
animations, call updateRootRelativeScale() to update m_rootRelativeScaleFactor.
(WebCore::GraphicsLayerCA::updateAnimations): We have a side table of animation name to
TransformationMatrix, so figure out which entries can be removed from that side table,
and remove them.
(WebCore::GraphicsLayerCA::setAnimationOnLayer):
(WebCore::GraphicsLayerCA::appendToUncommittedAnimations): Store the matrices for
animation endpoints/keyframes in the m_animationTransforms side table. We don't store
them directly in LayerPropertyAnimation because we just want the final matrix for
a transform list, and using a side table makes ownership easier to manage.
(WebCore::GraphicsLayerCA::getTransformFromAnimationsWithMaxScaleImpact):
goes through the matrices for the running animation endpoints/keyframes, and
multiplies each with the transform up to this layer to find the matrix with the
larger impact on scale.
(WebCore::GraphicsLayerCA::setTransformAnimationEndpoints): Returns a vector
of TransformationMatrix for the from and to states.
(WebCore::GraphicsLayerCA::setTransformAnimationKeyframes): Returns a vector
of TransformationMatrix for the keyframes.
(WebCore::GraphicsLayerCA::updateContentsScale): Include m_rootRelativeScaleFactor in the
scale factor computation.
(WebCore::GraphicsLayerCA::dumpAdditionalProperties): If we're dumping visible rects,
also dump the contentsScale. Convenient at these are useful to look at together, and I didn't
want to pollute Internals with yet more flags.
* platform/graphics/ca/GraphicsLayerCA.h:
(WebCore::GraphicsLayerCA::LayerPropertyAnimation::LayerPropertyAnimation): Formatting.

LayoutTests:

Reviewed by Dean Jackson.

New tests that dump contentsScale under various scaling scenarios:

* compositing/contents-scale/animating-expected.txt: Added.
* compositing/contents-scale/animating.html: Added.
* compositing/contents-scale/scaled-ancestor-expected.txt: Added.
* compositing/contents-scale/scaled-ancestor.html: Added.
* compositing/contents-scale/simple-scale-expected.txt: Added.
* compositing/contents-scale/simple-scale.html: Added.
* compositing/contents-scale/z-translate-expected.txt: Added.
* compositing/contents-scale/z-translate.html: Added.

These tests had Mac-specific results (which include visible rects and now
contents scale) in the cross-platform directory, so cleaned up the cross-platform
results and moved the Mac results to platform-mac.

* compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
* compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
* compositing/visible-rect/2d-transformed-expected.txt:
* compositing/visible-rect/3d-transform-style-expected.txt:
* compositing/visible-rect/3d-transformed-expected.txt:
* compositing/visible-rect/animated-expected.txt:
* compositing/visible-rect/animated-from-none-expected.txt:
* compositing/visible-rect/clipped-by-viewport-expected.txt:
* compositing/visible-rect/clipped-visible-rect-expected.txt:
* compositing/visible-rect/flipped-preserve-3d-expected.txt:
* compositing/visible-rect/iframe-and-layers-expected.txt:
* compositing/visible-rect/nested-transform-expected.txt:
* compositing/visible-rect/scrolled-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
* platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
* platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
* platform/mac/compositing/visible-rect/2d-transformed-expected.txt: Copied from LayoutTests/compositing/visible-rect/2d-transformed-expected.txt.
* platform/mac/compositing/visible-rect/3d-transform-style-expected.txt: Copied from LayoutTests/compositing/visible-rect/3d-transform-style-expected.txt.
* platform/mac/compositing/visible-rect/3d-transformed-expected.txt: Copied from LayoutTests/compositing/visible-rect/3d-transformed-expected.txt.
* platform/mac/compositing/visible-rect/animated-expected.txt: Copied from LayoutTests/compositing/visible-rect/animated-expected.txt.
* platform/mac/compositing/visible-rect/animated-from-none-expected.txt: Copied from LayoutTests/compositing/visible-rect/animated-from-none-expected.txt.
* platform/mac/compositing/visible-rect/clipped-by-viewport-expected.txt: Copied from LayoutTests/compositing/visible-rect/clipped-by-viewport-expected.txt.
* platform/mac/compositing/visible-rect/clipped-visible-rect-expected.txt: Copied from LayoutTests/compositing/visible-rect/clipped-visible-rect-expected.txt.
* platform/mac/compositing/visible-rect/flipped-preserve-3d-expected.txt: Copied from LayoutTests/compositing/visible-rect/flipped-preserve-3d-expected.txt.
* platform/mac/compositing/visible-rect/iframe-and-layers-expected.txt: Copied from LayoutTests/compositing/visible-rect/iframe-and-layers-expected.txt.
* platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:
* platform/mac/compositing/visible-rect/nested-transform-expected.txt: Copied from LayoutTests/compositing/visible-rect/nested-transform-expected.txt.
* platform/mac/compositing/visible-rect/scrolled-expected.txt: Copied from LayoutTests/compositing/visible-rect/scrolled-expected.txt.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155998 268f45cc-cd09-0410-ab3c-d52691b4dbfc
run-jsc-stress-tests fails with ruby version 2
https://bugs.webkit.org/show_bug.cgi?id=121521

Reviewed by Jessie Berlin.

Explicitly set LANG to en_US.UTB-8 before starting run-jsc-stress-tests.

* Scripts/run-javascriptcore-tests:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@155999 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add make_unique and start using it
https://bugs.webkit.org/show_bug.cgi?id=121523

Reviewed by Anders Carlsson.

../WebCore: 

* html/HTMLAreaElement.h:
* html/HTMLFrameSetElement.h:
* platform/Length.cpp:
(WebCore::newCoordsArray):
(WebCore::newLengthArray):
* platform/Length.h:
Switch off OwnArrayPtr to std::unique_ptr<T[]> and make use of make_unique.

../WTF: 

* wtf/StdLibExtras.h:
(std::make_unique):
Add temporary implementation of std::make_unique that we can use until our standard
libraries have support for it.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156000 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Upstream changes to WebHTMLConverter to support HTML
to NSAttributedString conversion on both iOS and OS X.

Reviewed by Benjamin Poulain.

* platform/mac/HTMLConverter.h:
* platform/mac/HTMLConverter.mm:
(WebDefaultFont):
(_fontForNameAndSize):
(+[WebHTMLConverter defaultParagraphStyle]):
(-[WebHTMLConverter _computedStyleForElement:]):
(-[WebHTMLConverter _specifiedStyleForElement:]):
(-[WebHTMLConverter _computedStringForNode:property:]):
(-[WebHTMLConverter _stringForNode:property:]):
(-[WebHTMLConverter _getComputedFloat:forNode:property:]):
(-[WebHTMLConverter _getFloat:forNode:property:]):
(_NSFirstPathForDirectoriesInDomains):
(_NSSystemLibraryPath):
(-[WebHTMLConverter _webKitBundle]):
(_colorForRGBColor):
(_shadowForShadowStyle):
(-[WebHTMLConverter _elementIsBlockLevel:]):
(-[WebHTMLConverter _elementHasOwnBackgroundColor:]):
(-[WebHTMLConverter _computedColorForNode:property:]):
(-[WebHTMLConverter _colorForNode:property:]):
(-[WebHTMLConverter _computedAttributesForElement:]):
(-[WebHTMLConverter _attributesForElement:]):
(-[WebHTMLConverter _newParagraphForElement:tag:allowEmpty:suppressTrailingSpace:]):
(-[WebHTMLConverter _newLineForElement:]):
(-[WebHTMLConverter _newTabForElement:]):
(-[WebHTMLConverter _WebMessageDocumentClass]):
(-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
(-[WebHTMLConverter _addQuoteForElement:opening:level:]):
(-[WebHTMLConverter _addValue:forElement:]):
(-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
(_dateForString):
(_colCompare):
(-[WebHTMLConverter _processMetaElementWithName:content:]):
(-[WebHTMLConverter _processHeadElement:]):
(-[WebHTMLConverter _enterElement:tag:display:embedded:]):
(-[WebHTMLConverter _addTableForElement:]):
(-[WebHTMLConverter _addTableCellForElement:]):
(-[WebHTMLConverter _processElement:tag:display:depth:]):
(-[WebHTMLConverter _addMarkersToList:range:]):
(-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
(-[WebHTMLConverter _processText:]):
(-[WebHTMLConverter _traverseNode:depth:embedded:]):
(-[WebHTMLConverter _traverseFooterNode:depth:]):
(-[WebHTMLConverter _loadFromDOMRange]):
(-[WebHTMLConverter dealloc]):
(-[WebHTMLConverter init]):
(-[WebHTMLConverter initWithDOMRange:]):
(-[WebHTMLConverter attributedString]):
(+[WebHTMLConverter editingAttributedStringFromRange:]):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156001 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: inspector/storage-panel-dom-storage-update.html is flakey on the bots
https://bugs.webkit.org/show_bug.cgi?id=120544

* platform/mac-wk2/TestExpectations:
* platform/mac/TestExpectations:
Marking as such again.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156002 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG doesn't properly keep scope alive for op_put_to_scope
https://bugs.webkit.org/show_bug.cgi?id=121519

Reviewed by Michael Saboff.

This was a latent bug that can't actually occur in ToT. It was uncovered by causing slow
path calls in the baseline JIT for op_put_to_scope in places where we couldn't before (but
which were necessary for gen GC).

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156003 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Stop explicitly using PassOwnPtr in WebCore/html
https://bugs.webkit.org/show_bug.cgi?id=121511

Reviewed by Andreas Kling.

Source/WebCore:

* dom/ElementRareData.h:
(WebCore::ElementRareData::setClassList):
* html/ButtonInputType.cpp:
(WebCore::ButtonInputType::create):
* html/ButtonInputType.h:
* html/CheckboxInputType.cpp:
(WebCore::CheckboxInputType::create):
(WebCore::CheckboxInputType::willDispatchClick):
* html/CheckboxInputType.h:
* html/ClassList.cpp:
(WebCore::ClassList::create):
* html/ClassList.h:
* html/ColorInputType.cpp:
(WebCore::ColorInputType::create):
* html/ColorInputType.h:
* html/DateInputType.cpp:
(WebCore::DateInputType::create):
* html/DateInputType.h:
* html/DateTimeInputType.cpp:
(WebCore::DateTimeInputType::create):
* html/DateTimeInputType.h:
* html/DateTimeLocalInputType.cpp:
(WebCore::DateTimeLocalInputType::create):
* html/DateTimeLocalInputType.h:
* html/EmailInputType.cpp:
(WebCore::EmailInputType::create):
* html/EmailInputType.h:
* html/FileInputType.cpp:
(WebCore::FileInputType::create):
* html/FileInputType.h:
* html/FormAssociatedElement.cpp:
(WebCore::FormAttributeTargetObserver::create):
* html/FormController.cpp:
(WebCore::SavedFormState::create):
(WebCore::SavedFormState::deserialize):
(WebCore::FormKeyGenerator::create):
(WebCore::FormController::createSavedFormStateMap):
* html/FormController.h:
(WebCore::FormController::create):
* html/HTMLInputElement.cpp:
(WebCore::ListAttributeTargetObserver::create):
* html/HiddenInputType.cpp:
(WebCore::HiddenInputType::create):
* html/HiddenInputType.h:
* html/ImageInputType.cpp:
(WebCore::ImageInputType::create):
* html/ImageInputType.h:
* html/InputType.cpp:
(WebCore::InputType::create):
(WebCore::InputType::createText):
(WebCore::InputType::willDispatchClick):
* html/InputType.h:
* html/MonthInputType.cpp:
(WebCore::MonthInputType::create):
* html/MonthInputType.h:
* html/NumberInputType.cpp:
(WebCore::NumberInputType::create):
* html/NumberInputType.h:
* html/PasswordInputType.cpp:
(WebCore::PasswordInputType::create):
* html/PasswordInputType.h:
* html/PublicURLManager.h:
(WebCore::PublicURLManager::create):
* html/RadioInputType.cpp:
(WebCore::RadioInputType::create):
(WebCore::RadioInputType::willDispatchClick):
* html/RadioInputType.h:
* html/RangeInputType.cpp:
(WebCore::RangeInputType::create):
* html/RangeInputType.h:
* html/ResetInputType.cpp:
(WebCore::ResetInputType::create):
* html/ResetInputType.h:
* html/SearchInputType.cpp:
(WebCore::SearchInputType::create):
* html/SearchInputType.h:
* html/SubmitInputType.cpp:
(WebCore::SubmitInputType::create):
* html/SubmitInputType.h:
* html/TelephoneInputType.cpp:
(WebCore::TelephoneInputType::create):
* html/TelephoneInputType.h:
* html/TextInputType.cpp:
(WebCore::TextInputType::create):
* html/TextInputType.h:
* html/TimeInputType.cpp:
(WebCore::TimeInputType::create):
* html/TimeInputType.h:
* html/URLInputType.cpp:
(WebCore::URLInputType::create):
* html/URLInputType.h:
* html/ValidationMessage.cpp:
(WebCore::ValidationMessage::create):
* html/ValidationMessage.h:
* html/ValidityState.h:
(WebCore::ValidityState::create):
* html/WeekInputType.cpp:
(WebCore::WeekInputType::create):
* html/WeekInputType.h:
* html/canvas/CanvasRenderingContext2D.cpp:
(WebCore::CanvasRenderingContext2D::createCompositingBuffer):
* html/canvas/CanvasRenderingContext2D.h:
(WebCore::CanvasRenderingContext2D::create):
* html/canvas/EXTDrawBuffers.cpp:
(WebCore::EXTDrawBuffers::create):
* html/canvas/EXTDrawBuffers.h:
* html/canvas/EXTTextureFilterAnisotropic.cpp:
(WebCore::EXTTextureFilterAnisotropic::create):
* html/canvas/EXTTextureFilterAnisotropic.h:
* html/canvas/OESElementIndexUint.cpp:
(WebCore::OESElementIndexUint::create):
* html/canvas/OESElementIndexUint.h:
* html/canvas/OESStandardDerivatives.cpp:
(WebCore::OESStandardDerivatives::create):
* html/canvas/OESStandardDerivatives.h:
* html/canvas/OESTextureFloat.cpp:
(WebCore::OESTextureFloat::create):
* html/canvas/OESTextureFloat.h:
* html/canvas/OESTextureHalfFloat.cpp:
(WebCore::OESTextureHalfFloat::create):
* html/canvas/OESTextureHalfFloat.h:
* html/canvas/OESVertexArrayObject.cpp:
(WebCore::OESVertexArrayObject::create):
* html/canvas/OESVertexArrayObject.h:
* html/canvas/WebGLCompressedTextureATC.cpp:
(WebCore::WebGLCompressedTextureATC::create):
* html/canvas/WebGLCompressedTextureATC.h:
* html/canvas/WebGLCompressedTexturePVRTC.cpp:
(WebCore::WebGLCompressedTexturePVRTC::create):
* html/canvas/WebGLCompressedTexturePVRTC.h:
* html/canvas/WebGLCompressedTextureS3TC.cpp:
(WebCore::WebGLCompressedTextureS3TC::create):
* html/canvas/WebGLCompressedTextureS3TC.h:
* html/canvas/WebGLDebugRendererInfo.cpp:
(WebCore::WebGLDebugRendererInfo::create):
* html/canvas/WebGLDebugRendererInfo.h:
* html/canvas/WebGLDebugShaders.cpp:
(WebCore::WebGLDebugShaders::create):
* html/canvas/WebGLDebugShaders.h:
* html/canvas/WebGLDepthTexture.cpp:
(WebCore::WebGLDepthTexture::create):
* html/canvas/WebGLDepthTexture.h:
* html/canvas/WebGLLoseContext.cpp:
(WebCore::WebGLLoseContext::create):
* html/canvas/WebGLLoseContext.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::create):
* html/canvas/WebGLRenderingContext.h:
* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::BackgroundHTMLParser):
(WebCore::BackgroundHTMLParser::resumeFrom):
* html/parser/BackgroundHTMLParser.h:
(WebCore::BackgroundHTMLParser::create):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::didReceiveParsedChunkFromBackgroundParser):
(WebCore::HTMLDocumentParser::validateSpeculations):
(WebCore::HTMLDocumentParser::discardSpeculationsAndResumeFrom):
(WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):
* html/parser/HTMLDocumentParser.h:
* html/parser/HTMLElementStack.cpp:
(WebCore::HTMLElementStack::ElementRecord::ElementRecord):
* html/parser/HTMLElementStack.h:
(WebCore::HTMLElementStack::ElementRecord::releaseNext):
(WebCore::HTMLElementStack::ElementRecord::setNext):
* html/parser/HTMLMetaCharsetParser.h:
(WebCore::HTMLMetaCharsetParser::create):
* html/parser/HTMLParserScheduler.h:
(WebCore::HTMLParserScheduler::create):
* html/parser/HTMLParserThread.h:
(WebCore::HTMLParserThread::create):
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
* html/parser/HTMLResourcePreloader.cpp:
(WebCore::HTMLResourcePreloader::preload):
* html/parser/HTMLResourcePreloader.h:
(WebCore::PreloadRequest::create):
* html/parser/HTMLScriptRunner.h:
(WebCore::HTMLScriptRunner::create):
* html/parser/HTMLToken.h:
(WebCore::HTMLToken::releaseDoctypeData):
* html/parser/HTMLTokenizer.h:
(WebCore::HTMLTokenizer::create):
* html/parser/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::create):
* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::filterToken):
* html/parser/XSSAuditor.h:
* html/parser/XSSAuditorDelegate.h:
(WebCore::XSSInfo::create):
* html/track/WebVTTParser.h:
(WebCore::WebVTTParser::create):
* html/track/WebVTTTokenizer.h:
(WebCore::WebVTTTokenizer::create):

Source/WTF:

Make operator= work work for different types of OwnPtrs.

* wtf/OwnPtr.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156004 268f45cc-cd09-0410-ab3c-d52691b4dbfc
ScriptProcessorNode is garbage collected while still active if unreachable (breaks
webaudio/javascriptaudionode.html test)
https://bugs.webkit.org/show_bug.cgi?id=112521

* TestExpectations: Marking test as failing/asserting.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156005 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Add FlowThreadController.h to Target.pri
https://bugs.webkit.org/show_bug.cgi?id=121516

Reviewed by Dirk Schulze.

No new tests, no behavior change.

* Target.pri:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156006 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Windows] Adjust test list further to make the bots green.

* platform/win/TestExpectations:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156007 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rebaseline a test.

* platform/mac-wk2/compositing/visible-rect/iframe-no-layers-expected.txt: Copied from LayoutTests/platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt.
* platform/mac/compositing/visible-rect/iframe-no-layers-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156008 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Pack create_hash_table tables better.
<https://webkit.org/b/121517>

Reviewed by Sam Weinig.

Source/JavaScriptCore:

Reduces JavaScriptCore binary size by 4648 bytes.

* create_hash_table:
* runtime/Lookup.h:

    Reorder HashTableValue members to avoid unnecessary padding.

Source/WebCore:

Reduces WebCore binary size by 72744 bytes.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHashTable):

    Updated for new HashTableValue member order.

* bindings/scripts/test/JS/*:

    Rebaselined bindings tests.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156009 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed typo fix after r155999

Changed en_US.UTB-8 to en_US.UTF-8

* Scripts/run-javascriptcore-tests:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156010 268f45cc-cd09-0410-ab3c-d52691b4dbfc
AX: Mac AXARIABusy should be AXElementBusy (not ARIA specific)
https://bugs.webkit.org/show_bug.cgi?id=121442

Patch by Samuel White <samuel_white@apple.com> on 2013-09-17
Reviewed by Chris Fleizach.

Source/WebCore:

No new tests, changed AXARIABusy attribute to AXElementBusy to uncouple the concept of busy with
the aria-busy attribute. This will allow us to expand on the definition of busy moving forward.

* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper additionalAccessibilityAttributeNames]):
(-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):

LayoutTests:

Mac platform attribute name change only (AXARIABusy => AXElementBusy). Updated existing tests using this attribute.

* accessibility/transformed-element-expected.txt:
* platform/mac/accessibility/aria-columnrowheaders-expected.txt:
* platform/mac/accessibility/aria-liveregions-attributes-expected.txt:
* platform/mac/accessibility/aria-liveregions-attributes.html:
* platform/mac/accessibility/bounds-for-range-expected.txt:
* platform/mac/accessibility/document-attributes-expected.txt:
* platform/mac/accessibility/document-links-expected.txt:
* platform/mac/accessibility/image-link-expected.txt:
* platform/mac/accessibility/image-map2-expected.txt:
* platform/mac/accessibility/internal-link-anchors-expected.txt:
* platform/mac/accessibility/internal-link-anchors2-expected.txt:
* platform/mac/accessibility/lists-expected.txt:
* platform/mac/accessibility/plugin-expected.txt:
* platform/mac/accessibility/table-attributes-expected.txt:
* platform/mac/accessibility/table-cell-spans-expected.txt:
* platform/mac/accessibility/table-cells-expected.txt:
* platform/mac/accessibility/table-detection-expected.txt:
* platform/mac/accessibility/table-one-cell-expected.txt:
* platform/mac/accessibility/table-sections-expected.txt:
* platform/mac/accessibility/table-with-aria-role-expected.txt:
* platform/mac/accessibility/table-with-rules-expected.txt:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156011 268f45cc-cd09-0410-ab3c-d52691b4dbfc
compositing/images/positioned-image-content-rect.html is failing on some bots
https://bugs.webkit.org/show_bug.cgi?id=121526

* platform/mac/TestExpectations: Marked as failing or passing for now, should
be fixed with upcoming color management improvements.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156012 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Removed some Lion specific results - these tests are failing on Lion bots despite these,
and it looks like Lion now matches cross-platform results.

* platform/mac-lion/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.png: Removed.
* platform/mac-lion/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt: Removed.
* platform/mac-lion/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.png: Removed.
* platform/mac-lion/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt: Removed.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156013 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r156001.
http://trac.webkit.org/changeset/156001
https://bugs.webkit.org/show_bug.cgi?id=121529

Broke API tests (Requested by ap on #webkit).

* platform/mac/HTMLConverter.h:
* platform/mac/HTMLConverter.mm:
(WebDefaultFont):
(_fontForNameAndSize):
(+[WebHTMLConverter defaultParagraphStyle]):
(-[WebHTMLConverter _computedStyleForElement:]):
(-[WebHTMLConverter _specifiedStyleForElement:]):
(-[WebHTMLConverter _computedStringForNode:property:]):
(-[WebHTMLConverter _stringForNode:property:]):
(-[WebHTMLConverter _getComputedFloat:forNode:property:]):
(-[WebHTMLConverter _getFloat:forNode:property:]):
(_colorForRGBColor):
(_shadowForShadowStyle):
(-[WebHTMLConverter _elementIsBlockLevel:]):
(-[WebHTMLConverter _elementHasOwnBackgroundColor:]):
(-[WebHTMLConverter _computedColorForNode:property:]):
(-[WebHTMLConverter _colorForNode:property:]):
(-[WebHTMLConverter _computedAttributesForElement:]):
(-[WebHTMLConverter _attributesForElement:]):
(-[WebHTMLConverter _newParagraphForElement:tag:allowEmpty:suppressTrailingSpace:]):
(-[WebHTMLConverter _newLineForElement:]):
(-[WebHTMLConverter _newTabForElement:]):
(-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
(-[WebHTMLConverter _addQuoteForElement:opening:level:]):
(-[WebHTMLConverter _addValue:forElement:]):
(-[WebHTMLConverter _fillInBlock:forElement:backgroundColor:extraMargin:extraPadding:isTable:]):
(_dateForString):
(_colCompare):
(-[WebHTMLConverter _enterElement:tag:display:]):
(-[WebHTMLConverter _addTableForElement:]):
(-[WebHTMLConverter _addTableCellForElement:]):
(-[WebHTMLConverter _processElement:tag:display:depth:]):
(-[WebHTMLConverter _addMarkersToList:range:]):
(-[WebHTMLConverter _exitElement:tag:display:depth:startIndex:]):
(-[WebHTMLConverter _processText:]):
(-[WebHTMLConverter _traverseNode:depth:embedded:]):
(-[WebHTMLConverter _traverseFooterNode:depth:]):
(-[WebHTMLConverter _loadFromDOMRange]):
(-[WebHTMLConverter dealloc]):
(-[WebHTMLConverter init]):
(-[WebHTMLConverter initWithDOMRange:]):
(-[WebHTMLConverter attributedString]):
(+[WebHTMLConverter editingAttributedStringFromRange:]):
(fileWrapperForElement):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156014 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Replace use of OwnArrayPtr<Foo> with std::unique_ptr<Foo[]> in WebCore
https://bugs.webkit.org/show_bug.cgi?id=121527

Reviewed by Anders Carlsson.

* Modules/webaudio/AudioBufferSourceNode.cpp:
(WebCore::AudioBufferSourceNode::setBuffer):
* Modules/webaudio/AudioBufferSourceNode.h:
* Modules/webaudio/OscillatorNode.h:
* css/CSSParser.cpp:
(WebCore::CSSParser::setupParser):
(WebCore::CSSParser::currentCharacter16):
* css/CSSParser.h:
* html/HTMLAreaElement.h:
* html/HTMLFrameSetElement.h:
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::copyTexSubImage2D):
(WebCore::WebGLRenderingContext::simulateVertexAttrib0):
(WebCore::WebGLRenderingContext::LRUImageBufferCache::LRUImageBufferCache):
* html/canvas/WebGLRenderingContext.h:
* platform/ScrollAnimatorNone.cpp:
* platform/audio/DynamicsCompressor.cpp:
(WebCore::DynamicsCompressor::setNumberOfChannels):
* platform/audio/DynamicsCompressor.h:
* platform/audio/FFTFrame.h:
* platform/audio/gstreamer/FFTFrameGStreamer.cpp:
(WebCore::FFTFrame::FFTFrame):
* platform/efl/ScrollbarEfl.cpp:
(ScrollbarEfl::updateThumbPositionAndProportion):
* platform/graphics/ANGLEWebKitBridge.cpp:
(WebCore::ANGLEWebKitBridge::compileShaderSource):
* platform/graphics/GraphicsContext3D.cpp:
(WebCore::GraphicsContext3D::texImage2DResourceSafe):
* platform/graphics/GraphicsContext3D.h:
* platform/graphics/GraphicsContext3DPrivate.cpp:
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
* platform/graphics/blackberry/LayerTexture.cpp:
* platform/graphics/ca/win/CACFLayerTreeHost.cpp:
(WebCore::getDirtyRects):
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):
* platform/graphics/cg/GraphicsContextCG.cpp:
* platform/graphics/cg/ImageBufferCG.cpp:
* platform/graphics/gpu/Texture.cpp:
(WebCore::Texture::updateSubRect):
* platform/graphics/harfbuzz/HarfBuzzShaper.cpp:
(WebCore::HarfBuzzShaper::HarfBuzzShaper):
(WebCore::HarfBuzzShaper::setNormalizedBuffer):
* platform/graphics/harfbuzz/HarfBuzzShaper.h:
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
(WebCore::GraphicsContext3D::compileShader):
(WebCore::GraphicsContext3D::getActiveAttrib):
(WebCore::GraphicsContext3D::getActiveUniform):
(WebCore::GraphicsContext3D::getProgramInfoLog):
(WebCore::GraphicsContext3D::getShaderInfoLog):
* platform/graphics/opentype/OpenTypeSanitizer.cpp:
* platform/graphics/texmap/TextureMapperGL.cpp:
* platform/graphics/wince/SharedBitmap.cpp:
(WebCore::SharedBitmap::SharedBitmap):
(WebCore::SharedBitmap::to16bit):
* platform/graphics/wince/SharedBitmap.h:
* platform/image-decoders/blackberry/JPEGImageDecoder.cpp:
(WebCore::ImageReader::decode):
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore::PNGImageReader::createRowBuffer):
* platform/win/ContextMenuWin.cpp:
(WebCore::ContextMenu::getContextMenuItems):
* platform/win/LoggingWin.cpp:
(WebCore::logLevelString):
* plugins/PluginPackage.cpp:
* plugins/blackberry/PluginViewBlackBerry.cpp:
(WebCore::PluginView::handleTouchEvent):
* plugins/win/PluginPackageWin.cpp:
(WebCore::PluginPackage::fetchInfo):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156015 268f45cc-cd09-0410-ab3c-d52691b4dbfc
DFG should use the (x & 0x7fffffff) trick for doing overflow and neg-zero checks on negation in one go
https://bugs.webkit.org/show_bug.cgi?id=121520

Reviewed by Oliver Hunt.

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileArithNegate):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileArithNegate):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@156016 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Use CheckStructure for checking the types of typed arrays whenever possible
https://bugs.webkit.org/show_bug.cgi?id=121514

Reviewed by Oliver Hunt.

* bytecode/ArrayProfile.cpp:
(JSC::ArrayProfile::computeUpdatedPrediction):
* dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::fromObserved):
(JSC::DFG::ArrayMode::refine):
(JSC::DFG::ArrayMode::originalArrayStructure):
(JSC::DFG::arrayClassToString):
* dfg/DFGArrayMode.h:
(JSC::DFG::ArrayMode::ArrayMode):
(JSC::DFG::ArrayMode::arrayModesWithIndexingShape):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::isOriginalTypedArrayStructure):



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