WebKit-https.git
7 years ago[GTK] Add Clutter to jhbuild
joone.hur@intel.com [Tue, 26 Feb 2013 10:05:47 +0000 (10:05 +0000)]
[GTK] Add Clutter to jhbuild
https://bugs.webkit.org/show_bug.cgi?id=110245

Reviewed by Martin Robinson.

Add clutter, cogl, clutter-gtk, and atk to the optional moduleset.
This allows to build WebKitGtk+ with clutter as an acceleration backend
within the jhbuild environment.

* gtk/jhbuild-optional.modules:

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

7 years agoThreaded HTML parser fails fast/loader/stateobjects/state-attribute-history-getter...
eric@webkit.org [Tue, 26 Feb 2013 09:57:33 +0000 (09:57 +0000)]
Threaded HTML parser fails fast/loader/stateobjects/state-attribute-history-getter.html
https://bugs.webkit.org/show_bug.cgi?id=110801

Reviewed by Adam Barth.

This causes 6 more tests to pass for the threaded parser,
an solves all of our timeout issues.

These tests which were failing were racy, we just were never
hitting the race due to using file urls.  This change fixes
the threaded parser to emulate one more of the EOF quirks from
the loader/main-thread-parser interaction.

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::processParsedChunkFromBackgroundParser):

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

7 years agoKill another analyzer warning in javascriptcore
oliver@apple.com [Tue, 26 Feb 2013 09:47:57 +0000 (09:47 +0000)]
Kill another analyzer warning in javascriptcore
https://bugs.webkit.org/show_bug.cgi?id=110802

Reviewed by Benjamin Poulain.

Add null checks.

* profiler/LegacyProfiler.cpp:
(JSC::LegacyProfiler::startProfiling):
(JSC::LegacyProfiler::stopProfiling):

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

7 years agoWeb Inspector: CSSAgent.setStyleSheetText crashes on inline styles
apavlov@chromium.org [Tue, 26 Feb 2013 09:15:17 +0000 (09:15 +0000)]
Web Inspector: CSSAgent.setStyleSheetText crashes on inline styles
https://bugs.webkit.org/show_bug.cgi?id=110359

Reviewed by Pavel Feldman.

Source/WebCore:

* inspector/InspectorCSSAgent.cpp:
(WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo): Pass ExceptionCode into setText().
(WebCore::InspectorCSSAgent::SetStyleSheetTextAction::redo): Ditto.
* inspector/InspectorStyleSheet.cpp:
(WebCore::InspectorStyleSheet::setText): Make use of checkPageStyleSheet().
(WebCore::InspectorStyleSheet::setRuleSelector): Ditto.
(WebCore::InspectorStyleSheet::addRule): Ditto.
(WebCore::InspectorStyleSheet::deleteRule): Ditto.
(WebCore::InspectorStyleSheet::checkPageStyleSheet):
  Return NOT_SUPPORTED_ERR if no m_pageStyleSheet.
(WebCore::InspectorStyleSheet::setStyleText): Check field directly.
* inspector/InspectorStyleSheet.h:

LayoutTests:

* inspector/styles/styles-new-API-expected.txt:
* inspector/styles/styles-new-API.html:

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

7 years agoImplement coordinated scrollbar for subframes and overflow:scroll
commit-queue@webkit.org [Tue, 26 Feb 2013 09:13:32 +0000 (09:13 +0000)]
Implement coordinated scrollbar for subframes and overflow:scroll
https://bugs.webkit.org/show_bug.cgi?id=109560

Patch by Tien-Ren Chen <trchen@chromium.org> on 2013-02-26
Reviewed by James Robinson.

Source/WebCore:

This patch obsoletes ScrollingCoordinatorPrivate for the Chromium
implementation. Also removes the concept of a single main scrolling
layer. Should use HashMap to keep track resources for multiple
scrollable objects.

Many of the callbacks are extended to support ScrollableArea instead
of just FrameView. Now ScrollingCoordinatorChromium coordinates
scrollbars for both subframes and overflow:scroll.

Some drive-by change:
1. Remove the GraphicsLayer parameter for layer change callbacks.
   Should be able to get the latest layer from the ScrollableArea anyway.
2. Should start from main frame document when updating touch event target rects.

New chromium test: ScrollingCoordinatorChromiumTest.iframeScrolling

* page/Frame.cpp:
(WebCore::Frame::willDetachPage):
* page/FrameView.cpp:
(WebCore::FrameView::prepareForDetach):
(WebCore::FrameView::layerForScrolling):
(WebCore):
* page/FrameView.h:
(FrameView):
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::scrollLayerForScrollableArea):
(WebCore):
(WebCore::ScrollingCoordinator::horizontalScrollbarLayerForScrollableArea):
(WebCore::ScrollingCoordinator::verticalScrollbarLayerForScrollableArea):
* page/scrolling/ScrollingCoordinator.h:
(WebCore::ScrollingCoordinator::willDestroyScrollableArea):
(WebCore::ScrollingCoordinator::scrollableAreaScrollLayerDidChange):
(WebCore::ScrollingCoordinator::scrollableAreaScrollbarLayerDidChange):
(ScrollingCoordinator):
* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(WebCore::scrollingWebLayerForGraphicsLayer):
(WebCore::ScrollingCoordinatorChromium::scrollingWebLayerForScrollableArea):
(WebCore::ScrollingCoordinatorChromium::ScrollingCoordinatorChromium):
(WebCore::ScrollingCoordinatorChromium::~ScrollingCoordinatorChromium):
(WebCore::ScrollingCoordinatorChromium::frameViewLayoutUpdated):
(WebCore::ScrollingCoordinatorChromium::touchEventTargetRectsDidChange):
(WebCore::createScrollbarLayer):
(WebCore::detachScrollbarLayer):
(WebCore::setupScrollbarLayer):
(WebCore::ScrollingCoordinatorChromium::willDestroyScrollableArea):
(WebCore::ScrollingCoordinatorChromium::scrollableAreaScrollbarLayerDidChange):
(WebCore::ScrollingCoordinatorChromium::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinatorChromium::setTouchEventTargetRects):
(WebCore::ScrollingCoordinatorChromium::setWheelEventHandlerCount):
(WebCore::ScrollingCoordinatorChromium::setShouldUpdateScrollLayerPositionOnMainThread):
(WebCore::ScrollingCoordinatorChromium::setLayerIsContainerForFixedPositionLayers):
(WebCore::ScrollingCoordinatorChromium::setLayerIsFixedToContainerLayer):
(WebCore::ScrollingCoordinatorChromium::scrollableAreaScrollLayerDidChange):
(WebCore::ScrollingCoordinatorChromium::addWebScrollbarLayer):
(WebCore):
(WebCore::ScrollingCoordinatorChromium::getWebScrollbarLayer):
(WebCore::ScrollingCoordinatorChromium::removeWebScrollbarLayer):
* page/scrolling/chromium/ScrollingCoordinatorChromium.h:
(WebCore):
(ScrollingCoordinatorChromium):
* page/scrolling/mac/ScrollingCoordinatorMac.h:
(ScrollingCoordinatorMac):
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore::ScrollingCoordinatorMac::scrollableAreaScrollbarLayerDidChange):
* platform/ScrollableArea.h:
(ScrollableArea):
(WebCore::ScrollableArea::layerForScrolling):
* platform/graphics/GraphicsLayer.h:
(GraphicsLayer):
(WebCore::GraphicsLayer::setContentsToPlatformLayer):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::~RenderLayer):
(WebCore::RenderLayer::layerForScrolling):
(WebCore):
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateOverflowControlsLayers):
(WebCore::RenderLayerBacking::positionOverflowControlsLayers):
(WebCore::RenderLayerBacking::updateScrollingLayers):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::frameViewDidScroll):
(WebCore::RenderLayerCompositor::scrollingLayerDidChange):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

Source/WebKit/chromium:

Added ScrollingCoordinatorChromiumTest.iframeScrolling to verify
impl-side scrolling and impl-side scrollbars for frames.

Update ScrollingCoordinatorChromiumTest.overflowScrolling to verify
impl-side scrollbars.

* tests/ScrollingCoordinatorChromiumTest.cpp:
(WebKit::ScrollingCoordinatorChromiumTest::ScrollingCoordinatorChromiumTest):
(WebKit::TEST_F):
(WebKit):
* tests/data/iframe-scrolling-inner.html: Added.
* tests/data/iframe-scrolling.html: Added.

LayoutTests:

Coordinated scrollbars changes drawsContent flag on scrollbar GraphicsLayers,
test expectation are updated.

* platform/chromium-linux/compositing/iframes/become-overlapped-iframe-expected.txt: Added.
* platform/chromium-linux/compositing/iframes/composited-parent-iframe-expected.txt: Added.
* platform/chromium-linux/compositing/iframes/connect-compositing-iframe-delayed-expected.txt: Added.
* platform/chromium-linux/compositing/iframes/connect-compositing-iframe-expected.txt: Added.
* platform/chromium-linux/compositing/iframes/connect-compositing-iframe2-expected.txt: Added.
* platform/chromium-linux/compositing/iframes/connect-compositing-iframe3-expected.txt: Added.
* platform/chromium-linux/compositing/iframes/enter-compositing-iframe-expected.txt: Added.
* platform/chromium-linux/compositing/iframes/iframe-resize-expected.txt: Added.
* platform/chromium-linux/compositing/iframes/iframe-size-from-zero-expected.txt: Added.
* platform/chromium-linux/compositing/iframes/invisible-nested-iframe-show-expected.txt: Added.
* platform/chromium-linux/compositing/iframes/overlapped-iframe-expected.txt: Added.
* platform/chromium-linux/compositing/iframes/resizer-expected.txt: Added.
* platform/chromium-linux/compositing/iframes/scrolling-iframe-expected.txt: Added.
* platform/chromium-linux/compositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Copied from LayoutTests/platform/chromium-linux/compositing/overflow/scrolling-without-painting-expected.txt.
* platform/chromium-linux/compositing/overflow/scrolling-content-clip-to-viewport-expected.txt: Copied from LayoutTests/platform/chromium-linux/compositing/overflow/scrolling-without-painting-expected.txt.
* platform/chromium-linux/compositing/overflow/scrolling-without-painting-expected.txt:
* platform/chromium-linux/compositing/overflow/textarea-scroll-touch-expected.txt: Added.
* platform/chromium-linux/compositing/overflow/updating-scrolling-content-expected.txt:
* platform/chromium-linux/compositing/rtl/rtl-iframe-absolute-overflow-expected.txt: Added.
* platform/chromium-linux/compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt: Added.
* platform/chromium-linux/compositing/rtl/rtl-iframe-fixed-overflow-expected.txt: Added.
* platform/chromium-linux/compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt: Added.
* platform/chromium-linux/platform/chromium/compositing/force-compositing-mode/overflow-iframe-enter-compositing-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Copied from LayoutTests/platform/chromium-linux/compositing/overflow/scrolling-without-painting-expected.txt.
* platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/overflow-auto-with-touch-expected.txt: Copied from LayoutTests/platform/chromium-linux/compositing/overflow/scrolling-without-painting-expected.txt.
* platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/overflow-auto-with-touch-toggle-expected.txt: Copied from LayoutTests/platform/chromium-linux/compositing/overflow/scrolling-without-painting-expected.txt.
* platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/overflow-overlay-with-touch-expected.txt: Copied from LayoutTests/platform/chromium-linux/compositing/overflow/scrolling-without-painting-expected.txt.
* platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/scrolling-content-clip-to-viewport-expected.txt: Copied from LayoutTests/platform/chromium-linux/compositing/overflow/scrolling-without-painting-expected.txt.
* platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/scrolling-without-painting-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/textarea-scroll-touch-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/gpu/compositedscrolling/overflow/updating-scrolling-content-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/become-overlapped-iframe-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/composited-parent-iframe-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe-delayed-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe2-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/connect-compositing-iframe3-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/enter-compositing-iframe-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/iframe-resize-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/iframe-size-from-zero-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/invisible-nested-iframe-show-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/overlapped-iframe-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/resizer-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/iframes/scrolling-iframe-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/composited-scrolling-creates-a-stacking-container-expected.txt: Copied from LayoutTests/platform/chromium-linux/compositing/overflow/scrolling-without-painting-expected.txt.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/scrolling-content-clip-to-viewport-expected.txt: Copied from LayoutTests/platform/chromium-linux/compositing/overflow/scrolling-without-painting-expected.txt.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/scrolling-without-painting-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/textarea-scroll-touch-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/overflow/updating-scrolling-content-expected.txt:
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-overflow-expected.txt: Added.
* platform/chromium-linux/platform/chromium/virtual/softwarecompositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt: Added.
* platform/chromium/TestExpectations:

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

7 years agoUnreviewed, rolling out r144004.
commit-queue@webkit.org [Tue, 26 Feb 2013 09:07:57 +0000 (09:07 +0000)]
Unreviewed, rolling out r144004.
http://trac.webkit.org/changeset/144004
https://bugs.webkit.org/show_bug.cgi?id=110858

This iOS change is outdated (Requested by notbenjamin on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-26

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::emitNode):
(JSC::BytecodeGenerator::emitNodeInConditionContext):
(BytecodeGenerator):
* parser/Parser.cpp:
(JSC::::Parser):
* parser/Parser.h:
(JSC::Parser::canRecurse):
(Parser):

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

7 years ago[V8] Overloaded constructors don't need header declarations
haraken@chromium.org [Tue, 26 Feb 2013 09:06:12 +0000 (09:06 +0000)]
[V8] Overloaded constructors don't need header declarations
https://bugs.webkit.org/show_bug.cgi?id=110799

Reviewed by Adam Barth.

They are implemented as static functions in cpp files.
Header declarations are not needed.

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
* bindings/scripts/test/V8/V8TestOverloadedConstructors.h:

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

7 years agoUnreviewed, rolling out r144016.
commit-queue@webkit.org [Tue, 26 Feb 2013 09:04:57 +0000 (09:04 +0000)]
Unreviewed, rolling out r144016.
http://trac.webkit.org/changeset/144016
https://bugs.webkit.org/show_bug.cgi?id=110856

