WebKit-https.git
7 years agowin64 compile error fix for BinaryPropertyList.cpp
commit-queue@webkit.org [Wed, 22 Aug 2012 22:01:55 +0000 (22:01 +0000)]
win64 compile error fix for BinaryPropertyList.cpp
https://bugs.webkit.org/show_bug.cgi?id=94122

Patch by Alex Christensen <alex.christensen@flexsim.com> on 2012-08-22
Reviewed by Eric Seidel.

Fixed compile errors for MSVC x64 without changing performance

* platform/cf/BinaryPropertyList.cpp:
(WebCore::BinaryPropertyListSerializer::appendStringObject):

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

7 years agoDon't unconditionally define NOMINMAX on Windows
commit-queue@webkit.org [Wed, 22 Aug 2012 21:55:25 +0000 (21:55 +0000)]
Don't unconditionally define NOMINMAX on Windows
https://bugs.webkit.org/show_bug.cgi?id=94742

Patch by Scott Graham <scottmg@chromium.org> on 2012-08-22
Reviewed by Adrienne Walker.

Avoids a warning when building on Windows when NOMINMAX is defined
elsewhere or on the command line.

* TestWebKitAPI/config.h:

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

7 years agoHTMLTreeBuilder::furthestBlockForFormattingElement should belong to HTMLElementStack
commit-queue@webkit.org [Wed, 22 Aug 2012 21:55:10 +0000 (21:55 +0000)]
HTMLTreeBuilder::furthestBlockForFormattingElement should belong to HTMLElementStack
https://bugs.webkit.org/show_bug.cgi?id=93857

Patch by Kwang Yul Seo <skyul@company100.net> on 2012-08-22
Reviewed by Eric Seidel.

HTMLTreeBuilder::furthestBlockForFormattingElement should belong to
HTMLElementStack because it traverses the element stack and finds the
furthest block for the given formatting element.

Currently, it belongs to HTMLTreeBuilder just because
isSpecialNode(const HTMLStackItem*) function used by
furthestBlockForFormattingElement is internal to HTMLTreeBuilder.

Moved isSpecialNode to HTMLStackItem and changed
furthestBlockForFormattingElement to be a method of HTMLElementStack.

No behavior change. Just a refactoring.

* html/parser/HTMLElementStack.cpp:
(WebCore):
(WebCore::HTMLElementStack::popUntilNumberedHeaderElementPopped):
(WebCore::HTMLElementStack::hasNumberedHeaderElementInScope):
(WebCore::HTMLElementStack::furthestBlockForFormattingElement):
* html/parser/HTMLElementStack.h:
(HTMLElementStack):
* html/parser/HTMLStackItem.h:
(WebCore::HTMLStackItem::isInHTMLNamespace):
(HTMLStackItem):
(WebCore::HTMLStackItem::isNumberedHeaderElement):
(WebCore::HTMLStackItem::isTableBodyContextElement):
(WebCore::HTMLStackItem::isSpecialNode):
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
(WebCore::HTMLTreeBuilder::processCloseWhenNestedTag):
(WebCore::HTMLTreeBuilder::processStartTagForInBody):
(WebCore::HTMLTreeBuilder::processAnyOtherEndTagForInBody):
(WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
(WebCore::HTMLTreeBuilder::shouldProcessTokenInForeignContent):
(WebCore::HTMLTreeBuilder::processTokenInForeignContent):
* html/parser/HTMLTreeBuilder.h:

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

7 years agoSeparate MarkStackThreadSharedData from MarkStack
mhahnenberg@apple.com [Wed, 22 Aug 2012 21:49:16 +0000 (21:49 +0000)]
Separate MarkStackThreadSharedData from MarkStack
https://bugs.webkit.org/show_bug.cgi?id=94294

Reviewed by Filip Pizlo.

MarkStackThreadSharedData is soon going to have data to allow for a parallel copying
mode too, so to separate our concerns we should split it out into its own set of files
and rename it to GCThreadSharedData. For now this is purely a cosmetic refactoring.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* heap/GCThreadSharedData.cpp: Added.
(JSC):
(JSC::GCThreadSharedData::resetChildren):
(JSC::GCThreadSharedData::childVisitCount):
(JSC::GCThreadSharedData::markingThreadMain):
(JSC::GCThreadSharedData::markingThreadStartFunc):
(JSC::GCThreadSharedData::GCThreadSharedData):
(JSC::GCThreadSharedData::~GCThreadSharedData):
(JSC::GCThreadSharedData::reset):
* heap/GCThreadSharedData.h: Added.
(JSC):
(GCThreadSharedData):
* heap/Heap.h:
(Heap):
* heap/ListableHandler.h:
(ListableHandler):
* heap/MarkStack.cpp:
(JSC::MarkStack::MarkStack):
(JSC::MarkStack::~MarkStack):
* heap/MarkStack.h:
(JSC):
(MarkStack):
(JSC::MarkStack::sharedData):
* heap/MarkStackInlineMethods.h: Added.
(JSC):
(JSC::MarkStack::append):
(JSC::MarkStack::appendUnbarrieredPointer):
(JSC::MarkStack::appendUnbarrieredValue):
(JSC::MarkStack::internalAppend):
(JSC::MarkStack::addWeakReferenceHarvester):
(JSC::MarkStack::addUnconditionalFinalizer):
(JSC::MarkStack::addOpaqueRoot):
(JSC::MarkStack::containsOpaqueRoot):
(JSC::MarkStack::opaqueRootCount):
* heap/SlotVisitor.h:
(JSC):
(SlotVisitor):
(JSC::SlotVisitor::SlotVisitor):

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

7 years agoREGRESSION(r126189): Reftest mismatches are (again) run through ImageDiff with 0...
zandobersek@gmail.com [Wed, 22 Aug 2012 21:42:38 +0000 (21:42 +0000)]
REGRESSION(r126189): Reftest mismatches are (again) run through ImageDiff with 0.1 tolerance
https://bugs.webkit.org/show_bug.cgi?id=94704

Reviewed by Dirk Pranke.

Use tolerance=0 when acquiring diff image of reftest output.

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

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

7 years agoSpeed up compilation of tests involving WebTransformationMatrix
commit-queue@webkit.org [Wed, 22 Aug 2012 21:29:05 +0000 (21:29 +0000)]
Speed up compilation of tests involving WebTransformationMatrix
https://bugs.webkit.org/show_bug.cgi?id=94639

Patch by Nikhil Bhargava <nbhargava@google.com> on 2012-08-22
Reviewed by James Robinson.

EXPECT_TRANSFORMATION_MATRIX_EQ was changed to become mainly a function.
As a macro that expanded into 16 other macros, it caused an unneeded
slow down of close to 45s in the compile time of CCLayerTreeHostCommonTest
Bugs have been filed to clang and gcc noting the errant behavior:
http://llvm.org/bugs/show_bug.cgi?id=13651 and http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54337

* tests/CCLayerTreeHostCommonTest.cpp:
* tests/CCLayerTreeTestCommon.h:
(WebKitTests):
(WebKitTests::ExpectTransformationMatrixEq):
* tests/WebTransformOperationsTest.cpp:
(TEST):
(checkProgress):
* tests/WebTransformationMatrixTest.cpp:
(WebKit::TEST):

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

7 years ago[chromium] Add software bitmap resources to CCResourceProvider
commit-queue@webkit.org [Wed, 22 Aug 2012 21:26:45 +0000 (21:26 +0000)]
[chromium] Add software bitmap resources to CCResourceProvider
https://bugs.webkit.org/show_bug.cgi?id=93677

Patch by Alexandre Elias <aelias@google.com> on 2012-08-22
Reviewed by Adrienne Walker.

Second commit after revert.

This adds the ability to CCResourceProvider to use software bitmaps.
They are allocated as plain-old-memory, and exposed as Skia objects.

We want the ResourceProvider to be able to handle different resource
types at the same time.  In practice, a default resource type is
desired for most uses within a single compositor instance, which is
specified by the default resource type.  Default resource types are
expected to be mostly 1-to-1 with CCRenderer types.

New tests added by parametrizing existing CCResourceProvider tests.

Source/WebCore:

* platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
(WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::applyFilters):
(WebCore::LayerRendererChromium::drawRenderPassQuad):
(WebCore::LayerRendererChromium::drawTileQuad):
(WebCore::LayerRendererChromium::drawYUVVideoQuad):
(WebCore::LayerRendererChromium::drawTextureQuad):
(WebCore::LayerRendererChromium::getFramebufferTexture):
(WebCore::LayerRendererChromium::bindFramebufferToTexture):
* platform/graphics/chromium/LayerRendererChromium.h:
(DrawingFrame):
* platform/graphics/chromium/cc/CCResourceProvider.cpp:
(WebCore::CCResourceProvider::createResource):
(WebCore):
(WebCore::CCResourceProvider::createGLTexture):
(WebCore::CCResourceProvider::createBitmap):
(WebCore::CCResourceProvider::createResourceFromExternalTexture):
(WebCore::CCResourceProvider::deleteResource):
(WebCore::CCResourceProvider::upload):
(WebCore::CCResourceProvider::flush):
(WebCore::CCResourceProvider::shallowFlushIfSupported):
(WebCore::CCResourceProvider::lockForRead):
(WebCore::CCResourceProvider::unlockForRead):
(WebCore::CCResourceProvider::lockForWrite):
(WebCore::CCResourceProvider::unlockForWrite):
(WebCore::CCResourceProvider::ScopedReadLockGL::ScopedReadLockGL):
(WebCore::CCResourceProvider::ScopedReadLockGL::~ScopedReadLockGL):
(WebCore::CCResourceProvider::ScopedWriteLockGL::ScopedWriteLockGL):
(WebCore::CCResourceProvider::ScopedWriteLockGL::~ScopedWriteLockGL):
(WebCore::CCResourceProvider::populateSkBitmapWithResource):
(WebCore::CCResourceProvider::ScopedReadLockSoftware::ScopedReadLockSoftware):
(WebCore::CCResourceProvider::ScopedReadLockSoftware::~ScopedReadLockSoftware):
(WebCore::CCResourceProvider::ScopedWriteLockSoftware::ScopedWriteLockSoftware):
(WebCore::CCResourceProvider::ScopedWriteLockSoftware::~ScopedWriteLockSoftware):
(WebCore::CCResourceProvider::CCResourceProvider):
* platform/graphics/chromium/cc/CCResourceProvider.h:
(WebCore):
(WebCore::CCResourceProvider::setCreationPolicy):
(WebCore::CCResourceProvider::creationPolicy):
(CCResourceProvider):
(ScopedReadLockGL):
(WebCore::CCResourceProvider::ScopedReadLockGL::textureId):
(ScopedWriteLockGL):
(WebCore::CCResourceProvider::ScopedWriteLockGL::textureId):
(ScopedReadLockSoftware):
(WebCore::CCResourceProvider::ScopedReadLockSoftware::skBitmap):
(ScopedWriteLockSoftware):
(WebCore::CCResourceProvider::ScopedWriteLockSoftware::skCanvas):
(Resource):

Source/WebKit/chromium:

* tests/CCResourceProviderTest.cpp:
(WebKit::CCResourceProviderTest::getResourcePixels):

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

7 years agoUpdate the TextTrackCue Constructor
annacc@chromium.org [Wed, 22 Aug 2012 21:24:29 +0000 (21:24 +0000)]
Update the TextTrackCue Constructor
https://bugs.webkit.org/show_bug.cgi?id=88583

Reviewed by Eric Carlson.

The TextTrackCue constructor has been changed to:
[Constructor(double startTime, double endTime, DOMString text)]
http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#texttrackcue

Source/WebCore:

No new tests.  Update to media/track/track-add-remove-cue.html

* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCue::TextTrackCue):
* html/track/TextTrackCue.h:
(WebCore::TextTrackCue::create):
(TextTrackCue):
* html/track/TextTrackCue.idl:
* html/track/WebVTTParser.cpp:
(WebCore::WebVTTParser::createNewCue):

LayoutTests:

* media/track/track-add-remove-cue-expected.txt:
* media/track/track-add-remove-cue.html:

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

7 years agoChanging class attribute is not reflected in the classList property
arv@chromium.org [Wed, 22 Aug 2012 21:19:29 +0000 (21:19 +0000)]
Changing class attribute is not reflected in the classList property
https://bugs.webkit.org/show_bug.cgi?id=93665

Reviewed by Ojan Vafai.

Before this change classAttributeChanged was only called for StyledElement. With this refactoring
it gets called for all Elements when the class attribute changes.

Source/WebCore:

Test: fast/dom/Element/class-list-update.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRules): To match the old behavior we only include StyledElements.
* dom/ClassNodeList.cpp:
(WebCore::ClassNodeList::nodeMatches): Ditto.
* dom/Element.cpp:
(WebCore::Element::attributeChanged): Moved the call to parseAttribute here, from StyledElement::attributeChanged.
(WebCore::Element::parseAttribute): Moved from StyledElement.
(WebCore):
(WebCore::Element::classAttributeChanged): Ditto.
* dom/Element.h:
(Element):
(WebCore::Element::classNames): Ditto.
(WebCore):
* dom/StyledElement.cpp:
(WebCore::StyledElement::attributeChanged): Let Element::attributeChanged call parseAttribtue instead.
(WebCore::StyledElement::parseAttribute): Move the class attribute handling to Element::parseAttribute.
* dom/StyledElement.h:
(StyledElement):

LayoutTests:

* fast/dom/Element/class-list-update-expected.txt: Added.
* fast/dom/Element/class-list-update.html: Added.

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

7 years ago[V8] Replace v8::String::NewSymbol() in CodeGeneratorV8.pm with v8String()
haraken@chromium.org [Wed, 22 Aug 2012 21:14:11 +0000 (21:14 +0000)]
[V8] Replace v8::String::NewSymbol() in CodeGeneratorV8.pm with v8String()
https://bugs.webkit.org/show_bug.cgi?id=94588

Reviewed by Eric Seidel.

v8String() is faster than String::NewSymbol().
This patch implements v8String(char*, Isolate*) and
replaces String::NewSymbol(char*) in CodeGeneratorV8.pm
with v8String(char*, Isolate*).

Performance result:

// 272 nano sec
static v8::Handle<v8::Value> attr3AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
{
    v8::Handle<v8::Value> v1 = v8String(String("foo"));
    v8::Handle<v8::Value> v2 = v8String(String("bar"));
    if (!v1.IsEmpty() && !v2.IsEmpty())
        return v8Undefined();
    return v8::Null(); // Never reach.
}

// 377 nano sec
static v8::Handle<v8::Value> attr4AttrGetter(v8::Local<v8::String> name, const v8::AccessorInfo& info)
{
    v8::Handle<v8::Value> v1 = v8::String::NewSymbol("foo");
    v8::Handle<v8::Value> v2 = v8::String::NewSymbol("bar");
    if (!v1.IsEmpty() && !v2.IsEmpty())
        return v8Undefined();
    return v8::Null(); // Never reach.
}

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateNamedConstructorCallback):
(GenerateNonStandardFunction):
(GenerateImplementation):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::ConfigureV8Float64ArrayTemplate):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::ConfigureV8TestActiveDOMObjectTemplate):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::ConfigureV8TestEventTargetTemplate):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::ConfigureV8TestInterfaceTemplate):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructor::GetTemplate):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::ConfigureV8TestObjTemplate):
(WebCore::V8TestObj::installPerContextProperties):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrGetter):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetter):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedReadonlyValueAttrGetter):
* bindings/v8/V8Binding.h:
(WebCore):
(WebCore::v8String):
* html/HTMLDivElement.idl:

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

