profile/ivi/webkit-efl.git
12 years agoMove Worker-related APIs from DOMWindow.idl to DOMWindowWorker.idl
haraken@chromium.org [Fri, 24 Feb 2012 13:33:20 +0000 (13:33 +0000)]
Move Worker-related APIs from DOMWindow.idl to DOMWindowWorker.idl
https://bugs.webkit.org/show_bug.cgi?id=79442

Reviewed by Adam Barth.

For WebKit modularization, this patch moves Worker-related APIs
from DOMWindow.idl to DOMWindowWorker.idl.

No tests. No change in behavior.

* workers/DOMWindowWorker.idl: Added.
* page/DOMWindow.idl:

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* WebCore.gypi:

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

12 years ago[GTK] MiniBrowser should reload the view then the reload button is clicked
carlosgc@webkit.org [Fri, 24 Feb 2012 13:32:42 +0000 (13:32 +0000)]
[GTK] MiniBrowser should reload the view then the reload button is clicked
https://bugs.webkit.org/show_bug.cgi?id=79472

Reviewed by Philippe Normand.

* MiniBrowser/gtk/BrowserWindow.c:
(reloadCallback): Call webkit_web_view_reload().
(browser_window_init): Connect reload item clicked even to
reloadCallback instead of activateUriEntryCallback.

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

12 years ago[GTK] Encode/decode Null ResourceResponse objects in WebKit2
carlosgc@webkit.org [Fri, 24 Feb 2012 13:30:15 +0000 (13:30 +0000)]
[GTK] Encode/decode Null ResourceResponse objects in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=79471

Reviewed by Philippe Normand.

* Shared/gtk/WebCoreArgumentCodersGtk.cpp:
(CoreIPC::::encode): Check whether ResourceResponse is Null before
encoding it.
(CoreIPC::::decode): Check whether response is Null and create a
Null ResourceResponse object in such case.

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

12 years ago[BlackBerry] Upstream helper classes for skia
commit-queue@webkit.org [Fri, 24 Feb 2012 13:03:50 +0000 (13:03 +0000)]
[BlackBerry] Upstream helper classes for skia
https://bugs.webkit.org/show_bug.cgi?id=79216

Patch by Robin Cao <robin.cao@torchmobile.com.cn> on 2012-02-24
Reviewed by Antonio Gomes.

Initial upstreaming, no new tests.

* platform/graphics/blackberry/skia/ImageBufferData.h: Added.
(WebCore):
(ImageBufferData):
* platform/graphics/blackberry/skia/PlatformSupport.cpp: Added.
(WebCore):
(WebCore::setFontRenderStyleDefaults):
(WebCore::PlatformSupport::getRenderStyleForStrike):
(WebCore::PlatformSupport::getFontFamilyForCharacters):
* platform/graphics/blackberry/skia/PlatformSupport.h: Added.
(WebCore):
(PlatformSupport):
(FontFamily):

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

12 years ago[BlackBerry] Upstream ImageBlackBerry in platform/graphics/blackberry
commit-queue@webkit.org [Fri, 24 Feb 2012 12:39:07 +0000 (12:39 +0000)]
[BlackBerry] Upstream ImageBlackBerry in platform/graphics/blackberry
https://bugs.webkit.org/show_bug.cgi?id=79212

Patch by Robin Cao <robin.cao@torchmobile.com.cn> on 2012-02-24
Reviewed by Antonio Gomes.

Initial upstreaming, no new tests.

* PlatformBlackBerry.cmake:
* platform/graphics/blackberry/ImageBlackBerry.cpp: Added.
(WebCore):
(WebCore::Image::loadPlatformResource):

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

12 years ago[BlackBerry] Upstream the BlackBerry change to platform/graphics/IntSize.h
leo.yang@torchmobile.com.cn [Fri, 24 Feb 2012 12:34:35 +0000 (12:34 +0000)]
[BlackBerry] Upstream the BlackBerry change to platform/graphics/IntSize.h
https://bugs.webkit.org/show_bug.cgi?id=79430

Reviewed by Antonio Gomes.

Add conversion convenience between WebCore::IntSize and BlackBerry::Platform::IntSize.

The porting can't be built yet, no new tests.

* platform/graphics/IntSize.h:
(Platform):
(IntSize):

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

12 years agoSpellCheckRequest needs to know the context where the spellcheck happened.
shinyak@chromium.org [Fri, 24 Feb 2012 12:32:27 +0000 (12:32 +0000)]
SpellCheckRequest needs to know the context where the spellcheck happened.
https://bugs.webkit.org/show_bug.cgi?id=79320

Reviewed by Hajime Morita.

Source/WebCore:

WebKit clients should be able to get the context how the spellcheck happended.
For example, WebKit clients may want to change the behavior by a spellcheck request is
invoked in typing or in pasting.

This patch added an enum in SpellCheckRequest so that WebKit clients can understand the context.

* editing/Editor.cpp:
(WebCore::Editor::replaceSelectionWithFragment):
(WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
* editing/SpellChecker.cpp:
(WebCore::SpellCheckRequest::SpellCheckRequest):
(WebCore::SpellCheckRequest::create):
(WebCore::SpellChecker::invokeRequest):
* editing/SpellChecker.h:
(SpellCheckRequest):
(WebCore::SpellCheckRequest::textCheckingRequest):
(WebCore::SpellCheckRequest::processType):
* loader/EmptyClients.h:
(WebCore::EmptyTextCheckerClient::requestCheckingOfString):
* platform/text/TextCheckerClient.h:
(WebCore):
(TextCheckerClient):
* platform/text/TextChecking.h:
(TextCheckingRequest):
(WebCore::TextCheckingRequest::TextCheckingRequest):
(WebCore::TextCheckingRequest::setSequence):
(WebCore::TextCheckingRequest::sequence):
(WebCore::TextCheckingRequest::text):
(WebCore::TextCheckingRequest::mask):
(WebCore::TextCheckingRequest::processType):
(WebCore):

Source/WebKit/blackberry:

* WebCoreSupport/EditorClientBlackBerry.cpp:
(WebCore::EditorClientBlackBerry::requestCheckingOfString):
* WebCoreSupport/EditorClientBlackBerry.h:
(EditorClientBlackBerry):

Source/WebKit/chromium:

* src/EditorClientImpl.cpp:
(WebKit::EditorClientImpl::requestCheckingOfString):
* src/EditorClientImpl.h:
(EditorClientImpl):
* src/WebFrameImpl.cpp:
(WebKit::WebFrameImpl::requestTextChecking):

Source/WebKit/efl:

* WebCoreSupport/EditorClientEfl.h:
(WebCore::EditorClientEfl::requestCheckingOfString):

Source/WebKit/gtk:

* WebCoreSupport/TextCheckerClientGtk.h:
(WebKit::TextCheckerClientGtk::requestCheckingOfString):

Source/WebKit/mac:

* WebCoreSupport/WebEditorClient.h:
* WebCoreSupport/WebEditorClient.mm:
(WebEditorClient::requestCheckingOfString):

Source/WebKit/qt:

* WebCoreSupport/TextCheckerClientQt.h:
(WebCore::TextCheckerClientQt::requestCheckingOfString):

Source/WebKit/win:

* WebCoreSupport/WebEditorClient.h:
(WebEditorClient::requestCheckingOfString):
(WebEditorClient):

Source/WebKit/wince:

* WebCoreSupport/EditorClientWinCE.h:
(WebKit::EditorClientWinCE::requestCheckingOfString):

Source/WebKit/wx:

* WebKitSupport/EditorClientWx.h:
(WebCore::EditorClientWx::requestCheckingOfString):

Source/WebKit2:

* WebProcess/WebCoreSupport/WebEditorClient.cpp:
(WebKit::WebEditorClient::requestCheckingOfString):
* WebProcess/WebCoreSupport/WebEditorClient.h:

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

12 years ago[Qt] Tiling: Improve the method names dealing with moving and scaling.
kenneth@webkit.org [Fri, 24 Feb 2012 12:09:26 +0000 (12:09 +0000)]
[Qt] Tiling: Improve the method names dealing with moving and scaling.

Rubberstamped by Simon Hausmann.

* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewLegacyPrivate::updateViewportSize):
(QQuickWebViewFlickablePrivate::onComponentComplete):
(QQuickWebViewFlickablePrivate::updateViewportSize):
(QQuickWebViewFlickablePrivate::_q_commitScaleChange):
(QQuickWebViewPrivate::_q_commitPositionChange):
(QQuickWebViewFlickablePrivate::_q_resume):
* UIProcess/API/qt/qquickwebview_p.h:
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
(QQuickWebViewPrivate::_q_commitScaleChange):
(QQuickWebViewFlickablePrivate):
* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::setVisibleContentsRectForScaling):
(WebKit::DrawingAreaProxy::setVisibleContentsRectForPanning):
* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForScaling):
(WebKit::DrawingAreaProxyImpl::setVisibleContentsRectForPanning):
* UIProcess/DrawingAreaProxyImpl.h:
(DrawingAreaProxyImpl):
* UIProcess/LayerTreeHostProxy.h:
(LayerTreeHostProxy):
* UIProcess/qt/LayerTreeHostProxyQt.cpp:
(WebKit::LayerTreeHostProxy::setVisibleContentsRectForPanning):
(WebKit::LayerTreeHostProxy::setVisibleContentsRectForScaling):
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::ViewportUpdateDeferrer::~ViewportUpdateDeferrer):
(WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
(WebKit::QtViewportInteractionEngine::wheelEvent):
(WebKit::QtViewportInteractionEngine::pinchGestureStarted):
* UIProcess/qt/QtViewportInteractionEngine.h:
(QtViewportInteractionEngine):
* WebProcess/WebPage/LayerTreeHost.h:
(WebKit::LayerTreeHost::setVisibleContentsRectForScaling):
(WebKit::LayerTreeHost::setVisibleContentsRectForPanning):
(WebKit::LayerTreeHost::setVisibleContentsRectForLayer):
* WebProcess/WebPage/LayerTreeHost.messages.in:
* WebProcess/WebPage/qt/LayerTreeHostQt.cpp:
(WebKit::LayerTreeHostQt::setVisibleContentsRectForScaling):
(WebKit::LayerTreeHostQt::setVisibleContentsRectForPanning):
* WebProcess/WebPage/qt/LayerTreeHostQt.h:
(LayerTreeHostQt):

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

12 years agoMake Node::showTreeForThis (and Node::showTreeForThisAcrossFrame) dump multiple shado...
hayato@chromium.org [Fri, 24 Feb 2012 12:02:11 +0000 (12:02 +0000)]
Make Node::showTreeForThis (and Node::showTreeForThisAcrossFrame) dump multiple shadow roots.
https://bugs.webkit.org/show_bug.cgi?id=79351

Reviewed by Dimitri Glazkov.

No new tests since these utility functions are only available in debug build.
I manually tested in GDB session.

* dom/Node.cpp:
(WebCore::oldestShadowRootFor):
(WebCore::traverseTreeAndMark):
(WebCore::parentOrHostOrFrameOwner):
(WebCore::showSubTreeAcrossFrame):
* dom/ShadowRoot.h:
(WebCore::ShadowRoot::youngerShadowRoot):
(WebCore::ShadowRoot::olderShadowRoot):
(WebCore::toShadowRoot):
(WebCore):

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

12 years agoNot reviewed: follow up to inspector's r108331, using more general condition.
pfeldman@chromium.org [Fri, 24 Feb 2012 11:58:30 +0000 (11:58 +0000)]
Not reviewed: follow up to inspector's r108331, using more general condition.

Patch by Pavel Feldman <pfeldman@chromium.org> on 2012-02-24

* inspector/front-end/JavaScriptSourceFrame.js:
(WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):

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

12 years agoMove WebGL APIs from DOMWindow.idl to DOMWindowWebGL.idl
haraken@chromium.org [Fri, 24 Feb 2012 11:57:16 +0000 (11:57 +0000)]
Move WebGL APIs from DOMWindow.idl to DOMWindowWebGL.idl
https://bugs.webkit.org/show_bug.cgi?id=79432

Reviewed by Adam Barth.

For WebKit modularization, this patch moves WebGL-related APIs
from DOMWindow.idl to DOMWindowWebGL.idl.

No tests. No change in behavior.

* html/canvas/DOMWindowWebGL.idl: Added.
* page/DOMWindow.idl:

* DerivedSources.make: Added DOMWindowWebGL.idl.
* DerivedSources.pri: Ditto.
* GNUmakefile.list.am: Ditto.
* WebCore.gypi: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.

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

12 years agoWeb Inspector: [Regression] network worker tests crash on qt.
vsevik@chromium.org [Fri, 24 Feb 2012 11:35:34 +0000 (11:35 +0000)]
Web Inspector: [Regression] network worker tests crash on qt.
https://bugs.webkit.org/show_bug.cgi?id=79263

Reviewed by Pavel Feldman.

* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::createDecoder):
(WebCore::InspectorPageAgent::cachedResourceContent):

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

12 years agoConvert some fast/regions pixel tests to reftests
commit-queue@webkit.org [Fri, 24 Feb 2012 11:25:18 +0000 (11:25 +0000)]
Convert some fast/regions pixel tests to reftests
https://bugs.webkit.org/show_bug.cgi?id=78906

Patch by Flex Mobile <rhauck@adobe.com> on 2012-02-24
Reviewed by Hajime Morita.

* fast/regions/float-pushed-width-change-expected.html: Added.
* fast/regions/float-pushed-width-change.html:
* platform/chromium/test_expectations.txt:
* platform/efl/fast/regions/float-pushed-width-change-expected.png: Removed.
* platform/efl/fast/regions/float-pushed-width-change-expected.txt: Removed.
* platform/mac/fast/regions/float-pushed-width-change-expected.png: Removed.
* platform/mac/fast/regions/float-pushed-width-change-expected.txt: Removed.

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

12 years agoMiscellaneous CSSParser dodging in presentation attribute parsing.
kling@webkit.org [Fri, 24 Feb 2012 11:21:22 +0000 (11:21 +0000)]
Miscellaneous CSSParser dodging in presentation attribute parsing.
<http://webkit.org/b/79468>

Reviewed by Antti Koivisto.

- Bypass CSSParser when adding constant values to attribute styles.
- Added fast paths for the valid HTMLTablePartElement align values.

* html/HTMLEmbedElement.cpp:
(WebCore::HTMLEmbedElement::collectStyleForAttribute):
* html/HTMLHRElement.cpp:
(WebCore::HTMLHRElement::collectStyleForAttribute):
* html/HTMLIFrameElement.cpp:
(WebCore::HTMLIFrameElement::collectStyleForAttribute):
* html/HTMLTableElement.cpp:
(WebCore::HTMLTableElement::collectStyleForAttribute):
* html/HTMLTablePartElement.cpp:
(WebCore::HTMLTablePartElement::collectStyleForAttribute):

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

12 years ago[chromium] Avoid culling work for fully-non-opaque tiles, and add tracing for draw...
commit-queue@webkit.org [Fri, 24 Feb 2012 11:01:28 +0000 (11:01 +0000)]
[chromium] Avoid culling work for fully-non-opaque tiles, and add tracing for draw culling
https://bugs.webkit.org/show_bug.cgi?id=79183

Patch by Dana Jansens <danakj@chromium.org> on 2012-02-24
Reviewed by James Robinson.

Addresses performance issues with draw culling by avoiding the work
of mapRect and other function calls when the quad has no opaque area.
And adds a TRACE_EVENT to watch the time spent in draw culling.

* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
* platform/graphics/chromium/cc/CCQuadCuller.cpp:
(WebCore::CCQuadCuller::cullOccludedQuads):

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

12 years ago[BlackBerry] Anchor mailto: with target set won't launch Messaging application when...
commit-queue@webkit.org [Fri, 24 Feb 2012 10:54:35 +0000 (10:54 +0000)]
[BlackBerry] Anchor mailto: with target set won't launch Messaging application when clicked
https://bugs.webkit.org/show_bug.cgi?id=79318

Need to give the client a chance to decide how to handle the new window request.

Patch by Charles Wei <charles.wei@torchmobile.com.cn> on 2012-02-24
Reviewed by Rob Buis.

* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNewWindowAction):

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

12 years ago[Chromium] video-referer.html fails
commit-queue@webkit.org [Fri, 24 Feb 2012 10:40:38 +0000 (10:40 +0000)]
[Chromium] video-referer.html fails
https://bugs.webkit.org/show_bug.cgi?id=79239

Fix error event race at startup and cleanup event code to take
advantage of more succinct video-test.js functionality; such as
waitForEventAndFail, etc.

Since this test uses a <source> element without a 'src' tag, an error
event gets fired during load. If we don't wait until after the <body>
onload fires, we'll pickup this error we don't care about.

Patch by Dale Curtis <dalecurtis@chromium.org> on 2012-02-24
Reviewed by Eric Carlson.

* http/tests/media/video-referer-expected.txt:
* http/tests/media/video-referer.html:
* platform/chromium/test_expectations.txt:

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