Breaks compilation on chromium mac (Requested by vsevik on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-26

Source/WebCore:

* platform/chromium/KeyCodeConversionGtk.cpp:
(WebCore::windowsKeyCodeForKeyEvent):

Source/WebKit/chromium:

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

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

7 years agoAppease static analyzer warning about null string passed to strlen
oliver@apple.com [Tue, 26 Feb 2013 08:49:28 +0000 (08:49 +0000)]
Appease static analyzer warning about null string passed to strlen
https://bugs.webkit.org/show_bug.cgi?id=110658

Reviewed by Benjamin Poulain.

Add a null check before calling strlen

* wtf/Threading.cpp:
(WTF::createThread):

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

7 years agoSource/WebCore: Add support to -webkit-line-break property for CSS3 Text line-break...
glenn@skynav.com [Tue, 26 Feb 2013 08:42:14 +0000 (08:42 +0000)]
Source/WebCore: Add support to -webkit-line-break property for CSS3 Text line-break property values and semantics.
https://bugs.webkit.org/show_bug.cgi?id=89235

Reviewed by Eric Seidel.

This patch adds semantic support for the CSS3 line-break property (qua -webkit-line-break),
and enables testing on (apple) mac ports. Follow on patches will enable these tests on
other ports as they are incrementally verified.

See also wiki documentation at:
[1] http://trac.webkit.org/wiki/LineBreaking
[2] http://trac.webkit.org/wiki/LineBreakingCSS3Mapping

Tests: css3/line-break/line-break-auto-centered.html
       css3/line-break/line-break-auto-half-kana.html
       css3/line-break/line-break-auto-hyphens.html
       css3/line-break/line-break-auto-inseparables.html
       css3/line-break/line-break-auto-iteration-marks.html
       css3/line-break/line-break-auto-postfixes.html
       css3/line-break/line-break-auto-prefixes.html
       css3/line-break/line-break-auto-sound-marks.html
       css3/line-break/line-break-loose-centered.html
       css3/line-break/line-break-loose-half-kana.html
       css3/line-break/line-break-loose-hyphens.html
       css3/line-break/line-break-loose-inseparables.html
       css3/line-break/line-break-loose-iteration-marks.html
       css3/line-break/line-break-loose-postfixes.html
       css3/line-break/line-break-loose-prefixes.html
       css3/line-break/line-break-loose-sound-marks.html
       css3/line-break/line-break-normal-centered.html
       css3/line-break/line-break-normal-half-kana.html
       css3/line-break/line-break-normal-hyphens.html
       css3/line-break/line-break-normal-inseparables.html
       css3/line-break/line-break-normal-iteration-marks.html
       css3/line-break/line-break-normal-postfixes.html
       css3/line-break/line-break-normal-prefixes.html
       css3/line-break/line-break-normal-sound-marks.html
       css3/line-break/line-break-strict-centered.html
       css3/line-break/line-break-strict-half-kana.html
       css3/line-break/line-break-strict-hyphens.html
       css3/line-break/line-break-strict-inseparables.html
       css3/line-break/line-break-strict-iteration-marks.html
       css3/line-break/line-break-strict-postfixes.html
       css3/line-break/line-break-strict-prefixes.html
       css3/line-break/line-break-strict-sound-marks.html

These tests were previously added in http://trac.webkit.org/changeset/143378, but skipped
in generic TestExpectations. In this patch, they are marked as Pass for the (apple) mac ports.

* platform/text/LineBreakIteratorPoolICU.h:
(WebCore::LineBreakIteratorPool::makeLocaleWithBreakKeyword):
Add static function to construct ICU locale argument (also used as pool key) with additional
break keyword.
(LineBreakIteratorPool):
(WebCore::LineBreakIteratorPool::take):
(WebCore::LineBreakIteratorPool::put):
Remove direct dependency from ICU library (and types), moving that dependency into
new {open,close}LineBreakIterator() functions (defined in TextBreakIteratorICU.cpp).
Update to take line break mode into account.
Create (and cache) different break iterators depending on line break mode (in addition to locale),
which entails expanding pool entry key format to optionally append "@break=" +
"loose"|"normal"|"strict" keyword to locale string.

* platform/text/TextBreakIterator.h:
(WebCore::LazyLineBreakIterator::LazyLineBreakIterator):
(WebCore::LazyLineBreakIterator::isLooseCJKMode):
(WebCore::LazyLineBreakIterator::get):
(WebCore::LazyLineBreakIterator::reset):
(LazyLineBreakIterator):
Define LineBreakIteratorMode enumeration for use in TextBreakIterator et al.
Add state member to indicate line break mode.

* platform/text/TextBreakIteratorICU.cpp:
(WebCore::acquireLineBreakIterator):
Use new line break mode when making iterator from pool.
Handle change of return type of LineBreakIteratorPool::take() to non-ICU type,
i.e., TextBreakIterator* instead of ICU's UBreakIterator*.
(WebCore::releaseLineBreakIterator):
Handle change of parameter type of LineBreakIteratorPool::put() to non-ICU type,
i.e., TextBreakIterator* instead of ICU's UBreakIterator*.
(WebCore):
(WebCore::isCJKLocale):
New functions for determining if CJK rules apply.
(WebCore::openLineBreakIterator):
New function for abstracting opening of ICU style line break iterator. This is now
used in LineBreakIteratorPoolICU.h rather than having direct ICU API dependency there.
This function also takes into account the line break mode.
(WebCore::closeLineBreakIterator):
(WebCore::mapLineIteratorModeToRules):
New function for abstracting closing of ICU style line break iterator. This is now
used in LineBreakIteratorPoolICU.h rather than having direct ICU API dependency there.

* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::LineBreaker::nextSegmentBreak):
Pass line break iterator mode flag when reseting LazyLineBreakIterator.
Add looseMode local variable to prevent need for computing under isBreakable().

* rendering/RenderText.cpp:
(WebCore::mapLineBreakToIteratorMode):
Add implementation for mapLineBreakToIteratorMode(), used by both RenderText::computePreferredLogicalWidths
and RenderBlock::LineBreaker::nextLineBreak.
(WebCore):
(WebCore::RenderText::computePreferredLogicalWidths):
Ensure (lazy line) breakIterator is initialized for line break mode.
Ensure isBreakable() is passed loose mode flag to match behavior in RenderBlock::LineBreaker::nextLineBreak.

* rendering/RenderText.h:
(WebCore):
Add declaration for mapLineBreakToIteratorMode(), used by both RenderText::computePreferredLogicalWidths
and RenderBlock::LineBreaker::nextLineBreak.

* rendering/break_lines.cpp:
(WebCore):
Introduce (local) enum NBSPBehavior for expanding template on nextBreakablePosition.
(WebCore::isBreakableSpace):
Add externally specified loose mode parameter to prevent need to invoke line break iterator
accessor method on each invocation. Use new loose mode flavors off NBP functions.
(WebCore::needsLineBreakIterator):
Use enum NBSP behavior template parameter rather than boolean.
(WebCore::nextBreakablePositionNonLoosely):
Extend name to distinguish from loose flavor of this function.
(WebCore::nextBreakablePositionLoosely):
Add loose flavor of NBP invoked only when loose mode applies, in which case ASCII shortcut
table cannot be used.
(WebCore::nextBreakablePosition):
(WebCore::nextBreakablePositionIgnoringNBSP):
Use (renamed) non-loose flavor of NBP.
(WebCore::nextBreakablePositionLoose):
(WebCore::nextBreakablePositionIgnoringNBSPLoose):
Introduce loose flavor of NBP template expansions.

* rendering/break_lines.h:
(WebCore):
(WebCore::isBreakable):
Add externally specified loose mode parameter to prevent need to invoke line break iterator
accessor method on each invocation.

LayoutTests: CSS3: line-break property support
https://bugs.webkit.org/show_bug.cgi?id=89235

Reviewed by Eric Seidel.

* platform/mac/TestExpectations: Mark css3/line-break tests as passing.

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

7 years ago[Qt] Unreviewed gardening. Unskipp now passing tests after r144005.
kadam@inf.u-szeged.hu [Tue, 26 Feb 2013 08:38:01 +0000 (08:38 +0000)]
[Qt] Unreviewed gardening. Unskipp now passing tests after r144005.
https://bugs.webkit.org/show_bug.cgi?id=110756.

Reviewed by Geoffrey Garen.

* platform/qt/TestExpectations:

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

7 years ago[chromium] Fix continuous painting mode
commit-queue@webkit.org [Tue, 26 Feb 2013 08:34:53 +0000 (08:34 +0000)]
[chromium] Fix continuous painting mode
https://bugs.webkit.org/show_bug.cgi?id=110788

Patch by James Robinson <jamesr@chromium.org> on 2013-02-26
Reviewed by Adrienne Walker.

Recent instrumentation shuffling caused WebViewImpl::didBeginFrame to no longer be called, which
broke continuous painting.  Since continuous painting mode is meant to simply invalidate layers
on each frame, it's a better fit for the animation system. This moves the invalidation calls
into WebViewImpl::updateAnimations along with other animation type things.

Tested manually by enabling continuous painting mode in the inspector. There aren't any automated
tests in WebKit for this feature.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::setContinuousPaintingEnabled):
(WebKit::WebViewImpl::didBeginFrame):
(WebKit::WebViewImpl::updateAnimations):
* src/painting/ContinuousPainter.cpp:
(WebKit::ContinuousPainter::setNeedsDisplayRecursive):

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

7 years agokeydown and keyup events have zero keycode for some numeric pad keys under Chromium...
commit-queue@webkit.org [Tue, 26 Feb 2013 08:32:32 +0000 (08:32 +0000)]
keydown and keyup events have zero keycode for some numeric pad keys under Chromium on Linux
https://bugs.webkit.org/show_bug.cgi?id=85642

Source/WebCore:

Add missing key mappings for GDK_KP_Begin, GDK_KP_Insert, GDK_KP_Delete and GDK_ISO_Level3_Shift.

Patch by James Weatherall <wez@chromium.org> on 2013-02-26
Reviewed by Ojan Vafai.

* platform/chromium/KeyCodeConversionGtk.cpp:
(WebCore::windowsKeyCodeForKeyEvent):

Source/WebKit/chromium:

Add tests to verify that the fixed keys generate the same keyCode values
as their equivalents.

Patch by James Weatherall <wez@chromium.org> on 2013-02-26
Reviewed by Ojan Vafai.

* WebKit.gypi:
* tests/KeyCodeConversionTest.cpp: Added.
(WebCore):
(WebCore::TEST):

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

7 years agoUnreviewed trivial !ENABLE(NETSCAPE_PLUGIN_API) build fix
hausmann@webkit.org [Tue, 26 Feb 2013 08:28:52 +0000 (08:28 +0000)]
Unreviewed trivial !ENABLE(NETSCAPE_PLUGIN_API) build fix

Add an intermediate pluginName string variable instead of
accessing plugin.info outside the feature #ifdef.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::unavailablePluginButtonClicked):

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

7 years agoAnother fix attempt after r143991 since having \r? after a greedy match doesn't help.
rniwa@webkit.org [Tue, 26 Feb 2013 07:57:27 +0000 (07:57 +0000)]
Another fix attempt after r143991 since having \r? after a greedy match doesn't help.

* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.value_from_svn_info):

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

7 years agoUnreviewed chromium test expectations update.
vsevik@chromium.org [Tue, 26 Feb 2013 07:56:40 +0000 (07:56 +0000)]
Unreviewed chromium test expectations update.

* platform/chromium/TestExpectations:

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

7 years agoCoordinated Graphics: remove redundant update of non compositing layer.
commit-queue@webkit.org [Tue, 26 Feb 2013 07:47:35 +0000 (07:47 +0000)]
Coordinated Graphics: remove redundant update of non compositing layer.
https://bugs.webkit.org/show_bug.cgi?id=110444

Patch by Huang Dongsung <luxtella@company100.net> on 2013-02-25
Reviewed by Noam Rosenthal.

Currently, we update non compositing layer when the page scrolled. However, it
is not needed, because TiledBackingStore can scroll without tile update.

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
(WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
(CoordinatedLayerTreeHost):

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

7 years agoREGRESSION(r143981): Crash in WebFrameLoaderClient::dispatchDidStartProvisionalLoad()
jer.noble@apple.com [Tue, 26 Feb 2013 07:42:59 +0000 (07:42 +0000)]
REGRESSION(r143981): Crash in WebFrameLoaderClient::dispatchDidStartProvisionalLoad()
https://bugs.webkit.org/show_bug.cgi?id=110848

Reviewed by Ryosuke Niwa.

NULL-check the result of document->documentElement().

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):

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

7 years ago6% regression in intl1 page cycler on chromium-mac
abarth@webkit.org [Tue, 26 Feb 2013 07:21:52 +0000 (07:21 +0000)]
6% regression in intl1 page cycler on chromium-mac
https://bugs.webkit.org/show_bug.cgi?id=110784

Unreviewed.

This patch restores the code that I rolled out in
http://trac.webkit.org/changeset/143960 and
http://trac.webkit.org/changeset/143983. Rolling out those patches did
not heal the bot.

* dom/Element.cpp:
(WebCore::Element::addAttributeInternal):
(WebCore::ShareableElementData::ShareableElementData):
(WebCore::UniqueElementData::makeShareableCopy):
(WebCore::UniqueElementData::addAttribute):
(WebCore::UniqueElementData::removeAttribute):
(WebCore::ElementData::reportMemoryUsage):
(WebCore::UniqueElementData::getAttributeItem):
(WebCore):
(WebCore::UniqueElementData::attributeItem):
* dom/Element.h:
(ElementData):
(UniqueElementData):
(WebCore::isShadowHost):
(WebCore::ElementData::length):
(WebCore::ElementData::attributeItem):
* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::resumeFrom):
(WebCore::BackgroundHTMLParser::pumpTokenizer):
(WebCore::BackgroundHTMLParser::sendTokensToMainThread):
* html/parser/CSSPreloadScanner.cpp:
(WebCore):
(WebCore::CSSPreloadScanner::scanCommon):
(WebCore::CSSPreloadScanner::scan):
(WebCore::CSSPreloadScanner::emitRule):
* html/parser/CSSPreloadScanner.h:
(CSSPreloadScanner):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::startBackgroundParser):
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::tagIdFor):
(WebCore):
(WebCore::TokenPreloadScanner::initiatorFor):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
(TokenPreloadScanner::StartTagScanner):
(WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
(WebCore::TokenPreloadScanner::createCheckpoint):
(WebCore::TokenPreloadScanner::rewindTo):
(WebCore::TokenPreloadScanner::scan):
(WebCore::TokenPreloadScanner::scanCommon):
(WebCore::TokenPreloadScanner::updatePredictedBaseURL):
(WebCore::HTMLPreloadScanner::scan):
* html/parser/HTMLPreloadScanner.h:
(TokenPreloadScanner):
(WebCore::TokenPreloadScanner::isSafeToSendToAnotherThread):
(WebCore::TokenPreloadScanner::Checkpoint::Checkpoint):
(Checkpoint):

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

7 years agoUnreviewed chromium test expectations update.
vsevik@chromium.org [Tue, 26 Feb 2013 07:01:19 +0000 (07:01 +0000)]
Unreviewed chromium test expectations update.

* platform/chromium/TestExpectations:

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

7 years agoGCE EWS bots failing intermittently on HTTP 502 error while updating their status
noel.gordon@gmail.com [Tue, 26 Feb 2013 06:32:09 +0000 (06:32 +0000)]
GCE EWS bots failing intermittently on HTTP 502 error while updating their status
https://bugs.webkit.org/show_bug.cgi?id=110845

Unreviewed EWS bot fix.

Switch the Queue Status Server address the EWS bots use to a more direct URL that
doesn't seem to be having problems from GCE like queues.webkit.org.

Patch by Alan Cutter <alancutter@chromium.org> on 2013-02-25

* Scripts/webkitpy/common/net/statusserver.py:
(StatusServer):

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

7 years agoAudioDestinationChromium should pass in inputDeviceId when creating WebKit::WebAudioD...
crogers@google.com [Tue, 26 Feb 2013 05:53:49 +0000 (05:53 +0000)]
AudioDestinationChromium should pass in inputDeviceId when creating WebKit::WebAudioDevice
https://bugs.webkit.org/show_bug.cgi?id=110796

Reviewed by Kenneth Russell.

* platform/audio/chromium/AudioDestinationChromium.cpp:
(WebCore::AudioDestinationChromium::AudioDestinationChromium):

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

7 years agoNeed a more robust WebSQL disk usage computation.
mark.lam@apple.com [Tue, 26 Feb 2013 05:06:12 +0000 (05:06 +0000)]
Need a more robust WebSQL disk usage computation.
https://bugs.webkit.org/show_bug.cgi?id=110805.

Reviewed by Geoffrey Garen.

- Changed DatabaseTracker::usageForOrigin() to compute the disk usage
  for a specified origin by fetching database sizes from the file system
  instead of using cached file size values.

- The OriginQuotaManager and OriginUsageRecord are no longer needed.
  Updated build files to reflect this.

- Removed getMaxSizeForDatabase() from DatabaseManager, DatabaseServer,
  and AbstractDatabaseServer since it is only needed in the backend.

- DatabaseTracker::getMaxSizeForDatabase() now calls usageForOrigin()
  to get the disk usage for its computation.

- The performance difference for this changes is a 1.6% degradation
  per additional database whose size needs to be fetched. This is a
  worst case estimated based on the disk-stat-speed-test.html benchmark
  (attached to bugzilla). The benchmark writes an average of 16 bytes per
  transaction. Most real-world transactions will likely write more
  content than that. Since disk write IO time will dominate over memory
  read time for fetching the file size, the degradation ratio will only
  reduce with larger workloads.

No layout test, but there is a quota-test.html attached to bugzilla.
The test is a webpage that can be loaded into multiple tabs to
consuming storage space. While the test is running, we can run a
"du -k; du -k *" on the database directory to verify that the total
disk usage does not far exceed the allowed quota (some small error
is expected). Without this change, each database from each tab may
exceed the quota by that same maginitude of error.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Modules/webdatabase/AbstractDatabaseServer.h:
* Modules/webdatabase/Database.cpp:
* Modules/webdatabase/Database.h:
* Modules/webdatabase/DatabaseBackendBase.cpp:
(WebCore::DatabaseBackendBase::maximumSize):
* Modules/webdatabase/DatabaseManager.cpp:
* Modules/webdatabase/DatabaseManager.h:
* Modules/webdatabase/DatabaseServer.cpp:
* Modules/webdatabase/DatabaseServer.h:
* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::hasAdequateQuotaForOrigin):
(WebCore::DatabaseTracker::canEstablishDatabase):
(WebCore::DatabaseTracker::retryCanEstablishDatabase):
(WebCore::DatabaseTracker::getMaxSizeForDatabase):
(WebCore::DatabaseTracker::fullPathForDatabaseNoLock):
(WebCore::DatabaseTracker::fullPathForDatabase):
(WebCore::DatabaseTracker::addOpenDatabase):
(WebCore::DatabaseTracker::removeOpenDatabase):
(WebCore::DatabaseTracker::usageForOrigin):
(WebCore::DatabaseTracker::deleteOrigin):
(WebCore::DatabaseTracker::deleteDatabase):
* Modules/webdatabase/DatabaseTracker.h:
* Modules/webdatabase/OriginQuotaManager.cpp: Removed.
* Modules/webdatabase/OriginQuotaManager.h: Removed.
* Modules/webdatabase/OriginUsageRecord.cpp: Removed.
* Modules/webdatabase/OriginUsageRecord.h: Removed.
* Modules/webdatabase/SQLTransactionBackend.cpp:
(WebCore::SQLTransactionBackend::runCurrentStatementAndGetNextState):
* Modules/webdatabase/SQLTransactionBackendSync.cpp:
(WebCore::SQLTransactionBackendSync::executeSQL):
* Modules/webdatabase/SQLTransactionClient.cpp:
* Modules/webdatabase/SQLTransactionClient.h:
* Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp:
* Target.pri:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:

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

