WebKit-https.git
7 years ago2012-11-28 Nima Ghanavatian <nghanavatian@rim.com>
nghanavatian@rim.com [Wed, 28 Nov 2012 23:21:32 +0000 (23:21 +0000)]
2012-11-28 Nima Ghanavatian <nghanavatian@rim.com>

        Adding Nima Ghanavatian to committers.py
        https://bugs.webkit.org/show_bug.cgi?id=103533

        Reviewed by Rob Buis.

        Adding myself to committers.py as a Committer.

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

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

7 years agoIt should be possible to say dataLog("count = ", count, "\n") instead of dataLogF...
fpizlo@apple.com [Wed, 28 Nov 2012 22:59:35 +0000 (22:59 +0000)]
It should be possible to say dataLog("count = ", count, "\n") instead of dataLogF("count = %d\n", count)
https://bugs.webkit.org/show_bug.cgi?id=103009

Reviewed by Michael Saboff.

Source/JavaScriptCore:

Instead of converting all of JSC to use the new dataLog()/print() methods, I just changed
one place: dumping of abstract values. This is mainly just to ensure that the code I
added to WTF is actually doing things.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
* dfg/DFGAbstractValue.h:
(JSC::DFG::AbstractValue::dump):
(WTF):
(WTF::printInternal):
* dfg/DFGStructureAbstractValue.h:
(JSC::DFG::StructureAbstractValue::dump):
(WTF):
(WTF::printInternal):

Source/WTF:

Added the ability to use out.print(...) and dataLog(...) variadically and with
WTF::printInternal(PrintStream&, const T&) overloads for any type T that you want
to be able to pass as an argument to out.print() or dataLog(). Also added one
example class for doing this: RawPointer, which can be used to force a pointer
to be printed as "%p" rather than matching any overloads that you might want to
introduce.

* GNUmakefile.list.am:
* WTF.gypi:
* WTF.pro:
* WTF.vcproj/WTF.vcproj:
* WTF.xcodeproj/project.pbxproj:
* wtf/CMakeLists.txt:
* wtf/DataLog.h:
(WTF):
(WTF::dataLog):
* wtf/PrintStream.cpp:
(WTF::printInternal):
(WTF):
* wtf/PrintStream.h:
(PrintStream):
(WTF::PrintStream::print):
(WTF):
* wtf/RawPointer.h: Added.
(WTF):
(RawPointer):
(WTF::RawPointer::RawPointer):
(WTF::RawPointer::value):

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

7 years agoremove unused PlatformGestureCurve code
rjkroege@chromium.org [Wed, 28 Nov 2012 22:56:22 +0000 (22:56 +0000)]
remove unused PlatformGestureCurve code
https://bugs.webkit.org/show_bug.cgi?id=103296

Reviewed by Adam Barth.

Previous CLs have made the Chromium embedder provide gesture fling
curve implementation to WebKit. Consequently no platform uses the
gestural fling code currently found in WebKit. This CL removes this code.

Code removal only: covered by existing tests.

Source/WebCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* platform/ActivePlatformGestureAnimation.cpp: Removed.
* platform/ActivePlatformGestureAnimation.h: Removed.
* platform/PlatformGestureCurve.h: Removed.
* platform/PlatformGestureCurveTarget.h: Removed.
* platform/ScrollAnimatorNone.cpp: References to removed code removed.
* platform/ScrollAnimatorNone.h:
* platform/TouchFlingPlatformGestureCurve.cpp: Removed.
* platform/TouchFlingPlatformGestureCurve.h: Removed.
* platform/WheelFlingPlatformGestureCurve.cpp: Removed.
* platform/WheelFlingPlatformGestureCurve.h: Removed.
* platform/chromium/support/PlatformGestureCurveFactory.cpp: Removed.
* platform/chromium/support/PlatformGestureCurveFactory.h: Removed.
* platform/chromium/support/WebFlingAnimatorToGestureCurveAdapter.h: Removed.

Source/WebKit/chromium:

* WebKit.gypi:
* tests/PlatformGestureCurveTest.cpp: Removed.

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

7 years agoHeap-use-after-free in WebCore::EventHandler::handleMousePressEvent
inferno@chromium.org [Wed, 28 Nov 2012 22:53:55 +0000 (22:53 +0000)]
Heap-use-after-free in WebCore::EventHandler::handleMousePressEvent
https://bugs.webkit.org/show_bug.cgi?id=101098

Reviewed by Adam Barth.

|subframe| can be blown away inside passMousePressEventToSubframe
call. Use RefPtr to protect it in handleMousePressEvent function.
We use similar approach in handleMouseMoveEvent function.

No new tests. Test is extremely time dependent and needs to trigger
interaction gesture. Reproduced on ClusterFuzz.

* page/EventHandler.cpp:
(WebCore::EventHandler::handleMousePressEvent):

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

7 years agoXSSAuditor bypass with script src=data: URL ending in <!--
tsepez@chromium.org [Wed, 28 Nov 2012 22:52:29 +0000 (22:52 +0000)]
XSSAuditor bypass with script src=data: URL ending in <!--
https://bugs.webkit.org/show_bug.cgi?id=103548

Reviewed by Adam Barth.

Source/WebCore:

This fixes an additional case where characters from the page itself are
included with the snippet to match against the reflected vector, and the
JS remains legitimate because of a <!--- comment. Truncate the snippet at
such a comment.

Test: http/tests/security/xssAuditor/script-tag-with-source-data-url3.html

* html/parser/XSSAuditor.cpp:
(WebCore::XSSAuditor::decodedSnippetForAttribute):

LayoutTests:

* http/tests/security/xssAuditor/script-tag-with-source-data-url3-expected.txt: Added.
* http/tests/security/xssAuditor/script-tag-with-source-data-url3.html: Added.

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

7 years agoSource/WebCore: Heap-use-after-free in WebCore::RenderLayerModelObject::hasSelfPaintingL
inferno@chromium.org [Wed, 28 Nov 2012 22:46:59 +0000 (22:46 +0000)]
Source/WebCore: Heap-use-after-free in WebCore::RenderLayerModelObject::hasSelfPaintingL

LayoutTests: Heap-use-after-free in WebCore::RenderLayerModelObject::hasSelfPaintingLayer
https://bugs.webkit.org/show_bug.cgi?id=101970

Reviewed by David Hyatt.

* fast/block/float/float-not-removed-from-pre-block-expected.txt: Added.
* fast/block/float/float-not-removed-from-pre-block.html: Added.

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

7 years ago[Chromium] Remove pluginsScriptableObject from PlatformSupport
pilgrim@chromium.org [Wed, 28 Nov 2012 22:39:12 +0000 (22:39 +0000)]
[Chromium] Remove pluginsScriptableObject from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=103542

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/WebCore:

* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::createScriptInstanceForWidget):
* platform/chromium/PlatformSupport.h:
(PlatformSupport):
* plugins/PluginViewBase.h:
(PluginViewBase):
(WebCore::PluginViewBase::scriptableObject):

Source/WebKit/chromium:

* src/PlatformSupport.cpp:
(WebCore):
* src/WebPluginContainerImpl.h:
(WebPluginContainerImpl):

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

7 years ago[BlackBerry] CookieJarBlackBerry will use document settings for cookiesEnabled
commit-queue@webkit.org [Wed, 28 Nov 2012 22:37:06 +0000 (22:37 +0000)]
[BlackBerry] CookieJarBlackBerry will use document settings for cookiesEnabled
https://bugs.webkit.org/show_bug.cgi?id=103560

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

PR 253490

Source/WebCore:

CookieJarBlackBerry will now use page settings to check whether
cookie is enabled.

Tested setting/reading cookies on different client cookie settings using
javascript and HTTP. Cookie behaviour is now back to spec.

* loader/blackberry/CookieJarBlackBerry.cpp:
(WebCore::cookies):
(WebCore::cookieRequestHeaderFieldValue):

Source/WebKit/blackberry:

Syncing platform Websetting's cookieEnabled value with Page->setting's cookieEnabled
value.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):

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

7 years ago[Chromium][Win] Remove ensureFontLoaded from PlatformSupport
pilgrim@chromium.org [Wed, 28 Nov 2012 22:35:36 +0000 (22:35 +0000)]
[Chromium][Win] Remove ensureFontLoaded from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=97696

Reviewed by Adam Barth.

Move ensureFontLoaded() from PlatformSupport to
FontPlatformDataChromiumWin. Part of a refactoring series; see
tracking bug 82948.

Source/WebCore:

* platform/chromium/PlatformSupport.h:
(PlatformSupport):
* platform/graphics/chromium/FontCacheChromiumWin.cpp:
(WebCore::fontContainsCharacter):
* platform/graphics/chromium/FontChromiumWin.cpp:
(WebCore::drawGlyphsWin):
* platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
(WebCore::FontPlatformData::scriptFontProperties):
(WebCore):
(WebCore::FontPlatformData::ensureFontLoaded):
* platform/graphics/chromium/FontPlatformDataChromiumWin.h:
(FontPlatformData):
* platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
(WebCore::getGlyphIndices):
(WebCore::fillBMPGlyphs):
* platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
(WebCore::SimpleFontData::platformInit):
(WebCore::SimpleFontData::determinePitch):
(WebCore::SimpleFontData::platformBoundsForGlyph):
(WebCore::SimpleFontData::platformWidthForGlyph):
* platform/graphics/chromium/UniscribeHelperTextRun.cpp:
(WebCore::UniscribeHelperTextRun::tryToPreloadFont):
* platform/graphics/skia/SkiaFontWin.cpp:
(WebCore::paintSkiaText):

Source/WebKit/chromium:

* src/PlatformSupport.cpp:
(WebCore):

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

7 years ago[WinCairo] Crash when requesting favicon.
bfulgham@webkit.org [Wed, 28 Nov 2012 22:21:47 +0000 (22:21 +0000)]
[WinCairo] Crash when requesting favicon.
https://bugs.webkit.org/show_bug.cgi?id=102689

Patch by peavo@outlook.com <peavo@outlook.com> on 2012-11-28
Reviewed by Brent Fulgham.

Source/WebCore:

* platform/graphics/BitmapImage.h: Made frameCount() method virtual, subclasses made for testing can then override it.
* platform/graphics/win/ImageCairoWin.cpp:
(WebCore::BitmapImage::getHBITMAPOfSize): Added NULL pointer check.
(WebCore::BitmapImage::drawFrameMatchingSourceSize): Added NULL pointer check.

Source/WebKit2:

* win/WebKit2CFLite.def: Link fixes.
* win/WebKit2.def: Link fixes.

Tools:

* TestWebKitAPI/Tests/WebCore/win: Added.
* TestWebKitAPI/Tests/WebCore/win/BitmapImage.cpp: Added.
(TestWebKitAPI::BitmapImageTest::BitmapImageTest): Allocate frame in constructor.
(TestWebKitAPI::BitmapImageTest::frameCount): Override frameCount() method.
(TestWebKitAPI::TEST): Added new test.
* TestWebKitAPI/config.h: Make sure defines are correct for WinCairo.
       * TestWebKitAPI/win/TestWebKitAPI.vcproj: Added new test.

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

7 years agoMove internals.settings.setPageScaleFactor to internals.setPageScaleFactor
tony@chromium.org [Wed, 28 Nov 2012 22:14:03 +0000 (22:14 +0000)]
Move internals.settings.setPageScaleFactor to internals.setPageScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=103559

Reviewed by Jochen Eisinger.

Source/WebCore:

This method doesn't alter the Settings object, so move it to internals.

No new tests, this is a refactor.

* testing/InternalSettings.cpp: Remove.
* testing/InternalSettings.h: Remove.
* testing/InternalSettings.idl: Remove.
* testing/Internals.cpp:
(WebCore::Internals::resetToConsistentState): Add reset code.
(WebCore::Internals::setPageScaleFactor): Add method.
* testing/Internals.h: Add method.
* testing/Internals.idl: Add method.

LayoutTests:

This method doesn't alter the Settings object, so move it to internals.
Update the tests to call the right version.

* compositing/geometry/fixed-position-composited-page-scale-down.html:
* compositing/geometry/fixed-position-composited-page-scale-scroll.html:
* compositing/geometry/fixed-position-composited-page-scale.html:
* compositing/geometry/fixed-position-iframe-composited-page-scale-down.html:
* compositing/geometry/fixed-position-iframe-composited-page-scale.html:
* compositing/geometry/fixed-position-transform-composited-page-scale-down.html:
* compositing/geometry/fixed-position-transform-composited-page-scale.html:
* compositing/overflow/overflow-scaled-descendant-overlapping.html:
* compositing/repaint/page-scale-repaint.html:
* compositing/scaling/tiled-layer-recursion.html:
* fast/dom/Element/scale-page-bounding-client-rect-in-frame.html:
* fast/dom/Element/scale-page-bounding-client-rect.html:
* fast/dom/Element/scale-page-client-rects-in-frame.html:
* fast/dom/Element/scale-page-client-rects.html:
* fast/dom/Range/scale-page-bounding-client-rect.html:
* fast/dom/Range/scale-page-client-rects.html:
* fast/dom/elementFromPoint-scaled-scrolled.html:
* fast/dom/iframe-inner-size-scaling.html:
* fast/dom/window-inner-size-scaling.html:
* fast/dom/window-scroll-scaling.html:
* fast/events/scale-and-scroll-body.html:
* fast/events/scale-and-scroll-iframe-body.html:
* fast/events/scale-and-scroll-iframe-window.html:
* fast/events/scale-and-scroll-window.html:
* fast/events/script-tests/page-scaled-mouse-click-iframe.js:
(iframeLoaded):
* fast/events/script-tests/page-scaled-mouse-click.js:
* fast/events/scroll-in-scaled-page-with-overflow-hidden.html:
* fast/events/touch/page-scaled-touch-gesture-click.html:
* fast/events/touch/touch-scaled-scrolled.html:
* fast/frames/frame-set-rotation-hit.html:
* fast/frames/frame-set-scaling-hit.html:
* fast/frames/iframe-double-scale-contents.html:
* fast/repaint/background-scaling.html:
* fast/repaint/scale-page-shrink.html:
* fast/text/descent-clip-in-scaled-page-expected.html:
* fast/text/descent-clip-in-scaled-page.html:
* fast/transforms/selection-bounds-in-transformed-view.html:
* inspector/elements/highlight-node-scaled.html:
* platform/chromium-linux/compositing/gestures/gesture-tapHighlight-simple-scaled-document.html:
* svg/as-image/image-respects-pageScaleFactor-change.html:
* svg/as-image/image-respects-pageScaleFactor.html:

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