12 years ago2012-02-24 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Fri, 24 Feb 2012 10:33:48 +0000 (10:33 +0000)]
2012-02-24  Nikolas Zimmermann  <nzimmermann@rim.com>

        Not reviewed. Update layout test results after r108699.

        * platform/mac/svg/carto.net/tabgroup-expected.png:
        * platform/mac/svg/carto.net/tabgroup-expected.txt:
        * platform/mac/svg/carto.net/window-expected.png:
        * platform/mac/svg/carto.net/window-expected.txt:
        * platform/mac/svg/custom/circle-move-invalidation-expected.png:
        * platform/mac/svg/custom/js-late-clipPath-and-object-creation-expected.png:
        * platform/mac/svg/custom/js-late-clipPath-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.png:
        * platform/mac/svg/custom/js-late-gradient-and-object-creation-expected.txt:
        * platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.png:
        * platform/mac/svg/custom/js-late-pattern-and-object-creation-expected.txt:
        * platform/mac/svg/custom/text-ctm-expected.png:
        * platform/mac/svg/custom/text-ctm-expected.txt:
        * platform/mac/svg/custom/use-detach-expected.png:
        * platform/mac/svg/custom/use-detach-expected.txt:
        * platform/mac/svg/hixie/perf/003-expected.png:
        * platform/mac/svg/hixie/perf/003-expected.txt:

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

12 years ago[WK2] [GTK] Destructor not invoked in EditorClientFrameDestructionObserver
sergio@webkit.org [Fri, 24 Feb 2012 10:19:42 +0000 (10:19 +0000)]
[WK2] [GTK] Destructor not invoked in EditorClientFrameDestructionObserver
https://bugs.webkit.org/show_bug.cgi?id=79466

Reviewed by Philippe Normand.

Explicitly cast the observer before deleting it instead of just
deleting a generic pointer. We must to that in order to get the
destructor of the object properly called.

* WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::EditorClientFrameDestructionObserver::destroyOnClosureFinalization):

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

12 years agoWeb Inspector: Scripts panel navigator overlay should be shown automatically only...
vsevik@chromium.org [Fri, 24 Feb 2012 10:12:46 +0000 (10:12 +0000)]
Web Inspector: Scripts panel navigator overlay should be shown automatically only one time.
https://bugs.webkit.org/show_bug.cgi?id=79467

Reviewed by Pavel Feldman.

* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):
(WebInspector.ScriptsPanel.prototype._navigatorOverlayWillHide):

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

12 years agoAdding a ShadowRoot to image-backed element causes a crash
morrita@google.com [Fri, 24 Feb 2012 09:59:07 +0000 (09:59 +0000)]
Adding a ShadowRoot to image-backed element causes a crash
https://bugs.webkit.org/show_bug.cgi?id=78878

Reviewed by Dimitri Glazkov.

Source/WebCore:

The crash happened because NodeRenderingContext tried to append a
child to a renderer regardless one isn't capable of holding any
children if it appears in the shadow attaching phase. RenderImage
is one of such renderer classes which aren't capable.

NodeRenderingContext decide whether the contextual node as a child
can create its renderer based on RenderObject::canHaveChildren()
and Node::childShouldCreateRenderer(). But the responsibility
between these two methods are getting confused. which results this
unfortuante crash path.

This change re-aligns the responsibility:

- Now canHaveChildren() purely declares the ability of the
  renderer. If the renderer is capable of having children, it
  return true regardless of HTML semantics.

- On the other hand, childShouldCreateRenderer() cares about the
  semantics. If the element doesn't allow children to be rendered,
  this returns false.

- Note that these decision on elements are contextual. Each element
  needs to know which role it is playing in the tree composition
  algorithm of Shadow DOM. That's why the method parameter is changed
  from Node* to NodeRenderingContext.

- Fixed updateFirstLetter() which relied on this confused assumption.
  This change introduces RenderDeprecatedFlexibleBox::buttonText()
  to refine the relying assumption.

With this change, some decision points are moved from a renderer to an
element. Following renderers no longer stop reject having children:

- RenderButton, RenderListBox, RenderMenuList, RenderMeter,
  RenderProgress, RenderTextControl.

Corresponding element for such a render (HTMLProgressElement of
RenderProgress for exaple) now cares about that.

Reviewed by Dimitri Glazkov.

Tests: fast/dom/shadow/shadow-on-image-expected.html
       fast/dom/shadow/shadow-on-image.html

* dom/Element.cpp:
(WebCore::Element::childShouldCreateRenderer):
* dom/Element.h:
(Element):
* dom/Node.h:
(WebCore::Node::childShouldCreateRenderer):
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::shouldCreateRenderer):
* dom/NodeRenderingContext.h:
(NodeRenderingContext):
(WebCore::NodeRenderingContext::isOnEncapsulationBoundary):
(WebCore):
* html/HTMLDetailsElement.cpp:
(WebCore::HTMLDetailsElement::childShouldCreateRenderer):
* html/HTMLDetailsElement.h:
(HTMLDetailsElement):
* html/HTMLMediaElement.cpp:
(WebCore):
(WebCore::HTMLMediaElement::childShouldCreateRenderer):
* html/HTMLMediaElement.h:
(HTMLMediaElement):
* html/HTMLMeterElement.cpp:
(WebCore::HTMLMeterElement::childShouldCreateRenderer):
(WebCore):
* html/HTMLMeterElement.h:
(HTMLMeterElement):
* html/HTMLProgressElement.cpp:
(WebCore::HTMLProgressElement::childShouldCreateRenderer):
(WebCore):
* html/HTMLProgressElement.h:
(HTMLProgressElement):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::childShouldCreateRenderer):
(WebCore):
* html/HTMLSelectElement.h:
(HTMLSelectElement):
* html/HTMLSummaryElement.cpp:
(WebCore::HTMLSummaryElement::childShouldCreateRenderer):
(WebCore):
* html/HTMLSummaryElement.h:
(HTMLSummaryElement):
* html/HTMLTextFormControlElement.cpp:
(WebCore::HTMLTextFormControlElement::childShouldCreateRenderer):
(WebCore):
* html/HTMLTextFormControlElement.h:
(HTMLTextFormControlElement):
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetter):
* rendering/RenderButton.cpp:
* rendering/RenderButton.h:
(RenderButton):
* rendering/RenderDeprecatedFlexibleBox.h:
(WebCore::RenderDeprecatedFlexibleBox::buttonText):
* rendering/RenderListBox.h:
(RenderListBox):
* rendering/RenderMedia.h:
(WebCore::RenderMedia::canHaveChildren):
* rendering/RenderMenuList.h:
(RenderMenuList):
(WebCore::RenderMenuList::hasControlClip):
* rendering/RenderMeter.h:
* rendering/RenderProgress.h:
* rendering/RenderTextControl.h:
* rendering/svg/RenderSVGRoot.h:
(WebCore::RenderSVGRoot::canHaveChildren):
* svg/SVGAElement.cpp:
(WebCore::SVGAElement::childShouldCreateRenderer):
* svg/SVGAElement.h:
(SVGAElement):
* svg/SVGAltGlyphElement.cpp:
(WebCore::SVGAltGlyphElement::childShouldCreateRenderer):
* svg/SVGAltGlyphElement.h:
(SVGAltGlyphElement):
* svg/SVGDocument.cpp:
(WebCore::SVGDocument::childShouldCreateRenderer):
* svg/SVGDocument.h:
(SVGDocument):
* svg/SVGElement.cpp:
(WebCore::SVGElement::childShouldCreateRenderer):
* svg/SVGElement.h:
(SVGElement):
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::childShouldCreateRenderer):
* svg/SVGForeignObjectElement.h:
(SVGForeignObjectElement):
* svg/SVGSwitchElement.cpp:
(WebCore::SVGSwitchElement::childShouldCreateRenderer):
* svg/SVGSwitchElement.h:
(SVGSwitchElement):
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::childShouldCreateRenderer):
* svg/SVGTRefElement.h:
(SVGTRefElement):
* svg/SVGTSpanElement.cpp:
(WebCore::SVGTSpanElement::childShouldCreateRenderer):
* svg/SVGTSpanElement.h:
(SVGTSpanElement):
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::childShouldCreateRenderer):
* svg/SVGTextElement.h:
(SVGTextElement):
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::childShouldCreateRenderer):
* svg/SVGTextPathElement.h:

LayoutTests:

* fast/dom/shadow/shadow-on-image-expected.html: Added.
* fast/dom/shadow/shadow-on-image.html: Added.

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

12 years agoSupport [Supplemental] on static methods
haraken@chromium.org [Fri, 24 Feb 2012 09:56:02 +0000 (09:56 +0000)]
Support [Supplemental] on static methods
https://bugs.webkit.org/show_bug.cgi?id=79357

Reviewed by Adam Barth.

[Supplemental] on static methods does not work in CodeGeneratorJS.pm
and CodeGeneratorV8.pm due to mis-ordered if-elsif statements.
This patch fixes it and supports [Supplemental] on static methods.

Test: bindings/scripts/test/TestSupplemental.idl

* bindings/scripts/CodeGeneratorJS.pm: Modified as described above.
(GenerateParametersCheck):
* bindings/scripts/CodeGeneratorV8.pm: Ditto.
(GenerateFunctionCallString):

* bindings/scripts/test/TestSupplemental.idl: Added a test case.

* bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Updated run-bindings-tests results.
(WebDOMTestInterface::supplementalMethod4):
* bindings/scripts/test/CPP/WebDOMTestInterface.h: Ditto.
* bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
(webkit_dom_test_interface_supplemental_method4):
* bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Ditto.
* bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
(WebCore):
(WebCore::JSTestInterfaceConstructor::getOwnPropertySlot):
(WebCore::JSTestInterfaceConstructor::getOwnPropertyDescriptor):
(WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4):
* bindings/scripts/test/JS/JSTestInterface.h: Ditto.
(WebCore):
* bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
* bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
(-[DOMTestInterface supplementalMethod4]):
* bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
(TestInterfaceInternal):
(WebCore::TestInterfaceInternal::supplementalMethod4Callback):
(WebCore::ConfigureV8TestInterfaceTemplate):

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

12 years ago[Qt] Unreviewed gardening.
bashi@chromium.org [Fri, 24 Feb 2012 09:53:43 +0000 (09:53 +0000)]
[Qt] Unreviewed gardening.

Remove tests introduced in r108731 but rolled out.

* platform/qt/Skipped: Removed rolled out tests.

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

12 years agoSmall refactor in RenderFlexibleBox::layoutAndPlaceChildren
tony@chromium.org [Fri, 24 Feb 2012 09:53:12 +0000 (09:53 +0000)]
Small refactor in RenderFlexibleBox::layoutAndPlaceChildren
https://bugs.webkit.org/show_bug.cgi?id=79420

Reviewed by Ojan Vafai.

No new tests, just a refactor.

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Share some of the logic
in computing the cross axis length.

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

12 years agoWeb Inspector: cannot drag timeline overview window when clicking inside the window
yurys@chromium.org [Fri, 24 Feb 2012 09:50:06 +0000 (09:50 +0000)]
Web Inspector: cannot drag timeline overview window when clicking inside the window
https://bugs.webkit.org/show_bug.cgi?id=79453

Reviewed by Pavel Feldman.

* inspector/front-end/timelinePanel.css:
(.timeline-overview-window-rulers):

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

12 years agoRemove useless jump instructions for short circuit
commit-queue@webkit.org [Fri, 24 Feb 2012 09:49:38 +0000 (09:49 +0000)]
Remove useless jump instructions for short circuit
https://bugs.webkit.org/show_bug.cgi?id=75602

Patch by Han Hojong <hojong.han@samsung.com> on 2012-02-24
Reviewed by Michael Saboff.

Jump instruction is inserted to make short circuit,
however it does nothing but moving to the next instruction.
Therefore useless jump instructions are removed,
and jump list is moved into the case not for a short circuit,
so that only necessary instructions are added to JIT code
unless it has a 16 bit pattern character and an 8 bit string.

* yarr/YarrJIT.cpp:
(JSC::Yarr::YarrGenerator::generatePatternCharacterGreedy):
(JSC::Yarr::YarrGenerator::backtrackPatternCharacterNonGreedy):

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

12 years agoUnreviewed, rolling out r108731.
bashi@chromium.org [Fri, 24 Feb 2012 09:47:47 +0000 (09:47 +0000)]
Unreviewed, rolling out r108731.
http://trac.webkit.org/changeset/108731
https://bugs.webkit.org/show_bug.cgi?id=79464

Broke Chromium Win tests (Requested by bashi on #webkit).

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

Source/JavaScriptCore:

* wtf/Platform.h:

Source/WebCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* websockets/WebSocket.cpp:
(WebCore::WebSocket::didConnect):
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::connect):
(WebCore::WebSocketChannel::fail):
(WebCore::WebSocketChannel::processFrame):
(WebCore::WebSocketChannel::sendFrame):
* websockets/WebSocketChannel.h:
* websockets/WebSocketDeflateFramer.cpp: Removed.
* websockets/WebSocketDeflateFramer.h: Removed.

LayoutTests:

* http/tests/websocket/tests/hybi/compressed-control-frame-expected.txt: Removed.
* http/tests/websocket/tests/hybi/compressed-control-frame.html: Removed.
* http/tests/websocket/tests/hybi/compressed-control-frame_wsh.py: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff-expected.txt: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter-expected.txt: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter_wsh.py: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-parameter-expected.txt: Removed.
* http/tests/websocket/tests/hybi/deflate-frame-parameter.html: Removed.
* http/tests/websocket/tests/hybi/deflate-frame_wsh.py: Removed.
* http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header-expected.txt:
* http/tests/websocket/tests/hybi/send-file-blob_wsh.py:
(web_socket_transfer_data):

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

12 years agoWeb Inspector: Show scripts panel navigator overlay on the first scripts panel opening.
vsevik@chromium.org [Fri, 24 Feb 2012 09:41:04 +0000 (09:41 +0000)]
Web Inspector: Show scripts panel navigator overlay on the first scripts panel opening.
https://bugs.webkit.org/show_bug.cgi?id=79248

Reviewed by Pavel Feldman.

* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype.wasShown):
(WebInspector.ScriptsPanel.prototype.set _showNavigatorOverlay):
(WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):

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

12 years agoCSS3 calc(): handle non-negative values
mikelawther@chromium.org [Fri, 24 Feb 2012 09:33:28 +0000 (09:33 +0000)]
CSS3 calc(): handle non-negative values
https://bugs.webkit.org/show_bug.cgi?id=79188

Reviewed by Daniel Bates.

Source/WebCore:

Some CSS properties (e.g. padding) are required to be non-negative. These
are now restricted to the correct range.

Tests: css3/calc/negative-padding-expected.html
       css3/calc/negative-padding.html

* css/CSSCalculationValue.cpp:
(WebCore):
(WebCore::CSSCalcValue::clampToPermittedRange): Added
(WebCore::CSSCalcValue::doubleValue):
(WebCore::CSSCalcValue::isNegative): Added
(WebCore::CSSCalcValue::computeLengthPx):
(WebCore::CSSCalcValue::create):
* css/CSSCalculationValue.h:
(CSSCalcValue):
(WebCore::CSSCalcValue::CSSCalcValue):
* css/CSSParser.cpp:
(WebCore::CSSParser::validCalculationUnit):
(WebCore::CSSParser::parseCalculation):
* css/CSSParser.h:
* platform/CalculationValue.h:

LayoutTests:

* css3/calc/negative-padding-expected.html: Added.
* css3/calc/negative-padding.html: Added.

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

12 years agoWeb Inspector: [Regression] xhr tests are crashing after r108506.
vsevik@chromium.org [Fri, 24 Feb 2012 09:31:07 +0000 (09:31 +0000)]
Web Inspector: [Regression] xhr tests are crashing after r108506.
https://bugs.webkit.org/show_bug.cgi?id=79265

Reviewed by Pavel Feldman.

Source/WebCore:

* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::setInitialScriptContent):
(WebCore::InspectorResourceAgent::setInitialXHRContent):

LayoutTests:

* platform/chromium/test_expectations.txt:

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

12 years agoAdd performance tests for DOM attribute getters and setters
haraken@chromium.org [Fri, 24 Feb 2012 08:55:59 +0000 (08:55 +0000)]
Add performance tests for DOM attribute getters and setters
https://bugs.webkit.org/show_bug.cgi?id=79208

Reviewed by Ryosuke Niwa.

PerformanceTests:

This patch adds performance micro-benchmarks for DOM attribute
getters and setters. We selected DOM attributes from HTMLElement,
Element and Node which will most impact on the DOM performance
in the real Web and which have different call-paths from another
DOM attribute.

The perf test result in my local Chromium/Linux environment is as follows:
median= 14967.0 ms, stdev= 85.2385476178 ms, min= 14861.0 ms, max= 15155.0 ms