7 years agoREGRESSION(r143654): some jquery test asserts on 32 bit debug build
fpizlo@apple.com [Tue, 26 Feb 2013 04:25:39 +0000 (04:25 +0000)]
REGRESSION(r143654): some jquery test asserts on 32 bit debug build
https://bugs.webkit.org/show_bug.cgi?id=110756

Reviewed by Geoffrey Garen.

TypeOf does speculations manually, so it should mark its JSValueOperand as doing ManualOperandSpeculation.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

7 years ago[JSC] Upstream iOS Stack bound checking
benjamin@webkit.org [Tue, 26 Feb 2013 04:13:34 +0000 (04:13 +0000)]
[JSC] Upstream iOS Stack bound checking
https://bugs.webkit.org/show_bug.cgi?id=110813

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-02-25
Reviewed by Filip Pizlo.

On iOS, the StackBounds cannot be cached because the stack
can be in one of two threads (the web thread or the UI thread).

We simply always consider the current stack bound when testing
stack boundaries.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
* bytecompiler/BytecodeGenerator.h:
(JSC::BytecodeGenerator::emitNode):
(JSC::BytecodeGenerator::emitNodeInConditionContext):
(BytecodeGenerator):
* parser/Parser.cpp:
(JSC::::Parser):
* parser/Parser.h:
(JSC::Parser::canRecurse):
(Parser):

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

7 years ago[texmap] Rename TextureMapperGL::ClipStack::init to reset
bruno.abinader@basyskom.com [Tue, 26 Feb 2013 04:04:37 +0000 (04:04 +0000)]
[texmap] Rename TextureMapperGL::ClipStack::init to reset
https://bugs.webkit.org/show_bug.cgi?id=110783

Reviewed by Noam Rosenthal.

Functions named init() are usually called inside ctor's to initialize
member variables that were unable to be assigned on an initialization
list, which is not the case, and also because reset() better reflects
the behavior (clears the clip stack and assigns a value to the initial
clip state).

No behavior changes, thus covered by existing tests.

* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGL::ClipStack::reset):
(WebCore::TextureMapperGL::beginPainting):
(WebCore::BitmapTextureGL::initializeDepthBuffer):
* platform/graphics/texmap/TextureMapperGL.h:
(ClipStack):

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

7 years agoAdd expandedToParagraph() method to WebRange
commit-queue@webkit.org [Tue, 26 Feb 2013 03:18:26 +0000 (03:18 +0000)]
Add expandedToParagraph() method to WebRange
https://bugs.webkit.org/show_bug.cgi?id=110618

Patch by Rouslan Solomakhin <rouslan@chromium.org> on 2013-02-25
Reviewed by Adam Barth.

Add a method expandedToParagraph() to WebRange to return a copy of the
range expanded to paragraph boundaries. This method is to be used to
query the spelling context around the misspelled word under cursor.

* public/WebRange.h:
(WebRange): Added expandedToParagraph() method declaration.
* src/WebRange.cpp:
(WebKit::WebRange::expandedToParagraph): Added method to copy range, expand the copied range to paragraph boundaries, and return the resulting range.
(WebKit): Added expandedToParagraph() method definition.

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

7 years agoBuild fix attempt after r143996.
rniwa@webkit.org [Tue, 26 Feb 2013 03:02:47 +0000 (03:02 +0000)]
Build fix attempt after r143996.

* wtf/FastMalloc.cpp:
(WTF):

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

7 years agoThreaded HTML parser should pass fast/parser/iframe-sets-parent-to-javascript-url...
abarth@webkit.org [Tue, 26 Feb 2013 02:36:18 +0000 (02:36 +0000)]
Threaded HTML parser should pass fast/parser/iframe-sets-parent-to-javascript-url.html
https://bugs.webkit.org/show_bug.cgi?id=110637

Reviewed by Eric Seidel.

With the main thread parser, we always parse the first chunk of content
returned as the result of evaluating a JavaScript URL synchronously. In
particular, if the first chunk has an inline script, we'll execute it
synchronously.

Previous to this patch, the threaded parser would always parse this
content asynchronously. It's conceivable that there could be some
content relying on the synchronous behavior, so this patch introduces
the notion of "pinning" a parser to the main thread and uses that
concept to force the result of JavaScript URLs to be parsed on the main
thread (which is probably desirable anyway because they're likely to be
quite short).

This patch fixes fast/parser/iframe-sets-parent-to-javascript-url.html
and fast/dom/javascript-url-crash-function.html with the threaded
parser with --enable-threaded-html-parser.

* dom/DocumentParser.h:
(WebCore::DocumentParser::pinToMainThread):
(DocumentParser):
* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::HTMLDocumentParser):
(WebCore):
(WebCore::HTMLDocumentParser::pinToMainThread):
* html/parser/HTMLDocumentParser.h:
(HTMLDocumentParser):
(WebCore::HTMLDocumentParser::shouldUseThreading):
* loader/DocumentWriter.cpp:
(WebCore::DocumentWriter::replaceDocument):

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

7 years agoUpdate the localizable strings file.
jberlin@webkit.org [Tue, 26 Feb 2013 02:33:04 +0000 (02:33 +0000)]
Update the localizable strings file.

Rubber-stamped by Anders Carlsson.

* English.lproj/Localizable.strings:

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

7 years ago[chromium] WebViewImpl::m_client can be null in some unit tests, check it before...
jamesr@google.com [Tue, 26 Feb 2013 02:25:13 +0000 (02:25 +0000)]
[chromium] WebViewImpl::m_client can be null in some unit tests, check it before calling
https://bugs.webkit.org/show_bug.cgi?id=110834

Reviewed by Adrienne Walker.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::suppressInvalidations):
(WebKit::WebViewImpl::setRootGraphicsLayer):

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

7 years agoUnreviewed. Fix script to use WEBKIT_SOURCE for VS2010 property sheets instead of...
roger_fong@apple.com [Tue, 26 Feb 2013 02:25:04 +0000 (02:25 +0000)]
Unreviewed. Fix script to use WEBKIT_SOURCE for VS2010 property sheets instead of WEBKIT_LIBRARIES.

* WTF.vcxproj/work-around-vs-dependency-tracking-bugs.py:

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

7 years agoAdd cookies to FastMalloc spans
oliver@apple.com [Tue, 26 Feb 2013 02:13:31 +0000 (02:13 +0000)]
Add cookies to FastMalloc spans
https://bugs.webkit.org/show_bug.cgi?id=110827

Reviewed by Michael Saboff.

Add a cookie to spans, and move some of the hardening around so
that it's more useful.

* wtf/FastMalloc.cpp:
(WTF::internalEntropyValue):
(WTF::spanInitializerCookie):
(WTF::Span::initCookie):
(WTF::Span::clearCookie):
(WTF::Span::isValid):
(Span):
(WTF::NewSpan):
(WTF::DeleteSpan):
(WTF::TCMalloc_ThreadCache_FreeList::Validate):
(WTF::TCMalloc_Central_FreeList::Populate):
(WTF::TCMalloc_ThreadCache::Deallocate):
(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

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

7 years agoForgot to delete a no-longer-needed unit test after r143980.
dpranke@chromium.org [Tue, 26 Feb 2013 02:10:53 +0000 (02:10 +0000)]
Forgot to delete a no-longer-needed unit test after r143980.

Unreviewed, build fix.

* Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
(ChromiumWinTest.test_path_to_image_diff):

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

7 years agoFor JSVALUE32_64, maxOffsetRelativeToPatchedStorage() doesn't compute the maximum...
msaboff@apple.com [Tue, 26 Feb 2013 02:10:02 +0000 (02:10 +0000)]
For JSVALUE32_64, maxOffsetRelativeToPatchedStorage() doesn't compute the maximum negative offset
https://bugs.webkit.org/show_bug.cgi?id=110828

Reviewed by Oliver Hunt.

* runtime/JSObject.h:
(JSC::maxOffsetRelativeToPatchedStorage): Only add the OBJECT_OFFSETOF(tag) for positive offsets.
That way this function will return the offset farthest from 0 needed to access either the payload
or tag.

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

7 years agoFlexbox should ignore firstLetter pseudo element.
commit-queue@webkit.org [Tue, 26 Feb 2013 02:06:12 +0000 (02:06 +0000)]
Flexbox should ignore firstLetter pseudo element.
https://bugs.webkit.org/show_bug.cgi?id=105126

Patch by Xueqing Huang <huangxueqing@baidu.com> on 2013-02-25
Reviewed by Tony Chang.

Source/WebCore:

The CSS WG decided that first-line and first-letter should not
apply to flex containers.
http://dev.w3.org/csswg/css3-flexbox/issue-cr-2012#issue-13

tests:
css3/flexbox/flexbox-ignore-firstLetter.html
css3/flexbox/flexbox-ignore-container-firstLetter.html

* rendering/RenderBlock.cpp:
(WebCore::findFirstLetterBlock):

LayoutTests:

The CSS WG decided that first-line and first-letter should not
apply to flex containers.
http://dev.w3.org/csswg/css3-flexbox/issues-cr-2012#issue-13

* css3/flexbox/flexbox-ignore-container-firstLetter-expected.txt: Added.
* css3/flexbox/flexbox-ignore-container-firstLetter.html: Added.
* css3/flexbox/flexbox-ignore-firstLetter-expected.txt: Added.
* css3/flexbox/flexbox-ignore-firstLetter.html: Added.
* css3/flexbox/inline-flex-crash-expected.txt:
* css3/flexbox/inline-flex-crash2-expected.txt:

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

7 years agoBuild fix. run-perf-tests was reporting with revision numbers ending with \r.
rniwa@webkit.org [Tue, 26 Feb 2013 01:24:02 +0000 (01:24 +0000)]
Build fix. run-perf-tests was reporting with revision numbers ending with \r.
Don't include \r at the end of svn info lines on Windows.

This is similar to r143839.

* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.value_from_svn_info):

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

7 years agoLots of unnecessary DidLayout notifications when scrolling zoomed page with iframes
simon.fraser@apple.com [Tue, 26 Feb 2013 01:22:33 +0000 (01:22 +0000)]
Lots of unnecessary DidLayout notifications when scrolling zoomed page with iframes
https://bugs.webkit.org/show_bug.cgi?id=110824

Reviewed by Tim Horton.

RenderWidget::setWidgetGeometry() compares the old and new frame rects to decide
if the geometry changed. However, it use implicit IntRect->LayoutRect promotion in
the comparison, and then roundedIntRect() in setting. Thus the code would think
that the geometry changed, even when the final assigned frame did not.

Fix by computing the new frame using roundedIntRect(), and using that to determine
whether the geometry changed.

No way to test DidLayout notifications in DRT/WTR.

* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::setWidgetGeometry):

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

7 years ago[Resource Timing] Update test suite so it can be exported to the W3C
simonjam@chromium.org [Tue, 26 Feb 2013 01:13:40 +0000 (01:13 +0000)]
[Resource Timing] Update test suite so it can be exported to the W3C
https://bugs.webkit.org/show_bug.cgi?id=107343

Reviewed by Tony Gentilcore.

Tools:

* Scripts/export-w3c-performance-wg-tests: Clean up output.
* Scripts/import-w3c-performance-wg-tests:

LayoutTests:

* http/tests/w3c/webperf/resources/webperftestharness.js: Removed unneeded functions and moved new ones to extension.
* http/tests/w3c/webperf/resources/webperftestharnessextension.js:
(test_resource_entries):
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_attribute_order-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_attribute_order-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_attribute_order.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_attribute_order.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_cached-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_cached-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_cached.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_cached.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_connection_reuse-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_connection_reuse-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_connection_reuse.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_connection_reuse.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_dynamic_insertion-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_dynamic_insertion-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_dynamic_insertion.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_dynamic_insertion.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_frame_initiator_type-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_frame_initiator_type-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_frame_initiator_type.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_frame_initiator_type.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_ignore_data_url-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_data_url-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_ignore_data_url.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_data_url.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_ignore_failures-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_failures-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_ignore_failures.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_ignore_failures.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_initiator_types-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_initiator_types-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_initiator_types.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_initiator_types.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_redirects-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_redirects-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_redirects.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_redirects.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_reparenting-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_reparenting-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_reparenting.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_reparenting.html.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_script_types-expected.txt: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_script_types-expected.txt.
* http/tests/w3c/webperf/submission/Google/resource-timing/html/test_resource_script_types.html: Renamed from LayoutTests/http/tests/w3c/webperf/submission/resource-timing/html/test_resource_script_types.html.
* platform/chromium/TestExpectations: Moved directories...
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/qt/TestExpectations:

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

7 years agoSource/WebKit2: Add a new unavailablePluginButtonClicked callback that takes a WKDict...
andersca@apple.com [Tue, 26 Feb 2013 01:06:56 +0000 (01:06 +0000)]
Source/WebKit2: Add a new unavailablePluginButtonClicked callback that takes a WKDictionary of plug-in information
https://bugs.webkit.org/show_bug.cgi?id=110821

Reviewed by Beth Dakin.

* UIProcess/API/C/WKPage.cpp:
(WKPageGetPluginInformationPluginspageAttributeURLKey):
(WKPageGetPluginInformationPluginURLKey):
Add two new API key getters.

* UIProcess/API/C/WKPage.h:
Add a new callback and deprecate the old callback.

* UIProcess/WebLoaderClient.cpp:
(WebKit::WebLoaderClient::didFailToInitializePlugin):
(WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
(WebKit::WebLoaderClient::pluginLoadPolicy):
Make the pluginInformationDictionary a static member function of WebPageProxy so it
can be called from WebUIClient as well.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::getPluginPath):
Pass the bundle version as well.

(WebKit::WebPageProxy::pluginInformationPluginspageAttributeURLKey):
(WebKit::WebPageProxy::pluginInformationPluginURLKey):
Add two new keys.

(WebKit::WebPageProxy::pluginInformationDictionary):
Handle more keys.

(WebKit::WebPageProxy::unavailablePluginButtonClicked):
Get the plug-in bundle identifier and version.

* UIProcess/WebPageProxy.messages.in:
Pass along more information; the frame and page URLs.

* UIProcess/WebUIClient.cpp:
(WebKit::WebUIClient::unavailablePluginButtonClicked):
Call the new callback if it's supported.

* UIProcess/WebUIClient.h:
(WebUIClient):
* UIProcess/mac/WebInspectorProxyMac.mm:
(WebKit::WebInspectorProxy::platformCreateInspectorPage):
Update for API changes.

* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::unavailablePluginButtonClicked):
Ensure that the pluginspage attribute is a valid URL.

Tools: Add a new unavailablePluginButtonClicked callback that takes a WKDictionary of plug-in information
https://bugs.webkit.org/show_bug.cgi?id=110821
<rdar://problem/13265303>

Reviewed by Beth Dakin.

Update for WebKit2 changes.

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController awakeFromNib]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createOtherPage):
(WTR::TestController::createWebViewWithOptions):
(WTR::TestController::unavailablePluginButtonClicked):
* WebKitTestRunner/TestController.h:
(TestController):

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

7 years agoRemove browser patching mechanism for handling javascript dialogs in chromium port
commit-queue@webkit.org [Tue, 26 Feb 2013 00:50:41 +0000 (00:50 +0000)]
Remove browser patching mechanism for handling javascript dialogs in chromium port
https://bugs.webkit.org/show_bug.cgi?id=110531

Patch by Ken Kania <kkania@chromium.org> on 2013-02-25
Reviewed by Pavel Feldman.