7 years ago[CSS Regions] Elements using transforms are not repainted correctly when rendered...
achicu@adobe.com [Wed, 28 Nov 2012 21:38:12 +0000 (21:38 +0000)]
[CSS Regions] Elements using transforms are not repainted correctly when rendered in a region
https://bugs.webkit.org/show_bug.cgi?id=102826

Reviewed by Dave Hyatt.

Follow up update of a comment after the patch was landed by the commit queue in r135921.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::containerForRepaint):

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

7 years agoCSS3 Multicolumn: column-span should accept value 'none' (instead of '1')
christophe.dumez@intel.com [Wed, 28 Nov 2012 21:30:15 +0000 (21:30 +0000)]
CSS3 Multicolumn: column-span should accept value 'none' (instead of '1')
https://bugs.webkit.org/show_bug.cgi?id=101462

Reviewed by David Hyatt.

Source/WebCore:

According to the latest CSS3 Multi-column specification:
http://www.w3.org/TR/2011/CR-css3-multicol-20110412/#column-span

column-span should accept values [ none | all ], instead of
[ 1 | all ]. This patch updates WebKit implementation to reflect
this change in the specification. The value 1 is still supported
for compatibility reasons and is mapped to none.

No new tests, already covered by existing tests.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::parseValue):
* css/CSSPrimitiveValueMappings.h:
(WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
(WebCore::CSSPrimitiveValue::operator ColumnSpan):
* rendering/style/RenderStyle.h:
* rendering/style/RenderStyleConstants.h:

LayoutTests:

Update expected results for several test cases now that the
default value for column-span property was renamed from 1
to none.

* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* svg/css/getComputedStyle-basic-expected.txt:

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

7 years agoChromium TestExpectations minor changes.
schenney@chromium.org [Wed, 28 Nov 2012 21:24:19 +0000 (21:24 +0000)]
Chromium TestExpectations minor changes.
https://bugs.webkit.org/show_bug.cgi?id=103148

Unreviewed test expectations changes.

Making some tests flakey rather than actually failing.

* platform/chromium/TestExpectations:

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

7 years agorun-perf-tests should have a --profile option for easy profiling
eric@webkit.org [Wed, 28 Nov 2012 21:21:23 +0000 (21:21 +0000)]
run-perf-tests should have a --profile option for easy profiling
https://bugs.webkit.org/show_bug.cgi?id=99517

Reviewed by Adam Barth.

This is a very basic implementation which works on Mac and Linux
and makes it trivial for anyone to profile a PerformanceTest.

Currently it's not "hard" to profile a PerformanceTest
but lowering the barriers to entry here allows all of us to focus
less on the tools and more on the code.

This also paves the way for adding easy mobile-profiling (e.g. chromium-android)
which is actually "hard", and this option will make much easier.

* Scripts/webkitpy/common/system/profiler.py: Added.
(ProfilerFactory):
(ProfilerFactory.create_profiler):
(Profiler):
(Profiler.__init__):
(Profiler.adjusted_environment):
(Profiler.attach_to_pid):
(Profiler.did_stop):
(SingleFileOutputProfiler):
(SingleFileOutputProfiler.__init__):
(GooglePProf):
(GooglePProf.__init__):
(GooglePProf.adjusted_environment):
(GooglePProf.did_stop):
(Instruments):
(Instruments.__init__):
(Instruments.attach_to_pid):
* Scripts/webkitpy/common/system/profiler_unittest.py: Added.
(ProfilerFactoryTest):
(ProfilerFactoryTest.test_basic):
* Scripts/webkitpy/layout_tests/port/driver.py:
(Driver.__init__):
(Driver._start):
(Driver.stop):
(Driver.cmd_line):
* Scripts/webkitpy/performance_tests/perftest.py:
(PerfTest.parse_output):
* Scripts/webkitpy/performance_tests/perftest_unittest.py:
(MainTest.test_parse_output):
(MainTest.test_parse_output_with_failing_line):
* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner._parse_args):
(PerfTestsRunner.run):

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

7 years agoUnreviewed. Skip flaky video test media/W3C/video/readyState/readyState_during_loaded...
roger_fong@apple.com [Wed, 28 Nov 2012 21:18:35 +0000 (21:18 +0000)]
Unreviewed. Skip flaky video test media/W3C/video/readyState/readyState_during_loadedmetadata.html.
https://bugs.webkit.org/show_bug.cgi?id=103442

* platform/win/TestExpectations:

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

7 years agoMake source cache include more information about the function extent.
oliver@apple.com [Wed, 28 Nov 2012 21:11:53 +0000 (21:11 +0000)]
Make source cache include more information about the function extent.
https://bugs.webkit.org/show_bug.cgi?id=103552

Reviewed by Gavin Barraclough.

Add a bit more information to the source cache.

* parser/Parser.cpp:
(JSC::::parseFunctionInfo):
   Store the function start offset
* parser/SourceProviderCacheItem.h:
(JSC::SourceProviderCacheItem::SourceProviderCacheItem):
(SourceProviderCacheItem):
   Add additional field for the start of the real function string, and re-arrange
   fields to avoid growing the struct.

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

7 years agoText Autosizing: Clusters should use width of LCA of their text nodes
commit-queue@webkit.org [Wed, 28 Nov 2012 21:02:30 +0000 (21:02 +0000)]
Text Autosizing: Clusters should use width of LCA of their text nodes
https://bugs.webkit.org/show_bug.cgi?id=102562

Patch by Anton Vayvod <avayvod@chromium.org> on 2012-11-28
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Many pages set a max-width on their content. So especially for the
RenderView, instead of just taking the width of |cluster| we find
the lowest common ancestor of the first and last descendant text node of
the cluster (i.e. the deepest wrapper block that contains all the text),
and use its width instead.

Tests: fast/text-autosizing/cluster-with-narrow-lca-and-cluster.html
       fast/text-autosizing/cluster-with-narrow-lca.html
       fast/text-autosizing/cluster-with-wide-lca.html
       fast/text-autosizing/list-item-out-of-flow.html
       fast/text-autosizing/wide-in-narrow-overflow-scroll.html

* rendering/TextAutosizer.cpp:
(WebCore::TextAutosizer::processCluster): use text nodes LCA instead of cluster for width calculation
(WebCore::TextAutosizer::isAutosizingContainer): list items that are out of parent list element's flow are valid containers (that therefore become clusters in isAutosizingCluster)
(WebCore::TextAutosizer::findDeepestBlockContainingAllText): searches for LCA of text nodes ignoring descendant clusters
(WebCore::TextAutosizer::findFirstTextLeafNotInCluster): searches for the first or the last (depending on specified direction) text leaf node in-order ignoring any descendant clusters
* rendering/TextAutosizer.h: new private methods declarations and an enum for tree traversal direction.

LayoutTests:

Many pages set a max-width on their content. So especially for the
RenderView, instead of just taking the width of |cluster| we find
the lowest common ancestor of the first and last descendant text node of
the cluster (i.e. the deepest wrapper block that contains all the text),
and use its width instead.
Had to update a couple of existing tests since the actual width for font
size multiplier calculation has been changed by the patch.

* fast/text-autosizing/cluster-wide-in-narrow-expected.html:
* fast/text-autosizing/cluster-wide-in-narrow.html:
* fast/text-autosizing/cluster-with-narrow-lca-and-cluster-expected.html: Added.
* fast/text-autosizing/cluster-with-narrow-lca-and-cluster.html: Added.
* fast/text-autosizing/cluster-with-narrow-lca-expected.html: Added.
* fast/text-autosizing/cluster-with-narrow-lca.html: Added.
* fast/text-autosizing/cluster-with-wide-lca-expected.html: Added.
* fast/text-autosizing/cluster-with-wide-lca.html: Added.
* fast/text-autosizing/em-margin-border-padding-expected.html:
* fast/text-autosizing/em-margin-border-padding.html:
* fast/text-autosizing/list-item-out-of-flow-expected.html: Added.
* fast/text-autosizing/list-item-out-of-flow.html: Added.
* fast/text-autosizing/wide-child-expected.html:
* fast/text-autosizing/wide-child.html:
* fast/text-autosizing/wide-in-narrow-overflow-scroll-expected.html: Added.
* fast/text-autosizing/wide-in-narrow-overflow-scroll.html: Added.

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

7 years agocleanup: Change some code to be cleaner, more readable and style conforming
commit-queue@webkit.org [Wed, 28 Nov 2012 20:59:10 +0000 (20:59 +0000)]
cleanup: Change some code to be cleaner, more readable and style conforming
https://bugs.webkit.org/show_bug.cgi?id=103543

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-11-28
Reviewed by Antonio Gomes.

Use more appropriate function name and more meaningful variable names to make the code cleaner.
This is covered by existing tests. This does not make any behavioural changes, so no new tests.

* page/EventHandler.cpp:
(WebCore::closestScrollableNodeInDocumentIfPossible):
(WebCore::EventHandler::handleWheelEvent):

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

7 years ago[CSS Regions] Crash when using hover and first-letter inside a flow-thread
achicu@adobe.com [Wed, 28 Nov 2012 20:39:52 +0000 (20:39 +0000)]
[CSS Regions] Crash when using hover and first-letter inside a flow-thread
https://bugs.webkit.org/show_bug.cgi?id=102957

Reviewed by David Hyatt.

Source/WebCore:

Some RenderObjects use a different path when they are destroyed. That's because they are dynamically
added just before layout happens and their parent is usually not their actual owner. In those cases the parent
will remove the object from the tree, but it's actually the owner that will destroy the object and all its
children.

RenderFlowThread maintains a RenderBoxRegionInfo object for each RenderObject that is rendered inside the
flow-thread. When the RenderObject is removed from the RenderFlowThread, the associated RenderBoxRegionInfo object
also needs to be removed.

In these special cases (list-marker, first-letter), the object itself was removed from the RenderFlowThread,
but its children were still left in the flow-thread. When the these special objects were later destroyed,
they will remove their own children. Removing their children means it will try to remove them from the
associated RenderFlowThread. However, in this cases there would be no link back to the parent flow-thread,
as the tree is now detached from the enclosing RenderFlowThread.

Added code that recursively removes the whole children tree from the RenderFlowThread when the root is removed.

Tests: fast/regions/firstletter-inside-flowthread.html
       fast/regions/listmarker-inside-flowthread.html

* rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeRemovedFromTree):
(WebCore::RenderObject::removeFromRenderFlowThread):
(WebCore):
(WebCore::RenderObject::removeFromRenderFlowThreadRecursive):
* rendering/RenderObject.h:
(RenderObject):

LayoutTests:

Added CSS Regions tests for the firstLetter and listMarker render objects that use
different destroy paths in the code.

* fast/regions/firstletter-inside-flowthread-expected.html: Added.
* fast/regions/firstletter-inside-flowthread.html: Added.
* fast/regions/listmarker-inside-flowthread-expected.html: Added.
* fast/regions/listmarker-inside-flowthread.html: Added.

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

7 years agoUnreviewed, fix duplicate expectation.
tony@chromium.org [Wed, 28 Nov 2012 20:20:38 +0000 (20:20 +0000)]
Unreviewed, fix duplicate expectation.

* platform/efl-wk1/TestExpectations:

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

7 years agoLayoutTests/fast/table/css-table-max-height.html failing on Qt Linux
commit-queue@webkit.org [Wed, 28 Nov 2012 20:13:58 +0000 (20:13 +0000)]
LayoutTests/fast/table/css-table-max-height.html failing on Qt Linux
https://bugs.webkit.org/show_bug.cgi?id=103453

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-11-28
Reviewed by Julien Chaffraix.

The testcase failure was due to the difference in the default line-height value
used by Qt-linux port from other ports.

* fast/table/css-table-max-height.html:
* platform/qt/TestExpectations:

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

7 years ago[CSS Regions] Auto-height regions will not calculate the height correctly when the...
achicu@adobe.com [Wed, 28 Nov 2012 20:05:47 +0000 (20:05 +0000)]
[CSS Regions] Auto-height regions will not calculate the height correctly when the content changes dynamically
https://bugs.webkit.org/show_bug.cgi?id=102954

Reviewed by David Hyatt.

Source/WebCore:

Whenever the flow changes, we need to reset the region computed auto-heights.
However, when we reset the region heights to "auto" or "un-computed", we also need to make
sure that all the region breaks are counted again, so that we split regions correctly during the new layout.
I've reused the m_regionsInvalidated property to force the flow do a complete layout.

Test: fast/regions/autoheight-dynamic-update.html

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::resetRegionsOverrideLogicalContentHeight):

LayoutTests:

Added test to check for auto-height region size update after an element is added to the flow.
In this case the first region will need to resize to accommodate the size of the added elements.

* fast/regions/autoheight-dynamic-update-expected.html: Added.
* fast/regions/autoheight-dynamic-update.html: Added.

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

7 years ago[Chromium] Unreviewed. Fixing lint errors introduced in r136030.
scherkus@chromium.org [Wed, 28 Nov 2012 20:00:19 +0000 (20:00 +0000)]
[Chromium] Unreviewed. Fixing lint errors introduced in r136030.

* platform/chromium/TestExpectations:

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

7 years ago[CSS Regions] InRenderFlowThread returns false in the first setStyle
achicu@adobe.com [Wed, 28 Nov 2012 19:55:04 +0000 (19:55 +0000)]
[CSS Regions] InRenderFlowThread returns false in the first setStyle
https://bugs.webkit.org/show_bug.cgi?id=102839

Reviewed by Dave Hyatt.

Source/WebCore:

Some render objects use the "inRenderFlowThread" during the first styleWillChange/styleDidChange.
The first call to these methods comes from NodeRendererFactory::createRenderer. That happens before the RenderObject is
attached to the parent renderer, meaning that inRenderFlowThread is false. That means a RenderLayerBacking will be
created for renderers inside the RenderFlowThread, but composited layers inside the RenderFlowThread are not supported yet.
https://bugs.webkit.org/show_bug.cgi?id=84900

Test: fast/repaint/region-painting-composited-element.html

* dom/NodeRenderingContext.cpp:
(WebCore::NodeRendererFactory::createRenderer):
Added code to propagate the inRenderFlowThread flag from the parent node before the style is set for the first time.

LayoutTests:

Added test to check that the composited elements added to a RenderFlowThread are painted correctly.

* fast/repaint/region-painting-composited-element-expected.html: Added.
* fast/repaint/region-painting-composited-element.html: Added.

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

7 years agoRemove deprecated logging usage from QueueEngine
zandobersek@gmail.com [Wed, 28 Nov 2012 19:54:25 +0000 (19:54 +0000)]
Remove deprecated logging usage from QueueEngine
https://bugs.webkit.org/show_bug.cgi?id=103532

Reviewed by Dirk Pranke.

Replace usage of deprecated logging in webkitpy.tool.bot.queueengine with
logging through the Logger object. The unit test is modified to reflect
these changes.

After these changes the deprecated logging (i.e. logging to stderr) is not
used anymore through webkitpy and can be removed.

* Scripts/webkitpy/tool/bot/queueengine.py:
(QueueEngine.exit_after_handled_error):
(QueueEngine.run):
(QueueEngine._stopping):
(QueueEngine._sleep):
* Scripts/webkitpy/tool/bot/queueengine_unittest.py:
(QueueEngineTest._run_engine):

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

7 years agoUnreviewed, land updated Mac results after track limiter removal.
tony@chromium.org [Wed, 28 Nov 2012 19:47:26 +0000 (19:47 +0000)]
Unreviewed, land updated Mac results after track limiter removal.

* fast/dom/HTMLInputElement/input-slider-update-expected.txt:
* fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
* fast/forms/range/input-appearance-range-expected.txt:
* fast/forms/range/slider-padding-expected.txt:
* fast/forms/range/slider-thumb-stylability-expected.txt:
* fast/multicol/client-rects-expected.txt:
* fast/repaint/slider-thumb-drag-release-expected.txt:
* fast/repaint/slider-thumb-float-expected.txt:
* platform/mac/TestExpectations:
* platform/mac/fast/forms/box-shadow-override-expected.txt:
* platform/mac/fast/forms/input-appearance-height-expected.txt:
* platform/mac/fast/forms/range/range-thumb-height-percentage-expected.txt:
* platform/mac/fast/forms/range/slider-thumb-shared-style-expected.txt:
* platform/mac/media/audio-controls-rendering-expected.txt:
* platform/mac/media/controls-after-reload-expected.txt:
* platform/mac/media/controls-strict-expected.txt:
* platform/mac/media/controls-styling-strict-expected.txt:
* platform/mac/media/controls-without-preload-expected.txt:
* platform/mac/media/video-controls-rendering-expected.txt:
* platform/mac/media/video-display-toggle-expected.txt:
* platform/mac/media/video-no-audio-expected.txt:
* platform/mac/media/video-playing-and-pause-expected.txt:

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

7 years ago<rdar://problem/12645085> REGRESSION (r130851): With kerning enabled, a white-space...
mitz@apple.com [Wed, 28 Nov 2012 19:43:24 +0000 (19:43 +0000)]
<rdar://problem/12645085> REGRESSION (r130851): With kerning enabled, a white-space: pre-wrap inline starting with tab+space has the wrong width
https://bugs.webkit.org/show_bug.cgi?id=103541

Reviewed by Anders Carlsson.

Source/WebCore:

Test: fast/text/tab-with-kerning.html

When kerning is enabled, words are measured with their trailing space, then the width of a
space is subtracted. The logic to do this was incorrectly being invoked even when the
trailing whitespace character was a tab or a newline.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::nextLineBreak): Changed to check only for the space
character, not other space-like characters.

LayoutTests:

* fast/text/tab-with-kerning-expected.html: Added.
* fast/text/tab-with-kerning.html: Added.

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

7 years agohttps://bugs.webkit.org/show_bug.cgi?id=102970
bdakin@apple.com [Wed, 28 Nov 2012 19:37:15 +0000 (19:37 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=102970
[WK1] REGRESSION (r129545): Main frame doesn't rubberband unless
WebFrameLoadDelegate implements -webView:didFirstLayoutInFrame:

Reviewed by Sam Weinig.

We should always register for DidFirstLayout in WK1 since we do work
at that time besides just calling the delegate function.
* WebView/WebView.mm:
(-[WebView _cacheFrameLoadDelegateImplementations]):

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

7 years ago[chromium] Add unit tests for ChromeClientImpl::getNavigationPolicy
ericu@chromium.org [Wed, 28 Nov 2012 19:30:51 +0000 (19:30 +0000)]
[chromium] Add unit tests for ChromeClientImpl::getNavigationPolicy
https://bugs.webkit.org/show_bug.cgi?id=102424

Reviewed by Adam Barth.

This tests a bunch of basic scenarios regarding what will produce a
popup, a new foreground/background tab, or a new window.

* WebKit.gypi: Added test file.
* src/WebViewImpl.h:
(WebViewImpl): Added friend declaration for setCurrentInputEventForTest.
* tests/ChromeClientImplTest.cpp: Added.

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

7 years agoMove empty loading to DocumentLoader, simplify FrameLoader::init()
japhet@chromium.org [Wed, 28 Nov 2012 19:30:48 +0000 (19:30 +0000)]
Move empty loading to DocumentLoader, simplify FrameLoader::init()
https://bugs.webkit.org/show_bug.cgi?id=101512

Reviewed by Adam Barth.

Source/WebCore:

No new tests, though several outputs changed because we no longer send resource
    load callbacks for empty loads.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::commitData):
(WebCore::DocumentLoader::clearMainResourceLoader):
(WebCore::DocumentLoader::isLoadingInAPISense):
(WebCore::DocumentLoader::documentURL):
(WebCore::DocumentLoader::isLoadingMainResource):
(WebCore::DocumentLoader::maybeLoadEmpty):
(WebCore):
(WebCore::DocumentLoader::startLoadingMainResource): Handle empty main resource
     loads directly here.
* loader/DocumentLoader.h:
(WebCore::DocumentLoader::serverRedirectSourceForHistory):
(DocumentLoader):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::FrameLoader): Initialize some variables whose values
    were previously being reset in init(). Given that the FrameLoader is in
    an inconsistent state before init() is called anyway, there doesn't seem
    to be a disadvantage to just initializing them to their post-init() values.
(WebCore::FrameLoader::init): Just call startLoadingMainResource(), instead of
    doing a bunch of direct calls to functions FrameLoader shouldn't know about.
* loader/FrameLoaderStateMachine.cpp:
(WebCore::FrameLoaderStateMachine::FrameLoaderStateMachine):
* loader/FrameLoaderStateMachine.h:
* loader/MainResourceLoader.cpp: Throughout, remove the concept of an empty load.
(WebCore::MainResourceLoader::loadNow): This only returned true when an empty
    load got deferred, which won't happen now. Return void and always treat
    as returning false.
* loader/MainResourceLoader.h:
(MainResourceLoader):

Tools:

* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::updateForCommittedLoad): This function doesn't play nicely with empty urls and incorrectly
    interprets them as a non-empty load. This change is required for
     http/tests/navigation/new-window-redirect-history.html to continue to pass in chromium.
* TestWebKitAPI/Tests/WebKit2/AboutBlankLoad.cpp: This test relies on a callback that no longer
     is sent for about:blank loads.  Hook into didFinishLoadForFrame() instead.
(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST):

LayoutTests:

Don't expect resource load callbacks for empty loads.

* http/tests/inspector/network/network-iframe-load-and-delete.html:
* http/tests/loading/redirect-methods-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
* http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:

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

7 years ago[Chromium] Unreviewed. Mark http/tests/media/video-buffered-range-contains-currentTim...
scherkus@chromium.org [Wed, 28 Nov 2012 19:16:36 +0000 (19:16 +0000)]
[Chromium] Unreviewed. Mark http/tests/media/video-buffered-range-contains-currentTime.html as requiring an image rebaseline.

* platform/chromium/TestExpectations:

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

7 years ago[chromium] Handle pinch correctly in slow-scrolling area
aelias@chromium.org [Wed, 28 Nov 2012 19:11:15 +0000 (19:11 +0000)]
[chromium] Handle pinch correctly in slow-scrolling area
https://bugs.webkit.org/show_bug.cgi?id=102740

Reviewed by James Robinson.

With the nonmodal gesture event model, pinch zoom gestures involve
interleaved pinch and scroll events. This caused a bug on slow-scroll
areas: the scroll events were sent to the main thread and
the pinch events were handled in the impl thread.

This patch makes it so that scroll events are always handled in the impl
thread if a pinch is active.

* src/WebCompositorInputHandlerImpl.cpp:
(WebKit::WebCompositorInputHandlerImpl::WebCompositorInputHandlerImpl):
(WebKit::WebCompositorInputHandlerImpl::handleInputEventInternal):
* src/WebCompositorInputHandlerImpl.h:
* tests/WebCompositorInputHandlerImplTest.cpp:
(WebKit::TEST_F):
(WebKit):

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

7 years agoUnreviewed, land updated Chromium results after track limiter removal.
tony@chromium.org [Wed, 28 Nov 2012 19:00:34 +0000 (19:00 +0000)]
Unreviewed, land updated Chromium results after track limiter removal.