7 years ago[Chromium] Need baselines for new paged-x and paged-y tests in fast/overflow after...
kbr@google.com [Wed, 22 Aug 2012 21:05:51 +0000 (21:05 +0000)]
[Chromium] Need baselines for new paged-x and paged-y tests in fast/overflow after r126343
https://bugs.webkit.org/show_bug.cgi?id=94748

Unreviewed gardening; suppressing new failures until baselines are generated.

* platform/chromium/TestExpectations:

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

7 years agoSetting WebKitEnableHTTPPipelining doesn't work if default is true
psolanki@apple.com [Wed, 22 Aug 2012 20:57:06 +0000 (20:57 +0000)]
Setting WebKitEnableHTTPPipelining doesn't work if default is true
https://bugs.webkit.org/show_bug.cgi?id=94537

Reviewed by David Kilzer.

* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::initializeMaximumHTTPConnectionCountPerHost): Read in the HTTP pipelining pref and
allow it to override the default pipelining behavior if it was actually set.

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

7 years ago[chromium] Add touch link highlight animation layers.
wjmaclean@chromium.org [Wed, 22 Aug 2012 20:47:56 +0000 (20:47 +0000)]
[chromium] Add touch link highlight animation layers.
https://bugs.webkit.org/show_bug.cgi?id=84487

Reviewed by James Robinson.

Adds support for creating composited touch link highlights in renderer thread. Clipping not yet
implemented for non-composited frames/overflow divs, but scrolling and layout changes are supported.
Transform support currently limited to translation.

Source/WebCore:

Unit tests for LinkHighlight revised.

Tests: platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-clipped.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scroll-clip.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-clipped.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-clipped.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-rotated.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledX.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledY.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html

* WebCore.gypi:
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::willBeDestroyed): Adds notification to LinkHighlight when layer goes away.
(WebCore::GraphicsLayerChromium::updateNames): Now sets debug name for LinkHighlight layer.
(WebCore::GraphicsLayerChromium::setSize): Invalidates LinkHighlight if present.
(WebCore::GraphicsLayerChromium::setNeedsDisplay): Invalidates LinkHighlight if present.
(WebCore::GraphicsLayerChromium::setNeedsDisplayInRect): Invalidates LinkHighlight if present.
(WebCore::GraphicsLayerChromium::setLinkHighlight): Registers LinkHighlightClient* with GraphicsLayerChromium.
(WebCore::GraphicsLayerChromium::updateChildList): Now adds LinkHighlight WebLayer if highlight active.
(WebCore::GraphicsLayerChromium::updateLayerIsDrawable): Invalidates LinkHighlight if present.
* platform/graphics/chromium/GraphicsLayerChromium.h:
(WebCore):
(LinkHighlightClient): Abstract interface seen by GraphicsLayerChromium.
(WebCore::LinkHighlightClient::~LinkHighlightClient):
(GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::linkHighlight):
* platform/graphics/chromium/LinkHighlight.cpp: Removed.

Source/WebKit/chromium:

Unit tests for LinkHighlight revised.

* WebKit.gyp:
* src/LinkHighlight.cpp: Added.
(WebKit):
(WebKit::LinkHighlight::create):
(WebKit::LinkHighlight::LinkHighlight):
(WebKit::LinkHighlight::~LinkHighlight):
(WebKit::LinkHighlight::contentLayer): Accessor for layer containing highlight.
(WebKit::LinkHighlight::clipLayer): Accessor for layer that provides clipping for highlight.
(WebKit::LinkHighlight::releaseResources): Releases Node* for highlight target, clears client/delegate pointers.
(WebKit::LinkHighlight::computeEnclosingCompositingLayer): Determines which GraphicsLayerChromium to attach highlight to.
(WebKit::LinkHighlight::computeHighlightLayerPathAndPosition): Determines coordinates of highlight in owning GraphicsLayerChromium's coordinates.
(WebKit::LinkHighlight::paintContents): If highlight active, paints highlight.
(WebKit::LinkHighlight::startHighlightAnimation): Called to start highlight animation.
(WebKit::LinkHighlight::clearGraphicsLayerLinkHighlightPointer): Removes this LinkHighlight's pointer from owning GraphicsLayerChromium.
(WebKit::LinkHighlight::notifyAnimationStarted): Implements WebAnimationDelegate.
(WebKit::LinkHighlight::notifyAnimationFinished): Implements WebAnimationDelegate, releases resources when animation completes.
(WebKit::LinkHighlight::updateGeometry): Invokes computation of which GraphicsLayerChromium to attach to, and highlight shape & position.
    Computations proceed only if preceded by call to invalidate().
(WebKit::LinkHighlight::clearCurrentGraphicsLayer): Handles notification that current GraphicsLayerChromium* is no longer valid.
(WebKit::LinkHighlight::invalidate): Sets flag to allow geometry update on next call from WebViewImpl::layout().
(WebKit::LinkHighlight::layer): Exports WebLayer* for use in GraphicsLayerChromium.
* src/LinkHighlight.h: Renamed from Source/WebCore/platform/graphics/chromium/LinkHighlight.h.
(WebCore):
(WebKit):
(LinkHighlight):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleGestureEvent):
(WebKit):
(WebKit::highlightConditions):
(WebKit::WebViewImpl::bestTouchLinkNode): Find highlight target node for touch event location.
(WebKit::WebViewImpl::enableTouchHighlight): Invokes highlight for node at current touch event location.
(WebKit::WebViewImpl::layout): Adds call to LinkHighlight::updateGeometry().
* src/WebViewImpl.h:
(WebKit):
(WebViewImpl):
(WebKit::WebViewImpl::linkHighlight):
* tests/LinkHighlightTest.cpp:
(WebCore):
(WebCore::TEST):
* tests/data/test_touch_link_highlight.html: Added.

LayoutTests:

* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html: Added.
* platform/chromium-linux/compositing/gestures/resources/1-frame-composited.html: Added.
* platform/chromium-linux/compositing/gestures/resources/1-frame-noncomposited.html: Added.
* platform/chromium-linux/compositing/gestures/resources/1-nested-frame-composited.html: Added.
* platform/chromium-linux/compositing/gestures/resources/1-nested-frame-noncomposited.html: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll-expected.txt: Added.
* platform/chromium/TestExpectations:

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

7 years agoWebWidget should be able to paint into a zoomed canvas without aliasing
abarth@webkit.org [Wed, 22 Aug 2012 20:24:56 +0000 (20:24 +0000)]
WebWidget should be able to paint into a zoomed canvas without aliasing
https://bugs.webkit.org/show_bug.cgi?id=92043

Reviewed by James Robinson.

If accelerated compositing is enabled, WebWidget::paint reads back from
the compositor rather than re-painting the widget. That approach works
well if the canvas we're rendering into is at a similar resolution to
the pixels in the compositor, but if the canvas has been scaled (e.g.,
to help the user disambiguate links), then reading back from the
compositor will cause aliasing artifacts.

This patch adds an option to paint to let the embedder request a
software re-rendering of the widget to avoid these aliasing artifacts.

* public/WebWidget.h:
(WebKit::WebWidget::paint):
* src/WebPagePopupImpl.cpp:
(WebKit::WebPagePopupImpl::paint):
* src/WebPagePopupImpl.h:
(WebPagePopupImpl):
* src/WebPopupMenuImpl.cpp:
(WebKit::WebPopupMenuImpl::paint):
* src/WebPopupMenuImpl.h:
* src/WebViewImpl.cpp:
(WebKit::canvasBackgroundForTransparencey):
(WebKit):
(WebKit::WebViewImpl::paint):
* src/WebViewImpl.h:
(WebViewImpl):

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

7 years agohttps://bugs.webkit.org/show_bug.cgi?id=94401
bdakin@apple.com [Wed, 22 Aug 2012 20:20:14 +0000 (20:20 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=94401
Add support for making a web site become paginated using overflow:
paged-x | paged-y
-and corresponding-
<rdar://problem/11831783>

Reviewed by Dave Hyatt.

.:

* Source/autotools/symbols.filter:

Source/WebCore:

This patch adds two new possible values for overflow-y. They are -
webkit-paged-x and -webkit-paged-y. When you set these as overflow-y
values on the html or body element, they make the RenderView
paginated, much like the API on Page.

-webkit-paged-x and -webkit-paged-y are only valid values for
overflow-y, NOT overflow-x. overflow-x defaults to a value of auto
(for now) unless it has been set to something else.
* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):
(WebCore::CSSParser::parseValue):

Two new CSS value keywords.
* css/CSSValueKeywords.in:

EOverflow has two new values for pagination.
* rendering/style/RenderStyleConstants.h:
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator EOverflow):

A bunch of existing code from StyleResolver::styleForDocument() is
moved into a helper function so that it can be called from two
places.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):

Even though this pagination is very similar to Page::pagination(), it
is different in one critical way. Page::pagination() will apply to
all FrameViews, even those in the page cache. For this reason,
FrameView needs to keep its own Pagination value that just applies to
this FrameView.
* page/FrameView.cpp:
* page/FrameView.h:
(WebCore):
(FrameView):

Map RenderStyle values to a Pagination::Mode.
(WebCore::paginationModeForRenderStyle):
(WebCore):

Account for paged-x and paged-y here.
(WebCore::FrameView::applyOverflowToViewport):

As is explained in the header, FrameView::pagination() will return
m_pagination if it has been set. Otherwise, it will return
Page::pagination() since currently there are no callers that need to
distinguish between the two.
(WebCore::FrameView::pagination):
(WebCore::FrameView::setPagination):

Generally this means that everywhere in WebCore should ask FrameView
for the pagination(), not Page. These call sites all look to
FrameView now.
(WebCore::FrameView::paintContents):
* rendering/RenderView.cpp:
(WebCore::RenderView::requiresColumns):
(WebCore::RenderView::calcColumnWidth):
(WebCore::RenderView::paginationUnit):
(WebCore::RenderView::viewLogicalHeight):

Since we need to define Pagination in Page.h AND FrameView.h, it is
now in its own header, Pagination.h. And therefore it is no longer
WebCore::Page::Pagination, but rather it is just WebCore::Pagination.
* page/Page.h:
(Page):
* rendering/Pagination.h: Added.
(WebCore):
(WebCore::Pagination::Pagination):
(Pagination):
(WebCore::Pagination::operator==):
(WebCore::Pagination::operator!=):
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.gypi:

Certain ColumnInfo values are set based on the RenderStyle. So if
those RenderStyle values change, the ColumnInfo needs to be updated.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateColumnInfoFromStyle):
(WebCore):
* rendering/RenderBlock.h:
(RenderBlock):

Factor in paged-x and paged-y when determining if a RenderBlock
requires columns.
(WebCore::RenderBlock::requiresColumns):

RenderStyle::specifiesColumns() is an odd and probably broken
function. At the very least, it should be re-named, if not removed
entirely. It does not accurately assess if columns have been
specified. I had to add this code here because specifiesColumns()
returns false for paged-x and true for paged-y. We were hitting a
number of crashes with paged-y because of this, so I chose for the
time being to limit this check to non-root layers.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::shouldBeNormalFlowOnly):

It's just Pagination now, not Page::Pagination.
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::reset):
(WebCore::InternalSettings::setPagination):

Source/WebKit/mac:

WebCore::Page::Pagination is now just WebCore::Pagination.
* WebView/WebView.mm:
(-[WebView _setPaginationMode:]):
(-[WebView _paginationMode]):
(-[WebView _setPaginationBehavesLikeColumns:]):
(-[WebView _setPageLength:]):
(-[WebView _setGapBetweenPages:]):

Source/WebKit2:

WebCore::Page::Pagination is now just WebCore::Pagination.
* Shared/WebPageCreationParameters.h:
(WebPageCreationParameters):
* UIProcess/API/C/WKPage.cpp:
(WKPageSetPaginationMode):
(WKPageGetPaginationMode):
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::setPaginationMode):
* UIProcess/WebPageProxy.h:
(WebPageProxy):
(WebKit::WebPageProxy::paginationMode):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setPaginationMode):
(WebKit::WebPage::setPaginationBehavesLikeColumns):
(WebKit::WebPage::setPageLength):
(WebKit::WebPage::setGapBetweenPages):
* WebProcess/WebPage/WebPage.h:
(WebPage):

LayoutTests:

Test the parsing of the two new values.
* fast/css/overflow-property-expected.txt:
* fast/css/overflow-property.html:

New tests.
* fast/overflow/paged-x-div.html: Added.
* fast/overflow/paged-x-on-root.html: Added.
* fast/overflow/paged-y-div.html: Added.
* fast/overflow/paged-y-on-root.html: Added.
* platform/mac/fast/overflow/paged-x-div-expected.png: Added.
* platform/mac/fast/overflow/paged-x-div-expected.txt: Added.
* platform/mac/fast/overflow/paged-x-on-root-expected.png: Added.
* platform/mac/fast/overflow/paged-x-on-root-expected.txt: Added.
* platform/mac/fast/overflow/paged-y-div-expected.png: Added.
* platform/mac/fast/overflow/paged-y-div-expected.txt: Added.
* platform/mac/fast/overflow/paged-y-on-root-expected.png: Added.
* platform/mac/fast/overflow/paged-y-on-root-expected.txt: Added.

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

7 years ago[WebGL] Mac/ATI/AMD systems need to translate built-in GLSL functions
dino@apple.com [Wed, 22 Aug 2012 20:14:08 +0000 (20:14 +0000)]
[WebGL] Mac/ATI/AMD systems need to translate built-in GLSL functions
https://bugs.webkit.org/show_bug.cgi?id=94030

Reviewed by Tim Horton.

ATI/AMD GPUs on Apple platforms do not give correct values for some of
the built-in GLSL functions. Add a compile flag that is passed to ANGLE
so that, with this configuration, it will rewrite the shader to emulate
the function in code.

This is exposing some design weaknesses in the way we call ANGLE. We'll
soon need to add more compiler flags; Future bugs will likely clean
this code up. But this approach is satisfactory for the moment.

This change is tested by the Khronos WebGL conformance test suite, in particular:
conformance/glsl/functions/glsl-function-distance.html
conformance/glsl/functions/glsl-function-dot.html
conformance/glsl/functions/glsl-function-length.html

* platform/graphics/ANGLEWebKitBridge.cpp:
(WebCore::ANGLEWebKitBridge::validateShaderSource): Test for ATI cards
on the Mac platform, and pass in an extra flag to the translation step.
* platform/graphics/ANGLEWebKitBridge.h:
(ANGLEWebKitBridge): Add a new parameter to getTranslatedShaderSourceANGLE
that accepts some extra options to pass to ANGLE.
* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE): Pass
the extra options into ANGLE's compile function.

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

7 years ago[chromium] MediaStream API: Add MockWebRTCPeerConnectionHandler
tommyw@google.com [Wed, 22 Aug 2012 19:55:34 +0000 (19:55 +0000)]
[chromium] MediaStream API: Add MockWebRTCPeerConnectionHandler
https://bugs.webkit.org/show_bug.cgi?id=93091

Reviewed by Adam Barth.

Source/WebCore:

Fixing a FIXME that the patch obsoletes.

Covered by existing tests.

* platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
(WebCore::RTCPeerConnectionHandlerChromium::initialize):

Tools:

Add a skeleton MockWebRTCPeerConnectionHandler to DumpRenderTree,
to complete the infrastructure for RTCPeerConnection.