* public/WebDevToolsAgent.h:
* src/WebDevToolsAgentImpl.cpp:
(WebKit::WebDevToolsAgentImpl::handleJavaScriptDialog):
(WebKit::browserHintToString):
(WebKit::browserHintFromString):
(WebKit::WebDevToolsAgent::patchWithBrowserData):

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

7 years agoOptionally partition cache to prevent using cache for tracking
jpfau@apple.com [Tue, 26 Feb 2013 00:49:17 +0000 (00:49 +0000)]
Optionally partition cache to prevent using cache for tracking
https://bugs.webkit.org/show_bug.cgi?id=110269

Reviewed by Maciej Stachowiak.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Add defines for cache partitioning and public suffix list usage

Source/WebCore:

Implement memory cache partitioning by passing the cache name through
resource requests into a new version of resourceForURL.

Test: http/tests/cache/partitioned-cache.html

* Configurations/FeatureDefines.xcconfig: Add defines for cache partitioning and public suffix list usage
* WebCore.exp.in: Export new functions for WKSI and test suite
* WebCore.xcodeproj/project.pbxproj:
* html/DOMURL.cpp:
(WebCore::DOMURL::revokeObjectURL): Retrofit for new resourceForRequest function
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::cachedResource): Retrofit for new resourceForRequest function
* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::replayXHR): Retrofit for new resourceForRequest function
* loader/DocumentLoader.h:
(DocumentLoader):
(WebCore::DocumentLoader::recordMemoryCacheLoadForFutureClientNotification): Retrofit for new resourceForRequest function
(WebCore::DocumentLoader::takeMemoryCacheLoadsForClientNotification): Retrofit for new resourceForRequest function
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadedResourceFromMemoryCache): Retrofit for new resourceForRequest function
(WebCore::FrameLoader::tellClientAboutPastMemoryCacheLoads): Retrofit for new resourceForRequest function
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create): Retrofit for new resourceForRequest function
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::~CachedResource):
* loader/cache/CachedResource.h: Retrofit for new resourceForRequest function
(CachedResource):
(WebCore::CachedResource::cachePartition):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestUserCSSStyleSheet): Retrofit for new resourceForRequest function
(WebCore::CachedResourceLoader::requestResource): Retrofit for new resourceForRequest function
(WebCore::CachedResourceLoader::loadResource): Retrofit for new resourceForRequest function
* loader/cache/MemoryCache.cpp:
(WebCore):
(WebCore::partitionName): Add function for determining absolute partition name
(WebCore::MemoryCache::add): Retrofit for partition mapping
(WebCore::MemoryCache::revalidationSucceeded): Retrofit for partition mapping
(WebCore::MemoryCache::resourceForURL): Call into new resourceForRequest
(WebCore::MemoryCache::resourceForRequest): Retrofit for partition mapping
(WebCore::MemoryCache::evict): Retrofit for partition mapping
(WebCore::MemoryCache::removeResourcesWithOrigin): Retrofit for partition mapping
(WebCore::MemoryCache::getOriginsWithCache): Retrofit for partition mapping
(WebCore::MemoryCache::removeUrlFromCache): Retrofit for partition mapping
(WebCore::MemoryCache::removeRequestFromCache): Retrofit for partition mapping
(WebCore::MemoryCache::removeRequestFromCacheImpl): Retrofit for partition mapping
(WebCore::MemoryCache::crossThreadRemoveRequestFromCache): Add function for calling removeRequestFromCacheImpl that takes a CrossThreadResourceRequestData
(WebCore::MemoryCache::getStatistics): Retrofit for partition mapping
(WebCore::MemoryCache::setDisabled): Retrofit for partition mapping
* loader/cache/MemoryCache.h:
(MemoryCache):
* page/SecurityOrigin.cpp:
(WebCore):
(WebCore::SecurityOrigin::cachePartition): Add function for determining the cache partition name
* page/SecurityOrigin.h:
(SecurityOrigin):
* platform/PublicSuffix.h: Added.
(WebCore):
* platform/mac/PublicSuffixMac.mm: Added.
(WebCore):
(WebCore::isPublicSuffix):
(WebCore::topPrivatelyControlledDomain):
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
* platform/network/cf/ResourceRequest.h:
(ResourceRequest):
(WebCore::ResourceRequest::cachePartition):
(WebCore::ResourceRequest::setCachePartition):
(CrossThreadResourceRequestData):
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::ResourceRequest::doPlatformCopyData): Pass through cache partition name
(WebCore):
(WebCore::ResourceRequest::doPlatformAdopt): Pass through cache partition name
* platform/network/mac/ResourceRequestMac.mm:
(WebCore::ResourceRequest::doUpdateResourceRequest): Pass through cache partition name
(WebCore::ResourceRequest::doUpdatePlatformRequest): Pass through cache partition name

Source/WebKit/mac:

Update WKSI bindings and add feature defines.

* Configurations/FeatureDefines.xcconfig: Add defines for cache partitioning and public suffix list usage
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

Source/WebKit2:

Update WKSI bindings and add feature defines.

* Configurations/FeatureDefines.xcconfig: Add defines for cache partitioning and public suffix list usage
* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

Tools:

Add test suite for public suffix functions on Mac.

* TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
* TestWebKitAPI/Tests/mac/PublicSuffix.mm: Added.
(TestWebKitAPI):
(TestWebKitAPI::TEST_F):

WebKitLibraries:

Update WKSI bindings.

* WebKitSystemInterface.h:
* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceMountainLion.a:

LayoutTests:

Added tests for ensuring the cache partitioning functions

* http/tests/cache/partitioned-cache-expected.txt: Added.
* http/tests/cache/partitioned-cache.html: Added.
* http/tests/cache/resources/echo-cookie.cgi: Added.
* http/tests/cache/resources/partitioned-cache-loader.html: Added.

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

7 years ago[chromium] Plumb WebViewImpl's compositor scheduling suppression out to WebWidgetClient
commit-queue@webkit.org [Tue, 26 Feb 2013 00:44:28 +0000 (00:44 +0000)]
[chromium] Plumb WebViewImpl's compositor scheduling suppression out to WebWidgetClient
https://bugs.webkit.org/show_bug.cgi?id=110640

Patch by James Robinson <jamesr@chromium.org> on 2013-02-25
Reviewed by Adrienne Walker.

This plumbs the WebViewImpl::m_suppressInvalidations logic out to the WebWidgetClient so
it can be implemented by the embedder. The existing logic is left in place for now,
once the embedder side has landed WebViewImpl will be purely a pass-through.

* public/WebWidgetClient.h:
(WebWidgetClient):
(WebKit::WebWidgetClient::suppressCompositorScheduling):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::suppressInvalidations):
(WebKit::WebViewImpl::setRootGraphicsLayer):

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

7 years agoNormalize ENABLE_ENCRYPTED_MEDIA definitions across all FeatureDefines files.
jer.noble@apple.com [Tue, 26 Feb 2013 00:21:51 +0000 (00:21 +0000)]
Normalize ENABLE_ENCRYPTED_MEDIA definitions across all FeatureDefines files.
https://bugs.webkit.org/show_bug.cgi?id=110806

Source/WebCore:

Reviewed by Alexey Proskuryakov.

Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.

* Configurations/FeatureDefines.xcconfig:

Fix some build errors which occurred when both ENCRYPTED_MEDIA and
ENCRYPTED_MEDIA_V2 were enabled:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::webkitGenerateKeyRequest):
(WebCore::HTMLMediaElement::webkitAddKey):
* page/DOMWindow.idl:

Source/WebKit/mac:

Reviewed by Alexey Proskuryakov.

Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.

Reviewed by Alexey Proskuryakov.

* Configurations/FeatureDefines.xcconfig:

Source/WTF:

Reviewed by Alexey Proskuryakov.

Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.

* wtf/FeatureDefines.h:

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

7 years ago6% regression in intl1 page cycler on chromium-mac
abarth@webkit.org [Tue, 26 Feb 2013 00:12:53 +0000 (00:12 +0000)]
6% regression in intl1 page cycler on chromium-mac
https://bugs.webkit.org/show_bug.cgi?id=110784

Reviewed by Eric Seidel.

This patch reverts http://trac.webkit.org/changeset/143014 to see if
that's the cause of the PLT regression. If it's not the cause, I'll
roll it back in.

* dom/Element.cpp:
(WebCore::Element::addAttributeInternal):
(WebCore::ShareableElementData::ShareableElementData):
(WebCore::UniqueElementData::makeShareableCopy):
(WebCore::ElementData::addAttribute):
(WebCore::ElementData::removeAttribute):
(WebCore::ElementData::reportMemoryUsage):
* dom/Element.h:
(ElementData):
(UniqueElementData):
(WebCore::ElementData::mutableAttributeVector):
(WebCore):
(WebCore::ElementData::immutableAttributeArray):
(WebCore::ElementData::length):
(WebCore::ElementData::getAttributeItem):
(WebCore::ElementData::attributeItem):

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

7 years agoFull screen mode should not exit when application resigns active state.
jer.noble@apple.com [Mon, 25 Feb 2013 23:48:24 +0000 (23:48 +0000)]
Full screen mode should not exit when application resigns active state.
https://bugs.webkit.org/show_bug.cgi?id=106129

Reviewed by Darin Adler.

Now that full screen windows get their own full screen space, there is no reason to exit full
screen mode when the application resigns active state. Instead, the windowserver will bring the
space containing the newly active application to the foreground. The user can then swipe back
to the full screen space (or use Mission Control) to get back to the full screen window.

* UIProcess/mac/WKFullScreenWindowController.mm:
(-[WKFullScreenWindowController windowDidLoad]): Remove the applicationDidResignActive: notification from WKFullScreenWindowController.

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

7 years agoSafari shows empty window and paints webpage in full-screen background
jer.noble@apple.com [Mon, 25 Feb 2013 23:39:02 +0000 (23:39 +0000)]
Safari shows empty window and paints webpage in full-screen background
https://bugs.webkit.org/show_bug.cgi?id=103712

Reviewed by Darin Adler.

When canceling full screen mode due to a provisional load, exit normally instead of closing the
full screen window controller. Additionally, to ensure full screen is cancelled when the enclosing
frame around a full screen iframe is navigated, check to see if the navigating document contains
a full screen element, rather than checking whether the document itself is full screen.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):

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

7 years agonrwt: reenable multiple http shards on chromium win
dpranke@chromium.org [Mon, 25 Feb 2013 23:36:52 +0000 (23:36 +0000)]
nrwt: reenable multiple http shards on chromium win
https://bugs.webkit.org/show_bug.cgi?id=110814

Reviewed by Tony Chang.

The underlying bug in DumpRenderTree that was causing us to look for a
pac file and timeout under load was fixed a while ago.

* Scripts/webkitpy/layout_tests/port/chromium_win.py:
(ChromiumWinPort.relative_test_filename):

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

7 years agoPage::m_isInWindow is uninitialized
timothy_horton@apple.com [Mon, 25 Feb 2013 23:32:24 +0000 (23:32 +0000)]
Page::m_isInWindow is uninitialized
https://bugs.webkit.org/show_bug.cgi?id=110807

Reviewed by Simon Fraser.

Ideally m_isInWindow and m_isOnscreen would default to false, and be flipped to true
when the Page is put in-window or on-screen. However, only the Mac port seems to ever
call setIsInWindow/didMoveOnscreen. So, we have to default to true and flip it to false
immediately after construction on Mac.

This is just matching the behaviour of the existing m_isOnscreen.

* page/Page.cpp:
(WebCore::Page::Page): Initialize m_isInWindow to true.

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

7 years agoMake ninja the default w/ build-webkit --chromium on windows.
dpranke@chromium.org [Mon, 25 Feb 2013 23:02:35 +0000 (23:02 +0000)]
Make ninja the default w/ build-webkit --chromium on windows.
https://bugs.webkit.org/show_bug.cgi?id=110731

Unreviewed - TBR'ing thakis :).

* Scripts/update-webkit-chromium:

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

7 years agoFix build.
andersca@apple.com [Mon, 25 Feb 2013 22:58:27 +0000 (22:58 +0000)]
Fix build.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didBlockInsecurePluginVersion):

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

7 years agoAdd a new pluginDidFail callback that takes a WKDictionary of plug-in information
andersca@apple.com [Mon, 25 Feb 2013 22:38:45 +0000 (22:38 +0000)]
Add a new pluginDidFail callback that takes a WKDictionary of plug-in information
https://bugs.webkit.org/show_bug.cgi?id=110793
<rdar://problem/13265303>

Reviewed by Sam Weinig.

Source/WebKit2:

Add a new pluginDidFail callback that takes a WKDictionaryRef and also pass in the
frame and page URLs.

* UIProcess/API/C/WKPage.h:
* UIProcess/WebLoaderClient.cpp:
(WebKit::pluginInformationDictionary):
(WebKit::WebLoaderClient::didFailToInitializePlugin):
(WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
(WebKit::WebLoaderClient::pluginLoadPolicy):
* UIProcess/WebLoaderClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::didFailToInitializePlugin):
(WebKit::WebPageProxy::didBlockInsecurePluginVersion):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::didFailToInitializePlugin):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createJavaAppletWidget):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):

Tools:

Update for WebKit2 API changes.

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController awakeFromNib]):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::createWebViewWithOptions):

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

7 years agoMove html5lib/run-test* into html5lib/generated in preparation for generating these...
eric@webkit.org [Mon, 25 Feb 2013 22:27:08 +0000 (22:27 +0000)]
Move html5lib/run-test* into html5lib/generated in preparation for generating these harnesses
https://bugs.webkit.org/show_bug.cgi?id=110795

Reviewed by Ojan Vafai.

* html5lib/generated/run-template-expected.txt: Copied from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-template.html: Added.
* html5lib/generated/run-tests1-expected.txt: Renamed from LayoutTests/html5lib/run-test7-expected.txt.
* html5lib/generated/run-tests1.html: Added.
* html5lib/generated/run-tests10-expected.txt: Copied from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-tests10.html: Added.
* html5lib/generated/run-tests11-expected.txt: Renamed from LayoutTests/html5lib/run-test11-expected.txt.
* html5lib/generated/run-tests11.html: Added.
* html5lib/generated/run-tests12-expected.txt: Copied from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-tests12.html: Added.
* html5lib/generated/run-tests14-expected.txt: Copied from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-tests14.html: Added.
* html5lib/generated/run-tests15-expected.txt: Copied from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-tests15.html: Added.
* html5lib/generated/run-tests16-expected.txt: Copied from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-tests16.html: Added.
* html5lib/generated/run-tests17-expected.txt: Copied from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-tests17.html: Added.
* html5lib/generated/run-tests18-expected.txt: Renamed from LayoutTests/html5lib/run-test18-expected.txt.
* html5lib/generated/run-tests18.html: Added.
* html5lib/generated/run-tests19-expected.txt: Copied from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-tests19.html: Added.
* html5lib/generated/run-tests2-expected.txt: Copied from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-tests2.html: Added.
* html5lib/generated/run-tests20-expected.txt: Copied from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-tests20.html: Added.
* html5lib/generated/run-tests21-expected.txt: Copied from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-tests21.html: Added.
* html5lib/generated/run-tests22-expected.txt: Renamed from LayoutTests/html5lib/run-test10-expected.txt.
* html5lib/generated/run-tests22.html: Added.
* html5lib/generated/run-tests23-expected.txt: Copied from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-tests23.html: Added.
* html5lib/generated/run-tests24-expected.txt: Copied from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-tests24.html: Added.
* html5lib/generated/run-tests25-expected.txt: Copied from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-tests25.html: Added.
* html5lib/generated/run-tests26-expected.txt: Copied from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-tests26.html: Added.
* html5lib/generated/run-tests3-expected.txt: Renamed from LayoutTests/html5lib/run-test14-expected.txt.
* html5lib/generated/run-tests3.html: Added.
* html5lib/generated/run-tests4-expected.txt: Renamed from LayoutTests/html5lib/run-test12-expected.txt.
* html5lib/generated/run-tests4.html: Added.
* html5lib/generated/run-tests5-expected.txt: Copied from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-tests5.html: Added.
* html5lib/generated/run-tests6-expected.txt: Copied from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-tests6.html: Added.
* html5lib/generated/run-tests7-expected.txt: Renamed from LayoutTests/html5lib/run-test1-expected.txt.
* html5lib/generated/run-tests7.html: Added.
* html5lib/generated/run-tests8-expected.txt: Copied from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-tests8.html: Added.
* html5lib/generated/run-tests9-expected.txt: Renamed from LayoutTests/html5lib/run-template-expected.txt.
* html5lib/generated/run-tests9.html: Added.
* html5lib/run-template.html: Removed.
* html5lib/run-test1.html: Removed.
* html5lib/run-test10.html: Removed.
* html5lib/run-test11.html: Removed.
* html5lib/run-test12.html: Removed.
* html5lib/run-test14.html: Removed.
* html5lib/run-test15-expected.txt: Removed.
* html5lib/run-test15.html: Removed.
* html5lib/run-test16-expected.txt: Removed.
* html5lib/run-test16.html: Removed.
* html5lib/run-test17-expected.txt: Removed.
* html5lib/run-test17.html: Removed.
* html5lib/run-test18.html: Removed.
* html5lib/run-test19-expected.txt: Removed.
* html5lib/run-test19.html: Removed.
* html5lib/run-test2-expected.txt: Removed.
* html5lib/run-test2.html: Removed.
* html5lib/run-test20-expected.txt: Removed.
* html5lib/run-test20.html: Removed.
* html5lib/run-test21-expected.txt: Removed.
* html5lib/run-test21.html: Removed.
* html5lib/run-test22-expected.txt: Removed.
* html5lib/run-test22.html: Removed.
* html5lib/run-test23-expected.txt: Removed.
* html5lib/run-test23.html: Removed.
* html5lib/run-test24-expected.txt: Removed.
* html5lib/run-test24.html: Removed.
* html5lib/run-test25-expected.txt: Removed.
* html5lib/run-test25.html: Removed.
* html5lib/run-test26-expected.txt: Removed.
* html5lib/run-test26.html: Removed.
* html5lib/run-test3-expected.txt: Removed.
* html5lib/run-test3.html: Removed.
* html5lib/run-test4-expected.txt: Removed.
* html5lib/run-test4.html: Removed.
* html5lib/run-test5-expected.txt: Removed.
* html5lib/run-test5.html: Removed.
* html5lib/run-test6-expected.txt: Removed.
* html5lib/run-test6.html: Removed.
* html5lib/run-test7.html: Removed.
* html5lib/run-test8-expected.txt: Removed.
* html5lib/run-test8.html: Removed.
* html5lib/run-test9-expected.txt: Removed.
* html5lib/run-test9.html: Removed.
* platform/chromium/TestExpectations:
* platform/chromium/html5lib/generated/run-tests1-expected.txt: Renamed from LayoutTests/platform/chromium/html5lib/run-test7-expected.txt.
* platform/chromium/html5lib/generated/run-tests18-expected.txt: Renamed from LayoutTests/platform/chromium/html5lib/run-test18-expected.txt.
* platform/chromium/html5lib/generated/run-tests7-expected.txt: Renamed from LayoutTests/platform/chromium/html5lib/run-test1-expected.txt.
* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/qt/TestExpectations:
* platform/win/TestExpectations:
* platform/wincairo/TestExpectations:

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

