[css3-text] Add getComputedStyle tests for -webkit-text-decoration-line
https://bugs.webkit.org/show_bug.cgi?id=94108

Patch by Bruno de Oliveira Abinader <bruno.abinader@basyskom.com> on 2012-08-20
Reviewed by Kenneth Rohde Christiansen.

Changeset r125205 introduced new CSS3 property "-webkit-text-decoration-line",
with included basic getComputedStyle* layout tests for parsing check. This
patch adds a new, more robust getComputedStyle-based layout test for this
property.

* fast/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-line-expected.txt: Added.
* fast/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-line.html: Added.
* fast/css3-text-decoration/getComputedStyle/script-tests/getComputedStyle-text-decoration-line.js: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126060 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] detectContentIntentAround has a misleading name
https://bugs.webkit.org/show_bug.cgi?id=94349

Reviewed by Adam Barth.

The current WebViewClient API exposes a method named detectContentIntentAround.
However, this is not designed to detect any "content intent", but to allow the embedder
to detect content around a position and fire Android intents if appropriate.

This patch also disables content detection if the touched node listens to events
that consume the tap action like clicks, touch events or mouse events.

* public/WebViewClient.h:
(WebViewClient):
(WebKit::WebViewClient::detectContentAround):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::detectContentOnTouch):
* src/WebViewImpl.h:
(WebViewImpl):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126061 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Intermittenly, many WebKit2 tests have results from the wrong test compared to the test just run, giving false failures.
https://bugs.webkit.org/show_bug.cgi?id=94505

Reviewed by Ojan Vafai.

It looks like if the webprocess times out, WTR may tell NRWT
that the test completed, but not properly reset its internal
state, and then return stale output for subsequent tests.

This patch modifies NRWT temporarily to check for
"Timed out waiting for final message from web process" in stdout
and treat that as a timeout (and thus kill WTR); this seems
to solve the cascade of failures, but of course there's probably
still a bug in WTR that needs to be fixed.

* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.run_test):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126062 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Line boxes not being dirtied correctly during inline removal
https://bugs.webkit.org/show_bug.cgi?id=93156

Reviewed by David Hyatt.

Source/WebCore:

When two inline objects were being removed from different lineboxes
in an ancestral RenderBlock, the way the RenderBlock was being marked
prevented the second linebox from being marked dirty. This causes
it to not get layout in the subsequent layout pass.

This patch causes only the descendants corresponding to actual changed
lineboxes to have their ancestorLineBoxDirty bit set, rather than
the RenderBlock that contains the lineboxes themselves.

* rendering/RenderLineBoxList.cpp:
(WebCore::RenderLineBoxList::dirtyLinesFromChangedChild):

LayoutTests:

Test exercising crashing condition for bug 93156.

* fast/block/line-layout/double-line-break-obj-removal-crash.html: Added
* fast/block/line-layout/double-line-break-obj-removal-crash-expected.txt: Added


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126063 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add missing FIXME: to previous change.
https://bugs.webkit.org/show_bug.cgi?id=94505

Reviewed by Ojan Vafai.

* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.run_test):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126064 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Remove improper ASSERT in AudioParamTimeline::valuesForTimeRangeImpl()
https://bugs.webkit.org/show_bug.cgi?id=94504

Reviewed by Kenneth Russell.

AudioParamTimeline::valuesForTimeRangeImpl() is able to handle the case where there are no timeline events.
So don't ASSERT for that case.

* Modules/webaudio/AudioParamTimeline.cpp:
(WebCore::AudioParamTimeline::valuesForTimeRangeImpl):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126065 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r125884.
http://trac.webkit.org/changeset/125884
https://bugs.webkit.org/show_bug.cgi?id=94523