If we run the test with DumpRenderTree, we can get the following test results:
Info: [HTMLElement.id] avg=65.76ms, median=65.00ms, stdev=2.14ms, min=63, max=70
Info: [HTMLElement.title] avg=64.05ms, median=63.00ms, stdev=1.50ms, min=63, max=67
Info: [HTMLElement.lang] avg=64.19ms, median=63.00ms, stdev=1.82ms, min=62, max=67
Info: [HTMLElement.dir] avg=64.10ms, median=63.00ms, stdev=1.72ms, min=62, max=68
Info: [HTMLElement.className] avg=63.33ms, median=63.00ms, stdev=0.89ms, min=63, max=67
Info: [HTMLElement.classList] avg=1946.00ms, median=1945.00ms, stdev=38.22ms, min=1921, max=2110
Info: [HTMLElement.tabIndex] avg=83.52ms, median=80.00ms, stdev=6.00ms, min=79, max=94
Info: [HTMLElement.draggable] avg=78.14ms, median=81.00ms, stdev=3.51ms, min=74, max=82
Info: [HTMLElement.webkitdropzone] avg=64.33ms, median=63.00ms, stdev=1.98ms, min=63, max=68
Info: [HTMLElement.hidden] avg=65.57ms, median=64.00ms, stdev=3.27ms, min=63, max=71
Info: [HTMLElement.accessKey] avg=64.43ms, median=63.00ms, stdev=2.11ms, min=62, max=68
Info: [HTMLElement.children] avg=130.76ms, median=128.00ms, stdev=9.75ms, min=109, max=143
Info: [HTMLElement.isContentEditable] avg=74.29ms, median=75.00ms, stdev=2.00ms, min=71, max=77
Info: [HTMLElement.spellcheck] avg=79.52ms, median=80.00ms, stdev=2.52ms, min=76, max=82
Info: [HTMLElement.innerHTML] avg=279.05ms, median=279.00ms, stdev=1.96ms, min=276, max=283
Info: [HTMLElement.innerText] avg=204.14ms, median=203.00ms, stdev=2.95ms, min=200, max=210
Info: [HTMLElement.outerHTML] avg=1544.10ms, median=1546.00ms, stdev=15.56ms, min=1514, max=1568
Info: [HTMLElement.outerText] avg=216.05ms, median=207.00ms, stdev=18.19ms, min=201, max=247
Info: [HTMLElement.contentEditable] avg=334.24ms, median=323.00ms, stdev=36.06ms, min=318, max=446
Info: [HTMLElement.id="foo"] avg=53.19ms, median=53.00ms, stdev=1.76ms, min=52, max=58
Info: [HTMLElement.title="foo"] avg=63.14ms, median=63.00ms, stdev=0.35ms, min=63, max=64
Info: [HTMLElement.lang="foo"] avg=60.86ms, median=61.00ms, stdev=0.56ms, min=60, max=62
Info: [HTMLElement.dir="foo"] avg=53.57ms, median=54.00ms, stdev=0.58ms, min=53, max=55
Info: [HTMLElement.className="foo"] avg=64.52ms, median=64.00ms, stdev=0.91ms, min=63, max=66
Info: [HTMLElement.tabIndex="foo"] avg=367.86ms, median=369.00ms, stdev=8.06ms, min=352, max=380
Info: [HTMLElement.draggable="foo"] avg=79.43ms, median=79.00ms, stdev=0.58ms, min=79, max=81
Info: [HTMLElement.webkitdropzone="foo"] avg=62.14ms, median=62.00ms, stdev=0.35ms, min=62, max=63
Info: [HTMLElement.hidden="foo"] avg=61.67ms, median=62.00ms, stdev=0.71ms, min=61, max=64
Info: [HTMLElement.accessKey="foo"] avg=61.86ms, median=62.00ms, stdev=0.56ms, min=61, max=63
Info: [HTMLElement.spellcheck="foo"] avg=79.57ms, median=80.00ms, stdev=0.58ms, min=78, max=80
Info: [HTMLElement.innerHTML="foo"] avg=1176.67ms, median=1169.00ms, stdev=26.60ms, min=1146, max=1246
Info: [HTMLElement.innerText="foo"] avg=51.62ms, median=52.00ms, stdev=0.72ms, min=50, max=53
Info: [Element.tagName] avg=79.52ms, median=80.00ms, stdev=1.05ms, min=78, max=81
Info: [Element.style] avg=126.19ms, median=126.00ms, stdev=10.40ms, min=104, max=161
Info: [Element.offsetLeft] avg=98.95ms, median=104.00ms, stdev=4.01ms, min=100, max=99
Info: [Element.clientLeft] avg=98.33ms, median=102.00ms, stdev=2.59ms, min=100, max=99
Info: [Element.scrollLeft] avg=103.29ms, median=96.00ms, stdev=15.63ms, min=100, max=97
Info: [Element.dataset] avg=2448.62ms, median=2441.00ms, stdev=20.43ms, min=2426, max=2503
Info: [Element.firstElementChild] avg=58.71ms, median=58.00ms, stdev=2.37ms, min=57, max=65
Info: [Element.lastElementChild] avg=56.33ms, median=55.00ms, stdev=1.83ms, min=54, max=59
Info: [Element.previousElementSibling] avg=52.95ms, median=52.00ms, stdev=1.70ms, min=52, max=57
Info: [Element.nextElementSibling] avg=58.48ms, median=58.00ms, stdev=1.79ms, min=57, max=63
Info: [Element.childElementCount] avg=64.57ms, median=64.00ms, stdev=1.81ms, min=63, max=71
Info: [Element.onload] avg=98.38ms, median=98.00ms, stdev=0.49ms, min=98, max=99
Info: [Element.scrollLeft="foo"] avg=95.24ms, median=95.00ms, stdev=0.92ms, min=94, max=98
Info: [Element.onload="foo"] avg=67.14ms, median=67.00ms, stdev=0.56ms, min=66, max=68
Info: [Node.nodeName] avg=76.29ms, median=76.00ms, stdev=0.63ms, min=75, max=77
Info: [Node.nodeType] avg=53.05ms, median=52.00ms, stdev=2.61ms, min=52, max=61
Info: [Node.parentNode] avg=53.52ms, median=53.00ms, stdev=1.22ms, min=52, max=56
Info: [Node.childNodes] avg=118.33ms, median=123.00ms, stdev=8.85ms, min=107, max=129
Info: [Node.firstChild] avg=53.62ms, median=53.00ms, stdev=1.13ms, min=51, max=55
Info: [Node.lastChild] avg=53.14ms, median=53.00ms, stdev=1.21ms, min=52, max=55
Info: [Node.previousSibling] avg=51.86ms, median=51.00ms, stdev=1.55ms, min=50, max=54
Info: [Node.nextSibling] avg=52.86ms, median=54.00ms, stdev=1.81ms, min=50, max=55
Info: [Node.attributes] avg=2027.71ms, median=2026.00ms, stdev=10.48ms, min=2010, max=2051
Info: [Node.ownerDocument] avg=152.14ms, median=152.00ms, stdev=1.73ms, min=149, max=155
Info: [Node.namespaceURI] avg=60.86ms, median=59.00ms, stdev=3.85ms, min=56, max=66
Info: [Node.localName] avg=60.00ms, median=59.00ms, stdev=2.71ms, min=57, max=66
Info: [Node.baseURI] avg=671.10ms, median=668.00ms, stdev=10.66ms, min=659, max=706
Info: [Node.parentElement] avg=55.05ms, median=56.00ms, stdev=2.15ms, min=52, max=58
Info: [Node.nodeValue] avg=61.24ms, median=60.00ms, stdev=2.56ms, min=59, max=68
Info: [Node.prefix] avg=60.90ms, median=58.00ms, stdev=4.26ms, min=57, max=68
Info: [Node.textContent] avg=149.71ms, median=149.00ms, stdev=1.12ms, min=148, max=152
Info: [Node.nodeValue="foo"] avg=23.62ms, median=23.00ms, stdev=0.72ms, min=23, max=25
Info: [Node.prefix="foo"] avg=49.57ms, median=49.00ms, stdev=0.73ms, min=49, max=51
Info: [Node.textContent="foo"] avg=145.81ms, median=140.00ms, stdev=17.43ms, min=138, max=199

* Bindings/dom_attributes.html: Added.
* resources/runner.js:
(PerfTestRunner.info):

Tools:

We want to allow perf tests to output info messages
that do not affect the test results. To accomplish this,
this patch modifies perftestsrunner.py so that it ignores
a line that starts from "Info:".

* Scripts/webkitpy/performance_tests/perftestsrunner.py:
(PerfTestsRunner):

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

12 years ago[BlackBerry] Enable requestAnimationFrame
commit-queue@webkit.org [Fri, 24 Feb 2012 08:42:47 +0000 (08:42 +0000)]
[BlackBerry] Enable requestAnimationFrame
https://bugs.webkit.org/show_bug.cgi?id=79408

Source/JavaScriptCore:

Use timer implementation of requestAnimationFrame on BlackBerry.

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

* wtf/Platform.h:

Tools:

Enable requestAnimationFrame for BlackBerry.

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

* Scripts/build-webkit:

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

12 years agoRename LocalStorageThread to StorageThread and LocalStorageTask to StorageTask.
commit-queue@webkit.org [Fri, 24 Feb 2012 08:38:46 +0000 (08:38 +0000)]
Rename LocalStorageThread to StorageThread and LocalStorageTask to StorageTask.
https://bugs.webkit.org/show_bug.cgi?id=79358

Revision 45124 commented FIXME to rename these classes.

Patch by Huang Dongsung <luxtella@company100.net> on 2012-02-24
Reviewed by Kentaro Hara.

* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.gypi:
* WebCore.order:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* storage/LocalStorageTask.h: Removed.
* storage/StorageSyncManager.cpp:
(WebCore::StorageSyncManager::StorageSyncManager):
(WebCore::StorageSyncManager::scheduleImport):
(WebCore::StorageSyncManager::scheduleSync):
(WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
* storage/StorageSyncManager.h:
(WebCore):
(StorageSyncManager):
* storage/StorageTask.cpp: Renamed from Source/WebCore/storage/LocalStorageTask.cpp.
(WebCore):
(WebCore::StorageTask::StorageTask):
(WebCore::StorageTask::~StorageTask):
(WebCore::StorageTask::performTask):
* storage/StorageTask.h: Added.
(WebCore):
(StorageTask):
(WebCore::StorageTask::createImport):
(WebCore::StorageTask::createSync):
(WebCore::StorageTask::createDeleteEmptyDatabase):
(WebCore::StorageTask::createOriginIdentifiersImport):
(WebCore::StorageTask::createSetOriginDetails):
(WebCore::StorageTask::createDeleteOrigin):
(WebCore::StorageTask::createDeleteAllOrigins):
(WebCore::StorageTask::createTerminate):
* storage/StorageThread.cpp: Renamed from Source/WebCore/storage/LocalStorageThread.cpp.
(WebCore):
(WebCore::StorageThread::create):
(WebCore::StorageThread::StorageThread):
(WebCore::StorageThread::~StorageThread):
(WebCore::StorageThread::start):
(WebCore::StorageThread::threadEntryPointCallback):
(WebCore::StorageThread::threadEntryPoint):
(WebCore::StorageThread::scheduleTask):
(WebCore::StorageThread::terminate):
(WebCore::StorageThread::performTerminate):
* storage/StorageThread.h: Renamed from Source/WebCore/storage/LocalStorageThread.h.
(WebCore):
(StorageThread):
* storage/StorageTracker.cpp:
(WebCore::StorageTracker::StorageTracker):
(WebCore::StorageTracker::importOriginIdentifiers):
(WebCore::StorageTracker::setOriginDetails):
(WebCore::StorageTracker::scheduleTask):
(WebCore::StorageTracker::deleteAllOrigins):
(WebCore::StorageTracker::deleteOrigin):
* storage/StorageTracker.h:
(WebCore):
(StorageTracker):
* storage/wince/StorageThreadWinCE.cpp: Renamed from Source/WebCore/storage/wince/LocalStorageThreadWinCE.cpp.
(WebCore):
(WebCore::StorageThread::StorageThread):
(WebCore::StorageThread::~StorageThread):
(WebCore::StorageThread::start):
(WebCore::StorageThread::timerFired):
(WebCore::StorageThread::scheduleImport):
(WebCore::StorageThread::scheduleSync):
(WebCore::StorageThread::terminate):
(WebCore::StorageThread::performTerminate):
* storage/wince/StorageThreadWinCE.h: Renamed from Source/WebCore/storage/wince/LocalStorageThreadWinCE.h.
(WebCore):
(StorageThread):
(WebCore::StorageThread::create):

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

12 years agoWeb Inspector: prepare border images on timelines to enable zooming.
pfeldman@chromium.org [Fri, 24 Feb 2012 08:34:12 +0000 (08:34 +0000)]
Web Inspector: prepare border images on timelines to enable zooming.
https://bugs.webkit.org/show_bug.cgi?id=79360

Reviewed by Yury Semikhatsky.

* inspector/front-end/Images/timelineBarBlue.png:
* inspector/front-end/Images/timelineBarGray.png:
* inspector/front-end/Images/timelineBarGreen.png:
* inspector/front-end/Images/timelineBarOrange.png:
* inspector/front-end/Images/timelineBarPurple.png:
* inspector/front-end/Images/timelineBarRed.png:
* inspector/front-end/Images/timelineBarYellow.png:
* inspector/front-end/Images/timelineHollowPillBlue.png:
* inspector/front-end/Images/timelineHollowPillGray.png:
* inspector/front-end/Images/timelineHollowPillGreen.png:
* inspector/front-end/Images/timelineHollowPillOrange.png:
* inspector/front-end/Images/timelineHollowPillPurple.png:
* inspector/front-end/Images/timelineHollowPillRed.png:
* inspector/front-end/Images/timelineHollowPillYellow.png:
* inspector/front-end/Images/timelinePillBlue.png:
* inspector/front-end/Images/timelinePillGray.png:
* inspector/front-end/Images/timelinePillGreen.png:
* inspector/front-end/Images/timelinePillOrange.png:
* inspector/front-end/Images/timelinePillPurple.png:
* inspector/front-end/Images/timelinePillRed.png:
* inspector/front-end/Images/timelinePillYellow.png:
* inspector/front-end/inspectorCommon.css:
(body):
* inspector/front-end/networkLogView.css:
(.network-graph-bar):
(.resource-cached .network-graph-bar):
(.network-category-documents .network-graph-bar):
(.network-category-documents.resource-cached .network-graph-bar):
(.network-category-stylesheets .network-graph-bar):
(.network-category-stylesheets.resource-cached .network-graph-bar):
(.network-category-images.resource-cached .network-graph-bar):
(.network-category-fonts .network-graph-bar):
(.network-category-fonts.resource-cached .network-graph-bar):
(.network-category-scripts .network-graph-bar):
(.network-category-scripts.resource-cached .network-graph-bar):
(.network-category-xhr .network-graph-bar):
(.network-category-xhr.resource-cached .network-graph-bar):
(.network-category-websockets .network-graph-bar):
(.network-category-websockets.resource-cached .network-graph-bar):

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

12 years agostyle-queue tries to apply the patch twice
abarth@webkit.org [Fri, 24 Feb 2012 08:33:50 +0000 (08:33 +0000)]
style-queue tries to apply the patch twice
https://bugs.webkit.org/show_bug.cgi?id=79459

Reviewed by Eric Seidel.

Previously, we applied the patch using both apply-patch and
check-style.  This patch introduces a check-style-local to mirror the
apply-watchlist-local, which operates on the current working diff.

This patch also cleans up some other bugs I found by running the queue
locally for a while.  The queue still prints out a slightly
less-than-ideal message on the bugs when it find an error, but it's ok
for now.  We'll need to iterate a bit.

* Scripts/webkitpy/tool/bot/stylequeuetask.py:
(StyleQueueTask.validate):
(StyleQueueTask._check_style):
* Scripts/webkitpy/tool/commands/download.py:
(CheckStyleLocal):
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
(EarlyWarningSytemTest._default_expected_stderr):
(EarlyWarningSytemTest._test_testing_ews):
* Scripts/webkitpy/tool/commands/queues.py:
(AbstractReviewQueue.handle_script_error):
(StyleQueue.review_patch):
* Scripts/webkitpy/tool/commands/queues_unittest.py:
* Scripts/webkitpy/tool/commands/queuestest.py:
(QueuesTest.assert_queue_outputs):

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

12 years agoWeb Inspector: exception in front-end on selecting an element in heap snapshot
yurys@chromium.org [Fri, 24 Feb 2012 08:28:43 +0000 (08:28 +0000)]
Web Inspector: exception in front-end on selecting an element in heap snapshot
https://bugs.webkit.org/show_bug.cgi?id=79447

Fixed a typo in method name and added a check that selected node has
corresponding heap snapshot object before adding that object to the console
as $0 entry.

Reviewed by Pavel Feldman.

* inspector/front-end/DetailedHeapshotView.js:
(WebInspector.DetailedHeapshotView.prototype._inspectedObjectChanged):

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

12 years ago`\u200c` and `\u200d` should be allowed in IdentifierPart, as per ES5
commit-queue@webkit.org [Fri, 24 Feb 2012 08:20:51 +0000 (08:20 +0000)]
`\u200c` and `\u200d` should be allowed in IdentifierPart, as per ES5
https://bugs.webkit.org/show_bug.cgi?id=78908

Source/JavaScriptCore:

Add additional checks for zero-width non-joiner (0x200C) and
zero-width joiner (0x200D) characters.

Patch by Mathias Bynens <mathias@qiwi.be> on 2012-02-24
Reviewed by Michael Saboff.

* parser/Lexer.cpp:
(JSC::isNonASCIIIdentPart)
* runtime/LiteralParser.cpp:
(JSC::::Lexer::lexIdentifier)

LayoutTests:

Patch by Mathias Bynens <mathias@qiwi.be> on 2012-02-24
Reviewed by Michael Saboff.

* fast/js/var-declarations-zero-width-expected.txt: Added.
* fast/js/var-declarations-zero-width.html: Added.
* fast/js/removing-Cf-characters-expected.txt: Removed the ZWJ test.
* fast/js/script-tests/removing-Cf-characters.js: Removed the ZWJ test.
* fast/js/script-tests/var-declarations-zero-width.js: Added.
* platform/chromium/test_expectations.txt: Disable the new test in Chromium, for now.

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

12 years ago[chromium] Unreviewed test expectation change.
yuzo@google.com [Fri, 24 Feb 2012 08:17:11 +0000 (08:17 +0000)]
[chromium] Unreviewed test expectation change.
svg/repaint/image-with-clip-path.svg is flaky for DEBUG builds.

* platform/chromium/test_expectations.txt:

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

12 years ago[chromium] Unreviewed test expectation change.
yuzo@google.com [Fri, 24 Feb 2012 08:11:31 +0000 (08:11 +0000)]
[chromium] Unreviewed test expectation change.
svg/zoom/page/zoom-replaced-intrinsic-ratio-001.htm is flaky for DEBUG builds.

* platform/chromium/test_expectations.txt:

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

12 years ago[Qt] Unreviewed gardening.
ossy@webkit.org [Fri, 24 Feb 2012 08:00:13 +0000 (08:00 +0000)]
[Qt] Unreviewed gardening.

* platform/qt/Skipped: Skip failing tests.

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

12 years ago[chromium] Unreviewed test expectation change.
yuzo@google.com [Fri, 24 Feb 2012 07:58:50 +0000 (07:58 +0000)]
[chromium] Unreviewed test expectation change.
svg/text/text-rescale.html and svg/text/text-viewbox-rescale.html
are failing on Win, Linux, and Mac since added by wk r108699.

* platform/chromium/test_expectations.txt:

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

12 years agoshould_proceed_with_work_item is unused and can be removed
abarth@webkit.org [Fri, 24 Feb 2012 07:52:51 +0000 (07:52 +0000)]
should_proceed_with_work_item is unused and can be removed
https://bugs.webkit.org/show_bug.cgi?id=79416

Reviewed by Eric Seidel.

We used to use this function to check whether the tree is red.  Now, we
don't use external measures of whether to proceed with work items.
Instead, we analyze them with the idea in mind that the tree might be
red.

* Scripts/webkitpy/tool/bot/queueengine.py:
(QueueEngineDelegate.next_work_item):
(QueueEngine.run):
* Scripts/webkitpy/tool/bot/queueengine_unittest.py:
(LoggingDelegate):
(LoggingDelegate.next_work_item):
(RaisingDelegate.process_work_item):
(QueueEngineTest.test_terminating_error):
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
(AbstractEarlyWarningSystem.__init__):
* Scripts/webkitpy/tool/commands/queues.py:
(AbstractQueue.next_work_item):
(FeederQueue.next_work_item):
(CommitQueue.next_work_item):
(AbstractReviewQueue.next_work_item):
(StyleQueue.__init__):
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(FeederQueueTest.test_feeder_queue):
(CommitQueueTest.test_commit_queue):
(test_commit_queue_failure):
(test_commit_queue_failure_with_failing_tests):
(test_rollout):
(test_rollout_lands):
(StyleQueueTest.test_style_queue_with_style_exception):
(test_style_queue_with_watch_list_exception):
* Scripts/webkitpy/tool/commands/queuestest.py:
(QueuesTest.assert_queue_outputs):
* Scripts/webkitpy/tool/commands/sheriffbot.py:
(SheriffBot.next_work_item):

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

12 years ago[Qt] Unreviewed morning gardening.
ossy@webkit.org [Fri, 24 Feb 2012 07:49:53 +0000 (07:49 +0000)]
[Qt] Unreviewed morning gardening.

* platform/qt/Skipped:
* platform/qt/fast/block/float/centered-float-avoidance-complexity-expected.png: Added.
* platform/qt/fast/block/float/centered-float-avoidance-complexity-expected.txt: Added.
* platform/qt/fast/block/float/shrink-to-avoid-float-complexity-expected.png: Added.
* platform/qt/fast/block/float/shrink-to-avoid-float-complexity-expected.txt: Added.
* platform/qt/fast/dom/prototype-inheritance-2-expected.txt:
* platform/qt/fast/js/global-constructors-expected.png:
* platform/qt/fast/js/global-constructors-expected.txt:
* platform/qt/fast/repaint/region-painting-invalidation-expected.png: Added.
* platform/qt/fast/repaint/region-painting-invalidation-expected.txt: Added.
* platform/qt/svg/carto.net/window-expected.png:
* platform/qt/svg/carto.net/window-expected.txt:
* platform/qt/svg/custom/js-late-clipPath-and-object-creation-expected.png:
* platform/qt/svg/custom/js-late-clipPath-and-object-creation-expected.txt:
* platform/qt/svg/custom/js-late-gradient-and-object-creation-expected.png:
* platform/qt/svg/custom/js-late-gradient-and-object-creation-expected.txt:
* platform/qt/svg/custom/pointer-events-text-css-transform-expected.png:
* platform/qt/svg/custom/pointer-events-text-css-transform-expected.txt:
* platform/qt/svg/custom/text-ctm-expected.png:
* platform/qt/svg/custom/text-ctm-expected.txt:
* platform/qt/svg/hixie/perf/003-expected.png:
* platform/qt/svg/hixie/perf/003-expected.txt:
* platform/qt/svg/text/ems-display-none-expected.png: Added.
* platform/qt/svg/text/ems-display-none-expected.txt: Added.
* platform/qt/svg/text/exs-display-none-expected.png: Added.
* platform/qt/svg/text/exs-display-none-expected.txt: Added.
* platform/qt/svg/text/text-fill-opacity-expected.png: Added.
* platform/qt/svg/text/text-fill-opacity-expected.txt: Added.
* platform/qt/svg/text/text-viewbox-rescale-expected.png: Added.
* platform/qt/svg/text/text-viewbox-rescale-expected.txt: Added.
* platform/qt/svg/text/tspan-dynamic-positioning-expected.png: Added.
* platform/qt/svg/text/tspan-dynamic-positioning-expected.txt: Added.

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

12 years agoWeb Inspector: hide color picker upon panel switch.
pfeldman@chromium.org [Fri, 24 Feb 2012 07:37:34 +0000 (07:37 +0000)]
Web Inspector: hide color picker upon panel switch.
https://bugs.webkit.org/show_bug.cgi?id=79355

Reviewed by Vsevolod Vlasov.

* inspector/front-end/ElementsPanel.js:
(WebInspector.ElementsPanel.prototype.willHide):
* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype._showUserAgentStylesSettingChanged):
(WebInspector.StylesSidebarPane.prototype.willHide):

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