7 years agoUnreviewed build fix after r143965.
haraken@chromium.org [Mon, 25 Feb 2013 22:21:52 +0000 (22:21 +0000)]
Unreviewed build fix after r143965.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateOverloadedConstructorCallback):
* bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
(WebCore::TestOverloadedConstructorsV8Internal::constructor):

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

7 years agoBuild fix for gtk2-based library.
kov@webkit.org [Mon, 25 Feb 2013 22:12:41 +0000 (22:12 +0000)]
Build fix for gtk2-based library.

Reviewed by Martin Robinson.

* platform/gtk/WidgetRenderingContext.cpp: move gtk2 check to after the config.h
include, which is the one that includes autotoolsconfig.h, where the gtk2 define
lives.

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

7 years agoUnreviewed, rolling out r143936.
commit-queue@webkit.org [Mon, 25 Feb 2013 22:06:15 +0000 (22:06 +0000)]
Unreviewed, rolling out r143936.
http://trac.webkit.org/changeset/143936
https://bugs.webkit.org/show_bug.cgi?id=110789

Causes webkit_unit_tests failures on android dbg (Requested by
vollick on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-25

Source/WebCore:

* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::GIFImageDecoder):
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::frameCount):
(WebCore::GIFImageDecoder::decodingHalted):
(WebCore):
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::decode):
* platform/image-decoders/gif/GIFImageDecoder.h:
(GIFImageDecoder):
* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::doLZW):
(GIFImageReader::read):
* platform/image-decoders/gif/GIFImageReader.h:
(GIFFrameContext):
(GIFFrameContext::GIFFrameContext):
(GIFFrameContext::~GIFFrameContext):
(GIFImageReader::GIFImageReader):
(GIFImageReader::~GIFImageReader):
(GIFImageReader):
(GIFImageReader::globalColormap):
(GIFImageReader::globalColormapSize):

Source/WebKit/chromium:

* WebKit.gyp:
* WebKit.gypi:
* tests/GIFImageDecoderTest.cpp: Removed.
* tests/data/broken.gif: Removed.

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

7 years agoUnreviewed. VS2010 solution build fix.
roger_fong@apple.com [Mon, 25 Feb 2013 21:47:20 +0000 (21:47 +0000)]
Unreviewed. VS2010 solution build fix.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
* JavaScriptCore.vcxproj/JavaScriptCoreExportGenerator/JavaScriptCoreExportGeneratorCommon.props:

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

7 years ago[V8] Generate a wrapper function for method callbacks
haraken@chromium.org [Mon, 25 Feb 2013 21:31:18 +0000 (21:31 +0000)]
[V8] Generate a wrapper function for method callbacks
https://bugs.webkit.org/show_bug.cgi?id=110769

Reviewed by Adam Barth.

This is one of steps to insert TRACE_EVENT_STATE() macros
into DOM bindings. This patch introduces an indirection
function for xxxMethod(), like this:

// For non-custom methods
void xxxMethodCallback(...) {
  xxxMethod(...);
}

// For custom methods
void xxxMethodCallback(...) {
  return xxxMethodCustom(...);
}

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateDomainSafeFunctionGetter):
(GenerateOverloadedFunction):
(GenerateFunctionCallback):
(GenerateFunction):
(GenerateNonStandardFunction):
(GenerateImplementation):
(GenerateFunctionCallString):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::Float64ArrayV8Internal::fooMethodCallback):
(Float64ArrayV8Internal):
(WebCore::Float64ArrayV8Internal::setMethodCallback):
(WebCore):
(WebCore::ConfigureV8Float64ArrayTemplate):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore::TestActiveDOMObjectV8Internal::excitingFunctionMethodCallback):
(TestActiveDOMObjectV8Internal):
(WebCore::TestActiveDOMObjectV8Internal::postMessageMethodCallback):
(WebCore::TestActiveDOMObjectV8Internal::postMessageAttrGetter):
(WebCore::ConfigureV8TestActiveDOMObjectTemplate):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore::TestCustomNamedGetterV8Internal::anotherFunctionMethodCallback):
(TestCustomNamedGetterV8Internal):
(WebCore):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore::TestEventTargetV8Internal::itemMethodCallback):
(TestEventTargetV8Internal):
(WebCore::TestEventTargetV8Internal::addEventListenerMethodCallback):
(WebCore::TestEventTargetV8Internal::removeEventListenerMethodCallback):
(WebCore::TestEventTargetV8Internal::dispatchEventMethodCallback):
(WebCore):
(WebCore::ConfigureV8TestEventTargetTemplate):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::TestInterfaceV8Internal::supplementalMethod1MethodCallback):
(TestInterfaceV8Internal):
(WebCore::TestInterfaceV8Internal::supplementalMethod2MethodCallback):
(WebCore::TestInterfaceV8Internal::supplementalMethod3MethodCallback):
(WebCore::TestInterfaceV8Internal::supplementalMethod4MethodCallback):
(WebCore):
(WebCore::ConfigureV8TestInterfaceTemplate):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore::TestMediaQueryListListenerV8Internal::methodMethodCallback):
(TestMediaQueryListListenerV8Internal):
(WebCore):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::voidMethodMethodCallback):
(TestObjV8Internal):
(WebCore::TestObjV8Internal::voidMethodWithArgsMethodCallback):
(WebCore::TestObjV8Internal::longMethodMethodCallback):
(WebCore::TestObjV8Internal::longMethodWithArgsMethodCallback):
(WebCore::TestObjV8Internal::objMethodMethod):
(WebCore::TestObjV8Internal::objMethodMethodCallback):
(WebCore::TestObjV8Internal::objMethodWithArgsMethodCallback):
(WebCore::TestObjV8Internal::methodWithSequenceArgMethodCallback):
(WebCore::TestObjV8Internal::methodReturningSequenceMethodCallback):
(WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsMethodCallback):
(WebCore::TestObjV8Internal::serializedValueMethodCallback):
(WebCore::TestObjV8Internal::optionsObjectMethodCallback):
(WebCore::TestObjV8Internal::methodWithExceptionMethodCallback):
(WebCore::TestObjV8Internal::customMethodMethodCallback):
(WebCore::TestObjV8Internal::customMethodWithArgsMethodCallback):
(WebCore::TestObjV8Internal::addEventListenerMethodCallback):
(WebCore::TestObjV8Internal::removeEventListenerMethodCallback):
(WebCore::TestObjV8Internal::withScriptStateVoidMethodCallback):
(WebCore::TestObjV8Internal::withScriptStateObjMethodCallback):
(WebCore::TestObjV8Internal::withScriptStateVoidExceptionMethodCallback):
(WebCore::TestObjV8Internal::withScriptStateObjExceptionMethodCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextMethodCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateMethodCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionMethodCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesMethodCallback):
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackMethodCallback):
(WebCore::TestObjV8Internal::methodWithOptionalArgMethodCallback):
(WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgMethodCallback):
(WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsMethodCallback):
(WebCore::TestObjV8Internal::methodWithOptionalStringMethodCallback):
(WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedMethodCallback):
(WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringMethodCallback):
(WebCore::TestObjV8Internal::methodWithCallbackArgMethodCallback):
(WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgMethodCallback):
(WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgMethodCallback):
(WebCore::TestObjV8Internal::conditionalMethod1MethodCallback):
(WebCore::TestObjV8Internal::conditionalMethod2MethodCallback):
(WebCore::TestObjV8Internal::conditionalMethod3MethodCallback):
(WebCore::TestObjV8Internal::overloadedMethodMethodCallback):
(WebCore::TestObjV8Internal::classMethodMethodCallback):
(WebCore::TestObjV8Internal::classMethodWithOptionalMethodCallback):
(WebCore::TestObjV8Internal::classMethod2MethodCallback):
(WebCore::TestObjV8Internal::overloadedMethod1MethodCallback):
(WebCore::TestObjV8Internal::classMethodWithClampMethodCallback):
(WebCore::TestObjV8Internal::enabledAtRuntimeMethod1MethodCallback):
(WebCore::TestObjV8Internal::enabledAtRuntimeMethod2MethodCallback):
(WebCore::TestObjV8Internal::enabledPerContextMethod1MethodCallback):
(WebCore::TestObjV8Internal::enabledPerContextMethod2MethodCallback):
(WebCore::TestObjV8Internal::stringArrayFunctionMethodCallback):
(WebCore::TestObjV8Internal::domStringListFunctionMethodCallback):
(WebCore::TestObjV8Internal::getSVGDocumentMethodCallback):
(WebCore::TestObjV8Internal::convert1MethodCallback):
(WebCore::TestObjV8Internal::convert2MethodCallback):
(WebCore::TestObjV8Internal::convert4MethodCallback):
(WebCore::TestObjV8Internal::convert5MethodCallback):
(WebCore::TestObjV8Internal::mutablePointFunctionMethodCallback):
(WebCore::TestObjV8Internal::immutablePointFunctionMethodCallback):
(WebCore::TestObjV8Internal::orangeMethodCallback):
(WebCore::TestObjV8Internal::strictFunctionMethodCallback):
(WebCore::TestObjV8Internal::variadicStringMethodMethodCallback):
(WebCore::TestObjV8Internal::variadicDoubleMethodMethodCallback):
(WebCore::TestObjV8Internal::variadicNodeMethodMethodCallback):
(WebCore):
(WebCore::ConfigureV8TestObjTemplate):
(WebCore::V8TestObj::installPerContextPrototypeProperties):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListMethodCallback):
(TestSerializedScriptValueInterfaceV8Internal):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListMethodCallback):
(WebCore):
* bindings/scripts/test/V8/V8TestTypedefs.cpp:
(WebCore::TestTypedefsV8Internal::funcMethodCallback):
(TestTypedefsV8Internal):
(WebCore::TestTypedefsV8Internal::multiTransferListMethodCallback):
(WebCore::TestTypedefsV8Internal::setShadowMethodCallback):
(WebCore::TestTypedefsV8Internal::methodWithSequenceArgMethodCallback):
(WebCore::TestTypedefsV8Internal::nullableArrayArgMethodCallback):
(WebCore::TestTypedefsV8Internal::funcWithClampMethodCallback):
(WebCore::TestTypedefsV8Internal::immutablePointFunctionMethodCallback):
(WebCore::TestTypedefsV8Internal::stringArrayFunctionMethodCallback):
(WebCore::TestTypedefsV8Internal::stringArrayFunction2MethodCallback):
(WebCore::TestTypedefsV8Internal::methodWithExceptionMethodCallback):
(WebCore):
(WebCore::ConfigureV8TestTypedefsTemplate):

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

7 years agoRemove two stale entries from TestExpectations
pdr@google.com [Mon, 25 Feb 2013 21:29:13 +0000 (21:29 +0000)]
Remove two stale entries from TestExpectations

Unreviewed patch of test expectations.

* platform/chromium/TestExpectations:

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

7 years ago[V8] Generate a wrapper method for constructor callbacks
haraken@chromium.org [Mon, 25 Feb 2013 21:28:11 +0000 (21:28 +0000)]
[V8] Generate a wrapper method for constructor callbacks
https://bugs.webkit.org/show_bug.cgi?id=110765

Reviewed by Adam Barth.

This is one of steps to insert TRACE_EVENT_STATE() macros
into DOM bindings. This patch introduces an indirection
function for constructor(), like this:

// For non-custom constructors
void constructorCallback(...) {
  return constructor(...);
}