* fast/forms/range/range-thumb-height-percentage-expected.txt:
* platform/chromium-mac-lion/media/video-empty-source-expected.png:
* platform/chromium-mac-snowleopard/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Removed.
* platform/chromium-mac-snowleopard/fast/forms/range/slider-thumb-stylability-expected.txt: Removed.
* platform/chromium-mac-snowleopard/fast/repaint/slider-thumb-float-expected.txt: Removed.
* platform/chromium-mac-snowleopard/media/video-empty-source-expected.png:
* platform/chromium-mac/fast/dom/HTMLInputElement/input-slider-update-expected.txt: Added.
* platform/chromium-mac/fast/forms/box-shadow-override-expected.txt:
* platform/chromium-mac/fast/forms/input-appearance-height-expected.txt:
* platform/chromium-mac/fast/forms/range/input-appearance-range-expected.txt: Added.
* platform/chromium-mac/fast/forms/range/range-thumb-height-percentage-expected.txt: Renamed from LayoutTests/platform/chromium/fast/forms/range/range-thumb-height-percentage-expected.txt.
* platform/chromium-mac/fast/forms/range/slider-padding-expected.txt: Added.
* platform/chromium-mac/fast/forms/range/slider-thumb-shared-style-expected.txt:
* platform/chromium-mac/fast/forms/range/slider-thumb-stylability-expected.txt:
* platform/chromium-mac/fast/hidpi/video-controls-in-hidpi-expected.txt:
* platform/chromium-mac/fast/layers/video-layer-expected.txt:
* platform/chromium-mac/fast/repaint/slider-thumb-drag-release-expected.txt: Added.
* platform/chromium-mac/fast/repaint/slider-thumb-float-expected.txt: Removed.
* platform/chromium-mac/media/audio-controls-rendering-expected.txt:
* platform/chromium-mac/media/audio-repaint-expected.txt:
* platform/chromium-mac/media/controls-after-reload-expected.txt:
* platform/chromium-mac/media/controls-strict-expected.txt:
* platform/chromium-mac/media/controls-styling-expected.txt:
* platform/chromium-mac/media/controls-styling-strict-expected.txt:
* platform/chromium-mac/media/controls-without-preload-expected.txt:
* platform/chromium-mac/media/media-controls-clone-expected.txt:
* platform/chromium-mac/media/media-document-audio-repaint-expected.txt:
* platform/chromium-mac/media/video-controls-rendering-expected.txt:
* platform/chromium-mac/media/video-display-toggle-expected.txt:
* platform/chromium-mac/media/video-empty-source-expected.png:
* platform/chromium-mac/media/video-empty-source-expected.txt:
* platform/chromium-mac/media/video-no-audio-expected.txt:
* platform/chromium-mac/media/video-playing-and-pause-expected.txt:
* platform/chromium-mac/media/video-zoom-controls-expected.txt:
* platform/chromium-mac/platform/chromium/virtual/gpu/fast/hidpi/video-controls-in-hidpi-expected.txt:
* platform/chromium-win-xp/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Removed.
* platform/chromium-win-xp/fast/forms/range/slider-thumb-stylability-expected.txt: Removed.
* platform/chromium-win-xp/fast/repaint/slider-thumb-float-expected.txt: Removed.
* platform/chromium-win/fast/dom/HTMLInputElement/input-slider-update-expected.txt:
* platform/chromium-win/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt:
* platform/chromium-win/fast/forms/box-shadow-override-expected.txt:
* platform/chromium-win/fast/forms/input-appearance-height-expected.txt:
* platform/chromium-win/fast/forms/range/input-appearance-range-expected.txt:
* platform/chromium-win/fast/forms/range/range-thumb-height-percentage-expected.txt:
* platform/chromium-win/fast/forms/range/slider-padding-expected.txt:
* platform/chromium-win/fast/forms/range/slider-thumb-shared-style-expected.txt:
* platform/chromium-win/fast/forms/range/slider-thumb-stylability-expected.txt:
* platform/chromium-win/fast/multicol/client-rects-expected.txt:
* platform/chromium-win/fast/repaint/slider-thumb-drag-release-expected.txt:
* platform/chromium-win/fast/repaint/slider-thumb-float-expected.txt:
* platform/chromium-win/media/video-empty-source-expected.txt:
* platform/chromium/TestExpectations:
* platform/chromium/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Renamed from LayoutTests/platform/chromium-mac/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt.
* platform/chromium/fast/forms/range/slider-thumb-shared-style-expected.txt: Removed.
* platform/chromium/fast/multicol/client-rects-expected.txt: Added.
* platform/chromium/fast/repaint/slider-thumb-float-expected.txt: Renamed from LayoutTests/platform/mac/fast/repaint/slider-thumb-float-expected.txt.
* platform/mac/fast/dom/HTMLInputElement/input-slider-update-styled-expected.txt: Removed.
* platform/mac/fast/forms/range/slider-thumb-stylability-expected.txt: Removed.
* platform/win-future/fast/forms/range/range-thumb-height-percentage-expected.txt: Copied from LayoutTests/fast/forms/range/range-thumb-height-percentage-expected.txt.

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

7 years agoCalling .removeCue() for a cue that was never added should raise a NOT_FOUND_ERR
commit-queue@webkit.org [Wed, 28 Nov 2012 18:55:52 +0000 (18:55 +0000)]
Calling .removeCue() for a cue that was never added should raise a NOT_FOUND_ERR
https://bugs.webkit.org/show_bug.cgi?id=103412

Patch by Antoine Quint <graouts@apple.com> on 2012-11-28
Reviewed by Eric Carlson.

Source/WebCore:

Updating the .removeCue() implementation to match the latest spec. This means we now
raise a NOT_FOUND_ERR exception when trying to remove a cue that wasn't present in the
cue list instead of a INVALID_STATE_ERR exception like the spec used to mandate.

* html/track/TextTrack.cpp:
(WebCore::TextTrack::removeCue):

LayoutTests:

Updating the .removeCue() test checking on the exception to be NOT_FOUND_ERR instead
of INVALID_STATE_ERR.

* 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@136026 268f45cc-cd09-0410-ab3c-d52691b4dbfc

7 years agoLayout Test svg/animations/mpath-remove-from-dependents-on-delete-crash.html is flaky
schenney@chromium.org [Wed, 28 Nov 2012 18:29:10 +0000 (18:29 +0000)]
Layout Test svg/animations/mpath-remove-from-dependents-on-delete-crash.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=103375

Unreviewed test update.

According to the original bug, at least 4 iterations were required to
crash (without the fix). To make the test faster, I've reduced the max
iteration count to 5, rather than 10. This may not fix the timeoout
issue because it might be a real timeout, not just a slow test.

* svg/animations/mpath-remove-from-dependents-on-delete-crash.html:

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

7 years ago[Qt][Win] Enable usage of QTWEBKIT_PLUGIN_PATH.
zeno.albisser@digia.com [Wed, 28 Nov 2012 16:58:34 +0000 (16:58 +0000)]
[Qt][Win] Enable usage of QTWEBKIT_PLUGIN_PATH.
https://bugs.webkit.org/show_bug.cgi?id=103529

This patch enables the same behavior for Windows
as it is currently implemented for all other operating
systems supported by Qt.
Directories listed in the environment variable
QTWEBKIT_PLUGIN_PATH are being searched for additional
plugins.
The only difference is that directories on Windows
need to be separated by a semicolon instead of a colon.

Reviewed by Kenneth Rohde Christiansen.

* plugins/win/PluginDatabaseWin.cpp:
(WebCore):
(WebCore::addQtWebKitPluginPath):
(WebCore::PluginDatabase::defaultPluginDirectories):

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

7 years agoRegression(r135962): m_pendingSyncBackingStores needs to be cleared in LayerTreeRende...
christophe.dumez@intel.com [Wed, 28 Nov 2012 16:54:18 +0000 (16:54 +0000)]
Regression(r135962): m_pendingSyncBackingStores needs to be cleared in LayerTreeRenderer::purgeGLResources()
https://bugs.webkit.org/show_bug.cgi?id=103527

Reviewed by Jocelyn Turcotte.

Make sure m_pendingSyncBackingStores is cleared in
LayerTreeRenderer::purgeGLResources() to avoid trying to assign
backing store to layers after everything has been invalidated.

* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::purgeGLResources):

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

7 years ago[v8] 4% regression in dom_traverse tests
abarth@webkit.org [Wed, 28 Nov 2012 16:50:21 +0000 (16:50 +0000)]
[v8] 4% regression in dom_traverse tests
https://bugs.webkit.org/show_bug.cgi?id=102858

Unreviewed.

This patch is a manual rollout of
http://trac.webkit.org/changeset/134729. We can't do a mechanical
rollout because V8DOMWrapper::getCachedWrapper no longer exists.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):

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

7 years agoRemoved extra definition of GLXContext.
commit-queue@webkit.org [Wed, 28 Nov 2012 16:41:03 +0000 (16:41 +0000)]
Removed extra definition of GLXContext.
https://bugs.webkit.org/show_bug.cgi?id=103500

Patch by Denis Nomiyama <d.nomiyama@samsung.com> on 2012-11-28
Reviewed by Martin Robinson.

A minor cleanup to remove a spare definition of GLXContext in GLContextGLX.h.

No new tests. This doesn't change any behavior.

* platform/graphics/glx/GLContextGLX.h:

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

7 years ago[chromium] Allow plugins to opt-in to receive synthetic mouse events out of touch...
commit-queue@webkit.org [Wed, 28 Nov 2012 16:28:51 +0000 (16:28 +0000)]
[chromium] Allow plugins to opt-in to receive synthetic mouse events out of touch events.
https://bugs.webkit.org/show_bug.cgi?id=103092

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-11-28
Reviewed by Tony Chang.

Source/WebKit/chromium:

A plugin can now request to receive raw touch events, or to receive mouse events synthesized
from the touch events, or to not receive any touch events at all.

* public/WebPluginContainer.h:
(WebPluginContainer):
* src/WebInputEventConversion.cpp:
(WebKit::updateWebMouseEventFromWebCoreMouseEvent):
(WebKit::WebMouseEventBuilder::WebMouseEventBuilder):
(WebKit):
* src/WebInputEventConversion.h:
(WebMouseEventBuilder):
* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::setIsAcceptingTouchEvents):
(WebKit):
(WebKit::WebPluginContainerImpl::requestTouchEventType):
(WebKit::WebPluginContainerImpl::WebPluginContainerImpl):
(WebKit::WebPluginContainerImpl::~WebPluginContainerImpl):
* src/WebPluginContainerImpl.h:
(WebPluginContainerImpl):

Tools:

Update the test web-plugin to be able to opt-in to receive synthesized mouse events created
from touch events.

* DumpRenderTree/chromium/TestWebPlugin.cpp:
(parseTouchEventRequestType):
(TestWebPlugin::TestWebPlugin):
(TestWebPlugin::initialize):
* DumpRenderTree/chromium/TestWebPlugin.h:
(TestWebPlugin):

LayoutTests:

Add test for synthesized mouse events from touch (and update existing tests).

* platform/chromium/plugins/touch-events-details.html:
* platform/chromium/plugins/touch-events-synthesized-expected.txt: Added.
* platform/chromium/plugins/touch-events-synthesized.html: Copied from LayoutTests/platform/chromium/plugins/touch-events.html.
* platform/chromium/plugins/touch-events.html:
* platform/chromium/plugins/transformed-events.html:

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

7 years agoFix gesture scrolling when the target-element of scroll-begin is removed
commit-queue@webkit.org [Wed, 28 Nov 2012 16:06:11 +0000 (16:06 +0000)]
Fix gesture scrolling when the target-element of scroll-begin is removed
https://bugs.webkit.org/show_bug.cgi?id=103355

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-11-28
Reviewed by Antonio Gomes.

Source/WebCore:

When a touch-scroll starts, the node under the touch-point gets latched, and
subsequent scroll-update events are dispatched to that node. But if the node is
removed while the gesture event is in progress (e.g. in a dynamically updated
list), then the scrolling stops, although there are enough elements to still
enable scrolling. So instead of latching on to the node immediately under the
touch point, latch on to the scrollable node under the touch point.

Test: fast/events/touch/gesture/touch-gesture-scroll-remove-node.html

* page/EventHandler.cpp:
(WebCore::getClosestScrollableNodeInDocumentIfPossible):
(WebCore):
(WebCore::EventHandler::handleWheelEvent):

LayoutTests:

Added a test that starts a touch-scroll, removes the initial element under the
touch-point, and scrolls some more, to test that the scrolling happens correctly
after the element is removed.

* fast/events/touch/gesture/touch-gesture-scroll-remove-node-expected.txt: Added.
* fast/events/touch/gesture/touch-gesture-scroll-remove-node.html: Added.

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

7 years ago[EFL][WK2] Add support for PlatformWebView::simulateSpacebarKeyPress() in TestWebKitAPI
commit-queue@webkit.org [Wed, 28 Nov 2012 16:05:58 +0000 (16:05 +0000)]
[EFL][WK2] Add support for PlatformWebView::simulateSpacebarKeyPress() in TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=103123

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-11-28
Reviewed by Laszlo Gombos.

Add support for PlatformWebView::simulateSpacebarKeyPress().
This functionality is needed by WebKit2 API test MouseMoveAfterCrash
which is going to be unskipped in bug #103252.

* TestWebKitAPI/efl/PlatformUtilities.cpp:
(TestWebKitAPI::Util::sleep):
* TestWebKitAPI/efl/PlatformWebView.cpp: Use usleep() instead of
sleep().
(TestWebKitAPI::PlatformWebView::simulateSpacebarKeyPress):
(TestWebKitAPI):

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

