⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Nov 26, 2012:

11:53 PM Changeset in webkit [135829] by tkent@chromium.org
  • 20 edits in trunk

:read-only selector should match to date/time input types
https://bugs.webkit.org/show_bug.cgi?id=103350

Reviewed by Kentaro Hara.

Source/WebCore:

We supported :read-only and :read-write only for text form controls;
i.e. <textarea> and text-field <input>. According to [1], we should
support them for date/time types. So, this patch removes
isTextFormControl check in SelectorChecker, and just relies on
shouldMatchRead{Only,Write}Selector virtual functions.

Tests: Update fast/forms/*/*-appearance-pseudo-classes.html.

[1] http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#input-type-attr-summary

  • css/SelectorChecker.cpp:

(WebCore::SelectorChecker::checkOneSelector):
Remove isFormControlElement check and isTextFormControl check.

  • html/HTMLFormControlElement.cpp:

Remove shouldMatchRead{Only,Write}Selector functions. We don't need
common implementations any more.

  • html/HTMLFormControlElement.h: Ditto.
  • html/HTMLTextAreaElement.h:

(HTMLTextAreaElement): Add shouldMatchRead{Only,Write}Selector overrides.

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::shouldMatchReadOnlySelector): Added.
(WebCore::HTMLTextAreaElement::shouldMatchReadWriteSelector): Added.

  • html/HTMLInputElement.h:

(HTMLInputElement): Add shouldMatchRead{Only,Write}Selector overrides.

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::shouldMatchReadOnlySelector):
Added. This checks InputType::supportsReadOnly and readOnly.
(WebCore::HTMLInputElement::shouldMatchReadWriteSelector): Ditto.

  • html/InputType.h:

(InputType): Add supportsReadOnly.

  • html/InputType.cpp:

(WebCore::InputType::supportsReadOnly): Added. Returns false by default.

  • html/BaseDateAndTimeInputType.h:

(BaseDateAndTimeInputType): Add supportsReadOnly.

  • html/BaseDateAndTimeInputType.cpp:

(WebCore::BaseDateAndTimeInputType::supportsReadOnly): Added. Returns true.

  • html/TextFieldInputType.h:

(TextFieldInputType): Add supportsReadOnly.

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::supportsReadOnly): Added. Returns true.

LayoutTests:

The text color becomes yellow as specified for :read-only in
*-appearance-pseudo-classes.html

  • platform/chromium-mac/fast/forms/date/date-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac/fast/forms/month/month-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac/fast/forms/time/time-appearance-pseudo-classes-expected.png:
  • platform/chromium-mac/fast/forms/week/week-appearance-pseudo-classes-expected.png:
  • platform/chromium/TestExpectations:
11:43 PM FeatureFlags edited by zherczeg@inf.u-szeged.hu
(diff)
11:34 PM Changeset in webkit [135828] by abarth@webkit.org
  • 3 edits in trunk/Source/WTF

[Chromium] fastMalloc has an extra branch on Windows
https://bugs.webkit.org/show_bug.cgi?id=103027

Reviewed by Eric Seidel.

There's no need to override the new/delete operators on non-Mac
platform because:

1) We use the system malloc anyway.
2) We've modified the system malloc to crash in out-of-memory conditions.

This patch removes a branch (and a call) from malloc, which will
hopefully improve performance. I haven't measured the performance
characteristics of this patch, but I will look at the graphs closely
when landing.

  • wtf/FastAllocBase.h:
  • wtf/Platform.h:
11:24 PM Changeset in webkit [135827] by Simon Fraser
  • 2 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12755408>
Merge r135080

2012-11-18 Simon Fraser <Simon Fraser>

Make convertToLayerCoords iterative, rather than recursive
https://bugs.webkit.org/show_bug.cgi?id=102618

Reviewed by Antti Koivisto.

RenderLayer::convertToLayerCoords() is a hot function on profiles.
Change it to be iterative, rather than recursive, so that the
bulk of the function can be inlined.

Was tested with assertions against the old code during development.

  • rendering/RenderLayer.cpp: (WebCore::accumulateOffsetTowardsAncestor): (WebCore::RenderLayer::convertToLayerCoords):
11:22 PM Changeset in webkit [135826] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Unreviewed, rolling out r135822.
http://trac.webkit.org/changeset/135822
https://bugs.webkit.org/show_bug.cgi?id=103369

Undo the revert of r135818, since that change does not affect
code used by Chromium (Requested by apavlov on #webkit).

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

Source/WebCore:

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::setMaskLayer):
(WebCore::GraphicsLayerTextureMapper::setContentsVisible):

Source/WebKit2:

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setContentsVisible):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):

11:20 PM Changeset in webkit [135825] by junov@google.com
  • 2 edits in trunk/LayoutTests

[Qt] new fast/backgrounds/background-opaque-images-over-color.html fails since r135629
https://bugs.webkit.org/show_bug.cgi?id=103227

Reviewed by Simon Hausmann.

Unskipping test now that baseline has been fixed.

  • platform/qt/TestExpectations:
11:14 PM WebKitIDL edited by haraken@chromium.org
(diff)
11:09 PM Changeset in webkit [135824] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GTK] Fix build error on GTK due to r135749
https://bugs.webkit.org/show_bug.cgi?id=103365

Patch by Michael Pruett <michael@68k.org> on 2012-11-26
Reviewed by Dean Jackson.

In r135749, many files which were already included
in webcore_built_sources were erroneously added to
webcore_svg_built_sources in GNUmakefile.list.am.

  • GNUmakefile.list.am:
11:02 PM Changeset in webkit [135823] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][jhbuild] Disable unnecessary options of elementary module
https://bugs.webkit.org/show_bug.cgi?id=103360

Patch by Ryuan Choi <ryuan.choi@gmail.com> on 2012-11-26
Reviewed by Gyuyoung Kim.

When jhbuild configures elementary, unnecessary options may be enabled by
user installed modules and it causes build break.

  • efl/jhbuild.modules:

Added --disable-emap --disable-ethumb --disable-eweather to elementary.

10:58 PM Changeset in webkit [135822] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Unreviewed, rolling out r135818.
http://trac.webkit.org/changeset/135818
https://bugs.webkit.org/show_bug.cgi?id=103368

platform/chromium/virtual/threaded/compositing/visibility
/visibility-simple-webgl-layer.html crash on Mountain Lion
(Requested by apavlov on #webkit).

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

Source/WebCore:

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::setMaskLayer):
(WebCore::GraphicsLayerTextureMapper::setContentsVisible):

Source/WebKit2:

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setContentsVisible):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):

10:45 PM Changeset in webkit [135821] by noel.gordon@gmail.com
  • 2 edits in trunk/LayoutTests

[chromium mac] Layout Test touchadjustment/touch-links-longpress.html is failing
https://bugs.webkit.org/show_bug.cgi?id=103363

Unreviewed test expectations update.

  • platform/chromium/TestExpectations: Add failing expection for Mac.
10:34 PM Changeset in webkit [135820] by apavlov@chromium.org
  • 3 edits in branches/chromium/1312/Source/WebCore/inspector

Merge 135571 - Web Inspector: inspector overlay is always updated when inspector is open
https://bugs.webkit.org/show_bug.cgi?id=103106

Reviewed by Pavel Feldman.

Provide empty size into the InspectorOverlay if the metrics emulation is disabled,
so that it will not get painted in all cases.

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::webViewResized): Call InspectorPageAgent::webViewResized() rather than InspectorOverlay::resize().

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::webViewResized): Provide empty size into InspectorOverlay::resize() if device metrics are not emulated.

  • inspector/InspectorPageAgent.h:

TBR=apavlov@chromium.org
Review URL: https://codereview.chromium.org/11415147

10:34 PM Changeset in webkit [135819] by mitz@apple.com
  • 10 edits in trunk/Source/WebKit2

<rdar://problem/11931191> Entering Tab View after a bunch of YouTube pages were opened in background tabs makes all of them start playing simultaneously
https://bugs.webkit.org/show_bug.cgi?id=103358

Reviewed by Adele Peterson.

To fix this, this patch adds WKPageSetMayStartMediaWhenInWindow(), which allows the client to
prevent media from starting automatically when the view is put in a window.

  • Shared/WebPageCreationParameters.cpp:

(WebKit::WebPageCreationParameters::encode): Encode mayStartMediaWhenInWindow.
(WebKit::WebPageCreationParameters::decode): Decode mayStartMediaWhenInWindow.

  • Shared/WebPageCreationParameters.h:

(WebPageCreationParameters): Added boolean member mayStartMediaWhenInWindow.

  • UIProcess/API/C/WKPage.cpp:

(WKPageSetMayStartMediaWhenInWindow): Added. Calls through to WebPageProxy.

  • UIProcess/API/C/WKPagePrivate.h: Declared WKPageSetMayStartMediaWhenInWindow.
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy): Added initializiation of m_mayStartMediaWhenInWindow
to true, the value matching the current behavior.
(WebKit::WebPageProxy::setMayStartMediaWhenInWindow): Added. Updates
m_mayStartMediaWhenInWindow and sends a message to the Web process to do the same.
(WebKit::WebPageProxy::creationParameters): Changed to set mayStartMediaWhenInWindow in the
process creation parameters.

  • UIProcess/WebPageProxy.h:

(WebPageProxy): Declared setMayStartMediaWhenInWindow() and added member variable
m_mayStartMediaWhenInWindow.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage): Initialized m_mayStartMediaWhenInWindow from the creation
parameters.
(WebKit::WebPage::setIsInWindow): Made starting of media upon being added to a window
conditional on m_mayStartMediaWhenInWindow.
(WebKit::WebPage::setMayStartMediaWhenInWindow): Added. Sets m_mayStartMediaWhenInWindow. If
already in a window when changing from false to true, starts m_setCanStartMediaTimer.

  • WebProcess/WebPage/WebPage.h:

(WebPage): Declared setMayStartMediaWhenInWindow() and added member variable m_mayStartMediaWhenInWindow.

  • WebProcess/WebPage/WebPage.messages.in: Added SetMayStartMediaWhenInWindow.
10:15 PM Changeset in webkit [135818] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Coordinated Graphics: Set visibility to a mask layer in GraphicsLayer::setContentsVisible().
https://bugs.webkit.org/show_bug.cgi?id=103297

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

GraphicsLayerTextureMapper and CoordinatedGraphicsLayer set the visibility of a
mask layer in setContentsVisible() and setMaskLayer() like setting a size.
This patch is needed because RenderLayerBacking does not set the visibility to a
mask layer like the size.

This patch does not change user experience because an invisible layer is not
rendered although the mask layer is rendered. In that sense, it is an
optimization patch.

Source/WebCore:

No new tests. It is an optimization patch.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::setMaskLayer):
(WebCore::GraphicsLayerTextureMapper::setContentsVisible):

Source/WebKit2:

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setContentsVisible):
(WebCore::CoordinatedGraphicsLayer::setMaskLayer):

9:33 PM Changeset in webkit [135817] by haraken@chromium.org
  • 30 edits in trunk/Source/WebCore

[V8] Rename EXCEPTION_BLOCK() macros
https://bugs.webkit.org/show_bug.cgi?id=103352

Reviewed by Adam Barth.

Since V8Parameter was renamed to V8StringResource,
we rename macros that use V8Parameter.

EXCEPTION_BLOCK() => V8TRYCATCH()
STRING_TO_V8PARAMETER_EXCEPTION_BLOCK() => V8TRYCATCH_FOR_V8STRINGRESOURCE()
STRING_TO_V8PARAMETER_EXCEPTION_BLOCK_VOID() => V8TRYCATCH_FOR_V8STRINGRESOURCE_VOID()

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateParametersCheck):
(GenerateEventConstructorCallback):
(ConvertToV8StringResource):

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

(WebCore::Float64ArrayV8Internal::fooCallback):

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

(WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
(WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):

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

(WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):

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

(WebCore::V8TestEventConstructor::constructorCallback):

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

(WebCore::TestEventTargetV8Internal::itemCallback):
(WebCore::TestEventTargetV8Internal::dispatchEventCallback):

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

(WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetter):
(WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetter):
(WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
(WebCore::V8TestInterface::constructorCallback):

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

(WebCore::TestMediaQueryListListenerV8Internal::methodCallback):

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

(WebCore::V8TestNamedConstructorConstructorCallback):

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

(WebCore::TestObjV8Internal::staticStringAttrAttrSetter):
(WebCore::TestObjV8Internal::stringAttrAttrSetter):
(WebCore::TestObjV8Internal::reflectedStringAttrAttrSetter):
(WebCore::TestObjV8Internal::reflectedURLAttrAttrSetter):
(WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetter):
(WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
(WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
(WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
(WebCore::TestObjV8Internal::longMethodWithArgsCallback):
(WebCore::TestObjV8Internal::objMethodWithArgsCallback):
(WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
(WebCore::TestObjV8Internal::methodReturningSequenceCallback):
(WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
(WebCore::TestObjV8Internal::idbKeyCallback):
(WebCore::TestObjV8Internal::optionsObjectCallback):
(WebCore::TestObjV8Internal::methodWithOptionalArgCallback):
(WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
(WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
(WebCore::TestObjV8Internal::methodWithOptionalStringCallback):
(WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedCallback):
(WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringCallback):
(WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
(WebCore::TestObjV8Internal::overloadedMethod1Callback):
(WebCore::TestObjV8Internal::overloadedMethod2Callback):
(WebCore::TestObjV8Internal::overloadedMethod3Callback):
(WebCore::TestObjV8Internal::overloadedMethod4Callback):
(WebCore::TestObjV8Internal::overloadedMethod6Callback):
(WebCore::TestObjV8Internal::overloadedMethod7Callback):
(WebCore::TestObjV8Internal::overloadedMethod8Callback):
(WebCore::TestObjV8Internal::overloadedMethod9Callback):
(WebCore::TestObjV8Internal::overloadedMethod10Callback):
(WebCore::TestObjV8Internal::overloadedMethod11Callback):
(WebCore::TestObjV8Internal::classMethodWithOptionalCallback):
(WebCore::TestObjV8Internal::overloadedMethod12Callback):
(WebCore::TestObjV8Internal::classMethodWithClampCallback):
(WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
(WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
(WebCore::TestObjV8Internal::enabledPerContextMethod1Callback):
(WebCore::TestObjV8Internal::enabledPerContextMethod2Callback):
(WebCore::TestObjV8Internal::stringArrayFunctionCallback):
(WebCore::TestObjV8Internal::convert1Callback):
(WebCore::TestObjV8Internal::convert2Callback):
(WebCore::TestObjV8Internal::convert4Callback):
(WebCore::TestObjV8Internal::convert5Callback):
(WebCore::TestObjV8Internal::strictFunctionCallback):
(WebCore::TestObjV8Internal::variadicStringMethodCallback):
(WebCore::TestObjV8Internal::variadicDoubleMethodCallback):
(WebCore::TestObjV8Internal::variadicNodeMethodCallback):

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

(WebCore::V8TestOverloadedConstructors::constructor1Callback):
(WebCore::V8TestOverloadedConstructors::constructor2Callback):
(WebCore::V8TestOverloadedConstructors::constructor3Callback):
(WebCore::V8TestOverloadedConstructors::constructor4Callback):

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

(WebCore::V8TestSerializedScriptValueInterface::constructorCallback):

  • bindings/v8/V8Binding.h:

(WebCore::toV8Sequence):

  • bindings/v8/V8BindingMacros.h:
  • bindings/v8/custom/V8BlobCustom.cpp:

(WebCore::V8Blob::constructorCallbackCustom):

  • bindings/v8/custom/V8ConsoleCustom.cpp:

(WebCore::V8Console::profileCallback):
(WebCore::V8Console::profileEndCallback):

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::handlePostMessageCallback):

  • bindings/v8/custom/V8DataViewCustom.cpp:

(WebCore::V8DataView::getInt8Callback):
(WebCore::V8DataView::getUint8Callback):
(WebCore::V8DataView::setInt8Callback):
(WebCore::V8DataView::setUint8Callback):

  • bindings/v8/custom/V8DeviceMotionEventCustom.cpp:

(WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):

  • bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:

(WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):

  • bindings/v8/custom/V8DocumentCustom.cpp:

(WebCore::V8Document::evaluateCallback):

  • bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:

(WebCore::V8HTMLOptionsCollection::addCallback):

  • bindings/v8/custom/V8HistoryCustom.cpp:

(WebCore::V8History::pushStateCallback):
(WebCore::V8History::replaceStateCallback):

  • bindings/v8/custom/V8IntentCustom.cpp:

(WebCore::V8Intent::constructorCallbackCustom):

  • bindings/v8/custom/V8SQLTransactionCustom.cpp:

(WebCore::V8SQLTransaction::executeSqlCallback):

  • bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:

(WebCore::V8SQLTransactionSync::executeSqlCallback):

  • bindings/v8/custom/V8SVGLengthCustom.cpp:

(WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):

  • bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:

(WebCore::V8WebGLRenderingContext::getExtensionCallback):

  • bindings/v8/custom/V8WorkerContextCustom.cpp:

(WebCore::V8WorkerContext::importScriptsCallback):

9:13 PM Changeset in webkit [135816] by akling@apple.com
  • 8 edits in trunk/Source/WebCore

Node: Move AreSVGAttributesValidFlag to ElementAttributeData.
<http://webkit.org/b/103349>

Reviewed by Anders Carlsson.

Moved AreSVGAttributesValidFlag to ElementAttributeData and change it to use "dirty" semantics.
This frees up a bit on Node, and we will always have ElementAttributeData if the animated
attributes are dirty anyway.

  • dom/Element.cpp:

(WebCore::Element::getAttribute):

  • dom/Element.h:

(WebCore::Element::updateInvalidAttributes):

  • dom/ElementAttributeData.cpp:

(WebCore::ElementAttributeData::ElementAttributeData):

  • dom/ElementAttributeData.h:

(WebCore::ElementAttributeData::ElementAttributeData):
(ElementAttributeData):

  • dom/Node.h:

(Node):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::updateAnimatedSVGAttribute):

  • svg/SVGElement.h:

(WebCore::SVGElement::invalidateSVGAttributes):

9:06 PM Changeset in webkit [135815] by haraken@chromium.org
  • 17 edits
    2 deletes in trunk/Source

Unreviewed, rolling out r135798.
http://trac.webkit.org/changeset/135798
https://bugs.webkit.org/show_bug.cgi?id=103354

Broke the chrome mac build (Requested by noel_ on #webkit).

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

Source/WebCore:

  • platform/graphics/chromium/DeferredImageDecoder.cpp:

(WebCore::DeferredImageDecoder::~DeferredImageDecoder):
(WebCore::DeferredImageDecoder::createResizedLazyDecodingBitmap):
(WebCore::DeferredImageDecoder::frameBufferAtIndex):
(WebCore::DeferredImageDecoder::createLazyDecodingBitmap):

  • platform/graphics/chromium/DeferredImageDecoder.h:

(DeferredImageDecoder):

  • platform/graphics/chromium/ImageDecodingStore.cpp:

(WebCore::ImageDecodingStore::instanceOnMainThread):
(WebCore::ImageDecodingStore::initializeOnMainThread):
(WebCore::ImageDecodingStore::shutdown):
(WebCore::ImageDecodingStore::calledOnValidThread):
(WebCore::ImageDecodingStore::lookupFrameCache):
(WebCore::ImageDecodingStore::deleteFrameCache):

  • platform/graphics/chromium/ImageDecodingStore.h:

(WebCore):
(ImageDecodingStore):

  • platform/graphics/chromium/ImageFrameGenerator.cpp:

(WebCore::ImageFrameGenerator::ImageFrameGenerator):
(WebCore::ImageFrameGenerator::~ImageFrameGenerator):
(WebCore::ImageFrameGenerator::setData):
(WebCore::ImageFrameGenerator::decodeAndScale):

  • platform/graphics/chromium/ImageFrameGenerator.h:

(WebCore):
(WebCore::ImageFrameGenerator::create):
(ImageFrameGenerator):

  • platform/graphics/chromium/LazyDecodingPixelRef.cpp:

(WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):
(WebCore::LazyDecodingPixelRef::onLockPixels):
(WebCore::LazyDecodingPixelRef::onUnlockPixels):

  • platform/graphics/chromium/LazyDecodingPixelRef.h:

(WebCore):
(LazyDecodingPixelRef):

  • platform/graphics/chromium/ScaledImageFragment.cpp:

(WebCore::ScaledImageFragment::ScaledImageFragment):
(WebCore::ScaledImageFragment::isEqual):
(WebCore):

  • platform/graphics/chromium/ScaledImageFragment.h:

(WebCore):
(WebCore::ScaledImageFragment::create):
(ScaledImageFragment):

  • platform/graphics/chromium/SkSizeHash.h: Removed.

Source/WebKit/chromium:

  • WebKit.gypi:
  • src/WebKit.cpp:

(WebKit::initializeWithoutV8):

  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::setDeferredImageDecodingEnabled):

  • tests/DeferredImageDecoderTest.cpp:

(WebCore::DeferredImageDecoderTest::SetUp):
(WebCore::DeferredImageDecoderTest::decoderBeingDestroyed):

  • tests/ImageFrameGeneratorTest.cpp: Removed.
  • tests/MockImageDecoder.h:

(MockImageDecoderClient):
(WebCore::MockImageDecoder::frameBufferAtIndex):

8:41 PM Changeset in webkit [135814] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[TexMap] GraphicsLayerTextureMapper::setSize() sets the size of a mask layer.
https://bugs.webkit.org/show_bug.cgi?id=103297

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

Currently, CoordinatedGraphicsLayer sets the size of a mask layer in setSize()
and setMaksLayer(). GraphicsLayerTextureMapper follows the behavior. If so we
don't have to check the size of the mask layer in TextureMapperLayer::flushCompositingState().

No new tests. Covered by existing tests.

  • platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:

(WebCore::GraphicsLayerTextureMapper::setMaskLayer):
(WebCore::GraphicsLayerTextureMapper::setSize):

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::flushCompositingState):

8:37 PM Changeset in webkit [135813] by commit-queue@webkit.org
  • 3 edits in trunk

[EFL] CMake shows ENABLE_3D_RENDERING and ENABLE_WEBGL is still OFF when AC is enabled
https://bugs.webkit.org/show_bug.cgi?id=100829

Patch by Halton Huo <halton.huo@intel.com> on 2012-11-26
Reviewed by Gyuyoung Kim.

In WebKitFeatures.cmake, only use ${_name} for condition to print
a option as ON will prevent the overridden ones in OptionsXXX.cmake,
should use ${_WEBKIT_AVAILABLE_OPTIONS_INITALVALUE_${_name}} instead.

  • Source/cmake/OptionsEfl.cmake: Turn on ENABLE_3D_RENDERING and

ENABLE_WEBGL

  • Source/cmake/WebKitFeatures.cmake: Use

${_WEBKIT_AVAILABLE_OPTIONS_INITALVALUE_${_name}} to as value of
a feature is enabled. Adjust options in lexicographical order.

8:30 PM Changeset in webkit [135812] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Remove V8Parameter::object()
https://bugs.webkit.org/show_bug.cgi?id=103340

Reviewed by Adam Barth.

V8Parameter can use m_v8Object directly.

No tests. No change in behavior.

  • bindings/v8/V8StringResource.h:

(WebCore::::prepare):

8:28 PM Changeset in webkit [135811] by haraken@chromium.org
  • 20 edits in trunk/Source/WebCore

[V8] Rename V8Parameter to V8StringResource
https://bugs.webkit.org/show_bug.cgi?id=103341

Reviewed by Adam Barth.

We can rename V8Parameter to V8StringResource. In a follow-up patch,
I will rename macros around V8Parameter.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateParametersCheck):
(GenerateEventConstructorCallback):
(GetNativeTypeFromSignature):
(GetNativeType):
(ConvertToV8StringResource):

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

(WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):

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

(WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):

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

(WebCore::V8TestEventConstructor::constructorCallback):

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

(WebCore::TestInterfaceV8Internal::supplementalStaticAttrAttrSetter):
(WebCore::TestInterfaceV8Internal::supplementalStr2AttrSetter):
(WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
(WebCore::V8TestInterface::constructorCallback):

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

(WebCore::V8TestNamedConstructorConstructorCallback):

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

(WebCore::TestObjV8Internal::staticStringAttrAttrSetter):
(WebCore::TestObjV8Internal::stringAttrAttrSetter):
(WebCore::TestObjV8Internal::reflectedStringAttrAttrSetter):
(WebCore::TestObjV8Internal::reflectedURLAttrAttrSetter):
(WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrSetter):
(WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
(WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
(WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
(WebCore::TestObjV8Internal::longMethodWithArgsCallback):
(WebCore::TestObjV8Internal::objMethodWithArgsCallback):
(WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
(WebCore::TestObjV8Internal::methodWithOptionalStringCallback):
(WebCore::TestObjV8Internal::methodWithOptionalStringIsUndefinedCallback):
(WebCore::TestObjV8Internal::methodWithOptionalStringIsNullStringCallback):
(WebCore::TestObjV8Internal::overloadedMethod1Callback):
(WebCore::TestObjV8Internal::overloadedMethod3Callback):
(WebCore::TestObjV8Internal::overloadedMethod11Callback):
(WebCore::TestObjV8Internal::overloadedMethod12Callback):
(WebCore::TestObjV8Internal::strictFunctionCallback):
(WebCore::TestObjV8Internal::variadicStringMethodCallback):

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

(WebCore::V8TestOverloadedConstructors::constructor4Callback):

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

(WebCore::V8TestSerializedScriptValueInterface::constructorCallback):

  • bindings/v8/V8StringResource.h:

(WebCore::V8StringResource::V8StringResource):
(WebCore::::prepare):

  • bindings/v8/custom/V8ConsoleCustom.cpp:

(WebCore::V8Console::profileCallback):
(WebCore::V8Console::profileEndCallback):

  • bindings/v8/custom/V8DOMWindowCustom.cpp:

(WebCore::handlePostMessageCallback):

  • bindings/v8/custom/V8DeviceMotionEventCustom.cpp:

(WebCore::V8DeviceMotionEvent::initDeviceMotionEventCallback):

  • bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:

(WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):

  • bindings/v8/custom/V8HistoryCustom.cpp:

(WebCore::V8History::pushStateCallback):
(WebCore::V8History::replaceStateCallback):

  • bindings/v8/custom/V8IntentCustom.cpp:

(WebCore::V8Intent::constructorCallbackCustom):

  • bindings/v8/custom/V8SQLTransactionCustom.cpp:

(WebCore::V8SQLTransaction::executeSqlCallback):

  • bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:

(WebCore::V8SQLTransactionSync::executeSqlCallback):

  • bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:

(WebCore::V8WebGLRenderingContext::getExtensionCallback):

8:13 PM Changeset in webkit [135810] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

HTMLOptionElement: Remove two unused members.
<http://webkit.org/b/103337>

Reviewed by Kent Tamura.

Remove two unused members from HTMLOptionElement, m_value and m_label.
40kB progression on Membuster3.

  • html/HTMLOptionElement.h:

(HTMLOptionElement):

8:09 PM Changeset in webkit [135809] by senorblanco@chromium.org
  • 3 edits in trunk/Source/WebCore

[Chromium] Shared graphics context should only pushGroupMarker() once
https://bugs.webkit.org/show_bug.cgi?id=103082

Reviewed by James Robinson.

GraphicsContext3D's pushGroupMarkerEXT() is being called every time
an ImageBuffer is created, leading to unlimited memory growth, since
they share a common GraphicsContext3D. It should be called only once,
on context creation.

Tested by manually checking the memory usage in Chrome's TaskManager.
(Sorry, I can't think of a way to test this automatically.)

  • platform/graphics/gpu/SharedGraphicsContext3D.cpp:

(WebCore::SharedGraphicsContext3DImpl::getOrCreateContext):

  • platform/graphics/skia/ImageBufferSkia.cpp:

(WebCore::createAcceleratedCanvas):

8:08 PM Changeset in webkit [135808] by aelias@chromium.org
  • 4 edits in trunk/Source/WebKit/chromium

[chromium] Touchscreen fling handling
https://bugs.webkit.org/show_bug.cgi?id=103278

Reviewed by James Robinson.

The fling logic for touchpad can fall through to bad
performance in several ways. This patch introduces an alternate
path for touchscreen fling that simplifies it as follows:

  • Stop generating wheel events, to prevent unnecessary scrollBegin hit

tests and to avoid falling back to slow path if a wheel handler is
registered.

  • Drop the event on ScrollStatusIgnored. There's no real reason to

send the event to the WebKit thread here.

  • Don't call transferActiveWheelFlingAnimation. This type of

transition shouldn't be needed with touchscreen flings.

  • src/WebCompositorInputHandlerImpl.cpp:

(WebKit::WebCompositorInputHandlerImpl::handleGestureFling):
(WebKit::WebCompositorInputHandlerImpl::animate):
(WebKit::WebCompositorInputHandlerImpl::cancelCurrentFling):
(WebKit::WebCompositorInputHandlerImpl::scrollBy):

  • src/WebCompositorInputHandlerImpl.h:
8:03 PM Changeset in webkit [135807] by dbates@webkit.org
  • 2 edits in trunk/LayoutTests

Update Chromium test expectation for test LayoutTests/fast/js/string-replacement-outofmemory.html
See <https://bugs.webkit.org/show_bug.cgi?id=103348> for more details.

  • platform/chromium/TestExpectations:
7:57 PM Changeset in webkit [135806] by haraken@chromium.org
  • 16 edits
    2 deletes in trunk/Source

[V8] Remove WorkerContextExecutionProxy.{h,cpp}
https://bugs.webkit.org/show_bug.cgi?id=103325

Reviewed by Adam Barth.

Now WorkerContextExecutionProxy.{h,cpp} are empty.

No tests. No change in behavior.

Source/WebCore:

  • UseV8.cmake:
  • WebCore.gypi:
  • bindings/v8/ScheduledAction.cpp:
  • bindings/v8/V8AbstractEventListener.cpp:
  • bindings/v8/V8DOMWrapper.cpp:
  • bindings/v8/V8WorkerContextEventListener.h:

(WebCore):

  • bindings/v8/WorkerContextExecutionProxy.cpp: Removed.
  • bindings/v8/WorkerContextExecutionProxy.h: Removed.
  • bindings/v8/WorkerScriptController.cpp:
  • bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
  • bindings/v8/custom/V8MessageChannelCustom.cpp:
  • bindings/v8/custom/V8MessagePortCustom.cpp:
  • bindings/v8/custom/V8WorkerCustom.cpp:
  • bindings/v8/custom/V8XMLHttpRequestCustom.cpp:

Source/WebKit/chromium:

  • src/WebKit.cpp:
  • src/WebWorkerClientImpl.cpp:
7:51 PM Changeset in webkit [135805] by msaboff@apple.com
  • 2 edits in trunk/Source/WebCore

Grapheme cluster functions can be simplified for 8 bit Strings
https://bugs.webkit.org/show_bug.cgi?id=102996

Reviewed by Alexey Proskuryakov.

For 8 bit strings, check for the uncommon CR-LF by looking for any CR. If there aren't any CR characters,
the number of Extended Grapheme Clusters is equal to the string length. If we need to handle Tailored
Graheme Clusters, then this will need to change.

No new tests. No change in functionality.

  • platform/text/TextBreakIterator.cpp:

(WebCore::numGraphemeClusters):
(WebCore::numCharactersInGraphemeClusters):

7:40 PM Changeset in webkit [135804] by commit-queue@webkit.org
  • 3 edits
    3 adds in trunk

Check for empty perContextData while creating NP V8 Object.
https://bugs.webkit.org/show_bug.cgi?id=98448

Patch by Istiaque Ahmed <lazyboy@chromium.org> on 2012-11-26
Reviewed by Adam Barth.

Fixes crash in npCreateV8ScriptObject(), if NP Invoke is called from a document
that is no longer displayed in frame (isCurrentlyDisplayedInFrame() ==
false), we have empty perContextData and this results in invalid memory access.

Source/WebCore:

Test: platform/chromium/plugins/empty-per-context-data.html

  • bindings/v8/NPV8Object.cpp:

(WebCore::npCreateV8ScriptObject):

LayoutTests:

  • platform/chromium/plugins/empty-per-context-data-expected.txt: Added.
  • platform/chromium/plugins/empty-per-context-data.html: Added.
  • platform/chromium/plugins/resources/script-container.html: Added.
7:04 PM Changeset in webkit [135803] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit2

[WK2] Expose Accelerated2dCanvas flag set and get in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=103008

Patch by Kyungjin Kim <gen.kim@samsung.com> on 2012-11-26
Reviewed by Gyuyoung Kim.

Add setting APIs for accelerated 2d canvas in WebKit2.

  • Shared/WebPreferencesStore.h:

(WebKit):

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetAccelerated2dCanvasEnabled):
(WKPreferencesGetAccelerated2dCanvasEnabled):

  • UIProcess/API/C/WKPreferencesPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

6:59 PM Changeset in webkit [135802] by msaboff@apple.com
  • 2 edits in trunk/Source/WebCore

HTML/XML parser helper unconsumeCharacters() can push back 8 bit text as 16 bit text
https://bugs.webkit.org/show_bug.cgi?id=103317

Reviewed by Oliver Hunt.

Changed to use the String directly from the StringBuilder instead of creating our own.
Used toStringPreserveCapacity() in case the caller may want to add to the StringBuilder
even though current callers don't.

No new tests. No change in functionality.

  • xml/parser/CharacterReferenceParserInlines.h:

(WebCore::unconsumeCharacters):

6:25 PM Changeset in webkit [135801] by commit-queue@webkit.org
  • 5 edits in trunk/Source

[chromium] Remove deprecated and unused WebGraphicsContext3D compositor binding calls
https://bugs.webkit.org/show_bug.cgi?id=103322

Patch by James Robinson <jamesr@chromium.org> on 2012-11-26
Reviewed by Adam Barth.

Source/Platform:

These have been uncalled for a while.

  • chromium/public/WebLayerTreeViewClient.h:

(WebLayerTreeViewClient):

Source/WebKit/chromium:

  • src/WebViewImpl.cpp:
  • src/WebViewImpl.h:

(WebViewImpl):

6:22 PM Changeset in webkit [135800] by dbates@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Substitute "allSeparators8Bit" for "allSeperators8Bit" in JSC::jsSpliceSubstringsWithSeparators()
<https://bugs.webkit.org/show_bug.cgi?id=103303>

Reviewed by Simon Fraser.

Fix misspelled word, "Seperators" [sic], in a local variable name in JSC::jsSpliceSubstringsWithSeparators().

  • runtime/StringPrototype.cpp:

(JSC::jsSpliceSubstringsWithSeparators):

6:10 PM Changeset in webkit [135799] by noel.gordon@gmail.com
  • 3 edits in trunk/Source/WebCore

PNG decode performance: avoid using frame buffer.setRGBA(x,y)
https://bugs.webkit.org/show_bug.cgi?id=103216

Reviewed by Brent Fulgham.

Writing decoded row pixels to the frame buffer with buffer.setRGBA(x,y) is slow compared
to writing direct to the frame buffer address. Use buffer.getAddr() to obtain the output
pixel row address, write the decoded row pixels to that address.

No new tests. Covered by many existing tests.

  • platform/image-decoders/ImageDecoder.h:

(WebCore::ImageFrame::setRGBA): Make routine setRGBA(PixelData* dest, ...) public. Test
m_premultiplyAlpha once to minimize code branching in this routine.

  • platform/image-decoders/png/PNGImageDecoder.cpp:

(WebCore::PNGImageDecoder::rowAvailable): Write decoded row pixels to the frame buffer
using the pixel address form: buffer.setRGBA(address++, ...).

6:06 PM Changeset in webkit [135798] by hclam@chromium.org
  • 17 edits
    2 adds in trunk/Source

[chromium] Implement full-featured image cache
https://bugs.webkit.org/show_bug.cgi?id=99784

Reviewed by James Robinson.

Source/WebCore:

Implement a thread-safe image cache to be used with deferred image
decoding. Image cache can now be accessed on any thread.

The patch implements the following logic:

  1. Mutex to protect all cache operations.
  2. Cache indexing using key (ImageFrameGenerator*, SkISize scaledSize)
  3. Cache lookup.
  4. Cache insertion.
  5. Generation of cache entry by scaling full size image.
  6. Generation of cache entries by decoding and scaling.

Classes involved:

ImageDecodingStore

Responsible for owning cache entries and indexing. Pruning and memory
management will be added later.

ImageFrameGenerator

Responsible for generating new cache enties and insert them into
ImageDecodingStore.

LazyDecodingPixelRef

Responsible for cache lookup and lazy generation of cache entries
using ImageFrameGenerator. There is a mutex to protect concurrent
lock operations.

These items are not implemented in this patch:

  1. Cache pruning.
  2. Setting cache memory limit.
  3. Cache deletion.
  4. Caching incomplete images and ImageDecoder.

Unit tests added in ImageFrameGeneratorTest.cpp.
Layout tests are under platform/chromium/virtual/fast/images.

  • platform/graphics/chromium/DeferredImageDecoder.cpp:

(WebCore::DeferredImageDecoder::~DeferredImageDecoder):
(WebCore::DeferredImageDecoder::createResizedLazyDecodingBitmap):
(WebCore::DeferredImageDecoder::setEnabled):
(WebCore):
(WebCore::DeferredImageDecoder::frameBufferAtIndex):
(WebCore::DeferredImageDecoder::createLazyDecodingBitmap):

  • platform/graphics/chromium/DeferredImageDecoder.h:

(DeferredImageDecoder):

  • platform/graphics/chromium/ImageDecodingStore.cpp:

(WebCore::ImageDecodingStore::instance):
(WebCore::ImageDecodingStore::initializeOnce):
(WebCore::ImageDecodingStore::shutdown):
(WebCore::ImageDecodingStore::lockCompleteCache):
Lookup complete cache entry using hash key, increment use count.
(WebCore::ImageDecodingStore::lockIncompleteCache): TODO.
(WebCore::ImageDecodingStore::unlockCache):
Lookup cache entry using hash key, decrement use count.
(WebCore):
(WebCore::ImageDecodingStore::insertAndLockCache):
Insert new cache entry and increment use count.
(WebCore::ImageDecodingStore::prune): TODO.

  • platform/graphics/chromium/ImageDecodingStore.h:

(WebCore):
(ImageDecodingStore):
(WebCore::ImageDecodingStore::CacheEntry::create):
(WebCore::ImageDecodingStore::CacheEntry::createAndUse):
(CacheEntry):
(WebCore::ImageDecodingStore::CacheEntry::CacheEntry):
(WebCore::ImageDecodingStore::CacheEntry::~CacheEntry):

  • platform/graphics/chromium/ImageFrameGenerator.cpp:

(WebCore::ImageFrameGenerator::ImageFrameGenerator):
(WebCore::ImageFrameGenerator::setData):
(WebCore::ImageFrameGenerator::decodeAndScale):
Method for creating new cache entries. This is protected by a mutex
to prevent concurrent operations. Which means only one thread can
generate new cache entries for a set of encoded data.
(WebCore):
(WebCore::ImageFrameGenerator::tryToLockCache):
Tries to lookup a cache entry.
(WebCore::ImageFrameGenerator::tryToScale):
Tries to lookup a full size cache entry and generate a scaled version.
(WebCore::ImageFrameGenerator::tryToDecodeAndScale):
Tries to decode and scale.

  • platform/graphics/chromium/ImageFrameGenerator.h:

(WebCore):
(ImageDecoderFactory):
(WebCore::ImageFrameGenerator::create):
(ImageFrameGenerator):
(WebCore::ImageFrameGenerator::setImageDecoderFactoryForTesting):

  • platform/graphics/chromium/LazyDecodingPixelRef.cpp:

(WebCore::LazyDecodingPixelRef::LazyDecodingPixelRef):
(WebCore::LazyDecodingPixelRef::onLockPixels):
(WebCore::LazyDecodingPixelRef::onUnlockPixels):

  • platform/graphics/chromium/LazyDecodingPixelRef.h:

(WebCore):
(LazyDecodingPixelRef):

  • platform/graphics/chromium/ScaledImageFragment.cpp:

(WebCore::ScaledImageFragment::ScaledImageFragment):

  • platform/graphics/chromium/ScaledImageFragment.h:

(WebCore):
(WebCore::ScaledImageFragment::create):
(ScaledImageFragment):
(WebCore::ScaledImageFragment::scaledSize):

  • platform/graphics/chromium/SkSizeHash.h: Added.

(WTF):

Source/WebKit/chromium:

Added ImageFrameGeneratorTest to test cache logic and generation
of new cache entries.

ImageFrameGeneratorTest.cacheHit
Test that a complete cached entry is reused.

ImageFrameGeneratorTest.cacheMissWithScale
Cache miss for a scaled image but cache hit on a full size image.
Scaled image is created from cached full size image.

ImageFrameGeneratorTest.cacheMissWithDecodeAndScale
Cache miss for both scaled image and full size image.

ImageFrameGeneratorTest.cacheMissWithIncompleteDecode
Test the logic for handling incomplete cache objects.

  • WebKit.gypi:
  • src/WebKit.cpp:

(WebKit::initializeWithoutV8):

  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::setDeferredImageDecodingEnabled):

  • tests/DeferredImageDecoderTest.cpp:

(WebCore::DeferredImageDecoderTest::SetUp):
(WebCore::DeferredImageDecoderTest::decoderBeingDestroyed):
(WebCore::DeferredImageDecoderTest::frameBufferRequested):
(DeferredImageDecoderTest):
(WebCore::DeferredImageDecoderTest::frameStatus):

  • tests/ImageFrameGeneratorTest.cpp: Added.

(WebCore):
(WebCore::fullSize):
(WebCore::scaledSize):
(MockImageDecoderFactory):
(WebCore::MockImageDecoderFactory::create):
(WebCore::MockImageDecoderFactory::MockImageDecoderFactory):
(ImageFrameGeneratorTest):
(WebCore::ImageFrameGeneratorTest::SetUp):
(WebCore::ImageFrameGeneratorTest::TearDown):
(WebCore::ImageFrameGeneratorTest::decoderBeingDestroyed):
(WebCore::ImageFrameGeneratorTest::frameBufferRequested):
(WebCore::ImageFrameGeneratorTest::frameStatus):
(WebCore::ImageFrameGeneratorTest::createCompleteImage):
(WebCore::ImageFrameGeneratorTest::setFrameStatus):
(WebCore::TEST_F):

  • tests/MockImageDecoder.h:

(MockImageDecoderClient):
(WebCore::MockImageDecoder::frameBufferAtIndex):

6:01 PM Changeset in webkit [135797] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Ensure that plugins are initialized before using handleEditingCommand/isEditingCommandEnabled/shouldAllowScripting
https://bugs.webkit.org/show_bug.cgi?id=103288

Reviewed by Dan Bernstein.

Other PluginView methods that use m_plugin null-check m_plugin and check
that the plugin has finished initializing before using it. These three
should do the same thing.

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::handleEditingCommand):
(WebKit::PluginView::isEditingCommandEnabled):
(WebKit::PluginView::shouldAllowScripting):

6:01 PM Changeset in webkit [135796] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

PDFPlugin: Subframe PDF context menus are in the wrong place
https://bugs.webkit.org/show_bug.cgi?id=103284
<rdar://problem/12727972>

Reviewed by Dan Bernstein.

Event position is in window coordinates, not content coordinates.
Since we have no windowToScreen(), use windowToContents and contentsToScreen
to get to screen coordinate space, which WKPopupContextMenu wants.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::handleContextMenuEvent):

6:00 PM Changeset in webkit [135795] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

PDFPlugin: Ctrl-click opens a link in a PDF in addition to context menu
https://bugs.webkit.org/show_bug.cgi?id=103282
<rdar://problem/12710892>

Reviewed by Dan Bernstein.

Don't send standard mouse events to PDFKit if a click will also show/hide the context menu.

  • WebProcess/Plugins/PDF/PDFPlugin.mm:

(WebKit::PDFPlugin::handleMouseEvent):

6:00 PM Changeset in webkit [135794] by dbates@webkit.org
  • 3 edits
    3 adds in trunk

JavaScript fails to handle String.replace() with large replacement string
https://bugs.webkit.org/show_bug.cgi?id=102956
<rdar://problem/12738012>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Fix an issue where we didn't check for overflow when computing the length
of the result of String.replace() with a large replacement string.

  • runtime/StringPrototype.cpp:

(JSC::jsSpliceSubstringsWithSeparators):

LayoutTests:

Add test to ensure that we handle string replacement with a large replacement string.

  • fast/js/script-tests/string-replacement-outofmemory.js: Added.

(createStringWithRepeatedChar):

  • fast/js/string-replacement-outofmemory-expected.txt: Added.
  • fast/js/string-replacement-outofmemory.html: Added.
5:52 PM Changeset in webkit [135793] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Node: Remove IsSynchronizingSVGAttributesFlag.
<http://webkit.org/b/103328>

Reviewed by Antti Koivisto.

Animated SVG attributes used to be synchronized by using DOM API which could use unwanted re-entrancy
via callbacks below Element::attributeChanged(). The "is synchronizing SVG attributes" flag was used
to protect against such re-entrancy.

These days, lazy attributes are synchronized using Element::setSynchronizedLazyAttribute() to avoid
issues like this. The flag does nothing, so we can just remove it.

  • dom/Node.h:

(WebCore):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::attributeChanged):
(WebCore::SVGElement::updateAnimatedSVGAttribute):

5:50 PM Changeset in webkit [135792] by haraken@chromium.org
  • 3 edits in trunk/Source/WebCore

[V8] Refactor WorkerScriptController
https://bugs.webkit.org/show_bug.cgi?id=103330

Reviewed by Adam Barth.

r135703 just moved methods from WorkerContextExecutionProxy
to WorkerScriptController. We should refactor the methods as a follow-up.

No tests. No change in behavior.

  • bindings/v8/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::~WorkerScriptController):
(WebCore::WorkerScriptController::disposeContext):
(WebCore::WorkerScriptController::initializeContextIfNeeded):
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::disableEval):

  • bindings/v8/WorkerScriptController.h:

(WorkerScriptController):

5:35 PM Changeset in webkit [135791] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[EFL] Unreviewed build fix after r135767 without Tiled Backing Store
https://bugs.webkit.org/show_bug.cgi?id=103320

Unreviewed build fix.

Patch by Ryuan Choi <ryuan.choi@gmail.com> on 2012-11-26

  • WebProcess/Plugins/Plugin.cpp:
  • WebProcess/Plugins/Plugin.h:

(WebCore):

5:09 PM Changeset in webkit [135790] by fpizlo@apple.com
  • 2 edits in trunk/Source/WTF

DataLog to a file should work if there are multiple processes using WTF
https://bugs.webkit.org/show_bug.cgi?id=103323

Reviewed by Mark Hahnenberg.

Whereas before DataLog would open a file with the name you specified, now it'll open a file with the
name plus the PID appended to it. So if you are dealing with multiple processes running with DataLog
to a file enabled, you'll get multiple separate log files.

  • wtf/DataLog.cpp:

(WTF::initializeLogFileOnce):

4:56 PM Changeset in webkit [135789] by commit-queue@webkit.org
  • 16 edits
    4 adds in trunk

LongPress and LongTap gestures should start drag/drop and open context menu respectively.
https://bugs.webkit.org/show_bug.cgi?id=101545

Patch by Varun Jain <varunjain@chromium.org> on 2012-11-26
Reviewed by Antonio Gomes.

For LongPress, we simulate drag by sending a mouse down and mouse drag
events. If a drag is not started (because maybe there is no draggable
element), then we show context menu instead (which is the current
behavior for LongPress). For LongTap, we use the existing functions that
LongPress uses to summon the context menu. LongPress initiated drag and
drop can be enabled/disabled by the platform using the Setting
touchDragDropEnabled which is disabled by default.

Source/WebCore:

Tests: fast/events/touch/gesture/context-menu-on-long-tap.html

fast/events/touch/gesture/long-press-on-draggable-element-triggers-drag.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleMouseDraggedEvent):
(WebCore::EventHandler::handleGestureEvent):
(WebCore::EventHandler::handleGestureLongPress):
(WebCore::EventHandler::handleGestureLongTap):
(WebCore):
(WebCore::EventHandler::handleGestureForTextSelectionOrContextMenu):
(WebCore::EventHandler::adjustGesturePosition):
(WebCore::EventHandler::handleDrag):

  • page/EventHandler.h:

(EventHandler):

  • page/Settings.in:

Source/WebKit/chromium:

  • public/WebSettings.h:
  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::setTouchDragDropEnabled):
(WebKit):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

Tools:

  • DumpRenderTree/chromium/TestRunner/src/EventSender.cpp:

(WebTestRunner):
(WebTestRunner::EventSender::EventSender):
(WebTestRunner::EventSender::gestureLongTap):
(WebTestRunner::EventSender::gestureEvent):

  • DumpRenderTree/chromium/TestRunner/src/EventSender.h:

(EventSender):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.cpp:

(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::setTouchDragDropEnabled):
(WebTestRunner):

  • DumpRenderTree/chromium/TestRunner/src/TestRunner.h:

(TestRunner):

LayoutTests:

  • fast/events/touch/gesture/context-menu-on-long-tap.html: Added.
  • fast/events/touch/gesture/long-press-on-draggable-element-triggers-drag.html: Added.
  • platform/chromium/fast/events/touch/gesture/context-menu-on-long-tap-expected.txt: Added.
  • platform/chromium/fast/events/touch/gesture/long-press-on-draggable-element-triggers-drag-expected.txt: Added.
  • touchadjustment/touch-links-longpress-expected.txt:
  • touchadjustment/touch-links-longpress.html:
4:41 PM Changeset in webkit [135788] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

RenderStyle: Move 'list-style-image' to rare inherited data.
<http://webkit.org/b/103300>

Reviewed by Antti Koivisto.

list-style-image is not nearly common enough to merit a spot in StyleInheritedData.
Move it to StyleRareInheritedData.

134kB progression on Membuster3.

  • rendering/style/RenderStyle.cpp:

(WebCore::RenderStyle::diff):
(WebCore::RenderStyle::listStyleImage):
(WebCore::RenderStyle::setListStyleImage):

  • rendering/style/StyleInheritedData.cpp:

(WebCore::StyleInheritedData::StyleInheritedData):
(WebCore::StyleInheritedData::operator==):

  • rendering/style/StyleInheritedData.h:

(StyleInheritedData):

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

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

4:39 PM Changeset in webkit [135787] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit/chromium

Add hasTouchEventhandlersAt to WebView API
https://bugs.webkit.org/show_bug.cgi?id=102541

Patch by Yusuf Ozuysal <yusufo@google.com> on 2012-11-26
Reviewed by James Robinson.

Adds hasTouchEventHandlersAt to WebWidget API to check for touch event handlers at a
given point. This will be used to distinguish between events not processed by
touch event handlers and event not hitting any touch event handlers. Both are
returning the same ACK message currently. Default implementation returns true to
continue the same behavior as we currently have.

  • public/WebWidget.h:

(WebWidget):
(WebKit::WebWidget::hasTouchEventHandlersAt):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::hasTouchEventHandlersAt):
(WebKit):

  • src/WebViewImpl.h:

(WebViewImpl):

4:17 PM Changeset in webkit [135786] by simonjam@chromium.org
  • 40 edits
    1 add in trunk/Source

Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
https://bugs.webkit.org/show_bug.cgi?id=102151

Reviewed by Adam Barth.

Source/WebCore:

There's a FIXME that we have too many FrameLoader::load*() functions. This patch consolidates 3 into 1.
There are still a few more load functions that will be consolidated later. Using FrameLoadRequest as
the interface into FrameLoader will also provide a place to pass in the initiator. Finally, this matches
the refactoring done with CachedResourceRequest and CachedResourceLoader.

No new tests. No change in functionality.

  • WebCore.exp.in:
  • loader/FrameLoadRequest.h:

(WebCore::FrameLoadRequest::FrameLoadRequest):
(WebCore::FrameLoadRequest::setLockHistory): These are former arguments to load().
(WebCore::FrameLoadRequest::lockHistory): Ditto.
(FrameLoadRequest):
(WebCore::FrameLoadRequest::setShouldCheckNewWindowPolicy): Ditto.
(WebCore::FrameLoadRequest::shouldCheckNewWindowPolicy): Ditto.
(WebCore::FrameLoadRequest::substituteData): Ditto.
(WebCore::FrameLoadRequest::setSubstituteData): Ditto.
(WebCore::FrameLoadRequest::hasSubstituteData): Ditto.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::load): No change in behavior, just merged it all into one function.

  • loader/FrameLoader.h:

(FrameLoader):

  • page/DragController.cpp:

(WebCore::DragController::performDrag):

Source/WebKit/blackberry:

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::load):
(BlackBerry::WebKit::WebPagePrivate::loadString):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchDidFailProvisionalLoad):

Source/WebKit/chromium:

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::loadRequest):
(WebKit::WebFrameImpl::loadData):

  • src/WebSharedWorkerImpl.cpp:

(WebKit::WebSharedWorkerImpl::initializeLoader):

Source/WebKit/efl:

  • ewk/ewk_frame.cpp:

(_ewk_frame_contents_set_internal):

Source/WebKit/gtk:

  • webkit/webkitwebframe.cpp:

(webkit_web_frame_load_uri):
(webkit_web_frame_load_data):
(webkit_web_frame_load_request):

Source/WebKit/mac:

  • Plugins/WebPluginController.mm:
  • WebView/WebFrame.mm:

(-[WebFrame loadRequest:]):
(-[WebFrame _loadData:MIMEType:textEncodingName:baseURL:unreachableURL:]):

Source/WebKit/qt:

  • Api/qwebframe.cpp:

(QWebFrame::QWebFrame):
(QWebFrame::load):
(QWebFrame::setHtml):
(QWebFrame::setContent):

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::setAlternateHtml):
(qt_dump_set_accepts_editing):

  • WebCoreSupport/FrameLoaderClientQt.cpp:

(WebCore::FrameLoaderClientQt::callErrorPageExtension):

Source/WebKit/win:

  • WebFrame.cpp:

(WebFrame::loadRequest):
(WebFrame::loadData):

Source/WebKit/wince:

  • WebView.cpp:

(WebView::load):

Source/WebKit/wx:

  • WebFrame.cpp:

(WebKit::WebFrame::SetPageSource):

Source/WebKit2:

  • WebProcess/Plugins/PluginView.cpp:

(WebKit::PluginView::performFrameLoadURLRequest):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::loadURLRequest):
(WebKit::WebPage::loadData):

3:57 PM Changeset in webkit [135785] by Lucas Forschler
  • 4 edits in branches/safari-536.28-branch/Source

Merged r134327. <rdar://problem/12696109>

3:57 PM Changeset in webkit [135784] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Stop sending touch events to plugins.
https://bugs.webkit.org/show_bug.cgi?id=103188

Patch by Genevieve Mak <gmak@rim.com> on 2012-11-24
Reviewed by Rob Buis.

Reviewed internally by Jeff Rogers and Mike Lattanzio.
No tests required.
PR #248605

  • plugins/blackberry/PluginViewBlackBerry.cpp:

(WebCore::PluginView::handleTouchEvent):
(WebCore::PluginView::handleMouseEvent):

3:53 PM Changeset in webkit [135783] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Skipping some compositing/tiling tests on Windows because tiled backing is not supported.
Tests skipped:
compositing/tiling/rotated-tiled-preserve3d-clamped.html
compositing/tiling/rotated-tiled-clamped.html

  • platform/win/TestExpectations:
3:49 PM Changeset in webkit [135782] by Lucas Forschler
  • 22 edits
    7 copies in branches/safari-536.28-branch

Merged r133834. <rdar://problem/12660677>

3:45 PM Changeset in webkit [135781] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening: css3/filters/custom/custom-filter-transforms-animation.html
times out intermittently.
https://bugs.webkit.org/show_bug.cgi?id=103308

  • platform/chromium/TestExpectations:
3:38 PM Changeset in webkit [135780] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening: failure in fast/text/atsui-small-caps-punctuation-size.html
https://bugs.webkit.org/show_bug.cgi?id=103148

  • platform/chromium/TestExpectations:
3:27 PM Changeset in webkit [135779] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Removing unnecessary friend classes in RenderObject: LayoutRepainter, RenderSVGContainer
https://bugs.webkit.org/show_bug.cgi?id=103164

Patch by Adenilson Cavalcanti <cavalcantii@gmail.com> on 2012-11-26
Reviewed by Simon Fraser.

Removing some of classes marked as friend of RenderObject. This patch solves this issue
for 2 classes: RenderSVGContainer (that is derived from RenderObject) and LayoutRepainter
(that accesses one const member function in RenderObject that is now made public).

No new tests, no changes in functionality.

  • rendering/RenderObject.h:

(RenderObject):
(WebCore::RenderObject::outlineBoundsForRepaint):

3:18 PM Changeset in webkit [135778] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening: failure in http/tests/media/pdf-served-as-pdf.html
https://bugs.webkit.org/show_bug.cgi?id=103093

  • platform/chromium/TestExpectations:
3:12 PM Changeset in webkit [135777] by Simon Fraser
  • 4 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12751360>
Merge r135746

2012-11-26 Simon Fraser <Simon Fraser>

Optimize layer updates after scrolling
https://bugs.webkit.org/show_bug.cgi?id=102635

Reviewed by Sam Weinig.

updateLayerPositionsAfterScroll() previously unconditionally cleared clip
rects, and recomputed repaint rects too often. Recomputing both of these
can be very expensive, as they involve tree walks up to the root.

We can optimize layer updates after document scrolling by only clearing clip
rects, and recomputing repaint rects, if we encounter a fixed- or sticky-position
element. For overflow scroll, we have to clear clip rects and recompute repaint rects.

  • page/FrameView.cpp: (WebCore::FrameView::repaintFixedElementsAfterScrolling): Call updateLayerPositionsAfterDocumentScroll().
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositions): Call clearClipRects() because updateLayerPosition() no longer does. (WebCore::RenderLayer::updateLayerPositionsAfterDocumentScroll): Version of updateLayerPositionsAfterScroll() that is for document scrolls. It has no need to push layers to the geometry map. (WebCore::RenderLayer::updateLayerPositionsAfterOverflowScroll): Pushes layers to the geometry map, and calls updateLayerPositionsAfterScroll() with the IsOverflowScroll flag. (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Set the HasChangedAncestor flag if our location changed, and use that as a hint to clear cached rects. Be more conservative than before about when to clear cached clip rects. (WebCore::RenderLayer::updateLayerPosition): Move responsibility for calling clearClipRects() ouf of this function and into callers. (The one caller outside RenderLayer will be removed via bug 102624). Return a bool indicating whether our position changed. (WebCore::RenderLayer::scrollTo): Call updateLayerPositionsAfterOverflowScroll(). (WebCore::RenderLayer::updateClipRects): Added some #ifdeffed out code that is useful to verify that cached clips are correct; it's too slow to leave enabled in debug builds.
  • rendering/RenderLayer.h: (WebCore::RenderLayer::setLocation): Change to take a LayoutPoint, rather than separate x and y.
3:12 PM Changeset in webkit [135776] by Simon Fraser
  • 12 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12753059>
Merge r135025

2012-11-12 Simon Fraser <Simon Fraser>

Eliminate ancestor tree walk computing outlineBoundsForRepaint() when updating layer positions
https://bugs.webkit.org/show_bug.cgi?id=101874

Reviewed by Dave Hyatt.

RenderLayer::updateLayerPositions() and updateLayerPositionsAfterScroll() spend a
lot of time in computeRepaintRects(), which does two ancestor tree walks, once
for clippedOverflowRectForRepaint(), and one for outlineBoundsForRepaint().

Eliminate the ancestor tree walk in outlineBoundsForRepaint() by maintaining
a RenderGeometryMap as we traverse the layer tree, and then using it to map
the outline bounds to the repaint container. Replace the hokey cached offsetFromRoot
now that the RenderGeometryMap can do a better job.

The clipped overflow rect cannot be mapped simply, so cannot yet make use of
the geometry map.

Modify the RenderGeometryMap to support mapping to some repaintContainer ancestor.
Add a RenderObject walk that is necessary to detect flipped writing mode blocks.

Pass the RenderGeometryMap as an optional parameter to outlineBoundsForRepaint.

  • page/FrameView.cpp: (WebCore::FrameView::layout): Make a RenderGeometryMap and pass it down to updateLayerPositions(). For partial layouts, we have to push layers between the root and the enclosing layer of the layout subtree. The geometry map used for repainting does not use SnapOffsetForTransforms, so initialize it explicitly with just the UseTransforms flag. (WebCore::FrameView::repaintFixedElementsAfterScrolling): Make a RenderGeometryMap to pass along to updateLayerPositionsAfterScroll().
  • rendering/RenderBox.cpp: (WebCore::RenderBox::outlineBoundsForRepaint): Replace the optional cachedOffsetToRepaintContainer parameter with an optional RenderGeometryMap, and it use to map the compute rect to repaintContainer coordinates.
  • rendering/RenderBox.h:
  • rendering/RenderGeometryMap.cpp: (WebCore::RenderGeometryMap::RenderGeometryMap): This now has to store the mapping flags to use, so that its behavior can match that of mapLocalToContainer(). The pertinent flag is the confusingly named SnapOffsetForTransforms. (WebCore::RenderGeometryMap::absolutePoint): Call the new mapToContainer() with a null container. (WebCore::RenderGeometryMap::absoluteRect): Ditto. (WebCore::RenderGeometryMap::mapToContainer): Map to the supplied container, asserting that we found it. Add point- and rect-based mapping methods akin to the old absoluteRect/absolutePoint. (WebCore::canMapViaLayer): We need to test for isRenderFlowThread() here too. (WebCore::RenderGeometryMap::pushMappingsToAncestor): When mapping via layers, ensure that the RenderView is pushed as the first step.
  • rendering/RenderGeometryMap.h: (RenderGeometryMap):
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::updateLayerPositionsAfterLayout): New wrapper for updateLayerPositions() that makes the geometry map. (WebCore::RenderLayer::updateLayerPositionsAfterScroll): New wrapper for updateLayerPositionsAfterScroll that makes the geometry map. (WebCore::RenderLayer::updateLayerPositions): Now takes an optional RenderGeometryMap. Remove the old offsetFromRoot code. Push and pop layers to/from the geometry map. Use the geometry map to get the offsetFromRoot as needed by overflow controls. Pass it to computeRepaintRects(). (WebCore::RenderLayer::computeRepaintRects): Pass the geometry map to outlineBoundsForRepaint(). (WebCore::RenderLayer::updateLayerPositionsAfterScroll): Push and pop to/from the geometry map, and pass it to computeRepaintRects(). (WebCore::RenderLayer::removeOnlyThisLayer): Remove the offsetFromRootBeforeMove computation; this could use a geometry map in future if it is shown to be a bottleneck.
  • rendering/RenderLayer.h: (WebCore::RenderLayer::canUseConvertToLayerCoords): It was thought that the isComposited() was there because the older cached offsetFromRoot logic was sensitive to compositing, but convertToLayerCoords() is not affected by compositing so this check is not needed, and actually harmful.
  • rendering/RenderLayerCompositor.cpp: (WebCore::RenderLayerCompositor::OverlapMap::OverlapMap): The geometry map used for overlap testing should not use SnapOffsetForTransforms, so initialize it explicitly with just the UseTransforms flag.
  • rendering/RenderObject.h: (WebCore::RenderObject::outlineBoundsForRepaint):
  • rendering/svg/RenderSVGModelObject.cpp: (WebCore::RenderSVGModelObject::outlineBoundsForRepaint):
  • rendering/svg/RenderSVGModelObject.h: (RenderSVGModelObject):
3:07 PM Changeset in webkit [135775] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Form controls don't show pressed state.
https://bugs.webkit.org/show_bug.cgi?id=103292

Patch by Genevieve Mak <gmak@rim.com> on 2012-11-26
Reviewed by Rob Buis.

Reviewed internally by Eli Fidler and Mike Lattanzio.
We weren't sending touch events to webpages unless they
had JS touch event listeners which form controls don't have.
Now send them always and do a little cleanup.
PR #249791

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPage::touchEvent):

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

(WebPagePrivate):

  • WebCoreSupport/ChromeClientBlackBerry.cpp:

(WebCore::ChromeClientBlackBerry::needTouchEvents):

3:02 PM Changeset in webkit [135774] by tony@chromium.org
  • 4 edits in branches/chromium/1312/Source

Merge 135316 - When calling DocumentStyleSheetCollection::addUserSheet, pass in a user sheet
https://bugs.webkit.org/show_bug.cgi?id=102835

Reviewed by Ojan Vafai.

After r135082, Chromium browser_tests were triggering the ASSERT in
StyleResolver::collectRulesFromUserStyleSheets. Add an ASSERT that will
trigger earlier and make it clear in the Chromium code that we're always
inserting user level styles.

Source/WebCore:

No new tests, no behavior change except no longer triggering the StyleResolver ASSERT
in Chromium browser_tests.

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::addUserSheet):

Source/WebKit/chromium:

  • src/WebDocument.cpp:

(WebKit::WebDocument::insertUserStyleSheet):

TBR=tony@chromium.org
Review URL: https://codereview.chromium.org/11412177

3:01 PM Changeset in webkit [135773] by tony@chromium.org
  • 10 edits
    2 copies in branches/chromium/1312

Merge 135082 - REGRESSION(r129644): User StyleSheet not applying
https://bugs.webkit.org/show_bug.cgi?id=102110

Reviewed by Andreas Kling.

Source/WebCore:

Injected stylesheets added as UserStyleAuthorLevel fail to apply. r129644 implicitly assumed that
such things don't exists but on Chromium addUserStyleSheet() confusingly uses them.

The patch adds injected author stylesheets to DocumentStyleSheetCollection::activeStyleSheets().
It also generally cleans up the code around injected and user stylesheets.

Tests: userscripts/user-script-and-stylesheet.html

userscripts/user-stylesheet-invalidate.html

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::collectRulesFromUserStyleSheets):
(WebCore::collectCSSOMWrappers):

  • css/StyleResolver.h:

(StyleResolver):

  • dom/Document.cpp:

(WebCore::Document::setCompatibilityMode):

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::injectedUserStyleSheets):
(WebCore):
(WebCore::DocumentStyleSheetCollection::injectedAuthorStyleSheets):
(WebCore::DocumentStyleSheetCollection::updateInjectedStyleSheetCache):
(WebCore::DocumentStyleSheetCollection::invalidateInjectedStyleSheetCache):
(WebCore::DocumentStyleSheetCollection::addUserSheet):
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
(WebCore::DocumentStyleSheetCollection::reportMemoryUsage):

  • dom/DocumentStyleSheetCollection.h:

(WebCore::DocumentStyleSheetCollection::documentUserStyleSheets):
(DocumentStyleSheetCollection):

  • page/PageGroup.cpp:

(WebCore::PageGroup::addUserStyleSheetToWorld):
(WebCore::PageGroup::removeUserStyleSheetFromWorld):
(WebCore::PageGroup::removeUserStyleSheetsFromWorld):
(WebCore::PageGroup::removeAllUserContent):
(WebCore::PageGroup::invalidatedInjectedStyleSheetCacheInAllFrames):

  • page/PageGroup.h:

(PageGroup):

LayoutTests:

  • inspector/timeline/timeline-script-tag-1-expected.txt:

Update the test result. The style invalidation log is slightly different.

  • userscripts/user-stylesheet-invalidate-expected.txt: Added.
  • userscripts/user-stylesheet-invalidate.html: Added.

TBR=Antti Koivisto
Review URL: https://codereview.chromium.org/11412176

3:01 PM Changeset in webkit [135772] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening: updated TextExpecations for failing
fast/dom/shadow/shadow-dom-event-dispatching.html
https://bugs.webkit.org/show_bug.cgi?id=103299

  • platform/chromium/TestExpectations:
2:52 PM Changeset in webkit [135771] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Skip fast/dom/Window/open-window-min-size.html on Windows.
DRT doesn't support showModalDialog https://bugs.webkit.org/show_bug.cgi?id=53675

  • platform/win/TestExpectations:
2:45 PM Changeset in webkit [135770] by zeno.albisser@digia.com
  • 6 edits in trunk/Source

[Qt] Fix the LLInt build on Mac
https://bugs.webkit.org/show_bug.cgi?id=97587

Reviewed by Simon Hausmann.

Source/JavaScriptCore:

Source/WTF:

  • wtf/InlineASM.h:

Use OS(DARWIN) instead of PLATFORM(MAC),
in order to allow Qt to use the same code.

  • wtf/Platform.h:
2:43 PM Changeset in webkit [135769] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

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

  • DEPS:
2:37 PM Changeset in webkit [135768] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WebKit2

Merged r131975. <rdar://problem/12589198>

2:36 PM Changeset in webkit [135767] by jonlee@apple.com
  • 15 edits in trunk/Source

Pass clicks through to the restarted plugin
https://bugs.webkit.org/show_bug.cgi?id=102150
<rdar://problem/12695575>

Reviewed by Simon Fraser.

Source/WebCore:

Add a new state to the machine for plugin snapshotting, called PlayingWithPendingMouseClick.
This represents the state where the plugin is playing, but before the pending mouse click
has been fired. Once the click is sent, the plugin state transitions to Playing. For
situations where the plugin just runs normally without a simulated click, the plugin state
jumps from DisplayingSnapshot straight to Playing, as before.

  • html/HTMLPlugInElement.h: Add new display state to represent when the plugin is running,

but a pending mouse click is about to be sent to the plugin.
(WebCore::HTMLPlugInElement::dispatchPendingMouseClick): Called by the plugin when it is
ok for the element to send the pending mouse click.

  • html/HTMLPlugInElement.cpp:

(WebCore::HTMLPlugInElement::defaultEventHandler): Update the handler to pass the event
to the renderer to handle if the state is before PlayingWithPendingMouseClick.

  • html/HTMLPlugInImageElement.h:
  • html/HTMLPlugInImageElement.cpp: Add a click timer to delay the mouse click so that the

plugin has some time to initialize.
(WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement): Initialize the mouse timer.
(WebCore::HTMLPlugInImageElement::setPendingClickEvent): Keep track of the click event
the user made to restart the plugin.
(WebCore::HTMLPlugInImageElement::dispatchPendingMouseClick): Start the timer.
(WebCore::HTMLPlugInImageElement::simulatedMouseClickTimerFired): When the timer fires,
dispatch the simulated click, with mouse over, mouse down, and mouse up events. Transition
to the Playing state, and we no longer need the click event.

  • rendering/RenderSnapshottedPlugIn.cpp: Change the threshold state to PlayingWithPendingMouseClick

instead of Playing, since that is the earliest state where the plugin is playing.
(WebCore::RenderSnapshottedPlugIn::paint):
(WebCore::RenderSnapshottedPlugIn::paintReplaced):
(WebCore::RenderSnapshottedPlugIn::getCursor):
(WebCore::RenderSnapshottedPlugIn::handleEvent): If the user clicked on the button, jump to
Playing, and don't send a simulated click. Otherwise, transition to PlayingWithPendingMouseClick,
and keep track of that mouse event.

  • WebCore.exp.in: Export MouseRelatedEvent::offsetX() and offsetY().

Source/WebKit2:

Expose convertToRootView() as a public function for all plugins. It converts the click point
from local plugin coordinates to root view coordinates. When the events are sent to the
plugin, the coordinate gets converted back to the local reference frame.

  • WebProcess/Plugins/Plugin.cpp:

(WebKit::Plugin::convertToRootView): Default implementation should not be reached.

  • WebProcess/Plugins/Plugin.h: Promote convertToRootView() from NetscapePlugin.h.
  • WebProcess/Plugins/Netscape/NetscapePlugin.h: An implementation already existed. Make the

method virtual.

  • WebProcess/Plugins/PluginProxy.h:
  • WebProcess/Plugins/PluginProxy.cpp:

(WebKit::PluginProxy::convertToRootView): Apply the transform to the provided point to return
a point in root view coordinates.

Change the threshold state to PlayingWithPendingMouseClick instead of Playing, since that is
the earliest state where the plugin is playing.

  • WebProcess/Plugins/PluginView.cpp: Give the snapshot a little more time to generate.

(WebKit::PluginView::didInitializePlugin): When the plugin has initialized, tell the plugin
element to dispatch the pending mouse click.
(WebKit::PluginView::paint):
(WebKit::PluginView::createWebEvent): Helper function to convert a WebCore mouse event to a
WebMouseEvent.
(WebKit::PluginView::handleEvent): If the event is simulated, there is no source event from
the UI process. So we fabricate one based on the simulated event.
(WebKit::PluginView::invalidateRect):
(WebKit::PluginView::isAcceleratedCompositingEnabled):

  • WebProcess/Plugins/PluginView.h:
2:34 PM Changeset in webkit [135766] by roger_fong@apple.com
  • 4 edits in trunk

Unreviewed. ENABLE_ACCELERATED_OVERFLOW_SCROLLING not enabled on Windows.
Add a feature flag and skip some failing tests.
https://bugs.webkit.org/show_bug.cgi?id=103294

Tests skipped:
compositing/overflow/scrolling-without-painting.html
compositing/overflow/updating-scrolling-content.html

  • win/tools/vsprops/FeatureDefines.vsprops:
  • platform/win/TestExpectations:
2:24 PM Changeset in webkit [135765] by commit-queue@webkit.org
  • 7 edits in trunk

Refactor V8 bindings to allow content scripts to access subframes
https://bugs.webkit.org/show_bug.cgi?id=93646

Patch by Dan Carney <dcarney@google.com> on 2012-11-26
Reviewed by Adam Barth.

Source/WebCore:

Isolated window shells are now initialized on the fly
as needed.

No new tests. Existing test modified.

  • bindings/v8/DOMWrapperWorld.cpp:

(WebCore::DOMWrapperWorld::ensureIsolatedWorld):

  • bindings/v8/DOMWrapperWorld.h:

(WebCore::DOMWrapperWorld::createdFromUnitializedWorld):
(DOMWrapperWorld):

  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::currentWorldContext):

LayoutTests:

Test modified to check isolated world access across frames.

  • http/tests/security/isolatedWorld/world-reuse-expected.txt:
  • http/tests/security/isolatedWorld/world-reuse.html:
2:15 PM Changeset in webkit [135764] by Lucas Forschler
  • 6 edits
    2 copies in branches/safari-536.28-branch

Merged r132924. <rdar://problem/12603373>

2:11 PM Changeset in webkit [135763] by bfulgham@webkit.org
  • 2 edits in trunk/Source/WebCore

clipboardwin compile error for win64
https://bugs.webkit.org/show_bug.cgi?id=94124

Patch by Alex Christensen <alex.christensen@flexsim.com> on 2012-11-26
Reviewed by Brent Fulgham.

The clipboard utilities code uses std::min with one unsigned int parameter and one size_t parameter.
This causes a problem when compiling for 64-bit Windows because the two types are not the same size.
To resolve this issue, we specify the template type as the type the return value is being cast into

Fixed a few compile errors for Windows x64 by specifying template parameters.

  • platform/win/ClipboardUtilitiesWin.cpp:

(WebCore::setFileDescriptorData): Specify the types for the std::min macro to avoid compiler errors
under 64-bit builds.

2:01 PM Changeset in webkit [135762] by Martin Robinson
  • 2 edits in trunk/Source/WebCore

[GTK] GtkSocket is leaked until webview is destroyed.
https://bugs.webkit.org/show_bug.cgi?id=102564

Patch by Arnaud Renevier <a.renevier@sisa.samsung.com> on 2012-11-26
Reviewed by Martin Robinson.

Remove GtkSocket from its parent when pluginview is destroyed. Then,
the GtkSocket and it's possible child widgets are realeased when it is
no more needed.

No new tests, already covered by existing tests.

  • plugins/gtk/PluginViewGtk.cpp:

(WebCore::PluginView::platformDestroy):

2:00 PM Changeset in webkit [135761] by Martin Robinson
  • 4 edits in trunk

[GTK] Explicitly link against librt
https://bugs.webkit.org/show_bug.cgi?id=103194

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-11-26
Reviewed by Martin Robinson.

Fixes broken build with undefined references to shm_open / shm_unlink
symbols. SharedMemoryUnix.cpp uses these so we need to link with -lrt.

.:

  • configure.ac:

Source/WebKit2:

  • GNUmakefile.am:
1:44 PM Changeset in webkit [135760] by macpherson@chromium.org
  • 2 edits in trunk/Source/WebCore

Make StyleResolver::applyProperty use isInherit in CSSPropertyWebkitMarquee instead of calculating equivalent in-place.
https://bugs.webkit.org/show_bug.cgi?id=102446

Reviewed by Tony Chang.

!m_parentNode
!value->isInheritedValue() is equivalent to !isInherit (by De Morgan's law).

No new tests / code is provably equivalent.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

1:41 PM Changeset in webkit [135759] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

32-bit build fix. Move the method decalration outside of the X86_64 only section.

1:38 PM Changeset in webkit [135758] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Null check calls associated with retrieving the caret rect.
https://bugs.webkit.org/show_bug.cgi?id=103281

Patch by Nima Ghanavatian <nghanavatian@rim.com> on 2012-11-26
Reviewed by Rob Buis.

Some of these calls can return null, which could lead to a crash.

Internally reviewed by Gen Mak.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):

1:20 PM Changeset in webkit [135757] by oliver@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Don't blind all the things.
https://bugs.webkit.org/show_bug.cgi?id=102572

Reviewed by Gavin Barraclough.

No longer blind all the constants in the instruction stream. We use a
simple non-deterministic filter to avoid blinding everything. Also modified
the basic integer blinding logic to avoid blinding small negative values.

  • assembler/MacroAssembler.h:

(MacroAssembler):
(JSC::MacroAssembler::shouldConsiderBlinding):
(JSC::MacroAssembler::shouldBlind):

1:00 PM Changeset in webkit [135756] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

JSObject::copyButterfly doesn't handle undecided indexing types correctly
https://bugs.webkit.org/show_bug.cgi?id=102573

Reviewed by Filip Pizlo.

We don't do any copying into the newly allocated vector and we don't zero-initialize CopiedBlocks
during the copying phase, so we end up with uninitialized memory in arrays which have undecided indexing
types. We should just do the actual memcpy from the old block to the new one.

  • runtime/JSObject.cpp:

(JSC::JSObject::copyButterfly): Just do the same thing that we do for other contiguous indexing types.

12:49 PM Changeset in webkit [135755] by psolanki@apple.com
  • 4 edits in trunk/Source/WebCore

Add ResourceBuffer::append(CFDataRef) to get code to compile with USE(NETWORK_CFDATA_ARRAY_CALLBACK)
https://bugs.webkit.org/show_bug.cgi?id=102706

Reviewed by Brent Fulgham.

No new tests because the flag isn't enabled. Also the functionality should be covered by
existing tests.

  • loader/ResourceBuffer.cpp:

(WebCore):
(WebCore::ResourceBuffer::append):

  • loader/ResourceBuffer.h:

(ResourceBuffer):

  • loader/mac/ResourceLoaderMac.mm:
12:37 PM Changeset in webkit [135754] by rjkroege@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed, rolling out r135743.
http://trac.webkit.org/changeset/135743
https://bugs.webkit.org/show_bug.cgi?id=103280

Caused compile failure 'SK_DISABLE_DITHER_32BIT_GRADIENT'
macro redefined (Requested by rjkroege on #webkit).

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

  • skia_webkit.gyp:
12:27 PM Changeset in webkit [135753] by tony@chromium.org
  • 9 edits in trunk

Move more functions from internals.settings to internals
https://bugs.webkit.org/show_bug.cgi?id=102976

Reviewed by Adam Barth.

Source/WebCore:

Move functions that don't have to do with Settings off of internals.settings.
setPagination and configurationForViewport were defined on internals, so we
can inline the functions (no test change).

setEnableMockPagePopup is moved to Internals.

No new tests, this is a refactor.

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::reset): Move reset code into Internals.

  • testing/InternalSettings.h:

(InternalSettings): Remove code for setPagination, configurationForViewport and setEnableMockPagePopup.

  • testing/InternalSettings.idl: Remove setPagination and setEnableMockPagePopup.
  • testing/Internals.cpp:

(WebCore): Use a static to keep track of the MockPagePopupDriver.
(WebCore::Internals::resetToConsistentState): Code from InternalSettings::reset
(WebCore::Internals::setEnableMockPagePopup): Code copied from InternalSettings.
(WebCore::Internals::pagePopupController): Code copied from InternalSettings.
(WebCore::Internals::setPagination): Code copied from InternalSettings.
(WebCore::Internals::configurationForViewport): Code copied from InternalSettings.

  • testing/Internals.h:

(Internals): Add setEnableMockPagePopup.

  • testing/Internals.idl: Add setEnableMockPagePopup.

LayoutTests:

Move internals.settings.setEnableMockPagePopup to internals.setEnableMockPagePopup.

  • fast/forms/resources/picker-common.js:
12:17 PM Changeset in webkit [135752] by commit-queue@webkit.org
  • 6 edits in trunk

[EFL][WK2] Add setting to enable / disable HTML5 local storage functionality
https://bugs.webkit.org/show_bug.cgi?id=103224

Patch by Christophe Dumez <Christophe Dumez> on 2012-11-26
Reviewed by Laszlo Gombos.

Source/WebKit2:

Add API to ewk_settings to enable / disable the HTML5
local storage functionality. The functionality is
enabled by default.

  • UIProcess/API/efl/ewk_settings.cpp:

(ewk_settings_local_storage_enabled_set):
(ewk_settings_local_storage_enabled_get):

  • UIProcess/API/efl/ewk_settings.h:
  • UIProcess/API/efl/tests/test_ewk2_settings.cpp:

(TEST_F): Add API test for ewk_settings_local_storage_enabled_get / set.

Tools:

Add --local-storage command line argument to MiniBrowser to
explicitely disable HTML5 local storage functionality. This
is useful for testing purposes.

  • MiniBrowser/efl/main.c:

(window_create):
(elm_main):

12:02 PM Changeset in webkit [135751] by Lucas Forschler
  • 12 edits
    3 copies in branches/safari-536.28-branch

Merged r132713. <rdar://problem/12589195>

12:00 PM Changeset in webkit [135750] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk

[CSS Regions] Add Region info for RootLineBoxes and pack the pagination data
https://bugs.webkit.org/show_bug.cgi?id=101332

Patch by Andrei Bucur <abucur@adobe.com> on 2012-11-26
Reviewed by David Hyatt.

Source/WebCore:

Currently the pagination information for lines is spread between the RootInlineBox and InlineFlowBox classes, consuming memory even though
the boxes were not the result of an pagination layout. To overcome this, a new struct (LineFragmentationData) is created that wraps all the data,
including two new members, the containing Region for the line and a boolean that states if the line was laid out in a Region or not.
The flag is necessary because the sanitize function on LineFragmentationData resets the containing Region to 0 if the Region was removed from
chain (so a value of 0 for the containing Region means two things). The sanitize function should prevent access to an invalid address.
The containing Region is used to detect if a line changed the Region where it resides. This will be helpful especially when implementing region
styling for layout properties (e.g. the font-size property https://bugs.webkit.org/show_bug.cgi?id=95559 ).
A line can change the region when it is shifted inside the containing block or if the entire block moves. This means it's better to delegate
the task of updating the containing Region to the block.

Tests: fast/regions/line-containing-region-crash.html

  • rendering/InlineFlowBox.cpp:

(SameSizeAsInlineFlowBox):

  • rendering/InlineFlowBox.h:

(WebCore::InlineFlowBox::InlineFlowBox):
(InlineFlowBox):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::lineWidthForPaginatedLineChanged):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::layoutRunsAndFloatsInRange):
(WebCore::RenderBlock::linkToEndLineIfNeeded):
(WebCore::RenderBlock::determineStartPosition):

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::RootInlineBox):
(WebCore::RootInlineBox::setContainingRegion):
(WebCore):
(WebCore::RootInlineBox::LineFragmentationData::sanitize): This is an O(1) function that checks if the containig Region is still valid pointer.

  • rendering/RootInlineBox.h:

(WebCore):
(WebCore::RootInlineBox::paginationStrut):
(WebCore::RootInlineBox::setPaginationStrut):
(WebCore::RootInlineBox::isFirstAfterPageBreak):
(WebCore::RootInlineBox::setIsFirstAfterPageBreak):
(WebCore::RootInlineBox::paginatedLineWidth):
(WebCore::RootInlineBox::setPaginatedLineWidth):
(RootInlineBox):
(WebCore::RootInlineBox::containingRegion):
(WebCore::RootInlineBox::hasContainingRegion): Use this to determine if the line has a region or not.
(WebCore::RootInlineBox::ensureLineFragmentationData):
(LineFragmentationData):
(WebCore::RootInlineBox::LineFragmentationData::LineFragmentationData):

LayoutTests:

The test checks if there is a crash when doing a line layout if:

  • the flow has no region
  • the flow has a region but the lines have no containing region
  • the flow has no region but the lines have a containing region
  • fast/regions/line-containing-region-crash-expected.txt: Added.
  • fast/regions/line-containing-region-crash.html: Added.
11:57 AM Changeset in webkit [135749] by Michelangelo De Simone
  • 19 edits
    5 adds in trunk

[CSS Shaders] Add IDL file and bindings for mix function
https://bugs.webkit.org/show_bug.cgi?id=93011

Reviewed by Dean Jackson.

Source/WebCore:

JavaScript bindings have been added for the Custom Filter mix()
function (WebKitCSSMixFunctionValue). As of now, this is only a
placeholder that extends CSSValueList without adding any new
property.

Test: css3/filters/custom/custom-filter-mix-bindings.html

  • CMakeLists.txt: mix() IDL has been added to the Generator;

DerivedSources have been included.

  • DerivedSources.cpp: Ditto.
  • DerivedSources.make: Ditto.
  • DerivedSources.pri: Ditto.
  • GNUmakefile.list.am: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • bindings/js/JSCSSValueCustom.cpp:

(WebCore::toJS): return a JSC DOM wrapper for WebKitCSSMixFunctionValue.

  • bindings/v8/custom/V8CSSValueCustom.cpp:

(WebCore::V8CSSValue::dispatchWrapCustom): Ditto, for V8.

  • css/WebKitCSSMixFunctionValue.idl: Added.

LayoutTests:

Test for the Custom Filter mix() function JS bindings.

  • css3/filters/custom/custom-filter-mix-bindings-expected.txt: Added.
  • css3/filters/custom/custom-filter-mix-bindings.html: Added.
  • css3/filters/script-tests/custom-filter-mix-bindings.js: Added.

(jsWrapperClass):
(shouldBeType):

  • platform/chromium/css3/filters/custom/custom-filter-mix-bindings-expected.txt: Added.
  • platform/efl/fast/js/global-constructors-expected.txt: Updated with the new WebKitCSSMixFunctionValueConstructor.
  • platform/gtk/fast/js/global-constructors-expected.txt: Ditto.
  • platform/mac/fast/js/global-constructors-expected.txt: Ditto.
  • platform/qt-5.0/fast/js/global-constructors-expected.txt: Ditto.
  • platform/qt/fast/js/global-constructors-expected.txt: Ditto.
  • platform/win/fast/js/global-constructors-expected.txt: Ditto.
11:45 AM Changeset in webkit [135748] by rafael.lobo@openbossa.org
  • 2 edits in trunk/Source/WebKit2

[CoordinatedGraphics] Access to LayerTreeRenderer::m_renderQueue should be thread safe
https://bugs.webkit.org/show_bug.cgi?id=101341

Reviewed by Noam Rosenthal.

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::syncRemoteContent): The previous swap already clears the
vector on m_renderQueue. It is also done in a thread-safe way, so clearing it afterward
can be harmful as we've already released the lock.

11:42 AM Changeset in webkit [135747] by kareng@chromium.org
  • 1 edit in branches/chromium/1312/Source/WebCore/dom/Document.cpp

Merge 135709 - Circular reference between Document and MediaQueryMatcher.
https://bugs.webkit.org/show_bug.cgi?id=103242

Patch by Marja Hölttä <marja@chromium.org> on 2012-11-26
Reviewed by Kenneth Rohde Christiansen.

It's not enough to clean up listeners in MediaQueryMatcher in ~Document,
since MediaQueryListListener keeps the Document alive. This caused
www.crbug.com/113983.

No new tests: No visible change in behavior (except that it doesn't leak memory).

  • dom/Document.cpp:

(WebCore::Document::~Document):
(WebCore::Document::detach):

TBR=commit-queue@webkit.org
Review URL: https://codereview.chromium.org/11415134

11:37 AM Changeset in webkit [135746] by Simon Fraser
  • 4 edits in trunk/Source/WebCore

Optimize layer updates after scrolling
https://bugs.webkit.org/show_bug.cgi?id=102635

Reviewed by Sam Weinig.

updateLayerPositionsAfterScroll() previously unconditionally cleared clip
rects, and recomputed repaint rects too often. Recomputing both of these
can be very expensive, as they involve tree walks up to the root.

We can optimize layer updates after document scrolling by only clearing clip
rects, and recomputing repaint rects, if we encounter a fixed- or sticky-position
element. For overflow scroll, we have to clear clip rects and recompute repaint rects.

  • page/FrameView.cpp:

(WebCore::FrameView::repaintFixedElementsAfterScrolling): Call updateLayerPositionsAfterDocumentScroll().

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updateLayerPositions): Call clearClipRects() because
updateLayerPosition() no longer does.
(WebCore::RenderLayer::updateLayerPositionsAfterDocumentScroll): Version of updateLayerPositionsAfterScroll()
that is for document scrolls. It has no need to push layers to the geometry map.
(WebCore::RenderLayer::updateLayerPositionsAfterOverflowScroll): Pushes layers to the geometry map,
and calls updateLayerPositionsAfterScroll() with the IsOverflowScroll flag.
(WebCore::RenderLayer::updateLayerPositionsAfterScroll): Set the HasChangedAncestor flag
if our location changed, and use that as a hint to clear cached rects. Be more conservative
than before about when to clear cached clip rects.
(WebCore::RenderLayer::updateLayerPosition): Move responsibility for calling
clearClipRects() ouf of this function and into callers.
(The one caller outside RenderLayer will be removed via bug 102624).
Return a bool indicating whether our position changed.
(WebCore::RenderLayer::scrollTo): Call updateLayerPositionsAfterOverflowScroll().
(WebCore::RenderLayer::updateClipRects): Added some #ifdeffed out code that is useful
to verify that cached clips are correct; it's too slow to leave enabled in debug builds.

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::setLocation): Change to take a LayoutPoint, rather than separate
x and y.

11:37 AM Changeset in webkit [135745] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[sh4] JavaScriptCore JIT build is broken since r135330
Add missing implementation for sh4 arch.
https://bugs.webkit.org/show_bug.cgi?id=103145

Patch by Julien BRIANCEAU <jbrianceau@nds.com> on 2012-11-26
Reviewed by Oliver Hunt.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::canJumpReplacePatchableBranchPtrWithPatch):
(MacroAssemblerSH4):
(JSC::MacroAssemblerSH4::startOfBranchPtrWithPatchOnRegister):
(JSC::MacroAssemblerSH4::revertJumpReplacementToBranchPtrWithPatch):
(JSC::MacroAssemblerSH4::startOfPatchableBranchPtrWithPatchOnAddress):
(JSC::MacroAssemblerSH4::revertJumpReplacementToPatchableBranchPtrWithPatch):

  • assembler/SH4Assembler.h:

(JSC::SH4Assembler::revertJump):
(SH4Assembler):
(JSC::SH4Assembler::printInstr):

11:31 AM Changeset in webkit [135744] by zandobersek@gmail.com
  • 51 edits in trunk/Tools

Remove use of deprecated logging from most of webkitpy.tool
https://bugs.webkit.org/show_bug.cgi?id=103180

Reviewed by Dirk Pranke.

Remove calls to log and error methods of the deprecated_logging module, replacing them
by using Python's Logger objects. This patch covers the switch in all of webkitpy.tool
except the QueueEngine.

Unit tests are adjusted for these changes, moving output from expected stderr to expected logs.

  • Scripts/webkitpy/tool/bot/commitqueuetask_unittest.py:

(MockCommitQueue.run_command):
(MockCommitQueue.command_passed):
(MockCommitQueue.command_failed):
(MockCommitQueue.report_flaky_tests):
(MockCommitQueue.archive_last_test_results):
(CommitQueueTaskTest._run_through_task):
(CommitQueueTaskTest.test_success_case):
(test_fast_success_case):
(test_clean_failure):
(test_update_failure):
(test_apply_failure):
(test_validate_changelog_failure):
(test_build_failure):
(test_red_build_failure):
(test_flaky_test_failure):
(test_failed_archive):
(test_double_flaky_test_failure):
(test_test_failure):
(test_red_test_failure):
(test_very_red_tree_retry):
(test_red_tree_patch_rejection):
(test_land_failure):

  • Scripts/webkitpy/tool/bot/feeders.py:

(CommitQueueFeeder._update_work_items):
(EWSFeeder.feed):

  • Scripts/webkitpy/tool/bot/feeders_unittest.py:
  • Scripts/webkitpy/tool/bot/layouttestresultsreader.py:

(LayoutTestResultsReader.archive):

  • Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:

(test_archive_last_layout_test_results):

  • Scripts/webkitpy/tool/bot/sheriff.py:
  • Scripts/webkitpy/tool/commands/abstractsequencedcommand.py:

(AbstractSequencedCommand.execute):

  • Scripts/webkitpy/tool/commands/commandtest.py:

(CommandsTest.assert_execute_outputs):

  • Scripts/webkitpy/tool/commands/download.py:

(AbstractPatchProcessingCommand._process_patch.execute):
(ProcessBugsMixin._fetch_list_of_patches_to_process):
(ProcessURLsMixin._fetch_list_of_patches_to_process):
(AbstractRolloutPrepCommand._commit_info):

  • Scripts/webkitpy/tool/commands/download_unittest.py:

(AbstractRolloutPrepCommandTest.test_commit_info):
(DownloadCommandsTest.test_build):
(DownloadCommandsTest.test_build_and_test):
(test_apply_attachment):
(test_apply_from_bug):
(test_apply_watch_list):
(test_land):
(test_land_red_builders):
(test_check_style):
(test_build_attachment):
(test_land_attachment):
(test_land_from_bug):
(test_land_from_url):
(test_prepare_rollout):
(test_create_rollout):
(test_create_rollout_resolved):
(test_rollout):

  • Scripts/webkitpy/tool/commands/earlywarningsystem.py:

(AbstractEarlyWarningSystem.handle_script_error.does):

  • Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:

(EarlyWarningSytemTest._default_expected_stderr):
(EarlyWarningSytemTest._default_expected_logs):
(EarlyWarningSytemTest._test_testing_ews):

  • Scripts/webkitpy/tool/commands/openbugs.py:

(OpenBugs.execute):

  • Scripts/webkitpy/tool/commands/openbugs_unittest.py:

(OpenBugsTest.test_args_parsing):

  • Scripts/webkitpy/tool/commands/perfalizer.py:

(Perfalizer.handle_unexpected_error):

  • Scripts/webkitpy/tool/commands/queries.py:

(PatchesInCommitQueue.execute):
(PatchesToCommitQueue._needs_commit_queue):

  • Scripts/webkitpy/tool/commands/queries_unittest.py:

(QueryCommandsTest.test_bugs_to_commit):
(QueryCommandsTest.test_patches_in_commit_queue):
(QueryCommandsTest.test_patches_to_commit_queue):

  • Scripts/webkitpy/tool/commands/queues.py:

(AbstractQueue._cc_watchers):
(AbstractQueue.begin_work_queue):
(FeederQueue.handle_unexpected_error):
(CommitQueue.handle_script_error):
(AbstractReviewQueue.handle_unexpected_error):
(AbstractReviewQueue.handle_script_error):

  • Scripts/webkitpy/tool/commands/queues_unittest.py:

(test_auto_retry):

  • Scripts/webkitpy/tool/commands/queuestest.py:

(QueuesTest.assert_outputs):
(QueuesTest._default_begin_work_queue_stderr):
(QueuesTest):
(QueuesTest._default_begin_work_queue_logs):
(QueuesTest.assert_queue_outputs):

  • Scripts/webkitpy/tool/commands/roll_unittest.py:

(RollCommandsTest.test_update_chromium_deps):
(test_update_chromium_deps_older_revision):

  • Scripts/webkitpy/tool/commands/sheriffbot.py:

(SheriffBot.handle_unexpected_error):

  • Scripts/webkitpy/tool/commands/stepsequence.py:

(StepSequence.run_and_handle_errors):

  • Scripts/webkitpy/tool/commands/upload.py:

(AssignToCommitter._assign_bug_to_last_patch_attacher):
(AbstractPatchUploadingCommand._prepare_state):
(PostCommits.execute):
(MarkBugFixed._determine_bug_id_and_svn_revision):
(MarkBugFixed.execute):
(CreateBug.create_bug_from_commit):
(CreateBug.execute):

  • Scripts/webkitpy/tool/commands/upload_unittest.py:

(test_obsolete_attachments):
(test_land_safely):
(test_mark_bug_fixed):

  • Scripts/webkitpy/tool/multicommandtool.py:

(Command.check_arguments_and_execute):
(MultiCommandTool.main):

  • Scripts/webkitpy/tool/multicommandtool_unittest.py:

(CommandTest.test_required_arguments):

  • Scripts/webkitpy/tool/steps/addsvnmimetypeforpng.py:

(AddSvnMimetypeForPng.run):

  • Scripts/webkitpy/tool/steps/applypatch.py:

(ApplyPatch.run):

  • Scripts/webkitpy/tool/steps/build.py:

(Build.run):

  • Scripts/webkitpy/tool/steps/checkstyle.py:
  • Scripts/webkitpy/tool/steps/closebug.py:

(CloseBug.run):

  • Scripts/webkitpy/tool/steps/closebugforlanddiff.py:

(CloseBugForLandDiff.run):

  • Scripts/webkitpy/tool/steps/closebugforlanddiff_unittest.py:

(CloseBugForLandDiffTest.test_empty_state):

  • Scripts/webkitpy/tool/steps/commit.py:

(Commit.run):

  • Scripts/webkitpy/tool/steps/commit_unittest.py:

(CommitTest._test_check_test_expectations):

  • Scripts/webkitpy/tool/steps/ensurelocalcommitifneeded.py:

(EnsureLocalCommitIfNeeded.run):

  • Scripts/webkitpy/tool/steps/obsoletepatches.py:

(ObsoletePatches.run):

  • Scripts/webkitpy/tool/steps/preparechangelog.py:

(PrepareChangeLog.run):

  • Scripts/webkitpy/tool/steps/reopenbugafterrollout.py:

(ReopenBugAfterRollout.run):

  • Scripts/webkitpy/tool/steps/runtests.py:

(RunTests.run):

  • Scripts/webkitpy/tool/steps/runtests_unittest.py:

(RunTestsTest.test_webkit_run_unit_tests):

  • Scripts/webkitpy/tool/steps/steps_unittest.py:

(StepsTest.test_update_step):
(StepsTest.test_runtests_args):

  • Scripts/webkitpy/tool/steps/update.py:

(Update.run):

  • Scripts/webkitpy/tool/steps/updatechangelogswithreview_unittest.py:

(UpdateChangeLogsWithReviewerTest.test_guess_reviewer_from_bug):
(UpdateChangeLogsWithReviewerTest.test_guess_reviewer_from_multipatch_bug):

  • Scripts/webkitpy/tool/steps/updatechangelogswithreviewer.py:

(UpdateChangeLogsWithReviewer._guess_reviewer_from_bug):
(UpdateChangeLogsWithReviewer.run):

  • Scripts/webkitpy/tool/steps/updatechromiumdeps.py:

(UpdateChromiumDEPS._validate_revisions):
(UpdateChromiumDEPS.run):

  • Scripts/webkitpy/tool/steps/validatechangelogs.py:

(ValidateChangeLogs._check_changelog_diff):
(ValidateChangeLogs.run):

  • Scripts/webkitpy/tool/steps/validatechangelogs_unittest.py:

(ValidateChangeLogsTest._assert_start_line_produces_output):

  • Scripts/webkitpy/tool/steps/validatereviewer.py:

(ValidateReviewer.run):

11:27 AM Changeset in webkit [135743] by reed@google.com
  • 2 edits in trunk/Source/WebKit/chromium

add SK_DISABLE_DITHER_32BIT_GRADIENT define, in preparation for rebaselining
https://bugs.webkit.org/show_bug.cgi?id=103272

Reviewed by NOBODY. Unreviewed.

No behavior change, as this define already exists on the chrome side in SkUserConfig.h

  • skia_webkit.gyp:
11:12 AM Changeset in webkit [135742] by rafael.lobo@openbossa.org
  • 2 edits in trunk/Source/WebCore

[Cairo] Surface should not be destroyed before its usage
https://bugs.webkit.org/show_bug.cgi?id=103273

Reviewed by Brent Fulgham.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawRepaintCounter): There's some calls to get
the bits and stride from surface right after its destructions. It should
be postponed to avoid annoying bugs.

11:07 AM Changeset in webkit [135741] by jchaffraix@webkit.org
  • 3 edits
    4 adds in trunk

RenderBox::computePercentageLogicalHeight should use containingBlockLogicalWidthForContent
https://bugs.webkit.org/show_bug.cgi?id=103075

Reviewed by Ojan Vafai.

Source/WebCore:

Using the containing block's content logical block was working for most renderers but 2 renderers
were special and were broken in orthogonal writing modes:

  • captions as they override containingBlockLogicalWidthForContent to return the table's logical width.
  • multi-column renderers as they override availableLogicalWidth to constrain the child to the column logical width.

By switching to containingBlockLogicalWidthForContent, we got those 2 cases covered.

Tests: fast/multicol/fixed-column-percent-logical-height-orthogonal-writing-mode.html

fast/table/caption-orthogonal-writing-mode-sizing.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computePercentageLogicalHeight):
Updated the function to track which renderer's containing block we use and call
containingBlockLogicalWidthForContent on it.

LayoutTests:

  • fast/multicol/fixed-column-percent-logical-height-orthogonal-writing-mode-expected.txt: Added.
  • fast/multicol/fixed-column-percent-logical-height-orthogonal-writing-mode.html: Added.
  • fast/table/caption-orthogonal-writing-mode-sizing-expected.txt: Added.
  • fast/table/caption-orthogonal-writing-mode-sizing.html: Added.
10:58 AM Changeset in webkit [135740] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

Crash in Frame::dispatchVisibilityStateChangeEvent.
https://bugs.webkit.org/show_bug.cgi?id=102053

Reviewed by Adam Barth.

Source/WebCore:

Child frame can go away inside webkitvisibilitychange
event handler. Store it in a ref counted vector.

Test: fast/frames/page-visibility-crash.html

  • page/Frame.cpp:

(WebCore::Frame::dispatchVisibilityStateChangeEvent):

LayoutTests:

  • fast/frames/page-visibility-crash-expected.txt: Added.
  • fast/frames/page-visibility-crash.html: Added.
10:56 AM Changeset in webkit [135739] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

Coverage testing in webkitpy should omit some paths
https://bugs.webkit.org/show_bug.cgi?id=103267

Reviewed by Dirk Pranke.

Omit testing coverage of any file under /usr directory and any file
that is of third party origin and was autoinstalled.

  • Scripts/webkitpy/test/main.py:

(Tester._run_tests):

10:54 AM Changeset in webkit [135738] by yuqiang.xian@intel.com
  • 2 edits in trunk/Source/JavaScriptCore

Use load64 instead of loadPtr to load a JSValue on JSVALUE64 platforms
https://bugs.webkit.org/show_bug.cgi?id=100909

Reviewed by Brent Fulgham.

This is a (trivial) fix after r132701.

  • dfg/DFGOSRExitCompiler64.cpp:

(JSC::DFG::OSRExitCompiler::compileExit):

10:49 AM Changeset in webkit [135737] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Cairo] fillRectWithColor with Color::transparent doesn't perform anything
https://bugs.webkit.org/show_bug.cgi?id=101911

Patch by Hurnjoo Lee <hurnjoo.lee@samsung.com> on 2012-11-26
Reviewed by Kenneth Rohde Christiansen.

fillRectWithColor with Color::transparent doesn't perform anything
because fillRectWithColor does early-return if the alpha value of
color is zero. But we expect that fill the rect with transparent color
in case the cairo_operator is CAIRO_OPERATOR_SOURCE.

Covered by existing tests.

  • platform/graphics/cairo/GraphicsContextCairo.cpp:

(WebCore::fillRectWithColor):Add condition to prevent early-return if
cairo_operator is not CAIRO_OPERATOR_OVER

10:47 AM Changeset in webkit [135736] by rjkroege@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed, rolling out r135735.
http://trac.webkit.org/changeset/135735
https://bugs.webkit.org/show_bug.cgi?id=103270

Caused breakage across the Chromium tree. (Requested by
rjkroege_ on #webkit).

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

  • skia_webkit.gyp:
9:43 AM Changeset in webkit [135735] by reed@google.com
  • 2 edits in trunk/Source/WebKit/chromium

add SK_DISABLE_DITHER_32BIT_GRADIENT define, in preparation for rebaselining
https://bugs.webkit.org/show_bug.cgi?id=103269

Reviewed by NOBODY. Unreviewed.

No behavior change, as this define already exists on the chrome side in SkUserConfig.h

  • skia_webkit.gyp:
9:33 AM Changeset in webkit [135734] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove redundant assignment in TextureMapperLayer::flushCompositingStateSelf
https://bugs.webkit.org/show_bug.cgi?id=103233

Patch by Jae Hyun Park <jae.park@company100.net> on 2012-11-26
Reviewed by Noam Rosenthal.

This patch removes redundant assignment in TextureMapperLayer::flushCompositingStateSelf.

No new tests, because no change in bahavior.

  • platform/graphics/texmap/TextureMapperLayer.cpp:

(WebCore::TextureMapperLayer::flushCompositingStateSelf):

9:18 AM Changeset in webkit [135733] by commit-queue@webkit.org
  • 8 edits
    7 adds in trunk/Source/WebCore

OpenCL version of SourceAlpha, SourceGraphics and FETurbulence filter effects
https://bugs.webkit.org/show_bug.cgi?id=99829

Patch by Tamas Czene <tczene@inf.u-szeged.hu> on 2012-11-26
Reviewed by Zoltan Herczeg.

This patch contains the OpenCL implementation of SourceAlpha, SourceGraphic, FETurbulence and a simple OpenCL environment.
At the moment only the Qt build system is supported
~3x speed-up (depending on hardware configuration)

  • Target.pri:
  • WebCore.pri:
  • platform/graphics/filters/FETurbulence.h: Added platformApplyOpenCL() virtual function.

(FETurbulence):

  • platform/graphics/filters/FilterEffect.cpp: Added platform specific apply.

(WebCore::FilterEffect::apply):
(WebCore):
(WebCore::FilterEffect::platformApplyOpenCL): A function to use software computing if a filter is not implemented on OpenCL. It will be deleted after all of the filters are implemented.
(WebCore::FilterEffect::clearResult):
(WebCore::FilterEffect::asImageBuffer):
(WebCore::FilterEffect::openCLImageToImageBuffer): Gets the result of the filter from the OpenCL device and converts it to ImageBuffer type.
(WebCore::FilterEffect::createOpenCLImageResult): Allocates memory on OpenCL device and if it gets an image as a parameter, it uploads the image to the OpenCL device.
(WebCore::FilterEffect::transformResultColorSpace):

  • platform/graphics/filters/FilterEffect.h:

(FilterEffect):
(WebCore::FilterEffect::openCLImage):
(WebCore::FilterEffect::setOpenCLImage):
(WebCore::FilterEffect::hasResult):

  • platform/graphics/filters/SourceAlpha.h:

(SourceAlpha):

  • platform/graphics/filters/SourceGraphic.h:

(SourceGraphic):

  • platform/graphics/gpu/opencl/FilterContextOpenCL.cpp: Added.

(WebCore):
(WebCore::FilterContextOpenCL::context): Configures the OpenCL environment.
(WebCore::FilterContextOpenCL::createOpenCLImage): Allocates memory on OpenCL device.
(WebCore::FilterContextOpenCL::openCLTransformColorSpace): OpenCL implementation of transformColorSpace.
(WebCore::FilterContextOpenCL::compileProgram):

  • platform/graphics/gpu/opencl/FilterContextOpenCL.h: Added.

(WebCore):
(FilterContextOpenCL):
(WebCore::FilterContextOpenCL::deviceId):
(WebCore::FilterContextOpenCL::deviceContext):
(WebCore::FilterContextOpenCL::commandQueue):
(RunKernel):
(WebCore::FilterContextOpenCL::RunKernel::RunKernel):
(WebCore::FilterContextOpenCL::RunKernel::addArgument):
(WebCore::FilterContextOpenCL::RunKernel::run):
(WebCore::FilterContextOpenCL::kernelByName): Returns the reference of a function in the OpenCL program.

  • platform/graphics/gpu/opencl/OpenCLFESourceAlpha.cpp: Added.

(WebCore):
(WebCore::SourceAlpha::platformApplyOpenCL):

  • platform/graphics/gpu/opencl/OpenCLFESourceGraphic.cpp: Added.

(WebCore):
(WebCore::SourceGraphic::platformApplyOpenCL):

  • platform/graphics/gpu/opencl/OpenCLFETurbulence.cpp: Added.

(WebCore):
(WebCore::FilterContextOpenCL::compileFETurbulence):
(WebCore::FilterContextOpenCL::applyFETurbulence):
(WebCore::FETurbulence::platformApplyOpenCL):

  • platform/graphics/gpu/opencl/OpenCLHandle.h: Added.

(WebCore):
(OpenCLHandle):
(WebCore::OpenCLHandle::OpenCLHandle):
(WebCore::OpenCLHandle::operator cl_mem):
(WebCore::OpenCLHandle::operator=):
(WebCore::OpenCLHandle::operator UnspecifiedBoolType):
(WebCore::OpenCLHandle::handleAddress):
(WebCore::OpenCLHandle::clear):

8:50 AM Changeset in webkit [135732] by pfeldman@chromium.org
  • 2 edits in trunk/Source/WebCore

Not reviewed: follow up for r135720, fixing node highlight.

  • inspector/InspectorOverlayPage.html:
8:40 AM Changeset in webkit [135731] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL] Crashes in compositing layout tests with AC on.
https://bugs.webkit.org/show_bug.cgi?id=103144

Patch by Viatcheslav Ostapenko <v.ostapenko@samsung.com> on 2012-11-26
Reviewed by Noam Rosenthal.

Application could leave texture packing parameters in non-zero state before
texture mapper drawing/texture uploading. To avoid crash texture upload should
specify packing parameters before each texture upload if packing is supported.

Covered by existing tests.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::BitmapTextureGL::updateContentsNoSwizzle):

8:37 AM Changeset in webkit [135730] by commit-queue@webkit.org
  • 3 edits
    8 adds in trunk/LayoutTests

Import more CSS Device Adaptation layout tests
https://bugs.webkit.org/show_bug.cgi?id=95967

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-11-26
Reviewed by Kenneth Rohde Christiansen.

And these are the remaining test from the Opera's CSS
Device Adaptation test suite.

  • css3/device-adapt/opera/constrain-021-expected.txt: Added.
  • css3/device-adapt/opera/constrain-021.xhtml: Added.
  • css3/device-adapt/opera/constrain-022-expected.txt: Added.
  • css3/device-adapt/opera/constrain-022.xhtml: Added.
  • css3/device-adapt/opera/orientation-001-expected.txt: Added.
  • css3/device-adapt/opera/orientation-001.xhtml: Added.
  • css3/device-adapt/opera/orientation-002-expected.txt: Added.
  • css3/device-adapt/opera/orientation-002.xhtml: Added.
  • platform/efl-wk1/TestExpectations:
  • platform/efl-wk2/TestExpectations:
8:32 AM Changeset in webkit [135729] by staikos@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Remove a lot of unnecessary and incorrect code causing crashes
https://bugs.webkit.org/show_bug.cgi?id=103199

Reviewed by Yong Li.

This is the first big step to unforking this code. It's very close to
where it needs to be now, but the first step is to get rid of the
crashes by deleting code that isn't needed and makes bad assumptions
about object lifetime. Crashes were found by automation without
test case or reproduction steps.

  • loader/blackberry/CookieJarBlackBerry.cpp:

(WebCore::cookies): delete most code
(WebCore::setCookies): delete most code

8:22 AM Changeset in webkit [135728] by commit-queue@webkit.org
  • 3 edits
    8 adds in trunk

Viewport CSS rules should not clamp values like Viewport META
https://bugs.webkit.org/show_bug.cgi?id=103068

Patch by Thiago Marcos P. Santos <thiago.santos@intel.com> on 2012-11-26
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

CSS Device Adaption does not clamp the length and zoom values the
same way as the Viewport META. In fact, they are not clamped at all,
but instead, we just make sure that length values are at least 1px.

Tests: css3/device-adapt/opera/constrain-018.xhtml

css3/device-adapt/opera/constrain-019.xhtml
css3/device-adapt/opera/constrain-023.xhtml
css3/device-adapt/opera/constrain-024.xhtml

  • dom/ViewportArguments.cpp:

(WebCore::ViewportArguments::resolve):

LayoutTests:

Imported Opera tests that makes sure we are doing the clamping right.

  • css3/device-adapt/opera/constrain-018-expected.txt: Added.
  • css3/device-adapt/opera/constrain-018.xhtml: Added.
  • css3/device-adapt/opera/constrain-019-expected.txt: Added.
  • css3/device-adapt/opera/constrain-019.xhtml: Added.
  • css3/device-adapt/opera/constrain-023-expected.txt: Added.
  • css3/device-adapt/opera/constrain-023.xhtml: Added.
  • css3/device-adapt/opera/constrain-024-expected.txt: Added.
  • css3/device-adapt/opera/constrain-024.xhtml: Added.
8:12 AM Changeset in webkit [135727] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening: added TestExpecations failures for
media/remove-from-document.html
https://bugs.webkit.org/show_bug.cgi?id=103093

  • platform/chromium/TestExpectations:
8:02 AM Changeset in webkit [135726] by junov@google.com
  • 4 edits
    2 adds in trunk/LayoutTests

New baselines for test fast/backgrounds/background-opaque-images-over-color.html
https://bugs.webkit.org/show_bug.cgi?id=102557

Unreviewed

  • fast/backgrounds/background-opaque-images-over-color-expected.txt:
  • platform/chromium-mac/fast/backgrounds/background-opaque-images-over-color-expected.png: Added.
  • platform/chromium-win/fast/backgrounds/background-opaque-images-over-color-expected.png: Added.
  • platform/chromium/TestExpectations:
  • platform/mac/TestExpectations:
7:51 AM Changeset in webkit [135725] by junov@google.com
  • 2 edits
    3 adds in trunk/LayoutTests

New baselines for test fast/backgrounds/gradient-background-leakage-2.html
https://bugs.webkit.org/show_bug.cgi?id=103089

Unreviewed

  • platform/chromium-linux/fast/backgrounds/gradient-background-leakage-2-expected.png: Added.
  • platform/chromium-mac/fast/backgrounds/gradient-background-leakage-2-expected.png: Added.
  • platform/chromium-win/fast/backgrounds/gradient-background-leakage-2-expected.png: Added.
  • platform/chromium/TestExpectations:
7:47 AM Changeset in webkit [135724] by Patrick Gansterer
  • 2 edits in trunk/Source/WTF

Build fix for WinCE after r135640.

  • wtf/DataLog.cpp:
7:46 AM Changeset in webkit [135723] by mkwst@chromium.org
  • 3 edits
    3 adds in trunk

Web Inspector: URLs containing '' are improperly linked in console messages.
https://bugs.webkit.org/show_bug.cgi?id=103248

Reviewed by Yury Semikhatsky.

Source/WebCore:

This patch adds '' to WebInspector's regex of acceptable characters for
URLs that it knows how to display.

Test: http/tests/inspector/network/script-as-text-loading-with-caret.html

  • inspector/front-end/ResourceUtils.js:

(WebInspector.linkifyStringAsFragmentWithCustomLinkifier):

LayoutTests:

  • http/tests/inspector/network/script-as-text-loading-with-caret-expected.txt: Added.
  • http/tests/inspector/network/script-as-text-loading-with-caret.html: Added.
  • platform/chromium/http/tests/inspector/network/script-as-text-loading-with-caret-expected.txt:

JSC vs V8. :(

7:42 AM Changeset in webkit [135722] by rjkroege@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewd Gardening: updated TestExpecations for additional failures in
media/video-preload.html
https://bugs.webkit.org/show_bug.cgi?id=103093

  • platform/chromium/TestExpectations:
7:23 AM Changeset in webkit [135721] by yurys@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix Qt minimal compilation after r135713.

  • inspector/InspectorController.h: hid file content behind ENABLE(INSPECTOR)
7:17 AM Changeset in webkit [135720] by pfeldman@chromium.org
  • 15 edits
    1 delete in trunk

Web Inspector: object preview does not render node id, className; logs too many functions for jQuery.
https://bugs.webkit.org/show_bug.cgi?id=103222

Reviewed by Yury Semikhatsky.

Source/WebCore:

  • Added node class name and id into the preview
  • Now keeps track of properties separately from array indexes.
  • inspector/InjectedScriptSource.js:

(.):

  • inspector/InspectorOverlayPage.html:
  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
(WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreview):

LayoutTests:

  • inspector/console/command-line-api-expected.txt:
  • inspector/console/command-line-api-inspect-expected.txt:
  • inspector/console/console-dir-expected.txt:
  • inspector/console/console-format-collections-expected.txt:
  • inspector/console/console-format-expected.txt:
  • inspector/elements/event-listener-sidebar-expected.txt:
  • inspector/elements/event-listeners-about-blank-expected.txt:
  • platform/chromium-linux/inspector/console/console-format-collections-expected.txt: Removed.
  • platform/chromium/inspector/console/command-line-api-inspect-expected.txt:
  • platform/chromium/inspector/console/console-dir-expected.txt:
  • platform/chromium/inspector/console/console-format-collections-expected.txt:
7:03 AM Changeset in webkit [135719] by fmalita@chromium.org
  • 3 edits
    2 adds in trunk

RenderSVGResourceContainer does not clear cached data on removal
https://bugs.webkit.org/show_bug.cgi?id=102620

Reviewed by Dirk Schulze.

Source/WebCore:

RenderSVGResourceContainer::removeClient needs to also remove the client from specialized
caches, otherwise we can end up with stale references.

Test: svg/custom/stale-resource-data-crash.svg

  • rendering/svg/RenderSVGResourceContainer.cpp:

(WebCore::RenderSVGResourceContainer::removeClient):

LayoutTests:

  • svg/custom/stale-resource-data-crash-expected.txt: Added.
  • svg/custom/stale-resource-data-crash.svg: Added.
7:01 AM Changeset in webkit [135718] by commit-queue@webkit.org
  • 3 edits
    4 adds in trunk/Source/WebKit/chromium

[chromium] Make use_default_render_theme compile the right set of files
https://bugs.webkit.org/show_bug.cgi?id=102952

Patch by Scott Violet <sky@chromium.org> on 2012-11-26
Reviewed by Kent Tamura.

  • WebKit.gyp: Adds WebRenderTheme.* and updates rules as to when to compile them.
  • features.gypi: Removes use_default_render_theme default values as common.gypi sets them.
  • public/default: Added.
  • public/default/WebRenderTheme.h: Copy of linux/WebRenderTheme.h
  • src/default: Added.
  • src/default/WebRenderTheme.cpp: Copy of linux/WebRenderTheme.cpp
6:47 AM Changeset in webkit [135717] by Csaba Osztrogonác
  • 3 edits in trunk/Source/JavaScriptCore

[Qt][ARM] REGRESSION(r130826): It made 33 JSC test and 466 layout tests crash
https://bugs.webkit.org/show_bug.cgi?id=98857

Patch by Gabor Ballabas <gaborb@inf.u-szeged.hu> on 2012-11-26
Reviewed by Zoltan Herczeg.

Implement a new version of patchableBranch32 to fix crashing JSC
tests.

  • assembler/MacroAssembler.h:

(MacroAssembler):

  • assembler/MacroAssemblerARM.h:

(JSC::MacroAssemblerARM::patchableBranch32):
(MacroAssemblerARM):

6:46 AM Changeset in webkit [135716] by pfeldman@chromium.org
  • 15 edits
    1 copy in trunk

Not reviewed: rolling out r135714 and r135712 for breaking debug tests.

Source/WebCore:

  • inspector/InjectedScriptSource.js:

(.):

  • inspector/InspectorOverlayPage.html:
  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):

LayoutTests:

  • inspector/console/command-line-api-expected.txt:
  • inspector/console/command-line-api-inspect-expected.txt:
  • inspector/console/console-dir-expected.txt:
  • inspector/console/console-format-collections-expected.txt:
  • inspector/console/console-format-expected.txt:
  • inspector/elements/event-listener-sidebar-expected.txt:
  • inspector/elements/event-listeners-about-blank-expected.txt:
  • platform/chromium-linux/inspector/console/console-format-collections-expected.txt: Copied from LayoutTests/platform/chromium/inspector/console/console-format-collections-expected.txt.
  • platform/chromium/inspector/console/command-line-api-inspect-expected.txt:
  • platform/chromium/inspector/console/console-dir-expected.txt:
  • platform/chromium/inspector/console/console-format-collections-expected.txt:
6:36 AM Changeset in webkit [135715] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WebCore

[Qt][Win] buildfix after r135706.
https://bugs.webkit.org/show_bug.cgi?id=103249

The Windows implementation of GraphicsSurface cannot use
m_size anymore, as this member has been removed.
Further it needs to implement a platformSize() function.

Reviewed by Kenneth Rohde Christiansen.

  • platform/graphics/surfaces/win/GraphicsSurfaceWin.cpp:

(WebCore::GraphicsSurfacePrivate::size):
(WebCore::GraphicsSurface::platformPaintToTextureMapper):
(WebCore::GraphicsSurface::platformSize):
(WebCore):

6:10 AM Changeset in webkit [135714] by pfeldman@chromium.org
  • 2 edits in trunk/LayoutTests

Not reviewed: rolling out accidental TestExpectations change.

  • platform/chromium/TestExpectations:
6:06 AM Changeset in webkit [135713] by yurys@chromium.org
  • 7 edits in trunk/Source/WebCore

Web Inspector: unify agents handling in Page and Worker inspector controllers
https://bugs.webkit.org/show_bug.cgi?id=103238

Reviewed by Alexander Pavlov.

Introduced a class that represents a collection of inspector agents and allows
to call methods declared on InspectorAgentBaseInterface for all registered agents.
InspectorController and WorkerInspectorController switched to this class.

  • inspector/InspectorBaseAgent.cpp:

(WebCore::InspectorAgentRegistry::append):
(WebCore):
(WebCore::InspectorAgentRegistry::setFrontend):
(WebCore::InspectorAgentRegistry::clearFrontend):
(WebCore::InspectorAgentRegistry::restore):
(WebCore::InspectorAgentRegistry::registerInDispatcher):
(WebCore::InspectorAgentRegistry::discardAgents):

  • inspector/InspectorBaseAgent.h:

(InspectorAgentRegistry):
(WebCore):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::~InspectorController):
(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::disconnectFrontend):
(WebCore::InspectorController::reconnectFrontend):

  • inspector/InspectorController.h:

(InspectorController):

6:01 AM Changeset in webkit [135712] by pfeldman@chromium.org
  • 16 edits
    1 delete in trunk

Web Inspector: object preview does not render node id, className; logs too many functions for jQuery.
https://bugs.webkit.org/show_bug.cgi?id=103222

Reviewed by Yury Semikhatsky.

Source/WebCore:

  • Added node class name and id into the preview
  • Now keeps track of properties separately from array indexes.
  • inspector/InjectedScriptSource.js:

(.):

  • inspector/InspectorOverlayPage.html:
  • inspector/front-end/ConsoleMessage.js:

(WebInspector.ConsoleMessageImpl.prototype._appendObjectPreview):
(WebInspector.ConsoleMessageImpl.prototype._appendPropertyPreview):

LayoutTests:

  • inspector/console/command-line-api-expected.txt:
  • inspector/console/console-dir-expected.txt:
  • inspector/console/console-format-expected.txt:
  • inspector/elements/event-listener-sidebar-expected.txt:
  • inspector/elements/event-listeners-about-blank-expected.txt:
  • platform/chromium/inspector/console/console-dir-expected.txt:
5:55 AM Changeset in webkit [135711] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [WebGL] Save WebGL extensions and restore on replay
https://bugs.webkit.org/show_bug.cgi?id=103141

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-11-26
Reviewed by Yury Semikhatsky.

Save WebGL extensions that were enabled by the application, and restore it before the replay.
Drive-by: remove redundant if- checks in WebGL custom function wrappers (similar to 2D canvas).

  • inspector/InjectedScriptCanvasModuleSource.js:

(.):

5:54 AM Changeset in webkit [135710] by allan.jensen@digia.com
  • 3 edits in trunk/Source/WebCore

HitTestResult should not be a HitTestLocation
https://bugs.webkit.org/show_bug.cgi?id=101590

Reviewed by Sam Weinig.

Change HitTestResult from being a HitTestLocation to having a HitTestLocation.
A result of a test should not be a special case of the location of the test.

No change in functionality. No new tests.

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::HitTestResult):
(WebCore::HitTestResult::operator=):
(WebCore::HitTestResult::isSelected):
(WebCore::HitTestResult::spellingToolTip):
(WebCore::HitTestResult::replacedString):

  • rendering/HitTestResult.h:

(WebCore::HitTestResult::isRectBasedTest):
(WebCore::HitTestResult::pointInInnerNodeFrame):
(WebCore::HitTestResult::hitTestLocation):
(HitTestResult):

5:41 AM Changeset in webkit [135709] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Circular reference between Document and MediaQueryMatcher.
https://bugs.webkit.org/show_bug.cgi?id=103242

Patch by Marja Hölttä <marja@chromium.org> on 2012-11-26
Reviewed by Kenneth Rohde Christiansen.

It's not enough to clean up listeners in MediaQueryMatcher in ~Document,
since MediaQueryListListener keeps the Document alive. This caused
www.crbug.com/113983.

No new tests: No visible change in behavior (except that it doesn't leak memory).

  • dom/Document.cpp:

(WebCore::Document::~Document):
(WebCore::Document::detach):

5:37 AM Changeset in webkit [135708] by commit-queue@webkit.org
  • 6 edits in trunk

Web Inspector: HeapProfiler: remove snapshotView reference from data-grids.
https://bugs.webkit.org/show_bug.cgi?id=103240

Patch by Eugene Klyuchnikov <eustas@chromium.org> on 2012-11-26
Reviewed by Yury Semikhatsky.

Source/WebCore:

Cleanup: remove redundant dependency.

  • inspector/front-end/HeapSnapshotDataGrids.js: Do not store view ref.
  • inspector/front-end/HeapSnapshotGridNodes.js:

Removed unused assignments.

  • inspector/front-end/HeapSnapshotView.js:

Do not pass self to data-grids.

LayoutTests:

Directly access current view instead of getting if from the data grid.

  • inspector/profiler/heap-snapshot-test.js:

(initialize_HeapSnapshotTest):

4:40 AM Changeset in webkit [135707] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

[EFL] Gardening: update test expectations
https://bugs.webkit.org/show_bug.cgi?id=103119

Unreviewed gardening. timeline-timer-fired-from-eval-call-site-expected.html
is passing now, other changes are just marking tests as flaky based on
the flakiness dashboard.

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

  • platform/efl-wk1/TestExpectations:
  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
4:32 AM Changeset in webkit [135706] by zeno.albisser@digia.com
  • 6 edits in trunk/Source/WebCore

GraphicsSurface should only store its size in a single place.
https://bugs.webkit.org/show_bug.cgi?id=103143

Reviewed by Kenneth Rohde Christiansen.

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):

Cosmetics only.

  • platform/graphics/surfaces/GraphicsSurface.cpp:

(WebCore::GraphicsSurface::size):

Return the size as received from the platform abstraction.

(WebCore):
(WebCore::GraphicsSurface::GraphicsSurface):

  • platform/graphics/surfaces/GraphicsSurface.h:

(GraphicsSurface):

Remove data member m_size.

  • platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp:

(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):

Always take the size of the GraphicsSurface as an argument.

(WebCore::GraphicsSurfacePrivate::size):
(GraphicsSurfacePrivate):
(WebCore::GraphicsSurface::platformPaintToTextureMapper):

Retrieve the size from GraphicsSurfacePrivate where necessary.

(WebCore::GraphicsSurface::platformSize):
(WebCore):
(WebCore::GraphicsSurface::platformImport):

  • platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:

(WebCore::GraphicsSurfacePrivate::GraphicsSurfacePrivate):

Add a constructor that takes a window id as an argument
for the receiving side of the GraphcisSurface.
The GraphicsSurface can then determine its dimensions
from the provided XWindow.

(WebCore::GraphicsSurfacePrivate::createPixmap):
(WebCore::GraphicsSurfacePrivate::size):

Query the size of the GraphicsSurface backing from X.

(WebCore::GraphicsSurface::platformPaintToTextureMapper):

Retrieve the size from GraphicsSurfacePrivate where necessary.

(WebCore::GraphicsSurface::platformSize):
(WebCore):
(WebCore::GraphicsSurface::platformImport):

4:10 AM Changeset in webkit [135705] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[GStreamer] Floating reference handling fix
https://bugs.webkit.org/show_bug.cgi?id=101349

Patch by Thiago Santos <thiago.sousa.santos@collabora.com> on 2012-11-26
Reviewed by Philippe Normand.

GStreamer 0.10 and 1.0 differ when creating GstGhostPad from pad
templates, the 1.0 doesn't take ownership on the passed
GstPadTemplate, while 0.10 does. So this patch adds a
GStreamerVersioning function to handle this different approach
transparently in Webkit gstreamer elements.

Existing media tests cover this change.

  • platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:

(webkit_web_audio_src_init):

  • platform/graphics/gstreamer/GStreamerVersioning.cpp:

(webkitGstGhostPadFromStaticTemplate):

  • platform/graphics/gstreamer/GStreamerVersioning.h:
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webkit_web_src_init):

3:44 AM Changeset in webkit [135704] by keishi@webkit.org
  • 3 edits in trunk/LayoutTests

Layout Test platform/chromium/fast/forms/calendar-picker/week-picker-key-operations.html is failing
https://bugs.webkit.org/show_bug.cgi?id=103225

Unreviewed.

  • platform/chromium/TestExpectations:
  • platform/chromium/fast/forms/calendar-picker/week-picker-key-operations.html: Remove current month check because it was flaky.
3:20 AM Changeset in webkit [135703] by haraken@chromium.org
  • 10 edits in trunk/Source/WebCore

[V8] Remove WorkerContextExecutionProxy
https://bugs.webkit.org/show_bug.cgi?id=103210

Reviewed by Adam Barth.

This patch moves all methods in WorkerContextExecutionProxy
to WorkerScriptController.

Due to the dependency between WorkerContextExecutionProxy's methods,
it is a bit difficult to split this patch into pieces.
This patch simply moves methods without changing their logic.
Also this patch doesn't remove empty WorkerContextExecutionProxy.{h,cpp}
to keep the diff sane. I will address these issues in a follow-up patch.

Tests: fast/worker/*

  • bindings/v8/ScriptState.cpp:

(WebCore::scriptStateFromWorkerContext):

  • bindings/v8/V8Binding.cpp:

(WebCore::toV8Context):

  • bindings/v8/V8WorkerContextEventListener.cpp:

(WebCore::V8WorkerContextEventListener::handleEvent):

  • bindings/v8/WorkerContextExecutionProxy.cpp:
  • bindings/v8/WorkerContextExecutionProxy.h:
  • bindings/v8/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::WorkerScriptController):
(WebCore::WorkerScriptController::~WorkerScriptController):
(WebCore::WorkerScriptController::dispose):
(WebCore):
(WebCore::WorkerScriptController::initializeIfNeeded):
(WebCore::WorkerScriptController::evaluate):
(WebCore::WorkerScriptController::setEvalAllowed):
(WebCore::WorkerScriptController::disableEval):

  • bindings/v8/WorkerScriptController.h:

(WebCore):
(WebCore::WorkerContextExecutionState::WorkerContextExecutionState):
(WorkerContextExecutionState):
(WorkerScriptController):
(WebCore::WorkerScriptController::context):

  • bindings/v8/WorkerScriptDebugServer.cpp:

(WebCore::WorkerScriptDebugServer::addListener):

  • bindings/v8/custom/V8WorkerContextCustom.cpp:

(WebCore::SetTimeoutOrInterval):
(WebCore::toV8):

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

Text Autosizing: Add Text Autosizing APIs for WK2
https://bugs.webkit.org/show_bug.cgi?id=100633

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-11-26
Reviewed by Sam Weinig.

Source/WebKit2:

Implement basic Text Autosizing APIs for WK2.
Text Autosizing is a useful feature for mobile browsers. It adjusts the font size
of text in wide columns, and makes text more legible.
This patch adds setting APIs for Text Autosizing in WK2.

  • Shared/WebPreferencesStore.h:

(WebKit):

  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetTextAutosizingEnabled):
(WKPreferencesGetTextAutosizingEnabled):

  • UIProcess/API/C/WKPreferences.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

Tools:

Add test cases for Text Autosizing in WKPreferences.

  • TestWebKitAPI/Tests/WebKit2/WKPreferences.cpp:

(TestWebKitAPI::TEST):

3:06 AM Changeset in webkit [135701] by Simon Hausmann
  • 8 edits in trunk

[Qt] REGRESSION(r135575): It made all tests assert
https://bugs.webkit.org/show_bug.cgi?id=103169

Patch by Pierre Rossi <pierre.rossi@gmail.com> on 2012-11-26
Reviewed by Simon Hausmann.

This fixes another regression introduced in r135515:
initializeWebKitQt shouldn't implicitely call initializeWebCoreQt
since it can be called from WebKit2 to initialize QStyle for testing.
This would then lead to things such as PlatformStrategies being
initialized twice.

Source/WebKit/qt:

  • Api/qwebpage.cpp: Explicitely call initializeWebCoreQt().

(QWebPagePrivate::QWebPagePrivate):

  • WebCoreSupport/InitWebCoreQt.cpp:

(WebKit::initializeWebKitQt):
(WebCore::initializeWebCoreQt):

  • WebCoreSupport/InitWebCoreQt.h:

(WebCore):

Source/WebKit2:

  • qt/MainQt.cpp: No need to initialize anything if we're not using QStyle.

(WebKit):
(main):

Tools:

  • DumpRenderTree/qt/DumpRenderTreeQt.cpp: Also propagate the change to DRT this time.

(WebCore::DumpRenderTree::DumpRenderTree):

3:00 AM Changeset in webkit [135700] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WebKit/qt

[Qt] Make sure the QGLWidget context is current when creating the TextureMapper.
https://bugs.webkit.org/show_bug.cgi?id=103142

When creating the TextureMapperGL for WK1 we have to make sure
that the GL context provided by the QGLWidget is current.
Otherwise the GraphicsContext3DQt created by TextureMapperGL will pick up
the wrong pointer by calling QOpenGLContext::currentContext().

Reviewed by Simon Hausmann.

  • WebCoreSupport/PageClientQt.cpp:

(WebCore::PageClientQGraphicsWidget::setRootGraphicsLayer):

2:53 AM Changeset in webkit [135699] by Jonathan Dong
  • 4 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Should not autofill username and password when there're more than one password inputs on the same page
https://bugs.webkit.org/show_bug.cgi?id=103104

Reviewed by Rob Buis.

RIM PR: 245334
Added the oldPassword detection back into the password input
detection logic, which was removed for simplicity when imported
those pieces of codes from Chromium. And we won't do autofill
when there're more than one password field detected.

Internally reviewed by Rob Buis.

  • WebCoreSupport/CredentialTransformData.cpp:

(WebCore::CredentialTransformData::CredentialTransformData):
(WebCore::CredentialTransformData::findPasswordFormFields):

  • WebCoreSupport/CredentialTransformData.h:

(CredentialTransformData):

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::dispatchWillSendSubmitEvent):

2:46 AM Changeset in webkit [135698] by kkristof@inf.u-szeged.hu
  • 2 edits in trunk/LayoutTests

[Qt] Gardening after r135629. Skipped a newly added but failing test.
https://bugs.webkit.org/show_bug.cgi?id=103227

Patch by János Badics <János Badics> on 2012-11-26
Reviewed by Csaba Osztrogonác.

  • platform/qt/TestExpectations:
2:41 AM Changeset in webkit [135697] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

REGRESSION(134142): ASSERT(!m_size.isZero()) hits in CoordinatedBackingStore::paintToTextureMapper().
https://bugs.webkit.org/show_bug.cgi?id=103217

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

It is possible for CoordinatedBackingStore of directed composited image to not
have tiles, because CoordinatedImageBacking does not create tiles when the image
is invisible.

  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:

(WebKit::CoordinatedBackingStore::paintToTextureMapper):

2:35 AM Changeset in webkit [135696] by michael.bruning@digia.com
  • 2 edits in trunk/Source/WebKit/qt

[Qt] QStyleFacadeImp build break with latest Qt 5
https://bugs.webkit.org/show_bug.cgi?id=103198

Reviewed by Simon Hausmann.

Original patch by J-P Nurmi <jpnurmi@digia.com>.

Fixes QtWebKit build by replacing qobject_cast to
QMacStyle with calls to QObject::inherits. Also
replaces Q_WS_MAC preprocesser directives with Q_OS_MAC
for Qt 5 compatibility.

  • WebCoreSupport/QStyleFacadeImp.cpp:

(WebKit::QStyleFacadeImp::getButtonMetrics):
(WebKit::QStyleFacadeImp::paintComboBox):
(WebKit::QStyleFacadeImp::paintInnerSpinButton):
(WebKit::QStyleFacadeImp::paintScrollBar):

2:21 AM Changeset in webkit [135695] by morrita@google.com
  • 3 edits in trunk/Source/WebCore

[Refactoring] Some Node::isDescendant calls can be replaced with Node::contains()
https://bugs.webkit.org/show_bug.cgi?id=103211

Reviewed by Daniel Bates.

A couple of call sites of isDescendant() does same as Node::contains().
This change replaces these locations with Node::contains().

No new tests, no behavior change.

  • dom/Node.cpp:

(WebCore::checkAcceptChild):

  • dom/Range.cpp:

(WebCore::Range::surroundContents):

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

[Chromium] Enable input type datetime-local
https://bugs.webkit.org/show_bug.cgi?id=103213

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2012-11-26
Reviewed by Kent Tamura.

This patch enables <input type=datetime-local> for Chromium.

No new tests. Covered by existing tests.

  • bindings/generic/RuntimeEnabledFeatures.cpp:

(WebCore): Changed RuntimeEnabledFeatures::isInputTypeDateTimeLocalEnabled to true
if INPUT_TYPE_DATETIMELOCAL is enabled.

1:38 AM Changeset in webkit [135693] by morrita@google.com
  • 6 edits
    2 adds in trunk

[Shadow DOM] Implement Element::createShadowRoot()
https://bugs.webkit.org/show_bug.cgi?id=102911

Reviewed by Kentaro Hara.

Source/WebCore:

Added an API implementation and exposed it.

This is basically an alias of the ShadowRoot constructor, which
will be removed as bug 102913.

Test: fast/dom/shadow/shadow-aware-create-shdow-root.html

  • bindings/gobject/GNUmakefile.am:
  • dom/Element.cpp:

(WebCore::Element::createShadowRoot):
(WebCore):

  • dom/Element.h:

(Element):

  • dom/Element.idl:

LayoutTests:

The coverage might not seem comprehensive at a glance. However,
this is just an alias of ShadowRoot constructor and there are
bunch of test cases which cover it.

As bug 102913 will convert such callsites to use createShadowRoot(),
the API will get be covered well then.

  • fast/dom/shadow/shadow-aware-create-shdow-root-expected.txt: Added.
  • fast/dom/shadow/shadow-aware-create-shdow-root.html: Added. Further ShadowAware API will come here.
1:27 AM Changeset in webkit [135692] by apavlov@chromium.org
  • 2 edits in trunk/LayoutTests

[Chromium] Unreviewed, mark platform/chromium/fast/forms/calendar-picker/week-picker-key-operations.html as flaky (date-dependent).

  • platform/chromium/TestExpectations:
1:18 AM Changeset in webkit [135691] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

Adding timeout expectation for the new a11y test added in r135680.

  • platform/gtk/TestExpectations:
1:14 AM BuildingQtOnWindows edited by Simon Hausmann
(diff)
1:11 AM Changeset in webkit [135690] by jonlee@apple.com
  • 18 edits
    1 add in trunk/Source/WebCore

Extend EventDispatcher::dispatchSimulatedClick to allow sending a mouseover event
https://bugs.webkit.org/show_bug.cgi?id=102610
<rdar://problem/12725663>

Reviewed by Darin Adler.

Update the dispatchSimulatedClick() to take option enums for dispatching events.

  • dom/SimulatedClickOptions.h: Added. Define two options enums. One tracks which mouse

events to send. The other determines whether to force the element to repaint.

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchSimulatedClick): Refactor to use the option enums.

  • dom/EventDispatcher.h:

(EventDispatcher): Update function signature.

  • dom/Node.cpp: Refactor parameters to use the options enums rather than booleans.

(WebCore::Node::dispatchSimulatedClick):

  • dom/Node.h:

Refactor. Remove redundant comments.

  • html/BaseCheckableInputType.cpp:

(WebCore::BaseCheckableInputType::accessKeyAction):

  • html/BaseClickableWithKeyInputType.cpp:

(WebCore::BaseClickableWithKeyInputType::accessKeyAction):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::accessKeyAction):

  • html/HTMLButtonElement.cpp:

(WebCore::HTMLButtonElement::accessKeyAction):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::click):
(WebCore::HTMLElement::accessKeyAction):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::accessKeyAction):

  • html/RadioInputType.cpp:

(WebCore::RadioInputType::handleKeydownEvent):

  • html/RangeInputType.cpp:

(WebCore::RangeInputType::accessKeyAction):

Add SimulatedClickOptions.h.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
1:07 AM Changeset in webkit [135689] by shinyak@chromium.org
  • 3 edits in trunk/Source/WebCore

[Shadow] Attaching children of a shadow host takes O(N2) where N is the number of host children
https://bugs.webkit.org/show_bug.cgi?id=103017

Reviewed by Hajime Morita.

Since ContentDistribution was just a Vector, ContentDistribution::find() took O(N). Each child of shadow host calls it.
As a result, attaching children of shadow host takes O(N2) at all.

In this patch, we make ContentDistribution::find() O(1) amortizedly. We introduce HashMap from a Node to Vector index,
and use it for ContentDistribution::find().

No new tests, covered by existing tests.

  • html/shadow/ContentDistributor.cpp:

(WebCore::ContentDistribution::swap):
(WebCore):
(WebCore::ContentDistribution::append):
(WebCore::ContentDistribution::find):
(WebCore::ContentDistributor::distributeSelectionsTo):

  • html/shadow/ContentDistributor.h:

(ContentDistribution): ContentDistribution now contains Vector and a reverse map.
(WebCore::ContentDistribution::first):
(WebCore::ContentDistribution::last):
(WebCore::ContentDistribution::at):
(WebCore::ContentDistribution::size):
(WebCore::ContentDistribution::isEmpty):
(WebCore::ContentDistribution::clear):
(WebCore::ContentDistribution::contains):
(WebCore::ContentDistribution::nodes):

12:31 AM Changeset in webkit [135688] by commit-queue@webkit.org
  • 4 edits in trunk

[CMake] Allow user specified compiler flags to take precedence
https://bugs.webkit.org/show_bug.cgi?id=103101

Patch by Laszlo Gombos <Laszlo Gombos> on 2012-11-26
Reviewed by Brent Fulgham.

Make sure that compiler and linker flags specified by the build system
are always prepended to the variables that can be specified by the
environment and the user as well.

  • Source/cmake/OptionsCommon.cmake:
  • Source/cmake/OptionsWindows.cmake:
  • Source/cmake/WebKitHelpers.cmake:
12:10 AM Changeset in webkit [135687] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

[V8] Give isolated shells a lifecycle like that of main shells
https://bugs.webkit.org/show_bug.cgi?id=96522

Patch by Dan Carney <dcarney@google.com> on 2012-11-26
Reviewed by Adam Barth.

Refactored the isolated shells in ScriptController
to be cleaned up the same way the main shell is.

No new tests. No change in functionality.

  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::~ScriptController):
(WebCore::ScriptController::clearForOutOfMemory):
(WebCore::ScriptController::clearForClose):
(WebCore::ScriptController::clearWindowShell):

  • bindings/v8/ScriptController.h:

(ScriptController):

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::V8DOMWindowShell::destroyIsolatedShell):
(WebCore::V8DOMWindowShell::clearForClose):

  • bindings/v8/V8DOMWindowShell.h:

(V8DOMWindowShell):

Nov 25, 2012:

11:54 PM Changeset in webkit [135686] by ryuan.choi@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.
Unskip the fixed regressions from r135662

  • platform/efl-wk1/TestExpectations:
11:50 PM Changeset in webkit [135685] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Unreviewed, rolling out r135656.
http://trac.webkit.org/changeset/135656
https://bugs.webkit.org/show_bug.cgi?id=103218

Made a few SVG tests crash on all platforms (Requested by
apavlov on #webkit).

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

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForFamily):

  • css/CSSValuePool.cpp:

(WebCore::CSSValuePool::createFontFamilyValue):

11:45 PM Changeset in webkit [135684] by tasak@google.com
  • 3 edits
    2 adds in trunk

WebCore::RenderBlock::determineStartPosition crash
https://bugs.webkit.org/show_bug.cgi?id=98993

Reviewed by Brent Fulgham.

Source/WebCore:

If we move some node and the node has some text,
InlineFlowBox::removeChild() is invoked. The method invokes
RootInlineBox::childRemoved(). childRemoved() checks whether the
removed inlinebox has the renderer of its parent's line break object.
If so, use setLineBreakInfo to make the parent's line break info to
be 0. However in RenderBlock::determineStartPosition(), the code
assume that all line break info is solved, i.e.
prevRootBox->lineBreakObj()->isText(). Since lineBreakObj() returns 0
because of removeChild(), determineStartPosition crash occurs.

Test: fast/inline/inline-box-append-child-crash.html

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::determineStartPosition):
Checks whether lineBreakObj() is 0 or not before using lineBreakObj().

LayoutTests:

  • fast/inline/inline-box-append-child-crash-expected.txt: Added.
  • fast/inline/inline-box-append-child-crash.html: Added.
10:35 PM Changeset in webkit [135683] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: use native Element.prototype.normalize instead of custom defined Element.prototype.pruneEmptyTextNodes
https://bugs.webkit.org/show_bug.cgi?id=103205

Patch by Nikita Vasilyev <me@elv1s.ru> on 2012-11-25
Reviewed by Pavel Feldman.

  • inspector/front-end/DOMExtension.js:
  • inspector/front-end/TextPrompt.js:

(WebInspector.TextPrompt.prototype.clearAutoComplete):
(WebInspector.TextPrompt.prototype._completionsReady):
(WebInspector.TextPrompt.prototype.applySuggestion):

10:33 PM Changeset in webkit [135682] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: remove unused DOM methods
https://bugs.webkit.org/show_bug.cgi?id=103204

Patch by Nikita Vasilyev <me@elv1s.ru> on 2012-11-25
Reviewed by Pavel Feldman.

  • inspector/front-end/DOMExtension.js:
10:15 PM Changeset in webkit [135681] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Remove unused Array.convert method
https://bugs.webkit.org/show_bug.cgi?id=103202

Patch by Nikita Vasilyev <me@elv1s.ru> on 2012-11-25
Reviewed by Daniel Bates.

  • inspector/front-end/utilities.js:
10:07 PM Changeset in webkit [135680] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: file upload input cannot be activated with VoiceOver
https://bugs.webkit.org/show_bug.cgi?id=100343

Reviewed by Sam Weinig.

Source/WebCore:

Simulated events were not allowed to be processed in the file input type in the DOMActivate handler.
This was a problem for accessibility clients which rely on simulated events.

The solution is to mark the UserGestureIndicator as definitely processing an event.

Test: accessibility/file-upload-button-with-axpress.html

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::press):

LayoutTests:

  • accessibility/file-upload-button-with-axpress-expected.txt: Added.
  • accessibility/file-upload-button-with-axpress.html: Added.
9:58 PM Changeset in webkit [135679] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: dispatch an event upon heap snapshot filter change
https://bugs.webkit.org/show_bug.cgi?id=103201

Patch by Nikita Vasilyev <me@elv1s.ru> on 2012-11-25
Reviewed by Pavel Feldman.

Dispatch heapSnapshotFilterChanged event so it can be received by third parties.

  • inspector/front-end/HeapSnapshotView.js:

(WebInspector.HeapSnapshotView.prototype._changeFilter):

  • inspector/front-end/UserMetrics.js:
9:12 PM Changeset in webkit [135678] by Kaustubh Atrawalkar
  • 3 edits in trunk/Source/WebKit/gtk

Remove deprecated load-done signal
https://bugs.webkit.org/show_bug.cgi?id=72712

Reviewed by Brent Fulgham.

Remove deprecated load-done signal and migrate to load-status.

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit):
(WebKit::FrameLoaderClient::dispatchDidFinishLoad):

  • webkit/webkitwebframe.cpp:

(webkit_web_frame_class_init):

5:54 PM Changeset in webkit [135677] by tkent@chromium.org
  • 19 edits in trunk/LayoutTests

2012-11-25 Kent Tamura <tkent@chromium.org>

[Chromium] Fix svn:mime-type for images

  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added property svn:mime-type.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added property svn:mime-type.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added property svn:mime-type.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added property svn:mime-type.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added property svn:mime-type.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added property svn:mime-type.
  • platform/chromium-win-xp/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.png: Modified property svn:mime-type.
  • platform/chromium-win-xp/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.png: Modified property svn:mime-type.
  • platform/chromium-win-xp/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.png: Modified property svn:mime-type.
  • platform/chromium-win-xp/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.png: Modified property svn:mime-type.
  • platform/chromium-win-xp/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.png: Modified property svn:mime-type.
  • platform/chromium-win-xp/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.png: Modified property svn:mime-type.
  • platform/chromium-win-xp/fast/text/drawBidiText-expected.png: Modified property svn:mime-type.
  • platform/chromium-win-xp/fast/text/international/001-expected.png: Modified property svn:mime-type.
  • platform/chromium-win-xp/fast/text/international/002-expected.png: Modified property svn:mime-type.
  • platform/chromium-win-xp/fast/text/international/bidi-mirror-he-ar-expected.png: Modified property svn:mime-type.
  • platform/chromium-win-xp/fast/text/international/wrap-CJK-001-expected.png: Modified property svn:mime-type.
  • platform/chromium-win-xp/fast/text/justify-ideograph-leading-expansion-expected.png: Modified property svn:mime-type.
5:00 PM Changeset in webkit [135676] by commit-queue@webkit.org
  • 2 edits
    40 adds in trunk/LayoutTests

[Chromium] Add tests for datetime/datetime-local suggestion picker
https://bugs.webkit.org/show_bug.cgi?id=102888

Patch by Kunihiko Sakamoto <ksakamoto@chromium.org> on 2012-11-25
Reviewed by Kent Tamura.

Adding tests for <input type=datetime> and <input type=datetime-local> with datalist.

  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-key-operations-expected.txt: Added.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-key-operations-expected.txt: Added.
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-rtl.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance-with-scroll-bar.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-appearance.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-key-operations-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-key-operations.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-min-max-attribute-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-min-max-attribute.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-mouse-operations-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-mouse-operations.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-reset-value-after-reload-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-reset-value-after-reload.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-step-attribute-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetime-suggestion-picker-step-attribute.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-rtl.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance-with-scroll-bar.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-appearance.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-key-operations-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-key-operations.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-min-max-attribute-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-min-max-attribute.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-mouse-operations-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-mouse-operations.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-reset-value-after-reload-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-reset-value-after-reload.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-step-attribute-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/datetimelocal-suggestion-picker-step-attribute.html: Added.
4:38 PM Changeset in webkit [135675] by tkent@chromium.org
  • 9 edits in trunk/Source/WebCore

Refactoring: Move the content of HTMLInputElement::subtreeHasChanged to TextFieldInputType
https://bugs.webkit.org/show_bug.cgi?id=103195

Reviewed by Kentaro Hara.

HTMLInputElement::subtreeHasChanged is called only if the input is
a text field. The code should be moved to TextFieldInputType.

No new tests. This should not change any behavior.

  • html/HTMLInputElement.cpp:
  • Remove unnecessary NumberInputType.h inclusion.
  • Remove convertFromVisibleValue. It was used only by subtreeHasChanged.

(WebCore::HTMLInputElement::subtreeHasChanged):
Move the code to TextFieldInputType::subtreeHasChanged except
calculateAndAdjustDirectionality, which is a protected member of
HTMLElement.

  • html/HTMLInputElement.h:

(HTMLInputElement): Remove convertFromVisibleValue.

  • html/InputType.cpp:

Move convertFromVisibleValue to TextFieldInputType.
(WebCore::InputType::subtreeHasChanged):
Add ASSERT_NOT_REACHED.

  • html/InputType.h:

(InputType): Remove convertFromVisibleValue.

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::convertFromVisibleValue):
Moved from InputType.
(WebCore::TextFieldInputType::subtreeHasChanged):
Moved from HTMLInputElement. A latter part is moved to
didSetValueByUserEdit to be hooked by SearchInputType.
(WebCore::TextFieldInputType::didSetValueByUserEdit):
Moved from HTMLInputElement::subtreeHasChanged, and clean up the code.

  • html/TextFieldInputType.h:

(TextFieldInputType):

  • Move convertFromVisibleValue from InputType.
  • Add didSetValueByUserEdit and subtreeHasChanged.
  • html/SearchInputType.cpp:

(WebCore::SearchInputType::didSetValueByUserEdit):
Renamed from subtreeHasChanged, and calls TextFieldInputType::didSetValueByUserEdit.

  • html/SearchInputType.h:

(SearchInputType): Rename subtreeHasChanged to didSetValueByUserEdit.

4:21 PM Changeset in webkit [135674] by haraken@chromium.org
  • 5 edits in trunk/Source/WebCore

[V8] Move WorkerExecutionContextProxy::initializeIfNeeded() to V8Initializer
https://bugs.webkit.org/show_bug.cgi?id=103061

Reviewed by Adam Barth.

This is an incremental step to remove WorkerExecutionContextProxy.
This patch moves WorkerExecutionContextProxy::initializeIfNeeded() to V8Initializer.
This patch also renames methods so that the names become consistent
between the main thread and workers.

No tests. No change in behavior.

  • bindings/v8/V8Initializer.cpp:

(WebCore::reportFatalErrorInMainThread):
(WebCore::messageHandlerInMainThread):
(WebCore::failedAccessCheckCallbackInMainThread):
(WebCore::V8Initializer::initializeMainThreadIfNeeded):
(WebCore::reportFatalErrorInWorker):
(WebCore):
(WebCore::messageHandlerInWorker):
(WebCore::V8Initializer::initializeWorkerIfNeeded):

  • bindings/v8/V8Initializer.h:

(V8Initializer):

  • bindings/v8/WorkerContextExecutionProxy.cpp:

(WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):

  • bindings/v8/WorkerContextExecutionProxy.h:

(WorkerContextExecutionProxy):

11:19 AM Changeset in webkit [135673] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[EFL] Refactor RenderThemeEfl::ThemePartCacheEntry::reuse()
https://bugs.webkit.org/show_bug.cgi?id=103189

Patch by Christophe Dumez <Christophe Dumez> on 2012-11-25
Reviewed by Kenneth Rohde Christiansen.

Check if the entry size and type changed in
RenderThemeEfl::ThemePartCacheEntry::reuse() to avoid
useless processing if one of them did not change.

Remove useless call to cairo_surface_finish() since
we are using a smart pointer for the surface.

Resize the edge object *after* loading its content
from the theme file as it seems more logical this
way.

No new tests, no behavior change for layout tests.

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::ThemePartCacheEntry::reuse):

  • platform/efl/RenderThemeEfl.h:

(ThemePartCacheEntry):

11:06 AM Changeset in webkit [135672] by zhajiang@rim.com
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Get rid of resetBitmapZoomScale()
https://bugs.webkit.org/show_bug.cgi?id=103200

Patch by Jacky Jiang <zhajiang@rim.com>.
Reviewed by Rob Buis.
Internally reviewed by Gen Mak.

PR: 235707
Right now, resetBitmapZoomScale() takes an unused paramter and
dispatches a message to end the bitmap zooming. However, the
interaction has its own state machine to start bitmap zooming when it
is active and end bitmap zooming when it is inactive. This is
expecially for pinch zoom and scroll. From WebKit side, block zoom
which will call zoomBlock when the bitmap zoom finished doesn't even
need to dispatch the useless ending message to ZoomHandler.
resetBitmapZoomScale() is basically a noop for block zoom. And likewise
that is useless for zoomToInitialScaleOnLoad(). It can also potentially
cause problem if it is used somewhere else in the future and
incidentally breaks the interaction's own state machine. So just remove
this completely.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::zoomToInitialScaleOnLoad):
(BlackBerry::WebKit::WebPagePrivate::zoomBlock):

  • Api/WebPageClient.h:
10:51 AM Changeset in webkit [135671] by rniwa@webkit.org
  • 34 edits
    2 moves in trunk/Source/WebCore

Rename DynamicNodeList to LiveNodeList
https://bugs.webkit.org/show_bug.cgi?id=103197

Reviewed by Ojan Vafai.

Rename DynamicNodeList to LiveNodeList to match the terminology used in DOM4 working draft:
http://www.w3.org/TR/2012/WD-dom-20120405/#concept-collection-live
"A collection (either NodeList or HTMLCollection) can be either live or static".

Also rename DynamicNodeListCacheBase to LiveNodeListBase, and merge DynamicSubtreeNodeList
into LiveNodeList (old DynamicNodeList) now that the only difference between those two classes
is the former calling registerNodeListCache and unregisterNodeListCache on Document.

This patch completes the series of simplification of NodeList/HTMLCollection classes.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSHTMLOptionsCollectionCustom.cpp:

(WebCore::getNamedItems):

  • bindings/js/JSNodeListCustom.cpp:

(WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):

  • bindings/v8/custom/V8NodeListCustom.cpp:

(WebCore::V8NodeList::opaqueRootForGC):

  • dom/ChildNodeList.cpp:

(WebCore::ChildNodeList::ChildNodeList):
(WebCore::ChildNodeList::nodeMatches):

  • dom/ChildNodeList.h:
  • dom/ClassNodeList.cpp:

(WebCore::ClassNodeList::ClassNodeList):

  • dom/ClassNodeList.h:
  • dom/DOMAllInOne.cpp:
  • dom/Document.cpp:

(WebCore::Document::registerNodeListCache):
(WebCore::Document::unregisterNodeListCache):
(WebCore):

  • dom/Document.h:

(WebCore):
(Document):

  • dom/DynamicNodeList.cpp: Removed.
  • dom/DynamicNodeList.h: Removed.
  • dom/LiveNodeList.cpp: Copied from Source/WebCore/dom/DynamicNodeList.cpp.

(WebCore::LiveNodeListBase::rootNode):
(WebCore::LiveNodeListBase::invalidateCache):
(WebCore::LiveNodeListBase::invalidateIdNameCacheMaps):
(WebCore::LiveNodeListBase::reportMemoryUsage):
(WebCore::LiveNodeList::namedItem):

  • dom/LiveNodeList.h: Copied from Source/WebCore/dom/DynamicNodeList.h.

(WebCore::LiveNodeListBase::LiveNodeListBase):
(WebCore::LiveNodeListBase::shouldInvalidateTypeOnAttributeChange):
(WebCore::LiveNodeList::LiveNodeList):
(WebCore::LiveNodeList::~LiveNodeList):
(LiveNodeList):

  • dom/MicroDataItemList.cpp:

(WebCore::MicroDataItemList::MicroDataItemList):

  • dom/MicroDataItemList.h:
  • dom/NameNodeList.cpp:

(WebCore::NameNodeList::NameNodeList):

  • dom/NameNodeList.h:
  • dom/Node.cpp:

(WebCore::shouldInvalidateNodeListCachesForAttr):
(WebCore::Document::invalidateNodeListCaches):

  • dom/Node.h:

(WebCore):

  • dom/NodeList.h:

(WebCore::NodeList::isLiveNodeList):

  • dom/NodeRareData.h:

(NodeListsNodeData):
(WebCore::NodeListsNodeData::removeCacheWithAtomicName):
(WebCore::NodeListsNodeData::removeCacheWithName):
(WebCore::NodeListsNodeData::removeCacheWithQualifiedName):
(WebCore::NodeListsNodeData::adoptTreeScope):

  • dom/PropertyNodeList.cpp:

(WebCore::PropertyNodeList::PropertyNodeList):

  • dom/PropertyNodeList.h:
  • dom/TagNodeList.cpp:

(WebCore::TagNodeList::TagNodeList):

  • dom/TagNodeList.h:
  • html/HTMLCollection.cpp:

(WebCore::HTMLCollection::HTMLCollection):
(WebCore::LiveNodeListBase::iterateForNextNode):
(WebCore::LiveNodeListBase::itemBeforeOrAfter):
(WebCore::LiveNodeListBase::itemBefore):
(WebCore::LiveNodeListBase::itemAfter):
(WebCore::LiveNodeListBase::isLastItemCloserThanLastOrCachedItem):
(WebCore::LiveNodeListBase::isFirstItemCloserThanCachedItem):
(WebCore::LiveNodeListBase::setItemCache):
(WebCore::LiveNodeListBase::length):
(WebCore::LiveNodeListBase::item):
(WebCore::LiveNodeListBase::itemBeforeOrAfterCachedItem):

  • html/HTMLCollection.h:
  • html/LabelsNodeList.cpp:

(WebCore::LabelsNodeList::LabelsNodeList):

  • html/LabelsNodeList.h:
  • html/RadioNodeList.cpp:

(WebCore::RadioNodeList::RadioNodeList):

  • html/RadioNodeList.h:
10:35 AM Changeset in webkit [135670] by robert@webkit.org
  • 4 edits
    2 adds in trunk

Changing position:relative to position:static results in mis-positioned div
https://bugs.webkit.org/show_bug.cgi?id=26397

Reviewed by Ojan Vafai.

Source/WebCore:

When a block changes position from relative to static it is no longer the containing block for any
positioned objects it may have. If any of those positioned objects actually have a position specified
they are going to need a layout as their new containing block will likely have a different location they
need to offset from. Positioned objects without a specified position always get a layout anyway
in layoutPositionedObjects() so no need to worry about them in this situation.

Test: fast/block/abspos-child-container-changes-from-relative-to-static-expected.html

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::styleWillChange):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::removePositionedObjects):

  • rendering/RenderBlock.h:

(RenderBlock):

LayoutTests:

  • fast/block/abspos-child-container-changes-from-relative-to-static-expected.html: Added
  • fast/block/abspos-child-container-changes-from-relative-to-static.html: Added
10:30 AM Changeset in webkit [135669] by commit-queue@webkit.org
  • 4 edits
    4 adds in trunk

[WK2] TiledBackingStore: page contents is scaled wrongly
https://bugs.webkit.org/show_bug.cgi?id=103090

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

Source/WebKit2:

Before this change the page contents scaling in PageViewportController was
defined all the times by m_rawAttributes.initialScale. If initial scale had not
been specified in the viewport meta tag it was set to m_minimumScaleToFit inside
PageViewportController::didChangeViewportAttributes().

The problem was that m_minimumScaleToFit could have wrong value as contents size
might have not be updated by the time PageViewportController::didChangeViewportAttributes()
was invoked.

The solution is to use m_minimumScaleToFit for contents scaling if initial scale
is not specified in the viewport meta tag, as it is updated all the time.
Also a flag m_initiallyFitToViewport is added to PageViewportController to detect
whether m_minimumScaleToFit should be used for scaling.

  • UIProcess/PageViewportController.cpp:

(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::didChangeContentsSize):
(WebKit::PageViewportController::pageTransitionViewportReady):
(WebKit::PageViewportController::didChangeViewportAttributes):

  • UIProcess/PageViewportController.h:

(PageViewportController):

LayoutTests:

Added new layout test to verify that viewport 'width' descriptor does not
affect contents width of next loaded page.

  • css3/device-adapt/resources/check-contents-width.html: Added.
  • css3/device-adapt/viewport-width-not-affecting-next-page-expected.txt: Added.
  • css3/device-adapt/viewport-width-not-affecting-next-page.html: Added.
8:53 AM Changeset in webkit [135668] by Antti Koivisto
  • 13 edits in trunk/Source/WebCore

Make renderer construction less generic
https://bugs.webkit.org/show_bug.cgi?id=103175

Reviewed by Ojan Vafai.

The renderer construction code currently operates on Nodes and is very generic. In reality
only Element and Text nodes can have renderers and the Text case is much simpler.

This patch separates the Text and Element renderer construction paths and makes it statically
known that other Node types can't have renderers. Less generic code is less branchy and enables
further optimizations.

  • dom/CharacterData.cpp:

(WebCore::CharacterData::parserAppendData):
(WebCore::CharacterData::setDataAndUpdate):
(WebCore):
(WebCore::CharacterData::rendererIsNeeded):
(WebCore::CharacterData::createRenderer):

Only Text subclass of CharacterData can have renderers.

  • dom/CharacterData.h:

(CharacterData):

  • dom/ContainerNode.h:

(WebCore::ContainerNode::childShouldCreateRenderer):

Move childShouldCreateRenderer from Node to ContainerNode.

(ContainerNode):

  • dom/Element.cpp:

(WebCore::Element::rendererIsNeeded):
(WebCore):
(WebCore::Element::attach):
(WebCore::Element::childShouldCreateRenderer):

  • dom/Element.h:


Move rendererIsNeeded and createRenderer from Node to Element.

(Element):

  • dom/Node.cpp:

(WebCore::Node::attach):
(WebCore):

  • dom/Node.h:

(Node):

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::createRendererForElementIfNeeded):
(WebCore::NodeRenderingContext::createRendererForTextIfNeeded):

Separate the Element and Text renderer creation paths. Both are less branchy.
The Text path is much simpler and avoids a bunch of virtual calls.

(WebCore):

  • dom/NodeRenderingContext.h:

(NodeRenderingContext):

  • dom/Text.cpp:

(WebCore::Text::textRendererIsNeeded):
(WebCore::Text::createTextRendererIfNeeded):
(WebCore):
(WebCore::Text::createTextRenderer):
(WebCore::Text::attach):
(WebCore::Text::updateTextRenderer):

  • dom/Text.h:


Add non-virtual Text specific functions.

(WebCore):
(Text):

  • rendering/RenderBlock.cpp:

(WebCore::RenderBlock::clone):

12:01 AM Changeset in webkit [135667] by rniwa@webkit.org
  • 15 edits in trunk/Source/WebCore

REGRESSION(r135493): HTMLCollection and DynamicNodeList have two vtable pointers
https://bugs.webkit.org/show_bug.cgi?id=103096

Reviewed by Sam Weinig.

Co-authored by Ilya Tikhonovsky.

Made DynamicNodeListCacheBase inherit from NodeList. While HTMLCollection doesn't inherit
from NodeList in IDL, it makes a lot of sense for the C++ implementation to do so via
DynamicNodeListCacheBase since HTMLCollection and live NodeList share a lot of code in
DynamicNodeListCacheBase.

This lets remove proxies for item() and length() in DynamicNodeList and HTMLCollection
and directly implement them in DynamicNodeListCacheBase which used to provide itemCommon()
and lengthCommon().

Also renamed NodeList::itemWithName() to NodeList::namedItem() to match HTMLCollection's
naming convention.

Finally, removed reportMemoryUsage in DynamicNodeList::reportMemoryUsage since DynamicNodeList
now uses single inheritance.

  • bindings/js/JSNodeListCustom.cpp:

(WebCore::JSNodeList::canGetItemsForName): Calls namedItem, which has been renamed from
itemWithName.
(WebCore::JSNodeList::nameGetter): Ditto.

  • bindings/v8/custom/V8NodeListCustom.cpp:

(WebCore::V8NodeList::namedPropertyGetter): Ditto.

  • bindings/v8/custom/V8NamedNodesCollection.cpp:

(WebCore::V8NamedNodesCollection::namedItem): Renamed from itemWithName.

  • bindings/v8/custom/V8NamedNodesCollection.h:
  • dom/ChildNodeList.cpp:

(WebCore::ChildNodeList::nodeMatches): Updated comment.

  • dom/DynamicNodeList.cpp:

(WebCore::DynamicNodeList::namedItem): Renamed from itemWithName.

  • dom/DynamicNodeList.h:

(DynamicNodeListCacheBase): Inhertis from NodeList and renamed lengthCommon and itemCommon
to virtual length and item respectively.
(DynamicNodeList): Now inherits from just DynamicNodeListCacheBase instead of NodeList
and DynamicNodeListCacheBase since the former now inhertis from NodeList. Also removed
length() and item() since they're implemented in DynamicNodeListCacheBase now and renamed
itemWithName() to namedItem() to match HTMLCollection's naming convention.

  • dom/NodeList.h:

(NodeList::namedItem): Renamed from itemWithName. Note that this member function is not
exposed via IDL. It's merely used in the binding code.

  • dom/StaticHashSetNodeList.cpp:

(WebCore::StaticHashSetNodeList::namedItem): Ditto.

  • dom/StaticHashSetNodeList.h:

(StaticHashSetNodeList::namedItem): Ditto.

  • dom/StaticNodeList.cpp:

(WebCore::StaticNodeList::namedItem): Ditto.

  • dom/StaticNodeList.h:

(StaticNodeList::namedItem): Ditto.

  • html/HTMLCollection.cpp:

(WebCore::DynamicNodeListCacheBase::length): Renamed from lengthCommon.
(WebCore::DynamicNodeListCacheBase::item): Renamed from itemCommon.

  • html/HTMLCollection.h:

(HTMLCollection): Inherits from DynamicNodeListCacheBase since DynamicNodeListCacheBase
is already RefCount'ed and NodeList, from which DynamicNodeListCacheBase inherits,
inherits from ScriptWrappable.

Note: See TracTimeline for information about the timeline view.