12 years agoWeb Inspector: make color review larger in the color picker.
pfeldman@chromium.org [Fri, 24 Feb 2012 07:28:39 +0000 (07:28 +0000)]
Web Inspector: make color review larger in the color picker.
https://bugs.webkit.org/show_bug.cgi?id=79339

Reviewed by Vsevolod Vlasov.

* inspector/front-end/Popover.js:
(WebInspector.Popover.prototype.hide):
* inspector/front-end/Spectrum.js:
* inspector/front-end/elementsPanel.css:
(.spectrum-container):
(.spectrum-color):
(.spectrum-display-value):
(.spectrum-hue):
(.spectrum-fill):
(.spectrum-range-container label):
(.spectrum-range-container input):
(.spectrum-slider):
(.spectrum-container .swatch):
* inspector/front-end/inspector.css:
(.swatch):

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

12 years ago[Chromium] Add HarfBuzzShaperBase class
bashi@chromium.org [Fri, 24 Feb 2012 07:00:03 +0000 (07:00 +0000)]
[Chromium] Add HarfBuzzShaperBase class
https://bugs.webkit.org/show_bug.cgi?id=79336

Extract a part of ComplexTextControllerHarfBuzz class as
HarfBuzzShaperBase class. This patch intends to share the code between
old HarfBuzz and HarfBuzz-ng.

Reviewed by Tony Chang.

No new tests. No behavior change. Existing tests in fast/text should pass.

* PlatformBlackBerry.cmake: Added HarfBuzzShaperBase.cpp.
* WebCore.gyp/WebCore.gyp: Added HarfBuzzShaperBase.(cpp|h).
* WebCore.gypi: Ditto.
* platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:
(WebCore::ComplexTextController::ComplexTextController): Removed redundant arguments.
(WebCore::ComplexTextController::nextScriptRun): Use m_normalizedBuffer and m_normalizedBufferLength instead of m_run.
(WebCore::ComplexTextController::setupFontForScriptRun): Ditto.
(WebCore::ComplexTextController::setGlyphPositions): Ditto.
* platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h:
(ComplexTextController):
* platform/graphics/harfbuzz/FontHarfBuzz.cpp:
(WebCore::Font::drawComplexText): Removed redundant arguments of ComplexTextController constructor.
(WebCore::Font::floatWidthForComplexText): Ditto.
(WebCore::Font::offsetForPositionForComplexText): Ditto.
(WebCore::Font::selectionRectForComplexText): Ditto.
* platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp: Added.
(WebCore):
(WebCore::HarfBuzzShaperBase::HarfBuzzShaperBase):
(WebCore::normalizeSpacesAndMirrorChars):
(WebCore::HarfBuzzShaperBase::setNormalizedBuffer):
(WebCore::HarfBuzzShaperBase::isWordEnd):
(WebCore::HarfBuzzShaperBase::determineWordBreakSpacing):
(WebCore::HarfBuzzShaperBase::setPadding):
* platform/graphics/harfbuzz/HarfBuzzShaperBase.h: Added.
(WebCore):
(HarfBuzzShaperBase):
(WebCore::HarfBuzzShaperBase::~HarfBuzzShaperBase):
(WebCore::HarfBuzzShaperBase::isCodepointSpace):

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

12 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Fri, 24 Feb 2012 06:34:37 +0000 (06:34 +0000)]
Unreviewed.  Rolled DEPS.

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

* DEPS:

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

12 years agoAdding WebSocket per-frame DEFLATE extension
bashi@chromium.org [Fri, 24 Feb 2012 06:29:33 +0000 (06:29 +0000)]
Adding WebSocket per-frame DEFLATE extension
https://bugs.webkit.org/show_bug.cgi?id=77522

Source/JavaScriptCore:

Added USE(ZLIB) flag.

Reviewed by Kent Tamura.

* wtf/Platform.h:

Source/WebCore:

Add WebSocketDeflateFramer class which handles deflate-frame extension.
This class encapsulates WebSocketDeflater and WebSocketInflater classes,
which depend on zlib, so that WebSocketChannel is not necessary to aware
zlib dependency.

This is the second patch to land. The previous patch broke Chromium Win
release build. r108600 should fix the build failure. I also added
zlib entry to |export_dependent_settings| of |webcore_prerequisites|
target.

Reviewed by Kent Tamura.

Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html
       http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html
       http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html
       http/tests/websocket/tests/hybi/deflate-frame-parameter.html

* CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h)
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.gyp/WebCore.gyp: Added zlib dependency.
* WebCore.vcproj/WebCore.vcproj: Added WebSocketDeflateFramer.(cpp|h)
* WebCore.xcodeproj/project.pbxproj: Ditto.
* websockets/WebSocket.cpp:
(WebCore::WebSocket::didConnect): Set m_extensions.
* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use.
(WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail().
(WebCore::WebSocketChannel::processFrame): Decompress frames if needed.
(WebCore::WebSocketChannel::sendFrame): Compress frames if possible.
* websockets/WebSocketChannel.h:
* websockets/WebSocketDeflateFramer.cpp: Added.
(WebCore):
(WebSocketExtensionDeflateFrame):
(WebCore::WebSocketExtensionDeflateFrame::create):
(WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame):
(WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame):
(WebCore::WebSocketExtensionDeflateFrame::handshakeString):
(WebCore::WebSocketExtensionDeflateFrame::processResponse):
(WebCore::DeflateResultHolder::DeflateResultHolder):
(WebCore::DeflateResultHolder::~DeflateResultHolder):
(WebCore::DeflateResultHolder::fail):
(WebCore::InflateResultHolder::InflateResultHolder):
(WebCore::InflateResultHolder::~InflateResultHolder):
(WebCore::InflateResultHolder::fail):
(WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer):
(WebCore::WebSocketDeflateFramer::createExtensionProcessor):
(WebCore::WebSocketDeflateFramer::canDeflate):
(WebCore::WebSocketDeflateFramer::enableDeflate):
(WebCore::WebSocketDeflateFramer::deflate):
(WebCore::WebSocketDeflateFramer::resetDeflateContext):
(WebCore::WebSocketDeflateFramer::inflate):
(WebCore::WebSocketDeflateFramer::resetInflateContext):
(WebCore::WebSocketDeflateFramer::didFail):
* websockets/WebSocketDeflateFramer.h: Added.
(WebCore):
(DeflateResultHolder):
(WebCore::DeflateResultHolder::succeeded):
(WebCore::DeflateResultHolder::failureReason):
(InflateResultHolder):
(WebCore::InflateResultHolder::succeeded):
(WebCore::InflateResultHolder::failureReason):
(WebSocketDeflateFramer):
(WebCore::WebSocketDeflateFramer::enabled):

LayoutTests:

Added tests for WebSocket deflate-frame extension. Also updated some
tests to follow the change.

Reviewed by Kent Tamura.

* http/tests/websocket/tests/hybi/compressed-control-frame-expected.txt: Added.
* http/tests/websocket/tests/hybi/compressed-control-frame.html: Added.
* http/tests/websocket/tests/hybi/compressed-control-frame_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
* http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff-expected.txt: Added.
* http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html: Added.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter-expected.txt: Added.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html: Added.
* http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter_wsh.py: Added.
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
* http/tests/websocket/tests/hybi/deflate-frame-parameter-expected.txt: Added.
* http/tests/websocket/tests/hybi/deflate-frame-parameter.html: Added.
* http/tests/websocket/tests/hybi/deflate-frame_wsh.py: Added.
(_get_deflate_frame_extension_processor):
(web_socket_do_extra_handshake):
(web_socket_transfer_data):
* http/tests/websocket/tests/hybi/handshake-fail-by-extensions-header-expected.txt:
* http/tests/websocket/tests/hybi/send-file-blob_wsh.py:
(_retrieve_frame):
(web_socket_transfer_data):

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

12 years agoRename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering...
aestes@apple.com [Fri, 24 Feb 2012 06:24:47 +0000 (06:24 +0000)]
Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API.
https://bugs.webkit.org/show_bug.cgi?id=79433

Reviewed by Dan Bernstein.

Source/WebCore:

* dom/Document.cpp:
(WebCore::Document::implicitClose):
(WebCore::Document::visualUpdatesAllowed):
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setSuppressesIncrementalRendering):
(WebCore::Settings::suppressesIncrementalRendering):
(Settings):

Source/WebKit/mac:

* WebCoreSupport/WebInspectorClient.mm:
(-[WebInspectorWindowController init]):
* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences setSuppressesIncrementalRendering:]):
(-[WebPreferences suppressesIncrementalRendering]):
(-[WebPreferences setSuppressIncrementalRendering:]):
(-[WebPreferences suppressIncrementalRendering]):
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

* Shared/WebPreferencesStore.h:
(WebKit):
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetSuppressesIncrementalRendering):
(WKPreferencesGetSuppressesIncrementalRendering):
* UIProcess/API/C/WKPreferences.h:
* UIProcess/WebInspectorProxy.cpp:
(WebKit::createInspectorPageGroup):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDidFirstLayout):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

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

12 years agoRename DOMWindow to Window in the bindings
arv@chromium.org [Fri, 24 Feb 2012 06:21:32 +0000 (06:21 +0000)]
Rename DOMWindow to Window in the bindings
https://bugs.webkit.org/show_bug.cgi?id=78721

Reviewed by Adam Barth.

Source/WebCore:

Covered by existing tests.

