Timeline



May 10, 2012:

11:56 PM Changeset in webkit [116732] by ojan@chromium.org
  • 9 edits
    3 adds in trunk/Tools

Add a perf tab to garden-o-matic
https://bugs.webkit.org/show_bug.cgi?id=86169

Reviewed by Dimitri Glazkov.

This is a first stab at making it easier to view the Chromium WebKit canary
perf graphs. For now, it's just a couple select elements and an iframe.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/run-unittests.html:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/perf.js: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/perf_unittests.js: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/perf.css: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/results.css:
11:33 PM Changeset in webkit [116731] by commit-queue@webkit.org
  • 10 edits in trunk/Source

[Chromium] Move instantiation of texture uploader to LayerRendererChromium.
https://bugs.webkit.org/show_bug.cgi?id=85893

Patch by David Reveman <reveman@chromium.org> on 2012-05-10
Reviewed by Adrienne Walker.

Source/WebCore:

Move instantiation of texture uploader to LayerRendererChromium and
allow CCProxy to decide between a throttled or unthrottled uploader
using a flag passed to the LayerRendererChromium constructor.

  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::create):
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::initializeSharedObjects):

  • platform/graphics/chromium/LayerRendererChromium.h:

(LayerRendererChromium):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:

(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

(CCLayerTreeHostImpl):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:

(WebCore::CCSingleThreadProxy::initializeLayerRenderer):
(WebCore::CCSingleThreadProxy::recreateContext):

  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
(WebCore::CCThreadProxy::recreateContextOnImplThread):

Source/WebKit/chromium:

  • tests/CCLayerTreeHostImplTest.cpp:

(WebKitTests::CCLayerTreeHostImplTest::CCLayerTreeHostImplTest):
(WebKitTests::TEST_F):

  • tests/LayerRendererChromiumTest.cpp:

(FakeLayerRendererChromium::FakeLayerRendererChromium):
(LayerRendererChromiumTest::LayerRendererChromiumTest):
(TEST):

10:35 PM Changeset in webkit [116730] by morrita@google.com
  • 48 edits in trunk

ElementShadow should minimize the usage of "ShadowRoot" name
https://bugs.webkit.org/show_bug.cgi?id=85970

Reviewed by Dimitri Glazkov.

.:

Removed symbols which no longer exists

  • Source/autotools/symbols.filter:

Source/WebCore:

This change cleans two out dated assumptions which brought in at
early stage of Shadow DOM implementation.

  • Removed Element::hasShadowRoot(): shadow existence can be checked by Element::shadow().
  • Made ElementShadow::removeAllShadowRoots() private: we no longer allow ShadowRoot removal. It can only happens at the ElementShadow destruction.

Most of changes in element implementations are basically simple
replacement from hasShadowRoot() to shadow().

No new tests. Covered by existing tests.

  • WebCore.exp.in:
  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildFrameDisconnector::collectDescendant):

  • dom/ComposedShadowTreeWalker.cpp:

(WebCore::ComposedShadowTreeWalker::traverseChild):

  • dom/Document.cpp:

(WebCore::Document::buildAccessKeyMap):

  • dom/Element.cpp:

(WebCore::Element::recalcStyle):
(WebCore::Element::ensureShadowRoot):
(WebCore::Element::childrenChanged):

  • dom/Element.h:

(Element):
(WebCore::isShadowHost):
(WebCore):

  • dom/ElementShadow.cpp:

(WebCore::ElementShadow::~ElementShadow):
(WebCore::ElementShadow::removeAllShadowRoots):

  • dom/ElementShadow.h:

(ElementShadow):
(WebCore::ElementShadow::host):

  • dom/EventDispatcher.cpp:
  • dom/Node.cpp:

(WebCore::oldestShadowRootFor):

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::NodeRenderingContext):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::create):

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::createShadowSubtree):

  • html/FileInputType.cpp:

(WebCore::FileInputType::createShadowSubtree):
(WebCore::FileInputType::multipleAttributeChanged):

  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::createShadowSubtree):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::createShadowSubtree):

  • html/HTMLKeygenElement.cpp:

(WebCore::HTMLKeygenElement::HTMLKeygenElement):
(WebCore::HTMLKeygenElement::shadowSelect):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::hasMediaControls):

  • html/HTMLMeterElement.cpp:

(WebCore::HTMLMeterElement::createShadowSubtree):

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::createShadowSubtree):

  • html/HTMLSummaryElement.cpp:

(WebCore::HTMLSummaryElement::createShadowSubtree):

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::createShadowSubtree):

  • html/InputType.cpp:

(WebCore::InputType::destroyShadowSubtree):

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::handleMouseDownEvent):
(WebCore::RangeInputType::createShadowSubtree):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::createShadowSubtree):

  • html/shadow/SliderThumbElement.cpp:

(WebCore::trackLimiterElementOf):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::unbind):
(WebCore::InspectorDOMAgent::buildObjectForNode):

  • page/FocusController.cpp:

(WebCore):

  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::uploadButton):

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::updateReferencedText):
(WebCore::SVGTRefElement::detachTarget):

  • testing/Internals.cpp:

(WebCore::Internals::ensureShadowRoot):
(WebCore::Internals::youngestShadowRoot):
(WebCore::Internals::oldestShadowRoot):

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

Source/WebKit2:

Removed symbols which no longer exists

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:

LayoutTests:

Removed tests cases which exercise shadow root removals.
Such functionality was only available from Internals object
and it made little sense to test it.

  • fast/dom/shadow/content-element-move-expected.txt:
  • fast/dom/shadow/content-element-move.html:
  • fast/dom/shadow/dynamically-created-shadow-root-expected.html:
  • fast/dom/shadow/dynamically-created-shadow-root.html:
  • fast/dom/shadow/layout-tests-can-access-shadow-expected.txt:
  • fast/dom/shadow/layout-tests-can-access-shadow.html:
  • fast/dom/shadow/multiple-shadowroot-expected.txt:
  • fast/dom/shadow/multiple-shadowroot.html:
10:31 PM Changeset in webkit [116729] by gyuyoung.kim@samsung.com
  • 46 edits in trunk

Move resumeAnimations to use Internals interface
https://bugs.webkit.org/show_bug.cgi?id=86063

Reviewed by Alexey Proskuryakov.

.:

  • Source/autotools/symbols.filter: Add a symbol filter for resumeAnimations.

Source/WebCore:

Add resumeAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

No new tests, since we are improving here the infra-structure for testing
a specific method.

  • testing/Internals.cpp:

(WebCore::Internals::resumeAnimations):
(WebCore):

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

Source/WebKit/efl:

Remove resumeAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Source/WebKit/gtk:

Remove resumeAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
  • WebCoreSupport/DumpRenderTreeSupportGtk.h:

(DumpRenderTreeSupportGtk):

Source/WebKit/mac:

Remove resumeAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

  • WebKit.order:
  • WebView/WebFrame.mm:
  • WebView/WebFramePrivate.h:

Source/WebKit/qt:

Remove resumeAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:
  • WebCoreSupport/DumpRenderTreeSupportQt.h:

Source/WebKit/win:

Remove resumeAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

  • Interfaces/IWebFramePrivate.idl:
  • WebFrame.cpp:
  • WebFrame.h:

Source/WebKit2:

  • win/WebKit2.def: Add a symbol filter for resumeAnimations.

Tools:

Remove resumeAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

  • DumpRenderTree/LayoutTestController.cpp:

(LayoutTestController::staticFunctions):

  • DumpRenderTree/LayoutTestController.h:

(LayoutTestController):

  • DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp:
  • DumpRenderTree/chromium/LayoutTestController.cpp:

(LayoutTestController::LayoutTestController):

  • DumpRenderTree/chromium/LayoutTestController.h:

(LayoutTestController):

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm:
  • DumpRenderTree/qt/LayoutTestControllerQt.cpp:
  • DumpRenderTree/qt/LayoutTestControllerQt.h:

(LayoutTestController):

  • DumpRenderTree/win/LayoutTestControllerWin.cpp:
  • DumpRenderTree/wx/LayoutTestControllerWx.cpp:
  • WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:
  • WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
  • WebKitTestRunner/InjectedBundle/LayoutTestController.h:

(LayoutTestController):

LayoutTests:

Call resumeAnimations functions from internals, because it is able to work in the
cross-port way through the Internals interface.

  • animations/play-state-suspend.html:
  • animations/stop-animation-on-suspend.html:
  • animations/suspend-resume-animation-events.html:
  • animations/suspend-resume-animation.html:
9:51 PM Changeset in webkit [116728] by tkent@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Test expectation update

  • platform/chromium/test_expectations.txt:
9:27 PM Changeset in webkit [116727] by commit-queue@webkit.org
  • 9 edits in trunk/Source

split MediaPlayer::enterFullscreen into 2 seperate functions
https://bugs.webkit.org/show_bug.cgi?id=86052

Patch by Min Qin <qinmin@google.com> on 2012-05-10
Reviewed by Benjamin Poulain.

Source/WebCore:

It is confusing that enterFullscreen returns a boolean while exitFullscreen does
not do the same. And ios does not need the return value.
So remove the return value on enterFullscreen and make a seperate canEnterFullscreen()
function for android.
No tests as there are no behavior change, just refactoring.

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::enterFullscreen):
(WebCore):
(WebCore::MediaPlayer::canEnterFullscreen):

  • platform/graphics/MediaPlayer.h:

(MediaPlayer):

  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::enterFullscreen):
(MediaPlayerPrivateInterface):
(WebCore::MediaPlayerPrivateInterface::canEnterFullscreen):

Source/WebKit/chromium:

It is confusing that enterFullscreen returns a boolean while exitFullscreen does
not do the same. And ios does not need the return value.
So remove the return value on enterFullscreen and make a seperate canEnterFullscreen()
function for android.
No behavior change, just refactoring.

  • public/WebMediaPlayer.h:

(WebMediaPlayer):
(WebKit::WebMediaPlayer::enterFullscreen):
(WebKit::WebMediaPlayer::canEnterFullscreen):

  • src/WebMediaPlayerClientImpl.cpp:

(WebKit::WebMediaPlayerClientImpl::enterFullscreen):
(WebKit):
(WebKit::WebMediaPlayerClientImpl::exitFullscreen):

  • src/WebMediaPlayerClientImpl.h:

(WebMediaPlayerClientImpl):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::enterFullScreenForElement):

9:16 PM Changeset in webkit [116726] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL][DRT] Editor doesn't cancel composition as change of value
https://bugs.webkit.org/show_bug.cgi?id=85122

Patch by Kangil Han <kangil.han@samsung.com> on 2012-05-10
Reviewed by Martin Robinson.

IME composition should be cancelled when the value of input element is changed programmatically.
However, EFL port doesn't cancel as change of value.
Therefore, this patch will fix the bug.

Source/WebKit/efl:

  • WebCoreSupport/EditorClientEfl.cpp:

(WebCore::EditorClientEfl::respondToChangedSelection):

LayoutTests:

  • platform/efl/Skipped:
9:14 PM Changeset in webkit [116725] by noel.gordon@gmail.com
  • 3 edits
    7 adds in trunk/LayoutTests

[chromium] Rebaseline compositing/geometry/horizontal-scroll-composited.html after r107389

Unreviewed test expectations update.

  • platform/chromium-linux-x86/compositing/geometry/horizontal-scroll-composited-expected.png: Added.
  • platform/chromium-linux/compositing/geometry/horizontal-scroll-composited-expected.png: Added.
  • platform/chromium-mac-leopard/compositing/geometry/horizontal-scroll-composited-expected.png: Added.
  • platform/chromium-mac-snowleopard/compositing/geometry/horizontal-scroll-composited-expected.png: Added.
  • platform/chromium-mac/compositing/geometry/horizontal-scroll-composited-expected.png:
  • platform/chromium-win-xp/compositing/geometry/horizontal-scroll-composited-expected.png: Added.
  • platform/chromium/test_expectations.txt:
9:00 PM Changeset in webkit [116724] by tkent@chromium.org
  • 10 edits in trunk/Source/WebCore

Unreviewed, rolling out r116715.
http://trac.webkit.org/changeset/116715
https://bugs.webkit.org/show_bug.cgi?id=86172

Broke http/tests/security/cross-frame-access-selection.html
(Requested by tkent on #webkit).

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

  • dom/Document.cpp:

(WebCore):
(WebCore::Document::getSelection):

  • dom/Document.h:

(Document):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::selection):

  • dom/TreeScope.cpp:

(WebCore::TreeScope::~TreeScope):

  • dom/TreeScope.h:

(WebCore):
(TreeScope):

  • page/DOMSelection.cpp:

(WebCore::DOMSelection::DOMSelection):

  • page/DOMSelection.h:

(WebCore):
(WebCore::DOMSelection::create):
(DOMSelection):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::clearDOMWindowProperties):
(WebCore::DOMWindow::getSelection):

  • page/DOMWindow.h:

(DOMWindow):

8:28 PM Changeset in webkit [116723] by morrita@google.com
  • 32 edits
    2 adds in trunk

WebKit should support tab-size.
https://bugs.webkit.org/show_bug.cgi?id=52994

Source/WebCore:

  • Added boilerplate for "tab-size" CSS property.
  • Added RenderStye::tabSize() as a RareInheritedData.
  • Replaced TextRun::m_allowTabs into TextRun::m_tabSize.

Reviewed by Simon Fraser.

Tests: fast/css/tab-size-expected.html

fast/css/tab-size.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):

  • css/CSSProperty.cpp:

(WebCore::CSSProperty::isInheritedProperty):

  • css/CSSPropertyNames.in:
  • css/CSSStyleSelector.cpp:

(WebCore::CSSStyleSelector::applyProperty):

  • html/canvas/CanvasRenderingContext2D.cpp:

(WebCore::CanvasRenderingContext2D::drawTextInternal):

  • platform/chromium/PopupListBox.cpp:

(WebCore::PopupListBox::paintRow):

  • platform/graphics/Font.h:

(WebCore::Font::tabWidth):

  • platform/graphics/TextRun.h:

(WebCore::TextRun::TextRun):
(WebCore::TextRun::allowTabs):
(WebCore::TextRun::tabSize):
(WebCore::TextRun::setTabSize):

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::advance):

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::ComplexTextController::adjustGlyphsAndAdvances):

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::paint):

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::constructTextRun):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::constructTextRun):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::textWidth):
(WebCore::tryHyphenating):

  • rendering/RenderText.cpp:

(WebCore::RenderText::widthFromCache):
(WebCore::RenderText::computePreferredLogicalWidths):
(WebCore::RenderText::width):

  • rendering/RenderText.h:
  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::diff):

  • rendering/style/RenderStyle.h:

(WebCore::RenderStyleBitfields::tabSize):
(WebCore::RenderStyleBitfields::collapsedTabSize):
(WebCore::RenderStyleBitfields::setTabSize):
(WebCore::RenderStyleBitfields::initialTabSize):

  • rendering/style/StyleRareInheritedData.cpp:

(WebCore::StyleRareInheritedData::StyleRareInheritedData):
(WebCore::StyleRareInheritedData::operator==):

  • rendering/style/StyleRareInheritedData.h:
  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::constructTextRun):

  • rendering/svg/SVGTextMetrics.cpp:

(WebCore::constructTextRun):

Source/WebKit/chromium:

Reviewed by Simon Fraser.

  • src/WebTextRun.cpp:

(WebKit::WebTextRun::operator WebCore::TextRun):

LayoutTests:

Reviewed by Simon Fraser.

  • fast/css/tab-size-expected.html: Added.
  • fast/css/tab-size.html: Added.
  • platform/chromium-linux/svg/css/getComputedStyle-basic-expected.txt:
  • platform/chromium-win/fast/css/getComputedStyle/computed-style-expected.txt:
  • platform/chromium-win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
8:07 PM Changeset in webkit [116722] by piman@chromium.org
  • 5 edits
    1 add in trunk/Source

Sync with impl thread when removing references to external textures
https://bugs.webkit.org/show_bug.cgi?id=86054

We want to ensure the client side is safe to release textures, so we
sync with the impl thread when:

  • we change the texture (and we had one)
  • the layer is removed from the tree (and we had a texture)
  • the layer is destroyed (and we had a texture)

Reviewed by James Robinson.

Test: TextureLayerChromiumTest.

  • platform/graphics/chromium/TextureLayerChromium.cpp:

(WebCore::TextureLayerChromium::~TextureLayerChromium):
(WebCore::TextureLayerChromium::setTextureId):
(WebCore::TextureLayerChromium::setLayerTreeHost):
(WebCore):

  • platform/graphics/chromium/TextureLayerChromium.h:

(TextureLayerChromium):

7:47 PM Changeset in webkit [116721] by tkent@chromium.org
  • 2 edits in trunk/Source/WebCore

[Chromium] attempt to build fix for Chromium-mac.
r116697 introduced an override of a system function. It's intentional
and WebCoreTextFieldCell should be in the whitelist.

  • WebCore.gyp/WebCore.gyp:
7:34 PM Changeset in webkit [116720] by andersca@apple.com
  • 20 edits in trunk/Source

PDF files won't scroll in Safari when using Adobe plug-in
https://bugs.webkit.org/show_bug.cgi?id=86167
<rdar://problem/11389719>

Reviewed by Sam Weinig.

Source/WebCore:

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::computeNonFastScrollableRegion):
Loop over the frame view children looking for plug-in views that want wheel events
and add them to the non-fast scrollable region. Ideally, the plug-ins should be added
to the set of scrollable areas, but PluginView in WebKit2 is not a ScrollableArea yet.

  • plugins/PluginViewBase.h:

(PluginViewBase):
(WebCore::PluginViewBase::wantsWheelEvents):

Source/WebKit2:

Add a way to whitelist plug-ins that we know will process wheel events correctly. Add the new
Adobe Reader plug-in to this whitelist. Only send wheel events to plug-ins that are in the whitelist.

  • PluginProcess/PluginControllerProxy.cpp:

(WebKit::PluginControllerProxy::wantsWheelEvents):
(WebKit):

  • PluginProcess/PluginControllerProxy.h:

(PluginControllerProxy):

  • PluginProcess/WebProcessConnection.cpp:

(WebKit::WebProcessConnection::createPlugin):

  • PluginProcess/WebProcessConnection.h:

(WebProcessConnection):

  • PluginProcess/WebProcessConnection.messages.in:
  • Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:

(WebKit::NetscapePluginModule::determineQuirks):

  • Shared/Plugins/PluginQuirks.h:
  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp:

(WebKit::NetscapePlugin::wantsWheelEvents):
(WebKit):

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:

(NetscapePlugin):

  • WebProcess/Plugins/PDF/BuiltInPDFView.h:

(BuiltInPDFView):

  • WebProcess/Plugins/PDF/BuiltInPDFView.mm:

(WebKit::BuiltInPDFView::wantsWheelEvents):
(WebKit):

  • WebProcess/Plugins/Plugin.h:

(Plugin):

  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::PluginProxy):
(WebKit::PluginProxy::initialize):
(WebKit::PluginProxy::wantsWheelEvents):
(WebKit):

  • WebProcess/Plugins/PluginProxy.h:

(PluginProxy):

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::initializePlugin):
(WebKit::PluginView::wantsWheelEvents):
(WebKit):
(WebKit::PluginView::handleEvent):

  • WebProcess/Plugins/PluginView.h:

(PluginView):

7:31 PM Changeset in webkit [116719] by ap@apple.com
  • 13 edits
    2 adds in trunk

Crash in 3rd party WebKit apps that disable cache at a wrong time
https://bugs.webkit.org/show_bug.cgi?id=86027
<rdar://problem/10615880>

Reviewed by Antti Koivisto.

Source/WebCore:

Added an API test.

The fix is to use CachedResourceHandle throughout MemoryCache, which will certainly
keep the resource alive. Also removed earlier fixes.

  • css/CSSImageSetValue.cpp: (WebCore::CSSImageSetValue::cachedImageSet):
  • css/CSSImageValue.cpp: (WebCore::CSSImageValue::cachedImage):
  • css/WebKitCSSShaderValue.cpp: (WebCore::WebKitCSSShaderValue::cachedShader):
  • history/PageCache.cpp: (WebCore::PageCache::releaseAutoreleasedPagesNow):
  • loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement):
  • loader/TextTrackLoader.cpp: (WebCore::TextTrackLoader::load):
  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::requestFont):
(WebCore::CachedResourceLoader::requestTextTrack):
(WebCore::CachedResourceLoader::requestShader):
(WebCore::CachedResourceLoader::requestCSSStyleSheet):
(WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
(WebCore::CachedResourceLoader::requestScript):
(WebCore::CachedResourceLoader::requestXSLStyleSheet):
(WebCore::CachedResourceLoader::requestSVGDocument):
(WebCore::CachedResourceLoader::requestLinkResource):
(WebCore::CachedResourceLoader::requestRawResource):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::revalidateResource):
(WebCore::CachedResourceLoader::loadResource):
(WebCore::CachedResourceLoader::requestPreload):

  • loader/cache/CachedResourceLoader.h: (CachedResourceLoader):
  • loader/cache/MemoryCache.h: (WebCore::MemoryCache::setPruneEnabled):
  • loader/cache/CachedResourceHandle.h:

(WebCore::CachedResourceHandle::CachedResourceHandle):
(WebCore::CachedResourceHandle::operator=):
Teach CachedResourceHandle how to make CachedResourceHandle<CachedResource> from
a handle to subclass.

Tools:

Added a test that's very similar to MemoryCachePruneWithinResourceLoadDelegate,
but for disabling the cache instead of triggering a prune.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/mac/MemoryCacheDisableWithinResourceLoadDelegate.html: Added.
  • TestWebKitAPI/Tests/mac/MemoryCacheDisableWithinResourceLoadDelegate.mm: Added.

(-[MemoryCacheDisableTestResourceLoadDelegate webView:identifierForInitialRequest:fromDataSource:]):
(-[MemoryCacheDisableTestResourceLoadDelegate webView:resource:willSendRequest:redirectResponse:fromDataSource:]):
(-[MemoryCacheDisableTestResourceLoadDelegate webView:resource:didFinishLoadingFromDataSource:]):
(-[MemoryCacheDisableTestResourceLoadDelegate webView:resource:didFailLoadingWithError:fromDataSource:]):
(TestWebKitAPI::TEST):

7:21 PM Acronyms edited by yosin@chromium.org
Add link to EWS queue status page (diff)
7:08 PM Changeset in webkit [116718] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Eliminate duplicated code for culled line box in RenderInline
https://bugs.webkit.org/show_bug.cgi?id=85725

This patch extracts the common part of culledInlineBoundingBox() /
culledInlineAbsoluteRects() / culledInlineAbsoluteQuads() to become a
template function generateCulledLineBoxRects(). The template function
accepts a new parameter, GeneratorContext functor, which will be
invoked everytime a new line box rect has been generated. The generated
rect will be in local coordinate. The functor will be responsible for
appropriate transformation, then appending to vector or union with
existing bounding box.

Patch by Tien-Ren Chen <trchen@chromium.org> on 2012-05-10
Reviewed by Eric Seidel.

No new tests. No change in behavior.

  • rendering/RenderInline.cpp:

(WebCore):
(WebCore::RenderInline::generateLineBoxRects):
(WebCore::RenderInline::generateCulledLineBoxRects):
(WebCore::RenderInline::absoluteRects):
(WebCore::RenderInline::absoluteQuads):
(WebCore::RenderInline::linesBoundingBox):
(WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
(WebCore::RenderInline::addFocusRingRects):

  • rendering/RenderInline.h:

(RenderInline):

7:06 PM Changeset in webkit [116717] by inferno@chromium.org
  • 2 edits in trunk/Source/WebCore

Crash in swapInNodePreservingAttributesAndChildren.
https://bugs.webkit.org/show_bug.cgi?id=85197

Reviewed by Ryosuke Niwa.

Keep the children in a ref vector before adding them to newNode.
They can get destroyed due to mutation events.

No new tests because we don't have a reduction.

  • editing/ReplaceNodeWithSpanCommand.cpp:

(WebCore::swapInNodePreservingAttributesAndChildren):

6:49 PM Changeset in webkit [116716] by andersca@apple.com
  • 25 edits in trunk

WebKit2: Add a way to blacklist specific plug-ins/plug-in versions
https://bugs.webkit.org/show_bug.cgi?id=86164
<rdar://problem/9551196>

Reviewed by Sam Weinig.

Source/WebKit2:

  • Shared/API/c/WKError.h:

Add kWKErrorCodeInsecurePlugInVersion error code.

  • Shared/APIClientTraits.cpp:

Update now that didFailToInitializePlugin is deprecated.

  • UIProcess/API/C/WKPage.h:

Deprecate didFailToInitializePlugin and replace it with the more generic pluginDidFail.
Also, deprecate missingPluginButtonClicked and replace it with unavailablePluginButtonClicked.

  • UIProcess/Plugins/PluginInfoStore.cpp:

(WebKit::PluginInfoStore::shouldBlockPlugin):
Non-Mac version, always return false.

  • UIProcess/Plugins/mac/PluginInfoStoreMac.mm:

(WebKit::PluginInfoStore::shouldBlockPlugin):
Call WKShouldBlockPlugin.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::getPluginPath):
Check if the plug-in should be blocked.

  • UIProcess/WebContext.messages.in:

GetPluginPath now takes an additional out parameter, a boolean that determines whether the plug-in
should be blocked from loading or not.

  • UIProcess/WebLoaderClient.cpp:

(WebKit::WebLoaderClient::didFailToInitializePlugin):
Call m_client.pluginDidFail.

(WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
Ditto.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::unavailablePluginButtonClicked):
Call the loader client.

(WebKit::WebPageProxy::didBlockInsecurePluginVersion):
Ditto.

  • UIProcess/WebPageProxy.messages.in:

Rename MissingPluginButtonClicked to UnavailablePluginButtonClicked and add a new DidBlockInsecurePluginVersion message.

  • UIProcess/WebUIClient.cpp:

(WebKit::WebUIClient::unavailablePluginButtonClicked):
Call missingPluginButtonClicked and unavailablePluginButtonClicked.

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
(WebKit::WebChromeClient::unavailablePluginButtonClicked):
Handle RenderEmbeddedObject::InsecurePluginVersion.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::createPlugin):
WebPage::createPlugin now takes the plug-in element.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::createPlugin):
If the plug-in is blocked, set the appropriate unavailability reason.

  • WebProcess/WebProcess.cpp:

(WebKit::canPluginHandleResponse):
Update now that GetPluginPath returns a blocked parameter as well.

Tools:

Update for WK2 API changes.

  • MiniBrowser/mac/BrowserWindowController.m:

(-[BrowserWindowController awakeFromNib]):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createOtherPage):
(WTR::TestController::initialize):

6:45 PM Changeset in webkit [116715] by shinyak@chromium.org
  • 10 edits in trunk/Source/WebCore

[Refactoring] Move Selection from DOMWindow to TreeScope.
https://bugs.webkit.org/show_bug.cgi?id=82699

Reviewed by Ryosuke Niwa.

Since ShadowRoot will also manage its own version of DOMSelection, we would like to
share the code among Document and DOMSelection. This patch moves DOMSelection from DOMWindow to TreeScope
so that ShadowRoot can also use it.

No new tests, should covered by existing tests.

  • dom/Document.cpp:

(WebCore::Document::updateFocusAppearanceTimerFired):

  • dom/Document.h:

(Document):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::selection):

  • do/mTreeScope.cpp:

(WebCore::TreeScope::~TreeScope):
(WebCore::TreeScope::getSelection):
(WebCore):

  • dom/TreeScope.h:

(WebCore):
(TreeScope):

  • page/DOMSelection.cpp:

(WebCore::DOMSelection::DOMSelection):
(WebCore::DOMSelection::clearTreeScope):
(WebCore):

  • page/DOMSelection.h:

(WebCore):
(WebCore::DOMSelection::create):
(DOMSelection):
(WebCore::DOMSelection::frame):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::clearDOMWindowProperties):
(WebCore::DOMWindow::getSelection):

  • page/DOMWindow.h:

(DOMWindow):

6:20 PM Changeset in webkit [116714] by tkent@chromium.org
  • 12 edits in trunk/Source

Unreviewed, rolling out r116594.
http://trac.webkit.org/changeset/116594
https://bugs.webkit.org/show_bug.cgi?id=86013

r116594 might have made some composition tests flaky.

Source/WebCore:

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::addAnimation):

  • platform/graphics/chromium/cc/CCLayerAnimationController.cpp:

(WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):

  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:

(CCLayerTreeHost):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:

(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):

  • platform/graphics/chromium/cc/CCProxy.h:

(CCProxy):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:

(WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
(WebCore::CCSingleThreadProxy::doComposite):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:

(WebCore):

  • platform/graphics/chromium/cc/CCThreadProxy.h:

(CCThreadProxy):

Source/WebKit/chromium:

  • tests/CCLayerTreeHostTest.cpp:

(WTF::CCLayerTreeHostTestTickAnimationWhileBackgrounded::animateLayers):
(WTF):
(WTF::TEST_F):

6:08 PM Changeset in webkit [116713] by jianli@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Fix chromium build break.

  • src/LocalizedStrings.cpp:

(WebCore::insecurePluginVersionText):

5:42 PM Changeset in webkit [116712] by Michael Nordman
  • 15 edits
    3 deletes in trunk/Source

Source/WebCore: [chromium] DomStorage events handling needs TLC (2)
https://bugs.webkit.org/show_bug.cgi?id=85221
Alter the StorageArea virtual interface such that the mutators no longer
return old values. This is to allow implementations of the interface to operate
more asynchronously.

Reviewed by Adam Barth.

No new tests. Existing tests cover this.

  • storage/StorageArea.h: Alter the interface so the mutators no longer return previous values
  • storage/StorageAreaImpl.cpp:

(WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame): removed an unneeded PLATFORM(CHROMIUM) guard
(WebCore::StorageAreaImpl::setItem): no longer return the old value
(WebCore::StorageAreaImpl::removeItem): no longer return the old value
(WebCore::StorageAreaImpl::clear): no longer return whether something was cleared

  • storage/StorageAreaImpl.h: match StorageArea's virtual interface

Source/WebKit/chromium: [chromium] DomStorage events handling needs TLC (2)
https://bugs.webkit.org/show_bug.cgi?id=85221
Alter the WebStorageArea virtual interface such that the mutators no longer
return old values. This is to allow implementations of the interface to operate
more asynchronously.

Also clean up from the last patch, remove support for the DEPRECATED event
dispatching API.

Reviewed by Adam Barth.

  • WebKit.gyp: delete three files indicated below
  • public/WebStorageArea.h:

(WebKit::WebStorageArea::setItem): no longer returns the old value
(WebKit::WebStorageArea::removeItem): no longer returns the old value
(WebKit::WebStorageArea::clear): no longer returns a bool indicated if something was cleared

  • public/WebStorageEventDispatcher.h: removed the DEPRECATED instance methods
  • public/WebStorageNamespace.h: removed the DEPRECATED close() method
  • public/platform/WebKitPlatformSupport.h: removed the DEPRECATED dispatchStorageEvent() method
  • src/StorageAreaProxy.cpp: removed the DEPREACTED storageEvent() method

(WebCore::StorageAreaProxy::setItem): no return value
(WebCore::StorageAreaProxy::removeItem): no return value
(WebCore::StorageAreaProxy::clear): no return value
(WebCore::StorageAreaProxy::dispatchLocalStorageEvent): remove an early return thats no longer needed
(WebCore::findPageWithSessionStorageNamespace): switched to passing pageGroup by ptr value instead of by name
(WebCore::StorageAreaProxy::dispatchSessionStorageEvent): remove an early return thats no longer needed

  • src/StorageAreaProxy.h:

(WebCore):
(StorageAreaProxy):

  • src/StorageEventDispatcherImpl.cpp: Deleted the file.
  • src/StorageEventDispatcherImpl.h: Deleted the file.
  • src/WebStorageEventDispatcherImpl.cpp: Deleted the DEPRECATED instance methods.

(WebKit::WebStorageEventDispatcher::dispatchLocalStorageEvent): use WebViewImpl::defaultPageGroup
(WebKit::WebStorageEventDispatcher::dispatchSessionStorageEvent): use WebViewImpl::defaultPageGroup

  • src/WebStorageEventDispatcherImpl.h: Deleted the file.
  • src/WebViewImpl.cpp: added a static method to retrieve a ptr to the default page group,

(WebKit::WebViewImpl::defaultPageGroup):

  • src/WebViewImpl.h:
5:31 PM Changeset in webkit [116711] by Beth Dakin
  • 3 edits in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=86158
Overlay scrollbars without layers never paint in overflow regions in
tiled drawing mode
-and corresponding-
<rdar://problem/11289546>

Reviewed by Darin Adler.

RenderLayers paint scrollbars that do not have their own layers by
running a second pass through the layer tree after the layer tree has
painted. This ensures that the scrollbars always paint on top of
content. However, this mechanism was relying on
FrameView::paintContents() as a choke-point for all painting to
trigger the second painting pass. That is not a reasonable choke-point
in tiled drawing, so this patch adds similar code to
RenderLayerBacking.

Only opt into the second painting pass for scrollbars that do not have
their own layers.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintOverflowControls):

A layer that paints into its backing cannot return early here if it
has overlay scrollbars to paint.
(WebCore::RenderLayer::paintLayer):

This replicates code in FrameView::paintContents(). After painting the
owning layer, do a second pass if there are overlay scrollbars to
paint.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintIntoLayer):

5:19 PM Changeset in webkit [116710] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Well, at least fixing the GTK+ build is something!

  • platform/gtk/LocalizedStringsGtk.cpp:

(WebCore::insecurePluginVersionText):
(WebCore):

5:07 PM Changeset in webkit [116709] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/chromium

Add insecurePluginVersionText stub here too.

  • src/LocalizedStrings.cpp:
5:06 PM Changeset in webkit [116708] by andersca@apple.com
  • 4 edits in trunk/Source/WebCore

Add insecurePluginVersionText stubs.

  • platform/blackberry/LocalizedStringsBlackBerry.cpp:

(WebCore::insecurePluginVersionText):
(WebCore):

  • platform/efl/LocalizedStringsEfl.cpp:

(WebCore::insecurePluginVersionText):
(WebCore):

  • platform/qt/LocalizedStringsQt.cpp:

(WebCore::insecurePluginVersionText):
(WebCore):

5:06 PM Changeset in webkit [116707] by dpranke@chromium.org
  • 2 edits in trunk/Tools

nrwt: [chromium] fix path to asan symbolize script
https://bugs.webkit.org/show_bug.cgi?id=86161

Reviewed by Abhishek Arya.

  • Scripts/webkitpy/layout_tests/port/chromium.py:

(ChromiumPort._get_crash_log):

5:03 PM Changeset in webkit [116706] by jsbell@chromium.org
  • 2 edits in branches/chromium/1132/Source

Merge 116333 - IndexedDB: LevelDB coding for bools is broken
https://bugs.webkit.org/show_bug.cgi?id=85810

Reviewed by Tony Chang.

Source/WebCore:

Code was appending to a pre-sized Vector, rather than using an
index setter. This caused uninitialized data to be written out.
Issue was detected on the Chromium side in http://crbug.com/126388

Tests: webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.*codeBool'

  • Modules/indexeddb/IDBLevelDBCoding.cpp:

(WebCore::IDBLevelDBCoding::encodeBool):

Source/WebKit/chromium:

Added tests for encodeBool/decodeBool.

  • tests/IDBLevelDBCodingTest.cpp:

(IDBLevelDBCoding::TEST):
(IDBLevelDBCoding):

TBR=jsbell@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10377101

5:02 PM Changeset in webkit [116705] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Unreviewed, rolling out r116677.
http://trac.webkit.org/changeset/116677
https://bugs.webkit.org/show_bug.cgi?id=86159

This patch causes linker error to some mac bots (Requested by
jianli_ on #webkit).

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

  • WebCore.exp.in:
  • dom/ContainerNode.h:
  • dom/Node.cpp:

(WebCore::Node::traverseNextNode):
(WebCore::Node::traverseNextSibling):

  • dom/Node.h:

(Node):

4:53 PM Changeset in webkit [116704] by Lucas Forschler
  • 1 copy in tags/Safari-536.11

New Tag.

4:48 PM Changeset in webkit [116703] by dpranke@chromium.org
  • 2 edits in trunk/Tools

[chromium] Set Valgrind environment variables for layout tests.
https://bugs.webkit.org/show_bug.cgi?id=86156

Patch by Lei Zhang <thestig@chromium.org> on 2012-05-10
Reviewed by Dirk Pranke.

  • Scripts/webkitpy/layout_tests/port/chromium.py:

(ChromiumPort.setup_environ_for_server):

4:38 PM Changeset in webkit [116702] by kerz@chromium.org
  • 1 copy in branches/chromium/1132/Tools/Scripts/webkitpy/thirdparty/mod_pywebsocket

Add new pywebsocket files.

4:35 PM Changeset in webkit [116701] by kerz@chromium.org
  • 4 edits in branches/chromium/1132/Tools

Merge 116668 - don't use autoinstall to import pywebsocket but check it in WebKit directly.
https://bugs.webkit.org/show_bug.cgi?id=86107

Reviewed by Adam Barth.

This change removes pywebsocket from webkitpy's autoinstall list and
imports pywebsocket 0.7.4 directly into webkitpy/thirparty.

  • Scripts/webkitpy/layout_tests/servers/websocket_server.py:

(PyWebSocket._prepare_config):

  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook.find_module):
(AutoinstallImportHook._install_irc):

  • Scripts/webkitpy/thirdparty/init_unittest.py:

(ThirdpartyTest.test_import_hook.MockImportHook.init):
(ThirdpartyTest.test_import_hook.MockImportHook._install_eliza):
(ThirdpartyTest):
(ThirdpartyTest.test_import_hook):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/COPYING: Added.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/init.py: Added.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_base.py: Added.

(ConnectionTerminatedException):
(InvalidFrameException):
(BadOperationException):
(UnsupportedFrameException):
(InvalidUTF8Exception):
(StreamBase):
(StreamBase.init):
(StreamBase._read):
(StreamBase._write):
(StreamBase.receive_bytes):
(StreamBase._read_until):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_hixie75.py: Added.

(for):
(StreamHixie75):
(StreamHixie75.for):
(StreamHixie75.init):
(StreamHixie75.send_message):
(StreamHixie75._read_payload_length_hixie75):
(StreamHixie75.receive_message):
(StreamHixie75._send_closing_handshake):
(StreamHixie75.close_connection):
(StreamHixie75.send_ping):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_hybi.py: Added.

(Frame):
(Frame.init):
(create_length_header):
(create_header):
(_build_frame):
(_filter_and_format_frame_object):
(create_binary_frame):
(create_text_frame):
(FragmentedFrameBuilder):
(FragmentedFrameBuilder.to):
(FragmentedFrameBuilder.init):
(FragmentedFrameBuilder.build):
(_create_control_frame):
(create_ping_frame):
(create_pong_frame):
(create_close_frame):
(StreamOptions):
(StreamOptions.init):
(Stream):
(Stream.for):
(Stream.init):
(Stream._receive_frame):
(Stream._receive_frame_as_frame_object):
(Stream.send_message):
(Stream.receive_message):
(Stream._send_closing_handshake):
(Stream.close_connection):
(Stream.send_ping):
(Stream._send_pong):
(Stream._drain_received_data):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/common.py: Added.

(is_control_opcode):
(ExtensionParameter):
(ExtensionParameter.init):
(ExtensionParameter.name):
(ExtensionParameter.add_parameter):
(ExtensionParameter.get_parameters):
(ExtensionParameter.get_parameter_names):
(ExtensionParameter.has_parameter):
(ExtensionParameter.get_parameter_value):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/dispatch.py: Added.

(DispatchException):
(DispatchException.init):
(_default_passive_closing_handshake_handler):
(_normalize_path):
(_create_path_to_resource_converter):
(_create_path_to_resource_converter.converter):
(_enumerate_handler_file_paths):
(_HandlerSuite):
(_HandlerSuite.init):
(_source_handler_file):
(_extract_handler):
(Dispatcher):
(Dispatcher.maintains):
(Dispatcher.init):
(Dispatcher.add_resource_path_alias):
(Dispatcher.source_warnings):
(Dispatcher.do_extra_handshake):
(Dispatcher.transfer_data):
(Dispatcher.passive_closing_handshake):
(Dispatcher.get_handler_suite):
(Dispatcher._source_handler_files_in_dir):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/extensions.py: Added.

(ExtensionProcessorInterface):
(ExtensionProcessorInterface.get_extension_response):
(ExtensionProcessorInterface.setup_stream_options):
(DeflateStreamExtensionProcessor):
(DeflateStreamExtensionProcessor.init):
(DeflateStreamExtensionProcessor.get_extension_response):
(DeflateStreamExtensionProcessor.setup_stream_options):
(DeflateFrameExtensionProcessor):
(DeflateFrameExtensionProcessor.init):
(DeflateFrameExtensionProcessor.get_extension_response):
(DeflateFrameExtensionProcessor.setup_stream_options):
(DeflateFrameExtensionProcessor.setup_stream_options._OutgoingFilter):
(DeflateFrameExtensionProcessor.setup_stream_options._OutgoingFilter.init):
(DeflateFrameExtensionProcessor.setup_stream_options._OutgoingFilter.filter):
(DeflateFrameExtensionProcessor.setup_stream_options._IncomingFilter):
(DeflateFrameExtensionProcessor.setup_stream_options._IncomingFilter.init):
(DeflateFrameExtensionProcessor.setup_stream_options._IncomingFilter.filter):
(DeflateFrameExtensionProcessor.set_response_window_bits):
(DeflateFrameExtensionProcessor.set_response_no_context_takeover):
(DeflateFrameExtensionProcessor.enable_outgoing_compression):
(DeflateFrameExtensionProcessor.disable_outgoing_compression):
(DeflateFrameExtensionProcessor._outgoing_filter):
(DeflateFrameExtensionProcessor._incoming_filter):
(get_extension_processor):
(get_extension_processor.is):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/init.py: Added.

(try):
(do_handshake):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/_base.py: Added.

(AbortedByUserException):
(HandshakeException):
(HandshakeException.init):
(VersionException):
(VersionException.init):
(get_default_port):
(validate_subprotocol):
(parse_host_header):
(format_header):
(build_location):
(get_mandatory_header):
(validate_mandatory_header):
(check_request_line):
(check_header_lines):
(parse_token_list):
(_parse_extension_param):
(_parse_extension):
(parse_extensions):
(format_extensions):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/draft75.py: Added.

(Handshaker):
(Handshaker.performs):
(Handshaker.init):
(Handshaker.do_handshake):
(Handshaker._set_resource):
(Handshaker._set_origin):
(Handshaker._set_location):
(Handshaker._set_subprotocol):
(Handshaker._set_protocol_version):
(Handshaker._sendall):
(Handshaker._send_handshake):
(Handshaker._check_header_lines):
(Handshaker._check_first_lines):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi.py: Added.

(compute_accept):
(Handshaker):
(Handshaker.init):
(Handshaker._validate_connection_header):
(Handshaker.do_handshake):
(Handshaker._get_origin):
(Handshaker._check_version):
(Handshaker._set_protocol):
(Handshaker._parse_extensions):
(Handshaker._validate_key):
(Handshaker._get_key):
(Handshaker._send_handshake):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi00.py: Added.

(Handshaker):
(Handshaker.init):
(Handshaker.do_handshake):
(Handshaker._set_resource):
(Handshaker._set_subprotocol):
(Handshaker._set_location):
(Handshaker._set_origin):
(Handshaker._set_protocol_version):
(Handshaker._set_challenge_response):
(Handshaker._get_key_value):
(Handshaker._get_challenge):
(Handshaker._send_handshake):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/headerparserhandler.py: Added.

(ApacheLogHandler):
(ApacheLogHandler.init):
(ApacheLogHandler.emit):
(_configure_logging):
(_parse_option):
(_create_dispatcher):
(headerparserhandler):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/http_header_util.py: Added.

(_is_char):
(_is_ctl):
(ParsingState):
(ParsingState.init):
(peek):
(consume):
(consume_string):
(consume_lws):
(consume_lwses):
(consume_token):
(consume_token_or_quoted_string):
(quote_if_necessary):
(parse_uri):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/memorizingfile.py: Added.

(MemorizingFile):
(MemorizingFile.init):
(MemorizingFile.getattribute):
(MemorizingFile.readline):
(MemorizingFile.get_memorized_lines):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/msgutil.py: Added.

(close_connection):
(send_message):
(receive_message):
(send_ping):
(MessageReceiver):
(MessageReceiver.receives):
(MessageReceiver.provides):
(MessageReceiver.should):
(MessageReceiver.init):
(MessageReceiver.run):
(MessageReceiver.receive):
(MessageReceiver.receive_nowait):
(MessageReceiver.stop):
(MessageSender):
(MessageSender.sends):
(MessageSender.provides):
(MessageSender.should):
(MessageSender.init):
(MessageSender.run):
(MessageSender.send):
(MessageSender.send_nowait):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/standalone.py: Added.

(_StandaloneConnection):
(_StandaloneConnection.init):
(_StandaloneConnection.get_local_addr):
(_StandaloneConnection.get_remote_addr):
(_StandaloneConnection.write):
(_StandaloneConnection.read):
(_StandaloneConnection.get_memorized_lines):
(_StandaloneRequest):
(_StandaloneRequest.init):
(_StandaloneRequest.get_uri):
(_StandaloneRequest.get_method):
(_StandaloneRequest.is_https):
(_StandaloneRequest._drain_received_data):
(_StandaloneSSLConnection):
(_StandaloneSSLConnection.for):
(_StandaloneSSLConnection.init):
(_StandaloneSSLConnection.getattribute):
(_StandaloneSSLConnection.setattr):
(_StandaloneSSLConnection.makefile):
(WebSocketServer):
(WebSocketServer.init):
(WebSocketServer._create_sockets):
(WebSocketServer.server_bind):
(WebSocketServer.server_activate):
(WebSocketServer.server_close):
(WebSocketServer.fileno):
(WebSocketServer.handle_error):
(WebSocketServer.get_request):
(WebSocketServer.serve_forever):
(WebSocketServer.shutdown):
(WebSocketRequestHandler):
(WebSocketRequestHandler.setup):
(WebSocketRequestHandler.setup.SocketServer):
(WebSocketRequestHandler.init):
(WebSocketRequestHandler.parse_request):
(WebSocketRequestHandler.log_request):
(WebSocketRequestHandler.log_error):
(WebSocketRequestHandler.is_cgi):
(_configure_logging):
(_alias_handlers):
(_build_option_parser):
(ThreadMonitor):
(ThreadMonitor.init):
(ThreadMonitor.run):
(_parse_args_and_config):
(_main):
(_main.if):
(_main.if.check_script):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/stream.py: Copied from Tools/Scripts/webkitpy/thirdparty/init_unittest.py.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/util.py: Added.

(get_stack_trace):
(prepend_message_to_exception):
(translate_interp):
(get_script_interp):
(wrap_popen3_for_win):
(wrap_popen3_for_win.
wrap_popen3):
(hexify):
(get_class_logger):
(NoopMasker):
(NoopMasker.init):
(NoopMasker.mask):
(RepeatedXorMasker):
(RepeatedXorMasker.init):
(RepeatedXorMasker.mask):
(DeflateRequest):
(DeflateRequest.for):
(DeflateRequest.init):
(DeflateRequest.getattribute):
(DeflateRequest.setattr):
(_Deflater):
(_Deflater.init):
(_Deflater.compress_and_flush):
(_Inflater):
(_Inflater.init):
(_Inflater.decompress):
(_Inflater.append):
(_Inflater.reset):
(_RFC1979Deflater):
(_RFC1979Deflater.that):
(_RFC1979Deflater.init):
(_RFC1979Deflater.filter):
(_RFC1979Inflater):
(_RFC1979Inflater.for):
(_RFC1979Inflater.init):
(_RFC1979Inflater.filter):
(DeflateSocket):
(DeflateSocket.for):
(DeflateSocket.init):
(DeflateSocket.recv):
(DeflateSocket.sendall):
(DeflateSocket.send):
(DeflateConnection):
(DeflateConnection.for):
(DeflateConnection.init):
(DeflateConnection.get_remote_addr):
(DeflateConnection.put_bytes):
(DeflateConnection.read):
(DeflateConnection.write):
(_is_ewouldblock_errno):
(drain_received_data):

TBR=toyoshim@chromium.org

4:11 PM Changeset in webkit [116700] by Lucas Forschler
  • 4 edits in tags/Safari-536.10.3/Source

Versioning.

4:10 PM Changeset in webkit [116699] by Lucas Forschler
  • 24 edits
    4 copies in tags/Safari-536.10.3

Merged r116595.

4:02 PM Changeset in webkit [116698] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

Crash in FontCache::releaseFontData due to infinite float size.
https://bugs.webkit.org/show_bug.cgi?id=86110

Reviewed by Andreas Kling.

Source/WebCore:

New callers always forget to clamp the font size, which overflows
to infinity on multiplication. It is best to clamp it at the end
to avoid getting greater than std::numeric_limits<float>::max().

Test: fast/css/large-font-size-crash.html

  • platform/graphics/FontDescription.h:

(WebCore::FontDescription::setComputedSize):
(WebCore::FontDescription::setSpecifiedSize):

LayoutTests:

  • fast/css/large-font-size-crash-expected.txt: Added.
  • fast/css/large-font-size-crash.html: Added.
3:58 PM Changeset in webkit [116697] by Beth Dakin
  • 3 edits in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=82131
[Mac] REGRESSION (r110480): Text field that specifies background-color
(or is auto-filled) gets un-themed border
-and corresponding-
<rdar://problem/11115221>

Reviewed by Maciej Stachowiak.

This change rolls out r110480 which is what caused styled text fields
to get the un-themed border, and it does a bunch of work to make sure
we get the pretty, new version of the NSTextField art whenever
possible. We do this differently for post-Lion OS's since there is now
a way to opt into it all the time. Lion and SnowLeopard can only use
the new art in HiDPI mode when the background color of the text field
is just white.

RenderThemeMac::textField() takes a boolean paramter used to determine
if the new gradient will be used.

  • rendering/RenderThemeMac.h:

(RenderThemeMac):

This is the post-Lion workaround. This code has no effect on Lion and
SnowLeopard. This allows up to opt into a version of [NSTextField drawWithFrame:] that will only draw the frame of the text field; without this, it will draw the frame and the background, which creates a number of problems with styled text fields and text fields in HiDPI. There is a less comprehesive workaround for Lion and SnowLeopard in place in RenderThemeMac::textField().

  • rendering/RenderThemeMac.mm:

(-[WebCoreTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:]):

This is the roll-out of r110480.
(WebCore::RenderThemeMac::isControlStyled):

See the comments for a full explanation, but this is mostly code for
Lion and SnowLeopard to determine if we can opt into the new artwork.
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::textField):

3:55 PM Changeset in webkit [116696] by Lucas Forschler
  • 1 copy in tags/Safari-536.10.3

new Tag.

3:45 PM Changeset in webkit [116695] by andersca@apple.com
  • 16 edits in trunk

WebKit1: Add a way to blacklist specific plug-ins/plug-in versions
https://bugs.webkit.org/show_bug.cgi?id=86150
<rdar://problem/9551196>

Reviewed by Sam Weinig.

Source/WebCore:

  • English.lproj/Localizable.strings:

Update.

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadPlugin):
It is possible that the client has already set the unavailability reason so don't try to set it twice.

  • platform/LocalizedStrings.cpp:

(WebCore::insecurePluginVersionText):

  • platform/LocalizedStrings.h:

Add insecure plug-in version text.

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::unavailablePluginReplacementText):

  • rendering/RenderEmbeddedObject.h:

Add InsecurePluginVersion unavailability reason.

Source/WebKit/mac:

  • Misc/WebKitErrors.h:

Add WebKitErrorInsecurePlugInVersion enum.

  • Plugins/WebBasePluginPackage.h:
  • Plugins/WebBasePluginPackage.mm:

(-[WebBasePluginPackage bundleIdentifier]):
(-[WebBasePluginPackage bundleVersion]):
Add bundleIdentifier and bundleVersion getters.

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::createPlugin):
Check if the plug-in is blocked. If it is, set the unavailability reason and the error code.

WebKitLibraries:

Add WKShouldBlockPlugin.

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceLion.a:
  • libWebKitSystemInterfaceSnowLeopard.a:
3:11 PM Changeset in webkit [116694] by eric@webkit.org
  • 7 edits
    2 adds in trunk

Make IFRAME_SEAMLESS child documents inherit styles from their parent iframe element
https://bugs.webkit.org/show_bug.cgi?id=85940

Reviewed by Ojan Vafai.

Source/WebCore:

The HTML5 <iframe seamless> spec says:
In a CSS-supporting user agent: the user agent must, for the purpose of CSS property
inheritance only, treat the root element of the active document of the iframe
element's nested browsing context as being a child of the iframe element.
(Thus inherited properties on the root element of the document in the
iframe will inherit the computed values of those properties on the iframe
element instead of taking their initial values.)

Initially I implemented this support to the letter of the spec. However, doing so I learned
that WebKit has a RenderStyle for the Document Node, not just the root element of the document.
In this RenderStyle on the Document, we add a bunch of per-document styles from settings
including designMode.

This change makes StyleResolver::styleForDocument inherit style from the parent iframe's
style, before applying any of these per-document styles. This may or may not be correct
depending on what behavior we want for rtl-ordering, page-zoom, locale, design mode, etc.
For now, we continue to treat the iframe's document as independent in these regards, and
the settings on that document override those inherited from the iframe.

Also, intially when making this work, I added redirects in recalcStyle and scheduleStyleRecalc
from the child document to the parent document in the case of seamless (since the parent
document effectively manages the style resolve and layout of the child in seamless mode).
However, I was not able to find a test which depended on this code change, so in this final patch
I have removed both of these modifications and replaced them with FIXMEs. Based on discussions
with Ojan and James Robinson, I believe both of those changes may eventually be wanted.

This change basically does 3 things:

  1. Makes StyleResolver::styleForDocument inherit from the parent iframe.
  2. Makes any recalcStyle calls on the iframe propogate down into the child document (HTMLIFrameElement::didRecalcStyle).
  3. Makes Document::recalcStyle aware of the fact that the Document's style *can* change

for reasons other than recalcStyle(Force).

I'm open to more testing suggestions, if reviewers have settings on the Document's style
that you want to make sure we inherit from the parent iframe, or don't inherit, etc.
I view this as a complete solution to this aspect of the current <iframe seamless> spec,
but likely not the last code we will write for this aspect of the seamless feature. :)

Tested by fast/frames/seamlesss/seamless-css-cascade.html and seamless-designMode.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

  • dom/Document.cpp:

(WebCore::Document::scheduleStyleRecalc):
(WebCore::Document::recalcStyle):

  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::HTMLIFrameElement):
(WebCore::HTMLIFrameElement::didRecalcStyle):
(WebCore):

  • html/HTMLIFrameElement.h:

(HTMLIFrameElement):

LayoutTests:

This single pass is deceptive. seamless-designMode exists
to make sure that we do not regress application of Document-level
styles in the child document.

  • fast/frames/seamless/seamless-css-cascade-expected.txt:
3:08 PM Changeset in webkit [116693] by jchaffraix@webkit.org
  • 3 edits
    4 adds in trunk

Crash in computedCSSPadding* functions due to RenderImage::imageDimensionsChanged called during attachment
https://bugs.webkit.org/show_bug.cgi?id=85912

Reviewed by Eric Seidel.

Source/WebCore:

Tests: fast/images/link-body-content-imageDimensionChanged-crash.html

fast/images/script-counter-imageDimensionChanged-crash.html

The bug comes from CSS generated images that could end up calling imageDimensionsChanged during attachment. As the
rest of the code (e.g. computedCSSPadding*) would assumes that we are already inserted in the tree, we would crash.

The solution is to bail out in this case as newly inserted RenderObject will trigger layout later on and properly
handle what we would be doing as part of imageDimensionChanged (the only exception being updating our intrinsic
size which should be done as part of imageDimensionsChanged).

  • rendering/RenderImage.cpp:

(WebCore::RenderImage::imageDimensionsChanged):

LayoutTests:

  • fast/images/link-body-content-imageDimensionChanged-crash-expected.txt: Added.
  • fast/images/link-body-content-imageDimensionChanged-crash.html: Added.
  • fast/images/script-counter-imageDimensionChanged-crash-expected.txt: Added.
  • fast/images/script-counter-imageDimensionChanged-crash.html: Added.
3:00 PM Changeset in webkit [116692] by rakuco@webkit.org
  • 3 edits in trunk/Tools

[webkitpy][EFL] It should be possible to use a wrapper command for ImageDiff.
https://bugs.webkit.org/show_bug.cgi?id=86145

Reviewed by Dirk Pranke.

The GTK+ and EFL ports use jhbuild to build a few base libraries
which are then used when building the port itself. Programs such
as DRT and ImageDiff are then supposed to be run with the
`run-with-jhbuild' wrapper so that the libraries are properly
found and loaded.

This was already the case for DumpRenderTree (EflPort defines the
'wrapper' option for that), but it was not possible to do the same
with ImageDiff so far.

The code which created the ImageDiff command-line call has been
moved to a separate method, _image_diff_command, which is then
overridden by EflPort to add the jhbuild wrapper.

  • Scripts/webkitpy/layout_tests/port/efl.py:

(EflPort.init):
(EflPort._image_diff_command):

  • Scripts/webkitpy/layout_tests/port/webkit.py:

(WebKitPort):
(WebKitPort._image_diff_command):
(WebKitPort._start_image_diff_process):

2:53 PM Changeset in webkit [116691] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

ASSERT in BidiResolver<Iterator, Run>::commitExplicitEmbedding makes running debug builds annoying
https://bugs.webkit.org/show_bug.cgi?id=86140

Reviewed by Eric Seidel.

The correct fix here is to resolve
https://bugs.webkit.org/show_bug.cgi?id=76574, but in the mean time,
this ASSERT is annoying.

  • platform/text/BidiResolver.h:

(WebCore::::commitExplicitEmbedding):

2:52 PM Changeset in webkit [116690] by pilgrim@chromium.org
  • 11 edits
    3 adds in trunk/Source

[Chromium] Call addTraceEvent and getTraceCategoryEnabledFlag directly
https://bugs.webkit.org/show_bug.cgi?id=85399

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/WebCore:

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/EventTracer.cpp: Added.

(WebCore):
(WebCore::EventTracer::getTraceCategoryEnabledFlag):
(WebCore::EventTracer::addTraceEvent):

  • platform/EventTracer.h: Added.

(WebCore):
(EventTracer):

  • platform/chromium/EventTracerChromium.cpp: Added.

(WebCore):
(WebCore::EventTracer::getTraceCategoryEnabledFlag):
(WebCore::EventTracer::addTraceEvent):

  • platform/chromium/PlatformSupport.h:
  • platform/chromium/TraceEvent.h:

Source/WebKit/chromium:

  • src/PlatformSupport.cpp:

(WebCore):

2:44 PM Changeset in webkit [116689] by pilgrim@chromium.org
  • 16 edits in trunk/Source

[Chromium] Remove WEBKIT_USING_SKIA ifdefs that are always true
https://bugs.webkit.org/show_bug.cgi?id=86121

Reviewed by Adam Barth.

Chromium always uses Skia now, so this just removes the barriers
around code that was previously #if'd.

Source/Platform:

  • chromium/public/WebCanvas.h:

(WebKit):

  • chromium/public/WebGraphicsContext3D.h:

(WebGraphicsContext3D):
(WebKit::WebGraphicsContext3D::onCreateGrGLInterface):

  • chromium/public/WebImage.h:

(WebImage):

Source/WebKit/chromium:

  • README:
  • src/DragClientImpl.cpp:

(WebKit::DragClientImpl::startDrag):

  • src/PageOverlay.cpp:
  • src/PlatformSupport.cpp:

(WebCore::PlatformSupport::clipboardWriteImage):
(WebCore::PlatformSupport::paintScrollbarThumb):

  • src/WebContentLayerImpl.cpp:

(WebKit::WebContentLayerImpl::paintContents):

  • src/WebFontImpl.cpp:

(WebKit::WebFontImpl::drawText):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::printPage):
(WebKit::WebFrameImpl::printPagesWithBoundaries):

  • src/WebGraphicsContext3D.cpp:

(WebKit::WebGraphicsContext3D::createGrGLInterface):

  • src/WebImageDecoder.cpp:

(WebKit::WebImageDecoder::getFrameAtIndex):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::paint):
(WebKit::WebPluginContainerImpl::printPage):

  • src/painting/GraphicsContextBuilder.h:

(WebKit):

2:37 PM Changeset in webkit [116688] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

ScrollView::fixedVisibleContentRect should be public
https://bugs.webkit.org/show_bug.cgi?id=86147

Reviewed by Eric Seidel.

Some code in the WebKit layer of OS(ANDROID) uses this function. That
could will be upstreamed in a later patch. For now, this patch just
makes this function public so that we remove the diff to this file.

  • platform/ScrollView.h:

(WebCore::ScrollView::fixedVisibleContentRect):
(WebCore::ScrollView::delegatesScrollingDidChange):

2:21 PM Changeset in webkit [116687] by andersca@apple.com
  • 22 edits in trunk/Source

Rename the missing plug-in indicator to the unavailable plug-in indicator
https://bugs.webkit.org/show_bug.cgi?id=86136

Reviewed by Sam Weinig.

Source/WebCore:

Since the indicator is shown for more than just missing plug-ins, generalize it and use a plug-in unavailability
reason enum to make it easier to extend. Also, pass the unavailability reason to the ChromeClient member functions.

  • WebCore.exp.in:
  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::updateWidget):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::updateWidget):

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::defaultEventHandler):

  • html/HTMLPlugInImageElement.cpp:

(WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):

  • loader/SubframeLoader.cpp:

(WebCore::SubframeLoader::loadPlugin):

  • page/ChromeClient.h:

(WebCore::ChromeClient::shouldUnavailablePluginMessageBeButton):
(WebCore::ChromeClient::unavailablePluginButtonClicked):

  • page/FrameView.cpp:

(WebCore::FrameView::updateWidget):

  • rendering/RenderEmbeddedObject.cpp:

(WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
(WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
(WebCore::RenderEmbeddedObject::showsUnavailablePluginIndicator):
(WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsPressed):
(WebCore::RenderEmbeddedObject::paint):
(WebCore::RenderEmbeddedObject::paintReplaced):
(WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
(WebCore::RenderEmbeddedObject::unavailablePluginReplacementText):
(WebCore):
(WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
(WebCore::shouldUnavailablePluginMessageBeButton):
(WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
(WebCore::RenderEmbeddedObject::getCursor):

  • rendering/RenderEmbeddedObject.h:

(RenderEmbeddedObject):

Source/WebKit/mac:

  • Plugins/Hosted/WebHostedNetscapePluginView.mm:

(-[WebHostedNetscapePluginView pluginHostDied]):

  • WebCoreSupport/WebChromeClient.h:
  • WebCoreSupport/WebChromeClient.mm:

(WebChromeClient::shouldUnavailablePluginMessageBeButton):
(WebChromeClient::unavailablePluginButtonClicked):

Source/WebKit/win:

  • WebCoreSupport/WebChromeClient.cpp:

(WebChromeClient::shouldUnavailablePluginMessageBeButton):
(WebChromeClient::unavailablePluginButtonClicked):

  • WebCoreSupport/WebChromeClient.h:

(WebChromeClient):

Source/WebKit2:

Update for WebCore changes.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::pluginProcessCrashed):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
(WebKit::WebChromeClient::unavailablePluginButtonClicked):

  • WebProcess/WebCoreSupport/WebChromeClient.h:

(WebChromeClient):

2:14 PM Changeset in webkit [116686] by tsepez@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] WebFrameTest.ChromePageNoJavascript isn't catching regressions
https://bugs.webkit.org/show_bug.cgi?id=86046

Reviewed by Adam Barth.

Test both cases for registerURLSchemeAsNotAllowingJavascriptURLs. Also add
a call to layout() to ensure the javascript result is seen.

  • tests/WebFrameTest.cpp:

(WebKit::TEST_F):
(WebKit):

2:09 PM Changeset in webkit [116685] by beidson@apple.com
  • 8 edits
    2 adds in trunk

<rdar://problem/10972577> and https://bugs.webkit.org/show_bug.cgi?id=80170
Contents of noscript elements turned into strings in WebArchives

Source/WebCore:

Reviewed by Andy Estes.

There's a much deeper question about how innerHTML of <noscript> is expected to work in
both a scripting and non-scripting environment that we should pursue separately.

But for webarchives, we can solve this by filtering out the <noscript> elements completely
if scripting is enabled.

Test: webarchive/ignore-noscript-if-scripting-enabled.html

  • WebCore.exp.in:

Add arguments to createMarkup and MarkupAccumulator methods to pass a Vector of QualifiedNames
that should be filtered from the resulting markup:

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::serializeNodes):
(WebCore::MarkupAccumulator::serializeNodesWithNamespaces):

  • editing/MarkupAccumulator.h:
  • editing/markup.cpp:

(WebCore::createMarkup):

  • editing/markup.h:

If scripting is enabled, add the noscriptTag to the tag names to filter:

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::create):

LayoutTests:

Reviewed by Andy Estes.

  • webarchive/ignore-noscript-if-scripting-enabled-expected.txt: Added.
  • webarchive/ignore-noscript-if-scripting-enabled.html: Added.
2:01 PM Changeset in webkit [116684] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

Caret node boundary should be adjusted to account for the visible region.
https://bugs.webkit.org/show_bug.cgi?id=86116

Reviewed by Antonio Gomes.

PR 138988.

Update the node bounding box to be clipped and adjusted
for the visible region of the frame.

Reviewed Internally by Gen Mak.

  • WebKitSupport/SelectionHandler.cpp:

(BlackBerry::WebKit::SelectionHandler::caretPositionChanged):

1:50 PM Changeset in webkit [116683] by inferno@chromium.org
  • 4 edits
    2 adds in trunk

Crash due to floats not removed from first-letter element.
https://bugs.webkit.org/show_bug.cgi?id=86019

Reviewed by Julien Chaffraix.

Source/WebCore:

Move clearing logic of a floating/positioned object from removeChild
to removeChildNode. There are lot of places which use removeChildNode
directly and hence the object is not removed from the floating or
positioned objects list.

Test: fast/block/float/float-not-removed-from-first-letter.html

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::removeChild):

  • rendering/RenderObjectChildList.cpp:

(WebCore::RenderObjectChildList::removeChildNode):

LayoutTests:

  • fast/block/float/float-not-removed-from-first-letter-expected.txt: Added.
  • fast/block/float/float-not-removed-from-first-letter.html: Added.
1:43 PM Changeset in webkit [116682] by kling@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove empty ElementAttributeData destructor.
<http://webkit.org/b/86126>

Reviewed by Antti Koivisto.

  • dom/ElementAttributeData.cpp:
  • dom/ElementAttributeData.h:
1:24 PM Changeset in webkit [116681] by yurys@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: heap snapshot comparison view is broken
https://bugs.webkit.org/show_bug.cgi?id=86102

Reviewed by Pavel Feldman.

Pass HeapSnapshotProxy instead of undefined to the profile load callback. Added
compiler annotations to avoid such errors in the future.

  • inspector/front-end/HeapSnapshotView.js:
1:24 PM Changeset in webkit [116680] by jianli@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed chromium gardening. Updated failed tests.

  • platform/chromium/test_expectations.txt:
1:10 PM Changeset in webkit [116679] by zandobersek@gmail.com
  • 8 edits in trunk

[GTK] ENABLE_IFRAME_SEAMLESS support
https://bugs.webkit.org/show_bug.cgi?id=85843

Reviewed by Eric Seidel.

.:

Add a configuration option for enabling the iframe seamless
attribute support, enabling it by default.

  • configure.ac:

Source/WebCore:

Export the ENABLE_IFRAME_SEAMLESS feature define when the feature is
enabled.

No new tests - all the related tests should now be passing.

  • GNUmakefile.am:

Tools:

Add the iframe-seamless option to the options list. This makes it
possible to enable the iframe seamless support through build-webkit
script. Enabled by default for all the ports.

  • Scripts/webkitperl/FeatureList.pm:

LayoutTests:

Remove test expectations for the iframe seamless tests. All these
tests should be passing now as the feature is enabled.

  • platform/gtk/test_expectations.txt:
12:57 PM Changeset in webkit [116678] by jchaffraix@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed Qt gardening.

  • platform/qt/Skipped:

Skipped the test as it fails only on Qt (double-checked locally on Mac),
the difference is very small and likely minor.

12:52 PM Changeset in webkit [116677] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Inline Node::traverseNextNode
https://bugs.webkit.org/show_bug.cgi?id=85844

Reviewed by Ryosuke Niwa.

Inline traverseNextNode and traverseNextSibling to reduce entry/exit overhead and allow better code generation
for many hot loops.

In this version only the firstChild()/nextSibling() tests are inlined and the ancestor traversal is not.

Performance bots will tell if this was worthwhile.

  • dom/ContainerNode.h:

(WebCore::Node::traverseNextNode):
(WebCore):
(WebCore::Node::traverseNextSibling):

  • dom/Node.cpp:

(WebCore::Node::traverseNextAncestorSibling):

  • dom/Node.h:

(Node):

12:50 PM BuildingGtk edited by Martin Robinson
(diff)
12:28 PM Changeset in webkit [116676] by rakuco@webkit.org
  • 3 edits in trunk/Tools

[EFL][webkitpy] Do not redefine check_build() in EflPort.
https://bugs.webkit.org/show_bug.cgi?id=86124

Reviewed by Dirk Pranke.

Remove an old FIXME and do not redefine check_build in EflPort;
once build-dumprendertree recognizes --efl, we can use the
check_build implementation in WebKitPort.

  • Scripts/build-dumprendertree:
  • Scripts/webkitpy/layout_tests/port/efl.py:

(EflPort.check_build):

12:17 PM Changeset in webkit [116675] by tommyw@google.com
  • 2 edits in trunk/Source/WebCore

MediaStream API: Fix MediaHints parsing
https://bugs.webkit.org/show_bug.cgi?id=86098

Reviewed by Adam Barth.

Not currently testable. Working on a series of patches that will fix that.

  • Modules/mediastream/PeerConnection00.cpp:

(WebCore::PeerConnection00::createMediaHints):

12:11 PM Changeset in webkit [116674] by tommyw@google.com
  • 4 edits in trunk

[chromium] MediaStream API: Fix the ExtraData functionality in WebMediaStreamDescriptor
https://bugs.webkit.org/show_bug.cgi?id=86087

Reviewed by Adam Barth.

Source/WebCore:

Not easy to test but I have added code that excercises this to WebUserMediaClientMock (in DumpRenderTree).

  • platform/chromium/support/WebMediaStreamDescriptor.cpp:

(WebKit::WebMediaStreamDescriptor::setExtraData):

Tools:

  • DumpRenderTree/chromium/WebUserMediaClientMock.cpp:

(MockExtraData):
(WebKit):
(WebKit::WebUserMediaClientMock::requestUserMedia):

12:01 PM Changeset in webkit [116673] by barraclough@apple.com
  • 12 edits in trunk/Source/JavaScriptCore

Remove op_get_callee

Rubber stamped by Geoff Garen.

This is now redundant.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dump):

  • bytecode/Opcode.h:

(JSC):
(JSC::padOpcodeName):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.h:

(JSC::DFG::canCompileOpcode):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::privateExecute):

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):

  • jit/JIT.h:
  • jit/JITOpcodes.cpp:

(JSC):

  • jit/JITOpcodes32_64.cpp:

(JSC):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
11:47 AM Changeset in webkit [116672] by pfeldman@chromium.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: search title is shown beside the search field (not under) in the vertical mode.
https://bugs.webkit.org/show_bug.cgi?id=86120

Reviewed by Yury Semikhatsky.

This change makes search title render as placeholder at all times.
It also adjusts the size of the search field when navigation arrows appear.

  • inspector/front-end/SearchController.js:

(WebInspector.SearchController):
(WebInspector.SearchController.prototype.updateSearchLabel):
(WebInspector.SearchController.prototype._updateSearchNavigationButtonState):
(WebInspector.SearchController.prototype._createSearchNavigationButton):

  • inspector/front-end/inspector.css:

(#toolbar-search-item):
(.with-navigation-buttons #search):
(.toolbar-search-navigation-label):
(.with-navigation-buttons .toolbar-search-navigation-label):

  • inspector/front-end/inspector.html:
11:42 AM Changeset in webkit [116671] by commit-queue@webkit.org
  • 10 edits
    2 adds in trunk

[chromium] Trigger context menu for long press gesture
https://bugs.webkit.org/show_bug.cgi?id=85919

Patch by Varun Jain <varunjain@google.com> on 2012-05-10
Reviewed by Adam Barth.

Source/WebCore:

Test: fast/events/touch/gesture/context-menu-on-long-press.html

  • page/EventHandler.cpp:

(WebCore):
(WebCore::EventHandler::sendContextMenuEventForGesture):

  • page/EventHandler.h:

(EventHandler):

Source/WebKit/chromium:

  • src/PageWidgetDelegate.cpp:

(WebKit::PageWidgetDelegate::handleInputEvent):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::handleGestureEvent):

Tools:

  • DumpRenderTree/chromium/EventSender.cpp:

(EventSender::EventSender):
(EventSender::gestureLongPress):
(EventSender::gestureEvent):

  • DumpRenderTree/chromium/EventSender.h:

(EventSender):

LayoutTests:

  • fast/events/touch/gesture/context-menu-on-long-press.html: Added.
  • platform/chromium/fast/events/touch/gesture/context-menu-on-long-press-expected.txt: Added.
11:40 AM Changeset in webkit [116670] by barraclough@apple.com
  • 21 edits in trunk/Source/JavaScriptCore

Cache inheritorID on JSFunction
https://bugs.webkit.org/show_bug.cgi?id=85853

Reviewed by Geoff Garen & Filip Pizlo.

An object's prototype is indicated via its structure. To create an otherwise
empty object with object A as its prototype, we require a structure with its
prototype set to point to A. We wish to use this same structure for all empty
objects created with a prototype of A, so we presently store this structure as
a property of A, known as the inheritorID.

When a function F is invoked as a constructor, where F has a property 'prototype'
set to point to A, in order to create the 'this' value for the constructor to
use the following steps are taken:

  • the 'prototype' proptery of F is read, via a regular Get access.
  • the inheritorID internal property of the prototype is read.
  • a new, empty object is constructed with its structure set to point to inheritorID.

There are two drawbacks to the current approach:

  • it requires that every object has an inheritorID field.
  • it requires a Get access on every constructor call to access the 'prototype' property.

Instead, switch to caching a copy of the inheritorID on the function. Constructor
calls now only need read the internal property from the callee, saving a Get.
This also means that JSObject::m_inheritorID is no longer commonly read, and in a
future patch we can move to storing this in a more memory efficient fashion.

(JSC::CodeBlock::dump):

  • bytecode/Opcode.h:

(JSC):
(JSC::padOpcodeName):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::privateExecute):

  • jit/JITInlineMethods.h:

(JSC::JIT::emitAllocateJSFunction):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_create_this):
(JSC::JIT::emitSlow_op_create_this):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_create_this):
(JSC::JIT::emitSlow_op_create_this):

  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/JSFunction.cpp:

(JSC::JSFunction::JSFunction):
(JSC::JSFunction::cacheInheritorID):
(JSC):
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):

  • runtime/JSFunction.h:

(JSC::JSFunction::cachedInheritorID):
(JSFunction):
(JSC::JSFunction::offsetOfCachedInheritorID):

11:39 AM Changeset in webkit [116669] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

Crash in ApplyStyleCommand::joinChildTextNodes.
https://bugs.webkit.org/show_bug.cgi?id=85939

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: editing/style/apply-style-join-child-text-nodes-crash.html

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): add conditions
to bail out if our start and end position nodes are removed due to
mutation events in joinChildTextNodes.
(WebCore::ApplyStyleCommand::applyInlineStyle): this executes after
applyRelativeFontStyleChange in ApplyStyleCommand::doApply. So, need
to bail out if our start and end position nodes are removed due to
mutation events.
(WebCore::ApplyStyleCommand::joinChildTextNodes): hold all the children
in a ref vector to prevent them from getting destroyed due to mutation events.

LayoutTests:

  • editing/style/apply-style-join-child-text-nodes-crash-expected.txt: Added.
  • editing/style/apply-style-join-child-text-nodes-crash.html: Added.
11:38 AM Changeset in webkit [116668] by toyoshim@chromium.org
  • 4 edits
    1 copy
    21 adds in trunk/Tools

don't use autoinstall to import pywebsocket but check it in WebKit directly.
https://bugs.webkit.org/show_bug.cgi?id=86107

Reviewed by Adam Barth.

This change removes pywebsocket from webkitpy's autoinstall list and
imports pywebsocket 0.7.4 directly into webkitpy/thirparty.

  • Scripts/webkitpy/layout_tests/servers/websocket_server.py:

(PyWebSocket._prepare_config):

  • Scripts/webkitpy/thirdparty/init.py:

(AutoinstallImportHook.find_module):
(AutoinstallImportHook._install_irc):

  • Scripts/webkitpy/thirdparty/init_unittest.py:

(ThirdpartyTest.test_import_hook.MockImportHook.init):
(ThirdpartyTest.test_import_hook.MockImportHook._install_eliza):
(ThirdpartyTest):
(ThirdpartyTest.test_import_hook):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/COPYING: Added.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/init.py: Added.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_base.py: Added.

(ConnectionTerminatedException):
(InvalidFrameException):
(BadOperationException):
(UnsupportedFrameException):
(InvalidUTF8Exception):
(StreamBase):
(StreamBase.init):
(StreamBase._read):
(StreamBase._write):
(StreamBase.receive_bytes):
(StreamBase._read_until):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_hixie75.py: Added.

(for):
(StreamHixie75):
(StreamHixie75.for):
(StreamHixie75.init):
(StreamHixie75.send_message):
(StreamHixie75._read_payload_length_hixie75):
(StreamHixie75.receive_message):
(StreamHixie75._send_closing_handshake):
(StreamHixie75.close_connection):
(StreamHixie75.send_ping):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/_stream_hybi.py: Added.

(Frame):
(Frame.init):
(create_length_header):
(create_header):
(_build_frame):
(_filter_and_format_frame_object):
(create_binary_frame):
(create_text_frame):
(FragmentedFrameBuilder):
(FragmentedFrameBuilder.to):
(FragmentedFrameBuilder.init):
(FragmentedFrameBuilder.build):
(_create_control_frame):
(create_ping_frame):
(create_pong_frame):
(create_close_frame):
(StreamOptions):
(StreamOptions.init):
(Stream):
(Stream.for):
(Stream.init):
(Stream._receive_frame):
(Stream._receive_frame_as_frame_object):
(Stream.send_message):
(Stream.receive_message):
(Stream._send_closing_handshake):
(Stream.close_connection):
(Stream.send_ping):
(Stream._send_pong):
(Stream._drain_received_data):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/common.py: Added.

(is_control_opcode):
(ExtensionParameter):
(ExtensionParameter.init):
(ExtensionParameter.name):
(ExtensionParameter.add_parameter):
(ExtensionParameter.get_parameters):
(ExtensionParameter.get_parameter_names):
(ExtensionParameter.has_parameter):
(ExtensionParameter.get_parameter_value):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/dispatch.py: Added.

(DispatchException):
(DispatchException.init):
(_default_passive_closing_handshake_handler):
(_normalize_path):
(_create_path_to_resource_converter):
(_create_path_to_resource_converter.converter):
(_enumerate_handler_file_paths):
(_HandlerSuite):
(_HandlerSuite.init):
(_source_handler_file):
(_extract_handler):
(Dispatcher):
(Dispatcher.maintains):
(Dispatcher.init):
(Dispatcher.add_resource_path_alias):
(Dispatcher.source_warnings):
(Dispatcher.do_extra_handshake):
(Dispatcher.transfer_data):
(Dispatcher.passive_closing_handshake):
(Dispatcher.get_handler_suite):
(Dispatcher._source_handler_files_in_dir):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/extensions.py: Added.

(ExtensionProcessorInterface):
(ExtensionProcessorInterface.get_extension_response):
(ExtensionProcessorInterface.setup_stream_options):
(DeflateStreamExtensionProcessor):
(DeflateStreamExtensionProcessor.init):
(DeflateStreamExtensionProcessor.get_extension_response):
(DeflateStreamExtensionProcessor.setup_stream_options):
(DeflateFrameExtensionProcessor):
(DeflateFrameExtensionProcessor.init):
(DeflateFrameExtensionProcessor.get_extension_response):
(DeflateFrameExtensionProcessor.setup_stream_options):
(DeflateFrameExtensionProcessor.setup_stream_options._OutgoingFilter):
(DeflateFrameExtensionProcessor.setup_stream_options._OutgoingFilter.init):
(DeflateFrameExtensionProcessor.setup_stream_options._OutgoingFilter.filter):
(DeflateFrameExtensionProcessor.setup_stream_options._IncomingFilter):
(DeflateFrameExtensionProcessor.setup_stream_options._IncomingFilter.init):
(DeflateFrameExtensionProcessor.setup_stream_options._IncomingFilter.filter):
(DeflateFrameExtensionProcessor.set_response_window_bits):
(DeflateFrameExtensionProcessor.set_response_no_context_takeover):
(DeflateFrameExtensionProcessor.enable_outgoing_compression):
(DeflateFrameExtensionProcessor.disable_outgoing_compression):
(DeflateFrameExtensionProcessor._outgoing_filter):
(DeflateFrameExtensionProcessor._incoming_filter):
(get_extension_processor):
(get_extension_processor.is):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/init.py: Added.

(try):
(do_handshake):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/_base.py: Added.

(AbortedByUserException):
(HandshakeException):
(HandshakeException.init):
(VersionException):
(VersionException.init):
(get_default_port):
(validate_subprotocol):
(parse_host_header):
(format_header):
(build_location):
(get_mandatory_header):
(validate_mandatory_header):
(check_request_line):
(check_header_lines):
(parse_token_list):
(_parse_extension_param):
(_parse_extension):
(parse_extensions):
(format_extensions):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/draft75.py: Added.

(Handshaker):
(Handshaker.performs):
(Handshaker.init):
(Handshaker.do_handshake):
(Handshaker._set_resource):
(Handshaker._set_origin):
(Handshaker._set_location):
(Handshaker._set_subprotocol):
(Handshaker._set_protocol_version):
(Handshaker._sendall):
(Handshaker._send_handshake):
(Handshaker._check_header_lines):
(Handshaker._check_first_lines):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi.py: Added.

(compute_accept):
(Handshaker):
(Handshaker.init):
(Handshaker._validate_connection_header):
(Handshaker.do_handshake):
(Handshaker._get_origin):
(Handshaker._check_version):
(Handshaker._set_protocol):
(Handshaker._parse_extensions):
(Handshaker._validate_key):
(Handshaker._get_key):
(Handshaker._send_handshake):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/handshake/hybi00.py: Added.

(Handshaker):
(Handshaker.init):
(Handshaker.do_handshake):
(Handshaker._set_resource):
(Handshaker._set_subprotocol):
(Handshaker._set_location):
(Handshaker._set_origin):
(Handshaker._set_protocol_version):
(Handshaker._set_challenge_response):
(Handshaker._get_key_value):
(Handshaker._get_challenge):
(Handshaker._send_handshake):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/headerparserhandler.py: Added.

(ApacheLogHandler):
(ApacheLogHandler.init):
(ApacheLogHandler.emit):
(_configure_logging):
(_parse_option):
(_create_dispatcher):
(headerparserhandler):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/http_header_util.py: Added.

(_is_char):
(_is_ctl):
(ParsingState):
(ParsingState.init):
(peek):
(consume):
(consume_string):
(consume_lws):
(consume_lwses):
(consume_token):
(consume_token_or_quoted_string):
(quote_if_necessary):
(parse_uri):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/memorizingfile.py: Added.

(MemorizingFile):
(MemorizingFile.init):
(MemorizingFile.getattribute):
(MemorizingFile.readline):
(MemorizingFile.get_memorized_lines):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/msgutil.py: Added.

(close_connection):
(send_message):
(receive_message):
(send_ping):
(MessageReceiver):
(MessageReceiver.receives):
(MessageReceiver.provides):
(MessageReceiver.should):
(MessageReceiver.init):
(MessageReceiver.run):
(MessageReceiver.receive):
(MessageReceiver.receive_nowait):
(MessageReceiver.stop):
(MessageSender):
(MessageSender.sends):
(MessageSender.provides):
(MessageSender.should):
(MessageSender.init):
(MessageSender.run):
(MessageSender.send):
(MessageSender.send_nowait):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/standalone.py: Added.

(_StandaloneConnection):
(_StandaloneConnection.init):
(_StandaloneConnection.get_local_addr):
(_StandaloneConnection.get_remote_addr):
(_StandaloneConnection.write):
(_StandaloneConnection.read):
(_StandaloneConnection.get_memorized_lines):
(_StandaloneRequest):
(_StandaloneRequest.init):
(_StandaloneRequest.get_uri):
(_StandaloneRequest.get_method):
(_StandaloneRequest.is_https):
(_StandaloneRequest._drain_received_data):
(_StandaloneSSLConnection):
(_StandaloneSSLConnection.for):
(_StandaloneSSLConnection.init):
(_StandaloneSSLConnection.getattribute):
(_StandaloneSSLConnection.setattr):
(_StandaloneSSLConnection.makefile):
(WebSocketServer):
(WebSocketServer.init):
(WebSocketServer._create_sockets):
(WebSocketServer.server_bind):
(WebSocketServer.server_activate):
(WebSocketServer.server_close):
(WebSocketServer.fileno):
(WebSocketServer.handle_error):
(WebSocketServer.get_request):
(WebSocketServer.serve_forever):
(WebSocketServer.shutdown):
(WebSocketRequestHandler):
(WebSocketRequestHandler.setup):
(WebSocketRequestHandler.setup.SocketServer):
(WebSocketRequestHandler.init):
(WebSocketRequestHandler.parse_request):
(WebSocketRequestHandler.log_request):
(WebSocketRequestHandler.log_error):
(WebSocketRequestHandler.is_cgi):
(_configure_logging):
(_alias_handlers):
(_build_option_parser):
(ThreadMonitor):
(ThreadMonitor.init):
(ThreadMonitor.run):
(_parse_args_and_config):
(_main):
(_main.if):
(_main.if.check_script):

  • Scripts/webkitpy/thirdparty/mod_pywebsocket/stream.py: Copied from Tools/Scripts/webkitpy/thirdparty/init_unittest.py.
  • Scripts/webkitpy/thirdparty/mod_pywebsocket/util.py: Added.

(get_stack_trace):
(prepend_message_to_exception):
(translate_interp):
(get_script_interp):
(wrap_popen3_for_win):
(wrap_popen3_for_win.
wrap_popen3):
(hexify):
(get_class_logger):
(NoopMasker):
(NoopMasker.init):
(NoopMasker.mask):
(RepeatedXorMasker):
(RepeatedXorMasker.init):
(RepeatedXorMasker.mask):
(DeflateRequest):
(DeflateRequest.for):
(DeflateRequest.init):
(DeflateRequest.getattribute):
(DeflateRequest.setattr):
(_Deflater):
(_Deflater.init):
(_Deflater.compress_and_flush):
(_Inflater):
(_Inflater.init):
(_Inflater.decompress):
(_Inflater.append):
(_Inflater.reset):
(_RFC1979Deflater):
(_RFC1979Deflater.that):
(_RFC1979Deflater.init):
(_RFC1979Deflater.filter):
(_RFC1979Inflater):
(_RFC1979Inflater.for):
(_RFC1979Inflater.init):
(_RFC1979Inflater.filter):
(DeflateSocket):
(DeflateSocket.for):
(DeflateSocket.init):
(DeflateSocket.recv):
(DeflateSocket.sendall):
(DeflateSocket.send):
(DeflateConnection):
(DeflateConnection.for):
(DeflateConnection.init):
(DeflateConnection.get_remote_addr):
(DeflateConnection.put_bytes):
(DeflateConnection.read):
(DeflateConnection.write):
(_is_ewouldblock_errno):
(drain_received_data):

11:34 AM Changeset in webkit [116667] by kerz@chromium.org
  • 2 edits in branches/chromium/1132/Source/WebCore

Merge 116316 - [chromium] setContentsMemoryAllocationLimitBytes needs to setNeedsCommit.
https://bugs.webkit.org/show_bug.cgi?id=85801

Patch by Michal Mocny <mmocny@google.com> on 2012-05-07
Reviewed by Adrienne Walker.

CCLayerTreeHost::setContentsMemoryAllocationLimitBytes needs to call setNeedsCommit after adjusting memory
limits, so that we push a new frame. In particular, when returning from non visibile state, we adjust
memory allocation from 0 to non 0, and we need to push a non blank frame.

  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::setVisible):
(WebCore::CCLayerTreeHost::setContentsMemoryAllocationLimitBytes):

TBR=commit-queue@webkit.org
Review URL: https://chromiumcodereview.appspot.com/10332095

11:25 AM Changeset in webkit [116666] by pilgrim@chromium.org
  • 11 edits in trunk/Source

[Chromium] Remove dead code behind unused WEBKIT_USING_CG
https://bugs.webkit.org/show_bug.cgi?id=86018

Reviewed by Adam Barth.

We never use CoreGraphics as the backend for GraphicsContext in
Chromium, so this is all dead code.

Source/Platform:

  • chromium/public/WebCanvas.h:

(WebKit):

  • chromium/public/WebImage.h:

(WebImage):

Source/WebKit/chromium:

  • README:
  • src/PageOverlay.cpp:
  • src/WebContentLayerImpl.cpp:

(WebKit::WebContentLayerImpl::paintContents):

  • src/WebFontImpl.cpp:

(WebKit::WebFontImpl::drawText):

  • src/WebImageDecoder.cpp:

(WebKit::WebImageDecoder::getFrameAtIndex):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::paint):
(WebKit::WebPluginContainerImpl::printPage):

  • src/painting/GraphicsContextBuilder.h:

(WebKit):

11:23 AM Changeset in webkit [116665] by inferno@chromium.org
  • 1 edit
    2 moves in trunk/LayoutTests

Unreviewed. Correct spelling in test name.

  • editing/inserting/insert-paragraph-separator-crash-expected.txt: Renamed from LayoutTests/editing/inserting/insert-paragraph-seperator-crash-expected.txt.
  • editing/inserting/insert-paragraph-separator-crash.html: Renamed from LayoutTests/editing/inserting/insert-paragraph-seperator-crash.html.
11:22 AM Changeset in webkit [116664] by arv@chromium.org
  • 5 edits in trunk/Source/WebCore

Unreviewed, rebaselined run-bindings-tests results.

  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):

  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):

  • bindings/scripts/test/V8/V8TestException.cpp:

(WebCore::V8TestException::wrapSlow):

  • bindings/scripts/test/V8/V8TestException.h:

(WebCore::V8TestException::wrap):

11:15 AM Changeset in webkit [116663] by commit-queue@webkit.org
  • 5 edits
    1 add
    1 delete in trunk/LayoutTests

Test from bug 34875 does not work on chromium/mac
https://bugs.webkit.org/show_bug.cgi?id=85913

Patch by Shezan Baig <shezbaig.wk@gmail.com> on 2012-05-10
Reviewed by Julien Chaffraix.

  • fast/block/positioning/offsetLeft-offsetTop-multicolumn-expected.html: Added.
  • fast/block/positioning/offsetLeft-offsetTop-multicolumn-expected.txt: Removed.
  • fast/block/positioning/offsetLeft-offsetTop-multicolumn.html:

Turned the test back into a ref-test as keeping the test cross-platform and
dumpAsText is proving cumbersome. Apart from that, it also make the test work
cross-browser.

  • platform/chromium/test_expectations.txt:
  • platform/mac/Skipped:
  • platform/qt-mac/Skipped:

Re-enabled the test.

11:15 AM Changeset in webkit [116662] by rakuco@webkit.org
  • 2 edits in trunk/Tools

[EFL][webkitpy] Define the 'wrapper' option in EflPort instead of creating a EflDriver.
https://bugs.webkit.org/show_bug.cgi?id=86117

Reviewed by Adam Barth.

Simplify the code used to wrap driver calls with jhbuild: we can
just define the 'wrapper' option instead of having to create a
Driver class just for that.

  • Scripts/webkitpy/layout_tests/port/efl.py:

(EflPort.init):
(EflPort._port_flag_for_scripts):

11:09 AM Changeset in webkit [116661] by rakuco@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Gardening away IETC crash for now
https://bugs.webkit.org/show_bug.cgi?id=86115

Unreviewed, EFL gardening.

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-05-10

  • platform/efl/test_expectations.txt:
11:05 AM Changeset in webkit [116660] by jianli@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed chromium gardening. Marked tests as failure.

  • platform/chromium/test_expectations.txt:
10:32 AM Changeset in webkit [116659] by msaboff@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Enh: Hash Const JSString in Backing Stores to Save Memory
https://bugs.webkit.org/show_bug.cgi?id=86024

Reviewed by Filip Pizlo.

During garbage collection, each marking thread keeps a HashMap of
strings. While visiting via MarkStack::copyAndAppend(), we check to
see if the string we are visiting is already in the HashMap. If not
we add it. If so, we change the reference to the current string we're
visiting to the prior string.

To somewhat reduce the performance impact of this change, if a string
is unique at the end of a marking it will not be checked during further
GC phases. In some cases this won't catch all duplicates, but we are
trying to catch the growth of duplicate strings.

  • heap/Heap.cpp:

(JSC::Heap::markRoots):

  • heap/MarkStack.cpp:

(JSC::MarkStackThreadSharedData::resetChildren): New method called by the
main thread to reset the slave threads. This is primarily done to
clear the m_uniqueStrings HashMap.
(JSC):
(JSC::MarkStackThreadSharedData::markingThreadMain):
(JSC::MarkStackThreadSharedData::markingThreadStartFunc):
(JSC::MarkStackThreadSharedData::MarkStackThreadSharedData):
(JSC::MarkStackThreadSharedData::reset):
(JSC::MarkStack::reset): Added call to clear m_uniqueStrings.
(JSC::MarkStack::internalAppend): New method that performs the hash consting.
(JSC::SlotVisitor::copyAndAppend): Changed to call the new hash consting
internalAppend()

  • heap/MarkStack.h:

(MarkStackThreadSharedData):
(MarkStack):
(JSC::MarkStack::sharedData):

  • runtime/JSString.h:

(JSString): Added m_isHashConstSingleton flag, accessors for the flag and
code to initialize the flag.
(JSC::JSString::finishCreation):
(JSC::JSString::isHashConstSingleton):
(JSC::JSString::clearHashConstSingleton):
(JSC::JSString::setHashConstSingleton):
(JSC::JSRopeString::finishCreation):

10:26 AM Changeset in webkit [116658] by tomz@codeaurora.org
  • 6 edits
    7 adds in trunk/LayoutTests

Integrate IETC CSS : values and units tests
https://bugs.webkit.org/show_bug.cgi?id=85307

Patch by Dave Tharp <dtharp@codeaurora.org> on 2012-05-10
Reviewed by Adam Barth.

Added the IETC values and unit tests and associated reference tests.

Also removed two "file not found" test entries in the mac test_expectations.txt
file that were causing a style check failure.

  • ietestcenter/css3/valuesandunits/units-000-expected.htm: Added.
  • ietestcenter/css3/valuesandunits/units-000.htm: Added.
  • ietestcenter/css3/valuesandunits/units-010-expected.htm: Added.
  • ietestcenter/css3/valuesandunits/units-010.htm: Added.
  • ietestcenter/css3/valuesandunits/units-020-expected.htm: Added.
  • ietestcenter/css3/valuesandunits/units-020.htm: Added.
  • platform/chromium/test_expectations.txt:
  • platform/efl/test_expectations.txt:
  • platform/gtk/test_expectations.txt:
  • platform/mac/test_expectations.txt:
  • platform/qt/test_expectations.txt:
10:15 AM Changeset in webkit [116657] by tonikitoo@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Assertions and assumptions in BackingStoreClient around m_frame and m_frame->view() are invalid
https://bugs.webkit.org/show_bug.cgi?id=86096

Reviewed by Rob Buis.
Patch by Antonio Gomes <agomes@rim.com>

A Frame's FrameView has always to be checked since it is
a volatile object, and gets created and destroyed all the time.

We have been facing a particular issue, where during our automated
interaction tests, the main frame object was being pinch zoomed in
the middle of it creation, and WebKit thread was blocked by a mutex.
In practice, it is a case that would not be possible in a real
world scenario, but shows that the ASSERTs are bogus regardless.

  • WebKitSupport/BackingStoreClient.cpp:

(BlackBerry::WebKit::BackingStoreClient::scrollPosition):
(BlackBerry::WebKit::BackingStoreClient::setScrollPosition):
(BlackBerry::WebKit::BackingStoreClient::maximumScrollPosition):
(BlackBerry::WebKit::BackingStoreClient::viewportSize):
(BlackBerry::WebKit::BackingStoreClient::transformedViewportSize):
(BlackBerry::WebKit::BackingStoreClient::visibleContentsRect):
(BlackBerry::WebKit::BackingStoreClient::contentsSize):

9:54 AM Changeset in webkit [116656] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL][DRT] ewk_view_paint_contents may trigger assertion failure
https://bugs.webkit.org/show_bug.cgi?id=85058

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-05-10
Reviewed by Gustavo Noronha Silva.

Source/WebKit/efl:

Fixing assertion failure triggered in media/media-fragment cases.
The assertion is hit because of a race between scheduleRelayout() and
the EWK's idle tiling painting. This is exposed by test cases
that rapidly insert child nodes to the document which lead to
scheduleRelayout() calls. Using the general purpose defensive
layout function, not causing any extra relayout work if there's
nothing to be done, but still avoiding the assertion failure if
layout is needed.

  • ewk/ewk_view.cpp:

(ewk_view_paint):
(ewk_view_paint_contents):

LayoutTests:

Unskipping media-fragments that pass after the assertion failure was fixed.

  • platform/efl/Skipped:
9:47 AM Changeset in webkit [116655] by arv@chromium.org
  • 2 edits
    2 adds in trunk/LayoutTests

Add test that makes sure wrappers are setup using the correct window scope
https://bugs.webkit.org/show_bug.cgi?id=85526

Reviewed by Ojan Vafai.

This tests the same thing as the recently removed fast/dom/prototype-inheritance.html test.

  • fast/dom/wrapper-scope-expected.txt: Added.
  • fast/dom/wrapper-scope.html: Added.
  • platform/chromium/test_expectations.txt:
9:45 AM Changeset in webkit [116654] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Test /webkit2/WebKitWebView/resources times out
https://bugs.webkit.org/show_bug.cgi?id=86088

Reviewed by Martin Robinson.

  • UIProcess/API/gtk/tests/TestResources.cpp:

(testWebViewResources): Use webkit_web_view_reload_bypass_cache()
instead of webkit_web_view_reload() to make sure resources are not
read from the cache.

9:44 AM Changeset in webkit [116653] by inferno@chromium.org
  • 7 edits
    2 adds in trunk

Crash in InsertParagraphSeparatorCommand::doApply.
https://bugs.webkit.org/show_bug.cgi?id=84995

Reviewed by Ryosuke Niwa.

Source/WebCore:

Test: editing/inserting/insert-paragraph-seperator-crash.html

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::mergeParagraphs): no need of static cast, since
type of enclosingBlock returned is already Element*.

  • editing/IndentOutdentCommand.cpp:

(WebCore::IndentOutdentCommand::tryIndentingAsListItem): no need of static cast, since
type of enclosingBlock returned is already Element*.

  • editing/InsertParagraphSeparatorCommand.cpp:

(WebCore::InsertParagraphSeparatorCommand::doApply): RefPtr startBlock to guard against
mutation events.

  • editing/htmlediting.cpp:

(WebCore::enclosingBlock): make sure type of enclosingNode is an element before doing
the static cast. This was already failing in a couple of layout tests. Also, isBlock
check already exists in the function call to enclosingNodeOfType, so don't need it
again on enclosingNode's renderer.

  • editing/htmlediting.h:

(WebCore):

LayoutTests:

  • editing/inserting/insert-paragraph-seperator-crash-expected.txt: Added.
  • editing/inserting/insert-paragraph-seperator-crash.html: Added.
9:38 AM Changeset in webkit [116652] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[GTK] WK2 misses WebKitSettings for media playback requiring user gestures and inline playback
https://bugs.webkit.org/show_bug.cgi?id=85999

Patch by Simon Pena <Simon Pena> on 2012-05-10
Reviewed by Martin Robinson.

Expose WebKitSettings for media playback requiring user gesture and
media playback allows inline to GTK side.

This adds two properties (mediaPlaybackRequiresUserGesture and
mediaPlaybackAllowsInline), with their setters and getters, to
WebKitSettings. It also updates the WebKitSettings tests so these
two properties are checked, and includes the new methods in the
documentation.

  • UIProcess/API/gtk/WebKitSettings.cpp: added the new properties and

their accessors
(webKitSettingsSetProperty):
(webKitSettingsGetProperty):
(webkit_settings_class_init):
(webkit_settings_set_media_playback_requires_user_gesture):
(webkit_settings_get_media_playback_requires_user_gesture):
(webkit_settings_set_media_playback_allows_inline):
(webkit_settings_get_media_playback_allows_inline):

  • UIProcess/API/gtk/WebKitSettings.h:
  • UIProcess/API/gtk/docs/webkit2gtk-sections.txt: included the new

methods in the documentation

  • UIProcess/API/gtk/tests/TestWebKitSettings.cpp: tested the newly

added methods
(testWebKitSettings):

9:33 AM Changeset in webkit [116651] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] Missing field initializers for WKPageLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=86005

Patch by Simon Pena <Simon Pena> on 2012-05-10
Reviewed by Martin Robinson.

Initialize willGoToBackForwardListItem and
interactionOccurredWhileProcessUnresponsive fields of
WKPageLoaderClient.

  • UIProcess/API/gtk/WebKitLoaderClient.cpp:

(attachLoaderClientToView):

9:17 AM Changeset in webkit [116650] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

TouchAdjustment doesn't correct for scroll-offsets.
https://bugs.webkit.org/show_bug.cgi?id=86083

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-05-10
Reviewed by Kenneth Rohde Christiansen.

Already tested by: touchadjustment/scroll-delegation

  • page/EventHandler.cpp:

(WebCore::EventHandler::bestClickableNodeForTouchPoint):
(WebCore::EventHandler::bestZoomableAreaForTouchPoint):

  • page/TouchAdjustment.cpp:

(WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):

  • testing/Internals.cpp:

(WebCore::Internals::bestZoomableAreaForTouchPoint):

8:59 AM Changeset in webkit [116649] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix typo in filename
https://bugs.webkit.org/show_bug.cgi?id=86095

Patch by Konrad Piascik <kpiascik@rim.com> on 2012-05-10
Reviewed by Andreas Kling.

  • UseJSC.cmake:
8:35 AM Changeset in webkit [116648] by kenneth@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Qt] Double tap to zoom is considered a user interaction
https://bugs.webkit.org/show_bug.cgi?id=86094

Reviewed by Simon Hausmann.

This makes it so that the content size change doesn't change scale
after a double tap to zoom.

  • UIProcess/qt/QtViewportInteractionEngine.cpp:

(WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):

8:22 AM Changeset in webkit [116647] by schenney@chromium.org
  • 5 edits
    1 add in trunk

SVG Filters allow invalid elements as children
https://bugs.webkit.org/show_bug.cgi?id=83979

Reviewed by Nikolas Zimmermann.

.:

This test will crash upon load in Chromium, unless the associated fix is in.

  • ManualTests/bugzilla-83979.svg: Added.

Source/WebCore:

According to the SVG spec, there are numerous restrictions on the
content of nodes (that is, their children). Specific to this problem,
SVGFilter elements may only contain SVGFilterPrimitive elements, and
those may only contain animation related elements. This patch enforces
the restriction on filters in the render tree, thus preventing us from
having (for instance) content that is inside a filter yet filtered by
the filter.

Manual test: ManualTests/bugzilla-83979.svg

  • svg/SVGFilterElement.cpp:

(WebCore::SVGFilterElement::childShouldCreateRenderer): Added to only allow renderers for fe* children
(WebCore):

  • svg/SVGFilterElement.h:

(SVGFilterElement):

  • svg/SVGFilterPrimitiveStandardAttributes.h: Do not allow any children at all for fe* elements.

(SVGFilterPrimitiveStandardAttributes):

8:12 AM Changeset in webkit [116646] by kent.hansen@nokia.com
  • 11 edits in trunk/Source/WebKit2

[Qt] Rename QDeclarative* to QQml*
https://bugs.webkit.org/show_bug.cgi?id=86089

Reviewed by Simon Hausmann.

The QtDeclarative module was deprecated in favor of QtQml.

  • Target.pri:
  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::_q_onReceivedResponseFromDownload):
(QQuickWebViewExperimental::alertDialog):
(QQuickWebViewExperimental::setAlertDialog):
(QQuickWebViewExperimental::confirmDialog):
(QQuickWebViewExperimental::setConfirmDialog):
(QQuickWebViewExperimental::promptDialog):
(QQuickWebViewExperimental::setPromptDialog):
(QQuickWebViewExperimental::authenticationDialog):
(QQuickWebViewExperimental::setAuthenticationDialog):
(QQuickWebViewExperimental::proxyAuthenticationDialog):
(QQuickWebViewExperimental::setProxyAuthenticationDialog):
(QQuickWebViewExperimental::certificateVerificationDialog):
(QQuickWebViewExperimental::setCertificateVerificationDialog):
(QQuickWebViewExperimental::itemSelector):
(QQuickWebViewExperimental::setItemSelector):
(QQuickWebViewExperimental::filePicker):
(QQuickWebViewExperimental::setFilePicker):
(QQuickWebViewExperimental::databaseQuotaDialog):
(QQuickWebViewExperimental::setDatabaseQuotaDialog):
(QQuickWebViewExperimental::schemeDelegates_At):
(QQuickWebViewExperimental::schemeDelegates_Append):
(QQuickWebViewExperimental::schemeDelegates_Count):
(QQuickWebViewExperimental::schemeDelegates_Clear):
(QQuickWebViewExperimental::schemeDelegates):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/qquickwebview_p_p.h:

(QQuickWebViewPrivate):

  • UIProcess/API/qt/qwebiconimageprovider.cpp:

(QWebIconImageProvider::QWebIconImageProvider):

  • UIProcess/API/qt/qwebiconimageprovider_p.h:
  • UIProcess/API/qt/qwebviewportinfo_p.h:
  • UIProcess/API/qt/tests/tests.pri:
  • UIProcess/qt/QtDialogRunner.h:

(QtDialogRunner):

  • UIProcess/qt/WebPopupMenuProxyQt.h:

(WebPopupMenuProxyQt):

8:10 AM Changeset in webkit [116645] by commit-queue@webkit.org
  • 13 edits
    4 adds in trunk

[CSS3 Backgrounds and Borders] Add background-size to the background shorthand
https://bugs.webkit.org/show_bug.cgi?id=27577

Patch by Joe Thomas <joethomas@motorola.com> on 2012-05-10
Reviewed by Alexis Menard.

Added CSSPropertyBackgroundSize to the background shorthand propery. Added the logic for parsing background-size.
bakground-size appears after background-position followed by a '/'.
The specification related to this change is http://www.w3.org/TR/css3-background/#the-background

Source/WebCore:

Tests: fast/backgrounds/background-shorthand-with-backgroundSize-style.html

fast/backgrounds/size/backgroundSize-in-background-shorthand.html

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
(WebCore::CSSComputedStyleDeclaration::getBackgroundShorthandValue):
(WebCore):

  • css/CSSComputedStyleDeclaration.h:

(CSSComputedStyleDeclaration):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFillShorthand):

  • css/StylePropertySet.cpp:

(WebCore::StylePropertySet::getLayeredShorthandValue):

  • css/StylePropertyShorthand.cpp:

(WebCore):
(WebCore::backgroundShorthand):

LayoutTests:

  • fast/backgrounds/background-shorthand-with-backgroundSize-style-expected.txt: Added.
  • fast/backgrounds/background-shorthand-with-backgroundSize-style.html: Added.
  • fast/backgrounds/size/backgroundSize-in-background-shorthand-expected.html: Added.
  • fast/backgrounds/size/backgroundSize-in-background-shorthand.html: Added.
  • fast/css/getComputedStyle/getComputedStyle-background-shorthand-expected.txt:
  • fast/css/getComputedStyle/getComputedStyle-background-shorthand.html:
  • fast/inspector-support/style-expected.txt:
  • inspector/styles/lazy-computed-style-expected.txt:
  • inspector/styles/styles-computed-trace-expected.txt:
  • inspector/styles/styles-new-API-expected.txt:
7:43 AM Changeset in webkit [116644] by morrita@google.com
  • 4 edits in trunk/Source/WebCore

Node::InDetachFlag could be removed.
https://bugs.webkit.org/show_bug.cgi?id=85963

Reviewed by Antti Koivisto.

Removed Node::inDetach() since it can never true
on the only call site setFocusedNode().

No new test. Covered by existing tests.

  • dom/Document.cpp:

(WebCore::Document::setFocusedNode):

  • dom/Node.cpp:

(WebCore::Node::detach):

  • dom/Node.h:

(WebCore):
(Node):

7:32 AM FeatureFlags edited by tkent@chromium.org
Add MEDIA_CAPTURE (diff)
7:23 AM Changeset in webkit [116643] by kareng@chromium.org
  • 16 edits in branches/chromium/1132/Source

Merge 116319 - Unreviewed, rolling out r115525.
http://trac.webkit.org/changeset/115525
https://bugs.webkit.org/show_bug.cgi?id=66683

Too many pages rely on DOMTimeStamp as first argument.
Reverting while we consider next steps.

Source/WebCore:

  • WebCore.exp.in:
  • bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:

(WebCore::JSRequestAnimationFrameCallback::handleEvent):

  • dom/Document.cpp:

(WebCore::Document::serviceScriptedAnimations):

  • dom/Document.h:

(Document):

  • dom/RequestAnimationFrameCallback.h:

(RequestAnimationFrameCallback):

  • dom/RequestAnimationFrameCallback.idl:
  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::ScriptedAnimationController):
(WebCore::ScriptedAnimationController::serviceScriptedAnimations):
(WebCore):
(WebCore::ScriptedAnimationController::windowScreenDidChange):
(WebCore::ScriptedAnimationController::scheduleAnimation):
(WebCore::ScriptedAnimationController::animationTimerFired):

  • dom/ScriptedAnimationController.h:

(ScriptedAnimationController):
(WebCore::ScriptedAnimationController::displayRefreshFired):

  • page/FrameView.cpp:

(WebCore::FrameView::serviceScriptedAnimations):

  • page/FrameView.h:

(FrameView):

  • platform/graphics/DisplayRefreshMonitor.cpp:

(WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
(WebCore::DisplayRefreshMonitor::notifyClients):

  • platform/graphics/DisplayRefreshMonitor.h:

(DisplayRefreshMonitor):

  • platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:

(WebCore::DisplayRefreshMonitor::displayLinkFired):

  • platform/graphics/mac/DisplayRefreshMonitorMac.cpp:

(WebCore):
(WebCore::DisplayRefreshMonitor::requestRefreshCallback):
(WebCore::DisplayRefreshMonitor::displayLinkFired):

Source/WebKit/chromium:

  • src/PageWidgetDelegate.cpp:

(WebKit::PageWidgetDelegate::animate):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::updateAnimations):

TBR=nduca@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10391049

7:11 AM Changeset in webkit [116642] by keishi@webkit.org
  • 3 edits in trunk/Source/WebCore

Crash in HTMLFormControlElement::m_fieldSetAncestor
https://bugs.webkit.org/show_bug.cgi?id=86070

Reviewed by Kent Tamura.

No new tests.

The previous patch r115990 didn't completely resolve the crash (Bug 85453)
We don't have a reproducible test case, so we are reverting to the old code for setting m_fieldSetAncestor.

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::HTMLFormControlElement):
(WebCore::HTMLFormControlElement::updateFieldSetAndLegendAncestor):
(WebCore::HTMLFormControlElement::insertedInto): Set m_dataListAncestorState to Unknown because ancestor has changed. Call setNeedsWillValidateCheck because style might need to be updated.
(WebCore::HTMLFormControlElement::removedFrom):
(WebCore::HTMLFormControlElement::disabled):
(WebCore::HTMLFormControlElement::recalcWillValidate):
(WebCore::HTMLFormControlElement::willValidate):
(WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):

  • html/HTMLFormControlElement.h:

(HTMLFormControlElement): Added m_dataListAncestorState.

7:05 AM Changeset in webkit [116641] by commit-queue@webkit.org
  • 15 edits
    1 move in trunk/Source

Web Inspector: rename InspectorBackendStub.js to InspectorBackendCommands.js
https://bugs.webkit.org/show_bug.cgi?id=72306

Source/WebCore:

Changed name for InspectorBackendStub.js to
InspectorBackendCommands.js

Patch by Sam D <dsam2912@gmail.com> on 2012-05-10
Reviewed by Yury Semikhatsky.

No new tests required. File name is changed.

  • DerivedSources.pri:
  • GNUmakefile.am:
  • Target.pri:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • WebCore.vcproj/copyWebCoreResourceFiles.cmd:
  • WebCore.xcodeproj/project.pbxproj:
  • gyp/copy-inspector-resources.sh:
  • inspector/CodeGeneratorInspector.py:
  • inspector/front-end/InspectorBackendCommands.qrc: Added.
  • inspector/front-end/InspectorBackendStub.qrc: Removed.
  • inspector/front-end/inspector.html:

Source/WebKit:

Changed name for InspectorBackendStub.js to
InspectorBackendCommands.js

Patch by Sam D <dsam2912@gmail.com> on 2012-05-10
Reviewed by Yury Semikhatsky.

  • PlatformBlackBerry.cmake:

Source/WebKit/chromium:

Changed name for InspectorBackendStub.js to InspectorBackendCommands.js

Patch by Sam D <dsam2912@gmail.com> on 2012-05-10
Reviewed by Yury Semikhatsky.

  • WebKit.gyp:
7:04 AM Changeset in webkit [116640] by rakuco@webkit.org
  • 3 edits in trunk/Source/WTF

[EFL] Add OwnPtr specialization for Eina_Hash.
https://bugs.webkit.org/show_bug.cgi?id=85046

Patch by Michał Pakuła vel Rutka <Michał Pakuła vel Rutka> on 2012-05-10
Reviewed by Andreas Kling.

Add an override for Eina_Hash for EFL port.

  • wtf/OwnPtrCommon.h:

(WTF):

  • wtf/efl/OwnPtrEfl.cpp:

(WTF::deleteOwnedPtr):
(WTF):

6:48 AM Changeset in webkit [116639] by commit-queue@webkit.org
  • 9 edits in trunk

Unreviewed, rolling out r116633.
http://trac.webkit.org/changeset/116633
https://bugs.webkit.org/show_bug.cgi?id=86093

Breaks EFL tests (Requested by kov on #webkit).

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

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::resetDefaultsToConsistentValues):

  • DumpRenderTree/efl/EventSender.cpp:

(keyDownCallback):

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:

(LayoutTestController::setTabKeyCyclesThroughElements):

LayoutTests:

  • platform/efl/Skipped:
6:42 AM Changeset in webkit [116638] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[EFL] Memory leaks found in EFL DRT
https://bugs.webkit.org/show_bug.cgi?id=85889

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-10
Reviewed by Gustavo Noronha Silva.

Fix two memory leaks in EFL's DRT by using JSRetainPtr for JSString
created with JSStringCreateWithUTF8CString.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::onWindowObjectCleared):

  • DumpRenderTree/efl/EventSender.cpp:

(modifiersFromJSValue):

6:19 AM Changeset in webkit [116637] by alexis.menard@openbossa.org
  • 2 edits in trunk/Source/WebCore

[Qt] Avoid string conversions to construct a QUrl when using Qt5.
https://bugs.webkit.org/show_bug.cgi?id=86006

Reviewed by Kenneth Rohde Christiansen.

In Qt5, the QUrl constructor can handle the string directly, even in UTF-16 because the
constructor QUrl(QString) has been fixed. Unfortunately we still need to use the old
code path when building with Qt4.

No new tests : it's a performance improvement which should be covered by tests.

  • platform/qt/KURLQt.cpp:

(WebCore::KURL::operator QUrl):

6:15 AM Changeset in webkit [116636] by noel.gordon@gmail.com
  • 4 edits in trunk

Source/WebCore: [chromium] REGRESSION(r107389) Visible line artifacts on some JPEG images
https://bugs.webkit.org/show_bug.cgi?id=85772

Reviewed by Kent Tamura.

On some JPEG images, vertical and horizontal lines artifacts might appear in image
regions with very high frequency color variation when using DCT_IFAST decodes. Use
DCT_IFAST on small screen devices only (Chromium Android).

No new tests. Covered by existing tests.

  • platform/image-decoders/jpeg/JPEGImageDecoder.cpp:

(dctMethod): Permit DCT_IFAST decoding for Chromium Android only.

LayoutTests: [chromium] REGRESSION(r107389) Visible line artifacts on JPEG images
https://bugs.webkit.org/show_bug.cgi?id=85772

Reviewed by Kent Tamura.

  • platform/chromium/test_expectations.txt: Add IMAGE expectations.
5:55 AM Changeset in webkit [116635] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Gardening of flaky tests
https://bugs.webkit.org/show_bug.cgi?id=86069

Unreviewed gardening.

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-05-10

  • platform/efl/test_expectations.txt:
5:39 AM QtWebKitBuildBots edited by Csaba Osztrogonác
Add gardening timetable and list of gardeners. Feel free to join us ;-) (diff)
5:38 AM Changeset in webkit [116634] by jocelyn.turcotte@nokia.com
  • 2 edits in trunk/Source/WebKit2

[Qt] Fix sites with a viewport meta tag when devicePixelRatio isn't explicitely set on the WebView
https://bugs.webkit.org/show_bug.cgi?id=86002

Reviewed by Kenneth Rohde Christiansen.

The preference was recently changed to a double ratio, but was still left under
FOR_EACH_WEBKIT_UINT32_PREFERENCE and was initialized to inf instead of 1.0.
This would cause the viewport constraints to apply a multi-millionaire device
pixel ratio and make the contents invisible.

This moves it with other double preferences under FOR_EACH_WEBKIT_DOUBLE_PREFERENCE.

  • Shared/WebPreferencesStore.h:

(WebKit):

5:28 AM Changeset in webkit [116633] by commit-queue@webkit.org
  • 9 edits in trunk

[EFL] LayoutTestController needs implementation of setTabKeyCyclesThroughElements
https://bugs.webkit.org/show_bug.cgi?id=82864

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2012-05-10
Reviewed by Gustavo Noronha Silva.

Source/WebKit/efl:

Add missing implementation for setTabKeyCyclesThroughElements to EFL's
DumpRenderTreeSupport.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::setTabKeyCyclesThroughElements):

  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

Add missing implementation for setTabKeyCyclesThroughElements to EFL's LayoutTestController
in order to unskip fast/events/keypress-insert-tab.html

  • DumpRenderTree/efl/EventSender.cpp:

(keyDownCallback):

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:

(LayoutTestController::setTabKeyCyclesThroughElements):

LayoutTests:

Unskip fast/events/keypress-insert-tab.html

  • platform/efl/Skipped:
5:20 AM Changeset in webkit [116632] by kenneth@webkit.org
  • 7 edits in trunk/Source

[Qt] Implement fit-to-width behaviour
https://bugs.webkit.org/show_bug.cgi?id=86085

Reviewed by Simon Hausmann.

Source/WebCore:

Add a method to get the minimum scale factor that contains the content
without showing any chrome background.

  • dom/ViewportArguments.cpp:

(WebCore::computeMinimumScaleFactorForContentContained):
(WebCore):

  • dom/ViewportArguments.h:

(WebCore):

Source/WebKit2:

We don't restrict the minimum scale to the layout viewport anymore,
but instead update the minimum scale when the content size changes.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewFlickablePrivate::didChangeViewportProperties):
(QQuickWebViewFlickablePrivate::didChangeContentsSize):

  • UIProcess/API/qt/qwebviewportinfo.cpp:

(QWebViewportInfo::minimumScale):
(QWebViewportInfo::maximumScale):

  • UIProcess/qt/QtViewportInteractionEngine.h:

(QtViewportInteractionEngine):

5:09 AM Changeset in webkit [116631] by vestbo@webkit.org
  • 2 edits in trunk/Source/WebKit/qt

[Qt] Fix \sa usage in documentation

Ensure comma between elements (6 missing).

Patch by Marius Storm-Olsen <marius.storm-olsen@nokia.com> on 2012-05-10
Reviewed by Tor Arne Vestbø.

4:56 AM Changeset in webkit [116630] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL][DRT] EventSender - set delayed event information if it was not set before
https://bugs.webkit.org/show_bug.cgi?id=85972

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2012-05-10
Reviewed by Gustavo Noronha Silva.

Tools:

Reset delayed event information if it is missing.

  • DumpRenderTree/efl/EventSender.cpp:

(feedOrQueueMouseEvent):

LayoutTests:

Unskipping layout tests that were skipped because of the bug.

  • platform/efl/Skipped:
4:37 AM Changeset in webkit [116629] by morrita@google.com
  • 24 edits in trunk/Source/WebCore

Remove support for Node::willRemove()
https://bugs.webkit.org/show_bug.cgi?id=55209

Reviewed by Ryosuke Niwa.

This change de-virtualizes Node::willRemove(), gains
5% speedup on Dromaeo dom-modify.

Originally there were 5 willRemove() overrides:

  • Element
  • HTMLStyleElement
  • HTMLSourceElement
  • HTMLTrackElement
  • HTMLFrameOwnerElement

For first 4 items, this change moves their implementations to
Node::removedFrom() overrides.

Then HTMLFrameOwnerElement is the only class which needs the
notification. Because it emits the "unload" event, it needs some
notification _before_ its removal. To handle that, this change
introduces ChildFrameDisconnector which collects
corresponding decendant elements and disconnect their content frame.

Even though this approach doesn't kill pre-removal tree traversal
completely, it's a bit more efficient due to the de-virtualization.

No new tests. Covered by existing test.

  • dom/ContainerNode.cpp:

(WebCore::willRemoveChild): Replaced willRemove() call with ChildFrameDisconnector.
(WebCore::willRemoveChildren): Ditto.
(WebCore::ContainerNode::disconnectDescendantFrames): Added. Used from FrameLoader to replace Document::willRemove() call.
(WebCore):

  • dom/ContainerNode.h:

(ContainerNode):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildFrameDisconnector::collectDescendant):
(WebCore):
(WebCore::ChildFrameDisconnector::Target::disconnect):

  • dom/ContainerNodeAlgorithms.h:

(ChildFrameDisconnector):
(Target):
(WebCore::ChildFrameDisconnector::Target::Target):
(WebCore::ChildFrameDisconnector::Target::isValid):
(WebCore):
(WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::collectDescendant):
(WebCore::ChildFrameDisconnector::disconnect):

  • dom/Element.cpp:

(WebCore::Element::removedFrom):

  • dom/Element.h:
  • dom/ElementShadow.cpp:
  • dom/ElementShadow.h:

(ElementShadow):

  • dom/Node.cpp:
  • dom/Node.h: Added IsFrameOwnerElement flag to de-virtualize IsFrameOwnerElement().

(WebCore::Node::isFrameOwnerElement): De-virtualized.
(Node):

  • html/HTMLElement.h:

(HTMLElement):
(WebCore::HTMLElement::HTMLElement):

  • html/HTMLFrameOwnerElement.cpp:

(WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
(WebCore::HTMLFrameOwnerElement::disconnectContentFrame): Extracted from original willRemove().

  • html/HTMLFrameOwnerElement.h:

(HTMLFrameOwnerElement):
(WebCore::toFrameOwnerElement):
(WebCore):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::sourceWasRemoved): Renamed from sourceWillBeRemoved(), dealing with the timing change.

  • html/HTMLMediaElement.h:

(HTMLMediaElement):
(WebCore::isMediaElement):
(WebCore):
(WebCore::toMediaElement):

  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::removedFrom): Moved some code from willRemove().

  • html/HTMLSourceElement.h:

(HTMLSourceElement):

  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::removedFrom):
(WebCore):

  • html/HTMLStyleElement.h:

(HTMLStyleElement):

  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::removedFrom): Moved some code from willRemove().

  • html/HTMLTrackElement.h:

(HTMLTrackElement):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::clear):

4:25 AM Changeset in webkit [116628] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt][WK2] REGRESSION(r116560): It made 7 compositing tests fail
https://bugs.webkit.org/show_bug.cgi?id=86086

Unreviewed gardening, skip new failing tests.

  • platform/qt-5.0-wk2/Skipped:
4:21 AM Changeset in webkit [116627] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

[Gtk] Many tests revealed as passing after moving from Skipped to test_expectations.txt
https://bugs.webkit.org/show_bug.cgi?id=85591

Unreviewed, unskipping another batch of tests that are passing but have
test expectations present that indicate a failure is expected. Their
bug entries will be properly updated after they either remain stable and
passing or they backfire.

  • platform/gtk/test_expectations.txt:
4:12 AM Changeset in webkit [116626] by vestbo@webkit.org
  • 4 edits in trunk

WebPageProxy::activeURL() should return the pending API request, even when there's no main frame

https://bugs.webkit.org/show_bug.cgi?id=85806

The m_pendingAPIRequestURL member is used (presumably) to mask over the async
nature of WebKit2, so that starting a load of a URL will reflect that URL
immedeatly from activeURL, even if the request has not been passed over to
the web process yet and reflected there.

This works well, except in the case of the initial request, where the main
frame creation happens on the web process side and is notified back to the
UI process. Until we've recived the notification we don't know about the main
frame, and this race condition will potentially give us an empty url instead
of the pending request.

To solve this we always return the pending API request if it's set, even
when there's no mainframe yet (that we known about).

Reviewed by Simon Hausmann.

3:56 AM Changeset in webkit [116625] by commit-queue@webkit.org
  • 7 edits in trunk

[EFL][DRT] Clear added user style sheets before a new testcase execution.
https://bugs.webkit.org/show_bug.cgi?id=84792

Source/WebKit/efl:

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-10
Reviewed by Gustavo Noronha Silva.

Add a helper function for clearing of the added user style sheets.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::clearUserStyleSheets):

  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

Reviewed Gustavo Noronha Silva.

The added user style sheets from the previous testcases are cleared in order to avoid
flaky results.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-10

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::resetDefaultsToConsistentValues):

LayoutTests:

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-10
Reviewed by Gustavo Noronha Silva.

Unskip userscripts/user-style-top-frame-only.html

  • platform/efl/Skipped:
3:06 AM Changeset in webkit [116624] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/LayoutTests

[EFL][DRT] fast/events/js-keyboard-event-creation.html needs rebaselining
https://bugs.webkit.org/show_bug.cgi?id=85485

Unreviewed, fast/events/js-keyboard-event-creation.html is rebased.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-10

  • platform/efl/Skipped: removed fast/events/js-keyboard-event-creation.html
  • platform/efl/fast/events/js-keyboard-event-creation-expected.txt: Added (Taken from GTK port).
2:59 AM Changeset in webkit [116623] by kinuko@chromium.org
  • 3 edits in trunk/Source/WebCore

Change the return type of Entry.toURL() back to String from KURL
https://bugs.webkit.org/show_bug.cgi?id=85858

Reviewed by Ryosuke Niwa.

I once changed it from String to KURL in r116273 but it turned out that
it involves implicit conversion and may incur extra overhead.
This partly reverts r116273 while keeping some internal functions
returning KURL as it's what we initially create as and is more
convenient to operate on.

No new tests; no functional or visible changes.

  • Modules/filesystem/EntryBase.cpp:

(WebCore::EntryBase::toURL):

  • Modules/filesystem/EntryBase.h:

(EntryBase):

2:23 AM Changeset in webkit [116622] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening. Skip news failing and crashing tests to paint the bot green.

  • platform/qt-mac/Skipped:
1:26 AM Changeset in webkit [116621] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] new test http/tests/cookies/single-quoted-value.html is failing
https://bugs.webkit.org/show_bug.cgi?id=86066

Unreviewed gardening after r116601

  • platform/qt/Skipped:
1:00 AM WebKitGTK/WebKit2Roadmap edited by Carlos Garcia Campos
(diff)
12:53 AM Changeset in webkit [116620] by fpizlo@apple.com
  • 2 edits in branches/dfgopt/Source/JavaScriptCore

DFG should allow inlining in case of certain arity mismatches
https://bugs.webkit.org/show_bug.cgi?id=86059

Reviewed by Geoff Garen.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleInlining):

12:48 AM Changeset in webkit [116619] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Autocomplete for CSS property values in the Styles pane behaving incorrectly
https://bugs.webkit.org/show_bug.cgi?id=85784

Reviewed by Vsevolod Vlasov.

Before executing the number increment/decrement within CSS property value, the current word is checked
for being a valid suggestion for the current property, and if it is, the numeric change is skipped
in favor of the suggested property value switch by a suggest box.

  • inspector/front-end/StylesSidebarPane.js:
12:42 AM Changeset in webkit [116618] by inferno@chromium.org
  • 4 edits in trunk

Make DOMCharacterDataModified a scoped event (similar to r73690).
https://bugs.webkit.org/show_bug.cgi?id=85920

Reviewed by Ryosuke Niwa.

Source/WebCore:

DOMCharacterDataModified was missing in the list of already scoped
DOM mutation events like DOMSubtreeModified, DOMNodeInserted, etc.
It helps to delay event dispatches until the completion of each call
of EditCommand::doApply. This has been useful in the past and helped to
prevent unexpected DOM tree mutations while the editing command is executing.

  • dom/CharacterData.cpp:

(WebCore::CharacterData::dispatchModifiedEvent):

LayoutTests:

  • fast/events/scoped/editing-commands.html: test modified to check DOMCharacterDataModified event.
12:38 AM Changeset in webkit [116617] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Default to null value for HistoryItem::m_pageScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=84385

Patch by Alexandre Elias <aelias@google.com> on 2012-05-10
Reviewed by Adam Barth.

Previously, HistoryItem::m_pageScaleFactor defaulted to a value
of 1, making it impossible to determine whether this value was never
set, or intentionally set to 1. This patch introduces a default value
of 0 and makes restoreScrollPositionAndViewState not touch the page
scale factor if this value is still present at time of reload.

This is a no-op change for common navigation scenarios. The
motivation for this change is the corner case of syncing history items
from a desktop browser to a mobile device. In that case, we need a
way to specify that the history item does not contain a
pageScaleFactor so that the mobile device does not display the page
overly zoomed in.

No new tests.

  • history/HistoryItem.cpp:

(WebCore::HistoryItem::HistoryItem):

  • loader/HistoryController.cpp:

(WebCore::HistoryController::restoreScrollPositionAndViewState):

12:34 AM Changeset in webkit [116616] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Use suitable viewport values when a Mobile DTD is used.
https://bugs.webkit.org/show_bug.cgi?id=85425

Unreviewed debug buildfix after r116571.

  • dom/Document.cpp:

(WebCore::Document::setDocType):

12:22 AM Changeset in webkit [116615] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[Forms] Move step related methods to InputType class from HTMLInputElement class
https://bugs.webkit.org/show_bug.cgi?id=85978

Patch by Yoshifumi Inoue <yosin@chromium.org> on 2012-05-10
Reviewed by Kent Tamura.

This patch is part of re-factoring of HTMLInputElement.cpp for numeric input type.
In this patch, we move implementation of getAllowedValueStep and stepUp/stepUpFromRenderer
to InputType class because of these are for DateTime/Number/Range.

Following patches will change implementation of getAllowedValueStep to use StepRange and
remove step related methods, defaultStep, stepScaleFactor, and so on.

No new tests. This patch should not change behavior.

  • html/HTMLInputElement.cpp:

(WebCore):
(WebCore::HTMLInputElement::getAllowedValueStep):
(WebCore::HTMLInputElement::stepUp):
(WebCore::HTMLInputElement::stepDown):
(WebCore::HTMLInputElement::stepUpFromRenderer):

  • html/HTMLInputElement.h:

(HTMLInputElement):

  • html/InputType.cpp:

(WebCore::InputType::applyStep):
(WebCore):
(WebCore::InputType::alignValueForStep):
(WebCore::InputType::getAllowedValueStep):
(WebCore::InputType::getAllowedValueStepWithDecimalPlaces):
(WebCore::InputType::stepUp):
(WebCore::InputType::stepUpFromRenderer):

  • html/InputType.h:

(InputType):

12:19 AM WebInspector edited by uuopii@gmail.com
add info about the weinre experiment (diff)
12:10 AM Changeset in webkit [116614] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/test_expectations.txt:
12:00 AM Changeset in webkit [116613] by tkent@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Mark CCLayerTreeHostTestSetNeedsCommit2.runMultiThread and
CCLayerTreeHostTestDoNotSkipLayersWithAnimatedOpacity.runMultiThread flaky.

  • tests/CCLayerTreeHostTest.cpp:

May 9, 2012:

11:42 PM Changeset in webkit [116612] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk/Source/WebKit/chromium

[chromium] Add ability to override user agent string per-WebFrameClient
https://bugs.webkit.org/show_bug.cgi?id=83959

Patch by Dan Alcantara <dfalcantara@chromium.org> on 2012-05-09
Reviewed by Adam Barth.

Adds a method that can be used to override the normal user agent in
chromium. Also adds a unit test to check if the override is taking effect.

  • WebKit.gypi:
  • public/WebFrameClient.h:

(WebFrameClient):
(WebKit::WebFrameClient::userAgent):

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::userAgent):

  • tests/FrameLoaderClientImplTest.cpp: Added.

(WebKit):
(TestWebFrameClient):
(WebKit::TestWebFrameClient::setUserAgentOverride):
(FrameLoaderClientImplTest):
(WebKit::FrameLoaderClientImplTest::SetUp):
(WebKit::FrameLoaderClientImplTest::TearDown):
(WebKit::FrameLoaderClientImplTest::setUserAgentOverride):
(WebKit::FrameLoaderClientImplTest::userAgent):
(WebKit::TEST_F):

11:13 PM Changeset in webkit [116611] by tkent@chromium.org
  • 4 edits
    1 add in trunk

Calendar Picker: Fix a crash by changing input type.
https://bugs.webkit.org/show_bug.cgi?id=86007

Reviewed by Hajime Morita.

.:

  • ManualTests/forms/calendar-picker-crash-by-type-change.html: Added.

Source/WebCore:

Manual test: forms/calendar-picker-crash-by-type-change.html

  • html/shadow/CalendarPickerElement.cpp:

(WebCore::CalendarPickerElement::~CalendarPickerElement):
Added. Make sure the popup is closed.

  • html/shadow/CalendarPickerElement.h:

(CalendarPickerElement): Add declaration of the destructor.

11:11 PM Changeset in webkit [116610] by gyuyoung.kim@samsung.com
  • 45 edits in trunk

Move suspendAnimations to use Internals interface.
https://bugs.webkit.org/show_bug.cgi?id=85986

Reviewed by Ryosuke Niwa.

.:

  • Source/autotools/symbols.filter: Add a symbol filter for suspendAnimations.

Source/WebCore:

Add suspendAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

No new tests, since we are improving here the infra-structure for testing
a specific method.

  • testing/Internals.cpp:

(WebCore::Internals::suspendAnimations):
(WebCore):

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

Source/WebKit/efl:

Remove suspendAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Source/WebKit/gtk:

Remove suspendAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
  • WebCoreSupport/DumpRenderTreeSupportGtk.h:

(DumpRenderTreeSupportGtk):

Source/WebKit/mac:

Remove suspendAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

  • WebKit.order:
  • WebView/WebFrame.mm:
  • WebView/WebFramePrivate.h:

Source/WebKit/qt:

Remove suspendAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:
  • WebCoreSupport/DumpRenderTreeSupportQt.h:

Source/WebKit/win:

Remove suspendAnimations functions, because it is able to work in the
cross-port way through the Internals interface.

  • Interfaces/IWebFramePrivate.idl:
  • WebFrame.cpp:
  • WebFrame.h:

Source/WebKit2:

  • win/WebKit2.def: Add a symbol filter for suspendAnimations.

Tools:

Remove suspendAnimations functions, because it is able to work in the
cross-port way through the Internals interface

  • DumpRenderTree/LayoutTestController.cpp:

(LayoutTestController::staticFunctions):

  • DumpRenderTree/LayoutTestController.h:

(LayoutTestController):

  • DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp:
  • DumpRenderTree/chromium/LayoutTestController.cpp:

(LayoutTestController::LayoutTestController):

  • DumpRenderTree/chromium/LayoutTestController.h:

(LayoutTestController):

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm:
  • DumpRenderTree/qt/LayoutTestControllerQt.cpp:
  • DumpRenderTree/qt/LayoutTestControllerQt.h:

(LayoutTestController):

  • DumpRenderTree/win/LayoutTestControllerWin.cpp:
  • DumpRenderTree/wx/LayoutTestControllerWx.cpp:

LayoutTests:

Call suspendAnimations functions from internals, because it is able to work in the
cross-port way through the Internals interface.

  • animations/play-state-suspend.html:
  • animations/stop-animation-on-suspend.html:
  • animations/suspend-resume-animation-events.html:
  • animations/suspend-resume-animation.html:
  • animations/suspend-transform-animation.html:
  • transitions/suspend-transform-transition.html:
10:47 PM Changeset in webkit [116609] by tkent@chromium.org
  • 2 edits in trunk/Tools

[Chromium] Attempt to fix an Android build error.
https://bugs.webkit.org/show_bug.cgi?id=86045

  • DumpRenderTree/DumpRenderTree.gypi:
10:31 PM Changeset in webkit [116608] by creis@chromium.org
  • 9 edits
    1 add in trunk/Source

Source/WebCore: Add dispatchMessageEventWithOriginCheck to DOMWindow
https://bugs.webkit.org/show_bug.cgi?id=85815

Reviewed by Adam Barth.

Useful for ports that support cross-process postMessage.
No new tests, since covered by existing postMessage tests.

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::postMessageTimerFired):
(WebCore):
(WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):

  • page/DOMWindow.h:

(WebCore):
(DOMWindow):

Source/WebKit/chromium: Add dispatchMessageEventWithOriginCheck to WebFrame
https://bugs.webkit.org/show_bug.cgi?id=85815

Reviewed by Adam Barth.

Tested by WebFrameTest.DispatchMessageEventWithOriginCheck.
Also fixes source frame bug in willCheckAndDispatchMessageEvent.

  • public/WebFrame.h:

(WebFrame):

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::willCheckAndDispatchMessageEvent):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::checkAndDispatchMessageEvent):
(WebKit):

  • src/WebFrameImpl.h:

(WebFrameImpl):

10:08 PM Changeset in webkit [116607] by hbono@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Fix a crash in ContextMenuClientImpl::getCustomMenuFromDefaultItems
https://bugs.webkit.org/show_bug.cgi?id=85866

Reviewed by Ryosuke Niwa.

DocumentMarkerController::markersInRange crashes if the input range is NULL.
This change adds a NULL check before getCustomMenuFromDefaultItems() calls this
function to avoid this crash.

  • src/ContextMenuClientImpl.cpp:

(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems): Added a NULL check.

9:34 PM Changeset in webkit [116606] by ojan@chromium.org
  • 4 edits in trunk/Tools

Don't show partytime if there are non-layout test failures.
https://bugs.webkit.org/show_bug.cgi?id=86056

Reviewed by Dimitri Glazkov.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js:
9:14 PM Changeset in webkit [116605] by tkent@chromium.org
  • 4 edits
    1 delete in trunk/Source/WebKit/chromium

Unreviewed, rolling out r116602.
http://trac.webkit.org/changeset/116602
https://bugs.webkit.org/show_bug.cgi?id=86057

Build error on Windows (Requested by tkent on #webkit).

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

  • WebKit.gypi:
  • public/WebFrameClient.h:
  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::userAgent):

  • tests/FrameLoaderClientImplTest.cpp: Removed.
9:03 PM Changeset in webkit [116604] by tkent@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Fix compilation warning on Android.
https://bugs.webkit.org/show_bug.cgi?id=85958

  • features.gypi: Move ENABLE_MEDIA_CAPTURE=0 to non-Android block.
8:58 PM Changeset in webkit [116603] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Autofill feature implementation for BlackBerry porting
https://bugs.webkit.org/show_bug.cgi?id=85577

Patch by Jonathan Dong <Jonathan Dong> on 2012-05-09
Reviewed by Rob Buis.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPage::autofillTextField): Added this interface
function to auto fill the inputting text field when user selects
a autofill candidate value from autofill context dialog.
(WebKit):
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::notifyPopupAutofillDialog): Added
this interface function to notify WebPageClient to pop up the autofill
context dialog with the suggested input items.
(BlackBerry::WebKit::WebPage::clearAutofillData):

  • Api/WebPage.h:
  • Api/WebPageClient.h:
  • Api/WebPage_p.h:

(WebCore):
(WebPagePrivate):

  • WebCoreSupport/AutofillManager.cpp:

(WebCore::AutofillManager::didChangeInTextField):

  • WebCoreSupport/EditorClientBlackBerry.cpp:

(WebCore::EditorClientBlackBerry::textDidChangeInTextField): Implemented
this function to listen to the notification of text field change, and
notify AutofillManager to handle the autofill.

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchWillSubmitForm):
(WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):
Save the name and value pair of every autofillable input text field when
user submitting a form.

8:44 PM Changeset in webkit [116602] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk/Source/WebKit/chromium

[chromium] Add ability to override user agent string per-WebFrameClient
https://bugs.webkit.org/show_bug.cgi?id=83959

Patch by Dan Alcantara <dfalcantara@chromium.org> on 2012-05-09
Reviewed by Adam Barth.

Adds a method that can be used to override the normal user agent in
chromium. Also adds a unit test to check if the override is taking effect.

  • WebKit.gypi:
  • public/WebFrameClient.h:

(WebFrameClient):
(WebKit::WebFrameClient::userAgent):

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::userAgent):

  • tests/FrameLoaderClientImplTest.cpp: Added.

(WebKit):
(TestWebFrameClient):
(WebKit::TestWebFrameClient::setUserAgentOverride):
(FrameLoaderClientImplTest):
(WebKit::FrameLoaderClientImplTest::SetUp):
(WebKit::FrameLoaderClientImplTest::TearDown):
(WebKit::FrameLoaderClientImplTest::setUserAgentOverride):
(WebKit::FrameLoaderClientImplTest::userAgent):
(WebKit::TEST_F):

8:30 PM Changeset in webkit [116601] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

[BlackBerry] Cookie parsing issue. If the cookie value provided was (") then the browser creates a session cookie instead.
https://bugs.webkit.org/show_bug.cgi?id=85775

Patch by Jason Liu <jason.liu@torchmobile.com.cn> on 2012-05-09
Reviewed by Rob Buis.

Source/WebCore:

Make CookieParser::parseOneCookie handle (cookiename="cookievalue;expires=xxxx) correctly.
This cookie's value is "cookievalue not "cookievalue;expires=xxxx.

Test: http/tests/cookies/single-quoted-value.html

  • platform/blackberry/CookieParser.cpp:

(WebCore::CookieParser::parseOneCookie):

LayoutTests:

  • http/tests/cookies/script-tests/single-quoted-value.js: Added.
  • http/tests/cookies/single-quoted-value-expected.txt: Added.
  • http/tests/cookies/single-quoted-value.html: Added.
8:24 PM Changeset in webkit [116600] by hayato@chromium.org
  • 2 edits in trunk/Tools

Improve a warning message for a reftest having an unused expectation file.
https://bugs.webkit.org/show_bug.cgi?id=85975

Reviewed by Adam Barth.

The current warning message is not intuitive. It might be better to update the message
so that it encourage users to remove unused expectation files.

  • Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:

(SingleTestRunner.init):

8:08 PM Changeset in webkit [116599] by ojan@chromium.org
  • 12 edits in trunk/Tools

Change "losing test coverage" to cover all non-layout test problems in garden-o-matic
https://bugs.webkit.org/show_bug.cgi?id=86043

Reviewed by Adam Barth.

-Get rid of the gtest iframe.
-Cover all non-layout test problems. Before we wouldn't catch compile failures
or gtest failures since they were not on the webkit testing bots.
-Include the list of failing steps next to the builder name. This is a lot less
cluttered than you'd expect and already helped me find a compile failure early.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/builders_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js:

Delete unused map.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/failures_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui/notifications_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js:
7:49 PM WebKit Team edited by creis@chromium.org
Adding Charles Reis as committer. (diff)
7:48 PM Changeset in webkit [116598] by hayato@chromium.org
  • 1 edit
    4 deletes in trunk/LayoutTests

Remove unused test expectation files.
https://bugs.webkit.org/show_bug.cgi?id=85973

Reviewed by Ojan Vafai.

Since cell-shrinkback.html is a reftest, these txt and png
expectations files are not used by test runner and cause warning messages when running tests.

  • platform/chromium-linux/fast/multicol/cell-shrinkback-expected.png: Removed.
  • platform/chromium-win/fast/multicol/cell-shrinkback-expected.png: Removed.
  • platform/qt/fast/multicol/cell-shrinkback-expected.png: Removed.
  • platform/qt/fast/multicol/cell-shrinkback-expected.txt: Removed.
7:45 PM Changeset in webkit [116597] by creis@chromium.org
  • 1 edit in trunk/Tools/Scripts/webkitpy/common/config/committers.py

Added myself as a committer.

7:32 PM Changeset in webkit [116596] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Add multi-channels support for CopyWithGainFrom in AudioBus
https://bugs.webkit.org/show_bug.cgi?id=80675

Patch by Raymond Liu <raymond.liu@intel.com> on 2012-05-09
Reviewed by Chris Rogers.

  • platform/audio/AudioBus.cpp:

(WebCore):
(WebCore::AudioBus::AudioBus):
(WebCore::AudioBus::copyWithGainFrom):

  • platform/audio/AudioBus.h:

(AudioBus):

7:00 PM Changeset in webkit [116595] by jberlin@webkit.org
  • 24 edits
    1 copy
    3 adds in trunk

Crash using the new WKBundleDOMWindowExtensions APIs.
https://bugs.webkit.org/show_bug.cgi?id=85888

Reviewed by Brady Eidson.

Source/WebCore:

WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback was only being invoked when
the WKPage was destroyed, and then only for the child frames. In addition, the
DOMWindowExtension was holding onto a destroyed DOMWindow and attempting to unregister from
when the WK2 wrapper object was attempting to destroy the DOMWindowExtension.

The underlying issue here was that the DOMWindowProperties were getting disconnectFrame
and willDetachPage called on them at the wrong times.

Rename DOMWindowProperty::disconnectFrame and reconnectFrame to disconnectFrameForPageCache
and reconnectFrameFromPageCache for clarity.

Only invoke DOMWindowProperty::disconnectFrameForPageCache when the frame is going into the
page cache.

In the cases where the DOMWindow is getting destroyed, the frame is being destroyed, or the
DOMWindow is getting cleared because the frame is being navigated, invoke
DOMWindowProperty::willDestroyGlobalObjectInFrame instead of disconnectFrame.

Invoke DOMWindowProperty::willDetachGlobalObjectFromFrame when a document is being detached
because the frame has been detached (e.g. fast/storage/storage-detached-iframe.html) and
won't be immediately destroyed.

Invoke DOMWindowProperty::willDestroyGlobalObjectInCachedFrame when a cached frame is
being destroyed.

New WK2 API Test: DOMWindowExtensionNoCache.

  • Modules/indexeddb/DOMWindowIndexedDatabase.cpp:

(WebCore::DOMWindowIndexedDatabase::disconnectFrameForPageCache):
Updated for disconnectFrame rename.
(WebCore::DOMWindowIndexedDatabase::reconnectFrameFromPageCache):
Updated for reconnectFrame rename.
(WebCore::DOMWindowIndexedDatabase::willDestroyGlobalObjectInCachedFrame):
Get rid of the suspended IDBFactory.
(WebCore::DOMWindowIndexedDatabase::willDestroyGlobalObjectInFrame):
Get rid of the IDBFactory.
(WebCore::DOMWindowIndexedDatabase::willDetachGlobalObjectFromFrame):
Ditto.

  • Modules/indexeddb/DOMWindowIndexedDatabase.h:
  • dom/Document.cpp:

(WebCore::Document::prepareForDestruction):
Tell the DOMWindow before detaching the Document.

  • dom/Document.h:
  • history/CachedFrame.cpp:

(WebCore::CachedFrame::destroy):
Tell the DOMWindow.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::clear):
Use Document::prepareForDestruction so that the DOMWindow is told about the main frame
navigation before detaching the Document.

  • loader/appcache/DOMApplicationCache.cpp:

(WebCore::DOMApplicationCache::disconnectFrameForPageCache):
Updated for the disconnectFrame rename.
(WebCore::DOMApplicationCache::reconnectFrameFromPageCache):
Updated for the reconnectFrame rename.
(WebCore::DOMApplicationCache::willDestroyGlobalObjectInFrame):
Cover the cases formerly covered by disconnectFrame (which was sometimes being called when
called when the frame was destroyed).

  • loader/appcache/DOMApplicationCache.h:
  • notifications/DOMWindowNotifications.cpp:

(WebCore::DOMWindowNotifications::disconnectFrameForPageCache):
Updated for the disconnectFrame rename.
(WebCore::DOMWindowNotifications::reconnectFrameFromPageCache):
Updated for the reconnectFrame rename.
(WebCore::DOMWindowNotifications::willDestroyGlobalObjectInCachedFrame):
Get rid of the suspended notification center.
(WebCore::DOMWindowNotifications::willDestroyGlobalObjectInFrame):
Get rid of the notification center.
(WebCore::DOMWindowNotifications::willDetachGlobalObjectFromFrame):
Do not allow use of the notification center by detached frames.

  • notifications/DOMWindowNotifications.h:
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::clearDOMWindowProperties):
Do not call disconnectDOMWindowProperties. It is now the responsibility of the callers to
tell the DOMWindowProperties the correct cause of being cleared.
(WebCore::DOMWindow::~DOMWindow):
Make sure the DOMWindowProperties still know that the DOMWindow is going away.
(WebCore::DOMWindow::frameDestroyed):
Invoke willDestroyGlobalObjectInFrame on the DOMWindowProperties.
(WebCore::DOMWindow::willDetachPage):
It is no longer necessary to tell the DOMWindowProperties anything here.
(WebCore::DOMWindow::willDestroyCachedFrame):
Tell the DOMWindowProperties.
(WebCore::DOMWindow::willDestroyDocumentInFrame):
Ditto.
(WebCore::DOMWindow::willDetachDocumentFromFrame):
Ditto.
(WebCore::DOMWindow::clear):
Ditto.
(WebCore::DOMWindow::disconnectDOMWindowProperties):
Updated for the disconnectFrame rename.
(WebCore::DOMWindow::reconnectDOMWindowProperties):
Ditto.

  • page/DOMWindow.h:
  • page/DOMWindowExtension.cpp:

(WebCore::DOMWindowExtension::DOMWindowExtension):
Move the responsibility for tracking the disconnected DOMWindow to DOMWindowProperty, since
DOMWindowProperty will need it to unregister the property when a cached frame is destroyed.
(WebCore::DOMWindowExtension::disconnectFrameForPageCache):
Remove the code to check for disconnectFrame being called twice - it is now only called when
a frame goes into the page cache.
Let the DOMWindowProperty keep track of the disconnected DOMWindow.
(WebCore::DOMWindowExtension::reconnectFrameFromPageCache):
Let the DOMWindowProperty keep track of the disconnected DOMWindow.
(WebCore::DOMWindowExtension::willDestroyGlobalObjectInCachedFrame):
Dispatch the willDestroyGlobalObjectForDOMWindowExtension callback.
(WebCore::DOMWindowExtension::willDestroyGlobalObjectInFrame):
Ditto, but only if the callback hasn't already been sent because the frame has been detached.
(WebCore::DOMWindowExtension::willDetachGlobalObjectFromFrame):
Send the callback because nothing interesting can be done in the frame once it has been
detached.

  • page/DOMWindowExtension.h:
  • page/DOMWindowProperty.cpp:

(WebCore::DOMWindowProperty::DOMWindowProperty):
Keep track of the disconnected DOMWindow so it can be used to unregister the property when a
cached frame is destroyed.
(WebCore::DOMWindowProperty::~DOMWindowProperty):
Also unregister the property when a DOMWindowProperty for a cached frame is destroyed.
(WebCore::DOMWindowProperty::disconnectFrameForPageCache):
Keep track of the disconnected DOMWindow.
(WebCore::DOMWindowProperty::reconnectFrameFromPageCache):
Ditto.
(WebCore::DOMWindowProperty::willDestroyGlobalObjectInCachedFrame):
Unregister the property from the disconnected DOMWindow.
(WebCore::DOMWindowProperty::willDestroyGlobalObjectInFrame):
Unregister the property from the DOMWindow and stop keeping track of the frame.
(WebCore::DOMWindowProperty::willDetachGlobalObjectFromFrame):
Do not set m_frame to 0 because detached frames still have access to the DOMWindow, even if
they can't do anything meaningful with it.

  • page/DOMWindowProperty.h:
  • page/Frame.cpp:

(WebCore::Frame::setView):
Tell the DOMWindow that the Document is being detached so it can tell the
DOMWindowProperties.

  • page/PointerLock.cpp:

(WebCore::PointerLock::disconnectFrameForPageCache):
Updated for disconnectFrame rename.
(WebCore::PointerLock::willDestroyGlobalObjectInFrame):
Cover the cases formerly covered by disconnectFrame (which was sometimes being called when
called when the frame was destroyed).

  • page/PointerLock.h:

Tools:

Cached frames can live slightly longer than the page, but most clients unregister themselves
and do other cleanup in the willDestroyPage callback, making them miss the
willDestroyGlobalObjectForDOMWindowExtension callbacks.

The calls to willDestroyGlobalObjectForDOMWindowExtension in the DOMWindowExtensionBasic
test were all being invoked underneath WebPage::close. This is unrealistic. Update that test
to destroy the BundleDOMWindowExtensions in response to the willDestroyPage callback.

Add a test to verify that willDestroyGlobalObjectForDOMWindowExtension is being called for
pages that don't go into the page cache.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

Add DOMWindowExtensionNoCache.cpp, DOMWindowExtensionNoCache_Bundle.cpp, simple-unload.html
and simple-iframe-unload.html

  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic.cpp:

(TestWebKitAPI):
Remove the expected messages for willDestroyGlobalObjectForDOMWindowExtension.
(TestWebKitAPI::didReceiveMessageFromInjectedBundle):
Do not bother to keep track of the live extension count - all of them are expected to be
live until the test completes.
(TestWebKitAPI::TEST):
Fix the calls to EXPECT to pass the expected value first, and use EXPECT_WK_STREQ so that
message failures will be clearer.

  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp:

(TestWebKitAPI::DOMWindowExtensionBasic::willDestroyPage):
Clean up the BundleDOMWindowExtensions.
(TestWebKitAPI::DOMWindowExtensionBasic::willDestroyGlobalObjectForDOMWindowExtension):
Add an ASSERT_NOT_REACHED.

  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache.cpp: Added.

(TestWebKitAPI::didReceiveMessageFromInjectedBundle):
Keep track of the messages received so they can be checked at the end of the test.
(TestWebKitAPI::TEST):
Navigate to uncacheable pages and back.

  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache_Bundle.cpp: Copied from Tools/TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp.

(DOMWindowExtensionNoCache):
(TestWebKitAPI::DOMWindowExtensionNoCache::DOMWindowExtensionNoCache):
Set up all the states for each BundleDOMWindowExtension.
(TestWebKitAPI::DOMWindowExtensionNoCache::frameLoadFinished):
Tell the UI Process about the states of the BundleDOMWindowExtensions.
(TestWebKitAPI::DOMWindowExtensionNoCache::sendExtensionStateMessage):
(TestWebKitAPI::DOMWindowExtensionNoCache::initialize):
(TestWebKitAPI::DOMWindowExtensionNoCache::didCreatePage):
(TestWebKitAPI::DOMWindowExtensionNoCache::willDestroyPage):
Remvoe the remaining BundleDOMWindowExtensions, send the updated state, and finish the test.
(TestWebKitAPI::DOMWindowExtensionNoCache::updateExtensionStateRecord):
(TestWebKitAPI::DOMWindowExtensionNoCache::sendBundleMessage):
(TestWebKitAPI::DOMWindowExtensionNoCache::globalObjectIsAvailableForFrame):
(TestWebKitAPI::DOMWindowExtensionNoCache::willDisconnectDOMWindowExtensionFromGlobalObject):
ASSERT that these pages not going into the page cache are not getting disconnected to go into
the page cache.
(TestWebKitAPI::DOMWindowExtensionNoCache::didReconnectDOMWindowExtensionToGlobalObject):
Ditto about getting reconnected when coming out of the page cache.
(TestWebKitAPI::DOMWindowExtensionNoCache::willDestroyGlobalObjectForDOMWindowExtension):
Tell the UI Process, update the state, and get rid of the BundleDOMWindowExtension.
(TestWebKitAPI::didFinishLoadForFrameCallback):
(TestWebKitAPI::globalObjectIsAvailableForFrameCallback):
(TestWebKitAPI::willDisconnectDOMWindowExtensionFromGlobalObjectCallback):
(TestWebKitAPI::didReconnectDOMWindowExtensionToGlobalObjectCallback):
(TestWebKitAPI::willDestroyGlobalObjectForDOMWindowExtensionCallback):

  • TestWebKitAPI/Tests/WebKit2/simple-iframe-unload.html: Added.
  • TestWebKitAPI/Tests/WebKit2/simple-unload.html: Added.
6:52 PM Changeset in webkit [116594] by commit-queue@webkit.org
  • 12 edits in trunk/Source

[chromium] Ensure animations get ticked at least once when added.
https://bugs.webkit.org/show_bug.cgi?id=86013

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

Source/WebCore:

Tested in

CCLayerTreeHostTestTickAnimationWhileBackgrounded.runSingleThreaded
CCLayerTreeHostTestAddAnimationWithTimingFunction.runSingleThreaded
CCLayerTreeHostTestSynchronizeAnimationStartTimes.runSingleThreaded
CCLayerTreeHostTestAnimationFinishedEvents.runSingleThreaded

  • platform/graphics/chromium/LayerChromium.cpp:

(WebCore::LayerChromium::addAnimation):

  • platform/graphics/chromium/cc/CCLayerAnimationController.cpp:

(WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):

  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::finishCommitOnImplThread):
(WebCore::CCLayerTreeHost::didAddAnimation):
(WebCore):
(WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):

  • platform/graphics/chromium/cc/CCLayerTreeHost.h:

(CCLayerTreeHost):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:

(WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):

  • platform/graphics/chromium/cc/CCProxy.h:

(CCProxy):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:

(CCSingleThreadProxyAnimationTimer):
(WebCore::CCSingleThreadProxyAnimationTimer::create):
(WebCore::CCSingleThreadProxyAnimationTimer::CCSingleThreadProxyAnimationTimer):
(WebCore):
(WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
(WebCore::CCSingleThreadProxy::didAddAnimation):
(WebCore::CCSingleThreadProxy::doComposite):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.h:

(WebCore):

  • platform/graphics/chromium/cc/CCThreadProxy.h:

Source/WebKit/chromium:

  • tests/CCLayerTreeHostTest.cpp:

(WTF::CCLayerTreeHostTestTickAnimationWhileBackgrounded::animateLayers):
(WTF):

6:31 PM Changeset in webkit [116593] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

JIT memory allocator is not returning memory to the OS on Darwin
https://bugs.webkit.org/show_bug.cgi?id=86047
<rdar://problem/11414948>

Reviewed by Geoff Garen.

Work around the problem by using a different madvise() flag, but only for the JIT memory
allocator. Also put in ASSERTs that the call is actually working.

  • jit/ExecutableAllocatorFixedVMPool.cpp:

(JSC::FixedVMPoolExecutableAllocator::notifyNeedPage):
(JSC::FixedVMPoolExecutableAllocator::notifyPageIsFree):

6:21 PM Changeset in webkit [116592] by abarth@webkit.org
  • 18 edits
    2 adds in trunk

Implement HTML Media Capture
https://bugs.webkit.org/show_bug.cgi?id=85958

Reviewed by Eric Seidel.

Source/WebCore:

This patch begins the implementation of
http://www.w3.org/TR/html-media-capture/ by adding the capture
attribute to HTMLInputElement.

Test: fast/forms/file/file-input-capture.html

  • html/FileInputType.cpp:

(WebCore::FileInputType::handleDOMActivateEvent):

  • html/HTMLAttributeNames.in:
  • html/HTMLInputElement.cpp:

(WebCore):
(WebCore::HTMLInputElement::capture):
(WebCore::HTMLInputElement::setCapture):

  • html/HTMLInputElement.h:

(HTMLInputElement):

  • html/HTMLInputElement.idl:
  • platform/FileChooser.h:

(FileChooserSettings):

Source/WebKit/chromium:

  • features.gypi:
  • public/WebFileChooserParams.h:

(WebFileChooserParams):

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::runOpenPanel):

LayoutTests:

  • fast/forms/file/file-input-capture-expected.txt: Added.
  • fast/forms/file/file-input-capture.html: Added.
    • Test that the capture attribute works properly.
  • platform/chromium/test_expectations.txt:
  • platform/efl/Skipped:
  • platform/gtk/test_expectations.txt:
  • platform/mac/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
    • Skip the test on all platforms. The feature is enabled only on Android, which isn't yet able to run LayoutTests upstream.
6:13 PM Changeset in webkit [116591] by charles.wei@torchmobile.com.cn
  • 4 edits in trunk/Source/WebCore

[BlackBerry] Refactor data scheme support
https://bugs.webkit.org/show_bug.cgi?id=85938

Reviewed by Rob Buis.

We will create a DataStream in our platform repository,
so that can be wrapped up by NetworkJob for webkit rendering,
and by DownloadStream for downloading.

Refactor, no new tests.

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::NetworkJob):
(WebCore::NetworkJob::initialize):
(WebCore::NetworkJob::cancelJob):
(WebCore::NetworkJob::sendResponseIfNeeded):

  • platform/network/blackberry/NetworkJob.h:

(NetworkJob):

  • platform/network/blackberry/NetworkManager.cpp:

(WebCore::NetworkManager::startJob):

6:01 PM Changeset in webkit [116590] by abarth@webkit.org
  • 2 edits in trunk/Tools

[Chromium] Android's DRT doesn't want to build WebUserMediaClientMock
https://bugs.webkit.org/show_bug.cgi?id=86045

Reviewed by Eric Seidel.

  • DumpRenderTree/DumpRenderTree.gypi:
5:56 PM Changeset in webkit [116589] by abarth@webkit.org
  • 2 edits in trunk/Tools

[Chromium] MockWebSpeechInputController.cpp should be guarded by ENABLE(INPUT_SPEECH)
https://bugs.webkit.org/show_bug.cgi?id=86041

Reviewed by Eric Seidel.

  • DumpRenderTree/chromium/MockWebSpeechInputController.cpp:
5:51 PM Changeset in webkit [116588] by abarth@webkit.org
  • 2 edits in trunk/Tools

[Chromium] Android needs to swizzle pixel dumps in order to get the same hash as other platforms
https://bugs.webkit.org/show_bug.cgi?id=86040

Reviewed by Kent Tamura.

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::dumpImage):

5:41 PM Changeset in webkit [116587] by danakj@chromium.org
  • 7 edits in trunk/Source

[chromium] Don't draw when canDraw() is false
https://bugs.webkit.org/show_bug.cgi?id=85829

Reviewed by Adrienne Walker.

Source/WebCore:

This is based on the work of Daniel Sievers in bug
https://bugs.webkit.org/show_bug.cgi?id=82680. When canDraw() is false,
we should not call drawLayers() or prepareToDraw() in both Single- and
Multi-Threaded mode.

drawLayers() is crashing in single threaded mode, and this attempts to
prevent it from being called with invalid state. While making it behave
properly in single-threaded mode, it seems appropriate to unrevert the
parts of 82680 that made threaded mode behave similarly appropriately.

A single-threaded test is not included since LTHTests is unable to run
in single-threaded mode at this time (pending work from Ian Vollick). So
we test in threaded mode only with a note to include a single thread
version.

Tests: CCLayerTreeHostTestCanDrawBlocksDrawing.runMultiThread

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:

(WebCore::CCLayerTreeHostImpl::prepareToDraw):
(WebCore::CCLayerTreeHostImpl::drawLayers):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:

(WebCore::CCSingleThreadProxy::doComposite):

  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):

Source/WebKit/chromium:

  • tests/CCLayerTreeHostImplTest.cpp:

(WebKitTests::CCLayerTreeHostImplTest::CCLayerTreeHostImplTest):
(WebKitTests::TEST_F):

  • tests/CCLayerTreeHostTest.cpp:

(WTF):
(CCLayerTreeHostTestCanDrawBlocksDrawing):
(WTF::CCLayerTreeHostTestCanDrawBlocksDrawing::CCLayerTreeHostTestCanDrawBlocksDrawing):
(WTF::CCLayerTreeHostTestCanDrawBlocksDrawing::beginTest):
(WTF::CCLayerTreeHostTestCanDrawBlocksDrawing::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestCanDrawBlocksDrawing::drawLayersOnCCThread):
(WTF::CCLayerTreeHostTestCanDrawBlocksDrawing::didCommitAndDrawFrame):
(WTF::CCLayerTreeHostTestCanDrawBlocksDrawing::afterTest):
(WTF::TEST_F):

5:35 PM Changeset in webkit [116586] by rakuco@webkit.org
  • 2 edits in trunk/Tools

[EFL] Build fix after r116464.

`ulong' is a type defined by glibc, so it is not very
portable. Use `unsigned long' instead.

  • DumpRenderTree/efl/EventSender.cpp:

(DelayedEvent::DelayedEvent):
(DelayedEvent):
(leapForwardCallback):

5:34 PM Changeset in webkit [116585] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Cairo] GLContextGLX releases the context with an uninitialized display
https://bugs.webkit.org/show_bug.cgi?id=86039

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-05-09
Reviewed by Philippe Normand.

No new tests. This does not change behavior on most machines, but has
the potential to prevent a pretty nasty crash on others.

Use the shared display to release GLX contexts instead of the uninitialized
m_display member.

  • platform/graphics/glx/GLContextGLX.cpp:

(WebCore::GLContextGLX::~GLContextGLX): Release the display with the shared
display.

  • platform/graphics/glx/GLContextGLX.h:

(GLContextGLX): Remove the m_display member.

5:32 PM Changeset in webkit [116584] by tonyg@chromium.org
  • 3 edits
    6 adds in trunk

Subresources loaded after a reload completes shouldn't be revalidated.
https://bugs.webkit.org/show_bug.cgi?id=84614

Source/WebCore:

Based on patch by Darin Fisher.

Reviewed by Darin Fisher.

Tests: http/tests/cache/loaded-from-cache-after-reload-within-iframe.html

http/tests/cache/loaded-from-cache-after-reload.html

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::checkLoadCompleteForThisFrame): Reset m_loadType after the load completes.

LayoutTests:

Tests by Darin Fisher.

Reviewed by Darin Fisher.

  • http/tests/cache/loaded-from-cache-after-reload-expected.txt: Added.
  • http/tests/cache/loaded-from-cache-after-reload-within-iframe-expected.txt: Added.
  • http/tests/cache/loaded-from-cache-after-reload-within-iframe.html: Added.
  • http/tests/cache/loaded-from-cache-after-reload.html: Added.
  • http/tests/cache/resources/loaded-from-cache-after-reload-within-iframe-subframe.html: Added.
  • http/tests/cache/resources/random-cached.cgi: Added.
5:19 PM Changeset in webkit [116583] by fpizlo@apple.com
  • 4 edits in trunk/Source

It should be possible to get useful debug logging from the JIT memory allocator
https://bugs.webkit.org/show_bug.cgi?id=86042

Reviewed by Geoff Garen.

Source/JavaScriptCore:

  • jit/ExecutableAllocator.h:

Source/WTF:

  • wtf/MetaAllocator.cpp:

(WTF::MetaAllocator::findAndRemoveFreeSpace):
(WTF::MetaAllocator::addFreeSpace):
(WTF::MetaAllocator::dumpProfile):

5:18 PM Changeset in webkit [116582] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed, rolling out r116573.
http://trac.webkit.org/changeset/116573
https://bugs.webkit.org/show_bug.cgi?id=86038

Broke the Chromium Mac compile (Requested by ojan_gardening on
#webkit).

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

  • public/WebPlugin.h:

(WebPlugin):

5:15 PM Changeset in webkit [116581] by abarth@webkit.org
  • 4 edits in trunk/Tools

[Chromium] LayoutTestController should use ENABLE guards for some features
https://bugs.webkit.org/show_bug.cgi?id=86030

Reviewed by Eric Seidel.

These features are disabled on OS(ANDROID) and so shouldn't be compiled
when the feature is off.

  • DumpRenderTree/chromium/LayoutTestController.cpp:

(LayoutTestController::LayoutTestController):

  • DumpRenderTree/chromium/LayoutTestController.h:

(LayoutTestController):

  • DumpRenderTree/chromium/TestShell.h:

(TestShell):

5:14 PM Changeset in webkit [116580] by arv@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Fix issue where V8BindingPerContextData could keep the context object alive
https://bugs.webkit.org/show_bug.cgi?id=86036

Reviewed by Kentaro Hara.

This is a partial revert of http://trac.webkit.org/changeset/114320/. This keeps
the layout tests that were introduced since it turns out that
http://trac.webkit.org/changeset/114989 fixes the tests too.

Covered by: http/tests/security/isolatedWorld/context-destroy.html

  • bindings/v8/V8IsolatedContext.cpp:

(WebCore::V8IsolatedContext::destroy):

5:12 PM Changeset in webkit [116579] by andersca@apple.com
  • 2 edits in trunk/Source/WebCore

Speed up some parts of TileCache drawing
https://bugs.webkit.org/show_bug.cgi?id=86033
<rdar://problem/10919373>

Reviewed by Sam Weinig.

  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::tileCoverageRect):
If we can't have scrollbars, there's not much need to extend the tile coverage rect outside of the visible rect, since it's
unlikely that we'll do any form of scrolling here.

(WebCore::TileCache::revalidateTiles):
Don't update the tile layer frame if it's big enough to contain the tile size. Also, if there are no new tiles created,
don't call platformCALayerDidCreateTiles since that will trigger an extra layer flush.

5:11 PM WebKitGTK/1.8.x edited by Martin Robinson
(diff)
5:04 PM Changeset in webkit [116578] by barraclough@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

GC race condition in OpaqueJSClass::prototype
https://bugs.webkit.org/show_bug.cgi?id=86034

Build fix.

  • API/JSClassRef.cpp:

(OpaqueJSClass::prototype):

  • Eeeep, landed bad version of patch!
5:01 PM Changeset in webkit [116577] by kareng@chromium.org
  • 1 edit in branches/chromium/1132/Source/WebCore/rendering/RenderObject.cpp

Merge 116339 - Fix containerForRepaint() assumption about non-null enclosingLayer()
https://bugs.webkit.org/show_bug.cgi?id=85807

Reviewed by Simon Fraser.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint):

TBR=enne@google.com
Review URL: https://chromiumcodereview.appspot.com/10378082

4:57 PM Changeset in webkit [116576] by kareng@chromium.org
  • 1 edit
    2 deletes in branches/chromium/1132

Revert 114320 - [V8] Don't delete the per context data until the V8IsolatedContext is deleted
https://bugs.webkit.org/show_bug.cgi?id=83831

Reviewed by Nate Chapin.

Source/WebCore:

Test: http/tests/security/isolatedWorld/context-destroy.html

  • bindings/v8/V8IsolatedContext.cpp:

(WebCore::V8IsolatedContext::destroy):

LayoutTests:

  • http/tests/security/isolatedWorld/context-destroy-expected.txt: Added.
  • http/tests/security/isolatedWorld/context-destroy.html: Added.

TBR=arv@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10386064

4:56 PM Changeset in webkit [116575] by barraclough@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

GC race condition in OpaqueJSClass::prototype
https://bugs.webkit.org/show_bug.cgi?id=86034

Reviewed by Filip Pizlo.

The bug here is basically:

if (weakref) weakref->method()

where a GC may occur between the if & the method call.

  • API/JSClassRef.cpp:

(OpaqueJSClass::prototype):

4:44 PM Changeset in webkit [116574] by commit-queue@webkit.org
  • 4 edits in trunk

setPageScaleFactor should setScrollPosition if scale is unchanged
https://bugs.webkit.org/show_bug.cgi?id=84400

Patch by Alexandre Elias <aelias@google.com> on 2012-05-09
Reviewed by Adam Barth.

Previously, setPageScaleFactor forgot about its "origin" argument if
the page scale factor is unchanged. This has proven undesirable in
practice because, for example, a single pinch gesture may zoom in and
back out to the original page scale factor, but at a different scroll
offset.

New test case added to scale-and-scroll-body-expected.txt

  • page/Page.cpp:

(WebCore::Page::setPageScaleFactor):

4:33 PM Changeset in webkit [116573] by fsamuel@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Expose WebPluginContainer of WebPlugin to embedder
https://bugs.webkit.org/show_bug.cgi?id=85916

Reviewed by Darin Fisher.

The browser plugin needs to access its current guest's WebPluginContainer
so that it can replace the guest with another guest WebPlugin when navigating
across processes.

  • public/WebPlugin.h:

(WebPlugin):
(WebKit::WebPlugin::container):

4:22 PM Changeset in webkit [116572] by tomz@codeaurora.org
  • 7 edits in trunk/Tools

Fix overzealous re-opened since blocked by... message
https://bugs.webkit.org/show_bug.cgi?id=86020

Reviewed by Adam Barth.

Changed CreateBug behavior to only re-open a blocked bug if it
was RESOLVED. Also had to update the test infrastructure slightly
to allow for distinct mock commit revisions, so one could point
to a RESOLVED bug for testing while another pointed to an OPEN bug.

Also moved default created mock bug to be 60001 instead of 50004
which already exists as a reference mock bug.

  • Scripts/webkitpy/common/checkout/checkout_mock.py:

(MockCheckout.init):
(MockCheckout.commit_info_for_revision):

  • Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:

(MockBugzilla.create_bug):

  • Scripts/webkitpy/tool/bot/flakytestreporter_unittest.py:
  • Scripts/webkitpy/tool/commands/download_unittest.py:

(test_create_rollout_resolved):

  • Scripts/webkitpy/tool/commands/queries_unittest.py:

(FailureReasonTest.test_blame_line_for_revision):

  • Scripts/webkitpy/tool/steps/createbug.py:

(CreateBug.run):

4:10 PM Changeset in webkit [116571] by commit-queue@webkit.org
  • 10 edits
    6 adds in trunk

Use suitable viewport values on XHTML-MP pages.
https://bugs.webkit.org/show_bug.cgi?id=85425

Patch by Hugo Parente Lima <Hugo Parente Lima> on 2012-05-09
Reviewed by Kenneth Rohde Christiansen.

.:

Add LEGACY_VIEWPORT_ADAPTION use feature to cmake build system,
this feature will enable the use of a suitable viewport size
on legacy XHTML-MP pages.

  • Source/cmake/WebKitFeatures.cmake:

Source/WebCore:

Tests: fast/viewport/viewport-legacy-xhtmlmp-misplaced-doctype.html

fast/viewport/viewport-legacy-xhtmlmp-ordering.html
fast/viewport/viewport-legacy-xhtmlmp.html

Use device-width and device-height as viewport size on
XHTML-MP pages if the use feature LEGACY_VIEWPORT_ADAPTION
is set according as the non normative section of
http://www.w3.org/TR/css-device-adapt/

  • dom/Document.cpp:

(WebCore::Document::setDocType):

Tools:

Enable LEGACY_VIEWPORT_ADAPTION on Qt port.

  • qmake/mkspecs/features/features.prf:

LayoutTests:

Add tests for legacy viewport adaption and skip them
on all ports but the Qt one.

  • fast/viewport/viewport-legacy-xhtmlmp-expected.txt: Added.
  • fast/viewport/viewport-legacy-xhtmlmp-misplaced-doctype-expected.txt: Added.
  • fast/viewport/viewport-legacy-xhtmlmp-misplaced-doctype.html: Added.
  • fast/viewport/viewport-legacy-xhtmlmp-ordering-expected.txt: Added.
  • fast/viewport/viewport-legacy-xhtmlmp-ordering.html: Added.
  • fast/viewport/viewport-legacy-xhtmlmp.html: Added.
  • platform/chromium/test_expectations.txt:
  • platform/efl/Skipped:
  • platform/gtk/test_expectations.txt:
4:06 PM Changeset in webkit [116570] by Beth Dakin
  • 10 edits in trunk/Source/WebCore

https://bugs.webkit.org/show_bug.cgi?id=86025
RTL and vertical text documents do no scroll properly with the new
tiled scrolling model
-and corresponding-
<rdar://problem/11077589>

Reviewed by Dan Bernstein.

Most of the fix here is just to teach the scrolling tree about the
scroll origin.

  • page/scrolling/ScrollingCoordinator.cpp:

(WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
(WebCore::ScrollingCoordinator::setScrollParameters):

  • page/scrolling/ScrollingCoordinator.h:

(ScrollParameters):

  • page/scrolling/ScrollingTreeNode.cpp:

(WebCore::ScrollingTreeNode::update):

  • page/scrolling/ScrollingTreeNode.h:

(WebCore::ScrollingTreeNode::scrollOrigin):
(ScrollingTreeNode):

  • page/scrolling/ScrollingTreeState.cpp:

(WebCore::ScrollingTreeState::setScrollOrigin):
(WebCore):

  • page/scrolling/ScrollingTreeState.h:

(WebCore::ScrollingTreeState::scrollOrigin):
(ScrollingTreeState):

  • page/scrolling/mac/ScrollingTreeNodeMac.mm:

(WebCore::ScrollingTreeNodeMac::scrollPosition):
(WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):
(WebCore::ScrollingTreeNodeMac::minimumScrollPosition):
(WebCore::ScrollingTreeNodeMac::maximumScrollPosition):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::frameViewDidScroll):

Teaching the scrolling tree about the scroll origin revealed this pre-
existing bug. layoutOverflowRect() is not the right rect to use since
it is not writing-mode savvy. unscaledDocumentRect() is the right rect
for the view's bounds.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateCompositedBounds):

3:53 PM Changeset in webkit [116569] by rwlbuis@webkit.org
  • 2 edits in trunk/Source/WebCore

Cleanup SVGElement.cpp
https://bugs.webkit.org/show_bug.cgi?id=86004

Reviewed by Eric Seidel.

Remove unneeded includes. We do not need to check attr in SVGElement::attributeChanged,
lower layers assume it is non-null and we do not call attributeChanged in SVG.

  • svg/SVGElement.cpp:

(WebCore::SVGElement::attributeChanged):
(WebCore::SVGElement::isAnimatableAttribute):

3:52 PM Changeset in webkit [116568] by kareng@chromium.org
  • 1 add in branches/chromium/1132/codereview.settings

adding for easy drovering

3:51 PM Changeset in webkit [116567] by kareng@chromium.org
  • 1 copy in branches/chromium/1132

chromium branch for M20

3:50 PM Changeset in webkit [116566] by pilgrim@chromium.org
  • 18 edits
    3 copies in trunk/Source

[Chromium] Move clipboard to Platform.h
https://bugs.webkit.org/show_bug.cgi?id=85758

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/Platform:

  • Platform.gypi:
  • chromium/public/Platform.h:

(WebKit):
(Platform):
(WebKit::Platform::clipboard):

  • chromium/public/WebClipboard.h: Added.

(WebKit):
(WebClipboard):
(WebKit::WebClipboard::sequenceNumber):
(WebKit::WebClipboard::isFormatAvailable):
(WebKit::WebClipboard::readAvailableTypes):
(WebKit::WebClipboard::readPlainText):
(WebKit::WebClipboard::readHTML):
(WebKit::WebClipboard::readImage):
(WebKit::WebClipboard::readCustomData):
(WebKit::WebClipboard::writePlainText):
(WebKit::WebClipboard::writeHTML):
(WebKit::WebClipboard::writeURL):
(WebKit::WebClipboard::writeImage):
(WebKit::WebClipboard::writeDataObject):
(WebKit::WebClipboard::~WebClipboard):

  • chromium/public/WebDragData.h: Added.

(WebKit):
(WebDragData):
(WebKit::WebDragData::~WebDragData):
(WebKit::WebDragData::WebDragData):
(WebKit::WebDragData::operator=):
(WebKit::WebDragData::isNull):

  • chromium/public/WebImage.h: Added.

(WebKit):
(WebImage):
(WebKit::WebImage::~WebImage):
(WebKit::WebImage::WebImage):
(WebKit::WebImage::operator=):
(WebKit::WebImage::getSkBitmap):
(WebKit::WebImage::init):
(WebKit::WebImage::getCGImageRef):

Source/WebKit/chromium:

  • WebKit.gyp:
  • public/platform/WebClipboard.h:
  • public/platform/WebDragData.h:
  • public/platform/WebImage.h:
  • public/platform/WebKitPlatformSupport.h:

(WebKit):
(WebKitPlatformSupport):

  • src/AssertMatchingEnums.cpp:
  • src/DragClientImpl.cpp:
  • src/PlatformSupport.cpp:
  • src/WebDragData.cpp:
  • src/WebImageCG.cpp:
  • src/WebImageDecoder.cpp:
  • src/WebImageSkia.cpp:
  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::copy):

  • src/WebViewImpl.cpp:
3:50 PM Changeset in webkit [116565] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

CopiedSpace does not add pinned blocks back to the to-space filter
https://bugs.webkit.org/show_bug.cgi?id=86011

Reviewed by Geoffrey Garen.

After a collection has finished, we go through the blocks in from-space
and move any of them that are pinned into to-space. At the beginning of
collection, we reset the to-space block filter that is used during
conservative scanning and add back the blocks that are filled during the
collection. However, we neglect to add back those blocks that are moved
from from-space to to-space, which can cause the conservative scan to
think that some pinned items are not actually in CopiedSpace.

  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::doneCopying): Add the pinned blocks back to the
to-space filter. Also added a comment and assert for future readers that
indicates that it's okay that we don't also add the block to the
to-space block set since it was never removed.

3:45 PM Changeset in webkit [116564] by tony@chromium.org
  • 1 edit
    4 adds in trunk/PerformanceTests

add some basic perf-o-matic tests for flexbox
https://bugs.webkit.org/show_bug.cgi?id=86017

Reviewed by Ryosuke Niwa.

Each of these tests take < 3s on my machine.

  • Layout/flexbox-column-nowrap.html: Added.
  • Layout/flexbox-column-wrap.html: Added.
  • Layout/flexbox-row-nowrap.html: Added.
  • Layout/flexbox-row-wrap.html: Added.
3:13 PM Changeset in webkit [116563] by jochen@chromium.org
  • 12 edits
    4 adds in trunk

When creating a new page during a navigation, prime the initial document with the correct referrer policy
https://bugs.webkit.org/show_bug.cgi?id=86001

Reviewed by Adam Barth.

Source/WebCore:

Test: http/tests/security/referrer-policy-redirect-link.html

  • dom/Document.h:

(WebCore::Document::setReferrerPolicy):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):

Tools:

Store the referrer policy in the request, so the network stack can comply with it.

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::willSendRequest):

LayoutTests:

Skip the test on all but chromium, see https://bugs.webkit.org/show_bug.cgi?id=86000

  • http/tests/security/referrer-policy-redirect-link-expected.txt: Added.
  • http/tests/security/referrer-policy-redirect-link.html: Added.
  • http/tests/security/resources/referrer-policy-postmessage.php: Added.
  • http/tests/security/resources/referrer-policy-redirect-link.html: Added.
  • platform/efl/Skipped:
  • platform/mac/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
  • platform/wincairo/Skipped:
  • platform/wk2/Skipped:
3:09 PM Changeset in webkit [116562] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

IndexedDB: call abort handler when there are problems committing
https://bugs.webkit.org/show_bug.cgi?id=85841

Patch by Alec Flett <alecflett@chromium.org> on 2012-05-09
Reviewed by Ojan Vafai.

No new tests. Every existing test that calls commit() is testing
the success side of this, and this only throws when there are
LevelDB errors, which is exactly what we're trying to diagnose
with this patch.

  • Modules/indexeddb/IDBBackingStore.h:

(Transaction):

  • Modules/indexeddb/IDBLevelDBBackingStore.cpp:

(WebCore::IDBLevelDBBackingStore::deleteDatabase):
(WebCore::IDBLevelDBBackingStore::Transaction::commit):

  • Modules/indexeddb/IDBLevelDBBackingStore.h:

(Transaction):

  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::commit):

3:06 PM Changeset in webkit [116561] by pilgrim@chromium.org
  • 7 edits
    1 delete in trunk/Source

[Chromium] Remove PlatformSupport::loadPlatformImageResource, call loadResource directly
https://bugs.webkit.org/show_bug.cgi?id=84417

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/WebCore:

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • platform/chromium/PlatformSupport.h:

(PlatformSupport):

  • platform/graphics/chromium/ImageChromium.cpp:

(WebCore::Image::loadPlatformResource):

  • platform/graphics/chromium/ImageChromiumMac.mm: Removed.

Source/WebKit/chromium:

  • src/PlatformSupport.cpp:

(WebCore):

3:01 PM Changeset in webkit [116560] by enne@google.com
  • 25 edits in trunk/LayoutTests

Update compositing/RTL tests to fail if the root layer is shifted incorrectly
https://bugs.webkit.org/show_bug.cgi?id=85820

Reviewed by James Robinson.

For the Chromium port, if the root layer was shifted incorrectly, the
non-composited red indicator layers would get drawn outside the root
layers bounds, making it impossible to see if the test was failing.

Also turn off overflow:hidden because compositing/ tests have mock
scrollbars. This makes it much easier to debug these tests locally.

  • compositing/rtl/rtl-absolute-expected.png:
  • compositing/rtl/rtl-absolute-overflow-expected.png:
  • compositing/rtl/rtl-absolute-overflow-expected.txt:
  • compositing/rtl/rtl-absolute-overflow-scrolled-expected.png:
  • compositing/rtl/rtl-absolute-overflow-scrolled-expected.txt:
  • compositing/rtl/rtl-absolute-overflow-scrolled.html:
  • compositing/rtl/rtl-absolute-overflow.html:
  • compositing/rtl/rtl-absolute.html:
  • compositing/rtl/rtl-fixed-expected.png:
  • compositing/rtl/rtl-fixed-overflow-expected.png:
  • compositing/rtl/rtl-fixed-overflow-expected.txt:
  • compositing/rtl/rtl-fixed-overflow-scrolled-expected.png:
  • compositing/rtl/rtl-fixed-overflow-scrolled-expected.txt:
  • compositing/rtl/rtl-fixed-overflow-scrolled.html:
  • compositing/rtl/rtl-fixed-overflow.html:
  • compositing/rtl/rtl-fixed.html:
  • compositing/rtl/rtl-iframe-absolute-overflow-expected.png:
  • compositing/rtl/rtl-iframe-absolute-overflow-expected.txt:
  • compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.png:
  • compositing/rtl/rtl-iframe-absolute-overflow-scrolled-expected.txt:
  • compositing/rtl/rtl-iframe-fixed-overflow-expected.png:
  • compositing/rtl/rtl-iframe-fixed-overflow-expected.txt:
  • compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.png:
  • compositing/rtl/rtl-iframe-fixed-overflow-scrolled-expected.txt:
2:56 PM Changeset in webkit [116559] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Remove CYGWIN=tty from environment variable as its no longer supported
https://bugs.webkit.org/show_bug.cgi?id=85791

The CYGWIN=tty environment variable is no longer supported from Cygwin
version 1.7.10. This fix avoids addition of this environment variable
for Cygwin versions greater than 1.7.9. For supporting older versions
i.e. 1.7.9 or older, the script takes care of retaining the environment
variable.

Patch by Vivek Galatage <vivekgalatage@gmail.com> on 2012-05-09
Reviewed by Adam Roben.

  • Scripts/webkitdirs.pm:

(setupAppleWinEnv):

2:27 PM Changeset in webkit [116558] by jochen@chromium.org
  • 4 edits in trunk/Source/WebKit/chromium

[chromium] remove the obsolete WebFrame::referrerPolicy method
https://bugs.webkit.org/show_bug.cgi?id=86003

Reviewed by Adam Barth.

  • public/WebFrame.h:
  • src/WebFrameImpl.cpp:
  • src/WebFrameImpl.h:

(WebFrameImpl):

2:20 PM Changeset in webkit [116557] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Remove some isSVGFoo methods
https://bugs.webkit.org/show_bug.cgi?id=86009

Patch by Rob Buis <rbuis@rim.com> on 2012-05-09
Reviewed by Eric Seidel.

These are not used at the moment and were probably just copy and pasted from
isSVGFoo methods in RenderObject.h.

  • rendering/RenderObject.h:
  • rendering/svg/RenderSVGEllipse.h:

(RenderSVGEllipse):

  • rendering/svg/RenderSVGRect.h:

(RenderSVGRect):

  • rendering/svg/RenderSVGShape.h:
2:17 PM Changeset in webkit [116556] by jochen@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Check whether an active document loader exists before accessing it
https://bugs.webkit.org/show_bug.cgi?id=85892

Reviewed by Eric Seidel.

Although FrameLoader::loadInSameDocument which invokes this
method does not have a provisional document loader, we're seeing crashes
where the FrameLoader is in provisional state, and thus
activeDocumentLoader returns 0. Lacking any understanding of how this
can happen, we do this check here to avoid crashing.

  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::dispatchDidNavigateWithinPage):

2:06 PM Changeset in webkit [116555] by fpizlo@apple.com
  • 15 edits in branches/dfgopt/Source/JavaScriptCore

DFG variable capture analysis should work even if the variables arose through inlining
https://bugs.webkit.org/show_bug.cgi?id=85945

Reviewed by Oliver Hunt.

This just changes how the DFG queries whether a variable is captured. It does not
change any user-visible behavior.

As part of this change, I further solidified the policy that the CFA behaves in an
undefined way for captured locals and queries about their values will not yield
reliable results. This will likely be changed in the future, but for now it makes
sense.

One fun part about this change is that it recognizes that the same variable may
be both captured and not, at the same time, because their live interval spans
inlining boundaries. This only happens in the case of arguments to functions that
capture their arguments, and this change treats them with just the right touch of
conservatism: they will be treated as if captured by the caller as well as the
callee.

Finally, this also adds captured variable reasoning to the InlineCallFrame, which
I thought might be useful for later tooling.

This is perf-neutral, since it does it does not make the DFG take advantage of this
new functionality in any way. In particular, it is still the case that the DFG will
not inline functions that use arguments reflectively or that create activations.

  • bytecode/CodeBlock.h:

(CodeBlock):
(JSC::CodeBlock::needsActivation):
(JSC::CodeBlock::argumentIsCaptured):
(JSC::CodeBlock::localIsCaptured):
(JSC::CodeBlock::isCaptured):

  • bytecode/CodeOrigin.h:

(InlineCallFrame):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::initialize):
(JSC::DFG::AbstractState::endBasicBlock):
(JSC::DFG::AbstractState::execute):
(JSC::DFG::AbstractState::merge):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::newVariableAccessData):
(JSC::DFG::ByteCodeParser::getLocal):
(JSC::DFG::ByteCodeParser::setLocal):
(JSC::DFG::ByteCodeParser::getArgument):
(JSC::DFG::ByteCodeParser::setArgument):
(JSC::DFG::ByteCodeParser::flushArgument):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::processPhiStack):
(JSC::DFG::ByteCodeParser::fixVariableAccessPredictions):
(JSC::DFG::ByteCodeParser::InlineStackEntry::InlineStackEntry):

  • dfg/DFGCFGSimplificationPhase.cpp:

(CFGSimplificationPhase):
(JSC::DFG::CFGSimplificationPhase::keepOperandAlive):
(JSC::DFG::CFGSimplificationPhase::fixPossibleGetLocal):
(JSC::DFG::CFGSimplificationPhase::fixTailOperand):

  • dfg/DFGCommon.h:
  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::nameOfVariableAccessData):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::needsActivation):
(JSC::DFG::Graph::usesArguments):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGVariableAccessData.h:

(JSC::DFG::VariableAccessData::VariableAccessData):
(JSC::DFG::VariableAccessData::mergeIsCaptured):
(VariableAccessData):
(JSC::DFG::VariableAccessData::isCaptured):

1:27 PM Changeset in webkit [116554] by commit-queue@webkit.org
  • 7 edits in trunk/Source

[chromium] Add impl-thread support for fill-mode and direction css animation properties
https://bugs.webkit.org/show_bug.cgi?id=77662

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

Source/WebCore:

Adds support for accelerating css animations with -webkit-animation-fill-mode,
and -webkit-animation-direction properties.

Tested in:

CCActiveAnimationTest.TrimTimeAlternating
CCLayerAnimationControllerTest.createReversedAnimation
CCLayerAnimationControllerTest.createAlternatingAnimation
CCLayerAnimationControllerTest.createReversedAlternatingAnimation

  • platform/graphics/chromium/cc/CCActiveAnimation.cpp:

(WebCore::CCActiveAnimation::CCActiveAnimation):
(WebCore::CCActiveAnimation::trimTimeToCurrentIteration):
(WebCore::CCActiveAnimation::cloneForImplThread):

  • platform/graphics/chromium/cc/CCActiveAnimation.h:

(CCActiveAnimation):
(WebCore::CCActiveAnimation::alternatesDirection):
(WebCore::CCActiveAnimation::setAlternatesDirection):

  • platform/graphics/chromium/cc/CCLayerAnimationController.cpp:

Source/WebKit/chromium:

  • tests/CCActiveAnimationTest.cpp:

(WebCore::TEST):
(WebCore):

  • tests/CCLayerAnimationControllerTest.cpp:

(WebKitTests::TEST):
(WebKitTests):

1:25 PM Changeset in webkit [116553] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

[Gtk] Many tests revealed as passing after moving from Skipped to test_expectations.txt
https://bugs.webkit.org/show_bug.cgi?id=85591

Reviewed by Philippe Normand.

Remove all the test expectations for tests that seem to consistently
pass on the Gtk bots but are expected to crash. Any tests that backfire
will have their bug entries updated or closed otherwise.

  • platform/gtk/test_expectations.txt:
12:59 PM Changeset in webkit [116552] by dpranke@chromium.org
  • 4 edits in trunk/Tools

nrwt: --skip-failing-tests should also skip flaky tests
https://bugs.webkit.org/show_bug.cgi?id=85941

Reviewed by Ojan Vafai.

This changes --skip-failing-tests so that we skip tests that
are believed to pass sometimes as well as tests that are
believed to always fail.

In addition, in testing this I discovered that we had lousy
test coverage of the details of retrying test failures and
--clobber-old-results, so I wrote some more tests.

  • Scripts/webkitpy/layout_tests/controllers/manager.py:

(Manager.prepare_lists_and_print_output):

  • Scripts/webkitpy/layout_tests/port/test.py:

(unit_test_list):
(TestPort.init):
(TestDriver.run_test):

  • Scripts/webkitpy/layout_tests/run_webkit_tests_integrationtest.py:

(MainTest.test_skip_failing_tests):
(MainTest.test_retrying_and_flaky_tests):

12:48 PM Changeset in webkit [116551] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Crash from removal of a line break object
https://bugs.webkit.org/show_bug.cgi?id=85997

Patch by Ken Buchanan <kenrb@chromium.org> on 2012-05-09
Reviewed by David Hyatt.

Source/WebCore:

Regression from r115343. That replaced a call to setNeedsLayout()
with a separate call that used a different bit during linebox
invalidation after renderer child removal. There are special cases
where layout isn't marked on parent nodes just from the removal, so
line dirtying needs to explicitly mark ancestors for layout.

  • rendering/RenderObject.h:

(WebCore::RenderObject::setAncestorLineBoxDirty):

LayoutTests:

Test case to exercise crashing condition in bug 85997.

  • fast/block/line-layout/line-break-removal-near-textarea-crash-expected.txt: Added
  • fast/block/line-layout/line-break-removal-near-textarea-crash.html: Added
12:37 PM Changeset in webkit [116550] by alexis.menard@openbossa.org
  • 2 edits in trunk/LayoutTests

[Qt][WK2] REGRESSION(r113678):After this change fast/text/text-stroke-width-cairo-dos.html makes the next test crash
https://bugs.webkit.org/show_bug.cgi?id=83582

Unreviewed gardening : I don't observe crashes anymore.

  • platform/qt-5.0-wk2/Skipped:
12:36 PM Changeset in webkit [116549] by leviw@chromium.org
  • 13 edits
    1 delete in trunk/Source/WebCore

Fix performance regression for floats caused by LayoutUnit change
https://bugs.webkit.org/show_bug.cgi?id=85834

Reviewed by Ojan Vafai.

Refactoring FractionalLayout types to alleviate performance issues. Explicitly
inlining constructor and operator functions in FractionalLayoutUnit, as well as
pixelSnappedIntSize and pixelSnappedIntRect (particularly hot code paths). Also
further simplifying round and ceil functions when sub-pixel layout is not enabled.

pixelSnappedIntSize was the only function defined in FractionalLayoutSize.cpp,
so it is removed.

No new tests. No change in functionality.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/FractionalLayoutUnit.h:

(WebCore::FractionalLayoutUnit::FractionalLayoutUnit):
(FractionalLayoutUnit):
(WebCore::FractionalLayoutUnit::toInt):
(WebCore::FractionalLayoutUnit::toFloat):
(WebCore::FractionalLayoutUnit::toDouble):
(WebCore::FractionalLayoutUnit::toUnsigned):
(WebCore::FractionalLayoutUnit::operator int):
(WebCore::FractionalLayoutUnit::operator unsigned):
(WebCore::FractionalLayoutUnit::operator float):
(WebCore::FractionalLayoutUnit::operator double):
(WebCore::FractionalLayoutUnit::operator bool):
(WebCore::FractionalLayoutUnit::ceil):
(WebCore::FractionalLayoutUnit::round):

  • platform/graphics/FractionalLayoutRect.cpp:

(WebCore):

  • platform/graphics/FractionalLayoutRect.h:

(WebCore::FractionalLayoutRect::pixelSnappedSize):
(WebCore::pixelSnappedIntRect):
(WebCore):

  • platform/graphics/FractionalLayoutSize.cpp: Removed.
  • platform/graphics/FractionalLayoutSize.h:

(WebCore):

  • rendering/LayoutTypes.h:

(WebCore::pixelSnappedIntSize):
(WebCore):

12:01 PM Changeset in webkit [116548] by ojan@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

  • DEPS:
11:41 AM BuildingGtk edited by philn@igalia.com
(diff)
11:40 AM Changeset in webkit [116547] by commit-queue@webkit.org
  • 10 edits in trunk

[EFL][DRT] EFL's DRT needs to support LayoutTestController.dumpIconChanges()
https://bugs.webkit.org/show_bug.cgi?id=84435

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-09
Reviewed by Antonio Gomes.

Source/WebKit/efl:

Emit a "icon,changed" signal on the frame when its favion changed.
Clarify that the "icon,loaded" signal is only emitted for the main
frame.

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::dispatchDidReceiveIcon):
(WebCore::FrameLoaderClientEfl::dispatchDidChangeIcons):

  • ewk/ewk_frame.cpp:

(ewk_frame_icon_changed):

  • ewk/ewk_frame.h:
  • ewk/ewk_private.h:

Tools:

Catch the "icon,changed" signal on the frames in EFL's DumpRenderTree
to support LayoutTestController's dumpIconChanges().

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::createView):
(DumpRenderTreeChrome::onFrameIconChanged):
(DumpRenderTreeChrome::onFrameCreated):

  • DumpRenderTree/efl/DumpRenderTreeChrome.h:

(DumpRenderTreeChrome):

LayoutTests:

Unskip the test checking for DumpRenderTree's support for
LayoutTestController's dumpIconChanges() in EFL port.

  • platform/efl/Skipped:
11:30 AM Changeset in webkit [116546] by Csaba Osztrogonác
  • 2 edits
    2 adds in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • platform/qt-5.0/fast/text/international/text-spliced-font-expected.png: Added.
  • platform/qt-5.0/fast/text/international/text-spliced-font-expected.txt: Added.
  • platform/qt/Skipped:
11:28 AM Changeset in webkit [116545] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

Crash in ReplaceSelectionCommand::performTrivialReplace
https://bugs.webkit.org/show_bug.cgi?id=85943

Reviewed by Ryosuke Niwa.

Source/WebCore:

RefPtr nodeAfterInsertionPos to guard against mutation events.

Test: editing/inserting/insert-html-crash.html

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplaceSelectionCommand::performTrivialReplace):

LayoutTests:

  • editing/inserting/insert-html-crash-expected.txt: Added.
  • editing/inserting/insert-html-crash.html: Added.
10:58 AM Changeset in webkit [116544] by bulach@chromium.org
  • 4 edits in trunk/Source/WebKit/chromium

[chromium] Exposes OrientationChangeEvent.
https://bugs.webkit.org/show_bug.cgi?id=85976

Reviewed by Adam Barth.

This is used by the android port, we need to expose the existing
WebCore API.

  • public/WebFrame.h:

(WebFrame):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::sendOrientationChangeEvent):
(WebKit):

  • src/WebFrameImpl.h:

(WebFrameImpl):

10:57 AM Changeset in webkit [116543] by shawnsingh@chromium.org
  • 3 edits
    4 adds in trunk

Hit testing is incorrect in some cases with perspective transforms
https://bugs.webkit.org/show_bug.cgi?id=79136

Reviewed by Simon Fraser.

Source/WebCore:

Tests: transforms/3d/hit-testing/coplanar-with-camera.html

transforms/3d/hit-testing/perspective-clipped.html

  • platform/graphics/transforms/TransformationMatrix.cpp:

(WebCore::TransformationMatrix::projectPoint): Fix a
divide-by-zero error so that values do not become Inf or Nan. Also
fix an overflow error by using a large, but not-too-large constant
to represent infinity.

(WebCore::TransformationMatrix::projectQuad): Fix an error where
incorrect quads were being returned. Incorrect quads can occur
when projectPoint clamped==true after returning.

LayoutTests:

  • transforms/3d/hit-testing/coplanar-with-camera-expected.txt: Added.
  • transforms/3d/hit-testing/coplanar-with-camera.html: Added.
  • transforms/3d/hit-testing/perspective-clipped-expected.txt: Added.
  • transforms/3d/hit-testing/perspective-clipped.html: Added.
10:47 AM Changeset in webkit [116542] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

Textarea-placeholder-wrapping.html may fail because of scrollbars
https://bugs.webkit.org/show_bug.cgi?id=85989

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-05-09
Reviewed by Ryosuke Niwa.

Increasing rows to avoid scrollbar single pixel differences
to cause failures of this test.

  • fast/forms/textarea-placeholder-wrapping-expected.html:
  • fast/forms/textarea-placeholder-wrapping.html:
10:23 AM Changeset in webkit [116541] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/gtk

[GTK] Missing WebPreferences for media playback requiring user gestures and inline playback
https://bugs.webkit.org/show_bug.cgi?id=85194

Patch by Simon Pena <Simon Pena> on 2012-05-09
Reviewed by Martin Robinson.

Expose WebPreferences for media playback requires user gesture and
media playback allows inline to GTK side.

This adds two properties (mediaPlaybackRequiresUserGesture and
mediaPlaybackAllowsInline) to GTK WebKit WebSettings, and connects
them to the WebKit WebView, so clients can programmatically modify
them.

  • webkit/webkitwebsettings.cpp: install new properties and update

setter and getter
(webkit_web_settings_class_init):
(webkit_web_settings_set_property):
(webkit_web_settings_get_property):

  • webkit/webkitwebsettingsprivate.h: add media playback related

properties

  • webkit/webkitwebview.cpp: connect newly added properties

(webkit_web_view_update_settings):
(webkit_web_view_settings_notify):

10:06 AM Changeset in webkit [116540] by caio.oliveira@openbossa.org
  • 2 edits in trunk/Source/WebCore

Simplify CSSParser::parseSimpleLengthValue()
https://bugs.webkit.org/show_bug.cgi?id=85910

Reviewed by Alexis Menard.

Various small improvements to this function, mainly:

  • Move the check if the property ID accepts a simple length as early as possible;
  • Remove the check for the characters{8,16} pointers since they'll be valid (we ASSERT that);
  • Use a template to avoid duplicate code for 8 and 16 bit characters.
  • css/CSSParser.cpp:

(WebCore):
(WebCore::parseSimpleLength):
(WebCore::parseSimpleLengthValue):

10:02 AM Changeset in webkit [116539] by fischman@chromium.org
  • 2 edits in trunk/Source/WebCore

[chromium] Support multiple buffered time ranges
https://bugs.webkit.org/show_bug.cgi?id=85926

Reviewed by Eric Carlson.

Preserve existing rendering of a single rect even in the presence of multiple buffered regions.

No new tests as this change has no functional effects.

  • rendering/RenderMediaControlsChromium.cpp:

(WebCore::paintMediaSlider):

10:01 AM Changeset in webkit [116538] by danakj@chromium.org
  • 5 edits in trunk/Source

Early-out and avoid any copying when possible for Region operations
https://bugs.webkit.org/show_bug.cgi?id=85260

Reviewed by Anders Carlsson.

Source/WebCore:

For an empty region, any intersection or subtraction will not modify
the region, so we can simply return instead of creating a new Shape
and replacing the current empty Shape.

When a region is united with a region it contains, the orignal
containing region is the result. So, if A.unite(B) and A.contains(B)
then A does not need to change at all and we can return without making
a copy of A's shape. When A is a rect, we can do this test even more
simply.

We also remove redundant checks from trySimpleOperation() methods, where
the test is already done in the Region calling site.

This change improves the performance of the Region overlap testing for
composited layers, and allows us to avoid unnecessary copies of the
Region during unite. With a layout test (attached to bug #81087), that
creates a Region from the union of 225 composited layers, as well as
600 overlapping layers above them, this change decreases the running
time of the test by 3.2% by avoiding a copy of the entire Region for
each insertion that does not change the resulting Region.

Unit tests: RegionTest.unite

  • platform/graphics/Region.cpp:

(WebCore::Region::Shape::UnionOperation::trySimpleOperation):
(WebCore::Region::Shape::IntersectOperation::trySimpleOperation):
(WebCore::Region::Shape::SubtractOperation::trySimpleOperation):
(WebCore::Region::intersect):
(WebCore::Region::unite):
(WebCore::Region::subtract):

  • platform/graphics/Region.h:

(WebCore::Region::isRect):
(WebCore::Region::Shape::isRect):

Source/WebKit/chromium:

  • tests/RegionTest.cpp:

(WebCore::TEST):
(WebCore):

9:32 AM Changeset in webkit [116537] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

webkit-patch upload Fails Behind Load-balancing Proxies
https://bugs.webkit.org/show_bug.cgi?id=85980

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-05-09
Reviewed by Adam Barth.

Unchecking the login restriction to IP to allow the tool
to function behind load-balancing proxies that use multiple
outgoing IPs.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py:

(Bugzilla.authenticate):

9:31 AM Changeset in webkit [116536] by commit-queue@webkit.org
  • 9 edits in trunk

[BlackBerry] Enable PAGE_POPUP in make file, and implement required methods
https://bugs.webkit.org/show_bug.cgi?id=85907

.:

Patch by Crystal Zhang <haizhang@rim.com> on 2012-05-09
Reviewed by Rob Buis.

Enable PAGE_POPUP option in make files.

Internal reviewed by Yong Li.

  • Source/cmake/OptionsBlackBerry.cmake:
  • Source/cmakeconfig.h.cmake:

Source/WebKit/blackberry:

Patch by Crystal Zhang <haizhang@rim.com> on 2012-05-09
Reviewed by Rob Buis.

Internal reviewed by Yong Li.

Enable PAGE_POPUP so we can use WebCore::PagePopup and WebCore::PagePopupClient interface.
Implement virtual methods in WebCore::ChromeClientBlackBerry that required for the
implementation and add methods in WebKit::WebPage that needed for PagePopupClient.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::handleMouseEvent):
(BlackBerry::WebKit::WebPage::initPopupWebView):
(WebKit):
(BlackBerry::WebKit::WebPage::popupOpened):
(BlackBerry::WebKit::WebPage::popupClosed):
(BlackBerry::WebKit::WebPage::hasOpenedPopup):
(BlackBerry::WebKit::WebPage::popup):
(BlackBerry::WebKit::WebPagePrivate::setParentPopup):

  • Api/WebPage.h:

(WebCore):

  • Api/WebPage_p.h:

(WebCore):
(WebPagePrivate):

  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore::ChromeClientBlackBerry::hasOpenedPopup):
(WebCore::ChromeClientBlackBerry::openPagePopup):
(WebCore):
(WebCore::ChromeClientBlackBerry::closePagePopup):

  • WebCoreSupport/ChromeClientBlackBerry.h:

(WebCore):
(ChromeClientBlackBerry):

9:21 AM Changeset in webkit [116535] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] shared-stylesheet-mutation tests are flaky
https://bugs.webkit.org/show_bug.cgi?id=85901

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-05-09
Reviewed by Antti Koivisto.

This test is flaky on EFL because the timeout for applying
the style is too short for a Debug build.

  • http/tests/css/resources/shared-stylesheet-mutation.js:

(executeTests):

9:08 AM Changeset in webkit [116534] by Carlos Garcia Campos
  • 4 edits
    1 copy in trunk

[GTK] Split WebKit2 Makefile moving source code listings to GNUmakefile.list.am
https://bugs.webkit.org/show_bug.cgi?id=85985

Reviewed by Gustavo Noronha Silva.

.:

  • GNUmakefile.am:

Source/WebKit2:

  • GNUmakefile.am:
  • GNUmakefile.list.am: Copied from Source/WebKit2/GNUmakefile.am.
9:05 AM Changeset in webkit [116533] by Carlos Garcia Campos
  • 6 edits in trunk

[GTK] Use independent version numbers for public libraries
https://bugs.webkit.org/show_bug.cgi?id=85984

Reviewed by Gustavo Noronha Silva.

.:

  • configure.ac: Define LIBJAVASCRIPTCOREGTK_VERSION and

LIBWEBKIT2GTK_VERSION using the same version as
LIBWEBKITGTK_VERSION for backwards compatibility.

Source/JavaScriptCore:

  • GNUmakefile.am: Use LIBJAVASCRIPTCOREGTK_VERSION for library

version.

Source/WebKit2:

  • GNUmakefile.am: Use LIBWEBKIT2GTK_VERSION for library version.
9:02 AM Changeset in webkit [116532] by Carlos Garcia Campos
  • 2 edits in trunk/Source/JavaScriptCore

[GTK] Do not install JavaScriptCore platform-specific headers
https://bugs.webkit.org/show_bug.cgi?id=85983

Reviewed by Gustavo Noronha Silva.

JavaScriptCore.h includes JSStringRefCF.h unconditionally. It was
renamed to JavaScript.h in r29234 and it still exists for
compatibility with mac and windows users.

and JSStringRefBSTR.h from the sources and headers list.

8:57 AM Changeset in webkit [116531] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][DRT] Gardening failures and crashes
https://bugs.webkit.org/show_bug.cgi?id=85996

Unreviewed, EFL gardening.

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-05-09

  • platform/efl/test_expectations.txt:
8:55 AM Changeset in webkit [116530] by tommyw@google.com
  • 5 edits
    2 adds in trunk

MediaStream API: SessionDescription::addCandidate should not crash for malformed input
https://bugs.webkit.org/show_bug.cgi?id=85988

Reviewed by Adam Barth.

Source/WebCore:

Sending null would crash the browser. Added safeguards in both the bindings and the native code.

Test: fast/mediastream/SessionDescription.html

  • Modules/mediastream/SessionDescription.cpp:

(WebCore::SessionDescription::addCandidate):

  • Modules/mediastream/SessionDescription.h:

(SessionDescription):

  • Modules/mediastream/SessionDescription.idl:

LayoutTests:

  • fast/mediastream/SessionDescription-expected.txt: Added.
  • fast/mediastream/SessionDescription.html: Added.
8:49 AM Changeset in webkit [116529] by tommyw@google.com
  • 5 edits in trunk/Source

MediaStream API: Adding the possibility of port specific information in MediaStreamDescriptor
https://bugs.webkit.org/show_bug.cgi?id=85794

Reviewed by Adam Barth.

To facilitate for ports I have added an ExtraData field that can be used for whatever purpose is needed.

Source/Platform:

  • chromium/public/WebMediaStreamDescriptor.h:

(ExtraData):
(WebKit::WebMediaStreamDescriptor::ExtraData::~ExtraData):
(WebMediaStreamDescriptor):

Source/WebCore:

No behavioral changes.

  • platform/chromium/support/WebMediaStreamDescriptor.cpp:

(ExtraDataContainer):
(WebKit::ExtraDataContainer::ExtraDataContainer):
(WebKit::ExtraDataContainer::extraData):
(WebKit):
(WebKit::WebMediaStreamDescriptor::extraData):
(WebKit::WebMediaStreamDescriptor::setExtraData):

  • platform/mediastream/MediaStreamDescriptor.h:

(ExtraData):
(WebCore::MediaStreamDescriptor::ExtraData::~ExtraData):
(MediaStreamDescriptor):
(WebCore::MediaStreamDescriptor::extraData):
(WebCore::MediaStreamDescriptor::setExtraData):

8:45 AM Changeset in webkit [116528] by tommyw@google.com
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] MediaStream API: Fixing a memory leak in WebUserMediaRequest
https://bugs.webkit.org/show_bug.cgi?id=85992

Reviewed by Adam Barth.

  • src/WebUserMediaRequest.cpp:

(WebKit::WebUserMediaRequest::assign):

8:37 AM Changeset in webkit [116527] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Crash in WebCore::RenderBoxModelObject::paddingLeft
https://bugs.webkit.org/show_bug.cgi?id=83889

Patch by Takashi Sakamoto <tasak@google.com> on 2012-05-09
Reviewed by Abhishek Arya.

Source/WebCore:

RenderScrollbar creates RenderScrollbarPart without any parent
renderers. However, if the scrollbar has percent padding styles,
non-null parent renderer is required. So after creating/destroying
RenderScrollbarPart instances, set owningRenderer(creating)/0
(destroying) as its parent renderer.

Test: scrollbars/scrollbar-percent-padding-crash.html

scrollbars/scrollbar-percent-padding-crash-expected.txt

  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::updateScrollbarPart):
Added setParent after creating/destroying RenderScrollbarPart.

  • rendering/RenderScrollbarPart.cpp:

Made RenderScollbar friend, because setParent is protected and
RenderScrollbar is not inherited from class RenderObject.

LayoutTests:

As just invoking layoutTestController.display() invokes scrollbar's
WebCore::RenderScrollbarPart::paintIntoRect(), adding display() after
invoking layoutTestController.dumpAsText().

  • scrollbars/scrollbar-percent-padding-crash.html: Added.
  • scrollbars/scrollbar-percent-padding-crash-expected.txt: Added.
8:28 AM Changeset in webkit [116526] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

[Chromium-android] Add unit test for Android layout test script (chromium_android.py)
https://bugs.webkit.org/show_bug.cgi?id=80852

Patch by Hao Zheng <zhenghao@chromium.org> on 2012-05-09
Reviewed by Adam Barth.

Add some tests to ensure that chromium android port works to some
extent. Some methods is hard to test, as they rely on the actual
behavior on device, e.g. pushing files to device.

  • Scripts/webkitpy/layout_tests/port/chromium_android.py:

(ChromiumAndroidPort.get_last_stacktrace): Check if dir exists.

  • Scripts/webkitpy/layout_tests/port/chromium_android_unittest.py:

(ChromiumAndroidPortTest):
(ChromiumAndroidPortTest.test_attributes):
(ChromiumAndroidPortTest.test_get_last_stacktrace):
(ChromiumAndroidPortTest.test_get_last_stacktrace.mock_run_command_no_dir):
(ChromiumAndroidPortTest.test_get_last_stacktrace.mock_run_command_no_file):
(ChromiumAndroidPortTest.test_get_last_stacktrace.mock_run_command_non_empty):
(ChromiumAndroidDriverTest):
(ChromiumAndroidDriverTest.setUp):
(ChromiumAndroidDriverTest.test_get_drt_return_value):
(ChromiumAndroidDriverTest.test_has_crash_hint):
(ChromiumAndroidDriverTest.test_read_prompt):
(ChromiumAndroidDriverTest.test_test_shell_command):
(ChromiumAndroidDriverTest.test_write_command_and_read_line):

8:23 AM Changeset in webkit [116525] by danw@gnome.org
  • 2 edits in trunk/Source/WebKit/gtk

[GTK] don't use soup_session_pause_message in webkitdownload
https://bugs.webkit.org/show_bug.cgi?id=85931

Reviewed by Martin Robinson.

  • webkit/webkitdownload.cpp:

(webkit_download_new_with_handle):
(webkit_download_start):

8:14 AM Changeset in webkit [116524] by Antti Koivisto
  • 2 edits in trunk/LayoutTests

Skip failing test http/tests/loading/post-in-iframe-with-back-navigation.html.

Not reviewed.

  • platform/mac/Skipped:
7:40 AM Changeset in webkit [116523] by Antti Koivisto
  • 2 edits in trunk/LayoutTests

Test from bug 34875 should specify font-size
https://bugs.webkit.org/show_bug.cgi?id=85913

Not reviewed.

Skip fast/block/positioning/offsetLeft-offsetTop-multicolumn.html

  • platform/mac/Skipped:
6:19 AM Changeset in webkit [116522] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Gardening a timeout failure
https://bugs.webkit.org/show_bug.cgi?id=85979

Unreviewed, EFL gardening.

Patch by Dominik Röttsches <dominik.rottsches@intel.com> on 2012-05-09

  • platform/efl/test_expectations.txt: Adding font-face-download-error.html.
5:53 AM Changeset in webkit [116521] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk

ShadowRoot needs applyAuthorStyles
https://bugs.webkit.org/show_bug.cgi?id=78472

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

Source/WebCore:

Implemented applyAuthorStyles attribute defined in the following spec:
http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#shadow-root-attributes
Since applyAuthorSheets attribute has been already implemented,
renamed all applyAuthorSheets to applyAuthorStyles and
added applyAuthorStyles to ShadowRoot.idl.
Currently, changing dynamically applyAuthorStyles doesn't work. I will fix this isse in bugs:84215: https://bugs.webkit.org/show_bug.cgi?id=84251

Test: fast/dom/shadow/shadow-root-applyAuthorStyles.html

fast/dom/shadow/shadow-root-applyAuthorStyles-expected.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::collectMatchingRulesForList):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::ShadowRoot):
(WebCore::ShadowRoot::applyAuthorStyles):
(WebCore::ShadowRoot::setApplyAuthorStyles):

  • dom/ShadowRoot.h:
  • dom/TreeScope.cpp:

(WebCore::TreeScope::applyAuthorStyles):

  • dom/TreeScope.h:

(TreeScope):
Changed all applyAuthorSheets to applyAuthorSytles.
(ShadowRoot):

  • dom/ShadowRoot.idl:

Added a new attribute, boolean applyAuthorStyles.

LayoutTests:

  • fast/dom/shadow/shadow-root-applyAuthorStyles.html:
  • fast/dom/shadow/shadow-root-applyAuthorStyles-expected.html:

Tested four cases:
case 1: applyAuthorStyles is false,
case 2: applyAuthorStyles is true with <script>..</script>,
case 3: applyAuthorStyles is true with inline script declaration, and
case 4: applyAuthorStyles is true with important UA property.
The case 1, 2 and 3 specify "span { ... }" with author styles and
verify rendering results.
The case 4 specifies '<input type="file" />' with an author style,
text-align: end, and verify rendering result.

5:39 AM Changeset in webkit [116520] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[Qt] Tap-to-zoom zooms to wrong area.
https://bugs.webkit.org/show_bug.cgi?id=85982

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-05-09
Reviewed by Kenneth Rohde Christiansen.

Fix computation and take more care when to use CSS scale and when to use Item scale.

  • UIProcess/qt/QtViewportInteractionEngine.cpp:

(WebKit::QtViewportInteractionEngine::zoomToAreaGestureEnded):

5:34 AM Changeset in webkit [116519] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] fast/overflow/scroll-div-hide-show.html testcase does not pass
https://bugs.webkit.org/show_bug.cgi?id=85960

Unreviewed. Gardening.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-09

  • platform/efl/Skipped: Skipping fast/overflow/scroll-div-hide-show.html.
5:22 AM Changeset in webkit [116518] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Qt] ORWT fails with Qt 5 and WK2.
https://bugs.webkit.org/show_bug.cgi?id=85968

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-05-09
Reviewed by Csaba Osztrogonác.

The Qt5 binary does not have a -style argument, so avoid using it.

  • Scripts/old-run-webkit-tests:
5:19 AM Changeset in webkit [116517] by commit-queue@webkit.org
  • 1 edit
    44 adds in trunk/LayoutTests

[EFL][DRT] Add baselines for new CSS cases after r116438
https://bugs.webkit.org/show_bug.cgi?id=85967

Unreviewed, add EFL baselines for new tests after r116438.

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-09

  • platform/efl/css2.1/20110323/first-letter-000-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-000-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-001-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-001-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-dynamic-001-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-dynamic-001-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-dynamic-002-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-dynamic-002-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-dynamic-003a-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-dynamic-003a-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-dynamic-003b-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-dynamic-003b-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-inherit-001-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-inherit-001-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-nested-001-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-nested-001-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-nested-002-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-nested-002-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-nested-003-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-nested-003-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-nested-004-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-nested-004-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-nested-005-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-nested-005-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-nested-006-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-nested-006-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-nested-007-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-nested-007-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-quote-001-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-quote-001-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-quote-002-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-quote-002-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-quote-003-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-quote-003-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-quote-004-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-quote-004-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-quote-005-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-quote-005-expected.txt: Added.
  • platform/efl/css2.1/20110323/first-letter-quote-006-expected.png: Added.
  • platform/efl/css2.1/20110323/first-letter-quote-006-expected.txt: Added.
  • platform/efl/fast/css/first-letter-nested-positioned-expected.png: Added.
  • platform/efl/fast/css/first-letter-nested-positioned-expected.txt: Added.
  • platform/efl/fast/css/first-letter-quotes-no-content-before-after-expected.png: Added.
  • platform/efl/fast/css/first-letter-quotes-no-content-before-after-expected.txt: Added.
5:11 AM Changeset in webkit [116516] by commit-queue@webkit.org
  • 7 edits in trunk/Source/WebKit2

[Qt][WK2] Define clear split between QtWebPageLoadClient and QQuickWebViewPrivate for loading tasks.
https://bugs.webkit.org/show_bug.cgi?id=84527#c3

Patch by Zalan Bujtas <zbujtas@gmail.com> on 2012-05-09
Reviewed by Simon Hausmann.

Moving loading related code and signal emission from QtWebPageLoadClient to QQuickWebViewPrivate.
It puts the loading code that implements an API right where the API is defined, including
signal emission as well as translation of WebPageProxy internals to public Qt API with correct types.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewPrivate::provisionalLoadDidStart):
(QQuickWebViewPrivate::loadDidCommit):
(QQuickWebViewPrivate::didSameDocumentNavigation):
(QQuickWebViewPrivate::titleDidChange):
(QQuickWebViewPrivate::loadProgressDidChange):
(QQuickWebViewPrivate::backForwardListDidChange):
(QQuickWebViewPrivate::loadDidFail):
(QQuickWebViewPrivate::processDidCrash):
(QQuickWebView::loadProgress):

  • UIProcess/API/qt/qquickwebview_p_p.h:

(WebKit):
(QQuickWebViewPrivate):
(QQuickWebViewPrivate::didChangeViewportProperties):
(QQuickWebViewPrivate::loadProgress):
(QQuickWebViewFlickablePrivate):

  • UIProcess/qt/QtWebError.cpp:

(WebKit::QtWebError::isCancellation):
(WebKit):

  • UIProcess/qt/QtWebError.h:
  • UIProcess/qt/QtWebPageLoadClient.cpp:

(WebKit::QtWebPageLoadClient::QtWebPageLoadClient):
(WebKit):
(WebKit::QtWebPageLoadClient::didStartProvisionalLoad):
(WebKit::QtWebPageLoadClient::didCommitLoad):
(WebKit::QtWebPageLoadClient::didSameDocumentNavigation):
(WebKit::QtWebPageLoadClient::didReceiveTitle):
(WebKit::QtWebPageLoadClient::didChangeProgress):
(WebKit::QtWebPageLoadClient::didChangeBackForwardList):
(WebKit::QtWebPageLoadClient::dispatchLoadFailed):
(WebKit::QtWebPageLoadClient::didFailProvisionalLoadWithErrorForFrame):
(WebKit::QtWebPageLoadClient::didFailLoadWithErrorForFrame):
(WebKit::QtWebPageLoadClient::didStartProgress):
(WebKit::QtWebPageLoadClient::didFinishProgress):

  • UIProcess/qt/QtWebPageLoadClient.h:

(WebKit):
(QtWebPageLoadClient):

4:38 AM Changeset in webkit [116515] by Csaba Osztrogonác
  • 1 edit
    56 adds in trunk/LayoutTests

[Qt] Unreviewed gardening, add platform specific expected files for new tests.

  • platform/qt/css2.1/20110323/first-letter-000-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-000-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-001-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-001-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-dynamic-001-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-dynamic-001-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-dynamic-002-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-dynamic-002-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-dynamic-003a-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-dynamic-003a-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-dynamic-003b-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-dynamic-003b-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-inherit-001-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-inherit-001-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-nested-001-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-nested-001-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-nested-002-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-nested-002-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-nested-003-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-nested-003-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-nested-004-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-nested-004-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-nested-005-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-nested-005-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-nested-006-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-nested-006-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-nested-007-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-nested-007-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-quote-001-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-quote-001-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-quote-002-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-quote-002-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-quote-003-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-quote-003-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-quote-004-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-quote-004-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-quote-005-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-quote-005-expected.txt: Added.
  • platform/qt/css2.1/20110323/first-letter-quote-006-expected.png: Added.
  • platform/qt/css2.1/20110323/first-letter-quote-006-expected.txt: Added.
  • platform/qt/fast/block/float/avoiding-float-centered-expected.png: Added.
  • platform/qt/fast/block/float/avoiding-float-centered-expected.txt: Added.
  • platform/qt/fast/css/first-letter-nested-positioned-expected.png: Added.
  • platform/qt/fast/css/first-letter-nested-positioned-expected.txt: Added.
  • platform/qt/fast/css/first-letter-quotes-no-content-before-after-expected.png: Added.
  • platform/qt/fast/css/first-letter-quotes-no-content-before-after-expected.txt: Added.
  • platform/qt/fast/html/details-marker-style-expected.png: Added.
  • platform/qt/fast/html/details-marker-style-expected.txt: Added.
  • platform/qt/fast/images/png-suite/test-expected.txt: Added.
  • platform/qt/fast/text/international/text-spliced-font-expected.png: Added.
  • platform/qt/fast/text/international/text-spliced-font-expected.txt: Added.
  • platform/qt/svg/as-image/image-respects-pageScaleFactor-expected.png: Added.
  • platform/qt/svg/as-image/image-respects-pageScaleFactor-expected.txt: Added.
  • platform/qt/svg/custom/path-zero-strokewidth-expected.png: Added.
  • platform/qt/svg/custom/path-zero-strokewidth-expected.txt: Added.
4:13 AM Changeset in webkit [116514] by Csaba Osztrogonác
  • 1 edit
    1 add in trunk/LayoutTests

[Qt] Unreviewed gardening, add a platform specific expected file for a passing test.

  • platform/qt-5.0-wk2/fast/repaint/focus-ring-expected.txt: Added.
4:10 AM Changeset in webkit [116513] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

[Chromium][Forms] HTMLOptionsCollection doesn't have indexed properties on property enumeration
https://bugs.webkit.org/show_bug.cgi?id=85937

Patch by Yoshifumi Inoue <yosin@chromium.org> on 2012-05-09
Reviewed by Kentaro Hara.

Source/WebCore:

This patch adds numeric indices to properties in enumeration to HTMLOptionsCollection V8 binding
to changes Objects.keys in ECMAScript5 and for-in statement behavior for compatibility with
Firefox 12, IE9, Opera 11, and Safari 5.

Test: fast/forms/select/options-indexed-properties.html

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateImplementationIndexer): Set $hasEnumerator true for interface HTMLOptionsCollection

LayoutTests:

  • fast/forms/select/options-indexed-properties-expected.txt: Added.
  • fast/forms/select/options-indexed-properties.html: Added.
  • platform/chromium/inspector/console/console-format-collections-expected.txt: Changed for HTMLOptionCollection printed output
4:02 AM Changeset in webkit [116512] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] http/tests/loading/post-in-iframe-with-back-navigation.html fails
https://bugs.webkit.org/show_bug.cgi?id=85974

Unreviewed EFL gardening.

Move http/tests/loading/post-in-iframe-with-back-navigation.html to
test_expectations.txt. This test was added in r116473 but fails on all
the bots.

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-09

  • platform/efl/test_expectations.txt:
3:49 AM Changeset in webkit [116511] by tommyw@google.com
  • 6 edits
    2 adds in trunk/LayoutTests

MediaStream API: Adding a test for constructed from JS MediaStreams
https://bugs.webkit.org/show_bug.cgi?id=85883

Reviewed by Kent Tamura.

Also moved shouldNotThrow to js-test-pre, and removed it from all mediastream tests.

  • fast/js/resources/js-test-pre.js:

(shouldNotThrow):

  • fast/mediastream/MediaStreamConstructor-expected.txt: Added.
  • fast/mediastream/MediaStreamConstructor.html: Added.
  • fast/mediastream/peerconnection-argument-types-expected.txt:
  • fast/mediastream/peerconnection-iceoptions.html:
  • fast/mediastream/script-tests/argument-types.js:
  • fast/mediastream/script-tests/peerconnection-argument-types.js:
3:01 AM Changeset in webkit [116510] by tkent@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Test expectation update for media-stream tests
https://bugs.webkit.org/show_bug.cgi?id=85952

  • platform/chromium/test_expectations.txt:
2:37 AM Changeset in webkit [116509] by Csaba Osztrogonác
  • 2 edits
    1 delete in trunk/LayoutTests

[Qt] Gardening. Skip a failing test, remove an unnecessary platform specific expected file.
https://bugs.webkit.org/show_bug.cgi?id=85969

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-05-09
Reviewed by Csaba Osztrogonác.

  • platform/qt/Skipped:
  • platform/qt/fast/forms/form-collection-radio-node-list-expected.txt: Removed after r116491.
2:26 AM Changeset in webkit [116508] by shinyak@chromium.org
  • 11 edits
    7 adds in trunk

Position should be able to have ShadowRoot as a container.
https://bugs.webkit.org/show_bug.cgi?id=82021

Reviewed by Ryosuke Niwa.

Source/WebCore:

Since Position could not take a shadow root as a container node, pointing the direct children
of a shadow root was difficult.

This patch makes it enabled, and fixes a lot of crashes caused by that limitation.
Also, we confirm that ShadowRoot is not exposed to JavaScript layer.

Currently this change is only enabled if shadow dom flag is enabled, since we cannot
prove this change does not destroy the existing behavior. However, this change is really required
to fix other editing bugs in Shadow DOM. A bunch of patches and tests will be added to
fix other editing bugs and they will check this patch does not break editing.
We will also add a fuzzer to check the stability of editing in Shadow DOM later, and it will
also help to confirm the patch will not break the editing.

Tests: editing/shadow/doubleclick-on-meter-in-shadow-crash.html

editing/shadow/rightclick-on-meter-in-shadow-crash.html
editing/shadow/shadow-selection-not-exported.html

  • dom/Position.cpp:

(WebCore::Position::Position):
(WebCore::Position::containerNode):
(WebCore::Position::parentAnchoredEquivalent):
(WebCore::Position::previous):
(WebCore::Position::next):
(WebCore::Position::atStartOfTree):
(WebCore::Position::atEndOfTree):
(WebCore::Position::findParent):

  • dom/Position.h:

(WebCore):
(WebCore::positionInParentBeforeNode):
(WebCore::positionInParentAfterNode):

LayoutTests:

Skipped non-chromium port since SHADOW_DOM flag is not enabled in those platforms.
We will add bunch of tests for editing in Shadow DOM into editing/shadow later,
so I added the whole directory name to the skipped list.

  • editing/shadow/doubleclick-on-meter-in-shadow-crash-expected.txt: Added.
  • editing/shadow/doubleclick-on-meter-in-shadow-crash.html: Added.
  • editing/shadow/rightclick-on-meter-in-shadow-crash-expected.txt: Added.
  • editing/shadow/rightclick-on-meter-in-shadow-crash.html: Added.
  • editing/shadow/shadow-selection-not-exported-expected.txt: Added.
  • editing/shadow/shadow-selection-not-exported.html: Added.
  • platform/efl/Skipped:
  • platform/gtk/test_expectations.txt:
  • platform/mac/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
  • platform/wincairo/Skipped:
  • platform/wk2/Skipped:
2:07 AM Changeset in webkit [116507] by zoltan@webkit.org
  • 2 edits in trunk/Source/WebCore

[Qt] Build fix when using libpng version != 1.2
https://bugs.webkit.org/show_bug.cgi?id=85614

Reviewed by Eric Seidel.

Don't enforce the version of libpng when passing the option to the linker.

No new tests, no intended functionality change.

  • WebCore.pri:
2:04 AM Changeset in webkit [116506] by commit-queue@webkit.org
  • 8 edits in trunk

[EFL][DRT] LayoutTestController addUserScript implementation
https://bugs.webkit.org/show_bug.cgi?id=84718

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-09
Reviewed by Antonio Gomes.

Source/WebKit/efl:

Added helper functions for adding/clearing of user scripts.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::addUserScript):
(DumpRenderTreeSupportEfl::clearUserScripts):

  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

Added implementation of addUserScript() to LayoutTestController.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::resetDefaultsToConsistentValues): clear added user scripts

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:

(LayoutTestController::addUserScript): added implementation

LayoutTests:

Unskipped corresponding testcases.

  • platform/efl/Skipped:
1:42 AM Changeset in webkit [116505] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[Qt][WK2] Remove delayed loadDidSucceed() signaling and m_deferedUrlToLoad from QQuickWebViewPrivate
https://bugs.webkit.org/show_bug.cgi?id=85906

Patch by Zalan Bujtas <zbujtas@gmail.com> on 2012-05-09
Reviewed by Kenneth Rohde Christiansen.

Deferred loading activies were introduced to work around the delayed Flickable construction
at onComponentComplete(). QQuickWebView inherits from QQuickFlickable now,
so no need for the workaround anymore.

  • UIProcess/API/qt/qquickwebview.cpp:

(QQuickWebViewFlickablePrivate::QQuickWebViewFlickablePrivate):
(QQuickWebViewFlickablePrivate::onComponentComplete):
(QQuickWebView::setUrl):
(QQuickWebView::componentComplete):

  • UIProcess/API/qt/qquickwebview_p_p.h:

(QQuickWebViewPrivate::onComponentComplete):
(QQuickWebViewPrivate):
(QQuickWebViewFlickablePrivate):

1:34 AM Changeset in webkit [116504] by tkent@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Test expectation update.

  • platform/chromium/test_expectations.txt:

video-media-source-seek.html is also SLOW?

12:54 AM Changeset in webkit [116503] by tkent@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Disable WebViewTest.TextInputType because the test is incomplete.

  • tests/WebViewTest.cpp:
12:51 AM Changeset in webkit [116502] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] http/tests/loading/pdf-commit-load-callbacks.html is failing
https://bugs.webkit.org/show_bug.cgi?id=85957

Unreviewed gardening.

Move http/tests/loading/pdf-commit-load-callbacks.html to
test_expectations.txt while Bug 85956 is fixed.

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-09

  • platform/efl/test_expectations.txt:
12:46 AM Changeset in webkit [116501] by mitz@apple.com
  • 3 edits in trunk/Tools

Made build-webkit copy WebKitLibraries to the right location again after r116257

Reviewed by Mark Rowe.

  • Scripts/build-webkit: Pass the built product directory to copy-webkitlibraries-to-product-directory.
  • Scripts/copy-webkitlibraries-to-product-directory: Use the first argument, if present, as the

product directory.

12:42 AM Changeset in webkit [116500] by tkent@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Some of *.runMultiThread tests intermittently crash.
Mark them flaky.

  • tests/CCLayerTreeHostTest.cpp:
12:19 AM Changeset in webkit [116499] by commit-queue@webkit.org
  • 21 edits
    13 adds in trunk/Source

Source/WebCore: Add identifying methods for date/time input types.

This patch adds methods isDateField(), isDateTimeField(), isDateTimeLocalField(),
isMonthField(), isTimeField() and isWeekField() to InputType and the appropriate
HTMLInputElement classes, to allow date/time input types to be identified.

The new methods match the existing methods for types such as email, search and number.

https://bugs.webkit.org/show_bug.cgi?id=78746

Patch by Oli Lan <olilan@chromium.org> on 2012-05-09
Reviewed by Kent Tamura.

A new test WebViewTest.TextInputType has been added in WebKit/chromium/tests that calls
through to these methods via WebViewImpl.textInputType().

  • html/DateInputType.cpp:

(WebCore::DateInputType::isDateField):
(WebCore):

  • html/DateInputType.h:

(DateInputType):

  • html/DateTimeInputType.cpp:

(WebCore::DateTimeInputType::isDateTimeField):
(WebCore):

  • html/DateTimeInputType.h:

(DateTimeInputType):

  • html/DateTimeLocalInputType.cpp:

(WebCore::DateTimeLocalInputType::isDateTimeLocalField):
(WebCore):

  • html/DateTimeLocalInputType.h:

(DateTimeLocalInputType):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::isDateField):
(WebCore):
(WebCore::HTMLInputElement::isDateTimeField):
(WebCore::HTMLInputElement::isDateTimeLocalField):
(WebCore::HTMLInputElement::isMonthField):
(WebCore::HTMLInputElement::isTimeField):
(WebCore::HTMLInputElement::isWeekField):

  • html/HTMLInputElement.h:

(HTMLInputElement):

  • html/InputType.cpp:

(WebCore::InputType::isDateField):
(WebCore):
(WebCore::InputType::isDateTimeField):
(WebCore::InputType::isDateTimeLocalField):
(WebCore::InputType::isMonthField):
(WebCore::InputType::isTimeField):
(WebCore::InputType::isWeekField):

  • html/InputType.h:

(InputType):

  • html/MonthInputType.cpp:

(WebCore::MonthInputType::isMonthField):
(WebCore):

  • html/MonthInputType.h:

(MonthInputType):

  • html/TimeInputType.cpp:

(WebCore::TimeInputType::isTimeField):
(WebCore):

  • html/TimeInputType.h:

(TimeInputType):

  • html/WeekInputType.cpp:

(WebCore::WeekInputType::isWeekField):
(WebCore):

  • html/WeekInputType.h:

(WeekInputType):

Source/WebKit/chromium: Adds date/time input types to WebTextInputType, and adds support for these
to WebViewImpl.textInputType().

Adds a new test WebViewTest.TextInputType to test WebViewImpl.textInputType(),
including the new types.

https://bugs.webkit.org/show_bug.cgi?id=78746

Patch by Oli Lan <olilan@chromium.org> on 2012-05-09
Reviewed by Kent Tamura.

  • public/WebTextInputType.h:
  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::textInputType):

  • tests/WebViewTest.cpp:

(WebViewTest):
(WebKit::WebViewTest::testTextInputType):
(WebKit):
(WebKit::TEST_F):

  • tests/data/input_field_date.html: Added.
  • tests/data/input_field_datetime.html: Added.
  • tests/data/input_field_default.html: Added.
  • tests/data/input_field_email.html: Added.
  • tests/data/input_field_number.html: Added.
  • tests/data/input_field_search.html: Added.
  • tests/data/input_field_time.html: Added.
  • tests/data/input_field_week.html: Added.
12:17 AM Changeset in webkit [116498] by Nikolas Zimmermann
  • 8 edits
    4 adds in trunk

REGRESSION(r105057): Infinite loop inside SVGTextLayoutEngine::currentLogicalCharacterMetrics
https://bugs.webkit.org/show_bug.cgi?id=83405

Reviewed by Darin Adler.

Source/WebCore:

Dynamically adding tspans carrying position information in the x/y/dx/dy/rotate lists is broken.
To avoid mistakes like this in future, simplify the calling code in RenderSVGInlineText and centralize
the managment of all caches (text positioning element cache / metrics map / layout attributes) in
RenderSVGText. This avoids the hack in SVGRootInlineBox::computePerCharacterLayoutInformation() which
called textRoot->rebuildLayoutAttributes(), which was used to fix previous security issues with this code.
Instead correctly handle destruction of RenderSVGInlineText in RenderSVGText, keeping the m_layoutAttributes
synchronized with the current state of the render tree. Fixes highcharts problems.

Tests: svg/text/add-tspan-position-bug.html

svg/text/modify-tspan-position-bug.html

  • rendering/svg/RenderSVGInline.cpp:

(WebCore::RenderSVGInline::addChild):

  • rendering/svg/RenderSVGInlineText.cpp:

(WebCore::RenderSVGInlineText::willBeDestroyed):
(WebCore::RenderSVGInlineText::setTextInternal):
(WebCore::RenderSVGInlineText::styleDidChange):

  • rendering/svg/RenderSVGText.cpp:

(WebCore::recursiveUpdateMetrics):
(WebCore::RenderSVGText::subtreeChildAdded):
(WebCore::RenderSVGText::subtreeChildWillBeDestroyed):
(WebCore::recursiveCollectLayoutAttributes):
(WebCore::checkLayoutAttributesConsistency):
(WebCore::RenderSVGText::subtreeChildWasDestroyed):
(WebCore::RenderSVGText::subtreeStyleChanged):
(WebCore::RenderSVGText::subtreeTextChanged):
(WebCore::RenderSVGText::layout):
(WebCore::RenderSVGText::addChild):
(WebCore::RenderSVGText::rebuildAllLayoutAttributes):
(WebCore::RenderSVGText::rebuildLayoutAttributes):

  • rendering/svg/RenderSVGText.h:

(WebCore::RenderSVGText::layoutAttributes):

  • rendering/svg/SVGRootInlineBox.cpp:

(WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):

  • rendering/svg/SVGTextLayoutAttributesBuilder.cpp:

(WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributes):

LayoutTests:

Add two new testcases covering the problem.

  • svg/text/add-tspan-position-bug-expected.html: Added.
  • svg/text/add-tspan-position-bug.html: Added.
  • svg/text/modify-tspan-position-bug-expected.html: Added.
  • svg/text/modify-tspan-position-bug.html: Added.
12:07 AM SettingUpDevelopmentEnvironmentForN9 edited by zarvai@inf.u-szeged.hu
(diff)

May 8, 2012:

11:59 PM TraversingShadowDOMTree edited by hayato@chromium.org
(diff)
11:16 PM Changeset in webkit [116497] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

NavigatorRegisterProtocolHandler can call ChromeClient directly.
https://bugs.webkit.org/show_bug.cgi?id=85944

Patch by Dongwoo Im <dw.im@samsung.com> on 2012-05-08
Reviewed by Adam Barth.

Covered by fast/dom/register-protocol-handler.html

  • page/Chrome.cpp: Remove registerProtocolHandler function.
  • page/Chrome.h: Remove registerProtocolHandler prototype.

(Chrome):

  • page/NavigatorRegisterProtocolHandler.cpp: Call ChromeClient::registerProtocolHandler directly.

(WebCore::NavigatorRegisterProtocolHandler::registerProtocolHandler):

11:14 PM Changeset in webkit [116496] by mario@webkit.org
  • 2 edits in trunk/Source/WebCore

Coding style issues present in RenderFrameSet.cpp
https://bugs.webkit.org/show_bug.cgi?id=85955

Reviewed by Eric Seidel.

Just fixed those coding style issues.

  • rendering/RenderFrameSet.cpp:

(WebCore::RenderFrameSet::GridAxis::resize):
(WebCore::RenderFrameSet::layOutAxis):
(WebCore::RenderFrameSet::continueResizing):

10:52 PM Changeset in webkit [116495] by jochen@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

  • DEPS:
9:45 PM Changeset in webkit [116494] by barraclough@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

ROLLING OUT r114255

GC in the middle of JSObject::allocatePropertyStorage can cause badness
https://bugs.webkit.org/show_bug.cgi?id=83839

Reviewed by nobody.

This breaks the world, with COLLECT_ON_EVERY_ALLOCATION enabled.

  • JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
  • jit/JITStubs.cpp:

(JSC::DEFINE_STUB_FUNCTION):

  • runtime/JSObject.cpp:

(JSC::JSObject::allocatePropertyStorage):

  • runtime/JSObject.h:

(JSObject):
(JSC::JSObject::isUsingInlineStorage):
(JSC):
(JSC::JSObject::putDirectInternal):
(JSC::JSObject::putDirectWithoutTransition):
(JSC::JSObject::transitionTo):

  • runtime/Structure.cpp:

(JSC):

  • runtime/Structure.h:

(JSC::Structure::didTransition):

9:43 PM TraversingShadowDOMTree edited by hayato@chromium.org
(diff)
9:33 PM Changeset in webkit [116493] by jonlee@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix.

  • platform/mac/WebCoreSystemInterface.h:
9:20 PM Changeset in webkit [116492] by jonlee@apple.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed build fix.

  • WebProcess/WebPage/ca/win/LayerTreeHostCAWin.h:

(LayerTreeHostCAWin):

9:10 PM Changeset in webkit [116491] by tkent@chromium.org
  • 3 edits in trunk/LayoutTests

Unreviewed, a trivial test fix to remove a platform-dependency.
https://bugs.webkit.org/show_bug.cgi?id=81854

  • fast/forms/form-collection-radio-node-list-expected.txt:
  • fast/forms/form-collection-radio-node-list.html:

Remove form controls from the document before completing the test.

8:49 PM Changeset in webkit [116490] by tkent@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Test expectation update
Skip post-in-iframe-with-back-navigation.html because it might cause a
failure of the next test, preload-append-scan.php

  • platform/chromium/test_expectations.txt:
8:39 PM Changeset in webkit [116489] by tkent@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Update test expectations.

  • platform/chromium/test_expectations.txt:
8:35 PM Changeset in webkit [116488] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

[BlackBerry] Auth credentials set in private mode are reused in public mode.
https://bugs.webkit.org/show_bug.cgi?id=84697

Patch by Jason Liu <jason.liu@torchmobile.com.cn> on 2012-05-08
Reviewed by Rob Buis.

Add setPrivateMode function for CredentialStorage.

Source/WebCore:

Now, we only save credentials in memory and CredentialBackingStore isn't enabled.
When we set private mode from on to off, we clear all these temporary credentials.

We have to change Private Browsing to test, so have to write a manual test case.
Test: ManualTests/blackberry/http-auth-private-mode-changed.html

  • network/CredentialStorage.cpp:

(WebCore::CredentialStorage::setPrivateMode):
(WebCore):

  • platform/network/CredentialStorage.h:

(CredentialStorage):

Source/WebKit/blackberry:

We have to change Private Browsing to test, so have to write a manual test case.
Test: ManualTests/blackberry/http-auth-private-mode-changed.html

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::didChangeSettings):

8:23 PM Changeset in webkit [116487] by commit-queue@webkit.org
  • 20 edits
    5 adds in trunk

RadioNodeList support in HTMLFormElement::elements
https://bugs.webkit.org/show_bug.cgi?id=81854

Patch by Rakesh KN <rakesh.kn@motorola.com> on 2012-05-08
Reviewed by Ryosuke Niwa.

Source/WebCore:

Implement RadioNodeList support spec'ed at
http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#radionodelist

Test: fast/forms/form-collection-radio-node-list.html

  • CMakeLists.txt:

Added entries for new files.

  • DerivedSources.cpp: Ditto.
  • DerivedSources.make: Ditto.
  • DerivedSources.pri: Ditto.
  • GNUmakefile.list.am: Ditto.
  • Target.pri: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • bindings/js/JSHTMLCollectionCustom.cpp:

(WebCore::getNamedItems):
Modified to create RadioNodeList object when FormControlCollection has more than
one element of same name/id.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):
Added code to include Node.h and JSNode.h in JSRadioNodeElement.cpp.

  • bindings/v8/custom/V8HTMLCollectionCustom.cpp:

(WebCore::getNamedItems):
Modified to create RadioNodeList object when FormControlCollection has more than
one element of same name/id.

  • dom/Node.cpp:

(WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
Invalidate lists even for change in id, type, checked attributes.
(WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
Invalidate radioNodeList cache.
(WebCore::NodeListsNodeData::isEmpty):
Changes for radioNodeList.
(WebCore::Node::radioNodeList):
Creates if needed a RadioNodeList and adds it to the cache.
(WebCore::Node::removeCachedRadioNodeList):
Removes a cached radioNodeList.

  • dom/Node.h: Ditto
  • dom/NodeRareData.h:

(WebCore):
(NodeListsNodeData):
Added radioNodeList list.

  • html/CollectionType.h:

Added new FormControls type.

  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::shouldIncludeChildren):
(WebCore::HTMLCollection::isAcceptableElement):
Handle FormControls collection type.

  • html/HTMLFormCollection.cpp:

(WebCore::HTMLFormCollection::HTMLFormCollection):
Contruct collection of FormControls type.

  • html/RadioNodeList.cpp: Added.

(WebCore):
(WebCore::RadioNodeList::RadioNodeList):
(WebCore::RadioNodeList::~RadioNodeList):
(WebCore::toRadioButtonInputElement):
(WebCore::RadioNodeList::value):
(WebCore::RadioNodeList::setValue):
(WebCore::RadioNodeList::nodeMatches):

  • html/RadioNodeList.h: Added.

(WebCore):
(RadioNodeList):
(WebCore::RadioNodeList::create):
RadioNodeList implementation.

  • html/RadioNodeList.idl: Added.

Idl for generating RadioNodeList JS/V8 bindings.

LayoutTests:

  • fast/forms/form-collection-radio-node-list-expected.txt: Added.
  • fast/forms/form-collection-radio-node-list.html: Added.
8:20 PM Changeset in webkit [116486] by benjamin@webkit.org
  • 3 edits
    6 adds in trunk

[JSC] Regression: addEventListener() and removeEventListener() raise an exception on missing args
https://bugs.webkit.org/show_bug.cgi?id=85928

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-05-08
Reviewed by Geoffrey Garen.

Source/WebCore:

The functions addEventListener() and removeEventListener() raise an exception if there are missin arguments.
This behavior breaks existing content.

This patch change the code generator of JavaScript core to have an exception for addEventListener() and removeEventListener().
For those function, we do not raise an exception on missin argument.

This patch does not modify the V8 code generator because such exceptions are already in place there.

Tests: fast/dom/Window/window-legacy-event-listener.html

fast/dom/XMLHttpRequest-legacy-event-listener.html
fast/dom/node-legacy-event-listener.html

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

LayoutTests:

  • fast/dom/Window/window-legacy-event-listener-expected.txt: Added.
  • fast/dom/Window/window-legacy-event-listener.html: Added.
  • fast/dom/XMLHttpRequest-legacy-event-listener-expected.txt: Added.
  • fast/dom/XMLHttpRequest-legacy-event-listener.html: Added.
  • fast/dom/node-legacy-event-listener-expected.txt: Added.
  • fast/dom/node-legacy-event-listener.html: Added.
7:48 PM Changeset in webkit [116485] by crogers@google.com
  • 14 edits in trunk/Source/WebCore

AudioParam should directly be given context in create() method
https://bugs.webkit.org/show_bug.cgi?id=85905

Reviewed by James Robinson.

No new tests. This is a low-level re-factoring and is covered by existing tests.

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::AudioBufferSourceNode):

  • Modules/webaudio/AudioGain.h:

(WebCore::AudioGain::create):
(WebCore::AudioGain::AudioGain):

  • Modules/webaudio/AudioGainNode.cpp:

(WebCore::AudioGainNode::AudioGainNode):

  • Modules/webaudio/AudioPannerNode.cpp:

(WebCore::AudioPannerNode::AudioPannerNode):

  • Modules/webaudio/AudioParam.h:

(WebCore::AudioParam::create):
(AudioParam):
(WebCore::AudioParam::AudioParam):

  • Modules/webaudio/BiquadFilterNode.cpp:

(WebCore::BiquadFilterNode::BiquadFilterNode):

  • Modules/webaudio/BiquadProcessor.cpp:

(WebCore::BiquadProcessor::BiquadProcessor):

  • Modules/webaudio/BiquadProcessor.h:
  • Modules/webaudio/DelayNode.cpp:

(WebCore::DelayNode::DelayNode):

  • Modules/webaudio/DelayProcessor.cpp:

(WebCore::DelayProcessor::DelayProcessor):

  • Modules/webaudio/DelayProcessor.h:

(DelayProcessor):

  • Modules/webaudio/DynamicsCompressorNode.cpp:

(WebCore::DynamicsCompressorNode::DynamicsCompressorNode):

  • Modules/webaudio/Oscillator.cpp:

(WebCore::Oscillator::Oscillator):

7:44 PM Changeset in webkit [116484] by mhahnenberg@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Heap should not continually allocate new pages in steady state
https://bugs.webkit.org/show_bug.cgi?id=85936

Reviewed by Geoff Garen.

Currently, in steady state (i.e. a constant amount of live GC
memory with a constant rate of allocation) assuming we've just
finished a collection with X live blocks in CopiedSpace, we
increase our working set by X blocks in CopiedSpace with each
collection we perform. This is due to the fact that we allocate
until we run out of free blocks to use in the Heap before we
consider whether we should run a collection.

In the longer term, this issue will be mostly resolved by
implementing quick release for the CopiedSpace. In the shorter
term, we should change our policy to check whether we should
allocate before trying to use a free block from the Heap. We
can change our policy to something more appropriate once we
have implemented quick release.

This change should also have the convenient side effect of
reducing the variance in GC-heavy tests (e.g. v8-splay) due
to fact that we are doing less VM allocation during copying
collection. Overall, this patch is performance neutral across
the benchmarks we track.

  • heap/CopiedSpace.cpp:

(JSC::CopiedSpace::getFreshBlock): Shuffle the request from the BlockAllocator
around so that we only do it if the block request must succeed
i.e. after we've already checked whether we should do a collection.

  • heap/MarkedAllocator.cpp:

(JSC::MarkedAllocator::allocateSlowCase): Ditto.
(JSC::MarkedAllocator::allocateBlock): We no longer have a failure mode in this
function because by the time we've called it, we've already checked whether we
should run a collection so there's no point in returning null.

  • heap/MarkedAllocator.h: Removing old arguments from function declaration.

(MarkedAllocator):

7:37 PM Changeset in webkit [116483] by ojan@chromium.org
  • 5 edits in trunk/Tools

Show the chromium non-layout test bots in garden-o-matic
https://bugs.webkit.org/show_bug.cgi?id=85903

Reviewed by Eric Seidel.

This is just a single-line high-level overview of the chromium non-layout test bots.
This means that Chromium WebKit gardeners only need to keep garden-o-matic open in
order to do their job.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/garden-o-matic.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui_unittests.js:
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/styles/onebar.css:

(#chromium-gtests iframe):
(#chromium-gtests):
(#gtest-label):

7:34 PM Changeset in webkit [116482] by rakuco@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Gardening, unskip test after r116475.

  • platform/efl/test_expectations.txt:
7:26 PM Changeset in webkit [116481] by danakj@chromium.org
  • 8 edits in trunk/Source

[chromium] Show borders for partial-draw-culled quads to visualize culling behaviour
https://bugs.webkit.org/show_bug.cgi?id=85414

Reviewed by Adrienne Walker.

Source/WebCore:

The borders are brown, and are only shown when the quad's visible rect
is non-empty and is different from the quad's original rect.

Adds a flag to CCQuadCuller constructor, to enable showing debug borders
around what it leaves after culling (when it culls anything in a quad
at all).

  • platform/graphics/chromium/cc/CCDrawQuad.h:

(WebCore::CCDrawQuad::isDebugQuad):
(WebCore::CCDrawQuad::sharedQuadState):
(CCDrawQuad):

  • platform/graphics/chromium/cc/CCQuadCuller.cpp:

(WebCore):
(WebCore::CCQuadCuller::CCQuadCuller):
(WebCore::appendQuadInternal):
(WebCore::CCQuadCuller::append):
(WebCore::CCQuadCuller::appendSurface):
(WebCore::CCQuadCuller::appendReplica):

  • platform/graphics/chromium/cc/CCQuadCuller.h:

(CCQuadCuller):

  • platform/graphics/chromium/cc/CCRenderPass.cpp:

(WebCore::CCRenderPass::appendQuadsForLayer):
(WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):

Source/WebKit/chromium:

  • tests/CCQuadCullerTest.cpp:

(WebCore::appendQuads):

  • tests/MockCCQuadCuller.h:

(WebCore::MockCCQuadCuller::MockCCQuadCuller):

7:18 PM Changeset in webkit [116480] by jchaffraix@webkit.org
  • 4 edits in trunk/Source/WebCore

Move RenderLayers z-index lists dirtying to post style change
https://bugs.webkit.org/show_bug.cgi?id=85437

Reviewed by Darin Adler.

No expected change in behavior.

This change moves the z-order lists to RenderLayer::styleChanged. As part of this
change, also added proper handling of stacking context transition. This enabled
us to tighten more of the dirtyZOrderLists / clearZOrderLists code.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::styleWillChange):
Removed this code, moved to updateStackingContextsAfterStyleChange.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::RenderLayer):
Only stacking contexts start with dirty z-order lists.

(WebCore::RenderLayer::dirtyZOrderLists):
Added an ASSERT.

(WebCore::RenderLayer::updateStackingContextsAfterStyleChange):
Refactored the code to handle the transition between stacking context status.

(WebCore::RenderLayer::styleChanged):
Added a call to updateStackingContextsAfterStyleChange.

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::isStackingContext):
Added a call to the next function.

(WebCore::RenderLayer::layerWithStyleIsStackingContext):
Factored the isStackingContext logic here so that we can reuse it inside
updateStackingContextsAfterStyleChange.

(WebCore::RenderLayer::clearZOrderLists):
Added an ASSERT.

7:11 PM Changeset in webkit [116479] by tkent@chromium.org
  • 2 edits in trunk/Source/WebKit/mac

Fixe Chromium build, and add a FIXME comment about a layering violation.

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface):

7:03 PM Changeset in webkit [116478] by andersca@apple.com
  • 9 edits in trunk/Source/WebKit2

DrawingAreaProxyImpl doesn't work with window server hosting
https://bugs.webkit.org/show_bug.cgi?id=85947
<rdar://problem/11213718>

Reviewed by Andreas Kling.

  • UIProcess/DrawingAreaProxyImpl.cpp:

(WebKit::DrawingAreaProxyImpl::updateAcceleratedCompositingMode):
Update the layer tree context and call WebPage::updateAcceleratedCompositingMode.

  • WebProcess/WebPage/DrawingAreaImpl.cpp:

(WebKit::DrawingAreaImpl::setLayerHostingMode):
If setting the layer hosting mode changed the layer tree context, send back an UpdateAcceleratedCompositingMode message
with the new context.

  • WebProcess/WebPage/ca/LayerTreeHostCA.cpp:

(WebKit::LayerTreeHostCA::initialize):
platformInitialize no longer takes a context.

  • WebProcess/WebPage/ca/LayerTreeHostCA.h:

(LayerTreeHostCA):
Make m_layerTreeContext protected instead.

  • WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
  • WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:

(WebKit::LayerTreeHostCAMac::platformInitialize):
Assign to m_layerTreeContext directly.

(WebKit::LayerTreeHostCAMac::setLayerHostingMode):
Set m_layerTreeContext.contextID.

  • WebProcess/WebPage/ca/win/LayerTreeHostCAWin.cpp:

(WebKit::LayerTreeHostCAWin::platformInitialize):
Assign to m_layerTreeContext directly.

6:47 PM Changeset in webkit [116477] by ojan@chromium.org
  • 2 edits in trunk/LayoutTests

Suppress failing test while the fix is being worked out.

  • platform/chromium/test_expectations.txt:
6:45 PM Changeset in webkit [116476] by inferno@chromium.org
  • 11 edits
    2 adds in trunk

Crash due to owning renderer not removed from custom scrollbar.
https://bugs.webkit.org/show_bug.cgi?id=80610

Reviewed by Eric Seidel.

Source/WebCore:

Test: scrollbars/scrollbar-owning-renderer-crash.html

Changed RenderScrollbar to keep pointer to owning node, instead of the
renderer. Renderer can get destroyed without informing the scrollbar, causing
crashes later. Remove code from r94107 since it is not needed anymore and saves
times when RenderBox is getting destroyed.

  • page/FrameView.cpp:

(WebCore::FrameView::createScrollbar): pass renderer's node.

  • page/FrameView.h:
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::willBeDestroyed): no longer need this. came originally from r94107.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::createScrollbar): pass renderer's node.
(WebCore::RenderLayer::destroyScrollbar): no longer need to clear owning renderer.

  • rendering/RenderListBox.cpp:

(WebCore::RenderListBox::createScrollbar): pass renderer's node.

  • rendering/RenderMenuList.cpp:

(WebCore::RenderMenuList::createScrollbar): pass renderer's node.

  • rendering/RenderScrollbar.cpp:

(WebCore::RenderScrollbar::createCustomScrollbar): Store owner node instead of renderer.
(WebCore::RenderScrollbar::RenderScrollbar): Store owner node instead of renderer.
(WebCore::RenderScrollbar::owningRenderer): calculate owning renderer from owner node.

  • rendering/RenderScrollbar.h:

(RenderScrollbar):

  • rendering/RenderTextControlSingleLine.cpp:

(WebCore::RenderTextControlSingleLine::createScrollbar): pass renderer's node.

LayoutTests:

  • scrollbars/scrollbar-owning-renderer-crash-expected.txt: Added.
  • scrollbars/scrollbar-owning-renderer-crash.html: Added.
6:44 PM TraversingShadowDOMTree edited by hayato@chromium.org
(diff)
6:32 PM Changeset in webkit [116475] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk

[EFL][DRT] Implement TextInputController.
https://bugs.webkit.org/show_bug.cgi?id=78559

Patch by Kangil Han <kangil.han@samsung.com> on 2012-05-08
Reviewed by Martin Robinson.

TextInputController has been created for an input emulation purpose in DRT.
However, not like other ports, EFL doesn't have it.
Therefore, this patch will enable EFL port to have an input emulation in DRT.

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::setComposition):
(DumpRenderTreeSupportEfl::hasComposition):
(DumpRenderTreeSupportEfl::compositionRange):
(DumpRenderTreeSupportEfl::confirmComposition):
(DumpRenderTreeSupportEfl::firstRectForCharacterRange):
(DumpRenderTreeSupportEfl::selectedRange):

  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

  • DumpRenderTree/efl/CMakeLists.txt:
  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::onWindowObjectCleared):

  • DumpRenderTree/efl/TextInputController.cpp: Added.

(setMarkedTextCallback):
(hasMarkedTextCallback):
(markedRangeCallback):
(insertTextCallback):
(unmarkTextCallback):
(firstRectForCharacterRangeCallback):
(selectedRangeCallback):
(makeTextInputController):

  • DumpRenderTree/efl/TextInputController.h: Added.

LayoutTests:

  • platform/efl/Skipped:
6:05 PM TraversingShadowDOMTree created by hayato@chromium.org
5:58 PM Changeset in webkit [116474] by tony@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] force ENABLE_REGISTER_PROTOCOL_HANDLER=1 in features.gypi
https://bugs.webkit.org/show_bug.cgi?id=85924

Reviewed by Adam Barth.

This has been enabled for a few months on Chromium trunk so remove the
ability to turn it off via a gyp flag. This simplifies features.gypi.

  • features.gypi:
5:57 PM Changeset in webkit [116473] by jonlee@apple.com
  • 16 edits
    7 adds in trunk

Safari warns that it needs to resend the form in an iFrame when going back
https://bugs.webkit.org/show_bug.cgi?id=82658
<rdar://problem/11292558>

Reviewed by Darin Adler.

Source/WebCore:

Test: http/tests/loading/post-in-iframe-with-back-navigation.html

  • WebCore.exp.in: Add _wkCFURLRequestAllowAllPostCaching.
  • platform/mac/WebCoreSystemInterface.h: Add wkCFURLRequestAllowAllPostCaching.
  • platform/mac/WebCoreSystemInterface.mm: Add wkCFURLRequestAllowAllPostCaching.
  • platform/network/cf/ResourceRequestCFNet.cpp:

(WebCore::ResourceRequest::doUpdatePlatformRequest): Set the bit to cache all POST responses.

  • platform/network/mac/ResourceRequestMac.mm:

(WebCore::ResourceRequest::doUpdatePlatformRequest): Set the bit to cache all POST responses.

Source/WebKit/mac:

  • WebCoreSupport/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Add wkCFURLRequestAllowAllPostCaching.

Source/WebKit2:

  • WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:

(InitWebCoreSystemInterface): Add wkCFURLRequestAllowAllPostCaching.

WebKitLibraries:

  • WebKitSystemInterface.h:
  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceLion.a:
  • libWebKitSystemInterfaceSnowLeopard.a:

LayoutTests:

Add new test which navigates a series of pages in an iframe. Each navigation is a POST.
At the third page we click on a back link, and expect to see stale POST data.

  • http/tests/loading/post-in-iframe-with-back-navigation-expected.txt: Added.
  • http/tests/loading/post-in-iframe-with-back-navigation.html: Added.
  • http/tests/loading/resources/post-in-iframe-with-back-navigation-page-1.php: Added.
  • http/tests/loading/resources/post-in-iframe-with-back-navigation-page-2.php: Added.
  • http/tests/loading/resources/post-in-iframe-with-back-navigation-page-3.php: Added.
  • http/tests/resources/js-test-post.js: Added. Copied from fast/js/resources since it is

inaccessible to the test server.

  • http/tests/resources/js-test-pre.js: Added. Copied from fast/js/resources since it is

inaccessible to the test server.

5:54 PM Changeset in webkit [116472] by danakj@chromium.org
  • 8 edits in trunk/Source

[chromium] Reflections with masks should not occlude
https://bugs.webkit.org/show_bug.cgi?id=85927

Reviewed by James Robinson.

Source/WebCore:

When a surface does not have a mask, we make both it and its reflection
occlude the things below them. However, if the reflection has a mask
applied to it, then we should not consider it as occluding.

Adds replicaHasMask() to the render surface classes so we can test if
the mask is present.

Unit Tests: CCOcclusionTrackerTestReplicaWithMask

  • platform/graphics/chromium/RenderSurfaceChromium.cpp:

(WebCore::RenderSurfaceChromium::hasMask):
This is unusued right now, but will allow us to remove a FIXME from
CCOcclusionTracker::finishedTargetRenderSurface().
(WebCore):
(WebCore::RenderSurfaceChromium::replicaHasMask):

  • platform/graphics/chromium/RenderSurfaceChromium.h:

(RenderSurfaceChromium):

  • platform/graphics/chromium/cc/CCOcclusionTracker.cpp:

(WebCore::::leaveToTargetRenderSurface):

  • platform/graphics/chromium/cc/CCRenderSurface.cpp:

(WebCore::CCRenderSurface::hasMask):
This is unusued right now, but will allow us to remove a FIXME from
CCOcclusionTracker::finishedTargetRenderSurface().
(WebCore):
(WebCore::CCRenderSurface::replicaHasMask):

  • platform/graphics/chromium/cc/CCRenderSurface.h:

(CCRenderSurface):

Source/WebKit/chromium:

  • tests/CCOcclusionTrackerTest.cpp:

(WebKitTests::CCOcclusionTrackerTest::TearDown):
(WebKitTests::CCOcclusionTrackerTest::createMaskLayer):
(CCOcclusionTrackerTest):
(WebKitTests::CCOcclusionTrackerTest::setMask):
(CCOcclusionTrackerTestReplicaWithMask):
(WebKitTests::CCOcclusionTrackerTestReplicaWithMask::runMyTest):
(WebKitTests):

5:52 PM Changeset in webkit [116471] by eric@webkit.org
  • 7 edits in trunk

Add stylesheet inheritance support to IFRAME_SEAMLESS
https://bugs.webkit.org/show_bug.cgi?id=85914

Reviewed by Ojan Vafai.

Source/WebCore:

This work is already guarded by IFRAME_SEAMLESS, as
Document::shouldDisplaySeamlesslyWithParent always returns false
when IFRAME_SEAMLESS is off.

This makes the child document use all author stylesheets from all parent documents,
per the seamless spec:
http://www.whatwg.org/specs/web-apps/current-work/#attr-iframe-seamless

This support is slightly inefficient as every time a sheet is added
to a parent document, the child document must do a full style selector recalc.
Normally author sheet additions have a fast-path which avoids the full selector recalc,
but such is not possible in the seamless case as we're inserting the parents sheets
earlier in the child's cascade (instead of just appending them to the end of the list).

The test covers both the static inheritance as well as addition of a stylesheet
to the parent and testing that it caused a recalc of the child.

Covered by fast/frames/seamless/seamless-css-cascade.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::addStylesheetsFromSeamlessParents):
(WebCore):

  • css/StyleResolver.h:

(StyleResolver):

  • dom/Document.cpp:

(WebCore::Document::seamlessParentUpdatedStylesheets):
(WebCore):
(WebCore::Document::notifySeamlessChildDocumentsOfStylesheetUpdate):
(WebCore::Document::updateActiveStylesheets):

  • dom/Document.h:

(Document):

LayoutTests:

Update the results (for both static and dynamic inheritance)
now that this support is landed.

  • fast/frames/seamless/seamless-css-cascade-expected.txt:
5:42 PM Changeset in webkit [116470] by rakuco@webkit.org
  • 5 edits in trunk

[EFL] Pass a WTF::String directly from DRT to ewebkit when possible
https://bugs.webkit.org/show_bug.cgi?id=84634

Reviewed by Gustavo Noronha Silva.

Drop unnecessary const char* -> WTF::String conversions by
creating String objects directly in LayoutTestController out of
JSStringRef's and passing them to DumpRenderTreeSupportEfl.

Source/WebKit/efl:

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::setValueForUser):
(DumpRenderTreeSupportEfl::addUserStyleSheet):
(DumpRenderTreeSupportEfl::findString):

  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:

(LayoutTestController::queueLoad):
(LayoutTestController::setValueForUser):
(LayoutTestController::findString):
(LayoutTestController::addUserStyleSheet):

5:41 PM WikiStart edited by hayato@chromium.org
(diff)
5:40 PM WikiStart edited by hayato@chromium.org
(diff)
5:24 PM Changeset in webkit [116469] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Can't scroll PDF in subframe
https://bugs.webkit.org/show_bug.cgi?id=85932
<rdar://problem/11405527>

Reviewed by Sam Weinig.

  • WebProcess/Plugins/PDF/BuiltInPDFView.h:
  • WebProcess/Plugins/PDF/BuiltInPDFView.mm:

(WebKit::BuiltInPDFView::updateScrollbars):
Trigger a layout when scrollbars come and go so the non fast scrollable region gets recomputed.

(WebKit::BuiltInPDFView::scrollableAreaBoundingBox):
Implement this by calling out to the PluginView.

5:02 PM Changeset in webkit [116468] by rakuco@webkit.org
  • 4 edits in trunk

[CMake] FindGStreamer: Fix the build with static WebCore.
https://bugs.webkit.org/show_bug.cgi?id=85930

Reviewed by Daniel Bates.

.:

Building WebCore statically was failing because files in
WebCore/platform/gstreamer when ENABLE_VIDEO was set required
gstreamer-base, which was not being linked to after r116453.

Fix that by looking for gstreamer-base, requiring and linking
against it if GStreamer is used.

  • Source/cmake/FindGStreamer.cmake:

Source/WebCore:

No new tests, build fix.

Building WebCore statically was failing because files in
WebCore/platform/gstreamer when ENABLE_VIDEO was set required
gstreamer-base, which was not being linked to after r116453.

Fix that by looking for gstreamer-base, requiring and linking
against it if GStreamer is used.

  • PlatformEfl.cmake: Link to GSTREAMER_LIBRARIES and

GSTREAMER_BASE_LIBRARIES, and include GSTREAMER_INCLUDE_DIRS and
GSTREAMER_BASE_INCLUDE_DIRS.

4:55 PM Changeset in webkit [116467] by fpizlo@apple.com
  • 17 edits in branches/dfgopt/Source/JavaScriptCore

DFG should support op_get_argument_by_val and op_get_arguments_length
https://bugs.webkit.org/show_bug.cgi?id=85911

Reviewed by Oliver Hunt.

This adds a simple and relatively conservative implementation of op_get_argument_by_val
and op_get_arguments_length. We can optimize these later. For now it's great to have
the additional coverage.

This patch appears to be perf-neutral.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGAssemblyHelpers.h:

(JSC::DFG::AssemblyHelpers::addressFor):
(JSC::DFG::AssemblyHelpers::tagFor):
(JSC::DFG::AssemblyHelpers::payloadFor):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.h:

(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::hasHeapPrediction):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::callOperation):
(SpeculativeJIT):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_get_argument_by_val):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_get_argument_by_val):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
4:50 PM Changeset in webkit [116466] by jonlee@apple.com
  • 3 edits in trunk/Source/WebKit2

[WK2] Push wheel events if there are too many in queue
https://bugs.webkit.org/show_bug.cgi?id=85747
<rdar://problem/11390790>

Reviewed by Anders Carlsson.

It is possible that a whole bunch of messages added to the message queue, or a series
of long-running messages, cause unresponsiveness. The reason for this is that we have
a scroll event waiting for acknowledgment from the web process before it sends the next
event. And in the time between the user has scrolled, causing a large backlog of scroll
events to be held in the UI process.

We should push new scroll events if the queue accumulates too many of them.

  • UIProcess/WebPageProxy.h: The vector m_currentlyProcessedWheelEvents used to hold the

series of wheel events that were coalesced and sent as a single wheel event to the web
process. When the web process acknowledges this with didReceiveEvent, the UI process
cleared that vector, then tried to coalesce the next wheel event to send. Now we might have
multiple sets of coalesced wheel events that we are sending to the web process. To keep
track of these sets, m_currentlyProcessedWheelEvents now is a queue of Vectors.
(WebPageProxy):

  • UIProcess/WebPageProxy.cpp: Add new constant wheelEventQueueSizeThreshold representing

the threshold of scroll events to look for before we start pushing events.
(WebKit::canCoalesce): Move static function so that handleWheelEvent() has access. No changes.
(WebKit::coalesce): Move static function so that handleWheelEvent() has access. No changes.
(WebKit::coalescedWheelEvent): Move static function so that handleWheelEvent() has access. No changes.
(WebKit::WebPageProxy::handleWheelEvent): If we are currently waiting for acknowledgment
from the web process that a wheel event has been handled, we add it to the queue. We
check to see that the queue size is within our threshold before we return early. Otherwise
we will start pushing events in the queue. Refactor the rest of the function into
processNextQueuedWheelEvent() and sendWheelEvent(). If we are not currently waiting for
acknowledgment, nor have events in the queue, then we send the current wheel event.
(WebKit::WebPageProxy::processNextQueuedWheelEvent): Try to coalesce events based on the
wheel event at the head of the queue, and send that event to the web process.
(WebKit::WebPageProxy::sendWheelEvent): Refactored from handleWheelEvent().
(WebKit::WebPageProxy::didReceiveEvent): Instead of clearing m_currentlyProcessedWheelEvents,
which contained the set of one coalesced wheel event, we pull the head Vector, which
contains the same set of events. Refactor to use processNextQueuedWheelEvent().

4:24 PM Changeset in webkit [116465] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

JavaScriptAudioNode should not ASSERT if number of input channels is 0
https://bugs.webkit.org/show_bug.cgi?id=85818

Patch by Raymond Toy <Raymond Toy> on 2012-05-08
Reviewed by Eric Seidel.

Source/WebCore:

Test: webaudio/javascriptaudionode-zero-input-channels.html

  • Modules/webaudio/JavaScriptAudioNode.cpp:

(WebCore::JavaScriptAudioNode::process): Update buffersAreGood.
(WebCore::JavaScriptAudioNode::fireProcessEvent): Remove ASSERT.

LayoutTests:

  • webaudio/javascriptaudionode-zero-input-channels-expected.txt: Added.
  • webaudio/javascriptaudionode-zero-input-channels.html: Added.
4:21 PM Changeset in webkit [116464] by commit-queue@webkit.org
  • 4 edits
    1 add in trunk

[EFL][DRT] EventSender needs implementation of leapForward function
https://bugs.webkit.org/show_bug.cgi?id=83486

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2012-05-08
Reviewed by Eric Seidel.

Tools:

Implemented leapForward function in Efl's DRT. This function is required
to delay and queue event execution and simulate real user behavior.

  • DumpRenderTree/efl/EventSender.cpp:

(DelayedEvent):
(MouseEventInfo::MouseEventInfo):
(MouseEventInfo):
(sendClick):
(mouseDownCallback):
(mouseUpCallback):
(mouseMoveToCallback):
(leapForwardCallback):
(mouseScrollByCallback):
(feedOrQueueMouseEvent):
(feedMouseEvent):
(feedQueuedMouseEvents):

LayoutTests:

Unskipping few tests that were failing due to the missing leapForward function
Added EFL specific test result, since EFL doesnt support 2D wheel events

  • platform/efl/Skipped:
  • platform/efl/fast/events/platform-wheelevent-in-scrolling-div-expected.txt: Added.
4:01 PM Changeset in webkit [116463] by danakj@chromium.org
  • 4 edits in trunk/Source

Region reads past end of spans
https://bugs.webkit.org/show_bug.cgi?id=85909

Reviewed by Anders Carlsson.

Source/WebCore:

Region currently checks aSpan == aSpanEnd as the indicator that
we passed all the spans. When aSpan < aSpanEnd, it uses aSpan+1
to find the height of the span.

If aSpan == aSpanEnd - 1, then aSpan+1 == aSpanEnd. This does not
represent a valid span, since aSpanEnd is past the end of the
array, not the last element in the array. The loop should terminate
in this case.

Checking aSegment != aSegmentEnd is acceptable in the inner loop since
it increments by two each time (segments come in pairs, while spans
come in singles).

Test: RegionTest.ReadPastFullSpanVectorInIntersectsTest

  • platform/graphics/Region.cpp:

(WebCore::Region::Shape::compareShapes):

Source/WebKit/chromium:

  • tests/RegionTest.cpp:

(WebCore::TEST):
(WebCore):

4:01 PM Changeset in webkit [116462] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk/Source/WebKit

Source/WebKit: [BlackBerry] Implement a popup client for HTML controls
https://bugs.webkit.org/show_bug.cgi?id=85670

Patch by Crystal Zhang <haizhang@rim.com> on 2012-05-08
Reviewed by Rob Buis.

Add popup client file to build system.

  • PlatformBlackBerry.cmake:

Source/WebKit/blackberry: [BlackBerry] Implement a popup client for HTML controls

https://bugs.webkit.org/show_bug.cgi?id=85670

Reviewed by Rob Buis.

Implement a popup client for HTML controls, which would be used to load
different popups according to popup type.

  • WebCoreSupport/PagePopupBlackBerry.cpp: Added. (WebCore): (PagePopupChromeClient): (WebCore::PagePopupChromeClient::PagePopupChromeClient): (WebCore::PagePopupChromeClient::closeWindowSoon): (WebCore::PagePopupChromeClient::webPage): (WebCore::PagePopupBlackBerry::PagePopupBlackBerry): (WebCore::PagePopupBlackBerry::~PagePopupBlackBerry): (WebCore::PagePopupBlackBerry::sendCreatePopupWebViewRequest): (WebCore::PagePopupBlackBerry::init): (WebCore::setValueAndClosePopupCallback): (WebCore::popUpExtensionInitialize): (WebCore::popUpExtensionFinalize): (WebCore::PagePopupBlackBerry::installDomFunction): (WebCore::PagePopupBlackBerry::handleMouseEvent): (WebCore::PagePopupBlackBerry::closePopup): (WebCore::PagePopupBlackBerry::closeWebPage):
  • WebCoreSupport/PagePopupBlackBerry.h: Added. (WebKit): (WebCore): (PagePopupBlackBerry):

Patch by Crystal Zhang <haizhang@rim.com> on 2012-05-08

3:50 PM Changeset in webkit [116461] by ryuan.choi@samsung.com
  • 2 edits in trunk/Tools

[EFL][DRT] WebKit/DRT should not paint webview for the pixel tests.
https://bugs.webkit.org/show_bug.cgi?id=79853

Reviewed by Eric Seidel.

Screen buffer can be different from rendered results.
For example, WebKit/Efl just moves tiles for ewk_view_tiled when scrolling
contents.
It means that pixel tests can't check regression of ewk_view_tiled.

This patch changes a way to provide bitmap from painting webview to capturing
evas.

  • DumpRenderTree/efl/PixelDumpSupportEfl.cpp:

(createBitmapContextFromWebView):

3:45 PM Changeset in webkit [116460] by tony@chromium.org
  • 3 edits
    3 adds in trunk/Source/WebKit/chromium

move listener_leak_test to webkit_unit_tests
https://bugs.webkit.org/show_bug.cgi?id=85922

Reviewed by Ojan Vafai.

Porting the test from src/webkit/tools/test_shell/listener_leak_test.cc.
All I did was change the style and use the FrameTestHelper to load the file.

  • WebKit.gyp: Exclude file in components build.
  • WebKit.gypi: Add new file.
  • tests/ListenerLeakTest.cpp: Added.

(WebKit):
(WebKit::GetProperty):
(WebKit::GetNumObjects):
(ListenerLeakTest):
(WebKit::ListenerLeakTest::ListenerLeakTest):
(WebKit::ListenerLeakTest::RunTest):
(WebKit::TEST_F):

  • tests/data/listener/listener_leak1.html: Added.
  • tests/data/listener/listener_leak2.html: Added.
3:31 PM Changeset in webkit [116459] by oliver@apple.com
  • 1 edit
    22 adds in trunk/LayoutTests

Add mac results for new tests following http://trac.webkit.org/changeset/116438.

3:29 PM Changeset in webkit [116458] by pdr@google.com
  • 5 edits
    8 adds in trunk

Prevent crash in animated lists
https://bugs.webkit.org/show_bug.cgi?id=85382

Reviewed by Nikolas Zimmermann.

Source/WebCore:

Animated lists blindly assign the last list value to m_toAtEndOfDurationType
in SVGAnimationElement::startedActiveInterval. If the last list value's length
is larger or smaller than the animated "to" length, we crash.

This change prevents accessing values off the end of toAtEndOfDuration by adding
a check for this case. It may seem inefficient to perform this check on every
animation update but the "to" value can change (in cardinality) while animating.

I checked each of the other animation types (e.g., SVGAnimatedAngle,
SVGAnimatedBoolean, etc.) and was only able to hit this style of crash
in the three types modified in this change:
SVGAnimatedLengthList, SVGAnimatedNumberList, and SVGAnimatedPointList.

Tests: svg/animations/animate-linear-discrete-additive-b-expected.svg

svg/animations/animate-linear-discrete-additive-b.svg
svg/animations/animate-linear-discrete-additive-c-expected.svg
svg/animations/animate-linear-discrete-additive-c.svg
svg/animations/animate-linear-discrete-additive-expected.svg
svg/animations/animate-linear-discrete-additive.svg
svg/animations/animate-list-crash.svg

  • svg/SVGAnimatedLengthList.cpp:

(WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedNumberList.cpp:

(WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):

  • svg/SVGAnimatedPointList.cpp:

(WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):

LayoutTests:

  • svg/animations/animate-linear-discrete-additive-b-expected.svg: Added.
  • svg/animations/animate-linear-discrete-additive-b.svg: Added.
  • svg/animations/animate-linear-discrete-additive-c-expected.svg: Added.
  • svg/animations/animate-linear-discrete-additive-c.svg: Added.
  • svg/animations/animate-linear-discrete-additive-expected.svg: Added.
  • svg/animations/animate-linear-discrete-additive.svg: Added.
  • svg/animations/animate-list-crash-expected.txt: Added.
  • svg/animations/animate-list-crash.svg: Added.
3:04 PM Changeset in webkit [116457] by rafaelw@chromium.org
  • 3 edits in trunk/Source/WebCore

HTMLElementStack::hasOnlyHTMLElementsInScope is no longer called
https://bugs.webkit.org/show_bug.cgi?id=85908

Reviewed by Eric Seidel.

This patch just removes the dead code.

No tests needed. Cleanup only.

  • html/parser/HTMLElementStack.cpp:
  • html/parser/HTMLElementStack.h:

(HTMLElementStack):

2:57 PM Changeset in webkit [116456] by wjmaclean@chromium.org
  • 6 edits
    5 adds in trunk/Source

[chromium] Create LinkHighlightLayerChromium class to provide link-highlight preview animations for GraphicsLayerChromium.
https://bugs.webkit.org/show_bug.cgi?id=85084

Reviewed by James Robinson.

Source/WebCore:

Unit test provided.

Creates a layer delegate class to provide link highlight animations for link-preview feature.
These are added to a GraphicsLayerChromium via provided methods. Moves dispensing of animation
ids into a separate class.

  • WebCore.gypi:
  • platform/graphics/chromium/AnimationIdVendor.cpp: Added.

(WebCore):
(WebCore::AnimationIdVendor::getNextAnimationId):
(WebCore::AnimationIdVendor::getNextGroupId):

  • platform/graphics/chromium/AnimationIdVendor.h: Added.

(WebCore):
(AnimationIdVendor):

  • platform/graphics/chromium/GraphicsLayerChromium.cpp:

(WebCore::GraphicsLayerChromium::willBeDestroyed):
(WebCore::GraphicsLayerChromium::updateNames):
(WebCore::GraphicsLayerChromium::addAnimation):
(WebCore::GraphicsLayerChromium::addLinkHighlight):
(WebCore):
(WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
(WebCore::GraphicsLayerChromium::updateChildList):
(WebCore::GraphicsLayerChromium::mapAnimationNameToId):

  • platform/graphics/chromium/GraphicsLayerChromium.h:

(WebCore):
(GraphicsLayerChromium):

  • platform/graphics/chromium/LinkHighlight.cpp: Added.

(WebCore):
(WebCore::LinkHighlight::create):
(WebCore::LinkHighlight::LinkHighlight):
(WebCore::LinkHighlight::~LinkHighlight):
(WebCore::LinkHighlight::contentLayer):
(WebCore::LinkHighlight::paintContents):
(WebCore::LinkHighlight::notifyAnimationStarted):
(WebCore::LinkHighlight::notifyAnimationFinished):

  • platform/graphics/chromium/LinkHighlight.h: Added.

(WebCore):
(LinkHighlight):

Source/WebKit/chromium:

  • WebKit.gypi:
  • tests/LinkHighlightTest.cpp: Added.

(WebCore):
(MockGraphicsLayerClient):
(WebCore::MockGraphicsLayerClient::notifyAnimationStarted):
(WebCore::MockGraphicsLayerClient::notifySyncRequired):
(WebCore::MockGraphicsLayerClient::paintContents):
(WebCore::MockGraphicsLayerClient::showDebugBorders):
(WebCore::MockGraphicsLayerClient::showRepaintCounter):
(WebCore::TEST):

2:52 PM Changeset in webkit [116455] by barraclough@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

SIGFPE on divide in classic interpreter
https://bugs.webkit.org/show_bug.cgi?id=85917

Rubber stamped by Oliver Hunt.

  • interpreter/Interpreter.cpp:

(JSC::Interpreter::privateExecute):

  • check for divisor of -1.
2:22 PM Changeset in webkit [116454] by ojan@chromium.org
  • 1 edit
    20 copies
    44 moves
    74 adds in trunk/LayoutTests

Chromium rebaselines after http://trac.webkit.org/changeset/116438.

  • platform/chromium-linux/css2.1/20110323/first-letter-000-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-000-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-001-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-001-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-dynamic-001-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-001-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-dynamic-002-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-002-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-dynamic-003a-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003a-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-dynamic-003b-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003b-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-inherit-001-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-inherit-001-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-nested-001-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-001-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-nested-002-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-002-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-nested-003-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-003-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-nested-004-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-004-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-nested-005-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-005-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-nested-006-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-006-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-nested-007-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-007-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-quote-001-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-001-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-quote-002-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-002-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-quote-003-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-003-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-quote-004-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-004-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-quote-005-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-005-expected.png.
  • platform/chromium-linux/css2.1/20110323/first-letter-quote-006-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-006-expected.png.
  • platform/chromium-linux/fast/css/first-letter-nested-positioned-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/fast/css/first-letter-nested-positioned-expected.png.
  • platform/chromium-linux/fast/css/first-letter-quotes-no-content-before-after-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/fast/css/first-letter-quotes-no-content-before-after-expected.png.
  • platform/chromium-mac-leopard/css2.1/20110323/first-letter-000-expected.png: Added.
  • platform/chromium-mac-leopard/css2.1/20110323/first-letter-dynamic-001-expected.png: Added.
  • platform/chromium-mac-leopard/css2.1/20110323/first-letter-dynamic-002-expected.png: Added.
  • platform/chromium-mac-leopard/css2.1/20110323/first-letter-dynamic-003a-expected.png: Added.
  • platform/chromium-mac-leopard/css2.1/20110323/first-letter-dynamic-003b-expected.png: Added.
  • platform/chromium-mac-leopard/css2.1/20110323/first-letter-inherit-001-expected.png: Added.
  • platform/chromium-mac-leopard/css2.1/20110323/first-letter-quote-001-expected.png: Added.
  • platform/chromium-mac-leopard/css2.1/20110323/first-letter-quote-002-expected.png: Added.
  • platform/chromium-mac-leopard/css2.1/20110323/first-letter-quote-003-expected.png: Added.
  • platform/chromium-mac-leopard/css2.1/20110323/first-letter-quote-004-expected.png: Added.
  • platform/chromium-mac-leopard/css2.1/20110323/first-letter-quote-005-expected.png: Added.
  • platform/chromium-mac-leopard/css2.1/20110323/first-letter-quote-006-expected.png: Added.
  • platform/chromium-mac-leopard/fast/css/first-letter-nested-positioned-expected.png: Added.
  • platform/chromium-mac-leopard/fast/css/first-letter-quotes-no-content-before-after-expected.png: Added.
  • platform/chromium-mac-snowleopard/css2.1/20110323/first-letter-000-expected.png: Added.
  • platform/chromium-mac-snowleopard/css2.1/20110323/first-letter-dynamic-001-expected.png: Added.
  • platform/chromium-mac-snowleopard/css2.1/20110323/first-letter-dynamic-002-expected.png: Added.
  • platform/chromium-mac-snowleopard/css2.1/20110323/first-letter-dynamic-003a-expected.png: Added.
  • platform/chromium-mac-snowleopard/css2.1/20110323/first-letter-dynamic-003b-expected.png: Added.
  • platform/chromium-mac-snowleopard/css2.1/20110323/first-letter-inherit-001-expected.png: Added.
  • platform/chromium-mac-snowleopard/css2.1/20110323/first-letter-quote-001-expected.png: Added.
  • platform/chromium-mac-snowleopard/css2.1/20110323/first-letter-quote-002-expected.png: Added.
  • platform/chromium-mac-snowleopard/css2.1/20110323/first-letter-quote-003-expected.png: Added.
  • platform/chromium-mac-snowleopard/css2.1/20110323/first-letter-quote-004-expected.png: Added.
  • platform/chromium-mac-snowleopard/css2.1/20110323/first-letter-quote-005-expected.png: Added.
  • platform/chromium-mac-snowleopard/css2.1/20110323/first-letter-quote-006-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/css/first-letter-nested-positioned-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/css/first-letter-quotes-no-content-before-after-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-000-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-000-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-001-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-001-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-dynamic-001-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-dynamic-001-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-dynamic-002-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-dynamic-002-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-dynamic-003a-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-dynamic-003a-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-dynamic-003b-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-dynamic-003b-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-inherit-001-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-inherit-001-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-nested-001-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-nested-001-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-nested-002-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-nested-002-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-nested-003-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-nested-003-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-nested-004-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-nested-004-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-nested-005-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-nested-005-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-nested-006-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-nested-006-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-nested-007-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-nested-007-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-quote-001-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-quote-001-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-quote-002-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-quote-002-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-quote-003-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-quote-003-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-quote-004-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-quote-004-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-quote-005-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-quote-005-expected.txt: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-quote-006-expected.png: Added.
  • platform/chromium-mac/css2.1/20110323/first-letter-quote-006-expected.txt: Added.
  • platform/chromium-mac/fast/css/first-letter-nested-positioned-expected.png: Added.
  • platform/chromium-mac/fast/css/first-letter-nested-positioned-expected.txt: Added.
  • platform/chromium-mac/fast/css/first-letter-quotes-no-content-before-after-expected.png: Added.
  • platform/chromium-mac/fast/css/first-letter-quotes-no-content-before-after-expected.txt: Added.
  • platform/chromium-win/css2.1/20110323/first-letter-000-expected.png: Added.
  • platform/chromium-win/css2.1/20110323/first-letter-000-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-000-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-001-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003b-expected.png.
  • platform/chromium-win/css2.1/20110323/first-letter-001-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-001-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-dynamic-001-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003a-expected.png.
  • platform/chromium-win/css2.1/20110323/first-letter-dynamic-001-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-001-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-dynamic-002-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-001-expected.png.
  • platform/chromium-win/css2.1/20110323/first-letter-dynamic-002-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-002-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-dynamic-003a-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003a-expected.png.
  • platform/chromium-win/css2.1/20110323/first-letter-dynamic-003a-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003a-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-dynamic-003b-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003b-expected.png.
  • platform/chromium-win/css2.1/20110323/first-letter-dynamic-003b-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003b-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-inherit-001-expected.png: Added.
  • platform/chromium-win/css2.1/20110323/first-letter-inherit-001-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-inherit-001-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-nested-001-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003b-expected.png.
  • platform/chromium-win/css2.1/20110323/first-letter-nested-001-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-001-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-nested-002-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003b-expected.png.
  • platform/chromium-win/css2.1/20110323/first-letter-nested-002-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-002-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-nested-003-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003b-expected.png.
  • platform/chromium-win/css2.1/20110323/first-letter-nested-003-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-003-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-nested-004-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003b-expected.png.
  • platform/chromium-win/css2.1/20110323/first-letter-nested-004-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-004-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-nested-005-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003b-expected.png.
  • platform/chromium-win/css2.1/20110323/first-letter-nested-005-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-005-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-nested-006-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003b-expected.png.
  • platform/chromium-win/css2.1/20110323/first-letter-nested-006-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-006-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-nested-007-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003b-expected.png.
  • platform/chromium-win/css2.1/20110323/first-letter-nested-007-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-007-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-quote-001-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-001-expected.png.
  • platform/chromium-win/css2.1/20110323/first-letter-quote-001-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-001-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-quote-002-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-001-expected.png.
  • platform/chromium-win/css2.1/20110323/first-letter-quote-002-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-002-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-quote-003-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-001-expected.png.
  • platform/chromium-win/css2.1/20110323/first-letter-quote-003-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-003-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-quote-004-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-001-expected.png.
  • platform/chromium-win/css2.1/20110323/first-letter-quote-004-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-004-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-quote-005-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-001-expected.png.
  • platform/chromium-win/css2.1/20110323/first-letter-quote-005-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-005-expected.txt.
  • platform/chromium-win/css2.1/20110323/first-letter-quote-006-expected.png: Copied from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-001-expected.png.
  • platform/chromium-win/css2.1/20110323/first-letter-quote-006-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-006-expected.txt.
  • platform/chromium-win/fast/css/first-letter-nested-positioned-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-001-expected.png.
  • platform/chromium-win/fast/css/first-letter-nested-positioned-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/fast/css/first-letter-nested-positioned-expected.txt.
  • platform/chromium-win/fast/css/first-letter-quotes-no-content-before-after-expected.png: Renamed from LayoutTests/platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003b-expected.png.
  • platform/chromium-win/fast/css/first-letter-quotes-no-content-before-after-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/fast/css/first-letter-quotes-no-content-before-after-expected.txt.
1:32 PM Changeset in webkit [116453] by rakuco@webkit.org
  • 7 edits
    8 deletes in trunk

[CMake] Rewrite FindGStreamer.cmake.
https://bugs.webkit.org/show_bug.cgi?id=85857

Reviewed by Daniel Bates.

.:

We are currently kind of duplicating the same
FindGStreamer-Foo.cmake file whenever a new GStreamer plugin needs
to be found. Besides this approach not scaling very well, it
relies on pkg-config for version checking, uses the LibFindMacros
package that we should deprecate and all the find files could be
merged into one, with users using the COMPONENTS feature of the
FIND_PACKAGE() call to find the desired plugins.

FindGStreamer.cmake has then been rewritten to take all that into
account:

  • The LibFindMacros.cmake package is not used anymore.
  • Version check is performed in the CMake file itself by parsing

the gstversion.h header.

  • All GStreamer plugins are searched and the COMPONENTS keyword

used in the FIND_PACKAGE() call is used to check which plugins are
required.

  • The plugins-base and base GStreamer plugins are not searched, as

they were not used anywhere in the build system.

  • Source/cmake/FindGStreamer-App.cmake: Removed.
  • Source/cmake/FindGStreamer-Audio.cmake: Removed.
  • Source/cmake/FindGStreamer-Base.cmake: Removed.
  • Source/cmake/FindGStreamer-FFT.cmake: Removed.
  • Source/cmake/FindGStreamer-Interfaces.cmake: Removed.
  • Source/cmake/FindGStreamer-Pbutils.cmake: Removed.
  • Source/cmake/FindGStreamer-Plugins-Base.cmake: Removed.
  • Source/cmake/FindGStreamer-Video.cmake: Removed.
  • Source/cmake/FindGStreamer.cmake: Rewrite as described above.
  • Source/cmake/OptionsEfl.cmake: Use COMPONENTS to specify which

GStreamer plugins to look for.

Source/WebCore:

No new tests, build system change.

We are currently kind of duplicating the same
FindGStreamer-Foo.cmake file whenever a new GStreamer plugin needs
to be found. Besides this approach not scaling very well, it
relies on pkg-config for version checking, uses the LibFindMacros
package that we should deprecate and all the find files could be
merged into one, with users using the COMPONENTS feature of the
FIND_PACKAGE() call to find the desired plugins.

FindGStreamer.cmake has then been rewritten to take all that into
account:

  • The LibFindMacros.cmake package is not used anymore.
  • Version check is performed in the CMake file itself by parsing

the gstversion.h header.

  • All GStreamer plugins are searched and the COMPONENTS keyword

used in the FIND_PACKAGE() call is used to check which plugins are
required.

  • The plugins-base and base GStreamer plugins are not searched, as

they were not used anywhere in the build system.

  • PlatformEfl.cmake: Update GStreamer-related variable names.

Source/WebKit:

We are currently kind of duplicating the same
FindGStreamer-Foo.cmake file whenever a new GStreamer plugin needs
to be found. Besides this approach not scaling very well, it
relies on pkg-config for version checking, uses the LibFindMacros
package that we should deprecate and all the find files could be
merged into one, with users using the COMPONENTS feature of the
FIND_PACKAGE() call to find the desired plugins.

FindGStreamer.cmake has then been rewritten to take all that into
account:

  • The LibFindMacros.cmake package is not used anymore.
  • Version check is performed in the CMake file itself by parsing

the gstversion.h header.

  • All GStreamer plugins are searched and the COMPONENTS keyword

used in the FIND_PACKAGE() call is used to check which plugins are
required.

  • The plugins-base and base GStreamer plugins are not searched, as

they were not used anywhere in the build system.

  • PlatformEfl.cmake: Update GStreamer-related variable names.
1:24 PM Changeset in webkit [116452] by commit-queue@webkit.org
  • 5 edits in trunk

[EFL] Handling of numeric-pad keys in EFL's PlatformKeyboardEvent
https://bugs.webkit.org/show_bug.cgi?id=85479

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-08
Reviewed by Gustavo Noronha Silva.

Source/WebCore:

EFL's PlatformKeyboardEvent::isKeypad() now returns meaningful value.
Added numeric-pad keys to the Key Map and Windows Key Map.

No new tests.

  • platform/efl/EflKeyboardUtilities.cpp:

(WebCore::createKeyMap):
(WebCore::createWindowsKeyMap):

  • platform/efl/PlatformKeyboardEventEfl.cpp:

(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):

LayoutTests:

Unskipped fast/events/keydown-numpad-keys.html.

  • platform/efl/Skipped:
12:44 PM Changeset in webkit [116451] by Nikolas Zimmermann
  • 19 edits
    2 adds in trunk

Tie lifetime of SVGAnimateElement::m_animatedType to the duration of the animation
https://bugs.webkit.org/show_bug.cgi?id=85627

Reviewed by Antti Koivisto.

Source/WebCore:

Example:
<rect width="10" height="100">

<animate attributeName="width" from="10" to="100" begin="2s" dur="4s" fill="remove"/>

</rect>

At t=0s the <animate> element receives its first interval: begin=2s, end=6s.
At this point we've created the 'OwnPtr<SVGAnimatedType> m_animatedType' in
SVGAnimateElement, which holds the current animated value of the target type.
In this example it contains a SVGLength with '10' as value at t=0s.

Calling "rect.width.animVal.value" will return the value currently contained in the
m_animatedType from the SVGAnimateElement, even though the animation didn't begin
yet. This is fine, as the animVal equals to the baseVal, as long as no animation is
running.

At t=6s you'd expect that the whole 'animVal' object is destructed again, as it's no
longer needed, as animVal will be equal to baseVal again, but the current code keeps
the animVal alive, and just resets it to the baseVal. The animVals will be destructed
once the animate element leaves the tree.

CSS animations suffer from the same problem, we never remove the animated SMIL properties
but we only reset them to the base value. This makes integration with CSS Animations and
CSS Transitions harder, so this needs to be changed.

This patch starts tracking the start/end of an animation chain properly, to destruct
the animation effect for non-frozen animations at the end of their duration. This has to
work properly together with seeking (SVGSVGElement.setCurrentTime), as our testing relies
on the ability to drive the SMIL timeline from script.

Tests: svg/animations/list-wrapper-assertion-expected.svg

svg/animations/list-wrapper-assertion.svg

  • svg/SVGAnimateElement.cpp:

(WebCore::SVGAnimateElement::resetAnimatedType):
(WebCore::applyCSSPropertyToTarget):
(WebCore::removeCSSPropertyFromTarget):
(WebCore::applyCSSPropertyToTargetAndInstances):
(WebCore::removeCSSPropertyFromTargetAndInstances):
(WebCore::notifyTargetAboutAnimValChange):
(WebCore::notifyTargetAndInstancesAboutAnimValChange):
(WebCore::SVGAnimateElement::clearAnimatedType):
(WebCore::SVGAnimateElement::applyResultsToTarget):
(WebCore::SVGAnimateElement::targetElementWillChange):

  • svg/SVGAnimateElement.h:

(SVGAnimateElement):

  • svg/SVGAnimateMotionElement.cpp:

(WebCore::SVGAnimateMotionElement::resetAnimatedType):
(WebCore::SVGAnimateMotionElement::clearAnimatedType):

  • svg/SVGAnimateMotionElement.h:

(SVGAnimateMotionElement):

  • svg/SVGAnimationElement.cpp:
  • svg/SVGAnimationElement.h:
  • svg/animation/SMILTimeContainer.cpp:

(WebCore::SMILTimeContainer::updateAnimations):

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::reset):
(WebCore::SVGSMILElement::targetElementWillChange):
(WebCore::SVGSMILElement::determineActiveState):
(WebCore::SVGSMILElement::progress):

  • svg/animation/SVGSMILElement.h:

(SVGSMILElement):

  • svg/properties/SVGAnimatedListPropertyTearOff.h:

Remove svgAttributeChanged() calls from animationEnded/animValDidChange.
Callers are now required to notify the target about changes. There are cases
where we want to call animValDidChange without invoking svgAttributeChanged().
That is supported now.

(WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
(WebCore::SVGAnimatedListPropertyTearOff::animValDidChange):

  • svg/properties/SVGAnimatedProperty.h: Ditto.

(WebCore::SVGAnimatedProperty::commitChange): Add safety guard.

  • svg/properties/SVGAnimatedPropertyTearOff.h: Ditto.

(WebCore::SVGAnimatedPropertyTearOff::animationEnded):
(WebCore::SVGAnimatedPropertyTearOff::animValDidChange):

  • svg/properties/SVGAnimatedStaticPropertyTearOff.h: Ditto.

(WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
(WebCore::SVGAnimatedStaticPropertyTearOff::animValDidChange):

LayoutTests:

Update animate-target-id-changed.svg test to match Firefox behavior.
When an animation element with fill="freeze" is changed to a new target
eg, via animate.href = "#someOtherID", the animation effect should be removed.

Add tests for assertions I ran into while developing this patch.

  • platform/chromium/test_expectations.txt: Require new results for animate-target-id-changed-expected.txt.
  • platform/mac/svg/custom/animate-target-id-changed-expected.png:
  • svg/animations/list-wrapper-assertion-expected.svg: Added.
  • svg/animations/list-wrapper-assertion.svg: Added.
  • svg/custom/animate-target-id-changed-expected.txt:
  • svg/custom/animate-target-id-changed.svg:
12:36 PM Changeset in webkit [116450] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebCore

[EFL][DRT]Do not create ScrollbarEfl when mockScrollbar is enabled.
https://bugs.webkit.org/show_bug.cgi?id=81315

Reviewed by Chang Shu.

ScrollbarEfl creates custom scrollbars as separated layer and they are
not related to ScrollbarTheme.
So, DRT/Efl creates custom scrollbars on webview which paints mockScrollbar.

This patch prevents creating custom scrollbars when mockScrollbar is enabled.

Because DRT/Efl only renders the webview now, expected results are same
until Bug 79853 is landed.

  • platform/efl/ScrollbarEfl.cpp:

(Scrollbar::createNativeScrollbar):

12:33 PM Changeset in webkit [116449] by timothy@apple.com
  • 7 edits in trunk/Source

Fix the SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL macro so it passes the full path to dlopen.

dyld only considers libraries in the versioned framework path if their install name
matches the library that it is attempting to load. The path we were passing to
dlopen lacked the Versions/A component of the path so dyld did not recognize that
we wanted it to use the staged version if it is newer.

<rdar://problem/11406517>

Reviewed by Mark Rowe.

Source/WebCore:

  • platform/mac/SoftLinking.h: Have SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL take the

framework version as an argument and use it when constructing the path to dlopen.

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.mm: Pass A to SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL for the version.

Source/WebKit2:

  • UIProcess/mac/WebInspectorProxyMac.mm: Pass A to SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL for the version.
  • WebProcess/WebPage/mac/WebInspectorMac.mm: Ditto.
12:26 PM Changeset in webkit [116448] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

Unreviewed, rolling out r116440.
http://trac.webkit.org/changeset/116440
https://bugs.webkit.org/show_bug.cgi?id=85904

Broke the Chromium Android bot (Requested by beverloo on
#webkit).

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

  • WTF.gyp/WTF.gyp:
12:16 PM Changeset in webkit [116447] by rafael.lobo@openbossa.org
  • 2 edits in trunk/Source/WebCore

Build fix for Qt Snowleopard Release
https://bugs.webkit.org/show_bug.cgi?id=85895

Reviewed by Alexis Menard.

The enum value JSUint8ClampedArray conflicted with the JSUint8ClampedArray class.
I've added the 'Type' suffix to the enum value to make their names different.

No new tests needed.

  • bridge/qt/qt_runtime_qt4.cpp:

(JSC::Bindings::valueRealType):
(JSC::Bindings::convertValueToQVariant):

12:11 PM Changeset in webkit [116446] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk

offsetLeft broken within CSS3 columns
https://bugs.webkit.org/show_bug.cgi?id=34875

Patch by Shezan Baig <shezbaig.wk@gmail.com> on 2012-05-08
Reviewed by Julien Chaffraix.

Source/WebCore:

Reimplement offsetLeft and offsetTop in terms of a new method called
'offsetTopLeft'. The new method starts from a reference point (the
top-left coordinate of a box or inline) and adjusts this reference
point for columns as we traverse each parent. Note that the reference
point needs to be adjusted in both dimensions, even though offsetLeft
and offsetTop return only one of them.

A new method called 'offsetForColumns' was added to RenderObject. This
method is similar to adjustForColumns, except that it returns the
offset instead of modifying a reference. This method is necessary to
simplify the implementation of offsetTopLeft.

Tests: fast/block/positioning/offsetLeft-offsetTop-multicolumn-expected.txt

fast/block/positioning/offsetLeft-offsetTop-multicolumn.html

  • rendering/RenderBox.h:

(RenderBox):
Override offsetLeft and offsetTop.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::offsetLeft):
Implemented in terms of RenderBoxModelObject::offsetTopLeft, using
topLeftLocation as startPoint.
(WebCore::RenderBox::offsetTop):
Implemented in terms of RenderBoxModelObject::offsetTopLeft, using
topLeftLocation as startPoint.

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::offsetTopLeft):
New method to compute offsetLeft and offsetTop simultaneously, and
adjusting for columns at each parent.
(WebCore::RenderBoxModelObject::offsetLeft):
Reimplemented in terms of offsetTopLeft.
(WebCore::RenderBoxModelObject::offsetTop):
Reimplemented in terms of offsetTopLeft.

  • rendering/RenderBoxModelObject.h:

(RenderBoxModelObject):
Declare new offsetTopLeft method.

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::offsetLeft):
Reimplemented in terms of RenderBoxModelObject::offsetTopLeft.
(WebCore::RenderInline::offsetTop):
Reimplemented in terms of RenderBoxModelObject::offsetTopLeft.

  • rendering/RenderObject.h:

(RenderObject):
(WebCore::RenderObject::offsetForColumns):
New helper method to simplify implementation of offsetTopLeft.

LayoutTests:

Add test for offsetLeft and offsetTop within multi-columns.

  • fast/block/positioning/offsetLeft-offsetTop-multicolumn-expected.txt: Added.
  • fast/block/positioning/offsetLeft-offsetTop-multicolumn.html: Added.
12:09 PM Changeset in webkit [116445] by rakuco@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] media/video-play-require-user-gesture.html test is failing
https://bugs.webkit.org/show_bug.cgi?id=85900

Unreviewed gardening.

Move media/video-play-require-user-gesture.html to test_expectations.txt since
it requires Full Screen API support. Also move fullscreen tests from Skipped
list to test_expectations.txt

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-08

  • platform/efl/Skipped:
  • platform/efl/test_expectations.txt:
12:07 PM Changeset in webkit [116444] by rakuco@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Layout test fast/overflow/lots-of-sibling-inline-boxes.html is flaky in debug builds
https://bugs.webkit.org/show_bug.cgi?id=85896

Unreviewed gardening.

Marking test as slow, since it times-out when executed using debug builds under
heavy processor loads.

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2012-05-08

  • platform/efl/test_expectations.txt:
12:04 PM Changeset in webkit [116443] by rakuco@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Update Web Timing tests expectations
https://bugs.webkit.org/show_bug.cgi?id=85622

Unreviewed Gardening.

Removed http/tests/misc/webtiming-origins.html and
http/tests/misc/webtiming-ssl from test expectations.
They started to pass after r116160.

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-08

  • platform/efl/test_expectations.txt:
11:57 AM Changeset in webkit [116442] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] http/tests/security/cross-frame-access-* tests are failing
https://bugs.webkit.org/show_bug.cgi?id=85899

Unreviewed, move failing tests to test expectations.

http/tests/security/cross-frame-access-* tests are failing because EFL port
does not support showModalDialog. We need to move the test cases to test
expectations while the feature is implemented.

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-08

  • platform/efl/test_expectations.txt:
11:51 AM Changeset in webkit [116441] by jchaffraix@webkit.org
  • 1 edit
    2 copies in branches/chromium/1084

Merge 115458 - NULL-deref in RenderBox::clippedOverflowRectForRepaint
https://bugs.webkit.org/show_bug.cgi?id=84774

Reviewed by Tony Chang.

Source/WebCore:

Test: fast/inline/crash-new-continuation-with-outline.html

The bug comes from trying to repaint the :after content as part of updateBeforeAfterContent.
The repainting logic would query the yet-to-be-inserted continuation(). Then we would crash in
RenderBox::clippedOverflowRectForRepaint as we didn't have an enclosingLayer() (which any
RenderObject in the tree will have).

The fix is to check in RenderInline::clippedOverflowRectForRepaint that our continuation()
is properly inserted in the tree. We could check that it isRooted() but it's an overkill here.

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::clippedOverflowRectForRepaint):

LayoutTests:

  • fast/inline/crash-new-continuation-with-outline-expected.txt: Added.
  • fast/inline/crash-new-continuation-with-outline.html: Added.

TBR=jchaffraix@webkit.org
Review URL: https://chromiumcodereview.appspot.com/10375053

11:45 AM Changeset in webkit [116440] by abarth@webkit.org
  • 2 edits in trunk/Source/WTF

[Chromium] OS(ANDROID) ImageDiff requires us to build WTF for both host and target
https://bugs.webkit.org/show_bug.cgi?id=85897

Reviewed by Tony Chang.

  • WTF.gyp/WTF.gyp:
11:41 AM UsingGitWithWebKit edited by robert@roberthogan.net
(diff)
11:33 AM Changeset in webkit [116439] by rniwa@webkit.org
  • 3 edits in trunk

perf-o-matic fix attempt for dashboard images.

Rubber-stamped by Antti Koivisto.

Also stop generating images for 30, 90, and 365 days since they have been timing out.

  • Websites/webkit-perf.appspot.com/controller.py:

(schedule_runs_update):

  • Websites/webkit-perf.appspot.com/models.py:

(Runs.chart_params):

11:25 AM Changeset in webkit [116438] by robert@webkit.org
  • 5 edits
    67 adds in trunk

CSS 2.1 failure: first-letter-nested-004.htm fails
https://bugs.webkit.org/show_bug.cgi?id=72987

Reviewed by Eric Seidel.

Source/WebCore:

When styling first-letter check each sibling and drill into its inlines until we find either (i) a text node
that is not all whitespace, or (ii) a line break.

This makes our rendering of the following tests compatible with FF and Opera. Our current behaviour is also conformant
since the spec allows UAs to style just one element:

css2.1/20110323/first-letter-quote-002.htm
css2.1/20110323/first-letter-quote-003.htm
css2.1/20110323/first-letter-quote-004.htm
css2.1/20110323/first-letter-quote-005.htm

This fixes the following two tests. We now drill into the descendants of an element styled with :first-letter looking
for text to style:

css2.1/20110323/first-letter-nested-004.htm
css2.1/20110323/first-letter-nested-006.htm

This patch changes our rendering of first-letter-dynamic-001.htm as we now render adjacent quotes in the second line as
green. This is consistent with the spec, which allows this behaviour but does not require it. It's the 'right' behaviour
since it is consistent with the rendering of such quotes in a single element with :first-letter style.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::findLastObjectWithFirstLetterText): Iterate through the child's siblings looking for the last

object to be styled :first-letter.

(WebCore::RenderBlock::findLastObjectAfterFirstLetterPunctuation): Style any leading punctuation as first-letter, drill

down into the child's descendants looking for text if necessary.

(WebCore::RenderBlock::updateFirstLetter): Refactor to drill into sibling's children looking for inlines

that should be styled as first-letter.

(WebCore::RenderBlock::addFirstLetter): Split out from updateFirstLetter so that it can be used when a

descendant node inside a sibling is found in findLastObjectWithFirstLetterText() needs to be styled as first-letter.

  • rendering/RenderBlock.h:

LayoutTests:

  • css2.1/20110323/first-letter-000.htm: Added.
  • css2.1/20110323/first-letter-001.htm: Added.
  • css2.1/20110323/first-letter-dynamic-001.htm: Added.
  • css2.1/20110323/first-letter-dynamic-002.htm: Added.
  • css2.1/20110323/first-letter-dynamic-003a.htm: Added.
  • css2.1/20110323/first-letter-dynamic-003b.htm: Added.
  • css2.1/20110323/first-letter-inherit-001.htm: Added.
  • css2.1/20110323/first-letter-nested-001.htm: Added.
  • css2.1/20110323/first-letter-nested-002.htm: Added.
  • css2.1/20110323/first-letter-nested-003.htm: Added.
  • css2.1/20110323/first-letter-nested-004.htm: Added.
  • css2.1/20110323/first-letter-nested-005.htm: Added.
  • css2.1/20110323/first-letter-nested-006.htm: Added.
  • css2.1/20110323/first-letter-nested-007.htm: Added.
  • css2.1/20110323/first-letter-quote-001.htm: Added.
  • css2.1/20110323/first-letter-quote-002.htm: Added.
  • css2.1/20110323/first-letter-quote-003.htm: Added.
  • css2.1/20110323/first-letter-quote-004.htm: Added.
  • css2.1/20110323/first-letter-quote-005.htm: Added.
  • css2.1/20110323/first-letter-quote-006.htm: Added.
  • fast/css/first-letter-capitalized-edit-select-crash-expected.txt: Rebaselined.
  • fast/css/first-letter-nested-positioned.htm: Added.

Tests that text nested inside a positioned object is styled.

  • fast/css/first-letter-quotes-no-content-before-after.html: Added.

Tests that two consecutive quotes, each in a :before and :after pseudo element surrounding
an empty main element, get styled with first letter.

Behold! Pixel Results!

  • platform/chromium-linux-x86/css2.1/20110323/first-letter-000-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-000-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-001-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-001-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-001-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-001-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-002-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-002-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003a-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003a-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003b-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-dynamic-003b-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-inherit-001-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-inherit-001-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-001-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-001-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-002-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-002-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-003-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-003-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-004-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-004-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-005-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-005-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-006-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-006-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-007-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-nested-007-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-001-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-001-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-002-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-002-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-003-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-003-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-004-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-004-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-005-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-005-expected.txt: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-006-expected.png: Added.
  • platform/chromium-linux-x86/css2.1/20110323/first-letter-quote-006-expected.txt: Added.
  • platform/chromium-linux-x86/fast/css/first-letter-nested-positioned-expected.png: Added.
  • platform/chromium-linux-x86/fast/css/first-letter-nested-positioned-expected.txt: Added.
  • platform/chromium-linux-x86/fast/css/first-letter-quotes-no-content-before-after-expected.png: Added.
  • platform/chromium-linux-x86/fast/css/first-letter-quotes-no-content-before-after-expected.txt: Added.
11:09 AM Changeset in webkit [116437] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Unreviewed, rolling out r116402.
http://trac.webkit.org/changeset/116402
https://bugs.webkit.org/show_bug.cgi?id=85898

Caused a 3% regression on Chromium's bloat-http test on Linux
(Requested by ojan_gardening on #webkit).

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

  • WebCore.exp.in:
  • bindings/v8/RetainedDOMInfo.cpp:
  • dom/ContainerNode.h:
  • dom/Node.cpp:

(WebCore::Node::traverseNextNode):
(WebCore):
(WebCore::Node::traverseNextSibling):

  • dom/Node.h:

(Node):

10:58 AM Changeset in webkit [116436] by commit-queue@webkit.org
  • 3 edits in trunk

[CMake] Add ENABLE_IFRAME_SEAMLESS flag
https://bugs.webkit.org/show_bug.cgi?id=85838

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-08
Reviewed by Eric Seidel.

Add ENABLE_IFRAME_SEAMLESS flag to CMake and enable it by default.
This flag was introduced by r116356.

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:
10:51 AM Changeset in webkit [116435] by hbono@chromium.org
  • 3 edits
    4 adds in trunk

[Chromium] Fix the position of an RTL resizer
https://bugs.webkit.org/show_bug.cgi?id=80640

Reviewed by Tony Chang.

When rendering an RTL resizer, my r110073 renders it at the same position as the
one used for rendering a LTR resizer. Unfortunately, this code renders the RTL
resizer image at an incorrect position on Mac and Linux. This change uses the
correct formula to calculate the position of an RTL resizer.

Source/WebCore:

Test: platform/chromium/scrollbars/rtl-resizer-position.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::drawPlatformResizerImage):

LayoutTests:

  • platform/chromium/platform/chromium/scrollbars: Added.
  • platform/chromium/platform/chromium/scrollbars/rtl-resizer-position-expected.png: Added.
  • platform/chromium/platform/chromium/scrollbars/rtl-resizer-position-expected.txt: Added.
  • platform/chromium/scrollbars/rtl-resizer-position.html: Added.
10:14 AM Changeset in webkit [116434] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[GTK] Memory leak in DRT EventSender.cpp
https://bugs.webkit.org/show_bug.cgi?id=85886

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-08
Reviewed by Martin Robinson.

Fix a memory leak in gdkModifersFromJSValue() by using JSRetainPtr for
JSString created with JSStringCreateWithUTF8CString.

  • DumpRenderTree/gtk/EventSender.cpp:

(gdkModifersFromJSValue):

10:06 AM Changeset in webkit [116433] by tony@chromium.org
  • 3 edits
    2 adds in trunk/Source/WebKit/chromium

[chromium] move event_listener_unittest to webkit_unit_tests
https://bugs.webkit.org/show_bug.cgi?id=85836

Reviewed by James Robinson.

Porting the test from src/webkit/tools/test_shell/event_listener_unittest.cc.
All I did was change the style and use the FrameTestHelper to load the file.

  • WebKit.gyp: Exclude file in components build.
  • WebKit.gypi: Add new file.
  • tests/EventListenerTest.cpp: Added.

(WebKit):
(TestWebDOMEventListener):
(WebKit::TestWebDOMEventListener::TestWebDOMEventListener):
(WebKit::TestWebDOMEventListener::~TestWebDOMEventListener):
(WebKit::TestWebDOMEventListener::eventCount):
(WebKit::TestWebDOMEventListener::eventAt):
(WebKit::TestWebDOMEventListener::clearEvents):
(WebDOMEventListenerTest):
(WebKit::WebDOMEventListenerTest::WebDOMEventListenerTest):
(WebKit::WebDOMEventListenerTest::SetUp):
(WebKit::WebDOMEventListenerTest::TearDown):
(WebKit::WebDOMEventListenerTest::mainFrame):
(WebKit::WebDOMEventListenerTest::document):
(WebKit::WebDOMEventListenerTest::executeScript):
(WebKit::WebDOMEventListenerTest::GetNodeID):
(WebKit::TEST_F):

  • tests/data/listener/mutation_event_listener.html: Added.
10:01 AM Changeset in webkit [116432] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] glib dependency needs to be updated in jhbuild
https://bugs.webkit.org/show_bug.cgi?id=85878

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-08
Reviewed by Martin Robinson.

Bump glib version from 2.31.8 to 2.32.2 in jhbuild.modules. This
addresses flakiness in media tests due to possible deadlock with the
following output on stderr:
GStreamer-WARNING : wrong STREAM_LOCK count 0

The bug was fixed upstream by:
http://git.gnome.org/browse/glib/commit/?id=265f265c677bc5399dbb1cfa449cb4b915a6459f

  • efl/jhbuild.modules:
9:57 AM Changeset in webkit [116431] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt] Unreviewed gardening, skip failing tests.

  • platform/qt-5.0/Skipped:
9:27 AM Changeset in webkit [116430] by kling@webkit.org
  • 53 edits in trunk/Source/WebCore

Element: isURLAttribute() should take a const Attribute&.
<http://webkit.org/b/85890>

Reviewed by Anders Carlsson.

Change isURLAttribute(Attribute*) to isURLAttribute(const Attribute&) to enforce
the fact that the Attribute can't be null, and shouldn't be mutated, at compile-time.
Also sprinkle OVERRIDE while we're at it.

  • dom/Element.cpp:

(WebCore::Element::getURLAttribute):
(WebCore::Element::getNonEmptyURLAttribute):

  • dom/Element.h:

(WebCore::Element::isURLAttribute):

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
(WebCore::MarkupAccumulator::appendAttribute):

  • editing/markup.cpp:

(WebCore::completeURLs):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::isURLAttribute):

  • html/HTMLAnchorElement.h:
  • html/HTMLBaseElement.cpp:

(WebCore::HTMLBaseElement::isURLAttribute):

  • html/HTMLBaseElement.h:
  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::isURLAttribute):

  • html/HTMLBodyElement.h:
  • html/HTMLButtonElement.cpp:

(WebCore::HTMLButtonElement::isURLAttribute):

  • html/HTMLButtonElement.h:
  • html/HTMLElement.cpp:

(WebCore::HTMLElement::isURLAttribute):

  • html/HTMLElement.h:
  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::isURLAttribute):

  • html/HTMLEmbedElement.h:
  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::isURLAttribute):

  • html/HTMLFormElement.h:
  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::isURLAttribute):

  • html/HTMLFrameElementBase.h:

(HTMLFrameElementBase):

  • html/HTMLHtmlElement.cpp:

(WebCore::HTMLHtmlElement::isURLAttribute):

  • html/HTMLHtmlElement.h:
  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::isURLAttribute):

  • html/HTMLImageElement.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::isURLAttribute):

  • html/HTMLInputElement.h:
  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::isURLAttribute):

  • html/HTMLLinkElement.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::isURLAttribute):

  • html/HTMLMediaElement.h:
  • html/HTMLModElement.cpp:

(WebCore::HTMLModElement::isURLAttribute):

  • html/HTMLModElement.h:
  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::isURLAttribute):

  • html/HTMLObjectElement.h:
  • html/HTMLParamElement.cpp:

(WebCore::HTMLParamElement::isURLAttribute):

  • html/HTMLParamElement.h:
  • html/HTMLQuoteElement.cpp:

(WebCore::HTMLQuoteElement::isURLAttribute):

  • html/HTMLQuoteElement.h:
  • html/HTMLScriptElement.cpp:

(WebCore::HTMLScriptElement::isURLAttribute):

  • html/HTMLScriptElement.h:
  • html/HTMLSourceElement.cpp:

(WebCore::HTMLSourceElement::isURLAttribute):

  • html/HTMLSourceElement.h:
  • html/HTMLTableCellElement.cpp:

(WebCore::HTMLTableCellElement::isURLAttribute):

  • html/HTMLTableCellElement.h:
  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::isURLAttribute):

  • html/HTMLTableElement.h:
  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::isURLAttribute):

  • html/HTMLTrackElement.h:
  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::isURLAttribute):

  • html/HTMLVideoElement.h:
  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::isURLAttribute):

  • svg/SVGScriptElement.h:
9:21 AM Changeset in webkit [116429] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Over-scroll image should be tiled
https://bugs.webkit.org/show_bug.cgi?id=85860

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

Implement tiling for over-scroll image if image dimension don't match
the surface dimensions.

  • Api/BackingStore.cpp:

(WebKit):
(BlackBerry::WebKit::BackingStorePrivate::ensureOverScrollImage):
(BlackBerry::WebKit::BackingStorePrivate::paintDefaultBackground):

  • Api/BackingStore_p.h:

(BackingStorePrivate):

8:53 AM Changeset in webkit [116428] by Csaba Osztrogonác
  • 41 edits
    4 adds in trunk/LayoutTests

[Qt] Unreviewed gardening, unskip now passing tests, update platform specific expected files.

  • platform/mac/Skipped:
  • platform/qt/Skipped:
  • platform/qt/fast/block/float/016-expected.png:
  • platform/qt/fast/css/border-solid-single-edge-antialias-expected.txt: Added.
  • platform/qt/fast/dom/HTMLMeterElement/meter-boundary-values-expected.png:
  • platform/qt/fast/dom/HTMLMeterElement/meter-boundary-values-expected.txt:
  • platform/qt/fast/dom/HTMLMeterElement/meter-element-expected.png:
  • platform/qt/fast/dom/HTMLMeterElement/meter-element-expected.txt:
  • platform/qt/fast/dom/HTMLMeterElement/meter-optimums-expected.png:
  • platform/qt/fast/dom/HTMLMeterElement/meter-optimums-expected.txt:
  • platform/qt/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.png:
  • platform/qt/fast/dom/HTMLMeterElement/meter-styles-changing-pseudo-expected.txt:
  • platform/qt/fast/dom/HTMLMeterElement/meter-styles-expected.png:
  • platform/qt/fast/dom/HTMLMeterElement/meter-styles-expected.txt:
  • platform/qt/fast/js/constructor-length-expected.txt: Added.
  • platform/qt/fast/repaint/scale-page-shrink-expected.png: Added.
  • platform/qt/fast/repaint/scale-page-shrink-expected.txt: Added.
  • platform/qt/fast/table/027-expected.png:
  • platform/qt/fast/table/027-expected.txt:
  • platform/qt/fast/table/027-vertical-expected.png:
  • platform/qt/fast/table/027-vertical-expected.txt:
  • platform/qt/tables/mozilla/bugs/bug14929-expected.png:
  • platform/qt/tables/mozilla/bugs/bug14929-expected.txt:
  • platform/qt/tables/mozilla/bugs/bug2123-expected.png:
  • platform/qt/tables/mozilla/bugs/bug2123-expected.txt:
  • platform/qt/tables/mozilla/bugs/bug2509-expected.png:
  • platform/qt/tables/mozilla/bugs/bug2509-expected.txt:
  • platform/qt/tables/mozilla/bugs/bug27038-1-expected.png:
  • platform/qt/tables/mozilla/bugs/bug27038-1-expected.txt:
  • platform/qt/tables/mozilla/bugs/bug27038-2-expected.png:
  • platform/qt/tables/mozilla/bugs/bug27038-2-expected.txt:
  • platform/qt/tables/mozilla/bugs/bug2947-expected.png:
  • platform/qt/tables/mozilla/bugs/bug2947-expected.txt:
  • platform/qt/tables/mozilla/bugs/bug34176-expected.png:
  • platform/qt/tables/mozilla/bugs/bug34176-expected.txt:
  • platform/qt/tables/mozilla/bugs/bug44505-expected.png:
  • platform/qt/tables/mozilla/bugs/bug44505-expected.txt:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug59252-expected.png:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug59252-expected.txt:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug7243-expected.png:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug7243-expected.txt:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug85016-expected.png:
  • platform/qt/tables/mozilla_expected_failures/bugs/bug85016-expected.txt:
  • platform/qt/test_expectations.txt:
8:46 AM Changeset in webkit [116427] by schenney@chromium.org
  • 2 edits in trunk/Source/WebCore

Shrink ElementAttributeData by factoring out Attr object count.
https://bugs.webkit.org/show_bug.cgi?id=85825

Unreviewed build fix.

  • dom/ElementAttributeData.cpp:

(WebCore::attrListForElement): Was returning false instead of 0 for a pointer value. Now returns 0.

8:27 AM Changeset in webkit [116426] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][DRT] fast/layers/video-layer.html needs rebaseline after bug85602 landed
https://bugs.webkit.org/show_bug.cgi?id=85873

Unreviewed, EFL gardening.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-08

  • platform/efl/fast/layers/video-layer-expected.txt:
8:24 AM Changeset in webkit [116425] by kareng@chromium.org
  • 1 add in branches/chromium/1130/codereview.settings

adding codereview.settings for easy drovering

8:23 AM Changeset in webkit [116424] by kareng@chromium.org
  • 1 copy in branches/chromium/1130

creating chromium m20 branch

8:20 AM Changeset in webkit [116423] by kling@webkit.org
  • 3 edits in trunk/Source/WebCore

Element: Merge idAttributeChanged() into attributeChanged().
<http://webkit.org/b/85885>

Reviewed by Antti Koivisto.

No new tests, code churn only.

  • dom/Element.h:
  • dom/Element.cpp:

(WebCore::Element::attributeChanged): There's no need for this to be a standalone function anymore.

7:59 AM Changeset in webkit [116422] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[WK2] Integrate Page Visibility state change and WK2 Suspend/Resume API
https://bugs.webkit.org/show_bug.cgi?id=85650

Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2012-05-08
Reviewed by Kenneth Rohde Christiansen.

This patch uses state changes of the Page Visibility API to trigger the
automatic suspension/resume of animations on the WebPage and its main frame,
in the same fashion of what is used by the Suspend/Resume API of WebKit2.
By telling the WebPage it will move off/on the screen and the FrameView to
hide/show, this patch is suspending/resuming animations (animated painting)
but not timers and other active DOM objects.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::setVisibilityState):

7:42 AM Changeset in webkit [116421] by commit-queue@webkit.org
  • 2 edits
    7 adds in trunk/LayoutTests

[EFL] [DRT] Add baselines for the tests which are missing expected results
https://bugs.webkit.org/show_bug.cgi?id=85875

Unreviewed, add EFL baselines for the tests which are missing expected
results.

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-08

  • platform/efl/fast/css/first-line-text-decoration-expected.png: Added.
  • platform/efl/fast/css/first-line-text-decoration-expected.txt: Added.
  • platform/efl/fast/css/first-line-text-decoration-inherited-from-parent-expected.png: Added.
  • platform/efl/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt: Added.
  • platform/efl/fast/images/png-suite/test-expected.png: Added.
  • platform/efl/fast/images/png-suite/test-expected.txt: Added.
  • platform/efl/test_expectations.txt:
7:12 AM Changeset in webkit [116420] by kenneth@webkit.org
  • 3 edits
    1 add in trunk/Source/WebKit2

[Qt] Add QML/WK2 evaluateJavaScript experimental API
https://bugs.webkit.org/show_bug.cgi?id=85496

Reviewed by Simon Hausmann.

This is an initial patch adding support for strings,
numbers and bools as return values.

Test: qmltests/WebView/tst_evaluateJavaScript.qml

  • UIProcess/API/qt/qquickwebview.cpp:

(JSCallbackClosure):
(toQString):
(toQJSValue):
(buildQJSValue):
(javaScriptCallback):
(QQuickWebViewExperimental::evaluateJavaScript):
(QQuickWebView::runJavaScriptInMainFrame):

  • UIProcess/API/qt/qquickwebview_p.h:
  • UIProcess/API/qt/tests/qmltests/WebView/tst_evaluateJavaScript.qml: Added.
7:09 AM Changeset in webkit [116419] by kling@webkit.org
  • 4 edits in trunk/Source/WebCore

Shrink ElementAttributeData by factoring out Attr object count.
<http://webkit.org/b/85825>

Reviewed by Antti Koivisto.

Stop tracking the number of Attr objects that point to a given Element on the
Element itself and manage this by having a global hashmap of Element => AttrList,
where AttrList is a vector of (pointers to) the associated Attr objects.

This shrinks ElementAttributeData by one integer, effectively reducing memory
consumption by ~530kB when viewing the full HTML5 spec at <http://whatwg.org/c>.

  • dom/ElementAttributeData.h:

(ElementAttributeData):

Remove m_attrCount...

  • dom/Node.h:

(WebCore::Node::hasAttrList):
(WebCore::Node::setHasAttrList):
(WebCore::Node::clearHasAttrList):

...replacing it with a Node flag that tells us whether there's an Attr
object map for this Node (only applies to Elements.)

  • dom/ElementAttributeData.cpp:

(WebCore::attrListMap):
(WebCore::attrListForElement):
(WebCore::ensureAttrListForElement):
(WebCore::removeAttrListForElement):
(WebCore::ElementAttributeData::attrIfExists):
(WebCore::ElementAttributeData::ensureAttr):
(WebCore::ElementAttributeData::setAttr):
(WebCore::ElementAttributeData::removeAttr):
(WebCore::ElementAttributeData::detachAttributesFromElement):

Map Element => per-Element AttrList in a global hash.

7:02 AM Changeset in webkit [116418] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[Blackberry] remove m_isRequestedByPlugin in ResourceRequest
https://bugs.webkit.org/show_bug.cgi?id=84559

Patch by Chris Guan <chris.guan@torchmobile.com.cn> on 2012-05-08
Reviewed by Antonio Gomes.

Source/WebCore:

ResourceRequest is a network level abstraction, and it should
not know anything about web concepts such as plug-ins, and Blackberry
does not need m_isRequestedByPlugin any longer, So clean up all related
code.

Tested on a website of http://edition.cnn.com, a new window should be
opened only when user has a singe tap gesture on a plugin element.

  • platform/network/blackberry/ResourceRequest.h:

(WebCore::ResourceRequest::ResourceRequest):
(ResourceRequest):
(CrossThreadResourceRequestData):

  • platform/network/blackberry/ResourceRequestBlackBerry.cpp:

(WebCore::ResourceRequest::doPlatformCopyData):
(WebCore::ResourceRequest::doPlatformAdopt):

Source/WebKit/blackberry:

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDecidePolicyForNewWindowAction):

7:00 AM Changeset in webkit [116417] by alexis.menard@openbossa.org
  • 4 edits in trunk

[Qt] Unbreak debugging of WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=85839

Reviewed by Simon Hausmann.

Source/WebKit2:

When you attach GDB to a running process, it stops it.
http://trac.webkit.org/changeset/115958 introduced a pause()
call to wait the debugger to be attached to then continue
the execution of the WebProcess. Unfortunately the pause()
function does not return unless a signal handler is called.
This patch introduce an event handler to exit from the paused
state when the debugger send the signal SIGCONT. The old code
works with older version of GDB (<7.0) but not with newer
versions where the behavior of pause() is correct.

  • qt/MainQt.cpp:

(sigcontHandler):
(main):

Tools:

When you attach GDB to a running process, it stops it.
http://trac.webkit.org/changeset/115958 introduced a pause()
call to wait the debugger to be attached to then continue
the execution of the WebProcess. Unfortunately the pause()
function does not return unless a signal handler is called.
This patch introduce an event handler to exit from the paused
state when the debugger send the signal SIGCONT. The old code
works with older version of GDB (<7.0) but not with newer
versions where the behavior of pause() is correct.

  • WebKitTestRunner/qt/main.cpp:

(sigcontHandler):
(main):

6:57 AM Changeset in webkit [116416] by commit-queue@webkit.org
  • 6 edits in trunk

[EFL][DRT] EFL's DRT does not fully support page visibility
https://bugs.webkit.org/show_bug.cgi?id=85032

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-08
Reviewed by Antonio Gomes.

Tools:

  • DumpRenderTree/LayoutTestController.cpp:

(resetPageVisibilityCallback): Fix incorrect argumentCount check.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::resetDefaultsToConsistentValues): Properly
reset page visibility setting between tests.

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:

(LayoutTestController::setPageVisibility): Add support for "preview"
visibility state.

LayoutTests:

Unskip remaining page visibility test cases now that the functionality
is fully implemented in EFL port.

  • platform/efl/Skipped:
6:39 AM Changeset in webkit [116415] by gavinp@chromium.org
  • 2 edits in trunk/Tools

[webkit-patch] Return meaningful results from single-result queries.
https://bugs.webkit.org/show_bug.cgi?id=85367

Reviewed by Dirk Pranke.

Sometimes a quicksearch returns a single result by just redirecting to the page for that single
bug. This patch hacks around that by noticing the redirect target is a single page, and constructing
a result list consisting of that one bug.

  • Scripts/webkitpy/common/net/bugzilla/bugzilla.py:

(BugzillaQueries._fetch_bugs_from_advanced_query):

6:37 AM Changeset in webkit [116414] by gavinp@chromium.org
  • 5 edits
    4 adds in trunk/Tools

[webkit-patch] Add new chrome-channels command to track down current chrome release channels for a committed bug.
https://bugs.webkit.org/show_bug.cgi?id=85368

Reviewed by Eric Seidel.

  • Scripts/webkitpy/common/config/urls.py:
  • Scripts/webkitpy/common/net/bugzilla/bugzilla_mock.py:

(MockBugzillaQueries.fetch_bugs_matching_quicksearch):

  • Scripts/webkitpy/common/net/omahaproxy.py: Added.

(OmahaProxy):
(OmahaProxy.init):
(OmahaProxy.set_url):
(OmahaProxy._json_url):
(OmahaProxy._get_json):
(OmahaProxy.get_revisions):

  • Scripts/webkitpy/common/net/omahaproxy_unittest.py: Added.

(MockOmahaProxy):
(MockOmahaProxy.init):
(OmahaProxyTest):
(OmahaProxyTest.test_get_revisions):

  • Scripts/webkitpy/tool/commands/init.py:
  • Scripts/webkitpy/tool/commands/bugsearch.py:

(BugSearch):

  • Scripts/webkitpy/tool/commands/chromechannels.py: Added.

(ChromeChannels):
(init):
(execute):

  • Scripts/webkitpy/tool/commands/chromechannels_unittest.py: Added.

(MockOmahaProxy):
(MockOmahaProxy.get_revisions):
(TestableChromeChannels):
(TestableChromeChannels.init):
(ChromeChannelsTest):
(ChromeChannelsTest.test_single_bug):
(ChromeChannelsTest.test_with_query):

6:32 AM Changeset in webkit [116413] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/efl

[EFL] Update documentation of ewk_frame_contents_alternate_set and ewk_view_zoom_range_set.
https://bugs.webkit.org/show_bug.cgi?id=84588

Patch by Krzysztof Czech <k.czech@samsung.com> on 2012-05-08
Reviewed by Eric Seidel.

In ewk_frame_contents_alternate_set, param unreachableUri is required, must not be 0.
In ewk_view_zoom_range_set, function returns EINA_FALSE only on failure,
not when zoom range is changed.

  • ewk/ewk_frame.h:
  • ewk/ewk_view.h:
6:29 AM Changeset in webkit [116412] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

Unreviewed. Fix GTK+ unit tests.

  • gtk/common.py:

(pkg_config_file_variable):

3:04 AM Changeset in webkit [116411] by Csaba Osztrogonác
  • 1 edit
    1 delete in trunk/LayoutTests

Unreviewed. Remove an accidentally committed file.

  • platform/qt/Skipped.orig: Removed.
2:55 AM Changeset in webkit [116410] by Carlos Garcia Campos
  • 3 edits
    1 copy in trunk/Tools

[GTK] Google tests that time out are leaked
https://bugs.webkit.org/show_bug.cgi?id=84973

Reviewed by Philippe Normand.

Move Tools/Scripts/run-gtk-tests to Tools/gtk/run-api-tests
leaving run-gtk-tests as simple wrapper that runs run-api-tests in
a jhbuild environment when jhbuild is available.

  • Scripts/run-gtk-tests: Run Tools/gtk/run-api-tests directly or

with jhbuild if present.

  • gtk/common.py:

(pkg_config_file_variable): Generic function to get a variable
from a pkg-config file.
(prefix_of_pkg_config_file): Use pkg_config_file_variable with 'prefix'.

  • gtk/run-api-tests: Copied from Tools/Scripts/run-gtk-tests.

(TestRunner.init): Use common.build_path() to get the programs path.
(TestRunner._lookup_atspi2_binary): Use
common.pkg_config_file_variable() to get the 'exec_prefix'.
(TestRunner._start_accessibility_daemons): Use subprocess.Popen()
directly instead of helper _create_process that has been removed.
(TestRunner._setup_testing_environment): Use subprocess.Popen()
directly instead of helper _create_process that has been
removed. Use common.top_level_path() and common.build_path()
instead of custom methods that have been removed too.
(TestRunner._run_test_command): Use subprocess.Popen() directly
instead of helper _create_process that has been removed.

2:50 AM Changeset in webkit [116409] by Csaba Osztrogonác
  • 49 edits
    4 copies
    115 adds in trunk/LayoutTests

[Qt] Unskip now passing tests and update platform specific expected files.

Patch by János Badics <János Badics> on 2012-05-08
Reviewed by Csaba Osztrogonác.

  • platform/qt/Skipped:
  • platform/qt/Skipped.orig: Copied from LayoutTests/platform/qt/Skipped.
  • platform/qt/editing/pasteboard/paste-text-014-expected.png: Added.
  • platform/qt/fast/block/float/editable-text-overlapping-float-expected.png: Added.
  • platform/qt/fast/block/float/editable-text-overlapping-float-expected.txt:
  • platform/qt/fast/block/float/multiple-float-positioning-expected.png: Added.
  • platform/qt/fast/block/float/multiple-float-positioning-expected.txt:
  • platform/qt/fast/block/margin-collapse/103-expected.png: Added.
  • platform/qt/fast/block/margin-collapse/103-expected.txt: Added.
  • platform/qt/fast/block/positioning/absolute-in-inline-ltr-2-expected.png: Added.
  • platform/qt/fast/block/positioning/absolute-in-inline-ltr-2-expected.txt:
  • platform/qt/fast/block/positioning/absolute-in-inline-rtl-2-expected.png: Added.
  • platform/qt/fast/block/positioning/absolute-in-inline-rtl-2-expected.txt:
  • platform/qt/fast/block/positioning/absolute-in-inline-rtl-3-expected.png: Added.
  • platform/qt/fast/block/positioning/absolute-in-inline-rtl-3-expected.txt:
  • platform/qt/fast/block/positioning/auto/006-expected.png: Added.
  • platform/qt/fast/block/positioning/auto/006-expected.txt:
  • platform/qt/fast/css/apple-prefix-expected.png: Added.
  • platform/qt/fast/css/apple-prefix-expected.txt:
  • platform/qt/fast/css/color-correction-backgrounds-and-text-expected.png: Added.
  • platform/qt/fast/css/color-correction-backgrounds-and-text-expected.txt: Added.
  • platform/qt/fast/css/ex-after-font-variant-expected.png: Added.
  • platform/qt/fast/css/ex-after-font-variant-expected.txt:
  • platform/qt/fast/css/percentage-non-integer-expected.png: Copied from LayoutTests/platform/qt/fast/repaint/selection-clear-expected.png.
  • platform/qt/fast/css/percentage-non-integer-expected.txt:
  • platform/qt/fast/css/positioned-overflow-scroll-expected.png: Copied from LayoutTests/platform/qt/fast/repaint/selection-clear-expected.png.
  • platform/qt/fast/css/positioned-overflow-scroll-expected.txt: Added.
  • platform/qt/fast/dom/HTMLImageElement/image-alt-text-expected.png: Added.
  • platform/qt/fast/dom/HTMLImageElement/image-alt-text-expected.txt:
  • platform/qt/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png: Added.
  • platform/qt/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
  • platform/qt/fast/dynamic/008-expected.png: Added.
  • platform/qt/fast/dynamic/008-expected.txt:
  • platform/qt/fast/forms/box-shadow-override-expected.png: Added.
  • platform/qt/fast/forms/box-shadow-override-expected.txt:
  • platform/qt/fast/forms/disabled-select-change-index-expected.png: Added.
  • platform/qt/fast/forms/disabled-select-change-index-expected.txt:
  • platform/qt/fast/forms/file/file-input-direction-expected.png: Added.
  • platform/qt/fast/forms/file/file-input-direction-expected.txt:
  • platform/qt/fast/forms/file/file-input-disabled-expected.png: Added.
  • platform/qt/fast/forms/file/file-input-disabled-expected.txt:
  • platform/qt/fast/forms/form-element-geometry-expected.png: Added.
  • platform/qt/fast/forms/form-element-geometry-expected.txt:
  • platform/qt/fast/forms/input-disabled-color-expected.png: Added.
  • platform/qt/fast/forms/input-disabled-color-expected.txt:
  • platform/qt/fast/forms/input-text-click-outside-expected.png: Added.
  • platform/qt/fast/forms/input-text-click-outside-expected.txt: Added.
  • platform/qt/fast/forms/input-text-scroll-left-on-blur-expected.png: Added.
  • platform/qt/fast/forms/input-text-scroll-left-on-blur-expected.txt: Added.
  • platform/qt/fast/forms/negativeLineHeight-expected.png: Added.
  • platform/qt/fast/forms/negativeLineHeight-expected.txt:
  • platform/qt/fast/forms/placeholder-pseudo-style-expected.png: Added.
  • platform/qt/fast/forms/placeholder-pseudo-style-expected.txt: Added.
  • platform/qt/fast/forms/range/slider-padding-expected.png: Added.
  • platform/qt/fast/forms/range/slider-padding-expected.txt: Added.
  • platform/qt/fast/forms/tabbing-input-iframe-expected.png: Added.
  • platform/qt/fast/forms/tabbing-input-iframe-expected.txt: Added.
  • platform/qt/fast/forms/textAreaLineHeight-expected.png: Added.
  • platform/qt/fast/forms/textAreaLineHeight-expected.txt: Added.
  • platform/qt/fast/forms/textarea-align-expected.png: Added.
  • platform/qt/fast/forms/textarea-align-expected.txt:
  • platform/qt/fast/forms/textarea-scrollbar-expected.png: Added.
  • platform/qt/fast/forms/textarea-scrollbar-expected.txt: Added.
  • platform/qt/fast/forms/textarea-scrolled-type-expected.png: Added.
  • platform/qt/fast/forms/textarea-scrolled-type-expected.txt: Added.
  • platform/qt/fast/forms/textarea-setinnerhtml-expected.png: Added.
  • platform/qt/fast/forms/textarea-setinnerhtml-expected.txt:
  • platform/qt/fast/inline/inline-borders-with-bidi-override-expected.png: Added.
  • platform/qt/fast/inline/inline-borders-with-bidi-override-expected.txt:
  • platform/qt/fast/invalid/016-expected.png: Added.
  • platform/qt/fast/invalid/016-expected.txt:
  • platform/qt/fast/invalid/missing-end-tag-expected.png: Added.
  • platform/qt/fast/invalid/missing-end-tag-expected.txt: Added.
  • platform/qt/fast/layers/scroll-rect-to-visible-expected.png: Added.
  • platform/qt/fast/layers/scroll-rect-to-visible-expected.txt:
  • platform/qt/fast/overflow/003-expected.png: Added.
  • platform/qt/fast/overflow/003-expected.txt:
  • platform/qt/fast/overflow/clip-rects-fixed-ancestor-expected.png: Added.
  • platform/qt/fast/overflow/clip-rects-fixed-ancestor-expected.txt: Added.
  • platform/qt/fast/overflow/image-selection-highlight-expected.png: Added.
  • platform/qt/fast/overflow/image-selection-highlight-expected.txt:
  • platform/qt/fast/overflow/overflow-rtl-expected.png: Added.
  • platform/qt/fast/overflow/overflow-rtl-expected.txt: Added.
  • platform/qt/fast/overflow/overflow-x-y-expected.png: Added.
  • platform/qt/fast/overflow/overflow-x-y-expected.txt: Added.
  • platform/qt/fast/overflow/scrollRevealButton-expected.png: Added.
  • platform/qt/fast/overflow/scrollRevealButton-expected.txt: Added.
  • platform/qt/fast/overflow/unreachable-overflow-rtl-bug-expected.png: Added.
  • platform/qt/fast/overflow/unreachable-overflow-rtl-bug-expected.txt:
  • platform/qt/fast/parser/entity-comment-in-textarea-expected.png: Added.
  • platform/qt/fast/parser/entity-comment-in-textarea-expected.txt: Added.
  • platform/qt/fast/parser/open-comment-in-textarea-expected.png: Added.
  • platform/qt/fast/parser/open-comment-in-textarea-expected.txt: Added.
  • platform/qt/fast/repaint/button-spurious-layout-hint-expected.png: Copied from LayoutTests/platform/qt/fast/repaint/selection-clear-expected.png.
  • platform/qt/fast/repaint/button-spurious-layout-hint-expected.txt: Added.
  • platform/qt/fast/repaint/control-clip-expected.png: Added.
  • platform/qt/fast/repaint/control-clip-expected.txt:
  • platform/qt/fast/repaint/flexible-box-overflow-expected.png: Added.
  • platform/qt/fast/repaint/flexible-box-overflow-expected.txt: Added.
  • platform/qt/fast/repaint/flexible-box-overflow-horizontal-expected.png: Added.
  • platform/qt/fast/repaint/flexible-box-overflow-horizontal-expected.txt: Added.
  • platform/qt/fast/repaint/focus-ring-expected.png: Added.
  • platform/qt/fast/repaint/focus-ring-expected.txt: Added.
  • platform/qt/fast/repaint/inline-block-overflow-expected.png: Added.
  • platform/qt/fast/repaint/inline-block-overflow-expected.txt: Added.
  • platform/qt/fast/repaint/inline-outline-repaint-expected.png: Added.
  • platform/qt/fast/repaint/inline-outline-repaint-expected.txt:
  • platform/qt/fast/repaint/layer-child-outline-expected.png: Added.
  • platform/qt/fast/repaint/layer-child-outline-expected.txt: Added.
  • platform/qt/fast/repaint/layer-outline-expected.png: Added.
  • platform/qt/fast/repaint/layer-outline-expected.txt: Added.
  • platform/qt/fast/repaint/layer-outline-horizontal-expected.png: Added.
  • platform/qt/fast/repaint/layer-outline-horizontal-expected.txt: Added.
  • platform/qt/fast/repaint/list-marker-expected.png: Added.
  • platform/qt/fast/repaint/list-marker-expected.txt: Added.
  • platform/qt/fast/repaint/selection-after-delete-expected.png: Added.
  • platform/qt/fast/repaint/selection-after-delete-expected.txt:
  • platform/qt/fast/repaint/selection-after-remove-expected.png: Added.
  • platform/qt/fast/repaint/selection-after-remove-expected.txt:
  • platform/qt/fast/repaint/selection-clear-expected.png:
  • platform/qt/fast/repaint/selection-clear-expected.txt:
  • platform/qt/fast/repaint/selection-gap-overflow-scroll-expected.png: Added.
  • platform/qt/fast/repaint/selection-gap-overflow-scroll-expected.txt: Added.
  • platform/qt/fast/repaint/text-selection-rect-in-overflow-2-expected.png: Added.
  • platform/qt/fast/repaint/text-selection-rect-in-overflow-2-expected.txt: Added.
  • platform/qt/fast/repaint/text-selection-rect-in-overflow-expected.png: Added.
  • platform/qt/fast/repaint/text-selection-rect-in-overflow-expected.txt: Added.
  • platform/qt/fast/repaint/text-shadow-expected.png: Added.
  • platform/qt/fast/repaint/text-shadow-expected.txt: Added.
  • platform/qt/fast/repaint/text-shadow-horizontal-expected.png: Added.
  • platform/qt/fast/repaint/text-shadow-horizontal-expected.txt: Added.
  • platform/qt/fast/replaced/border-radius-clip-expected.png: Added.
  • platform/qt/fast/replaced/border-radius-clip-expected.txt: Added.
  • platform/qt/fast/replaced/width100percent-textarea-expected.png: Added.
  • platform/qt/fast/replaced/width100percent-textarea-expected.txt: Added.
  • platform/qt/fast/table/003-expected.png: Added.
  • platform/qt/fast/table/003-expected.txt:
  • platform/qt/fast/table/cell-pref-width-invalidation-expected.png: Added.
  • platform/qt/fast/table/cell-pref-width-invalidation-expected.txt:
  • platform/qt/fast/text/atsui-small-caps-punctuation-size-expected.png: Added.
  • platform/qt/fast/text/atsui-small-caps-punctuation-size-expected.txt:
  • platform/qt/fast/text/basic/003-expected.png: Added.
  • platform/qt/fast/text/basic/003-expected.txt:
  • platform/qt/fast/text/cg-vs-atsui-expected.png: Added.
  • platform/qt/fast/text/cg-vs-atsui-expected.txt:
  • platform/qt/fast/text/complex-text-opacity-expected.png: Added.
  • platform/qt/fast/text/complex-text-opacity-expected.txt: Added.
  • platform/qt/fast/text/embed-at-end-of-pre-wrap-line-expected.png: Added.
  • platform/qt/fast/text/embed-at-end-of-pre-wrap-line-expected.txt: Added.
  • platform/qt/fast/text/large-text-composed-char-expected.png: Added.
  • platform/qt/fast/text/large-text-composed-char-expected.txt:
  • platform/qt/fast/text/letter-spacing-negative-opacity-expected.png: Added.
  • platform/qt/fast/text/letter-spacing-negative-opacity-expected.txt:
  • platform/qt/fast/text/line-breaks-after-white-space-expected.png: Added.
  • platform/qt/fast/text/line-breaks-after-white-space-expected.txt:
  • platform/qt/fast/text/whitespace/normal-after-nowrap-breaking-expected.png: Added.
  • platform/qt/fast/text/whitespace/normal-after-nowrap-breaking-expected.txt:
  • platform/qt/fast/text/whitespace/pre-break-word-expected.png: Added.
  • platform/qt/fast/text/whitespace/pre-break-word-expected.txt:
  • platform/qt/fast/text/whitespace/pre-wrap-line-test-expected.png: Added.
  • platform/qt/fast/text/whitespace/pre-wrap-line-test-expected.txt:
  • platform/qt/fast/text/whitespace/pre-wrap-overflow-selection-expected.png: Added.
  • platform/qt/fast/text/whitespace/pre-wrap-overflow-selection-expected.txt:
  • platform/qt/fast/text/word-break-expected.png: Added.
  • platform/qt/fast/text/word-break-expected.txt:
  • platform/qt/fast/xsl/xslt-entity-expected.png: Added.
  • platform/qt/fast/xsl/xslt-entity-expected.txt:
2:43 AM Changeset in webkit [116408] by apavlov@chromium.org
  • 4 edits
    2 adds in trunk

Extra line-breaks added when copying from source.
https://bugs.webkit.org/show_bug.cgi?id=85282

Reviewed by Ryosuke Niwa.

Source/WebCore:

The code used to replace any \n by \r\n, even the one that had a preceding \r, resulting in \r\r\n.
This change introduces a check for the preceding \r when replacing \n's.

Test: platform/win/editing/pasteboard/pasting-crlf-isnt-translated-to-crcrlf-win.html

  • platform/chromium/ClipboardUtilitiesChromium.cpp:

(WebCore::replaceNewlinesWithWindowsStyleNewlines):

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::replaceNewlinesWithWindowsStyleNewlines):

LayoutTests:

  • platform/win/editing/pasteboard/pasting-crlf-isnt-translated-to-crcrlf-win-expected.txt: Added.
  • platform/win/editing/pasteboard/pasting-crlf-isnt-translated-to-crcrlf-win.html: Added.
2:28 AM Changeset in webkit [116407] by commit-queue@webkit.org
  • 4 edits in trunk/Tools

[EFL] [DRT] Clear extra views before setting a blank page
https://bugs.webkit.org/show_bug.cgi?id=85608

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-05-08
Reviewed by Kenneth Rohde Christiansen.

We need to clear the extra views before setting a blank page,
otherwise it will cause more events interactions and sometimes
trigger a unload(). This was causing frame-crash-with-page-cache.html
to leak events to the next test causing any subsequent test to
fail.

  • DumpRenderTree/efl/DumpRenderTree.cpp:

(runTest):

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::clearExtraViews):
(DumpRenderTreeChrome::resetDefaultsToConsistentValues):

  • DumpRenderTree/efl/DumpRenderTreeChrome.h:

(DumpRenderTreeChrome):

2:04 AM Changeset in webkit [116406] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Gardening after 116361. Updated expected result.

Patch by János Badics <János Badics> on 2012-05-08
Reviewed by Csaba Osztrogonác.

  • platform/qt/fast/js/switch-behaviour-expected.txt:
2:00 AM Changeset in webkit [116405] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

OS(ANDROID) JNI AttachCurrentThread take JNIEnv as a parameter, not void
https://bugs.webkit.org/show_bug.cgi?id=85869

Reviewed by Eric Seidel.

According to
http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/invocation.html,
AttachCurrentThread takes a JNIEnv rather than a void. Apparently,
most implementations actually take a void. The OS(ANDROID)
implementation, however, actually takes an JNIEnv
. This patch
introduces a typedef to give each implementation what it desires.

  • bridge/jni/JNIUtility.cpp:

(JSC::Bindings::getJNIEnv):

1:59 AM Changeset in webkit [116404] by Csaba Osztrogonác
  • 5 edits in trunk/LayoutTests

Unreviewed gardening. Remove tests from test expectations and
from a Skipped list, because they were disabled by r94327.

  • platform/efl/Skipped:
  • platform/gtk/test_expectations.txt:
  • platform/mac/test_expectations.txt:
  • platform/qt/test_expectations.txt:
1:42 AM Changeset in webkit [116403] by kbalazs@webkit.org
  • 15 edits in trunk

[Qt] X11 plugins need to be reworked for Qt5+WK1
https://bugs.webkit.org/show_bug.cgi?id=80691

Reviewed by Simon Hausmann.

.:

Implement basic windowless plugin support with Qt5.

  • Source/api.pri: Need private API's to be able

to use QApplicationPrivate::windowForWidget.

Source/WebCore:

Implement basic windowless plugin support with Qt5.
The solution is the same that has been chosen for
WebKit2. We get the content drawed by the plugin
from the X server as an image, create a QImage
from it and paint it to the window surface with QPainter.
Performance is sufficient for basic video playback.

No new tests, covered by existing plugin tests.

  • Target.pri:
  • WebCore.pri:
  • platform/qt/QWebPageClient.h:

(QWebPageClient):

  • plugins/PluginView.h:

(PluginView):

  • plugins/qt/PluginPackageQt.cpp:

(WebCore::PluginPackage::isPluginBlacklisted):
Blacklist plugins that are incompatible with Qt5.
The only one I know about currently is skypebuttons
but the list can be extended in the future.
(WebCore):
(WebCore::PluginPackage::load):

  • plugins/qt/PluginViewQt.cpp:

(X11Environment):
(WebCore):
(WebCore::x11Display):
(WebCore::x11Screen):
(WebCore::rootWindowID):
(WebCore::displayDepth):
(WebCore::syncX):
(WebCore::PluginView::platformPageClient): Added a safe
convenience getter for the QWebpageClient.
(WebCore::PluginView::updatePluginWidget):
(WebCore::PluginView::setFocus):
(WebCore::setupGraphicsExposeEvent):
(WebCore::PluginView::paintUsingXPixmap):
(WebCore::setSharedXEventFields):
(WebCore::PluginView::initXEvent):
(WebCore::PluginView::setXKeyEventSpecificFields):
(WebCore::setXButtonEventSpecificFields):
(WebCore::setXMotionEventSpecificFields):
(WebCore::setXCrossingEventSpecificFields):
(WebCore::PluginView::setNPWindowIfNeeded):
(WebCore::PluginView::setParentVisible):
(WebCore::PluginView::platformGetValue):
(WebCore::PluginView::invalidateRect):
(WebCore::getVisualAndColormap):
Refactored this function to make it more clear
what does it actually do.
(WebCore::PluginView::platformStart):
(WebCore::PluginView::platformDestroy):

Source/WebKit/qt:

  • Api/qwebsettings.cpp:

(QWebSettings::enablePersistentStorage):
Build fix for Qt5.

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore::FrameLoaderClientQt::createPlugin):
Inject the wmode parameter for flash so it will
work in windowless, non-transparent mode which
is the only one we support currently.

  • WebCoreSupport/PageClientQt.cpp:

(WebCore):
(WebCore::QWebPageClient::ownerWindow):
Added a getter for the top level window so the PluginView
can get it without calling into QtWidgets code.

Tools:

Implement basic windowless plugin support with Qt5.

  • qmake/mkspecs/features/features.prf:

Enable NPAPI plugins if X11 libraries are available.

  • qmake/mkspecs/features/functions.prf:

Added a convenience function to determine availability
of X11 libraries.

1:31 AM Changeset in webkit [116402] by Antti Koivisto
  • 6 edits in trunk/Source/WebCore

Inline Node::traverseNextNode
https://bugs.webkit.org/show_bug.cgi?id=85844

Reviewed by Ryosuke Niwa.

Inline traverseNextNode and traverseNextSibling to reduce entry/exit overhead and allow better code generation
for many hot loops. Also added separate versions of stayWithin and unscoped cases (the function is
so simple that this seemed like the cleanest way to do it, the most reliable too) and used UNLIKELY for the
end-of-traversal conditions.

The traversal function can show up to ~1% in normal page loading profiles.

run-perf-tests seems to think this is a progression in some subtests though bots will tell for certain.

  • WebCore.exp.in:
  • dom/ContainerNode.h:


Following the existing pattern, function bodies go to ContainerNode.h so they can call parentNode().
(which returns ContainerNode, not Node).

(WebCore::Node::traverseNextNode):
(WebCore):
(WebCore::Node::traverseNextSibling):

  • dom/Node.cpp:

(WebCore):

  • dom/Node.h:

(Node):

12:34 AM Changeset in webkit [116401] by abarth@webkit.org
  • 2 edits in trunk/Source/WTF

[Chromium] Assertions.cpp should work on OS(ANDROID)
https://bugs.webkit.org/show_bug.cgi?id=85867

Reviewed by Eric Seidel.

Some minor ifdefs for OS(ANDROID) on PLATFORM(CHROMIUM).

  • wtf/Assertions.cpp:
12:05 AM Changeset in webkit [116400] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk/Source/WebKit

[BlackBerry] AutofillManager implementation upstream
https://bugs.webkit.org/show_bug.cgi?id=85576

Patch by Jonathan Dong <Jonathan Dong> on 2012-05-08
Reviewed by Rob Buis.

Source/WebKit:

Added WebKit/blackberry/WebCoreSupport/AutofillManager.cpp
into building system of BlackBerry porting.

  • PlatformBlackBerry.cmake:

Source/WebKit/blackberry:

RIM PR: 136405
Implemented class AutofillManager to handle the form autofill
interactions.
It listens to text changed notification from text input, searches
autofill database for the suggested autofill candidate value,
and notifies WebPageClient to pop up a context dialog for user;
it also responds to user's choice by autofilling the text input.

  • WebCoreSupport/AutofillManager.cpp: Added.

(WebCore):
(WebCore::AutofillManager::create):
(WebCore::AutofillManager::didChangeInTextField):
(WebCore::AutofillManager::autofillTextField):
(WebCore::AutofillManager::saveTextFields):
(WebCore::AutofillManager::clear):

  • WebCoreSupport/AutofillManager.h: Added.

(WTF):
(WebKit):
(WebCore):
(AutofillManager):
(WebCore::AutofillManager::m_element):

May 7, 2012:

11:59 PM Changeset in webkit [116399] by tkent@chromium.org
  • 2 edits in trunk/LayoutTests

[Chormium] Test expectatino update

  • platform/chromium/test_expectations.txt:
    • multiline-pack.html is failing on all DEBUG bots.
    • filter-repaint-custom-rotated.html fails on Mac.
11:56 PM Changeset in webkit [116398] by pfeldman@chromium.org
  • 5 edits in trunk

Web Inspector: make JavaScriptSourceFrame use breakpoint manager's breakpoints store.
https://bugs.webkit.org/show_bug.cgi?id=85714

Reviewed by Yury Semikhatsky.

It is currently using its own copy of breakpoints which is not necessary.

  • inspector/front-end/BreakpointManager.js:

(WebInspector.BreakpointManager):
(WebInspector.BreakpointManager.prototype.restoreBreakpoints):
(WebInspector.BreakpointManager.prototype.setBreakpoint):
(WebInspector.BreakpointManager.prototype._innerSetBreakpoint):
(WebInspector.BreakpointManager.prototype.findBreakpoint):
(WebInspector.BreakpointManager.prototype.reset):
(WebInspector.BreakpointManager.prototype._debuggerReset):
(WebInspector.BreakpointManager.prototype._breakpointResolved):
(WebInspector.BreakpointManager.prototype._uiLocationAdded):
(WebInspector.BreakpointManager.prototype._uiLocationRemoved):
(WebInspector.BreakpointManager.Breakpoint.prototype._breakpointStorageId):
(WebInspector.BreakpointManager.Storage.prototype._restoreBreakpoints):
(set WebInspector.BreakpointManager.Storage.Item):

  • inspector/front-end/JavaScriptSource.js:

(WebInspector.JavaScriptSource.prototype.consoleMessagesCleared):
(WebInspector.JavaScriptSource.prototype.breakpointStorageId):

  • inspector/front-end/JavaScriptSourceFrame.js:

(WebInspector.JavaScriptSourceFrame):
(WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
(WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
(WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
(WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
(WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded):
(WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
(WebInspector.JavaScriptSourceFrame.prototype.onTextViewerContentLoaded):
(WebInspector.JavaScriptSourceFrame.prototype._continueToLine):
(WebInspector.JavaScriptSourceFrame.prototype._updateBreakpointsAfterLiveEdit):

11:30 PM Changeset in webkit [116397] by pfeldman@chromium.org
  • 5 edits in trunk

Web Inspector: do not create locations for resolved provisional breakpoints
https://bugs.webkit.org/show_bug.cgi?id=85716

Reviewed by Yury Semikhatsky.

Source/WebCore:

Marked provisional breakpoints as such.

  • inspector/front-end/BreakpointManager.js:

(WebInspector.BreakpointManager.prototype._debuggerReset):
(WebInspector.BreakpointManager.prototype._breakpointResolved):

LayoutTests:

  • inspector/debugger/breakpoint-manager-expected.txt:
  • inspector/debugger/breakpoint-manager.html:
10:59 PM Changeset in webkit [116396] by commit-queue@webkit.org
  • 3 edits in trunk

Adjust flakiness dashboard gpu_tests image diff URLs.
https://bugs.webkit.org/show_bug.cgi?id=85423

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

  • Tools/TestResultServer/static-dashboards/flakiness_dashboard.js:
10:45 PM Changeset in webkit [116395] by Simon Fraser
  • 3 edits
    3 adds in trunk

Compositing layers with transformed children not large enough to show contents
https://bugs.webkit.org/show_bug.cgi?id=85855

Source/WebCore:

Reviewed by Dan Bernstein.

r114518 added a code path to RenderLayer::calculateLayerBounds() which
does an early return if the layer has clipping. However, this code
path omitted to take local transforms into account.

Fix is to handle transforms as we do in the non-clipped case.

Test: compositing/geometry/bounds-clipped-composited-child.html

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateLayerBounds):

LayoutTests:

Reviewed by Dan Bernstein.

Test having composited element with clipped, transformed children.

  • compositing/geometry/bounds-clipped-composited-child-expected.png: Added.
  • compositing/geometry/bounds-clipped-composited-child-expected.txt: Added.
  • compositing/geometry/bounds-clipped-composited-child.html: Added.
10:14 PM Changeset in webkit [116394] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix signed/unsigned mismatch
https://bugs.webkit.org/show_bug.cgi?id=85845

Make literal in assert be unsigned to match comparison on LHS. Avoids
warning on Windows.

Patch by Scott Graham <scottmg@chromium.org> on 2012-05-07
Reviewed by Eric Seidel.

No new tests. No intended functionality change.

  • rendering/RenderTableSection.cpp:

(WebCore::RenderTableSection::splitColumn):

10:00 PM Changeset in webkit [116393] by kinuko@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed build fix: didOpenFileSystem hides overloaded virtual function

  • src/WorkerAsyncFileSystemChromium.cpp:
9:12 PM Changeset in webkit [116392] by eae@chromium.org
  • 6 edits in trunk/Source/WebCore

Fix performance regression for floats caused by LayoutUnit change
https://bugs.webkit.org/show_bug.cgi?id=85834

Reviewed by Eric Seidel.

Fix performance regression caused by r116009 by disabling the use of
64bit math in FractionalLayoutUnit, simplifying the pixelSnappedMaxX/Y
math, inlining a couple of methods and replacing the literal 0 (zero)
with ZERO_LAYOUT_UNIT.

No new tests, no change in functionality.

  • platform/FractionalLayoutUnit.h:

(WebCore::boundedMultiply):
(WebCore::operator*):
(WebCore::operator/):
Disable the use of 64bit (long long) math in the case where the fraction
is set to 1.

  • platform/graphics/FractionalLayoutRect.h:

(WebCore::FractionalLayoutRect::pixelSnappedMaxX):
(WebCore::FractionalLayoutRect::pixelSnappedMaxY):
Simplify the pixel snapping logic for maxX/maxY.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::isSelfCollapsingBlock):
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::computeOverflow):
(WebCore::RenderBlock::clearFloatsIfNeeded):
(WebCore::RenderBlock::paintChildren):
(WebCore::RenderBlock::blockSelectionGap):
(WebCore::RenderBlock::logicalLeftSelectionGap):
(WebCore::RenderBlock::logicalRightSelectionGap):
(WebCore::RenderBlock::computeLogicalLocationForFloat):
(WebCore::RenderBlock::lowestFloatLogicalBottom):
(WebCore::RenderBlock::getClearDelta):
(WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
(WebCore::RenderBlock::addFocusRingRects):
(WebCore::RenderBlock::adjustLinePositionForPagination):

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::availableLogicalWidthForLine):
(WebCore::RenderBlock::availableLogicalWidthForContent):
(WebCore::RenderBlock::FloatingObject::x):
(WebCore::RenderBlock::FloatingObject::maxX):
(WebCore::RenderBlock::FloatingObject::y):
(WebCore::RenderBlock::FloatingObject::maxY):
(WebCore::RenderBlock::FloatingObject::width):
(WebCore::RenderBlock::FloatingObject::height):
(FloatingObject):
(WebCore::RenderBlock::FloatingObject::pixelSnappedX):
(WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX):
(WebCore::RenderBlock::FloatingObject::pixelSnappedY):
(WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY):
(WebCore::RenderBlock::FloatingObject::pixelSnappedWidth):
(WebCore::RenderBlock::FloatingObject::pixelSnappedHeight):
(WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
(WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
(WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
(WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::accumulateRelativePositionOffsets):
(WebCore::RenderBoxModelObject::offsetLeft):
(WebCore::RenderBoxModelObject::offsetTop):
(WebCore::RenderBoxModelObject::computedCSSPaddingTop):
(WebCore::RenderBoxModelObject::computedCSSPaddingBottom):
(WebCore::RenderBoxModelObject::computedCSSPaddingLeft):
(WebCore::RenderBoxModelObject::computedCSSPaddingRight):
(WebCore::RenderBoxModelObject::computedCSSPaddingBefore):
(WebCore::RenderBoxModelObject::computedCSSPaddingAfter):
(WebCore::RenderBoxModelObject::computedCSSPaddingStart):
(WebCore::RenderBoxModelObject::computedCSSPaddingEnd):

9:11 PM Changeset in webkit [116391] by kinuko@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed build fix: adding missing include.

  • src/AsyncFileSystemChromium.cpp:
9:10 PM Changeset in webkit [116390] by tkent@chromium.org
  • 1 edit
    6 adds in trunk/LayoutTests

[Chromium] Add expectations for first-line-text-decoration.html.

  • platform/chromium-linux/fast/css/first-line-text-decoration-expected.png: Added.
  • platform/chromium-mac-leopard/fast/css/first-line-text-decoration-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/css/first-line-text-decoration-expected.png: Added.
  • platform/chromium-mac/fast/css/first-line-text-decoration-expected.png: Added.
  • platform/chromium-win/fast/css/first-line-text-decoration-expected.png: Added.
  • platform/chromium-win/fast/css/first-line-text-decoration-expected.txt: Added.
8:49 PM Changeset in webkit [116389] by commit-queue@webkit.org
  • 9 edits
    10 adds in trunk

width/height attributes of input element cannot be accessed by JavaScript.
https://bugs.webkit.org/show_bug.cgi?id=70304

Patch by Dongwoo Im <dw.im@samsung.com> on 2012-05-07
Reviewed by Darin Adler.

If the type of input element is image button, width/height attributes should be supported.
These attributes are defined in HTML5 spec.
http://www.w3.org/TR/html5/the-map-element.html#attr-dim-width

Source/WebCore:

Tests: fast/forms/input-width-height-attributes-without-renderer-loaded-image.html

fast/forms/input-width-height-attributes-without-renderer-not-loaded-image.html
fast/forms/input-width-height-attributes-without-renderer.html
fast/forms/input-width-height-attributes.html

  • html/HTMLInputElement.cpp: Add setter/getter functions to query/set width/height of input element.

(WebCore):
(WebCore::HTMLInputElement::height): Gets height of input element.
(WebCore::HTMLInputElement::width): Gets width of input element.
(WebCore::HTMLInputElement::setHeight): Sets height of input element.
(WebCore::HTMLInputElement::setWidth): Sets width of input element.

  • html/HTMLInputElement.h: Add public prototype.

(HTMLInputElement):

  • html/HTMLInputElement.idl: Add width/height attributes.
  • html/ImageInputType.cpp: Add getter functions if the element is an image button.

(WebCore):
(WebCore::ImageInputType::height): Gets height of input element.
(WebCore::ImageInputType::width): Gets width of input element.

  • html/ImageInputType.h: Add prototype.

(ImageInputType):

  • html/InputType.cpp: Add getter functions.

(WebCore::InputType::height): Returns zero.
(WebCore):
(WebCore::InputType::width): Returns zero.

  • html/InputType.h: Add prototype.

(InputType):

LayoutTests:

  • fast/forms/input-width-height-attributes-expected.txt: Added.
  • fast/forms/input-width-height-attributes-without-renderer-expected.txt: Added.
  • fast/forms/input-width-height-attributes-without-renderer-loaded-image-expected.txt: Added.
  • fast/forms/input-width-height-attributes-without-renderer-loaded-image.html: Added.
  • fast/forms/input-width-height-attributes-without-renderer-not-loaded-image-expected.txt: Added.
  • fast/forms/input-width-height-attributes-without-renderer-not-loaded-image.html: Added.
  • fast/forms/input-width-height-attributes-without-renderer.html: Added.
  • fast/forms/input-width-height-attributes.html: Added.
  • fast/forms/resources/green.jpg: Added.
  • fast/forms/resources/image-slow.pl: Added.
8:34 PM Changeset in webkit [116388] by kinuko@chromium.org
  • 39 edits
    1 copy
    1 move
    3 adds in trunk

Support cross-filesystem operations in FileSystem API
https://bugs.webkit.org/show_bug.cgi?id=84135

Reviewed by David Levin.

Source/WebCore:

Currently we pass Entry's fullPath to AsyncFileSystem layer where
we convert the given path to filesystem URL which includes origin and
filesystem type information, but in that way we cannot handle
cross-filesystem operations (e.g. cross-filesystem copy and move)
well since we end up with always attaching the source filesystem's
origin and type information for argument paths.

This patch does:

  • change AsyncFileSystem's operation methods not to take entry paths but complete filesystem URLs.
  • move type and rootURL information from AsyncFileSystem instance into DOMFileSystemBase instance (platform layer to Modules/filesystem layer)
  • move filesystem-type related code in AsyncFileSystemChromium.cpp into DOMFileSystemChromium.cpp, which implements chromioum-specific DOMFileSystem code.
  • move platform/FileSystemType.h into Modules/filesystem/FileSystemType.h.
  • adding FileSystemType.h entry to build files (e.g. WebCore.gypi, WebCore.xcodeproj etc)

Test: fast/filesystem/cross-filesystem-op.html

  • Modules/filesystem/DOMFileSystem.cpp:

(WebCore::DOMFileSystem::create):
(WebCore::DOMFileSystem::DOMFileSystem):
(WebCore::DOMFileSystem::createWriter):
(WebCore::DOMFileSystem::createFile):

  • Modules/filesystem/DOMFileSystem.h:
  • Modules/filesystem/DOMFileSystemBase.cpp:

(WebCore::DOMFileSystemBase::DOMFileSystemBase):
(WebCore::DOMFileSystemBase::createFileSystemURL): Added as an internal
implementation of Entry.toURL().
(WebCore::DOMFileSystemBase::getMetadata):
(WebCore::verifyAndGetDestinationPathForCopyOrMove):
(WebCore::DOMFileSystemBase::move):
(WebCore::DOMFileSystemBase::copy):
(WebCore::DOMFileSystemBase::remove):
(WebCore::DOMFileSystemBase::removeRecursively):
(WebCore::DOMFileSystemBase::getParent):
(WebCore::DOMFileSystemBase::getFile):
(WebCore::DOMFileSystemBase::getDirectory):
(WebCore::DOMFileSystemBase::readDirectory):

  • Modules/filesystem/DOMFileSystemBase.h: Changed to make each

DOMFileSystemBase instance have filesystem type and rootURL (they were
held by AsyncFileSystem previously)
(WebCore::DOMFileSystemBase::create): Changed to take additional parameters.
(WebCore::DOMFileSystemBase::type): Added.(Moved from AsyncFileSystem::type)
(WebCore::DOMFileSystemBase::rootURL): Added.(Moved from AsyncFileSystem::rootURL).

  • Modules/filesystem/DOMFileSystemSync.cpp:

(WebCore::DOMFileSystemSync::create):
(WebCore::DOMFileSystemSync::DOMFileSystemSync):
(WebCore::DOMFileSystemSync::createFile):
(WebCore::DOMFileSystemSync::createWriter):

  • Modules/filesystem/DOMFileSystemSync.h:

(WebCore::DOMFileSystemSync::create):

  • Modules/filesystem/DOMWindowFileSystem.cpp:

(WebCore::DOMWindowFileSystem::webkitRequestFileSystem):
(WebCore::DOMWindowFileSystem::webkitResolveLocalFileSystemURL):

  • Modules/filesystem/EntryBase.cpp:

(WebCore::EntryBase::toURL):

  • Modules/filesystem/FileSystemCallbacks.cpp:

(WebCore::FileSystemCallbacks::create):
(WebCore::FileSystemCallbacks::FileSystemCallbacks):
(WebCore::FileSystemCallbacks::didOpenFileSystem):
(WebCore::ResolveURICallbacks::create):
(WebCore::ResolveURICallbacks::ResolveURICallbacks):
(WebCore::ResolveURICallbacks::didOpenFileSystem):

  • Modules/filesystem/FileSystemCallbacks.h:

(FileSystemCallbacks):
(ResolveURICallbacks):

  • Modules/filesystem/FileSystemType.h: Renamed from Source/WebCore/platform/FileSystemType.h.
  • Modules/filesystem/LocalFileSystem.cpp:

(WebCore::openFileSystem):
(WebCore::LocalFileSystem::readFileSystem):
(WebCore::LocalFileSystem::requestFileSystem):

  • Modules/filesystem/LocalFileSystem.h:
  • Modules/filesystem/WorkerContextFileSystem.cpp:

(WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
(WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
(WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemURL):
(WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):

  • Modules/filesystem/chromium/DOMFileSystemChromium.cpp: Added for chromium-specific

implementation. Almost all of the code is moved from AsyncFileSystemChromium.
(WebCore::DOMFileSystemBase::isValidType):
(WebCore::DOMFileSystemBase::crackFileSystemURL):
(WebCore::DOMFileSystemBase::supportsToURL):
(WebCore::DOMFileSystemBase::createFileSystemURL):
(WebCore::DOMFileSystemChromium::createIsolatedFileSystem):

  • Modules/filesystem/chromium/DOMFileSystemChromium.h: Added.
  • Modules/filesystem/chromium/DataTransferItemFileSystemChromium.cpp:

(WebCore::DataTransferItemFileSystem::webkitGetAsEntry):

  • Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp:

(WebCore::DraggedIsolatedFileSystem::getDOMFileSystem):

  • WebCore.gypi:
  • platform/AsyncFileSystem.cpp:

(WebCore::AsyncFileSystem::openFileSystem):

  • platform/AsyncFileSystem.h:

(AsyncFileSystem):
(WebCore::AsyncFileSystem::AsyncFileSystem):

  • platform/AsyncFileSystemCallbacks.h:

(WebCore::AsyncFileSystemCallbacks::didOpenFileSystem):

  • platform/blackberry/AsyncFileSystemBlackBerry.cpp:

(WebCore::AsyncFileSystem::create):
(WebCore::AsyncFileSystem::openFileSystem):
(WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):
(WebCore::AsyncFileSystemBlackBerry::move):
(WebCore::AsyncFileSystemBlackBerry::copy):
(WebCore::AsyncFileSystemBlackBerry::remove):
(WebCore::AsyncFileSystemBlackBerry::removeRecursively):
(WebCore::AsyncFileSystemBlackBerry::readMetadata):
(WebCore::AsyncFileSystemBlackBerry::createFile):
(WebCore::AsyncFileSystemBlackBerry::createDirectory):
(WebCore::AsyncFileSystemBlackBerry::fileExists):
(WebCore::AsyncFileSystemBlackBerry::directoryExists):
(WebCore::AsyncFileSystemBlackBerry::readDirectory):
(WebCore::AsyncFileSystemBlackBerry::createWriter):
(WebCore::AsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):

  • platform/blackberry/AsyncFileSystemBlackBerry.h:
  • platform/chromium/PlatformSupport.h:
  • platform/gtk/AsyncFileSystemGtk.cpp:

(WebCore::AsyncFileSystem::create):
(WebCore::AsyncFileSystem::openFileSystem):
(WebCore::AsyncFileSystemGtk::AsyncFileSystemGtk):
(WebCore::AsyncFileSystemGtk::move):
(WebCore::AsyncFileSystemGtk::copy):
(WebCore::AsyncFileSystemGtk::remove):
(WebCore::AsyncFileSystemGtk::removeRecursively):
(WebCore::AsyncFileSystemGtk::readMetadata):
(WebCore::AsyncFileSystemGtk::createFile):
(WebCore::AsyncFileSystemGtk::createDirectory):
(WebCore::AsyncFileSystemGtk::fileExists):
(WebCore::AsyncFileSystemGtk::directoryExists):
(WebCore::AsyncFileSystemGtk::readDirectory):
(WebCore::AsyncFileSystemGtk::createWriter):

  • platform/gtk/AsyncFileSystemGtk.h:
  • GNUmakefile.list.am: Added FileSystemType.h.
  • WebCore.gypi: Added FileSystemType.h.
  • WebCore.vcproj/WebCore.vcproj: Added FileSystemType.h.
  • WebCore.xcodeproj/project.pbxproj: Added FileSystemType.h.

Source/WebKit/chromium:

Currently we pass Entry's fullPath to AsyncFileSystem layer where
we convert the given path to filesystem URL which includes origin and
filesystem type information, but in that way we cannot handle
cross-filesystem operations (e.g. cross-filesystem copy and move)
well since we end up with always attaching the source filesystem's
origin and type information for argument paths.

This patch does:

  • move filesystem-type related code out of AsyncFileSystemChromium.cpp (moving into DOMFileSystemChromium.cpp)
  • change AsyncFileSystemChromium's methods implementation not to take entry paths but complete filesystem URLs.
  • src/AsyncFileSystemChromium.cpp:

(WebCore::AsyncFileSystemChromium::AsyncFileSystemChromium):
(WebCore::AsyncFileSystemChromium::move):
(WebCore::AsyncFileSystemChromium::copy):
(WebCore::AsyncFileSystemChromium::remove):
(WebCore::AsyncFileSystemChromium::removeRecursively):
(WebCore::AsyncFileSystemChromium::readMetadata):
(WebCore::AsyncFileSystemChromium::createFile):
(WebCore::AsyncFileSystemChromium::createDirectory):
(WebCore::AsyncFileSystemChromium::fileExists):
(WebCore::AsyncFileSystemChromium::directoryExists):
(WebCore::AsyncFileSystemChromium::readDirectory):
(WebCore::AsyncFileSystemChromium::createWriter):
(WebCore::AsyncFileSystemChromium::createSnapshotFileAndReadMetadata):

  • src/AsyncFileSystemChromium.h:

(WebCore::AsyncFileSystemChromium::create):
(AsyncFileSystemChromium):

  • src/LocalFileSystemChromium.cpp:

(WebCore::openFileSystemHelper):

  • src/PlatformSupport.cpp:

(WebCore::PlatformSupport::createAsyncFileSystem):

  • src/WebFileSystemCallbacksImpl.cpp:

(WebKit::WebFileSystemCallbacksImpl::WebFileSystemCallbacksImpl):
(WebKit::WebFileSystemCallbacksImpl::didOpenFileSystem):

  • src/WebFileSystemCallbacksImpl.h:

(WebFileSystemCallbacksImpl):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::createFileSystem):
(WebKit::WebFrameImpl::createFileEntry):

  • src/WorkerAsyncFileSystemChromium.cpp:

(WebCore::WorkerAsyncFileSystemChromium::WorkerAsyncFileSystemChromium):
(WebCore::WorkerAsyncFileSystemChromium::move):
(WebCore::WorkerAsyncFileSystemChromium::copy):
(WebCore::WorkerAsyncFileSystemChromium::remove):
(WebCore::WorkerAsyncFileSystemChromium::removeRecursively):
(WebCore::WorkerAsyncFileSystemChromium::readMetadata):
(WebCore::WorkerAsyncFileSystemChromium::createFile):
(WebCore::WorkerAsyncFileSystemChromium::createDirectory):
(WebCore::WorkerAsyncFileSystemChromium::fileExists):
(WebCore::WorkerAsyncFileSystemChromium::directoryExists):
(WebCore::WorkerAsyncFileSystemChromium::readDirectory):
(WebCore::WorkerAsyncFileSystemChromium::createWriter):
(WebCore::WorkerAsyncFileSystemChromium::createSnapshotFileAndReadMetadata):

  • src/WorkerAsyncFileSystemChromium.h:

(WebCore::WorkerAsyncFileSystemChromium::create):
(WorkerAsyncFileSystemChromium):

LayoutTests:

  • fast/filesystem/cross-filesystem-op-expected.txt: Added.
  • fast/filesystem/cross-filesystem-op.html: Added.
8:05 PM Changeset in webkit [116387] by rakuco@webkit.org
  • 2 edits in trunk/Tools

[webkitpy] Remove Python 2.5-specific workaround from http_server_base.py.
https://bugs.webkit.org/show_bug.cgi?id=85852

Reviewed by Dirk Pranke.

  • Scripts/webkitpy/layout_tests/servers/http_server_base.py:

(HttpServerBase._is_server_running_on_all_ports): Revert the part
of r89412 which was a workaround for an issue with Python 2.5 on
Mac 10.5.

7:52 PM Changeset in webkit [116386] by ojan@chromium.org
  • 1 edit
    6 adds in trunk/LayoutTests

Chromium rebaselines after http://trac.webkit.org/changeset/116373.
Differences look to just be in platform-specific text rendering.

  • platform/chromium-linux/fast/css/first-line-text-decoration-inherited-from-parent-expected.png: Added.
  • platform/chromium-mac-leopard/fast/css/first-line-text-decoration-inherited-from-parent-expected.png: Added.
  • platform/chromium-mac-snowleopard/fast/css/first-line-text-decoration-inherited-from-parent-expected.png: Added.
  • platform/chromium-mac/fast/css/first-line-text-decoration-inherited-from-parent-expected.png: Added.
  • platform/chromium-win/fast/css/first-line-text-decoration-inherited-from-parent-expected.png: Added.
  • platform/chromium-win/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt: Added.
7:47 PM Changeset in webkit [116385] by abarth@webkit.org
  • 5 edits in trunk/Source

[Chromium] Android wishes to use an empty implementation if AXObjectCache
https://bugs.webkit.org/show_bug.cgi?id=85842

Reviewed by Eric Seidel.

Source/WebCore:

Add proper HAVE(ACCESSIBILITY) ifdefs so that Chromium builds without
accessibility.

  • accessibility/chromium/AXObjectCacheChromium.cpp:
  • accessibility/chromium/AccessibilityObjectChromium.cpp:

Source/WTF:

Disable accessibility on OS(ANDROID) for PLATFORM(CHROMIUM).

  • wtf/Platform.h:
7:22 PM Changeset in webkit [116384] by commit-queue@webkit.org
  • 14 edits
    5 adds in trunk

[Web Intents] Flagged-off implementation of an intent tag for registration.
https://bugs.webkit.org/show_bug.cgi?id=73039

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

Source/WebCore:

The intent tag is a declarative way for pages to register that they
accept delivery of web intent invocations of particular types. See the
spec at http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html

After discussion on the WhatWG list (see thread at
http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-April/035301.html)
the current plan is to combine declarative registration of Web
Intents and protocol/content handlers with this tag. Alternatives
considered were the meta and link tags.

  • WebCore.gypi:
  • html/HTMLAttributeNames.in:
  • html/HTMLElementsAllInOne.cpp:
  • html/HTMLIntentElement.cpp: Added.

(WebCore::HTMLIntentElement::HTMLIntentElement):
(WebCore::HTMLIntentElement::create):
(WebCore::HTMLIntentElement::insertedIntoDocument):

  • html/HTMLIntentElement.h: Added.
  • html/HTMLIntentElement.idl: Added.
  • html/HTMLTagNames.in:
  • loader/FrameLoaderClient.h:

(WebCore::FrameLoaderClient::registerIntentService):

  • page/DOMWindow.idl:

Source/WebKit/chromium:

The intent tag allows web pages to mark themselves declaratively as accepting
web intent delivery of particular characteristics (action/type).
See the spec at:
http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html

  • WebKit.gyp:
  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::registerIntentService):

  • src/FrameLoaderClientImpl.h:
6:53 PM Changeset in webkit [116383] by tkent@chromium.org
  • 3 edits
    2 deletes in trunk/Source/WebKit/chromium

Unreviewed, rolling out r116375.
http://trac.webkit.org/changeset/116375
https://bugs.webkit.org/show_bug.cgi?id=85850

Build break on Chromium-win and Chromium-mac. (Requested by
tkent on #webkit).

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

  • WebKit.gyp:
  • WebKit.gypi:
  • tests/EventListenerTest.cpp: Removed.
  • tests/data/listener/mutation_event_listener.html: Removed.
6:32 PM Changeset in webkit [116382] by aestes@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Add platform/mac/ results for new tests added by r116373.

  • platform/mac/fast/css/first-line-text-decoration-expected.txt: Added.
  • platform/mac/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt: Added.
6:14 PM Changeset in webkit [116381] by Lucas Forschler
  • 12 edits in tags/Safari-534.57.4

Merge fixes for radars: 11331161, 11331164, 11331169.

6:11 PM Changeset in webkit [116380] by Lucas Forschler
  • 1 copy in tags/Safari-534.57.4

New tag.

6:09 PM Changeset in webkit [116379] by Lucas Forschler
  • 5 edits in branches/safari-534.57-branch/Source

Versioning.

6:08 PM FeatureFlags edited by tkent@chromium.org
Add IFRAME_SEAMLESS (diff)
5:34 PM Changeset in webkit [116378] by fpizlo@apple.com
  • 11 edits in branches/dfgopt/Source/JavaScriptCore

DFG should support op_tear_off_arguments
https://bugs.webkit.org/show_bug.cgi?id=85847

Reviewed by Michael Saboff.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCapabilities.h:

(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT.h:

(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

5:11 PM Changeset in webkit [116377] by danakj@chromium.org
  • 5 edits in trunk/Source

Region::intersects() and Region::contains() are slow due to copy overhead
https://bugs.webkit.org/show_bug.cgi?id=81076

Reviewed by Anders Carlsson.

Source/WebCore:

Testing contains() and intersects() requires a copy which ends up
invoking a malloc on sufficiently complicated web pages, and slows down
the test unnecessarily. These methods can be done by iterating over the
Region::Shape values rather than making a copy of the entire region and
manipulating it.

This uses Region::Shape::compareShapes() to walk the query regions and
compute the result of the intersects or contains tests without making a
copy.

This change improves the performance of the Region overlap testing for
composited layers, and allows for testing contains() before unite() to
avoid unnecessary copies of the Region when inserting into complex
Regions. With a layout test that has 225 composited layers, and tests
Region.intersects() for 1000 layers above them, this change decreases
the running time of the test by 1.2% by avoiding a copy of the 225
rects each time.

Unit test: RegionTest.intersectsRegion

RegionTest.containsRegion

  • platform/graphics/Region.cpp:

(WebCore::Region::contains):
(WebCore::Region::intersects):
(WebCore):
(WebCore::Region::Shape::compareShapes):
(Region::Shape::CompareContainsOperation):
(WebCore::Region::Shape::CompareContainsOperation::aOutsideB):
(WebCore::Region::Shape::CompareContainsOperation::bOutsideA):
(WebCore::Region::Shape::CompareContainsOperation::aOverlapsB):
(Region::Shape::CompareIntersectsOperation):
(WebCore::Region::Shape::CompareIntersectsOperation::aOutsideB):
(WebCore::Region::Shape::CompareIntersectsOperation::bOutsideA):
(WebCore::Region::Shape::CompareIntersectsOperation::aOverlapsB):

  • platform/graphics/Region.h:

(Shape):

Source/WebKit/chromium:

  • tests/RegionTest.cpp:

(WebCore):
(WebCore::TEST):

5:09 PM Changeset in webkit [116376] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Correct logical error in accessibilityIsIgnored.
https://bugs.webkit.org/show_bug.cgi?id=85828

Patch by David Tseng <dtseng@google.com> on 2012-05-07
Reviewed by Chris Fleizach.

Covered by existing tests.

  • accessibility/AccessibilityMenuListOption.cpp:

(WebCore::AccessibilityMenuListOption::accessibilityIsIgnored):

  • accessibility/AccessibilityMenuListPopup.cpp:

(WebCore::AccessibilityMenuListPopup::accessibilityIsIgnored):

5:05 PM Changeset in webkit [116375] by tony@chromium.org
  • 3 edits
    3 adds in trunk/Source/WebKit/chromium

[chromium] move event_listener_unittest to webkit_unit_tests
https://bugs.webkit.org/show_bug.cgi?id=85836

Reviewed by James Robinson.

Porting the test from src/webkit/tools/test_shell/event_listener_unittest.cc.
All I did was change the style and use the FrameTestHelper to load the file.

  • WebKit.gyp: Exclude file in components build.
  • WebKit.gypi: Add new file.
  • tests/EventListenerTest.cpp: Added.

(WebKit):
(TestWebDOMEventListener):
(WebKit::TestWebDOMEventListener::TestWebDOMEventListener):
(WebKit::TestWebDOMEventListener::~TestWebDOMEventListener):
(WebKit::TestWebDOMEventListener::eventCount):
(WebKit::TestWebDOMEventListener::eventAt):
(WebKit::TestWebDOMEventListener::clearEvents):
(WebDOMEventListenerTest):
(WebKit::WebDOMEventListenerTest::WebDOMEventListenerTest):
(WebKit::WebDOMEventListenerTest::SetUp):
(WebKit::WebDOMEventListenerTest::TearDown):
(WebKit::WebDOMEventListenerTest::mainFrame):
(WebKit::WebDOMEventListenerTest::document):
(WebKit::WebDOMEventListenerTest::executeScript):
(WebKit::WebDOMEventListenerTest::GetNodeID):
(WebKit::TEST_F):

  • tests/data/listener/mutation_event_listener.html: Added.
4:56 PM Changeset in webkit [116374] by zmo@google.com
  • 7 edits in trunk

vertexAttribPointer needs to reject large negative offsets
https://bugs.webkit.org/show_bug.cgi?id=85117

Reviewed by Kenneth Russell.

Source/WebCore:

  • html/canvas/WebGLRenderingContext.cpp: Use long long for GLsizeiptr and GLintptr

(WebCore):
(WebCore::WebGLRenderingContext::bufferData):
(WebCore::WebGLRenderingContext::bufferSubData):
(WebCore::WebGLRenderingContext::drawElements):
(WebCore::WebGLRenderingContext::getVertexAttribOffset):
(WebCore::WebGLRenderingContext::vertexAttribPointer):

  • html/canvas/WebGLRenderingContext.h: Ditto

(WebGLRenderingContext):

  • html/canvas/WebGLRenderingContext.idl: Ditto

LayoutTests:

  • fast/canvas/webgl/index-validation-expected.txt:
  • fast/canvas/webgl/index-validation.html: Add a test case for large negative offset.
4:39 PM Changeset in webkit [116373] by commit-queue@webkit.org
  • 5 edits
    6 adds in trunk

:first-line text-decorations are not rendered
https://bugs.webkit.org/show_bug.cgi?id=6047

Source/WebCore:

Text-decorations are applied during paint phase. The style was not being properly selected in case of
first line box. The patch fixes this.

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-05-07
Reviewed by Eric Seidel.

Tests: fast/css/first-line-text-decoration-inherited-from-parent.html

fast/css/first-line-text-decoration.html

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paintDecoration):
Inform the decoration color retriever if this box is part of the first line box or not.

  • rendering/RenderObject.cpp:

(WebCore::decorationColor):
Changed the argument from RenderObject* to RenderStyle*. As this function is just a helper to getTextDecorationColors
as used RenderObject solely to retrieve the corresponding RenderStyle, which(RenderStyle*) was already available with the latter function.

(WebCore::RenderObject::getTextDecorationColors):
Take a new variable to check if first line style or the regular style has to be used.
Sends RenderStyle* as an argument to decorationColor().

  • rendering/RenderObject.h:

(RenderObject):

LayoutTests:

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-05-07
Reviewed by Eric Seidel.

  • fast/css/first-line-text-decoration.html: Added.
  • platform/qt-linux/fast/css/first-line-text-decoration-expected.png: Added.
  • platform/qt-linux/fast/css/first-line-text-decoration-expected.txt: Added. This test checks if text-decoration present in the tags first-line style is applied properly.
  • fast/css/first-line-text-decoration-inherited-from-parent.html: Added.
  • platform/qt-linux/fast/css/first-line-text-decoration-inherited-from-parent-expected.png: Added.
  • platform/qt-linux/fast/css/first-line-text-decoration-inherited-from-parent-expected.txt: Added. This test checks if the text-decoration and text color is chosen properly in the case where the first-line style is inherited from a parent and contains such text-decorations.
4:35 PM Changeset in webkit [116372] by oliver@apple.com
  • 11 edits in trunk/Source/JavaScriptCore

2012-05-07 Oliver Hunt <oliver@apple.com>

Rolling out r110287

RS=Filip Pizlo

r110287 was meant to be refactoring only, but changed behavior
enough to break some websites, including qq.com.

4:33 PM Changeset in webkit [116371] by jchaffraix@webkit.org
  • 14 edits in trunk/Source

Refactor windowClipRectForLayer to remove the explicit RenderLayer dependency
https://bugs.webkit.org/show_bug.cgi?id=84090

Reviewed by David Hyatt.

Source/WebCore:

No observable change in behavior.

The function name was ambiguous as it was not a general purpose function but was
working directly on HTMLFrameOwnerElement. The rename makes this more obvious as
well as removes the explicit dependency on RenderLayer.

One of the slight change of this refactoring is that we now always null-check the
HTMLFrameOwnerElement's renderer as part windowClipRectForFrameOwner as I don't see
any evidence for the other code paths not to hit that. Also we may recur more on our
frame tree if we have no layer as we now call windowClipRect() in this case.

  • page/FrameView.h:

(FrameView):

  • plugins/PluginView.cpp:

(WebCore::PluginView::windowClipRect):

  • WebCore.exp.in:
  • WebCore.order:
  • page/FrameView.cpp:

(WebCore::FrameView::windowClipRect):
Updated after windowClipRectForLayer name and signature change.

(WebCore::FrameView::windowClipRectForFrameOwner):
This function now takes the HTMLFrameOwnerElement directly.

  • plugins/PluginView.cpp:

(WebCore::PluginView::PluginView):
(WebCore::PluginView::create):

  • plugins/PluginView.h:

(PluginView):
Updated |m_element| to be an HTMLPlugInElement as this was what was
passed by every caller. This makes the conversion to HTMLFrameOwnerElement
possible.

Source/WebKit/chromium:

  • src/WebPluginContainerImpl.cpp:

Updated after windowClipRectForLayer name and signature change.

Source/WebKit/win:

  • WebCoreSupport/EmbeddedWidget.cpp:

(EmbeddedWidget::windowClipRect):
Updated after windowClipRectForLayer name and signature change.

  • WebCoreSupport/EmbeddedWidget.h:

(EmbeddedWidget):
(EmbeddedWidget::EmbeddedWidget):
Updated the internal DOM pointer to be an HTMLPlugInElement
as it was what was passed in anyway. Also fixed some style
issues detected by our tools.

Source/WebKit2:

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::clipRectInWindowCoordinates):
Updated after windowClipRectForLayer name and signature change.

4:32 PM Changeset in webkit [116370] by Philippe Normand
  • 2 edits in trunk/LayoutTests

Unreviewed, GTK gardening.

  • platform/gtk/test_expectations.txt: Mark seamless frames as

failing until we enable the feature.

4:32 PM Changeset in webkit [116369] by Lucas Forschler
  • 4 edits in trunk/Source

Versioning.

4:30 PM Changeset in webkit [116368] by enrica@apple.com
  • 6 edits in trunk/Source/WebCore

REGRESSION (r101575): Chinese input is broken when composing mail in iCloud using Safari.
https://bugs.webkit.org/show_bug.cgi?id=85840
<rdar://problem/11115520>

Reviewed by Alexey Proskuryakov.

The revision that broke this, introduced a way to sanitize the markup when deleting a range selection.
iCloud listens for DOM modification events and clears the selection, altering the input method state.
The fix consists in adding a paramenter to DeleteSelectionCommand to control when we sanitize the
markup.

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::deleteSelection):

  • editing/CompositeEditCommand.h:
  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
(WebCore::DeleteSelectionCommand::doApply):

  • editing/DeleteSelectionCommand.h:

(WebCore::DeleteSelectionCommand::create):

  • editing/InsertTextCommand.cpp:

(WebCore::InsertTextCommand::doApply):

4:22 PM Changeset in webkit [116367] by aestes@apple.com
  • 8 edits in trunk/Source

ENABLE_IFRAME_SEAMLESS should be part of FEATURE_DEFINES.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
4:15 PM Changeset in webkit [116366] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

webkitdirs.pm: Make determineNumberOfCPUs work on FreeBSD.
https://bugs.webkit.org/show_bug.cgi?id=81481

Patch by Raphael Kubo da Costa <rakuco@FreeBSD.org> on 2012-05-07
Reviewed by Dirk Pranke.

FreeBSD has the same sysctl interface present in Darwin to query
the number of CPUs available, so use that too.

  • Scripts/webkitdirs.pm:

(determineNumberOfCPUs): Share the sysctl call with Darwin.
(isFreeBSD): Added.

4:07 PM Changeset in webkit [116365] by Martin Robinson
  • 3 edits in trunk/Source/WebCore

[Cairo] Implement ImageBuffer::copyImage for BackingStoreCopy == DontCopyBackingStore
https://bugs.webkit.org/show_bug.cgi?id=85728

Reviewed by Alejandro G. Castro.

No new tests. This should not change functionality, only increase performance.

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::copyImage): Add an implementation that knows how to avoid copying the backing store.
(WebCore::ImageBuffer::draw): Use the copyImage constructor now that it knows how to
avoid copying the backing store.
(WebCore::ImageBuffer::drawPattern): Ditto.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::updateBackingStore): Use DontCopyBackingStore for Cairo
as well.

4:06 PM Changeset in webkit [116364] by noel.gordon@gmail.com
  • 2 edits in trunk/Source/WebCore

[CG] Separate image encoding from dataURL construction
https://bugs.webkit.org/show_bug.cgi?id=85782

Reviewed by Kenneth Russell.

Remove the implicit assumption that a dataURL is the only desired output format
of the image encoding phase.

No new tests. No behavioral change. Covered by canvas 2d and 3d tests:

canvas/philip/tests/*toDataURL*.html
fast/canvas/webgl/premultiplyalpha-test.html

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::CGImageEncodeToData): Image encoding helper: encode the image using the
uti-defined encoder (PNG/JPEG/etc) and output to the given CFMutableDataRef data.
(WebCore):
(WebCore::CGImageToDataURL): Refactor to use CGImageEncodeToData().

4:02 PM Changeset in webkit [116363] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix release build.

4:00 PM Changeset in webkit [116362] by danakj@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[chromium] Ensure synchronization in threaded unit tests by checking the sourceFrameNumber() to count commits
https://bugs.webkit.org/show_bug.cgi?id=85390

Reviewed by Adrienne Walker.

  • tests/CCLayerTreeHostTest.cpp:

(WTF::CCLayerTreeHostTestScrollMultipleRedraw::beginCommitOnCCThread):
(WTF::CCLayerTreeHostTestAtomicCommit::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestAtomicCommitWithPartialUpdate::commitCompleteOnCCThread):
(WTF::CCLayerTreeHostTestScrollChildLayer::beginCommitOnCCThread):

3:52 PM Changeset in webkit [116361] by oliver@apple.com
  • 7 edits in trunk

LLInt doesn't check for Ropes when performing a character switch
https://bugs.webkit.org/show_bug.cgi?id=85837

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Make LLint check if the scrutinee of a char switch is a rope, and if
so fall back to a slow case.

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(LLInt):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:

LayoutTests:

Add a few tests to force the use of ropes on switch statements.

  • fast/js/script-tests/switch-behaviour.js:
  • fast/js/switch-behaviour-expected.txt:
3:29 PM Changeset in webkit [116360] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Chromium] Suppress switch-without-cases warning
https://bugs.webkit.org/show_bug.cgi?id=85830

Warnings like
...\webkit\CSSGrammar.cpp(2075) : warning C4065: switch statement contains 'default' but no 'case' labels
are generated. These are bogus, so just suppress them in the build
settings.

Patch by Scott Graham <scottmg@chromium.org> on 2012-05-07
Reviewed by Dirk Pranke

No new tests, no intended functionlity change. Just changing compiler
settings.

  • WebCore.gyp/WebCore.gyp:
3:21 PM Changeset in webkit [116359] by enne@google.com
  • 9 edits in trunk/Source

[chromium] Allow for asymmetric tile sizes on composited tiled layers
https://bugs.webkit.org/show_bug.cgi?id=85687

Reviewed by James Robinson.

Source/WebCore:

Update TiledLayerChromium/CCLayerTilingData/TilingData to allow for a
the width and height of tile sizes to differ. Modify TilingData to use
IntSize everywhere for these width/height pairs.

Also, remove some unused functions from TilingData.

Test: TilingDataTest.*

  • platform/graphics/chromium/TiledLayerChromium.cpp:

(WebCore::TiledLayerChromium::TiledLayerChromium):
(WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):

  • platform/graphics/chromium/cc/CCLayerTilingData.cpp:

(WebCore::CCLayerTilingData::CCLayerTilingData):
(WebCore::CCLayerTilingData::setTileSize):
(WebCore):
(WebCore::CCLayerTilingData::tileSize):
(WebCore::CCLayerTilingData::operator=):
(WebCore::CCLayerTilingData::tileRect):
(WebCore::CCLayerTilingData::setBounds):
(WebCore::CCLayerTilingData::bounds):

  • platform/graphics/chromium/cc/CCLayerTilingData.h:

(CCLayerTilingData):

  • platform/graphics/gpu/Texture.cpp:

(WebCore::Texture::Texture):
(WebCore::Texture::create):
(WebCore::Texture::load):
(WebCore::Texture::updateSubRect):

  • platform/graphics/gpu/TilingData.cpp:

(WebCore::TilingData::TilingData):
(WebCore::TilingData::setTotalSize):
(WebCore::TilingData::setMaxTextureSize):
(WebCore::TilingData::tileXIndexFromSrcCoord):
(WebCore::TilingData::tileYIndexFromSrcCoord):
(WebCore::TilingData::tileBounds):
(WebCore::TilingData::tileSizeX):
(WebCore::TilingData::tileSizeY):
(WebCore::TilingData::recomputeNumTiles):

  • platform/graphics/gpu/TilingData.h:

(TilingData):
(WebCore::TilingData::totalSize):
(WebCore::TilingData::maxTextureSize):
(WebCore::TilingData::TilingData):

Source/WebKit/chromium:

Update tests for new constructor and function args. Add a few more
tests that use non-square tile sizes.

  • tests/TilingDataTest.cpp:

(WebCore::TestTiling::TestTiling):
(WebCore::TEST):
(WebCore):

3:15 PM Changeset in webkit [116358] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

ConvolverNode setBuffer() should not ASSERT on null buffer
https://bugs.webkit.org/show_bug.cgi?id=85653

Patch by Raymond Toy <Raymond Toy> on 2012-05-07
Reviewed by Chris Rogers.

Source/WebCore:

Test: webaudio/convolver-setBuffer-null.html

  • Modules/webaudio/ConvolverNode.cpp:

(WebCore::ConvolverNode::setBuffer): Don't ASSERT on null buffer.

LayoutTests:

  • webaudio/convolver-setBuffer-null-expected.txt: Added.
  • webaudio/convolver-setBuffer-null.html: Added.
3:07 PM Changeset in webkit [116357] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Crash due to positioned object list not being cleared during block flow split
https://bugs.webkit.org/show_bug.cgi?id=85074

Patch by Ken Buchanan <kenrb@chromium.org> on 2012-05-07
Reviewed by Abhishek Arya.

Source/WebCore:

When an element is being split due to a column span element being
inserted, any of its ancestors that are underneath the column
containing block also get split. If an ancestor has an object in
its positioned object list from a previous layout, then the list
will have to be cleared because the positioned object could have moved
to be under the continuation. This patch causes the list to be
cleared.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::splitBlocks):

LayoutTests:

Test exercises crashing condition in bug 85074. It creates a column
span that requires multiple layers of splitting blocks from the
element that contains the columns, puts a positioned element underneath
one of the split blocks, and then causes a reattach of the column span
element.

  • fast/block/positioning/positioned-object-under-split-block-parent-crash-expected.txt: Added
  • fast/block/positioning/positioned-object-under-split-block-parent-crash.html: Added
3:02 PM Changeset in webkit [116356] by eric@webkit.org
  • 13 edits in trunk

Add ENABLE_IFRAME_SEAMLESS so Apple can turn off SEAMLESS if needed
https://bugs.webkit.org/show_bug.cgi?id=85822

Reviewed by Adam Barth.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:
  • dom/Document.cpp:

(WebCore::Document::shouldDisplaySeamlesslyWithParent):

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

WebKitLibraries:

  • win/tools/vsprops/FeatureDefines.vsprops:
2:57 PM Changeset in webkit [116355] by aestes@apple.com
  • 10 edits in trunk/LayoutTests

Update media/ pixel test results after r115749.

  • platform/mac/media/audio-controls-rendering-expected.png:
  • platform/mac/media/controls-after-reload-expected.png:
  • platform/mac/media/controls-layout-direction-expected.png:
  • platform/mac/media/controls-strict-expected.png:
  • platform/mac/media/media-controls-clone-expected.png:
  • platform/mac/media/video-controls-rendering-expected.png:
  • platform/mac/media/video-display-toggle-expected.png:
  • platform/mac/media/video-layer-crash-expected.png:
  • platform/mac/media/video-playing-and-pause-expected.png:
2:40 PM Changeset in webkit [116354] by dpranke@chromium.org
  • 2 edits in trunk/LayoutTests

Fix compositing expectations to not include leopard.

Unreviewed, expectations change.

  • platform/chromium/test_expectations.txt:
2:30 PM Changeset in webkit [116353] by commit-queue@webkit.org
  • 4 edits
    2 adds in trunk

Selection Background Color Error
https://bugs.webkit.org/show_bug.cgi?id=80382

Patch by Shezan Baig <shezbaig.wk@gmail.com> on 2012-05-07
Reviewed by David Hyatt.

Source/WebCore:

Determine the text colors and selection colors before painting the
background behind the text. This is because when determining whether
to invert the selection background, the selection text color should be
used instead of the regular text color. With this patch, the selection
text color is passed to 'paintSelection' so that the selection
background can be compared against it, instead of comparing against the
CSSPropertyColor value.

Test: fast/backgrounds/selection-background-color.html

  • rendering/InlineTextBox.cpp:

(WebCore::InlineTextBox::paint):

Pass selection text color to paintSelection

(WebCore::InlineTextBox::paintSelection):

Use the selection text color instead of CSSPropertyColor

  • rendering/InlineTextBox.h:

(InlineTextBox):

Adjust signature of paintSelection to accept text color

LayoutTests:

Added new test case for selection background color.

  • fast/backgrounds/selection-background-color.html: Added.
  • fast/backgrounds/selection-background-color-expected.html: Added.
1:41 PM Changeset in webkit [116352] by alexis.menard@openbossa.org
  • 4 edits in trunk

Unreviewed Qt build fix in Debug.

We need some system includes here for getpid() to be recognized.

Source/WebKit2:

  • qt/MainQt.cpp:

Tools:

  • WebKitTestRunner/qt/main.cpp:
1:40 PM Changeset in webkit [116351] by commit-queue@webkit.org
  • 18 edits
    1 copy
    2 adds
    1 delete in trunk/Source

[Chromium] Use GL_CHROMIUM_command_buffer_query to throttle texture uploads.
https://bugs.webkit.org/show_bug.cgi?id=81004

Patch by David Reveman <reveman@chromium.org> on 2012-05-07
Reviewed by Adrienne Walker.

Source/WebCore:

Add ThrottledTextureUploader class that uses GL_CHROMIUM_command_buffer_query
to throttle texture uploads based on number of currently pending queries.

Unit test: ThrottledTextureUploaderTest.IsBusy

  • WebCore.gypi:
  • platform/graphics/chromium/LayerRendererChromium.cpp:

(WebCore::LayerRendererChromium::create):
(WebCore::LayerRendererChromium::LayerRendererChromium):
(WebCore::LayerRendererChromium::initializeSharedObjects):

  • platform/graphics/chromium/LayerRendererChromium.h:

(LayerRendererChromium):

  • platform/graphics/chromium/TextureUploader.cpp: Removed.
  • platform/graphics/chromium/TextureUploader.h:

(TextureUploader):

  • platform/graphics/chromium/ThrottledTextureUploader.cpp: Added.

(WebCore):
(WebCore::ThrottledTextureUploader::Query::Query):
(WebCore::ThrottledTextureUploader::Query::~Query):
(WebCore::ThrottledTextureUploader::Query::begin):
(WebCore::ThrottledTextureUploader::Query::end):
(WebCore::ThrottledTextureUploader::Query::isPending):
(WebCore::ThrottledTextureUploader::Query::wait):
(WebCore::ThrottledTextureUploader::ThrottledTextureUploader):
(WebCore::ThrottledTextureUploader::~ThrottledTextureUploader):
(WebCore::ThrottledTextureUploader::isBusy):
(WebCore::ThrottledTextureUploader::beginUploads):
(WebCore::ThrottledTextureUploader::endUploads):
(WebCore::ThrottledTextureUploader::uploadTexture):
(WebCore::ThrottledTextureUploader::processQueries):

  • platform/graphics/chromium/ThrottledTextureUploader.h: Copied from Source/WebCore/platform/graphics/chromium/TextureUploader.h.

(WebCore):
(ThrottledTextureUploader):
(WebCore::ThrottledTextureUploader::create):
(Query):
(WebCore::ThrottledTextureUploader::Query::create):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:

(WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):

  • platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:

(CCLayerTreeHostImpl):

  • platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:

(UnthrottledTextureUploader):
(WebCore::UnthrottledTextureUploader::create):
(WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
(WebCore::UnthrottledTextureUploader::isBusy):
(WebCore::UnthrottledTextureUploader::beginUploads):
(WebCore::UnthrottledTextureUploader::endUploads):
(WebCore::UnthrottledTextureUploader::uploadTexture):
(WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
(WebCore):
(WebCore::CCSingleThreadProxy::initializeLayerRenderer):
(WebCore::CCSingleThreadProxy::recreateContext):
(WebCore::CCSingleThreadProxy::doCommit):

  • platform/graphics/chromium/cc/CCTextureUpdater.cpp:

(WebCore::CCTextureUpdater::update):

  • platform/graphics/chromium/cc/CCTextureUpdater.h:

(CCTextureUpdater):

  • platform/graphics/chromium/cc/CCThreadProxy.cpp:

(WebCore):
(UnthrottledTextureUploader):
(WebCore::UnthrottledTextureUploader::create):
(WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
(WebCore::UnthrottledTextureUploader::isBusy):
(WebCore::UnthrottledTextureUploader::beginUploads):
(WebCore::UnthrottledTextureUploader::endUploads):
(WebCore::UnthrottledTextureUploader::uploadTexture):
(WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
(WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
(WebCore::CCThreadProxy::recreateContextOnImplThread):

Source/WebKit/chromium:

  • WebKit.gypi:
  • tests/CCLayerTreeHostImplTest.cpp:

(WebKitTests::TEST_F):

  • tests/CCTiledLayerTestCommon.h:

(WebKitTests::FakeTextureUploader::isBusy):
(WebKitTests::FakeTextureUploader::beginUploads):
(WebKitTests::FakeTextureUploader::endUploads):

  • tests/Canvas2DLayerChromiumTest.cpp:
  • tests/LayerRendererChromiumTest.cpp:

(FakeLayerRendererChromium::FakeLayerRendererChromium):
(LayerRendererChromiumTest::LayerRendererChromiumTest):
(TEST):

  • tests/ThrottledTextureUploaderTest.cpp: Added.

(WebKit):
(FakeWebGraphicsContext3DWithQueryTesting):
(WebKit::FakeWebGraphicsContext3DWithQueryTesting::FakeWebGraphicsContext3DWithQueryTesting):
(WebKit::FakeWebGraphicsContext3DWithQueryTesting::getQueryObjectuivEXT):
(WebKit::FakeWebGraphicsContext3DWithQueryTesting::setResultAvailable):
(WebKit::TEST):

  • tests/TiledLayerChromiumTest.cpp:

(WTF::TEST):

1:37 PM Changeset in webkit [116350] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Delete previous buffer when new over-scroll image path is set
https://bugs.webkit.org/show_bug.cgi?id=85812

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

When a new over-scroll image path is set, delete old buffer before creating
a new one.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::ensureOverScrollImage):

1:37 PM Changeset in webkit [116349] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Rebaseline fast/layers/video-layer.html.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-07

  • platform/efl/fast/layers/video-layer-expected.txt:
1:23 PM Changeset in webkit [116348] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Over-scroll image path property should be relative to local application directory
https://bugs.webkit.org/show_bug.cgi?id=85814

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

Over-scroll image path web setting should be relative to the local directory.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::ensureOverScrollImage):

1:23 PM Changeset in webkit [116347] by ojan@chromium.org
  • 4 edits
    2 adds in trunk/Tools

When embedding the flakiness dashboard, hide popups when the frame is blurred.
https://bugs.webkit.org/show_bug.cgi?id=85684

Reviewed by Dirk Pranke.

If you show a popup, then click elsewhere in garden-o-matic, it will now
properly hide it.

  • TestResultServer/static-dashboards/dashboard_base.js:

(showPopup):

  • TestResultServer/static-dashboards/flakiness_dashboard.js:

(showPopupForBuild):
(generatePageForIndividualTests.if):
(generatePageForIndividualTests):

  • TestResultServer/static-dashboards/flakiness_dashboard_embedded_unittests.js: Added.
  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
  • TestResultServer/static-dashboards/run-embedded-unittests.html: Added.
1:21 PM Changeset in webkit [116346] by dpranke@chromium.org
  • 2 edits in trunk/LayoutTests

Mark more tests as flaky, including some compositing tests
https://bugs.webkit.org/show_bug.cgi?id=85771

Unreviewed, expectations change.

  • platform/chromium/test_expectations.txt:
1:19 PM Changeset in webkit [116345] by fpizlo@apple.com
  • 20 edits in branches/dfgopt/Source/JavaScriptCore

DFG should support reflective arguments access
https://bugs.webkit.org/show_bug.cgi?id=85721

Reviewed by Oliver Hunt.

This adds support for op_create_arguments to the DFG. No other arguments-related
opcodes are added by this change, though it does add a lot of the scaffolding
necessary for the other ops.

This also adds GetByVal/PutByVal optimizations for Arguments.

Finally, this rationalizes slowPathCall with no return. Previously, that would
work via callOperation() overloads that took InvalidGPRReg as the return GPR.
But that creates awful ambiguity, since we had template functions that were
polymorphic over all parameters except the second, which was a GPRReg, and a
bunch of non-template overloads that also potentially had GPRReg as the second
argument. I finally started to hit this ambiguity and was getting absolutely
bizarre compiler errors, that made me feel like I was programming in SML. So,
I changed the no-argument overloads to take NoResultTag instead, which made
everything sensible again by eliminating the overload ambiguity.

This is a ~7% speed-up on V8/earley and neutral elsewhere.

  • bytecode/PredictedType.h:

(JSC::isArgumentsPrediction):
(JSC):
(JSC::isActionableMutableArrayPrediction):

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGCCallHelpers.h:

(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):
(CCallHelpers):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGCapabilities.h:

(JSC::DFG::canCompileOpcode):
(JSC::DFG::canInlineOpcode):

  • dfg/DFGCommon.h:
  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNode.h:

(JSC::DFG::Node::unmodifiedArgumentsRegister):
(Node):
(JSC::DFG::Node::shouldSpeculateArguments):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):
(JSC::DFG::SpeculativeJIT::compileGetByValOnArguments):
(DFG):
(JSC::DFG::SpeculativeJIT::compileGetArgumentsLength):

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::silentSpillAllRegistersImpl):
(SpeculativeJIT):
(JSC::DFG::SpeculativeJIT::pickCanTrample):
(JSC::DFG::SpeculativeJIT::callOperation):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::cachedPutById):
(JSC::DFG::SpeculativeJIT::compile):

  • runtime/Arguments.h:

(ArgumentsData):
(Arguments):
(JSC::Arguments::offsetOfData):

1:17 PM Changeset in webkit [116344] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[chromium] WebViewHost should setCompositorSurfaceReady
https://bugs.webkit.org/show_bug.cgi?id=85418

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

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::setWebWidget):

1:16 PM Changeset in webkit [116343] by rwlbuis@webkit.org
  • 4 edits in trunk/Source/WebCore

Shrink SVGInlineTextBox object size
https://bugs.webkit.org/show_bug.cgi?id=85805

Reviewed by Darin Adler.

Reduce the object size of SVGInlineTextBox by using bitfields. This
should be 4 bytes on 32-bits and 8 bytes on 64-bits systems.

  • rendering/svg/RenderSVGResource.h:
  • rendering/svg/SVGInlineTextBox.cpp:

(ExpectedSVGInlineTextBoxSize):
(WebCore):

  • rendering/svg/SVGInlineTextBox.h:

(SVGInlineTextBox):

1:14 PM Changeset in webkit [116342] by commit-queue@webkit.org
  • 6 edits
    5 deletes in trunk/Source

Unreviewed, rolling out r116334.
http://trac.webkit.org/changeset/116334
https://bugs.webkit.org/show_bug.cgi?id=85816

Broke the Chromium Win/Mac compile (Requested by
ojan_gardening on #webkit).

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

Source/WebCore:

  • WebCore.gypi:
  • platform/graphics/chromium/AnimationIdVendor.cpp: Removed.
  • platform/graphics/chromium/AnimationIdVendor.h: Removed.
  • platform/graphics/chromium/GraphicsLayerChromium.cpp:

(std):
(WebCore::GraphicsLayerChromium::updateNames):
(WebCore::GraphicsLayerChromium::addAnimation):
(WebCore::GraphicsLayerChromium::updateChildList):
(WebCore::GraphicsLayerChromium::mapAnimationNameToId):

  • platform/graphics/chromium/GraphicsLayerChromium.h:

(WebCore):
(GraphicsLayerChromium):

  • platform/graphics/chromium/LinkHighlightLayerDelegate.cpp: Removed.
  • platform/graphics/chromium/LinkHighlightLayerDelegate.h: Removed.

Source/WebKit/chromium:

  • WebKit.gypi:
  • tests/LinkHighlightLayerDelegateTest.cpp: Removed.
1:10 PM Changeset in webkit [116341] by commit-queue@webkit.org
  • 4 edits in trunk

[EFL] Page caching permission from EFL's FrameLoaderClient
https://bugs.webkit.org/show_bug.cgi?id=85620

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-07
Reviewed by Gustavo Noronha Silva.

Source/WebKit/efl:

FrameLoaderClientEfl::canCachePage() returns true.

  • WebCoreSupport/FrameLoaderClientEfl.cpp:

(WebCore::FrameLoaderClientEfl::canCachePage):

LayoutTests:

Unskip bug-related testcases.

  • platform/efl/Skipped:
1:06 PM Changeset in webkit [116340] by aestes@apple.com
  • 2 edits
    2 deletes in trunk/LayoutTests

Update mac-wk2 baselines.

  • platform/mac-wk2/Skipped: Skip a test that times out due to WKTR's

EventSender implementation not supporting drag and drop.

Remove mac-wk2 platform-specific results for two tests that now match the baseline result.

  • platform/mac-wk2/editing/selection/select-across-readonly-input-1-expected.txt: Removed.
  • platform/mac-wk2/media/no-auto-play-in-sandbox-expected.txt: Removed.
12:35 PM Changeset in webkit [116339] by enne@google.com
  • 2 edits in trunk/Source/WebCore

Fix containerForRepaint() assumption about non-null enclosingLayer()
https://bugs.webkit.org/show_bug.cgi?id=85807

Reviewed by Simon Fraser.

  • rendering/RenderObject.cpp:

(WebCore::RenderObject::containerForRepaint):

12:22 PM Changeset in webkit [116338] by jonlee@apple.com
  • 8 edits in trunk/Tools

WebKitTestRunner needs layoutTestController.dumpFrameLoadCallbacks
https://bugs.webkit.org/show_bug.cgi?id=42331
<rdar://problem/8193641>

Reviewed by Darin Adler.

This patch sets up the framework for supporting dumpFrameLoadCallbacks, as well as
outputting some of the required strings. As tests become unskipped the other callbacks
can be supported.

  • WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl: Add dumpFrameLoadCallbacks()
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::didReceiveMessage): pass in the dictionary containing keys needed to initialize
dump callbacks for the layoutTestController.
(WTR::InjectedBundle::booleanForKey): Helper function to extract boolean value from key in WKDictionaryRef.
Output some warning if we are trying to extract a value that is not a boolean.
(WTR::InjectedBundle::beginTesting): Update to take in the dictionary passed in by the TestController.
We cannot set the bits on the layoutTestController until it has been created in beginTesting().

  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:
  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::didReceiveMessage):
(WTR):
(WTR::InjectedBundle::beginTesting):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.h:

(InjectedBundle):

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR):
(WTR::dumpFrameDescriptionSuitableForTestResult): Static function similar to
-[WebFrame _drt_descriptionSuitableForTestResult] in DumpRenderTree.
(WTR::InjectedBundlePage::didStartProvisionalLoadForFrame): Output string.
(WTR::InjectedBundlePage::didCommitLoadForFrame): Output string.
(WTR::InjectedBundlePage::didFinishLoadForFrame): Output string.
(WTR::InjectedBundlePage::didReceiveTitleForFrame): Output string.
(WTR::InjectedBundlePage::didCancelClientRedirectForFrame): Output string.
(WTR::InjectedBundlePage::willPerformClientRedirectForFrame): Output string. In WK1 it's
"willPerformClientRedirectToURL" so we will have to use that value here.
(WTR::InjectedBundlePage::didFinishDocumentLoadForFrame): Output string.
(WTR::InjectedBundlePage::didHandleOnloadEventsForFrame): Output string.

  • WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:

(WTR::LayoutTestController::LayoutTestController): Initialize to not dump frame load callbacks.

  • WebKitTestRunner/InjectedBundle/LayoutTestController.h:

(WTR::LayoutTestController::dumpFrameLoadCallbacks): Change to use setShouldDumpFrameLoadCallbacks.
(WTR::LayoutTestController::setShouldDumpFrameLoadCallbacks): Set bit.
(WTR::LayoutTestController::shouldDumpFrameLoadCallbacks): Return bit.
(LayoutTestController): Added m_dumpFrameLoadCallbacks to track whether to dump the output.

  • WebKitTestRunner/TestInvocation.cpp:

(WTR::shouldLogFrameLoadDelegates): Similar to DRT.
(WTR::TestInvocation::invoke): Based on the URL loaded, set the bit in the dictionary that gets passed
to the injected bundle.

12:12 PM Changeset in webkit [116337] by commit-queue@webkit.org
  • 148 edits
    3 adds in trunk

IndexedDB: Replace numeric constants with strings
https://bugs.webkit.org/show_bug.cgi?id=84894

Patch by Alec Flett <alecflett@chromium.org> on 2012-05-07
Reviewed by Tony Chang.

Source/WebCore:

Test: storage/indexeddb/legacy-constants.html

Update IDBObjectStore.openCursor, IDBIndex.openCursor,
IDBIndex.openKeyCursor, IDBDatabase.transaction,
IDBCursor.direction, IDBTransaction.mode, and
IDBRequest.readyState to meet the latest spec. All of these APIs
now support string-based values in addition to the
legacy/deprecated enum-based values.

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore):
(WebCore::IDBCursor::direction):
(WebCore::IDBCursor::stringToDirection):
(WebCore::IDBCursor::directionToString):

  • Modules/indexeddb/IDBCursor.h:

(IDBCursor):

  • Modules/indexeddb/IDBCursor.idl:
  • Modules/indexeddb/IDBDatabase.cpp:

(WebCore::IDBDatabase::transaction):
(WebCore):

  • Modules/indexeddb/IDBDatabase.h:

(IDBDatabase):

  • Modules/indexeddb/IDBDatabase.idl:
  • Modules/indexeddb/IDBIndex.cpp:

(WebCore::IDBIndex::openCursor):
(WebCore):
(WebCore::IDBIndex::openKeyCursor):

  • Modules/indexeddb/IDBIndex.h:

(WebCore::IDBIndex::openCursor):
(IDBIndex):
(WebCore::IDBIndex::openKeyCursor):

  • Modules/indexeddb/IDBIndex.idl:
  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::IDBObjectStore::openCursor):
(WebCore):

  • Modules/indexeddb/IDBObjectStore.h:

(WebCore::IDBObjectStore::openCursor):
(IDBObjectStore):

  • Modules/indexeddb/IDBObjectStore.idl:
  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::IDBRequest):
(WebCore::IDBRequest::readyState):
(WebCore::IDBRequest::markEarlyDeath):
(WebCore::IDBRequest::resetReadyState):
(WebCore::IDBRequest::abort):
(WebCore::IDBRequest::finishCursor):
(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::stop):

  • Modules/indexeddb/IDBRequest.h:
  • Modules/indexeddb/IDBRequest.idl:
  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore):
(WebCore::IDBTransaction::mode):
(WebCore::IDBTransaction::stringToMode):
(WebCore::IDBTransaction::modeToString):

  • Modules/indexeddb/IDBTransaction.h:

(IDBTransaction):

  • Modules/indexeddb/IDBTransaction.idl:

LayoutTests:

New test for legacy constants (legacy-constants) and update all
other tests to use the new string-based constants.

  • storage/indexeddb/basics-expected.txt:
  • storage/indexeddb/basics-workers-expected.txt:
  • storage/indexeddb/constants-expected.txt:
  • storage/indexeddb/create-object-store-options-expected.txt:
  • storage/indexeddb/cursor-added-bug-expected.txt:
  • storage/indexeddb/cursor-advance-expected.txt:
  • storage/indexeddb/cursor-continue-expected.txt:
  • storage/indexeddb/cursor-continue-validity-expected.txt:
  • storage/indexeddb/cursor-delete-expected.txt:
  • storage/indexeddb/cursor-inconsistency-expected.txt:
  • storage/indexeddb/cursor-index-delete-expected.txt:
  • storage/indexeddb/cursor-key-order-expected.txt:
  • storage/indexeddb/cursor-prev-no-duplicate-expected.txt:
  • storage/indexeddb/cursor-primary-key-order-expected.txt:
  • storage/indexeddb/cursor-reverse-bug-expected.txt:
  • storage/indexeddb/cursor-skip-deleted-expected.txt:
  • storage/indexeddb/cursor-update-expected.txt:
  • storage/indexeddb/data-corruption-expected.txt:
  • storage/indexeddb/database-quota-expected.txt:
  • storage/indexeddb/delete-range-expected.txt:
  • storage/indexeddb/error-causes-abort-by-default-expected.txt:
  • storage/indexeddb/exception-in-event-aborts-expected.txt:
  • storage/indexeddb/factory-deletedatabase-expected.txt:
  • storage/indexeddb/index-count-expected.txt:
  • storage/indexeddb/index-multientry-expected.txt:
  • storage/indexeddb/index-unique-expected.txt:
  • storage/indexeddb/key-generator-expected.txt:
  • storage/indexeddb/key-type-array-expected.txt:
  • storage/indexeddb/keypath-edges-expected.txt:
  • storage/indexeddb/keypath-intrinsic-properties-expected.txt:
  • storage/indexeddb/legacy-constants-expected.txt: Added.
  • storage/indexeddb/legacy-constants.html: Added.
  • storage/indexeddb/mozilla/clear-expected.txt:
  • storage/indexeddb/mozilla/create-index-unique-expected.txt:
  • storage/indexeddb/mozilla/create-objectstore-basics-expected.txt:
  • storage/indexeddb/mozilla/cursor-mutation-expected.txt:
  • storage/indexeddb/mozilla/cursor-mutation-objectstore-only-expected.txt:
  • storage/indexeddb/mozilla/cursors-expected.txt:
  • storage/indexeddb/mozilla/index-prev-no-duplicate-expected.txt:
  • storage/indexeddb/mozilla/index-prev-no-duplicate.html:
  • storage/indexeddb/mozilla/indexes-expected.txt:
  • storage/indexeddb/mozilla/odd-result-order-expected.txt:
  • storage/indexeddb/mozilla/readwrite-transactions-expected.txt:
  • storage/indexeddb/mozilla/readyState-expected.txt:
  • storage/indexeddb/mozilla/resources/clear.js:

(clear):

  • storage/indexeddb/mozilla/resources/create-index-unique.js:

(createAndVerifyIndex):

  • storage/indexeddb/mozilla/resources/create-objectstore-basics.js:

(cleanDatabase):

  • storage/indexeddb/mozilla/resources/cursor-mutation-objectstore-only.js:

(checkCursorResultsAndSetupMutatingCursor):

  • storage/indexeddb/mozilla/resources/cursor-mutation.js:

(setupMutatingCursor):

  • storage/indexeddb/mozilla/resources/cursors.js:
  • storage/indexeddb/mozilla/resources/indexes.js:
  • storage/indexeddb/mozilla/resources/odd-result-order.js:

(addRecord):
(deleteRecord):

  • storage/indexeddb/mozilla/resources/readwrite-transactions.js:

(setVersionComplete):
(postAdd):
(postAdd2):
(postPut):
(postPut2):
(postPut3):
(postPut4):
(postDelete):
(postDelete2):

  • storage/indexeddb/mozilla/resources/readyState.js:

(test):
(openSuccess):
(setupObjectStore):
(getRecord):
(finalCheck):

  • storage/indexeddb/mozilla/resources/versionchange.js:

(postSetVersion):
(postSetVersion2):

  • storage/indexeddb/mozilla/versionchange-expected.txt:
  • storage/indexeddb/mutating-cursor-expected.txt:
  • storage/indexeddb/noblobs-expected.txt:
  • storage/indexeddb/noblobs.html:
  • storage/indexeddb/objectstore-autoincrement-expected.txt:
  • storage/indexeddb/objectstore-basics-expected.txt:
  • storage/indexeddb/objectstore-basics-workers-expected.txt:
  • storage/indexeddb/objectstore-count-expected.txt:
  • storage/indexeddb/open-cursor-expected.txt:
  • storage/indexeddb/open-during-transaction-expected.txt:
  • storage/indexeddb/opencursor-key-expected.txt:
  • storage/indexeddb/prefetch-bugfix-108071-expected.txt:
  • storage/indexeddb/readonly-expected.txt:
  • storage/indexeddb/request-event-propagation-expected.txt:
  • storage/indexeddb/resources/basics.js:

(test):
(openCallback):

  • storage/indexeddb/resources/constants.js:

(test):

  • storage/indexeddb/resources/create-object-store-options.js:

(setVersionComplete):

  • storage/indexeddb/resources/cursor-added-bug.js:

(openCursor):

  • storage/indexeddb/resources/cursor-advance.js:

(runTest):
(testAdvanceIndexNoDupe):
(testAdvanceIndexPrev):
(testAdvanceIndexPrevNoDupe):

  • storage/indexeddb/resources/cursor-continue-validity.js:

(continueTest):
(continueIndexTest):
(testModifyContinueOrder):

  • storage/indexeddb/resources/cursor-continue.js:

(ascendingTest):
(descendingTest):

  • storage/indexeddb/resources/cursor-delete.js:

(openCursor):
(addObject):

  • storage/indexeddb/resources/cursor-inconsistency.js:

(openBasicCursor):

  • storage/indexeddb/resources/cursor-index-delete.js:

(openCursor):
(addObject):

  • storage/indexeddb/resources/cursor-key-order.js:
  • storage/indexeddb/resources/cursor-prev-no-duplicate.js:

(populateStore):
(testFarRangeCursor_closed):
(testFarRangeCursor_open):
(testFarRangeCursor_indexClosed):
(testFarRangeCursor_indexOpen):
(testFarRangeCursor_indexKeyOpen):
(testFarRangeCursor_indexKeyClosed):
(testBoundaryCursor_closed):
(testBoundaryCursor_open):
(testBoundaryCursor_indexClosed):
(testBoundaryCursor_indexOpen):
(testBoundaryCursor_indexKeyClosed):
(testBoundaryCursor_indexKeyOpen):
(testNoDuplicate_closed):
(testNoDuplicate_open):
(testNoDuplicate_indexKeyClosed):

  • storage/indexeddb/resources/cursor-primary-key-order.js:

(populateStore):

  • storage/indexeddb/resources/cursor-reverse-bug.js:

(populateStore):
(testCursor):

  • storage/indexeddb/resources/cursor-skip-deleted.js:

(basicCursorTest):
(reverseCursorTest):

  • storage/indexeddb/resources/cursor-update.js:

(openBasicCursor):

  • storage/indexeddb/resources/data-corruption.js:

(addData):
(getData):

  • storage/indexeddb/resources/database-quota.js:

(checkQuotaEnforcing):

  • storage/indexeddb/resources/delete-range.js:

(runTests.nextTest):
(runTests):

  • storage/indexeddb/resources/error-causes-abort-by-default.js:

(addData):
(transactionCompleted):
(transactionAborted1):

  • storage/indexeddb/resources/exception-in-event-aborts.js:

(startTest):
(transactionAborted1):
(transactionAborted2):

  • storage/indexeddb/resources/factory-deletedatabase.js:

(getValue):

  • storage/indexeddb/resources/index-count.js:
  • storage/indexeddb/resources/index-cursor.js:

(runNextTest):
(testNullKeyRange):

  • storage/indexeddb/resources/index-multientry.js:
  • storage/indexeddb/resources/index-unique.js:

(setVersionCompleted):

  • storage/indexeddb/resources/key-generator.js:

(.):

  • storage/indexeddb/resources/key-type-array.js:
  • storage/indexeddb/resources/keypath-edges.js:
  • storage/indexeddb/resources/keypath-intrinsic-properties.js:
  • storage/indexeddb/resources/legacy-constants.js: Added.

(test):
(prepareDatabase.openreq.onsuccess.verreq.onsuccess):
(prepareDatabase.openreq.onsuccess):
(prepareDatabase):
(populateStore):
(checkNext.request.onsuccess):
(checkNext):
(checkNextNoDuplicate.request.onsuccess):
(checkNextNoDuplicate):
(checkPrev.request.onsuccess):
(checkPrev):
(checkPrevNoDuplicate.request.onsuccess):
(checkPrevNoDuplicate):

  • storage/indexeddb/resources/mutating-cursor.js:

(openForwardCursor):
(openReverseCursor):

  • storage/indexeddb/resources/objectstore-autoincrement.js:

(setVersionCompleted):

  • storage/indexeddb/resources/objectstore-basics.js:

(addData):
(addAgainFailure):

  • storage/indexeddb/resources/objectstore-count.js:
  • storage/indexeddb/resources/objectstore-cursor.js:

(runNextTest):
(testNullKeyRange):

  • storage/indexeddb/resources/open-cursor.js:

(cursorWithKeySuccess):
(cursorSuccess):

  • storage/indexeddb/resources/open-during-transaction.js:
  • storage/indexeddb/resources/opencursor-key.js:
  • storage/indexeddb/resources/prefetch-bugfix-108071.js:
  • storage/indexeddb/resources/request-event-propagation.js:

(startTest):
(transactionAborted):
(transactionAborted2):

  • storage/indexeddb/resources/set_version_blocked.js:

(blocked):

  • storage/indexeddb/resources/transaction-abort.js:

(startTest):

  • storage/indexeddb/resources/transaction-after-close.js:

(runFirstRegularTransaction):
(firstTransactionComplete):
(onSecondOpen):

  • storage/indexeddb/resources/transaction-basics.js:

(testInvalidMode):

  • storage/indexeddb/resources/transaction-event-propagation.js:

(startTest):
(dbAbortBubbleCallback):

  • storage/indexeddb/resources/transaction-rollback.js:

(setVersionComplete):
(abortCallback):

  • storage/indexeddb/set_version_blocked-expected.txt:
  • storage/indexeddb/structured-clone-expected.txt:
  • storage/indexeddb/structured-clone.html:
  • storage/indexeddb/transaction-abort-expected.txt:
  • storage/indexeddb/transaction-abort-with-js-recursion-cross-frame-expected.txt:
  • storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html:
  • storage/indexeddb/transaction-abort-with-js-recursion-expected.txt:
  • storage/indexeddb/transaction-abort-with-js-recursion.html:
  • storage/indexeddb/transaction-after-close-expected.txt:
  • storage/indexeddb/transaction-basics-expected.txt:
  • storage/indexeddb/transaction-event-propagation-expected.txt:
  • storage/indexeddb/transaction-rollback-expected.txt:
  • storage/indexeddb/tutorial.html:
12:11 PM Changeset in webkit [116336] by pilgrim@chromium.org
  • 18 edits
    1 copy in trunk/Source

[Chromium] Move fileSystem to Platform.h
https://bugs.webkit.org/show_bug.cgi?id=85760

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

Source/Platform:

  • Platform.gypi:
  • chromium/public/Platform.h:

(WebKit):
(Platform):
(WebKit::Platform::fileSystem):

  • chromium/public/WebFileSystem.h: Added.

(WebKit):
(WebFileSystem):
(WebKit::WebFileSystem::move):
(WebKit::WebFileSystem::copy):
(WebKit::WebFileSystem::remove):
(WebKit::WebFileSystem::removeRecursively):
(WebKit::WebFileSystem::readMetadata):
(WebKit::WebFileSystem::createFile):
(WebKit::WebFileSystem::createDirectory):
(WebKit::WebFileSystem::fileExists):
(WebKit::WebFileSystem::directoryExists):
(WebKit::WebFileSystem::readDirectory):
(WebKit::WebFileSystem::createFileWriter):
(WebKit::WebFileSystem::createSnapshotFileAndReadMetadata):
(WebKit::WebFileSystem::~WebFileSystem):

Source/WebKit/chromium:

  • WebKit.gyp:
  • public/platform/WebFileSystem.h:
  • public/platform/WebKitPlatformSupport.h:

(WebKit):
(WebKitPlatformSupport):

  • src/AssertMatchingEnums.cpp:
  • src/AsyncFileSystemChromium.cpp:

(WebCore::AsyncFileSystemChromium::AsyncFileSystemChromium):

  • src/LocalFileSystemChromium.cpp:
  • src/WebFileSystemCallbacksImpl.cpp:
  • src/WebFileSystemCallbacksImpl.h:
  • src/WebFrameImpl.cpp:
  • src/WebWorkerClientImpl.h:
  • src/WorkerAsyncFileSystemChromium.cpp:
  • src/WorkerAsyncFileWriterChromium.cpp:
  • src/WorkerFileSystemCallbacksBridge.h:
  • src/WorkerFileWriterCallbacksBridge.cpp:

(WebKit::WorkerFileWriterCallbacksBridge::initOnMainThread):

12:01 PM Changeset in webkit [116335] by abarth@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

Test the combination of CSP and srcdoc
https://bugs.webkit.org/show_bug.cgi?id=85778

Reviewed by Eric Seidel.

This test ensure that <iframe srcdoc> can't be used to bypass
Content-Security-Policy restrictions on script-src. We already have the
correct behavior. This test just verifies it.

  • http/tests/security/contentSecurityPolicy/srcdoc-doesnt-bypass-script-src-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/srcdoc-doesnt-bypass-script-src.html: Added.
11:57 AM Changeset in webkit [116334] by wjmaclean@chromium.org
  • 6 edits
    5 adds in trunk/Source

[chromium] Create LinkHighlightLayerChromium class to provide link-highlight preview animations for GraphicsLayerChromium.
https://bugs.webkit.org/show_bug.cgi?id=85084

Reviewed by Adrienne Walker.

Source/WebCore:

Unit test provided.

Creates a layer delegate class to provide link highlight animations for link-preview feature.
These are added to a GraphicsLayerChromium via provided methods. Moves dispensing of animation
ids into a separate class.

  • WebCore.gypi:
  • platform/graphics/chromium/AnimationIdVendor.cpp: Added.

(WebCore):
(WebCore::AnimationIdVendor::getNextAnimationId):
(WebCore::AnimationIdVendor::getNextGroupId):

  • platform/graphics/chromium/AnimationIdVendor.h: Added.

(WebCore):
(AnimationIdVendor):

  • platform/graphics/chromium/GraphicsLayerChromium.cpp:

(WebCore::GraphicsLayerChromium::updateNames):
(WebCore::GraphicsLayerChromium::addAnimation):
(WebCore::GraphicsLayerChromium::addLinkHighlightLayer):
(WebCore):
(WebCore::GraphicsLayerChromium::didFinishLinkHighlightLayer):
(WebCore::GraphicsLayerChromium::updateChildList):
(WebCore::GraphicsLayerChromium::mapAnimationNameToId):

  • platform/graphics/chromium/GraphicsLayerChromium.h:

(WebCore):
(GraphicsLayerChromium):

  • platform/graphics/chromium/LinkHighlightLayerDelegate.cpp: Added.

(WebCore):
(WebCore::LinkHighlightLayerDelegate::create):
(WebCore::LinkHighlightLayerDelegate::LinkHighlightLayerDelegate):
(WebCore::LinkHighlightLayerDelegate::~LinkHighlightLayerDelegate):
(WebCore::LinkHighlightLayerDelegate::getContentLayer):
(WebCore::LinkHighlightLayerDelegate::paintContents):
(WebCore::LinkHighlightLayerDelegate::didScroll):
(WebCore::LinkHighlightLayerDelegate::notifyAnimationStarted):
(WebCore::LinkHighlightLayerDelegate::notifyAnimationFinished):

  • platform/graphics/chromium/LinkHighlightLayerDelegate.h: Added.

(WebCore):
(LinkHighlightLayerDelegate):

Source/WebKit/chromium:

  • WebKit.gypi:
  • tests/LinkHighlightLayerDelegateTest.cpp: Added.

(WebCore):
(MockGraphicsLayerClient):
(WebCore::MockGraphicsLayerClient::notifyAnimationStarted):
(WebCore::MockGraphicsLayerClient::notifySyncRequired):
(WebCore::MockGraphicsLayerClient::paintContents):
(WebCore::MockGraphicsLayerClient::showDebugBorders):
(WebCore::MockGraphicsLayerClient::showRepaintCounter):
(WebCore::TEST):

11:54 AM Changeset in webkit [116333] by jsbell@chromium.org
  • 4 edits in trunk/Source

IndexedDB: LevelDB coding for bools is broken
https://bugs.webkit.org/show_bug.cgi?id=85810

Reviewed by Tony Chang.

Source/WebCore:

Code was appending to a pre-sized Vector, rather than using an
index setter. This caused uninitialized data to be written out.
Issue was detected on the Chromium side in http://crbug.com/126388

Tests: webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.*codeBool'

  • Modules/indexeddb/IDBLevelDBCoding.cpp:

(WebCore::IDBLevelDBCoding::encodeBool):

Source/WebKit/chromium:

Added tests for encodeBool/decodeBool.

  • tests/IDBLevelDBCodingTest.cpp:

(IDBLevelDBCoding::TEST):
(IDBLevelDBCoding):

11:48 AM Changeset in webkit [116332] by shawnsingh@chromium.org
  • 5 edits in trunk/Source

[chromium] CCMathUtil projectPoint needs to avoid divide-by-zero
https://bugs.webkit.org/show_bug.cgi?id=85560

Reviewed by Adrienne Walker.

Source/WebCore:

Unit test added: CCMathUtilTest.cpp - verifyProjectionOfPerpendicularPlane
Unit test updated/renamed: CCLayerTreeHostCommonTest.cpp - verifyVisibleRectFor3dPerspectiveWhenClippedByW

The divide-by-zero occurs in an innocuous case where the layers
are probably invisible anyway. However, producing Infs and NaNs
could cause values to be used when un-intended, so its appropriate
to handle the divide-by-zero correctly.

  • platform/graphics/chromium/cc/CCMathUtil.cpp:

(WebCore::projectPoint):

Source/WebKit/chromium:

  • tests/CCLayerTreeHostCommonTest.cpp:

(WebKitTests::TEST):

  • tests/CCMathUtilTest.cpp:

(WebCore::TEST):
(WebCore):

11:41 AM Changeset in webkit [116331] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Wrong positioning due to wrong width calculation wrt width:0
https://bugs.webkit.org/show_bug.cgi?id=50135

Patch by Pravin D <pravind.2k4@gmail.com> on 2012-05-07
Reviewed by Eric Seidel.

Source/WebCore:

Test: fast/block/block-parent-with-zero-width-child.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::computePreferredLogicalWidths):
When width is fixed, the specified width must be taken, provided the value is positive.
Width=0 case was being ignored.

LayoutTests:

  • fast/block/block-parent-with-zero-width-child-expected.txt: Added.
  • fast/block/block-parent-with-zero-width-child.html: Added.
11:34 AM Changeset in webkit [116330] by noel.gordon@gmail.com
  • 2 edits in trunk/Source/WebCore

[CG] ImageBuffer::ImageDataToDataURL: Remove alpha stuffing when encoding to JPEG
https://bugs.webkit.org/show_bug.cgi?id=85779

Reviewed by Eric Seidel.

No change in behavior. Covered by fast/canvas/webgl/premultiplyalpha-test.html

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageDataToDataURL): Remove the need to stuff the alpha channel with 255.
Rename dataVector to premultipliedData and verify that its resize() worked. Rewrite
the premultiplication loop without the alpha channel = 255 part and ask the CG JPEG
encoder to ignore the alpha channel (kCGImageAlphaNoneSkipLast) instead.

11:34 AM Changeset in webkit [116329] by Lucas Forschler
  • 4 edits in tags/Safari-536.10.2/Source

Versioning.

11:32 AM Changeset in webkit [116328] by commit-queue@webkit.org
  • 5 edits in trunk

[GTK] media/video-seek-past-end-playing.html times out
https://bugs.webkit.org/show_bug.cgi?id=84858

Patch by Dominik Röttsches <dominik.rottsches@linux.intel.com> on 2012-05-07
Reviewed by Philippe Normand.

Source/WebCore:

Removing the intentional state change to PAUSED on didEnd().
My understanding is that the fix works because the additional
state transition to PAUSED was resetting the internal m_seeking state to early,
so that updatePlayState() in HTMLMediaElement was not able to
correctly figure out/recover playstate after seeking.

No new tests, covered by existing media tests, and fixing
video-seek-past-end-playing.html flakiness on GTK, failure on EFL.

  • platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:

LayoutTests:

video-seek-past-end-playing.html should work reliably after fix, removing.

  • platform/gtk/test_expectations.txt:
11:30 AM Changeset in webkit [116327] by Lucas Forschler
  • 1 copy in tags/Safari-536.10.2

New Tag.

11:30 AM Changeset in webkit [116326] by Lucas Forschler
  • 4 edits in tags/Safari-536.10.1/Source

Fix versioning for 536.10.1.

11:27 AM Changeset in webkit [116325] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

Crash in RenderBlock::updateFirstLetterStyle.
https://bugs.webkit.org/show_bug.cgi?id=85759

Reviewed by Julien Chaffraix.

Source/WebCore:

Test: fast/css-generated-content/first-letter-next-sibling-crash.html

RenderBlock::removeChild can bring up the children from last single anonymous block,
causing |nextSibling| in RenderBlock::updateFirstLetterStyle to go stale. We prevent
this by removing the child safely using removeChildNode before destroying it.

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::updateFirstLetterStyle):

LayoutTests:

  • fast/css-generated-content/first-letter-next-sibling-crash-expected.txt: Added.
  • fast/css-generated-content/first-letter-next-sibling-crash.html: Added.
11:24 AM Changeset in webkit [116324] by Lucas Forschler
  • 4 edits in tags/Safari-536.10.1/Source

Versioning.

11:24 AM Changeset in webkit [116323] by Philippe Normand
  • 2 edits in trunk/LayoutTests

Unreviewed, GTK gardening.

  • platform/gtk/test_expectations.txt: Mark

fast/events/message-port-close.html as crashing in debug builds.

11:16 AM Changeset in webkit [116322] by Philippe Normand
  • 2 edits in trunk/LayoutTests

Unreviewed, GTK gardening.

  • platform/gtk/test_expectations.txt: Mark new mediastream test as

expected failure.

10:56 AM Changeset in webkit [116321] by tommyw@google.com
  • 9 edits in trunk/Source

MediaStream API: Rename MediaStreamCenter::didConstructMediaStream
https://bugs.webkit.org/show_bug.cgi?id=85796

Reviewed by Adam Barth.

Source/Platform:

Renamed WebMediaStreamCenter::didConstructMediaStream to didCreateMediaStream,
and change so that it is only called for MediaStreams created from JS.
Also send out the WebMediaStreamDescriptor non-const instead.

  • chromium/public/WebMediaStreamCenter.h:

(WebKit::WebMediaStreamCenter::didCreateMediaStream):
(WebMediaStreamCenter):
(WebKit::WebMediaStreamCenter::didConstructMediaStream):

Source/WebCore:

Renamed MediaStreamCenter::didConstructMediaStream to didCreateMediaStream,
and change so that it is only called for MediaStreams created from JS.

Not really testable.

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::create):

  • platform/mediastream/MediaStreamCenter.h:

(MediaStreamCenter):

  • platform/mediastream/chromium/MediaStreamCenterChromium.cpp:

(WebCore::MediaStreamCenterChromium::didCreateMediaStream):

  • platform/mediastream/chromium/MediaStreamCenterChromium.h:

(MediaStreamCenterChromium):

  • platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:

(WebCore::MediaStreamCenterGStreamer::didCreateMediaStream):

  • platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:

(MediaStreamCenterGStreamer):

10:42 AM Changeset in webkit [116320] by mitz@apple.com
  • 3 edits in trunk/Websites/webkit.org

webkit.org instructions for debugging WebProcess are unnecessarily complex
https://bugs.webkit.org/show_bug.cgi?id=85756

Reviewed by Darin Adler.

  • building/debug.html: Added instructions for setting up and using the WebKit workspace for

debugging the Web process, as well as instructions for debugging the Web process from the
command line using debug-safari and debug-minibrowser.

  • building/tools.html: Updated links and tweaked the language.
10:37 AM Changeset in webkit [116319] by nduca@chromium.org
  • 18 edits in trunk/Source

Unreviewed, rolling out r115525.
http://trac.webkit.org/changeset/115525
https://bugs.webkit.org/show_bug.cgi?id=66683

Too many pages rely on DOMTimeStamp as first argument.
Reverting while we consider next steps.

Source/WebCore:

  • WebCore.exp.in:
  • bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:

(WebCore::JSRequestAnimationFrameCallback::handleEvent):

  • dom/Document.cpp:

(WebCore::Document::serviceScriptedAnimations):

  • dom/Document.h:

(Document):

  • dom/RequestAnimationFrameCallback.h:

(RequestAnimationFrameCallback):

  • dom/RequestAnimationFrameCallback.idl:
  • dom/ScriptedAnimationController.cpp:

(WebCore::ScriptedAnimationController::ScriptedAnimationController):
(WebCore::ScriptedAnimationController::serviceScriptedAnimations):
(WebCore):
(WebCore::ScriptedAnimationController::windowScreenDidChange):
(WebCore::ScriptedAnimationController::scheduleAnimation):
(WebCore::ScriptedAnimationController::animationTimerFired):

  • dom/ScriptedAnimationController.h:

(ScriptedAnimationController):
(WebCore::ScriptedAnimationController::displayRefreshFired):

  • page/FrameView.cpp:

(WebCore::FrameView::serviceScriptedAnimations):

  • page/FrameView.h:

(FrameView):

  • platform/graphics/DisplayRefreshMonitor.cpp:

(WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
(WebCore::DisplayRefreshMonitor::notifyClients):

  • platform/graphics/DisplayRefreshMonitor.h:

(DisplayRefreshMonitor):

  • platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:

(WebCore::DisplayRefreshMonitor::displayLinkFired):

  • platform/graphics/mac/DisplayRefreshMonitorMac.cpp:

(WebCore):
(WebCore::DisplayRefreshMonitor::requestRefreshCallback):
(WebCore::DisplayRefreshMonitor::displayLinkFired):

Source/WebKit/chromium:

  • src/PageWidgetDelegate.cpp:

(WebKit::PageWidgetDelegate::animate):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::updateAnimations):

10:32 AM Changeset in webkit [116318] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Add methods need by client side
https://bugs.webkit.org/show_bug.cgi?id=85661

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

Add methods needed by client side when create and close HTML popup dialogs.
PR 154360

  • Api/WebPageClient.h:
10:32 AM Changeset in webkit [116317] by tommyw@google.com
  • 9 edits in trunk/Source

MediaStream API: Allow UserMediaRequest::succeed to take an MediaStreamDescriptor
https://bugs.webkit.org/show_bug.cgi?id=85798

Reviewed by Adam Barth.

Source/Platform:

Adding another UserMediaRequest::succeed function that takes an MediaStreamDescriptor
instead of the two MediaStreamSource arrays.

  • chromium/public/WebMediaStreamCenter.h:

(WebMediaStreamCenter):
(WebKit::WebMediaStreamCenter::constructSDP):

Source/WebCore:

Adding another UserMediaRequest::succeed function that takes an MediaStreamDescriptor
instead of the two MediaStreamSource arrays.

Not currently testable.

  • Modules/mediastream/LocalMediaStream.cpp:

(WebCore::LocalMediaStream::create):
(WebCore):
(WebCore::LocalMediaStream::LocalMediaStream):

  • Modules/mediastream/LocalMediaStream.h:

(LocalMediaStream):

  • Modules/mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::succeed):
(WebCore):

  • Modules/mediastream/UserMediaRequest.h:

(WebCore):
(UserMediaRequest):

Source/WebKit/chromium:

Adding another WebUserMediaRequest::requestSucceed function that takes an
WebMediaStreamDescriptor instead of the two WebMediaStreamSource arrays.

  • public/WebUserMediaRequest.h:

(WebKit):
(WebUserMediaRequest):

  • src/WebUserMediaRequest.cpp:

(WebKit::WebUserMediaRequest::requestSucceeded):

10:25 AM Changeset in webkit [116316] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[chromium] setContentsMemoryAllocationLimitBytes needs to setNeedsCommit.
https://bugs.webkit.org/show_bug.cgi?id=85801

Patch by Michal Mocny <mmocny@google.com> on 2012-05-07
Reviewed by Adrienne Walker.

CCLayerTreeHost::setContentsMemoryAllocationLimitBytes needs to call setNeedsCommit after adjusting memory
limits, so that we push a new frame. In particular, when returning from non visibile state, we adjust
memory allocation from 0 to non 0, and we need to push a non blank frame.

  • platform/graphics/chromium/cc/CCLayerTreeHost.cpp:

(WebCore::CCLayerTreeHost::setVisible):
(WebCore::CCLayerTreeHost::setContentsMemoryAllocationLimitBytes):

10:21 AM Changeset in webkit [116315] by tommyw@google.com
  • 6 edits
    2 adds in trunk

[chromium] MediaStream API: Enhance WebUserMediaClientMock and add a test for it
https://bugs.webkit.org/show_bug.cgi?id=85618

Reviewed by Adam Barth.

Adding the capability to control which MediaStreamTracks actually get created,
and adding a test that exercises the JS api using that capability.

Tools:

  • DumpRenderTree/chromium/WebUserMediaClientMock.cpp:

(WebKit::WebUserMediaClientMock::requestUserMedia):

  • DumpRenderTree/chromium/WebUserMediaClientMock.h:
  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::testMediaStreamClient):

  • DumpRenderTree/chromium/WebViewHost.h:

(WebViewHost):

LayoutTests:

  • fast/mediastream/getusermedia-expected.txt: Added.
  • fast/mediastream/getusermedia.html: Added.
10:20 AM Changeset in webkit [116314] by Lucas Forschler
  • 1 copy in branches/safari-536-branch

New branch.

9:26 AM Changeset in webkit [116313] by commit-queue@webkit.org
  • 6 edits in trunk

[EFL] media/track/track-cue-rendering-snap-to-lines-not-set.html fails
https://bugs.webkit.org/show_bug.cgi?id=85602

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-07
Reviewed by Eric Carlson.

Source/WebCore:

Fix positioning of the controls panel back to relative, as it is
in the parent CSS.

  • css/mediaControlsEfl.css:

(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):

LayoutTests:

Update expected result for several media tests now that the
positioning of the controls panel is relative.

  • platform/efl/media/media-controls-clone-expected.txt:
  • platform/efl/media/video-empty-source-expected.txt:
  • platform/efl/media/video-zoom-controls-expected.txt:
8:05 AM Changeset in webkit [116312] by rakuco@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Gardening, fix failure expectation for test.

  • platform/efl/test_expectations.txt:
8:02 AM Changeset in webkit [116311] by adam.bergkvist@ericsson.com
  • 6 edits in trunk/Source/WebCore

MediaStream should not be an ActiveDOMObject
https://bugs.webkit.org/show_bug.cgi?id=85191

Reviewed by Adam Barth.

The model with MediaStreamDescriptor and MediaStream (and LocalMediaStream)
allows the JavaScript objects (MediaStream and LocalMediaStream) to be
cleaned up while the MediaStreamDescriptor lives on to manage the stream in
the platform. This happens for example when a URL is created to represent
a MediaStream (using createObjectURL()). In that case, the MediaStreamDescriptor
is put into the MediaStreamRegistry and even though the MediaStream object is
lost, the URL still works since the descriptor is kept in the registry.

The changes introduced in r113460 (http://webkit.org/b/83143) turned
MediaStream and LocalMediaStream into ActiveDOMObjects. For example on page
reload, LocalMediaStream calls MediaStreamCenter::didStopLocalMediaStream()
via its ActiveDOMObject::stop() method. However, when a page reload occurs,
the LocalMediaStream object may have been cleaned up already and
MediaStreamCenter::didStopLocalMediaStream() will not be called.

One way to make the behavior consistent would be to call
MediaStreamCenter::didStopLocalMediaStream() when the descriptor is cleaned up,
cause then we wouldn't be dependent on the LocalMediaStream object being alive.
However, calling MediaStreamCenter::didStopLocalMediaStream() might not be the
correct thing to do when all references to the descriptor are lost since there
can be MediaStream objects constructed from the tracks of the LocalMediaStream
that should continue to work. MediaStreamCenter::didStopLocalMediaStream() was
intended for LocalMediaStream.stop() which is used to revoke access to devices;
that should not necessarily happen when the descriptor of a LocalMediaStream is
cleaned up. If it's necessary for some ports to signal to the platform that a
MediaStreamDescriptor is cleaned up, then I would suggest adding a new function,
willDestroyMediaStreamDescriptor(), to the MediaStreamCenter interface.

The current resolution is to make MediaStream a ContextDestructionObserver
instead of an ActiveDOMObject.

Currently not testable.

  • Modules/mediastream/LocalMediaStream.cpp:

(WebCore::LocalMediaStream::create):

  • Modules/mediastream/LocalMediaStream.h:

(LocalMediaStream):

  • Modules/mediastream/LocalMediaStream.idl:
  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::create):
(WebCore::MediaStream::MediaStream):
(WebCore::MediaStream::scriptExecutionContext):

  • Modules/mediastream/MediaStream.h:
8:01 AM Changeset in webkit [116310] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[Gtk] WebGL feature is not built anymore through build-webkit after r116251
https://bugs.webkit.org/show_bug.cgi?id=85788

Reviewed by Martin Robinson.

Enable WebGL by default for the Gtk port. The feature is already enabled by
default in configure.ac, so there's no reason it shouldn't be enabled when
building through build-webkit.

  • Scripts/webkitperl/FeatureList.pm:
7:46 AM Changeset in webkit [116309] by mihnea@adobe.com
  • 3 edits
    2 adds
    18 deletes in trunk/LayoutTests

[CSSRegions]Convert (some) region style tests to ref tests
https://bugs.webkit.org/show_bug.cgi?id=85783

Reviewed by Andreas Kling.

  • fast/regions/region-style-image-background-color-expected.html: Added.
  • fast/regions/region-style-image-background-color.html:
  • fast/regions/region-style-inline-background-color-expected.html: Added.
  • fast/regions/region-style-inline-background-color.html:
  • platform/chromium-linux/fast/regions/region-style-image-background-color-expected.png: Removed.
  • platform/chromium-linux/fast/regions/region-style-inline-background-color-expected.png: Removed.
  • platform/chromium-mac-leopard/fast/regions/region-style-image-background-color-expected.png: Removed.
  • platform/chromium-mac-leopard/fast/regions/region-style-inline-background-color-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/regions/region-style-image-background-color-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/regions/region-style-inline-background-color-expected.png: Removed.
  • platform/chromium-mac/fast/regions/region-style-image-background-color-expected.png: Removed.
  • platform/chromium-mac/fast/regions/region-style-inline-background-color-expected.png: Removed.
  • platform/chromium-win/fast/regions/region-style-image-background-color-expected.png: Removed.
  • platform/chromium-win/fast/regions/region-style-image-background-color-expected.txt: Removed.
  • platform/chromium-win/fast/regions/region-style-inline-background-color-expected.png: Removed.
  • platform/chromium-win/fast/regions/region-style-inline-background-color-expected.txt: Removed.
  • platform/gtk/fast/regions/region-style-image-background-color-expected.txt: Removed.
  • platform/gtk/fast/regions/region-style-inline-background-color-expected.txt: Removed.
  • platform/mac/fast/regions/region-style-image-background-color-expected.png: Removed.
  • platform/mac/fast/regions/region-style-image-background-color-expected.txt: Removed.
  • platform/mac/fast/regions/region-style-inline-background-color-expected.png: Removed.
  • platform/mac/fast/regions/region-style-inline-background-color-expected.txt: Removed.
7:32 AM Changeset in webkit [116308] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk

[BlackBerry] WWW-Authenticate header on 200 response pops up authentication dialog
https://bugs.webkit.org/show_bug.cgi?id=85643

Patch by Liam Quinn <lquinn@rim.com> on 2012-05-07
Reviewed by George Staikos.

.:

RIM PR: 151992
Added manual test for WWW-Authenticate header on a 200 response.

  • ManualTests/blackberry/http-auth-on-200.php: Added.

Source/WebCore:

RIM PR: 151992
Ignore WWW-Authenticate header if the response code is not 401.
Ignore Proxy-Authenticate header if the response code is not 407.

Manual test added to observe whether the authentication dialog appears on a 200 response with WWW-Authenticate.

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::handleNotifyHeaderReceived):

7:10 AM Changeset in webkit [116307] by alexis.menard@openbossa.org
  • 2 edits
    4 adds in trunk/LayoutTests

Unreviewed gardening for Qt port. Updating expectation files and skipped tests which are
timing out.

  • platform/qt-5.0-wk2/Skipped:
  • platform/qt-5.0-wk2/fullscreen/full-screen-placeholder-expected.txt: Added.
  • platform/qt-5.0-wk2/fullscreen/full-screen-render-inline-expected.txt: Added.
  • platform/qt-5.0-wk2/fullscreen/parent-flow-inline-with-block-child-expected.txt: Added.
7:06 AM Changeset in webkit [116306] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Unittest fix after r116288, because now there are more than 5 hit for the 'Eric' word.
We have only 2 'Gavin', so it is a better choice than 'Eric' for unit testing.

Reviewed by Tor Arne Vestbø.

  • Scripts/webkitpy/tool/bot/irc_command_unittest.py:

(IRCCommandTest.test_whois):

6:38 AM Changeset in webkit [116305] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [TextPrompt] Event listeners and CSS style are not removed on detachment
https://bugs.webkit.org/show_bug.cgi?id=85789

Reviewed by Yury Semikhatsky.

  • inspector/front-end/TextPrompt.js:

(WebInspector.TextPrompt.prototype._attachInternal):
(WebInspector.TextPrompt.prototype.detach):

5:58 AM Changeset in webkit [116304] by Csaba Osztrogonác
  • 8 edits
    8 deletes in trunk

Unreviewed, rolling out r116299, r116301, and r116303.
http://trac.webkit.org/changeset/116299
http://trac.webkit.org/changeset/116301
http://trac.webkit.org/changeset/116303
https://bugs.webkit.org/show_bug.cgi?id=85795

Build is still broken (Requested by Ossy on #webkit).

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

Source/WebKit2:

  • qt/MainQt.cpp:

(main):

Tools:

  • DumpRenderTree/qt/DumpRenderTree.pro:
  • DumpRenderTree/qt/main.cpp:

(main):

  • QtTestPlatformPlugin/QtTestPlatformPlugin.pro: Removed.
  • QtTestPlatformPlugin/TestIntegration.cpp: Removed.
  • QtTestPlatformPlugin/TestIntegration.h: Removed.
  • QtTestPlatformPlugin/mac/TestFontDatabase.h: Removed.
  • QtTestPlatformPlugin/mac/TestFontDatabase.mm: Removed.
  • QtTestPlatformPlugin/mac/TestIntegrationMac.mm: Removed.
  • QtTestPlatformPlugin/main.cpp: Removed.
  • QtTestPlatformPlugin/testplatform.json: Removed.
  • Tools.pro:
  • WebKitTestRunner/Target.pri:
  • WebKitTestRunner/qt/main.cpp:

(main):

5:30 AM Changeset in webkit [116303] by kbalazs@webkit.org
  • 2 edits in trunk/Tools

Unreviewed Qt build fix.

One more try to learn how to use
const with a pointer array.

  • DumpRenderTree/qt/main.cpp:

(initializeTestPlatformPlugin):

5:30 AM Changeset in webkit [116302] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/efl

[EFL] Icon database path may be NULL when a new path was set.
https://bugs.webkit.org/show_bug.cgi?id=82456

Patch by Grzegorz Czajkowski <g.czajkowski@samsung.com> on 2012-05-07
Reviewed by Andreas Kling.

ewk_settings_icon_database_path_set calls asynchronous method WebCore::iconDatabase().open().
There is no notification when the new path is set by WebCore.
Moreover ewk_settings_icon_database_path_set keeps the new path in a local variable.

To retrieve path to icon database ewk_settings_icon_database_path_get can be called.
It first checks flags whether icon databse is opened and enabled. There is possibility
that icon database has been set through API but it hasn't been opened by WebCore yet.
So as a result ewk_settings_icon_database_path_get returns NULL because WebCore hasn't
set an appropriate flag yet.

It may happen while icon database set/get sequences.
Information whether icon database is opened/enabled should be exposed by separate API.

  • ewk/ewk_settings.cpp:

(ewk_settings_icon_database_path_get): Skip checking whether icon database is opened, enabled.

  • ewk/ewk_settings.h:
5:15 AM Changeset in webkit [116301] by kbalazs@webkit.org
  • 2 edits in trunk/Tools

Unreviewed build fix after r116299.

  • DumpRenderTree/qt/main.cpp:

(initializeTestPlatformPlugin):

4:59 AM Changeset in webkit [116300] by alexis.menard@openbossa.org
  • 5 edits in trunk/LayoutTests

[Qt] Enable fullscreen api layout tests on WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=85616

Reviewed by Csaba Osztrogonác.

http://trac.webkit.org/changeset/116089 implements the fullscreen API for WebKit2,
we can now unskip the related tests.

  • platform/qt-4.8/Skipped:
  • platform/qt-5.0-wk1/Skipped:
  • platform/qt-5.0-wk2/Skipped:
  • platform/qt/Skipped:
4:49 AM Changeset in webkit [116299] by kbalazs@webkit.org
  • 8 edits
    10 adds in trunk

[Qt] Add test specific platform plugin to achieve unified layout test results
https://bugs.webkit.org/show_bug.cgi?id=80996

Reviewed by Simon Hausmann.

Source/WebKit2:

Initialize the test platform plugin before initializing
the web process if we are in a WTR run.
It is necessary to place this initialization here as we
cannot control wich platform plugin will be used after
the instantiation of the QApplication.

  • qt/MainQt.cpp:

(initializeTestPlatformPluginForWTRIfRequired):
(main):

Tools:

Added QtTestPlatformPlugin as a new project under Tools.
This is a Qt5-ish platform plugin that can be used to tweak the
platform support interfaces in order to unify layout test results.
For now it only overrides the font database on Mac and redirects
everything else to the real platform plugin. The font database it
provides mimics the way how we set up test fonts with fontconfig on Linux.
Make DumpRenderTree and WebKitTestRunner use this platform plugin.

  • DumpRenderTree/qt/DumpRenderTree.pro:
  • DumpRenderTree/qt/main.cpp:

(initializeTestPlatformPlugin):
(main):

  • QtTestPlatformPlugin/QtTestPlatformPlugin.pro: Added.
  • QtTestPlatformPlugin/TestIntegration.cpp: Added.

(TestIntegration::TestIntegration):
(TestIntegration::fontDatabase):

  • QtTestPlatformPlugin/TestIntegration.h: Added.

(TestIntegration):
(TestIntegration::hasCapability):
(TestIntegration::createPlatformPixmap):
(TestIntegration::createPlatformWindow):
(TestIntegration::createPlatformBackingStore):
(TestIntegration::createPlatformOpenGLContext):
(TestIntegration::createPlatformSharedGraphicsCache):
(TestIntegration::guiThreadEventDispatcher):
(TestIntegration::clipboard):
(TestIntegration::drag):
(TestIntegration::inputContext):
(TestIntegration::accessibility):
(TestIntegration::nativeInterface):
(TestIntegration::services):
(TestIntegration::styleHint):
(TestIntegration::platformTheme):

  • QtTestPlatformPlugin/mac/TestFontDatabase.h: Added.

(TestFontDatabase):

  • QtTestPlatformPlugin/mac/TestFontDatabase.mm: Added.

(TestFontDatabase::populateFontDatabase):

  • QtTestPlatformPlugin/mac/TestIntegrationMac.mm: Added.

(TestIntegration::fontDatabase):

  • QtTestPlatformPlugin/main.cpp: Added.

(TestIntegrationPlugin::keys):
(TestIntegrationPlugin::create):
(TestIntegrationPlugin::initialize):

  • QtTestPlatformPlugin/testplatform.json: Added.
  • Tools.pro:
  • WebKitTestRunner/Target.pri:
  • WebKitTestRunner/qt/main.cpp:

(main):

4:43 AM Changeset in webkit [116298] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Buildfix for buggy GCC
https://bugs.webkit.org/show_bug.cgi?id=85781

Reviewed by Zoltan Herczeg.

  • rendering/RenderBlock.h:

(WebCore::RenderBlock::MarginInfo::clearMargin):

4:34 AM Changeset in webkit [116297] by commit-queue@webkit.org
  • 2 edits
    4 deletes in trunk/LayoutTests

[EFL][DRT] Gardening current IMAGE failures
https://bugs.webkit.org/show_bug.cgi?id=85604

Unreviewed, EFL gardening.

Patch by Dominik Röttsches <dominik.rottsches@linux.intel.com> on 2012-05-07

  • platform/efl/fast/forms/input-placeholder-text-indent-expected.png: Removed.
  • platform/efl/fast/forms/isindex-placeholder-expected.png: Removed.
  • platform/efl/fast/forms/placeholder-with-positioned-element-expected.png: Removed.
  • platform/efl/fast/forms/textarea-placeholder-wrapping-expected.png: Removed.
  • platform/efl/test_expectations.txt:
4:26 AM Changeset in webkit [116296] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] media/video-poster-blocked-by-willsendrequest.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=85609

Patch by Christophe Dumez <Christophe Dumez> on 2012-05-07
Reviewed by Simon Hausmann.

Flakiness was caused by the fact that
media/crash-closing-page-with-media-as-plugin-fallback.html and
media/video-poster-blocked-by-willsendrequest.html use the same PNG
file as poster attribute in the video tag. The PNG file gets cached
when the first test is executed and this somehow causes the second
test to fail.

The flakiness was addressed by clearing the memory and page caches
between tests.

  • DumpRenderTree/efl/DumpRenderTreeChrome.cpp:

(DumpRenderTreeChrome::resetDefaultsToConsistentValues):

4:21 AM Changeset in webkit [116295] by caseq@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening, refined expectations for compositing failures + more suppressions.

  • platform/chromium/test_expectations.txt:
4:13 AM Changeset in webkit [116294] by eric@webkit.org
  • 2 edits in trunk/Tools

Add values for all features to Qt's features.pri
https://bugs.webkit.org/show_bug.cgi?id=85746

Reviewed by Tor Arne Vestbø.

When generate-feature-files generates features.pri it provides a value
for every possible ENABLE_. In prepration for landing generate-feature-files
it seems appropriate to add a value for all possible ENABLEs to the existing
features.pri. This lets me make sure that I'm getting them all right!

  • qmake/mkspecs/features/features.pri:
3:30 AM Changeset in webkit [116293] by apavlov@chromium.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: [REGRESSION] Context menu for the left Script view gutter is broken
https://bugs.webkit.org/show_bug.cgi?id=85785

Reviewed by Pavel Feldman.

Fixed remaining usages of WebInspector.save to be WebInspector.fileManager.save.

  • inspector/front-end/NetworkPanel.js:

(WebInspector.NetworkLogView.prototype._exportAll):
(WebInspector.NetworkLogView.prototype._exportRequest):

  • inspector/front-end/ResourcesPanel.js:

(WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction.doSave):
(WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.doSave):

  • inspector/front-end/TextViewer.js:

(WebInspector.TextViewer.prototype._contextMenu):

3:07 AM Changeset in webkit [116292] by caseq@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening, more compositing test timeouts.

  • platform/chromium/test_expectations.txt:
2:56 AM Changeset in webkit [116291] by Antti Koivisto
  • 29 edits
    6 adds in trunk

Share stylesheet data structures between documents
https://bugs.webkit.org/show_bug.cgi?id=85598

Source/WebCore:

Reviewed by Darin Adler.

We currently make a copy of the data structures when restoring a cached stylesheet. This patch lets us share
the data until someone uses a mutating CSSOM API to modify the sheet.

The patch implements copy-on-write for the internal style sheet data structures. If any mutating CSSOM API is
invoked, we check if the mutation is safe (there is only one client, the sheet is not cached). If not then the
internal structures are copied and any existing CSSOM objects are re-attached to the new style tree. The copied
tree is mutated while the other clients stay attached to the original tree.

Sharing can save significant amount of memory on sites with large stylesheets. For example if you have
multiple articles open on wsj.com this saves ~2.6MB per tab.

Test: http/tests/css/shared-stylesheet-mutation.html

http/tests/css/shared-stylesheet-mutation-preconstruct.html

  • css/CSSFontFaceRule.cpp:

(WebCore::CSSFontFaceRule::reattach):
(WebCore):

  • css/CSSFontFaceRule.h:

(CSSFontFaceRule):

  • css/CSSMediaRule.cpp:

(WebCore::CSSMediaRule::insertRule):
(WebCore::CSSMediaRule::deleteRule):
(WebCore::CSSMediaRule::reattach):
(WebCore):

  • css/CSSMediaRule.h:

(CSSMediaRule):

  • css/CSSPageRule.cpp:

(WebCore::CSSPageRule::setSelectorText):
(WebCore::CSSPageRule::reattach):
(WebCore):

  • css/CSSPageRule.h:

(CSSPageRule):

  • css/CSSRule.cpp:

(WebCore::CSSRule::reattach):

After the internal stylerule tree has been copied, the existing wrappers are re-attached using recursive reattach() function.

  • css/CSSRule.h:

(WebCore):
(CSSRule):

  • css/CSSStyleRule.cpp:

(WebCore::CSSStyleRule::setSelectorText):
(WebCore::CSSStyleRule::reattach):
(WebCore):

  • css/CSSStyleRule.h:

(CSSStyleRule):

  • css/CSSStyleSheet.cpp:

(WebCore::StyleSheetInternal::StyleSheetInternal):
(WebCore::StyleSheetInternal::isCacheable):
(WebCore::StyleSheetInternal::ruleAt):

Add ruleAt(), use it for both wrapper creation and reattaching. Remove createChildRuleCSSOMWrapper .

(WebCore):
(WebCore::StyleSheetInternal::wrapperInsertRule):
(WebCore::StyleSheetInternal::wrapperDeleteRule):

Invalidation moves to the calling wrapper.

(WebCore::StyleSheetInternal::addedToMemoryCache):
(WebCore::StyleSheetInternal::removedFromMemoryCache):
(WebCore::CSSStyleSheet::willMutateRules):

This is called whenever StyleSheetInternal is going to be mutated. It will do copy-on-write if needed.


Usually invoked by CSSStyleSheet::RuleMutation RAII type.

(WebCore::CSSStyleSheet::didMutateRules):

This is called after the mutation is complete and will trigger the style recalc in the document.

(WebCore::CSSStyleSheet::didMutate):

This is called directly after mutations that don't change StyleSheetInternal so don't require copy-on-write.

(WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
(WebCore::CSSStyleSheet::setDisabled):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::deleteRule):

  • css/CSSStyleSheet.h:

(StyleSheetInternal):
(WebCore::StyleSheetInternal::hasOneClient):
(WebCore::StyleSheetInternal::isMutable):
(WebCore::StyleSheetInternal::setMutable):

Track mutability. Mutation is allowed only after willMutate call.

(WebCore::StyleSheetInternal::isInMemoryCache):

Track if the object is in memory cache.

(WebCore::CSSStyleSheet::clearOwnerRule):
(CSSStyleSheet):

  • css/MediaList.cpp:

(WebCore::MediaList::setMediaText):
(WebCore::MediaList::deleteMedium):
(WebCore::MediaList::appendMedium):
(WebCore::MediaList::didMutate):
(WebCore):
(WebCore::MediaList::reattach):

  • css/MediaList.h:

(MediaList):

  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::removeProperty):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
(WebCore):
(WebCore::StyleRuleCSSStyleDeclaration::willMutate):
(WebCore::StyleRuleCSSStyleDeclaration::didMutate):
(WebCore::StyleRuleCSSStyleDeclaration::reattach):
(WebCore::InlineCSSStyleDeclaration::didMutate):

  • css/PropertySetCSSStyleDeclaration.h:

(WebCore::PropertySetCSSStyleDeclaration::willMutate):
(WebCore::PropertySetCSSStyleDeclaration::didMutate):
(StyleRuleCSSStyleDeclaration):

  • css/WebKitCSSKeyframesRule.cpp:

(WebCore::WebKitCSSKeyframesRule::setName):
(WebCore::WebKitCSSKeyframesRule::insertRule):
(WebCore::WebKitCSSKeyframesRule::deleteRule):
(WebCore::WebKitCSSKeyframesRule::reattach):
(WebCore):

  • css/WebKitCSSKeyframesRule.h:

(WebKitCSSKeyframesRule):

  • css/WebKitCSSRegionRule.cpp:

(WebCore::WebKitCSSRegionRule::reattach):

  • css/WebKitCSSRegionRule.h:

(WebKitCSSRegionRule):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::reparseStyleSheet):

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet):
(WebCore::CachedCSSStyleSheet::destroyDecodedData):
(WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):

Don't copy when restoring. It is no longer necessary.
Set the cache bit on the stylesheet.

(WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):

LayoutTests:

Reviewed by Darin Adler.

Test that mutations of a shared stylesheet work as expected.

This is an http test due to cross-document security restrictions with file urls
(they can be overriden in DRT but I'd like this to work in browser too).

  • http/tests/css/resources/shared.css: Added.
  • http/tests/css/resources/shared-stylesheet-mutation.js: Added.
  • http/tests/css/shared-stylesheet-mutation-expected.txt: Added.
  • http/tests/css/shared-stylesheet-mutation-preconstruct-expected.txt: Added.
  • http/tests/css/shared-stylesheet-mutation-preconstruct.html: Added.
  • http/tests/css/shared-stylesheet-mutation.html: Added.
2:47 AM Changeset in webkit [116290] by kinuko@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed: the same fix in another file for chromium win build. Adding WebCore namespace to FileSystemTypes.

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::createFileSystem):
(WebKit::WebFrameImpl::createFileEntry):

2:46 AM Changeset in webkit [116289] by caseq@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening, fast/text/international/thai-{baht-space,line-breaks}.html now fail in release, too.

  • platform/chromium/test_expectations.txt:
2:31 AM Changeset in webkit [116288] by adam.bergkvist@ericsson.com
  • 2 edits in trunk/Tools

Added myself as a committer.

Not reviewed.

  • Scripts/webkitpy/common/config/committers.py:
2:29 AM Changeset in webkit [116287] by kinuko@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Not reviewed: chromium win build fix attempt; adding WebCore namespace to ambiguous type name.

  • src/WebFileSystemCallbacksImpl.cpp:

(WebKit::WebFileSystemCallbacksImpl::WebFileSystemCallbacksImpl):

2:21 AM Changeset in webkit [116286] by Simon Hausmann
  • 2 edits in trunk

[Qt] Unreviewed trivial build fix: Don't include bytearraytestdata.h in the QtWebKit
module header.

  • Source/sync.profile:
2:20 AM Changeset in webkit [116285] by commit-queue@webkit.org
  • 8 edits in trunk

[EFL][DRT] Implement LayoutTestController::execCommand
https://bugs.webkit.org/show_bug.cgi?id=82286

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-05-07
Reviewed by Antonio Gomes.

Source/WebKit/efl:

Add missing implementation execCommand and isCommandEnabled to EFL's
DumpRenderTreeSupport to execute an internal command and check if the
command is enabled.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:

(DumpRenderTreeSupportEfl::executeCoreCommandByName):
(DumpRenderTreeSupportEfl::isCommandEnabled):

  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

Add missing implementation execCommand and isCommandEnabled to EFL's
LayoutTestController.

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:

(LayoutTestController::execCommand):
(LayoutTestController::isCommandEnabled):

LayoutTests:

Unskipped test cases which rely on execCommand and
updated test expectations for failure test cases.

  • platform/efl/Skipped:
  • platform/efl/test_expectations.txt:
2:17 AM Changeset in webkit [116284] by caseq@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening, compositing/overflow/scrollbar-painting.html times out on mac & linux.

  • platform/chromium/test_expectations.txt:
1:57 AM Changeset in webkit [116283] by kinuko@chromium.org
  • 13 edits in trunk/Source

Cleanup: Change boolean synchronous flag argument into enum in FileSystem API code
https://bugs.webkit.org/show_bug.cgi?id=85741

Reviewed by David Levin.

Source/WebCore:

No new tests as this change has no functional effects.

  • Modules/filesystem/DOMWindowFileSystem.cpp:

(WebCore::DOMWindowFileSystem::webkitRequestFileSystem):

  • Modules/filesystem/LocalFileSystem.cpp:

(WebCore::LocalFileSystem::requestFileSystem):

  • Modules/filesystem/LocalFileSystem.h:

(LocalFileSystem):

  • Modules/filesystem/WorkerContextFileSystem.cpp:

(WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
(WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
(WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):

  • platform/FileSystemType.h: Added FileSystemSynchronousType enum.

Source/WebKit/chromium:

  • src/LocalFileSystemChromium.cpp:

(WebCore::openFileSystemHelper):
(WebCore::LocalFileSystem::readFileSystem):
(WebCore::LocalFileSystem::requestFileSystem):

  • src/WebFileSystemCallbacksImpl.cpp:

(WebKit::WebFileSystemCallbacksImpl::WebFileSystemCallbacksImpl):
(WebKit::WebFileSystemCallbacksImpl::didOpenFileSystem):

  • src/WebFileSystemCallbacksImpl.h:

(WebFileSystemCallbacksImpl):

  • src/WorkerAsyncFileSystemChromium.cpp:

(WebCore::WorkerAsyncFileSystemChromium::WorkerAsyncFileSystemChromium):
(WebCore::WorkerAsyncFileSystemChromium::createWorkerFileSystemCallbacksBridge):

  • src/WorkerAsyncFileSystemChromium.h:

(WebCore::WorkerAsyncFileSystemChromium::create):
(WorkerAsyncFileSystemChromium):

1:42 AM Changeset in webkit [116282] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Revert the previous.

Not reviewed.

Apparently r116235 was already rolled out.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::determineScope):

1:13 AM Changeset in webkit [116281] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

REGRESSION(r116235): broke a lot of tests on all chromium debug bots
https://bugs.webkit.org/show_bug.cgi?id=85773

Not reviewed.

Try to fix assert when scoped stylesheets are enabled.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::determineScope):

12:39 AM Changeset in webkit [116280] by kinuko@chromium.org
  • 23 edits
    1 copy in trunk/Source

Cleanup: Move FileSystem API type definitions into a separate header file
https://bugs.webkit.org/show_bug.cgi?id=85738

Reviewed by David Levin.

Move FileSystem API type definitions from AsyncFileSystem.h and
AsyncFileSystemChromium.cpp for chromium port into a single separate
header file: FileSystemType.h

By doing this we make it clearer that every filesystem type can be
found in the header file and also can save including entire
AsyncFileSystem definition just for referring type enum value.

Source/WebCore:

No new tests as this change has no visible or functional changes.

  • Modules/filesystem/DOMFileSystemBase.cpp:

(WebCore::pathToAbsolutePath):

  • Modules/filesystem/DOMWindowFileSystem.cpp:

(WebCore::DOMWindowFileSystem::webkitRequestFileSystem):
(WebCore::DOMWindowFileSystem::webkitResolveLocalFileSystemURL):
(WebCore):

  • Modules/filesystem/DOMWindowFileSystem.h:
  • Modules/filesystem/LocalFileSystem.h:

(LocalFileSystem):

  • Modules/filesystem/WorkerContextFileSystem.cpp:

(WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
(WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
(WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemURL):
(WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):
(WebCore):

  • Modules/filesystem/WorkerContextFileSystem.h:
  • platform/AsyncFileSystem.cpp:

(WebCore::AsyncFileSystem::isValidType):
(WebCore::AsyncFileSystem::create):
(WebCore::AsyncFileSystem::openFileSystem):

  • platform/AsyncFileSystem.h:

(AsyncFileSystem):
(WebCore::AsyncFileSystem::type):
(WebCore::AsyncFileSystem::AsyncFileSystem):

  • platform/FileSystemType.h: Added.

(WebCore):

  • platform/blackberry/AsyncFileSystemBlackBerry.cpp:

(WebCore::AsyncFileSystem::isValidType):
(WebCore::AsyncFileSystem::create):
(WebCore::AsyncFileSystem::openFileSystem):
(WebCore::AsyncFileSystem::crackFileSystemURL):
(WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):

  • platform/blackberry/AsyncFileSystemBlackBerry.h:

(AsyncFileSystemBlackBerry):

  • platform/gtk/AsyncFileSystemGtk.cpp:

(WebCore::AsyncFileSystem::isValidType):
(WebCore::AsyncFileSystem::create):
(WebCore::AsyncFileSystem::openFileSystem):
(WebCore::AsyncFileSystem::crackFileSystemURL):
(WebCore::AsyncFileSystemGtk::AsyncFileSystemGtk):

  • platform/gtk/AsyncFileSystemGtk.h:

(AsyncFileSystemGtk):

Source/WebKit/chromium:

  • src/AssertMatchingEnums.cpp:
  • src/AsyncFileSystemChromium.cpp:

(WebCore::AsyncFileSystem::crackFileSystemURL):
(WebCore::AsyncFileSystem::isValidType):
(WebCore::AsyncFileSystemChromium::AsyncFileSystemChromium):
(WebCore::AsyncFileSystemChromium::createIsolatedFileSystem):
(WebCore::AsyncFileSystemChromium::toURL):

  • src/AsyncFileSystemChromium.h:

(WebCore::AsyncFileSystemChromium::create):
(AsyncFileSystemChromium):

  • src/LocalFileSystemChromium.cpp:

(WebCore::openFileSystemHelper):
(WebCore::LocalFileSystem::readFileSystem):
(WebCore::LocalFileSystem::requestFileSystem):

  • src/WebFileSystemCallbacksImpl.cpp:

(WebKit::WebFileSystemCallbacksImpl::WebFileSystemCallbacksImpl):

  • src/WebFileSystemCallbacksImpl.h:

(WebFileSystemCallbacksImpl):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::createFileSystem):
(WebKit::WebFrameImpl::createFileEntry):

  • src/WorkerAsyncFileSystemChromium.cpp:

(WebCore::WorkerAsyncFileSystemChromium::WorkerAsyncFileSystemChromium):

  • src/WorkerAsyncFileSystemChromium.h:

(WebCore::WorkerAsyncFileSystemChromium::create):
(WorkerAsyncFileSystemChromium):

May 6, 2012:

11:52 PM Changeset in webkit [116279] by hayato@chromium.org
  • 2 edits in trunk/Tools

[prepare-ChangeLog] Excludes a reference file used by reftests from test files.
https://bugs.webkit.org/show_bug.cgi?id=74268

Reviewed by Ryosuke Niwa.

  • Scripts/prepare-ChangeLog:

(generateFileList):

11:45 PM Changeset in webkit [116278] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] New test introduced in r116255 is failing
https://bugs.webkit.org/show_bug.cgi?id=85777

Unreviewed gardening.

  • platform/qt/Skipped: Skip the failing test
11:36 PM WebKitGTK/WebKit2Roadmap edited by Carlos Garcia Campos
Update target version after 1.9.2 (diff)
11:05 PM Changeset in webkit [116277] by morrita@google.com
  • 48 edits
    2 moves in trunk

https://bugs.webkit.org/show_bug.cgi?id=85265
[Shadow DOM] ShadowTree needs a better name

Reviewed by Dimitri Glazkov.

.:

  • Source/autotools/symbols.filter: Updated exported symbol names according to the rename.

Source/WebCore:

Renamed ShadowTree to ElementShadow, The ElementShadow class is
going to be a facade of Shadow related APIs.

Following renames follow:

  • Element::shadowTree() to Element::shadow()
  • ShadowRoot::tree() to ShadowRoot::owner()
  • ShadowTree::recalcShadowTreeStyle() to ElementShadow::recalcStyle()

No new tests. Just renames.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.exp.in:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/ComposedShadowTreeWalker.cpp:

(WebCore::shadowFor):
(WebCore::shadowOfParent):
(WebCore::ComposedShadowTreeWalker::traverseChild):
(WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
(WebCore::ComposedShadowTreeWalker::traverseParent):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
(WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
(WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):

  • dom/DOMAllInOne.cpp:
  • dom/Document.cpp:

(WebCore::Document::buildAccessKeyMap):

  • dom/Element.cpp:

(WebCore::Element::~Element):
(WebCore::Element::willRemove):
(WebCore::Element::attach):
(WebCore::Element::detach):
(WebCore::Element::recalcStyle):
(WebCore::Element::hasShadowRoot):
(WebCore::Element::shadow):
(WebCore::Element::ensureShadow):
(WebCore::Element::ensureShadowRoot):
(WebCore::Element::childrenChanged):

  • dom/Element.h:

(WebCore):
(Element):

  • dom/ElementRareData.h:

(ElementRareData):
(WebCore::ElementRareData::~ElementRareData):

  • dom/ElementShadow.cpp: Renamed from Source/WebCore/dom/ShadowTree.cpp.

(WebCore):
(WebCore::ElementShadow::ElementShadow):
(WebCore::ElementShadow::~ElementShadow):
(WebCore::validateShadowRoot):
(WebCore::ElementShadow::addShadowRoot):
(WebCore::ElementShadow::removeAllShadowRoots):
(WebCore::ElementShadow::willRemove):
(WebCore::ElementShadow::setParentTreeScope):
(WebCore::ElementShadow::attach):
(WebCore::ElementShadow::attachHost):
(WebCore::ElementShadow::detach):
(WebCore::ElementShadow::detachHost):
(WebCore::ElementShadow::insertionPointFor):
(WebCore::ElementShadow::selectionFor):
(WebCore::ElementShadow::reattach):
(WebCore::ElementShadow::childNeedsStyleRecalc):
(WebCore::ElementShadow::needsStyleRecalc):
(WebCore::ElementShadow::recalcStyle):
(WebCore::ElementShadow::needsReattachHostChildrenAndShadow):
(WebCore::ElementShadow::hostChildrenChanged):
(WebCore::ElementShadow::setNeedsReattachHostChildrenAndShadow):
(WebCore::ElementShadow::reattachHostChildrenAndShadow):

  • dom/ElementShadow.h: Renamed from Source/WebCore/dom/ShadowTree.h.

(WebCore):
(ElementShadow):
(WebCore::ElementShadow::hasShadowRoot):
(WebCore::ElementShadow::youngestShadowRoot):
(WebCore::ElementShadow::oldestShadowRoot):
(WebCore::ElementShadow::selector):
(WebCore::ElementShadow::clearNeedsReattachHostChildrenAndShadow):
(WebCore::ElementShadow::host):
(ShadowRootVector):
(WebCore::ShadowRootVector::ShadowRootVector):

  • dom/Node.cpp:

(WebCore::oldestShadowRootFor):

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::NodeRenderingContext):
(WebCore::NodeRenderingContext::hostChildrenChanged):

  • dom/NodeRenderingContext.h:

(WebCore):

  • dom/ShadowRoot.cpp:

(WebCore::ShadowRoot::create):
(WebCore::ShadowRoot::owner):

  • dom/ShadowRoot.h:

(WebCore):
(ShadowRoot):

  • dom/TreeScopeAdopter.cpp:

(WebCore::shadowFor):
(WebCore::TreeScopeAdopter::moveTreeToNewScope):
(WebCore::TreeScopeAdopter::moveTreeToNewDocument):
(WebCore::TreeScopeAdopter::moveShadowToNewDocument):

  • dom/TreeScopeAdopter.h:

(TreeScopeAdopter):

  • html/ColorInputType.cpp:

(WebCore::ColorInputType::createShadowSubtree):
(WebCore::ColorInputType::shadowColorSwatch):

  • html/FileInputType.cpp:

(WebCore::FileInputType::createShadowSubtree):
(WebCore::FileInputType::multipleAttributeChanged):

  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::findMainSummary):

  • html/HTMLKeygenElement.cpp:

(WebCore::HTMLKeygenElement::shadowSelect):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaControls):
(WebCore::HTMLMediaElement::hasMediaControls):

  • html/HTMLSummaryElement.cpp:
  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::innerTextElement):
(WebCore::HTMLTextAreaElement::updatePlaceholderText):

  • html/InputType.cpp:

(WebCore::InputType::destroyShadowSubtree):

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::handleMouseDownEvent):
(WebCore::RangeInputType::createShadowSubtree):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::createShadowSubtree):
(WebCore::TextFieldInputType::updatePlaceholderText):

  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::deleteBubbleTree):

  • html/shadow/HTMLContentElement.cpp:

(WebCore::HTMLContentElement::parseAttribute):

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::attach):
(WebCore::InsertionPoint::detach):
(WebCore::InsertionPoint::distributeHostChildren):
(WebCore::InsertionPoint::clearDistribution):

  • html/shadow/InsertionPoint.h:
  • html/shadow/SliderThumbElement.cpp:

(WebCore::sliderThumbElementOf):
(WebCore::RenderSliderContainer::layout):
(WebCore::trackLimiterElementOf):

  • html/shadow/TextFieldDecorationElement.cpp:

(WebCore::getDecorationRootAndDecoratedRoot):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::unbind):
(WebCore::InspectorDOMAgent::buildObjectForNode):

  • page/FocusController.cpp:

(WebCore::FocusScope::focusScopeOf):
(WebCore::FocusScope::focusScopeOwnedByShadowHost):

  • rendering/RenderFileUploadControl.cpp:

(WebCore::RenderFileUploadControl::uploadButton):

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::updateReferencedText):
(WebCore::SVGTRefElement::detachTarget):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::clearResourceReferences):
(WebCore::SVGUseElement::buildShadowAndInstanceTree):
(WebCore::SVGUseElement::buildShadowTree):

  • testing/Internals.cpp:

(WebCore::Internals::ensureShadowRoot):
(WebCore::Internals::youngestShadowRoot):
(WebCore::Internals::oldestShadowRoot):
(WebCore::Internals::removeShadowRoot):

Source/WebKit2:

  • win/WebKit2.def: Updated exported symbol names according to the rename.
  • win/WebKit2CFLite.def: Updated exported symbol names according to the rename.
11:02 PM Changeset in webkit [116276] by caseq@chromium.org
  • 27 edits
    6 deletes in trunk

Unreviewed, rolling out r116235.
http://trac.webkit.org/changeset/116235
https://bugs.webkit.org/show_bug.cgi?id=85773

broke a lot of tests on all chromium debug bots (Requested by
caseq_ on #webkit).

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

Source/WebCore:

  • bindings/objc/DOMCSS.mm:
  • css/CSSFontFaceRule.cpp:
  • css/CSSFontFaceRule.h:

(CSSFontFaceRule):

  • css/CSSImportRule.cpp:
  • css/CSSMediaRule.cpp:

(WebCore::CSSMediaRule::insertRule):
(WebCore::CSSMediaRule::deleteRule):

  • css/CSSMediaRule.h:

(CSSMediaRule):

  • css/CSSPageRule.cpp:

(WebCore::CSSPageRule::setSelectorText):

  • css/CSSPageRule.h:

(CSSPageRule):

  • css/CSSRule.cpp:
  • css/CSSRule.h:

(CSSRule):
(WebCore::CSSRule::parserContext):

  • css/CSSStyleRule.cpp:

(WebCore::CSSStyleRule::setSelectorText):

  • css/CSSStyleRule.h:
  • css/CSSStyleSheet.cpp:

(WebCore::StyleSheetInternal::StyleSheetInternal):
(WebCore::StyleSheetInternal::isCacheable):
(WebCore::StyleSheetInternal::createChildRuleCSSOMWrapper):
(WebCore::StyleSheetInternal::wrapperInsertRule):
(WebCore::StyleSheetInternal::wrapperDeleteRule):
(WebCore::StyleSheetInternal::styleSheetChanged):
(WebCore):
(WebCore::CSSStyleSheet::setDisabled):
(WebCore::CSSStyleSheet::item):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::deleteRule):

  • css/CSSStyleSheet.h:

(StyleSheetInternal):
(WebCore::StyleSheetInternal::hasCharsetRule):
(WebCore::CSSStyleSheet::styleSheetChanged):
(CSSStyleSheet):

  • css/MediaList.cpp:

(WebCore::MediaList::setMediaText):
(WebCore::MediaList::deleteMedium):
(WebCore::MediaList::appendMedium):
(WebCore::MediaList::notifyChanged):

  • css/MediaList.h:

(MediaList):

  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::removeProperty):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
(WebCore::PropertySetCSSStyleDeclaration::didMutate):
(WebCore):
(WebCore::StyleRuleCSSStyleDeclaration::setNeedsStyleRecalc):
(WebCore::InlineCSSStyleDeclaration::setNeedsStyleRecalc):

  • css/PropertySetCSSStyleDeclaration.h:

(WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
(PropertySetCSSStyleDeclaration):
(StyleRuleCSSStyleDeclaration):

  • css/StylePropertySet.cpp:
  • css/WebKitCSSKeyframesRule.cpp:

(WebCore::WebKitCSSKeyframesRule::setName):
(WebCore::WebKitCSSKeyframesRule::insertRule):
(WebCore::WebKitCSSKeyframesRule::deleteRule):

  • css/WebKitCSSKeyframesRule.h:

(WebKitCSSKeyframesRule):

  • css/WebKitCSSRegionRule.cpp:
  • css/WebKitCSSRegionRule.h:

(WebKitCSSRegionRule):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::reparseStyleSheet):

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet):
(WebCore::CachedCSSStyleSheet::destroyDecodedData):
(WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
(WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):

LayoutTests:

  • http/tests/css/resources/shared-stylesheet-mutation.js: Removed.
  • http/tests/css/resources/shared.css: Removed.
  • http/tests/css/shared-stylesheet-mutation-expected.txt: Removed.
  • http/tests/css/shared-stylesheet-mutation-preconstruct-expected.txt: Removed.
  • http/tests/css/shared-stylesheet-mutation-preconstruct.html: Removed.
  • http/tests/css/shared-stylesheet-mutation.html: Removed.
10:54 PM Changeset in webkit [116275] by abarth@webkit.org
  • 3 edits in trunk/Source/WebCore

Attempt to fix the !ENABLE(INSPECTOR) build by making InspectorValues
available unconditionally. We should probably rename these classes to
JSONValues and move them into WebCore/platform.

  • inspector/InspectorValues.cpp:
  • inspector/InspectorValues.h:
10:38 PM Changeset in webkit [116274] by abarth@webkit.org
  • 8 edits
    4 adds in trunk

CSP violation reports should have all the fields required by the spec
https://bugs.webkit.org/show_bug.cgi?id=85682

Reviewed by Darin Adler.

Source/WebCore:

This patch updates our CSP violation reports to include all the fields
in the spec. We've discussed all these fields in the working group,
and we have fairly high confidence that these are safe to expose.

Tests: http/tests/security/contentSecurityPolicy/report-and-enforce.html

http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin.html
http/tests/security/contentSecurityPolicy/report-blocked-uri.html
http/tests/security/contentSecurityPolicy/report-only-from-header.html
http/tests/security/contentSecurityPolicy/report-only.html
http/tests/security/contentSecurityPolicy/report-uri-from-child-frame.html
http/tests/security/contentSecurityPolicy/report-uri.html

  • page/ContentSecurityPolicy.cpp:

(CSPDirectiveList):
(WebCore::CSPDirectiveList::reportViolation):
(WebCore::CSPDirectiveList::checkSourceAndReportViolation):

LayoutTests:

Update test results to show the new fields in the violation reports.
This patch also adds tests that exercise both the same-origin and the
cross-origin case for blocked-uri.

  • http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin.html: Added.
  • http/tests/security/contentSecurityPolicy/report-blocked-uri-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-blocked-uri.html: Added.
  • http/tests/security/contentSecurityPolicy/report-only-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt:
10:33 PM Changeset in webkit [116273] by kinuko@chromium.org
  • 11 edits in trunk/Source

Cleanup: FileSystem API's Entry.toURL() impl should return KURL instead of String
https://bugs.webkit.org/show_bug.cgi?id=85736

Change the return type of Entry::toURL() from String to KURL.

Reviewed by David Levin.

No new tests as this change should not have any visible impact in the javascript layer.

Source/WebCore:

  • Modules/filesystem/EntryBase.cpp:

(WebCore::EntryBase::toURL):

  • Modules/filesystem/EntryBase.h:
  • platform/AsyncFileSystem.h:
  • platform/blackberry/AsyncFileSystemBlackberry.cpp:

(AsyncFileSystemBlackberry::toURL):

  • platform/blackberry/AsyncFileSystemBlackberry.h:
  • platform/gtk/AsyncFileSystemGtk.cpp:

(AsyncFileSystemGtk::toURL):

  • platform/gtk/AsyncFileSystemGtk.h:

Souce/We/chromium:

  • src/AsyncFileSystemChromium.cpp:

(WebCore::AsyncFileSystemChromium::toURL):
String to KURL.

  • src/AsyncFileSystemChromium.h:

(AsyncFileSystemChromium):

10:24 PM Changeset in webkit [116272] by caseq@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed expectations update for overflow-positioning.html.

  • platform/chromium/test_expectations.txt:
10:05 PM Changeset in webkit [116271] by hbono@chromium.org
  • 3 edits
    4 copies in branches/chromium/1084

Merge 114095 - Background width (or height) is wrong if width (or height) * zoom < 1.
https://bugs.webkit.org/show_bug.cgi?id=83350

Reviewed by Nikolas Zimmermann.

Source/WebCore:

calculateImageIntrinsicDimension will return wrong size if the calculated size is 0.
0 is used for expressing unspecfied, so the method returns the box width(height) instead.

Since CachedImage has already similar code, we moved it to IntSize and shared it.

Tests: fast/css/zoom-background-repeat-x-expected.html

fast/css/zoom-background-repeat-x.html
fast/css/zoom-background-repeat-y-expected.html
fast/css/zoom-background-repeat-y.html

  • loader/cache/CachedImage.cpp:

(WebCore::CachedImage::imageSizeForRenderer):

  • platform/graphics/IntSize.h:

(IntSize):
(WebCore::IntSize::scale):
(WebCore::IntSize::clampToMinimumSize):

  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):

LayoutTests:

  • fast/css/zoom-background-repeat-x-expected.html: Added.
  • fast/css/zoom-background-repeat-x.html: Added.
  • fast/css/zoom-background-repeat-y-expected.html: Added.
  • fast/css/zoom-background-repeat-y.html: Added.

TBR=shinyak@chromium.org
Review URL: https://chromiumcodereview.appspot.com/10379031

9:41 PM Changeset in webkit [116270] by pilgrim@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Call currentThread through Platform.h directly
https://bugs.webkit.org/show_bug.cgi?id=85769

Reviewed by Kentaro Hara.

Part of a refactoring series. See tracking bug 82948.

  • tests/CCLayerTreeHostTest.cpp:

(WTF::CCLayerTreeHostTest::onEndTest):
(WTF::CCLayerTreeHostTest::runTest):

9:39 PM Changeset in webkit [116269] by haraken@chromium.org
  • 16 edits in trunk/Source/WebCore

[V8][Performance] Remove Isolate lookup from the call path
to get a cached JS wrapper object by getDOMXXXXMap().
https://bugs.webkit.org/show_bug.cgi?id=85205

Reviewed by Adam Barth.

The patch improves the performance of getting a cached JS wrapper
by getDOMXXXXMap(). For example, it improves the performance
of toV8(NodeList*) in getElementsByTagName(), getElementsByName(),
getElementsByClassName() by 7 ~ 9%.

Performance tests: https://bugs.webkit.org/attachment.cgi?id=139468

The performance test results in my Linux desktop:

getElementsByTagName : 40.76 ms => 37.52ms (+8.6%)
getElementsByName : 41.02 ms => 37.42ms (+9.6%)
getElementsByClassName : 40.32 ms => 37.68ms (+7.0%)

Unfortunately we cannot observe performance improvement in
Dromaeo/dom-query.html, which are testing getElementsByTagName(),
getElementsByName(), getElementsByClassName(). This is because
the bottleneck of these Dromaeo tests is not toV8(NodeList*) but
.length and .nodeType accesses. The patch for optimizing them
will be coming soon.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm: Modified as described above.

(GenerateHeader):
(GenerateNormalAttrGetter):
(GetDomMapFunction):
(NativeToJSValue):

  • bindings/v8/DOMData.cpp:

(WebCore::DOMData::getCurrentStore):

  • bindings/scripts/test/V8/V8Float64Array.h: Updated run-bindings-tests results.

(WebCore::V8Float64Array::wrap):

  • bindings/scripts/test/V8/V8TestActiveDOMObject.h:

(WebCore::V8TestActiveDOMObject::wrap):

  • bindings/scripts/test/V8/V8TestCustomNamedGetter.h:

(WebCore::V8TestCustomNamedGetter::wrap):

  • bindings/scripts/test/V8/V8TestEventConstructor.h:

(WebCore::V8TestEventConstructor::wrap):

  • bindings/scripts/test/V8/V8TestEventTarget.cpp:

(WebCore::TestEventTargetV8Internal::itemCallback):

  • bindings/scripts/test/V8/V8TestEventTarget.h:

(WebCore::V8TestEventTarget::wrap):

  • bindings/scripts/test/V8/V8TestInterface.cpp:

(WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):

  • bindings/scripts/test/V8/V8TestInterface.h:

(WebCore::V8TestInterface::wrap):

  • bindings/scripts/test/V8/V8TestMediaQueryListListener.h:

(WebCore::V8TestMediaQueryListListener::wrap):

  • bindings/scripts/test/V8/V8TestNamedConstructor.h:

(WebCore::V8TestNamedConstructor::wrap):

  • bindings/scripts/test/V8/V8TestObj.cpp:

(WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
(WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
(WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
(WebCore::TestObjV8Internal::contentDocumentAttrGetter):
(WebCore::TestObjV8Internal::getSVGDocumentCallback):

  • bindings/scripts/test/V8/V8TestObj.h:

(WebCore::V8TestObj::wrap):

  • bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:

(WebCore::V8TestSerializedScriptValueInterface::wrap):

9:34 PM Changeset in webkit [116268] by abarth@webkit.org
  • 10 edits in trunk

Content Security Policy reports should be reported with content-type application/json, should contain all required fields
https://bugs.webkit.org/show_bug.cgi?id=61360

Reviewed by Eric Seidel.

Source/WebCore:

This patch changes ContentSecurityPolicy to use JSON format for sending
violation reports rather than wwwform-encoding. This patch aligns our
behavior with the specification and with Mozilla. A follow up patch
will update the list of fields in the report to match the spec.

  • loader/PingLoader.cpp:

(WebCore::PingLoader::reportContentSecurityPolicyViolation):

  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPDirectiveList::reportViolation):

LayoutTests:

Update results to show JSON format.

  • http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-only-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-only-from-header-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-expected.txt:
  • http/tests/security/contentSecurityPolicy/report-uri-from-child-frame-expected.txt:
  • http/tests/security/contentSecurityPolicy/resources/save-report.php:
9:15 PM Changeset in webkit [116267] by pilgrim@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Call cryptographicallyRandomValues through Platform.h
https://bugs.webkit.org/show_bug.cgi?id=85763

Reviewed by Adam Barth.

Part of a refactoring series. See tracking bug 82948.

  • src/ChromiumOSRandomSource.cpp:

(WTF::cryptographicallyRandomValuesFromOS):

9:11 PM Changeset in webkit [116266] by mary.wu@torchmobile.com.cn
  • 2 edits in trunk/Tools

Add a contributor to committers.py
https://bugs.webkit.org/show_bug.cgi?id=85761

Reviewed by Unreviewed.

Add myself to committers.py contributor.

  • Scripts/webkitpy/common/config/committers.py:
9:09 PM Changeset in webkit [116265] by mary.wu@torchmobile.com.cn
  • 8 edits in trunk/Source

[BlackBerry] Support html5 download attribute.
https://bugs.webkit.org/show_bug.cgi?id=85044

Reviewed by Antonio Gomes.

Source/WebCore:

Pass download attribute filename to networkJob and it could be
overridden by the Content-Disposition HTTP header's filename parameter.

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::initialize):

  • platform/network/blackberry/ResourceRequest.h:

(WebCore::ResourceRequest::setSuggestSaveName):
(WebCore::ResourceRequest::suggestSaveName):
(ResourceRequest):

  • platform/network/blackberry/ResourceRequestBlackBerry.cpp:

(WebCore::ResourceRequest::initializePlatformRequest):

Source/WebKit/blackberry:

If a link has download attribute, we should pass that value and be able to
save file with the name according to HTML5:
http://updates.html5rocks.com/2011/08/Downloading-resources-in-HTML5-a-download

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::load):
(BlackBerry::WebKit::WebPage::download):

  • Api/WebPage_p.h:

(WebPagePrivate):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::startDownload):

8:43 PM Changeset in webkit [116264] by fpizlo@apple.com
  • 6 edits in branches/dfgopt/Source/JavaScriptCore

Truncating multiplication on integers should not OSR exit every time
https://bugs.webkit.org/show_bug.cgi?id=85752

Reviewed by Gavin Barraclough.

  • dfg/DFGAbstractState.cpp:

(JSC::DFG::AbstractState::execute):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.h:

(JSC::DFG::Graph::mulShouldSpeculateInteger):
(Graph):
(JSC::DFG::Graph::mulImmediateShouldSpeculateInteger):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):
(JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileArithMul):

8:13 PM Changeset in webkit [116263] by bashi@chromium.org
  • 5 edits in trunk

Disallow unquoted -webkit-font-feature-settings tags
https://bugs.webkit.org/show_bug.cgi?id=85362

Reviewed by Kent Tamura.

Source/WebCore:

Disallow unquoted tags to follow the current draft.
http://dev.w3.org/csswg/css3-fonts/#font-feature-settings-prop

No new tests. css3/font-feature-settings-parsing.html was updated.

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseFontFeatureTag): Accepts only 4-characters string.

LayoutTests:

  • css3/font-feature-settings-parsing-expected.txt: Updated to follow the current draft specification.
  • css3/font-feature-settings-parsing.html: Ditto.
7:53 PM Changeset in webkit [116262] by rakuco@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix for r116260.

COMPILE_ASSERT() does not expect a string in its second parameter.

  • platform/graphics/TextRun.cpp:

(WebCore):

7:24 PM Changeset in webkit [116261] by rakuco@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Gardening. Skip more failing tests.

  • platform/efl/Skipped:
  • platform/efl/test_expectations.txt:
7:19 PM Changeset in webkit [116260] by rwlbuis@webkit.org
  • 3 edits in trunk/Source/WebCore

Shrink TextRun object size
https://bugs.webkit.org/show_bug.cgi?id=85751

Reviewed by Darin Adler.

Reorder the member variables in TextRun so it shrinks from 56 to 40 bytes on my 64-bit build. This is important
for SVG, since RenderSVGText shrinks because of this.

Also add a compile assert for the expected object size.

  • platform/graphics/TextRun.cpp:

(ExpectedTextRunSize):
(WebCore):

  • platform/graphics/TextRun.h:

(WebCore::TextRun::TextRun):
(WebCore::TextRun::direction):
(TextRun):

7:10 PM Changeset in webkit [116259] by keishi@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

[chromium] Add WebKit API to access multiple attribute of input element
https://bugs.webkit.org/show_bug.cgi?id=85355

Reviewed by Kent Tamura.

We need this to implement the datalist UI for <input type=email multiple>.

  • public/WebInputElement.h:

(WebInputElement):

  • src/WebInputElement.cpp:

(WebKit::WebInputElement::isMultiple):
(WebKit):

6:50 PM Changeset in webkit [116258] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk/Source

[BlackBerry] Autofill backing store implementation upstream
https://bugs.webkit.org/show_bug.cgi?id=85575

Patch by Jonathan Dong <Jonathan Dong> on 2012-05-06
Reviewed by Rob Buis.

Source/WebCore:

Implemented class AutofillBackingStore which is responsible
for handling interaction with autofill database.

Replaced static function
CredentialBackingStore* CredentialBackingStore::instance()
with a helper function
CredentialBackingStore& credentialBackingStore(),
and used DEFINE_STATIC_LOCAL to construct the singleton
object.
Also removed unnecessary function close() and combined with
the destructor of class CredentialBackingStore.

Initial upstream, No new tests.

  • PlatformBlackBerry.cmake:
  • platform/network/blackberry/AutofillBackingStore.cpp: Added.

(WebCore):
(WebCore::autofillBackingStore):
(WebCore::AutofillBackingStore::AutofillBackingStore):
(WebCore::AutofillBackingStore::~AutofillBackingStore):
(WebCore::AutofillBackingStore::open):
(WebCore::AutofillBackingStore::add):
(WebCore::AutofillBackingStore::update):
(WebCore::AutofillBackingStore::contains):
(WebCore::AutofillBackingStore::get):
(WebCore::AutofillBackingStore::clear):

  • platform/network/blackberry/AutofillBackingStore.h: Added.

(WebCore):
(AutofillBackingStore):

  • platform/network/blackberry/CredentialBackingStore.cpp:

(WebCore::credentialBackingStore):
(WebCore::CredentialBackingStore::~CredentialBackingStore):

  • platform/network/blackberry/CredentialBackingStore.h:

(CredentialBackingStore):
(WebCore):

  • platform/network/blackberry/CredentialStorageBlackBerry.cpp:

(WebCore::CredentialStorage::getFromPersistentStorage):

Source/WebKit/blackberry:

Replaced calling static function CredentialBackingStore::instance()
with calling the helper function credentialBackingStore().

  • WebCoreSupport/CredentialManager.cpp:

(WebCore::CredentialManager::autofillAuthenticationChallenge):
(WebCore::CredentialManager::autofillPasswordForms):
(WebCore::CredentialManager::saveCredentialIfConfirmed):
(WebCore::CredentialManager::clearCredentials):
(WebCore::CredentialManager::clearNeverRememberSites):

6:41 PM Changeset in webkit [116257] by mitz@apple.com
  • 3 edits
    9 adds in trunk

.: Part of: Building and debugging WebKit in the Xcode IDE requires a lot of setup
https://bugs.webkit.org/show_bug.cgi?id=85739

Reviewed by Daniel Bates.

  • WebKit.xcworkspace: Added.
  • WebKit.xcworkspace/contents.xcworkspacedata: Added.
  • WebKit.xcworkspace/xcshareddata: Added.
  • WebKit.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: Added.
  • WebKit.xcworkspace/xcshareddata/xcschemes: Added.
  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source (target WebProcess).xcscheme: Added

this scheme, which builds all source projects and runs WebProcess with
Safari as the client executable.

  • WebKit.xcworkspace/xcshareddata/xcschemes/All Source.xcscheme: Added

this scheme, which builds all source projects and runs Safari.

  • WebKit.xcworkspace/xcshareddata/xcschemes/All Tools.xcscheme: Added

this scheme, which builds all tools projects and runs DumpRenderTree.

Tools: Tools part of: Building and debugging WebKit in the Xcode IDE requires a lot of setup
https://bugs.webkit.org/show_bug.cgi?id=85739

Reviewed by Daniel Bates.

  • Scripts/build-webkit: Moved code that copies from WebKitLibraries to the product directory

from here...

  • Scripts/copy-webkitlibraries-to-product-directory: ...to this new script.
6:31 PM Changeset in webkit [116256] by kov@webkit.org
  • 2 edits in trunk

[GTK] Enable WebKit2 build by default (again)
https://bugs.webkit.org/show_bug.cgi?id=85750

  • configure.ac: enable wk2 build by default.
6:11 PM Changeset in webkit [116255] by morrita@google.com
  • 3 edits
    2 adds in trunk

[Shadow DOM] Node distribution should be refreshed before style recalc.
https://bugs.webkit.org/show_bug.cgi?id=85259

Reviewed by Dimitri Glazkov.

Source/WebCore:

Element::recalcStyle() calls child element's recalcStyle()
recursively, following ShadowTree::recalcShadowTreeStyle(). But
recalcShadowTreeStyle() should be called before such recursion if
necessary.

This is because style calculation and following renderer attachment
of each child element depends on up-to-date node distribution result
which is computed during the recalcShadowTreeStyle().

Test: fast/dom/shadow/shadow-dynamic-style-change-via-mutation-and-selector.html

  • dom/Element.cpp: Moved recalcShadowTreeStyle() before child traversals.

(WebCore::Element::recalcStyle):

LayoutTests:

  • fast/dom/shadow/shadow-dynamic-style-change-via-mutation-and-selector-expected.txt: Added.
  • fast/dom/shadow/shadow-dynamic-style-change-via-mutation-and-selector.html: Added.
5:53 PM Changeset in webkit [116254] by abarth@webkit.org
  • 9 edits
    4 adds in trunk

CSP should let sites both enforce one policy and monitor another
https://bugs.webkit.org/show_bug.cgi?id=85561

Reviewed by Eric Seidel.

Source/WebCore:

This patch lets us enforce and/or monitor multiple CSP policies.
Rather than having a single directive list, we now have a vector of
directive lists.

Tests: http/tests/security/contentSecurityPolicy/combine-multiple-policies.html

http/tests/security/contentSecurityPolicy/report-and-enforce.html

  • page/ContentSecurityPolicy.cpp:

(WebCore::ContentSecurityPolicy::copyStateFrom):
(WebCore::ContentSecurityPolicy::didReceiveHeader):
(WebCore::ContentSecurityPolicy::deprecatedHeader):
(WebCore::ContentSecurityPolicy::deprecatedHeaderType):

  • Even after this patch, workers aren't smart enough to enforce multiple policies. They just use the first header, like they did before. We'll need to teach workers how to enforce multiple policies in a future patch.

(WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
(WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
(WebCore::ContentSecurityPolicy::allowInlineScript):
(WebCore::ContentSecurityPolicy::allowInlineStyle):
(WebCore::ContentSecurityPolicy::allowEval):
(WebCore::ContentSecurityPolicy::allowScriptFromSource):
(WebCore::ContentSecurityPolicy::allowObjectFromSource):
(WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
(WebCore::ContentSecurityPolicy::allowImageFromSource):
(WebCore::ContentSecurityPolicy::allowStyleFromSource):
(WebCore::ContentSecurityPolicy::allowFontFromSource):
(WebCore::ContentSecurityPolicy::allowMediaFromSource):
(WebCore::ContentSecurityPolicy::allowConnectFromSource):

  • page/ContentSecurityPolicy.h:
  • workers/DefaultSharedWorkerRepository.cpp:

(WebCore::SharedWorkerScriptLoader::notifyFinished):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::startWorkerContext):

Source/WebKit/chromium:

  • src/SharedWorkerRepository.cpp:

(WebCore::SharedWorkerScriptLoader::notifyFinished):

  • src/WebWorkerClientImpl.cpp:

(WebKit::WebWorkerClientImpl::startWorkerContext):

LayoutTests:

Test that we can enforce multiple policies and that we can enforce one
policy while monitoring another.

  • http/tests/security/contentSecurityPolicy/combine-multiple-policies-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/combine-multiple-policies.html: Added.
  • http/tests/security/contentSecurityPolicy/report-and-enforce-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/report-and-enforce.html: Added.
5:45 PM Changeset in webkit [116253] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

InlineBox::setHasBadParent should be debug only
https://bugs.webkit.org/show_bug.cgi?id=85748

Patch by Rob Buis <rbuis@rim.com> on 2012-05-06
Reviewed by Eric Seidel.

Do not provide InlineBox::setHasBadParent in release builds.

  • rendering/InlineBox.h:

(InlineBox):
(WebCore):
(WebCore::InlineBox::setHasBadParent):

5:26 PM Changeset in webkit [116252] by aestes@apple.com
  • 2 edits in trunk/Tools

Fix the build after r116246.

  • DumpRenderTree/LayoutTestController.cpp: Remove an unused function.
5:14 PM Changeset in webkit [116251] by eric@webkit.org
  • 2 edits in trunk/Tools

Update several build-webkit options to match the #defines they toggle
https://bugs.webkit.org/show_bug.cgi?id=85744

Reviewed by Adam Barth.

Most notable here is fixing --3d-canvas to be --webgl these days --
the define was renamed 15 months ago!

  • Scripts/webkitperl/FeatureList.pm:
4:28 PM Changeset in webkit [116250] by commit-queue@webkit.org
  • 7 edits in trunk

[EFL] EFL's LayoutTestController setJavaScriptCanAccessClipboard implementation
https://bugs.webkit.org/show_bug.cgi?id=83687

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-05-06
Reviewed by Antonio Gomes.

Source/WebKit/efl:

  • ewk/ewk_view.cpp:

(_Ewk_View_Private_Data):
(_ewk_view_priv_new):
(ewk_view_setting_scripts_can_access_clipboard_get):
(ewk_view_setting_scripts_can_access_clipboard_set):

  • ewk/ewk_view.h:

Tools:

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:

(LayoutTestController::setJavaScriptCanAccessClipboard):

LayoutTests:

  • platform/efl/Skipped:
4:26 PM Changeset in webkit [116249] by eric@webkit.org
  • 3 edits in trunk/WebKitLibraries

Remove 3D_CANVAS define from vsprops files (it was renamed WEBGL many months ago)
https://bugs.webkit.org/show_bug.cgi?id=85743

Reviewed by Adam Barth.

  • win/tools/vsprops/FeatureDefines.vsprops:
  • win/tools/vsprops/FeatureDefinesCairo.vsprops:
3:57 PM Changeset in webkit [116248] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

KURL::isBlankURL would be a nicer idiom than KURL::protocolIs("about")
https://bugs.webkit.org/show_bug.cgi?id=85641

Patch by Mike West <mkwst@chromium.org> on 2012-05-06
Reviewed by Adam Barth.

  • dom/Document.cpp:

(WebCore::shouldInheritSecurityOriginFromOwner):

  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPDirectiveList::allowObjectFromSource):
(WebCore::CSPDirectiveList::allowChildFrameFromSource):

  • page/PageSerializer.cpp:

(WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
(WebCore::PageSerializer::serializeFrame):

  • platform/KURL.cpp:

(WebCore::KURL::isBlankURL):
(WebCore):

  • platform/KURL.h:

(KURL):
(WebCore):

3:46 PM Changeset in webkit [116247] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[TextureMapper] Layer images is uploaded to the GPU for each sync
https://bugs.webkit.org/show_bug.cgi?id=85727

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-05-06
Reviewed by Noam Rosenthal.

No new tests. This does not change functionality,
it only improves performance.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::updateBackingStore): Reset the needsDisplay
and needsDisplayRect variables after uploading the layer image.

3:43 PM Changeset in webkit [116246] by gyuyoung.kim@samsung.com
  • 33 edits in trunk

Convert isPageBoxVisible to use Internals interface.
https://bugs.webkit.org/show_bug.cgi?id=85692

Reviewed by Darin Adler.

.:

  • Source/autotools/symbols.filter: Add isPageBoxVisible symbol filter.

Source/WebCore:

Add isPageBoxVisible functions, because it is able to work in the
cross-port way through the Internals interface.

No new tests, since we are improving here the infra-structure for testing
a specific method.

  • testing/Internals.cpp:

(WebCore):
(WebCore::Internals::isPageBoxVisible):

  • testing/Internals.h:

(Internals):

  • testing/Internals.idl:

Source/WebKit/efl:

Remove isPageBoxVisible functions, because it is able to work in the
cross-port way through the Internals interface.

  • WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
  • WebCoreSupport/DumpRenderTreeSupportEfl.h:

Source/WebKit/gtk:

Remove isPageBoxVisible functions, because it is able to work in the
cross-port way through the Internals interface.

  • WebCoreSupport/DumpRenderTreeSupportGtk.cpp:
  • WebCoreSupport/DumpRenderTreeSupportGtk.h:

(DumpRenderTreeSupportGtk):

Source/WebKit/qt:

Remove isPageBoxVisible functions, because it is able to work in the
cross-port way through the Internals interface.

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:
  • WebCoreSupport/DumpRenderTreeSupportQt.h:

Source/WebKit2:

  • win/WebKit2.def: Add isPageBoxVisible symbol filter.

Tools:

Remove isPageBoxVisible functions, because it is able to work in the
cross-port way through the Internals interface.

  • DumpRenderTree/LayoutTestController.cpp:

(LayoutTestController::staticFunctions):

  • DumpRenderTree/LayoutTestController.h:

(LayoutTestController):

  • DumpRenderTree/blackberry/LayoutTestControllerBlackBerry.cpp:
  • DumpRenderTree/chromium/LayoutTestController.cpp:

(LayoutTestController::LayoutTestController):

  • DumpRenderTree/chromium/LayoutTestController.h:

(LayoutTestController):

  • DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
  • DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
  • DumpRenderTree/mac/LayoutTestControllerMac.mm:
  • DumpRenderTree/qt/LayoutTestControllerQt.cpp:
  • DumpRenderTree/qt/LayoutTestControllerQt.h:

(LayoutTestController):

  • DumpRenderTree/win/LayoutTestControllerWin.cpp:
  • DumpRenderTree/wx/LayoutTestControllerWx.cpp:

LayoutTests:

Call isPageBoxVisible functions from internals, because it is able to work in the
cross-port way through the Internals interface.

  • printing/page-format-data-expected.txt:
  • printing/page-format-data.html:
3:33 PM Changeset in webkit [116245] by tomz@codeaurora.org
  • 3 edits in trunk/Tools

sheriffbot isn't reopening patches after it lands rollouts
https://bugs.webkit.org/show_bug.cgi?id=64418

Reviewed by Adam Barth.

  • Scripts/webkitpy/tool/commands/download_unittest.py:
  • Scripts/webkitpy/tool/steps/createbug.py:

(CreateBug.run):

3:19 PM Changeset in webkit [116244] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk

Web Inspector: "Goto Function" filtering should be less restrictive.
https://bugs.webkit.org/show_bug.cgi?id=85586

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-05-06
Reviewed by Pavel Feldman.

Added tests for generated regex.

Changes:
1) Avoid asterisks in filtering queue.
2) Optimization: do not create regexp for each item.

  • inspector/front-end/FilteredItemSelectionDialog.js:

(WebInspector.FilteredItemSelectionDialog.prototype.get _itemsLoaded):
Applied new filtering workflow.
(WebInspector.FilteredItemSelectionDialog.prototype._checkItemAt):
Removed.
(WebInspector.FilteredItemSelectionDialog.prototype._createSearchRegExp):
Removed unused "suffix" logic; changed the way regexp is composed from query.
(WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
Applied new filtering workflow.
(WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
Removed unused var.

3:12 PM Changeset in webkit [116243] by tkent@chromium.org
  • 7 edits in trunk/Source

Rename ICULocale to LocaleICU, part 2
https://bugs.webkit.org/show_bug.cgi?id=85695

Reviewed by Kentaro Hara.

Source/WebCore:

No behavior change

  • platform/text/LocaleICU.cpp: Rename ICULocale to LocaleICU.
  • platform/text/LocaleICU.h: ditto.

Also, update obsolete comments.

  • platform/text/LocalizedDateICU.cpp: Rename ICULocale to LocaleICU.

(WebCore::parseLocalizedDate):
(WebCore::formatLocalizedDate):
(WebCore::localizedDateFormatText):
(WebCore::monthLabels):
(WebCore::weekDayShortLabels):
(WebCore::firstDayOfWeek):

  • platform/text/LocalizedNumberICU.cpp: ditto.

(WebCore::convertToLocalizedNumber):
(WebCore::convertFromLocalizedNumber):

Source/WebKit/chromium:

  • tests/LocalizedNumberICUTest.cpp:

(testNumberIsReversible): Rename ICULocale to LocaleICU.

3:06 PM Changeset in webkit [116242] by enne@google.com
  • 4 edits
    1 add in trunk/Source/WebKit/chromium

[chromium] Allow WebMediaPlayerClientImpl to switch clients
https://bugs.webkit.org/show_bug.cgi?id=85093

Reviewed by James Robinson.

WebVideoFrameProviderClient has a 1:1 relationship with a
WebVideoFrameProvider. The client here is CCVideoLayerImpl and the
provider is WebMediaPlayerClientImpl. If the provider gets a new
client, then the old client needs to be informed to stop using the
provider.

If this doesn't happen, then the old client will have an unsafe
pointer to the provider, will not get informed if the provider gets
deleted, and the client will crash when it dereferences the provider
pointer trying to tell the provider that its client is going away.

Test: WebMediaPlayerClientImplTest.InitialNullVideoClient

WebMediaPlayerClientImplTest.SetAndUnsetVideoClient
WebMediaPlayerClientImplTest.DestroyProvider
WebMediaPlayerClientImplTest.SetMultipleVideoClients

  • WebKit.gypi:
  • src/WebMediaPlayerClientImpl.cpp:

(WebKit::WebMediaPlayerClientImpl::setVideoFrameProviderClient):

  • src/WebMediaPlayerClientImpl.h:

(WebMediaPlayerClientImpl):

  • tests/WebMediaPlayerClientImplTest.cpp: Added.

(WebKit):
(FakeWebMediaPlayerClientImpl):
(WebKit::FakeWebMediaPlayerClientImpl::create):
(WebKit::FakeWebMediaPlayerClientImpl::FakeWebMediaPlayerClientImpl):
(FakeVideoFrameProviderClient):
(WebKit::FakeVideoFrameProviderClient::create):
(WebKit::FakeVideoFrameProviderClient::~FakeVideoFrameProviderClient):
(WebKit::FakeVideoFrameProviderClient::didReceiveFrame):
(WebKit::FakeVideoFrameProviderClient::didUpdateMatrix):
(WebKit::FakeVideoFrameProviderClient::stopUsingProvider):
(WebKit::FakeVideoFrameProviderClient::provider):
(WebKit::FakeVideoFrameProviderClient::FakeVideoFrameProviderClient):
(WebKit::TEST):

3:05 PM Changeset in webkit [116241] by commit-queue@webkit.org
  • 4 edits in trunk

[BlackBerry] Enable credential persistance and auto fill
https://bugs.webkit.org/show_bug.cgi?id=85572

Patch by Jonathan Dong <Jonathan Dong> on 2012-05-06
Reviewed by Rob Buis.

.:

Enable credential persistance and auto fill feature by adding
ENABLE_BLACKBERRY_CREDENTIAL_PERSIST=1.

  • Source/cmake/OptionsBlackBerry.cmake:

Source/WebKit/blackberry:

Set autofilled status of credential input fields when credential
information is auto filled by CredentialManager.
By doing this the input element will get painted with yellow background
which can notify user this input field is auto filled by the browser.

No behavior changes, so no new test.

  • WebCoreSupport/CredentialTransformData.cpp:

(WebCore::CredentialTransformData::setCredential):

3:05 PM Changeset in webkit [116240] by kov@webkit.org
  • 1 copy in releases/WebKitGTK/webkit-1.9.2

Tagging the WebKitGTK+ 1.9.2 release.

2:19 PM Changeset in webkit [116239] by abarth@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

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

  • DEPS:
1:20 PM Changeset in webkit [116238] by kevino@webkit.org
  • 6 edits in trunk/Source/WebCore

[wx] Unreviewed. Build fixes for recent trunk changes.

7:54 AM Changeset in webkit [116237] by caseq@chromium.org
  • 13 edits in trunk/Source

Web Inspector: take timeline frame mode out of experimental
https://bugs.webkit.org/show_bug.cgi?id=85707

Reviewed by Pavel Feldman.

Source/WebCore:

  • remove "Vertical timeline overview" experiment;
  • add supportsFrameInstrumentation capability to InspectorTimelineAgent;
  • show frame mode selector conditionally on supportsFrameInstrumentation capability.
  • inspector/Inspector.json: Add Timeline.supportsFrameInstrumentation capability;
  • inspector/InspectorClient.h: Add supportsFrameInstrumentation();

(InspectorClient):
(WebCore::InspectorClient::supportsFrameInstrumentation):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):

  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::supportsFrameInstrumentation):
(WebCore):
(WebCore::InspectorTimelineAgent::InspectorTimelineAgent): Added FrameInstrumentationSupport parameter.

  • inspector/InspectorTimelineAgent.h:

(WebCore):
(WebCore::InspectorTimelineAgent::create): ditto.
(InspectorTimelineAgent):

  • inspector/WorkerInspectorController.cpp: Updated call site for InspectorTimelineAgent::create() to indicate frame instrumentation not supported.

(WebCore::WorkerInspectorController::WorkerInspectorController):

  • inspector/front-end/Settings.js:

(WebInspector.ExperimentsSettings): Removed "Vertical Overview" experiment.

  • inspector/front-end/TimelineOverviewPane.js: Expose frame mode conditionally on capability, not the experiment.

(WebInspector.TimelineOverviewPane):

  • inspector/front-end/inspector.js: Added initialization for Capabilities.timelineSupportsFrameInstrumentation;

(WebInspector.doLoadedDone):

Source/WebKit/chromium:

  • exposed supportFrameInstrumentation method to InspectorClient. Client must return true iff the platform will call InspectorInstrumentation::instrumentBeginFrame() upon beginning of frame rendering;
  • src/InspectorClientImpl.cpp:

(WebKit::InspectorClientImpl::supportsFrameInstrumentation):
(WebKit):

  • src/InspectorClientImpl.h:

(InspectorClientImpl):

3:51 AM Changeset in webkit [116236] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Build fix.

Not reviewed.

  • css/PropertySetCSSStyleDeclaration.cpp:
3:29 AM Changeset in webkit [116235] by Antti Koivisto
  • 27 edits
    6 adds in trunk

Share stylesheet data structures between documents
https://bugs.webkit.org/show_bug.cgi?id=85598

Source/WebCore:

Reviewed by Darin Adler.

We currently make a copy of the data structures when restoring a cached stylesheet. This patch lets us share
the data until someone uses CSSOM to modify the sheet.

The patch implements copy-on-write for the internal style sheet data structures. If any mutation CSSOM API is
invoked, we check if the stylesheet can be safely mutated (we are the only client, it is not cached). If not
then the internal structures are copied and any existing CSSOM objects are re-attached to the new tree.

Sharing can save significant amount of memory on sites with large stylesheets. For example if you have
multiple articles open on wsj.com this saves ~2.6MB per tab.

Test: http/tests/css/shared-stylesheet-mutation.html

http/tests/css/shared-stylesheet-mutation-preconstruct.html

  • css/CSSFontFaceRule.cpp:

(WebCore::CSSFontFaceRule::reattach):
(WebCore):

  • css/CSSFontFaceRule.h:

(CSSFontFaceRule):

  • css/CSSMediaRule.cpp:

(WebCore::CSSMediaRule::insertRule):
(WebCore::CSSMediaRule::deleteRule):
(WebCore::CSSMediaRule::reattach):
(WebCore):

  • css/CSSMediaRule.h:

(CSSMediaRule):

  • css/CSSPageRule.cpp:

(WebCore::CSSPageRule::setSelectorText):
(WebCore::CSSPageRule::reattach):
(WebCore):

  • css/CSSPageRule.h:

(CSSPageRule):

  • css/CSSRule.cpp:

(WebCore::CSSRule::reattach):

After the internal stylerule tree has been copied, the existing wrappers are re-attached using recursive reattach() function.

  • css/CSSRule.h:

(WebCore):
(CSSRule):

  • css/CSSStyleRule.cpp:

(WebCore::CSSStyleRule::setSelectorText):
(WebCore::CSSStyleRule::reattach):
(WebCore):

  • css/CSSStyleRule.h:

(CSSStyleRule):

  • css/CSSStyleSheet.cpp:

(WebCore::StyleSheetInternal::StyleSheetInternal):
(WebCore::StyleSheetInternal::isCacheable):
(WebCore::StyleSheetInternal::ruleAt):

Add ruleAt(), use it for both wrapper creation and reattaching. Remove createChildRuleCSSOMWrapper .

(WebCore):
(WebCore::StyleSheetInternal::wrapperInsertRule):
(WebCore::StyleSheetInternal::wrapperDeleteRule):

Invalidation moves to the calling wrapper.

(WebCore::StyleSheetInternal::addedToMemoryCache):
(WebCore::StyleSheetInternal::removedFromMemoryCache):
(WebCore::CSSStyleSheet::willMutateRules):

This is called whenever StyleSheetInternal is going to be mutated. It will do copy-on-write if needed.


Usually invoked by CSSStyleSheet::RuleMutation RAII type.

(WebCore::CSSStyleSheet::didMutateRules):

This is called after the mutation is complete and will trigger the style recalc in the document.

(WebCore::CSSStyleSheet::didMutate):

This is called directly after mutations that don't change StyleSheetInternal so don't require copy-on-write.

(WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
(WebCore::CSSStyleSheet::setDisabled):
(WebCore::CSSStyleSheet::insertRule):
(WebCore::CSSStyleSheet::deleteRule):

  • css/CSSStyleSheet.h:

(StyleSheetInternal):
(WebCore::StyleSheetInternal::hasOneClient):
(WebCore::StyleSheetInternal::isMutable):
(WebCore::StyleSheetInternal::setMutable):

Track mutability. Mutation is allowed only after willMutate call.

(WebCore::StyleSheetInternal::isInMemoryCache):

Track if the object is in memory cache.

(WebCore::CSSStyleSheet::clearOwnerRule):
(CSSStyleSheet):

  • css/MediaList.cpp:

(WebCore::MediaList::setMediaText):
(WebCore::MediaList::deleteMedium):
(WebCore::MediaList::appendMedium):
(WebCore::MediaList::didMutate):
(WebCore):
(WebCore::MediaList::reattach):

  • css/MediaList.h:

(MediaList):

  • css/PropertySetCSSStyleDeclaration.cpp:

(WebCore::PropertySetCSSStyleDeclaration::setCssText):
(WebCore::PropertySetCSSStyleDeclaration::setProperty):
(WebCore::PropertySetCSSStyleDeclaration::removeProperty):
(WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
(WebCore):
(WebCore::StyleRuleCSSStyleDeclaration::willMutate):
(WebCore::StyleRuleCSSStyleDeclaration::didMutate):
(WebCore::StyleRuleCSSStyleDeclaration::reattach):
(WebCore::InlineCSSStyleDeclaration::didMutate):

  • css/PropertySetCSSStyleDeclaration.h:

(WebCore::PropertySetCSSStyleDeclaration::willMutate):
(WebCore::PropertySetCSSStyleDeclaration::didMutate):
(StyleRuleCSSStyleDeclaration):

  • css/WebKitCSSKeyframesRule.cpp:

(WebCore::WebKitCSSKeyframesRule::setName):
(WebCore::WebKitCSSKeyframesRule::insertRule):
(WebCore::WebKitCSSKeyframesRule::deleteRule):
(WebCore::WebKitCSSKeyframesRule::reattach):
(WebCore):

  • css/WebKitCSSKeyframesRule.h:

(WebKitCSSKeyframesRule):

  • css/WebKitCSSRegionRule.cpp:

(WebCore::WebKitCSSRegionRule::reattach):

  • css/WebKitCSSRegionRule.h:

(WebKitCSSRegionRule):

  • inspector/InspectorStyleSheet.cpp:

(WebCore::InspectorStyleSheet::reparseStyleSheet):

  • loader/cache/CachedCSSStyleSheet.cpp:

(WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet):
(WebCore::CachedCSSStyleSheet::destroyDecodedData):
(WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):

Don't copy when restoring. It is no longer necessary.
Set the cache bit on the stylesheet.

(WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):

LayoutTests:

Reviewed by Darin Adler.

Test that mutations of a shared stylesheet work as expected.

This is an http test due to cross-document security restrictions with file urls
(they can be overriden in DRT but I'd like this to work in browser too).

  • http/tests/css/resources/shared.css: Added.
  • http/tests/css/resources/shared-stylesheet-mutation.js: Added.
  • http/tests/css/shared-stylesheet-mutation-expected.txt: Added.
  • http/tests/css/shared-stylesheet-mutation-preconstruct-expected.txt: Added.
  • http/tests/css/shared-stylesheet-mutation-preconstruct.html: Added.
  • http/tests/css/shared-stylesheet-mutation.html: Added.
12:17 AM Changeset in webkit [116234] by Martin Robinson
  • 2 edits in trunk/Source/WebKit/gtk

Fix the GTK+ TextureMapper accelerated compositing build.

  • webkit/webkitwebview.cpp:

(webkit_web_view_realize): Properly access the private data
structure of the WebKitWebView.

Note: See TracTimeline for information about the timeline view.