7 years agoFix .libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::validationMessageBadI...
philn@webkit.org [Wed, 28 Nov 2012 16:03:51 +0000 (16:03 +0000)]
Fix .libs/libwebkitgtk-3.0.so: undefined reference to `WebCore::validationMessageBadInputForNumberText().
https://bugs.webkit.org/show_bug.cgi?id=103509

Patch by Anton Obzhirov <a.obzhirov@samsung.com> on 2012-11-28
Reviewed by Philippe Normand.

GTK build fix after r136001.

* platform/gtk/LocalizedStringsGtk.cpp:
(WebCore::validationMessageBadInputForNumberText):
(WebCore):

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

7 years agoRegression(r135962): ASSERTION FAILED: !m_pedningSyncBackingStores.contains(layer)
christophe.dumez@intel.com [Wed, 28 Nov 2012 14:51:18 +0000 (14:51 +0000)]
Regression(r135962): ASSERTION FAILED: !m_pedningSyncBackingStores.contains(layer)
https://bugs.webkit.org/show_bug.cgi?id=103498

Reviewed by Kenneth Rohde Christiansen.

We hit the !m_pedningSyncBackingStores.contains(layer) assertion
in LayerTreeRenderer when 2 asynchronous backing store operations
are pending. The current code checks if the layer already has a
backing store in its guard but this is insufficient as it is not
checking the m_pendingSyncBackingStores hash for pending backing
store changes.

In this patch, we improve the guards in createBackingStoreIfNeeded()
and removeBackingStoreIfNeeded() to check not only if the layer has
already a backing store but also check m_pendingSyncBackingStores
for pending changes. This is safer and it allows for optimizations
in the cases where we have both a removal and a creation pending.
In those cases, we can simply cancel the pending operation instead
of queueing a new one.

* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::getBackingStore):
(WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

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

7 years agoIndexedDB: Remove setVersion from WK API
dgrogan@chromium.org [Wed, 28 Nov 2012 14:42:52 +0000 (14:42 +0000)]
IndexedDB: Remove setVersion from WK API
https://bugs.webkit.org/show_bug.cgi?id=103456

Reviewed by Darin Fisher.

These are the last vestiges of this ancient API. The bulk of the
removal was done in bug 94972.

* public/WebIDBCallbacks.h:
* public/WebIDBDatabase.h:

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

7 years ago[EFL][WK2] add flaky results after r135935
commit-queue@webkit.org [Wed, 28 Nov 2012 14:38:46 +0000 (14:38 +0000)]
[EFL][WK2] add flaky results after r135935
https://bugs.webkit.org/show_bug.cgi?id=103514

Unreviewed gardening: add flaky results after r135935 enabled
loads of reftests. Also move the existing flaky results from efl
to efl-wk2 since this does not concern WK1.

Patch by Jussi Kukkonen <jussi.kukkonen@intel.com> on 2012-11-28

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

7 years ago[EFL] Use mutex locker in wakeUp() to ensure thread-safety.
commit-queue@webkit.org [Wed, 28 Nov 2012 14:38:33 +0000 (14:38 +0000)]
[EFL] Use mutex locker in wakeUp() to ensure thread-safety.
https://bugs.webkit.org/show_bug.cgi?id=101132

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-11-28
Reviewed by Gyuyoung Kim.

Add mutex locker for the ecore pipe to ensure thread-safety of
RunLoop::wakeUp().

RunLoop::wakeUp() can be called by multiple thread. It uses
ecore_pipe_write() function but the function is not thread-safe.

* platform/RunLoop.h:
(RunLoop):
* platform/efl/RunLoopEfl.cpp:
(WebCore::RunLoop::wakeUp):

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

7 years ago[EFL] Refactor theme to choose whether to support foreground color of selection
commit-queue@webkit.org [Wed, 28 Nov 2012 14:23:18 +0000 (14:23 +0000)]
[EFL] Refactor theme to choose whether to support foreground color of selection
https://bugs.webkit.org/show_bug.cgi?id=102037

Patch by Ryuan Choi <ryuan.choi@gmail.com> on 2012-11-28
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

If foreground selection color is supported, selected text is painted to
SelectionForegroundColor instead of text color. If not, text can be painted
to text color.

However, EFL port does not have a way to disable support of foreground
selection color. So this patch refactors color classes of theme from
active and inactive to foreground and background in order to disable support
of foreground selection color when foreground color class is not specified.

* platform/efl/RenderThemeEfl.cpp:
(WebCore::fillColorsFromEdjeClass):
Returned false without error message when colorClass is not specified.
(WebCore::RenderThemeEfl::setColorFromThemeClass):
(WebCore::RenderThemeEfl::loadTheme):
(WebCore::RenderThemeEfl::RenderThemeEfl):
(WebCore::RenderThemeEfl::supportsSelectionForegroundColors):
(WebCore):
* platform/efl/RenderThemeEfl.h:
(RenderThemeEfl):

Source/WebKit/efl:

* DefaultTheme/default.edc:
Refactored color classes from active/inactive to foreground/background.

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

7 years agoMinor cleanup in TestInvocation
commit-queue@webkit.org [Wed, 28 Nov 2012 14:12:30 +0000 (14:12 +0000)]
Minor cleanup in TestInvocation
https://bugs.webkit.org/show_bug.cgi?id=103512

Patch by Yael Aharon <yael.aharon@intel.com> on 2012-11-28
Reviewed by Kenneth Rohde Christiansen.

Remove a function declaration that is not defined and not used.
Fix spelling error in m_webProcessIsUnresponsive.

* WebKitTestRunner/TestInvocation.cpp:
(WTR::TestInvocation::TestInvocation):
(WTR::TestInvocation::invoke):
* WebKitTestRunner/TestInvocation.h:
(TestInvocation):
* WebKitTestRunner/cairo/TestInvocationCairo.cpp:
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):
* WebKitTestRunner/qt/TestInvocationQt.cpp:
(WTR::TestInvocation::dumpPixelsAndCompareWithExpected):

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

7 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Wed, 28 Nov 2012 14:05:44 +0000 (14:05 +0000)]
Unreviewed.  Rolled DEPS.

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

* DEPS:

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

7 years agoMove childrenAffectedBy bits from RenderStyle to Element
allan.jensen@digia.com [Wed, 28 Nov 2012 13:44:46 +0000 (13:44 +0000)]
Move childrenAffectedBy bits from RenderStyle to Element
https://bugs.webkit.org/show_bug.cgi?id=101448

Unreviewed buildfix.

To use renderStyle() on some Macs we need to include NodeRenderStyle.h.

* dom/ContainerNode.cpp:

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

7 years agoMove childrenAffectedBy bits from RenderStyle to Element
allan.jensen@digia.com [Wed, 28 Nov 2012 13:09:40 +0000 (13:09 +0000)]
Move childrenAffectedBy bits from RenderStyle to Element
https://bugs.webkit.org/show_bug.cgi?id=101448
https://bugs.webkit.org/show_bug.cgi?id=98021

Source/WebCore:

Reviewed by Antti Koivisto.

Moves facts observed about restyling dependencies out of RenderStyle and
into RareData for Node and Element. This also enables further cleanup
in related code that tried to deal with problems caused with the placement
of the data.

Test: fast/css/nth-child-not-in-rightmost.html

* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkSelector):
(WebCore::SelectorChecker::checkOneSelector):
* css/SiblingTraversalStrategies.h:
(WebCore::DOMSiblingTraversalStrategy::countElementsBefore):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::sortAndTransferMatchedRules):
(WebCore::StyleResolver::canShareStyleWithElement):
(WebCore::parentElementPreventsSharing):
(WebCore::StyleResolver::locateSharedStyle):
* dom/ContainerNode.cpp:
(WebCore::ContainerNode::setActive):
(WebCore::ContainerNode::setHovered):
* dom/Element.cpp:
(WebCore::Element::detach):
(WebCore::Element::recalcStyle):
(WebCore::checkForEmptyStyleChange):
(WebCore::checkForSiblingStyleChanges):
(WebCore::Element::setChildrenAffectedByHover):
(WebCore::Element::setChildrenAffectedByActive):
(WebCore::Element::setChildrenAffectedByDrag):
(WebCore::Element::setChildrenAffectedByFirstChildRules):
(WebCore::Element::setChildrenAffectedByLastChildRules):
(WebCore::Element::setChildrenAffectedByDirectAdjacentRules):
(WebCore::Element::setChildrenAffectedByForwardPositionalRules):
(WebCore::Element::setChildrenAffectedByBackwardPositionalRules):
(WebCore::Element::setChildIndex):
(WebCore::Element::rareDataStyleAffectedByEmpty):
(WebCore::Element::rareDataChildrenAffectedByHover):
(WebCore::Element::rareDataChildrenAffectedByActive):
(WebCore::Element::rareDataChildrenAffectedByDrag):
(WebCore::Element::rareDataChildrenAffectedByFirstChildRules):
(WebCore::Element::rareDataChildrenAffectedByLastChildRules):
(WebCore::Element::rareDataChildrenAffectedByDirectAdjacentRules):
(WebCore::Element::rareDataChildrenAffectedByForwardPositionalRules):
(WebCore::Element::rareDataChildrenAffectedByBackwardPositionalRules):
(WebCore::Element::rareDataChildIndex):
* dom/Element.h:
(Element):
(WebCore::Element::styleAffectedByEmpty):
(WebCore::Element::childrenAffectedByHover):
(WebCore::Element::childrenAffectedByActive):
(WebCore::Element::childrenAffectedByDrag):
(WebCore::Element::childrenAffectedByPositionalRules):
(WebCore::Element::childrenAffectedByFirstChildRules):
(WebCore::Element::childrenAffectedByLastChildRules):
(WebCore::Element::childrenAffectedByDirectAdjacentRules):
(WebCore::Element::childrenAffectedByForwardPositionalRules):
(WebCore::Element::childrenAffectedByBackwardPositionalRules):
(WebCore::Element::childIndex):
* dom/ElementRareData.h:
(ElementRareData):
(WebCore::ElementRareData::resetComputedStyle):
(WebCore::ElementRareData::resetDynamicRestyleObservations):
* dom/Node.cpp:
(WebCore::Node::diff):
* dom/NodeRareData.h:
(WebCore::NodeRareData::NodeRareData):
(WebCore::NodeRareData::childrenAffectedByHover):
(WebCore::NodeRareData::setChildrenAffectedByHover):
(WebCore::NodeRareData::childrenAffectedByActive):
(WebCore::NodeRareData::setChildrenAffectedByActive):
(WebCore::NodeRareData::childrenAffectedByDrag):
(WebCore::NodeRareData::setChildrenAffectedByDrag):
(NodeRareData):
(WebCore::NodeRareData::childrenAffectedByFirstChildRules):
(WebCore::NodeRareData::setChildrenAffectedByFirstChildRules):
(WebCore::NodeRareData::childrenAffectedByLastChildRules):
(WebCore::NodeRareData::setChildrenAffectedByLastChildRules):
(WebCore::NodeRareData::childrenAffectedByDirectAdjacentRules):
(WebCore::NodeRareData::setChildrenAffectedByDirectAdjacentRules):
(WebCore::NodeRareData::childrenAffectedByForwardPositionalRules):
(WebCore::NodeRareData::setChildrenAffectedByForwardPositionalRules):
(WebCore::NodeRareData::childrenAffectedByBackwardPositionalRules):
(WebCore::NodeRareData::setChildrenAffectedByBackwardPositionalRules):
(WebCore::NodeRareData::childIndex):
(WebCore::NodeRareData::setChildIndex):
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::createRendererForElementIfNeeded):
* page/TouchAdjustment.cpp:
(WebCore::TouchAdjustment::nodeRespondsToTapGesture):
* rendering/RenderObject.cpp:
(WebCore::RenderObject::updateDragState):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::copyNonInheritedFrom):
* rendering/style/RenderStyle.h:

LayoutTests:

Reviewed by Antti Koivisto.
New test-case by Takashi Sakamoto

* fast/css/nth-child-not-in-rightmost-expected.html: Added.
* fast/css/nth-child-not-in-rightmost.html: Added.
* touchadjustment/event-triggered-widgets.html: Fix bug exposed by patch.

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

7 years ago[EFL][WK2] MiniBrowser rendering should not get blurry when scrolled down with differ...
kenneth@webkit.org [Wed, 28 Nov 2012 13:09:34 +0000 (13:09 +0000)]
[EFL][WK2] MiniBrowser rendering should not get blurry when scrolled down with different scale values
https://bugs.webkit.org/show_bug.cgi?id=103079

Reviewed by Simon Hausmann.

The problem was caused because we moved the page inside our viewport
in non-discrete units.

Now instead of changing the content visible in our viewport by
applying scale, and then transforming the CSS offset, we now first
discretely position the page in UI coordinates.

This patch also removes some dead code.

* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::transformFromScene):
(EwkViewImpl::displayTimerFired):

   Transform according to the page position.

* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl::setPagePosition): Now stores a float.
(EwkViewImpl::discretePagePosition): Returns the discrete page position.
(EwkViewImpl):
* UIProcess/efl/PageClientLegacyImpl.cpp:
(WebKit::PageClientLegacyImpl::updateViewportSize):
(WebKit::PageClientLegacyImpl::pageDidRequestScroll):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
(WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
(WebKit::PageViewportControllerClientEfl::setViewportPosition): Convert to page position.
(WebKit::PageViewportControllerClientEfl::setContentsScale):
(WebKit::PageViewportControllerClientEfl::didResumeContent):
* UIProcess/efl/PageViewportControllerClientEfl.h:
(WebKit::PageViewportControllerClientEfl::scaleFactor): Use the value
from the view directly.
(WebKit::PageViewportControllerClientEfl::contentPosition):
(PageViewportControllerClientEfl):

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

7 years ago[EFL][WK2][AC] No need to export GL properties from EwkViewImpl class
commit-queue@webkit.org [Wed, 28 Nov 2012 12:56:26 +0000 (12:56 +0000)]
[EFL][WK2][AC] No need to export GL properties from EwkViewImpl class
https://bugs.webkit.org/show_bug.cgi?id=103505

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-28
Reviewed by Kenneth Rohde Christiansen.

No need to export GL data members from EwkViewImpl class,
those are internal implementation objects not used by anyone outside the class.

* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::displayTimerFired):
(EwkViewImpl::createGLSurface):
* UIProcess/API/efl/EwkViewImpl.h:
(EwkViewImpl):
(EwkViewImpl::evasGLContext):
(EwkViewImpl::evasGLSurface):

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

7 years agoGraphicsSurface: Implement usage of GraphicsSurface for WebGL in WK1.
zeno.albisser@digia.com [Wed, 28 Nov 2012 12:49:22 +0000 (12:49 +0000)]
GraphicsSurface: Implement usage of GraphicsSurface for WebGL in WK1.
https://bugs.webkit.org/show_bug.cgi?id=103497

Unreviewed buildfix.

Any usage of GraphicsSurface needs to be wrapped with USE(GRAPHICS_SURFACE).

* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):

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

7 years ago[EFL][WK2][AC] Clear the viewport with white color
joone.hur@intel.com [Wed, 28 Nov 2012 12:45:45 +0000 (12:45 +0000)]
[EFL][WK2][AC] Clear the viewport with white color
https://bugs.webkit.org/show_bug.cgi?id=103495

When initializing a GL surface, we should clear the buffer with white color.

Reviewed by Kenneth Rohde Christiansen.

* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::createGLSurface):

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

7 years agoGraphicsSurface: Implement usage of GraphicsSurface for WebGL in WK1.
zeno.albisser@digia.com [Wed, 28 Nov 2012 12:07:50 +0000 (12:07 +0000)]
GraphicsSurface: Implement usage of GraphicsSurface for WebGL in WK1.
https://bugs.webkit.org/show_bug.cgi?id=103497

This is a temporary workaround for an issue with GraphicsSurfaceMac.
GraphicsSurfaceMac is currently implemented using CGL only.
CGL does not allow us to properly restore the NSView a context was made current with.
Therefore we have to go through QOpenGLContext to ensure the context
is being restored correctly.
As soon as we are updating GraphicsSurfaceMac to use NSOpenGL,
we should revert this patch.

Reviewed by Simon Hausmann.

* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):

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

7 years agoGraphicsSurface: Implement usage of GraphicsSurface for WebGL in WK1.
zeno.albisser@digia.com [Wed, 28 Nov 2012 12:07:27 +0000 (12:07 +0000)]
GraphicsSurface: Implement usage of GraphicsSurface for WebGL in WK1.
https://bugs.webkit.org/show_bug.cgi?id=103497

Using GraphicsSurface for WebGL in WK1 allows us to share
the code with the WK2 implementation.

Reviewed by Simon Hausmann.

* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
    Remove obsolete code.
(WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
    After blitting the multisample framebuffer,
    we can copy the contents onto the GraphicsSurface.
    Right after that we can use the GraphicsSurface
    as a texture origin to paint to the TextureMapper.
    Flags related to flipping and blending are being resolved
    by GraphicsSurface, and do not need to be handled here anymore.
(WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
    Remove a redundant makeCurrentIfNeeded call.
    The original context is being restored by
    blitMultisampleFramebufferAndRestoreContext anyway.
    Instead of explicitly calling swapBuffers here,
    we call swapBuffers on the GraphicsSurface implicitly
    after in GraphicsSurfacePrivate::copyFromTexture().
* platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:
    Add members to hold the reading end texture IDs.
    The texture on the reading side are in a different
    context than the texture on the writing side.
    By using GraphicsSurface in WK1 we have to distinguish
    between these textures, as a single instance serves
    for reading and writing.
(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::~GraphicsSurfacePrivate):
(WebCore::GraphicsSurfacePrivate::swapBuffers):
(WebCore::GraphicsSurfacePrivate::copyFromTexture):
    Add an implicit call to swapBuffers().
(WebCore::GraphicsSurfacePrivate::frontBufferTextureID):
(GraphicsSurfacePrivate):
* platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):
    Add a flag to distinguish between sending and receiving/reading
    side of the surface. This flag is being initialized in the constructor
    which is the only place where we know if an instance will be used for
    writing or reading.
    The purpose of this flag is to avoid erroneously swapping the buffers
    on the reading side. We can no longer rely on m_xPixmap for this purpose.
(WebCore::GraphicsSurfacePrivate::swapBuffers):
(WebCore::GraphicsSurfacePrivate::copyFromTexture):
(WebCore::GraphicsSurfacePrivate::glxPixmap):
    Lazily create the GLX pixmap on demand.
(GraphicsSurfacePrivate):
(WebCore::GraphicsSurface::platformImport):

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

7 years agoUnreviewed. Fix extra spaces in SimpleFontData::initGDIFont().
roger_fong@apple.com [Wed, 28 Nov 2012 11:48:34 +0000 (11:48 +0000)]
Unreviewed. Fix extra spaces in SimpleFontData::initGDIFont().

* platform/graphics/win/SimpleFontDataWin.cpp:
(WebCore::SimpleFontData::initGDIFont):

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

7 years ago[V8] Crash wrapping media element when MediaPlayer isn't available
commit-queue@webkit.org [Wed, 28 Nov 2012 11:33:28 +0000 (11:33 +0000)]
[V8] Crash wrapping media element when MediaPlayer isn't available
https://bugs.webkit.org/show_bug.cgi?id=103431

Patch by Dan Carney <dcarney@google.com> on 2012-11-28
Reviewed by Kentaro Hara.

Call HTMLElement::createWrapper directly when dispatching a
disabled MediaElement wrap.

No new tests. Testing this must apparently be manual.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
* dom/make_names.pl:
(printWrapperFunctions):
(printWrapperFactoryHeaderFile):

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

7 years agoInitialize identity matrix in SimpleFontData::initGDIFont() properly.
roger_fong@apple.com [Wed, 28 Nov 2012 11:31:47 +0000 (11:31 +0000)]
Initialize identity matrix in SimpleFontData::initGDIFont() properly.
https://bugs.webkit.org/show_bug.cgi?id=103499
<rdar://problem/12400700>

Reviewed by Timothy Horton.

We are incorrectly initializing the matrix passed into GetGlyphOutline.
This patch fixes MAT2 initialization to match the way we initialize the
identity matrix in SimpleFontData::boundsForGDIGlyph and SimpleFontData::widthForGDIGlyph.

* platform/graphics/win/SimpleFontDataWin.cpp:
(WebCore::SimpleFontData::initGDIFont):

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

7 years agoUnreviewed. Use my personal email as bugzilla email.
thiago.santos@intel.com [Wed, 28 Nov 2012 10:26:53 +0000 (10:26 +0000)]
Unreviewed. Use my personal email as bugzilla email.

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

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

7 years agoUnreviewed. Adding myself to committers.py.
thiago.santos@intel.com [Wed, 28 Nov 2012 10:15:09 +0000 (10:15 +0000)]
Unreviewed. Adding myself to committers.py.

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

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

7 years agoMerge tests for date pseudo classes into one
tkent@chromium.org [Wed, 28 Nov 2012 10:05:31 +0000 (10:05 +0000)]
Merge tests for date pseudo classes into one
https://bugs.webkit.org/show_bug.cgi?id=103489

Reviewed by Kentaro Hara.

date-appearance-pseudo-classes.html doesn't need to be a pixel
test because "how css properties are applied" is tested in
date-appearance-basic.html. Checking querySelectorAll result is
enough to check pseudo classes support, and we can convert the
test to a dumpAsText test.

Also, we should remove type=date dependencies in
fast/css/pseudo-*.html because some platforms don't enable
INPUT_TYPE_DATE and we had better put such tests into one place,
fast/forms/date/.

* fast/css/pseudo-in-range-expected.txt:
* fast/css/pseudo-in-range-invalid-value-expected.txt:
* fast/css/pseudo-out-of-range-expected.txt:
* fast/css/script-tests/pseudo-in-range-invalid-value.js:
* fast/css/script-tests/pseudo-in-range.js:
* fast/css/script-tests/pseudo-out-of-range.js:
* fast/forms/date/date-appearance-pseudo-classes-expected.txt: Removed.
* fast/forms/date/date-appearance-pseudo-classes.html: Removed.
* fast/forms/date/date-pseudo-classes-expected.txt: Added.
* fast/forms/date/date-pseudo-classes.html: Added.
* fast/forms/resources/common-pseudo-classes.js: Added.
* platform/chromium-linux/fast/forms/date/date-appearance-pseudo-classes-expected.png: Removed.
* platform/chromium-mac-lion/fast/forms/date/date-appearance-pseudo-classes-expected.png: Removed.
* platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-pseudo-classes-expected.png: Removed.
* platform/chromium-mac/fast/forms/date/date-appearance-pseudo-classes-expected.png: Removed.
* platform/chromium-win/fast/forms/date/date-appearance-pseudo-classes-expected.png: Removed.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:

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

7 years agoUnreviewed. Adding myself to committers.py.
aandrey@chromium.org [Wed, 28 Nov 2012 09:54:01 +0000 (09:54 +0000)]
Unreviewed. Adding myself to committers.py.

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

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

7 years ago[Texmap] REGRESSION(r135620) QtTestBrowser crashes on Google-gravity.
zeno.albisser@digia.com [Wed, 28 Nov 2012 09:43:47 +0000 (09:43 +0000)]
[Texmap] REGRESSION(r135620) QtTestBrowser crashes on Google-gravity.
https://bugs.webkit.org/show_bug.cgi?id=103410

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-28
Reviewed by Noam Rosenthal.

TextureMapperLayerClientQt::setTextureMapper() must call
flushCompositingStateForThisLayerOnly() of the root layer.

Currently, PageClientQGraphicsWidget::setRootGraphicsLayer does not flush layer
states of the root layer after setting TextureMapper while
PageClientQWidget::setRootGraphicsLayer() flushes them of the root layer.  If
not flushing states, descendant layers can not reach the root layer. It means
descendant layers can not reach the TextureMapper that the root layer has.

This is already the behavior for PageClientQWidget, which should be the case
for PageClientQGraphicsWidget as well.

* WebCoreSupport/PageClientQt.cpp:
(WebCore::TextureMapperLayerClientQt::setTextureMapper):
(WebCore::PageClientQWidget::setRootGraphicsLayer):

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

7 years ago[Texmap] REGRESSION(r135620) QtTestBrowser crashes on Google-gravity.
zeno.albisser@digia.com [Wed, 28 Nov 2012 09:43:19 +0000 (09:43 +0000)]
[Texmap] REGRESSION(r135620) QtTestBrowser crashes on Google-gravity.
https://bugs.webkit.org/show_bug.cgi?id=103410

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-28
Reviewed by Noam Rosenthal.

GraphicsLayerTextureMapper::updateBackingStore() should return early
before TextureMapper is set.

GraphicsLayer::FlushCompositingState() can be called by RenderLayerBacking. It
means this method can be called before creating TextureMapper. So
TextureMapperLayer::flushCompositingState() checks and returns early if
TextureMapper was not created.

However, GraphicsLayerTextureMapper::updateBackingStore() expects that TextureMapper
always exists. updateBackingStore should also return early when TextureMapper
was not created.

No new tests. Covered by existing tests.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
(WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
(WebCore::GraphicsLayerTextureMapper::didFlushCompositingState):
(WebCore::GraphicsLayerTextureMapper::prepareBackingStore):

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

7 years agoAdd basic implementation for MediaStreamAudioDestinationNode
tommyw@google.com [Wed, 28 Nov 2012 09:04:25 +0000 (09:04 +0000)]
Add basic implementation for MediaStreamAudioDestinationNode
https://bugs.webkit.org/show_bug.cgi?id=101815

Reviewed by Chris Rogers.

Source/Platform:

Adds the consumer interface and related functionality to WebMediaStreamSource.

* chromium/public/WebAudioDestinationConsumer.h: Added.
(WebKit):
(WebAudioDestinationConsumer):
(WebKit::WebAudioDestinationConsumer::~WebAudioDestinationConsumer):
* chromium/public/WebMediaStreamSource.h:
(WebKit):
(WebMediaStreamSource):

Source/WebCore:

Implements an audio destination node which has a MediaStream.
This can be added to a PeerConnection with peerConnection.addStream().
Please see use case (3):
https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/webrtc-integration.html

Test: webaudio/mediastreamaudiodestinationnode.html

* Modules/webaudio/AudioContext.cpp:
(WebCore):
(WebCore::AudioContext::createMediaStreamDestination):
* Modules/webaudio/AudioContext.h:
(WebCore):
(AudioContext):
* Modules/webaudio/AudioContext.idl:
* Modules/webaudio/AudioNode.h:
* Modules/webaudio/MediaStreamAudioDestinationNode.cpp: Added.
(WebCore):
(WebCore::MediaStreamAudioDestinationNode::create):
(WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
(WebCore::MediaStreamAudioDestinationNode::mediaStreamSource):
(WebCore::MediaStreamAudioDestinationNode::~MediaStreamAudioDestinationNode):
(WebCore::MediaStreamAudioDestinationNode::process):
(WebCore::MediaStreamAudioDestinationNode::reset):
* Modules/webaudio/MediaStreamAudioDestinationNode.h: Added.
(WebCore):
(MediaStreamAudioDestinationNode):
(WebCore::MediaStreamAudioDestinationNode::stream):
* Modules/webaudio/MediaStreamAudioDestinationNode.idl: Added.
* WebCore.gypi:
* platform/audio/AudioDestinationConsumer.h: Copied from Source/WebCore/platform/mediastream/MediaStreamSource.cpp.
(WebCore):
(AudioDestinationConsumer):
(WebCore::AudioDestinationConsumer::~AudioDestinationConsumer):
* platform/chromium/support/WebMediaStreamSource.cpp:
(WebKit::WebMediaStreamSource::extraData):
(WebKit::WebMediaStreamSource::setExtraData):
(WebKit::WebMediaStreamSource::requiresAudioConsumer):
(WebKit):
(ConsumerWrapper):
(WebKit::ConsumerWrapper::create):
(WebKit::ConsumerWrapper::consumer):
(WebKit::ConsumerWrapper::ConsumerWrapper):
(WebKit::ConsumerWrapper::consumeAudio):
(WebKit::WebMediaStreamSource::addAudioConsumer):
(WebKit::WebMediaStreamSource::removeAudioConsumer):
* platform/mediastream/MediaStreamSource.cpp:
(WebCore::MediaStreamSource::create):
(WebCore::MediaStreamSource::MediaStreamSource):
(WebCore::MediaStreamSource::addAudioConsumer):
(WebCore):
(WebCore::MediaStreamSource::removeAudioConsumer):
(WebCore::MediaStreamSource::consumeAudio):
* platform/mediastream/MediaStreamSource.h:
(WebCore):
(MediaStreamSource):
(WebCore::MediaStreamSource::requiresAudioConsumer):
(WebCore::MediaStreamSource::audioConsumers):

Tools:

Adds a bit of code that exercises the WebKit API.

* DumpRenderTree/chromium/MockWebMediaStreamCenter.cpp:
(MockWebMediaStreamSourceConsumer):
(MockWebMediaStreamSourceConsumer::~MockWebMediaStreamSourceConsumer):
(MockWebMediaStreamCenter::didCreateMediaStream):

LayoutTests:

* webaudio/mediastreamaudiodestinationnode-expected.txt: Added.
* webaudio/mediastreamaudiodestinationnode.html: Added.

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

7 years agoUnreviewed. Adding myself to committers list.
falken@chromium.org [Wed, 28 Nov 2012 09:00:52 +0000 (09:00 +0000)]
Unreviewed. Adding myself to committers list.

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

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

7 years ago[EFL][WK1] Gardening AC testcases in efl-wk1
commit-queue@webkit.org [Wed, 28 Nov 2012 08:32:05 +0000 (08:32 +0000)]
[EFL][WK1] Gardening AC testcases in efl-wk1
https://bugs.webkit.org/show_bug.cgi?id=103488

Unreviewed, EFL gardening.

efl-wk1 doesn't fully support AC.

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-11-28

* platform/efl-wk1/TestExpectations:

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

7 years agoUnreviewed. Adding myself to committers list.
li.yin@intel.com [Wed, 28 Nov 2012 08:31:00 +0000 (08:31 +0000)]
Unreviewed. Adding myself to committers list.

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

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

7 years agoImprove WebSocketChannel connection failure console messages.
mkwst@chromium.org [Wed, 28 Nov 2012 07:58:35 +0000 (07:58 +0000)]
Improve WebSocketChannel connection failure console messages.
https://bugs.webkit.org/show_bug.cgi?id=103448

Reviewed by Adam Barth.

Source/WebCore:

When a WebSocket connection fails, the current implementation of
WebSocketChannel::fail binds the generated console message to the
document's URL, but doesn't give much indication as to the connection
itself. This patch adjusts the console message to explicitly show the
URL of the failed connection to give developers a better chance of
debugging and resolving errors.

* Modules/websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::fail):
    Drop the URL parameter from addConsoleMessage, in favour of adding
    the WebSocketHandshake's URL to the message text.

LayoutTests:

* http/tests/websocket/tests/hybi/bad-handshake-crash-expected.txt:
* http/tests/websocket/tests/hybi/broken-utf8-expected.txt:
* http/tests/websocket/tests/hybi/close-before-open-expected.txt:
* http/tests/websocket/tests/hybi/close-code-and-reason-expected.txt:
* http/tests/websocket/tests/hybi/close-expected.txt:
* http/tests/websocket/tests/hybi/compressed-control-frame-expected.txt:
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter-expected.txt:
* http/tests/websocket/tests/hybi/fragmented-control-frame-expected.txt:
* http/tests/websocket/tests/hybi/handshake-error-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-maxlength-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-more-accept-header-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-more-protocol-header-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-no-accept-header-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-no-connection-header-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-no-cr-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-no-upgrade-header-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-prepended-null-expected.txt:
* http/tests/websocket/tests/hybi/handshake-fail-by-wrong-accept-header-expected.txt:
* http/tests/websocket/tests/hybi/interleaved-fragments-expected.txt:
* http/tests/websocket/tests/hybi/invalid-continuation-expected.txt:
* http/tests/websocket/tests/hybi/invalid-encode-length-expected.txt:
* http/tests/websocket/tests/hybi/invalid-masked-frames-from-server-expected.txt:
* http/tests/websocket/tests/hybi/long-control-frame-expected.txt:
* http/tests/websocket/tests/hybi/long-invalid-header-expected.txt:
* http/tests/websocket/tests/hybi/reserved-bits-expected.txt:
* http/tests/websocket/tests/hybi/reserved-opcodes-expected.txt:
* http/tests/websocket/tests/hybi/send-file-blob-fail-expected.txt:
* http/tests/websocket/tests/hybi/too-long-payload-expected.txt:
* http/tests/websocket/tests/hybi/websocket-event-target-expected.txt:
* http/tests/websocket/tests/hybi/workers/close-code-and-reason-expected.txt:
* http/tests/websocket/tests/hybi/workers/close-expected.txt:
    Update test expectations with the new error messages.

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

7 years agoUnreviewed functionality fix, return the height in ImageFrame::height()
zandobersek@gmail.com [Wed, 28 Nov 2012 07:42:36 +0000 (07:42 +0000)]
Unreviewed functionality fix, return the height in ImageFrame::height()
on non-Skia platforms.

* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageFrame::height):

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

7 years agoUnreviewed. Adding myself to committers.py.
christophe.dumez@intel.com [Wed, 28 Nov 2012 06:59:27 +0000 (06:59 +0000)]
Unreviewed. Adding myself to committers.py.

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

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

7 years ago[Chromium] Unreviewed, mark http/tests/inspector/indexeddb/database-data.html as...
apavlov@chromium.org [Wed, 28 Nov 2012 06:50:45 +0000 (06:50 +0000)]
[Chromium] Unreviewed, mark http/tests/inspector/indexeddb/database-data.html as flaky on Linux, too.

* platform/chromium/TestExpectations:

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

7 years ago[Chromium] Unreviewed, mark http/tests/canvas/canvas-slow-font-loading.html as failin...
apavlov@chromium.org [Wed, 28 Nov 2012 06:07:32 +0000 (06:07 +0000)]
[Chromium] Unreviewed, mark http/tests/canvas/canvas-slow-font-loading.html as failing on all of Mac.

* platform/chromium/TestExpectations:

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

7 years agoOptimization in image decoding
bfulgham@webkit.org [Wed, 28 Nov 2012 05:41:24 +0000 (05:41 +0000)]
Optimization in image decoding
https://bugs.webkit.org/show_bug.cgi?id=88424

Patch by Viatcheslav Ostapenko <v.ostapenko@samsung.com> on 2012-11-27
Reviewed by Brent Fulgham.

Optimization in image decoding.
Reduce branching and multiplications in GIF image decoding loops and functions.
Rebase and update of original patch by Misha Tyutyunik <michael.tyuytunik@nokia.com>

Covered by existing tests.

* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::haveDecodedRow):

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

7 years agoUnreviewed. Adding myself to committers list.
vivek.vg@samsung.com [Wed, 28 Nov 2012 05:39:03 +0000 (05:39 +0000)]
Unreviewed. Adding myself to committers list.

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

7 years ago[Chromium] Test expectation update
tkent@chromium.org [Wed, 28 Nov 2012 05:35:44 +0000 (05:35 +0000)]
[Chromium] Test expectation update
https://bugs.webkit.org/show_bug.cgi?id=96720

* platform/chromium/TestExpectations:
datetimelocal-multiple-fields-preserve-value-after-history-back.html is flaky.

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

7 years ago[EFL][WK2] Duplicated WebPageGroup initialization
commit-queue@webkit.org [Wed, 28 Nov 2012 05:28:27 +0000 (05:28 +0000)]
[EFL][WK2] Duplicated WebPageGroup initialization
https://bugs.webkit.org/show_bug.cgi?id=103229

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2012-11-27
Reviewed by Gyuyoung Kim.

WebPageGroup does not need to be created in creating EwkView when the pageGroupRef is 0
because the default WebPageGroup(m_defaultPageGroup) is created in WebContext constructor.

As a side effect on the duplicated initialization, pageGroupID increases even when the EwkView
is created with default context.

* UIProcess/API/efl/ewk_view.cpp:
(createEwkView):

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

7 years agoTextIterator unnecessarily converts 8 bit strings to 16 bits
msaboff@apple.com [Wed, 28 Nov 2012 05:27:34 +0000 (05:27 +0000)]
TextIterator unnecessarily converts 8 bit strings to 16 bits
https://bugs.webkit.org/show_bug.cgi?id=103295

Reviewed by Brent Fulgham.

Source/WebCore:

Changed TextIterator to use the contained string instead of calling characters() on that string.
Other sources of text, like emitCharacter() still use the contained UChar* buffer.
Added appendTextToStringBuilder() to append the text contents of the current iterator to a string builder
irrespective of the source of the text.

No new tests as functionality covered by existing tests.

* WebCore.exp.in: Updated plainText export and eliminated plainTextToMallocAllocatedBuffer export
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::stringForVisiblePositionRange): Updated to use TextIterator::appendTextToStringBuilder()
* editing/TextIterator.cpp:
(WebCore::TextIterator::characterAt): New function to return the indexed character of the current TextIterator
(WebCore::TextIterator::appendTextToStringBuilder): Added method to append whatever the current text to a StringBuilder
(WebCore::TextIterator::emitText): Eliminated accessing the character data via characters().
(WebCore::TextIterator::rangeFromLocationAndLength): Changed to use characterAt().
(WebCore::plainText): Combined with plainTextToMallocAllocatedBuffer().
* editing/TextIterator.h:
(WebCore::TextIterator::startOffset): New getter.
(WebCore::TextIterator::string): New getter.
(WebCore::TextIterator::characters): Updated to use correct test source.
* page/ContextMenuController.cpp:
(WebCore::selectionContainsPossibleWord): Changed to use characterAt().

Source/WebKit/mac:

Updated _stringForRange to use plainText() instead of removed plainTextToMallocAllocatedBuffer().

* WebView/WebFrame.mm:
(-[WebFrame _stringForRange:]):

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

7 years agoInline ImageFrame width() and height()
noel.gordon@gmail.com [Wed, 28 Nov 2012 05:24:15 +0000 (05:24 +0000)]
Inline ImageFrame width() and height()
https://bugs.webkit.org/show_bug.cgi?id=103401

Reviewed by Brent Fulgham.

Inline ImageFrame width() and height() to improve the performance of ImageFrame
function getAddr(x,y) per https://bugs.webkit.org/show_bug.cgi?id=88424#c38

No new tests. Covered by many existing tests.

* platform/image-decoders/ImageDecoder.cpp: Remove width() and height() routines
since they now inlined in the ImageFrame class definition in ImageDecoder.h.
* platform/image-decoders/ImageDecoder.h: Add inline definitions of width() and
height() for all ports.
* platform/image-decoders/skia/ImageDecoderSkia.cpp:
(WebCore::ImageFrame::width): Remove.
(WebCore::ImageFrame::height): Remove.

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

7 years agoBring back partytime!
tony@chromium.org [Wed, 28 Nov 2012 05:13:57 +0000 (05:13 +0000)]
Bring back partytime!
https://bugs.webkit.org/show_bug.cgi?id=103466

Reviewed by Adam Barth.

"code 404, message Unknown function images/partytime_gif" since we didn't
allow .gif or .png files to be served.

* Scripts/webkitpy/tool/servers/gardeningserver.py:
(GardeningHTTPRequestHandler):

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

7 years agoRemove ASSERT_NOT_REACHED() from IDBCursorBackendImpl::postSuccessHandlerCallback()
commit-queue@webkit.org [Wed, 28 Nov 2012 04:54:01 +0000 (04:54 +0000)]
Remove ASSERT_NOT_REACHED() from IDBCursorBackendImpl::postSuccessHandlerCallback()
https://bugs.webkit.org/show_bug.cgi?id=103461

Patch by Michael Pruett <michael@68k.org> on 2012-11-27
Reviewed by Kentaro Hara.

The assertion is applicable only to the Chromium port.

Tests: storage/indexeddb/*

* Modules/indexeddb/IDBCursorBackendImpl.h:
(WebCore::IDBCursorBackendImpl::postSuccessHandlerCallback):

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

7 years agoUnreviewed gardening: http/tests/inspector/network/network-xhr-replay.html times...
noel.gordon@gmail.com [Wed, 28 Nov 2012 04:48:44 +0000 (04:48 +0000)]
Unreviewed gardening: http/tests/inspector/network/network-xhr-replay.html times-out on win release
https://bugs.webkit.org/show_bug.cgi?id=96953

* platform/chromium/TestExpectations:

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

7 years ago[Refactoring] HasSelectorForClassStyleFunctor in Element.cpp seems verbose
shinyak@chromium.org [Wed, 28 Nov 2012 04:37:21 +0000 (04:37 +0000)]
[Refactoring] HasSelectorForClassStyleFunctor in Element.cpp seems verbose
https://bugs.webkit.org/show_bug.cgi?id=103474

Reviewed by Hajime Morita.

The code introduced in r135174 looks verbose. We would like to make it simpler.
We have removed several inline functions and unnecessary structs.

No new tests, simple refactoring.

* dom/Element.cpp:
(WebCore):
(WebCore::checkSelectorForClassChange):
(WebCore::Element::classAttributeChanged):
(WebCore::Element::shouldInvalidateDistributionWhenAttributeChanged):

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

7 years ago[Chromium] Update test results for recent forms changes
tkent@chromium.org [Wed, 28 Nov 2012 03:18:03 +0000 (03:18 +0000)]
[Chromium] Update test results for recent forms changes

* platform/chromium-linux/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium-linux/fast/forms/date/date-appearance-pseudo-classes-expected.png:
* platform/chromium-linux/fast/forms/month/month-appearance-basic-expected.png:
* platform/chromium-linux/fast/forms/month/month-appearance-pseudo-classes-expected.png:
* platform/chromium-linux/fast/forms/time/time-appearance-basic-expected.png:
* platform/chromium-linux/fast/forms/time/time-appearance-pseudo-classes-expected.png:
* platform/chromium-linux/fast/forms/week/week-appearance-basic-expected.png:
* platform/chromium-linux/fast/forms/week/week-appearance-pseudo-classes-expected.png:
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added.
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added.
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added.
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added.
* platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
* platform/chromium-mac-lion/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium-mac-lion/fast/forms/date/date-appearance-pseudo-classes-expected.png:
* platform/chromium-mac-lion/fast/forms/month/month-appearance-basic-expected.png:
* platform/chromium-mac-lion/fast/forms/month/month-appearance-pseudo-classes-expected.png:
* platform/chromium-mac-lion/fast/forms/time/time-appearance-basic-expected.png:
* platform/chromium-mac-lion/fast/forms/time/time-appearance-pseudo-classes-expected.png:
* platform/chromium-mac-lion/fast/forms/week/week-appearance-basic-expected.png:
* platform/chromium-mac-lion/fast/forms/week/week-appearance-pseudo-classes-expected.png:
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added.
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added.
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added.
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added.
* platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
* platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/date/date-appearance-pseudo-classes-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/month/month-appearance-basic-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/month/month-appearance-pseudo-classes-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/time/time-appearance-basic-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/time/time-appearance-pseudo-classes-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/week/week-appearance-basic-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/week/week-appearance-pseudo-classes-expected.png:
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added.
* platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png:
* platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png:
* platform/chromium-win-xp/fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-keyboard-events-expected.txt: Added.
* platform/chromium-win/fast/forms/date/date-appearance-basic-expected.png:
* platform/chromium-win/fast/forms/date/date-appearance-pseudo-classes-expected.png:
* platform/chromium-win/fast/forms/month/month-appearance-basic-expected.png:
* platform/chromium-win/fast/forms/month/month-appearance-pseudo-classes-expected.png:
* platform/chromium-win/fast/forms/time/time-appearance-basic-expected.png:
* platform/chromium-win/fast/forms/time/time-appearance-pseudo-classes-expected.png:
* platform/chromium-win/fast/forms/week/week-appearance-basic-expected.png:
* platform/chromium-win/fast/forms/week/week-appearance-pseudo-classes-expected.png:
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added.
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added.
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added.
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added.
* platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
* platform/chromium/TestExpectations:

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

7 years agoSupport proper <percent> / calc() resolution for grid items
jchaffraix@webkit.org [Wed, 28 Nov 2012 02:16:36 +0000 (02:16 +0000)]
Support proper <percent> / calc() resolution for grid items
https://bugs.webkit.org/show_bug.cgi?id=102968

Reviewed by Ojan Vafai.

Source/WebCore:

This change introduces a mechanism similar to logical height / width override
but for containing block. This is required as we don't have a renderer for the
grid area but any <percent> or calc() size should be resolved against the grid
area size (which is sized after the grid tracks).

Tests: fast/css-grid-layout/calc-resolution-grid-item.html
       fast/css-grid-layout/percent-resolution-grid-item.html
       fast/css-grid-layout/percent-grid-item-in-percent-grid-track.html
       fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid.html

* rendering/RenderBox.cpp:
(WebCore::RenderBox::willBeDestroyed):
Remove any containing block size override.

(WebCore::RenderBox::overrideContainingBlockContentLogicalWidth):
(WebCore::RenderBox::overrideContainingBlockContentLogicalHeight):
(WebCore::RenderBox::hasOverrideContainingBlockLogicalWidth):
(WebCore::RenderBox::hasOverrideContainingBlockLogicalHeight):
(WebCore::RenderBox::setOverrideContainingBlockContentLogicalWidth):
(WebCore::RenderBox::setOverrideContainingBlockContentLogicalHeight):
(WebCore::RenderBox::clearContainingBlockOverrideSize):
Containing block override size functions.

(WebCore::RenderBox::containingBlockLogicalWidthForContent):
Updated the function to check for any override logical width.

(WebCore::RenderBox::containingBlockLogicalHeightForContent):
New function, similar to RenderBox::containingBlockLogicalWidthForContent.

(WebCore::RenderBox::perpendicularContainingBlockLogicalHeight):
(WebCore::RenderBox::computePercentageLogicalHeight):
Updated these function to return overrideContainingBlockContentLogicalHeight as needed.

(WebCore::RenderBox::computeReplacedLogicalHeightUsing):
(WebCore::RenderBox::availableLogicalHeightUsing):
Updated these functions to use the new containingBlockLogicalHeightForContent instead
of availableLogicalHeight.

* rendering/RenderBox.h:
Added the previous new functions.

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutGridItems):
Updated to override the containing block size so that we properly size our grid items.

LayoutTests:

* fast/css-grid-layout/calc-resolution-grid-item-expected.txt: Added.
* fast/css-grid-layout/calc-resolution-grid-item.html: Added.
* fast/css-grid-layout/percent-resolution-grid-item-expected.txt: Added.
* fast/css-grid-layout/percent-resolution-grid-item.html: Added.
Test that checks that our override containing block's logical width / height logic
works as expected.

* fast/css-grid-layout/percent-grid-item-in-percent-grid-track-expected.txt: Added.
* fast/css-grid-layout/percent-grid-item-in-percent-grid-track.html: Added.
* fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid.html: Added.
* fast/css-grid-layout/percent-grid-item-in-percent-grid-track-in-percent-grid-expected.txt: Added.
Those test cases covers the cases of percentage sized grid items with percentage sized grid tracks
inside a fixed or percentage sized grid element. They don't pass yet as we don't support percentage
sized grid tracks (see bug 103335).

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

7 years agoUnreviewed gardening. Add more tests that started failing after http://trac.webkit...
yael@webkit.org [Wed, 28 Nov 2012 02:08:35 +0000 (02:08 +0000)]
Unreviewed gardening. Add more tests that started failing after trac.webkit.org/changeset/135935
to TestExpectations. Mark pailures as [ ImageOnlyFailure Pass ] because
the failures on Release and Debug bots are not the same.

* platform/efl/TestExpectations:

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

7 years agoFix build errors by r135955.
tkent@chromium.org [Wed, 28 Nov 2012 02:03:17 +0000 (02:03 +0000)]
Fix build errors by r135955.

* dom/ShadowRoot.cpp: Use struct instead of class.
* dom/TreeScope.cpp: Ditto.

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

7 years agoREGRESSION(r135620): ASSERT(m_state.drawsContent && m_state.contentsVisible && !m_siz...
commit-queue@webkit.org [Wed, 28 Nov 2012 01:52:32 +0000 (01:52 +0000)]
REGRESSION(r135620): ASSERT(m_state.drawsContent && m_state.contentsVisible && !m_size.isEmpty()) hits in TextureMapperLayer::paintSelf().
https://bugs.webkit.org/show_bug.cgi?id=103171

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-27
Reviewed by Noam Rosenthal.

Ensure that TextureMapperLayer has a backing store when the layer has
drawsContent and contentsVisible properties and the size of the layer is not
empty.

LayerTreeRenderer::setLayerState() must not set a backing store to
TextureMapperLayer because setLayerState() just changes states of
GraphicsLayerTextureMapper instead of TextureMapperLayer.

Now LayerTreeRenderer::flushLayerChanges() sets a backing store as well as layer
states to TextureMapperLayer.

* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::getBackingStore):
(WebKit::LayerTreeRenderer::prepareContentBackingStore):
(WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::commitPendingBackingStoreOperations):
(WebKit::LayerTreeRenderer::flushLayerChanges):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(WebCore):

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

7 years agoRebaseline and remove expectations for deferred virtual test suite
danakj@chromium.org [Wed, 28 Nov 2012 01:48:01 +0000 (01:48 +0000)]
Rebaseline and remove expectations for deferred virtual test suite
https://bugs.webkit.org/show_bug.cgi?id=102294

Unreviewed gardening.

These three tests are failing on mac, but other platforms are fine.
Rebaseline windows, and mark as failing only for Mac.

* platform/chromium-win/platform/chromium/virtual/deferred/fast/images/exif-orientation-css-expected.png:
* platform/chromium-win/platform/chromium/virtual/deferred/fast/images/exif-orientation-expected.png:
* platform/chromium/TestExpectations:

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

7 years agoUnreviewed gardening: crashing on XP
rjkroege@chromium.org [Wed, 28 Nov 2012 01:44:49 +0000 (01:44 +0000)]
Unreviewed gardening: crashing on XP
fast/frames/sandboxed-iframe-navigation-parent.html
https://bugs.webkit.org/show_bug.cgi?id=103472

* platform/chromium/TestExpectations:

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

7 years agoWeb Inspector: [Timeline] "Show CPU activity on the ruler" settings checkbox does...
caseq@chromium.org [Wed, 28 Nov 2012 01:43:20 +0000 (01:43 +0000)]
Web Inspector: [Timeline] "Show CPU activity on the ruler" settings checkbox does not take effect until Inspector restart
https://bugs.webkit.org/show_bug.cgi?id=102210

Patch by Eugene Klyuchnikov <eustas@chromium.com> on 2012-11-27
Reviewed by Pavel Feldman.

The checkbox changes should take effect in the real time.

* inspector/front-end/SettingsScreen.js:
(WebInspector.GenericSettingsTab):
Do not show checkpox if browser is not capable.
* inspector/front-end/TimelinePanel.js:
Added setting change listener.

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

7 years agoPDFPlugin: Should not be able to edit read-only text annotations
timothy_horton@apple.com [Wed, 28 Nov 2012 01:33:31 +0000 (01:33 +0000)]
PDFPlugin: Should not be able to edit read-only text annotations
https://bugs.webkit.org/show_bug.cgi?id=103387
<rdar://problem/12752313>

Reviewed by Alexey Proskuryakov.

Don't allow read-only annotations to become active.

* WebKit2.xcodeproj/project.pbxproj: Add PDFAnnotationTextWidgetDetails.h.
* WebProcess/Plugins/PDF/PDFAnnotationTextWidgetDetails.h: Added.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::setActiveAnnotation): Bail if the annotation is read-only.
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm: Move PDFAnnotationTextWidget details category to PDFAnnotationTextWidgetDetails.h

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

7 years agoConvert some remaining uses of FILE* to PrintStream&.
fpizlo@apple.com [Wed, 28 Nov 2012 01:29:29 +0000 (01:29 +0000)]
Convert some remaining uses of FILE* to PrintStream&.

Rubber stamped by Mark Hahnenberg.

Source/JavaScriptCore:

* bytecode/ValueProfile.h:
(JSC::ValueProfileBase::dump):
* bytecode/ValueRecovery.h:
(JSC::ValueRecovery::dump):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseCodeBlock):
* dfg/DFGNode.h:
(JSC::DFG::Node::dumpChildren):

Source/WTF:

* wtf/BitVector.cpp:
(WTF::BitVector::dump):
* wtf/BitVector.h:
(BitVector):

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

7 years agoCoordinated Graphics: Refactor code managing a backing store in LayerTreeRenderer.
commit-queue@webkit.org [Wed, 28 Nov 2012 01:21:00 +0000 (01:21 +0000)]
Coordinated Graphics: Refactor code managing a backing store in LayerTreeRenderer.
https://bugs.webkit.org/show_bug.cgi?id=103298

Patch by Huang Dongsung <luxtella@company100.net> on 2012-11-27
Reviewed by Noam Rosenthal.

This patch makes LayerTreeRenderer assign a content backing store to
TextureMapperLayer only in setLayerState(). Currently, createTile() can assign
the backing store to TextureMapperLayer and it can break the invariant condition
of TextureMapperLayer: TextureMapperLayer can have its own backing store only if
the layer has following conditions: drawsContent, contentsVisible and non empty
size.

In addition, the modified code about creating and removing a backing store
matches the same purpose code of CoordinatedGraphicsLayer and
GraphicsLayerTextureMapepr.

* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
(CoordinatedBackingStore):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::layerShouldHaveBackingStore):
(WebKit):
(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::getBackingStore):
(WebKit::LayerTreeRenderer::prepareContentBackingStore):
(WebKit::LayerTreeRenderer::createBackingStoreIfNeeded):
(WebKit::LayerTreeRenderer::removeBackingStore):
(WebKit::LayerTreeRenderer::resetBackingStoreSizeToLayerSize):
(WebKit::LayerTreeRenderer::createTile):
(WebKit::LayerTreeRenderer::removeTile):
(WebKit::LayerTreeRenderer::updateTile):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
    This method does not create a backing store anymore because flushCompositingStateForThisLayerOnly()
    can create a backing store if needed. Moreover, we must sync a layer state prior to creating a backing store
    after this patch, because LayerTreeRenderer::createTile() does not create a backing store anymore.

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

7 years agoCompile time size assertions for TreeScope, ShadowRoot and ElementAttributeData.
akling@apple.com [Wed, 28 Nov 2012 01:15:05 +0000 (01:15 +0000)]
Compile time size assertions for TreeScope, ShadowRoot and ElementAttributeData.

Rubber-stamped by Anders Carlsson.

* dom/ShadowRoot.cpp:
(SameSizeAsShadowRoot):
* dom/TreeScope.cpp:
(SameSizeAsTreeScope):
* dom/ElementAttributeData.cpp: Derp.

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

7 years agoUnreviewed gardening:
rjkroege@chromium.org [Wed, 28 Nov 2012 01:14:40 +0000 (01:14 +0000)]
Unreviewed gardening:
Layout Test http/tests/navigation/slowmetaredirect-basic.html is failing
https://bugs.webkit.org/show_bug.cgi?id=103471

* platform/chromium/TestExpectations:

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