* inspector/front-end/DetailedHeapshotGridNodes.js:
(WebInspector.HeapSnapshotGenericObjectNode):
(WebInspector.HeapSnapshotGenericObjectNode.prototype.isWindow):
* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshotNode.prototype.get isWindow):
(WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
(WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
* page/DOMWindow.idl:

LayoutTests:

* fast/dom/Window/atob-btoa-expected.txt:
* fast/dom/Window/atob-btoa.html:
* fast/dom/Window/window-lookup-precedence-expected.txt:
* fast/dom/Window/window-lookup-precedence.html:
* fast/dom/Window/window-postmessage-args-expected.txt:
* fast/dom/Window/window-properties-expected.txt:
* fast/dom/Window/window-property-descriptors-expected.txt:
* fast/dom/dom-constructors-expected.txt:
* fast/dom/dom-constructors.html:
* fast/dom/prototype-inheritance-2-expected.txt:
* fast/dom/script-tests/prototype-inheritance-2.js:
(pushPropertyValuesWithUnseenTypes):
* fast/dom/wrapper-classes-expected.txt:
* fast/dom/wrapper-classes.html:
* fast/events/device-orientation-crash-expected.txt:
* fast/events/device-orientation-crash.html:
* fast/events/event-trace-expected.txt:
* fast/events/event-view-toString-expected.txt:
* fast/events/popup-blocked-to-post-blank-expected.txt:
* fast/events/popup-blocked-to-post-blank.html:
* fast/js/eval-cross-window-expected.txt:
* fast/js/eval-keyword-vs-function-expected.txt:
* fast/js/function-bind-expected.txt:
* fast/js/mozilla/strict/10.4.3-expected.txt:
* fast/js/mozilla/strict/15.3.4.5-expected.txt:
* fast/js/mozilla/strict/this-for-function-expression-recursion-expected.txt:
* fast/js/script-tests/function-bind.js:
* fast/js/toString-and-valueOf-override-expected.txt:
* http/tests/inspector-enabled/console-clear-arguments-on-frame-remove-expected.txt:
* http/tests/security/cross-frame-access-custom-expected.txt:
* http/tests/security/cross-frame-access-custom.html:
* http/tests/security/cross-frame-access-put-expected.txt:
* http/tests/security/document-all-expected.txt:
* inspector/console/console-dir-global-expected.txt:
* inspector/debugger/debugger-expand-scope-expected.txt:
* inspector/profiler/heap-snapshot-test.js:
(initialize_HeapSnapshotTest.InspectorTest.createHeapSnapshotMockWithDOM):
(initialize_HeapSnapshotTest):
* inspector/profiler/heap-snapshot.html:
* java/lc3/JSObject/ToJSObject-001-expected.txt:
* java/lc3/JSObject/ToObject-001-expected.txt:
* java/lc3/JSObject/ToString-001-expected.txt:
* platform/chromium-mac/fast/events/event-view-toString-expected.txt:
* platform/chromium-win/fast/events/event-view-toString-expected.txt:
* platform/chromium-win/fast/js/README:
* platform/chromium/fast/dom/Window/window-lookup-precedence-expected.txt:
* platform/chromium/fast/dom/Window/window-postmessage-args-expected.txt:
* platform/chromium/fast/dom/wrapper-classes-expected.txt:
* platform/chromium/fast/js/mozilla/strict/15.3.4.5-expected.txt:
* platform/chromium/fast/js/toString-and-valueOf-override-expected.txt:
* platform/chromium/http/tests/security/cross-frame-access-call-expected.txt:
* platform/chromium/http/tests/security/cross-frame-access-put-expected.txt:
* platform/chromium/inspector/console/console-dir-global-expected.txt:
* platform/chromium/inspector/debugger/debugger-expand-scope-expected.txt:
* platform/gtk/fast/dom/Window/window-properties-expected.txt:
* platform/gtk/fast/dom/prototype-inheritance-2-expected.txt:
* platform/gtk/fast/js/global-constructors-expected.txt:
* platform/gtk/http/tests/security/cross-frame-access-put-expected.txt:
* platform/mac/fast/dom/Window/window-properties-expected.txt:
* platform/mac/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/mac/fast/dom/prototype-inheritance-2-expected.txt:
* platform/mac/fast/dom/wrapper-classes-objc.html:
* platform/mac/fast/js/global-constructors-expected.txt:
* platform/qt-5.0-wk2/fast/dom/Window/window-properties-expected.txt:
* platform/qt-5.0-wk2/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/qt-5.0-wk2/fast/dom/prototype-inheritance-2-expected.txt:
* platform/qt-arm/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/qt/fast/dom/Window/window-properties-expected.txt:
* platform/qt/fast/dom/prototype-inheritance-2-expected.txt:
* platform/qt/fast/js/global-constructors-expected.txt:
* platform/qt/http/tests/security/cross-frame-access-put-expected.txt:
* platform/win/fast/dom/Window/window-properties-expected.txt:
* platform/win/fast/dom/Window/window-property-descriptors-expected.txt:
* platform/win/fast/dom/prototype-inheritance-2-expected.txt:
* sputnik/Conformance/11_Expressions/11.1_Primary_Expressions/11.1.1_The_this_Keyword/S11.1.1_A2-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/S15.1_A1_T1-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/S15.1_A1_T2-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.1_The_Global_Object/S15.1_A2_T1-expected.txt:

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

12 years agoNodeRenderingContext should have ShadowRootList instead of ShadowRoot.
shinyak@chromium.org [Fri, 24 Feb 2012 05:43:13 +0000 (05:43 +0000)]
NodeRenderingContext should have ShadowRootList instead of ShadowRoot.
https://bugs.webkit.org/show_bug.cgi?id=79079

Reviewed by Dimitri Glazkov.

Apparently NodeRenderingContext should have ShadowRootList instead of ShadowRoot.
This patch changes it.

No new tests. Simple refactoring.

* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::NodeRenderingContext):
(WebCore::NodeRenderingContext::hostChildrenChanged):
(WebCore::NodeRenderingContext::shouldCreateRenderer):
* dom/NodeRenderingContext.h:
(WebCore):

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

12 years ago[chromium] Implement keyframed animations for the cc thread.
commit-queue@webkit.org [Fri, 24 Feb 2012 05:31:12 +0000 (05:31 +0000)]
[chromium] Implement keyframed animations for the cc thread.
https://bugs.webkit.org/show_bug.cgi?id=77229

Patch by Ian Vollick <vollick@chromium.org> on 2012-02-23
Reviewed by James Robinson.

Source/WebCore:

* WebCore.gypi:
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::hasActiveAnimation):
(WebCore):
* platform/graphics/chromium/LayerChromium.h:
(LayerChromium):
* platform/graphics/chromium/cc/CCActiveAnimation.cpp:
(WebCore::CCActiveAnimation::CCActiveAnimation):
(WebCore::CCActiveAnimation::isFinishedAt):
(WebCore::CCActiveAnimation::trimTimeToCurrentIteration):
(WebCore::CCActiveAnimation::cloneForImplThread):
* platform/graphics/chromium/cc/CCActiveAnimation.h:
(WebCore::CCActiveAnimation::curve):
(CCActiveAnimation):
* platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp: Added.
(WebCore::CCKeyframedFloatAnimationCurve::create):
(WebCore):
(WebCore::CCKeyframedFloatAnimationCurve::CCKeyframedFloatAnimationCurve):
(WebCore::CCKeyframedFloatAnimationCurve::~CCKeyframedFloatAnimationCurve):
(WebCore::CCKeyframedFloatAnimationCurve::duration):
(WebCore::CCKeyframedFloatAnimationCurve::clone):
(WebCore::CCKeyframedFloatAnimationCurve::getValue):
(WebCore::CCKeyframedTransformAnimationCurve::create):
(WebCore::CCKeyframedTransformAnimationCurve::CCKeyframedTransformAnimationCurve):
(WebCore::CCKeyframedTransformAnimationCurve::~CCKeyframedTransformAnimationCurve):
(WebCore::CCKeyframedTransformAnimationCurve::duration):
(WebCore::CCKeyframedTransformAnimationCurve::clone):
(WebCore::CCKeyframedTransformAnimationCurve::getValue):
* platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h: Added.
(WebCore):
(WebCore::CCFloatKeyframe::CCFloatKeyframe):
(CCFloatKeyframe):
(WebCore::CCTransformKeyframe::CCTransformKeyframe):
(CCTransformKeyframe):
(CCKeyframedFloatAnimationCurve):
(CCKeyframedTransformAnimationCurve):
* platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
(WebCore::CCLayerAnimationController::addAnimation):
* platform/graphics/chromium/cc/CCLayerAnimationController.h:
(WebCore::CCLayerAnimationController::hasActiveAnimation):
(CCLayerAnimationController):
* platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
(WebCore::CCLayerAnimationControllerImpl::tickAnimations):

Source/WebKit/chromium:

* WebKit.gypi:
* tests/CCAnimationTestCommon.cpp:
(WebCore):
(WebCore::addOpacityTransition):
(WebKitTests::addOpacityTransitionToController):
(WebKitTests::addOpacityTransitionToLayer):
* tests/CCAnimationTestCommon.h:
(WebCore):
(WebKitTests):
* tests/CCKeyframedAnimationCurveTest.cpp: Added.
(WebCore):
(WebCore::expectTranslateX):
(WebCore::TEST):
* tests/CCLayerAnimationControllerTest.cpp:
(WebKitTests::expectTranslateX):
(WebKitTests):
(WebKitTests::TEST):
* tests/CCLayerTreeHostTest.cpp:
(WTF::CCLayerTreeHostTest::dispatchAddAnimation):
(WTF::CCLayerTreeHostTest::doBeginTest):

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

12 years agoUse MathExtras round() in timeToSampleFrame
commit-queue@webkit.org [Fri, 24 Feb 2012 05:25:31 +0000 (05:25 +0000)]
Use MathExtras round() in timeToSampleFrame
https://bugs.webkit.org/show_bug.cgi?id=79281

Patch by Raymond Toy <rtoy@google.com> on 2012-02-23
Reviewed by Chris Rogers.

No new tests. Existing tests cover this change.

* platform/audio/AudioUtilities.cpp:
(WebCore::AudioUtilities::timeToSampleFrame): Use round().

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

12 years agoREGRESSION: Assertion failure in Document::setCompatibilityMode() (!m_styleSheets...
mitz@apple.com [Fri, 24 Feb 2012 05:24:55 +0000 (05:24 +0000)]
REGRESSION: Assertion failure in Document::setCompatibilityMode() (!m_styleSheets->length()) in fast/dynamic/crash-paint-no-documentElement-renderer.html
https://bugs.webkit.org/show_bug.cgi?id=79333

Reviewed by Sam Weinig.

Disabled the test. The assertion failure is tracked by <http://webkit.org/b/68859>.

* fast/dynamic/crash-paint-no-documentElement-renderer.html: Removed.
* fast/dynamic/crash-paint-no-documentElement-renderer.html-disabled: Copied from LayoutTests/fast/dynamic/crash-paint-no-documentElement-renderer.html.
* platform/chromium/test_expectations.txt:
* platform/efl/Skipped:
* platform/gtk/test_expectations.txt:
* platform/mac/test_expectations.txt:
* platform/qt/test_expectations.txt:

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

12 years agoDon't clear IntentRequest callback pointers on stop()
commit-queue@webkit.org [Fri, 24 Feb 2012 04:58:34 +0000 (04:58 +0000)]
Don't clear IntentRequest callback pointers on stop()

This causes re-entry into ScriptExecutionContext when
the ActiveDOMCallback objects get deleted, which crashes.
Instead, just de-activate the object and wait for
context destruction to clean up.

Test crashes consistently without fix and passes with fix.
Added some test infrastructure to support this test.
https://bugs.webkit.org/show_bug.cgi?id=78638

Patch by Greg Billock <gbillock@google.com> on 2012-02-23
Reviewed by Adam Barth.

* Modules/intents/IntentRequest.cpp:
(WebCore::IntentRequest::IntentRequest):
(WebCore::IntentRequest::stop):
(WebCore::IntentRequest::postResult):
(WebCore::IntentRequest::postFailure):
* Modules/intents/IntentRequest.h:
(IntentRequest):

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

12 years ago[BlackBerry] Selection handler has compile failure with logs enabled.
commit-queue@webkit.org [Fri, 24 Feb 2012 04:40:48 +0000 (04:40 +0000)]
[BlackBerry] Selection handler has compile failure with logs enabled.
https://bugs.webkit.org/show_bug.cgi?id=79392

Patch by Mike Fenton <mifenton@rim.com> on 2012-02-23
Reviewed by Antonio Gomes.

Build Fix.  Update log to avoid usage of toString which was removed.

* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):

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

12 years agoUpstream BlackBerry Cookie Management Classes
commit-queue@webkit.org [Fri, 24 Feb 2012 04:34:56 +0000 (04:34 +0000)]
Upstream BlackBerry Cookie Management Classes
https://bugs.webkit.org/show_bug.cgi?id=73654

Patch by Konrad Piascik <kpiascik@rim.com> on 2012-02-23
Reviewed by Rob Buis.

.:

Manual test to see in milliseconds how quickly 100 writes followed by 100 reads take.
This test is ran twice and the average read and write for each of the 2 runs is shown.

* ManualTests/cookieSpeedTest.html: Added.

Source/WebCore:

Added ManualTests/cookieSpeedTest.html as well as tested functionality
on the BlackBerry port with http://testsuites.opera.com/cookies/
Passes all non Cookie 2 tests since Cookie 2 is not implemented/supported at this time.
Error handling and extended tests do not all pass and will be updated with future bugs/patches.

* platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp: Added.
* platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h: Added.
* platform/blackberry/CookieJarBlackBerry.cpp: Added.
* platform/blackberry/CookieManager.cpp: Added.
* platform/blackberry/CookieManager.h: Added.
* platform/blackberry/CookieMap.cpp: Added.
* platform/blackberry/CookieMap.h: Added.
* platform/blackberry/CookieParser.cpp: Added.
* platform/blackberry/CookieParser.h: Added.
* platform/blackberry/ParsedCookie.cpp: Added.
* platform/blackberry/ParsedCookie.h: Added.

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

12 years ago2012-02-19 Antonio Gomes <agomes@rim.com>
tonikitoo@webkit.org [Fri, 24 Feb 2012 04:28:34 +0000 (04:28 +0000)]
2012-02-19  Antonio Gomes  <agomes@rim.com>

        Fat fingers - Add a clearer way to distinguish the node we want (shadow or non-shadow)
        https://bugs.webkit.org/show_bug.cgi?id=79256
        PR #127814 / MKS_2587410

        Reviewed by Rob Buis.

        Patch adds a cleaner way for call sites of FatFingersResult to
        query for the appropriated target node: shadow or non-shadow DOM nodes.

        It also renames FatFingersResults::validNode to ::node, assuming
        that "invalid" nodes are not applicable in any context.

        * Api/WebPage.cpp:
        (BlackBerry::WebKit::WebPagePrivate::clearDocumentData):
        (BlackBerry::WebKit::WebPagePrivate::contextNode):
        (BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
        * WebKitSupport/FatFingers.h:
        (FatFingersResult):
        (BlackBerry::WebKit::FatFingersResult::node):
        (BlackBerry::WebKit::FatFingersResult::nodeAsElementIfApplicable):
        * WebKitSupport/SelectionHandler.cpp:
        (BlackBerry::WebKit::SelectionHandler::selectAtPoint):
        * WebKitSupport/TouchEventHandler.cpp:
        (BlackBerry::WebKit::TouchEventHandler::touchHoldEvent):
        (BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):

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

12 years agoUnreviewed test fix after r108699.
bashi@chromium.org [Fri, 24 Feb 2012 04:04:33 +0000 (04:04 +0000)]
Unreviewed test fix after r108699.

Fix wrong path of repaint.js in platform/mac/svg/text/text-rescale.html
and platform/mac/svg/text/text-viewbox-rescale.html

* platform/mac/svg/text/text-rescale.html:
* platform/mac/svg/text/text-viewbox-rescale.html:

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

12 years agoSwitch drawLineForBoxSide to use integers
leviw@chromium.org [Fri, 24 Feb 2012 03:55:53 +0000 (03:55 +0000)]
Switch drawLineForBoxSide to use integers
https://bugs.webkit.org/show_bug.cgi?id=78647

Reviewed by Eric Seidel.

drawLineForBoxSide handles painting lines for boxes which must be done on pixel boundaries.
Its interface doesn't make it possible to pixel snap properly within the function itself --
it draws one side of the box at a time, and the logical right and bottom lines can only be
properly determined using the logical top and left positions -- so it needs to be treated
like a graphics context function, whereby the caller handles the proper pixel snapping before
passing the values in.

No new tests. No change in behavior.

* rendering/LayoutTypes.h:
(WebCore::pixelSnappedIntRectFromEdges): convenience function for returning a pixel snapped
int rect from four LayoutUnits that are its edges (as opposed to position and size).
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paintColumnRules): Pixel snapping the column rule rect.
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintOneBorderSide): Side rects are now IntRects by the time
they get to paintOneBorderSide.
(WebCore::calculateSideRect): Properly use RoundedRect as IntRects instead of LayoutRects.
(WebCore::RenderBoxModelObject::paintBorderSides): Ditto.
(WebCore::RenderBoxModelObject::paintBorder): Ditto.
(WebCore::calculateSideRectIncludingInner): Ditto.
* rendering/RenderBoxModelObject.h:
(RenderBoxModelObject):
* rendering/RenderInline.cpp:
(WebCore::RenderInline::paintOutlineForLine): Outline widths are related to borders and stored
as ints. Removing an unnecessary conversion to LayoutUnits. Pixel snapping the edges of the box.
* rendering/RenderObject.cpp:
(WebCore::RenderObject::drawLineForBoxSide): Moving back to integers and removing an
unnecessary pixelSnappedIntRect call.
(WebCore::RenderObject::paintOutline): Pixel snapping the column rule rect and using an integer
for outlineOffset.
* rendering/RenderObject.h:
(RenderObject):

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