Appears to be causing a top crash in the Canary channel
(Requested by abarth on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-08-20

* UseV8.cmake:
* WebCore.gypi:
* bindings/v8/DOMWrapperWorld.cpp:
(WebCore::DOMWrapperWorld::DOMWrapperWorld):
(WebCore::mainThreadNormalWorld):
* bindings/v8/DOMWrapperWorld.h:
(WebCore):
(WebCore::DOMWrapperWorld::create):
(WebCore::DOMWrapperWorld::~DOMWrapperWorld):
(DOMWrapperWorld):
* bindings/v8/IsolatedWorld.cpp: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.cpp.
(WebCore):
(WebCore::IsolatedWorld::IsolatedWorld):
(WebCore::IsolatedWorld::~IsolatedWorld):
* bindings/v8/IsolatedWorld.h: Copied from Source/WebCore/bindings/v8/DOMWrapperWorld.h.
(WebCore):
(IsolatedWorld):
(WebCore::IsolatedWorld::create):
(WebCore::IsolatedWorld::count):
(WebCore::IsolatedWorld::id):
(WebCore::IsolatedWorld::domDataStore):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::getCachedWrapper):
* bindings/v8/V8IsolatedContext.cpp:
(WebCore::V8IsolatedContext::V8IsolatedContext):
(WebCore::V8IsolatedContext::destroy):
* bindings/v8/V8IsolatedContext.h:
(WebCore::V8IsolatedContext::getEntered):
(WebCore::V8IsolatedContext::world):
(V8IsolatedContext):
* bindings/v8/V8PerIsolateData.h:
(WebCore::V8PerIsolateData::registerDOMDataStore):
(WebCore::V8PerIsolateData::unregisterDOMDataStore):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126066 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[JSC] SerializedScriptValue::create() should throw a DataCloneError if input is an unsupported object
https://bugs.webkit.org/show_bug.cgi?id=94493

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-08-20
Reviewed by Oliver Hunt.

Source/WebCore:

Update JSC implementation for SerializedScriptValue::create() so that
a DataCloneError is thrown when the input value is an unsupported
object. The previous implementation was not throwing any error.

This change is according to the structured clone specification at:
http://www.w3.org/TR/html5/common-dom-interfaces.html#structured-clone

This also matches the corresponding V8 implementation.

Test: fast/events/message-port-multi.html.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneSerializer::serialize):
(WebCore::SerializedScriptValue::maybeThrowExceptionIfSerializationFailed):
* bindings/js/SerializedScriptValue.h:

LayoutTests:

Add checks for Function, Error and host objects arguments to
MessagePort.postMessage() in fast/events/message-port-multi.html.

According to the structured clone specification, we should throw
a DataCloneError for such input types.

* fast/dom/Window/anonymous-slot-with-changes-expected.txt:
* fast/dom/Window/anonymous-slot-with-changes.html: Update test to expect
an exception when passing a function to postMessage().
* fast/events/message-port-multi-expected.txt: Update expected result
accordingly.
* fast/events/resources/message-port-multi.js:
(testTransfers.try.f1):
* platform/chromium/fast/events/message-port-multi-expected.txt: Removed.
Now identical to global expectation.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126067 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[BlackBerry] Enabling DEBUG_LAYER_ANIMATION results in build break & warnings
https://bugs.webkit.org/show_bug.cgi?id=94514

Patch by Andrew Lo <anlo@rim.com> on 2012-08-20
Reviewed by Rob Buis.

Add wtf::CString definition to fix build break when enabling DEBUG_LAYER_ANIMATION
debug prints. Fix build warnings from prints.

No new tests, non-functional change.

* platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
(WebCore::GraphicsLayerBlackBerry::addAnimation):
(WebCore::GraphicsLayerBlackBerry::pauseAnimation):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126068 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r126026.
http://trac.webkit.org/changeset/126026
https://bugs.webkit.org/show_bug.cgi?id=94449

Caused assertion failure in layout test touchadjustment/context-menu.html

Source/WebCore:

* page/TouchAdjustment.cpp:
(TouchAdjustment):
(WebCore::TouchAdjustment::providesContextMenuItems):
(WebCore::TouchAdjustment::appendSubtargetsForNodeToList):
(WebCore::TouchAdjustment::compileSubtargetList):
(WebCore::findBestClickableCandidate):
(WebCore::findBestContextMenuCandidate):

LayoutTests:

* touchadjustment/context-menu-select-text.html:
* touchadjustment/context-menu-text-subtargets-expected.txt: Removed.
* touchadjustment/context-menu-text-subtargets.html: Removed.
* touchadjustment/resources/touchadjustment.js:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126069 268f45cc-cd09-0410-ab3c-d52691b4dbfc
temporarily disable ImageDiff on WK2 ports for ref tests
https://bugs.webkit.org/show_bug.cgi?id=94517

Reviewed by Brady Eidson.

ImageDiff appears to be unable to handle the pngs returned from
WebKitTestRunner, so we disable checking images by default
for ref tests on wk2 ports (unless pixel tests is explicitly enabled).

* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._compare_output_with_reference):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126070 268f45cc-cd09-0410-ab3c-d52691b4dbfc
RenderGrid children should always be RenderBoxes
https://bugs.webkit.org/show_bug.cgi?id=94305

Reviewed by Abhishek Arya.

Source/WebCore:

During RenderGrid::layout, we assume all the children are RenderBoxes.
When removing children, if the last child is an anonymous block, we don't
want to remove the anonymous block for grids. Ensure this doesn't happen
by adding canCollapseAnonymousBlockChild to RenderBlock (flexboxen and
grid can override this method).

Test: fast/css-grid-layout/should-not-collapse-anonymous-blocks.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::removeChild): Check canCollapseAnonymousBlockChild().
* rendering/RenderBlock.h:
(WebCore::RenderBlock::canCollapseAnonymousBlockChild):
(RenderBlock):
* rendering/RenderDeprecatedFlexibleBox.h: canCollapseAnonymousBlockChild returns false.
* rendering/RenderFlexibleBox.h: canCollapseAnonymousBlockChild returns false.
* rendering/RenderGrid.h: canCollapseAnonymousBlockChild returns false.

LayoutTests:

Add test case from fuzzer.

* fast/css-grid-layout/should-not-collapse-anonymous-blocks-expected.txt: Added.
* fast/css-grid-layout/should-not-collapse-anonymous-blocks.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@126071 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Replace isolate || bidi-override by isolate-override
https://bugs.webkit.org/show_bug.cgi?id=89746

Reviewed by Levi Weintraub.

Source/WebCore: 

The combination of bidi-isolate and isolate was replaced by a single isolate-override in
http://lists.w3.org/Archives/Public/www-style/2012May/0541.html. The spec. has been updated accordingly:
http://dev.w3.org/csswg/css3-writing-modes/#unicode-bidi

To follow the specification change, added -webkit-isolate-override and removed the support for
isolate || bidi-override, simplifying the CSS parser and serializer.

Test: fast/text/bidi-override-isolate.html

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Removed. We can just new a CSSPrimitiveValue
constructor now.
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added now that unicode-bidi always creates a signle
primitive value instead of a primitive value of css value list.
(WebCore::CSSPrimitiveValue::operator EUnicodeBidi):
* css/CSSValueKeywords.in: Added -webkit-isolate-override
* css/StyleBuilder.cpp:
(WebCore): Removed ApplyPropertyUnicodeBidi since we can use ApplyPropertyDefault now.
(WebCore::StyleBuilder::StyleBuilder): Use ApplyPropertyDefault.
* platform/text/UnicodeBidi.h: Renamed OverrideIsolate to IsolateOverride to match the spec.
(WebCore::isIsolated):
(WebCore::isOverride):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::constructBidiRuns):

LayoutTests: 

Rebaseline test expectations. These tests test the new behavior and new property value -webkit-isolate-override.

* fast/css/unicode-bidi-computed-value-expected.txt:
* fast/css/unicode-bidi-computed-value.html:
* fast/text/bidi-override-isolate.html:


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