* DumpRenderTree/DumpRenderTree.gypi:
* DumpRenderTree/chromium/MockWebKitPlatformSupport.cpp:
(MockWebKitPlatformSupport::createRTCPeerConnectionHandler):
* DumpRenderTree/chromium/MockWebKitPlatformSupport.h:
(MockWebKitPlatformSupport):
* DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp:
* DumpRenderTree/chromium/MockWebMediaStreamCenter.h:
* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp: Copied from Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.h.
(MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler):
(MockWebRTCPeerConnectionHandler::initialize):
* DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.h: Copied from Tools/DumpRenderTree/chromium/MockWebKitPlatformSupport.h.
(WebKit):
(MockWebRTCPeerConnectionHandler):
(MockWebRTCPeerConnectionHandler::MockWebRTCPeerConnectionHandler):

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

7 years ago[chromium] Simplify updateContentRect, removing rect parameter, refactor unit tests.
commit-queue@webkit.org [Wed, 22 Aug 2012 19:50:01 +0000 (19:50 +0000)]
[chromium] Simplify updateContentRect, removing rect parameter, refactor unit tests.
https://bugs.webkit.org/show_bug.cgi?id=94165

Patch by Eric Penner <epenner@google.com> on 2012-08-22
Reviewed by Adrienne Walker.

Source/WebCore:

Remove visible rect parameter from TiledLayerChromium functions. Passing a
rect that is not the visible rect wouldn't make sense, and soon we might
need further visibility information.

In refactoring the unit tests, I removed texture manager from all tests
and put it in the test class. I also made some utility functions to
simulate the commit flow and remove tons of boilerplate code. I refactored
about half the unit tests to use the utility functions.

Refactored tests.

* platform/graphics/chromium/ContentLayerChromium.cpp:
(WebCore::ContentLayerChromium::update):
(WebCore::ContentLayerChromium::needMoreUpdates):
* platform/graphics/chromium/ImageLayerChromium.cpp:
(WebCore::ImageLayerChromium::update):
* platform/graphics/chromium/TiledLayerChromium.cpp:
(WebCore):
(WebCore::TiledLayerChromium::setTexturePriorities):
(WebCore::TiledLayerChromium::resetUpdateState):
(WebCore::TiledLayerChromium::update):
(WebCore::TiledLayerChromium::needsIdlePaint):
(WebCore::TiledLayerChromium::idlePaintRect):
* platform/graphics/chromium/TiledLayerChromium.h:
(TiledLayerChromium):

Source/WebKit/chromium:

Refactored tests to remove lots of boilerplate code.

* tests/CCTiledLayerTestCommon.cpp:
* tests/CCTiledLayerTestCommon.h:
(FakeTiledLayerChromium):
* tests/TiledLayerChromiumTest.cpp:

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

7 years ago[BlackBerry] Make all pickers non-zoomable
commit-queue@webkit.org [Wed, 22 Aug 2012 19:38:45 +0000 (19:38 +0000)]
[BlackBerry] Make all pickers non-zoomable
https://bugs.webkit.org/show_bug.cgi?id=94729

Patch by Crystal Zhang <haizhang@rim.com> on 2012-08-22
Reviewed by Antonio Gomes.

Move HTML header initialization to PagePopupBlackBerry as that part are all the same, and make all pickers non-zoomable.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::screenSize):
(WebKit):
* Api/WebPage_p.h:
(WebPagePrivate):
* WebCoreSupport/DatePickerClient.cpp:
(WebCore::DatePickerClient::generateHTML):
(WebCore::DatePickerClient::writeDocument):
* WebCoreSupport/PagePopupBlackBerry.cpp:
(WebCore::PagePopupBlackBerry::init):
(WebCore::PagePopupBlackBerry::generateHTML):
(WebCore):
* WebCoreSupport/PagePopupBlackBerry.h:
(PagePopupBlackBerry):
* WebCoreSupport/SelectPopupClient.cpp:
(WebCore::SelectPopupClient::generateHTML):
(WebCore::SelectPopupClient::writeDocument):

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

7 years agoSkipping css3/flexbox/flexitem.html.
commit-queue@webkit.org [Wed, 22 Aug 2012 19:37:03 +0000 (19:37 +0000)]
Skipping css3/flexbox/flexitem.html.
https://bugs.webkit.org/show_bug.cgi?id=94723.

Patch by Mark Lam <mark.lam@apple.com> on 2012-08-22
Reviewed by Simon Fraser.

* platform/mac/Skipped:

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

7 years ago[BlackBerry] Add a check to filter out cookies that tries to set the
commit-queue@webkit.org [Wed, 22 Aug 2012 19:36:53 +0000 (19:36 +0000)]
[BlackBerry] Add a check to filter out cookies that tries to set the
domain to a top level domain
https://bugs.webkit.org/show_bug.cgi?id=94722

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-08-22
Reviewed by Rob Buis.

Adding conditions to check whether a cookie domain is a top level domain.
If it is, throw it out when parsing.

Manual Testing by trying to insert a cookie with an invalid domain
using web-inspector. (ex: when on news.yahoo.com.hk, try to document.
cookie="test1=seeifthiscookieexist; domain=.com.hk")

PR121622

* platform/blackberry/CookieParser.cpp:
WebCore::CookieParser::parseOneCookie):

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

7 years agoRemove RenderBlock::paintEllipsisBoxes
rwlbuis@webkit.org [Wed, 22 Aug 2012 19:34:31 +0000 (19:34 +0000)]
Remove RenderBlock::paintEllipsisBoxes
https://bugs.webkit.org/show_bug.cgi?id=94709

Reviewed by Eric Seidel.

Remove unused method.

No change in functionality, no new tests.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintFloats):
* rendering/RenderBlock.h:
(RenderBlock):

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

7 years agoMerge TestExpectationSerializer into TestExpectationLine
rniwa@webkit.org [Wed, 22 Aug 2012 19:32:41 +0000 (19:32 +0000)]
Merge TestExpectationSerializer into TestExpectationLine
https://bugs.webkit.org/show_bug.cgi?id=94638

Reviewed by Dimitri Glazkov.

Moved all methods except, list_to_string which was moved to TestExpectations
from TestExpectationSerializer to TestExpectationLine and removed TestExpectationSerializer.

* Scripts/webkitpy/layout_tests/controllers/test_expectations_editor_unittest.py:
(TestExpectationEditorTests.assert_remove_roundtrip):
(TestExpectationEditorTests.assert_update_roundtrip):
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(ParseError.__repr__):
(TestExpectationLine):
(TestExpectationLine.create_passing_expectation):
(TestExpectationLine.to_string): Moved from TestExpectationSerializer.
(TestExpectationLine.to_csv): Ditto.
(TestExpectationLine._serialize_parsed_expectations): Ditto.
(TestExpectationLine._serialize_parsed_modifiers): Ditto.
(TestExpectationLine._format_line):
(TestExpectations.remove_configuration_from_test):
(TestExpectations.remove_rebaselined_tests):
(TestExpectations.add_skipped_tests):
(TestExpectations):
(TestExpectations.list_to_string): Moved from TestExpectationSerializer.
(TestExpectations.list_to_string.serialize):
(TestExpectations.list_to_string.nones_out):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(TestExpectationSerializationTests): Renamed from TestExpectationSerializerTests.
(TestExpectationSerializationTests.__init__):
(TestExpectationSerializationTests.assert_round_trip):
(TestExpectationSerializationTests.assert_list_round_trip):
(TestExpectationSerializationTests.test_unparsed_to_string):
(TestExpectationSerializationTests.test_unparsed_list_to_string):
(TestExpectationSerializationTests.test_parsed_to_string):
(TestExpectationSerializationTests.test_serialize_parsed_expectations):
(TestExpectationSerializationTests.test_serialize_parsed_modifier_string):
(TestExpectationSerializationTests.test_format_line):
(TestExpectationSerializationTests.test_reconstitute_only_these):
* Scripts/webkitpy/tool/commands/expectations.py:
(OptimizeExpectations.execute):
* Scripts/webkitpy/tool/commands/queries.py:
(PrintExpectations.execute):
(PrintExpectations._format_lines):
* Scripts/webkitpy/tool/servers/gardeningserver.py:
(GardeningExpectationsUpdater.update_expectations):

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

7 years agoMediaStream API: Introduce RTCSessionDescription
tommyw@google.com [Wed, 22 Aug 2012 19:30:08 +0000 (19:30 +0000)]
MediaStream API: Introduce RTCSessionDescription
https://bugs.webkit.org/show_bug.cgi?id=93119

Reviewed by Adam Barth.

Source/WebCore:

This patch introduces RTCSessionDescription together with its
corresponding WebCore/platform representation.

Test: fast/mediastream/RTCSessionDescription.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/mediastream/DOMWindowMediaStream.idl:
* Modules/mediastream/RTCSessionDescription.cpp: Added.
(WebCore):
(WebCore::RTCSessionDescription::create):
(WebCore::RTCSessionDescription::RTCSessionDescription):
(WebCore::RTCSessionDescription::~RTCSessionDescription):
(WebCore::RTCSessionDescription::type):
(WebCore::RTCSessionDescription::setType):
(WebCore::RTCSessionDescription::sdp):
(WebCore::RTCSessionDescription::setSdp):
(WebCore::RTCSessionDescription::descriptor):
* Modules/mediastream/RTCSessionDescription.h: Added.
(WebCore):
(RTCSessionDescription):
* Modules/mediastream/RTCSessionDescription.idl: Added.
* WebCore.gypi:
* platform/mediastream/RTCSessionDescriptionDescriptor.cpp: Added.
(WebCore):
(WebCore::RTCSessionDescriptionDescriptor::create):
(WebCore::RTCSessionDescriptionDescriptor::RTCSessionDescriptionDescriptor):
(WebCore::RTCSessionDescriptionDescriptor::~RTCSessionDescriptionDescriptor):
* platform/mediastream/RTCSessionDescriptionDescriptor.h: Added.
(WebCore):
(RTCSessionDescriptionDescriptor):
(WebCore::RTCSessionDescriptionDescriptor::type):
(WebCore::RTCSessionDescriptionDescriptor::setType):
(WebCore::RTCSessionDescriptionDescriptor::sdp):
(WebCore::RTCSessionDescriptionDescriptor::setSdp):

LayoutTests:

* fast/mediastream/RTCSessionDescription-expected.txt: Added.
* fast/mediastream/RTCSessionDescription.html: Added.

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

7 years agoUnreviewed, add aelias@chromium.org to committers
aelias@chromium.org [Wed, 22 Aug 2012 19:27:51 +0000 (19:27 +0000)]
Unreviewed, add aelias@chromium.org to committers

I (aelias@chromium.org) have been approved for commit access and Apple
has confirmed receipt of my committer agreement.

* Scripts/webkitpy/common/config/committers.py:

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

7 years agoDOM manipulation crashes the browser
victor@rosedu.org [Wed, 22 Aug 2012 19:27:41 +0000 (19:27 +0000)]
DOM manipulation crashes the browser

Creating a DOM track element by script and changing the mode crashes
results in a browser crash.
https://bugs.webkit.org/show_bug.cgi?id=94628

Reviewed by Eric Carlson.

Source/WebCore:

Simple fix that creates the text track cue list in case of mode change.

Test: media/track/track-element-dom-change-crash.html

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::textTrackModeChanged):

LayoutTests:

* media/track/track-element-dom-change-crash-expected.txt: Added.
* media/track/track-element-dom-change-crash.html: Added.

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

7 years agoMicrodata build fix.
rniwa@webkit.org [Wed, 22 Aug 2012 19:24:58 +0000 (19:24 +0000)]
Microdata build fix.

* html/HTMLPropertiesCollection.h:
(WebCore::HTMLPropertiesCollection::updatePropertyCache):

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Wed, 22 Aug 2012 19:21:34 +0000 (19:21 +0000)]
Unreviewed GTK gardening.

Adding platform-specific baseline for css3/flexbox/flexitem.html that's
required after r126257.

Removing failure expectation for fast/forms/range/range-hit-test-with-padding.html
after the test was refactored in r126252 and is now passing.

Skipping two more failing tests that take too long to fail.

* platform/gtk/TestExpectations:
* platform/gtk/css3/flexbox: Added.
* platform/gtk/css3/flexbox/flexitem-expected.txt: Added.

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

7 years agoMediaStream API: Introduce RTCIceCandidate
tommyw@google.com [Wed, 22 Aug 2012 19:18:34 +0000 (19:18 +0000)]
MediaStream API: Introduce RTCIceCandidate
https://bugs.webkit.org/show_bug.cgi?id=93117

Reviewed by Adam Barth.

Source/WebCore:

This patch introduces RTCIceCandidate together with its corresponding
WebCore/platform representation.

Test: fast/mediastream/RTCIceCandidate.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/mediastream/DOMWindowMediaStream.idl:
* Modules/mediastream/RTCIceCandidate.cpp: Added.
(WebCore):
(WebCore::RTCIceCandidate::create):
(WebCore::RTCIceCandidate::RTCIceCandidate):
(WebCore::RTCIceCandidate::~RTCIceCandidate):
(WebCore::RTCIceCandidate::candidate):
(WebCore::RTCIceCandidate::sdpMid):
(WebCore::RTCIceCandidate::sdpMLineIndex):
(WebCore::RTCIceCandidate::descriptor):
* Modules/mediastream/RTCIceCandidate.h: Added.
(WebCore):
(RTCIceCandidate):
* Modules/mediastream/RTCIceCandidate.idl: Added.
* WebCore.gypi:
* platform/mediastream/RTCIceCandidateDescriptor.cpp: Added.
(WebCore):
(WebCore::RTCIceCandidateDescriptor::create):
(WebCore::RTCIceCandidateDescriptor::RTCIceCandidateDescriptor):
(WebCore::RTCIceCandidateDescriptor::~RTCIceCandidateDescriptor):
* platform/mediastream/RTCIceCandidateDescriptor.h: Added.
(WebCore):
(RTCIceCandidateDescriptor):
(WebCore::RTCIceCandidateDescriptor::candidate):
(WebCore::RTCIceCandidateDescriptor::sdpMid):
(WebCore::RTCIceCandidateDescriptor::sdpMLineIndex):

LayoutTests:

* fast/mediastream/RTCIceCandidate-expected.txt: Added.
* fast/mediastream/RTCIceCandidate.html: Added.

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

7 years ago[chromium] Remove WebFrame::setSelectionToRange
commit-queue@webkit.org [Wed, 22 Aug 2012 19:09:05 +0000 (19:09 +0000)]
[chromium] Remove WebFrame::setSelectionToRange
https://bugs.webkit.org/show_bug.cgi?id=94685

Patch by Iain Merrick <husky@chromium.org> on 2012-08-22
Reviewed by Adam Barth.

It has basically the same functionality as WebFrame::selectRange.
The calling code was removed in Chromium patch 152608.

* public/WebFrame.h:
(WebFrame):
* src/WebFrameImpl.cpp:
* src/WebFrameImpl.h:
(WebFrameImpl):

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

7 years ago<http://webkit.org/b/94679> WebCore scrolling thread leaks objects due to them being...
mrowe@apple.com [Wed, 22 Aug 2012 19:00:09 +0000 (19:00 +0000)]
<webkit.org/b/94679> WebCore scrolling thread leaks objects due to them being autoreleased without any autorelease pool in place

Reviewed by Dan Bernstein.

* page/scrolling/mac/ScrollingThreadMac.mm:
(WebCore::ScrollingThread::threadRunLoopSourceCallback): Ensure that an autorelease pool is in place when
dispatching functions on the scrolling thread.

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

7 years agoFailure to dispatch delegate callbacks if resource load fails synchronously
psolanki@apple.com [Wed, 22 Aug 2012 18:44:37 +0000 (18:44 +0000)]
Failure to dispatch delegate callbacks if resource load fails synchronously
https://bugs.webkit.org/show_bug.cgi?id=94644