12 years ago[BlackBerry] Upstream BlackBerry API web page related files
commit-queue@webkit.org [Fri, 24 Feb 2012 03:41:01 +0000 (03:41 +0000)]
[BlackBerry] Upstream BlackBerry API web page related files
https://bugs.webkit.org/show_bug.cgi?id=74380

Patch by Jacky Jiang <zhajiang@rim.com> on 2012-02-23
Reviewed by Antonio Gomes.

Initial upstream, no new tests.

* Api/WebPage.cpp: Added.
* Api/WebPage.h: Added.
* Api/WebPage_p.h: Added.

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

12 years ago[BlackBerry] Remove unused ChromeClientBlackBerry::platformCompositingWindow(), platf...
leo.yang@torchmobile.com.cn [Fri, 24 Feb 2012 03:11:20 +0000 (03:11 +0000)]
[BlackBerry] Remove unused ChromeClientBlackBerry::platformCompositingWindow(), platformWindow() and WebPageClient::compositingWindow()
https://bugs.webkit.org/show_bug.cgi?id=78681

Reviewed by Antonio Gomes.

* Api/WebPageClient.h:
* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore):
* WebCoreSupport/ChromeClientBlackBerry.h:
(ChromeClientBlackBerry):

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

12 years agoZero out CopiedBlocks on initialization
mhahnenberg@apple.com [Fri, 24 Feb 2012 03:10:03 +0000 (03:10 +0000)]
Zero out CopiedBlocks on initialization
https://bugs.webkit.org/show_bug.cgi?id=79199

Reviewed by Filip Pizlo.

Made CopyBlocks zero their payloads during construction. This allows
JSArray to avoid having to manually clear its backing store upon allocation
and also alleviates any future pain with regard to the garbage collector trying
to mark what it thinks are values in what is actually uninitialized memory.

* heap/CopiedBlock.h:
(JSC::CopiedBlock::CopiedBlock):
* runtime/JSArray.cpp:
(JSC::JSArray::finishCreation):
(JSC::JSArray::tryFinishCreationUninitialized):
(JSC::JSArray::increaseVectorLength):
(JSC::JSArray::unshiftCountSlowCase):

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

12 years ago[BlackBerry] Upstream the BlackBerry change to platform/graphics/IntPoint.h
leo.yang@torchmobile.com.cn [Fri, 24 Feb 2012 03:05:58 +0000 (03:05 +0000)]
[BlackBerry] Upstream the BlackBerry change to platform/graphics/IntPoint.h
https://bugs.webkit.org/show_bug.cgi?id=79094

Reviewed by Antonio Gomes.

Add conversion convenience between WebCore::IntPoint and BlackBerry::Platform::IntPoint.

The porting can't be built yet, no new tests.

* platform/graphics/IntPoint.h:
(Platform):
(IntPoint):

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

12 years ago[Chromium] Add profiling trace for deferred canvas rendering
commit-queue@webkit.org [Fri, 24 Feb 2012 03:03:52 +0000 (03:03 +0000)]
[Chromium] Add profiling trace for deferred canvas rendering
https://bugs.webkit.org/show_bug.cgi?id=79376

Patch by Justin Novosad <junov@chromium.org> on 2012-02-23
Reviewed by Stephen White.

No new tests.

* platform/graphics/chromium/Canvas2DLayerChromium.cpp:
(WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
Profiling trace for the entire method, as well as for
calls to canvas flush and context flush, both of which may
cause deferred operation to be executed.
* platform/graphics/skia/PlatformContextSkia.cpp:
(WebCore::PlatformContextSkia::bitmap):
Inserting a profiling trace in this method because it may cause
deferred draw commands to be executed.

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

12 years agoShadowRootList should have recalculation flag instead of ShadowRoot.
shinyak@chromium.org [Fri, 24 Feb 2012 02:37:02 +0000 (02:37 +0000)]
ShadowRootList should have recalculation flag instead of ShadowRoot.
https://bugs.webkit.org/show_bug.cgi?id=79071

Reviewed by Hajime Morita.

When light children or shadow children are changed, we currently re-construct a shadow subtree.
However, when supporting multiple shadow subtrees, all shadow subtrees should be re-constructed.
So ShadowRootList should have re-construction flag instead of ShadowRoot.

Also, re-construction methods in ShadowRoot should be moved to ShadowRootList.

No new tests, should be convered by existing tests.

* dom/Element.cpp:
(WebCore::Element::recalcStyle):
(WebCore::Element::childrenChanged):
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::hostChildrenChanged):
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::list):
* dom/ShadowRoot.h:
(WebCore):
(ShadowRoot):
* dom/ShadowRootList.cpp:
(WebCore::ShadowRootList::ShadowRootList):
(WebCore::ShadowRootList::reattach):
(WebCore):
(WebCore::ShadowRootList::childNeedsStyleRecalc):
(WebCore::ShadowRootList::needsStyleRecalc):
(WebCore::ShadowRootList::recalcShadowTreeStyle):
(WebCore::ShadowRootList::needsReattachHostChildrenAndShadow):
(WebCore::ShadowRootList::hostChildrenChanged):
(WebCore::ShadowRootList::setNeedsReattachHostChildrenAndShadow):
(WebCore::ShadowRootList::reattachHostChildrenAndShadow):
* dom/ShadowRootList.h:
(WebCore):
(ShadowRootList):
(WebCore::ShadowRootList::clearNeedsReattachHostChildrenAndShadow):
* html/shadow/HTMLContentElement.cpp:
(WebCore::HTMLContentElement::attach):
(WebCore::HTMLContentElement::detach):
(WebCore::HTMLContentElement::parseAttribute):

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

12 years agoUnreviewed: add clause in ASSERT missing from r108474.
rolandsteiner@chromium.org [Fri, 24 Feb 2012 02:20:19 +0000 (02:20 +0000)]
Unreviewed: add clause in ASSERT missing from r108474.

No new tests. (fix)

* html/HTMLStyleElement.cpp:
(WebCore::HTMLStyleElement::willRemove):

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

12 years ago[BlackBerry] Upstream GLES2Context.{h, cpp}
leo.yang@torchmobile.com.cn [Fri, 24 Feb 2012 02:16:01 +0000 (02:16 +0000)]
[BlackBerry] Upstream GLES2Context.{h, cpp}
https://bugs.webkit.org/show_bug.cgi?id=79196

Reviewed by Rob Buis.

Initial upstream, no new tests.

* WebKitSupport/GLES2Context.cpp: Added.
* WebKitSupport/GLES2Context.h: Added.

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

12 years agoSplit out HTML constructors into new DOMWindowHTML suplemental idl
eric@webkit.org [Fri, 24 Feb 2012 02:11:04 +0000 (02:11 +0000)]
Split out HTML constructors into new DOMWindowHTML suplemental idl
https://bugs.webkit.org/show_bug.cgi?id=79377

Reviewed by Adam Barth.

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* html/DOMWindowHTML.idl: Added.
* page/DOMWindow.idl:

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

12 years agoMove SVG element constructors out of DOMWindow.idl into a new DOMWindowSVG.idl suplem...
eric@webkit.org [Fri, 24 Feb 2012 02:04:40 +0000 (02:04 +0000)]
Move SVG element constructors out of DOMWindow.idl into a new DOMWindowSVG.idl suplemental
https://bugs.webkit.org/show_bug.cgi?id=79379

Reviewed by Adam Barth.

* CMakeLists.txt:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.xcodeproj/project.pbxproj:
* page/DOMWindow.idl:
* svg/DOMWindowSVG.idl: Added.

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

12 years agoUnreviewed, add Stephen Chenney to committers.py as a contributor.
enne@google.com [Fri, 24 Feb 2012 01:48:00 +0000 (01:48 +0000)]
Unreviewed, add Stephen Chenney to committers.py as a contributor.

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

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

12 years ago[chromium] Clean up GraphicsContext3D initialization paths
jamesr@google.com [Fri, 24 Feb 2012 01:38:43 +0000 (01:38 +0000)]
[chromium] Clean up GraphicsContext3D initialization paths
https://bugs.webkit.org/show_bug.cgi?id=79321

Reviewed by Kenneth Russell.

This simplifies the GraphicsContext3D initialization paths down to two simple codepaths, one for offscreen
contexts initialized from WebCore and one for onscreen (compositor) contexts initialized by WebViewImpl or
WebLayerTreeViewImpl.

Offscreen initialization path:
1) WebCore code calls WebCore::GraphicsContext3D::create(), implemented in GraphicsContext3DChromium.cpp
2) GraphicsContext3D::create() instantiates a WebGraphicsContext3D via the static WebKitPlatformSupport interface
3) GraphicsContext3DPrivate::createGraphicsContextFromWebContext() wraps the WebGraphicsContext3D in a
GraphicsContext3D's m_private pointer.

Onscreen initialization path:
1) WebViewImpl or WebLayerTreeViewImpl request an onscreen WebGraphicsContext3D from either their WebViewClient
or WebLayerTreeViewClient, respectively
2) GraphicsContext3DPrivate::createGraphicsContextFromWebContext() wraps the WebGraphicsContext3D in a
GraphicsContext3D's m_private pointer.

There are no other initialization paths. Specifically, we do not support instantiating onscreen contexts from
within WebCore.

* src/GraphicsContext3DChromium.cpp:
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
(WebCore):
(WebCore::GraphicsContext3DPrivate::platformTexture):
(WebCore::GraphicsContext3D::create):
* src/GraphicsContext3DPrivate.h:
(GraphicsContext3DPrivate):
* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::createLayerTreeHostContext3D):
* src/WebViewImpl.cpp:
(std::getCompositorContextAttributes):
(WebKit::WebViewImpl::createCompositorGraphicsContext3D):
(WebKit):
(WebKit::WebViewImpl::createLayerTreeHostContext3D):
(WebKit::WebViewImpl::graphicsContext3D):
* src/WebViewImpl.h:
(WebViewImpl):
* tests/CCLayerTreeHostImplTest.cpp:
(WebKit::CCLayerTreeHostImplTest::createContext):
(CCLayerTreeHostImplTest):
(WebKit::TEST_F):
* tests/CCLayerTreeHostTest.cpp:
(WTF::MockLayerTreeHostClient::createLayerTreeHostContext3D):
* tests/Canvas2DLayerChromiumTest.cpp:
(WebCore::Canvas2DLayerChromiumTest::fullLifecycleTest):
* tests/CompositorFakeGraphicsContext3D.h:
(WebCore::createCompositorMockGraphicsContext3D):
* tests/FakeGraphicsContext3DTest.cpp:
(TEST):

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

12 years ago[chromium] Unreviewed gardening. Apply bug number to svg/carto.net failures.
enne@google.com [Fri, 24 Feb 2012 01:33:26 +0000 (01:33 +0000)]
[chromium] Unreviewed gardening. Apply bug number to svg/carto.net failures.
https://bugs.webkit.org/show_bug.cgi?id=79423

These two tests were in a set of tests that needed to be rebaselined
after a jpeg decoder change. However, there was also a text change
during this period that caused debug vs. release differences for text
spans in the SVG output. Filing a real bug so this can get looked at.

* platform/chromium/test_expectations.txt:

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

12 years ago[chromium] Plumb video damage to the damage tracker.
commit-queue@webkit.org [Fri, 24 Feb 2012 01:32:35 +0000 (01:32 +0000)]
[chromium] Plumb video damage to the damage tracker.
https://bugs.webkit.org/show_bug.cgi?id=79373

Patch by Jonathan Backer <backer@chromium.org> on 2012-02-23
Reviewed by James Robinson.

Source/WebCore:

* platform/graphics/chromium/VideoLayerChromium.cpp:
(WebCore::VideoLayerChromium::contentChanged):
(WebCore):
* platform/graphics/chromium/VideoLayerChromium.h:
(VideoLayerChromium):

Source/WebKit/chromium:

* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::repaint):

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

12 years ago[BlackBerry] InputHandler requires cleanup of Navigation Mode handling.
commit-queue@webkit.org [Fri, 24 Feb 2012 01:27:16 +0000 (01:27 +0000)]
[BlackBerry] InputHandler requires cleanup of Navigation Mode handling.
https://bugs.webkit.org/show_bug.cgi?id=79366

Patch by Mike Fenton <mifenton@rim.com> on 2012-02-23
Reviewed by Rob Buis.

Cleanup InputHandler navigation based code.

1) Remove the concept of NavigationMode and replace it
   with simple showKeyboard calls.

2) Remove navigation move events and replace with standard
   key events.

3) Standardize function/variable names and remove obsolete
   functions.

* Api/WebPageClient.h:
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::InputHandler):
(BlackBerry::WebKit::InputHandler::nodeFocused):
(BlackBerry::WebKit::InputHandler::setElementUnfocused):
(BlackBerry::WebKit::InputHandler::setElementFocused):
(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):
(BlackBerry::WebKit::InputHandler::setDelayKeyboardVisibilityChange):
(BlackBerry::WebKit::InputHandler::processPendingKeyboardVisibilityChange):
(BlackBerry::WebKit::InputHandler::notifyClientOfKeyboardVisibilityChange):
* WebKitSupport/InputHandler.h:
(InputHandler):
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::setCaretPosition):
(BlackBerry::WebKit::SelectionHandler::updateOrHandleInputSelection):
* WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::touchEventCancel):
(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):

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

12 years agostyle-queue logs bogus messages to the QueueStatusServer
abarth@webkit.org [Fri, 24 Feb 2012 01:25:05 +0000 (01:25 +0000)]
style-queue logs bogus messages to the QueueStatusServer
https://bugs.webkit.org/show_bug.cgi?id=79424

Reviewed by Eric Seidel.

Copy/paste error.

* Scripts/webkitpy/tool/bot/stylequeuetask.py:
(StyleQueueTask._check_style):
(StyleQueueTask._apply_watch_list):
* Scripts/webkitpy/tool/commands/queues_unittest.py:

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

12 years agoThis test checks select attribute of content element is valid.
morrita@google.com [Fri, 24 Feb 2012 00:54:45 +0000 (00:54 +0000)]
This test checks select attribute of content element is valid.
https://bugs.webkit.org/show_bug.cgi?id=65595

Reviewed by Dimitri Glazkov.

Source/WebCore:

This change introduces FrameTree::scopedChild() and
FrameTree::scopedChild(), which can be used for scope-aware
frame lookup. Using these, the named accessor and the indexed
acceccor on Document, and Window.length are now TreeScope
aware. They don't count iframes in Shadow DOM.

This change also removes FrameTree::m_childCount since
Frame::childCount() is no longer in the hot
path. m_scopedChildCount is added instead.

Test: fast/dom/shadow/iframe-shadow.html

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::childFrameGetter):
(WebCore::indexGetter):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertyDescriptor):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::indexedPropertyGetter):
(WebCore::V8DOMWindow::namedPropertyGetter):
(WebCore::V8DOMWindow::namedSecurityCheck):
(WebCore::V8DOMWindow::indexedSecurityCheck):
* page/DOMWindow.cpp:
(WebCore::DOMWindow::length):
* page/Frame.cpp:
(WebCore::Frame::inScope):
(WebCore):
* page/Frame.h:
(WebCore):
(Frame):
* page/FrameTree.cpp:
(WebCore::FrameTree::actuallyAppendChild):
(WebCore::FrameTree::removeChild):
(WebCore::FrameTree::scopedChild):
(WebCore):
(WebCore::FrameTree::scopedChildCount):
(WebCore::FrameTree::childCount):
* page/FrameTree.h:
(WebCore):
(FrameTree):
(WebCore::FrameTree::FrameTree):

LayoutTests:

* fast/dom/shadow/iframe-shadow-expected.txt: Added.
* fast/dom/shadow/iframe-shadow.html: Added.

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

12 years agoRecompute font metrics on scale changes
commit-queue@webkit.org [Fri, 24 Feb 2012 00:52:35 +0000 (00:52 +0000)]
Recompute font metrics on scale changes
https://bugs.webkit.org/show_bug.cgi?id=75091

Patch by Philip Rogers <pdr@google.com> on 2012-02-23
Reviewed by Nikolas Zimmermann.

Source/WebCore:

SVG text metrics depend on the transform from renderer to the svg root
which requires that we propagate transform changes down to text.
This change adds a boolean for tracking transform changes to
SVGViewportContainers and SVGTransformableContainers, and updates
RenderSVGText::layout() to recalculate text metrics if the transform
of an ancestor has changed.

Tests: platform/mac/svg/text/text-rescale.html
       platform/mac/svg/text/text-viewbox-rescale.html
       svg/text/text-rescale.html
       svg/text/text-viewbox-rescale.html