// For custom constructors
void constructorCallback(...) {
  return constructorCustom(...);
}

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateOverloadedConstructorCallback):
(GenerateSingleConstructorCallback):
(GenerateConstructorCallback):
(GenerateConstructor):
(GenerateEventConstructor):
(GenerateTypedArrayConstructor):
(GenerateNamedConstructor):
(GenerateConstructorHeader):
(GenerateImplementation):
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore::Float64ArrayV8Internal::constructor):
(Float64ArrayV8Internal):
(WebCore::V8Float64Array::constructorCallback):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore::TestEventConstructorV8Internal::constructor):
(WebCore):
(WebCore::V8TestEventConstructor::constructorCallback):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::TestInterfaceV8Internal::constructor):
(TestInterfaceV8Internal):
(WebCore::V8TestInterface::constructorCallback):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore::V8TestNamedConstructorConstructorCallback):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore::TestNodeV8Internal::constructor):
(TestNodeV8Internal):
(WebCore::V8TestNode::constructorCallback):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::constructor):
(TestObjV8Internal):
(WebCore::V8TestObj::constructorCallback):
* bindings/scripts/test/V8/V8TestOverloadedConstructors.cpp:
(WebCore::TestOverloadedConstructorsV8Internal::constructor1):
(WebCore::TestOverloadedConstructorsV8Internal::constructor2):
(WebCore::TestOverloadedConstructorsV8Internal::constructor3):
(WebCore::TestOverloadedConstructorsV8Internal::constructor4):
(WebCore::TestOverloadedConstructorsV8Internal::constructor):
(WebCore):
(WebCore::V8TestOverloadedConstructors::constructorCallback):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::TestSerializedScriptValueInterfaceV8Internal::constructor):
(TestSerializedScriptValueInterfaceV8Internal):
(WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
* bindings/scripts/test/V8/V8TestTypedefs.cpp:
(WebCore::TestTypedefsV8Internal::constructor):
(TestTypedefsV8Internal):
(WebCore::V8TestTypedefs::constructorCallback):

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

7 years ago[V8] Generate xxxAttrSetterCallback()
haraken@chromium.org [Mon, 25 Feb 2013 21:26:03 +0000 (21:26 +0000)]
[V8] Generate xxxAttrSetterCallback()
https://bugs.webkit.org/show_bug.cgi?id=110726

Reviewed by Adam Barth.

This is one of steps to insert TRACE_EVENT_STATE() macros into DOM bindings.
This patch introduces an indirection function for xxxAttrSetter(), like this:

// For non-custom setters
void xxxAttrSetterCallback(...) {
  xxxAttrSetter(...);
}

// For custom setters.
void xxxAttrSetterCallback(...) {
  return xxxAttrSetterCustom(...);
}

No tests. No change in behavior.

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateNormalAttrSetterCallback):
(GenerateNormalAttrSetter):
(GenerateSingleBatchedAttribute):
(GenerateImplementation):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetterCallback):
(TestInterfaceV8Internal):
(WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetterCallback):
(WebCore::TestInterfaceV8Internal::supplementalStr3AttrSetterCallback):
(WebCore::TestInterfaceV8Internal::supplementalNodeAttrSetterCallback):
(WebCore):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore::TestObjV8Internal::staticStringAttrAttrSetterCallback):
(TestObjV8Internal):
(WebCore::TestObjV8Internal::enumAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::shortAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::unsignedShortAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::longAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::longLongAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::unsignedLongLongAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::stringAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::testObjAttrAttrSetter):
(WebCore::TestObjV8Internal::testObjAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::XMLObjAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::createAttrSetterCallback):
(WebCore::TestObjV8Internal::reflectedStringAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::reflectedIntegralAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::reflectedUnsignedIntegralAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::reflectedBooleanAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::reflectedURLAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::reflectedCustomIntegralAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::reflectedCustomBooleanAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::typedArrayAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::attrWithGetterExceptionAttrSetterCallback):
(WebCore::TestObjV8Internal::attrWithSetterExceptionAttrSetterCallback):
(WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetterCallback):
(WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetterCallback):
(WebCore::TestObjV8Internal::customAttrAttrSetterCallback):
(WebCore::TestObjV8Internal::withScriptStateAttributeAttrSetterCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrSetterCallback):
(WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetterCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetterCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetterCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetterCallback):
(WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetterCallback):
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetterCallback):
(WebCore::TestObjV8Internal::conditionalAttr1AttrSetterCallback):
(WebCore::TestObjV8Internal::conditionalAttr2AttrSetterCallback):
(WebCore::TestObjV8Internal::conditionalAttr3AttrSetterCallback):
(WebCore::TestObjV8Internal::anyAttributeAttrSetterCallback):
(WebCore::TestObjV8Internal::enabledAtRuntimeAttr1AttrSetterCallback):
(WebCore::TestObjV8Internal::enabledAtRuntimeAttr2AttrSetterCallback):
(WebCore::TestObjV8Internal::enabledPerContextAttr1AttrSetterCallback):
(WebCore::TestObjV8Internal::enabledPerContextAttr2AttrSetterCallback):
(WebCore::TestObjV8Internal::floatArrayAttrSetterCallback):
(WebCore::TestObjV8Internal::doubleArrayAttrSetterCallback):
(WebCore::TestObjV8Internal::mutablePointAttrSetterCallback):
(WebCore::TestObjV8Internal::immutablePointAttrSetterCallback):
(WebCore::TestObjV8Internal::strawberryAttrSetterCallback):
(WebCore::TestObjV8Internal::strictFloatAttrSetterCallback):
(WebCore::TestObjV8Internal::idAttrSetterCallback):
(WebCore):
(WebCore::ConfigureV8TestObjTemplate):
(WebCore::V8TestObj::installPerContextProperties):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrSetterCallback):
(TestSerializedScriptValueInterfaceV8Internal):
(WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetterCallback):
(WebCore):
* bindings/scripts/test/V8/V8TestTypedefs.cpp:
(WebCore::TestTypedefsV8Internal::unsignedLongLongAttrAttrSetterCallback):
(TestTypedefsV8Internal):
(WebCore::TestTypedefsV8Internal::immutableSerializedScriptValueAttrSetterCallback):
(WebCore::TestTypedefsV8Internal::attrWithGetterExceptionAttrSetterCallback):
(WebCore::TestTypedefsV8Internal::attrWithSetterExceptionAttrSetterCallback):
(WebCore::TestTypedefsV8Internal::stringAttrWithGetterExceptionAttrSetterCallback):
(WebCore::TestTypedefsV8Internal::stringAttrWithSetterExceptionAttrSetterCallback):
(WebCore):

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

7 years agoRebaseline 3 svg/as-image/ tests
pdr@google.com [Mon, 25 Feb 2013 21:24:08 +0000 (21:24 +0000)]
Rebaseline 3 svg/as-image/ tests

Unreviewed rebaseline of test expectations.

* platform/chromium-linux/svg/as-image/animated-svg-as-image-expected.png:
* platform/chromium-linux/svg/as-image/animated-svg-as-image-same-image-expected.png:
* platform/chromium-linux/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-mac-lion/svg/as-image/animated-svg-as-image-expected.png:
* platform/chromium-mac-lion/svg/as-image/animated-svg-as-image-same-image-expected.png:
* platform/chromium-mac-lion/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-mac-snowleopard/svg/as-image/animated-svg-as-image-expected.png:
* platform/chromium-mac-snowleopard/svg/as-image/animated-svg-as-image-same-image-expected.png:
* platform/chromium-mac-snowleopard/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-mac/svg/as-image/animated-svg-as-image-expected.png:
* platform/chromium-mac/svg/as-image/animated-svg-as-image-same-image-expected.png:
* platform/chromium-mac/svg/as-image/img-preserveAspectRatio-support-1-expected.png:
* platform/chromium-win/svg/as-image/animated-svg-as-image-expected.png:
* platform/chromium-win/svg/as-image/animated-svg-as-image-same-image-expected.png:
* platform/chromium-win/svg/as-image/img-preserveAspectRatio-support-1-expected.png:

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

7 years agoPDFPlugin: Tab between text annotations
timothy_horton@apple.com [Mon, 25 Feb 2013 21:16:00 +0000 (21:16 +0000)]
PDFPlugin: Tab between text annotations
https://bugs.webkit.org/show_bug.cgi?id=106539
<rdar://problem/12751789>

Reviewed by Darin Adler.

Use [PDFLayerController activateNextAnnotation:] to advance focus when the tab key is hit while inside a PDF form.

Also, a drive-by fix to make the lifetime of PDFPluginAnnotationEventListener's m_annotation pointer more explicit.

* WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add activateNextAnnotation: SPI.
* WebProcess/Plugins/PDF/PDFPlugin.h:
(PDFPlugin): Add focus(Next|Previous)Annotation.
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(WebKit::PDFPlugin::focusNextAnnotation): Ask PDFLayerController to focus the next annotation.
(WebKit::PDFPlugin::focusPreviousAnnotation): Ask PDFLayerController to focus the next annotation.
* WebProcess/Plugins/PDF/PDFPluginAnnotation.h: Drive-by, initialize m_parent to 0.
(WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::setAnnotation): Added.
* WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
(WebKit::PDFPluginAnnotation::attach): Use eventNames() instead of string literals.
(WebKit::PDFPluginAnnotation::~PDFPluginAnnotation): Clear the event listener's reference to its annotation.
(WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::handleEvent): Null-check the event listener's annotation.
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
(WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotation): Create our PDFPluginTextAnnotationEventListener.
(PDFPluginTextAnnotationEventListener): Added an event listener (for keydown events in form fields).
(WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::create):
(WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::setTextAnnotation):
(WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::PDFPluginTextAnnotationEventListener):
* WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
(WebKit::PDFPluginTextAnnotation::~PDFPluginTextAnnotation): Unregister our keydown event listener.
(WebKit::PDFPluginTextAnnotation::createAnnotationElement): Register our keydown event listener.
(WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::handleEvent): Ask PDFPlugin to focus
the next/previous annotation when the tab key is pressed (Shift-Tab goes backwards).

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

7 years agoBuild fix for Debug.
abarth@webkit.org [Mon, 25 Feb 2013 21:13:04 +0000 (21:13 +0000)]
Build fix for Debug.

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::startBackgroundParser):

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

7 years ago6% regression in intl1 page cycler on chromium-mac
abarth@webkit.org [Mon, 25 Feb 2013 20:58:27 +0000 (20:58 +0000)]
6% regression in intl1 page cycler on chromium-mac
https://bugs.webkit.org/show_bug.cgi?id=110784

Reviewed by Eric Seidel.

This patch attempts to heal the regression by reverting all the changes
to the preload scanner up to (and including)
http://trac.webkit.org/changeset/143020/.

* html/parser/BackgroundHTMLParser.cpp:
(WebCore::BackgroundHTMLParser::resumeFrom):
(WebCore::BackgroundHTMLParser::pumpTokenizer):
(WebCore::BackgroundHTMLParser::sendTokensToMainThread):
* html/parser/CSSPreloadScanner.cpp:
(WebCore::CSSPreloadScanner::scan):
(WebCore::CSSPreloadScanner::emitRule):
* html/parser/CSSPreloadScanner.h:
(CSSPreloadScanner):
* html/parser/HTMLPreloadScanner.cpp:
(WebCore::isStartTag):
(WebCore):
(WebCore::isStartOrEndTag):
(WebCore::TokenPreloadScanner::identifierFor):
(WebCore::TokenPreloadScanner::inititatorFor):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes):
(WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
(WebCore::TokenPreloadScanner::processPossibleTemplateTag):
(WebCore::TokenPreloadScanner::processPossibleStyleTag):
(WebCore::TokenPreloadScanner::processPossibleBaseTag):
(WebCore::TokenPreloadScanner::scan):
(WebCore::HTMLPreloadScanner::scan):
* html/parser/HTMLPreloadScanner.h:
(TokenPreloadScanner):

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

7 years ago <rdar://problem/12976385> Remove rule to silence attempts to create the ...
ap@apple.com [Mon, 25 Feb 2013 20:54:25 +0000 (20:54 +0000)]
    <rdar://problem/12976385> Remove rule to silence attempts to create the ~/Library/Caches/com.apple.WebKit2.WebProcessService directory

        Reviewed by Anders Carlsson.

        * WebProcess/com.apple.WebProcess.sb.in: Remove the obsolete rule. We no longer
        have a "WebProcessService".

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

7 years agoDFG::Edge should have more bits for UseKind, and DFG::Allocator should be simpler
fpizlo@apple.com [Mon, 25 Feb 2013 20:48:33 +0000 (20:48 +0000)]
DFG::Edge should have more bits for UseKind, and DFG::Allocator should be simpler
https://bugs.webkit.org/show_bug.cgi?id=110722

Reviewed by Oliver Hunt.

This rolls out the DFG::Allocator part of http://trac.webkit.org/changeset/143654,
and changes Edge to have more room for UseKinds and possibly other things.

This is performance-neutral on both 32-bit and 64-bit. It reduces the size of
DFG::Node on 64-bit (by virtue of getting rid of the 16-byte alignment of Node)
and increases it slightly on 32-bit (by 4 bytes total - 16-byte alignment led to
80 bytes, but the base size of Node plus the 12 bytes of new m_encodedWords in
Edge gets 84 bytes). But, it will mean that we don't have to increase Node by
another 16 bytes if we ever want to add more UseKinds or other things to Edge.

* dfg/DFGAllocator.h:
(DFG):
(Allocator):
(JSC::DFG::Allocator::Region::headerSize):
(JSC::DFG::Allocator::Region::numberOfThingsPerRegion):
(JSC::DFG::Allocator::Region::data):
(JSC::DFG::Allocator::Region::isInThisRegion):
(JSC::DFG::::Allocator):
(JSC::DFG::::~Allocator):
(JSC::DFG::::allocate):
(JSC::DFG::::free):
(JSC::DFG::::freeAll):
(JSC::DFG::::reset):
(JSC::DFG::::indexOf):
(JSC::DFG::::allocatorOf):
(JSC::DFG::::bumpAllocate):
(JSC::DFG::::freeListAllocate):
(JSC::DFG::::allocateSlow):
(JSC::DFG::::freeRegionsStartingAt):
(JSC::DFG::::startBumpingIn):
* dfg/DFGEdge.h:
(JSC::DFG::Edge::Edge):
(Edge):
(JSC::DFG::Edge::node):
(JSC::DFG::Edge::setNode):
(JSC::DFG::Edge::useKindUnchecked):
(JSC::DFG::Edge::setUseKind):
(JSC::DFG::Edge::operator==):
(JSC::DFG::Edge::operator!=):
(JSC::DFG::Edge::makeWord):
* dfg/DFGNodeAllocator.h:
(DFG):

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

7 years agoThe DFG special case checks for isCreatedThisArgument are fragile
fpizlo@apple.com [Mon, 25 Feb 2013 20:23:55 +0000 (20:23 +0000)]
The DFG special case checks for isCreatedThisArgument are fragile
https://bugs.webkit.org/show_bug.cgi?id=110535

Reviewed by Oliver Hunt.

There may be many situations in which we want to force a variable to never be
unboxed. Capturing is one such case, and the created this argument is another.
Previously all code that dealt with this issue had to query both scenarios.

Now DFG::VariableAccessData knows these things. You just have to ask
VariableAccessData for whether a variable should be unboxed. Anyone wishing to
force a variable to never be unboxed just tells VariableAccessData.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::initialize):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
(DFG):
* dfg/DFGCFGSimplificationPhase.cpp:
(CFGSimplificationPhase):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.h:
(Graph):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGUnificationPhase.cpp:
(JSC::DFG::UnificationPhase::run):
* dfg/DFGVariableAccessData.h:
(JSC::DFG::VariableAccessData::VariableAccessData):
(JSC::DFG::VariableAccessData::mergeIsCaptured):
(JSC::DFG::VariableAccessData::mergeShouldNeverUnbox):
(VariableAccessData):
(JSC::DFG::VariableAccessData::shouldNeverUnbox):
(JSC::DFG::VariableAccessData::shouldUnboxIfPossible):
(JSC::DFG::VariableAccessData::shouldUseDoubleFormat):
(JSC::DFG::VariableAccessData::tallyVotesForShouldUseDoubleFormat):

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

7 years agoChanged DatabaseTracker::getMaxSizeForDatabase() to return the previous
mark.lam@apple.com [Mon, 25 Feb 2013 19:36:14 +0000 (19:36 +0000)]
Changed DatabaseTracker::getMaxSizeForDatabase() to return the previous
database size instead of 0 when the quota limit has been reached.
https://bugs.webkit.org/show_bug.cgi?id=110557.

Reviewed by Geoffrey Garen.

Testing of concurrent multi-process consumption of database quota shows that
returning a value of 0 when the quota is exceeded still allows some databases
to run away with unbounded growth. However, if getMaxSizeForDatabase() returns
the existing database size, the underlying sqlite3 database will successfully
reject new growth.

The value returned by DatabaseTracker::getMaxSizeForDatabase() is used to set
the SQLite3 database size using a sql command "PRAGMA max_page_count = <size>".
The SQLite3 documentation on this pragma says, "The maximum page count cannot
be reduced below the current database size."

It is undefined what setting it to a reduced size will do. So, we're changing
getMaxSizeForDatabase() to return the existing size instead.

No new tests.

* Modules/webdatabase/DatabaseTracker.cpp:
(WebCore::DatabaseTracker::getMaxSizeForDatabase):

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

7 years agoFix python unit tests after yoli's email address update in http://trac.webkit.org...
thakis@chromium.org [Mon, 25 Feb 2013 19:29:23 +0000 (19:29 +0000)]
Fix python unit tests after yoli's email address update in trac.webkit.org/changeset/143922
https://bugs.webkit.org/show_bug.cgi?id=110775

Unreviewed, basically a rebaseline.

* Scripts/webkitpy/common/config/watchlist:

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

7 years ago[chromium] Try to get the webkit builder to use msvs again
thakis@chromium.org [Mon, 25 Feb 2013 19:23:04 +0000 (19:23 +0000)]
[chromium] Try to get the webkit builder to use msvs again
https://bugs.webkit.org/show_bug.cgi?id=110771

Reviewed by Eric Seidel.

The msvs gyp generator apparently doesn't write the sln file on every
run, so check the vcxproj file instead.

* Scripts/webkitdirs.pm:
(determineIsChromiumNinja):

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

7 years agoRefactor logic for relaying out children out of RenderBlock::styleDidChange
tony@chromium.org [Mon, 25 Feb 2013 19:14:40 +0000 (19:14 +0000)]
Refactor logic for relaying out children out of RenderBlock::styleDidChange
https://bugs.webkit.org/show_bug.cgi?id=110661

Reviewed by David Hyatt.

Instead of having styleDidChange need to know which children to mark as needing layout,
use a bool to keep track of border and padding width changes so at layout time, we know
we need to set relayoutChildren=true.