Reviewed by Antti Koivisto.

Resource loads can be triggered by layout after document load is
complete but before we have dispatched didFinishLoadForFrame callback.
In such cases, if the load fails synchronously due to the client
returning 0 from willSendRequest callback, we would fail to call
didFinishLoading. this was fixed for Font resources in r122446 for bug
91018. This fixes it in the general case by having CachedResourceLoader
call FrameLoader::checkLoadComplete() when it is done loading all
resources.

* css/CSSFontSelector.cpp:
(WebCore::CSSFontSelector::beginLoadTimerFired):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::decrementRequestCount):

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

7 years agoLayout test fast/text/emphasis-overlap.html started failing differently after r126312
kbr@google.com [Wed, 22 Aug 2012 18:33:59 +0000 (18:33 +0000)]
Layout test fast/text/emphasis-overlap.html started failing differently after r126312
https://bugs.webkit.org/show_bug.cgi?id=94735

Unreviewed gardening. Suppressed failure.

* platform/chromium/TestExpectations:

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

7 years agoUnreviewed, rolling out r126319.
kbr@google.com [Wed, 22 Aug 2012 18:17:46 +0000 (18:17 +0000)]
Unreviewed, rolling out r126319.
http://trac.webkit.org/changeset/126319
https://bugs.webkit.org/show_bug.cgi?id=84487

Broke Chromium Mac build

Source/WebCore:

* WebCore.gypi:
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::willBeDestroyed):
(WebCore::GraphicsLayerChromium::updateNames):
(WebCore::GraphicsLayerChromium::setSize):
(WebCore::GraphicsLayerChromium::setNeedsDisplay):
(WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
(WebCore::GraphicsLayerChromium::addLinkHighlight):
(WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
(WebCore):
(WebCore::GraphicsLayerChromium::updateChildList):
(WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
* platform/graphics/chromium/GraphicsLayerChromium.h:
(WebCore):
(GraphicsLayerChromium):
* platform/graphics/chromium/LinkHighlight.cpp: Added.
(WebCore):
(WebCore::LinkHighlight::create):
(WebCore::LinkHighlight::LinkHighlight):
(WebCore::LinkHighlight::~LinkHighlight):
(WebCore::LinkHighlight::contentLayer):
(WebCore::LinkHighlight::paintContents):
(WebCore::LinkHighlight::notifyAnimationStarted):
(WebCore::LinkHighlight::notifyAnimationFinished):
* platform/graphics/chromium/LinkHighlight.h: Renamed from Source/WebKit/chromium/src/LinkHighlight.h.
(WebCore):
(LinkHighlight):

Source/WebKit/chromium:

* WebKit.gyp:
* src/LinkHighlight.cpp: Removed.
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleGestureEvent):
(WebKit::WebViewImpl::computeScaleAndScrollForHitRect):
(WebKit::WebViewImpl::layout):
* src/WebViewImpl.h:
(WebKit):
(WebViewImpl):
* tests/LinkHighlightTest.cpp:
* tests/data/test_touch_link_highlight.html: Removed.

LayoutTests:

* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html: Removed.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html: Removed.
* platform/chromium-linux/compositing/gestures/resources/1-frame-composited.html: Removed.
* platform/chromium-linux/compositing/gestures/resources/1-frame-noncomposited.html: Removed.
* platform/chromium-linux/compositing/gestures/resources/1-nested-frame-composited.html: Removed.
* platform/chromium-linux/compositing/gestures/resources/1-nested-frame-noncomposited.html: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-expected.txt: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll-expected.png: Removed.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll-expected.txt: Removed.

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

7 years agoLayout Test fast/repaint/japanese-rl-selection-repaint-in-regions.html is failing...
kbr@google.com [Wed, 22 Aug 2012 18:14:35 +0000 (18:14 +0000)]
Layout Test fast/repaint/japanese-rl-selection-repaint-in-regions.html is failing after r126304
https://bugs.webkit.org/show_bug.cgi?id=94730

Unreviewed; suppressed failure for the moment.

* platform/chromium/TestExpectations:

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

7 years agoRespect system setting for rubber-banding in ScrollAnimatorMac.
commit-queue@webkit.org [Wed, 22 Aug 2012 17:59:26 +0000 (17:59 +0000)]
Respect system setting for rubber-banding in ScrollAnimatorMac.
https://bugs.webkit.org/show_bug.cgi?id=94356

Patch by Alexei Svitkine <asvitkine@chromium.org> on 2012-08-22
Reviewed by James Robinson.

Respects user defaults setting of NSScrollViewRubberbanding,
which controls rubber-banding in other Mac OS X applications.

If NSScrollViewRubberbanding is not set, defaults to enabling
rubber banding. Otherwise, rubber banding is disabled if the
value is 0 and enabled otherwise.

No new tests since the behavior depends on system settings.

* platform/mac/ScrollAnimatorMac.mm:
(WebCore):
(WebCore::rubberBandingEnabledForSystem):
(WebCore::ScrollAnimatorMac::handleWheelEvent):

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

7 years ago[chromium/mac] Remove unnecessary checks for OS version <= 10.5. We don't support...
commit-queue@webkit.org [Wed, 22 Aug 2012 17:56:48 +0000 (17:56 +0000)]
[chromium/mac] Remove unnecessary checks for OS version <= 10.5. We don't support those
https://bugs.webkit.org/show_bug.cgi?id=94658

Patch by James Robinson <jamesr@chromium.org> on 2012-08-22
Reviewed by Tony Chang.

The chromium mac port hasn't supported Leopard for a while now, so remove chromium-specific code that checks
for OS X version <= Leopard.

* platform/graphics/chromium/CrossProcessFontLoading.mm:
(WebCore::FontPlatformData::loadFont):
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::canSetCascadeListForCustomFont):

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

7 years ago[chromium] Add touch link highlight animation layers.
wjmaclean@chromium.org [Wed, 22 Aug 2012 17:51:44 +0000 (17:51 +0000)]
[chromium] Add touch link highlight animation layers.
https://bugs.webkit.org/show_bug.cgi?id=84487

Reviewed by James Robinson.

Adds support for creating composited touch link highlights in renderer thread. Clipping not yet
implemented for non-composited frames/overflow divs, but scrolling and layout changes are supported.
Transform support currently limited to translation.

Source/WebCore:

Unit tests for LinkHighlight revised.

Tests: platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-clipped.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scroll-clip.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-clipped.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-clipped.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-rotated.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledX.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaledY.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html
       platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html

* WebCore.gypi:
* platform/graphics/chromium/GraphicsLayerChromium.cpp:
(WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::willBeDestroyed): Adds notification to LinkHighlight when layer goes away.
(WebCore::GraphicsLayerChromium::updateNames): Now sets debug name for LinkHighlight layer.
(WebCore::GraphicsLayerChromium::setSize): Invalidates LinkHighlight if present.
(WebCore::GraphicsLayerChromium::setNeedsDisplay): Invalidates LinkHighlight if present.
(WebCore::GraphicsLayerChromium::setNeedsDisplayInRect): Invalidates LinkHighlight if present.
(WebCore::GraphicsLayerChromium::setLinkHighlight): Registers LinkHighlightClient* with GraphicsLayerChromium.
(WebCore::GraphicsLayerChromium::updateChildList): Now adds LinkHighlight WebLayer if highlight active.
(WebCore::GraphicsLayerChromium::updateLayerIsDrawable): Invalidates LinkHighlight if present.
* platform/graphics/chromium/GraphicsLayerChromium.h:
(WebCore):
(LinkHighlightClient): Abstract interface seen by GraphicsLayerChromium.
(WebCore::LinkHighlightClient::~LinkHighlightClient):
(GraphicsLayerChromium):
(WebCore::GraphicsLayerChromium::linkHighlight):
* platform/graphics/chromium/LinkHighlight.cpp: Removed.

Source/WebKit/chromium:

Unit tests for LinkHighlight revised.

* WebKit.gyp:
* src/LinkHighlight.cpp: Added.
(WebKit):
(WebKit::LinkHighlight::create):
(WebKit::LinkHighlight::LinkHighlight):
(WebKit::LinkHighlight::~LinkHighlight):
(WebKit::LinkHighlight::contentLayer): Accessor for layer containing highlight.
(WebKit::LinkHighlight::clipLayer): Accessor for layer that provides clipping for highlight.
(WebKit::LinkHighlight::releaseResources): Releases Node* for highlight target, clears client/delegate pointers.
(WebKit::LinkHighlight::computeEnclosingCompositingLayer): Determines which GraphicsLayerChromium to attach highlight to.
(WebKit::LinkHighlight::computeHighlightLayerPathAndPosition): Determines coordinates of highlight in owning GraphicsLayerChromium's coordinates.
(WebKit::LinkHighlight::paintContents): If highlight active, paints highlight.
(WebKit::LinkHighlight::startHighlightAnimation): Called to start highlight animation.
(WebKit::LinkHighlight::clearGraphicsLayerLinkHighlightPointer): Removes this LinkHighlight's pointer from owning GraphicsLayerChromium.
(WebKit::LinkHighlight::notifyAnimationStarted): Implements WebAnimationDelegate.
(WebKit::LinkHighlight::notifyAnimationFinished): Implements WebAnimationDelegate, releases resources when animation completes.
(WebKit::LinkHighlight::updateGeometry): Invokes computation of which GraphicsLayerChromium to attach to, and highlight shape & position.
    Computations proceed only if preceded by call to invalidate().
(WebKit::LinkHighlight::clearCurrentGraphicsLayer): Handles notification that current GraphicsLayerChromium* is no longer valid.
(WebKit::LinkHighlight::invalidate): Sets flag to allow geometry update on next call from WebViewImpl::layout().
(WebKit::LinkHighlight::layer): Exports WebLayer* for use in GraphicsLayerChromium.
* src/LinkHighlight.h: Renamed from Source/WebCore/platform/graphics/chromium/LinkHighlight.h.
(WebCore):
(WebKit):
(LinkHighlight):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::handleGestureEvent):
(WebKit):
(WebKit::highlightConditions):
(WebKit::WebViewImpl::bestTouchLinkNode): Find highlight target node for touch event location.
(WebKit::WebViewImpl::enableTouchHighlight): Invokes highlight for node at current touch event location.
(WebKit::WebViewImpl::layout): Adds call to LinkHighlight::updateGeometry().
* src/WebViewImpl.h:
(WebKit):
(WebViewImpl):
(WebKit::WebViewImpl::linkHighlight):
* tests/LinkHighlightTest.cpp:
(WebCore):
(WebCore::TEST):
* tests/data/test_touch_link_highlight.html: Added.

LayoutTests:

* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll.html: Added.
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple.html: Added.
* platform/chromium-linux/compositing/gestures/resources/1-frame-composited.html: Added.
* platform/chromium-linux/compositing/gestures/resources/1-frame-noncomposited.html: Added.
* platform/chromium-linux/compositing/gestures/resources/1-nested-frame-composited.html: Added.
* platform/chromium-linux/compositing/gestures/resources/1-nested-frame-noncomposited.html: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-clipped-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-composite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-composited-scrolled-late-noncomposite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-iframe-scrolled-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scroll-clip-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-composited-scrolled-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-2-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-layout-change-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-composite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-1-overflow-div-scrolled-late-noncomposite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-composited-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-inner-late-composite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-iframe-scrolled-outer-late-composite-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-inner-scroll-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-composited-outer-scroll-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-inner-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-2-overflow-div-scrolled-outer-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-expected.txt: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll-expected.png: Added.
* platform/chromium-linux/platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-window-scroll-expected.txt: Added.

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

7 years agoBrowser menu visible when calling webkitRequestFullscreen after user manually enters...
jer.noble@apple.com [Wed, 22 Aug 2012 17:50:22 +0000 (17:50 +0000)]
Browser menu visible when calling webkitRequestFullscreen after user manually enters full screen mode
https://bugs.webkit.org/show_bug.cgi?id=93892

Reviewed by Eric Carlson.

Allow the full screen window to "Join All Spaces", so that once it's original full screen space is destroyed,
it can join the new one.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController _startEnterFullScreenAnimationWithDuration:]):

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

7 years agoUnreviewed Chromium gardening. Copy old Mac test expectations
kbr@google.com [Wed, 22 Aug 2012 17:41:40 +0000 (17:41 +0000)]
Unreviewed Chromium gardening. Copy old Mac test expectations
(ignored anyway) for this Mac-specific test after r126219.

* platform/chromium/platform/mac/fast/text/vertical-surrogate-pair-expected.png: Added.
* platform/chromium/platform/mac/fast/text/vertical-surrogate-pair-expected.txt: Added.

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

7 years agoUnskip http/tests/inspector/console-resource-errors.html.
commit-queue@webkit.org [Wed, 22 Aug 2012 17:33:16 +0000 (17:33 +0000)]
Unskip http/tests/inspector/console-resource-errors.html.
https://bugs.webkit.org/show_bug.cgi?id=94640.

Patch by Mark Lam <mark.lam@apple.com> on 2012-08-22
Reviewed by Jessie Berlin.

The test has been rebaseline'd in r126281 and no longer fails.

* platform/mac/Skipped:

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

7 years agoUnreviewed build fix. Missing PANGO_CFLAGS.
kov@webkit.org [Wed, 22 Aug 2012 17:19:53 +0000 (17:19 +0000)]
Unreviewed build fix. Missing PANGO_CFLAGS.

* GNUmakefile.am:

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

7 years agoWeb Inspector: make "sdk" component compile independently from the rest of the front...
pfeldman@chromium.org [Wed, 22 Aug 2012 17:10:21 +0000 (17:10 +0000)]
Web Inspector: make "sdk" component compile independently from the rest of the front-end.
https://bugs.webkit.org/show_bug.cgi?id=94705

Reviewed by Vsevolod Vlasov.

Source/WebCore:

This change refactors the way we compile. Running "compile-front-end.py sdk" will compile sdk only.
It also introduces DOMStorageModel and DatabaseModel that are used to split model / UI layers.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/InjectedScriptExterns.js:
(InjectedScriptHost.prototype.evaluate):
* inspector/Inspector.json:
* inspector/compile-front-end.py:
(dump_module):
* inspector/front-end/CompilerScriptMapping.js:
* inspector/front-end/ConsoleModel.js:
(WebInspector.ConsoleMessage):
(WebInspector.ConsoleMessage.prototype.clone):
(WebInspector.ConsoleMessage.prototype.location):
* inspector/front-end/DOMAgent.js:
* inspector/front-end/DOMStorage.js:
(WebInspector.DOMStorageModel):
(WebInspector.DOMStorageModel.prototype._addDOMStorage):
(WebInspector.DOMStorageModel.prototype._domStorageUpdated):
(WebInspector.DOMStorageModel.prototype.storageForId):
(WebInspector.DOMStorageModel.prototype.storages):
(WebInspector.DOMStorageDispatcher):
(WebInspector.DOMStorageDispatcher.prototype.addDOMStorage):
(WebInspector.DOMStorageDispatcher.prototype.domStorageUpdated):
* inspector/front-end/Database.js:
(WebInspector.Database):
(WebInspector.Database.prototype.executeSql):
(WebInspector.DatabaseModel):
(WebInspector.DatabaseModel.prototype.databases):
(WebInspector.DatabaseModel.prototype.databaseForId):
(WebInspector.DatabaseModel.prototype._addDatabase):
(WebInspector.DatabaseModel.prototype._sqlTransactionSucceeded):
(WebInspector.DatabaseModel.prototype._sqlTransactionFailed):
(WebInspector.DatabaseDispatcher):
(WebInspector.DatabaseDispatcher.prototype.addDatabase):
(WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
(WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
* inspector/front-end/DebuggerModel.js:
* inspector/front-end/FileUtils.js:
(WebInspector.OutputStreamDelegate.prototype.onTransferStarted):
(WebInspector.OutputStreamDelegate.prototype.onChunkTransferred):
(WebInspector.OutputStreamDelegate.prototype.onTransferFinished):
(WebInspector.OutputStreamDelegate.prototype.onError):
(WebInspector.OutputStream):
(WebInspector.OutputStream.prototype.startTransfer):
(WebInspector.OutputStream.prototype.transferChunk):
(WebInspector.OutputStream.prototype.finishTransfer):
(WebInspector.OutputStream.prototype.dispose):
* inspector/front-end/HandlerRegistry.js:
* inspector/front-end/HeapSnapshotView.js:
* inspector/front-end/InspectorFrontendHostStub.js:
* inspector/front-end/PresentationConsoleMessageHelper.js:
(WebInspector.PresentationConsoleMessageHelper.prototype._parsedScriptSource):
* inspector/front-end/ResourcesPanel.js:
(WebInspector.ResourcesPanel):
(WebInspector.ResourcesPanel.prototype._reset):
(WebInspector.ResourcesPanel.prototype._databaseAdded):
(WebInspector.ResourcesPanel.prototype._addDatabase):
(WebInspector.ResourcesPanel.prototype._domStorageAdded):
(WebInspector.ResourcesPanel.prototype._addDOMStorage):
(WebInspector.ResourcesPanel.prototype._showDatabase.get if):
(WebInspector.ResourcesPanel.prototype._showDatabase.else.get if):
(WebInspector.ResourcesPanel.prototype._showDatabase):
(WebInspector.ResourcesPanel.prototype._showDOMStorage.get if):
(WebInspector.ResourcesPanel.prototype._showDOMStorage):
(WebInspector.ResourcesPanel.prototype._updateDatabaseTables.get if):
(WebInspector.ResourcesPanel.prototype._updateDatabaseTables.tableNamesCallback):
(WebInspector.DatabaseTreeElement.prototype.onselect):
(WebInspector.DatabaseTableTreeElement.prototype.onselect):
(WebInspector.DOMStorageTreeElement.prototype.onselect):
* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.showFunctionDefinition):
* inspector/front-end/SearchController.js:
(WebInspector.SearchController.prototype.disableSearchUntilExplicitAction):
* inspector/front-end/Settings.js:
* inspector/front-end/Spectrum.js:
* inspector/front-end/TextEditorModel.js:
* inspector/front-end/UIString.js: Added.
(WebInspector.UIString):
* inspector/front-end/UIUtils.js:
* inspector/front-end/WebKit.qrc:
* inspector/front-end/externs.js:
(InspectorFrontendHostAPI.prototype.platform):
(InspectorFrontendHostAPI.prototype.port):
(InspectorFrontendHostAPI.prototype.bringToFront):
(InspectorFrontendHostAPI.prototype.closeWindow):
(InspectorFrontendHostAPI.prototype.requestAttachWindow):
(InspectorFrontendHostAPI.prototype.requestDetachWindow):
(InspectorFrontendHostAPI.prototype.requestSetDockSide):
(InspectorFrontendHostAPI.prototype.setAttachedWindowHeight):
(InspectorFrontendHostAPI.prototype.moveWindowBy):
(InspectorFrontendHostAPI.prototype.setInjectedScriptForOrigin):
(InspectorFrontendHostAPI.prototype.loaded):
(InspectorFrontendHostAPI.prototype.localizedStringsURL):
(InspectorFrontendHostAPI.prototype.hiddenPanels):
(InspectorFrontendHostAPI.prototype.inspectedURLChanged):
(InspectorFrontendHostAPI.prototype.documentCopy):
(InspectorFrontendHostAPI.prototype.copyText):
(InspectorFrontendHostAPI.prototype.openInNewTab):
(InspectorFrontendHostAPI.prototype.canSave):
(InspectorFrontendHostAPI.prototype.save):
(InspectorFrontendHostAPI.prototype.canAppend):
(InspectorFrontendHostAPI.prototype.append):
(InspectorFrontendHostAPI.prototype.sendMessageToBackend):
(InspectorFrontendHostAPI.prototype.recordActionTaken):
(InspectorFrontendHostAPI.prototype.recordPanelShown):
(InspectorFrontendHostAPI.prototype.recordSettingChanged):
(InspectorFrontendHostAPI.prototype.loadResourceSynchronously):
(InspectorFrontendHostAPI.prototype.setZoomFactor):
(InspectorFrontendHostAPI.prototype.canInspectWorkers):
(SourceMapV3):
(SourceMapV3.Section):
(SourceMapV3.Offset):
* inspector/front-end/inspector.html:
* inspector/front-end/inspector.js:
(WebInspector.inspect):

LayoutTests:

* http/tests/inspector-enabled/database-open.html:
* http/tests/inspector-enabled/dom-storage-open.html:

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

7 years agoUnreviewed build fix. libWebCore needs include paths
kov@webkit.org [Wed, 22 Aug 2012 17:05:33 +0000 (17:05 +0000)]
Unreviewed build fix. libWebCore needs include paths
for some bits of WebCoreGtk.

* GNUmakefile.am:

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

7 years agoFontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::platformBou...
commit-queue@webkit.org [Wed, 22 Aug 2012 16:53:51 +0000 (16:53 +0000)]
FontMetrics.unitsPerEm(), FontPlatformData.orientation(), SimpleFontData::platformBoundsForGlyph are not implemented on Chromium Windows
https://bugs.webkit.org/show_bug.cgi?id=83512

Patch by Koji Ishii <kojiishi@gmail.com> on 2012-08-22
Reviewed by Tony Chang.

Source/WebCore:

Chromium Windows does not implement following 3 functions that are required for bug 51450.
1. FontMetrics.unitsPerEm() always returns the default value (gDefaultUnitsPerEm = 1000).
2. FontPlatformData.orientation() always returns Horizontal.
3. SimpleFontData::platformBoundsForGlyph() always returns FloatRect().
Tony suggested in bug 51450 review to split code that is not behind
#if ENABLE(OPENTYPE_VERTICAL) to a separate patch.

Test: Following 3 existing but skipped tests are now enabled and pass.
      fast/text/emphasis-overlap.html
      fast/text/emphasis-avoid-ruby.html
      fast/repaint/text-emphasis-v.html

* platform/graphics/chromium/FontCacheChromiumWin.cpp:
(WebCore::FontCache::createFontPlatformData): Add orientation.
* platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
(WebCore::FontPlatformData::FontPlatformData): Add orientation.
(WebCore::FontPlatformData::operator=): Add orientation.
* platform/graphics/chromium/FontPlatformDataChromiumWin.h:
(FontPlatformData):
(WebCore::FontPlatformData::orientation): Add orientation.
(WebCore::FontPlatformData::setOrientation): Add orientation.
(WebCore::FontPlatformData::operator==): Add orientation.
* platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
(WebCore::SimpleFontData::platformInit): Set FontMetrics.unitsPerEm.
(WebCore::SimpleFontData::createScaledFontData): Add orientation.
(WebCore::SimpleFontData::platformBoundsForGlyph): Implemented.
* platform/graphics/skia/FontCustomPlatformData.cpp:
(WebCore::FontCustomPlatformData::fontPlatformData): Add orientation.

LayoutTests:

Chromium Windows does not implement following 3 functions that are required for bug 51450.
1. FontMetrics.unitsPerEm() always returns the default value (gDefaultUnitsPerEm = 1000).
   This change requires rebaseline of fast/repaint/stacked-diacritics and fast/text/emphasis-overlap.
2. FontPlatformData.orientation() always returns Horizontal. This has no effect as of this patch.
3. SimpleFontData::platformBoundsForGlyph() always returns FloatRect().
   This change improves rendering of text-emphasis and 3 existing tests pass now.
Tony suggested in bug 51450 review to split code that is not behind
#if ENABLE(OPENTYPE_VERTICAL) to a separate patch.

* platform/chromium-win/fast/repaint/stacked-diacritics-expected.png:
* platform/chromium-win/fast/text/emphasis-overlap-expected.txt: Added due to metrics change.
* platform/chromium/TestExpectations: Enabled 3 tests for Chromium Win.

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

7 years ago [WK2] Support posting injected bundle messages to a page
ap@apple.com [Wed, 22 Aug 2012 16:36:47 +0000 (16:36 +0000)]
    [WK2] Support posting injected bundle messages to a page
        https://bugs.webkit.org/show_bug.cgi?id=94630

        Reviewed by Sam Weinig.

        * Shared/APIClientTraits.cpp:
        * Shared/APIClientTraits.h:
        * Shared/CoreIPCSupport/InjectedBundleMessageKinds.h:
        * UIProcess/API/C/WKPage.cpp:
        (WKPagePostMessageToInjectedBundle):
        * UIProcess/API/C/WKPage.h:
        * UIProcess/WebPageProxy.cpp:
        (WebKit::WebPageProxy::postMessageToInjectedBundle):
        * UIProcess/WebPageProxy.h:
        * WebProcess/InjectedBundle/API/c/WKBundle.h:
        * WebProcess/InjectedBundle/InjectedBundle.cpp:
        (WebKit::InjectedBundle::didReceiveMessageToPage):
        (WebKit::InjectedBundle::didReceiveMessage):
        * WebProcess/InjectedBundle/InjectedBundle.h:
        * WebProcess/InjectedBundle/InjectedBundleClient.cpp:
        (WebKit::InjectedBundleClient::didReceiveMessageToPage):
        * WebProcess/InjectedBundle/InjectedBundleClient.h:
        (InjectedBundleClient):
        Added a PostMessageToPage injected bundle message type, with all associated
        machinery. API is WKPagePostMessageToInjectedBundle(), and an associated
        didReceiveMessageToPage() injected bundle client function.

        * WebProcess/qt/QtBuiltinBundle.cpp: (WebKit::QtBuiltinBundle::initialize):
        Updated for new client API.

        * UIProcess/WebContext.cpp: (WebKit::WebContext::postMessageToInjectedBundle):
        Implemented multiple process model case.

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

7 years agoREGRESSION(r125578): fast/regex/unicodeCaseInsensitive.html crash on Linux Debug...
robert@webkit.org [Wed, 22 Aug 2012 16:07:44 +0000 (16:07 +0000)]
REGRESSION(r125578): fast/regex/unicodeCaseInsensitive.html crash on Linux Debug Chromium
https://bugs.webkit.org/show_bug.cgi?id=94010

Reviewed by Tony Chang.

r125578 inspected the raw text run for word-end but the index it used to do so was for a normalized
version of the run that could be longer than the raw text run. So to allow proper detection of word-end
in complex text (i) do not normalize tabs to plain white-space and (ii) go back to using the normalized version
of the run for detecting word-end. There is a risk that some fonts may create glyphs for the '\t' character
but this does not turn up in any of our regression tests and the more common risk appears to be the new-line.

Test: fast/regex/unicodeCaseInsensitive.html

* platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
(WebCore::normalizeSpacesAndMirrorChars):

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

7 years agoREGRESSION (r125710): accessibility/accessibility-node-reparent.html, accessibility...
dmazzoni@google.com [Wed, 22 Aug 2012 16:01:10 +0000 (16:01 +0000)]
REGRESSION (r125710): accessibility/accessibility-node-reparent.html, accessibility/accessibility-node-memory-management.html failing on GTK Linux
https://bugs.webkit.org/show_bug.cgi?id=94200

Reviewed by Chris Fleizach.

Tools:

Adds reference counting for AtkObjects referenced by
AccessibilityUIElementGtk. This prevents bogus results and
assertion failures on AccessibilityUIElements whose underlying
object has been deleted (as opposed to just made defunct).

This fixes two tests that were previously failing because of this bug.

* DumpRenderTree/gtk/AccessibilityUIElementGtk.cpp:
(AccessibilityUIElement::AccessibilityUIElement):
(AccessibilityUIElement::~AccessibilityUIElement):

LayoutTests:

This patch fixes two tests and removes them from gtk expectations.

* platform/gtk/TestExpectations:

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

7 years agoWeb Inspector: [WebGL] Support the communication protocol from the injected script
commit-queue@webkit.org [Wed, 22 Aug 2012 15:54:59 +0000 (15:54 +0000)]
Web Inspector: [WebGL] Support the communication protocol from the injected script
https://bugs.webkit.org/show_bug.cgi?id=94689

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-08-22
Reviewed by Pavel Feldman.

Support the WebGL communication protocol from the injected script module.

* inspector/InjectedScriptWebGLModuleSource.js:
(.):

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

7 years ago[GTK] Crash when finalizing WebKitWebView
carlosgc@webkit.org [Wed, 22 Aug 2012 15:53:21 +0000 (15:53 +0000)]
[GTK] Crash when finalizing WebKitWebView
https://bugs.webkit.org/show_bug.cgi?id=94699

Reviewed by Martin Robinson.

Create the offscreen window the first time accelerated compositing
is enabled, so that if it's never enabled the window won't be
created.

* WebCoreSupport/AcceleratedCompositingContextGL.cpp:
(WebKit::AcceleratedCompositingContext::AcceleratedCompositingContext):
(WebKit::AcceleratedCompositingContext::initialize):
(WebKit::AcceleratedCompositingContext::setRootCompositingLayer):

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

7 years ago[GTK] Split WebCore/platform into a separate library
kov@webkit.org [Wed, 22 Aug 2012 15:47:53 +0000 (15:47 +0000)]
[GTK] Split WebCore/platform into a separate library
https://bugs.webkit.org/show_bug.cgi?id=94435

Reviewed by Martin Robinson.

More people have been reporting problems when linking WebCore because
the command line limit is being exceeded. Splitting WebCore a bit more
is in order.

.:

* GNUmakefile.am: add variable that will hold the list of source files
for libWebCorePlatform .

Source/WebCore:

* GNUmakefile.am: add new libWebCorePlatform convenience library.
* GNUmakefile.list.am: move list of platform/* files to its own variable.

Source/WebKit/gtk:

* GNUmakefile.am: link libWebCorePlatform into libwebkitgtk

Source/WebKit2:

* GNUmakefile.am: link libWebCorePlatform into libwebkit2gtk

Tools:

* GNUmakefile.am: link libWebCorePlatform into DRT

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

7 years ago[EFL] Build failures with harfbuzz outside standard locations
rakuco@webkit.org [Wed, 22 Aug 2012 15:46:01 +0000 (15:46 +0000)]
[EFL] Build failures with harfbuzz outside standard locations
https://bugs.webkit.org/show_bug.cgi?id=93030

Reviewed by Rob Buis.

Add ${HARFBUZZ_INCLUDE_DIRS} to the list of included paths: so far
it was being implicitly pulled from evas's pkg-config file, and
used to work when WebKit-EFL's dependencies were built with
jhbuild -- in this case, harfbuzz is built before evas, which is
then built with harfbuzz support and adds the required paths to
its .pc file.

We need to include things directly to account for the case of
people not using jhbuild and thus not necessarily having harfbuzz
as an evas dependency.

* PlatformEfl.cmake:

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

7 years agoCrash in WebCore::RenderBlock::removeChild
commit-queue@webkit.org [Wed, 22 Aug 2012 15:34:57 +0000 (15:34 +0000)]
Crash in WebCore::RenderBlock::removeChild
https://bugs.webkit.org/show_bug.cgi?id=93879

Patch by Raul Hudea <rhudea@adobe.com> on 2012-08-22
Reviewed by Abhishek Arya.

Source/WebCore:

By adding the lifetime state to the RenderNamedFlowThread (r122556), it become possible for the a RenderRegion object to delete its sibling,
the RenderNamedFlowThread. This is unexpected in the rendering world and cause problems in RenderBlock::removeChild where we retain previous
and next sibling pointers.
So, all the RenderNamedFlowThread are created under a RenderFlowThreadContainer object insted of the RenderView. The new object is created only
when the first named flow is created.

Test: fast/regions/remove-flow-thread-crash.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* rendering/FlowThreadController.cpp:
(WebCore::FlowThreadController::FlowThreadController): Added initialization for the new RenderFlowThreadContainer member
(WebCore::FlowThreadController::ensureRenderFlowThreadWithName): Added the creation of the RenderFlowThreadContainer object and use it as a parent for all RenderNamedFlowThreads
(WebCore::FlowThreadController::styleDidChange): Inform all the RenderNamedFlowThreads that the style changed in regions (initially this code was in RenderView, but now all RenderNamedFlowThreads are children of RenderFlowThreadContainer)
(WebCore):
* rendering/FlowThreadController.h:
(WebCore):
(FlowThreadController):
* rendering/RenderFlowThreadContainer.cpp: Added.
(WebCore):
(WebCore::RenderFlowThreadContainer::RenderFlowThreadContainer):
(WebCore::RenderFlowThreadContainer::layout):
* rendering/RenderFlowThreadContainer.h: Added.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::markContainingBlocksForLayout): Skip to RenderView if the current object is an RenderFlowThreadContainer.
* rendering/RenderObject.h:
(WebCore::RenderObject::isRenderFlowThreadContainer):
* rendering/RenderView.cpp:
(WebCore::RenderView::styleDidChange): Moved the code associated to RenderNamedFlowThreads to FlowThreadController:styleDidChange and call it instead.

LayoutTests:

Test the region-flow_thread sibling case

* fast/regions/remove-flow-thread-crash-expected.txt: Added.
* fast/regions/remove-flow-thread-crash.html: Added.

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

7 years ago[BlackBerry] Add RSS content handling support
rwlbuis@webkit.org [Wed, 22 Aug 2012 15:28:37 +0000 (15:28 +0000)]
[BlackBerry] Add RSS content handling support
https://bugs.webkit.org/show_bug.cgi?id=93496

Reviewed by Yong Li.

Cleanup some more.

* platform/network/blackberry/rss/RSSFilterStream.cpp:
(WebCore):
(WebCore::createParser):
(WebCore::defaultEncodingForLanguage):
(WebCore::isTranscodingNeeded):

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

7 years agoRemove unused TextDrawingMode flags from GraphicsContext
caio.oliveira@openbossa.org [Wed, 22 Aug 2012 14:51:56 +0000 (14:51 +0000)]
Remove unused TextDrawingMode flags from GraphicsContext
https://bugs.webkit.org/show_bug.cgi?id=21898

Reviewed by Benjamin Poulain.

Remove TextModeClip and TextModeInvisible. These are not used by any port, and
according to https://bugs.webkit.org/show_bug.cgi?id=42110#c2 these were added
just to map CG existing flags, but are not used.

* platform/graphics/GraphicsContext.h:
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::setPlatformTextDrawingMode):
* platform/graphics/openvg/PainterOpenVG.cpp:
(WebCore::PainterOpenVG::drawText):
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::setTextDrawingMode):

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

7 years agoUnreviewed, rolling out r126287.
ossy@webkit.org [Wed, 22 Aug 2012 14:13:19 +0000 (14:13 +0000)]
Unreviewed, rolling out r126287.
http://trac.webkit.org/changeset/126287
https://bugs.webkit.org/show_bug.cgi?id=94708

It made WK1 layout testing 3.7x slower (>1hours) (Requested by
ossy on #webkit).

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

Source/WebCore:

* bridge/qt/qt_instance.cpp:
(JSC::Bindings::unusedWeakObjectMapCallback):
(Bindings):
(JSC::Bindings::WeakMapImpl::WeakMapImpl):
(JSC::Bindings::WeakMapImpl::~WeakMapImpl):
(JSC::Bindings::WeakMap::~WeakMap):
(JSC::Bindings::WeakMap::set):
(JSC::Bindings::WeakMap::get):
(JSC::Bindings::WeakMap::remove):
* bridge/qt/qt_instance.h:
(QtInstance):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::prototypeForSignalsAndSlots):
(JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
(JSC::Bindings::QtRuntimeMethod::call):
(JSC::Bindings::QtRuntimeMethod::jsObjectRef):
(JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
* bridge/qt/qt_runtime.h:
(QtRuntimeMethod):

Source/WebKit/qt:

* tests/qobjectbridge/tst_qobjectbridge.cpp:
(tst_QObjectBridge::objectDeleted):
(tst_QObjectBridge::introspectQtMethods_data):
(tst_QObjectBridge::introspectQtMethods):

LayoutTests:

* platform/qt/Skipped:

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

7 years agoNot reviewed: follow up to r126297, fixing WebCore.gypi.
pfeldman@chromium.org [Wed, 22 Aug 2012 14:11:30 +0000 (14:11 +0000)]
Not reviewed: follow up to r126297, fixing WebCore.gypi.

* WebCore.gypi:

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

7 years agoUnreviewed buildfix for Qt-minimal after r126291
allan.jensen@nokia.com [Wed, 22 Aug 2012 14:00:57 +0000 (14:00 +0000)]
Unreviewed buildfix for Qt-minimal after r126291

Disable smooth scrolling when request-animation-frame has been disabled either
explicitly or as part of --minimal.

* qmake/mkspecs/features/features.prf:

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

7 years ago[GTK] Preferred languages and spellchecker APIs are not consistent in WebKit2
carlosgc@webkit.org [Wed, 22 Aug 2012 13:34:13 +0000 (13:34 +0000)]
[GTK] Preferred languages and spellchecker APIs are not consistent in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=94683

Reviewed by Alejandro G. Castro.

Source/WebCore:

Use a Vector<String> instead of a comma-separated string to
get/set languages.

* platform/text/gtk/TextCheckerEnchant.cpp:
(TextCheckerEnchant::updateSpellCheckingLanguages):
(TextCheckerEnchant::getSpellCheckingLanguages):
* platform/text/gtk/TextCheckerEnchant.h:
(TextCheckerEnchant):

Source/WebKit/gtk:

* webkit/webkitspellcheckerenchant.cpp:
(updateSpellCheckingLanguages): Split the languages string to pass a
Vector to updateSpellCheckingLanguages().

Source/WebKit2:

Change spell-checker and preferred languages API to use a GStrv
instead of a comma-separated string and GList. This makes the API
more consistent and convenient to use.

* UIProcess/API/gtk/WebKitTextChecker.cpp:
(WebKitTextChecker::getSpellCheckingLanguages): Return a
Vector<String> instead of a String.
(WebKitTextChecker::setSpellCheckingLanguages): Receive a
Vector<String> instead of a String.
* UIProcess/API/gtk/WebKitTextChecker.h:
(WebKitTextChecker): Use a GPtrArray to cache languages.
* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkit_web_context_get_spell_checking_languages):
(webkit_web_context_set_spell_checking_languages):
(webkit_web_context_set_preferred_languages):
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/tests/TestWebKitWebContext.cpp:
(testWebContextSpellChecker):
(testWebContextLanguages):

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

7 years agoWeb Inspector: move NavigatorView and NavigatorOverlayController to ScriptsPanel...
pfeldman@chromium.org [Wed, 22 Aug 2012 13:22:51 +0000 (13:22 +0000)]
Web Inspector: move NavigatorView and NavigatorOverlayController to ScriptsPanel module
https://bugs.webkit.org/show_bug.cgi?id=94693

Reviewed by Vsevolod Vlasov.

Loading them via importScript now.

* inspector/compile-front-end.py:
* inspector/front-end/ScriptsPanel.js:
* inspector/front-end/inspector.html:

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

7 years ago[Qt][WK2] Enable runtime enabled features: DeviceMotion and DeviceOrientation
ossy@webkit.org [Wed, 22 Aug 2012 13:21:59 +0000 (13:21 +0000)]
[Qt][WK2] Enable runtime enabled features: DeviceMotion and DeviceOrientation
https://bugs.webkit.org/show_bug.cgi?id=94692

Reviewed by Kenneth Rohde Christiansen.

* WebProcess/qt/WebProcessQt.cpp:
(WebKit::WebProcess::platformInitializeWebProcess):

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

7 years agoWrong default for new ScrollAnimatorEnabled preference.
allan.jensen@nokia.com [Wed, 22 Aug 2012 13:12:26 +0000 (13:12 +0000)]
Wrong default for new ScrollAnimatorEnabled preference.

Reviewed by Simon Hausmann.

ScrollAnimatorEnabled introduced in r126291, should default to 'true'
to preserve existing behaviour on WK2 platforms that already enabled
SMOOTH_SCROLLING unconditionally.

* Shared/WebPreferencesStore.h:
(WebKit):

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

7 years agoFix JSC build when DFG-JIT is disabled
commit-queue@webkit.org [Wed, 22 Aug 2012 13:12:17 +0000 (13:12 +0000)]
Fix JSC build when DFG-JIT is disabled
https://bugs.webkit.org/show_bug.cgi?id=94694

Patch by Gabor Ballabas <gaborb@inf.u-szeged.hu> on 2012-08-22
Reviewed by Csaba Osztrogon√°c.

Adding an appropriate guard for fixing the build.

* bytecode/ResolveGlobalStatus.cpp:
(JSC):

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

7 years agoUnreviewed, build fixup for r126291.
allan.jensen@nokia.com [Wed, 22 Aug 2012 12:50:08 +0000 (12:50 +0000)]
Unreviewed, build fixup for r126291.

* Shared/WebPreferencesStore.h:
(WebKit):

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

7 years ago[EFL] Support slider tick mark snapping
commit-queue@webkit.org [Wed, 22 Aug 2012 12:48:46 +0000 (12:48 +0000)]
[EFL] Support slider tick mark snapping
https://bugs.webkit.org/show_bug.cgi?id=94560

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-08-22
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Increased the threshold for the EFL port. The value is snapped
when it clicked near tick mark.

No new tests. Covered by fast/forms/datalist/range-snap-to-datalist.html.

* platform/efl/RenderThemeEfl.cpp:
(WebCore):
(WebCore::RenderThemeEfl::sliderTickSnappingThreshold):
* platform/efl/RenderThemeEfl.h:
(RenderThemeEfl):

LayoutTests:

The expected result of fast/forms/datalist/range-snap-to-datalist.html
is updated because slider tick mark snapping threshold is changed.

* platform/efl/fast/forms/datalist/range-snap-to-datalist-expected.txt:

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

7 years ago[Qt] Optionally support smooth-scrolling on all platforms
allan.jensen@nokia.com [Wed, 22 Aug 2012 12:46:06 +0000 (12:46 +0000)]
[Qt] Optionally support smooth-scrolling on all platforms
https://bugs.webkit.org/show_bug.cgi?id=74926

Reviewed by Simon Hausmann.

Source/WebCore:

Make GestureAnimations depend on the GESTURE_ANIMATION feature flag,
since GestureAnimations are unused on some platforms.

* Target.pri:
* platform/ScrollAnimatorNone.cpp:
(WebCore::ScrollAnimatorNone::fireUpAnAnimation):
(WebCore::ScrollAnimatorNone::cancelAnimations):
(WebCore::ScrollAnimatorNone::animationTimerFired):
* platform/ScrollAnimatorNone.h:
(ScrollAnimatorNone):

Source/WebKit/qt:

Expose the enable scroll animator setting.

* Api/qwebsettings.cpp:
(QWebSettingsPrivate::apply):
(QWebSettings::QWebSettings):
* Api/qwebsettings.h:

Source/WebKit2:

Expose scroll-animator preference, but ensure animated smooth scrolling
on the web process side is disabled when scrolling has been delegated
to the UI process.

* Shared/WebPreferencesStore.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::setResizesToContentsUsingLayoutSize):
(WebKit::WebPage::updatePreferences):

Source/WTF:

Initialize GESTURE_ANIMATION feature flag.

* wtf/Platform.h:

Tools:

Enabled SMOOTH_SCROLLING on Qt, and expose the enable scroll animator
setting in QtTestBrowser so it can be tested.

* QtTestBrowser/launcherwindow.cpp:
(LauncherWindow::createChrome):
(LauncherWindow::toggleScrollAnimator):
* QtTestBrowser/launcherwindow.h:
(WindowOptions::WindowOptions):
(WindowOptions):
(LauncherWindow):
* qmake/mkspecs/features/features.pri:

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

7 years ago[Qt] Port convertQVariantToValue to use the JSC C API
hausmann@webkit.org [Wed, 22 Aug 2012 12:26:18 +0000 (12:26 +0000)]
[Qt] Port convertQVariantToValue to use the JSC C API
https://bugs.webkit.org/show_bug.cgi?id=93889

Reviewed by Kenneth Rohde Christiansen.

Based on patch by Noam Rosenthal.

This patch is another step towards reducing the use of internal JSC API
in the Qt bridge. Most of the conversion from QVariant to JS values is
straight-forward. The biggest behavioural change is that QVariant lists
are converted on-the-spot instead of lazily. Bug #94691 tracks fixing
that.

* bridge/qt/qt_instance.cpp:
(Bindings):
(JSC::Bindings::QtField::valueFromInstance):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::convertQVariantToValue):
(JSC::Bindings::QtRuntimeMethod::call):
(JSC::Bindings::QtConnectionObject::execute):
(JSC::Bindings::::valueAt):
* bridge/qt/qt_runtime.h:
(Bindings):

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

7 years ago[EFL] Unreviewed gardening.
dominik.rottsches@intel.com [Wed, 22 Aug 2012 11:21:39 +0000 (11:21 +0000)]
[EFL] Unreviewed gardening.

Gardening after r126025 & r126275.

* platform/efl/TestExpectations: Unskipping one, skipping another.

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

7 years agoTest and test expectation of Shadow DOM for button should be fixed.
shinyak@chromium.org [Wed, 22 Aug 2012 10:59:39 +0000 (10:59 +0000)]
Test and test expectation of Shadow DOM for button should be fixed.
https://bugs.webkit.org/show_bug.cgi?id=94674

Reviewed by Hajime Morita.

Now that the HTMLButtonElement was AuthroShadowDOM-ready, it's time to update the previous
failing tests for AuthroShadowDOM for button elements.

I've updated the failing tests to follow the current implementation and updated the test expectations.

* fast/dom/shadow/shadowdom-for-button-complex-shadow-expected.html:
* fast/dom/shadow/shadowdom-for-button-complex-shadow.html:
* fast/dom/shadow/shadowdom-for-button-only-shadow-expected.html:
* fast/dom/shadow/shadowdom-for-button-only-shadow.html:
* fast/dom/shadow/shadowdom-for-button-without-shadow-expected.html:
* fast/dom/shadow/shadowdom-for-button-without-shadow.html:
* platform/chromium/TestExpectations:
* platform/efl/TestExpectations:

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

7 years ago[Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
hausmann@webkit.org [Wed, 22 Aug 2012 10:42:10 +0000 (10:42 +0000)]
[Qt] REGRESSION(r125428): fast/profiler/nested-start-and-stop-profiler.html fails
https://bugs.webkit.org/show_bug.cgi?id=93897

Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Before r125428 run-time methods (wrapped signals, slots or invokable
functions) were subclasses of JSInternalFunction and therefore real
function objects in the JavaScript sense. r125428 changed them to be
just callable objects, but they did not have Function.prototype as
prototype anymore for example nor was their name correct (resulting in
a layout test failure).

This patch changes run-time methods back to being real function objects
that have a correct name and have Function.prototype in their prototype
change

The objects returned by JSObjectMakeFunctionWithCallbackInjected are
light-weight internal function objects that do not support
JSObject{Set/Get}Private. Therefore we inject our own prototype right
before the Function.prototype prototype, which uses private data to
store a pointer to our C++ QtRuntimeMethod object.  This complicates
the retrieval of the pointer to that instance slightly, which is why
this patch introduces the toRuntimeMethod convenience function that
looks up our prototype first and does a check for type-safety.

At the same time the patch removes the length properties from the
run-time method itself as well as connect/disconnect.  The length
property on a function signifies the number of arguments, but in all
three cases that number is actually variable, because of overloading.
That is why we choose not to expose it in the first place.

In QtInstance we cache the JS wrapper objects for QtRuntimeMethod in a
JSWeakObjectMap. JSWeakObjectMap requires the stored objects to be
either the result of JSObjectMake or the global object of a context ref
(AFAICS), which is ensured using an ASSERT. Objects created via
JSObjectMakeFunctionWithCalllback do not fall into the required
category, cause a failing assertion and can therefore not be stored in
the weak object map.

Consequently this patch removes the use of JSWeakObjectMap again and
goes back to the old way of using the internal Weak<> API, for the time
being. In a future patch the storage will be simplified to not require
the use of a weak object map cache for the run-time methods anymore.

* bridge/qt/qt_instance.cpp: Remove unused WeakMap code.
* bridge/qt/qt_instance.h: Remove method cache.
(QtInstance):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::prototypeForSignalsAndSlots):
(JSC::Bindings::QtRuntimeMethod::call):
(JSC::Bindings::QtRuntimeMethod::jsObjectRef):
(JSC::Bindings::QtRuntimeMethod::toRuntimeMethod):
(Bindings):
(JSC::Bindings::QtRuntimeMethod::connectOrDisconnect):
* bridge/qt/qt_runtime.h:
(QtRuntimeMethod): Remove unused member variables.

Source/WebKit/qt:

Fixed some test expectations.

* tests/qobjectbridge/tst_qobjectbridge.cpp:
(tst_QObjectBridge::objectDeleted): Since runtime methods are real function objects again, we
can go back to testing Function.prototype.call, as it was done before r125428.
(tst_QObjectBridge::introspectQtMethods_data): Removed tests for the length property.
(tst_QObjectBridge::introspectQtMethods): Changed test expectation of the properties of
run-time methods back to being non-configurable, as before r125428.

LayoutTests:

* platform/qt/Skipped: Unskip test that is now passing.

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

7 years agowindow.postMessage() / MessagePort.postMessage() throw wrong exception for invalid...
commit-queue@webkit.org [Wed, 22 Aug 2012 10:37:10 +0000 (10:37 +0000)]
window.postMessage() / MessagePort.postMessage() throw wrong exception for invalid ports argument
https://bugs.webkit.org/show_bug.cgi?id=94581

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-08-22
Reviewed by Kentaro Hara.

Source/WebCore:

Update JSC and V8 implementations of window.postMessage() and
MessagePort.postMessage() in order to throw an
INVALID_STATE_ERR instead of a DATA_CLONE_ERR when values
in the "ports" argument are invalid. Additionally, we now
check for duplicate ports and throw an exception for this
case as well.

This change was made to comply with the latest HTML5
specification at:
http://www.w3.org/TR/html5/comms.html

No new tests, already tested by:
fast/events/constructors/message-event-constructor.html
fast/events/message-port-clone.html
fast/events/message-port-multi.html
fast/workers/worker-context-multi-port.html
fast/workers/worker-multi-port.html

* bindings/js/JSMessagePortCustom.cpp:
(WebCore::fillMessagePortArray):
* bindings/v8/V8Utilities.cpp:
(WebCore::extractTransferables):
* dom/MessagePort.cpp:
(WebCore::MessagePort::postMessage):

LayoutTests:

Update several tests and their expected results now that an
INVALID_STATE_ERR is thrown instead of a DATA_CLONE_ERROR
when window.postMessage() / MessagePort.postMessage() are
called with invalid values in their 'ports' argument.

* fast/events/constructors/message-event-constructor-expected.txt:
* fast/events/constructors/message-event-constructor.html: Stop using duplicate
ports in the test since it throws an exception now.
* fast/events/message-port-clone-expected.txt:
* fast/events/message-port-multi-expected.txt:
* fast/events/resources/message-port-multi.js: Add check for duplicate port case.
* fast/workers/worker-context-multi-port-expected.txt:
* fast/workers/worker-multi-port-expected.txt:

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

7 years agoRemove chromium/fast/js/array-functions-non-arrays-expected.txt and add WebKit bug...
commit-queue@webkit.org [Wed, 22 Aug 2012 10:30:35 +0000 (10:30 +0000)]
Remove chromium/fast/js/array-functions-non-arrays-expected.txt and add WebKit bug id to chromium/TestExpectation.
https://bugs.webkit.org/show_bug.cgi?id=94682

Patch by Ulan Degenbaev <ulan@chromium.org> on 2012-08-22
Reviewed by Kentaro Hara.

Only one failing test case remains in array-functions-non-arrays and it is being tracked by Bug 94681.

* platform/chromium/TestExpectations:
* platform/chromium/fast/js/array-functions-non-arrays-expected.txt: Removed.

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

7 years ago[TouchAdjustment] Adjust to word or selection
allan.jensen@nokia.com [Wed, 22 Aug 2012 10:23:55 +0000 (10:23 +0000)]
[TouchAdjustment] Adjust to word or selection
https://bugs.webkit.org/show_bug.cgi?id=94449

Reviewed by Antonio Gomes.

Source/WebCore:

Makes each separate word a separate subtarget when context menu triggers
selections, and only the selected part of a partial selected node a
target when selections are not overridden.

Fix of reverted commit r126026, fix misplaced ASSERT.

Test: touchadjustment/context-menu-text-subtargets.html

* page/TouchAdjustment.cpp:
(TouchAdjustment):
(WebCore::TouchAdjustment::providesContextMenuItems):
(WebCore::TouchAdjustment::appendQuadsToSubtargetList):
(WebCore::TouchAdjustment::appendBasicSubtargetsForNode):
(WebCore::TouchAdjustment::appendContextSubtargetsForNode):
(WebCore::TouchAdjustment::compileSubtargetList):
(WebCore::findBestClickableCandidate):
(WebCore::findBestContextMenuCandidate):

LayoutTests:

Tests that touch-adjustment can adjust to the right subtargets within text-nodes.

* touchadjustment/context-menu-select-text.html:
* touchadjustment/context-menu-text-subtargets-expected.txt: Added.
* touchadjustment/context-menu-text-subtargets.html: Added.
* touchadjustment/resources/touchadjustment.js:
(pointToString):
(shouldBeWithin):

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

7 years agoWeb Inspector: [WebGL] Generic framework draft for tracking WebGL resources
caseq@chromium.org [Wed, 22 Aug 2012 09:19:06 +0000 (09:19 +0000)]
Web Inspector: [WebGL] Generic framework draft for tracking WebGL resources
https://bugs.webkit.org/show_bug.cgi?id=90597

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-08-22
Reviewed by Pavel Feldman.

Wrap WebGL rendering context methods and collect a trace log if we are in capturing mode.
Stubbed code for collecting calls contributing to a WebGL resource state so that we could replay them later.

Typical scenario:
- we wrap a GL context with InjectedScript.wrapWebGLContext() and return a proxy to the inspected page
- the proxy saves all calls necessary to do a replay later - only those that modify a resource's state
- when we turn on capturing mode (InjectedScript.captureFrame), we save all WebGL calls to a trace log

* inspector/InjectedScriptSource.js:
(.):
* inspector/InjectedScriptWebGLModuleSource.js:
(.):

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

7 years ago[Qt][GTK] REGRESSION(r126194): http/tests/security/contentSecurityPolicy/register...
ossy@webkit.org [Wed, 22 Aug 2012 09:10:23 +0000 (09:10 +0000)]
[Qt][GTK] REGRESSION(r126194): http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html fails
https://bugs.webkit.org/show_bug.cgi?id=94677

Unreviewed gardening.

Patch by Balazs Ankes <bank@inf.u-szeged.hu> on 2012-08-22

* platform/qt/Skipped:

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

7 years ago[Qt] Unreviewed gardening.
ossy@webkit.org [Wed, 22 Aug 2012 09:09:54 +0000 (09:09 +0000)]
[Qt] Unreviewed gardening.

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-08-22

* http/tests/inspector/console-resource-errors-expected.txt: Rebaseline after r126168.
* platform/qt/Skipped: Skip tests using disabled SHADOW_DOM feature.

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

7 years agoWeb Inspector: [WebGL] Add minimum transport protocol from backend to frontend
caseq@chromium.org [Wed, 22 Aug 2012 08:50:22 +0000 (08:50 +0000)]
Web Inspector: [WebGL] Add minimum transport protocol from backend to frontend
https://bugs.webkit.org/show_bug.cgi?id=88973

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-08-22
Reviewed by Pavel Feldman.

Added the following protocol methods to communicate with the WebGL injected
module: captureFrame, getTraceLog, dropTraceLog, replayTraceLog.

* inspector/CodeGeneratorInspector.py:
* inspector/InjectedScriptWebGLModule.cpp:
(WebCore::InjectedScriptWebGLModule::captureFrame):
(WebCore):
(WebCore::InjectedScriptWebGLModule::dropTraceLog):
(WebCore::InjectedScriptWebGLModule::getTraceLog):
(WebCore::InjectedScriptWebGLModule::replayTraceLog):
* inspector/InjectedScriptWebGLModule.h:
(InjectedScriptWebGLModule):
* inspector/Inspector.json:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorWebGLAgent.cpp:
(WebCore::InspectorWebGLAgent::InspectorWebGLAgent):
(WebCore::InspectorWebGLAgent::dropTraceLog):
(WebCore):
(WebCore::InspectorWebGLAgent::captureFrame):
(WebCore::InspectorWebGLAgent::getTraceLog):
(WebCore::InspectorWebGLAgent::replayTraceLog):
* inspector/InspectorWebGLAgent.h:
(WebCore):
(WebCore::InspectorWebGLAgent::create):
(InspectorWebGLAgent):

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

7 years agoRemove unused field DeleteEntryRequest::m_type
hans@chromium.org [Wed, 22 Aug 2012 08:47:53 +0000 (08:47 +0000)]
Remove unused field DeleteEntryRequest::m_type
https://bugs.webkit.org/show_bug.cgi?id=94680

Unreviewed build fix.

Remove this unused field. Clang warns about it and it breaks the
Chromium build.

No change in functionality, no new tests.

* inspector/InspectorFileSystemAgent.cpp:
(WebCore):

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Wed, 22 Aug 2012 08:45:17 +0000 (08:45 +0000)]
[Chromium] Unreviewed gardening.

Rebaseline tests after http://trac.webkit.org/changeset/126219 .

These are the same results as platform/mac-lion, which until
r126219 were the results of platform/mac. So this is "reverting"
r126219 in terms of Chromium expectations.

* platform/chromium/fast/text/hyphenate-locale-expected.png: Added.
* platform/chromium/fast/text/hyphenate-locale-expected.txt: Added.
* platform/chromium/fast/text/justify-ideograph-vertical-expected.png: Added.
* platform/chromium/fast/text/justify-ideograph-vertical-expected.txt: Added.

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

7 years ago[Qt] Avoid using WebKit macros in qrawwebview_p.h
commit-queue@webkit.org [Wed, 22 Aug 2012 08:44:21 +0000 (08:44 +0000)]
[Qt] Avoid using WebKit macros in qrawwebview_p.h
https://bugs.webkit.org/show_bug.cgi?id=94648

Patch by Luiz Agostini <luiz.agostini@nokia.com> on 2012-08-22
Reviewed by Noam Rosenthal.

ENABLE(FEATURE) should not be used in qrawwebview_p.h because it is an API header file.

* UIProcess/API/qt/raw/qrawwebview.cpp:
(QRawWebView::sendTouchEvent):
* UIProcess/API/qt/raw/qrawwebview_p.h:

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

7 years agoWeb Inspector: console.time() should use performance.now()
caseq@chromium.org [Wed, 22 Aug 2012 08:42:57 +0000 (08:42 +0000)]
Web Inspector: console.time() should use performance.now()
https://bugs.webkit.org/show_bug.cgi?id=94263

Reviewed by Pavel Feldman.

- use monotonicallyIncreasingTime() instead of currentTime() for measuring time intervals
    with console.time()/console.timeEnd()
- adjust precision to 3 digits after decimal point (i.e. microseconds) when formatting intervals;

* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::stopTiming):

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

7 years agoDynamically styling ShadowDom content on a node distributed to another shadow inserti...
commit-queue@webkit.org [Wed, 22 Aug 2012 08:20:40 +0000 (08:20 +0000)]
Dynamically styling ShadowDom content on a node distributed to another shadow insertion point fails.
https://bugs.webkit.org/show_bug.cgi?id=92899

Patch by Takashi Sakamoto <tasak@google.com> on 2012-08-22
Reviewed by Hajime Morita.

Source/WebCore:

Since childNeedsStyleRecalc is not cleared when parent nodes are
attached, setNeedsStyleRecalc flag is not reached Document. So,
document() doesn't run re-layout.

Test: fast/dom/shadow/shadowdom-dynamic-styling.html

* dom/ContainerNode.h:
(ContainerNode):
(WebCore::ContainerNode::detachAsNode):
Removed detachAsNode, because the below change made the method
not-used.
* dom/Element.cpp:
(WebCore::Element::detach):
Modify to invoke ContainerNode::detach when any shadow subtree is
attached. ContainerNode::detach takes care of childNeedsStyleRecalc
flag.
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::invalidateDistribution):
Use SetAttached for lazyAttach instead of DoNotSetAttached, because
it is reuired to invoke ContainerNode::detach. If not, attached() is
false and reattach() invokes only attach(). This causes to leave
shadow host's childNeedsStyleRecalc flag true after
Element::recalcStyle.

LayoutTests:

* fast/dom/shadow/shadowdom-dynamic-styling-expected.txt: Added.
* fast/dom/shadow/shadowdom-dynamic-styling.html: Added.
* editing/shadow/delete-characters-in-distributed-node-crash.html:
Made the layout test robust. This patch causes commit-queue- and the
failed test is delete-characters-in-distributed-node-crash.html.
However the layout test passes when locally running run_webkit_test
i.e. no difference between actual and expected texts. And looking at
the commit-queue's report, the actual text has "PASS" message (no
crash messages).

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

7 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Wed, 22 Aug 2012 08:11:52 +0000 (08:11 +0000)]
Unreviewed.  Rolled DEPS.

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

* DEPS:

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

7 years agoWeb Inspector: Add deleteEntry command and deletionCompleted event to FileSystemAgent
commit-queue@webkit.org [Wed, 22 Aug 2012 07:50:35 +0000 (07:50 +0000)]
Web Inspector: Add deleteEntry command and deletionCompleted event to FileSystemAgent
https://bugs.webkit.org/show_bug.cgi?id=91831

Patch by Taiju Tsuiki <tzik@chromium.org> on 2012-08-22
Reviewed by Vsevolod Vlasov.

InspectorAgent-side implementation of deleteEntry command.

Test will be added after JS-side implementation landed.

* inspector/Inspector.json:
* inspector/InspectorFileSystemAgent.cpp:
(WebCore):
(WebCore::InspectorFileSystemAgent::requestFileSystemRoot):
(WebCore::InspectorFileSystemAgent::requestDirectoryContent):
(WebCore::InspectorFileSystemAgent::requestMetadata):
(WebCore::InspectorFileSystemAgent::requestFileContent):
(WebCore::InspectorFileSystemAgent::deleteEntry):
(WebCore::InspectorFileSystemAgent::assertFrontend):
* inspector/InspectorFileSystemAgent.h:
(InspectorFileSystemAgent):
* inspector/front-end/FileSystemModel.js:
(WebInspector.FileSystemDispatcher.prototype.fileContentReceived):
(WebInspector.FileSystemDispatcher.prototype.deletionCompleted):

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

7 years agoUnreviewed, adding myself to committers.py.
dominik.rottsches@intel.com [Wed, 22 Aug 2012 07:49:36 +0000 (07:49 +0000)]
Unreviewed, adding myself to committers.py.

* Scripts/webkitpy/common/config/committers.py:

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Wed, 22 Aug 2012 07:42:19 +0000 (07:42 +0000)]
[Chromium] Unreviewed gardening.

Rebaseline tests after http://trac.webkit.org/changeset/126187 .
These are the same results as platform/mac-lion, which until
r126187 were the results of platform/mac. So this is "reverting"
r126187 in terms of Chromium expectations.
https://bugs.webkit.org/show_bug.cgi?id=94665 was filed
to track optimization of these baselines.

* platform/chromium-mac-snowleopard/fast/writing-mode/text-orientation-basic-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/writing-mode/vertical-align-table-baseline-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/writing-mode/vertical-align-table-baseline-expected.txt: Added.
* platform/chromium-mac/fast/writing-mode/text-orientation-basic-expected.txt: Added.
* platform/chromium-mac/fast/writing-mode/vertical-align-table-baseline-expected.png:
* platform/chromium-mac/fast/writing-mode/vertical-align-table-baseline-expected.txt: Added.
* platform/chromium/TestExpectations:

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Wed, 22 Aug 2012 07:31:42 +0000 (07:31 +0000)]
[Chromium] Unreviewed gardening.

Update image expectations for these tests. The 'x' to clear out a
text field is slightly brighter on chromium-mac; this is not
material to the intent of the tests.

* platform/chromium-mac/fast/css/text-overflow-input-expected.png:
* platform/chromium-mac/fast/forms/box-shadow-override-expected.png:

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Wed, 22 Aug 2012 07:24:58 +0000 (07:24 +0000)]
[Chromium] Unreviewed gardening.

Add failure expectations for a regression in r126257. See
https://bugs.webkit.org/show_bug.cgi?id=94675

* platform/chromium/TestExpectations:

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

7 years agoWeb Inspector: TabbedPane: measure tab widths in batches.
pfeldman@chromium.org [Wed, 22 Aug 2012 06:58:30 +0000 (06:58 +0000)]
Web Inspector: TabbedPane: measure tab widths in batches.
https://bugs.webkit.org/show_bug.cgi?id=94484

Reviewed by Vsevolod Vlasov.

Source/WebCore:

- Introduces global batch update schema
- Migrates Toolbar and TabbedPane to the new schema

* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel):
* inspector/front-end/TabbedPane.js:
(WebInspector.TabbedPane.prototype.appendTab):
(WebInspector.TabbedPane.prototype._updateTabElements):
(WebInspector.TabbedPane.prototype._innerUpdateTabElements):
(WebInspector.TabbedPane.prototype._updateWidths):
(WebInspector.TabbedPane.prototype._measureWidths):
(WebInspector.TabbedPaneTab):
(WebInspector.TabbedPaneTab.prototype.width):
(WebInspector.TabbedPaneTab.prototype.setWidth):
* inspector/front-end/Toolbar.js:
(WebInspector.Toolbar):
(WebInspector.Toolbar.prototype._updateDropdownButtonAndHideDropdown):
(WebInspector.Toolbar.prototype._innerUpdateDropdownButtonAndHideDropdown):
* inspector/front-end/UIUtils.js:
(WebInspector.startBatchUpdate):
(WebInspector.invokeOnceAfterBatchUpdate.get if):
(WebInspector.invokeOnceAfterBatchUpdate):
* inspector/front-end/inspector.js:
* inspector/front-end/utilities.js:

LayoutTests:

* inspector/start-end-batch-update-expected.txt: Added.
* inspector/start-end-batch-update.html: Added.
* inspector/tabbed-pane-tabs-to-show.html:

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

7 years ago[GTK] contextClick and getMenuItemTitle callbacks are leaky in DRT's EventSender
commit-queue@webkit.org [Wed, 22 Aug 2012 06:47:38 +0000 (06:47 +0000)]
[GTK] contextClick and getMenuItemTitle callbacks are leaky in DRT's EventSender
https://bugs.webkit.org/show_bug.cgi?id=94669

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-08-21
Reviewed by Carlos Garcia Campos.

Fix memory leaks in DRT's EventSender code.

* DumpRenderTree/gtk/EventSender.cpp:
(getMenuItemTitleCallback): Use JSRetainPtr and don't leak.
(contextClickCallback): Use GOwnPtr to manage memory of a
newly-allocated list automatically.

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Wed, 22 Aug 2012 06:43:53 +0000 (06:43 +0000)]
[Chromium] Unreviewed gardening.

Restore expected results for Chromium after r126219. See
https://bugs.webkit.org/show_bug.cgi?id=94672 .

* platform/chromium/fast/text/emphasis-combined-text-expected.png: Added.
* platform/chromium/fast/text/emphasis-combined-text-expected.txt: Added.

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Wed, 22 Aug 2012 05:46:33 +0000 (05:46 +0000)]
[Chromium] Unreviewed gardening.

Rebaseline tests after http://trac.webkit.org/changeset/126183 .
These are the same results as platform/mac-lion, which until
r126183 where the results of platform/mac. So this is "reverting"
r126183 in terms of Chromium expectations.
https://bugs.webkit.org/show_bug.cgi?id=94665 was filed
to track optimization of these baselines.

* platform/chromium-mac-snowleopard/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt: Added.
* platform/chromium-mac-snowleopard/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt: Added.
* platform/chromium-mac/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.txt: Added.
* platform/chromium-mac/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.txt: Added.

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Wed, 22 Aug 2012 05:19:09 +0000 (05:19 +0000)]
[Chromium] Unreviewed gardening.

Fix TestExpectations syntax error WIN WIN7 => WIN.

* platform/chromium/TestExpectations:

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Wed, 22 Aug 2012 05:04:18 +0000 (05:04 +0000)]
[Chromium] Unreviewed gardening.

Rebaseline tests after http://trac.webkit.org/changeset/126225 .
These are the same results as platform/mac-lion, which until
r126225 where the results of platform/mac. So this is "reverting"
r126225 in terms of Chromium expectations.
https://bugs.webkit.org/show_bug.cgi?id=94665 was filed
to track optimization of these baselines.

* platform/chromium-mac-snowleopard/fast/text/international/text-combine-image-test-expected.txt: Added.
* platform/chromium-mac/css2.1/t1202-counter-04-b-expected.txt: Added.
* platform/chromium-mac/css2.1/t1202-counters-04-b-expected.txt: Added.
* platform/chromium-mac/fast/text/fallback-traits-fixup-expected.txt: Added.
* platform/chromium-mac/fast/text/international/text-combine-image-test-expected.txt: Added.

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

7 years ago[V8] Move String related code in V8Binding to a separate file
haraken@chromium.org [Wed, 22 Aug 2012 04:42:25 +0000 (04:42 +0000)]
[V8] Move String related code in V8Binding to a separate file
https://bugs.webkit.org/show_bug.cgi?id=94571

Reviewed by Adam Barth.

This patch moves V8Parameter, V8ParameterBase and String related code
in V8Binding to a separate file.

No tests. No change in behavior.

* UseV8.cmake:
* WebCore.gypi:
* bindings/v8/V8Binding.cpp:
* bindings/v8/V8Binding.h:
* bindings/v8/V8StringResource.cpp: Added.
* bindings/v8/V8StringResource.h: Added.
(WebCore):

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Wed, 22 Aug 2012 04:36:37 +0000 (04:36 +0000)]
[Chromium] Unreviewed gardening.

Rebaseline tests after http://trac.webkit.org/changeset/126225 .
https://bugs.webkit.org/show_bug.cgi?id=94665 filed to track
optimization of these baselines.

* platform/chromium-linux-x86/http/tests/multipart/multipart-replace-non-html-content-expected.txt: Added.
* platform/chromium-linux/http/tests/multipart/multipart-replace-non-html-content-expected.txt: Added.
* platform/chromium-mac-snowleopard/http/tests/multipart/multipart-replace-non-html-content-expected.txt: Added.
* platform/chromium-mac/http/tests/multipart/multipart-replace-non-html-content-expected.txt: Added.
* platform/chromium-win-xp/http/tests/multipart/multipart-replace-non-html-content-expected.txt: Added.
* platform/chromium-win/http/tests/multipart/multipart-replace-non-html-content-expected.txt: Added.

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

7 years agoUnreviewed gardening. Added file somehow missed by garden-o-matic in last rebaseline.
kbr@google.com [Wed, 22 Aug 2012 04:19:59 +0000 (04:19 +0000)]
Unreviewed gardening. Added file somehow missed by garden-o-matic in last rebaseline.

* platform/chromium/fast/canvas/canvas-strokeRect-alpha-shadow-expected.txt: Added.

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

7 years ago[Chromium] Unreviewed gardening.
dominicc@chromium.org [Wed, 22 Aug 2012 03:58:46 +0000 (03:58 +0000)]
[Chromium] Unreviewed gardening.

Add test expectations for regression in r126250. See bug 94667.

* platform/chromium/TestExpectations:

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

7 years agoImplement UndoManager's automatic DOM transactions
commit-queue@webkit.org [Wed, 22 Aug 2012 03:56:30 +0000 (03:56 +0000)]
Implement UndoManager's automatic DOM transactions
https://bugs.webkit.org/show_bug.cgi?id=91812

Patch by Sukolsak Sakshuwong <sukolsak@google.com> on 2012-08-21
Reviewed by Ryosuke Niwa.

Source/WebCore:

This patch implements automatic DOM transactions in UndoManager
by recording changes in tree structure, attributes, and character data
of nodes under undo scope host.

Tests: editing/undomanager/automatic-transaction-attribute.html
       editing/undomanager/automatic-transaction-data.html
       editing/undomanager/automatic-transaction-node.html

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/DOMTransaction.h:
(WebCore::DOMTransaction::addTransactionStep):
(DOMTransaction):
* bindings/v8/DOMTransaction.cpp:
(DOMTransactionScope):
(WebCore::DOMTransactionScope::DOMTransactionScope):
(WebCore::DOMTransactionScope::~DOMTransactionScope):
(WebCore):
(WebCore::DOMTransaction::apply):
(WebCore::DOMTransaction::unapply):
(WebCore::DOMTransaction::reapply):
* bindings/v8/DOMTransaction.h:
(WebCore::DOMTransaction::addTransactionStep):
(DOMTransaction):
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::removeProperty):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
* dom/CharacterData.cpp:
(WebCore::CharacterData::setDataAndUpdate):
* dom/ContainerNode.cpp:
(WebCore::willRemoveChild):
(WebCore::willRemoveChildren):
(WebCore::updateTreeAfterInsertion):
* dom/Element.cpp:
(WebCore::Element::willModifyAttribute):
* editing/DOMTransactionStep.cpp: Added.
(WebCore):
(WebCore::NodeInsertingDOMTransactionStep::NodeInsertingDOMTransactionStep):
(WebCore::NodeInsertingDOMTransactionStep::create):
(WebCore::NodeInsertingDOMTransactionStep::unapply):
(WebCore::NodeInsertingDOMTransactionStep::reapply):
(WebCore::NodeRemovingDOMTransactionStep::NodeRemovingDOMTransactionStep):
(WebCore::NodeRemovingDOMTransactionStep::create):
(WebCore::NodeRemovingDOMTransactionStep::unapply):
(WebCore::NodeRemovingDOMTransactionStep::reapply):
(WebCore::DataReplacingDOMTransactionStep::DataReplacingDOMTransactionStep):
(WebCore::DataReplacingDOMTransactionStep::create):
(WebCore::DataReplacingDOMTransactionStep::unapply):
(WebCore::DataReplacingDOMTransactionStep::reapply):
(WebCore::AttrChangingDOMTransactionStep::AttrChangingDOMTransactionStep):
(WebCore::AttrChangingDOMTransactionStep::create):
(WebCore::AttrChangingDOMTransactionStep::unapply):
(WebCore::AttrChangingDOMTransactionStep::reapply):
* editing/DOMTransactionStep.h: Added.
(WebCore):
(DOMTransactionStep):
(WebCore::DOMTransactionStep::~DOMTransactionStep):
(NodeInsertingDOMTransactionStep):
(NodeRemovingDOMTransactionStep):
(DataReplacingDOMTransactionStep):
(AttrChangingDOMTransactionStep):
* editing/UndoManager.cpp:
(WebCore):
(WebCore::UndoManager::isRecordingAutomaticTransaction):
(WebCore::UndoManager::addTransactionStep):
* editing/UndoManager.h:
(WebCore):
(WebCore::UndoManager::setRecordingDOMTransaction):
(UndoManager):

LayoutTests:

* editing/undomanager/automatic-transaction-attribute-expected.txt: Added.
* editing/undomanager/automatic-transaction-attribute.html: Added.
* editing/undomanager/automatic-transaction-data-expected.txt: Added.
* editing/undomanager/automatic-transaction-data.html: Added.
* editing/undomanager/automatic-transaction-node-expected.txt: Added.
* editing/undomanager/automatic-transaction-node.html: Added.

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

7 years agoFix cross-direction stretch for replaced elements in row flexbox
commit-queue@webkit.org [Wed, 22 Aug 2012 03:35:38 +0000 (03:35 +0000)]
Fix cross-direction stretch for replaced elements in row flexbox
https://bugs.webkit.org/show_bug.cgi?id=94237

Patch by Shezan Baig <sbaig1@bloomberg.net> on 2012-08-21
Reviewed by Ojan Vafai.

Source/WebCore:

When stretching, don't take into account the instrinsic size of child
replaced elements. Only the fixed size, min size, and max size of the
child should be taken into account. The logic that computed this was
moved from RenderBox::computeLogicalHeight to a new helper method
called logicalHeightConstrainedByMinMax.  This helper method is now
used from RenderFlexibleBox::applyStretchAlignmentToChild, instead of
using RenderBox::computeLogicalHeight.

A similar change will need to be made for column-flowing flexboxes.
This will be addressed in https://webkit.org/b/94604.

No new tests.  The existing css3/flexbox/flexitem.html test was
extended to cover this case.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::logicalHeightConstrainedByMinMax): New helper
method that is used by RenderBox::computeLogicalHeight and also by
RenderFlexibleBox::applyStretchAlignmentToChild.
(WebCore):
(WebCore::RenderBox::computeLogicalHeight): Updated to use the new
logicalHeightConstrainedByMinMax helper method.
* rendering/RenderBox.h:
(RenderBox):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Use
logicalHeightConstrainedByMinMax instead of computeLogicalHeight.

LayoutTests:

Fix test cases for images stretching in the cross direction. Also,
added test cases for stretching/shrinking iframes, seamless iframes,
and also tests for vertically flowing flexboxes.

* css3/flexbox/flexitem-expected.txt:
* css3/flexbox/flexitem.html:

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