* rendering/RenderObject.h:
(WebCore::RenderObject::isSVGTransformableContainer):
(WebCore::RenderObject::isSVGViewportContainer):
* rendering/svg/RenderSVGContainer.h:
(WebCore::RenderSVGContainer::didTransformToRootUpdate):
* rendering/svg/RenderSVGInlineText.cpp:
(WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
* rendering/svg/RenderSVGText.cpp:
(WebCore::RenderSVGText::RenderSVGText):
(WebCore::RenderSVGText::layout):
* rendering/svg/RenderSVGText.h:
(WebCore::RenderSVGText::setNeedsTextMetricsUpdate):
(RenderSVGText):
* rendering/svg/RenderSVGTransformableContainer.cpp:
(WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer):
(WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
* rendering/svg/RenderSVGTransformableContainer.h:
(WebCore::RenderSVGTransformableContainer::isSVGTransformableContainer):
(WebCore::RenderSVGTransformableContainer::didTransformToRootUpdate):
(RenderSVGTransformableContainer):
* rendering/svg/RenderSVGViewportContainer.cpp:
(WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
(WebCore::RenderSVGViewportContainer::calcViewport):
* rendering/svg/RenderSVGViewportContainer.h:
(WebCore::RenderSVGViewportContainer::didTransformToRootUpdate):
(RenderSVGViewportContainer):
* rendering/svg/SVGRenderSupport.cpp:
(WebCore::SVGRenderSupport::transformToRootChanged):
(WebCore):
(WebCore::SVGRenderSupport::layoutChildren):
* rendering/svg/SVGRenderSupport.h:
(SVGRenderSupport):

LayoutTests:

* platform/chromium-linux/svg/text/text-rescale-expected.png: Added.
* platform/chromium-linux/svg/text/text-rescale-expected.txt: Added.
* platform/chromium-linux/svg/text/text-viewbox-rescale-expected.png: Added.
* platform/chromium-linux/svg/text/text-viewbox-rescale-expected.txt: Added.
* platform/chromium/test_expectations.txt:
* platform/mac/svg/text/text-rescale-expected.png: Added.
* platform/mac/svg/text/text-rescale-expected.txt: Added.
* platform/mac/svg/text/text-rescale.html: Added.
* platform/mac/svg/text/text-viewbox-rescale-expected.png: Added.
* platform/mac/svg/text/text-viewbox-rescale-expected.txt: Added.
* platform/mac/svg/text/text-viewbox-rescale.html: Added.
* svg/text/text-rescale-expected.png: Added.
* svg/text/text-rescale-expected.txt: Added.
* svg/text/text-rescale.html: Added.
* svg/text/text-viewbox-rescale-expected.png: Added.
* svg/text/text-viewbox-rescale-expected.txt: Added.
* svg/text/text-viewbox-rescale.html: Added.

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

12 years ago[chromium] Notify compositor of wheel event registration via ScrollingCoordinator
jamesr@google.com [Fri, 24 Feb 2012 00:29:53 +0000 (00:29 +0000)]
[chromium] Notify compositor of wheel event registration via ScrollingCoordinator
https://bugs.webkit.org/show_bug.cgi?id=79133

Reviewed by Dimitri Glazkov.

Source/WebCore:

This notifies the chromium compositor of changes to the number of wheel event handlers via ScrollingCoordinator
instead of through ChromeClient/WebViewImpl. This is the path we'll use for other properties in the future and
is more extensible for handling things other than the root layer.

Property behavior is covered by new unit tests in LayerChromiumTests and CCLayerTreeHostImplTest.

* page/scrolling/ScrollingCoordinator.cpp:
* page/scrolling/ScrollingCoordinator.h:
(WebCore):
(ScrollingCoordinator):
    Add a ScrollingCoordinatorPrivate so implementations can tack on additional data without having to #ifdef up
    ScrollingCoordinator.h/cpp
* page/scrolling/ScrollingCoordinatorNone.cpp:
(WebCore):
(WebCore::ScrollingCoordinator::~ScrollingCoordinator):
* page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
(ScrollingCoordinatorPrivate):
    ScrollingCoordinatorPrivate in the chromium implementation keeps a reference to the scroll layer.
(WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
(WebCore::ScrollingCoordinatorPrivate::~ScrollingCoordinatorPrivate):
(WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
(WebCore::ScrollingCoordinatorPrivate::scrollLayer):
(WebCore):
(WebCore::ScrollingCoordinator::create):
(WebCore::ScrollingCoordinator::~ScrollingCoordinator):
(WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
(WebCore::ScrollingCoordinator::setScrollLayer):
(WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
(WebCore::ScrollingCoordinator::setScrollParameters):
(WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
(WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
* page/scrolling/mac/ScrollingCoordinatorMac.mm:
(WebCore):
(WebCore::ScrollingCoordinator::~ScrollingCoordinator):
* platform/graphics/chromium/LayerChromium.cpp:
(WebCore::LayerChromium::LayerChromium):
(WebCore::LayerChromium::setHaveWheelEventHandlers):
(WebCore):
(WebCore::LayerChromium::pushPropertiesTo):
* platform/graphics/chromium/LayerChromium.h:
(LayerChromium):
* platform/graphics/chromium/cc/CCInputHandler.h:
* platform/graphics/chromium/cc/CCLayerImpl.cpp:
(WebCore::CCLayerImpl::CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerImpl.h:
(WebCore::CCLayerImpl::haveWheelEventHandlers):
(WebCore::CCLayerImpl::setHaveWheelEventHandlers):
(CCLayerImpl):
* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
(WebCore::CCLayerTreeHost::CCLayerTreeHost):
(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
(CCLayerTreeHost):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
(WebCore::CCLayerTreeHostImpl::scrollBegin):
* platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
(CCLayerTreeHostImpl):

Source/WebKit/chromium:

Rips out old wheel event notification and adds unit tests for new LayerChromium property.

* src/NonCompositedContentHost.cpp:
(WebKit::NonCompositedContentHost::setViewport):
* src/WebCompositorInputHandlerImpl.cpp:
(WebKit::WebCompositorInputHandlerImpl::handleInputEvent):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::numberOfWheelEventHandlersChanged):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):
* src/WebViewImpl.h:
* tests/CCLayerTreeHostImplTest.cpp:
(WebKit::TEST_F):
(WebKit):
* tests/LayerChromiumTest.cpp:
* tests/WebCompositorInputHandlerImplTest.cpp:

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

12 years ago[chromium] Unreviewed gardening. Re-enable a handful of tests.
enne@google.com [Fri, 24 Feb 2012 00:26:10 +0000 (00:26 +0000)]
[chromium] Unreviewed gardening. Re-enable a handful of tests.

These have no relation to each other, but all don't appear to be
failing anymore, so removing expectations for them.

* platform/chromium/test_expectations.txt:

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

12 years ago[Qt][WK2] Clipping is broken
noam.rosenthal@nokia.com [Fri, 24 Feb 2012 00:24:40 +0000 (00:24 +0000)]
[Qt][WK2] Clipping is broken
https://bugs.webkit.org/show_bug.cgi?id=78677

Reviewed by Simon Hausmann.

Rework the clipping stack in TextureMapperGL.
Instead of saving a stack of IntRect scissor clips, we save every clipping change in the
stack, and reapply it when we end the clip. Popping the stack is almost free, since we
don't reapply the stencil but simply change the stencil test index.

In addition, we don't use a special shader for clipping, and we don't apply clipping for
masked children, since they're already clipped because they're rendered into an intermediate
buffer.

This fixes exiting tests in LayoutTests/compositing/overflow.
It also fixes asserts in the leaves demo, as well as asserts in nytimes.com and other sites.

* page/FrameView.cpp:
(WebCore::FrameView::paintContents):
* platform/graphics/texmap/TextureMapperGL.cpp:
(ClipState):
(WebCore::TextureMapperGLData::SharedGLData::ClipState::ClipState):
(SharedGLData):
(WebCore::TextureMapperGLData::SharedGLData::pushClipState):
(WebCore::TextureMapperGLData::SharedGLData::popClipState):
(WebCore::TextureMapperGLData::SharedGLData::scissorClip):
(WebCore::TextureMapperGLData::SharedGLData::applyCurrentClip):
(TextureMapperGLData):
(BitmapTextureGL):
(WebCore::TextureMapperGLData::initStencil):
(WebCore):
(WebCore::TextureMapperGL::beginPainting):
(WebCore::TextureMapperGL::endPainting):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::BitmapTextureGL::initStencil):
(WebCore::BitmapTextureGL::bind):
(WebCore::BitmapTextureGL::destroy):
(WebCore::TextureMapperGL::bindSurface):
(WebCore::TextureMapperGL::beginScissorClip):
(WebCore::TextureMapperGL::beginClip):
(WebCore::TextureMapperGL::endClip):
* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::paintSelfAndChildren):
* platform/graphics/texmap/TextureMapperShaderManager.cpp:
* platform/graphics/texmap/TextureMapperShaderManager.h:

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

12 years agoAdd Chromium gpu_tests to the flakiness dashboard
commit-queue@webkit.org [Fri, 24 Feb 2012 00:18:28 +0000 (00:18 +0000)]
Add Chromium gpu_tests to the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=79300

Patch by Dave Tu <dtu@chromium.org> on 2012-02-23
Reviewed by Ojan Vafai.

* Tools/TestResultServer/static-dashboards/builders.js:
* Tools/TestResultServer/static-dashboards/dashboard_base.js:

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

12 years ago[GTK] Wrong signal name on emission in WebKitWindowProperties.cpp
commit-queue@webkit.org [Fri, 24 Feb 2012 00:08:27 +0000 (00:08 +0000)]
[GTK] Wrong signal name on emission in WebKitWindowProperties.cpp
https://bugs.webkit.org/show_bug.cgi?id=79352

Patch by Mario Sanchez Prada <msanchez@igalia.com> on 2012-02-23
Reviewed by Philippe Normand.

Emit the signal 'resizable' instead of 'resizable-visible'.

* UIProcess/API/gtk/WebKitWindowProperties.cpp:
(webkitWindowPropertiesSetResizable): Use right signal name.

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

12 years agoUse self._filesystem in more places in the SCM classes
eric@webkit.org [Fri, 24 Feb 2012 00:05:33 +0000 (00:05 +0000)]
Use self._filesystem in more places in the SCM classes
https://bugs.webkit.org/show_bug.cgi?id=79415

Reviewed by Adam Barth.

* Scripts/webkitpy/common/checkout/scm/detection_unittest.py:
(SCMDetectorTest.test_detect_scm_system):
* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.find_checkout_root):
(Git.to_object_name):
* Scripts/webkitpy/common/checkout/scm/scm.py:
(SCM.__init__):
(SCM.in_working_directory):
* Scripts/webkitpy/common/checkout/scm/svn.py:
(SVN.find_uuid):
(SVN.find_checkout_root):

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

12 years agoUnreviewed, rolling out r108685.
enne@google.com [Fri, 24 Feb 2012 00:03:29 +0000 (00:03 +0000)]
Unreviewed, rolling out r108685.
http://trac.webkit.org/changeset/108685
https://bugs.webkit.org/show_bug.cgi?id=79414

Broke Chromium builds (Requested by enne on #webkit).

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

Source/WebCore:

* Target.pri:
* WebCore.pri:
* platform/MIMETypeRegistry.cpp:
(WebCore::initializeSupportedImageMIMETypes):
(WebCore::initializeSupportedImageMIMETypesForEncoding):
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageFrame::getAddr):
(ImageFrame):
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
* platform/image-decoders/png/PNGImageDecoder.cpp:
(WebCore):
* platform/image-decoders/qt/ImageFrameQt.cpp:

Tools:

* qmake/mkspecs/features/features.prf:

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

12 years agostyle-queue shouldn't spam bugs if it fails to update its working copy
abarth@webkit.org [Thu, 23 Feb 2012 23:59:44 +0000 (23:59 +0000)]
style-queue shouldn't spam bugs if it fails to update its working copy
https://bugs.webkit.org/show_bug.cgi?id=79412

Reviewed by Eric Seidel.

This patch moves style-queue over to the new PatchAnalysisTask
infrastructure, which is smarter about retrying patches when update
fails.

* Scripts/webkitpy/common/system/executive_mock.py:
(MockExecutive.run_and_throw_if_fail):
* Scripts/webkitpy/tool/bot/earlywarningsystemtask.py:
* Scripts/webkitpy/tool/bot/patchanalysistask.py:
(UnableToApplyPatch):
(UnableToApplyPatch.__init__):
(PatchAnalysisTask.__init__):
* Scripts/webkitpy/tool/bot/stylequeuetask.py: Added.
(StyleQueueTaskDelegate):
(StyleQueueTaskDelegate.parent_command):
(StyleQueueTask):
(StyleQueueTask.validate):
(StyleQueueTask._check_style):
(StyleQueueTask._apply_watch_list):
(StyleQueueTask.run):
* Scripts/webkitpy/tool/commands/earlywarningsystem.py:
* Scripts/webkitpy/tool/commands/queues.py:
(StyleQueue):
(StyleQueue.should_proceed_with_work_item):
(StyleQueue.review_patch):
(StyleQueue.run_command):
(StyleQueue.command_passed):
(StyleQueue.command_failed):
(StyleQueue.expected_failures):
(StyleQueue.refetch_patch):
* Scripts/webkitpy/tool/commands/queues_unittest.py:
(StyleQueueTest.test_style_queue_with_style_exception):
(test_style_queue_with_watch_list_exception):

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

12 years agoCSS2:text-decoration: <rt> element should not inherit text-decoration property
commit-queue@webkit.org [Thu, 23 Feb 2012 23:55:51 +0000 (23:55 +0000)]
CSS2:text-decoration: <rt> element should not inherit text-decoration property
https://bugs.webkit.org/show_bug.cgi?id=71266

Patch by Koji Ishii <kojiishi@gmail.com> on 2012-02-23
Reviewed by Kentaro Hara.

Source/WebCore:

Tests: fast/ruby/text-decoration-in-descendants-ruby-expected.html
       fast/ruby/text-decoration-in-descendants-ruby.html

The spec says "text decorations are not propagated to any out-of-flow descendants":
http://www.w3.org/TR/2011/WD-css3-text-20110901/#decoration
Floats etc. are fixed in bug 18611, but <rt> is not inline either and therefore
it should be included; it was confirmed at a discussion at www-style.
http://lists.w3.org/Archives/Public/www-style/2011Sep/0238.html

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

LayoutTests:

The spec says "text decorations are not propagated to any out-of-flow descendants":
http://www.w3.org/TR/2011/WD-css3-text-20110901/#decoration
Floats etc. are fixed in bug 18611, but <rt> is not inline either and therefore
it should be included; it was confirmed at a discussion at www-style.
http://lists.w3.org/Archives/Public/www-style/2011Sep/0238.html

* fast/ruby/text-decoration-in-descendants-ruby-expected.html: Added.
* fast/ruby/text-decoration-in-descendants-ruby.html: Added.

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

12 years agoMake fast/js/script-tests/dfg-inline-function-dot-caller not timeout.
fpizlo@apple.com [Thu, 23 Feb 2012 23:50:39 +0000 (23:50 +0000)]
Make fast/js/script-tests/dfg-inline-function-dot-caller not timeout.

Rubber stamped by Oliver Hunt.

Verified that the test still causes inlining to happen and still passes but
otherwise reduced the loops to take an order of magnitude fewer iterations.

* fast/js/script-tests/dfg-inline-function-dot-caller.js:
(object.nonInlineable.nonInlineable.if):
(object.nonInlineable):
(makeInlinableCall):

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

12 years ago[chromium] Unreviewed gardening. Mark two fast/files/ tests as non-flaky.
enne@google.com [Thu, 23 Feb 2012 23:44:22 +0000 (23:44 +0000)]
[chromium] Unreviewed gardening. Mark two fast/files/ tests as non-flaky.
https://bugs.webkit.org/show_bug.cgi?id=45667

These two look like they're passing consistently, so remove
expectations.

* platform/chromium/test_expectations.txt:

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

12 years ago[Qt] Allow to use WebCore imagedecoders
zoltan@webkit.org [Thu, 23 Feb 2012 23:37:48 +0000 (23:37 +0000)]
[Qt] Allow to use WebCore imagedecoders
https://bugs.webkit.org/show_bug.cgi?id=32410

Source/WebCore:

Add ENABLE(QT_IMAGE_DECODER) guards around Qt imagedecoders and set it to default.
By passing ENABLE_QT_IMAGE_DECODER=0 define to the build system WebKit will build
with WebCore's imagedecoders.

I added NO_RETURN attribute to 2 functions of PNG and JPEG decoders to avoid compiler warnings
because in Qt-port we treat warning as errors (-Werror).

I'm continuing the refactoring of this area and try to use Qt imagedecoders only in
cases when WebCore doesn't support the image format.

Reviewed by Simon Hausmann.

No behavior change, no need new tests.

* Target.pri:
* WebCore.pri:
* platform/MIMETypeRegistry.cpp:
(WebCore::initializeSupportedImageMIMETypes):
(WebCore::initializeSupportedImageMIMETypesForEncoding):
* platform/image-decoders/ImageDecoder.h:
(WebCore::ImageFrame::getAddr):
(ImageFrame):
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
NO_RETURN has been added to a function to avoid warning message.
* platform/image-decoders/png/PNGImageDecoder.cpp:
NO_RETURN has been added to a function to avoid warning message.
(WebCore):
* platform/image-decoders/qt/ImageFrameQt.cpp:
(WebCore):
(WebCore::ImageFrame::asNewNativeImage):

Tools:

Add ENABLE_QT_IMAGE_DECODER macro, it's enabled by default.

Reviewed by Simon Hausmann.

* qmake/mkspecs/features/features.prf:

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

12 years agoRemove old broken find_checkout_root tests now that find_checkout_root is gone
eric@webkit.org [Thu, 23 Feb 2012 23:26:27 +0000 (23:26 +0000)]
Remove old broken find_checkout_root tests now that find_checkout_root is gone
https://bugs.webkit.org/show_bug.cgi?id=79405

Reviewed by Adam Barth.

* Scripts/webkitpy/common/checkout/scm/detection_unittest.py: Added.
(SCMDetectorTest):
(SCMDetectorTest.test_find_checkout_root):
* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
(SVNTestRepository.tear_down):

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

12 years ago[chromium] Unreviewed gardening. Mark a media-fragments test as slow.
enne@google.com [Thu, 23 Feb 2012 23:20:27 +0000 (23:20 +0000)]
[chromium] Unreviewed gardening. Mark a media-fragments test as slow.
https://bugs.webkit.org/show_bug.cgi?id=77523

This has been periodically timing out on Win, so give it more time.

* platform/chromium/test_expectations.txt:

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

12 years ago[Qt][WK2] Implement proxy authentication dialog.
commit-queue@webkit.org [Thu, 23 Feb 2012 23:20:11 +0000 (23:20 +0000)]
[Qt][WK2] Implement proxy authentication dialog.
https://bugs.webkit.org/show_bug.cgi?id=79350

Patch by Michael BrĂ¼ning <michael.bruning@nokia.com> on 2012-02-23
Reviewed by Simon Hausmann.

* MiniBrowser/qt/MiniBrowser.qrc:
* MiniBrowser/qt/qml/BrowserWindow.qml:
* MiniBrowser/qt/qml/ProxyAuthenticationDialog.qml: Added.

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

12 years agoMake Interpreter::getStackTrace be able to generate the line number for the top callf...
oliver@apple.com [Thu, 23 Feb 2012 23:18:05 +0000 (23:18 +0000)]
Make Interpreter::getStackTrace be able to generate the line number for the top callframe if none is provided
https://bugs.webkit.org/show_bug.cgi?id=79407

Reviewed by Gavin Barraclough.

Outside of exception handling, we don't know what our source line number is.  This
change allows us to pass -1 is as the initial line number, and get the correct line
number in the resultant stack trace.  We can't completely elide the initial line
number (yet) due to some idiosyncrasies of the exception handling machinery.

* interpreter/Interpreter.cpp:
(JSC::getLineNumberForCallFrame):
(JSC):
(JSC::Interpreter::getStackTrace):

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

12 years ago[chromium] New baselines for CSS3 filters drop-shadow() tests.
senorblanco@chromium.org [Thu, 23 Feb 2012 23:13:44 +0000 (23:13 +0000)]
[chromium] New baselines for CSS3 filters drop-shadow() tests.

Unreviewed gardening.

* platform/chromium-linux/css3/filters/effect-drop-shadow-hw-expected.png: Added.
* platform/chromium-mac-snowleopard/css3/filters/effect-drop-shadow-hw-expected.png:
* platform/chromium-win/css3/filters/effect-drop-shadow-hw-expected.png:
* platform/chromium/test_expectations.txt:

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

12 years agoUnreviewed, rolling out r108666.
enne@google.com [Thu, 23 Feb 2012 23:12:15 +0000 (23:12 +0000)]
Unreviewed, rolling out r108666.
http://trac.webkit.org/changeset/108666
https://bugs.webkit.org/show_bug.cgi?id=79321

Breaks webplugin tests: http://goo.gl/CoHIi

* src/GraphicsContext3DChromium.cpp:
(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore):
(WebCore::GraphicsContext3DPrivate::create):
(WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
(WebCore::GraphicsContext3DPrivate::createGraphicsContextForAnotherThread):
(WebCore::GraphicsContext3DPrivate::platformTexture):
(WebCore::GraphicsContext3D::create):
* src/GraphicsContext3DPrivate.h:
(WebKit):
(GraphicsContext3DPrivate):
* src/WebLayerTreeViewImpl.cpp:
(WebKit::WebLayerTreeViewImpl::createLayerTreeHostContext3D):
* src/WebViewImpl.cpp:
(std::getCompositorContextAttributes):
(WebKit::WebViewImpl::createLayerTreeHostContext3D):
(WebKit::WebViewImpl::graphicsContext3D):
* tests/CCLayerTreeHostImplTest.cpp:
(CCLayerTreeHostImplTest):
(WebKit::TEST_F):
* tests/CCLayerTreeHostTest.cpp:
(WTF::MockLayerTreeHostClient::createLayerTreeHostContext3D):
* tests/Canvas2DLayerChromiumTest.cpp:
(WebCore::Canvas2DLayerChromiumTest::fullLifecycleTest):
* tests/CompositorFakeGraphicsContext3D.h:
(WebCore::createCompositorMockGraphicsContext3D):
* tests/FakeGraphicsContext3DTest.cpp:
(TEST):

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

12 years ago[chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class.
commit-queue@webkit.org [Thu, 23 Feb 2012 23:03:32 +0000 (23:03 +0000)]
[chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class.
https://bugs.webkit.org/show_bug.cgi?id=75864

Patch by Dana Jansens <danakj@chromium.org> on 2012-02-23
Reviewed by James Robinson.

* platform/graphics/chromium/cc/CCLayerIterator.cpp:
(WebCore::CCLayerIteratorActions::BackToFront::begin):
(WebCore::CCLayerIteratorActions::BackToFront::end):
(WebCore::CCLayerIteratorActions::BackToFront::next):
(WebCore::CCLayerIteratorActions::FrontToBack::begin):
(WebCore::CCLayerIteratorActions::FrontToBack::end):
(WebCore::CCLayerIteratorActions::FrontToBack::next):
(WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
* platform/graphics/chromium/cc/CCLayerIterator.h:
(WebCore::CCLayerIterator::CCLayerIterator):
(WebCore::CCLayerIterator::operator++):
(WebCore::CCLayerIterator::operator==):
(WebCore::CCLayerIterator::operator->):
(WebCore::CCLayerIterator::operator*):
(WebCore::CCLayerIterator::representsTargetRenderSurface):
(WebCore::CCLayerIterator::representsContributingRenderSurface):
(WebCore::CCLayerIterator::currentLayer):
(WebCore::CCLayerIterator::currentLayerRepresentsContributingRenderSurface):
(WebCore::CCLayerIterator::currentLayerRepresentsTargetRenderSurface):
(WebCore::CCLayerIterator::targetRenderSurfaceLayer):
(WebCore::CCLayerIterator::targetRenderSurface):
(WebCore::CCLayerIterator::targetRenderSurfaceChildren):
* platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Removed.

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

12 years agoDFG OSR exit value profiling should have graceful handling of local variables and...
fpizlo@apple.com [Thu, 23 Feb 2012 22:51:09 +0000 (22:51 +0000)]
DFG OSR exit value profiling should have graceful handling of local variables and arguments
https://bugs.webkit.org/show_bug.cgi?id=79310

Reviewed by Gavin Barraclough.

Previously, if we OSR exited because a prediction in a local was wrong, we'd
only realize what the true type of the local was if the regular value profiling
kicked in and told us. Unless the local was block-locally copy propagated, in
which case we'd know from an OSR exit profile.

This patch adds OSR exit profiling to all locals and arguments. Now, if we OSR
exit because of a mispredicted local or argument type, we'll know what the type of
the local or argument should be immediately upon exiting.

The way that local variable OSR exit profiling works is that we now have a lazily
added set of OSR-exit-only value profiles for exit sites that are BadType and that
cited a GetLocal as their value source. The value profiles are only added if the
OSR exit is taken, and are keyed by CodeBlock, bytecode index of the GetLocal, and
operand. The look-up is performed by querying the
CompressedLazyOperandValueProfileHolder in the CodeBlock, using a key that contains
the bytecode index and the operand. Because the value profiles are added at random
times, they are not sorted; instead they are just stored in an arbitrarily-ordered
SegmentedVector. Look-ups are made fast by "decompressing": the DFG::ByteCodeParser
creates a LazyOperandValueProfileParser, which turns the
CompressedLazyOperandValueProfileHolder's contents into a HashMap for the duration
of DFG parsing.

Previously, OSR exits had a pointer to the ValueProfile that had the specFailBucket
into which values observed during OSR exit would be placed. Now it uses a lazy
thunk for a ValueProfile. I call this the MethodOfGettingAValueProfile. It may
either contain a ValueProfile inside it (which works for previous uses of OSR exit
profiling) or it may just have knowledge of how to go about creating the
LazyOperandValueProfile in the case that the OSR exit is actually taken. This
ensures that we never have to create NumOperands*NumBytecodeIndices*NumCodeBlocks
value profiling buckets unless we actually did OSR exit on every single operand,
in every single instruction, in each code block (that's probably unlikely).

This appears to be neutral on the major benchmarks, but is a double-digit speed-up
on code deliberately written to have data flow that spans basic blocks and where
the code exhibits post-optimization polymorphism in a local variable.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::stronglyVisitStrongReferences):
* bytecode/CodeBlock.h:
(CodeBlock):
(JSC::CodeBlock::lazyOperandValueProfiles):
* bytecode/LazyOperandValueProfile.cpp: Added.
(JSC):
(JSC::CompressedLazyOperandValueProfileHolder::CompressedLazyOperandValueProfileHolder):
(JSC::CompressedLazyOperandValueProfileHolder::~CompressedLazyOperandValueProfileHolder):
(JSC::CompressedLazyOperandValueProfileHolder::computeUpdatedPredictions):
(JSC::CompressedLazyOperandValueProfileHolder::add):
(JSC::LazyOperandValueProfileParser::LazyOperandValueProfileParser):
(JSC::LazyOperandValueProfileParser::~LazyOperandValueProfileParser):
(JSC::LazyOperandValueProfileParser::getIfPresent):
(JSC::LazyOperandValueProfileParser::prediction):
* bytecode/LazyOperandValueProfile.h: Added.
(JSC):
(LazyOperandValueProfileKey):
(JSC::LazyOperandValueProfileKey::LazyOperandValueProfileKey):
(JSC::LazyOperandValueProfileKey::operator!):
(JSC::LazyOperandValueProfileKey::operator==):
(JSC::LazyOperandValueProfileKey::hash):
(JSC::LazyOperandValueProfileKey::bytecodeOffset):
(JSC::LazyOperandValueProfileKey::operand):
(JSC::LazyOperandValueProfileKey::isHashTableDeletedValue):
(JSC::LazyOperandValueProfileKeyHash::hash):
(JSC::LazyOperandValueProfileKeyHash::equal):
(LazyOperandValueProfileKeyHash):
(WTF):
(JSC::LazyOperandValueProfile::LazyOperandValueProfile):
(LazyOperandValueProfile):
(JSC::LazyOperandValueProfile::key):
(CompressedLazyOperandValueProfileHolder):
(LazyOperandValueProfileParser):
* bytecode/MethodOfGettingAValueProfile.cpp: Added.
(JSC):
(JSC::MethodOfGettingAValueProfile::fromLazyOperand):
(JSC::MethodOfGettingAValueProfile::getSpecFailBucket):
* bytecode/MethodOfGettingAValueProfile.h: Added.
(JSC):
(MethodOfGettingAValueProfile):
(JSC::MethodOfGettingAValueProfile::MethodOfGettingAValueProfile):
(JSC::MethodOfGettingAValueProfile::operator!):
* bytecode/ValueProfile.cpp: Removed.
* bytecode/ValueProfile.h:
(JSC):
(ValueProfileBase):
(JSC::ValueProfileBase::ValueProfileBase):
(JSC::ValueProfileBase::dump):
(JSC::ValueProfileBase::computeUpdatedPrediction):
(JSC::MinimalValueProfile::MinimalValueProfile):
(ValueProfileWithLogNumberOfBuckets):
(JSC::ValueProfileWithLogNumberOfBuckets::ValueProfileWithLogNumberOfBuckets):
(JSC::ValueProfile::ValueProfile):
(JSC::getValueProfileBytecodeOffset):
(JSC::getRareCaseProfileBytecodeOffset):
* dfg/DFGByteCodeParser.cpp:
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::injectLazyOperandPrediction):
(JSC::DFG::ByteCodeParser::getLocal):
(JSC::DFG::ByteCodeParser::getArgument):
(InlineStackEntry):
(JSC::DFG::ByteCodeParser::fixVariableAccessPredictions):
(DFG):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):
(JSC::DFG::ByteCodeParser::parse):
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::valueProfileFor):
(JSC::DFG::Graph::methodOfGettingAValueProfileFor):
(Graph):
* dfg/DFGNode.h:
(Node):
* dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::OSRExit):
* dfg/DFGOSRExit.h:
(OSRExit):
* dfg/DFGOSRExitCompiler32_64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGOSRExitCompiler64.cpp:
(JSC::DFG::OSRExitCompiler::compileExit):
* dfg/DFGPhase.cpp:
(JSC::DFG::Phase::beginPhase):
(JSC::DFG::Phase::endPhase):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::speculationCheck):
* dfg/DFGVariableAccessData.h:
(JSC::DFG::VariableAccessData::nonUnifiedPrediction):
(VariableAccessData):

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

12 years agoFlush layer changes after layout when resizing web page
andersca@apple.com [Thu, 23 Feb 2012 22:41:05 +0000 (22:41 +0000)]
Flush layer changes after layout when resizing web page
https://bugs.webkit.org/show_bug.cgi?id=79399
<rdar://problem/10920157>

Reviewed by Andreas Kling.

Flush layer changes after layout, otherwise the scrollbars won't be updated
until sometime later which looks bad.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):

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

12 years ago[Chromium] Add video stream texture support
commit-queue@webkit.org [Thu, 23 Feb 2012 22:10:02 +0000 (22:10 +0000)]
[Chromium] Add video stream texture support
https://bugs.webkit.org/show_bug.cgi?id=78398

This upstreams the abstraction used on Android for
hardware video decoding with the compositor.

Most of the interfaces are kept generic and the core
of this change is to allow texturing from an external
texture while receiving notifications (on the compositor
thread if we are running it) when there are new frames to
be displayed.

Patch by Daniel Sievers <sievers@chromium.org> on 2012-02-23
Reviewed by James Robinson.

Source/WebCore:

* platform/graphics/chromium/Extensions3DChromium.h:
* platform/graphics/chromium/LayerRendererChromium.cpp:
(WebCore::LayerRendererChromium::drawSingleTextureVideoQuad):
(WebCore::LayerRendererChromium::drawRGBA):
(WebCore::LayerRendererChromium::drawNativeTexture):
(WebCore):
(WebCore::LayerRendererChromium::drawStreamTexture):
(WebCore::LayerRendererChromium::drawVideoQuad):
(WebCore::LayerRendererChromium::streamTextureLayerProgram):
(WebCore::LayerRendererChromium::cleanupSharedObjects):
* platform/graphics/chromium/LayerRendererChromium.h:
(LayerRendererChromium):
* platform/graphics/chromium/ShaderChromium.cpp:
(WebCore::VertexShaderVideoTransform::VertexShaderVideoTransform):
(WebCore):
(WebCore::VertexShaderVideoTransform::init):
(WebCore::VertexShaderVideoTransform::getShaderString):
(WebCore::FragmentShaderOESImageExternal::init):
(WebCore::FragmentShaderOESImageExternal::getShaderString):
* platform/graphics/chromium/ShaderChromium.h:
(VertexShaderVideoTransform):
(WebCore::VertexShaderVideoTransform::matrixLocation):
(WebCore::VertexShaderVideoTransform::texTransformLocation):
(WebCore::VertexShaderVideoTransform::texMatrixLocation):
(WebCore):
(FragmentShaderOESImageExternal):
* platform/graphics/chromium/VideoFrameChromium.h:
* platform/graphics/chromium/VideoFrameProvider.h:
(Client):
(VideoFrameProvider):
* platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
(WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
* platform/graphics/chromium/cc/CCVideoDrawQuad.h:
(WebCore::CCVideoDrawQuad::matrix):
(CCVideoDrawQuad):
(WebCore::CCVideoDrawQuad::setMatrix):
* platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
(WebCore):
(WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
(WebCore::convertVFCFormatToGC3DFormat):
(WebCore::CCVideoLayerImpl::appendQuads):
(WebCore::CCVideoLayerImpl::didReceiveFrame):
(WebCore::CCVideoLayerImpl::didUpdateMatrix):
(WebCore::CCVideoLayerImpl::setNeedsRedraw):
* platform/graphics/chromium/cc/CCVideoLayerImpl.h:
(WebCore):
(CCVideoLayerImpl):

Source/WebKit/chromium:

* WebKit.gyp:
* public/WebMediaPlayer.h:
(WebKit):
(WebKit::WebMediaPlayer::setStreamTextureClient):
(WebMediaPlayer):
* public/WebStreamTextureClient.h: Copied from Source/WebKit/chromium/public/WebVideoFrame.h.
(WebKit):
(WebStreamTextureClient):
(WebKit::WebStreamTextureClient::~WebStreamTextureClient):
* public/WebVideoFrame.h:
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::~WebMediaPlayerClientImpl):
(WebKit::WebMediaPlayerClientImpl::setVideoFrameProviderClient):
(WebKit::WebMediaPlayerClientImpl::didReceiveFrame):
(WebKit):
(WebKit::WebMediaPlayerClientImpl::didUpdateMatrix):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):

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