We steal a bit from m_lineHeight reducing the possible line height from around 500 million pixels
to 250 million pixels.

No new tests, this should be covered by fast/block/positioning/border-change-relayout-test.html and
fast/block/dynamic-padding-border.html.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::RenderBlock): Fix indent and initialize m_hasBorderOrPaddingLogicalWidthChanged.
(WebCore::RenderBlock::styleDidChange): Remove logic for setting children as needing layout.
(WebCore::RenderBlock::updateLogicalWidthAndColumnWidth): Return true if border or padding width changed.
* rendering/RenderBlock.h:
(RenderBlock): Steal a bit from m_lineHeight and give it to m_hasBorderOrPaddingLogicalWidthChanged.

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

7 years agoDo one lookup per code cache insertion instead of two
ggaren@apple.com [Mon, 25 Feb 2013 18:56:43 +0000 (18:56 +0000)]
Do one lookup per code cache insertion instead of two
https://bugs.webkit.org/show_bug.cgi?id=110674

Reviewed by Sam Weinig.

Deployed the idiomatic "add null value" trick to avoid a second hash
lookup when inserting an item.

* runtime/CodeCache.cpp:
(JSC::CodeCacheMap::pruneSlowCase): Factored this into a helper function
to improve clarity and get some code off the hot path.

(JSC::CodeCache::getCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode): Use the add() API
to avoid two hash lookups. Be sure to remove items if parsing fails,
otherwise we'll leave nulls in the table. (I'm guessing that caching parse
errors is not a win.)

* runtime/CodeCache.h:
(JSC::SourceCodeValue::SourceCodeValue):
(CodeCacheMap):
(JSC::CodeCacheMap::add): Combined find() and set() into add().

(JSC::CodeCacheMap::remove):
(JSC::CodeCacheMap::age):
(JSC::CodeCacheMap::prune): Refactored to support above changes.

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

7 years agotransition-property property doesn't accept "all, <IDENT>".
alexis@webkit.org [Mon, 25 Feb 2013 18:56:19 +0000 (18:56 +0000)]
transition-property property doesn't accept "all, <IDENT>".
https://bugs.webkit.org/show_bug.cgi?id=110074

Reviewed by Dean Jackson.

Source/WebCore:

http://dev.w3.org/csswg/css3-transitions/#transition-property-property
allows all, <IDENT> as a value for the transition-property property. In
fact thanks to http://trac.webkit.org/changeset/143019 we correctly
implemented that behavior for transition shorthand property while
fixing bugs on the previous implementation. We did introduce a
AnimationParseContext to track whether the parsing of the
transition-property was finished or not in relation to the keyword.
This patch extend that mechanism to the longhand by renaming the
boolean and the functions to use it in the context class and set it
correctly while parsing the longhand property.

Test: LayoutTests/transitions/transitions-parsing.html

* css/CSSParser.cpp:
(WebCore::AnimationParseContext::AnimationParseContext):
(WebCore::AnimationParseContext::commitAnimationPropertyKeyword):
(WebCore::AnimationParseContext::animationPropertyKeywordAllowed):
(AnimationParseContext):
(WebCore::CSSParser::parseAnimationShorthand):
(WebCore::CSSParser::parseTransitionShorthand):
(WebCore::CSSParser::parseAnimationProperty): We can remove the
condition inShorthand() here, if 'none' is parsed then no more keyword
can appear, if 'all' is parsed then we can continue the parsing but
invalidate the property if another keyword is encountered. These
conditions are valid for the shorthand and the longhand.

LayoutTests:

Extend exising test to cover the bug.

* transitions/transitions-parsing-expected.txt:
* transitions/transitions-parsing.html:

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

7 years ago[Texmap] LayoutTests/compositing/animation/state-at-end-event-transform-layer.html...
commit-queue@webkit.org [Mon, 25 Feb 2013 18:39:11 +0000 (18:39 +0000)]
[Texmap] LayoutTests/compositing/animation/state-at-end-event-transform-layer.html shows a red square where it shouldn't
https://bugs.webkit.org/show_bug.cgi?id=110685

Patch by No'am Rosenthal <noam@webkit.org> on 2013-02-25
Reviewed by Martin Robinson.

Removed m_shouldUpdateCurrentTransformFromGraphicsLayer etc., as they don't do
what they're supposed to do. No flickers observed.

LayoutTests/compositing/animation/state-at-end-event-transform-layer.html now works correctly.

* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::setAnimatedTransform):
(WebCore::TextureMapperLayer::setAnimatedOpacity):
(WebCore::TextureMapperLayer::setAnimatedFilters):
(WebCore::TextureMapperLayer::syncAnimations):
* platform/graphics/texmap/TextureMapperLayer.h:
(WebCore::TextureMapperLayer::TextureMapperLayer):
(TextureMapperLayer):

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

7 years ago[chromium] try to unbreak run-chromium-webkit-unit-tests on the mac bots
thakis@chromium.org [Mon, 25 Feb 2013 18:27:33 +0000 (18:27 +0000)]
[chromium] try to unbreak run-chromium-webkit-unit-tests on the mac bots
https://bugs.webkit.org/show_bug.cgi?id=110767

Reviewed by Eric Seidel.

The tester runs gyp, which generates out/Release/build.ninja. The bot
scripts use existence (and timestamp) of that file to decide if the
current build is supposed to be ninja or xcodebuild. The file exists,
so the snapshot is extracted to out/Release. The snapshot doesn't
contain build.ninja however due to
http://trac.webkit.org/changeset/140375 , so after extracting the
snapshot the scripts think that this is an xcodebuild build. So remove
the part of that revision that removed ninja files from the archive,
and the bots should be happy again.

* BuildSlaveSupport/built-product-archive:
(archiveBuiltProduct):

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

7 years agoAVFoundation.framework and QTKit.framework are lazy-loaded on every WebProcess launch
jer.noble@apple.com [Mon, 25 Feb 2013 18:24:05 +0000 (18:24 +0000)]
AVFoundation.framework and QTKit.framework are lazy-loaded on every WebProcess launch
https://bugs.webkit.org/show_bug.cgi?id=110725

Reviewed by Eric Carlson.

When settings are changed, do not re-query the media engines (which causes their respective
frameworks to load). Instead, merely clear any previously loaded media engines so that
the media engine list will be re-queried the next time installedMediaEngines() is called.

(WebCore::MediaPlayer::resetMediaEngines): Renamed from requeryMediaEngines.
* platform/graphics/MediaPlayer.h:
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::resetMediaEngines): Ditto.
* html/HTMLMediaElement.h:
* page/Settings.cpp:
(WebCore::Settings::setAVFoundationEnabled): Call renamed method.
(WebCore::Settings::setQTKitEnabled):  Ditto.
* platform/graphics/MediaPlayer.cpp:
(WebCore::installedMediaEngines): Only clear out previously queried engines.

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

7 years agoTry to fix the Windows gyp build after r143937
mrobinson@webkit.org [Mon, 25 Feb 2013 18:21:54 +0000 (18:21 +0000)]
Try to fix the Windows gyp build after r143937

* WebCore.gypi: Update the filename in the source list.

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

7 years ago[BlackBerry] Add isInputMode() method to WebPage class.
commit-queue@webkit.org [Mon, 25 Feb 2013 18:13:23 +0000 (18:13 +0000)]
[BlackBerry] Add isInputMode() method to WebPage class.
https://bugs.webkit.org/show_bug.cgi?id=110754

Patch by Yongxin Dai <yodai@rim.com> on 2013-02-25
Reviewed by Rob Buis.

PR #262569.

There is a case we need to know if the active node is content editable
from TouchHandlerWebKitThread class. WebPage::isInputMode() just delegates
InputHandler::isInputMode().

Reviewed Internally by Mike Fenton.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPage::isInputMode):
(WebKit):
* Api/WebPage.h:

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

7 years ago[BlackBerry] Force form submission when implicit submission fails.
mifenton@rim.com [Mon, 25 Feb 2013 18:10:52 +0000 (18:10 +0000)]
[BlackBerry] Force form submission when implicit submission fails.
https://bugs.webkit.org/show_bug.cgi?id=110627

Reviewed by Rob Buis.

PR 286023.

When implicit form submission does not submit the form
do a direct submission of the form.

Reviewed Internally by Nima Ghanavatian.

* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::updateFormState):

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

7 years ago[CSS Grid Layout] Refactor RenderStyle's grid position storage in preparation to...
jchaffraix@webkit.org [Mon, 25 Feb 2013 18:08:50 +0000 (18:08 +0000)]
[CSS Grid Layout] Refactor RenderStyle's grid position storage in preparation to supporting spanning
https://bugs.webkit.org/show_bug.cgi?id=110651

Reviewed by Ojan Vafai.

The current code stores grid-{row|column} as a single GridPosition value. While this works well currently,
we want to be able to handle 2 GridPosition as this enables row / column spanning.

That's what this refactoring achieves: it replaces the internal storage by a GridPositions that contains a
single GridPosition for now. The rest is mechanical updates.

Refactoring covered by existing tests.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::valueForGridPositions):
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
Added the simple wrapper valueForGridPositions and updated the rest of the code.

* css/StyleResolver.cpp:
(WebCore::createGridPositions):
(WebCore::StyleResolver::applyProperty):
Ditto with createGridPositions.

* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::maximumIndexInDirection):
(WebCore::RenderGrid::placeItemsOnGrid):
(WebCore::RenderGrid::placeSpecifiedMajorAxisItemsOnGrid):
(WebCore::RenderGrid::placeAutoMajorAxisItemsOnGrid):
(WebCore::RenderGrid::placeAutoMajorAxisItemOnGrid):
(WebCore::RenderGrid::autoPlacementMajorAxisPositionsForChild):
(WebCore::RenderGrid::autoPlacementMinorAxisPositionsForChild):
Updated the code after adding the indirection: s/GridPosition/GridPositions/ and
use the firstPosition helper.

* rendering/RenderGrid.h:
* rendering/style/GridPosition.h:
(WebCore::GridPositions::GridPositions):
(WebCore::GridPositions::firstPosition):
(WebCore::GridPositions::operator==):
Added this class to add the indirection. For now, it only wraps the single GridPosition.

* rendering/style/RenderStyle.h:
* rendering/style/StyleGridItemData.h:
Updated to store / take / return a GridPositions.

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

7 years agoRevert r143840 because it caused flaky crashes.
dglazkov@chromium.org [Mon, 25 Feb 2013 18:02:42 +0000 (18:02 +0000)]
Revert r143840 because it caused flaky crashes.
https://bugs.webkit.org/show_bug.cgi?id=110766

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

7 years agoRemove an obsolete workaround for relaxing 3rd party cookie policy
ap@apple.com [Mon, 25 Feb 2013 17:57:15 +0000 (17:57 +0000)]
Remove an obsolete workaround for relaxing 3rd party cookie policy
https://bugs.webkit.org/show_bug.cgi?id=110664

Reviewed by Benjamin Poulain.

Removed shouldRelaxThirdPartyCookiePolicy(). This workaround is no longer needed,
because CFNetwork performs the same check starting with 10.6.8.

Also, the workaround was not quite correct and harmful for performance, as it
was always changing main document URL to an untrue value, which caused ResourceRequest
regeneration.

* platform/network/ResourceHandle.h:
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::platformLoadResourceSynchronously):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::createNSURLConnection):
(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::platformLoadResourceSynchronously):

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

7 years agoWebInspector: Do not keep track of resources unless they have a valid loader identifier.
vsevik@chromium.org [Mon, 25 Feb 2013 17:47:24 +0000 (17:47 +0000)]
WebInspector: Do not keep track of resources unless they have a valid loader identifier.
https://bugs.webkit.org/show_bug.cgi?id=110761

Reviewed by Pavel Feldman.

* inspector/NetworkResourcesData.cpp:
(WebCore::NetworkResourcesData::responseReceived):
(WebCore::NetworkResourcesData::setResourceType):
(WebCore::NetworkResourcesData::resourceType):
(WebCore::NetworkResourcesData::setResourceContent):
(WebCore::NetworkResourcesData::maybeAddResourceData):
(WebCore::NetworkResourcesData::maybeDecodeDataToContent):
(WebCore::NetworkResourcesData::addCachedResource):
(WebCore::NetworkResourcesData::addResourceSharedBuffer):
(WebCore::NetworkResourcesData::data):
(WebCore::NetworkResourcesData::xhrReplayData):
(WebCore::NetworkResourcesData::setXHRReplayData):
(WebCore::NetworkResourcesData::reuseXHRReplayData):
(WebCore::NetworkResourcesData::resourceDataForRequestId):
(WebCore::NetworkResourcesData::ensureNoDataForRequestId):
(WebCore::NetworkResourcesData::ensureFreeSpace):
* inspector/NetworkResourcesData.h:
(NetworkResourcesData):

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

7 years ago[EFL][GTK] Move text selection/focus notification for a11y from gtk to atk directory
commit-queue@webkit.org [Mon, 25 Feb 2013 17:30:23 +0000 (17:30 +0000)]
[EFL][GTK] Move text selection/focus notification for a11y from gtk to atk directory
https://bugs.webkit.org/show_bug.cgi?id=110221

Patch by Mariusz Grzegorczyk <mariusz.g@samsung.com> on 2013-02-25
Reviewed by Martin Robinson.

Share implementation between efl and gtk.
Update build with changes made.

* GNUmakefile.list.am: Change WebCore/editing/gtk/FrameSelectionGtk.cpp to WebCore/editing/atk/FrameSelectionAtk.cpp to build.
* PlatformEfl.cmake: Add WebCore/editing/atk to include directories, add Webcore/editing/atk/FrameSelectionAtk.cpp to build.
* editing/FrameSelection.h: Omit notifyAccessibilityForSelectionChange() stub for EFL port.
(WebCore):
* editing/atk/FrameSelectionAtk.cpp: Renamed from Source/WebCore/editing/gtk/FrameSelectionGtk.cpp.
(WebCore):
(WebCore::emitTextSelectionChange):
(WebCore::maybeEmitTextFocusChange):
(WebCore::FrameSelection::notifyAccessibilityForSelectionChange):

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

7 years agoGIFImageReader to read from source data directly
hclam@chromium.org [Mon, 25 Feb 2013 17:27:13 +0000 (17:27 +0000)]
GIFImageReader to read from source data directly
https://bugs.webkit.org/show_bug.cgi?id=109662

Reviewed by Stephen White.

Source/WebCore:

This is the first patch to improve GIF image decoding.

GIFImageReader has an internal 256 bytes buffer to saving incoming
bytes. This mechanism is out-dated because WebKit holds the entire
file in memory and it is not necessary to hold data in an intermediate
buffer.

This is also a blocker for later work to parse and decode GIF
incrementally.

This change removed the imtermediate 'hold' buffer and uses an index
for data position to keep track of parsing of the GIF file. Buffer for
global colormap and local colormap are also removed because they can be
referenced from the data stream.

This change is tested by:

Layout tests
All tests passed under fast/images.

Unit tests
Added GIFImageDecoderTest for Chromium.

Local testing
I tested this implementation against a set of 50k GIF images and
there's no crashes and produces bit-exact results as previous code.

* platform/image-decoders/gif/GIFImageDecoder.cpp:
(WebCore::GIFImageDecoder::setData):
(WebCore::GIFImageDecoder::frameCount):
(WebCore::GIFImageDecoder::haveDecodedRow):
(WebCore::GIFImageDecoder::decode):
* platform/image-decoders/gif/GIFImageReader.cpp:
(GIFImageReader::doLZW):
(GIFImageReader::decode):
(GIFImageReader::decodeInternal):
(GIFImageReader::setRemainingBytes):
* platform/image-decoders/gif/GIFImageReader.h:
(GIFFrameContext):
(GIFFrameContext::GIFFrameContext):
(GIFFrameContext::~GIFFrameContext):
(GIFImageReader::GIFImageReader):
(GIFImageReader::~GIFImageReader):
(GIFImageReader::setData):
(GIFImageReader):
(GIFImageReader::globalColormap):
(GIFImageReader::localColormap):
(GIFImageReader::localColormapSize):
(GIFImageReader::data):
(GIFImageReader::colormap):

Source/WebKit/chromium:

Added the following unit tests to test new logic in GIFImageDecoder:

GIFImageDecoderTest.decodeTwoFrames
Test that it can decode a multi-frame GIF image correctly.

GIFImageDecoderTest.parseAndDecode
First perform a parse operation and then a decode operation. Expect
that parse and decode operates correctly.

GIFImageDecoderTest.parseByteByByte
Test that multi-frame GIF image can be parsed correctly byte by byte.

GIFImageDecoderTest.parseAndDecodeByteByByte
Run a loop to feed decoder byte by byte, perform a parse and then
decode operation and make sure frames are decoded correctly.

GIFImageDecoderTest.brokenSecondFrame
Decode a GIF image with second frame broken. Expect that the first
frame can be decoded correctly.

* WebKit.gyp:
* WebKit.gypi:
* tests/GIFImageDecoderTest.cpp: Added.
(WebKit):
(WebKit::readFile):
(WebKit::TEST):
* tests/data/broken.gif: Added.

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

7 years ago[Qt][WK2] Remove unneeded method didResumeContent from PageViewportController clients
abecsi@webkit.org [Mon, 25 Feb 2013 17:14:01 +0000 (17:14 +0000)]
[Qt][WK2] Remove unneeded method didResumeContent from PageViewportController clients
https://bugs.webkit.org/show_bug.cgi?id=110751

Reviewed by Jocelyn Turcotte.

This is a clean-up in the PageViewportController clients that removes leftover
code from previous design that is partially unused and unnecessary, to simplify
the interaction between PageViewportController and clients.

* UIProcess/PageViewportController.cpp:
(WebKit::PageViewportController::resumeContent):
* UIProcess/PageViewportControllerClient.h:
(PageViewportControllerClient):
* UIProcess/efl/PageViewportControllerClientEfl.cpp:
* UIProcess/efl/PageViewportControllerClientEfl.h:
(PageViewportControllerClientEfl):
* UIProcess/qt/PageViewportControllerClientQt.cpp:
(WebKit::PageViewportControllerClientQt::animateContentRectVisible):
(WebKit::PageViewportControllerClientQt::flickMoveEnded):
(WebKit::PageViewportControllerClientQt::resumeAndUpdateContent):
(WebKit::PageViewportControllerClientQt::pinchGestureCancelled):
* UIProcess/qt/PageViewportControllerClientQt.h:
(PageViewportControllerClientQt):

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

7 years ago[BlackBerry]Adjust fatfinger detection rect size.
commit-queue@webkit.org [Mon, 25 Feb 2013 16:59:20 +0000 (16:59 +0000)]
[BlackBerry]Adjust fatfinger detection rect size.
https://bugs.webkit.org/show_bug.cgi?id=108678

Patch by Tiancheng Jiang <tijiang@rim.com> on 2013-02-25
Reviewed by Rob Buis.

Fix a typo in function names.

* WebKitSupport/FatFingers.cpp:
(BlackBerry::WebKit::FatFingers::getNodesFromRect):

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

7 years ago[soup] "Too many redirects" error loading chat in plus.google.com
sergio@webkit.org [Mon, 25 Feb 2013 16:56:14 +0000 (16:56 +0000)]
[soup] "Too many redirects" error loading chat in plus.google.com
https://bugs.webkit.org/show_bug.cgi?id=64575

Reviewed by Martin Robinson.

Source/WebCore:

Set the firstPartyForCookies for the new request on redirects to
the URL used for redirection.

Test: http/tests/cookies/set-cookie-on-redirect.html

* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::doRedirect):

LayoutTests:

This new test checks firstPartyForCookies is properly set to the
new URL on redirects.

* http/tests/cookies/resources/set-cookie-on-redirect.php: Added.
* http/tests/cookies/set-cookie-on-redirect-expected.txt: Added.
* http/tests/cookies/set-cookie-on-redirect.html: Added.

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

7 years agoFix tests after r143910
thakis@chromium.org [Mon, 25 Feb 2013 16:51:31 +0000 (16:51 +0000)]
Fix tests after r143910
https://bugs.webkit.org/show_bug.cgi?id=110757

Reviewed by Andreas Kling.

While here, also add a test for the bug r143910 fixed.

* Scripts/webkitpy/common/system/executive_unittest.py:
(ScriptErrorTest.test_message_with_output):
(ScriptErrorTest):
(ScriptErrorTest.test_message_with_tuple):

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

7 years ago[chromium] Apparently built-product-archive is written in Python, not Perl :-/
thakis@chromium.org [Mon, 25 Feb 2013 16:09:49 +0000 (16:09 +0000)]
[chromium] Apparently built-product-archive is written in Python, not Perl :-/
https://bugs.webkit.org/show_bug.cgi?id=110755

Reviewed by Jochen Eisinger.

* BuildSlaveSupport/built-product-archive:
(archiveBuiltProduct):
(extractBuiltProduct):

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

7 years agoReduce amount of code that includes StylePropertySet.h
akling@apple.com [Mon, 25 Feb 2013 15:49:25 +0000 (15:49 +0000)]
Reduce amount of code that includes StylePropertySet.h
<http://webkit.org/b/101149>

Reviewed by Antti Koivisto.

Source/WebCore:

StylePropertySet.h and dependents were getting included by the majority of WebKit
through either StyledElement.h or CSSStyleDeclaration.h. This change removes those includes
and moves inclusion to .cpp files instead. After this change, it's possible to hack most
of WebCore/css/ and rebuild <100 files instead of >1000.

The only real code change in here is changing CSSStyleDeclaration::cssPropertyMatches()
to take a CSSPropertyID/CSSValue* combo instead of a StylePropertySet::Reference.

* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
* css/CSSComputedStyleDeclaration.h:
(CSSComputedStyleDeclaration):
* css/CSSStyleDeclaration.h:
(CSSStyleDeclaration):
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
* css/PropertySetCSSStyleDeclaration.h:
* css/SelectorChecker.h:
* css/SelectorCheckerFastPath.cpp:
* css/SelectorFilter.cpp:
* css/SelectorFilter.h:
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::propertyMatches):
(WebCore::StylePropertySet::removeEquivalentProperties):
* css/StylePropertySet.h:
* css/StyleResolver.cpp:
(WebCore::StyleResolver::MatchedProperties::MatchedProperties):
(WebCore::StyleResolver::MatchedProperties::~MatchedProperties):
* css/StyleResolver.h:
(MatchedProperties):
* css/StyleRule.cpp:
* css/ViewportStyleResolver.cpp:
(WebCore::ViewportStyleResolver::~ViewportStyleResolver):
* css/ViewportStyleResolver.h:
(ViewportStyleResolver):
* css/WebKitCSSKeyframeRule.cpp:
(WebCore::StyleKeyframe::StyleKeyframe):
(WebCore::StyleKeyframe::~StyleKeyframe):
* css/WebKitCSSKeyframeRule.h:
(StyleKeyframe):
* dom/Attr.cpp:
* dom/Document.cpp:
* dom/Element.cpp:
* dom/StyledElement.cpp:
(WebCore::StyledElement::addPropertyToPresentationAttributeStyle):
* dom/StyledElement.h:
(StyledElement):
* editing/FrameSelection.cpp:
* editing/RemoveCSSPropertyCommand.cpp:
(WebCore::RemoveCSSPropertyCommand::~RemoveCSSPropertyCommand):
* editing/RemoveCSSPropertyCommand.h:
(RemoveCSSPropertyCommand):
* editing/RemoveFormatCommand.cpp:
* html/HTMLBodyElement.cpp:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::addHTMLLengthToStyle):
(WebCore::HTMLElement::addHTMLColorToStyle):
* html/HTMLElement.h:
(HTMLElement):
* html/HTMLFontElement.cpp:
* html/HTMLHRElement.cpp:
* html/HTMLPreElement.cpp:
* html/HTMLTableElement.cpp:
* html/HTMLTablePartElement.cpp:
* html/canvas/CanvasStyle.cpp:
* html/shadow/MediaControlElementTypes.cpp:
* inspector/InspectorStyleSheet.cpp:
* page/PageSerializer.cpp:
* rendering/RenderTableCell.cpp:
* svg/SVGAnimateElement.cpp:
* svg/SVGElementRareData.h:
* svg/SVGFontFaceElement.cpp:

Source/WebKit/gtk:

* WebCoreSupport/EditorClientGtk.cpp:

Source/WebKit/mac:

* WebCoreSupport/WebEditorClient.mm:
* WebView/WebFrame.mm:
* WebView/WebView.mm:

Source/WebKit2:

* WebProcess/WebCoreSupport/WebEditorClient.cpp:

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

7 years ago[Qt] Unreviewed gardening. Skip asserting tests.
zarvai@inf.u-szeged.hu [Mon, 25 Feb 2013 15:46:17 +0000 (15:46 +0000)]
[Qt] Unreviewed gardening. Skip asserting tests.
https://bugs.webkit.org/show_bug.cgi?id=110756

* platform/qt/TestExpectations:

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

7 years agoUnreviewed, rolling out r143895.
commit-queue@webkit.org [Mon, 25 Feb 2013 15:42:09 +0000 (15:42 +0000)]
Unreviewed, rolling out r143895.
http://trac.webkit.org/changeset/143895
https://bugs.webkit.org/show_bug.cgi?id=110758

broke a bunch of tests (Requested by thakis__ on #webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2013-02-25

* Scripts/update-webkit-chromium:

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

7 years agoWeb Inspector: Remove CPU profile from a group causes exception
commit-queue@webkit.org [Mon, 25 Feb 2013 15:22:39 +0000 (15:22 +0000)]
Web Inspector: Remove CPU profile from a group causes exception
https://bugs.webkit.org/show_bug.cgi?id=110466

Patch by Alexei Filippov <alph@chromium.org> on 2013-02-25
Reviewed by Yury Semikhatsky.

WebInspector.ProfilesPanel._removeProfileHandle did not handle
profile removal from a group. The fix takes care of this case.

Test: inspector/profiler/cpu-profiler-profile-removal.html

Source/WebCore:

* inspector/front-end/ProfilesPanel.js:
(WebInspector.ProfilesPanel.prototype.addProfileHeader):
(WebInspector.ProfilesPanel.prototype._removeProfileHeader):

LayoutTests:

* inspector/profiler/cpu-profiler-profile-removal-expected.txt: Added.
* inspector/profiler/cpu-profiler-profile-removal.html: Added.

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

7 years agoUnreviewed. Edit my personal info.
yoli@rim.com [Mon, 25 Feb 2013 15:15:06 +0000 (15:15 +0000)]
Unreviewed. Edit my personal info.

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

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

7 years agoUnreviewed follow-up to r143725, reduce chances test flakes on a slow box.
caseq@chromium.org [Mon, 25 Feb 2013 15:10:15 +0000 (15:10 +0000)]
Unreviewed follow-up to r143725, reduce chances test flakes on a slow box.

* src/js/Tests.js:
(.TestSuite.prototype.testPageOverlayUpdate.step2):

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

7 years agoXSSAuditor tests shouldn't depend on IFrames's load order.
mkwst@chromium.org [Mon, 25 Feb 2013 14:53:52 +0000 (14:53 +0000)]
XSSAuditor tests shouldn't depend on IFrames's load order.
https://bugs.webkit.org/show_bug.cgi?id=110737

Reviewed by Jochen Eisinger.

Various tests under http/tests/security/xssAuditor actually wrap up
multiple test cases under a single HTML file by loading a variety of
IFrames. Currently, the error messages that these tests expect aren't
detailed enough to distinguish between the order in which the IFrames
load: they all generate the same error, so the ordering is irrelevant.

Before we increase the error message detail in webkit.org/b/110733, we
need to ensure that these tests don't rely on load order. One option
is to serialize the IFrame loading by chaining onload events, but that
seems like a slow way of doing things. This patch takes a different
approach, breaking the multiple-IFrame tests into many single-IFrame
tests (which should be more shardable, and actually execute more quickly
in the long run).

* http/tests/security/xssAuditor/open-iframe-src-expected.txt: Removed.
* http/tests/security/xssAuditor/open-iframe-src.html: Removed.
* http/tests/security/xssAuditor/open-script-src-expected.txt: Removed.
* http/tests/security/xssAuditor/open-script-src.html: Removed.
* http/tests/security/xssAuditor/property-escape-comment-expected.txt: Removed.
* http/tests/security/xssAuditor/property-escape-comment.html: Removed.
* http/tests/security/xssAuditor/property-escape-entity-expected.txt: Removed.
* http/tests/security/xssAuditor/property-escape-entity.html: Removed.
* http/tests/security/xssAuditor/property-escape-quote-expected.txt: Removed.
* http/tests/security/xssAuditor/property-escape-quote.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-comma-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-comma.html: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-expected.txt: Removed.
* http/tests/security/xssAuditor/script-tag-with-source-unterminated.html: Removed.
    Removed these tests, breaking them into multiple single-IFrame HTML files.
* http/tests/security/xssAuditor/open-iframe-src-01.html: Added.
* http/tests/security/xssAuditor/open-iframe-src-02.html: Added.
* http/tests/security/xssAuditor/open-script-src-01-expected.txt: Added.
* http/tests/security/xssAuditor/open-script-src-01.html: Added.
* http/tests/security/xssAuditor/open-script-src-02-expected.txt: Added.
* http/tests/security/xssAuditor/open-script-src-02.html: Added.
* http/tests/security/xssAuditor/open-script-src-03-expected.txt: Added.
* http/tests/security/xssAuditor/open-script-src-03.html: Added.
* http/tests/security/xssAuditor/open-script-src-04-expected.txt: Added.
* http/tests/security/xssAuditor/open-script-src-04.html: Added.
* http/tests/security/xssAuditor/property-escape-comment-01-expected.txt: Added.
* http/tests/security/xssAuditor/property-escape-comment-01.html: Added.
* http/tests/security/xssAuditor/property-escape-comment-02-expected.txt: Added.
* http/tests/security/xssAuditor/property-escape-comment-02.html: Added.
* http/tests/security/xssAuditor/property-escape-comment-03-expected.txt: Added.
* http/tests/security/xssAuditor/property-escape-comment-03.html: Added.
* http/tests/security/xssAuditor/property-escape-entity-01-expected.txt: Added.
* http/tests/security/xssAuditor/property-escape-entity-01.html: Added.
* http/tests/security/xssAuditor/property-escape-entity-02-expected.txt: Added.
* http/tests/security/xssAuditor/property-escape-entity-02.html: Added.
* http/tests/security/xssAuditor/property-escape-entity-03-expected.txt: Added.
* http/tests/security/xssAuditor/property-escape-entity-03.html: Added.
* http/tests/security/xssAuditor/property-escape-quote-01.html: Added.
* http/tests/security/xssAuditor/property-escape-quote-02.html: Added.
* http/tests/security/xssAuditor/property-escape-quote-03.html: Added.
* http/tests/security/xssAuditor/script-tag-with-comma-01-expected.txt: Added.
* http/tests/security/xssAuditor/script-tag-with-comma-01.html: Added.
* http/tests/security/xssAuditor/script-tag-with-comma-02-expected.txt: Added.
* http/tests/security/xssAuditor/script-tag-with-comma-02.html: Added.
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-01-expected.txt: Added.
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-01.html: Added.
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-02-expected.txt: Added.
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-02.html: Added.
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-03-expected.txt: Added.
* http/tests/security/xssAuditor/script-tag-with-source-unterminated-03.html: Added.
* http/tests/security/xssAuditor/script-tag-with-trailing-comment5.html: Added.
    These tests perform the same validation as the combined tests, they
    simply do it without introducing load-order dependencies.

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

7 years agoUnreviewed, fix simple mistake in r143903.
akling@apple.com [Mon, 25 Feb 2013 14:14:40 +0000 (14:14 +0000)]
Unreviewed, fix simple mistake in r143903.
<http://webkit.org/b/110746>

Reviewed by Andreas Kling.

Pass git revision, not svn revision, to git shell command.

* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.timestamp_of_latest_commit):

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

7 years ago[Chromium] Disable registerProtocolHandler on Android
commit-queue@webkit.org [Mon, 25 Feb 2013 14:06:37 +0000 (14:06 +0000)]
[Chromium] Disable registerProtocolHandler on Android
https://bugs.webkit.org/show_bug.cgi?id=110481

Patch by Anton Vayvod <avayvod@chromium.org> on 2013-02-25
Reviewed by Julien Chaffraix.

Chromium for Android has been exposing registerProtocolHandler, but the feature wasn't
actually wired up internally. Disable the feature to avoid breaking feature detection until
we can implement it properly. Previous attempt is at http://trac.webkit.org/changeset/133465
See the discussion of the future implementation at http://crbug.com/156386

* features.gypi: Disable the flag for Android, enable it only for non-Android platforms.

* src/ChromeClientImpl.h: Declaration is now guarded by the flag, not to break Android.

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