Timeline



Nov 19, 2012:

11:56 PM Changeset in webkit [135259] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

[Qt][Win] Unreviewed speculative buildfix after r135217.

  • platform/win/WindowsExtras.h:
11:49 PM Changeset in webkit [135258] by yurys@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix Chromium Win compilation after r135255.
https://bugs.webkit.org/show_bug.cgi?id=97803

  • WebCore.gypi: removed reference to platform/wince/DragDataWince.cpp which

was deleted in the aforementioned change.

11:39 PM Changeset in webkit [135257] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Merge getCachedWrapper(Node*) into DOMDataStore
https://bugs.webkit.org/show_bug.cgi?id=102158

Reviewed by Adam Barth.

A follow-up patch for r135230. This patch adds a correct ASSERTION.

No tests. No change in behavior.

  • bindings/v8/DOMDataStore.h:

(WebCore::DOMDataStore::getNode):

11:38 PM Changeset in webkit [135256] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[JSC] Replace $implClassName with $interfaceName in CodeGeneratorJS.pm
https://bugs.webkit.org/show_bug.cgi?id=102757

Reviewed by Adam Barth.

In CodeGeneratorJS.pm $implClassName and $interfaceName are
equivalent. We're using them interchangeably. We should replace
$implClassName with $interfaceName.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorJS.pm:

(AddClassForwardIfNeeded):
(GenerateGetOwnPropertySlotBody):
(GenerateGetOwnPropertyDescriptorBody):
(GenerateHeader):
(GenerateOverloadedFunction):
(GenerateImplementation):
(GenerateParametersCheck):
(GenerateImplementationFunctionCall):
(NativeToJSValue):

11:13 PM Changeset in webkit [135255] by Patrick Gansterer
  • 3 edits
    1 delete in trunk/Source/WebCore

Port DragDataWin.cpp to WinCE
https://bugs.webkit.org/show_bug.cgi?id=97803

Reviewed by Brent Fulgham.

Add two simple #if OS(WINCE) to DragDataWin.cpp, so it can be used by the WinCE port too.

  • PlatformWinCE.cmake:
  • platform/win/DragDataWin.cpp:

(WebCore::DragData::containsFiles):
(WebCore::DragData::numberOfFiles):
(WebCore::DragData::asFilenames):

  • platform/wince/DragDataWinCE.cpp: Removed.
10:51 PM Changeset in webkit [135254] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[Web Inspector] This patch makes script line number search-able in Timeline panel.
https://bugs.webkit.org/show_bug.cgi?id=101910.

Patch by Pan Deng <pan.deng@intel.com> on 2012-11-19
Reviewed by Pavel Feldman.

Script line number is visible in Timeline panel, however, not search-able. This patch makes it search-able.

No new tests.

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelineRecordListRow.prototype.update):
(WebInspector.TimelineRecordListRow.testContentMatching):

  • inspector/front-end/TimelinePresentationModel.js:

(WebInspector.TimelinePresentationModel.Record.prototype._generatePopupContentWithImagePreview):
(WebInspector.TimelinePresentationModel.Record.prototype._refreshDetails):
(WebInspector.TimelinePresentationModel.Record.prototype.detailsNode):
(WebInspector.TimelinePresentationModel.Record.prototype._createSpanWithText):
(WebInspector.TimelinePresentationModel.Record.prototype._getRecordDetails):

10:33 PM Changeset in webkit [135253] by yurys@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Fix Chromium Win compilation after r135196.
https://bugs.webkit.org/show_bug.cgi?id=102021

  • tests/DeferredImageDecoderTest.cpp: changed char to unsigned char in the array

declaration to avoid 'warning C4309' on MSVS when initializing from hex literals.
(WebCore):

10:28 PM Changeset in webkit [135252] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove unneeded null check in NodeRendererFactory::createRendererIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=102765

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-19
Reviewed by Ojan Vafai.

If parentRenderer() was null then we return early from
createRendererIfNeeded() because shouldCreateRenderer() will return false
so there's no reason to check for it again.

Additionally if either parentRenderer() or style() is null then
implementations of rendererIsNeeded() will crash, so add asserts to
make this assumption more clear.

No new tests, just simplification.

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRendererFactory::createRendererIfNeeded):

10:09 PM Changeset in webkit [135251] by shinyak@chromium.org
  • 7 edits in trunk/Source/WebCore

[Refactoring] Remove WebCore::isInsertionPoint(Node*)
https://bugs.webkit.org/show_bug.cgi?id=102756

Reviewed by Hajime Morita.

Now that WebCore::isInsertionPoint(Node* node) does nothing special. We can remove this.

No new tests, simple refactoring.

  • dom/ComposedShadowTreeWalker.cpp:

(WebCore::ComposedShadowTreeWalker::traverseNodeEscapingFallbackContents):

  • dom/ContainerNode.cpp:

(WebCore::childAttachedAllowedWhenAttachingChildren):

  • html/shadow/ContentDistributor.cpp:

(WebCore::ContentDistributor::invalidate):

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::isActive):

  • html/shadow/InsertionPoint.h:

(WebCore::toInsertionPoint):
(WebCore::isActiveInsertionPoint):
(WebCore::isLowerEncapsulationBoundary):
(WebCore::parentNodeForDistribution):

  • testing/Internals.cpp:

(WebCore::Internals::isValidContentSelect):

10:08 PM Changeset in webkit [135250] by apavlov@chromium.org
  • 1 edit in branches/chromium/1312/Source/WebCore/inspector/InspectorPageAgent.cpp

Merge 134917 - Web Inspector: [Overrides] Device metrics get reset on navigation, yet remain in the Overrides view
https://bugs.webkit.org/show_bug.cgi?id=102467

Reviewed by Pavel Feldman.

Restore the device metrics overrides from the inspector cookie in InspectorPageAgent::restore().
Drive-by: move the script execution and FPS counter display state restoration from enable() into restore(),
so that they will get restored only upon page navigation, not upon any agent enablement.

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::restore): Restore device metrics overrides, script execution and FPS counter display state.
(WebCore::InspectorPageAgent::enable): Don't restore script execution and FPS counter display state on any enablement.

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

9:49 PM Changeset in webkit [135249] by shinyak@chromium.org
  • 6 edits in trunk

[Refactoring] Remove shadowPseudoId() and use setPseudo() in <progress> ElementShadow.
https://bugs.webkit.org/show_bug.cgi?id=101703

Reviewed by Hajime Morita.

Source/WebCore:

We're migrating shadowPseudoId() to pseudo(). We remove shadowPseudoId() from HTMLKeygenElement and use
setPseudo()/pseudo() instead.

No new tests, simple refactoring.

  • html/shadow/ProgressShadowElement.cpp:

(WebCore::ProgressInnerElement::ProgressInnerElement):

  • html/shadow/ProgressShadowElement.h:

(ProgressInnerElement):
(WebCore::ProgressBarElement::ProgressBarElement):
(ProgressBarElement):
(WebCore::ProgressValueElement::ProgressValueElement):

LayoutTests:

  • editing/style/apply-style-atomic-expected.txt:
  • fast/dom/HTMLProgressElement/progress-element-markup-expected.txt:
9:38 PM Changeset in webkit [135248] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[WK2] Unused parameters on CoordinatedGraphicsLayer.cpp
https://bugs.webkit.org/show_bug.cgi?id=102760

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-11-19
Reviewed by Laszlo Gombos.

Because the 'platformLayer' parameter is not used when !USE(GRAPHICS_SURFACE),
use UNUSED_PARAM macro to fix build warning -Wunused-parameter

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):

9:37 PM Changeset in webkit [135247] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove support for ARMv7 errata from the jump code
https://bugs.webkit.org/show_bug.cgi?id=102759

Reviewed by Oliver Hunt.

The jump replacement code was wrong to begin with since it wasn't doing
a cache flush on the inserted padding. And, to my knowledge, we don't need
this anymore, so this patch removes all errata code from the ARMv7 port.

  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::computeJumpType):
(JSC::ARMv7Assembler::replaceWithJump):
(JSC::ARMv7Assembler::maxJumpReplacementSize):
(JSC::ARMv7Assembler::canBeJumpT3):
(JSC::ARMv7Assembler::canBeJumpT4):

9:34 PM Changeset in webkit [135246] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Add fallback for WebkitTestRunner if opengl is not available.
https://bugs.webkit.org/show_bug.cgi?id=102704

Patch by Viatcheslav Ostapenko <v.ostapenko@samsung.com> on 2012-11-19
Reviewed by Laszlo Gombos.

Add fallback to non-opengl evas engine in WebkitTestRunner if opengl is not available.

  • WebKitTestRunner/efl/PlatformWebViewEfl.cpp:

(WTR::initEcoreEvas):

9:24 PM Changeset in webkit [135245] by yurys@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Reenable webaudio/biquad-getFrequencyResponse.html test as it should pass after r129418
https://bugs.webkit.org/show_bug.cgi?id=97439

  • platform/chromium/TestExpectations:
9:00 PM Changeset in webkit [135244] by yurys@chromium.org
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix Chromium Debug compilation after r135230.
https://bugs.webkit.org/show_bug.cgi?id=102158

Removed ASSERT that used instance field in a static method.

  • bindings/v8/DOMDataStore.h:

(WebCore::DOMDataStore::getWrapperFromObject):

8:55 PM Changeset in webkit [135243] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

[Blackberry] When a frame is being detached, cancel all its network jobs.
https://bugs.webkit.org/show_bug.cgi?id=102758

Patch by Chris Guan <chris.guan@torchmobile.com.cn> on 2012-11-19
Reviewed by George Staikos.

I use FrameDestructionObserver to refactor Networkjob code.
NetworkJob is inheriting from FrameDestructionObserver to be
aware of frame's destroyed. When a frame is being detached,
the willDetachPage() can be called in which we can cancel
the job. This patch reverted the fix for RIM PR134207 as well.

Manually test is on
"http://www.reuters.com/article/2012/01/27/us-greece-idUSTRE80P0DE20120127"
which triggers a ping loader.

No behavior changed, no new layout tests.

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::NetworkJob):
(WebCore::NetworkJob::initialize):
(WebCore::NetworkJob::handleNotifyHeaderReceived):
(WebCore::NetworkJob::startNewJobWithRequest):
(WebCore::NetworkJob::frameDestroyed):
(WebCore):
(WebCore::NetworkJob::willDetachPage):

  • platform/network/blackberry/NetworkJob.h:

(NetworkJob):

  • platform/network/blackberry/NetworkManager.cpp:

(WebCore::NetworkManager::startJob):

  • platform/network/blackberry/NetworkManager.h:

(NetworkManager):

  • platform/network/blackberry/ResourceHandleBlackBerry.cpp:

(WebCore::ResourceHandle::start):
(WebCore::ResourceHandle::loadResourceSynchronously):

8:45 PM Changeset in webkit [135242] by commit-queue@webkit.org
  • 15 edits
    10 adds in trunk

Implement the new stacking layer needed by the Fullscreen API and the new <dialog> element
https://bugs.webkit.org/show_bug.cgi?id=84796

Patch by Matt Falkenhagen <falken@chromium.org> on 2012-11-19
Reviewed by Julien Chaffraix.

Source/WebCore:

This adds the top layer element stack to Document. The Fullscreen
specification mandates that we track the ordering of the DOM nodes in
the top layer, not the renderers. That makes it hard to implement on
the rendering side only.

Elements in the top layer get a layer. Layers in the top layer are
added to the root layer's child list after normal layers and in the
order of the top layer stack. This way, the top layer appears above
all other stacking contexts and in the desired order.

In addition, top layer renderers are added as children of RenderView
in top layer order. This is to satisfy requirements such as the
containing block of an element in the top layer is the initial
containing block. It also allows RenderLayer to know the proper
stacking order of the layers without going directly from the top layer
elements to their layers.

So far, only modal dialog elements can be added to the top layer.
The plan is to make the Fullscreen API also use the top layer.

Tests: fast/dom/HTMLDialogElement/top-layer-containing-block.html

fast/dom/HTMLDialogElement/top-layer-display-none.html
fast/dom/HTMLDialogElement/top-layer-nesting.html
fast/dom/HTMLDialogElement/top-layer-stacking-dynamic.html
fast/dom/HTMLDialogElement/top-layer-stacking.html

  • WebCore.exp.in:
  • css/StyleResolver.cpp:

(WebCore::StyleResolver::adjustRenderStyle): Elements in the top layer have a stacking context.

  • dom/Document.cpp:

(WebCore):
(WebCore::Document::addToTopLayer):
(WebCore::Document::removeFromTopLayer):

  • dom/Document.h:

(Document):
(WebCore::Document::topLayerElements): Add the top layer element stack to Document.

  • dom/Element.cpp:

(WebCore::Element::removedFrom):
(WebCore):
(WebCore::Element::isInTopLayer):
(WebCore::Element::setIsInTopLayer):

  • dom/Element.h:
  • dom/ElementRareData.h:

(ElementRareData):

  • dom/Node.cpp:

(WebCore::Node::detach): Add an exception to the assert since top layer elements and their descendants are moved from their
regular position in the render tree.

  • dom/NodeRareData.h:

(WebCore::NodeRareData::NodeRareData):
(NodeRareData):
(WebCore::NodeRareData::isInTopLayer):
(WebCore::NodeRareData::setIsInTopLayer):

  • dom/NodeRenderingContext.cpp:

(WebCore):
(WebCore::adjustInsertionPointForTopLayerElement):
(WebCore::NodeRendererFactory::createRendererIfNeeded): Add renderers for top layer elements as children of RenderView, and
in top layer stacking order.

  • html/HTMLDialogElement.cpp:

(WebCore::HTMLDialogElement::close):
(WebCore::HTMLDialogElement::showModal):

  • rendering/RenderLayer.cpp:

(WebCore):
(WebCore::RenderLayer::isInTopLayer):
(WebCore::RenderLayer::isInTopLayerSubtree):
(WebCore::RenderLayer::rebuildZOrderLists): Add the top layer stack after normal layer collection.
(WebCore::RenderLayer::collectLayers): Avoid adding layers for top layer elements during normal layer collection.

  • rendering/RenderLayer.h:

(RenderLayer):

LayoutTests:

Add tests for top layer stacking and rendering.

  • fast/dom/HTMLDialogElement/top-layer-containing-block-expected.html: Added.
  • fast/dom/HTMLDialogElement/top-layer-containing-block.html: Added.
  • fast/dom/HTMLDialogElement/top-layer-display-none-expected.html: Added.
  • fast/dom/HTMLDialogElement/top-layer-display-none.html: Added.
  • fast/dom/HTMLDialogElement/top-layer-nesting-expected.html: Added.
  • fast/dom/HTMLDialogElement/top-layer-nesting.html: Added.
  • fast/dom/HTMLDialogElement/top-layer-stacking-dynamic-expected.html: Added.
  • fast/dom/HTMLDialogElement/top-layer-stacking-dynamic.html: Added.
  • fast/dom/HTMLDialogElement/top-layer-stacking-expected.html: Added.
  • fast/dom/HTMLDialogElement/top-layer-stacking.html: Added.
8:37 PM Changeset in webkit [135241] by yurys@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Fix lint errors on chromium TextExpectations after r135205.

  • platform/chromium/TestExpectations:
8:29 PM Changeset in webkit [135240] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

In CodeGeneratorObj.pm we should rename $dataNode to $interface.
https://bugs.webkit.org/show_bug.cgi?id=102749

Reviewed by Adam Barth.

$dataNode is misnamed. It should be renamed to $interface.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateInterface):
(GetParentImplClassName):
(GetParentAndProtocols):
(GenerateHeader):
(GenerateImplementation):

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

In CodeGeneratorV8.pm, we should rename $dataNode to $interface
https://bugs.webkit.org/show_bug.cgi?id=102747

Reviewed by Adam Barth.

$dataNode is misnamed. It should be $interface.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateInterface):
(NeedsCustomOpaqueRootForGC):
(GetGenerateIsReachable):
(GetCustomIsReachable):
(GenerateOpaqueRootForGC):
(GenerateHeader):
(GetInternalFields):
(GenerateHeaderCustomInternalFieldIndices):
(GenerateHeaderNamedAndIndexedPropertyAccessors):
(GenerateHeaderCustomCall):
(IsConstructable):
(GenerateConstructorGetter):
(GenerateNormalAttrGetter):
(GenerateReplaceableAttrSetter):
(GenerateNormalAttrSetter):
(GenerateOverloadedFunctionCallback):
(GenerateFunctionCallback):
(GenerateArgumentsCountCheck):
(GenerateOverloadedConstructorCallback):
(GenerateSingleConstructorCallback):
(GenerateConstructorCallback):
(GenerateEventConstructorCallback):
(GenerateTypedArrayConstructorCallback):
(GenerateNamedConstructorCallback):
(GenerateBatchedAttributeData):
(IsStandardFunction):
(GenerateNonStandardFunction):
(GenerateImplementationIndexer):
(GenerateImplementationNamedPropertyGetter):
(GenerateImplementationCustomCall):
(GenerateImplementationMasqueradesAsUndefined):
(GenerateImplementation):
(GenerateHeaderContentHeader):
(GenerateImplementationContentHeader):
(GenerateCallbackHeader):
(GenerateCallbackImplementation):
(BaseInterfaceName):
(GenerateToV8Converters):
(GetNativeTypeForConversions):
(GetTypeNameOfExternalTypedArray):
(WriteData):

8:19 PM Changeset in webkit [135238] by keishi@webkit.org
  • 2 edits in trunk/Source/WebCore

Move in animation should be disabled until the calendar picker is loaded.
https://bugs.webkit.org/show_bug.cgi?id=102661

Reviewed by Kent Tamura.

On weeks where the first day is in the previous month (e.x. 2013-W01)
the move in animation happens when you open the calendar picker. This
patch disables the move in animation until the calendar picker is fully
loaded.

No new tests.

  • Resources/pagepopups/calendarPicker.js:

(CalendarPicker):
(CalendarPicker.prototype._handleWindowResize):
(DaysTable.prototype._startMoveInAnimation):

8:18 PM Changeset in webkit [135237] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Clean up loop in NodeRenderingContext::nextRenderer and previousRenderer
https://bugs.webkit.org/show_bug.cgi?id=102743

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-19
Reviewed by Hajime Morita.

Clean up while (true) loops in NodeRenderingContext reducing the
amount of code and the need for ASSERT_NOT_REACHED.

No new tests, just simplifcation.

  • dom/NodeRenderingContext.cpp:

(WebCore::NodeRenderingContext::nextRenderer):
(WebCore::NodeRenderingContext::previousRenderer):

8:10 PM Changeset in webkit [135236] by shinyak@chromium.org
  • 5 edits in trunk

[Shadow] attribute pseudo should return empty string instead of null when nothing is specified.
https://bugs.webkit.org/show_bug.cgi?id=102753

Reviewed by Hajime Morita.

Source/WebCore:

The ShadowDOM spec is changed so that attribute 'pseudo' returns empty string instead of null when
no value is set.

Test: fast/dom/shadow/pseudo-attribute.html

  • dom/Element.idl:

LayoutTests:

  • fast/dom/shadow/pseudo-attribute-expected.txt:
  • fast/dom/shadow/pseudo-attribute.html:
7:27 PM Changeset in webkit [135235] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

In CodeGeneratorGObject.pm we should rename $dataNode to $interface
https://bugs.webkit.org/show_bug.cgi?id=102751

Reviewed by Adam Barth.

$dataNode is misnamed. It should be $interface.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorGObject.pm:

(GetParentClassName):
(GetParentGObjType):
(GenerateProperties):
(GenerateFunctions):
(GenerateCFile):
(GenerateEventTargetIface):
(Generate):
(WriteData):
(GenerateInterface):

7:15 PM Changeset in webkit [135234] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

In CodeGenerator.pm we should rename $dataNode to $interface
https://bugs.webkit.org/show_bug.cgi?id=102754

Reviewed by Adam Barth.

$dataNode is misnamed. It should be $interface.

No tests. No change in behavior.

  • bindings/scripts/CodeGenerator.pm:

(ForAllParents):
(AddMethodsConstantsAndAttributesFromParentInterfaces):
(FindSuperMethod):
(IsConstructorTemplate):
(LinkOverloadedFunctions):
(GenerateCompileTimeCheckForEnumsIfNeeded):
(GetVisibleInterfaceName):
(IsSubType):

7:00 PM Changeset in webkit [135233] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Block Zoom picks wrong block
https://bugs.webkit.org/show_bug.cgi?id=102728

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

Reviewed Internally by Jakob Petsovits
Remove transform missed in previous commit for
https://bugs.webkit.org/show_bug.cgi?id=101608
PR #247198

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::nodeForZoomUnderPoint):

6:58 PM Changeset in webkit [135232] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

In CodeGeneratorCPP.pm we should rename $dataNode to $interface
https://bugs.webkit.org/show_bug.cgi?id=102752

Reviewed by Adam Barth.

$dataNode is misnamed. It should be $interface.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorCPP.pm:

(GenerateInterface):
(GetParentImplClassName):
(GetParent):
(GenerateHeader):
(GenerateImplementation):

6:45 PM Changeset in webkit [135231] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

In CodeGeneratorJS.pm we should rename $dataNode to $interface
https://bugs.webkit.org/show_bug.cgi?id=102748

Reviewed by Adam Barth.

$dataNode is misnamed. It should be $interface.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateInterface):
(GetParentClassName):
(GetGenerateIsReachable):
(GetCustomIsReachable):
(GenerateGetOwnPropertySlotBody):
(GenerateGetOwnPropertyDescriptorBody):
(GenerateHeaderContentHeader):
(GenerateImplementationContentHeader):
(ShouldGenerateToJSDeclaration):
(ShouldGenerateToJSImplementation):
(GenerateHeader):
(GenerateAttributesHashTable):
(GenerateOverloadedFunction):
(GenerateImplementation):
(GenerateArgumentsCountCheck):
(GenerateParametersCheck):
(GenerateCallbackHeader):
(GenerateCallbackImplementation):
(WriteData):
(GenerateConstructorDeclaration):
(GenerateConstructorDefinition):
(IsConstructable):

6:39 PM Changeset in webkit [135230] by abarth@webkit.org
  • 9 edits in trunk/Source/WebCore

[V8] Merge getCachedWrapper(Node*) into DOMDataStore
https://bugs.webkit.org/show_bug.cgi?id=102158

Reviewed by Eric Seidel.

This patch is an incremental step towards fully merging the Node code
path with the general code path. After this patch, at least Nodes flow
through the same class.

  • Modules/indexeddb/IDBTransactionCoordinator.h:
  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GenerateToV8Converters):

  • bindings/v8/DOMDataStore.h:

(WebCore::DOMDataStore::getNode):
(DOMDataStore):
(WebCore::DOMDataStore::getWrapperFromObject):

  • bindings/v8/DOMWrapperWorld.cpp:

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

  • bindings/v8/DOMWrapperWorld.h:

(WebCore):
(DOMWrapperWorld):

  • bindings/v8/V8DOMWrapper.h:

(V8DOMWrapper):

6:18 PM Changeset in webkit [135229] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

In the IDL parser, we should rename $dataNode to $interface
https://bugs.webkit.org/show_bug.cgi?id=102746

Reviewed by Adam Barth.

$dataNode is misnamed. It should be $interface.

No tests. No change in behavior.

  • bindings/scripts/IDLParser.pm:

(parseInterface):
(parseException):
(parseAttributeOrOperationRest):
(parseOperationOrIterator):
(parseSpecialOperation):
(parseInterfaceOld):
(parseExceptionOld):
(parseAttributeOrOperationOrIteratorOld):
(parseAttributeOrOperationRestOld):
(applyMemberList):
(applyExtendedAttributeList):

  • bindings/scripts/generate-bindings.pl:
  • bindings/scripts/preprocess-idls.pl:

(checkIDLAttributes):

6:16 PM Changeset in webkit [135228] by adamk@chromium.org
  • 13 edits
    4 adds in trunk

MutationObserver wrapper should not be collected while still observing
https://bugs.webkit.org/show_bug.cgi?id=102328

Reviewed by Adam Barth.

Source/WebCore:

Use the new opaqueRootForGC helper in V8GCController to put each
MutationObserver wrapper in the same object group as the nodes it's
observing.

Only includes V8 impl for now, JSC impl coming soon.

Tests: fast/mutation/observer-wrapper-dropoff-transient.html

fast/mutation/observer-wrapper-dropoff.html

  • bindings/v8/V8GCController.cpp: Add custom code for MutationObserver

with a FIXME to move this out once we update the opaque roots API.

  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::getObservedNodes): Plumbing to expose the observed nodes
to the GC controller.
(WebCore):

  • dom/MutationObserver.h:
  • dom/MutationObserverRegistration.cpp:

(WebCore::MutationObserverRegistration::addRegistrationNodesToSet): More plumbing.
(WebCore):

  • dom/MutationObserverRegistration.h:

(MutationObserverRegistration):

LayoutTests:

Tests showing that observers are kept alive, both in the simple case
and in the transient registered observer case (where the original
registration node is GCed but the transient observation node is still
alive).

  • fast/mutation/observer-wrapper-dropoff-expected.txt: Added.
  • fast/mutation/observer-wrapper-dropoff-transient-expected.txt: Added.
  • fast/mutation/observer-wrapper-dropoff-transient.html: Added.
  • fast/mutation/observer-wrapper-dropoff.html: Added.
6:11 PM Changeset in webkit [135227] by tony@chromium.org
  • 9 edits in trunk

Move more non-settings out of InternalSettings
https://bugs.webkit.org/show_bug.cgi?id=102711

Reviewed by Adam Barth.

Source/WebCore:

Remove userPreferredLanguages, setUserPreferredLanguages and allowRoundingHacks
from internal.settings since they are already exposed by window.internals (in
fact, no one calls the internal.settings version).

Move setUsesOverlayScrollbars from internals.settings to internals because it is
a global (static) setting and not tied to the lifetime of the Settings object.

No new tests, there should be no behavior change since this is a refactor.

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::reset): Remove custom reset code.
(WebCore::InternalSettings::setUsesOverlayScrollbars): Add exception code handling to make it more consistent with other settings setters.

  • testing/InternalSettings.h:
  • testing/InternalSettings.idl: Remove unnecessary methods.
  • testing/Internals.cpp:

(WebCore::Internals::resetToConsistentState): Reset userPreferredLanguages, allowRoundingHacks and overlay scrollbars.
(WebCore::Internals::userPreferredLanguages): Don't go through InternalSettings.
(WebCore::Internals::setUserPreferredLanguages): Don't go through InternalSettings.
(WebCore::Internals::setUsesOverlayScrollbars): Moved from InternalsSettings.
(WebCore::Internals::allowRoundingHacks): Don't go through InternalSettings.

LayoutTests:

Move static values out of InternalSettings.

  • fast/scrolling/scrollbar-tickmarks-hittest.html: Move setUsesOverlayScrollbars to internals.
6:10 PM Changeset in webkit [135226] by dgrogan@chromium.org
  • 5 edits in trunk

IndexedDB: Complex series of opens/deleteDatabase fails an ASSERT
https://bugs.webkit.org/show_bug.cgi?id=101810

Reviewed by Tony Chang.

Source/WebCore:

Tests - storage/indexeddb/deletedatabase-delayed-by-versionchange.html

  • Modules/indexeddb/IDBDatabaseBackendImpl.cpp:

(WebCore::IDBDatabaseBackendImpl::processPendingCalls):
The condition tested by this assert is a valid state.

LayoutTests:

Removed use of setVersion. Surprisingly straightforward conversion
given how gnarly this test is.

  • storage/indexeddb/deletedatabase-delayed-by-versionchange-expected.txt:
  • storage/indexeddb/resources/deletedatabase-delayed-by-versionchange.js:

(h1OpenSuccess.h1.onversionchange):
(h1OpenSuccess.request.onsuccess.h2OpenSuccess.h2.onversionchange):
(h1OpenSuccess.request.onsuccess.h2OpenSuccess.request.onsuccess):
(h1OpenSuccess.request.onsuccess.h2OpenSuccess.request.onblocked.h3Blocked.request.onsuccess):
(h1OpenSuccess.request.onsuccess.h2OpenSuccess.request.onblocked):
(h1OpenSuccess.request.onsuccess.h2OpenSuccess.request.onupgradeneeded.h3OnUpgradeneeded.transaction.oncomplete):
(h1OpenSuccess.request.onsuccess.h2OpenSuccess.request.onupgradeneeded):
(h1OpenSuccess.request.onsuccess):
(h1OpenSuccess):

6:06 PM Changeset in webkit [135225] by Patrick Gansterer
  • 2 edits in trunk/Source/JavaScriptCore

[CMake] Create JavaScriptCore ForwardingHeaders
https://bugs.webkit.org/show_bug.cgi?id=92665

Reviewed by Brent Fulgham.

When using CMake to build the Windows port, we need
to generate the forwarding headers with it too.

  • CMakeLists.txt:
6:03 PM Changeset in webkit [135224] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Web Inspector: [JSC] worker debugger shouldn't stop for "willExecuteProgram" instruction
https://bugs.webkit.org/show_bug.cgi?id=102637

Patch by Peter Wang <peter.wang@torchmobile.com.cn> on 2012-11-19
Reviewed by Timothy Hatcher.

Override the interface "willExecuteProgram" to let WorkerScriptDebugServer to avoid to stop for it.

No new DRT test case. Sorry, so far it seems impossible to write a case to controle the popupped
worker inspector window.

  • bindings/js/ScriptDebugServer.cpp:

(WebCore::ScriptDebugServer::createCallFrame):
(WebCore::ScriptDebugServer::callEvent):
(WebCore::ScriptDebugServer::willExecuteProgram):

  • bindings/js/ScriptDebugServer.h:

(ScriptDebugServer):

  • bindings/js/WorkerScriptDebugServer.cpp:

(WebCore::WorkerScriptDebugServer::willExecuteProgram):
(WebCore):

  • bindings/js/WorkerScriptDebugServer.h:

(WorkerScriptDebugServer):

6:02 PM Changeset in webkit [135223] by dgrogan@chromium.org
  • 5 edits
    6 deletes in trunk/LayoutTests

IndexedDB: last setVersion excision batch
https://bugs.webkit.org/show_bug.cgi?id=102713

Reviewed by Tony Chang.

  • storage/indexeddb/resources/setversion-blocked-by-versionchange-close-in-blocked.js: Removed. The crucial part of this test was a connection closing itself in its blocked callback. This is no longer possible as there's now only a handle to the connection after the blocked event is dealt with.
  • storage/indexeddb/resources/setversion-blocked-by-versionchange-close.js: This test exposes a cascade of errors. h2's should receive 0 blocked errors. Instead it receives 2.
  • storage/indexeddb/resources/setversion-blocked.js: Removed. Tests the same thing as set_version_blocked.
  • storage/indexeddb/resources/setversion-not-blocked.js: Now h2 is the version change connection and h1 is the blocker.
  • storage/indexeddb/setversion-blocked-by-versionchange-close-in-blocked.html: Removed.
  • storage/indexeddb/setversion-blocked.html: Removed.
5:58 PM Changeset in webkit [135222] by dgrogan@chromium.org
  • 3 edits in trunk/LayoutTests

IndexedDB: convert delete-closed-database-object to upgradeneeded
https://bugs.webkit.org/show_bug.cgi?id=102458

Reviewed by Tony Chang.

This test relies on gc behavior and seems flaky in content_shell.

  • storage/indexeddb/delete-closed-database-object-expected.txt:
  • storage/indexeddb/resources/delete-closed-database-object.js:

(prepareDatabase):
(openSuccess.openRequest.onsuccess):
(openSuccess):
(setVersion):

5:55 PM Changeset in webkit [135221] by psolanki@apple.com
  • 3 edits in trunk/Source/WebCore

For single element arrays use the pointer into the CFDataRef instead of copying data
https://bugs.webkit.org/show_bug.cgi?id=102306

Reviewed by Brent Fulgham.

Address review comments for slightly nicer code.

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::data):

  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::singleDataArrayBuffer):

5:53 PM Changeset in webkit [135220] by crogers@google.com
  • 4 edits in trunk/Source/WebCore

Remove empirical bass-boost for HRTF spatialization
https://bugs.webkit.org/show_bug.cgi?id=102745

Reviewed by Kenneth Russell.

Some empirically-based post-processing is being removed so that we'll
now process with the exact HRTF impulse response measurements.
Listening tests have determined that this post-processing is not necessary.

  • platform/audio/HRTFElevation.cpp:

(WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):

  • platform/audio/HRTFKernel.cpp:

(WebCore::HRTFKernel::HRTFKernel):

  • platform/audio/HRTFKernel.h:

(WebCore::HRTFKernel::create):
(HRTFKernel):

5:52 PM Changeset in webkit [135219] by abarth@webkit.org
  • 2 edits in trunk/Source/WebCore

DISALLOW_COPY_AND_ASSIGN is not a WebKit macro
https://bugs.webkit.org/show_bug.cgi?id=102755

Reviewed by Sam Weinig.

WTF_MAKE_NONCOPYABLE is the idiom we use in WebKit. I don't understand
how this compiles.

  • Modules/indexeddb/IDBBackingStore.h:

(RecordIdentifier):

5:46 PM Changeset in webkit [135218] by crogers@google.com
  • 9 edits in trunk

Implement .detune attribute for BiquadFilterNode
https://bugs.webkit.org/show_bug.cgi?id=102737

Reviewed by Kenneth Russell.

Source/WebCore:

Similar to OscillatorNode, BiquadFilterNode must have a .detune attribute

Tests changed: webaudio/biquad-lowpass.html

  • Modules/webaudio/BiquadDSPKernel.cpp:

(WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):

  • Modules/webaudio/BiquadFilterNode.h:

(WebCore::BiquadFilterNode::detune):

  • Modules/webaudio/BiquadFilterNode.idl:
  • Modules/webaudio/BiquadProcessor.cpp:

(WebCore::BiquadProcessor::BiquadProcessor):
(WebCore::BiquadProcessor::checkForDirtyCoefficients):

  • Modules/webaudio/BiquadProcessor.h:

(WebCore::BiquadProcessor::parameter4):
(BiquadProcessor):

LayoutTests:

  • webaudio/biquad-lowpass.html:
  • webaudio/resources/biquad-testing.js:

(createTestAndRun):
(generateReference):

5:35 PM Changeset in webkit [135217] by Patrick Gansterer
  • 4 edits in trunk/Source/WebCore

[WIN] Add WebCore::getRegistryValue()
https://bugs.webkit.org/show_bug.cgi?id=97828

Reviewed by Brent Fulgham.

The new function adds an abstraction to SHGetValue(), which isn't available on WinCE.
Changing the existing files allows us to share more code between WinCE and WinNT in a next step.

  • platform/win/MIMETypeRegistryWin.cpp:

(WebCore::mimeTypeForExtension):
(WebCore):
(WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):

  • platform/win/WindowsExtras.h:

(WebCore::getRegistryValue):
(WebCore):

  • plugins/win/PluginDatabaseWin.cpp:

(WebCore::addPluginPathsFromRegistry):
(WebCore::addWindowsMediaPlayerPluginDirectory):
(WebCore::addQuickTimePluginDirectory):
(WebCore::addAdobeAcrobatPluginDirectory):
(WebCore::addJavaPluginDirectory):

5:22 PM Changeset in webkit [135216] by danakj@chromium.org
  • 3 edits in trunk/Source

[chromium] Remove the WebCompositorSupport virtual methods from the base class
https://bugs.webkit.org/show_bug.cgi?id=102153

Reviewed by James Robinson.

These methods have now been removed from WebCompositorSupportImpl in
chromium and should be removed from the base class. Everything is
going through WebLayerTreeSettings now.

  • chromium/public/WebCompositorSupport.h:
5:05 PM FeatureFlags edited by tkent@chromium.org
Remove CSS_HIERARCHIES (diff)
4:49 PM Changeset in webkit [135215] by cevans@google.com
  • 1 edit
    2 copies in branches/chromium/1312

Merge 133609
BUG=158992
Review URL: https://codereview.chromium.org/11280078

4:44 PM Changeset in webkit [135214] by cevans@google.com
  • 1 edit in branches/chromium/1312/Source/WebKit/chromium/src/WebViewImpl.cpp

Merge 133009
BUG=158707
Review URL: https://codereview.chromium.org/11420084

4:39 PM Changeset in webkit [135213] by cevans@google.com
  • 10 edits
    2 copies in branches/chromium/1312

Merge 132895
BUG=157951
Review URL: https://codereview.chromium.org/11419080

4:38 PM Changeset in webkit [135212] by commit-queue@webkit.org
  • 4 edits
    3 adds in trunk

Coordinated Graphics: Remove tiles of a layer when they are off the viewport.
https://bugs.webkit.org/show_bug.cgi?id=102313

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

Source/WebKit2:

Currently, we don't remove tiles of the layer with the special properties: a
transform animation and non affine transform. If a page has a lot of layers with
a transform animation, we will encounter OOM. So this patch removes the
privilege of the layer.

There are two changes.

  1. computeTransformedVisibleRect() calculates a layer transform using the

current local transform which a transform animation applied.

  1. tiledBackingStoreVisibleRect() calculates a visible

rect of all layers, even if the layer includes the property: a transform
animation or non affine transform.

Test: animations/animation-offscreen-to-onscreen.html

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::effectiveContentsScale):
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::CoordinatedGraphicsLayer::hasPendingVisibleChanges):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
(WebCore::CoordinatedGraphicsLayer::selfOrAncestorHasActiveTransformAnimation):
(WebCore):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayer):

LayoutTests:

This test checks that a compositing layer is rendered if the layer is
originally transformed off the viewport.

  • animations/animation-offscreen-to-onscreen-expected.png: Added.
  • animations/animation-offscreen-to-onscreen-expected.txt: Added.
  • animations/animation-offscreen-to-onscreen.html: Added.
4:34 PM Changeset in webkit [135211] by cevans@google.com
  • 9 edits in branches/chromium/1312/Source/WebCore/platform/graphics

Merge 134871
BUG=157875
Review URL: https://codereview.chromium.org/11299089

4:32 PM Changeset in webkit [135210] by cevans@google.com
  • 1 edit
    3 copies in branches/chromium/1312

Merge 132844
BUG=157845

4:26 PM Changeset in webkit [135209] by hclam@chromium.org
  • 4 edits in trunk/Source/WebCore

Not reviewed. Build fix for Chromium.

Added SkTypes.h includes for Windows.

  • platform/graphics/chromium/ImageDecodingStore.h:
  • platform/graphics/chromium/ImageFrameGenerator.h:
  • platform/graphics/chromium/LazyDecodingPixelRef.h:
4:21 PM Changeset in webkit [135208] by abarth@webkit.org
  • 11 edits in trunk/Source/WebCore

[V8] Simplify V8DOMWindowShell::getEntered
https://bugs.webkit.org/show_bug.cgi?id=102156

Reviewed by Eric Seidel.

This patch is an incremental step towards merging
V8DOMWrapper::getCachedWrapper(Node*) with the general case for looking
up DOM wrappers. In order to merge with the general case, we need to
get down to calling v8::Context::GetCurrent once, which means we need
to factor the call to v8::Context::GetEntered out of V8DOMWindowShell.

As a side-benefit to this change, we can remove some redundant checks
for isolatedWorldsExist and v8::Context::InContext from callers of
V8DOMWindowShell::getEntered, including in getCachedWrapper.

  • bindings/v8/DOMDataStore.cpp:

(WebCore::DOMDataStore::current):

  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::shouldBypassMainWorldContentSecurityPolicy):
(WebCore::ScriptController::currentWorldContext):

  • bindings/v8/V8DOMWindowShell.h:

(WebCore::V8DOMWindowShell::isolated):
(WebCore::V8DOMWindowShell::perContextData):
(WebCore::V8DOMWindowShell::world):
(V8DOMWindowShell):

  • bindings/v8/V8DOMWrapper.h:

(WebCore::V8DOMWrapper::getCachedWrapper):

  • bindings/v8/WorldContextHandle.cpp:

(WebCore::WorldContextHandle::WorldContextHandle):

  • bindings/v8/custom/V8DocumentCustom.cpp:

(WebCore::V8Document::dispatchWrapCustom):

  • bindings/v8/custom/V8HTMLDocumentCustom.cpp:

(WebCore::V8HTMLDocument::dispatchWrapCustom):

  • bindings/v8/custom/V8SVGDocumentCustom.cpp:

(WebCore::V8SVGDocument::dispatchWrapCustom):

  • bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:

(WebCore::V8XMLHttpRequest::constructorCallback):

4:03 PM Changeset in webkit [135207] by commit-queue@webkit.org
  • 14 edits in trunk/Source/WebKit2

Coordinated Graphics: Remove a texture if an direct composited image is off the viewport.
https://bugs.webkit.org/show_bug.cgi?id=102449

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

Currently, once uploading textures for composited images, Coordinated Graphics
does not release the textures until all layers using images are destroyed.

This patch removes a texture if we don't need to render an image. This mechanism
is similar how TiledBackingStore removes invisible tiles.

When all layers are invisible, we wait 3 seconds to remove the content
of the image, because we want to prevent a transform animation from
creating and destroying a texture over and over again.

  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:

(WebKit::CoordinatedBackingStore::removeAllTiles):
(WebKit):

  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:

(CoordinatedBackingStore):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:

(WebKit::LayerTreeCoordinatorProxy::clearImageBackingContents):
(WebKit):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:

(LayerTreeCoordinatorProxy):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::clearImageBackingContents):
(WebKit):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

(LayerTreeRenderer):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::syncImageBacking):
(WebCore::CoordinatedGraphicsLayer::imageBackingVisible):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayer):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp:

(WebKit::CoordinatedImageBacking::CoordinatedImageBacking):
(WebKit::CoordinatedImageBacking::addHost):
(WebKit::CoordinatedImageBacking::removeHost):
(WebKit::CoordinatedImageBacking::update):
(WebKit):
(WebKit::CoordinatedImageBacking::updateVisibilityIfNeeded):
(WebKit::CoordinatedImageBacking::clearContentsTimerFired):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:

(Coordinator):
(Host):
(CoordinatedImageBacking):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::clearImageBackingContents):
(WebKit):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:

(LayerTreeCoordinator):

3:47 PM Changeset in webkit [135206] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WTF

Remove ReadWriteLock
https://bugs.webkit.org/show_bug.cgi?id=101637

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2012-11-19
Reviewed by Darin Adler.

Remove ReadWriteLock as it does not seems to be used.

  • wtf/Platform.h: Remove the definition of HAVE_PTHREAD_RWLOCK.
  • wtf/ThreadingPrimitives.h: Remove the PlatformReadWriteLock type

and the ReadWriteLock class.

  • wtf/ThreadingPthreads.cpp: Remove the implementation of

the ReadWriteLock class using pthreads.

3:40 PM Changeset in webkit [135205] by jianli@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Mark 2 tests as failed on chromium.

  • platform/chromium/TestExpectations:
3:38 PM Changeset in webkit [135204] by rakuco@webkit.org
  • 6 edits
    1 add in trunk/Source/WebKit2

Unreviewed, rolling out r135201.
http://trac.webkit.org/changeset/135201
https://bugs.webkit.org/show_bug.cgi?id=102725

Broke all non-Mac WK2 builds. (Requested by rakuco on
#webkit).

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

  • Shared/mac/PlatformCertificateInfo.h:
  • Shared/mac/PlatformCertificateInfo.mm:

(WebKit):

  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/Authentication/AuthenticationManager.cpp:
  • WebProcess/Authentication/AuthenticationManager.h:

(AuthenticationManager):

  • WebProcess/Authentication/mac/AuthenticationManager.mac.mm: Copied from Source/WebKit2/Shared/mac/PlatformCertificateInfo.mm.

(WebKit):
(WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):

3:08 PM Changeset in webkit [135203] by haraken@chromium.org
  • 9 edits in trunk/Source/WebCore

Rename idlDocument::classes to idlDocument::interfaces in the IDL parser
https://bugs.webkit.org/show_bug.cgi?id=102671

Reviewed by Adam Barth.

Most part of code generators use 'interface'. The spec uses 'interface'.
Thus, the IDL parser should use 'interface' instead of 'class'.

No tests. No change in behavior.

  • bindings/scripts/CodeGenerator.pm:

(ProcessDocument):
(AddMethodsConstantsAndAttributesFromParentInterfaces):
(ParseInterface):

  • bindings/scripts/CodeGeneratorCPP.pm:

(GenerateImplementation):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):

  • bindings/scripts/CodeGeneratorObjC.pm:

(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GenerateFunctionCallback):

  • bindings/scripts/IDLParser.pm:

(Parse):
(parseModule):

  • bindings/scripts/generate-bindings.pl:
3:06 PM Changeset in webkit [135202] by eric.carlson@apple.com
  • 12 edits in trunk

HTMLMediaElement::configureTextTracks should configure all text tracks
https://bugs.webkit.org/show_bug.cgi?id=102561

Reviewed by Philippe Normand.

Source/WebCore:

No new tests, track-mode-not-changed-by-new-track.html was updated to test the changes.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::textTrackModeChanged): HTMLTrackElement -> TextTrack.
(WebCore::HTMLMediaElement::willRemoveTrack): Ditto.
(WebCore::HTMLMediaElement::configureTextTrackGroup): Ditto.
(WebCore::HTMLMediaElement::configureTextTracks): Ditto.
(WebCore::HTMLMediaElement::markCaptionAndSubtitleTracksAsUnconfigured): Ditto.

  • html/HTMLMediaElement.h:
  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::HTMLTrackElement): Move hasBeenConfigured down to TextTrack.
(WebCore::HTMLTrackElement::parseAttribute): isDefault is stored on TextTrack.
(WebCore::HTMLTrackElement::ensureTrack): LoadableTextTrack constructor doesn't take

"default" argument.

  • html/HTMLTrackElement.h:
  • html/track/LoadableTextTrack.cpp:

(WebCore::LoadableTextTrack::LoadableTextTrack): Initialize m_isDefault to false.

  • html/track/LoadableTextTrack.h:

(WebCore::TextTrack::isDefault): Override base class implementation, because a track element

can be flagged as default.

(WebCore::TextTrack::setIsDefault): Ditto.

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::TextTrack): Initialize m_hasBeenConfigured.

  • html/track/TextTrack.h:

(WebCore::TextTrack::hasBeenConfigured): New, moved from HTMLTrackElement so other code doesn't

need know what type of track it is calling.

(WebCore::TextTrack::setHasBeenConfigured): Ditto.
(WebCore::TextTrack::isDefault): Base, do nothing, implementation because only LoadableTextTrack

can be "default".

(WebCore::TextTrack::setIsDefault): Ditto.

LayoutTests:

Update test and results to check that dynamically added tracks are configured correctly.

  • media/track/track-mode-not-changed-by-new-track-expected.txt:
  • media/track/track-mode-not-changed-by-new-track.html:
2:57 PM Changeset in webkit [135201] by beidson@apple.com
  • 6 edits
    1 delete in trunk/Source/WebKit2

Move tryUsePlatformCertificateInfoForChallenge from AuthenticationManager to PlatformCertificateInfo.
https://bugs.webkit.org/show_bug.cgi?id=102718

Reviewed by Sam Weinig.

Add the shared PlatformCertificateInfo version of the method:

  • Shared/mac/PlatformCertificateInfo.h:
  • Shared/mac/PlatformCertificateInfo.mm:

(WebKit::tryUsePlatformCertificateInfoForChallenge):

Use the new shared version:

  • WebProcess/Authentication/AuthenticationManager.cpp:

Remove the old member version:

  • WebProcess/Authentication/AuthenticationManager.h:
  • WebProcess/Authentication/mac/AuthenticationManager.mac.mm: Removed.
  • WebKit2.xcodeproj/project.pbxproj:
2:54 PM Changeset in webkit [135200] by commit-queue@webkit.org
  • 15 edits in trunk/Source

Coordinated Graphics: refactor syncCanvas to handle the lifecycle clearly.
https://bugs.webkit.org/show_bug.cgi?id=102664

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

Source/WebCore:

As refactoring Coordinated Graphics in WebKit2, code related to
TextureMapper is changed.

No new tests. Refactoring only.

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::platformLayerSize):

We need to know the size of a texture mapper platform layer.

(WebCore):

  • platform/graphics/texmap/TextureMapperBackingStore.cpp: Because CoordinatedGraphicsLayer handles the canvas GraphicsSurface lifecycle, TextureMapperSurfaceBackingStore does not need to know GraphicsSurfaceToken.

(WebCore::TextureMapperSurfaceBackingStore::setGraphicsSurface):
(WebCore::TextureMapperSurfaceBackingStore::swapBuffersIfNeeded):
(WebCore::TextureMapperSurfaceBackingStore::paintToTextureMapper):

  • platform/graphics/texmap/TextureMapperBackingStore.h:

(TextureMapperSurfaceBackingStore):

  • platform/graphics/texmap/TextureMapperPlatformLayer.h:

(WebCore::TextureMapperPlatformLayer::platformLayerSize):

Source/WebKit2:

This patch makes sync canvas code handle the lifecycle of the canvas
GraphicsSurface in the similar style to a directly image compositing and
an update atlas code. This patch moves the canvas lifecycle handling
code from LayerTreeRenderer to CoordinatedGraphicsLayer, because
CoordinatedGraphicsLayer knows best when to create and remove the canvas
GraphicsSurface.

After this patch, we can remove the canvas GraphicsSurface in UI Process as soon
as the canvas platform layer is unset in Web Process.

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:

(WebKit::LayerTreeCoordinatorProxy::createCanvas):
(WebKit):
(WebKit::LayerTreeCoordinatorProxy::syncCanvas):
(WebKit::LayerTreeCoordinatorProxy::destroyCanvas):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:

(LayerTreeCoordinatorProxy):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::createCanvas):
(WebKit):
(WebKit::LayerTreeRenderer::syncCanvas):
(WebKit::LayerTreeRenderer::destroyCanvas):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

(LayerTreeRenderer):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
(WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
(WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
(WebCore::CoordinatedGraphicsLayer::syncCanvas):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::destroyCanvasIfNeeded):
(WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::createCanvas):
(WebKit):
(WebKit::LayerTreeCoordinator::syncCanvas):
(WebKit::LayerTreeCoordinator::destroyCanvas):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:

(LayerTreeCoordinator):

2:44 PM Changeset in webkit [135199] by Dimitri Glazkov
  • 8 edits in trunk/Tools

[garden-o-matic] Switch frontend to use the gardeningserver.
https://bugs.webkit.org/show_bug.cgi?id=102712

Reviewed by Dirk Pranke.

Instead of serving garden-o-matic frontend as file, we now serve it from the gardening server. This enables
using garden-o-matic in a Chrome OS device, with a separate machine as a headless server.

  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/garden-o-matic.html: Changed CSP policy to use 'self'.
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout.js: Removed now-unnecessary references to kLocalServerURL.
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/checkout_unittests.js: Tweaked the test expectation.
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/config.js: Removed kLocalServerURL.
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js: Spuriously updated the name of the webkit-patch command.
  • BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/results.js: Removed kLocalServerURL.
  • Scripts/webkitpy/tool/servers/gardeningserver.py: Changed to use the new launch URL.
2:23 PM Changeset in webkit [135198] by beidson@apple.com
  • 2 edits in trunk/Source/WebKit2

Replace an unneeded #include with a forward declaration after r135179.

Reviewed by nobody, but suggested by Alexey Proskuryakov.

  • WebProcess/Network/WebResourceLoader.h:
2:22 PM Changeset in webkit [135197] by commit-queue@webkit.org
  • 5 edits
    2 copies in trunk/Source/WebKit/chromium

[Chromium] Remove the dependency of INPUT_TYPE_COLOR on PAGE_POPUP
https://bugs.webkit.org/show_bug.cgi?id=102525

Patch by Miguel Garcia <miguelg@chromium.org> on 2012-11-19
Reviewed by Kent Tamura.

INPUT_TYPE_COLOR should not depend on PAGE_POPUP, with this change we allow platforms like android to implement the former without depending on the latter.

Tested by compiling chromium with and without ENABLE_PAGE_POPUP and made sure that forms with input type color would load in both cases.

  • WebKit.gyp:
  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::createColorChooser):

  • src/ColorChooserUIController.cpp:

(WebKit::ColorChooserUIController::ColorChooserUIController):
(WebKit::ColorChooserUIController::openUI):
(WebKit):
(WebKit::ColorChooserUIController::endChooser):

  • src/ColorChooserUIController.h:

(ColorChooserUIController):

2:20 PM Changeset in webkit [135196] by hclam@chromium.org
  • 11 edits in trunk/Source

[chromium] Lazy image decoding without cache
https://bugs.webkit.org/show_bug.cgi?id=102021

Reviewed by Stephen White.

Source/WebCore:

Goal of this change is to make image decoding in ImageFrameGenerator
completely lazy without caching. Image decoding logic is then removed
from ImageDecodingStore.

These methods are removed.

  • ImageDecodingStore::lockPixels
  • ImageDecodingStore::unlockPixels

Instead image decoding and scaling is done in
ImageFrameGenerator::decodeAndScale().

Unit tests are updated:
DeferredImageDecoderTest::drawIntoSkPicture
DeferredImageDecoderTest::drawScaledIntoSkPicture

Also covered by layout tests:
platform/chromium/virtual/deferred

  • platform/graphics/chromium/DeferredImageDecoder.cpp:

(WebCore::DeferredImageDecoder::createLazyDecodingBitmap):

  • platform/graphics/chromium/ImageDecodingStore.h:

(ImageDecodingStore):

  • platform/graphics/chromium/ImageFrameGenerator.cpp:

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

  • platform/graphics/chromium/ImageFrameGenerator.h:

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

  • platform/graphics/chromium/LazyDecodingPixelRef.cpp:

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

  • platform/graphics/chromium/LazyDecodingPixelRef.h:

(LazyDecodingPixelRef):

Source/WebKit/chromium:

Updated two test cases using real image data.

The tests demonstrates that original image decoder is not used and
image is decoded lazily with correct pixel results.

  • tests/DeferredImageDecoderTest.cpp:

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

  • tests/MockImageDecoder.h:

(MockImageDecoderClient):
(WebCore):
(WebCore::MockImageDecoder::MockImageDecoder):
(WebCore::MockImageDecoder::~MockImageDecoder):
(MockImageDecoder):

2:09 PM Changeset in webkit [135195] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[GTK] REGRESSION(r134955): Plugins are broken due to unresolved symbol in plugin process
https://bugs.webkit.org/show_bug.cgi?id=102613

Unreviewed build fix.

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-11-19

  • GNUmakefile.am: Fix the build after one of my previous patches introduced

a link dependency on libsecret.

1:47 PM Changeset in webkit [135194] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Web Inspector crashes if evas_gl is not available
https://bugs.webkit.org/show_bug.cgi?id=102531

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

Teach Web Inspector to fallback gracefully to the software path when evas_gl engine is not available.

  • UIProcess/efl/WebInspectorProxyEfl.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

1:43 PM Changeset in webkit [135193] by inferno@chromium.org
  • 3 edits
    2 adds in trunk

Crash in ApplyStyleCommand::cleanupUnstyledAppleStyleSpans.
https://bugs.webkit.org/show_bug.cgi?id=100150

Reviewed by Ryosuke Niwa.

Source/WebCore:

RefPtr startDummySpanAncestor and endDummySpanAncestor since
they can go away inside fixRangeAndApplyInlineStyle call.

Test: editing/style/apply-style-crash.html

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyInlineStyle):

LayoutTests:

  • editing/style/apply-style-crash-expected.txt: Added.
  • editing/style/apply-style-crash.html: Added.
1:25 PM Changeset in webkit [135192] by commit-queue@webkit.org
  • 16 edits in trunk

Unreviewed, rolling out r135172.
http://trac.webkit.org/changeset/135172
https://bugs.webkit.org/show_bug.cgi?id=102710

Broke some WebKit2 api tests :( (Requested by japhet on
#webkit).

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

Source/WebCore:

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::clearMainResourceLoader):
(WebCore::DocumentLoader::isLoadingInAPISense):
(WebCore::DocumentLoader::documentURL):
(WebCore::DocumentLoader::isLoadingMainResource):
(WebCore::DocumentLoader::startLoadingMainResource):

  • loader/DocumentLoader.h:

(DocumentLoader):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::init):

  • loader/FrameLoaderStateMachine.cpp:

(WebCore::FrameLoaderStateMachine::FrameLoaderStateMachine):

  • loader/FrameLoaderStateMachine.h:
  • loader/MainResourceLoader.cpp:

(WebCore::shouldLoadAsEmptyDocument):
(WebCore):
(WebCore::MainResourceLoader::continueAfterContentPolicy):
(WebCore::MainResourceLoader::didReceiveResponse):
(WebCore::MainResourceLoader::didFinishLoading):
(WebCore::MainResourceLoader::handleEmptyLoad):
(WebCore::MainResourceLoader::loadNow):
(WebCore::MainResourceLoader::load):

  • loader/MainResourceLoader.h:

(MainResourceLoader):

Tools:

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::updateForCommittedLoad):

LayoutTests:

  • http/tests/inspector/network/network-iframe-load-and-delete.html:
  • http/tests/loading/redirect-methods-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:
1:23 PM Changeset in webkit [135191] by Dimitri Glazkov
  • 2 edits
    1 add in trunk/Tools

[garden-o-matic] Enable serving garden-o-matic with gardeningserver.
https://bugs.webkit.org/show_bug.cgi?id=102703

Reviewed by Ojan Vafai.

To enable gardening from a Chrome OS device, we need the ability to serve garden-o-matic
from the same origin as the gardening server. This change gently massages the current
logic to adapt an extension-sniffing-based approach of identifying static files,
rather than requiring an explicit list.

  • Scripts/webkitpy/tool/servers/reflectionhandler.py:

(ReflectionHandler): Replaced STATIC_FILE_NAMES with STATIC_FILE_EXTENSIONS.
(ReflectionHandler._handle_request): Changed the logic to smell for extensions, rather than specific files.

  • Scripts/webkitpy/tool/servers/reflectionhandler_unittest.py: Added.
1:21 PM Changeset in webkit [135190] by ojan@chromium.org
  • 2 edits in trunk/Tools

Add DOM and HTML watchlists and add myself to a bunch of lists
https://bugs.webkit.org/show_bug.cgi?id=102707

Reviewed by Eric Seidel.

  • Scripts/webkitpy/common/config/watchlist:
1:05 PM Changeset in webkit [135189] by tony@chromium.org
  • 10 edits in trunk/Source

Remove 'is' prefix from WebSettings::isWebSecurityEnabled and WebSettings::isSpatialNavigationEnabled
https://bugs.webkit.org/show_bug.cgi?id=102548

Reviewed by Adam Barth.

Source/WebCore:

This allows us to use Settings.in to generate the code for this.

I didn't rename any of the WebKit API methods with similar names because that would
probably break consumers. It turns out that the getter is only called from
Source/WebKit/efl (most of the time, WebPreferences just sets values on Settings).

No new tests, just a refactor.

  • WebCore.exp.in: Remove symbols that are now inlined.
  • WebCore.order: Remove symbols that are now inlined.
  • dom/Document.cpp:

(WebCore::Document::initSecurityContext): Rename.

  • page/Settings.cpp:

(WebCore::Settings::Settings): Remove code since it will be generated.

  • page/Settings.h:

(Settings): Remove code since it will be generated.

  • page/Settings.in: Add entries to be generated.
  • page/SpatialNavigation.cpp:

(WebCore::isSpatialNavigationEnabled): Fix caller.

Source/WebKit/efl:

Rename call to WebCore::Settings.

  • ewk/ewk_view.cpp:

(_ewk_view_priv_new):

12:58 PM Changeset in webkit [135188] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL][TexMap] Complie error when considering warnings as errors
https://bugs.webkit.org/show_bug.cgi?id=102705

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

Change GaussianKernelHalfWidth to unsigned.

No new tests.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore):

12:43 PM Changeset in webkit [135187] by beidson@apple.com
  • 1 edit
    2 deletes in trunk/Source/WebKit2

Remove the source files for NetworkRequest from the repository.
They were obsoleted and removed from the project file awhile ago, but I forgot to nuke the source.

Unreviewed.

  • NetworkProcess/NetworkRequest.cpp: Removed.
  • NetworkProcess/NetworkRequest.h: Removed.
12:12 PM Changeset in webkit [135186] by beidson@apple.com
  • 6 edits in trunk/Source

Add 64-bit specializations for atomicIncrement and atomicDecrement
https://bugs.webkit.org/show_bug.cgi?id=102702

Reviewed by Eric Carlson.

Source/WebKit2:

Move away from the Darwin-specific OSAtomicIncrement64Barrier and use WTF::atomicIncrement instead.

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::generateWillSendRequestID): Adopt WTF::atomicIncrement.
(WebKit::generateCanAuthenticateAgainstProtectionSpaceID): Ditto.

  • WebProcess/mac/KeychainItemShimMethods.mm:

(WebKit::generateSecKeychainItemRequestID): Ditto.

  • WebProcess/mac/SecItemShimMethods.mm:

(WebKit::generateSecItemRequestID): Ditto.

Source/WTF:

  • wtf/Atomics.h:

(WTF::atomicIncrement): Add A 64-bit version for Darwin.
(WTF::atomicDecrement): Ditto.

12:06 PM Changeset in webkit [135185] by commit-queue@webkit.org
  • 7 edits
    2 deletes in trunk

Unreviewed, rolling out r134830.
http://trac.webkit.org/changeset/134830
https://bugs.webkit.org/show_bug.cgi?id=102701

ActiveDOMObject is not applicable to MutationObservers due to
being tied to a Document (Requested by aklein on #webkit).

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

Source/WebCore:

  • bindings/js/JSMutationObserverCustom.cpp:

(WebCore::JSMutationObserverConstructor::constructJSMutationObserver):

  • bindings/v8/custom/V8MutationObserverCustom.cpp:

(WebCore::V8MutationObserver::constructorCallback):

  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::create):
(WebCore::MutationObserver::MutationObserver):
(WebCore::MutationObserver::observationStarted):
(WebCore::MutationObserver::observationEnded):

  • dom/MutationObserver.h:

(WebCore):

  • dom/MutationObserver.idl:

LayoutTests:

  • fast/mutation/observer-wrapper-dropoff-expected.txt: Removed.
  • fast/mutation/observer-wrapper-dropoff.html: Removed.
12:05 PM Changeset in webkit [135184] by jochen@chromium.org
  • 6 edits in trunk/Tools

[chromium] move methods that only use the WebKit API from DRTTestRunner to TestRunner
https://bugs.webkit.org/show_bug.cgi?id=102676

Reviewed by Tony Chang.

In addition, I've replaced parsePageNumber with the more commonly used
cppVariantToInt32, moved abortModal to the list of stubbed out methods,
and removed setAutomaticLinkDetectionEnabled which wasn't used
anywhere.

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::reset):
(DRTTestRunner::overridePreference):

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):

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

(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner::TestRunner::reset):
(WebTestRunner):
(WebTestRunner::TestRunner::setTabKeyCyclesThroughElements):
(WebTestRunner::TestRunner::setAsynchronousSpellCheckingEnabled):
(WebTestRunner::TestRunner::execCommand):
(WebTestRunner::TestRunner::isCommandEnabled):
(WebTestRunner::TestRunner::pauseAnimationAtTimeOnElementWithId):
(WebTestRunner::TestRunner::pauseTransitionAtTimeOnElementWithId):
(WebTestRunner::TestRunner::elementDoesAutoCompleteForElementWithId):
(WebTestRunner::TestRunner::numberOfActiveAnimations):
(WebTestRunner::TestRunner::callShouldCloseOnWebView):
(WebTestRunner::TestRunner::setDomainRelaxationForbiddenForURLScheme):
(WebTestRunner::TestRunner::evaluateScriptInIsolatedWorldAndReturnValue):
(WebTestRunner::TestRunner::evaluateScriptInIsolatedWorld):
(WebTestRunner::TestRunner::setIsolatedWorldSecurityOrigin):
(WebTestRunner::TestRunner::setIsolatedWorldContentSecurityPolicy):
(WebTestRunner::TestRunner::addOriginAccessWhitelistEntry):
(WebTestRunner::TestRunner::removeOriginAccessWhitelistEntry):
(WebTestRunner::TestRunner::hasCustomPageSizeStyle):
(WebTestRunner::TestRunner::forceRedSelectionColors):
(WebTestRunner::TestRunner::addUserScript):
(WebTestRunner::TestRunner::addUserStyleSheet):
(WebTestRunner::TestRunner::startSpeechInput):
(WebTestRunner::TestRunner::loseCompositorContext):
(WebTestRunner::TestRunner::markerTextForListItem):
(WebTestRunner::TestRunner::findString):
(WebTestRunner::TestRunner::setMinimumTimerInterval):
(WebTestRunner::TestRunner::setAutofilled):
(WebTestRunner::TestRunner::setValueForUser):
(WebTestRunner::TestRunner::enableFixedLayoutMode):
(WebTestRunner::TestRunner::setFixedLayoutSize):
(WebTestRunner::TestRunner::selectionAsMarkup):
(WebTestRunner::TestRunner::setTextSubpixelPositioning):
(WebTestRunner::TestRunner::resetPageVisibility):
(WebTestRunner::TestRunner::setPageVisibility):
(WebTestRunner::TestRunner::setTextDirection):
(WebTestRunner::TestRunner::textSurroundingNode):
(WebTestRunner::TestRunner::workerThreadCount):
(WebTestRunner::TestRunner::cppVariantToBool):
(WebTestRunner::TestRunner::cppVariantToInt32):
(WebTestRunner::TestRunner::cppVariantToWebString):
(WebTestRunner::TestRunner::cppVariantToWebStringArray):
(WebTestRunner::TestRunner::printErrorMessage): formerly logErrorToConsole
(WebTestRunner::TestRunner::fallbackMethod):

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

(WebKit):
(WebTestRunner::TestRunner::setWebView):
(TestRunner):

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::createMainWindow):
(TestShell::~TestShell):

12:02 PM Changeset in webkit [135183] by yael@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening after r133898.
Cleanup the list of compositing tests failures.

  • platform/efl/TestExpectations:
12:01 PM Changeset in webkit [135182] by commit-queue@webkit.org
  • 4 edits in trunk/Source

Unreviewed, rolling out r135180.
http://trac.webkit.org/changeset/135180
https://bugs.webkit.org/show_bug.cgi?id=102700

breaks ui/compositor build (Requested by danakj on #webkit).

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

Source/Platform:

  • chromium/public/WebCompositorSupport.h:

(WebCompositorSupport):
(WebKit::WebCompositorSupport::setPerTilePaintingEnabled):
(WebKit::WebCompositorSupport::setPartialSwapEnabled):
(WebKit::WebCompositorSupport::setAcceleratedAnimationEnabled):
(WebKit::WebCompositorSupport::setPageScalePinchZoomEnabled):

Source/WebKit/chromium:

  • tests/GraphicsLayerChromiumTest.cpp:

(WebKit::GraphicsLayerChromiumTest::GraphicsLayerChromiumTest):

11:30 AM Changeset in webkit [135181] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Remove RTSP handling from FrameLoaderClientBlackBerry
https://bugs.webkit.org/show_bug.cgi?id=102692

Patch by Liam Quinn <lquinn@rim.com> on 2012-11-19
Reviewed by Rob Buis.

Reviewed internally by George Staikos. Internal PR 242750.

Our RTSP handling in FrameLoaderClientBlackBerry causes HTTP redirects to "rtsp:" URIs to fail. Remove handling of RTSP from this class; it will be moved to the network layer alongside other URI schemes like "data:" and "file:".

  • WebCoreSupport/FrameLoaderClientBlackBerry.cpp:

(WebCore::FrameLoaderClientBlackBerry::createDocumentLoader):

11:22 AM Changeset in webkit [135180] by danakj@chromium.org
  • 3 edits in trunk/Source

[chromium] Remove the WebCompositorSupport virtual methods from the base class
https://bugs.webkit.org/show_bug.cgi?id=102153

Reviewed by James Robinson.

These methods have now been removed from WebCompositorSupportImpl in
chromium and should be removed from the base class. Everything is
going through WebLayerTreeSettings now.

  • chromium/public/WebCompositorSupport.h:
11:22 AM Changeset in webkit [135179] by beidson@apple.com
  • 18 edits in trunk/Source

NetworkProcess Authentication.
https://bugs.webkit.org/show_bug.cgi?id=102592

Reviewed by Alexey Proskuryakov.

Source/WebCore:

Change an ASSERT that assumes there should be a resource handle which is not true with the NetworkProcess.

Also export some more stuff.

No new tests (Platform support, no effect in tested configs).

  • WebCore.exp.in:
  • loader/ResourceLoader.cpp:

(WebCore::ResourceLoader::didReceiveAuthenticationChallenge): Only ASSERT that the handle has a challenge if

there is a handle.

Source/WebKit2:

This get's basic HTTP authentication working with the NetworkProcess by dispatching authentication
related events to the WebProcess and relying on existing client APIs to answer them.

Implement ResourceHandleClient methods related to auth challenges and message them to the WebProcess.
Also implement messaging back from the WebProcess to response to those auth challenges:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::willSendRequestResponseMap):
(WebKit::NetworkResourceLoader::willSendRequest):
(WebKit::NetworkResourceLoader::willSendRequestHandled):
(WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
(WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
(WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge):
(WebKit::NetworkResourceLoader::receivedCancellation):
(WebKit::NetworkResourceLoader::receivedAuthenticationCredential):
(WebKit::NetworkResourceLoader::receivedRequestToContinueWithoutAuthenticationCredential):
(WebKit::NetworkResourceLoader::receivedAuthenticationCancellation):
(WebKit::canAuthenticateAgainstProtectionSpaceResponseMap):
(WebKit::generateCanAuthenticateAgainstProtectionSpaceID):
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
(WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceHandled):

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/NetworkResourceLoader.messages.in:

Implement messaging to response to auth challenges from the NetworkProcess, and implement
AuthenticationClient to response to auth responses from WebProcess clients:

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace):
(WebKit::WebResourceLoader::didReceiveAuthenticationChallenge):
(WebKit::WebResourceLoader::didCancelAuthenticationChallenge):
(WebKit::WebResourceLoader::receivedCredential):
(WebKit::WebResourceLoader::receivedRequestToContinueWithoutCredential):
(WebKit::WebResourceLoader::receivedCancellation):

  • WebProcess/Network/WebResourceLoader.h:

(WebKit::WebResourceLoader::refAuthenticationClient):
(WebKit::WebResourceLoader::derefAuthenticationClient):

  • WebProcess/Network/WebResourceLoader.messages.in:

Add a BlockingResponseMap for bool responses, which don't need OwnPtr trickery:

  • Shared/BlockingResponseMap.h:

(BlockingBoolResponseMap::waitForResponse):
(BlockingBoolResponseMap::didReceiveResponse):

Add "allowsStoredCredentials" to NetworkResourceLoadParameters so the NetworkProcess
already has the answer when the question is asked:

  • Shared/Network/NetworkResourceLoadParameters.cpp:

(WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
(WebKit::NetworkResourceLoadParameters::encode):
(WebKit::NetworkResourceLoadParameters::decode):

  • Shared/Network/NetworkResourceLoadParameters.h:

(WebKit::NetworkResourceLoadParameters::allowStoredCredentials):

Grab the value for "allowsStoredCredentials" when scheduling the load in the NetworkProcess:

  • WebProcess/Network/WebResourceLoadScheduler.cpp:

(WebKit::WebResourceLoadScheduler::scheduleLoad):

Add a FIXME for client certs:

  • WebProcess/Authentication/mac/AuthenticationManager.mac.mm:

(WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):

Add a FIXME for downloads:

  • WebProcess/Downloads/mac/DownloadMac.mm:

Remove unused messaging related methods:

  • WebProcess/Network/NetworkProcessConnection.cpp:
  • WebProcess/Network/NetworkProcessConnection.h:
11:20 AM Changeset in webkit [135178] by commit-queue@webkit.org
  • 6 edits in trunk

[Chromium] Flash cannot receive scroll events when threaded compositing is in use
https://bugs.webkit.org/show_bug.cgi?id=101423

Patch by Yusuke Sato <yusukes@chromium.org> on 2012-11-19
Reviewed by James Robinson.

Source/WebKit/chromium:

Add setWantsWheelEvents() to Chromium's WebPluginContainer interface so that a plugin can tell the
container that the plugin always wants to handle wheel events even when a scroll bar is not shown.

  • public/WebPluginContainer.h:

(WebPluginContainer):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::setWantsWheelEvents):
(WebKit):
(WebKit::WebPluginContainerImpl::wantsWheelEvents):
(WebKit::WebPluginContainerImpl::WebPluginContainerImpl):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

Tools:

Call setWantsWheelEvents(true) in initialize() so that gesture-events and transformed-events tests in
LayoutTests/platform/chromium/plugins/ will not fail even if a buildbot introduces threaded compositing
in the future.

  • DumpRenderTree/chromium/TestWebPlugin.cpp:

(TestWebPlugin::initialize):

11:15 AM Changeset in webkit [135177] by alecflett@chromium.org
  • 6 edits in trunk/Source

IndexedDB: simplify RecordIdentifier
https://bugs.webkit.org/show_bug.cgi?id=102018

Reviewed by Tony Chang.

Source/WebCore:

Make IDBBackingStore's RecordIdentifier be a simple
class, existing only as an inline or stack-based instance.
This makes much of the copy semantics more explicit, and
removes refcounting from an object that only ever had a refcount
of 1 or 2.

No new tests, just a refactor.

  • Modules/indexeddb/IDBBackingStore.cpp:

(WebCore::IDBBackingStore::putRecord):
(WebCore::IDBBackingStore::deleteRecord):
(WebCore::IDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
(WebCore::IDBBackingStore::keyExistsInObjectStore):
(WebCore::IDBBackingStore::putIndexDataForRecord):
(WebCore::IDBBackingStore::deleteIndexDataForRecord):
(WebCore::ObjectStoreKeyCursorImpl::loadCurrentRow):
(ObjectStoreCursorImpl):
(WebCore::ObjectStoreCursorImpl::loadCurrentRow):
(WebCore::IndexKeyCursorImpl::recordIdentifier):
(WebCore::IndexCursorImpl::recordIdentifier):

  • Modules/indexeddb/IDBBackingStore.h:

(WebCore::IDBBackingStore::RecordIdentifier::RecordIdentifier):
(WebCore::IDBBackingStore::RecordIdentifier::isValid):
(WebCore::IDBBackingStore::RecordIdentifier::reset):
(RecordIdentifier):
(IDBBackingStore):
(WebCore::IDBBackingStore::Cursor::recordIdentifier):
(WebCore::IDBBackingStore::Cursor::Cursor):
(Cursor):

  • Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:

(WebCore):
(WebCore::IDBObjectStoreBackendImpl::setIndexKeys):
(WebCore::IDBObjectStoreBackendImpl::putInternal):
(WebCore::IDBObjectStoreBackendImpl::deleteInternal):

Source/WebKit/chromium:

Update IDBFakeBackingStore to match its parent class.

  • tests/IDBFakeBackingStore.h:
10:57 AM Changeset in webkit [135176] by commit-queue@webkit.org
  • 7 edits
    2 moves in trunk/Source/WebCore

Improve ContentTypeParser, so that it could be used to validate mime type according to RFC
https://bugs.webkit.org/show_bug.cgi?id=100927

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2012-11-19
Reviewed by Alexey Proskuryakov.

This patch adds ParsedContentType class that represents contents of parsed
content type string. isValidContentType function could be used to check if
format of the content type string is acorrding to RFC 2616 section 4.2.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/network/MIMEHeader.cpp:

(WebCore::MIMEHeader::parseHeader):

  • platform/network/ParsedContentType.cpp: Renamed from Source/WebCore/platform/network/ContentTypeParser.cpp.

(WebCore):
(EmptyParsedContentType):
(WebCore::EmptyParsedContentType::setContentType):
(WebCore::EmptyParsedContentType::setContentTypeParameter):
(WebCore::skipSpaces):
(WebCore::isTokenCharacter):
(WebCore::parseToken):
(WebCore::parseQuotedString):
(WebCore::substringForRange):
(WebCore::parseContentType):
(WebCore::isValidContentType):
(WebCore::ParsedContentType::ParsedContentType):
(WebCore::ParsedContentType::charset):
(WebCore::ParsedContentType::parameterValueForName):
(WebCore::ParsedContentType::parameterCount):
(WebCore::ParsedContentType::setContentType):
(WebCore::ParsedContentType::setContentTypeParameter):

  • platform/network/ParsedContentType.h: Renamed from Source/WebCore/platform/network/ContentTypeParser.h.

(WebCore):
(ParsedContentType):
(WebCore::ParsedContentType::mimeType):

10:20 AM Changeset in webkit [135175] by arv@chromium.org
  • 2 edits in trunk/Source/WebCore

Update DOMException name: InvalidNodeTypeError
https://bugs.webkit.org/show_bug.cgi?id=102519

Reviewed by Kentaro Hara.

Patch 24 of 25 to update DOMException name to match the spec and Firefox.

No code uses DOMException InvalidNodeTypeError. We do use INVALID_NODE_TYPE_ERR for RangeException. See bug 102515.

  • dom/DOMCoreException.cpp:
10:14 AM Changeset in webkit [135174] by shinyak@chromium.org
  • 9 edits
    14 adds in trunk

Changing id, className, or attribute should invalidate distribution
https://bugs.webkit.org/show_bug.cgi?id=100738

Reviewed by Dimitri Glazkov.

PerformanceTests:

Added test code to modify id/class/attribute.

  • DOM/ModifyAttribute.html: Added.
  • DOM/resources/dom-perf/modify-attribute.js: Added.

(ModifyAttribute.CreateElementToSetUp):
(ModifyAttribute.ModifyId):
(ModifyAttribute.ModifyClass):
(ModifyAttribute.ModifyTitle):

Source/WebCore:

When id, className, or attribute is changed, we might have to invalidate distribution.
However, we don't want to do useless invalidation. So we consult with the RuleFeatureSet of ElementShadow
to invalidate distribution only if necessary.

For the code that className is changed, we can share a lot of code between invalidating distribution and
invalidating style. So we made checkNeedsStyleInvalidationForClassChange a template method, and share it.

Since attributeChanged() is a hot method, we don't want to make it slow. So we made one function to determine
whether we have to invalidate distribution, and make it called only if necessary. Also, we've optimized
shadowOfParentForDistribution() by making isInsertionPoint() de-virtualed. We consuded NodeFlags (IsInsertionPointFlag)
for this purpose.

We've measured how this patch makes changing attribute slow. I've measured each code 3 times.
DOM/ModifyAttribute.html is a micro benchmark which changes attribute a lot of times. The result of this benchmark
will be the most affected by this patch. However, it's only 2% performance regression.

DOM/ModifyAttribute.html
Before this patch:

median stdev min max [ms]

1st 494.0 3.36 490.0 502.0
2nd 503.5 3.44 497.0 512.0
3rd 494.0 3.48 488.0 499.0

After this patch:

median stdev min max [ms]

1st 504.0 2.00 501.0 509.0
2nd 505.5 3.08 500.0 513.0
3rd 507.0 2.32 502.0 510.0

Tests: fast/dom/shadow/distribution-attribute-modified.html

fast/dom/shadow/distribution-className-modified.html
fast/dom/shadow/distribution-id-modified.html
fast/dom/shadow/reprojection-attribute-modified.html
fast/dom/shadow/reprojection-className-modified.html
fast/dom/shadow/reprojection-id-modified.html

  • dom/Element.cpp:

(WebCore::Element::attributeChanged):
(WebCore::HasSelectorForClassStyleFunctor::HasSelectorForClassStyleFunctor):
(HasSelectorForClassStyleFunctor):
(WebCore::HasSelectorForClassStyleFunctor::operator()): Returns true if StyleResolver::hasSelectorForClass returns true.
(WebCore):
(WebCore::HasSelectorForClassDistributionFunctor::HasSelectorForClassDistributionFunctor):
(HasSelectorForClassDistributionFunctor):
(WebCore::HasSelectorForClassDistributionFunctor::operator()): Returns true if ElementShadow::hasSelectForClass returns true.
(WebCore::checkFunctorForClassChange):
(WebCore::checkNeedsStyleInvalidationForClassChange):
(WebCore::checkNeedsDistributionInvalidationForClassChange): Extracted the implementation to checkFunctorForClassChange.
(WebCore::Element::shouldInvalidateDistributionWhenAttributeChanged):

  • dom/Element.h:

(Element):

  • dom/Node.h:

(WebCore::Node::isInsertionPoint):

  • html/HTMLElement.h:

(HTMLElement):

  • html/shadow/InsertionPoint.cpp:

(WebCore::InsertionPoint::InsertionPoint):

  • html/shadow/InsertionPoint.h:

(InsertionPoint):
(WebCore::isInsertionPoint):
(WebCore::shadowOfParentForDistribution):
(WebCore::resolveReprojection):

LayoutTests:

We have test cases that id/class/attribute is changed, and thier reprojection cases.

  • fast/dom/shadow/distribution-attribute-modified-expected.html: Added.
  • fast/dom/shadow/distribution-attribute-modified.html: Added.
  • fast/dom/shadow/distribution-className-modified-expected.html: Added.
  • fast/dom/shadow/distribution-className-modified.html: Added.
  • fast/dom/shadow/distribution-id-modified-expected.html: Added.
  • fast/dom/shadow/distribution-id-modified.html: Added.
  • fast/dom/shadow/reprojection-attribute-modified-expected.html: Added.
  • fast/dom/shadow/reprojection-attribute-modified.html: Added.
  • fast/dom/shadow/reprojection-className-modified-expected.html: Added.
  • fast/dom/shadow/reprojection-className-modified.html: Added.
  • fast/dom/shadow/reprojection-id-modified-expected.html: Added.
  • fast/dom/shadow/reprojection-id-modified.html: Added.
10:05 AM Changeset in webkit [135173] by ericu@chromium.org
  • 1 edit in branches/chromium/1312/Source/WebKit/chromium/src/ChromeClientImpl.cpp

Merge 134654 - [chromium] Don't let shift-click turn popup into tab.
https://bugs.webkit.org/show_bug.cgi?id=102254

Reviewed by Adam Barth.

Change http://trac.webkit.org/changeset/132399 broke shift-click on
compose in GMail. We didn't want to change behavior that people were
depending on, and this quick fix seems a good compromise between user
intent and developer intent.

  • src/ChromeClientImpl.cpp:

(WebKit::updatePolicyForEvent):

TBR=ericu@chromium.org
Review URL: https://codereview.chromium.org/11413067

10:00 AM Changeset in webkit [135172] by Nate Chapin
  • 16 edits in trunk

Move empty loading to DocumentLoader, simplify FrameLoader::init()
https://bugs.webkit.org/show_bug.cgi?id=101512

Reviewed by Adam Barth.

Source/WebCore:

No new tests, though several outputs changed because we no longer send resource

load callbacks for empty loads.

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::clearMainResourceLoader):
(WebCore::DocumentLoader::isLoadingInAPISense):
(WebCore::DocumentLoader::isLoadingMainResource):
(WebCore::DocumentLoader::maybeLoadEmpty):
(WebCore):
(WebCore::DocumentLoader::startLoadingMainResource): Handle empty main resource

loads directly here.

  • loader/DocumentLoader.h:

(DocumentLoader):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader): Initialize some variables whose values

were previously being reset in init(). Given that the FrameLoader is in
an inconsistent state before init() is called anyway, there doesn't seem
to be a disadvantage to just initializing them to their post-init() values.

(WebCore::FrameLoader::init): Just call startLoadingMainResource(), instead of

doing a bunch of direct calls to functions FrameLoader shouldn't know about.

  • loader/FrameLoaderStateMachine.cpp:

(WebCore::FrameLoaderStateMachine::FrameLoaderStateMachine):

  • loader/FrameLoaderStateMachine.h:
  • loader/MainResourceLoader.cpp: Throughout, remove the concept of an empty load.

(WebCore::MainResourceLoader::loadNow): This only returned true when an empty

load got deferred, which won't happen now. Return void and always treat
as returning false.

  • loader/MainResourceLoader.h:

(MainResourceLoader):

Tools:

Chromium DRT has some code that doesn't play nicely with empty urls and incorrectly
interprets them as a non-empty load. This ensures
http/tests/navigation/new-window-redirect-history.html continues to pass
in chromium.

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::updateForCommittedLoad):

LayoutTests:

Don't expect resource load callbacks for empty loads.

  • http/tests/inspector/network/network-iframe-load-and-delete.html:
  • http/tests/loading/redirect-methods-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:
9:58 AM Changeset in webkit [135171] by kbalazs@webkit.org
  • 2 edits in trunk/LayoutTests

REGRESSION(r132907): It made animations/negative-delay.html flaky https://bugs.webkit.org/show_bug.cgi?id=100769

Unreviewed gardening (Qt).

These tests are rather flaky, mark them as so.

  • platform/qt-5.0-wk2/TestExpectations:
9:51 AM Changeset in webkit [135170] by scheib@chromium.org
  • 5 edits in trunk

[Chromium] Remove WebKit::WebRuntimeFeatures::enablePointerLock.
https://bugs.webkit.org/show_bug.cgi?id=96946

Reviewed by Adam Barth.

The runtime flag functionality has already been removed.
Now that Chromium no longer has a compile dependency on this
API, it can be removed as well.

Source/WebKit/chromium:

  • public/WebRuntimeFeatures.h:

(WebRuntimeFeatures):

  • src/WebRuntimeFeatures.cpp:

Tools:

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::TestShell):

9:36 AM Changeset in webkit [135169] by arv@chromium.org
  • 3 edits in trunk

Update DOMException name: TimeoutError
https://bugs.webkit.org/show_bug.cgi?id=102513

Reviewed by Kentaro Hara.

Patch 23 of 25 to update DOMException name to match the spec and Firefox.

No code uses DOMException TimeoutError. We do use TIMEOUT_ERR for XMLHttpRequestException. See bug 102506.

  • dom/DOMCoreException.cpp:
9:10 AM Changeset in webkit [135168] by arv@chromium.org
  • 14 edits in trunk

Update DOMException name: DataCloneError
https://bugs.webkit.org/show_bug.cgi?id=102521

Reviewed by Kentaro Hara.

Source/WebCore:

Patch 25 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • fast/dom/Window/anonymous-slot-with-changes-expected.txt:
  • fast/dom/Window/window-postmessage-clone-expected.txt:
  • fast/dom/shadow/shadowroot-clonenode-expected.txt:
  • fast/dom/shadow/shadowroot-clonenode.html:
  • fast/events/message-port-multi-expected.txt:
  • fast/filesystem/filesystem-unserializable-expected.txt:
  • platform/chromium/fast/dom/Window/window-postmessage-clone-expected.txt:
  • platform/chromium/fast/dom/Window/window-postmessage-clone-really-deep-array-expected.txt:
  • platform/gtk/fast/dom/Window/window-postmessage-clone-expected.txt:
  • webintents/web-intents-obj-constructor-expected.txt:
  • webintents/web-intents-obj-constructor.html:
8:56 AM Changeset in webkit [135167] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Improve performance of RenderBoxModelObject::paintTranslucentBorderSides()
https://bugs.webkit.org/show_bug.cgi?id=98660

Patch by Tom Hudson <tomhudson@chromium.org> on 2012-11-19
Reviewed by Simon Fraser.

Accumulate edges[i].shouldRender() in a flag field and pass that to paintBorderSides()
and paintTranslucentBorderSides() so that we don't do unnecessary work.

If we can avoid setting up and tearing down an unnecessary transparent layer we save
30ms on some mobile platforms.

  • rendering/RenderBoxModelObject.h:
  • rendering/RenderBoxModelObject.cpp:

(WebCore::RenderBoxModelObject::paintBorder):
(WebCore::RenderBoxModelObject::paintTranslucentBorderSides):

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

[CSS Exclusions] remove null exclusion shape check from ExclusionShape::createExclusionShape
https://bugs.webkit.org/show_bug.cgi?id=100765

Patch by Hans Muller <hmuller@adobe.com> on 2012-11-19
Reviewed by Dirk Schulze.

ExclusionShape::createExclusionShape now ASSERTs that its basicShape argument
isn't null, since the caller is expected to ensure as much. No new tests were
needed since this is a near-trivial cleanup.

  • rendering/ExclusionShape.cpp:

(WebCore::ExclusionShape::createExclusionShape): This method no longer defends against a null basicShape argument by returning null.

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

Use device scale factor instead of physical screen DPI for screen DPI
https://bugs.webkit.org/show_bug.cgi?id=101769

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-11-19
Reviewed by Adam Barth.

Media queries call WebCore::Screen::{horizontal,vertical}DPI() to determine
the dots per CSS inch[1] value for the "screen" media type. On Chromium these
functions currently return the physical screen DPI, which is wrong. To fix
this, we remove both of these functions entirely and make media queries use
the device scale factor multiplied by 96 on all ports.

[1] http://www.w3.org/TR/css3-mediaqueries/#resolution0

  • page/Screen.cpp:

(WebCore::Screen::horizontalDPI):
(WebCore::Screen::verticalDPI):

  • platform/PlatformScreen.h:

(WebCore):

  • platform/blackberry/PlatformScreenBlackBerry.cpp:
  • platform/chromium/PlatformScreenChromium.cpp:
  • platform/efl/PlatformScreenEfl.cpp:
  • platform/gtk/PlatformScreenGtk.cpp:
  • platform/mac/PlatformScreenMac.mm:
  • platform/qt/PlatformScreenQt.cpp:
  • platform/win/PlatformScreenWin.cpp:
  • platform/wx/ScreenWx.cpp:
8:39 AM Changeset in webkit [135164] by jchaffraix@webkit.org
  • 11 edits
    1 copy in trunk/Source/WebCore

Computed grid items' positions shouldn't be using Length
https://bugs.webkit.org/show_bug.cgi?id=102537

Reviewed by Tony Chang.

This change refactors how we store the grid items' position to use
a new type GridPosition. Length was a temporary type as it supported
'auto' | <integer> but it was starting to get more and more confusing
as we were implementing the layout routines.

No change in behavior.

  • GNUmakefile.list.am:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:

Added the new file to the build systems.

  • rendering/style/RenderStyle.h:

Updated after the type change. Also made some getters
return a const reference instead of forcing a copy.

  • rendering/style/StyleGridItemData.h:

(StyleGridItemData):
Ditto, also removed a comment about adding a new type.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::valueForGridPosition):

  • css/StyleResolver.cpp:

(WebCore::createGridPosition):
(WebCore::StyleResolver::applyProperty):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::resolveGridPosition):
Updated these sites after switching to GridPosition.

  • rendering/RenderGrid.h:

Changed resolveGridPosition signature: it now takes a GridPosition.

  • rendering/style/GridPosition.h: Added.

(WebCore::GridPosition::GridPosition):
Default constructor, creates an 'auto' position.

(WebCore::GridPosition::isPositive):
(WebCore::GridPosition::type):
(WebCore::GridPosition::isAuto):
(WebCore::GridPosition::setIntegerPosition):
(WebCore::GridPosition::integerPosition):
Helper functions.

(WebCore::GridPosition::operator==):
Required comparison operator for StyleGridItemData.

8:37 AM Changeset in webkit [135163] by commit-queue@webkit.org
  • 16 edits
    53 adds in trunk

Apply the resolved viewport rules
https://bugs.webkit.org/show_bug.cgi?id=95964

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

Source/WebCore:

This patch implements the CSS Device Adaptation specification. The
WebKit implementation relies on the already implemented Viewport Meta
infrastructure to notify the browser of viewport changes.

The implementation was tests with success on the Qt and EFL ports, but
basically every port supporting Viewport Meta should be fine.

The usage of @-webkit-viewport inside media queries (more tests coming
to map all the corner cases) is currently limited when the media query
depends on the viewport dimensions itself. Defining the width and height
based on screen size will fail on ports reporting the screen
size as the size of the browser window instead of the device screen.

Tests: css3/device-adapt/opera/cascading-001.xhtml

css3/device-adapt/opera/cascading-002.xhtml
css3/device-adapt/opera/cascading-003.xhtml
css3/device-adapt/opera/cascading-004.xhtml
css3/device-adapt/opera/constrain-001.xhtml
css3/device-adapt/opera/constrain-002.xhtml
css3/device-adapt/opera/constrain-003.xhtml
css3/device-adapt/opera/constrain-004.xhtml
css3/device-adapt/opera/constrain-005.xhtml
css3/device-adapt/opera/constrain-006.xhtml
css3/device-adapt/opera/constrain-007.xhtml
css3/device-adapt/opera/constrain-008.xhtml
css3/device-adapt/opera/constrain-009.xhtml
css3/device-adapt/opera/constrain-010.xhtml
css3/device-adapt/opera/constrain-011.xhtml
css3/device-adapt/opera/constrain-012.xhtml
css3/device-adapt/opera/constrain-013.xhtml
css3/device-adapt/opera/constrain-014.xhtml
css3/device-adapt/opera/constrain-015.xhtml
css3/device-adapt/opera/constrain-016.xhtml
css3/device-adapt/opera/constrain-017.xhtml
css3/device-adapt/opera/constrain-020.xhtml
css3/device-adapt/opera/syntax-001.xhtml
css3/device-adapt/opera/syntax-002.xhtml
css3/device-adapt/opera/syntax-003.xhtml

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSAllInOne.cpp:
  • css/RuleSet.cpp:

(WebCore::RuleSet::addRulesFromSheet):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::appendAuthorStyleSheets):
(WebCore::StyleResolver::~StyleResolver):

  • css/StyleResolver.h:

(StyleResolver):
(WebCore::StyleResolver::viewportStyleResolver):

  • css/ViewportStyleResolver.cpp: Added.

(WebCore):
(WebCore::ViewportStyleResolver::ViewportStyleResolver):
(WebCore::ViewportStyleResolver::addViewportRule):
(WebCore::ViewportStyleResolver::clearDocument):
(WebCore::ViewportStyleResolver::resolve):
(WebCore::ViewportStyleResolver::getViewportArgumentValue):

  • css/ViewportStyleResolver.h: Added.

(WebCore):
(ViewportStyleResolver):
(WebCore::ViewportStyleResolver::create):

  • dom/Document.h:

(WebCore::Document::setViewportArguments):

  • dom/ViewportArguments.cpp:

(WebCore::compareIgnoringAuto):
(WebCore):
(WebCore::ViewportArguments::resolve):

  • dom/ViewportArguments.h:

(ViewportAttributes):
(WebCore::ViewportArguments::ViewportArguments):
(ViewportArguments):
(WebCore::ViewportArguments::operator==):

LayoutTests:

Imported some of the CSS Device Adaptation tests submitted by
Opera to W3C CSS Test Suite. These tests are not yet approved but
they have a pretty good coverage of the specification.

Tests using Math.floor() where modified from the original version
using Math.round(), the reason being the round() version fails by
1px when the pixel ratio is different from 1.

Despite the fact they are all passing on the EFL MiniBrowser, I could
not enable them yet. WebKitTestRunner does not support fixed layout,
but that is the next goal.

  • css3/device-adapt/opera/cascading-001-expected.txt: Added.
  • css3/device-adapt/opera/cascading-001.xhtml: Added.
  • css3/device-adapt/opera/cascading-002-expected.txt: Added.
  • css3/device-adapt/opera/cascading-002.xhtml: Added.
  • css3/device-adapt/opera/cascading-003-expected.txt: Added.
  • css3/device-adapt/opera/cascading-003.xhtml: Added.
  • css3/device-adapt/opera/cascading-004-expected.txt: Added.
  • css3/device-adapt/opera/cascading-004.xhtml: Added.
  • css3/device-adapt/opera/constrain-001-expected.txt: Added.
  • css3/device-adapt/opera/constrain-001.xhtml: Added.
  • css3/device-adapt/opera/constrain-002-expected.txt: Added.
  • css3/device-adapt/opera/constrain-002.xhtml: Added.
  • css3/device-adapt/opera/constrain-003-expected.txt: Added.
  • css3/device-adapt/opera/constrain-003.xhtml: Added.
  • css3/device-adapt/opera/constrain-004-expected.txt: Added.
  • css3/device-adapt/opera/constrain-004.xhtml: Added.
  • css3/device-adapt/opera/constrain-005-expected.txt: Added.
  • css3/device-adapt/opera/constrain-005.xhtml: Added.
  • css3/device-adapt/opera/constrain-006-expected.txt: Added.
  • css3/device-adapt/opera/constrain-006.xhtml: Added.
  • css3/device-adapt/opera/constrain-007-expected.txt: Added.
  • css3/device-adapt/opera/constrain-007.xhtml: Added.
  • css3/device-adapt/opera/constrain-008-expected.txt: Added.
  • css3/device-adapt/opera/constrain-008.xhtml: Added.
  • css3/device-adapt/opera/constrain-009-expected.txt: Added.
  • css3/device-adapt/opera/constrain-009.xhtml: Added.
  • css3/device-adapt/opera/constrain-010-expected.txt: Added.
  • css3/device-adapt/opera/constrain-010.xhtml: Added.
  • css3/device-adapt/opera/constrain-011-expected.txt: Added.
  • css3/device-adapt/opera/constrain-011.xhtml: Added.
  • css3/device-adapt/opera/constrain-012-expected.txt: Added.
  • css3/device-adapt/opera/constrain-012.xhtml: Added.
  • css3/device-adapt/opera/constrain-013-expected.txt: Added.
  • css3/device-adapt/opera/constrain-013.xhtml: Added.
  • css3/device-adapt/opera/constrain-014-expected.txt: Added.
  • css3/device-adapt/opera/constrain-014.xhtml: Added.
  • css3/device-adapt/opera/constrain-015-expected.txt: Added.
  • css3/device-adapt/opera/constrain-015.xhtml: Added.
  • css3/device-adapt/opera/constrain-016-expected.txt: Added.
  • css3/device-adapt/opera/constrain-016.xhtml: Added.
  • css3/device-adapt/opera/constrain-017-expected.txt: Added.
  • css3/device-adapt/opera/constrain-017.xhtml: Added.
  • css3/device-adapt/opera/constrain-020-expected.txt: Added.
  • css3/device-adapt/opera/constrain-020.xhtml: Added.
  • css3/device-adapt/opera/syntax-001-expected.txt: Added.
  • css3/device-adapt/opera/syntax-001.xhtml: Added.
  • css3/device-adapt/opera/syntax-002-expected.txt: Added.
  • css3/device-adapt/opera/syntax-002.xhtml: Added.
  • css3/device-adapt/opera/syntax-003-expected.txt: Added.
  • css3/device-adapt/opera/syntax-003.xhtml: Added.
  • platform/efl/TestExpectations:
8:26 AM Changeset in webkit [135162] by arv@chromium.org
  • 42 edits in trunk

Update DOMException name: SecurityError
https://bugs.webkit.org/show_bug.cgi?id=102437

Reviewed by Kentaro Hara.

Source/WebCore:

Patch 18 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • fast/canvas/svg-taint-expected.txt:
  • fast/dom/Document/invalid-domain-change-throws-exception-expected.txt:
  • fast/dom/Document/script-tests/invalid-domain-change-throws-exception.js:
  • fast/dom/register-protocol-handler.html:
  • fast/frames/resources/sandboxed-iframe-storage-disallowed.html:
  • fast/frames/sandboxed-iframe-storage-expected.txt:
  • http/tests/loading/state-object-security-exception-expected.txt:
  • http/tests/notifications/legacy/show-expected.txt:
  • http/tests/security/canvas-remote-read-remote-image-blocked-no-crossorigin-expected.txt:
  • http/tests/security/canvas-remote-read-remote-image-expected.txt:
  • http/tests/security/canvas-remote-read-remote-image-redirect-expected.txt:
  • http/tests/security/contentSecurityPolicy/worker-script-src-expected.txt:
  • http/tests/security/cross-origin-local-storage-expected.txt:
  • http/tests/security/cross-origin-session-storage-expected.txt:
  • http/tests/security/cross-origin-websql-expected.txt:
  • http/tests/security/cross-origin-worker-websql-expected.txt:
  • http/tests/security/resources/sandboxed-iframe-document-cookie-read-denied.html:
  • http/tests/security/same-origin-storage-blocked-expected.txt:
  • http/tests/security/same-origin-websql-blocked-expected.txt:
  • http/tests/security/setDomainRelaxationForbiddenForURLScheme-expected.txt:
  • http/tests/security/storage-blocking-loosened-local-storage-expected.txt:
  • http/tests/security/storage-blocking-loosened-websql-expected.txt:
  • http/tests/security/storage-blocking-strengthened-local-storage-expected.txt:
  • http/tests/security/storage-blocking-strengthened-websql-expected.txt:
  • http/tests/security/webgl-remote-read-remote-image-blocked-no-crossorigin-expected.txt:
  • http/tests/websocket/tests/hybi/url-parsing-expected.txt:
  • http/tests/workers/shared-worker-redirect-expected.txt:
  • http/tests/workers/worker-redirect-expected.txt:
  • platform/chromium-win/websocket/tests/url-parsing-expected.txt:
  • platform/chromium/fast/dom/register-protocol-handler-expected.txt:
  • platform/chromium/http/tests/websocket/tests/hixie76/url-parsing-expected.txt:
  • platform/chromium/http/tests/websocket/tests/hybi/url-parsing-expected.txt:
  • platform/chromium/permissionclient/storage-permission-expected.txt:
  • platform/win-wk2/http/tests/inspector-enabled/database-open-expected.txt:
8:00 AM Changeset in webkit [135161] by yael@webkit.org
  • 2 edits
    7 adds in trunk/LayoutTests

Unreviewed gardening after r133898.
Added expected results for animation tests that are now passing.

  • platform/efl/TestExpectations:
  • platform/efl/animations/3d: Added.
  • platform/efl/animations/3d/change-transform-in-end-event-expected.png: Added.
  • platform/efl/animations/3d/change-transform-in-end-event-expected.txt: Added.
  • platform/efl/animations/3d/matrix-transform-type-animation-expected.png: Added.
  • platform/efl/animations/3d/matrix-transform-type-animation-expected.txt: Added.
  • platform/efl/animations/3d/state-at-end-event-transform-expected.png: Added.
  • platform/efl/animations/3d/state-at-end-event-transform-expected.txt: Added.
7:53 AM Changeset in webkit [135160] by arv@chromium.org
  • 4 edits in trunk

Update DOMException name: URLMismatchError
https://bugs.webkit.org/show_bug.cgi?id=102511

Reviewed by Kentaro Hara.

Source/WebCore:

Patch 21 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

(WebCore):

LayoutTests:

Updated tests and expectations.

  • fast/workers/shared-worker-shared-expected.txt:
7:42 AM Changeset in webkit [135159] by kihong.kwon@samsung.com
  • 20 edits in trunk

Add PROXIMITY_EVENTS feature
https://bugs.webkit.org/show_bug.cgi?id=102658

Reviewed by Kentaro Hara.

.:

Add PROXIMITY_EVENTS feature to cmake.

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

Add PROXIMITY_EVENTS feature to xcode project for JavaScriptCore.

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

Add PROXIMITY_EVENTS feature to xcode project for WebCorei and GNU make.

No new tests. Just add a new feature.

  • Configurations/FeatureDefines.xcconfig:
  • GNUmakefile.features.am:

Source/WebKit/chromium:

Add PROXIMITY_EVENTS feature to chromium port.

  • features.gypi:

Source/WebKit/mac:

Add PROXIMITY_EVENTS feature to xcode project for WebKit.

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

Add PROXIMITY_EVENTS feature to xcode project for WebKit2.

  • Configurations/FeatureDefines.xcconfig:

Tools:

Add PROXIMITY_EVENTS feature to FeatureList and qmake.

  • Scripts/webkitperl/FeatureList.pm:
  • qmake/mkspecs/features/features.pri:

WebKitLibraries:

Add PROXIMITY_EVENTS feature to win and win-cairo prot.

  • win/tools/vsprops/FeatureDefines.vsprops:
  • win/tools/vsprops/FeatureDefinesCairo.vsprops:
7:39 AM Changeset in webkit [135158] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Dim a component's subitems' color in NMI snapshot
https://bugs.webkit.org/show_bug.cgi?id=102224

Patch by Alexei Filippov <alph@chromium.org> on 2012-11-19
Reviewed by Yury Semikhatsky.

  • inspector/front-end/NativeMemorySnapshotView.js:

(WebInspector.NativeSnapshotNode.prototype._createSizeCell):

  • inspector/front-end/nativeMemoryProfiler.css:

(.native-snapshot-view .data-grid .dimmed div.size-bar):

7:35 AM Changeset in webkit [135157] by arv@chromium.org
  • 2 edits in trunk/Source/WebCore

Update DOMException name: NetworkError
https://bugs.webkit.org/show_bug.cgi?id=102503

Reviewed by Kentaro Hara.

Patch 19 of 25 to update DOMException name to match the spec and Firefox.

No code uses DOMException NetworkError. We do use NETWORK_ERR for XMLHttpRequestException. See bug 102506.

  • dom/DOMCoreException.cpp:
7:26 AM Changeset in webkit [135156] by loislo@chromium.org
  • 5 edits in trunk/Source/WebCore

webaudio: clean-up. Replace AudioContext::m_document member with ContextDestructionObserver::scriptExecutionContext().
https://bugs.webkit.org/show_bug.cgi?id=102649

Reviewed by Adam Barth.

AudioContext uses m_document only as a pointer to ScriptExecutionContext.
It could be safely replaced with ContextDestructionObserver::m_scriptExecutionContext.
The lifetime of m_scriptExecutionContext is slightly different but it could be adjusted by m_isStopScheduled flag.

No new tests as there is no new functionality.

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::looping):
(WebCore::AudioBufferSourceNode::setLooping):

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::stop):
(WebCore::AudioContext::scriptExecutionContext):
(WebCore::AudioContext::fireCompletionEvent):
(WebCore::AudioContext::reportMemoryUsage):

  • Modules/webaudio/AudioContext.h:

(AudioContext):

  • Modules/webaudio/ScriptProcessorNode.cpp:

(WebCore::ScriptProcessorNode::fireProcessEvent):
(WebCore::ScriptProcessorNode::scriptExecutionContext):

7:24 AM Changeset in webkit [135155] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt][WK2] Unreviewed gardening, unskip a now passing test.

  • platform/qt-5.0-wk2/TestExpectations:
6:58 AM Changeset in webkit [135154] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[EFL][WK2] Fix possible crash in EwkViewImpl::displayTimerFired()
https://bugs.webkit.org/show_bug.cgi?id=102682

Patch by Christophe Dumez <Christophe Dumez> on 2012-11-19
Reviewed by Kenneth Rohde Christiansen.

Add NULL check for DrawingAreaProxy and LayerTreeCoordinatorProxy
in displayTimerFired() to avoid crashing if those have already
been destroyed by the time to timer is fired.

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::layerTreeRenderer):
(EwkViewImpl::displayTimerFired):
(EwkViewImpl::createGLSurface):
(EwkViewImpl::enterAcceleratedCompositingMode):

  • UIProcess/API/efl/EwkViewImpl.h:

(WebKit):
(EwkViewImpl):

6:55 AM Changeset in webkit [135153] by Csaba Osztrogonác
  • 3 edits
    1 delete in trunk/LayoutTests

[Qt] Unreviewed gardening, skip new failing tests.

  • platform/qt-5.0-wk2/TestExpectations:
  • platform/qt-5.0-wk2/compositing/layer-creation/fixed-position-out-of-view-expected.txt: Removed, because it is unnecessary.
  • platform/qt/TestExpectations:
6:53 AM Changeset in webkit [135152] by loislo@chromium.org
  • 16 edits
    2 adds in trunk

webaudio: leak: AudioContext objects are leaking. They retain 36mb of shared data.
https://bugs.webkit.org/show_bug.cgi?id=102356

Reviewed by Adam Barth.

A clean-up code was moved from uninitialize to clear method.
AudioContext marks itself as hasPendingActivity in method constructCommon and unmarks itself in method clear.
m_isStopScheduled filters out second ActiveDOMObject::stop call.
markForDeletion appends AudioNode pointer to m_nodesToDelete array if there is no active audio thread.
adoptRef was added in createOfflineContext method.
A guard was added into deleteMarkedNodes.

Source/WebCore:

Test: inspector-protocol/nmi-webaudio-leak-test.html

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::createOfflineContext):
(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::constructCommon):
(WebCore::AudioContext::~AudioContext):
(WebCore::AudioContext::clear):
(WebCore::AudioContext::uninitialize):
(WebCore::AudioContext::stopDispatch):
(WebCore::AudioContext::stop):
(WebCore::AudioContext::markForDeletion):
(WebCore::AudioContext::scheduleNodeDeletion):
(WebCore::AudioContext::deleteMarkedNodes):

  • Modules/webaudio/AudioContext.h:

(AudioContext):

  • bindings/v8/custom/V8AudioContextCustom.cpp:

(WebCore::V8AudioContext::constructorCallback):

  • inspector/InspectorMemoryAgent.cpp:

(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):

  • platform/PlatformMemoryInstrumentation.cpp:

(WebCore::PlatformMemoryInstrumentation::reportMemoryUsage):
(WebCore):

  • platform/PlatformMemoryInstrumentation.h:

(PlatformMemoryInstrumentation):
(WebCore):

LayoutTests:

  • inspector-protocol/nmi-webaudio-leak-test-expected.txt: Added.
  • inspector-protocol/nmi-webaudio-leak-test.html: Added.
  • platform/chromium-android/TestExpectations:
  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
6:50 AM Changeset in webkit [135151] by commit-queue@webkit.org
  • 5 edits in trunk

[WK2][WTR] Memory leak in TestController::initialize()
https://bugs.webkit.org/show_bug.cgi?id=102616

Patch by Christophe Dumez <Christophe Dumez> on 2012-11-19
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Export a few additional WTF symbols for windows port.

  • win/WebKit2.def:

Tools:

Remove call to WKStringCreateWithUTF8CString() to construct
the icon database path which was leaking memory since the
returned WKStringRef was not adopted. The code now uses
WTF::String instead of std::string and converts it to a
WKStringRef using toWK().

  • WebKitTestRunner/StringFunctions.h:

(WTR::toWK): Overload toWK() to take a WTF::String in
argument.
(WTR):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::initialize):

6:43 AM Changeset in webkit [135150] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

[chromium] Use devicePixelRatio instead of screen DPI for computing viewport attributes
https://bugs.webkit.org/show_bug.cgi?id=101767

Patch by Sami Kyostila <skyostil@chromium.org> on 2012-11-19
Reviewed by Adam Barth.

Use the newly introduced device scale factor to calculate viewport properties
instead of using the screen DPI. No functional changes, because Chromium
platforms that have VIEWPORT enabled now also initialize the device scale
factor accordingly.

  • src/ChromeClientImpl.cpp:

(WebKit::ChromeClientImpl::dispatchViewportPropertiesDidChange):

  • tests/WebFrameTest.cpp:
6:30 AM Changeset in webkit [135149] by arv@chromium.org
  • 6 edits in trunk

Update DOMException name: QuotaExceededError
https://bugs.webkit.org/show_bug.cgi?id=102512

Reviewed by Kentaro Hara.

Source/WebCore:

Patch 22 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • security/crypto-random-values-limits-expected.txt:
  • storage/domstorage/localstorage/private-browsing-affects-storage-expected.txt:
  • storage/domstorage/sessionstorage/private-browsing-affects-storage-expected.txt:
6:25 AM Changeset in webkit [135148] by arv@chromium.org
  • 2 edits in trunk/Source/WebCore

Update DOMException name: AbortError
https://bugs.webkit.org/show_bug.cgi?id=102508

Reviewed by Kentaro Hara.

Patch 20 of 25 to update DOMException name to match the spec and Firefox.

No code uses DOMException AbortError. We do use ABORT_ERR for XMLHttpRequestException. See bug 102506.

  • dom/DOMCoreException.cpp:
5:43 AM Changeset in webkit [135147] by haraken@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed gardening.

  • platform/chromium-linux/fast/forms/month-multiple-fields/month-multiple-fields-value-set-empty-expected.txt: Added.
5:40 AM Changeset in webkit [135146] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

  • platform/chromium/TestExpectations:
5:36 AM Changeset in webkit [135145] by haraken@chromium.org
  • 16 edits
    2 deletes in trunk

Unreviewed, rolling out r135111.
http://trac.webkit.org/changeset/135111
https://bugs.webkit.org/show_bug.cgi?id=102356

The patch caused crashes in several layout tests

Source/WebCore:

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::createOfflineContext):
(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::constructCommon):
(WebCore::AudioContext::~AudioContext):
(WebCore::AudioContext::uninitialize):
(WebCore::AudioContext::uninitializeDispatch):
(WebCore::AudioContext::stop):
(WebCore::AudioContext::markForDeletion):
(WebCore::AudioContext::scheduleNodeDeletion):
(WebCore::AudioContext::deleteMarkedNodes):

  • Modules/webaudio/AudioContext.h:

(AudioContext):

  • bindings/v8/custom/V8AudioContextCustom.cpp:

(WebCore::V8AudioContext::constructorCallback):

  • inspector/InspectorMemoryAgent.cpp:

(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):

  • platform/PlatformMemoryInstrumentation.cpp:

(WebCore):

  • platform/PlatformMemoryInstrumentation.h:

LayoutTests:

  • inspector-protocol/nmi-webaudio-leak-test-expected.txt: Removed.
  • inspector-protocol/nmi-webaudio-leak-test.html: Removed.
  • platform/chromium-android/TestExpectations:
  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
5:34 AM Changeset in webkit [135144] by haraken@chromium.org
  • 5 edits in trunk/Source/WebCore

Unreviewed, rolling out r135116.
http://trac.webkit.org/changeset/135116
https://bugs.webkit.org/show_bug.cgi?id=102649

Revert this patch to revert r135111, which caused crashes in
several layout tests

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::looping):
(WebCore::AudioBufferSourceNode::setLooping):

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::stop):
(WebCore::AudioContext::document):
(WebCore):
(WebCore::AudioContext::hasDocument):
(WebCore::AudioContext::scriptExecutionContext):
(WebCore::AudioContext::fireCompletionEvent):
(WebCore::AudioContext::reportMemoryUsage):

  • Modules/webaudio/AudioContext.h:

(AudioContext):

  • Modules/webaudio/ScriptProcessorNode.cpp:

(WebCore::ScriptProcessorNode::fireProcessEvent):
(WebCore::ScriptProcessorNode::scriptExecutionContext):

5:24 AM Changeset in webkit [135143] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

  • platform/chromium/TestExpectations:
5:23 AM Changeset in webkit [135142] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WebCore

Web Inspector: Refine JsDoc in DebuggerScriptMapping.js
https://bugs.webkit.org/show_bug.cgi?id=102673

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-11-19
Reviewed by Vsevolod Vlasov.

DebuggerScriptMapping calls public method "addScript" not defined
in SourceMapping interface.

To make things clear I've added ScriptSourceMapping interface that
extends SourceMapping interface by adding "addScript" method.

  • inspector/front-end/SourceMapping.js: Added "ScriptSourceMapping".
  • inspector/front-end/CompilerScriptMapping.js:

Updated "@implements" to ScriptSourceMapping.

  • inspector/front-end/ResourceScriptMapping.js: Ditto.
  • inspector/front-end/ScriptSnippetModel.js: Ditto.
  • inspector/front-end/DebuggerScriptMapping.js: Updated signatures.

Removed useless code.

5:18 AM Changeset in webkit [135141] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

  • platform/chromium/TestExpectations:
5:07 AM Changeset in webkit [135140] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

  • platform/chromium/TestExpectations:
5:02 AM Changeset in webkit [135139] by haraken@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed. Rebaselined a text dump.

  • platform/chromium-win/fast/forms/month-multiple-fields/month-multiple-fields-value-set-empty-expected.txt: Added.
3:47 AM Changeset in webkit [135138] by kkristof@inf.u-szeged.hu
  • 3 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

Update test expectation and skip a new failing test.

  • platform/qt-5.0/fast/js/global-constructors-expected.txt:
  • platform/qt/TestExpectations:
3:38 AM Changeset in webkit [135137] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, untested build fix.

  • bindings/scripts/IDLParser.pm:

(parseModule):

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

[CSS3] Move CSSPropertyWebkitTextAlignLast into isValidKeywordPropertyAndValue function
https://bugs.webkit.org/show_bug.cgi?id=102303

Patch by Dongwoo Joshua Im <dw.im@samsung.com> on 2012-11-19
Reviewed by Alexis Menard.

Move the part which check whether CSSPropertyWebkitTextAlignLast has available value
into the isValidKeywordPropertyAndValue function, like the same kind of properties.
This will help speed wise in JS.

No new functionality, no new tests.

  • css/CSSParser.cpp:

(WebCore::isValidKeywordPropertyAndValue):
(WebCore::isKeywordPropertyID):
(WebCore::CSSParser::parseValue):

3:22 AM Changeset in webkit [135135] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit2

[GTK] Test /webkit2/WebKitWebView/create-ready-close is failing after r134586
https://bugs.webkit.org/show_bug.cgi?id=102668

Reviewed by Philippe Normand.

Check only that window properties match when creating a new window
if the expected window properties has been set. Also remove a
FIXME and actually check that x and y are equal to the expected
one, now that the issue is fixed.

  • UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
3:13 AM Changeset in webkit [135134] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][WK2] Enable media tests that pass after r135063
https://bugs.webkit.org/show_bug.cgi?id=102657

Unreviewed gardening, these test no longer crash after
https://bugs.webkit.org/show_bug.cgi?id=101428.

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

  • platform/efl-wk2/TestExpectations:
3:13 AM Changeset in webkit [135133] by keishi@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION (r133565): Calendar picker isn't animating when changing month by pressing 't'
https://bugs.webkit.org/show_bug.cgi?id=102660

Reviewed by Kent Tamura.

The calendar picker used to animate when you press 't'.

No new tests.

  • Resources/pagepopups/calendarPicker.js:

(DaysTable.prototype.selectRange):

3:11 AM Changeset in webkit [135132] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening, rebaselining after r135093.

  • platform/gtk/fast/js/global-constructors-expected.txt:
2:08 AM Changeset in webkit [135131] by tkent@chromium.org
  • 10 edits
    15 adds in trunk

input.value="" should clear date/time input elements with partial values
https://bugs.webkit.org/show_bug.cgi?id=102645

Reviewed by Kentaro Hara.

Source/WebCore:

Tests: fast/forms/date-multiple-fields/date-multiple-fields-value-set-empty.html

fast/forms/datetime-multiple-fields/datetime-multiple-fields-value-set-empty.html
fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-value-set-empty.html
fast/forms/month-multiple-fields/month-multiple-fields-value-set-empty.html
fast/forms/time-multiple-fields/time-multiple-fields-value-set-empty.html
fast/forms/week-multiple-fields/week-multiple-fields-value-set-empty.html

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::setValue):
If the new value is an empty string and sub-fields has values, we should
update the UI value to the empty state.

  • html/DateTimeFieldsState.h:

(WebCore::DateTimeFieldsState::hasAnyValue):
Added. It returns true if one or more sub-fields are not empty.

LayoutTests:

  • Add tests for each of date/time input types.
  • Add them to TextExpectations for platforms without ENABLE_INPUT_MULTIPLE_FIELDS_UI.
  • fast/forms/date-multiple-fields/date-multiple-fields-value-set-empty-expected.txt: Added.
  • fast/forms/date-multiple-fields/date-multiple-fields-value-set-empty.html: Added.
  • fast/forms/datetime-multiple-fields/datetime-multiple-fields-value-set-empty-expected.txt: Added.
  • fast/forms/datetime-multiple-fields/datetime-multiple-fields-value-set-empty.html: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-value-set-empty-expected.txt: Added.
  • fast/forms/datetimelocal-multiple-fields/datetimelocal-multiple-fields-value-set-empty.html: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-value-set-empty-expected.txt: Added.
  • fast/forms/month-multiple-fields/month-multiple-fields-value-set-empty.html: Added.
  • fast/forms/resources/multiple-fields-value-set-empty.js: Added.
  • fast/forms/time-multiple-fields/time-multiple-fields-value-set-empty-expected.txt: Added.
  • fast/forms/time-multiple-fields/time-multiple-fields-value-set-empty.html: Added.
  • fast/forms/week-multiple-fields/week-multiple-fields-value-set-empty-expected.txt: Added.
  • fast/forms/week-multiple-fields/week-multiple-fields-value-set-empty.html: Added.
  • platform/chromium-android/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/qt/TestExpectations:
  • platform/win/TestExpectations:
2:03 AM Changeset in webkit [135130] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [Canvas] if many canvases are being instrumented show the screenshot of the first one
https://bugs.webkit.org/show_bug.cgi?id=102522

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

When many canvases are being instrumented we'll want to show replay screenshots for each canvas.
Meanwhile, show the screenshot of the first one (instead of the last one), as it's likely to be the "main" canvas.
Drive-by: add more typification for the JS compiler.
Drive-by: create a new canvas for WebGL replay every time (similar to 2D replay) to avoid problems with resetting the context state.

  • inspector/InjectedScriptCanvasModuleSource.js:

(.):

2:01 AM Changeset in webkit [135129] by haraken@chromium.org
  • 14 edits
    1 delete in trunk

Remove IDLStructure.pm
https://bugs.webkit.org/show_bug.cgi?id=102642

Reviewed by Adam Barth.

Previously IDLStructure.pm was full of regular expressions to
parse IDL files. Now a new IDL parser is implemented, IDLStructure.pm
just contains several data structures for the IDL parser. We can
move them to IDLParser.pm and thus remove IDLStructure.pm.

No tests. No change in generated code.

Source/WebCore:

  • CMakeLists.txt:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.am:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.vcproj/MigrateScripts:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/scripts/IDLParser.pm:

(Parse):
(parseInterface):
(parseException):
(parseConst):
(parseAttributeRest):
(parseOperationRest):
(parseOptionalOrRequiredArgument):
(parseExceptionField):
(parseInterfaceOld):
(parseExceptionOld):
(parseAttributeRestOld):
(applyExtendedAttributeList):

  • bindings/scripts/IDLStructure.pm: Removed.

Tools:

  • WebKitTestRunner/DerivedSources.make:
  • WebKitTestRunner/GNUmakefile.am:
  • WebKitTestRunner/InjectedBundle/DerivedSources.pri:
1:40 AM Changeset in webkit [135128] by commit-queue@webkit.org
  • 7 edits in trunk

Web Inspector: refine time and bytes output formatting
https://bugs.webkit.org/show_bug.cgi?id=102265

Patch by Alexei Filippov <alph@chromium.org> on 2012-11-19
Reviewed by Yury Semikhatsky.

Add a space between number and unit, otherwise it's hard to read things like 88B.
Reduce a number of decimal digits in KB and MB formats. 1023.45KB seems to be too detailed.

Source/WebCore:

  • English.lproj/localizedStrings.js:
  • inspector/front-end/CookiesTable.js:

(WebInspector.CookiesTable.prototype._createGridNode):

  • inspector/front-end/UIUtils.js:

(Number.secondsToString):
(Number.bytesToString):

LayoutTests:

  • inspector/audits/audits-panel-functional-expected.txt:
  • inspector/audits/audits-panel-noimages-functional-expected.txt:
1:38 AM Changeset in webkit [135127] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Timeline: DomContentLoaded event labeled incorrectly
https://bugs.webkit.org/show_bug.cgi?id=102383

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-11-19
Reviewed by Yury Semikhatsky.

Fixed string presentation of event.

  • inspector/front-end/TimelinePresentationModel.js: Fixed string.
1:32 AM Changeset in webkit [135126] by kbalazs@webkit.org
  • 2 edits in trunk/Source/WebKit2

Unreviewed buildfix.

Fix -Wdelete-non-virtual-destructor error with gcc 4.7 after r135056.

  • Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:

(WebCustomFilterProgramProxy): This is a polymorphic derived class
so the destructor should be virtual.

1:19 AM Changeset in webkit [135125] by dominik.rottsches@intel.com
  • 1 edit
    1 add in trunk/LayoutTests

[EFL] Update expectation for fast/js/global-constructors.html after r135093
https://bugs.webkit.org/show_bug.cgi?id=102653

Unreviewed EFL gardening.

Update EFL baseline for fast/js/global-constructors.html after r135093.

Patch by Christophe Dumez <Christophe Dumez> on 2012-11-19

  • platform/efl/fast/js/global-constructors-expected.txt: Added.
12:48 AM Changeset in webkit [135124] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[CG][WK2] Assertion in CoordinatedGraphicsLayer::setContentsToImage(WebCore::Image*)
https://bugs.webkit.org/show_bug.cgi?id=102652

Patch by Christophe Dumez <Christophe Dumez> on 2012-11-19
Reviewed by Kenneth Rohde Christiansen.

Handle null return of nativeImageForCurrentFrame similarly to Chromium
port in r130610. This can happen if there is an error early in the
decoding of an image.

Test: Already covered by compositing/images/truncated-direct-png-image.html

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setContentsToImage):

12:45 AM Changeset in webkit [135123] by haraken@chromium.org
  • 10 edits
    1 add in trunk/Source/WebCore

Unreviewed, rolling out r135114.
http://trac.webkit.org/changeset/135114
https://bugs.webkit.org/show_bug.cgi?id=102642

it broke Qt build

  • CMakeLists.txt:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.am:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.vcproj/MigrateScripts:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/scripts/IDLParser.pm:

(Parse):
(parseInterface):
(parseException):
(parseConst):
(parseAttributeRest):
(parseOperationRest):
(parseOptionalOrRequiredArgument):
(parseExceptionField):
(parseInterfaceOld):
(parseExceptionOld):
(parseAttributeRestOld):
(applyExtendedAttributeList):

  • bindings/scripts/IDLStructure.pm: Added.
12:44 AM Changeset in webkit [135122] by vsevik@chromium.org
  • 3 edits in trunk/Source/WebCore

Unreviewed inspector closure compilation fix.

  • inspector/front-end/ObjectPropertiesSection.js:
  • inspector/front-end/externs.js:
12:02 AM Changeset in webkit [135121] by keishi@webkit.org
  • 2 edits
    20 adds in trunk/LayoutTests

[Chromium] Add tests for week suggestion picker
https://bugs.webkit.org/show_bug.cgi?id=102039

Reviewed by Kent Tamura.

Adding tests for datalist UI for <input type=week>.

  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-key-operations-expected.txt: Added.
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-rtl.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance-with-scroll-bar.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-appearance.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-key-operations-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-key-operations.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-min-max-attribute-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-min-max-attribute.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-mouse-operations-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-mouse-operations.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-reset-value-after-reload-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-reset-value-after-reload.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-step-attribute-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/week-suggestion-picker-step-attribute.html: Added.

Nov 18, 2012:

11:59 PM Changeset in webkit [135120] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL][WK2] Skip networkinformation tests wrongly unskipped in r135096
https://bugs.webkit.org/show_bug.cgi?id=102650

Unreviewed EFL gardening.

Skip again for EFL Debug bots several networkinformation tests
that were wrongly unskipped in r135096 as they still hit an
assertion.

Patch by Christophe Dumez <Christophe Dumez> on 2012-11-18

  • platform/efl-wk2/TestExpectations:
11:55 PM Changeset in webkit [135119] by commit-queue@webkit.org
  • 4 edits in trunk

.: Remove non-existent directories from the make system
https://bugs.webkit.org/show_bug.cgi?id=102632

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2012-11-18
Reviewed by Kenneth Rohde Christiansen.

Remove (non-existent) symbian references from the exclude list for packaging.

  • Source/cmake/WebKitPackaging.cmake:

Source/WebKit/qt: [Qt] Remove remaining traces of symbian
https://bugs.webkit.org/show_bug.cgi?id=102634

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2012-11-18
Reviewed by Kenneth Rohde Christiansen.

Remove symbian related part from the API documentation.

  • Api/qgraphicswebview.cpp:
  • Api/qwebview.cpp:
11:52 PM Changeset in webkit [135118] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Not to include "ewk_view_private.h" in Tools
https://bugs.webkit.org/show_bug.cgi?id=102644

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-11-18
Reviewed by Gyuyoung Kim.

Include ewk_view.h instead of ewk_view_private.h in Tools

  • DumpRenderTree/efl/PixelDumpSupportEfl.cpp:
11:45 PM Changeset in webkit [135117] by commit-queue@webkit.org
  • 66 edits in trunk/Source/WebKit2

[EFL][WK2] Remove underscore characters in Ewk class names.
https://bugs.webkit.org/show_bug.cgi?id=102641

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-11-18
Reviewed by Gyuyoung Kim.

WebKit EFL doesn't use '_' in C++ class names.

  • UIProcess/API/efl/EwkViewCallbacks.h:
  • UIProcess/API/efl/EwkViewImpl.h:

(EwkViewImpl::settings):
(EwkViewImpl::backForwardList):
(EwkViewImpl):

  • UIProcess/API/efl/ewk_auth_request.h:
  • UIProcess/API/efl/ewk_auth_request_private.h:
  • UIProcess/API/efl/ewk_back_forward_list.cpp:

(EwkBackForwardList::EwkBackForwardList):
(EwkBackForwardList::nextItem):
(EwkBackForwardList::previousItem):
(EwkBackForwardList::currentItem):
(EwkBackForwardList::itemAt):
(EwkBackForwardList::size):
(EwkBackForwardList::backList):
(EwkBackForwardList::forwardList):
(EwkBackForwardList::getFromCacheOrCreate):
(EwkBackForwardList::createEinaList):
(EwkBackForwardList::update):

  • UIProcess/API/efl/ewk_back_forward_list.h:
  • UIProcess/API/efl/ewk_back_forward_list_item.h:
  • UIProcess/API/efl/ewk_back_forward_list_item_private.h:
  • UIProcess/API/efl/ewk_back_forward_list_private.h:

(EwkBackForwardList::create):
(EwkBackForwardList):

  • UIProcess/API/efl/ewk_color_picker.cpp:

(EwkColorPicker::EwkColorPicker):
(EwkColorPicker::setColor):
(EwkColorPicker::color):

  • UIProcess/API/efl/ewk_color_picker.h:
  • UIProcess/API/efl/ewk_color_picker_private.h:

(EwkColorPicker::create):
(EwkColorPicker):

  • UIProcess/API/efl/ewk_context.h:
  • UIProcess/API/efl/ewk_context_private.h:
  • UIProcess/API/efl/ewk_cookie_manager.cpp:

(EwkCookieManager::EwkCookieManager):
(EwkCookieManager::~EwkCookieManager):
(EwkCookieManager::setPersistentStorage):
(EwkCookieManager::setHTTPAcceptPolicy):
(EwkCookieManager::clearHostnameCookies):
(EwkCookieManager::clearAllCookies):
(EwkCookieManager::watchChanges):
(EwkCookieManager::isWatchingForChanges):
(EwkCookieManager::getHostNamesWithCookies):
(EwkCookieManager::getHTTPAcceptPolicy):
(EwkCookieManager::cookiesDidChange):

  • UIProcess/API/efl/ewk_cookie_manager.h:
  • UIProcess/API/efl/ewk_cookie_manager_private.h:

(EwkCookieManager::create):
(EwkCookieManager):

  • UIProcess/API/efl/ewk_database_manager.cpp:

(EwkDatabaseManager::EwkDatabaseManager):
(EwkDatabaseManager::getDatabaseOrigins):
(EwkDatabaseManager::createOriginList):

  • UIProcess/API/efl/ewk_database_manager.h:
  • UIProcess/API/efl/ewk_database_manager_private.h:

(EwkDatabaseManager::create):
(EwkDatabaseManager):

  • UIProcess/API/efl/ewk_download_job.h:
  • UIProcess/API/efl/ewk_download_job_private.h:
  • UIProcess/API/efl/ewk_error.cpp:

(EwkError::EwkError):
(EwkError::url):
(EwkError::description):
(EwkError::domain):
(EwkError::errorCode):
(EwkError::isCancellation):

  • UIProcess/API/efl/ewk_error.h:
  • UIProcess/API/efl/ewk_error_private.h:

(EwkError::create):
(EwkError):

  • UIProcess/API/efl/ewk_favicon_database.cpp:

(EwkFaviconDatabase::EwkFaviconDatabase):
(EwkFaviconDatabase::~EwkFaviconDatabase):
(EwkFaviconDatabase::iconURLForPageURL):
(EwkFaviconDatabase::watchChanges):
(EwkFaviconDatabase::unwatchChanges):
(EwkFaviconDatabase::iconForPageURL):
(EwkFaviconDatabase::didChangeIconForPageURL):
(EwkFaviconDatabase::getIconSurfaceSynchronously):
(EwkFaviconDatabase::iconDataReadyForPageURL):

  • UIProcess/API/efl/ewk_favicon_database.h:
  • UIProcess/API/efl/ewk_favicon_database_private.h:

(EwkFaviconDatabase::create):
(EwkFaviconDatabase):

  • UIProcess/API/efl/ewk_file_chooser_request.h:
  • UIProcess/API/efl/ewk_file_chooser_request_private.h:
  • UIProcess/API/efl/ewk_form_submission_request.h:
  • UIProcess/API/efl/ewk_form_submission_request_private.h:
  • UIProcess/API/efl/ewk_intent.h:
  • UIProcess/API/efl/ewk_intent_private.h:
  • UIProcess/API/efl/ewk_intent_service.h:
  • UIProcess/API/efl/ewk_intent_service_private.h:
  • UIProcess/API/efl/ewk_navigation_data.h:
  • UIProcess/API/efl/ewk_navigation_data_private.h:
  • UIProcess/API/efl/ewk_navigation_policy_decision.h:
  • UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
  • UIProcess/API/efl/ewk_object.h:
  • UIProcess/API/efl/ewk_object_private.h:

(EwkObject::~EwkObject):
(ewk_object_is_of_type):
(ewk_object_cast_check):
(ewk_object_cast):

  • UIProcess/API/efl/ewk_popup_menu.cpp:

(EwkPopupMenu::EwkPopupMenu):
(EwkPopupMenu::~EwkPopupMenu):
(EwkPopupMenu::close):
(EwkPopupMenu::items):
(EwkPopupMenu::selectedIndex):
(EwkPopupMenu::setSelectedIndex):

  • UIProcess/API/efl/ewk_popup_menu.h:
  • UIProcess/API/efl/ewk_popup_menu_item.cpp:

(EwkPopupMenuItem::EwkPopupMenuItem):
(EwkPopupMenuItem::type):
(EwkPopupMenuItem::textDirection):
(EwkPopupMenuItem::text):
(EwkPopupMenuItem::tooltipText):
(EwkPopupMenuItem::accessibilityText):
(EwkPopupMenuItem::hasTextDirectionOverride):
(EwkPopupMenuItem::isEnabled):
(EwkPopupMenuItem::isLabel):
(EwkPopupMenuItem::isSelected):

  • UIProcess/API/efl/ewk_popup_menu_item.h:
  • UIProcess/API/efl/ewk_popup_menu_item_private.h:

(EwkPopupMenuItem::create):
(EwkPopupMenuItem):

  • UIProcess/API/efl/ewk_popup_menu_private.h:

(EwkPopupMenu::create):
(EwkPopupMenu):

  • UIProcess/API/efl/ewk_resource.h:
  • UIProcess/API/efl/ewk_resource_private.h:
  • UIProcess/API/efl/ewk_security_origin.h:
  • UIProcess/API/efl/ewk_security_origin_private.h:
  • UIProcess/API/efl/ewk_settings.cpp:

(EwkSettings::preferences):

  • UIProcess/API/efl/ewk_settings.h:
  • UIProcess/API/efl/ewk_settings_private.h:

(EwkSettings::create):
(EwkSettings::EwkSettings):

  • UIProcess/API/efl/ewk_storage_manager.cpp:

(EwkStorageManager::EwkStorageManager):
(EwkStorageManager::getStorageOrigins):
(EwkStorageManager::createOriginList):

  • UIProcess/API/efl/ewk_storage_manager.h:
  • UIProcess/API/efl/ewk_storage_manager_private.h:

(EwkStorageManager::create):
(EwkStorageManager):

  • UIProcess/API/efl/ewk_url_request.h:
  • UIProcess/API/efl/ewk_url_request_private.h:
  • UIProcess/API/efl/ewk_url_response.h:
  • UIProcess/API/efl/ewk_url_response_private.h:
  • UIProcess/API/efl/ewk_url_scheme_request.h:
  • UIProcess/API/efl/ewk_url_scheme_request_private.h:
  • UIProcess/API/efl/tests/test_ewk2_object.cpp:

(TEST_F):

11:42 PM Changeset in webkit [135116] by loislo@chromium.org
  • 5 edits in trunk/Source/WebCore

webaudio: clean-up. Replace AudioContext::m_document member with ContextDestructionObserver::scriptExecutionContext().
https://bugs.webkit.org/show_bug.cgi?id=102649

Reviewed by Adam Barth.

AudioContext uses m_document only as a pointer to ScriptExecutionContext.
It could be safely replaced with ContextDestructionObserver::m_scriptExecutionContext.
The lifetime of m_scriptExecutionContext is slightly different but it could be adjusted by m_isStopScheduled flag.

No new tests as there is no new functionality.

  • Modules/webaudio/AudioBufferSourceNode.cpp:

(WebCore::AudioBufferSourceNode::looping):
(WebCore::AudioBufferSourceNode::setLooping):

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::stop):
(WebCore::AudioContext::fireCompletionEvent):
(WebCore::AudioContext::reportMemoryUsage):

  • Modules/webaudio/AudioContext.h:

(WebCore::AudioContext::scriptExecutionContext):
(AudioContext):

  • Modules/webaudio/ScriptProcessorNode.cpp:

(WebCore::ScriptProcessorNode::fireProcessEvent):
(WebCore::ScriptProcessorNode::scriptExecutionContext):

11:35 PM Changeset in webkit [135115] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Remove unused variables from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102648

Reviewed by Adam Barth.

No tests. No change in generated code.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateInterface):
(GenerateHeader):
(GetInternalFields):
(GenerateNormalAttrGetter):
(GenerateSingleBatchedAttribute):
(GenerateImplementationCustomCall):
(GenerateFunctionCallString):
(CreateCustomSignature):
(GetContextEnableFunction):

11:33 PM Changeset in webkit [135114] by haraken@chromium.org
  • 10 edits
    1 delete in trunk/Source/WebCore

Remove IDLStructure.pm
https://bugs.webkit.org/show_bug.cgi?id=102642

Reviewed by Adam Barth.

Previously IDLStructure.pm was full of regular expressions to
parse IDL files. Now a new IDL parser is implemented, IDLStructure.pm
just contains several data structures for the IDL parser. We can
move them to IDLParser.pm and thus remove IDLStructure.pm.

No tests. No change in generated code.

  • CMakeLists.txt:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.am:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.vcproj/MigrateScripts:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/scripts/IDLParser.pm:

(Parse):
(parseInterface):
(parseException):
(parseConst):
(parseAttributeRest):
(parseOperationRest):
(parseOptionalOrRequiredArgument):
(parseExceptionField):
(parseInterfaceOld):
(parseExceptionOld):
(parseAttributeRestOld):
(applyExtendedAttributeList):

  • bindings/scripts/IDLStructure.pm: Removed.
11:26 PM Changeset in webkit [135113] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Make more use of $v8Interface in CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102639

Reviewed by Adam Barth.

We can replace hard-coded "V8${interfaceName}" with $v8Interface.

No tests. No change in generated code.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateFunctionCallback):
(GenerateNamedConstructorCallback):
(GenerateImplementationIndexer):
(GenerateImplementationNamedPropertyGetter):
(GenerateImplementation):

10:21 PM Changeset in webkit [135112] by loislo@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed: add missed test files for r135111.

  • inspector-protocol/resources/audio-context.html: Added.
  • inspector-protocol/resources/blank.html: Added.
10:10 PM Changeset in webkit [135111] by loislo@chromium.org
  • 16 edits
    2 adds in trunk

webaudio: leak: AudioContext objects are leaking. They retain 36mb of shared data.
https://bugs.webkit.org/show_bug.cgi?id=102356

Reviewed by Adam Barth.

A clean-up code was moved from uninitialize to clear method.
AudioContext marks itself as hasPendingActivity in method constructCommon and unmarks itself in method clear.
m_isStopScheduled filters out second ActiveDOMObject::stop call.
markForDeletion appends AudioNode pointer to m_nodesToDelete array if there is no active audio thread.
adoptRef was added in createOfflineContext method.

Source/WebCore:

Test: inspector-protocol/nmi-webaudio-leak-test.html

  • Modules/webaudio/AudioContext.cpp:

(WebCore::AudioContext::createOfflineContext):
(WebCore::AudioContext::AudioContext):
(WebCore::AudioContext::constructCommon):
(WebCore::AudioContext::~AudioContext):
(WebCore::AudioContext::clear):
(WebCore::AudioContext::uninitialize):
(WebCore::AudioContext::stopDispatch):
(WebCore::AudioContext::stop):
(WebCore::AudioContext::markForDeletion):
(WebCore::AudioContext::scheduleNodeDeletion):
(WebCore::AudioContext::deleteMarkedNodes):

  • Modules/webaudio/AudioContext.h:

(AudioContext):

  • bindings/v8/custom/V8AudioContextCustom.cpp:

(WebCore::V8AudioContext::constructorCallback):

  • inspector/InspectorMemoryAgent.cpp:

(WebCore::InspectorMemoryAgent::getProcessMemoryDistribution):

  • platform/PlatformMemoryInstrumentation.cpp:

(WebCore::PlatformMemoryInstrumentation::reportMemoryUsage):
(WebCore):

  • platform/PlatformMemoryInstrumentation.h:

(PlatformMemoryInstrumentation):
(WebCore):

LayoutTests:

  • inspector-protocol/nmi-webaudio-leak-test-expected.txt: Added.
  • inspector-protocol/nmi-webaudio-leak-test.html: Added.
9:50 PM Changeset in webkit [135110] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

min/max/step support for calendar picker on datetime/datetime-local
https://bugs.webkit.org/show_bug.cgi?id=102628

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

Source/WebCore:

Gray out dates with no allowed values on calendar picker for datetime/datetime-local
when values are limited by min/max/step attributes.

Test: platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-with-step.html

  • Resources/pagepopups/calendarPicker.js:

(CalendarPicker.prototype._stepMismatch):
Returns true iff there are any allowed values in the given day.

LayoutTests:

Verify that calendar picker has correct available dates when
min/max/step attributes are set in datetime input.

  • platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-with-step-expected.txt: Added.
  • platform/chromium/fast/forms/calendar-picker/calendar-picker-datetime-with-step.html: Added.
9:46 PM Changeset in webkit [135109] by commit-queue@webkit.org
  • 6 edits in trunk

Remove non-existent directories from the make system
https://bugs.webkit.org/show_bug.cgi?id=102632

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2012-11-18
Reviewed by Adam Barth.

.:

Remove (non-existent) symbian references from the exclude list for packaging.

  • Source/cmake/WebKitPackaging.cmake:

Source/WebCore:

Remove (non-existent) symbian references from the exclude list in gyp project files.

No new tests as there is no new functionality.

  • WebCore.gyp/WebCore.gyp:

Source/WTF:

Remove (non-existent) symbian references from the exclude list in gyp project files.

  • WTF.gyp/WTF.gyp:
9:45 PM Changeset in webkit [135108] by Patrick Gansterer
  • 7 edits in trunk/Source/WebCore

[WIN] Add a IMLangFontLinkType typedef
https://bugs.webkit.org/show_bug.cgi?id=102584

Reviewed by Brent Fulgham.

Add a central typedef for IMLangFontLink(2) to get rid of a bunch of ifdefs.

  • platform/graphics/FontCache.h:

(WebCore):

  • platform/graphics/win/FontCacheWin.cpp:

(WebCore::FontCache::getFontLinkInterface):
(WebCore::getCJKCodePageMasks):
(WebCore::createMLangFont):
(WebCore::FontCache::getFontDataForCharacters):

  • platform/graphics/win/SimpleFontDataWin.cpp:

(WebCore::SimpleFontData::containsCharacters):

  • platform/graphics/wince/FontCacheWinCE.cpp:

(WebCore):
(WebCore::FontCache::getFontLinkInterface):
(WebCore::getCJKCodePageMasks):
(WebCore::FontCache::getFontDataForCharacters):

  • platform/graphics/wince/FontPlatformData.cpp:

(WebCore::FontFamilyCodePageInfo::codePages):
(WebCore::FixedSizeFontData::create):

  • platform/graphics/wince/GlyphPageTreeNodeWinCE.cpp:

(WebCore::GlyphPage::fill):

9:40 PM Changeset in webkit [135107] by mkwst@chromium.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Remove unused ConsoleMessage constructor.
https://bugs.webkit.org/show_bug.cgi?id=102590

Reviewed by Brent Fulgham.

We currently have a ConsoleMessage constructor that's unused. Let's
kill it.

  • inspector/ConsoleMessage.cpp:
  • inspector/ConsoleMessage.h:

(ConsoleMessage):

Removing an unused constructor variant.

9:19 PM Changeset in webkit [135106] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Unreviewed, rolling out r135104.
http://trac.webkit.org/changeset/135104
https://bugs.webkit.org/show_bug.cgi?id=102638

Should not use commit queue to add people to committer list.
(Requested by ap_ on #webkit).

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

  • Scripts/webkitpy/common/config/committers.py:
9:13 PM Changeset in webkit [135105] by haraken@chromium.org
  • 1 edit
    1 move
    11 adds in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • platform/chromium-linux-x86/fast/block/float/overhanging-tall-block-expected.txt: Added.
  • platform/chromium-linux/fast/block/float/overhanging-tall-block-expected.png: Added.
  • platform/chromium-linux/fast/block/float/overhanging-tall-block-expected.txt: Added.
  • platform/chromium-mac-lion/fast/block/float/overhanging-tall-block-expected.txt: Added.
  • platform/chromium-mac-snowleopard/fast/block/float/overhanging-tall-block-expected.txt: Added.
  • platform/chromium-win-xp/fast/block/float/overhanging-tall-block-expected.png: Added.
  • platform/chromium-win-xp/fast/block/float/overhanging-tall-block-expected.txt: Added.
  • platform/efl-wk1/fast/block/float/overhanging-tall-block-expected.png: Renamed from LayoutTests/platform/efl/fast/block/float/overhanging-tall-block-expected.png.
9:11 PM Changeset in webkit [135104] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Add myself to committers.py
https://bugs.webkit.org/show_bug.cgi?id=102636

Patch by Vivek Galatage <vivek.vg@samsung.com> on 2012-11-18
Reviewed by Laszlo Gombos.

Add myself to committers.py

  • Scripts/webkitpy/common/config/committers.py:
7:38 PM Changeset in webkit [135103] by mitz@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Try to fix the DFG build after r135099.

  • dfg/DFGCommon.h:

(JSC::DFG::shouldShowDisassembly):

7:29 PM Changeset in webkit [135102] by rniwa@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

Chromium rebaseline after r135093.

  • platform/chromium-linux/inspector: Added.
  • platform/chromium-linux/inspector/console: Added.
  • platform/chromium-linux/inspector/console/console-format-collections-expected.txt: Added.
7:16 PM Changeset in webkit [135101] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

StyledElement: Make handling the "style" attribute a litte faster.
<http://webkit.org/b/102623>

Reviewed by Ojan Vafai.

We know that "style" is never a presentation attribute, so avoid the virtual call to isPresentationAttribute()
by hoisting the parseAttribute() logic up into attributeChanged().
Did the same thing with Element::parseAttribute() for consistency.

Knocks ~0.6% of samples off of the DOM/CreateNodes performance test.

  • dom/Element.cpp:

(WebCore::Element::attributeChanged):

  • dom/Element.h:

(WebCore::Element::parseAttribute):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::attributeChanged):

  • dom/StyledElement.h:

(StyledElement):

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

[CMake] Consolidate common input files
https://bugs.webkit.org/show_bug.cgi?id=101632

Patch by Laszlo Gombos <l.gombos@samsung.com> on 2012-11-18
Reviewed by Rob Buis.

Source/WebCore:

Consolidate and sort the list of files, move common source files
into CMakeLists.txt from the port specific files.

No new tests as there is no new functionality.

  • CMakeLists.txt:
  • PlatformBlackBerry.cmake:
  • PlatformEfl.cmake:
  • PlatformWinCE.cmake:

Source/WebKit:

Consolidate and sort the list of files.

  • PlatformEfl.cmake:
6:58 PM Changeset in webkit [135099] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, build fix for !ENABLE(DFG_JIT).

  • dfg/DFGCommon.h:

(JSC::DFG::shouldShowDisassembly):
(DFG):

6:56 PM Changeset in webkit [135098] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Tighten small SharedBuffers by reserving the exact amount of space needed.
<http://webkit.org/b/102625>

Reviewed by Anders Carlsson.

When adding the first chunk to a small (<4096 bytes) SharedBuffer, reserve the exact
amount of space needed instead of leaving it to Vector<char>::append().

1.86MB progression on Membuster3.

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::append):

6:55 PM Changeset in webkit [135097] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

JSC should have more logging in structure-related code
https://bugs.webkit.org/show_bug.cgi?id=102630

Reviewed by Simon Fraser.

  • JSValue::description() now tells you if something is a structure, and if so, what kind of structure it is.


  • Jettisoning logic now tells you why things are being jettisoned.


  • It's now possible to turn off GC-triggered jettisoning entirely.
  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::finalizeUnconditionally):
(JSC::CodeBlock::reoptimize):
(JSC::ProgramCodeBlock::jettison):
(JSC::EvalCodeBlock::jettison):
(JSC::FunctionCodeBlock::jettison):

  • bytecode/CodeBlock.h:

(JSC::CodeBlock::shouldImmediatelyAssumeLivenessDuringScan):

  • runtime/JSValue.cpp:

(JSC::JSValue::description):

  • runtime/Options.h:

(JSC):

6:17 PM Changeset in webkit [135096] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

[EFL] Gardening, unskip passing tests
https://bugs.webkit.org/show_bug.cgi?id=102460

Unreviewed EFL gardening.

The tests marked Crash by r132469 are passing now.

fast/dom/nested-script-exceptions.html, networkinformation/multiple-frames.html,
networkinformation/basic-all-types-of-events.html, networkinformation/updates.html,
networkinformation/add-listener-from-callback.html, networkinformation/basic-operation.html

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-11-18

  • platform/efl-wk2/TestExpectations:
5:56 PM Changeset in webkit [135095] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Removed a duplicated entry.

  • platform/chromium/TestExpectations:
5:49 PM Changeset in webkit [135094] by haraken@chromium.org
  • 9 edits
    4 deletes in trunk/Source/WebKit/chromium

Unreviewed, rolling out r135047.
http://trac.webkit.org/changeset/135047
https://bugs.webkit.org/show_bug.cgi?id=102339

it broke Chromium Windows/Mac build

  • WebKit.gyp:
  • WebKit.gypi:
  • public/WebNode.h:

(WebKit):

  • public/WebPluginContainer.h:

(WebKit):
(WebPluginContainer):

  • src/WebFrameImpl.cpp:

(WebKit::pluginContainerFromNode):
(WebKit):
(WebKit::WebFrameImpl::executeCommand):
(WebKit::WebFrameImpl::printBegin):
(WebKit::WebFrameImpl::isPrintScalingDisabledForPlugin):

  • src/WebNode.cpp:
  • src/WebPluginContainerImpl.cpp:
  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

  • tests/FakeWebPlugin.cpp: Removed.
  • tests/FakeWebPlugin.h: Removed.
  • tests/WebPluginContainerTest.cpp: Removed.
  • tests/data/plugin_container.html: Removed.
5:28 PM Changeset in webkit [135093] by rniwa@webkit.org
  • 40 edits
    2 moves
    5 adds in trunk

Make namedItem return a node list only in HTMLFormControlsCollection and HTMLOptionsCollection
https://bugs.webkit.org/show_bug.cgi?id=101311

Reviewed by Darin Adler.

Source/WebCore:

Introduce two new interfaces HTMLFormControlsCollection and HTMLOptionsCollection to be used by form.elements
and select.options. These two interfaces have the named getter and namedItem that returns a live NodeList when
there are multiple matches. Introducing these two interfaces allow us to make "regular" HTMLCollection's named
getter and namedItem return exactly one node or null as specified in HTML5:
http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#collections-0

Unfortunately, HTMLOptionsCollection still has a bug that its named getter and namedItem returns
a static NodeList instead of a live NodeList (DynamicNodeList) at the moment.

Also got rid of Document::objects since it's not exposed in IDL or called anywhere.

Test: fast/dom/html-collections-namedItem.html

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • DerivedSources.pri:
  • GNUmakefile.list.am:
  • Target.pri:
  • UseJSC.cmake:
  • UseV8.cmake:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSHTMLAllCollectionCustom.cpp:

(WebCore::getNamedItems):

  • bindings/js/JSHTMLCollectionCustom.cpp:

(WebCore::JSHTMLCollection::nameGetter): Now returns exactly one node or null.
(WebCore::toJS):

  • bindings/js/JSHTMLFormControlsCollectionCustom.cpp: Added.

(WebCore::getNamedItems): Returns RadioNodeList when there are multiple matches.
(WebCore::JSHTMLFormControlsCollection::canGetItemsForName):
(WebCore::JSHTMLFormControlsCollection::nameGetter):
(WebCore::JSHTMLFormControlsCollection::namedItem):

  • bindings/js/JSHTMLOptionsCollectionCustom.cpp:

(WebCore::getNamedItems): Returns a static NodeList when there are multiple matches.
This is a bug. It should be a live NodeList instead.
(WebCore::JSHTMLOptionsCollection::canGetItemsForName):
(WebCore::JSHTMLOptionsCollection::nameGetter):
(WebCore::JSHTMLOptionsCollection::namedItem):

  • bindings/js/CodeGeneratorJS.pm: Include JSNode.js for all HTML*Collection interfaces for simplicity.
  • bindings/js/CodeGeneratorV8.pm: HTMLOptionsCollection now inherits from HTMLCollection. See

http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#htmloptionscollection

  • bindings/v8/custom/V8HTMLAllCollectionCustom.cpp: Pass in isolate when we can.

(WebCore::getNamedItems): Added a comment about how we should be returning
a HTMLCollection when there are multiple matches.
(WebCore::getItem):
(WebCore::V8HTMLAllCollection::namedPropertyGetter):
(WebCore::V8HTMLAllCollection::namedItemCallback):

  • bindings/v8/custom/V8HTMLCollectionCustom.cpp: Now returns exactly one node or null.

(WebCore::V8HTMLCollection::namedPropertyGetter):
(WebCore::toV8):

  • bindings/v8/custom/V8HTMLFormControlsCollectionCustom.cpp: Added.

(WebCore::getNamedItems): Returns RadioNodeList when there are multiple matches.
(WebCore::V8HTMLFormControlsCollection::namedPropertyGetter):
(WebCore::V8HTMLFormControlsCollection::namedItemCallback):

  • bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:

(WebCore::getNamedItems): Returns a static NodeList when there are multiple matches.
This is a bug. It should be a live NodeList instead.
(WebCore::V8HTMLOptionsCollection::namedPropertyGetter):
(WebCore::V8HTMLOptionsCollection::namedItemCallback):

  • dom/Document.cpp: Removed Document::objects since it was not used anywhere.
  • dom/Document.h:

(Document):

  • dom/Element.cpp:

(WebCore::ElementRareData::ensureCachedHTMLCollection): form.elements should instantiate
a HTMLFormControlsCollection instead of a HTMLCollection.

  • html/CollectionType.h:
  • html/HTMLCollection.idl: Removed [Custom] since namedItem is a regular function call now.
  • html/HTMLFieldSetElement.cpp:
  • html/HTMLFieldSetElement.h:
  • html/HTMLFormCollection.cpp: Removed.
  • html/HTMLFormCollection.h: Removed.
  • html/HTMLFormControlsCollection.cpp: Copied from Source/WebCore/html/HTMLFormCollection.cpp.

(WebCore::HTMLFormControlsCollection::HTMLFormControlsCollection):
(WebCore::HTMLFormControlsCollection::create):
(WebCore::HTMLFormControlsCollection::~HTMLFormControlsCollection):
(WebCore::HTMLFormControlsCollection::formControlElements):
(WebCore::HTMLFormControlsCollection::formImageElements):
(WebCore::HTMLFormControlsCollection::virtualItemAfter):
(WebCore::HTMLFormControlsCollection::namedItem):
(WebCore::HTMLFormControlsCollection::updateNameCache):

  • html/HTMLFormControlsCollection.h: Copied from Source/WebCore/html/HTMLFormCollection.h.

(HTMLFormControlsCollection):

  • html/HTMLFormControlsCollection.idl: Added.
  • html/HTMLFormElement.cpp:
  • html/HTMLFormElement.h:
  • html/HTMLOptionsCollection.idl:

LayoutTests:

Added a regression test to ensure form.elements and select.options use correct interfaces,
and named getter for those two properties return a NodeList when there are multiple matches.

Also added appropriate IDL options to HTMLOptionsCollection.idl.

  • fast/dom/collection-nameditem-move-between-documents-expected.txt: Rebaselined since namedItem

now correctly returns null when there is no match. This test result demonstrates a bug that
HTMLAllCollection doesn't inherit from HTMLCollection.

  • fast/dom/collection-nameditem-move-between-documents.html: Ditto.
  • fast/dom/dom-constructors-expected.txt: Rebaselined.
  • fast/dom/html-collections-named-getter-expected.txt: Added.
  • fast/dom/html-collections-named-getter.html: Added.
  • fast/dom/wrapper-classes-expected.txt: Rebaselined. Since we're exposing HTMLOptionsCollection

on the window object, the constructor property of an instance of HTMLOptionsCollection object
shows up as a function. We should update the test to support this behavior in the future.

  • inspector/console/console-format-collections-expected.txt: Rebaselined.
  • platform/chromium/fast/dom/gc-9-expected.txt: Rebaselined since a test case for

HTMLOptionsCollection now passes.

5:12 PM Changeset in webkit [135092] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Rename $className to $v8InterfaceName
https://bugs.webkit.org/show_bug.cgi?id=102487

Reviewed by Adam Barth.

In CodeGeneratorV8.pm, $className is always "V8$interfaceName".
We should rename $className to $v8InterfaceName. Also we can
remove GetCallbackClassName().

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GetHeaderClassInclude):
(GenerateDomainSafeFunctionGetter):
(GenerateDomainSafeFunctionSetter):
(GenerateParametersCheck):
(GenerateImplementation):
(GenerateHeaderContentHeader):
(GenerateImplementationContentHeader):
(GenerateCallbackHeader):
(GenerateCallbackImplementation):
(GenerateToV8Converters):
(GetPassRefPtrType):

5:05 PM Changeset in webkit [135091] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed.
r135025 marked a couple of tests as SKIP in Mac.
This patch marks the tests as SKIP in Chormium.

  • platform/chromium/TestExpectations:
4:56 PM Changeset in webkit [135090] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Marked platform/chromium/virtual/deferred/fast/images/webgl-teximage2d.html as TIMEOUT.

  • platform/chromium/TestExpectations:
4:54 PM Changeset in webkit [135089] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Marked fast/images/webgl-teximage2d.html as TIMEOUT.

  • platform/chromium/TestExpectations:
4:41 PM Changeset in webkit [135088] by commit-queue@webkit.org
  • 6 edits in trunk

.: [BlackBerry] Enable Touch Sliders

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

Reviewed by Rob Buis.

Enabled for BlackBerry only
PR #242781
PR #176014

  • Source/cmake/OptionsBlackBerry.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Patch by Genevieve Mak <gmak@rim.com> on 2012-11-18

Tools: [BlackBerry] Enable Touch Sliders
https://bugs.webkit.org/show_bug.cgi?id=102516

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

Enabled for BlackBerry only
PR #242781
PR #176014

  • Scripts/webkitperl/FeatureList.pm:
3:52 PM Changeset in webkit [135087] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Remove GetTypeFromSignature() from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102499

Reviewed by Adam Barth.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateParametersCheckExpression):
(GenerateParametersCheck):
(GenerateFunctionCallString):
(GetNativeTypeFromSignature):
(TranslateParameter):
(TypeCanFailConversion):
(JSValueToNative):
(NativeToJSValue):

3:49 PM Changeset in webkit [135086] by Simon Fraser
  • 4 edits in trunk/LayoutTests

Rebaselines.

  • platform/mac/fast/media/mq-js-media-except-02-expected.txt:
  • platform/mac/fast/media/mq-js-media-except-03-expected.txt:
  • platform/mac/svg/custom/baseval-animval-equality-expected.txt:
3:44 PM Changeset in webkit [135085] by haraken@chromium.org
  • 7 edits in trunk/Source/WebCore

Remove GenerateModule() from all code generators
https://bugs.webkit.org/show_bug.cgi?id=102490

Reviewed by Adam Barth.

WebKit IDL files no longer support modules. The Web IDL spec
no longer supports modules. We can remove it from code generators.

No tests. No change in behavior.

  • bindings/scripts/CodeGenerator.pm:

(ProcessDocument):

  • bindings/scripts/CodeGeneratorCPP.pm:
  • bindings/scripts/CodeGeneratorGObject.pm:
  • bindings/scripts/CodeGeneratorJS.pm:
  • bindings/scripts/CodeGeneratorObjC.pm:
  • bindings/scripts/CodeGeneratorV8.pm:
3:42 PM Changeset in webkit [135084] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Get rid of unused functions and inline redundant functions in CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102497

Reviewed by Adam Barth.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateDomainSafeFunctionGetter):
(GenerateNormalAttrGetter):
(GenerateFunctionCallString):

3:07 PM Changeset in webkit [135083] by rakuco@webkit.org
  • 5 edits
    6 deletes in trunk/Source/WebCore

Unreviewed, rolling out r135074.
http://trac.webkit.org/changeset/135074
https://bugs.webkit.org/show_bug.cgi?id=102619

Made most layout tests crash. (Requested by rakuco on
#webkit).

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

  • PlatformEfl.cmake:
  • platform/graphics/efl/GraphicsContext3DEfl.cpp:

(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::setContextLostCallback):

  • platform/graphics/efl/GraphicsContext3DPrivate.cpp:

(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
(WebCore::GraphicsContext3DPrivate::createSurface):
(WebCore::GraphicsContext3DPrivate::setCurrentGLContext):
(WebCore::GraphicsContext3DPrivate::platformGraphicsContext3D):
(WebCore::GraphicsContext3DPrivate::makeContextCurrent):
(WebCore::GraphicsContext3DPrivate::createGraphicsSurfaces):
(WebCore::GraphicsContext3DPrivate::copyToGraphicsSurface):
(WebCore::GraphicsContext3DPrivate::graphicsSurfaceToken):

  • platform/graphics/efl/GraphicsContext3DPrivate.h:

(GraphicsContext3DPrivate):

  • platform/graphics/opengl/GLDefs.h: Removed.
  • platform/graphics/opengl/GLPlatformContext.cpp: Removed.
  • platform/graphics/opengl/GLPlatformContext.h: Removed.
  • platform/graphics/opengl/GLPlatformSurface.cpp: Removed.
  • platform/graphics/opengl/GLPlatformSurface.h: Removed.
  • platform/graphics/surfaces/glx/GLXContext.cpp: Removed.
  • platform/graphics/surfaces/glx/GLXContext.h: Removed.
  • platform/graphics/surfaces/glx/GLXSurface.cpp: Removed.
  • platform/graphics/surfaces/glx/GLXSurface.h: Removed.
2:38 PM Changeset in webkit [135082] by Antti Koivisto
  • 10 edits
    2 adds in trunk

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.
1:55 PM Changeset in webkit [135081] by abarth@webkit.org
  • 12 edits in trunk/Source/WebCore

Unreviewed.

Update run-bindings-tests baselines after
http://trac.webkit.org/changeset/135063

  • bindings/scripts/test/JS/JSTestActiveDOMObject.h:

(JSTestActiveDOMObjectOwner):

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h:

(JSTestCustomNamedGetterOwner):

  • bindings/scripts/test/JS/JSTestEventConstructor.h:

(JSTestEventConstructorOwner):

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

(JSTestEventTargetOwner):

  • bindings/scripts/test/JS/JSTestException.h:

(JSTestExceptionOwner):

  • bindings/scripts/test/JS/JSTestInterface.h:

(JSTestInterfaceOwner):

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:

(JSTestMediaQueryListListenerOwner):

  • bindings/scripts/test/JS/JSTestNamedConstructor.h:

(JSTestNamedConstructorOwner):

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

(JSTestObjOwner):

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:

(JSTestOverloadedConstructorsOwner):

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:

(JSTestSerializedScriptValueInterfaceOwner):

1:37 PM Changeset in webkit [135080] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

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):

1:34 PM Changeset in webkit [135079] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

DFG constant folding phase should say 'changed = true' whenever it changes the graph
https://bugs.webkit.org/show_bug.cgi?id=102550

Rubber stamped by Mark Hahnenberg.

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

12:25 PM Changeset in webkit [135078] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Inline the StyledElement constructor.
<http://webkit.org/b/102615>

Reviewed by Antti Koivisto.

StyledElement sits between Element and HTMLElement in the inheritance chain, and both of those are inline.
Knocks ~0.4% of samples off of the DOM/CreateNodes performance test.

  • dom/StyledElement.cpp:
  • dom/StyledElement.h:

(WebCore::StyledElement::StyledElement):

10:54 AM Changeset in webkit [135077] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

HTMLMediaElement: Skip unnecessary attribute lookup in parsing of "src" attribute.
<http://webkit.org/b/102614>

Reviewed by Anders Carlsson.

When parsing the "src" attribute, we don't need to look it up with fastHasAttribute()
to know if it's present. If it's not present, 'value' argument will be null.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

10:46 AM Changeset in webkit [135076] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

[chromium] add WebCursorInfo::imageScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=102612

Patch by Rick Byers <rbyers@chromium.org> on 2012-11-18
Reviewed by Adam Barth.

Add cursor image scale factor (currently always 1) to chromium API, in preparation for
high-dpi cursor support in bug 99493.

  • public/WebCursorInfo.h:

(WebKit::WebCursorInfo::WebCursorInfo):

  • src/WebCursorInfo.cpp:

(WebKit::WebCursorInfo::WebCursorInfo):

10:38 AM Changeset in webkit [135075] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Wrong transform when using software path.
https://bugs.webkit.org/show_bug.cgi?id=102549

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

When using the software path, our transform is not correct and results
in drawing the wrong part of the page. This becomes more obvious after scrolling.

  • UIProcess/efl/WebInspectorProxyEfl.cpp:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

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

[EFL] Refactor GraphicsContext3DEFL.
https://bugs.webkit.org/show_bug.cgi?id=101291.

Patch by Kondapally Kalyan <kalyan.kondapally@intel.com> on 2012-11-18
Reviewed by Kenneth Rohde Christiansen.

GraphicsContext3DEfl creates GraphicsContext3DPrivate, which acts as its platform Layer.
GraphicsContext3DPrivate needs to handle the following cases:
1) To provide an off-screen buffer for accelerated composition.
2) Render to a current context.
3) To render directly to host window. (currently not supported.)

Before this patch Evas was used to provide us an off-screen context and buffer. GLX was used in
the other supported case. Evas acts as a glue layer to provide us with appropriate
GL bindings (OpenGL functions), GL context and drawable (surface/offscreenbuffer).
However, primitive rendering is handled by TextureMapper and OpenGLShims is used to load the needed GL functions.

It would be for our advantage to be able to take in to use any optimisations/extensions
provided by underlying drivers, specific to a platform (e.g. GLX_MESA_copy_sub_buffer etc.).
This patch introduces an abstraction layer to make it easy to add support for any GL backend (GLX, EGL etc.)
and do any platform specific optimizations as needed without complicating GraphicsContext3DPrivate class.
Two new classes are added with this implementation, GLPlatformContext and GLPlatformSurface.
GraphicsContext3DPrivate would create and own a GLPlatformContext and GLPlatformSurface.

GLPlatformContext encapsulates an OpenGL context hiding any platform specific management.
It uses GL extension ARB_robustness (when available) to detect driver resets.
It defines a simple interface for things that need to be handled by the context. Support
for multi-threaded usage and shared context-group would be added later.

GLPlatformSurface encapsulates an OpenGL drawable hiding any platform specific management.
It defines a simple interface for things that need to be handled by the surface.
It creates an off-screen rendering area. Any GLPlatformContext (compatible with the surface)
can be used to render into this off-screen area.

This patch also adds GLX implementation. To keep the patch to minimum EGL support would be added in another changeset.

  • PlatformEfl.cmake:
  • platform/graphics/efl/GraphicsContext3DEfl.cpp:

(WebCore::GraphicsContext3D::create):
(WebCore::GraphicsContext3D::GraphicsContext3D):
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::makeContextCurrent):
(WebCore::GraphicsContext3D::setContextLostCallback):

  • platform/graphics/efl/GraphicsContext3DPrivate.cpp:

(WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
(GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
(GraphicsContext3DPrivate::releaseResources):
(GraphicsContext3DPrivate::setContextLostCallback):
(GraphicsContext3DPrivate::platformGraphicsContext3D):
(GraphicsContext3DPrivate::makeContextCurrent):
(GraphicsContext3DPrivate::createGraphicsSurfaces):
(GraphicsContext3DPrivate::copyToGraphicsSurface):
(GraphicsContext3DPrivate::graphicsSurfaceToken):

  • platform/graphics/efl/GraphicsContext3DPrivate.h:

(GraphicsContext3DPrivate):

  • platform/graphics/opengl/GLDefs.h: Added.

(WebCore):

  • platform/graphics/opengl/GLPlatformContext.cpp: Added.

(WebCore):
(WebCore::GLPlatformContext::createContext):
(WebCore::GLPlatformContext::createOffScreenContext):
(WebCore::GLPlatformContext::createCurrentContextWrapper):
(WebCore::GLPlatformContext::GLPlatformContext):
(WebCore::GLPlatformContext::~GLPlatformContext):
(WebCore::GLPlatformContext::makeCurrent):
(WebCore::GLPlatformContext::isValid):
(WebCore::GLPlatformContext::releaseCurrent):
(WebCore::GLPlatformContext::handle):
(WebCore::GLPlatformContext::isCurrentContext):
(WebCore::GLPlatformContext::initialize):
(WebCore::GLPlatformContext::getCurrent):
(WebCore::GLPlatformContext::platformMakeCurrent):
(WebCore::GLPlatformContext::platformReleaseCurrent):
(WebCore::GLPlatformContext::destroy):

  • platform/graphics/opengl/GLPlatformContext.h: Added.

(WebCore):
(GLPlatformContext):

  • platform/graphics/opengl/GLPlatformSurface.cpp: Added.

(WebCore):
(WebCore::GLPlatformSurface::createOffscreenSurface):
(WebCore::GLPlatformSurface::createTransportSurface):
(WebCore::GLPlatformSurface::GLPlatformSurface):
(WebCore::GLPlatformSurface::~GLPlatformSurface):
(WebCore::GLPlatformSurface::handle):
(WebCore::GLPlatformSurface::geometry):
(WebCore::GLPlatformSurface::sharedDisplay):
(WebCore::GLPlatformSurface::configuration):
(WebCore::GLPlatformSurface::swapBuffers):
(WebCore::GLPlatformSurface::copyTexture):
(WebCore::GLPlatformSurface::updateContents):
(WebCore::GLPlatformSurface::setGeometry):
(WebCore::GLPlatformSurface::destroy):

  • platform/graphics/opengl/GLPlatformSurface.h: Added.

(WebCore):
(GLPlatformSurface):

GLXOffScreenContext creates an off-screen context. This is used when
renderstyle is RenderOffscreen.
It uses GL extension GLX_ARB_create_context (when available)
to create a context else falls back to use glXCreateNewContext.

  • platform/graphics/surfaces/glx/GLXContext.cpp: Added.

(WebCore):
(WebCore::initializeARBExtensions):
(WebCore::GLXOffScreenContext::GLXOffScreenContext):
(WebCore::GLXOffScreenContext::initialize):
(WebCore::GLXOffScreenContext::~GLXOffScreenContext):
(WebCore::GLXOffScreenContext::isCurrentContext):
(WebCore::GLXOffScreenContext::platformMakeCurrent):
(WebCore::GLXOffScreenContext::platformReleaseCurrent):
(WebCore::GLXOffScreenContext::freeResources):
(WebCore::GLXOffScreenContext::destroy):

GLXCurrentContextWrapper acts as a wrapper for current context.
This is used when renderstyle is RenderToCurrentGLContext.

  • platform/graphics/surfaces/glx/GLXContext.h: Added.

(WebCore):
(GLXCurrentContextWrapper):
(WebCore::GLXCurrentContextWrapper::GLXCurrentContextWrapper):
(WebCore::GLXCurrentContextWrapper::~GLXCurrentContextWrapper):
(GLXOffScreenContext):

  • platform/graphics/surfaces/glx/GLXSurface.cpp: Added.

(WebCore):
(WebCore::GLXSurface::GLXSurface):
(WebCore::GLXSurface::~GLXSurface):
(WebCore::GLXSurface::visualInfo):
(WebCore::GLXSurface::xWindow):
(WebCore::GLXSurface::pBufferConfiguration):
(WebCore::GLXSurface::transportSurfaceConfiguration):
(WebCore::GLXSurface::isXRenderExtensionSupported):

GLXTransportSurface creates Window and uses it as an off-screen surface.
Any GLContext that was created with respect to configuration can be used
to render into this.
This is used when contents of the buffer are to be provided to UI Process
for display.

(WebCore::GLXTransportSurface::GLXTransportSurface):
(WebCore::GLXTransportSurface::~GLXTransportSurface):
(WebCore::GLXTransportSurface::configuration):
(WebCore::GLXTransportSurface::swapBuffers):
(WebCore::GLXTransportSurface::setGeometry):
(WebCore::GLXTransportSurface::initialize):
(WebCore::GLXTransportSurface::destroy):
(WebCore::GLXTransportSurface::freeResources):

GLXPBuffer, Creates a GL surface (PBuffer) used for offscreen rendering.
Any GLContext that was created with respect to configuration can be used
to render into this.

(WebCore::GLXPBuffer::GLXPBuffer):
(WebCore::GLXPBuffer::~GLXPBuffer):
(WebCore::GLXPBuffer::initialize):
(WebCore::GLXPBuffer::configuration):
(WebCore::GLXPBuffer::destroy):
(WebCore::GLXPBuffer::freeResources):

  • platform/graphics/surfaces/glx/GLXSurface.h: Added.

(WebCore):

Creates X resources which are shared between surface and context.

(SharedX11Resources):
(WebCore::SharedX11Resources::create):
(WebCore::SharedX11Resources::deref):
(WebCore::SharedX11Resources::getXWindow):
(WebCore::SharedX11Resources::display):
(WebCore::SharedX11Resources::visualInfo):
(WebCore::SharedX11Resources::createConfig):
(WebCore::SharedX11Resources::pBufferContextConfig):
(WebCore::SharedX11Resources::surfaceContextConfig):
(WebCore::SharedX11Resources::isXRenderExtensionSupported):
(WebCore::SharedX11Resources::SharedX11Resources):
(WebCore::SharedX11Resources::~SharedX11Resources):
(GLXSurface):
(GLXTransportSurface):
(GLXPBuffer):

10:07 AM Changeset in webkit [135073] by Simon Fraser
  • 3 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12726004> Chopin: Don't say there are dirty overlay scrollbars when they are clipped out (102609)
Merge r135064

2012-11-17 Simon Fraser <Simon Fraser>

Don't say there are dirty overlay scrollbars when they are clipped out
https://bugs.webkit.org/show_bug.cgi?id=102609

Reviewed by Brady Eidson.

Painting overlay scrollbars involves a second painting pass over the entire
RenderLayer subtree for a compositing layer, which can be very expensive.

Avoid this when possible by detecting when overflow controls are not in
the damage rect.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::rectForHorizontalScrollbar): Compute a local rect for the horizontal scrollbar. (WebCore::RenderLayer::rectForVerticalScrollbar): Compute a local rect for the vertical scrollbar. (WebCore::RenderLayer::positionOverflowControls): Use rectForHorizontalScrollbar() and rectForVerticalScrollbar(). (WebCore::RenderLayer::overflowControlsIntersectRect): Return true if any of the present overflow controls intersect the given local rect. (WebCore::RenderLayer::paintOverflowControls): Bail if the damage rect doesn't intersect any of the overflow controls.
  • rendering/RenderLayer.h: (RenderLayer):
10:07 AM Changeset in webkit [135072] by Simon Fraser
  • 4 edits in branches/safari-536.28-branch

<rdar://problem/12725998> Simplify bounds computation for the RenderView's layer (102597)
Merge r135059

Source/WebCore:

2012-11-17 Simon Fraser <Simon Fraser>

Simplify bounds computation for the RenderView's layer
https://bugs.webkit.org/show_bug.cgi?id=102597

Reviewed by Anders Carlsson.

Computing the bounds of the main layer (that of the RenderView) used to do
a full RenderLayer walk, taking the union of the bounds of all the sublayers,
which is very expensive on large pages.

For the RenderView we can avoid that entirely and just use the RenderView's
document rect. Since page scaling happens as a transform on this layer,
we want the unscaled document rect.

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::calculateLayerBounds):

LayoutTests:

2012-11-17 Simon Fraser <Simon Fraser>

Simplify bounds computation for the RenderView's layer
https://bugs.webkit.org/show_bug.cgi?id=102597

Reviewed by Anders Carlsson.

Progressions as a result of this change:

  • compositing/layer-creation/fixed-position-out-of-view-expected.txt: The height is now the page height, since the page is scrollable.
  • compositing/tiling/tile-cache-zoomed-expected.txt: The main layer now is not affected by the page scale transform.
  • platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt: Ditto.
10:06 AM Changeset in webkit [135071] by Simon Fraser
  • 5 edits in branches/safari-536.28-branch/Source/WebCore

<rdar://problem/12725980> Fix overlay scrollbar painting in compositing layers (102442)
Merge r135029

2012-11-16 Simon Fraser <Simon Fraser>

Fix overlay scrollbar painting in compositing layers
https://bugs.webkit.org/show_bug.cgi?id=102442

Reviewed by Beth Dakin.

There were two issues with overlay scrollbar painting in
compositing layers.

First, we'd only ever call setContainsDirtyOverlayScrollbars()
on the RenderView's layer, even when encountering an overlay scrollbar
in some descendant compositing layer. This meant that we'd never
run the paintOverlayScrollbars() code for those child compositing
layers, so sometimes scrollbars were missing there.

Even after fixing that, we would fail to render scrollbars that
were not in the composited RenderLayer itself. This happened because
we called into RenderLayer::paintOverlayScrollbars(), which called
paintLayer() with flags that only said to paint the overlay scrollbars
but not any descendants, so this paint path would not walk child
RenderLayers.

Also remove the containsScrollableAreaWithOverlayScrollbars() flag on
ScrollView which is no longer used.

  • platform/ScrollView.cpp: (WebCore::ScrollView::ScrollView): Remove containsScrollableAreaWithOverlayScrollbars(). (WebCore::ScrollView::paint): Remove setting of m_containsScrollableAreaWithOverlayScrollbars.
  • platform/ScrollView.h:
  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::paintOverflowControls): Call setContainsDirtyOverlayScrollbars() on the compositing ancestor or the root. Remove call to setContainsScrollableAreaWithOverlayScrollbars(). (WebCore::RenderLayer::paintOverlayScrollbars): When painting overlay scrollbars, no need to say we have transparency, and no need to use temporary clip rects. (WebCore::RenderLayer::paintLayer): The PaintLayerPaintingOverlayScrollbars check here was only needed because the compositing entrypoint to painting overlay scrollbars went via paintLayer(), which isn't normally used as a composited painting entry point. Now that we no longer call that, we don't need this special check.
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::paintIntoLayer): Jump into overlay scrollbar painting via paintLayerContents(), not paintOverlayScrollbars(), since the latter does not traverse sublayers.
10:06 AM Changeset in webkit [135070] by Simon Fraser
  • 5 edits
    2 adds in branches/safari-536.28-branch

Prerequisite for <rdar://problem/12725980> Fix overlay scrollbar painting in compositing layers (102442)
Merge r127943

.:

2012-09-07 Simon Fraser <Simon Fraser>

box-shadow causes overlay scrollbars to be in the wrong position when element is composited
https://bugs.webkit.org/show_bug.cgi?id=85647

Reviewed by James Robinson.

Test overlay scrollbars in composited layers.

  • ManualTests/scrollbars/scrollbars-in-composited-layers.html: Added.

Source/WebCore:

2012-09-07 Simon Fraser <Simon Fraser>

box-shadow causes overlay scrollbars to be in the wrong position when element is composited
https://bugs.webkit.org/show_bug.cgi?id=85647

Reviewed by James Robinson.

The code that positioned the GraphicsLayers for scrollbars failed to take
into account any offset between the origin of the compositing layer,
and the renderer. This caused scrollbar layers to be misplaced or hidden
on layers with, for example, box-shadows.

Also moved the code that positions the scrollbar layers into RendderLayerBacking,
since this is where all the rest of the GraphicsLayer-positioning code lives.

Renamed an "offsetFromLayer" param to "offsetFromRoot" which is more accurate.

Manual test, since overlay scrollbars are not enabled in DRT/WTR:

ManualTests/scrollbars/scrollbars-in-composited-layers.html

  • rendering/RenderLayer.cpp: (WebCore::RenderLayer::positionOverflowControls):
  • rendering/RenderLayerBacking.cpp: (WebCore::RenderLayerBacking::positionOverflowControlsLayers):
  • rendering/RenderLayerBacking.h: (RenderLayerBacking):
8:55 AM Changeset in webkit [135069] by akling@apple.com
  • 229 edits in trunk/Source/WebCore

Element::parseAttribute() should take name & value as separate arguments.
<http://webkit.org/b/102608>

Reviewed by Antti Koivisto.

Update the signature of parseAttribute() to take a QualifiedName/AtomicString combo instead
of an Attribute. This lets us pass avoid refcount churn in Element::attributeChanged() since
creating a temporary Attribute is no longer necessary.

This was surprisingly hot (~1%) on the DOM/CreateNodes performance test.

  • bindings/js/ScriptEventListener.cpp:

(WebCore::createAttributeEventListener):

  • bindings/js/ScriptEventListener.h:

(WebCore):

  • bindings/v8/ScriptEventListener.cpp:

(WebCore::createAttributeEventListener):

  • bindings/v8/ScriptEventListener.h:

(WebCore):

  • dom/Element.cpp:

(WebCore::Element::attributeChanged):
(WebCore::Element::parseAttribute):

  • dom/Element.h:

(Element):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::parseAttribute):

  • dom/StyledElement.h:

(StyledElement):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

  • html/HTMLAnchorElement.h:

(HTMLAnchorElement):

  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::parseAttribute):

  • html/HTMLAppletElement.h:

(HTMLAppletElement):

  • html/HTMLAreaElement.cpp:

(WebCore::HTMLAreaElement::parseAttribute):

  • html/HTMLAreaElement.h:

(HTMLAreaElement):

  • html/HTMLBaseElement.cpp:

(WebCore::HTMLBaseElement::parseAttribute):

  • html/HTMLBaseElement.h:

(HTMLBaseElement):

  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::parseAttribute):

  • html/HTMLBodyElement.h:

(HTMLBodyElement):

  • html/HTMLButtonElement.cpp:

(WebCore::HTMLButtonElement::parseAttribute):

  • html/HTMLButtonElement.h:
  • html/HTMLCanvasElement.cpp:

(WebCore::HTMLCanvasElement::parseAttribute):

  • html/HTMLCanvasElement.h:

(HTMLCanvasElement):

  • html/HTMLDetailsElement.cpp:

(WebCore::HTMLDetailsElement::parseAttribute):

  • html/HTMLDetailsElement.h:

(HTMLDetailsElement):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::parseAttribute):
(WebCore::HTMLElement::dirAttributeChanged):

  • html/HTMLElement.h:

(HTMLElement):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::parseAttribute):

  • html/HTMLEmbedElement.h:

(HTMLEmbedElement):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::parseAttribute):

  • html/HTMLFormControlElement.h:

(HTMLFormControlElement):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::parseAttribute):

  • html/HTMLFormElement.h:

(HTMLFormElement):

  • html/HTMLFrameElement.cpp:

(WebCore::HTMLFrameElement::parseAttribute):

  • html/HTMLFrameElement.h:

(HTMLFrameElement):

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::parseAttribute):

  • html/HTMLFrameElementBase.h:

(HTMLFrameElementBase):

  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::parseAttribute):

  • html/HTMLFrameSetElement.h:

(HTMLFrameSetElement):

  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::parseAttribute):

  • html/HTMLIFrameElement.h:

(HTMLIFrameElement):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute):

  • html/HTMLImageElement.h:

(HTMLImageElement):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::parseAttribute):
(WebCore::HTMLInputElement::parseMaxLengthAttribute):

  • html/HTMLInputElement.h:

(HTMLInputElement):

  • html/HTMLKeygenElement.cpp:

(WebCore::HTMLKeygenElement::parseAttribute):

  • html/HTMLKeygenElement.h:

(HTMLKeygenElement):

  • html/HTMLLIElement.cpp:

(WebCore::HTMLLIElement::parseAttribute):

  • html/HTMLLIElement.h:

(HTMLLIElement):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::parseAttribute):

  • html/HTMLLinkElement.h:

(HTMLLinkElement):

  • html/HTMLMapElement.cpp:

(WebCore::HTMLMapElement::parseAttribute):

  • html/HTMLMapElement.h:

(HTMLMapElement):

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::parseAttribute):

  • html/HTMLMediaElement.h:
  • html/HTMLMetaElement.cpp:

(WebCore::HTMLMetaElement::parseAttribute):

  • html/HTMLMetaElement.h:

(HTMLMetaElement):

  • html/HTMLMeterElement.cpp:

(WebCore::HTMLMeterElement::parseAttribute):

  • html/HTMLMeterElement.h:

(HTMLMeterElement):

  • html/HTMLOListElement.cpp:

(WebCore::HTMLOListElement::parseAttribute):

  • html/HTMLOListElement.h:

(HTMLOListElement):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::parseAttribute):

  • html/HTMLObjectElement.h:

(HTMLObjectElement):

  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::parseAttribute):

  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::parseAttribute):

  • html/HTMLOptionElement.h:

(HTMLOptionElement):

  • html/HTMLOutputElement.cpp:

(WebCore::HTMLOutputElement::parseAttribute):

  • html/HTMLOutputElement.h:

(HTMLOutputElement):

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::parseAttribute):

  • html/HTMLProgressElement.h:
  • html/HTMLScriptElement.cpp:

(WebCore::HTMLScriptElement::parseAttribute):

  • html/HTMLScriptElement.h:

(HTMLScriptElement):

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::parseAttribute):
(WebCore::HTMLSelectElement::parseMultipleAttribute):

  • html/HTMLSelectElement.h:
  • html/HTMLStyleElement.cpp:

(WebCore::HTMLStyleElement::parseAttribute):

  • html/HTMLStyleElement.h:

(HTMLStyleElement):

  • html/HTMLTableCellElement.cpp:

(WebCore::HTMLTableCellElement::parseAttribute):

  • html/HTMLTableCellElement.h:

(HTMLTableCellElement):

  • html/HTMLTableColElement.cpp:

(WebCore::HTMLTableColElement::parseAttribute):

  • html/HTMLTableColElement.h:

(HTMLTableColElement):

  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::parseAttribute):

  • html/HTMLTableElement.h:

(HTMLTableElement):

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::parseAttribute):

  • html/HTMLTextAreaElement.h:

(HTMLTextAreaElement):

  • html/HTMLTextFormControlElement.cpp:

(WebCore::HTMLTextFormControlElement::parseAttribute):

  • html/HTMLTextFormControlElement.h:

(HTMLTextFormControlElement):

  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::parseAttribute):

  • html/HTMLTrackElement.h:

(HTMLTrackElement):

  • html/HTMLVideoElement.cpp:

(WebCore::HTMLVideoElement::parseAttribute):

  • html/HTMLVideoElement.h:

(HTMLVideoElement):

  • html/shadow/HTMLContentElement.cpp:

(WebCore::HTMLContentElement::parseAttribute):

  • html/shadow/HTMLContentElement.h:

(HTMLContentElement):

  • mathml/MathMLElement.cpp:

(WebCore::MathMLElement::parseAttribute):

  • mathml/MathMLElement.h:

(MathMLElement):

  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::parseAttribute):

  • svg/SVGAElement.h:

(SVGAElement):

  • svg/SVGAnimateMotionElement.cpp:

(WebCore::SVGAnimateMotionElement::parseAttribute):

  • svg/SVGAnimateMotionElement.h:

(SVGAnimateMotionElement):

  • svg/SVGAnimateTransformElement.cpp:

(WebCore::SVGAnimateTransformElement::parseAttribute):

  • svg/SVGAnimateTransformElement.h:

(SVGAnimateTransformElement):

  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::parseAttribute):

  • svg/SVGAnimationElement.h:

(SVGAnimationElement):

  • svg/SVGCircleElement.cpp:

(WebCore::SVGCircleElement::parseAttribute):

  • svg/SVGCircleElement.h:

(SVGCircleElement):

  • svg/SVGClipPathElement.cpp:

(WebCore::SVGClipPathElement::parseAttribute):

  • svg/SVGClipPathElement.h:

(SVGClipPathElement):

  • svg/SVGComponentTransferFunctionElement.cpp:

(WebCore::SVGComponentTransferFunctionElement::parseAttribute):

  • svg/SVGComponentTransferFunctionElement.h:

(SVGComponentTransferFunctionElement):

  • svg/SVGCursorElement.cpp:

(WebCore::SVGCursorElement::parseAttribute):

  • svg/SVGCursorElement.h:

(SVGCursorElement):

  • svg/SVGElement.cpp:

(WebCore::SVGElement::reportAttributeParsingError):
(WebCore::SVGElement::parseAttribute):

  • svg/SVGElement.h:

(SVGElement):

  • svg/SVGEllipseElement.cpp:

(WebCore::SVGEllipseElement::parseAttribute):

  • svg/SVGEllipseElement.h:

(SVGEllipseElement):

  • svg/SVGExternalResourcesRequired.cpp:

(WebCore::SVGExternalResourcesRequired::parseAttribute):

  • svg/SVGExternalResourcesRequired.h:

(SVGExternalResourcesRequired):

  • svg/SVGFEBlendElement.cpp:

(WebCore::SVGFEBlendElement::parseAttribute):

  • svg/SVGFEBlendElement.h:

(SVGFEBlendElement):

  • svg/SVGFEColorMatrixElement.cpp:

(WebCore::SVGFEColorMatrixElement::parseAttribute):

  • svg/SVGFEColorMatrixElement.h:

(SVGFEColorMatrixElement):

  • svg/SVGFEComponentTransferElement.cpp:

(WebCore::SVGFEComponentTransferElement::parseAttribute):

  • svg/SVGFEComponentTransferElement.h:

(SVGFEComponentTransferElement):

  • svg/SVGFECompositeElement.cpp:

(WebCore::SVGFECompositeElement::parseAttribute):

  • svg/SVGFECompositeElement.h:

(SVGFECompositeElement):

  • svg/SVGFEConvolveMatrixElement.cpp:

(WebCore::SVGFEConvolveMatrixElement::parseAttribute):

  • svg/SVGFEConvolveMatrixElement.h:

(SVGFEConvolveMatrixElement):

  • svg/SVGFEDiffuseLightingElement.cpp:

(WebCore::SVGFEDiffuseLightingElement::parseAttribute):

  • svg/SVGFEDiffuseLightingElement.h:

(SVGFEDiffuseLightingElement):

  • svg/SVGFEDisplacementMapElement.cpp:

(WebCore::SVGFEDisplacementMapElement::parseAttribute):

  • svg/SVGFEDisplacementMapElement.h:

(SVGFEDisplacementMapElement):

  • svg/SVGFEDropShadowElement.cpp:

(WebCore::SVGFEDropShadowElement::parseAttribute):

  • svg/SVGFEDropShadowElement.h:

(SVGFEDropShadowElement):

  • svg/SVGFEGaussianBlurElement.cpp:

(WebCore::SVGFEGaussianBlurElement::parseAttribute):

  • svg/SVGFEGaussianBlurElement.h:

(SVGFEGaussianBlurElement):

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::parseAttribute):

  • svg/SVGFEImageElement.h:

(SVGFEImageElement):

  • svg/SVGFELightElement.cpp:

(WebCore::SVGFELightElement::parseAttribute):

  • svg/SVGFELightElement.h:

(SVGFELightElement):

  • svg/SVGFEMergeNodeElement.cpp:

(WebCore::SVGFEMergeNodeElement::parseAttribute):

  • svg/SVGFEMergeNodeElement.h:

(SVGFEMergeNodeElement):

  • svg/SVGFEMorphologyElement.cpp:

(WebCore::SVGFEMorphologyElement::parseAttribute):

  • svg/SVGFEMorphologyElement.h:

(SVGFEMorphologyElement):

  • svg/SVGFEOffsetElement.cpp:

(WebCore::SVGFEOffsetElement::parseAttribute):

  • svg/SVGFEOffsetElement.h:

(SVGFEOffsetElement):

  • svg/SVGFESpecularLightingElement.cpp:

(WebCore::SVGFESpecularLightingElement::parseAttribute):

  • svg/SVGFESpecularLightingElement.h:

(SVGFESpecularLightingElement):

  • svg/SVGFETileElement.cpp:

(WebCore::SVGFETileElement::parseAttribute):

  • svg/SVGFETileElement.h:

(SVGFETileElement):

  • svg/SVGFETurbulenceElement.cpp:

(WebCore::SVGFETurbulenceElement::parseAttribute):

  • svg/SVGFETurbulenceElement.h:

(SVGFETurbulenceElement):

  • svg/SVGFilterElement.cpp:

(WebCore::SVGFilterElement::parseAttribute):

  • svg/SVGFilterElement.h:

(SVGFilterElement):

  • svg/SVGFilterPrimitiveStandardAttributes.cpp:

(WebCore::SVGFilterPrimitiveStandardAttributes::parseAttribute):

  • svg/SVGFilterPrimitiveStandardAttributes.h:

(SVGFilterPrimitiveStandardAttributes):

  • svg/SVGFitToViewBox.h:

(WebCore::SVGFitToViewBox::parseAttribute):

  • svg/SVGFontFaceElement.cpp:

(WebCore::SVGFontFaceElement::parseAttribute):

  • svg/SVGFontFaceElement.h:

(SVGFontFaceElement):

  • svg/SVGFontFaceUriElement.cpp:

(WebCore::SVGFontFaceUriElement::parseAttribute):

  • svg/SVGFontFaceUriElement.h:

(SVGFontFaceUriElement):

  • svg/SVGForeignObjectElement.cpp:

(WebCore::SVGForeignObjectElement::parseAttribute):

  • svg/SVGForeignObjectElement.h:

(SVGForeignObjectElement):

  • svg/SVGGElement.cpp:

(WebCore::SVGGElement::parseAttribute):

  • svg/SVGGElement.h:

(SVGGElement):

  • svg/SVGGlyphElement.cpp:

(WebCore::SVGGlyphElement::parseAttribute):

  • svg/SVGGlyphElement.h:

(SVGGlyphElement):

  • svg/SVGGlyphRefElement.cpp:

(WebCore::SVGGlyphRefElement::parseAttribute):

  • svg/SVGGlyphRefElement.h:
  • svg/SVGGradientElement.cpp:

(WebCore::SVGGradientElement::parseAttribute):

  • svg/SVGGradientElement.h:
  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::parseAttribute):

  • svg/SVGImageElement.h:

(SVGImageElement):

  • svg/SVGLangSpace.cpp:

(WebCore::SVGLangSpace::parseAttribute):

  • svg/SVGLangSpace.h:

(SVGLangSpace):

  • svg/SVGLineElement.cpp:

(WebCore::SVGLineElement::parseAttribute):

  • svg/SVGLineElement.h:

(SVGLineElement):

  • svg/SVGLinearGradientElement.cpp:

(WebCore::SVGLinearGradientElement::parseAttribute):

  • svg/SVGLinearGradientElement.h:

(SVGLinearGradientElement):

  • svg/SVGMPathElement.cpp:

(WebCore::SVGMPathElement::parseAttribute):

  • svg/SVGMPathElement.h:

(SVGMPathElement):

  • svg/SVGMarkerElement.cpp:

(WebCore::SVGMarkerElement::parseAttribute):

  • svg/SVGMarkerElement.h:

(SVGMarkerElement):

  • svg/SVGMaskElement.cpp:

(WebCore::SVGMaskElement::parseAttribute):

  • svg/SVGMaskElement.h:

(SVGMaskElement):

  • svg/SVGPathElement.cpp:

(WebCore::SVGPathElement::parseAttribute):

  • svg/SVGPathElement.h:

(SVGPathElement):

  • svg/SVGPatternElement.cpp:

(WebCore::SVGPatternElement::parseAttribute):

  • svg/SVGPatternElement.h:

(SVGPatternElement):

  • svg/SVGPolyElement.cpp:

(WebCore::SVGPolyElement::parseAttribute):

  • svg/SVGPolyElement.h:

(SVGPolyElement):

  • svg/SVGRadialGradientElement.cpp:

(WebCore::SVGRadialGradientElement::parseAttribute):

  • svg/SVGRadialGradientElement.h:

(SVGRadialGradientElement):

  • svg/SVGRectElement.cpp:

(WebCore::SVGRectElement::parseAttribute):

  • svg/SVGRectElement.h:

(SVGRectElement):

  • svg/SVGSVGElement.cpp:

(WebCore::SVGSVGElement::parseAttribute):

  • svg/SVGSVGElement.h:

(SVGSVGElement):

  • svg/SVGScriptElement.cpp:

(WebCore::SVGScriptElement::parseAttribute):

  • svg/SVGScriptElement.h:

(SVGScriptElement):

  • svg/SVGStopElement.cpp:

(WebCore::SVGStopElement::parseAttribute):

  • svg/SVGStopElement.h:

(SVGStopElement):

  • svg/SVGStyleElement.cpp:

(WebCore::SVGStyleElement::parseAttribute):

  • svg/SVGStyleElement.h:

(SVGStyleElement):

  • svg/SVGStyledElement.cpp:

(WebCore::SVGStyledElement::parseAttribute):

  • svg/SVGStyledElement.h:

(SVGStyledElement):

  • svg/SVGStyledTransformableElement.cpp:

(WebCore::SVGStyledTransformableElement::parseAttribute):

  • svg/SVGStyledTransformableElement.h:

(SVGStyledTransformableElement):

  • svg/SVGSymbolElement.cpp:

(WebCore::SVGSymbolElement::parseAttribute):

  • svg/SVGSymbolElement.h:

(SVGSymbolElement):

  • svg/SVGTRefElement.cpp:

(WebCore::SVGTRefElement::parseAttribute):

  • svg/SVGTRefElement.h:

(SVGTRefElement):

  • svg/SVGTests.cpp:

(WebCore::SVGTests::parseAttribute):

  • svg/SVGTests.h:

(SVGTests):

  • svg/SVGTextContentElement.cpp:

(WebCore::SVGTextContentElement::parseAttribute):

  • svg/SVGTextContentElement.h:

(SVGTextContentElement):

  • svg/SVGTextElement.cpp:

(WebCore::SVGTextElement::parseAttribute):

  • svg/SVGTextElement.h:

(SVGTextElement):

  • svg/SVGTextPathElement.cpp:

(WebCore::SVGTextPathElement::parseAttribute):

  • svg/SVGTextPathElement.h:
  • svg/SVGTextPositioningElement.cpp:

(WebCore::SVGTextPositioningElement::parseAttribute):

  • svg/SVGTextPositioningElement.h:

(SVGTextPositioningElement):

  • svg/SVGURIReference.cpp:

(WebCore::SVGURIReference::parseAttribute):

  • svg/SVGURIReference.h:

(SVGURIReference):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::parseAttribute):

  • svg/SVGUseElement.h:

(SVGUseElement):

  • svg/SVGViewElement.cpp:

(WebCore::SVGViewElement::parseAttribute):

  • svg/SVGViewElement.h:

(SVGViewElement):

  • svg/SVGZoomAndPan.h:

(WebCore::SVGZoomAndPan::parseAttribute):

  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::parseAttribute):

  • svg/animation/SVGSMILElement.h:

(SVGSMILElement):

8:33 AM Changeset in webkit [135068] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

StyleResolver: No need to compare "cellpadding" attributes when evaluating style sharing candidates.
<http://webkit.org/b/102596>

Reviewed by Antti Koivisto.

Differences in the cellpadding attribute is caught by comparing additionalPresentationAttributeStyle()
later on in canShareStyleWithElement() and we shouldn't waste time on comparing them.

  • css/StyleResolver.cpp:

(WebCore::haveIdenticalStyleAffectingAttributes):

3:22 AM Changeset in webkit [135067] by Carlos Garcia Campos
  • 2 edits in trunk

Unreviewed. Fix GTK+ build after r135022.

  • Source/autotools/symbols.filter: Add exports for

SerializedScriptValue changes.

3:18 AM Changeset in webkit [135066] by Carlos Garcia Campos
  • 4 edits in trunk/Source/WebKit2

[WK2] REGRESSION: After web process crash a new web process is created for every existing page
https://bugs.webkit.org/show_bug.cgi?id=102520

Reviewed by Alexey Proskuryakov.

When process model is SharedSecondaryProcess a new shared process
should be created instead of a new process per page.

  • UIProcess/WebContext.cpp:

(WebKit::WebContext::ensureSharedWebProcess): Ensure a shared web
process and return it.
(WebKit::WebContext::createWebPage): Update to change in
ensureSharedWebProcess() that returns the shared web process now.

  • UIProcess/WebContext.h:

(WebContext): Remove relaunchProcessIfNecessary().
(WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
Use ensureSharedWebProcess() instead of relaunchProcessIfNecessary().

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::reattachToWebProcess): Ensure a shared web
process for SharedSecondaryProcess model or create a new web
process for multi-process models.

12:03 AM Changeset in webkit [135065] by jonlee@apple.com
  • 2 edits in trunk/Source/WebCore

Simulated mouse events should return an accurate offset
https://bugs.webkit.org/show_bug.cgi?id=102606
<rdar://problem/12725627>

Reviewed by Brady Eidson.

A check to see if the event is simulated prior to calculating the offset has existed for a
long time (since at least r14916). Back then the check was needed because the offset was
incrementally adjusted when the target was assigned (through
MouseRelatedEvent::receivedTarget()).

Since r82225, we started calculating the offset only when needed, and calculating the offset
from scratch rather than incrementally adjusting it. Since we recalculate from scratch,
the isSimulated check is irrelevant, and we should remove it.

Tests are not possible because all uses of simulated mouse events provide no underlying
event, so the offset is never recalculated.

  • dom/MouseRelatedEvent.cpp:

(WebCore::MouseRelatedEvent::computeRelativePosition): Remove the m_isSimulated check.

Nov 17, 2012:

11:09 PM Changeset in webkit [135064] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Don't say there are dirty overlay scrollbars when they are clipped out
https://bugs.webkit.org/show_bug.cgi?id=102609

Reviewed by Brady Eidson.

Painting overlay scrollbars involves a second painting pass over the entire
RenderLayer subtree for a compositing layer, which can be very expensive.

Avoid this when possible by detecting when overflow controls are not in
the damage rect.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::rectForHorizontalScrollbar): Compute a local rect
for the horizontal scrollbar.
(WebCore::RenderLayer::rectForVerticalScrollbar): Compute a local rect
for the vertical scrollbar.
(WebCore::RenderLayer::positionOverflowControls): Use rectForHorizontalScrollbar()
and rectForVerticalScrollbar().
(WebCore::RenderLayer::overflowControlsIntersectRect): Return true if any
of the present overflow controls intersect the given local rect.
(WebCore::RenderLayer::paintOverflowControls): Bail if the damage rect
doesn't intersect any of the overflow controls.

  • rendering/RenderLayer.h:

(RenderLayer):

9:16 PM Changeset in webkit [135063] by abarth@webkit.org
  • 4 edits in trunk
REGRESSION (r133633): ASSERTION FAILED: m_wrapper
!m_jsFunction

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

Reviewed by Geoffrey Garen.

Source/WebCore:

JSNodeOwner has some smarts that wrappers of subclasses of Node need to
call during garbage collection. This patch teaches subclasses of Node
to have their JSMumbleOwner objects inherit from JSNodeOwner.

The immediate benefit of this patch is that we correctly avoid
collecting wrappers for HTMLAudioElements when they are reachable from
the DOM.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):

LayoutTests:

Add two calls to gc() to make an ASSERT trigger on every run. One call
to gc() does not appear to be sufficient for reasons I don't fully
understand.

  • media/media-continues-playing-after-replace-source.html:
9:14 PM Changeset in webkit [135062] by Dimitri Glazkov
  • 3 edits in trunk/Tools

Remove unused code I wrote a long time ago from gardeningserver.py
https://bugs.webkit.org/show_bug.cgi?id=102605

Reviewed by Adam Barth.

  • Scripts/webkitpy/tool/servers/gardeningserver.py: Removed.
  • Scripts/webkitpy/tool/servers/gardeningserver_unittest.py: Removed.
9:01 PM Changeset in webkit [135061] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Source

Source/JavaScriptCore: Expose JSObject removeDirect and PrivateName to WebCore
https://bugs.webkit.org/show_bug.cgi?id=102546

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-17
Reviewed by Geoffrey Garen.

Export removeDirect for use in WebCore so JSDependentRetained works.

Source/WebCore: Expose JSObject::removeDirect and PrivateName to WebCore
https://bugs.webkit.org/show_bug.cgi?id=102546

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-17
Reviewed by Geoffrey Garen.

Add forwarding header for PrivateName, so JSDependentRetained works.

No new tests, just adding headers.

  • ForwardingHeaders/runtime/PrivateName.h: Added.
8:01 PM Changeset in webkit [135060] by Simon Fraser
  • 6 edits in trunk/Source/WebCore

Reduce the crazy number of parameters to RenderLayer clip-rect functions
https://bugs.webkit.org/show_bug.cgi?id=102604

Reviewed by Dan Bernstein.

Many of the RenderLayer member functions related to clip rect computation
took a long list of similar parameters. Gather these into a struct, ClipRectsContext,
that we pass to these functions

No functional changes.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::hitTestLayer):
(WebCore::RenderLayer::updateClipRects):
(WebCore::RenderLayer::calculateClipRects):
(WebCore::RenderLayer::parentClipRects):
(WebCore::RenderLayer::backgroundClipRect):
(WebCore::RenderLayer::calculateRects):
(WebCore::RenderLayer::childrenClipRect):
(WebCore::RenderLayer::selfClipRect):
(WebCore::RenderLayer::localClipRect):

  • rendering/RenderLayer.h:

(WebCore::RenderLayer::ClipRectsContext::ClipRectsContext):
(ClipRectsContext):
(RenderLayer):
(WebCore::RenderLayer::clipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateCompositedBounds):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::addToOverlapMap):
(WebCore::RenderLayerCompositor::clippedByAncestor):

  • rendering/RenderTreeAsText.cpp:

(WebCore::writeLayers):

8:01 PM Changeset in webkit [135059] by Simon Fraser
  • 6 edits in trunk

Simplify bounds computation for the RenderView's layer
https://bugs.webkit.org/show_bug.cgi?id=102597

Reviewed by Anders Carlsson.

Source/WebCore:

Computing the bounds of the main layer (that of the RenderView) used to do
a full RenderLayer walk, taking the union of the bounds of all the sublayers,
which is very expensive on large pages.

For the RenderView we can avoid that entirely and just use the RenderView's
document rect. Since page scaling happens as a transform on this layer,
we want the unscaled document rect.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateLayerBounds):

LayoutTests:

Progressions as a result of this change:

  • compositing/layer-creation/fixed-position-out-of-view-expected.txt: The height

is now the page height, since the page is scrollable.

  • compositing/tiling/tile-cache-zoomed-expected.txt: The main layer now is not

affected by the page scale transform.

  • platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt: Ditto.
7:37 PM Changeset in webkit [135058] by eric@webkit.org
  • 17 edits in trunk/Source/WebCore

Add ScriptWrappable to more WebCore classes which are commonly JS-wrapped
https://bugs.webkit.org/show_bug.cgi?id=102601

Reviewed by Adam Barth.

From my investigations all of these classes exist only to be exposed
to the web (via JavaScript) and are not used internally by WebCore.
I beleive all of them always have wrappers.
These were found using this code:
https://bugs.webkit.org/show_bug.cgi?id=102539#c2

Geolocation -- navigator.geolocation
WebKitCSSMatrix -- represent matrixes in JS through various APIs
DOMStringMap, NamedNodeMap, NodeIterator, TreeWalker -- exclusively for the DOM API
Blob, FileList - used by the File, Clipboard and XHR, also exclusively as API
ValidityState -- formControl.validity
CanvasRenderingContext -- canvas.getContext()
DOMApplicationCache -- window.appcache
Screen -- window.screen
DOMMimeTypeArray -- navigator.mimetypes
DOMPlugin -- navigator.plugins[0]
DOMPluginArray -- navigator.plugins

  • Modules/geolocation/Geolocation.h:
  • css/WebKitCSSMatrix.h:
  • dom/DOMStringMap.h:
  • dom/NamedNodeMap.h:
  • dom/NodeIterator.h:
  • dom/TreeWalker.h:
  • fileapi/Blob.h:
  • fileapi/FileList.h: (had to un-indent to make check-webkit-style happy)

(FileList):
(WebCore::FileList::create):
(WebCore::FileList::length):
(WebCore::FileList::isEmpty):
(WebCore::FileList::clear):
(WebCore::FileList::append):

  • html/ValidityState.h:
  • html/canvas/CanvasRenderingContext.h:
  • loader/appcache/DOMApplicationCache.h:
  • page/Screen.h:
  • platform/graphics/wince/MediaPlayerProxy.cpp:

(WebCore::WebMediaPlayerProxy::initEngine): This code was wrong, fixed to use internal APIs.

  • plugins/DOMMimeTypeArray.h:
  • plugins/DOMPlugin.h:
  • plugins/DOMPluginArray.h:
7:37 PM Changeset in webkit [135057] by rakuco@webkit.org
  • 2 edits in trunk/Source/WebKit2

Remove 8-bit related assertion from NetscapePluginModuleX11.
https://bugs.webkit.org/show_bug.cgi?id=102588

Reviewed by Andreas Kling.

Follow-up to r135043: since String::fromUTF8() is not guaranteed
to give us a 16-bit string, the assertion in
truncateToSingleLine() will fail in that case.

This should make the EFL WK2 Debug bot stop failing all
plugin-related tests because "WebKit Test Plugin" is returned as
an 8-bit string.

  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::truncateToSingleLine):

6:13 PM Changeset in webkit [135056] by Alexandru Chiculita
  • 17 edits
    1 add in trunk/Source

[Texmap][CSS Shaders] Reuse the precompiled shader for custom filters in TextureMapperGL
https://bugs.webkit.org/show_bug.cgi?id=101801

Reviewed by Noam Rosenthal.

Source/WebCore:

Added a HashMap in TextureMapperGL to store the precompiled versions of the shaders.
Also added a new API on TextureMapper that receives a notification when the shader
is no longer needed.

No new tests, the code is tested by existing tests.

  • platform/graphics/filters/CustomFilterOperation.h:

(WebCore::CustomFilterOperation::setProgram):
(CustomFilterOperation): Made the constructor protected, so that we can overwrite the class in WK2.

  • platform/graphics/filters/CustomFilterValidatedProgram.cpp:

(WebCore::CustomFilterValidatedProgram::validatedProgramInfo):
(WebCore):

  • platform/graphics/filters/CustomFilterValidatedProgram.h:

(CustomFilterValidatedProgram):

  • platform/graphics/texmap/TextureMapper.h:

(WebCore):
(TextureMapper):
(WebCore::TextureMapper::removeCachedCustomFilterProgram):
Function to be called by the platform code, when the shader is no longer
needed. This implementation is empty and overridden in TextureMapperGL.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::removeCachedCustomFilterProgram):
Removes the compiled shader from the cache. This is called from WK2 when the compiled shader
is no longer needed.
(WebCore):
(WebCore::TextureMapperGL::drawUsingCustomFilter): The first time it uses a new
shader it will cache the compiled version until removeCachedCustomFilterProgram is called.

  • platform/graphics/texmap/TextureMapperGL.h:

(WebCore):
(TextureMapperGL):

Source/WebKit2:

Changed the encoding code for ValidatedCustomFilterOperation to only encode the ID of the program.
LayerTreeCoordinator makes sure to send the programs in full before the encoder runs.
LayerTreeRenderer will maintain a HashMap from these IDs to the real CustomFilterProgram.
The UI process will also receive a message from the WebProcess when the shader is no longer in needed.
LayerTreeRenderer calls the TextureMapper's removeCachedCustomFilterProgram to notify
about the removed CustomFilterProgram.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(CoreIPC::::encode):
(CoreIPC::::decode):
(CoreIPC):

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:

(WebCore):

  • Shared/CoordinatedGraphics/WebCustomFilterOperation.h: Added.

(WebCore):
(WebCustomFilterOperation):
(WebCore::WebCustomFilterOperation::create):
(WebCore::WebCustomFilterOperation::programID):
(WebCore::WebCustomFilterOperation::WebCustomFilterOperation):

  • Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:

(WebKit::WebCustomFilterProgramProxy::create):
(WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:

(WebKit):
(WebKit::LayerTreeCoordinatorProxy::removeCustomFilterProgram):
(WebKit::LayerTreeCoordinatorProxy::createCustomFilterProgram):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:

(LayerTreeCoordinatorProxy):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::setLayerFilters):
(WebKit):
(WebKit::LayerTreeRenderer::injectCachedCustomFilterPrograms):
(WebKit::LayerTreeRenderer::createCustomFilterProgram):
(WebKit::LayerTreeRenderer::removeCustomFilterProgram):
(WebKit::LayerTreeRenderer::setLayerAnimations):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

(WebCore):
(LayerTreeRenderer):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
(WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
(WebKit::LayerTreeCoordinator::setLayerAnimations):

4:45 PM Changeset in webkit [135055] by beidson@apple.com
  • 14 edits in trunk/Source

Add an integer identifier field to AuthenticationChallengeBase.
https://bugs.webkit.org/show_bug.cgi?id=102593

Reviewed by Darin Adler.

Source/WebCore:

This is to support linking two different challenges that might not compare as equal but that
represent the same logical authentication challenge.

One example is in an IPC environment where the platform challenge can only exist in one process.

No new tests (Platform support, no effect in tested configs).

  • WebCore.exp.in:
  • platform/network/AuthenticationChallengeBase.cpp:

(WebCore::AuthenticationChallengeBase::AuthenticationChallengeBase):

  • platform/network/AuthenticationChallengeBase.h:

(WebCore::AuthenticationChallengeBase::identifier):

  • platform/network/cf/AuthenticationChallenge.h:
  • platform/network/mac/AuthenticationMac.mm:

(WebCore::generateUniqueIdentifier):
(WebCore::AuthenticationChallenge::AuthenticationChallenge): Generate a new unique identifier whenever

constructing a challenge from an NSURLAuthenticationChallenge.

  • platform/network/cf/AuthenticationCF.cpp:

(WebCore::generateUniqueIdentifier):
(WebCore::AuthenticationChallenge::AuthenticationChallenge): Generate a new unique identifier whenever

constructing a challenge from a CFURLAuthChallengeRef.

Implement the new constructor form for ports relevant to WebKit2:

  • platform/network/qt/AuthenticationChallenge.h:

(WebCore::AuthenticationChallenge::AuthenticationChallenge):

  • platform/network/soup/AuthenticationChallenge.h:

(WebCore::AuthenticationChallenge::AuthenticationChallenge):

  • platform/network/win/AuthenticationChallenge.h:

(WebCore::AuthenticationChallenge::AuthenticationChallenge):

Source/WebKit/win:

  • WebURLAuthenticationChallenge.cpp:

(WebURLAuthenticationChallenge::initWithProtectionSpace): Adopt the new constructor with a dummy identifier.

Source/WebKit2:

Properly encode/decode the identifier when sending the challenge over CoreIPC.

  • Shared/WebCoreArgumentCoders.cpp:

(CoreIPC::::encode):
(CoreIPC::::decode):

4:11 PM Changeset in webkit [135054] by Simon Fraser
  • 4 edits in trunk/LayoutTests

Rebaseline three tests affected by the dumping of tile grid extent.

  • platform/mac/compositing/tiling/rotated-tiled-clamped-expected.txt:
  • platform/mac/compositing/tiling/rotated-tiled-preserve3d-clamped-expected.txt:
  • platform/mac/compositing/tiling/tile-cache-zoomed-expected.txt:
3:37 PM Changeset in webkit [135053] by Simon Fraser
  • 12 edits in trunk

Dump the tile cache extent in layout tests
https://bugs.webkit.org/show_bug.cgi?id=102600

Reviewed by Anders Carlsson.

Source/WebCore:

When dumping tiled layer stats in layout tests, also dump the extent
of the tile grid. This will allow us to detect issues related
to zooming, which is not possible with the existing tile coverage rect,
which is dumped in layer (not tile) coordinates.

  • platform/graphics/TiledBacking.h: Added tileGridExtent().
  • platform/graphics/ca/GraphicsLayerCA.cpp:

(WebCore::GraphicsLayerCA::dumpAdditionalProperties): Dump the tile grid extent.

  • platform/graphics/ca/mac/TileCache.h: tileCoverageRect() should be OVERRIDE.
  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::getTileIndexRangeForRect):
(WebCore::TileCache::tileGridExtent): Return a rect with the size of
the grid as top,left width,height.

LayoutTests:

New results which contain tile cache extents.

  • platform/mac/tiled-drawing/tile-coverage-after-scroll-expected.txt:
  • platform/mac/tiled-drawing/tile-coverage-scroll-to-bottom-expected.txt:
  • platform/mac/tiled-drawing/tile-coverage-slow-scrolling-expected.txt:
  • platform/mac/tiled-drawing/tiled-drawing-zoom-expected.txt:
  • platform/mac/tiled-drawing/tiled-drawing-zoom-scrolled-expected.txt:
  • platform/mac/tiled-drawing/use-tiled-drawing-expected.txt:
1:41 PM Changeset in webkit [135052] by zandobersek@gmail.com
  • 3 edits in trunk/LayoutTests

Unreviewed GTK gardening. Fixing a test that's failing due to changes
made in r134949 and wasn't updated yet.

  • http/tests/websocket/tests/hybi/workers/close-expected.txt:
  • http/tests/websocket/tests/hybi/workers/resources/close.js:
1:00 PM Changeset in webkit [135051] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Avoid full style recalc when 'style' attribute changes.
<http://webkit.org/b/78718>

Reviewed by Anders Carlsson.

Use setNeedsStyleRecalc(InlineStyleChange) when the 'style' attribute changes
to reduce the amount of work done in recalcStyle().

  • dom/StyledElement.cpp:

(WebCore::StyledElement::styleAttributeChanged):

12:06 PM Changeset in webkit [135050] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove coneGain and distanceGain attributes from PannerNode.idl
https://bugs.webkit.org/show_bug.cgi?id=102343

Patch by Li Yin <li.yin@intel.com> on 2012-11-17
Reviewed by Chris Rogers.

Removing .coneGain and .distanceGain as publicly accessible values,
since normally they only need to be calculated internally.

No changes to tests, since these attributes were not tested and are being removed.

  • Modules/webaudio/PannerNode.idl:
11:58 AM Changeset in webkit [135049] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

biquadfilternode-basic.html test should cover default value of frequency, Q and gain.
https://bugs.webkit.org/show_bug.cgi?id=102305

Patch by Li Yin <li.yin@intel.com> on 2012-11-17
Reviewed by Chris Rogers.

Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#BiquadFilterNode
The default values of frequency, Q and gain are clearly specified, we should
have related sub test to over them.

  • webaudio/biquadfilternode-basic-expected.txt:
  • webaudio/biquadfilternode-basic.html:
11:48 AM Changeset in webkit [135048] 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-17

  • DEPS:
10:02 AM Changeset in webkit [135047] by commit-queue@webkit.org
  • 9 edits
    4 adds in trunk/Source/WebKit/chromium

Provide page/window coordinates to plugin's local coordinates translation in WebPluginContainer.
https://bugs.webkit.org/show_bug.cgi?id=102339

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

This change will allow converting a page's window coordinates to plugins's local coordinates,
taking CSS transformations into account. Embedder page of the plugin can use this information
for targetting elements inside the plugin (e.g. devtools can inspect a specific element at the
local coordinate position inside plugin).
Attempting to re-land after Windows build fix.

  • WebKit.gyp:
  • WebKit.gypi:
  • public/WebNode.h:

(WebKit):

  • public/WebPluginContainer.h:

(WebKit):
(WebPluginContainer):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::executeCommand):
(WebKit::WebFrameImpl::printBegin):
(WebKit::WebFrameImpl::isPrintScalingDisabledForPlugin):

  • src/WebNode.cpp:

(WebKit::WebNode::pluginContainer):
(WebKit):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::windowToLocalPoint):
(WebKit):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

  • tests/FakeWebPlugin.cpp: Added.

(WebKit):
(WebKit::FakeWebPlugin::FakeWebPlugin):
(WebKit::FakeWebPlugin::~FakeWebPlugin):
(WebKit::FakeWebPlugin::initialize):
(WebKit::FakeWebPlugin::destroy):

  • tests/FakeWebPlugin.h: Added.

(WebKit):
(FakeWebPlugin):

  • tests/WebPluginContainerTest.cpp: Added.

(WebKit):
(WebPluginContainerTest):
(WebKit::WebPluginContainerTest::WebPluginContainerTest):
(WebKit::WebPluginContainerTest::TearDown):
(WebKit::getWebPluginContainer):
(WebKit::TEST_F):

  • tests/data/plugin_container.html: Added.
7:49 AM Changeset in webkit [135046] by kbalazs@webkit.org
  • 2 edits in trunk/Source/WebCore

[Coordinated Graphics] Resumed animations leave an obsolate GraphicsLayerAnimation behind
https://bugs.webkit.org/show_bug.cgi?id=102530

Reviewed by Noam Rosenthal.

GraphicsLayer::addAnimation is called no only when a new animation is created
but also when resuming a paused animation. If this is a resumed animation we
should remove the obsolate GraphicsLayerAnimation object.

Tested by animations tests.

  • platform/graphics/GraphicsLayerAnimation.cpp:

(WebCore::GraphicsLayerAnimations::add):

5:19 AM Changeset in webkit [135045] by zandobersek@gmail.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk/TestExpectations:
5:09 AM Changeset in webkit [135044] by zandobersek@gmail.com
  • 3 edits in trunk/LayoutTests

Unreviewed gardening. Fixing a test that's failing since r134859.

  • http/tests/websocket/tests/hybi/workers/close-expected.txt:
  • http/tests/websocket/tests/hybi/workers/resources/close.js:

(runInvalidStringTest):

4:58 AM Changeset in webkit [135043] by kbalazs@webkit.org
  • 2 edits in trunk/Source/WebKit2

8bit-unaware String usage in NetscapePluginModuleX11.cpp
https://bugs.webkit.org/show_bug.cgi?id=102482

Reviewed by Michael Saboff.

String::fromUTF8 is not guaranteed to give a 16 bit string.

  • Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:

(WebKit::truncateToSingleLine): Do an explicit 16 bit conversion.

2:26 AM Changeset in webkit [135042] by mkwst@chromium.org
  • 7 edits
    3 deletes in trunk/LayoutTests

Web Inspector: http/tests/inspector/stacktraces/* are flakey in JSC
https://bugs.webkit.org/show_bug.cgi?id=102380

Reviewed by Yury Semikhatsky.

The inspector stacktrace tests are quite flakey at the moment under JSC.
This patch drops detail out of the test that a) isn't relevent to what's
being tested, and b) varies under JSC for no discernable reason. A side
benifit of this change is that we can drop most platform-specific test
results, as we're now only looking at data that JSC and V8 agree upon.

  • http/tests/inspector/stacktraces/csp-injected-content-warning-contains-stacktrace-expected.txt:
  • http/tests/inspector/stacktraces/csp-inline-warning-contains-stacktrace-expected.txt:
  • http/tests/inspector/stacktraces/csp-setInterval-warning-contains-stacktrace-expected.txt:
  • http/tests/inspector/stacktraces/csp-setTimeout-warning-contains-stacktrace-expected.txt:

Reset tests based on the new level of detail.

  • http/tests/inspector/stacktraces/resources/stacktrace-test.js:

(test.addMessage):
(test):

Limit the detail of the output to the top frame of the stack, and
drop the column number (which was always 0 in JSC).

  • platform/chromium/http/tests/inspector/stacktraces/csp-injected-content-warning-contains-stacktrace-expected.txt: Removed.
  • platform/chromium/http/tests/inspector/stacktraces/csp-setInterval-warning-contains-stacktrace-expected.txt: Removed.
  • platform/chromium/http/tests/inspector/stacktraces/csp-setTimeout-warning-contains-stacktrace-expected.txt: Removed.

Dropping these platform-specific tests, as this patch limits the test
output detail to a subset that V8 and JSC agree upon.

  • platform/chromium/http/tests/inspector/stacktraces/csp-inline-warning-contains-stacktrace-expected.txt:

Can't drop this one, sadly.

12:37 AM Changeset in webkit [135041] by fpizlo@apple.com
  • 13 edits in trunk/Source/JavaScriptCore

Given a PutById or GetById with a proven structure, the DFG should be able to emit a PutByOffset or GetByOffset instead
https://bugs.webkit.org/show_bug.cgi?id=102327

Reviewed by Mark Hahnenberg.

If the profiler tells us that a GetById or PutById may be polymorphic but our
control flow analysis proves that it isn't, we should trust the control flow
analysis over the profiler. This arises in cases where GetById or PutById were
inlined: the inlined function may have been called from other places that led
to polymorphism, but in the current inlined context, there is no polymorphism.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dump):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFor):
(JSC):

  • bytecode/GetByIdStatus.h:

(JSC::GetByIdStatus::GetByIdStatus):
(GetByIdStatus):

  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFor):
(JSC):

  • bytecode/PutByIdStatus.h:

(JSC):
(JSC::PutByIdStatus::PutByIdStatus):
(PutByIdStatus):

  • dfg/DFGAbstractState.cpp:

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

  • dfg/DFGAbstractValue.h:

(JSC::DFG::AbstractValue::bestProvenStructure):
(AbstractValue):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):
(JSC::DFG::ConstantFoldingPhase::addStructureTransitionCheck):
(ConstantFoldingPhase):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToGetByOffset):
(Node):
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::hasStorageResult):

  • runtime/JSGlobalObject.h:

(JSC::Structure::prototypeChain):
(JSC):
(JSC::Structure::isValid):

  • runtime/Operations.h:

(JSC::isPrototypeChainNormalized):
(JSC):

  • runtime/Structure.h:

(Structure):
(JSC::Structure::transitionDidInvolveSpecificValue):

12:03 AM Changeset in webkit [135040] by mrobinson@webkit.org
  • 3 edits in trunk/Source/WebCore

[Soup] CredentialStorage should only be used for HTTP-family requests
https://bugs.webkit.org/show_bug.cgi?id=102582

Reviewed by Gustavo Noronha Silva.

Do not use CredentialStorage when handling non-HTTP family requests. CredentialStorage
only expects to handle requests in the HTTP family.

No new tests. This is covered by existing tests.

  • platform/network/ResourceHandle.h:

(ResourceHandle): Add a shouldUseCredentialStorage helper to ResourceHandle. This
helper returns false when firstRequest() is a non-HTTP family request.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::applyAuthenticationToRequest): Use the new helper.
(WebCore::createSoupRequestAndMessageForHandle): Ditto.
(WebCore::ResourceHandle::start): Ditto.
(WebCore::ResourceHandle::shouldUseCredentialStorage): Ditto.
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): Ditto.
(WebCore::ResourceHandle::receivedCredential): Ditto.

Nov 16, 2012:

11:41 PM Changeset in webkit [135039] by Patrick Gansterer
  • 2 edits in trunk/Source/WebCore

Build fix for !USE(ACCELERATED_COMPOSITING) after r135029.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintOverflowControls):

10:26 PM Changeset in webkit [135038] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Improve the performance of rect transform
https://bugs.webkit.org/show_bug.cgi?id=101828

Patch by Benjamin Poulain <bpoulain@apple.com> on 2012-11-16
Reviewed by Simon Fraser.

Mapping a rect and a quad by a transform is a common operation because
we use it to recompute the repaint rect, overflow rect, etc.

The way it was done, is by transforming through mapRect()->mapQuad()->4 times mapPoint().
Each of those functions tests isIdentityOrTranslation() which has to read the whole matrix
and perform many comparison.
Because of that, the simple mapping of a rect was loading and checking the matrix 5 times
too many.

This patch just cut the intermediary calls.

On ARM, putting the operation together also has the advantage of loading the matrix
only once in registers and reusing it for every point.

  • platform/graphics/transforms/TransformationMatrix.cpp:

(WebCore::TransformationMatrix::mapPoint):
(WebCore::TransformationMatrix::mapRect):

  • platform/graphics/transforms/TransformationMatrix.h:

(WebCore):
(WebCore::TransformationMatrix::mapPointImpl): New convenience function to perform the
point project without doing isIdentityOrTranslation().

10:11 PM Changeset in webkit [135037] by Lucas Forschler
  • 2 edits in tags/Safari-537.19.1/Source/WebKit2

Merge fix from <rdar://problem/12723222>.

10:09 PM Changeset in webkit [135036] by Lucas Forschler
  • 4 edits in tags/Safari-537.19.1/Source/WebKit2

Merged r135020.

10:00 PM Changeset in webkit [135035] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebKit2

[EFL][WK2] Remove unnecessary #include statemtns
https://bugs.webkit.org/show_bug.cgi?id=102577

Patch by Jaehun Lim <ljaehun.lim@samsung.com> on 2012-11-16
Reviewed by Anders Carlsson.

ewk_*_private.h doesn't need to include RefCounted.h after Ewk_Object refactoring.

  • UIProcess/API/efl/ewk_auth_request_private.h:
  • UIProcess/API/efl/ewk_database_manager.cpp:
  • UIProcess/API/efl/ewk_file_chooser_request_private.h:
  • UIProcess/API/efl/ewk_form_submission_request_private.h:
  • UIProcess/API/efl/ewk_navigation_data_private.h:
  • UIProcess/API/efl/ewk_resource_private.h:
  • UIProcess/API/efl/ewk_storage_manager.cpp:
9:16 PM Changeset in webkit [135034] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Avoid calling the virtual isBlockFlow() in RenderBox::computeRectForRepaint()
https://bugs.webkit.org/show_bug.cgi?id=102581

Reviewed by Dan Bernstein.

isBlockFlow() is a virtual function call, and shows up in profiles of
Facebook pages as called from RenderBox::computeRectForRepaint().

It's faster to do the hasColumns() bit-check first. Also replace
a call to layer() with the hasLayer() bit-check.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computeRectForRepaint):

8:42 PM Changeset in webkit [135033] by Simon Fraser
  • 4 edits in trunk/LayoutTests

Rebaseline.

  • platform/mac-wk2/svg/zoom/page/zoom-svg-through-object-with-absolute-size-expected.txt:
  • platform/mac-wk2/svg/zoom/page/zoom-svg-through-object-with-huge-size-expected.txt:
  • platform/mac-wk2/svg/zoom/page/zoom-svg-through-object-with-override-size-expected.txt:
8:32 PM Changeset in webkit [135032] by Simon Fraser
  • 6 edits
    2 deletes in trunk/LayoutTests

Rebaseline some editing tests.

  • platform/mac-wk2/editing/selection/caret-ltr-right-expected.txt: Removed.
  • platform/mac-wk2/editing/selection/caret-rtl-right-expected.txt: Removed.
  • platform/mac/TestExpectations:
  • platform/mac/editing/pasteboard/innerText-inline-table-expected.txt:
  • platform/mac/editing/selection/iframe-expected.txt:
  • platform/mac/editing/selection/inline-table-expected.txt:
  • platform/mac/editing/selection/table-caret-3-expected.txt:
8:19 PM Changeset in webkit [135031] by danakj@chromium.org
  • 2 edits in trunk/Source/Platform

[chromium] Add conversion between WebTransformation and gfx::Transform
https://bugs.webkit.org/show_bug.cgi?id=102575

Reviewed by James Robinson.

  • chromium/public/WebTransformationMatrix.h:

(WebTransformationMatrix):
(WebKit::WebTransformationMatrix::WebTransformationMatrix):
(WebKit::WebTransformationMatrix::operator=):
(WebKit::WebTransformationMatrix::operator gfx::Transform):

6:52 PM Changeset in webkit [135030] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebCore

Unreviewed, rolling out r134817.
http://trac.webkit.org/changeset/134817
https://bugs.webkit.org/show_bug.cgi?id=102576

Broke iframes and causing tons of crashes on ClusterFuzz
(Requested by inferno-sec on #webkit).

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

  • dom/ContainerNode.cpp:

(WebCore::willRemoveChildren):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildFrameDisconnector::collectDescendant):

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::~ChildFrameDisconnector):
(ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::collectDescendant):
(WebCore::ChildFrameDisconnector::disconnect):

  • dom/Node.cpp:
  • dom/Node.h:

(Node):

  • dom/NodeRareData.h:

(WebCore::NodeRareData::NodeRareData):
(NodeRareData):

  • html/HTMLFrameOwnerElement.cpp:

(WebCore::HTMLFrameOwnerElement::setContentFrame):
(WebCore::HTMLFrameOwnerElement::disconnectContentFrame):

6:34 PM CoordinatedGraphicsSystem edited by Helder Correia
(diff)
6:31 PM Changeset in webkit [135029] by Simon Fraser
  • 5 edits in trunk/Source/WebCore

Fix overlay scrollbar painting in compositing layers
https://bugs.webkit.org/show_bug.cgi?id=102442

Reviewed by Beth Dakin.

There were two issues with overlay scrollbar painting in
compositing layers.

First, we'd only ever call setContainsDirtyOverlayScrollbars()
on the RenderView's layer, even when encountering an overlay scrollbar
in some descendant compositing layer. This meant that we'd never
run the paintOverlayScrollbars() code for those child compositing
layers, so sometimes scrollbars were missing there.

Even after fixing that, we would fail to render scrollbars that
were not in the composited RenderLayer itself. This happened because
we called into RenderLayer::paintOverlayScrollbars(), which called
paintLayer() with flags that only said to paint the overlay scrollbars
but not any descendants, so this paint path would not walk child
RenderLayers.

Also remove the containsScrollableAreaWithOverlayScrollbars() flag on
ScrollView which is no longer used.

  • platform/ScrollView.cpp:

(WebCore::ScrollView::ScrollView): Remove containsScrollableAreaWithOverlayScrollbars().
(WebCore::ScrollView::paint): Remove setting of m_containsScrollableAreaWithOverlayScrollbars.

  • platform/ScrollView.h:
  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::paintOverflowControls): Call setContainsDirtyOverlayScrollbars()
on the compositing ancestor or the root.
Remove call to setContainsScrollableAreaWithOverlayScrollbars().
(WebCore::RenderLayer::paintOverlayScrollbars): When painting overlay
scrollbars, no need to say we have transparency, and no need to use
temporary clip rects.
(WebCore::RenderLayer::paintLayer): The PaintLayerPaintingOverlayScrollbars
check here was only needed because the compositing entrypoint to painting
overlay scrollbars went via paintLayer(), which isn't normally used as
a composited painting entry point. Now that we no longer call that, we
don't need this special check.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::paintIntoLayer): Jump into overlay scrollbar
painting via paintLayerContents(), not paintOverlayScrollbars(), since
the latter does not traverse sublayers.

6:11 PM Changeset in webkit [135028] by dgrogan@chromium.org
  • 6 edits
    18 deletes in trunk/LayoutTests

IndexedDB: setVersion excision batch 10
https://bugs.webkit.org/show_bug.cgi?id=102565

Reviewed by Tony Chang.

  • storage/indexeddb/mozilla/resources/versionchange.js: Removed. Very similar to a lot of our other tests.
  • storage/indexeddb/resources/set_version_queue.js: Removed. Tests 4 already-open connections calling setVersion, no longer applicable. Though something similar will be set up when we implement 4.1.3#Note2: if two databases with the same name and origin, but with different versions, are being opened at the same time, the one with the highest version will attempt to be opened first.
  • storage/indexeddb/resources/setversion-blocks-open.js: Removed. Tests the same thing as version-change-exclusive, even though version-change-exclusive's description had been inaccurate.
  • storage/indexeddb/resources/setversion-blocks-setversion.js: Removed. Behavior under test is no longer possible. (multiple setVersion calls from same connection.)
  • storage/indexeddb/resources/shared.js:

(indexedDBTest):
Added another optional parameter for version-change-exclusive.

  • storage/indexeddb/resources/three-setversion-calls.js: Removed. Behavior under test is no longer possible. (multiple setVersion calls from same connection.)
  • storage/indexeddb/resources/two-version-changes.js: Removed. Behavior under test is no longer possible. (multiple setVersion calls from same connection.)
  • storage/indexeddb/resources/version-change-abort.js: Straightforward conversion.
  • storage/indexeddb/resources/version-change-exclusive.js: The previous description didn't accurately describe the test.

--Corresponding .html and -expected files also removed.

6:08 PM Changeset in webkit [135027] by jsbell@chromium.org
  • 3 edits
    2 adds in trunk

IndexedDB: Assert hit when getting non-existent object store in version change transaction
https://bugs.webkit.org/show_bug.cgi?id=102547

Reviewed by Tony Chang.

Source/WebCore:

Code did not account for the not-found case in "versionchange" transactions, where all
object stores are implicitly in scope.

Test: storage/indexeddb/object-lookups-in-versionchange.html

  • Modules/indexeddb/IDBTransaction.cpp:

(WebCore::IDBTransaction::objectStore):

LayoutTests:

Regression test - make sure that .objectStore() and .index() fail on unknown names
in "versionchange" transactions.

  • storage/indexeddb/object-lookups-in-versionchange-expected.txt: Added.
  • storage/indexeddb/object-lookups-in-versionchange.html: Added.
6:03 PM Changeset in webkit [135026] by timothy_horton@apple.com
  • 9 edits in trunk/Source/WebKit2

Fix the windows build.

Patch by Sam Weinig <weinig@apple.com> on 2012-11-16

  • WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:

(WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
(WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::setPrivateBrowsingEnabled):
(WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::defaultCookieStorage):

  • WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:

(WebFrameNetworkingContext):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

  • WebProcess/WebPage/win/WebPageWin.cpp:

(WebKit::cachedResponseForURL):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeWebProcess):

  • WebProcess/win/WebProcessWin.cpp:

(WebKit::WebProcess::platformSetCacheModel):
(WebKit::WebProcess::platformClearResourceCaches):
(WebKit::WebProcess::platformInitializeWebProcess):

6:03 PM Changeset in webkit [135025] by Simon Fraser
  • 16 edits in trunk

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

Reviewed by Dave Hyatt.

Source/WebCore:

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):

LayoutTests:

In debug, skip tests that assert because of LayoutUnit truncation.

  • platform/mac/TestExpectations:
6:01 PM Changeset in webkit [135024] by Lucas Forschler
  • 4 edits in tags/Safari-537.19.1/Source

Versioning.

5:58 PM Changeset in webkit [135023] by Lucas Forschler
  • 1 copy in tags/Safari-537.19.1

New Tag.

5:53 PM Changeset in webkit [135022] by alecflett@chromium.org
  • 11 edits
    2 adds in trunk

Add tests for explicit serialization values
https://bugs.webkit.org/show_bug.cgi?id=96818

Reviewed by Adam Barth.

Source/WebCore:

Expose direct access to the serialization/deserialization mechanisms
of SerializedScriptValue to DumpRenderTree.

  • testing/Internals.cpp:

(WebCore::Internals::serializeObject):
(WebCore):
(WebCore::Internals::deserializeBuffer):

  • testing/Internals.h:

(WebCore):

  • testing/Internals.idl:

Source/WebKit2:

Add exports for SerializedScriptValue changes.

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

LayoutTests:

Make sure SerializedScriptValues are backward compatible with future changes.

  • platform/chromium/fast/storage/serialized-script-value.html: Added.
  • platform/chromium/fast/storage/serialized-script-value.txt: Added.
5:34 PM Changeset in webkit [135021] by akling@apple.com
  • 9 edits in trunk/Source/WebCore

Exploit shared attribute data to avoid parsing identical "style" attributes.
<http://webkit.org/b/101163>

Reviewed by Antti Koivisto.

Track the "inline style dirty" state on ElementAttributeData instead of in a Node flag.
This allows us to avoid duplicate work for ElementAttributeData that are shared between multiple elements,
since the state is no longer per-Element.

  • css/StyleResolver.cpp:

(WebCore::isCacheableInMatchedPropertiesCache):

Disable the matched properties cache for styles with non-standard writing-mode.
This is necessary because some CSS properties have different meaning depending on context -
properties handled by CSSProperty::resolveDirectionAwareProperty().

Now that multiple elements may have identical inlineStyle() pointers, this is necessary to
avoid mapping StylePropertySets with direction-aware properties to RenderStyles with differing
writing-modes in the matched properties cache.

  • dom/Node.h:
  • dom/ElementAttributeData.cpp:

(WebCore::ElementAttributeData::ElementAttributeData):

  • dom/ElementAttributeData.h:

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

  • dom/Element.h:

(WebCore::Element::updateInvalidAttributes):

  • dom/Element.cpp:

(WebCore::Element::getAttribute):
(WebCore::Element::removeAttribute):

  • dom/StyledElement.h:

(WebCore::StyledElement::invalidateStyleAttribute):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::updateStyleAttribute):

Move "style attribute dirty" flag to ElementAttributeData.

(WebCore::Element::cloneAttributesFromElement):

Remove ugly optimization to avoid reparsing inline style when cloning elements. This now happens
automagically since cloning nodes just refs the original attribute data.

  • dom/StyledElement.cpp:

(WebCore::StyledElement::updateStyleAttribute):
(WebCore::StyledElement::setInlineStyleFromString):
(WebCore::StyledElement::styleAttributeChanged):
(WebCore::StyledElement::inlineStyleChanged):

Avoid reparsing the inline style if the element's attribute data is immutable and already has
a parsed inlineStyle(). Split the set-inline-style-from-string code out of styleAttributeChanged()
to make the code more understandable.

5:34 PM Changeset in webkit [135020] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

Set task priority of WebKit2 processes to zero on Mac
https://bugs.webkit.org/show_bug.cgi?id=102567

Patch by Kiran Muppala <cmuppala@apple.com> on 2012-11-16
Reviewed by Mark Rowe.

Explicitly set task priority of WebKit2 processes to zero, to
override automatic priority determination by the system.

  • Shared/ChildProcess.cpp:

(WebKit::ChildProcess::ChildProcess): Add call to platformInitialize() and
move MAC specific call to disableProcessSuppression to platformInitialize.
(WebKit::ChildProcess::platformInitialize): Dummy for non MAC platforms.

  • Shared/ChildProcess.h:
  • Shared/mac/ChildProcessMac.mm:

(WebKit::ChildProcess::platformInitialize): Add call to setpriority().

5:06 PM Changeset in webkit [135019] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Don't update layer positions on scrolling if we're in the middle of layout
https://bugs.webkit.org/show_bug.cgi?id=102556

Reviewed by Dan Bernstein.

RenderLayer::scrollTo() can be called in the middle of layout. When
that happens we should not waste time updating layer positions,
compositing layers, or widget positions, because we'll do those at the
end of layout anyway.

This prevents us from having inconsistent RenderLayer state, which
hinders future optimizations in this area.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::scrollTo):

4:52 PM Changeset in webkit [135018] by dgrogan@chromium.org
  • 10 edits in trunk/LayoutTests

IndexedDB: setVersion excision batch 9
https://bugs.webkit.org/show_bug.cgi?id=102455

Reviewed by Tony Chang.

  • storage/indexeddb/persistence-expected.txt:
  • storage/indexeddb/resources/persistence.js:

(prepareDatabase):
Little awkwardness to get the initial version number to be 0 (actually,
because of a bug it's "") so that first() will trigger a
versionchange.
(first):

  • storage/indexeddb/resources/set_version_blocked.js: Small "blocked" test. It's probably redundant due to our crazier tests, but it is nice to have a succinct test that checks one thing.
  • storage/indexeddb/resources/shared.js:

(unexpectedBlockedCallback):

  • storage/indexeddb/resources/transaction-basics.js: This test is a mess, obviously written near the dawn of IDB when no one knew how to write an effective test for it. In the interests of preventing the diff from exploding I didn't take all the clarification opportunities that were there.
  • storage/indexeddb/resources/transaction-error.js:
  • storage/indexeddb/set_version_blocked-expected.txt:
  • storage/indexeddb/transaction-basics-expected.txt:
  • storage/indexeddb/transaction-error-expected.txt:
4:40 PM Changeset in webkit [135017] by beidson@apple.com
  • 13 edits
    1 copy in trunk/Source/WebKit2

Move resource loader messaging from NetworkConnectionToWebProcess directly to NetworkResourceLoader
https://bugs.webkit.org/show_bug.cgi?id=102570

Reviewed by Alexey Proskuryakov.

This patch adds the ability for WebResourceLoader to message NetworkResourceLoader directly.

This further cements the 1-to-1 relationship between the two classes and makes it easy to add/change
loader related messaging going forward.

Build/infrastructure stuff:

  • Platform/CoreIPC/MessageID.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • DerivedSources.make:

Remove the WillSendRequestHandled message, and forward NetworkResourceLoader messages on to the correct object:

  • NetworkProcess/NetworkConnectionToWebProcess.cpp:

(WebKit::NetworkConnectionToWebProcess::didReceiveMessage):

  • NetworkProcess/NetworkConnectionToWebProcess.h:
  • NetworkProcess/NetworkConnectionToWebProcess.messages.in:

Hang on to a master map of identifiers to NetworkResourceLoaders:

  • NetworkProcess/NetworkResourceLoadScheduler.cpp:

(WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
(WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
(WebKit::NetworkResourceLoadScheduler::networkResourceLoaderForIdentifier):

  • NetworkProcess/NetworkResourceLoadScheduler.h:

Change the way "willSendRequestHandled" comes in to be a direct message:

  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::willSendRequest):
(WebKit::NetworkResourceLoader::willSendRequestHandled):

  • NetworkProcess/NetworkResourceLoader.h:
  • NetworkProcess/NetworkResourceLoader.messages.in:

Make WebResourceLoader a MessageSender:

  • WebProcess/Network/WebResourceLoader.cpp:

(WebKit::WebResourceLoader::connection):
(WebKit::WebResourceLoader::destinationID):
(WebKit::WebResourceLoader::willSendRequest): Use MessageSender abilities to message the NetworkResourceLoader.

  • WebProcess/Network/WebResourceLoader.h:
4:31 PM Changeset in webkit [135016] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/chromium

Add setChecked API in WebInputElement
https://bugs.webkit.org/show_bug.cgi?id=102422

Patch by Raman Kumar <ramankk@chromium.org> on 2012-11-16
Reviewed by Adam Barth.

  • public/WebInputElement.h:

(WebInputElement): Add setChecked(bool, bool) API

  • src/WebInputElement.cpp:

(WebKit::WebInputElement::setChecked): Implement setChecked by calling
underlying HTMLInputElement's setChecked.
(WebKit):

4:25 PM Changeset in webkit [135015] by Dimitri Glazkov
  • 1 edit
    1 delete in trunk/LayoutTests

[Chromium] Removed unnecessary expectation.

  • platform/chromium-win/fast/canvas/canvas-shadow-expected.txt: Removed.
3:59 PM Changeset in webkit [135014] by tony@chromium.org
  • 16 edits in trunk

Remove ENABLE_CSS_HIERARCHIES since it's no longer in use
https://bugs.webkit.org/show_bug.cgi?id=102554

Reviewed by Andreas Kling.

As mentioned in https://bugs.webkit.org/show_bug.cgi?id=79939#c41 ,
we're going to revist this feature once additional vendor support is
achieved.

.:

  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

No new tests, just removing an unused define.

  • Configurations/FeatureDefines.xcconfig:
  • GNUmakefile.features.am:

Source/WebKit/chromium:

  • features.gypi:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
3:52 PM Changeset in webkit [135013] by pilgrim@chromium.org
  • 10 edits
    1 move
    1 add in trunk/Source

[Chromium] Remove cookie-related functions from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=99340

Reviewed by Adam Barth.

Move cookie-related functions out of PlatformSupport and implement
new PlatformCookieJar interface via NetworkContext.

Source/WebCore:

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • loader/CookieJar.cpp:
  • loader/chromium/CookieJarChromium.cpp: Removed.
  • platform/chromium/PlatformSupport.h:

(WebCore):
(PlatformSupport):

  • platform/network/NetworkingContext.h:

(WebKit):
(NetworkingContext):

  • platform/network/chromium/CookieJarChromium.cpp: Copied from Source/WebCore/loader/chromium/CookieJarChromium.cpp.

(WebCore::setCookiesFromDOM):
(WebCore::cookiesForDOM):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
(WebCore::getHostnamesWithCookies):
(WebCore::deleteCookiesForHostname):
(WebCore::deleteAllCookies):

Source/WebKit/chromium:

  • WebKit.gyp:
  • src/FrameNetworkingContextImpl.cpp: Added.

(WebKit):
(WebKit::FrameNetworkingContextImpl::cookieJar):

  • src/FrameNetworkingContextImpl.h:

(FrameNetworkingContextImpl):

  • src/PlatformSupport.cpp:
3:47 PM Changeset in webkit [135012] by aestes@apple.com
  • 2 edits in branches/safari-536.28-branch/Source/WebCore

Fix the Mountain Lion build after r135007.

  • bindings/js/JSDesktopNotificationsCustom.cpp:

(WebCore::JSNotificationCenter::requestPermission):

3:39 PM Changeset in webkit [135011] by Lucas Forschler
  • 7 edits in branches/safari-536.28-branch/Source/WebCore

Merged r131779. <rdar://problem/12536363>

3:31 PM Changeset in webkit [135010] by bfulgham@webkit.org
  • 7 edits in trunk/Source

Source/WebKit/win: [WinCairo] Unreviewed build fix after r134960.

Avoid including Mac-specific headers.

  • WebCoreSupport/WebFrameNetworkingContext.cpp: Stub out

CFNetwork-based implementations.

  • WebCoreSupport/WebFrameNetworkingContext.h: Exclude

CFNetwork data types.

  • WebCoreSupport/WebPlatformStrategies.cpp: Stub out

CFNetwork-based implementations.

  • WebCoreSupport/WebPlatformStrategies.h: Exclude

CFNetwork data types.

Source/WebKit2: [WinCairo] Build correction after r134960.

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp: Stub out

calls to CFNetwork-based implementation.

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

[JSC] Don't sanitize window.onerror information on crossorigin-enabled scripts
https://bugs.webkit.org/show_bug.cgi?id=70574

Patch by Pablo Flouret <pablof@motorola.com> on 2012-11-16
Reviewed by Geoffrey Garen.

Source/WebCore:

For scripts that use CORS (via the crossorigin attribute in this case),
don't sanitize the information passed to the window's onerror handler (i.e.
message, url, and line number). Useful for scripts hosted on CDNs.

Tests: http/tests/security/script-crossorigin-onerror-information.html

http/tests/security/script-no-crossorigin-onerror-should-be-sanitized.html

  • WebCore.exp.in:
  • WebCore.order:
  • bindings/js/JSDOMBinding.cpp:

(WebCore::reportException):

  • bindings/js/JSDOMBinding.h:

(WebCore):

  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::evaluateInWorld):

  • bindings/js/ScriptSourceCode.h:

(WebCore::ScriptSourceCode::ScriptSourceCode):
(WebCore::ScriptSourceCode::cachedScript):
(ScriptSourceCode):

  • bindings/js/WorkerScriptController.cpp:

(WebCore::WorkerScriptController::evaluate):

Keep a reference to the cached script in the ScriptSourceCode, so
that it can be passed around and be available when reporting the
exception.

  • dom/ScriptExecutionContext.cpp:

(WebCore::ScriptExecutionContext::sanitizeScriptError):
(WebCore::ScriptExecutionContext::reportException):
(WebCore::ScriptExecutionContext::dispatchErrorEvent):

  • dom/ScriptExecutionContext.h:

(WebCore):
(ScriptExecutionContext):

Check if the script passes the access control checks, and if so,
don't sanitize the error information.

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::PreloadTask::processAttributes):
(WebCore::PreloadTask::preload):
(PreloadTask):
(WebCore::PreloadTask::crossOriginModeAllowsCookies):

When preloading script elements, check for the crossorigin attribute
and adjust the request's allowCookies value accordingly. Otherwise
when the script is loaded from the cache later on, the cross origin mode
(anonymous/use-credentials) will be effectively ignored.

LayoutTests:

  • http/tests/security/resources/cors-script.php:
  • http/tests/security/script-crossorigin-onerror-information-expected.txt: Added.
  • http/tests/security/script-crossorigin-onerror-information.html: Added.
  • http/tests/security/script-no-crossorigin-onerror-should-be-sanitized-expected.txt: Added.
  • http/tests/security/script-no-crossorigin-onerror-should-be-sanitized.html: Added.
  • platform/chromium/TestExpectations:

This patch only deals with JSC right now, skip the new tests.

3:05 PM Changeset in webkit [135008] by jochen@chromium.org
  • 6 edits in trunk/Tools

[chromium] move stubs from DRTTestRunner to TestRunner
https://bugs.webkit.org/show_bug.cgi?id=102489

Reviewed by Adam Barth.

This is part of moving all methods from DRTTestRunner to TestRunner.
Instead of keeping one stub per method, I'm using a shared stub to
clean up the code.

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::DRTTestRunner):

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):

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

(WebTestRunner::TestRunner::TestRunner):
(WebTestRunner):
(WebTestRunner::TestRunner::fallbackMethod):
(WebTestRunner::TestRunner::notImplemented):

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

(WebTestRunner):
(TestRunner):
(WebTestRunner::TestRunner::setDelegate):

  • DumpRenderTree/chromium/TestShell.cpp:

(TestShell::createMainWindow):
(TestShell::~TestShell):

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

Merged r131280. <rdar://problem/12516340>

2:51 PM Changeset in webkit [135006] by jochen@chromium.org
  • 5 edits in trunk/Tools

[chromium] fake drag drop operations in the WebTestProxyBase instead of the WebViewHost
https://bugs.webkit.org/show_bug.cgi?id=102495

Reviewed by Adam Barth.

When a drag operation is initiated in a layout test, we need to
simulate a corresponding drop event, otherwise the WebViewImpl will sit
there waiting for it. Instead of having the embedder taking care of
this, move this into the TestRunner library.

  • DumpRenderTree/chromium/TestRunner/public/WebTestProxy.h:

(WebKit):
(WebTestProxyBase):
(WebTestRunner::WebTestProxy::startDragging):

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

(WebTestRunner::WebTestProxyBase::startDragging):
(WebTestRunner):

  • DumpRenderTree/chromium/WebViewHost.cpp:
  • DumpRenderTree/chromium/WebViewHost.h:

(WebViewHost):

2:48 PM Changeset in webkit [135005] by Lucas Forschler
  • 9 edits in branches/safari-536.28-branch/Source

Merged r130565. <rdar://problem/12516362>

2:46 PM Changeset in webkit [135004] by aestes@apple.com
  • 6 edits
    3 adds in branches/safari-536.28-branch

Merge r130102.

2012-10-01 Filip Pizlo <fpizlo@apple.com>

Address a FIXME in JSArray::sort
https://bugs.webkit.org/show_bug.cgi?id=98080
<rdar://problem/12407844>

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Get rid of fast sorting of sparse maps. I don't know that it's broken but I do know that we don't
have coverage for it. Then also address the FIXME in JSArray::sort regarding side-effecting
compare functions.

  • runtime/ArrayPrototype.cpp:

(JSC::arrayProtoFuncSort):

  • runtime/JSArray.cpp:

(JSC::JSArray::sortNumeric):
(JSC::JSArray::sort):
(JSC::JSArray::compactForSorting):

  • runtime/JSArray.h:

(JSArray):

  • runtime/JSObject.h:

(JSC::JSObject::hasSparseMap):
(JSObject):

LayoutTests:

  • fast/js/jsc-test-list:
  • fast/js/script-tests/sort-with-side-effecting-comparisons.js: Added.
  • fast/js/sort-with-side-effecting-comparisons-expected.txt: Added.
  • fast/js/sort-with-side-effecting-comparisons.html: Added.
2:42 PM Changeset in webkit [135003] by jonlee@apple.com
  • 7 edits
    4 adds in trunk/Source/WebCore

Change visual look of placeholder
https://bugs.webkit.org/show_bug.cgi?id=102149
<rdar://problem/12695566>

Reviewed by Darin Adler.

Move the button to the lower-right corner. Move the theming into
RenderSnapshottedPlugin for now. Eventually we will want to migrate to using the
shadow DOM instead, and the metrics of the button are needed for click passthrough.

Maintain variables to track whether the mouse is over the button, and the rect
for the button. If the user clicks in the rect, we render a pressed button.

  • rendering/RenderSnapshottedPlugIn.cpp:

(WebCore): Add named constant for bottom and right padding of the button.
(WebCore::RenderSnapshottedPlugIn::RenderSnapshottedPlugIn):
(WebCore::RenderSnapshottedPlugIn::paintReplaced):
(WebCore::startButtonImage): Returns button image.
(WebCore::startButtonPressedImage): Returns pressed button image.
(WebCore::RenderSnapshottedPlugIn::paintButton): Draw the button image in the
lower right hand corner, but only if we are active or hovered.
(WebCore::RenderSnapshottedPlugIn::repaintButton): Stubbed to call repaint().
(WebCore::RenderSnapshottedPlugIn::handleEvent): Repaint the button if we are
hovering over the plugin rect. With a mouse down event, calculate whether the
mouse position is within the button rect.
(WebCore::RenderSnapshottedPlugIn::layout): Cache the rect representing the button
contents.

  • rendering/RenderSnapshottedPlugIn.h:

Remove theming function for now.

  • rendering/RenderTheme.h:

(RenderTheme):

  • rendering/RenderThemeMacShared.h:
  • rendering/RenderThemeMacShared.mm:
2:31 PM Changeset in webkit [135002] by commit-queue@webkit.org
  • 7 edits in trunk

Rename applyDefaultDeviceScaleFactorInCompositor to setApplyDeviceScaleFactorInCompositor
https://bugs.webkit.org/show_bug.cgi?id=102462

Patch by Tien-Ren Chen <trchen@chromium.org> on 2012-11-16
Reviewed by James Robinson.

As we no longer have this "default" device scale factor.

Source/WebKit/chromium:

  • public/WebSettings.h:

(WebKit::WebSettings::setApplyDefaultDeviceScaleFactorInCompositor):

  • src/WebSettingsImpl.cpp:

(WebKit::WebSettingsImpl::WebSettingsImpl):
(WebKit::WebSettingsImpl::setApplyDeviceScaleFactorInCompositor):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):
(WebKit::WebSettingsImpl::applyDeviceScaleFactorInCompositor):

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::setDeviceScaleFactor):
(WebKit::WebViewImpl::setIsAcceleratedCompositingActive):

Tools:

  • DumpRenderTree/chromium/WebPreferences.cpp:

(WebPreferences::applyTo):

2:02 PM Changeset in webkit [135001] by eric@webkit.org
  • 8 edits in trunk/Source/WebCore

Deploy ScriptWrappable to more always-wrapped objects
https://bugs.webkit.org/show_bug.cgi?id=102539

Reviewed by Adam Barth.

Add the ScriptWrappable baseclass to:
CSSStyleDeclaration (anttik tells me these should only be used from JS, even though some old Editing code used to use them)
ClientRect (element.getBoundingClientRects)
Event (Not all events end up wrapped, but any which live past dispatch do)
NodeList (this covers Static and Dynamic node list types, like document.all)
HTMLCollection (separate from NodeList, for things like table.rows)
Storage (for window.storage, always wrapped)
XMLHttpRequest (always wrapped, created from JS)

This should be a small memory savings as the inline pointer is only 4-8 bytes
instead of the hashmap entry which would be 8-16. This may also show up
on benchmarks which repeatedly access these objects (like window.storage).

These were found by adding a couple lines of logging-code to
WebCore::createWrapper when we were in the main world, but took the
HashMap (instead of inline) storage path. I used sort and uniq -c
to find the most-frequently wrapped objects (while surfing
a few common sites) and came up with this list. There are still a few
more complicated objects (like CSSStyleDeclaration) which may benifit
from inline-wrapper-access and will be covered in a later patch.

  • css/CSSStyleDeclaration.h:
  • dom/ClientRect.h:
  • dom/Event.h:
  • dom/NodeList.h:
  • html/HTMLCollection.h:
  • storage/Storage.h:
  • xml/XMLHttpRequest.h:
1:53 PM Changeset in webkit [135000] by jonlee@apple.com
  • 2 edits in trunk/Source/WebKit/chromium

Fix build error on Chromium due to r134995.

  • src/WebNode.cpp:

(WebKit::WebNode::simulateClick): Pass in NULL pointer instead.

1:53 PM Changeset in webkit [134999] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WebCore

Merged r134903. <rdar://problem/12721103>

1:52 PM Changeset in webkit [134998] by Dimitri Glazkov
  • 3 edits
    2 moves
    2 deletes in trunk/LayoutTests

[Chromium] Remaining bits of Win7 rebaselines.

1:43 PM Changeset in webkit [134997] by Dimitri Glazkov
  • 16 edits
    6 moves
    1 add
    25 deletes in trunk/LayoutTests

[Chromium] Massive rebaseline after Win7 came back up.

1:40 PM Changeset in webkit [134996] by Lucas Forschler
  • 2 edits in tags/Safari-537.19/Source/WebCore

Merged r134903. <rdar://problem/12683850>

1:39 PM Changeset in webkit [134995] by jonlee@apple.com
  • 5 edits in trunk/Source/WebCore

Simulated events instances do not all have the same underlying event
https://bugs.webkit.org/show_bug.cgi?id=102468
<rdar://problem/12716331>

Reviewed by Alexey Proskuryakov.

The PassRefPtr with the underlying event is included as an argument for the mouse
down, up, and click events. But the PassRefPtr loses its underlying pointer after
the first simulated mouse down event because it gets assigned to that event's
private m_underlyingEvent variable. We therefore send NULL to the other events.

The fix is for this and related functions to pass the raw pointer.

A layout test is not possible to put together because the call sites that use simulated
events with an underlying event do not send mouse events, and those that send mouse
events have a NULL underlying event.

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchSimulatedClick): Require passing in the raw pointer.

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

(WebCore::Node::dispatchSimulatedClick): Ditto.

  • dom/Node.h:
1:33 PM Changeset in webkit [134994] by Patrick Gansterer
  • 2 edits in trunk/Source/WebCore

Build fix for WinCE after r134936.

  • platform/network/win/CookieJarWin.cpp:

(WebCore::cookieRequestHeaderFieldValue):

1:31 PM Changeset in webkit [134993] by Patrick Gansterer
  • 2 edits in trunk/Source/JavaScriptCore

Build fix for WinCE after r133688.

Use numeric_limits<uint32_t>::max() instead of UINT32_MAX.

  • runtime/CodeCache.h:

(JSC::CacheMap::CacheMap):

1:31 PM Changeset in webkit [134992] by Dimitri Glazkov
  • 9 edits
    2 deletes in trunk

Unreviewed, rolling out r134986.
http://trac.webkit.org/changeset/134986
https://bugs.webkit.org/show_bug.cgi?id=102110

Triggered ASSERT in fast/frames/seamless/seamless-inherited-
origin.html.

Source/WebCore:

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::StyleResolver):
(WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets):
(WebCore::collectCSSOMWrappers):

  • css/StyleResolver.h:

(StyleResolver):

  • dom/Document.cpp:

(WebCore::Document::setCompatibilityMode):

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::~DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::pageGroupUserSheets):
(WebCore):
(WebCore::DocumentStyleSheetCollection::clearPageGroupUserSheets):
(WebCore::DocumentStyleSheetCollection::updatePageGroupUserSheets):
(WebCore::DocumentStyleSheetCollection::addUserSheet):
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):
(WebCore::DocumentStyleSheetCollection::reportMemoryUsage):

  • dom/DocumentStyleSheetCollection.h:

(DocumentStyleSheetCollection):
(WebCore::DocumentStyleSheetCollection::documentUserSheets):

  • page/PageGroup.cpp:

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

  • page/PageGroup.h:

(PageGroup):

LayoutTests:

  • userscripts/user-stylesheet-invalidate-expected.txt: Removed.
  • userscripts/user-stylesheet-invalidate.html: Removed.
1:29 PM Changeset in webkit [134991] by Lucas Forschler
  • 10 edits
    2 copies in branches/safari-536.28-branch

Merged r128088. <rdar://problem/12516313>

1:01 PM Changeset in webkit [134990] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/blackberry

https://bugs.webkit.org/show_bug.cgi?id=102540
[BlackBerry] Checkerboard flicker when pinch zooming out on google.com/nwshp

Patch by Adam Treat <atreat@rim.com> on 2012-11-16
Reviewed by George Staikos.
PR 245827

Disable updates to the backingstore tile matrix when backingstore updates
are disabled. This prevents changes to the tile matrix when we are in the
middle of a pinch zoom which can cause checkebroard flickering.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::BackingStorePrivate):
(BlackBerry::WebKit::BackingStorePrivate::resumeBackingStoreUpdates):
(BlackBerry::WebKit::BackingStorePrivate::setBackingStoreRect):
(BlackBerry::WebKit::BackingStorePrivate::render):
(BlackBerry::WebKit::BackingStorePrivate::renderVisibleContents):
(BlackBerry::WebKit::BackingStorePrivate::renderBackingStore):
(BlackBerry::WebKit::BackingStorePrivate::updateTileMatrixIfNeeded):
(BlackBerry::WebKit::BackingStorePrivate::contentsSizeChanged):
(BlackBerry::WebKit::BackingStorePrivate::orientationChanged):

  • Api/BackingStore_p.h:

(BlackBerry::WebKit::BackingStorePrivate::setTileMatrixNeedsUpdate):
(BackingStorePrivate):

12:56 PM Changeset in webkit [134989] by commit-queue@webkit.org
  • 9 edits in trunk/Source

IndexedDB: Propagate DOMRequestState to IndexedDB binding utility functions
https://bugs.webkit.org/show_bug.cgi?id=102430

Patch by Michael Pruett <michael@68k.org> on 2012-11-16
Reviewed by Adam Barth.

DOMRequestState is currently propagated to some but not all of
the IndexedDB binding utility functions. In order to implement
these functions for JSC, this state must be propagated to all
of the utility functions.

Source/WebCore:

Tests: storage/indexeddb/*

  • Modules/indexeddb/IDBCursor.cpp:

(WebCore::IDBCursor::update):
(WebCore::IDBCursor::setValueReady):

  • Modules/indexeddb/IDBObjectStore.cpp:

(WebCore::generateIndexKeysForValue):
(WebCore::IDBObjectStore::put):
(WebCore):

  • Modules/indexeddb/IDBRequest.cpp:

(WebCore::IDBRequest::onSuccess):
(WebCore::IDBRequest::dispatchEvent):

  • Modules/indexeddb/IDBRequest.h:

(WebCore::IDBRequest::requestState):
(IDBRequest):

  • bindings/v8/IDBBindingUtilities.cpp:

(WebCore::createIDBKeyFromScriptValueAndKeyPath):
(WebCore::serializeIDBValue):
(WebCore::injectIDBKeyIntoScriptValue):

  • bindings/v8/IDBBindingUtilities.h:

(WebCore):

Source/WebKit/chromium:

  • tests/IDBBindingUtilitiesTest.cpp:

(WebKit::checkKeyFromValueAndKeyPathInternal):
(WebKit::injectKey):

12:49 PM Changeset in webkit [134988] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Rebaselined run-bindings-tests.
https://bugs.webkit.org/show_bug.cgi?id=102523

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-11-16
Reviewed by Dimitri Glazkov.

Expected results need to be updated after r134931

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

(WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):

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

(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrSetter):
(WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackCallback):

12:46 PM Changeset in webkit [134987] by psolanki@apple.com
  • 7 edits in trunk/Source/WebCore

For single element arrays use the pointer into the CFDataRef instead of copying data
https://bugs.webkit.org/show_bug.cgi?id=102306
<rdar://problem/12267471>

Reviewed by Alexey Proskuryakov.

We generally copy the data received from CFNetwork into our own buffers. But if the
CFArrayRef has exactly one CFDataRef inside it, then we can just hold on to the CFDataRef
and access its memory directly and avoid making a copy.

This also moves the creation of PurgeableBuffer from CachedResource to SharedBuffer.
SharedBuffer::createPurgeableBuffer() will avoid creating PurgeableBuffer when the
SharedBuffer is backed by a NSData/CFDataRef and when we want to optimize and directly use
the memory in the data array.

No new tests because no change in functionality.

  • loader/ResourceBuffer.cpp:

(WebCore::ResourceBuffer::createPurgeableBuffer): Added.

  • loader/ResourceBuffer.h:
  • loader/cache/CachedResource.cpp:

(WebCore::CachedResource::makePurgeable):

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::createPurgeableBuffer): Added.
(WebCore::SharedBuffer::data):

  • platform/SharedBuffer.h:
  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::platformData): Use reinterpret_cast instead of C-style cast.
(WebCore::SharedBuffer::maybeTransferPlatformData): Use reinterpret_cast instead of C-style cast.
(WebCore::SharedBuffer::singleDataArrayBuffer): Added.

12:36 PM Changeset in webkit [134986] by Antti Koivisto
  • 9 edits
    2 adds in trunk

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:

  • userscripts/user-stylesheet-invalidate-expected.txt: Added.
  • userscripts/user-stylesheet-invalidate.html: Added.
12:26 PM Changeset in webkit [134985] by thakis@chromium.org
  • 3 edits
    2 copies in branches/chromium/1312

Merge 134698 - [chromium/mac] Fix drawing of buttons, checkboxes, radio boxes, and steppers when the page is scaled
https://bugs.webkit.org/show_bug.cgi?id=102282

Reviewed by James Robinson.

Chromium uses skia, and skia state is synced with CG context state at
LocalCurrentGraphicsContext construction time. So delay that
construction after context transforms have happened.
(This regressed in http://trac.webkit.org/changeset/125830)

Covered by the new pixel test fast/forms/zoomed-controls.html. I
couldn't find an existing test for this.

  • platform/mac/ThemeMac.mm:

(WebCore::paintCheckbox):
(WebCore::paintRadio):
(WebCore::paintButton):

TBR=thakis@chromium.org
Review URL: https://codereview.chromium.org/11418042

12:23 PM Changeset in webkit [134984] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

StyleResolver: Only input elements need equal "readonly" attribute for style sharing.
<http://webkit.org/b/102536>

Reviewed by Antti Koivisto.

Move the comparison of the "readonly" attribute into canShareStyleWithControl() since it's only
relevant for sharing style between <input> elements.

Also skip attribute comparisons for form control elements that share the same ElementAttributeData.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::canShareStyleWithControl):
(WebCore::haveIdenticalStyleAffectingAttributes):

12:21 PM Changeset in webkit [134983] by bfulgham@webkit.org
  • 2 edits in trunk/LayoutTests

[WinCairo] Sync with Windows test expectations.

  • platform/wincairo/TestExpectations: Update to match Windows.
12:19 PM Changeset in webkit [134982] by bfulgham@webkit.org
  • 2 edits in trunk/Tools

[Win] key event's location does not work on Windows platform.
https://bugs.webkit.org/show_bug.cgi?id=89742

Patch by Takashi Sakamoto <tasak@google.com> on 2012-11-15
Reviewed by Brent Fulgham.

Modified keyDownCallback to use lparam to specify left-hand keys or
right-hand keys.

  • DumpRenderTree/win/EventSender.cpp:

(makeKeyDataForScanCode):
Given a virtual keycode, generate scancode and extended key bit of
lparam.
(keyDownCallback):
Use lparam for left-hand and right-hand keys, because Windows doesn't
directly provide a virtual keycode which distinguishes between
left-hand and right-hand. For example, when control key is pressed,
wparam has VK_CONTROL, neither VK_RCONTROL nor VK_LCONTROL.

12:18 PM Changeset in webkit [134981] by msaboff@apple.com
  • 2 edits in trunk/Source/WTF

String::fromUTF8() should take advantage of the ASCII check in convertUTF8ToUTF16()
https://bugs.webkit.org/show_bug.cgi?id=100577

Reviewed by Oliver Hunt.

Passed in ASCII flag to convertUTF8ToUTF16() and if try, create an 8 bit string from the original arguments.
Relanding after fix to https://bugs.webkit.org/show_bug.cgi?id=102482.

  • wtf/text/WTFString.cpp:

(WTF::String::fromUTF8):

12:05 PM Changeset in webkit [134980] by rwlbuis@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] FCC doesn't work in textarea
https://bugs.webkit.org/show_bug.cgi?id=102088

Reviewed by Antonio Gomes.

Remove the cancel button specializations, it was needed at some point but hitting it
works just as well without it. This unbreaks FCC in textarea's.

  • WebKitSupport/FatFingers.cpp:

(BlackBerry::WebKit::FatFingers::isElementClickable):

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

Unreviewed, rolling out r134867.
http://trac.webkit.org/changeset/134867
https://bugs.webkit.org/show_bug.cgi?id=102544

Broke security fuzzier test (heap-buffer-overflow) (Requested
by bfulgham on #webkit).

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

  • platform/audio/Biquad.cpp:

(WebCore::Biquad::process):

11:48 AM Changeset in webkit [134978] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Fix regression causing checkerboard flicker after app wake-up
https://bugs.webkit.org/show_bug.cgi?id=102526

Patch by Adam Treat <atreat@rim.com> on 2012-11-16
Reviewed by George Staikos.
PR 245027

The webkit patch for 219976 introduced an undesirable behavior change
resulting in a regression where there was checkerboard flickering on
resuming from an inactive application state. This patch restores the
previous behavior and fixes the regression.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStore::createBackingStoreMemory):
(BlackBerry::WebKit::BackingStore::releaseBackingStoreMemory):

11:37 AM Changeset in webkit [134977] by Dimitri Glazkov
  • 2 edits in trunk/LayoutTests

[Chromium] adjusting expectations for checkerboard.html

11:36 AM Changeset in webkit [134976] by tommyw@google.com
  • 12 edits in trunk/Source

MediaStream API: Update RTCPeerConnection states to match the latest editors draft
https://bugs.webkit.org/show_bug.cgi?id=102382

Reviewed by Adam Barth.

Source/Platform:

Adding a callback for the new RTCPeerConnection::iceGatheringState.

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

(WebKit::WebRTCPeerConnectionHandlerClient::didChangeICEGatheringState):

Source/WebCore:

Updating readyState & iceState, and adding iceGatheringState.
Also safeguarding the event timer callback.

Patch covered by existing tests.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):
(WebCore::RTCPeerConnection::setLocalDescription):
(WebCore::RTCPeerConnection::localDescription):
(WebCore::RTCPeerConnection::setRemoteDescription):
(WebCore::RTCPeerConnection::remoteDescription):
(WebCore::RTCPeerConnection::updateIce):
(WebCore::RTCPeerConnection::addIceCandidate):
(WebCore::RTCPeerConnection::readyState):
(WebCore::RTCPeerConnection::iceGatheringState):
(WebCore):
(WebCore::RTCPeerConnection::iceState):
(WebCore::RTCPeerConnection::addStream):
(WebCore::RTCPeerConnection::close):
(WebCore::RTCPeerConnection::didChangeIceGatheringState):
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::changeReadyState):
(WebCore::RTCPeerConnection::scheduledEventTimerFired):

  • Modules/mediastream/RTCPeerConnection.h:

(RTCPeerConnection):

  • Modules/mediastream/RTCPeerConnection.idl:
  • dom/EventNames.h:

(WebCore):

  • platform/mediastream/RTCPeerConnectionHandlerClient.h:

(RTCPeerConnectionHandlerClient):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:

(WebCore::RTCPeerConnectionHandlerChromium::didChangeICEGatheringState):
(WebCore):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(RTCPeerConnectionHandlerChromium):

Source/WebKit/chromium:

Updating readyState & iceState, and adding iceGatheringState.

  • src/AssertMatchingEnums.cpp:
11:27 AM Changeset in webkit [134975] by Dimitri Glazkov
  • 10 edits
    1 move
    1 delete in trunk/Source

Unreviewed, rolling out r134973.
http://trac.webkit.org/changeset/134973
https://bugs.webkit.org/show_bug.cgi?id=99340

Broke compile on at least Mac and Linux.

Source/WebCore:

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • loader/CookieJar.cpp:
  • loader/chromium/CookieJarChromium.cpp: Renamed from Source/WebKit/chromium/src/FrameNetworkingContextImpl.cpp.

(WebCore):
(WebCore::setCookies):
(WebCore::cookies):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
(WebCore::getHostnamesWithCookies):
(WebCore::deleteCookiesForHostname):
(WebCore::deleteAllCookies):

  • platform/chromium/PlatformSupport.h:

(WebCore):
(PlatformSupport):

  • platform/network/NetworkingContext.h:
  • platform/network/chromium/CookieJarChromium.cpp: Removed.

Source/WebKit/chromium:

  • WebKit.gyp:
  • src/FrameNetworkingContextImpl.h:
  • src/PlatformSupport.cpp:

(WebCore::getCookieJar):
(WebCore):
(WebCore::PlatformSupport::setCookies):
(WebCore::PlatformSupport::cookies):
(WebCore::PlatformSupport::cookieRequestHeaderFieldValue):
(WebCore::PlatformSupport::rawCookies):
(WebCore::PlatformSupport::deleteCookie):
(WebCore::PlatformSupport::cookiesEnabled):

11:06 AM Changeset in webkit [134974] by mrobinson@webkit.org
  • 8 edits
    2 adds
    1 delete in trunk/Source

Source/WebCore: [GTK] [WebKit2] Move GtkAuthenticationDialog to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=101843

Reviewed by Gustavo Noronha Silva.

Make GtkAuthenticationDialog more general, so that it can be subclassed in
WebKit2. We cannot use the WebCore authentication-related classes directly there.

No new tests. This patch does not change behavior.

  • platform/gtk/GtkAuthenticationDialog.cpp:

(WebCore::GtkAuthenticationDialog::GtkAuthenticationDialog): Remove an unused include and reorder
some field initializers.
(WebCore::GtkAuthenticationDialog::authenticate): Now handle both the okay and cancel case here. This
makes it simpler to subclass.
(WebCore::GtkAuthenticationDialog::authenticationDialogResponseCallback): Handle fetching the username
and password here, so that it can be shared with subclasses.

  • platform/gtk/GtkAuthenticationDialog.h: Make some methods virtual and protected so they can be

subclasses.

Source/WebKit2: Move authentication dialog to the UIProcess

[GTK] [WebKit2] Move GtkAuthenticationDialog to the UIProcess
https://bugs.webkit.org/show_bug.cgi?id=101843

Reviewed by Gustavo Noronha Silva.

Move the use of GtkAuthenticationDialog to the UIProcess along with the rest of
the GTK+ widgets. This will allow us to to embed the dialog into the WebView
in the future and to test authentication with the WebKit2 C API.

  • GNUmakefile.list.am: Add the new class to the source list and remove the

GTK+-only WebFrameLoader implementation file.

  • UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp: Added. A subclass of GtkAuthenticationDialog

which uses the WebKit2 classes to do the UIProcess-side authentication.

  • UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h: Added.
  • UIProcess/API/gtk/WebKitLoaderClient.cpp: Add a callback for didReceiveAuthenticationChallengeInFrame.

(didReceiveAuthenticationChallengeInFrame): Added.
(attachLoaderClientToView): Use the new callback.

  • UIProcess/Authentication/AuthenticationChallengeProxy.h:

(WebKit::AuthenticationChallengeProxy::core): Add this getter for the WebCore class.

  • WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:

(WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): Share the implementation
again.

  • WebProcess/WebCoreSupport/gtk/WebFrameLoaderClientGtk.cpp: Removed.
11:02 AM Changeset in webkit [134973] by pilgrim@chromium.org
  • 10 edits
    1 move
    1 add in trunk/Source

[Chromium] Remove cookie-related functions from PlatformSupport
https://bugs.webkit.org/show_bug.cgi?id=99340

Reviewed by Adam Barth.

Move cookie-related functions out of PlatformSupport and implement
new PlatformCookieJar interface via NetworkContext.

Source/WebCore:

  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • loader/CookieJar.cpp:
  • loader/chromium/CookieJarChromium.cpp: Removed.
  • platform/chromium/PlatformSupport.h:

(WebCore):
(PlatformSupport):

  • platform/network/NetworkingContext.h:

(WebKit):
(NetworkingContext):

  • platform/network/chromium/CookieJarChromium.cpp: Copied from Source/WebCore/loader/chromium/CookieJarChromium.cpp.

(WebCore::setCookiesFromDOM):
(WebCore::cookiesForDOM):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):
(WebCore::deleteCookie):
(WebCore::getHostnamesWithCookies):
(WebCore::deleteCookiesForHostname):
(WebCore::deleteAllCookies):

Source/WebKit/chromium:

  • WebKit.gyp:
  • src/FrameNetworkingContextImpl.cpp: Added.

(WebKit):
(WebKit::FrameNetworkingContextImpl::cookieJar):

  • src/FrameNetworkingContextImpl.h:

(FrameNetworkingContextImpl):

  • src/PlatformSupport.cpp:
10:57 AM Changeset in webkit [134972] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

audiopannernode-basic.html should cover default value of attribute.
https://bugs.webkit.org/show_bug.cgi?id=102332

Patch by Li Yin <li.yin@intel.com> on 2012-11-16
Reviewed by Chris Rogers.

Spec: https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html#PannerNode
Currently almost all attributes of PannerNode are specified default value clearly,
the test should cover them.

  • webaudio/audiopannernode-basic-expected.txt:
  • webaudio/audiopannernode-basic.html:
10:55 AM Changeset in webkit [134971] by rakuco@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix assertion bug of build fix r134961
https://bugs.webkit.org/show_bug.cgi?id=102533

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-11-16
Reviewed by Martin Robinson.

Assertion condition should be '!d->m_currentWebChallenge.isNull()'

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge):

10:39 AM Changeset in webkit [134970] by tommyw@google.com
  • 11 edits in trunk

[chromium] MediaStream API: Add missing WebRTCPeerConnectionHandlerClient::didAddRemoteDataChannel
https://bugs.webkit.org/show_bug.cgi?id=102386

Reviewed by Adam Barth.

Source/Platform:

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

(WebRTCPeerConnectionHandlerClient):

Source/WebCore:

Existing tests expanded to cover patch.

  • platform/mediastream/RTCDataChannelDescriptor.cpp:

(WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor):
(WebCore::RTCDataChannelDescriptor::readyStateChanged):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:

(WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteDataChannel):
(WebCore):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(WebKit):
(RTCPeerConnectionHandlerChromium):

Tools:

Adding mock data channel functionality.

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:

(MockWebRTCPeerConnectionHandler::openDataChannel):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-datachannel.html:
  • fast/mediastream/RTCPeerConnection-datachannel-expected.txt:
10:37 AM Changeset in webkit [134969] by commit-queue@webkit.org
  • 10 edits
    10 adds in trunk/Source

[chromium] Copy linux theme related files to default
https://bugs.webkit.org/show_bug.cgi?id=102403

Patch by Scott Violet <sky@chromium.org> on 2012-11-16
Reviewed by Tony Chang

Transitional patch that copies linux WebThemeEngine to default directory.

No new tests, refactoring only.

Source/Platform:

  • Platform.gypi:
  • chromium/public/default: Added.
  • chromium/public/default/WebThemeEngine.h: Copied from Source/Platform/chromium/public/linux/WebThemeEngine.h.

Source/WebCore:

  • WebCore.gyp/WebCore.gyp: Update compile rules when use_default_render_theme is set.
  • WebCore.gypi: Adds new files.
  • platform/chromium/PlatformSupport.h:
  • platform/chromium/PlatformThemeChromiumDefault.cpp: Copied from Source/WebCore/platform/chromium/PlatformThemeChromiumLinux.cpp.
  • platform/chromium/PlatformThemeChromiumDefault.h: Copied from Source/WebCore/platform/chromium/PlatformThemeChromiumLinux.h.
  • platform/chromium/ScrollbarThemeChromiumDefault.cpp: Copied from Source/WebCore/platform/chromium/ScrollbarThemeChromiumLinux.cpp.
  • platform/chromium/ScrollbarThemeChromiumDefault.h: Copied from Source/WebCore/platform/chromium/ScrollbarThemeChromiumLinux.h.
  • rendering/RenderThemeChromiumDefault.cpp: Copied from Source/WebCore/rendering/RenderThemeChromiumLinux.cpp.
  • rendering/RenderThemeChromiumDefault.h: Copied from Source/WebCore/rendering/RenderThemeChromiumLinux.h.

Source/WebKit/chromium:

  • features.gypi:
  • public/platform/default: Added.
  • public/platform/default/WebThemeEngine.h: Copied from Source/WebKit/chromium/public/platform/linux/WebThemeEngine.h.
  • src/PlatformSupport.cpp: Includes correct theme files when DEFAULT_RENDER_THEME is set.

(WebCore):

  • src/WebViewImpl.cpp: Includes correct theme files when DEFAULT_RENDER_THEME is set.

(WebKit::WebViewImpl::setScrollbarColors): Calls to default theme as necessary.
(WebKit::WebViewImpl::setSelectionColors): Calls to default theme as necessary.

10:33 AM Changeset in webkit [134968] by alecflett@chromium.org
  • 3 edits in trunk/Source/WebCore

IndexedDB: add missing 'explicit' and fix backing store release
https://bugs.webkit.org/show_bug.cgi?id=102450

Reviewed by Tony Chang.

A inconsequential regression was introduced in http://trac.webkit.org/changeset/134129
which resulted in objects sticking around a bit longer than
expected. This makes sure the LevelDBTransaction is released
at the moment of commit/rollback rather than when IDBTransactionBackendImpl
is destroyed.

No new tests, this is just internal state that will affect
some future refactoring.

  • Modules/indexeddb/IDBBackingStore.h:

(Cursor):
(Transaction):
(WebCore::IDBBackingStore::Transaction::reset):

  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::abort):
(WebCore::IDBTransactionBackendImpl::commit):

10:30 AM Changeset in webkit [134967] by jochen@chromium.org
  • 4 edits in trunk/Tools

[chromium] delete unused testRunner methods
https://bugs.webkit.org/show_bug.cgi?id=102479

Reviewed by Adam Barth.

These methods aren't used by any layout test. Remove them to avoid bit rot

  • DumpRenderTree/chromium/DRTTestRunner.cpp:

(DRTTestRunner::DRTTestRunner):
(DRTTestRunner::reset):

  • DumpRenderTree/chromium/DRTTestRunner.h:

(DRTTestRunner):

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::shouldBeginEditing):
(WebViewHost::shouldEndEditing):
(WebViewHost::shouldInsertNode):
(WebViewHost::shouldInsertText):
(WebViewHost::shouldChangeSelectedRange):
(WebViewHost::shouldDeleteRange):
(WebViewHost::shouldApplyStyle):
(WebViewHost::startDragging):
(WebViewHost::enterFullScreenNow):
(WebViewHost::exitFullScreenNow):

10:19 AM Changeset in webkit [134966] by Dimitri Glazkov
  • 2 edits in trunk/Source/WebCore

[Chromium] One last tweak to WebCore.gypi to make Win build not sad.

  • WebCore.gypi: Removed one last mention of accessibility/gtk file.
10:17 AM Changeset in webkit [134965] by commit-queue@webkit.org
  • 13 edits
    2 adds in trunk

Handle gesture events on scrollbars.
https://bugs.webkit.org/show_bug.cgi?id=101516

Patch by Robert Flack <flackr@chromium.org> on 2012-11-16
Reviewed by Antonio Gomes.

Adds a gesture event handler to scrollbars and sends gestures beginning
over a scrollbar to this handler to allow touch scrolling scrollbars.

Source/WebCore:

Test: fast/events/touch/gesture/gesture-scrollbar.html

  • page/EventHandler.cpp:

(WebCore::EventHandler::clear):
(WebCore::EventHandler::handleGestureEvent):
(WebCore::EventHandler::isScrollbarHandlingGestures):
(WebCore):

  • page/EventHandler.h:

(EventHandler):

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::Scrollbar):
(WebCore):
(WebCore::Scrollbar::gestureEvent):
(WebCore::Scrollbar::mouseMoved):
(WebCore::Scrollbar::mouseUp):
(WebCore::Scrollbar::mouseDown):

  • platform/Scrollbar.h:

(WebCore):
(Scrollbar):

  • platform/ScrollbarTheme.h:

(WebCore::ScrollbarTheme::hitTest):

  • platform/ScrollbarThemeComposite.cpp:

(WebCore::ScrollbarThemeComposite::hitTest):

  • platform/ScrollbarThemeComposite.h:

(ScrollbarThemeComposite):

  • platform/qt/ScrollbarThemeQStyle.cpp:

(WebCore::ScrollbarThemeQStyle::hitTest):

  • platform/qt/ScrollbarThemeQStyle.h:

(ScrollbarThemeQStyle):

Source/WebKit/chromium:

  • src/WebViewImpl.cpp:

(WebKit::WebViewImpl::handleGestureEvent):

LayoutTests:

  • fast/events/touch/gesture/gesture-scrollbar-expected.txt: Added.
  • fast/events/touch/gesture/gesture-scrollbar.html: Added.
10:15 AM Changeset in webkit [134964] by Dimitri Glazkov
  • 1 edit
    1 delete in trunk/LayoutTests

[Chromium] Removed incorrect baseline.

  • platform/chromium-mac/canvas/philip/tests/2d.shadow.enable.blur-expected.txt: Removed.
10:12 AM Changeset in webkit [134963] by wangxianzhu@chromium.org
  • 2 edits in trunk/Source/WebCore

[Chromium-Android] Stack overflow in MediaControlsChromiumAndroid.cpp
https://bugs.webkit.org/show_bug.cgi?id=102444

Reviewed by Adam Barth.

No new tests. Have been covered by many existing layout tests.

  • html/shadow/MediaControlsChromiumAndroid.cpp:

(WebCore::MediaControls::create): Calls createControls instead of itself.

9:54 AM Changeset in webkit [134962] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

StyleResolver: Optimize sharing candidate evaluation for elements with shared attribute data.
<http://webkit.org/b/102507>

Reviewed by Antti Koivisto.

When evaluating two elements as potential style sharing candidate, we have a whole bunch of code
comparing the various attributes that would prevent sharing.

If the two elements both share the same ElementAttributeData, we can skip all those checks
since they are guaranteed to have equal attributes.

Cuts the time spent in canShareStyleWithElement() by 25% on the HTML5 spec at <http://whatwg.org/c>.

  • css/StyleResolver.cpp:

(WebCore::haveIdenticalStyleAffectingAttributes):
(WebCore::StyleResolver::canShareStyleWithElement):

9:51 AM Changeset in webkit [134961] by mrobinson@webkit.org
  • 2 edits in trunk/Source/WebCore

[EFL][GTK] Build fix after r134955
https://bugs.webkit.org/show_bug.cgi?id=102527

Patch by Byungwoo Lee <bw80.lee@samsung.com> on 2012-11-16
Reviewed by Martin Robinson.

Fix the EFL,GTK debug bulid fails after r134955.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge):

9:46 AM Changeset in webkit [134960] by ap@apple.com
  • 46 edits
    1 add in trunk

Private Browsing is a per-page setting that sets a global value
https://bugs.webkit.org/show_bug.cgi?id=67870

Reviewed by Sam Weinig.

Make ResourceHandle{Mac,CFNet} use context to access storage session.

  • WebCore.exp.in: We track less session state in WebCore now, so we need fewer exports.
  • loader/FrameNetworkingContext.h: Added an OVERRIDE.
  • page/Settings.cpp: (WebCore::Settings::setPrivateBrowsingEnabled): WebCore no longer keeps track of a globally enabled private CFNetwork storage session.
  • platform/CookiesStrategy.h: Added defaultCookieStorage(). Some cookie jar methods don't have a NetworkingContext pointer, and have to use whatever a client expects them to do. Perhaps we should move those methods away from WebCore eventually.
  • platform/network/NetworkingContext.h: Added storageSession().
  • platform/network/ResourceHandle.h: Removed sttaic methods for dealing with global sessions.
  • platform/network/ResourceHandleInternal.h: Added m_storageSession. We need to remember it post-creation to do things in willSendRequest. Alternatively, we could keep a reference to NetworkingContext itself.
  • platform/network/cf/CookieJarCFNet.cpp: (WebCore::setCookiesFromDOM): currentCFHTTPCookieStorage now needs a context, there is no globally current one any more. Also, we don't really expect cookie stirage to be 0 when not using NSURLConnection. (WebCore::cookiesForDOM): Ditto. (WebCore::cookieRequestHeaderFieldValue): Ditto. (WebCore::cookiesEnabled): Ditto. (WebCore::getRawCookies): Ditto. (WebCore::deleteCookie): Ditto. (WebCore::getHostnamesWithCookies): Ditto. (WebCore::deleteCookiesForHostname): Ditto. (WebCore::deleteAllCookies): Ditto.
  • platform/network/cf/CookieStorageCFNet.cpp: (WebCore::currentCFHTTPCookieStorage): Use a context. (WebCore::defaultCFHTTPCookieStorage): Except for Windows-only override session, this is implemented in a strategy. (WebCore::overridenCookieStorage): Exposed the override for WebKit use on Windows.
  • platform/network/cf/CookieStorageCFNet.h: Ditto.
  • platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::willSendRequest): Use storage session from the context, not global one. (WebCore::makeFinalRequest): Merged this into the only remaining caller. This function didn't really make any sense on its own. (WebCore::shouldRelaxThirdPartyCookiePolicy): Factored out of createCFURLConnection to match Mac. (WebCore::ResourceHandle::createCFURLConnection): While merging makeFinalRequest() in, removed some seemingly nonsensical code that was getting and immediately re-applying cookie storage accept policy. (WebCore::ResourceHandle::start): Store context->storageSession() for use in willSendRequest. (WebCore::ResourceHandle::willSendRequest): Apply the stored session, not global one. (WebCore::ResourceHandle::storageSession): An accessor for static methods that cannot access "d". (WebCore::ResourceHandle::loadResourceSynchronously): Store context->storageSession() for use in willSendRequest. (WebCore::ResourceHandle::willLoadFromCache): Don't call makeFinalRequest here. It didn't match Mac, and nothing in makeFinalRequest should have affected the result.
  • platform/network/cf/ResourceRequestCFNet.cpp: (WebCore::ResourceRequest::doUpdatePlatformRequest): This function used to apply current storage session to every request for no apparent reason.
  • platform/network/mac/CookieJarMac.mm: (WebCore::cookiesForDOM): Changed to pass context to currentCFHTTPCookieStorage. (WebCore::cookieRequestHeaderFieldValue): Ditto. (WebCore::setCookiesFromDOM): Ditto. (WebCore::cookiesEnabled): Ditto. (WebCore::getRawCookies): Ditto. (WebCore::deleteCookie): Ditto. (WebCore::getHostnamesWithCookies): Ditto. (WebCore::deleteCookiesForHostname): Ditto. (WebCore::deleteAllCookies): Ditto.
  • platform/network/mac/ResourceHandleMac.mm: (WebCore::shouldRelaxThirdPartyCookiePolicy): There was no need to special case null currentCFHTTPCookieStorage, WKSI handles that internally. Added a context argument, so that the function can access current session. (WebCore::ResourceHandle::createNSURLConnection): Updated for other code changes. (WebCore::ResourceHandle::start): Store context->storageSession() for use in willSendRequest. (WebCore::ResourceHandle::willLoadFromCache): Style fix. (WebCore::ResourceHandle::loadResourceSynchronously): Store context->storageSession() for use in willSendRequest. (WebCore::ResourceHandle::willSendRequest): Use stored session, not global one.
9:34 AM Changeset in webkit [134959] by Dimitri Glazkov
  • 3 edits in trunk/Source/WebCore

[Chromium] Land a proper fix for r134939.

  • WebCore.gyp/WebCore.gyp: Added exclusion for "atk".
  • WebCore.gypi: Put the accessibility/atk directory back into WebCore.gypi.
9:19 AM Changeset in webkit [134958] by Dimitri Glazkov
  • 2 edits in trunk/Source/WebCore

[Chromium] Just yank the whole accessibility/atk dir out of WebCore.gypi.

8:57 AM Changeset in webkit [134957] by mifenton@rim.com
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Use proper keycode value for space instead of hardcoded value.
https://bugs.webkit.org/show_bug.cgi?id=102518

Reviewed by Rob Buis.

Remove hard coded value for space.

Reviewed Internally by Gen Mak.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::setText):

8:56 AM Changeset in webkit [134956] by Dimitri Glazkov
  • 2 edits in trunk/Source/WebCore

[Chromium] Updated WebCore.gypi after r134939.

  • WebCore.gypi: Renamed acessibility/gtk to accessibility/atk.
8:40 AM Changeset in webkit [134955] by commit-queue@webkit.org
  • 11 edits in trunk/Source

[GTK] Move CredentialBackingStore usage from GtkAuthenticationDialog to ResourceHandleSoup
https://bugs.webkit.org/show_bug.cgi?id=101840

Patch by Martin Robinson <mrobinson@igalia.com> on 2012-11-16
Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Make ResourceHandleSoup aware of per-session CredentialStorage and persistent CredentialStorage.
Persistent credential storage interaction is moved from GtkAuthenticationDialog, so that it can
be used whether or not GtkAuthenticationDialog is used or not. We try to properly handle redirects
in the manner that the CFNet backend does.

No new tests. There are tests for this behavior, but they cannot be activated until we finish
plumbing this through to the API layer. Once that patch lands, the tests will be turned on.

  • platform/gtk/GtkAuthenticationDialog.cpp: No longer store credentials into the persistent

storage manually, instead rely on ResourceHandleSoup. Also, we no longer get proposed credentials
from the persistent storage here as well. They are pre-loaded by the ResourceHanndle.

  • platform/gtk/GtkAuthenticationDialog.h: Remove callbacks and members associated with saving

credentials to the persistent credential store.

  • platform/network/ResourceHandle.h:

(ResourceHandle): Add a method which is used to continue asynchronously after looking for
proposed credentials in the persistent credential store.

  • platform/network/ResourceHandleInternal.h: Add a member which tracks persistent credentials to be added once we know

an authentication succeeded.

  • platform/network/gtk/CredentialBackingStore.cpp:

(CredentialForChallengeAsyncReadyCallbackData): Added this data structure used for asynchronous access
of stored credentials.
(WebCore::credentialForChallengeAsyncReadyCallback): Ditto for this callback.
(WebCore::CredentialBackingStore::credentialForChallenge): Make this method asynchronous.

  • platform/network/gtk/CredentialBackingStore.h:

(CredentialBackingStore): Update method signatures for for making credentialForChallenge asynchronous.

  • platform/network/soup/AuthenticationChallenge.h:

(WebCore::AuthenticationChallenge::setProposedCredential): Added a setter so that ResourceHandleSoup
can set proposed credentials from the persistent credential store.

  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::gotHeadersCallback): For GTK+ save any pending credential in the persistent credential storage
if the authentication succeeded.
(WebCore::applyAuthenticationToRequest): Added this method which generically embeds stored credentials
in the request URI. This is the method that Soup uses to override any soup-stored session credential.
(WebCore::restartedCallback): Strip credentials for requests that span a security origin. Handle
authenticating requests from the session store.
(WebCore::createSoupRequestAndMessageForHandle): Make the local request reference mutable.
(WebCore::ResourceHandle::start): Remove some code which is now part of applyAuthenticationToRequest.
Call applyAuthenticationToRequest and clear the user and password members like the CFNet backend does.
(WebCore::getCredentialFromPersistentStoreCallback): Added this callback for getting persistently stored credentials.
(WebCore::ResourceHandle::continueDidReceiveAuthenticationChallenge): Split out didReceiveAuthenticationChallenge
into this asynchronous bit.
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge): For GTK+ continue handling this situation after
first looking in the persistent credential store.
(WebCore::ResourceHandle::receivedCredential): Store session credentials in the session storage, which is
at the moment a redundant version of the Soup session storage and also prepare any persistent credentials
for storage later (see gotHeadersCallback).

Source/WebKit/gtk:

Enable the CredentialStore by default for the WebKit1 GTK+ port. Before this value
didn't have an bearing on whether or not the persistent credential storage was used.
Now is does.

  • WebCoreSupport/FrameLoaderClientGtk.cpp:

(WebKit::FrameLoaderClient::shouldUseCredentialStorage): Enable credential storage by default.

8:22 AM Changeset in webkit [134954] by arv@chromium.org
  • 22 edits in trunk

Update DOMException name: TypeMismatchError
https://bugs.webkit.org/show_bug.cgi?id=102418

Reviewed by Kentaro Hara.

Source/WebCore:

Patch 17 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

(WebCore):

  • dom/ExceptionCode.h:

LayoutTests:

Updated tests and expectations.

  • editing/selection/extend-expected.txt:
  • fast/dom/Element/attr-param-typechecking-expected.txt:
  • fast/dom/Geolocation/argument-types-expected.txt:
  • fast/dom/Geolocation/not-enough-arguments-expected.txt:
  • fast/dom/Geolocation/script-tests/argument-types.js:

(test):

  • fast/dom/HTMLSelectElement/select-selectedIndex-expected.txt:
  • fast/dom/HTMLSelectElement/select-selectedIndex-multiple-expected.txt:
  • fast/js/select-options-add-expected.txt:
  • fast/mediastream/RTCIceCandidate-expected.txt:
  • fast/mediastream/RTCPeerConnection-expected.txt:
  • fast/mediastream/RTCSessionDescription-expected.txt:
  • platform/chromium/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/efl/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/gtk/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/mac/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/qt/fast/dynamic/insertAdjacentElement-expected.txt:
  • security/crypto-random-values-types-expected.txt:
  • svg/dom/SVGTransformList-expected.txt:
8:19 AM Changeset in webkit [134953] by commit-queue@webkit.org
  • 15 edits in trunk/Source/WebKit2

[EFL][WK2] White flicker when scrolling big pages with dark background on slower hardware.
https://bugs.webkit.org/show_bug.cgi?id=102000

Patch by Viatcheslav Ostapenko <v.ostapenko@samsung.com> on 2012-11-16
Reviewed by Kenneth Rohde Christiansen.

Add matching of view background color to the page background. This helps to reduce
visibility of flicker during scrolling/scaling/repainting where page tiles are not
ready. View background color matching is disabled by default and can be enabled
with new API function ewk_view_draws_page_background_set .
View background color can interfere with semi-transparent pages and should be
disabled by default.
Upstreaming changes by Youngtaeck Song(youngtaeck.song@samsung.com).

  • UIProcess/API/efl/EwkViewImpl.cpp:

(EwkViewImpl::EwkViewImpl):
(EwkViewImpl::displayTimerFired):

  • UIProcess/API/efl/EwkViewImpl.h:

(EwkViewImpl::setDrawsBackground):
(EwkViewImpl):

  • UIProcess/API/efl/ewk_view.cpp:

(ewk_view_draws_page_background_set):

  • UIProcess/API/efl/ewk_view.h:
  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:

(WebKit::LayerTreeCoordinatorProxy::setBackgroundColor):
(WebKit):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:

(LayerTreeCoordinatorProxy):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::LayerTreeRenderer):
(WebKit::LayerTreeRenderer::paintToCurrentGLContext):
(WebKit::LayerTreeRenderer::paintToGraphicsContext):
(WebKit::LayerTreeRenderer::setBackgroundColor):
(WebKit):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

(LayerTreeRenderer):
(WebKit::LayerTreeRenderer::setDrawsBackground):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::setBackgroundColor):
(WebKit):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:

(LayerTreeCoordinator):

  • WebProcess/WebPage/LayerTreeHost.h:

(WebKit::LayerTreeHost::setBackgroundColor):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):
(WebKit::WebPage::mainFrameDidLayout):

  • WebProcess/WebPage/WebPage.h:

(WebPage):

8:12 AM Changeset in webkit [134952] by kbalazs@webkit.org
  • 2 edits in trunk/Source/WebCore

Coordinated Graphics: support the "freeze animations" API
https://bugs.webkit.org/show_bug.cgi?id=100703

Reviewed by Noam Rosenthal.

Typo fix after previous patch.

No new tests, it's just a typo that only takes effect in the browser.

  • platform/graphics/GraphicsLayerAnimation.cpp:

(WebCore::GraphicsLayerAnimation::GraphicsLayerAnimation):
Initialize members.

8:01 AM Changeset in webkit [134951] by commit-queue@webkit.org
  • 3 edits
    2 moves
    1 add in trunk/Source/WebKit2

[WK2][GTK][EFL] Share WebKit2-GTK's WebProcess Accessibility implementation with other WebKit ports.
https://bugs.webkit.org/show_bug.cgi?id=101748

Patch by Krzysztof Czech <k.czech@samsung.com> on 2012-11-16
Reviewed by Martin Robinson.

Remove and rename files related to Accessibility from WebPage/gtk to WebPage/atk.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebProcess/WebPage/atk/WebPageAccessibilityObject.h: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/WebPageAccessibilityObject.h.

(WebKit):
(_WebPageAccessibilityObject):
(_WebPageAccessibilityObjectClass):

  • WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/WebPageAccessibilityObject.cpp.

(accessibilityRootObjectWrapper):
(webPageAccessibilityObjectInitialize):
(webPageAccessibilityObjectGetIndexInParent):
(webPageAccessibilityObjectGetNChildren):
(webPageAccessibilityObjectRefChild):
(web_page_accessibility_object_init):
(web_page_accessibility_object_class_init):
(webPageAccessibilityObjectNew):
(webPageAccessibilityObjectRefresh):

7:47 AM Changeset in webkit [134950] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

add 7 bit strings capabilities to the v8 binding layer
https://bugs.webkit.org/show_bug.cgi?id=91850

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

This change enables the v8 binding layer to make use of webkit's
8 bit string capabilities. Using 8 bit strings leads to certain
benchmark performance improvemnts as can be seen in
https://bug-91850-attachments.webkit.org/attachment.cgi?id=163334.

No new tests. Test coverage already extensive.

  • bindings/v8/V8PerIsolateData.cpp:

(WebCore::V8PerIsolateData::visitExternalStrings):

  • bindings/v8/V8StringResource.cpp:

(StringTraits):
(WebCore::false):
(WebCore):
(WebCore::true):
(WebCore::v8StringToWebCoreString):

  • bindings/v8/V8ValueCache.cpp:

(WebCore::makeExternalString):
(WebCore::WebCoreStringResourceBase::toWebCoreStringResourceBase):
(WebCore):
(WebCore::WebCoreStringResourceBase::visitStrings):

  • bindings/v8/V8ValueCache.h:

(WebCoreStringResourceBase):
(WebCore::WebCoreStringResourceBase::WebCoreStringResourceBase):
(WebCore::WebCoreStringResourceBase::~WebCoreStringResourceBase):
(WebCore::WebCoreStringResourceBase::atomicString):
(WebCore::WebCoreStringResourceBase::memoryConsumption):
(WebCoreStringResource16):
(WebCore::WebCoreStringResource16::WebCoreStringResource16):
(WebCore):
(WebCoreStringResource8):
(WebCore::WebCoreStringResource8::WebCoreStringResource8):

7:44 AM Changeset in webkit [134949] by arv@chromium.org
  • 25 edits in trunk

Update DOMException name: InvalidAccessError
https://bugs.webkit.org/show_bug.cgi?id=102400

Reviewed by Kentaro Hara.

Source/WebCore:

Patch 15 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • editing/undomanager/undomanager-reenter-expected.txt:
  • editing/undomanager/undomanager-reenter.html:
  • editing/undomanager/undoscopehost-use-after-free-expected.txt:
  • editing/undomanager/undoscopehost-use-after-free.html:
  • fast/css/CSSPrimitiveValue-exceptions-expected.txt:
  • fast/css/getFloatValueForUnit-expected.txt:
  • fast/css/getFloatValueForUnit.html:
  • fast/css/resources/CSSPrimitiveValue-exceptions.js:
  • fast/dom/XMLSerializer-doctype2-expected.txt:
  • fast/dom/XMLSerializer-doctype2.html:
  • fast/dom/setPrimitiveValue-exceptions-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-before-open-sync-request-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-responsetype-sync-request-expected.txt:
  • fast/xmlhttprequest/xmlhttprequest-sync-disabled-expected.txt:
  • http/tests/media/media-source/video-media-source-add-and-remove-buffers-expected.txt:
  • http/tests/media/media-source/video-media-source-duration-changed-expected.txt:
  • http/tests/websocket/tests/hybi/close-expected.txt:
  • http/tests/websocket/tests/hybi/close.html:
  • platform/chromium-mac/fast/dom/setPrimitiveValue-exceptions-expected.txt:
  • platform/chromium-win/fast/dom/setPrimitiveValue-exceptions-expected.txt:
  • webintents/web-intents-api-expected.txt:
  • webintents/web-intents-api.html:
7:39 AM Changeset in webkit [134948] by Alexandru Chiculita
  • 14 edits
    5 adds in trunk/Source

[Texmap][CSS Shaders] Make the CustomFilterValidatedProgram maintain the platform compiled program
https://bugs.webkit.org/show_bug.cgi?id=102414

Reviewed by Noam Rosenthal.

Source/WebCore:

Added WebCore classes needed for the WebKit2 implementation of Texture Mapper to keep a reference to the
platform compiled custom filter. It is just used to maintain the life-time of the objects. WebKit2 injects a
client in TextureMapperPlatformCompiledProgram and receives a callback when the custom filter program is not
used to render any layer on the page.

Note that CustomFilterValidatedProgram are reused across multiple elements of the same page. Also, the instances
are reused across frames, so animations should reuse the same pre-validated program. In this case, the mechanism is
extended and reused in the platform compositor.

No new tests, existing tests for CSS Custom Filters already cover this path.

  • CMakeLists.txt:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.pri:
  • platform/graphics/filters/CustomFilterValidatedProgram.cpp:

(WebCore):

  • platform/graphics/filters/CustomFilterValidatedProgram.h:

(WebCore):
(CustomFilterValidatedProgram):

  • platform/graphics/filters/texmap/CustomFilterValidatedProgramTextureMapper.cpp: Added.

(WebCore):
(WebCore::CustomFilterValidatedProgram::platformCompiledProgram): Platform implementation for creating and deleting the reference.
(WebCore::CustomFilterValidatedProgram::platformInit):
(WebCore::CustomFilterValidatedProgram::platformDestroy):

  • platform/graphics/filters/texmap/TextureMapperPlatformCompiledProgram.h: Added.

(WebCore):
(TextureMapperPlatformCompiledProgramClient):
(WebCore::TextureMapperPlatformCompiledProgramClient::ref):
(WebCore::TextureMapperPlatformCompiledProgramClient::deref):
(TextureMapperPlatformCompiledProgram):
Stores a link to a TextureMapperPlatformCompiledProgramClient. It's main purpose is to call unref on the client when
the shader is not needed anymore. WebKit2 can use that to delete the corresponding shader from the compositor side.
(WebCore::TextureMapperPlatformCompiledProgram::create):
(WebCore::TextureMapperPlatformCompiledProgram::setClient): Used by WebKit2 to inject the platform client.
(WebCore::TextureMapperPlatformCompiledProgram::client):
(WebCore::TextureMapperPlatformCompiledProgram::TextureMapperPlatformCompiledProgram):

Source/WebKit2:

This is the first part of shader caching implementation for the Custom Filters in WK2 LayerTreeCoordinator.
In this patch it will just make the LayerTreeCoordinator knowledgeable about the life-time
of the custom filter programs. It can allocate IDs for the filters and it also gets a callback when the
filters are not needed anymore.

The UI process is still recreating the shader every time, but https://bugs.webkit.org/show_bug.cgi?id=101801
will fix that and try to reuse existing custom filters.

  • CMakeLists.txt:
  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(CoreIPC::::encode):

  • Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.cpp: Added.

(WebKit):
(WebKit::WebCustomFilterProgramProxy::~WebCustomFilterProgramProxy):

  • Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h: Added.

(WebKit):
(WebCustomFilterProgramProxyClient):
(WebCustomFilterProgramProxy):
(WebKit::WebCustomFilterProgramProxy::create):
(WebKit::WebCustomFilterProgramProxy::id):
(WebKit::WebCustomFilterProgramProxy::refFromValidatedProgram):
(WebKit::WebCustomFilterProgramProxy::derefFromValidatedProgram):
(WebKit::WebCustomFilterProgramProxy::setClient):
(WebKit::WebCustomFilterProgramProxy::client):
(WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):

  • Target.pri:
  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
(WebKit::LayerTreeCoordinator::syncLayerFilters):
(WebKit):
(WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
(WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
(WebKit::LayerTreeCoordinator::disconnectCustomFilterPrograms):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:

(LayerTreeCoordinator):

7:21 AM Changeset in webkit [134947] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Short-circuit Element::hasEquivalentAttributes() if elements share attribute data.
<http://webkit.org/b/102498>

Reviewed by Antti Koivisto.

Add a fast path to hasEquivalentAttributes() that checks if both elements are using
the same ElementAttributeData.

  • dom/Element.cpp:

(WebCore::Element::hasEquivalentAttributes):

6:58 AM Changeset in webkit [134946] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[Qt][Mac] Fix the build after r124873
https://bugs.webkit.org/show_bug.cgi?id=102475

Patch by Peter Gal <galpeter@inf.u-szeged.hu> on 2012-11-16
Reviewed by Noam Rosenthal.

Change the CoordinatedImageBackingID typedef from uintptr_t to uint64_t.

  • Shared/WebLayerTreeInfo.h:
  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
6:55 AM Changeset in webkit [134945] by zeno.albisser@digia.com
  • 2 edits in trunk/Source/WebCore

[Qt] Adding a null pointer check for currentContext to GraphicsContext3DQt.
https://bugs.webkit.org/show_bug.cgi?id=102360

QOpenGLContext::currentContext() will return null, in case there is
no current context. Therefore currentContext must be null-checked
before it can be reused.
Making a context current on a null-surface on the other hand is
perfectly possible.

Reviewed by Kenneth Rohde Christiansen.

  • platform/graphics/qt/GraphicsContext3DQt.cpp:

(WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext):

6:38 AM Changeset in webkit [134944] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Web Inspector: Workaround to show shortcuts for panels that hasn't been loaded.
https://bugs.webkit.org/show_bug.cgi?id=102488

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-11-16
Reviewed by Vsevolod Vlasov.

Panels are lazily loaded / instantiated.
Panel constructors register keyboard shortcuts.

When user open shortcuts screen all panel should be loaded.
Otherwise some shortcuts will be missing.

  • inspector/front-end/ShortcutsScreen.js: Added callback invokation.
  • inspector/front-end/inspector.js:

Provided callback that loads all panels.

6:36 AM Changeset in webkit [134943] by dominik.rottsches@intel.com
  • 3 edits
    4 adds
    2 deletes in trunk/LayoutTests

[EFL] Gardening failure cases on EFL build bots
https://bugs.webkit.org/show_bug.cgi?id=102496

Unreviewed EFL gardening.

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-11-16

  • platform/efl-wk1/fast/media/mq-js-media-except-02-expected.png: Removed.
  • platform/efl-wk1/fast/media/mq-js-media-except-03-expected.png: Removed.
  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl/fast/media/mq-js-media-except-02-expected.png: Added.
  • platform/efl/fast/media/mq-js-media-except-02-expected.txt: Added.
  • platform/efl/fast/media/mq-js-media-except-03-expected.png: Added.
  • platform/efl/fast/media/mq-js-media-except-03-expected.txt: Added.
6:26 AM Changeset in webkit [134942] by zandobersek@gmail.com
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed GTK gardening, rebaselining after r134859.

  • platform/gtk/fast/media/mq-js-media-except-02-expected.txt: Added.
  • platform/gtk/fast/media/mq-js-media-except-03-expected.txt: Added.
6:00 AM Changeset in webkit [134941] by yael@webkit.org
  • 2 edits in trunk/Tools

Unreviewed. Help bugzilla find me.

  • Scripts/webkitpy/common/config/committers.py:
5:59 AM Changeset in webkit [134940] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

[V8] Remove IsSubType() from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102348

Reviewed by Adam Barth.

CodeGenerator.pm has IsStrictSubType(). CodeGeneratorV8.pm should use it.

No tests. No change in behavior.

  • bindings/scripts/CodeGenerator.pm:

(IsSubType):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GetInternalFields):
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateFunctionCallback):
(GenerateImplementationIndexer):
(GenerateToV8Converters):

5:47 AM Changeset in webkit [134939] by mario@webkit.org
  • 3 edits
    30 moves
    1 add in trunk/Source/WebCore

[EFL] Share WebKit-Gtk's Accessibility implementation with others WebKit ports.
https://bugs.webkit.org/show_bug.cgi?id=99578

Reviewed by Martin Robinson.

Renamed WebCore/accessibility/gtk to WebCore/accessibility/atk.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • accessibility/atk/AXObjectCacheAtk.cpp: Renamed from

Source/WebCore/accessibility/gtk/AXObjectCacheAtk.cpp.

  • accessibility/atk/AccessibilityObjectAtk.cpp: Renamed from

Source/WebCore/accessibility/gtk/AccessibilityObjectAtk.cpp.

  • accessibility/atk/WebKitAccessibleHyperlink.cpp: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleHyperlink.cpp.

  • accessibility/atk/WebKitAccessibleHyperlink.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleHyperlink.h.

  • accessibility/atk/WebKitAccessibleInterfaceAction.cpp: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceAction.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceAction.h: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceAction.h.

  • accessibility/atk/WebKitAccessibleInterfaceComponent.cpp:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceComponent.h: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceComponent.h.

  • accessibility/atk/WebKitAccessibleInterfaceDocument.cpp: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceDocument.h: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceDocument.h.

  • accessibility/atk/WebKitAccessibleInterfaceEditableText.cpp:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceEditableText.h:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceEditableText.h.

  • accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.cpp:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceHyperlinkImpl.h:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h.

  • accessibility/atk/WebKitAccessibleInterfaceHypertext.cpp:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceHypertext.h: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceHypertext.h.

  • accessibility/atk/WebKitAccessibleInterfaceImage.cpp: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceImage.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceImage.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceImage.h.

  • accessibility/atk/WebKitAccessibleInterfaceSelection.cpp:

Renamed from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceSelection.h: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceSelection.h.

  • accessibility/atk/WebKitAccessibleInterfaceTable.cpp: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceTable.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceTable.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceTable.h.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceText.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceText.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceText.h.

  • accessibility/atk/WebKitAccessibleInterfaceValue.cpp: Renamed

from Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceValue.cpp.

  • accessibility/atk/WebKitAccessibleInterfaceValue.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleInterfaceValue.h.

  • accessibility/atk/WebKitAccessibleUtil.cpp: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleUtil.cpp.

  • accessibility/atk/WebKitAccessibleUtil.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleUtil.h.

  • accessibility/atk/WebKitAccessibleWrapperAtk.cpp: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.cpp.

  • accessibility/atk/WebKitAccessibleWrapperAtk.h: Renamed from

Source/WebCore/accessibility/gtk/WebKitAccessibleWrapperAtk.h.

5:39 AM Changeset in webkit [134938] by shinyak@chromium.org
  • 4 edits
    4 adds in trunk

Changing pseudoClass (:indeterminate) should cause distribution
https://bugs.webkit.org/show_bug.cgi?id=101903

Reviewed by Dimitri Glazkov.

Source/WebCore:

<progress> and <input type="checkbox"> have 'indeterminate' state. When their state is changed, we have to
invalidate distribution if necessary. To check it, we collect a feature that :invalidate is used in select attributes.

For <input>, we also have to see 'type' is changed. According to the spec, :indeterminate should match only
progress element or <input type="checkbox">. So changing 'type' might also change :indeterminate state.

Tests: fast/dom/shadow/pseudoclass-update-indeterminate-input.html

fast/dom/shadow/pseudoclass-update-indeterminate-progress.html

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::updateType):
(WebCore::HTMLInputElement::setIndeterminate):

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::didElementStateChange):

LayoutTests:

I've used "-webkit-appearance: none" for progress element because of Bug 102459.
It prevents from testing progress element on Windows.

  • fast/dom/shadow/pseudoclass-update-indeterminate-input-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-indeterminate-input.html: Added.
  • fast/dom/shadow/pseudoclass-update-indeterminate-progress-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-indeterminate-progress.html: Added.
5:37 AM Changeset in webkit [134937] by alexis@webkit.org
  • 2 edits in trunk/Source/WebCore

Factorize the creation of primitive values with a pair into a function.
https://bugs.webkit.org/show_bug.cgi?id=102485

Reviewed by Antti Koivisto.

The pattern is already existing in various call sites inside CSSParser
and more will be added in the future (see bug 102104).

No new tests : It's a refactoring only, the tests should cover it.

  • css/CSSParser.cpp:

(WebCore):
(WebCore::createPrimitiveValuePair):
(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseFillSize):
(WebCore::CSSParser::parseBorderImageRepeat):
(WebCore::CSSParser::parseBorderRadius):
(WebCore::CSSParser::parseCounter):

5:35 AM Changeset in webkit [134936] by pilgrim@chromium.org
  • 9 edits in trunk/Source/WebCore

Expand PlatformCookieJar interface to allow for other ports
https://bugs.webkit.org/show_bug.cgi?id=102456

Reviewed by Adam Barth.

Add firstParty and cookieURL arguments to several functions to
prepare for integrating Chromium port into new PlatformCookieJar
interface.

  • loader/CookieJar.cpp:

(WebCore::cookiesEnabled):
(WebCore::cookieRequestHeaderFieldValue):
(WebCore::getRawCookies):

  • platform/network/PlatformCookieJar.h:

(WebCore):

  • platform/network/cf/CookieJarCFNet.cpp:

(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):

  • platform/network/curl/CookieJarCurl.cpp:

(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):

  • platform/network/mac/CookieJarMac.mm:

(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):

  • platform/network/qt/CookieJarQt.cpp:

(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):

  • platform/network/soup/CookieJarSoup.cpp:

(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):

  • platform/network/win/CookieJarWin.cpp:

(WebCore::cookieRequestHeaderFieldValue):
(WebCore::cookiesEnabled):
(WebCore::getRawCookies):

5:32 AM Changeset in webkit [134935] by jchaffraix@webkit.org
  • 3 edits in trunk/Source/WebCore

RenderGrid should have a function to resolve grid position
https://bugs.webkit.org/show_bug.cgi?id=102441

Reviewed by Ojan Vafai.

The code was doing this conversion implicitly inside RenderGrid::findChildLogicalPosition.
Also note that we also provided a fallback by returning LayoutPoint() (ie the (0, 0) position
on the grid) if we couldn't handle the value. The explicit conversion is needed in order to
support render areas and add a proper grid model to RenderGrid.

No expected change in behavior.

  • rendering/RenderGrid.h:
  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::resolveGridPosition):
Added this new function to handle the conversion. We re-use Length but should never see
a lot of the <length> values so I added some ASSERTs to enforce and catch that.

(WebCore::RenderGrid::findChildLogicalPosition):
Simplified the function now that it just use resolveGridPosition.

5:19 AM Changeset in webkit [134934] by commit-queue@webkit.org
  • 4 edits in trunk

[V8] Increment the amount of externally allocated memory for the receiving V8 isolate when transferring ArrayBuffer
https://bugs.webkit.org/show_bug.cgi?id=94463

Patch by Ulan Degenbaev <ulan@chromium.org> on 2012-11-16
Reviewed by Kentaro Hara.

Call AdjustAmountOfExternalAllocatedMemory when V8ArrayBuffer is deserialized and transferred.

.:

  • ManualTests/typed-array-memory.html:

Source/WebCore:

Test: ManualTests/typed-array-memory.html

  • bindings/v8/SerializedScriptValue.cpp:
4:53 AM Changeset in webkit [134933] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[EFL][WK2] Unset the tooltip when the web process has crashed
https://bugs.webkit.org/show_bug.cgi?id=102232

Patch by Sudarsana Nagineni <sudarsana.nagineni@intel.com> on 2012-11-16
Reviewed by Gyuyoung Kim.

Emit 'tooltip,text,unset' signal to unset the tooltip
when the web process has crashed.

  • UIProcess/efl/PageClientBase.cpp:

(WebKit::PageClientBase::processDidCrash):

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

Unreviewed, rolling out r134694.
http://trac.webkit.org/changeset/134694
https://bugs.webkit.org/show_bug.cgi?id=102481

it made API test crash on EFL port (Requested by gyuyoung on
#webkit).

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

Source/WebCore:

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::fillColorsFromEdjeClass):
(WebCore::RenderThemeEfl::setColorFromThemeClass):
(WebCore::RenderThemeEfl::loadTheme):
(WebCore::RenderThemeEfl::RenderThemeEfl):

  • platform/efl/RenderThemeEfl.h:

(RenderThemeEfl):

Source/WebKit/efl:

  • DefaultTheme/default.edc:
4:32 AM Changeset in webkit [134931] by mkwst@chromium.org
  • 17 edits in trunk/Source/WebCore

Web Inspector: Move call stack generation out of bindings.
https://bugs.webkit.org/show_bug.cgi?id=101331

Reviewed by Yury Semikhatsky.

Currently, we generate stack traces for console messages at each call
site. Bug 100650 has the end goal of moving all stack trace generation
inside of the Inspector in order to ensure that we never send a console
message without a stack trace if it's possible to generate one. This
also ensures that we never generate unused call stacks.

This patch is the first step in that direction, moving stack trace
generation out of the Console bindings, and into either Console or
InspectorConsoleAgent.

No visible change in behavior should result; this refactoring should
continue to pass all existing inspector tests.

  • bindings/js/JSConsoleCustom.cpp:

(WebCore::JSConsole::profile):
(WebCore::JSConsole::profileEnd):

Adjust custom JSC Console bindings to drop call stack generation.

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateCallWith):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateCallWith):

Drop call stack generation from JSC and V8 bindings.

  • bindings/scripts/CodeGeneratorGObject.pm:

Skip timeEnd explicitly in these bindings; it used to include
ScriptArguments, which autoskipped it. Now it doesn't, so it needs
to be called out on its own.

  • bindings/v8/ScriptCallStackFactory.cpp:

(WebCore::createScriptCallStackForConsole):
(WebCore::createScriptCallStack):
(WebCore):

  • bindings/v8/ScriptCallStackFactory.h:

(WebCore):

Add 'createScriptCallStack(ScriptState*, size_t)' to V8's
ScriptCallStackFactory in order to match JCS' implementation.
It simply delegates to 'createScriptCallStackForConsole', which
now also accepts a 'maxStackSize' parameter.

  • bindings/v8/custom/V8ConsoleCustom.cpp:

(WebCore::V8Console::traceCallback):
(WebCore::V8Console::assertCallback):
(WebCore::V8Console::profileCallback):
(WebCore::V8Console::profileEndCallback):

Adjust custom V8 bindings to drop call stack generation.

  • inspector/InspectorConsoleAgent.cpp:

(WebCore::InspectorConsoleAgent::addMessageToConsole):

With the eventual goal of getting rid of the call stack parameter
entirely, this patch drops it from one version of
'addMessageToConsole' (replacing it with ScriptState*), and creates
a new version that only accepts a call stack. We should be able to
migrate most (all?) external call sites over to the arguments
version in future patches.

(WebCore):
(WebCore::InspectorConsoleAgent::count):

Count takes 'ScriptState*' instead of a call stack, and generates
the stack as needed.

  • inspector/InspectorConsoleAgent.h:

(InspectorConsoleAgent):

  • inspector/InspectorConsoleInstrumentation.h:

(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore):
(WebCore::InspectorInstrumentation::consoleCount):

  • inspector/InspectorInstrumentation.cpp:

(WebCore):
(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::consoleCountImpl):

  • inspector/InspectorInstrumentation.h:

(InspectorInstrumentation):

Changes the InspectorInstrumentation pipeline to match the
InspectorConsoleAgent changes.

  • page/Console.cpp:

(WebCore::Console::addMessage):

We now (always) generate one frame of a stack trace in order to
populate line numbers and caller URLs. If we need to print the whole
trace here, we generate a full stack.

(WebCore::Console::debug):
(WebCore::Console::error):
(WebCore::Console::info):
(WebCore::Console::log):
(WebCore::Console::warn):
(WebCore::Console::dir):
(WebCore::Console::dirxml):
(WebCore::Console::clear):
(WebCore::Console::trace):
(WebCore::Console::assertCondition):
(WebCore::Console::count):
(WebCore::Console::markTimeline):
(WebCore::Console::timeEnd):
(WebCore::Console::timeStamp):
(WebCore::Console::group):
(WebCore::Console::groupCollapsed):
(WebCore::Console::profile):
(WebCore::Console::profileEnd):

s/ScriptCallStack/ScriptState*/g. Also, printing the stack trace
has been moved out of 'trace' and into 'addMessage'.

  • page/Console.h:

(Console):

  • page/Console.idl:

Drop the call stack, add the script state.

  • workers/WorkerContext.cpp:

(WebCore::WorkerContext::addMessageToWorkerConsole):

Use the new, explicitly call stacked addMessageToConsole. We'll kill
this in a future patch.

4:21 AM Changeset in webkit [134930] by commit-queue@webkit.org
  • 32 edits
    2 copies in trunk/Source/WebCore

Add initiator to CachedResourceRequest.
https://bugs.webkit.org/show_bug.cgi?id=101935

Patch by Marja Hölttä <marja@chromium.org> on 2012-11-16
Reviewed by Adam Barth.

Motivation: Chromium needs to know which elements request a
resource (such as an image or a script) (bug 92761). In addition,
for exposing resource timing information (bug 84883) we need to
store the initiator, and this is the first step towards it.

No new tests: No visible change in behavior.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • css/CSSCursorImageValue.cpp:

(WebCore::CSSCursorImageValue::cachedImage):

  • css/CSSFontFaceSrcValue.cpp:

(WebCore::CSSFontFaceSrcValue::cachedFont):

  • css/CSSImageSetValue.cpp:

(WebCore::CSSImageSetValue::cachedImageSet):

  • css/CSSImageValue.cpp:

(WebCore::CSSImageValue::cachedImage):

  • css/CSSImageValue.h:

(WebCore):
(CSSImageValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::loadPendingImage):

  • css/StyleRuleImport.cpp:

(WebCore::StyleRuleImport::requestStyleSheet):

  • css/WebKitCSSSVGDocumentValue.cpp:

(WebCore::WebKitCSSSVGDocumentValue::load):

  • css/WebKitCSSShaderValue.cpp:

(WebCore::WebKitCSSShaderValue::cachedShader):

  • dom/ScriptElement.cpp:

(WebCore::ScriptElement::requestScript):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::process):

  • html/parser/CSSPreloadScanner.cpp:

(WebCore::CSSPreloadScanner::emitRule):

  • html/parser/CSSPreloadScanner.h:

(CSSPreloadScanner):

  • html/parser/HTMLPreloadScanner.cpp:

(WebCore::PreloadTask::preload):

  • loader/ImageLoader.cpp:

(WebCore::ImageLoader::updateFromElement):

  • loader/cache/CachedResourceLoader.cpp:

(WebCore::CachedResourceLoader::requestImage):
(WebCore::CachedResourceLoader::requestResource):
(WebCore::CachedResourceLoader::determineRevalidationPolicy):
(WebCore):
(WebCore::CachedResourceLoader::preload):

  • loader/cache/CachedResourceLoader.h:

(WebCore):
(CachedResourceLoader):

  • loader/cache/CachedResourceRequest.cpp:

(WebCore::CachedResourceRequest::CachedResourceRequest):
(WebCore):
(WebCore::CachedResourceRequest::~CachedResourceRequest):
(WebCore::CachedResourceRequest::setInitiator):
(WebCore::CachedResourceRequest::initiatorName):
(WebCore::CachedResourceRequest::initiatorDocument):
(WebCore::CachedResourceRequest::initiatorElement):

  • loader/cache/CachedResourceRequest.h:

(WebCore):
(WebCore::CachedResourceRequest::setOptions):
(WebCore::CachedResourceRequest::defer):
(WebCore::CachedResourceRequest::setDefer):
(CachedResourceRequest):

  • loader/cache/CachedResourceRequestInitiators.cpp: Copied from Source/WebCore/loader/cache/CachedResourceRequest.cpp.

(WebCore):
(WebCore::CachedResourceRequestInitiators::CachedResourceRequestInitiators):

  • loader/cache/CachedResourceRequestInitiators.h: Copied from Source/WebCore/loader/cache/CachedResourceRequest.cpp.

(WebCore):
(CachedResourceRequestInitiators):
(WebCore::cachedResourceRequestInitiators):

  • loader/icon/IconLoader.cpp:

(WebCore::IconLoader::startLoading):

  • platform/ThreadGlobalData.cpp:

(WebCore::ThreadGlobalData::ThreadGlobalData):

  • platform/ThreadGlobalData.h:

(WebCore):
(WebCore::ThreadGlobalData::cachedResourceRequestInitiators):
(ThreadGlobalData):

  • svg/SVGFEImageElement.cpp:

(WebCore::SVGFEImageElement::requestImageResource):

  • svg/SVGFontFaceUriElement.cpp:

(WebCore::SVGFontFaceUriElement::loadFont):

  • svg/SVGUseElement.cpp:

(WebCore::SVGUseElement::svgAttributeChanged):

4:19 AM Changeset in webkit [134929] by mkwst@chromium.org
  • 2 edits in trunk/LayoutTests

[chromium] Unreviewed gardening.

http/tests/security/sandboxed-iframe-form-top.html is leaking state into
the next test, and should have been skipped for Chromium as well as mac
in r134789. This patch remedies that oversight.

  • platform/chromium/TestExpectations:
4:04 AM Changeset in webkit [134928] by yurys@chromium.org
  • 6 edits in trunk

Web Inspector: don't show an Error when evaluating a watch expression results in an exception
https://bugs.webkit.org/show_bug.cgi?id=102470

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Dim watch expression and show "<not available>" as its value in cases when it evaluates
into an exception.

  • English.lproj/localizedStrings.js:
  • inspector/front-end/WatchExpressionsSidebarPane.js:

(WebInspector.WatchExpressionTreeElement.prototype.update):

  • inspector/front-end/inspector.css:

LayoutTests:

Check that watch expression has value "<not available>" in case of exception
during its evaluation instead of a special style class tha has been removed.

  • inspector/debugger/error-in-watch-expressions.html:
4:00 AM Changeset in webkit [134927] by vsevik@chromium.org
  • 21 edits
    1 delete in trunk/Source/WebCore

Web Inspector: Rollout 134404 134548 134552 Temporarily rolling out to ease merging.
https://bugs.webkit.org/show_bug.cgi?id=102476

Unreviewed rolling out.

  • English.lproj/localizedStrings.js:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.py:
  • inspector/front-end/AdvancedSearchController.js:
  • inspector/front-end/CallStackSidebarPane.js:

(WebInspector.CallStackSidebarPane.prototype.registerShortcuts):

  • inspector/front-end/ConsoleView.js:

(WebInspector.ConsoleView.prototype._registerShortcuts):

  • inspector/front-end/ElementsPanel.js:

(WebInspector.ElementsPanel):
(WebInspector.ElementsPanel.prototype._registerShortcuts):

  • inspector/front-end/ElementsPanelDescriptor.js:
  • inspector/front-end/GoToLineDialog.js:

(WebInspector.GoToLineDialog.install):

  • inspector/front-end/KeyboardShortcut.js:

(WebInspector.KeyboardShortcut._keyName):

  • inspector/front-end/Panel.js:

(WebInspector.Panel.prototype.registerShortcut):
(WebInspector.Panel.prototype.unregisterShortcut):
(WebInspector.PanelDescriptor.prototype.panel):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel):
(WebInspector.ScriptsPanel.prototype._createDebugToolbar):
(WebInspector.ScriptsPanel.prototype._createButtonAndRegisterShortcuts):

  • inspector/front-end/ScriptsPanelDescriptor.js:
  • inspector/front-end/ShortcutsScreen.js:

(WebInspector.ShortcutsScreen):
(WebInspector.ShortcutsSection):
(WebInspector.ShortcutsSection.prototype._renderKey):

  • inspector/front-end/StylesSidebarPane.js:

(WebInspector.StylesSidebarPane.prototype.registerShortcuts):

  • inspector/front-end/TimelinePanel.js:

(WebInspector.TimelinePanel.prototype._registerShortcuts):

  • inspector/front-end/TimelinePanelDescriptor.js: Removed.
  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/inspector.html:
  • inspector/front-end/inspector.js:

(WebInspector._panelDescriptors):
(WebInspector._registerShortcuts):

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

Web Inspector: Memory Timeline Crash
https://bugs.webkit.org/show_bug.cgi?id=102390

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-11-16
Reviewed by Vsevolod Vlasov.

Crash seems to be caused by IPC overflow.
Messages "ParsedScriptSource" are routed to
ResourceScriptMapping.prototype.addScript that process them in time
linear to number of already registered non-anonymous non-inline scripts.

Fixed this with replacing repreated filtering with "on-line" bucketing.

  • inspector/front-end/ResourceScriptMapping.js:

(WebInspector.ResourceScriptMapping):
Removed duplicating initialization code.
(WebInspector.ResourceScriptMapping.prototype.addScript):
Added script bucketing by sourceURL/isInline parameters.
(WebInspector.ResourceScriptMapping.prototype._scriptsForSourceURL):
Avoid filterfig.
(WebInspector.ResourceScriptMapping.prototype._createUISourceCode):
Added outgoing muatable array safeguard.
(WebInspector.ResourceScriptMapping.prototype._reset):
Added type information and added two new maps.

3:30 AM Changeset in webkit [134925] by commit-queue@webkit.org
  • 2 edits in trunk/LayoutTests

REGRESSION (r134774-r134779): fast/frames/detached-shadow-frame.html failing on Apple Win 7 Release (Tests)
https://bugs.webkit.org/show_bug.cgi?id=102433

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-16
Reviewed by Dimitri Glazkov.

Need to include the Shadow DOM polyfill.js since not all ports
web expose the WebkitShadowRoot constructor.

  • fast/frames/detached-shadow-frame.html:
3:23 AM Changeset in webkit [134924] by peter@chromium.org
  • 3 edits in trunk/Tools

Running TestWebKitAPI and webkit_unit_tests for Chromium Android should defer to the Chromium-sided test runner
https://bugs.webkit.org/show_bug.cgi?id=102245

Reviewed by Tony Chang.

When running TestWebKitAPI and webkit_unit_test for Chromium Android, defer
the actual running part to the test runner which lives on the Chromium side.
Re-implementing or even generalizing the device-interaction part in WebKit
is error prone and not worth the effort.

  • Scripts/run-api-tests:
  • Scripts/run-chromium-webkit-unit-tests:
3:11 AM Changeset in webkit [134923] by Csaba Osztrogonác
  • 8 edits in trunk/LayoutTests

[Qt] Unreviewed gardening.

  • http/tests/websocket/tests/hybi/bad-sub-protocol-control-chars-expected.txt: Updated after r134859.
  • platform/qt/TestExpectations: Skip fast/frames/detached-shadow-frame.html, because ENABLE(SHADOW_DOM) is disabled.
  • platform/qt/fast/media/mq-js-media-except-02-expected.txt: Updated after r134859.
  • platform/qt/fast/media/mq-js-media-except-03-expected.txt: Updated after r134859.
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt: Revert r134754, because r134649 was reverted.
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt: Revert r134754, because r134649 was reverted.
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt: Revert r134754, because r134649 was reverted.
2:57 AM Changeset in webkit [134922] by haraken@chromium.org
  • 1 edit
    1 delete in trunk/LayoutTests

Unreviewed. Rebaselined pixel results.

  • platform/chromium-mac/fast/text/international/combining-marks-position-expected.txt: Removed.
2:56 AM Changeset in webkit [134921] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

[Qt][WK1] Gardening after r134816. Skipped a newly added failing test.
https://bugs.webkit.org/show_bug.cgi?id=102471

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

  • platform/qt-5.0-wk1/TestExpectations:
2:47 AM Changeset in webkit [134920] by peter@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

Unreviewed. Rolled DEPS.

  • DEPS:
2:31 AM Changeset in webkit [134919] by commit-queue@webkit.org
  • 10 edits in trunk/Source

[CoordGfx] Follow coding style on explicit constructors
https://bugs.webkit.org/show_bug.cgi?id=102451

Patch by Helder Correia <Helder Correia> on 2012-11-16
Reviewed by Noam Rosenthal.

Use the explicit keyword on single argument constructors.

No new tests needed.

Source/WebCore:

  • platform/graphics/texmap/GraphicsLayerTextureMapper.h:

(GraphicsLayerTextureMapper):

  • platform/graphics/texmap/TextureMapper.h:

(TextureMapper):

  • platform/graphics/texmap/TextureMapperBackingStore.h:

(WebCore::TextureMapperTile::TextureMapperTile):

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
(WebCore::TextureMapperGLData::TextureMapperGLData):

  • platform/graphics/texmap/TextureMapperGL.h:

(BitmapTextureGL):

  • platform/graphics/texmap/TextureMapperShaderManager.h:

(TextureMapperShaderManager):

Source/WebKit2:

  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:

(WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:

(CoordinatedTileBackend):

2:19 AM Changeset in webkit [134918] by kihong.kwon@samsung.com
  • 15 edits
    3 adds in trunk/Source

Add DeviceController base-class to remove duplication of DeviceXXXControler
https://bugs.webkit.org/show_bug.cgi?id=96894

Reviewed by Hajime Morita.

Source/WebCore:

Add DeviceController which is extracted from DeviceOrientationController to remove duplication.
And soon-to-be-added DeviceMotionController and ProximityController.

Covered by existing tests.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/DeviceOrientationClient.h:
  • dom/DeviceOrientationController.cpp:

Remove member functions to move to DeviceController.

  • addListener(), removeListener(), removeAllListeners(), isActive()

(WebCore::DeviceOrientationController::DeviceOrientationController):
(WebCore::DeviceOrientationController::didChangeDeviceOrientation):
(WebCore::DeviceOrientationController::client):
(WebCore::DeviceOrientationController::hasLastData):
(WebCore::DeviceOrientationController::getLastEvent):
(WebCore::DeviceOrientationController::from):
(WebCore):

  • dom/DeviceOrientationController.h:

(WebCore):
(WebCore::DeviceOrientationController::~DeviceOrientationController):
(DeviceOrientationController):

  • dom/Document.cpp:

Remove suspendEventsForAllListeners() and resumeEventsForAllListeners() function calls.
These calls can be made by checking activeDOMObjectsAreSuspended() and activeDOMObjectsAreStopped() before dispatchEvent.
(WebCore::Document::suspendActiveDOMObjects):
(WebCore::Document::resumeActiveDOMObjects):

  • loader/EmptyClients.h:

(EmptyDeviceClient):
(WebCore::EmptyDeviceClient::startUpdating):
(WebCore::EmptyDeviceClient::stopUpdating):
(WebCore):

  • page/DOMWindow.cpp:

(WebCore::DOMWindow::addEventListener):
(WebCore::DOMWindow::removeEventListener):
(WebCore::DOMWindow::removeAllEventListeners):

  • page/DeviceClient.h: Added.

(WebCore):
(DeviceClient):
(WebCore::DeviceClient::~DeviceClient):

  • page/DeviceController.cpp: Added.

DeviceController has extracted functions from DeviceOrientationController and DeviceMotionController.

  • addDeviceEventListener(), removeDeviceEventlistener(), removeAllDeviceEventListeners(), dispatchDeviceEvent()

All kind of device event controller which has DeviceClient can be inherited from DeviceController.
(WebCore):
(WebCore::DeviceController::DeviceController):
(WebCore::DeviceController::addDeviceEventListener):
(WebCore::DeviceController::removeDeviceEventListener):
(WebCore::DeviceController::removeAllDeviceEventListeners):
(WebCore::DeviceController::dispatchDeviceEvent):
(WebCore::DeviceController::fireDeviceEvent):

  • page/DeviceController.h: Added.

(WebCore):
(DeviceController):
(WebCore::DeviceController::~DeviceController):
(WebCore::DeviceController::isActive):
(WebCore::DeviceController::client):
(WebCore::DeviceController::hasLastData):
(WebCore::DeviceController::getLastEvent):

Source/WebKit/qt:

Change client() to deviceOrientationClient() to get DeviceOrientationClient*.

  • WebCoreSupport/DumpRenderTreeSupportQt.cpp:

(DumpRenderTreeSupportQt::setMockDeviceOrientation):

1:22 AM Changeset in webkit [134917] by apavlov@chromium.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [Overrides] Device metrics get reset on navigation, yet remain in the Overrides view
https://bugs.webkit.org/show_bug.cgi?id=102467

Reviewed by Pavel Feldman.

Restore the device metrics overrides from the inspector cookie in InspectorPageAgent::restore().
Drive-by: move the script execution and FPS counter display state restoration from enable() into restore(),
so that they will get restored only upon page navigation, not upon any agent enablement.

  • inspector/InspectorPageAgent.cpp:

(WebCore::InspectorPageAgent::restore): Restore device metrics overrides, script execution and FPS counter display state.
(WebCore::InspectorPageAgent::enable): Don't restore script execution and FPS counter display state on any enablement.

1:19 AM Changeset in webkit [134916] by commit-queue@webkit.org
  • 9 edits in trunk

Unreviewed, rolling out r134908.
http://trac.webkit.org/changeset/134908
https://bugs.webkit.org/show_bug.cgi?id=102473

Broke the Apple Windows Debug build. (Requested by dydx on
#webkit).

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

.:

  • Source/autotools/symbols.filter:

Source/WebCore:

  • WebCore.exp.in:
  • dom/ViewportArguments.cpp:

(WebCore::computeViewportAttributes):

  • dom/ViewportArguments.h:

(WebCore):

Source/WebKit2:

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
1:08 AM Changeset in webkit [134915] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Unreviewed, rolling out r134913.
http://trac.webkit.org/changeset/134913
https://bugs.webkit.org/show_bug.cgi?id=102472

Incorrect fix. (Requested by dydx on #webkit).

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

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
1:06 AM Changeset in webkit [134914] by commit-queue@webkit.org
  • 5 edits
    3 adds in trunk

Web Inspector: show internal properties in inspector frontend
https://bugs.webkit.org/show_bug.cgi?id=100021

Patch by Peter Rybin <prybin@chromium.org> on 2012-11-16
Reviewed by Yury Semikhatsky.

Source/WebCore:

New field 'internalProperties' is parsed and passed via all callbacks to Object Properties section.

Test: inspector/debugger/properties-special.html

  • inspector/front-end/ObjectPropertiesSection.js:

(WebInspector.ObjectPropertiesSection.prototype.update.callback):
(WebInspector.ObjectPropertiesSection.prototype.update):
(.callback):
(WebInspector.ObjectPropertyTreeElement.populate):
(.processProperties):
(WebInspector.ArrayGroupingTreeElement._populateAsFragment):
(WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties):

  • inspector/front-end/RemoteObject.js:

(WebInspector.RemoteObject.prototype.set else):

LayoutTests:

A new test is added. InspectorTest.dumpObjectPropertySectionDeep function is added.

  • http/tests/inspector/elements-test.js:

(initialize_ElementTest.InspectorTest.dumpObjectPropertySectionDeep):
(initialize_ElementTest.InspectorTest.dumpObjectPropertySectionDeep.dumpTreeElement):

  • inspector/debugger/properties-special-expected.txt: Added.
  • inspector/debugger/properties-special.html: Added.
  • platform/chromium/inspector/debugger/properties-special-expected.txt: Added.
12:37 AM Changeset in webkit [134913] by dbates@webkit.org
  • 3 edits in trunk/Source/WebKit2

Attempt to fix the Apple Windows Debug build after http://trac.webkit.org/changeset/134908
(https://bugs.webkit.org/show_bug.cgi?id=102354).

Add symbol.

  • win/WebKit2.def:
  • win/WebKit2CFLite.def:
12:23 AM Changeset in webkit [134912] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

[WK2] Bug on ASSERT code in CoordinatedBackingStore.cpp
https://bugs.webkit.org/show_bug.cgi?id=102465

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-11-16
Reviewed by Noam Rosenthal.

The ASSERT code should be fixed because the 'operator>=' is not defined for WebCore::IntSize.

  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:

(WebKit::CoordinatedBackingStoreTile::swapBuffers):

12:16 AM Changeset in webkit [134911] by apavlov@chromium.org
  • 14 edits
    1 copy in trunk/Source/WebCore

Web Inspector: metrics, geolocation, orientation overrides do not belong to the settings panel
https://bugs.webkit.org/show_bug.cgi?id=93691

Reviewed by Vsevolod Vlasov.

  • The Overrides tab contents have been moved from the Settings dialog into a brand new Overrides drawer view,

both receiving a new, more light-weight design.

  • The Cog button now brings up a popup menu with the "Overrides" and "Settings" items.
  • WebCore.gypi:
  • WebCore.vcproj/WebCore.vcproj:
  • inspector/compile-front-end.py:
  • inspector/front-end/ContextMenu.js:

(WebInspector.ContextMenu.prototype.showSoftMenu): Display the ContextMenu as a soft menu.

  • inspector/front-end/OverridesView.js: Copied from Source/WebCore/inspector/front-end/SettingsScreen.js.

(WebInspector.OverridesView.appendBlockTo):
(WebInspector.OverridesView):
(WebInspector.OverridesView.showInDrawer):
(WebInspector.OverridesView.prototype.get listener):
(WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.get const):
(WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.textDoubleClicked):
(WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.textChanged):
(WebInspector.OverridesView.prototype._createUserAgentSelectRowElement.set checkboxClicked):
(WebInspector.OverridesView.prototype._createUserAgentSelectRowElement):
(WebInspector.OverridesView.prototype._createInput):
(WebInspector.OverridesView.prototype._onMetricsCheckboxClicked):
(WebInspector.OverridesView.prototype._applyDeviceMetricsUserInput):
(WebInspector.OverridesView.prototype.):
(WebInspector.OverridesView.prototype.set if):
(WebInspector.OverridesView.prototype._createDeviceMetricsElement.swapDimensionsClicked):
(WebInspector.OverridesView.prototype._createDeviceMetricsElement):
(WebInspector.OverridesView.prototype._onGeolocationOverrideCheckboxClicked):
(WebInspector.OverridesView.prototype._applyGeolocationUserInput):
(WebInspector.OverridesView.prototype._setGeolocationPosition):
(WebInspector.OverridesView.prototype._createGeolocationOverrideElement):
(WebInspector.OverridesView.prototype._onDeviceOrientationOverrideCheckboxClicked):
(WebInspector.OverridesView.prototype._applyDeviceOrientationUserInput):
(WebInspector.OverridesView.prototype._setDeviceOrientation):
(WebInspector.OverridesView.prototype._createDeviceOrientationOverrideElement):

  • inspector/front-end/ScriptsPanel.js:

(WebInspector.ScriptsPanel): Fix the "DOM Breakpoints" pane move upon the panel creation.

  • inspector/front-end/SettingsScreen.js:

(WebInspector.SettingsTab):
(WebInspector.SettingsTab.prototype._appendSection):
(WebInspector.GenericSettingsTab):
(WebInspector.ExperimentsSettingsTab):
(WebInspector.SettingsController): Implement the popup menu upon the button click.
(WebInspector.SettingsController.prototype.showOverrides):
(WebInspector.SettingsController.prototype.showSettings):
(WebInspector.SettingsController.prototype.appendApplicableItems):
(WebInspector.SettingsController.prototype._buttonPressed):
(WebInspector.SettingsController.prototype._onHideSettingsScreen):
(WebInspector.SettingsController.prototype.showSettingsScreen):

  • inspector/front-end/ShortcutsScreen.js: Add "Shortcuts" header.

(WebInspector.ShortcutsScreen.prototype.createShortcutsTabView):

  • inspector/front-end/SoftContextMenu.js: Enable in all cases, implement the alignToCurrentTarget mode in show().

(WebInspector.SoftContextMenu.prototype.show):

  • inspector/front-end/TabbedPane.js: Implement vertical tab layout (skipping the tab width computations).

(WebInspector.TabbedPane.prototype.set verticalTabLayout):
(WebInspector.TabbedPane.prototype._updateWidths):
(WebInspector.TabbedPaneTab.prototype.setWidth):
(WebInspector.TabbedPaneTab.prototype._createTabElement):

  • inspector/front-end/WebKit.qrc:
  • inspector/front-end/helpScreen.css: Update styles for the new Settings and Overrides look-and-feel.
  • inspector/front-end/inspector.css: Drive-by fix small artifacts in the soft menu and drawer view statusbar item label.

(.soft-context-menu-item):
(.drawer-header):

  • inspector/front-end/inspector.html:
12:08 AM Changeset in webkit [134910] by commit-queue@webkit.org
  • 12 edits
    2 deletes in trunk

Unreviewed, rolling out r134865.
http://trac.webkit.org/changeset/134865
https://bugs.webkit.org/show_bug.cgi?id=102466

Broke the Apple Windows Debug build. (Requested by dydx on
#webkit).

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

.:

  • Source/autotools/symbols.filter:

Source/WebCore:

  • WebCore.exp.in:
  • bindings/js/SerializedScriptValue.h:
  • testing/Internals.cpp:
  • testing/Internals.h:

(WebCore):

  • testing/Internals.idl:

Source/WebKit2:

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

LayoutTests:

  • platform/chromium/fast/storage/serialized-script-value-expected.txt: Removed.
  • platform/chromium/fast/storage/serialized-script-value.html: Removed.
12:06 AM Changeset in webkit [134909] by tasak@google.com
  • 3 edits
    4 adds in trunk

ASSERT_NOT_REACHED() when building a CSSOM wrapper for StyleRuleHost
https://bugs.webkit.org/show_bug.cgi?id=102116

Reviewed by Alexander Pavlov.

Source/WebCore:

Provide a CSSUnknownRule instance as a CSSOM wrapper for StyleRuleHost
rules. Since there is no CSSOM wrapper for @host @-rules and
ASSERT_NOT_REACHED is used when a CSSOM wrapper is requested,
this crash occurs.

Tests: fast/css/at-host-cssom-crash.html

inspector/styles/styles-include-host-rules-crash.html

  • css/StyleRule.cpp:

(WebCore::StyleRuleBase::createCSSOMWrapper):
Return a CSSUnknownRule instance for StyleRuleHost rules instead of
calling ASSERT_NOT_REACHED().

LayoutTests:

  • fast/css/at-host-cssom-crash-expected.txt: Added.
  • fast/css/at-host-cssom-crash.html: Added.
  • inspector/styles/styles-include-host-rules-crash-expected.txt: Added.
  • inspector/styles/styles-include-host-rules-crash.html: Added.
12:02 AM Changeset in webkit [134908] by commit-queue@webkit.org
  • 9 edits in trunk

Avoid copying of ViewportArguments in computeViewportAttributes function
https://bugs.webkit.org/show_bug.cgi?id=102354

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

.:

Updated exported symbols for GTK.

  • Source/autotools/symbols.filter:

Source/WebCore:

Since r134749 we do not need copying of ViewportArguments parameter in
computeViewportAttributes() as it is not modified any more.

Tested by existing tests fast/viewport.

  • WebCore.exp.in: Updated exported symbols for MAC.
  • dom/ViewportArguments.cpp:

(WebCore::computeViewportAttributes):

  • dom/ViewportArguments.h:

(WebCore):

Source/WebKit2:

Update exported symbols.

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

Nov 15, 2012:

11:34 PM Changeset in webkit [134907] by haraken@chromium.org
  • 9 edits
    4 deletes in trunk/Source/WebKit/chromium

Unreviewed, rolling out r134880.
http://trac.webkit.org/changeset/134880
https://bugs.webkit.org/show_bug.cgi?id=102339

it broke Chromium Windows build

  • WebKit.gyp:
  • WebKit.gypi:
  • public/WebNode.h:

(WebKit):

  • public/WebPluginContainer.h:

(WebKit):
(WebPluginContainer):

  • src/WebFrameImpl.cpp:

(WebKit::pluginContainerFromNode):
(WebKit):
(WebKit::WebFrameImpl::executeCommand):
(WebKit::WebFrameImpl::printBegin):
(WebKit::WebFrameImpl::isPrintScalingDisabledForPlugin):

  • src/WebNode.cpp:
  • src/WebPluginContainerImpl.cpp:
  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

  • tests/FakeWebPlugin.cpp: Removed.
  • tests/FakeWebPlugin.h: Removed.
  • tests/WebPluginContainerTest.cpp: Removed.
  • tests/data/plugin_container.html: Removed.
11:30 PM Changeset in webkit [134906] by yurys@chromium.org
  • 7 edits in trunk

Memory instrumentation: add code for reporting stack traces of unknown instrumented objects
https://bugs.webkit.org/show_bug.cgi?id=102384

Reviewed by Pavel Feldman.

Source/WebCore:

  • inspector/InspectorMemoryAgent.cpp:

(WebCore::MemoryInstrumentationClientImpl::checkCountedObject): return false
if the check fails.

  • inspector/MemoryInstrumentationImpl.h:

(MemoryInstrumentationClientImpl):

Source/WTF:

Added an option to collect stack traces for instrumented pointers so that they
can be printed in case the check failed for the pointer. This code is hidden
behind a define.

  • wtf/MemoryInstrumentation.h:

(MemoryInstrumentationClient):
(WTF::MemoryInstrumentation::checkCountedObject): the method now returns false
in case the check has failed.
(InstrumentedPointer):
(WTF::::InstrumentedPointer):
(WTF):
(WTF::::process):

Tools:

Updated return type in accord with the changes in MemoryInstrumentationClient.

  • TestWebKitAPI/Tests/WTF/MemoryInstrumentationTest.cpp:
11:10 PM Changeset in webkit [134905] by bashi@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed test update.

  • fast/text/international/combining-marks-position.html:

Ignore a slight diff of widths between the reference and target.

10:47 PM Changeset in webkit [134904] by haraken@chromium.org
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed. Rebaselined pixel results.

  • platform/chromium-mac/fast/text/international/combining-marks-position-expected.txt: Added.
10:36 PM Changeset in webkit [134903] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Crash at WebCore::PluginData::pluginFileForMimeType const + 38
https://bugs.webkit.org/show_bug.cgi?id=102454

Reviewed by Dan Bernstein.

NULL-check the return value of Page::pluginData().

  • loader/SubframeLoader.cpp:

(WebCore::logPluginRequest):

10:34 PM Changeset in webkit [134902] by bashi@chromium.org
  • 2 edits in trunk/Source/WebCore

[Chromium] Unreviewed build fix attempt on win

Include OpenTypeVerticalData.h

  • platform/graphics/chromium/FontPlatformDataChromiumWin.h:

(WebCore):

10:34 PM Changeset in webkit [134901] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Marked fast/images/webgl-teximage2d.html as Slow.

  • platform/chromium/TestExpectations:
10:25 PM Changeset in webkit [134900] by fpizlo@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/ChangeLog

Fix embarrassing mispelling in the ChangeLog (chuld -> child)

10:23 PM Changeset in webkit [134899] by haraken@chromium.org
  • 3 edits
    1 add in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • platform/chromium-linux/compositing/checkerboard-expected.png:
  • platform/chromium-mac-lion/compositing/checkerboard-expected.png: Added.
  • platform/chromium-win/compositing/checkerboard-expected.png:
10:23 PM Changeset in webkit [134898] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

ClassInfo.h should have correct indentation.

Rubber stamped by Mark Hahnenberg.

ClassInfo.h had some true creativity in its use of whitespace. Some things within
the namespace were indented four spaces and others where not. One #define had its
contents indented four spaces, while another didn't. I applied the following rule:

  • Non-macro things in the namespace should not be indented (that's our current accepted practice).


  • Macros should never be indented but if they are multi-line then their subsequent bodies should be indented four spaces. I believe that is consistent with what we do elsewhere.
  • runtime/ClassInfo.h:

(JSC):
(MethodTable):
(ClassInfo):
(JSC::ClassInfo::propHashTable):
(JSC::ClassInfo::isSubClassOf):
(JSC::ClassInfo::hasStaticProperties):

10:20 PM Changeset in webkit [134897] by haraken@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Marked fast/forms/validation-message-appearance.html as flaky.

  • platform/chromium/TestExpectations:
10:19 PM Changeset in webkit [134896] by fpizlo@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

DFG should copy propagate trivially no-op ConvertThis
https://bugs.webkit.org/show_bug.cgi?id=102445

Reviewed by Oliver Hunt.

Copy propagation is always a good thing, since it reveals must-alias relationships
to the CFA and CSE. This accomplishes copy propagation for ConvertThis by first
converting it to an Identity node (which is done by the constant folder since it
has access to CFA results) and then performing substitution of references to
Identity with references to Identity's chuld in the CSE.

I'm not aiming for a big speed-up here; I just think that this will be useful for
the work on https://bugs.webkit.org/show_bug.cgi?id=102327.

  • dfg/DFGAbstractState.cpp:

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

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGNodeType.h:

(DFG):

  • dfg/DFGPredictionPropagationPhase.cpp:

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

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

10:09 PM Changeset in webkit [134895] by haraken@chromium.org
  • 8 edits
    6 moves
    4 adds
    2 deletes in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • fast/media/mq-js-media-except-02-expected.txt: Renamed from LayoutTests/platform/efl/fast/media/mq-js-media-except-02-expected.txt.
  • fast/media/mq-js-media-except-03-expected.txt: Renamed from LayoutTests/platform/efl/fast/media/mq-js-media-except-03-expected.txt.
  • platform/chromium-mac-lion/fast/media/mq-js-media-except-02-expected.png:
  • platform/chromium-mac-lion/fast/media/mq-js-media-except-03-expected.png:
  • platform/chromium-mac-snowleopard/fast/media/mq-js-media-except-02-expected.png:
  • platform/chromium-mac-snowleopard/fast/media/mq-js-media-except-03-expected.png:
  • platform/chromium-mac/fast/media/mq-js-media-except-02-expected.png:
  • platform/chromium-mac/fast/media/mq-js-media-except-02-expected.txt: Renamed from LayoutTests/platform/chromium/fast/media/mq-js-media-except-02-expected.txt.
  • platform/chromium-mac/fast/media/mq-js-media-except-03-expected.png:
  • platform/chromium-mac/fast/media/mq-js-media-except-03-expected.txt: Renamed from LayoutTests/platform/chromium/fast/media/mq-js-media-except-03-expected.txt.
  • platform/chromium-mac/svg/custom/baseval-animval-equality-expected.png:
  • platform/chromium-mac/svg/custom/baseval-animval-equality-expected.txt: Added.
  • platform/chromium-win-xp/fast/media/mq-js-media-except-02-expected.png: Added.
  • platform/chromium-win-xp/fast/media/mq-js-media-except-03-expected.png: Added.
  • platform/efl-wk1/fast/media/mq-js-media-except-02-expected.png: Renamed from LayoutTests/platform/efl/fast/media/mq-js-media-except-02-expected.png.
  • platform/efl-wk1/fast/media/mq-js-media-except-03-expected.png: Renamed from LayoutTests/platform/efl/fast/media/mq-js-media-except-03-expected.png.
  • platform/gtk/fast/media/mq-js-media-except-02-expected.txt: Removed.
  • platform/gtk/fast/media/mq-js-media-except-03-expected.txt: Removed.
10:02 PM Changeset in webkit [134894] by haraken@chromium.org
  • 1 edit
    2 adds in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-step-expected.png: Added.
9:59 PM Changeset in webkit [134893] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r134881.
http://trac.webkit.org/changeset/134881
https://bugs.webkit.org/show_bug.cgi?id=102348

http/tests/appcache tests on JSC platforms are broken

  • bindings/scripts/CodeGenerator.pm:

(IsStrictSubtype):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GetInternalFields):
(IsSubType):
(IsNodeSubType):
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateFunctionCallback):
(GenerateImplementationIndexer):
(GenerateToV8Converters):

9:51 PM Changeset in webkit [134892] by tkent@chromium.org
  • 4 edits
    2 copies in branches/chromium/1312

Merge 134390 - Unable to set valid time value to input[type=time] with user interaction in some cases
https://bugs.webkit.org/show_bug.cgi?id=102048

Reviewed by Kentaro Hara.

Source/WebCore:

The implementations of shouldMillisecondFieldReadOnly,
shouldMinuteFieldReadOnly, and shouldSecondFieldReadOnly were
incorrect. We need to check if a part of the minimum value matches to
the corresponding part of the current value.

Also, we had better check hour field editability.

Test: fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield.html

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::shouldHaveSecondField):
Fix a problem that hh:mm:00.sss didn't create a seconds field.

  • html/shadow/DateTimeEditElement.cpp:

(DateTimeEditBuilder): Add shouldHourFieldReadOnly declaration.
(WebCore::DateTimeEditBuilder::visitField):
Add shouldHourFieldReadOnly check to Hour11/Hour12/Hour23/Hour24/Period fields.
(WebCore::DateTimeEditBuilder::shouldHourFieldReadOnly):
Added. An hour field should be read-only if the step value is a multiple
of a day and the hour part of the minimum value matches to the hour part
of the value.
(WebCore::DateTimeEditBuilder::shouldMillisecondFieldReadOnly):
A millisecond field should be read-only if the step value is a multiple
of one second and the millisecond part of the minimum value matches to
the millisecond part of the value.
(WebCore::DateTimeEditBuilder::shouldMinuteFieldReadOnly):
A minute field should be read-only if the step value is a multiple of
one hour and the minute part of the minimum value matches to the minute
part of the value.
(WebCore::DateTimeEditBuilder::shouldSecondFieldReadOnly):
A second field should be read-only if the step value is a multiple of
one minute and the second part of the minimum value matches to the second
part of the value.

  • platform/Decimal.cpp:

(WebCore::Decimal::remainder):
Fix a bug in case that the fractional part of quotient is >= 0.5. Also
make this matches to C99, C++11, ECMAScript behavior.

Source/WebKit/chromium:

  • tests/DecimalTest.cpp:

(TEST_F): Update and add tests.
2.1 % 3 should be 2.1
10 % -3 should be 1
-10 % -3 should be -1
3.6 % 1.3 should be 1
500 % 1000 should be 500
-500 % 1000 should be -500

LayoutTests:

  • fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield-expected.txt: Added.
  • fast/forms/time-multiple-fields/time-multiple-fields-readonly-subfield.html: Added.

TBR=tkent@chromium.org
BUG=crbug.com/160501
Review URL: https://codereview.chromium.org/11420033

9:44 PM Changeset in webkit [134891] by tkent@chromium.org
  • 11 edits in branches/chromium/1312/Source/WebCore/html

Merge 134239 - Refactoring: set read-only values on layout in DateTimeEditElement
https://bugs.webkit.org/show_bug.cgi?id=101916

Reviewed by Kentaro Hara.

We have always updated read-only values when we set an empty value or
DateTimeFieldsState. It has wasted CPU time because such read-only
values are never updated after layout() essentially. So, we set
read-only values in DateTimeEditBuilder used by layout(), and remove
dateForReadOnlyField arguments of setEmptyValue and
setValueAsDateTimeFieldsState.

No new tests. This should not make behavior changes.

  • html/BaseMultipleFieldsDateAndTimeInputType.cpp:

(WebCore::BaseMultipleFieldsDateAndTimeInputType::restoreFormControlState):
We removed dateForReadOnlyField argument because read-only values are
already set in DateTimeFieldElement::layout().

  • html/shadow/DateTimeEditElement.cpp:

(WebCore::DateTimeEditBuilder::visitField):
Set a value to a read-only minute/second/millisecond field while
building UI elements.
Also, changed variable types for millisecond and second fields to
RefPtr<DateTimeNumericFieldElement> because we'd like to call
setValueAsDate, which is private in DateTimeMillisecondFieldElement and
DateTimeSecondFieldElement
(WebCore::DateTimeEditElement::setValueAsDateTimeFieldsState):
We removed dateForReadOnlyField argument because read-only values are
already set in DateTimeFieldElement::layout().
(WebCore::DateTimeEditElement::setEmptyValue): Ditto.

  • html/shadow/DateTimeEditElement.h:

(DateTimeEditElement):
Removed dateForReadOnlyField argument for setValueAsDateTimeFieldsState.

  • html/shadow/DateTimeFieldElement.cpp:

(WebCore::DateTimeFieldElement::defaultKeyboardEventHandler):
We removed dateForReadOnlyField argument because read-only values are
already set in DateTimeFieldElement::layout().

  • html/shadow/DateTimeFieldElement.h:

(DateTimeFieldElement): Ditto.

  • html/shadow/DateTimeFieldElements.cpp: Ditto.
  • html/shadow/DateTimeFieldElements.h: Ditto.
  • html/shadow/DateTimeNumericFieldElement.cpp:

(WebCore::DateTimeNumericFieldElement::setEmptyValue):
It should do nothing if it is read-only because a read-only value was
already set just after construction.

  • html/shadow/DateTimeNumericFieldElement.h:

(DateTimeNumericFieldElement):
Removed dateForReadOnlyField argument of setEmptyValue.

  • html/shadow/DateTimeSymbolicFieldElement.cpp:

(WebCore::DateTimeSymbolicFieldElement::setEmptyValue): Ditto.

  • html/shadow/DateTimeSymbolicFieldElement.h:

(DateTimeSymbolicFieldElement): Ditto.

TBR=tkent@chromium.org
BUG=crbug.com/160501
Review URL: https://codereview.chromium.org/11420032

9:35 PM Changeset in webkit [134890] by tkent@chromium.org
  • 3 edits in trunk/LayoutTests

fast/forms/select/select-state-restore.html is flaky.
https://bugs.webkit.org/show_bug.cgi?id=90207

Reviewed by Hajime Morita.

  • fast/forms/select/select-state-restore.html:

It was possible that we started the test before loading
js-test-post.js. It means we might miss calling waitUntilDone.

  • platform/chromium/TestExpectations:
9:08 PM Changeset in webkit [134889] by aestes@apple.com
  • 5 edits
    3 adds in branches/safari-536.28-branch

Merge r130266.

2012-10-03 Dominic Mazzoni <dmazzoni@google.com>

AX: Heap-use-after-free when deleting a ContainerNode with an AX object
https://bugs.webkit.org/show_bug.cgi?id=98073

Reviewed by Hajime Morita.

Source/WebCore:

Calls axObjectCache()->remove(this) in ~ContainerNode so that the AX tree
doesn't try to access the container node while walking up the parent chain
from one of the container node's children.

Test: accessibility/container-node-delete-causes-crash.html

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::~ContainerNode):

  • dom/Node.cpp:

(WebCore::Node::~Node):

  • dom/Node.h:

(WebCore::Node::document):
(WebCore::Node::documentInternal):

LayoutTests:

Adds test for heap-use-after-free when container node with AX object is deleted.

  • accessibility/container-node-delete-causes-crash-expected.txt: Added.
  • accessibility/container-node-delete-causes-crash.html: Added.
8:46 PM Changeset in webkit [134888] by tkent@chromium.org
  • 9 edits
    36 adds in trunk/LayoutTests

[Chromium] Rebaseline for recent calendar picker and suggestion picker changes

  • platform/chromium-linux-x86/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-linux/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac-lion/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png:
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png:
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/calendar-picker/week-picker-appearance-step-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/calendar-picker/month-picker-appearance-step-expected.png: Added.
  • platform/chromium/TestExpectations:
8:31 PM Changeset in webkit [134887] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

[TexMap][Cairo][Qt] Refactor BitmapTextureGL::updateContents().
https://bugs.webkit.org/show_bug.cgi?id=102420

Patch by Viatcheslav Ostapenko <v.ostapenko@samsung.com> on 2012-11-15
Reviewed by Gyuyoung Kim.

Moved out texture upload without swizzle to the separate method and changed
drawRepaintCounter to use no-swizzle method. This also fixes blue background
of repaint counters in Qt Minibrowser.
Added condition for sub-image buffer creation to not create it if full image is
uploaded. This should give noticeable improvement for platforms that do not
support sub-image upload to texture.

Covered by existing tests.

  • platform/graphics/texmap/TextureMapperGL.cpp:

(WebCore::TextureMapperGL::drawRepaintCounter):
(WebCore::BitmapTextureGL::updateContentsNoSwizzle):
(WebCore):
(WebCore::BitmapTextureGL::updateContents):

  • platform/graphics/texmap/TextureMapperGL.h:

(BitmapTextureGL):

8:30 PM Changeset in webkit [134886] by tkent@chromium.org
  • 12 edits
    1 add in trunk/Source/WebCore

A Spin button should release mouse event capturing when a modal dialog opens
https://bugs.webkit.org/show_bug.cgi?id=98007

Reviewed by Hajime Morita.

Description of bug:
If the mouse left button is pressed on a spin button in
input[type=number] and a 'change' event handler opens a modal dialog
such as alert(), a repeating timer doesn't stop and mouse event
capturing isn't released even though the mouse pointer isn't on the spin
button.
A user will see repeating alert dialogs for a document like <input
type=number value=1 onchange="if (this.value==1) {alert(...);
this.value=1;}"> by clicking the up button.

How to solve:
We should notify modal dialog or popup open to a spin button.
This patch introduce PopupOpeningObserver. Chrome notifies it when
any dialogs / popups is opening. SpinButtonElement implements
PopupOpeningObserver and registers/unregisters itself to/from
Chrome.

No new tests. This is a behavior change, but it's very hard to make an
automated test for timer-related behavior.

  • page/PopupOpeningObserver.h: Added.
  • GNUmakefile.list.am: Add PopupOpeningObserver.h
  • Target.pri: Ditto.
  • WebCore.gypi: Ditto.
  • WebCore.vcproj/WebCore.vcproj: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • page/Chrome.cpp:

(WebCore::Chrome::runJavaScriptAlert): Calls notifyPopupOpeningObservers.
(WebCore::Chrome::runJavaScriptConfirm): Ditto.
(WebCore::Chrome::runJavaScriptPrompt): Ditto.
(WebCore::Chrome::createColorChooser): Ditto.
(WebCore::Chrome::openDateTimeChooser):
Added. Calls notifyPopupOpeningObservers before calling
ChromeClient::openDateTimeChooser.
(WebCore::Chrome::runOpenPanel): Calls notifyPopupOpeningObservers.
(WebCore::Chrome::createPopupMenu): Ditto.
(WebCore::Chrome::createSearchPopupMenu): Ditto.
(WebCore::Chrome::registerPopupOpeningObserver): Added.
(WebCore::Chrome::unregisterPopupOpeningObserver): Added.
(WebCore::Chrome::notifyPopupOpeningObservers): Added.

  • page/Chrome.h: Added new members and required class/struct declarations.
  • html/BaseChooserOnlyDateAndTimeInputType.cpp:

(WebCore::BaseChooserOnlyDateAndTimeInputType::handleDOMActivateEvent):
Use Chrome::openDateTimeChooser instead of ChromeClient::openDateTimeChooser.

  • html/shadow/PickerIndicatorElement.cpp:

(WebCore::PickerIndicatorElement::openPopup): Ditto.

  • html/shadow/SpinButtonElement.h:

(SpinButtonElement): Declare willOpenPopup.

  • html/shadow/SpinButtonElement.cpp:

(WebCore::SpinButtonElement::defaultEventHandler):
Change the order of timer start and changing the value so that we
can cancel the timer correctly.
Calls Chrome::registerPopupOpeningObserver on starting mouse capturing.
(WebCore::SpinButtonElement::willOpenPopup):
Release mouse event capturing before opening a modal dialog.
(WebCore::SpinButtonElement::releaseCapture):
Calls Chrome::unregisterPopupOpeningObserver.

8:25 PM Changeset in webkit [134885] by commit-queue@webkit.org
  • 2 edits
    1 delete in trunk/LayoutTests

[EFL] Update TestExpectations for fast/forms/zoomed-controls.html
https://bugs.webkit.org/show_bug.cgi?id=102369

Unreviewed. Pixel test of fast/forms/zoomed-controls.html is failing
introduced by r134698. Mark this test Missing and remove wrong expectation.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-11-15

  • platform/efl/TestExpectations:
  • platform/efl/fast/forms/zoomed-controls-expected.png: Removed.
8:23 PM Changeset in webkit [134884] by Lucas Forschler
  • 26 edits in branches/safari-536.28-branch/Source/WebKit2

Merged r130347. <rdar://problem/12611664>

7:54 PM Changeset in webkit [134883] by shinyak@chromium.org
  • 8 edits
    18 adds in trunk

Chaging pseudoClass (:enabled) should cause distribution
https://bugs.webkit.org/show_bug.cgi?id=101900

Reviewed by Dimitri Glazkov.

Source/WebCore:

When element's 'enabled' state is changed, we have to invalidate distribution.

According to the spec, :enabled matches anchor/area/link element having href attribute,
and several form control elements which is not disabled. However, currently :enalbed does not match
anchor/area/link yet. See https://bugs.webkit.org/show_bug.cgi?id=102349

Tests: fast/dom/shadow/pseudoclass-update-enabled-anchor.html

fast/dom/shadow/pseudoclass-update-enabled-area.html
fast/dom/shadow/pseudoclass-update-enabled-button.html
fast/dom/shadow/pseudoclass-update-enabled-fieldset.html
fast/dom/shadow/pseudoclass-update-enabled-input.html
fast/dom/shadow/pseudoclass-update-enabled-optgroup.html
fast/dom/shadow/pseudoclass-update-enabled-option.html
fast/dom/shadow/pseudoclass-update-enabled-select.html
fast/dom/shadow/pseudoclass-update-enabled-textarea.html

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::disabledAttributeChanged):

  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::parseAttribute):

  • html/HTMLOptionElement.cpp:

(WebCore::HTMLOptionElement::parseAttribute):

LayoutTests:

Currently :enabled matches an anchor/area/link element yet. I marked these tests as Failure.

  • fast/dom/shadow/pseudoclass-update-enabled-anchor-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-anchor.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-area-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-area.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-button-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-button.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-fieldset-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-fieldset.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-input-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-input.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-optgroup-expected.txt: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-optgroup.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-option-expected.txt: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-option.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-select-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-select.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-textarea-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-enabled-textarea.html: Added.
  • platform/chromium/TestExpectations:
  • platform/efl/TestExpectations:
7:51 PM Changeset in webkit [134882] by arv@chromium.org
  • 3 edits in trunk/Source/WebCore

Update DOMException name: ValidationError
https://bugs.webkit.org/show_bug.cgi?id=102416

Reviewed by Kentaro Hara.

Patch 16 of 25 to update DOMException name to match the spec and Firefox.

VALIDATION_ERR is historical and not used in any spec or our code.

  • dom/DOMCoreException.cpp:
  • dom/ExceptionCode.h:
7:41 PM Changeset in webkit [134881] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

[V8] Remove IsSubType() from CodeGeneratorV8.pm
https://bugs.webkit.org/show_bug.cgi?id=102348

Reviewed by Adam Barth.

CodeGenerator.pm has IsStrictSubType(). CodeGeneratorV8.pm should use it.

No tests. No change in behavior.

  • bindings/scripts/CodeGenerator.pm:

(IsSubType):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateHeader):
(GetInternalFields):
(GenerateNormalAttrGetter):
(GenerateNormalAttrSetter):
(GenerateFunctionCallback):
(GenerateImplementationIndexer):
(GenerateToV8Converters):

7:40 PM Changeset in webkit [134880] by commit-queue@webkit.org
  • 9 edits
    4 adds in trunk/Source/WebKit/chromium

Provide page/window coordinates to plugin's local coordinates translation in WebPluginContainer.
https://bugs.webkit.org/show_bug.cgi?id=102339

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

This change will allow converting a page's window coordinates to plugins's local coordinates,
taking CSS transformations into account. Embedder page of the plugin can use this information
for targetting elements inside the plugin (e.g. devtools can inspect a specific element at the
local coordinate position inside plugin).

  • WebKit.gyp:
  • WebKit.gypi:
  • public/WebNode.h:

(WebKit):

  • public/WebPluginContainer.h:

(WebKit):
(WebPluginContainer):

  • src/WebFrameImpl.cpp:

(WebKit::WebFrameImpl::executeCommand):
(WebKit::WebFrameImpl::printBegin):
(WebKit::WebFrameImpl::isPrintScalingDisabledForPlugin):

  • src/WebNode.cpp:

(WebKit::WebNode::pluginContainer):
(WebKit):

  • src/WebPluginContainerImpl.cpp:

(WebKit::WebPluginContainerImpl::windowToLocalPoint):
(WebKit):

  • src/WebPluginContainerImpl.h:

(WebPluginContainerImpl):

  • tests/FakeWebPlugin.cpp: Added.

(WebKit):
(WebKit::FakeWebPlugin::FakeWebPlugin):
(WebKit::FakeWebPlugin::~FakeWebPlugin):
(WebKit::FakeWebPlugin::initialize):
(WebKit::FakeWebPlugin::destroy):

  • tests/FakeWebPlugin.h: Added.

(WebKit):
(FakeWebPlugin):

  • tests/WebPluginContainerTest.cpp: Added.

(WebKit):
(WebPluginContainerTest):
(WebKit::WebPluginContainerTest::WebPluginContainerTest):
(WebKit::WebPluginContainerTest::TearDown):
(WebKit::getWebPluginContainer):
(WebKit::TEST_F):

  • tests/data/plugin_container.html: Added.
7:29 PM Changeset in webkit [134879] by arv@chromium.org
  • 10 edits in trunk

Update DOMException name: NamespaceError
https://bugs.webkit.org/show_bug.cgi?id=102395

Reviewed by Kentaro Hara.

Source/WebCore:

Patch 14 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • fast/dom/EntityReference/readonly-exceptions-expected.txt:
  • fast/dom/SelectorAPI/not-supported-namespace-in-selector-expected.txt:
  • fast/dom/node-prefix-setter-namespace-exception-expected.txt:
  • fast/dom/script-tests/setAttributeNS-prefix-and-null-namespace.js:
  • fast/dom/setAttributeNS-prefix-and-null-namespace-expected.txt:
  • fast/xpath/attr-namespace-expected.txt:
  • fast/xpath/py-dom-xpath/nodetests-expected.txt:
7:10 PM Changeset in webkit [134878] by commit-queue@webkit.org
  • 7 edits in trunk/Source

Add Settings to disable custom scrollbars on main frame
https://bugs.webkit.org/show_bug.cgi?id=102323

Patch by Tien-Ren Chen <trchen@chromium.org> on 2012-11-15
Reviewed by Adam Barth.

Custom scrollbars on main frame don't really work well on touch devices.
Add a setting to inhibit their creation.

Source/WebCore:

No new tests. No change in default layout behavior.

  • page/FrameView.cpp:

(WebCore::FrameView::createScrollbar):

  • page/Settings.in:

Source/WebKit/chromium:

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

(WebKit::WebSettingsImpl::setAllowCustomScrollbarInMainFrame):
(WebKit):

  • src/WebSettingsImpl.h:

(WebSettingsImpl):

6:45 PM Changeset in webkit [134877] by Lucas Forschler
  • 4 edits in trunk/Source

Versioning.

6:38 PM Changeset in webkit [134876] by Lucas Forschler
  • 1 copy in tags/Safari-537.19

New Tag.

6:28 PM Changeset in webkit [134875] by Lucas Forschler
  • 4 edits in branches/safari-536.28-branch/Source

Versioning.

6:28 PM Changeset in webkit [134874] by commit-queue@webkit.org
  • 11 edits
    5 adds in trunk

custom CSS cursors ignore hotspot values embedded in CUR files
https://bugs.webkit.org/show_bug.cgi?id=100059

Patch by Rick Byers <rbyers@chromium.org> on 2012-11-15
Reviewed by Kenneth Russell.

Source/WebCore:

Add reading the hotspot values to the ICOImageDecoder (for CUR files only),
and plumb it through so that the existing calls to ImageSource::getHotSpot
actually return the hot spot value when there is one.

Tests: fast/events/mouse-cursor.html, fast/events/mouse-cursor-multiframecur.html

  • platform/graphics/ImageSource.cpp:

(WebCore::ImageSource::getHotSpot):

  • platform/graphics/chromium/DeferredImageDecoder.cpp:

(WebCore::DeferredImageDecoder::hotSpot):
(WebCore::DeferredImageDecoder::hotSpotAtIndex):

  • platform/graphics/chromium/DeferredImageDecoder.h:

(DeferredImageDecoder):

  • platform/image-decoders/ImageDecoder.h:

(WebCore::ImageDecoder::hotSpot):
(WebCore::ImageDecoder::hotSpotAtIndex):
(ImageDecoder):

  • platform/image-decoders/ico/ICOImageDecoder.cpp:

(WebCore::ICOImageDecoder::hotSpot):
(WebCore::ICOImageDecoder::hotSpotAtIndex):
(WebCore::ICOImageDecoder::processDirectory):
(WebCore::ICOImageDecoder::readDirectoryEntry):

  • platform/image-decoders/ico/ICOImageDecoder.h:

(ICOImageDecoder):
(IconDirectoryEntry):

LayoutTests:

Add mouse cursor test cases that use CUR files that have embedded hotspot values.

  • fast/events/mouse-cursor-expected.txt:
  • fast/events/mouse-cursor-multiframecur-expected.txt: Added.
  • fast/events/mouse-cursor-multiframecur.html: Copied from LayoutTests/fast/events/mouse-cursor.html.
  • fast/events/mouse-cursor.html:
  • fast/events/resources/greenbox-3frames.cur: Added.
  • fast/events/resources/greenbox-hotspot35-4.cur: Added.
  • fast/events/resources/greenbox-hotspot5-4.cur: Added.
  • platform/mac/TestExpectations: Skip the multi-frame case on mac because it causes a hang
6:24 PM Changeset in webkit [134873] by commit-queue@webkit.org
  • 14 edits
    2 adds in trunk/Source/WebKit2

Coordinated Graphics: Refactor code related to directly composited images.
https://bugs.webkit.org/show_bug.cgi?id=101023

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

Internal Review by Gwang Yoon Hwang and Jae Hyun Park.

Currently, LayerTreeCoordinator manages composited images using
ShareableBitmap. This patch introduces CoordinatedImageBacking which
plays a role in managing composited images. CoordinatedImageBacking makes us
gather code related to a directly composited image into a single class.

We create only one CoordinatedImageBacking per image. For example, in the leaves
demo, we create only 3 textures of leaves.

  • CMakeLists.txt:
  • Shared/WebLayerTreeInfo.h:

(WebKit::WebLayerInfo::WebLayerInfo):
(WebLayerInfo):

  • Target.pri:
  • UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:

(WebKit::CoordinatedBackingStoreTile::swapBuffers):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:

(WebKit::LayerTreeCoordinatorProxy::createImageBacking):
(WebKit::LayerTreeCoordinatorProxy::updateImageBacking):
(WebKit):
(WebKit::LayerTreeCoordinatorProxy::removeImageBacking):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:

(LayerTreeCoordinatorProxy):

  • UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:

(WebKit::LayerTreeRenderer::setLayerState):
(WebKit::LayerTreeRenderer::createImageBacking):
(WebKit::LayerTreeRenderer::updateImageBacking):
(WebKit::LayerTreeRenderer::removeImageBacking):
(WebKit):
(WebKit::LayerTreeRenderer::assignImageBackingToLayer):
(WebKit::LayerTreeRenderer::removeReleasedImageBackingsIfNeeded):
(WebKit::LayerTreeRenderer::flushLayerChanges):
(WebKit::LayerTreeRenderer::purgeGLResources):

  • UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:

(LayerTreeRenderer):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::setContentsToImage):
(WebCore::CoordinatedGraphicsLayer::syncImageBacking):
(WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
(WebCore::CoordinatedGraphicsLayer::beginContentUpdate):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayerClient):
(CoordinatedGraphicsLayer):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp: Added.

(WebKit):
(WebKit::CoordinatedImageBacking::getCoordinatedImageBackingID):
(WebKit::CoordinatedImageBacking::create):
(WebKit::CoordinatedImageBacking::CoordinatedImageBacking):
(WebKit::CoordinatedImageBacking::~CoordinatedImageBacking):
(WebKit::CoordinatedImageBacking::addLayerClient):
(WebKit::CoordinatedImageBacking::removeLayerClient):
(WebKit::CoordinatedImageBacking::markDirty):
(WebKit::CoordinatedImageBacking::update):
(WebKit::CoordinatedImageBacking::releaseSurfaceIfNeeded):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h: Added.

(WebCore):
(WebKit):
(CoordinatedImageBacking):
(Coordinator):
(WebKit::CoordinatedImageBacking::id):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:

(WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
(WebKit::LayerTreeCoordinator::createImageBackingIfNeeded):
(WebKit::LayerTreeCoordinator::createImageBacking):
(WebKit::LayerTreeCoordinator::updateImageBacking):
(WebKit::LayerTreeCoordinator::removeImageBacking):
(WebKit::LayerTreeCoordinator::flushPendingImageBackingChanges):
(WebKit::LayerTreeCoordinator::purgeBackingStores):

  • WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:

(LayerTreeCoordinator):

5:58 PM Changeset in webkit [134872] by aestes@apple.com
  • 27 edits
    5 adds in branches/safari-536.28-branch

Merge r116629 and r127534.

2012-09-04 Sergey Glazunov <serg.glazunov@gmail.com>

Frame element doesn't always unload its child frame.
https://bugs.webkit.org/show_bug.cgi?id=94717

Reviewed by Hajime Morita.

Source/WebCore:

It's possible for a frame element that has been removed from the document
to retain an active child frame. This inconsistent state may become a source
of security vulnerabilities.

The patch adds a global HashSet to store the nodes currently processed by
ChildFrameDisconnector. Insertion into these nodes' subtrees is not allowed until
the processing is complete.

Also, the ChildFrameDisconnector call in removeChild(ren) is now immediately
followed by the actual removal.

Test: fast/frames/out-of-document-iframe-has-child-frame.html

  • dom/ContainerNode.cpp:

(WebCore::willRemoveChildren): Move the ChildFrameDisconnector call out of a loop.
(WebCore::ContainerNode::removeChild): Rearrange some event firing code.
(WebCore::ContainerNode::removeChildren): Ditto.

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildFrameDisconnector::collectDescendant): Pass a new parameter to collectDescendant(Node*).

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
(ChildFrameDisconnector): Maintain a list of nodes that have an active ChildFrameDisconnector.
(WebCore::ChildFrameDisconnector::~ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::rootNodes):
(WebCore::ChildFrameDisconnector::collectDescendant): Add ShouldIncludeRoot parameter.
(WebCore::ChildFrameDisconnector::nodeHasDisconnector):
(WebCore):

  • dom/Node.cpp:

(WebCore::checkAcceptChild): Reject a parent node if it or one of its parents has an active ChildFrameDisconnector.

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::didNotifySubtreeInsertions): Check if an element is still in the document.

2012-05-10 MORITA Hajime <morrita@google.com>

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

Reviewed by Ryosuke Niwa.

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

Originally there were 5 willRemove() overrides:

  • Element
  • HTMLStyleElement
  • HTMLSourceElement
  • HTMLTrackElement
  • HTMLFrameOwnerElement

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

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

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

No new tests. Covered by existing test.

  • dom/ContainerNode.cpp:

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

  • dom/ContainerNode.h:

(ContainerNode):

  • dom/ContainerNodeAlgorithms.cpp:

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

  • dom/ContainerNodeAlgorithms.h:

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

  • dom/Element.cpp:

(WebCore::Element::removedFrom):

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

(ElementShadow):

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

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

  • html/HTMLElement.h:

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

  • html/HTMLFrameOwnerElement.cpp:

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

  • html/HTMLFrameOwnerElement.h:

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

  • html/HTMLMediaElement.cpp:

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

  • html/HTMLMediaElement.h:

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

  • html/HTMLSourceElement.cpp:

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

  • html/HTMLSourceElement.h:

(HTMLSourceElement):

  • html/HTMLStyleElement.cpp:

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

  • html/HTMLStyleElement.h:

(HTMLStyleElement):

  • html/HTMLTrackElement.cpp:

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

  • html/HTMLTrackElement.h:

(HTMLTrackElement):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::clear):

LayoutTests:

  • fast/frames/out-of-document-iframe-has-child-frame-expected.txt: Added.
  • fast/frames/out-of-document-iframe-has-child-frame.html: Added.
  • fast/innerHTML/innerHTML-iframe-expected.txt:
  • platform/chromium/fast/frames/out-of-document-iframe-has-child-frame-expected.txt: Added.
  • platform/chromium/fast/innerHTML: Added.
  • platform/chromium/fast/innerHTML/innerHTML-iframe-expected.txt: Added.
5:55 PM Changeset in webkit [134871] by bashi@chromium.org
  • 10 edits in trunk/Source/WebCore

Make OpenTypeVerticalData be ref-counted
https://bugs.webkit.org/show_bug.cgi?id=101971

Reviewed by Tony Chang.

FontCache::purgeInactiveFontData() uses mark & sweep algorithm to remove unused
OpenTypeVerticalData objects. It marks only OpenTypeVerticalData which can be reached
via SimpleFontData in gFontDataCache. However, OpenTypeVerticalData can be referred by
SimpleFontData which resides in CSSFontFaceSource::m_fontDataTable so the algorithm can
delete active OpenTypeVerticalData. To avoid deleting active OpenTypeVerticalData, make
it be ref-counted.

No new tests. No changes in behavior. Checked manually that the use-after-free was fixed.

  • platform/graphics/FontCache.cpp:

(WebCore): Use RefPtr instead of OwnPtr for FontVerticalDataCache.
(WebCore::FontCache::getVerticalData): Return PassRefPtr<OpenTypeVerticalData>.
(WebCore::FontCache::purgeInactiveFontData): Follow the change of OwnPtr -> RefPtr.

  • platform/graphics/FontCache.h:
  • platform/graphics/SimpleFontData.cpp:

(WebCore::SimpleFontData::SimpleFontData):

  • platform/graphics/SimpleFontData.h:

Use RefPtr instead of raw const pointer for OpenTypeVerticalData.
(WebCore::SimpleFontData::verticalData):

  • platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:

(WebCore::FontPlatformData::verticalData): Return PassRefPtr<OpenTypeVerticalData>.

  • platform/graphics/chromium/FontPlatformDataChromiumWin.h:

(FontPlatformData):

  • platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:

(WebCore::FontPlatformData::verticalData): Ditto.

  • platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h:

(WebCore):
(FontPlatformData):

  • platform/graphics/opentype/OpenTypeVerticalData.h:

(WebCore::OpenTypeVerticalData::create): Added.
(OpenTypeVerticalData):

5:39 PM Changeset in webkit [134870] by bashi@chromium.org
  • 2 edits in trunk/LayoutTests

Use complex path for the reference text in fast/text/international/combining-marks-position.html
https://bugs.webkit.org/show_bug.cgi?id=101009

Reviewed by Kent Tamura.

Arial has a kerning pair for U+043A U+0430 so the width of the text can be
different between simple path and complex path. Use text-rendering: optimizeLegibility
to force using complex text for reference text.

  • fast/text/international/combining-marks-position.html:
5:32 PM Changeset in webkit [134869] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. Skipped media/video-src-blob.html on Windows.
Blob not enabled on Windows.

  • platform/win/TestExpectations:
5:22 PM Changeset in webkit [134868] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Coordinated Graphics: A Minor optimization of calculating transforms in CoordinagedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=102309

We calculate an inverse transform each tiledBackingStoreVisibleRect() call by
a TiledBackingStore and every tiles.
This patch caches the inverse transform to reuse it.

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

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
(WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayer):

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

Optimize the multiply-add in Biquad.cpp::process
https://bugs.webkit.org/show_bug.cgi?id=75528

Patch by Xingnan Wang <xingnan.wang@intel.com> on 2012-11-15
Reviewed by Brent Fulgham.

Pipeline the multiply-add with SSE2 intrinsics.
Get ~45% performance improvement for the function.

  • platform/audio/Biquad.cpp:

(WebCore::Biquad::process):

5:14 PM Changeset in webkit [134866] by dgrogan@chromium.org
  • 13 edits
    6 deletes in trunk/LayoutTests

IndexedDB: setVersion batch 8
https://bugs.webkit.org/show_bug.cgi?id=102434

Reviewed by Tony Chang.

2 lines were added to intversion-bad-parameters to capture the tests
that were in the now-deleted setVersion-{null,undefined}.

  • storage/indexeddb/intversion-bad-parameters-expected.txt:
  • storage/indexeddb/key-generator-expected.txt:
  • storage/indexeddb/open-during-transaction-expected.txt:
  • storage/indexeddb/readonly-properties-expected.txt:
  • storage/indexeddb/resources/intversion-bad-parameters.js:

(deleteSuccess):

  • storage/indexeddb/resources/key-generator.js: Again awkward to call indexedDBTest all over the place. The prefix line's gotta go, and we could also pull a resetDatabase method out of indexedDBTest that would just do a delete and open.

(runTests.nextTest.prepareDatabase):
(runTests.nextTest.onSuccess.finishTest):
(runTests.nextTest.onSuccess):
(runTests.nextTest):
(testAcrossConnections.prepareDatabase):

  • storage/indexeddb/resources/open-during-transaction.js:

(prepareDatabase.event.target.transaction.oncomplete):
(prepareDatabase):
(tryOpens):

  • storage/indexeddb/resources/readonly-properties.js:

(prepareDatabase):

  • storage/indexeddb/resources/setVersion-null.js: Removed.
  • storage/indexeddb/resources/setVersion-undefined.js: Removed.
  • storage/indexeddb/resources/transaction-after-close.js:

(prepareDatabase):
(firstTransactionComplete):
(onFinalPutSuccess):

  • storage/indexeddb/resources/versionchangerequest-activedomobject.js:

(testSetVersion):
(upgradeNeededCallback):
(successCallback):

  • storage/indexeddb/setVersion-null-expected.txt: Removed.
  • storage/indexeddb/setVersion-null.html: Removed.
  • storage/indexeddb/setVersion-undefined-expected.txt: Removed.
  • storage/indexeddb/setVersion-undefined.html: Removed.
  • storage/indexeddb/transaction-after-close-expected.txt:
  • storage/indexeddb/versionchangerequest-activedomobject-expected.txt:
5:07 PM Changeset in webkit [134865] by alecflett@chromium.org
  • 11 edits
    2 adds in trunk

Add tests for explicit serialization values
https://bugs.webkit.org/show_bug.cgi?id=96818

Reviewed by Adam Barth.

Source/WebCore:

Expose direct access to the serialization/deserialization mechanisms
of SerializedScriptValue to DumpRenderTree.

  • testing/Internals.cpp:

(WebCore::Internals::serializeObject):
(WebCore):
(WebCore::Internals::deserializeBuffer):

  • testing/Internals.h:

(WebCore):

  • testing/Internals.idl:

Source/WebKit2:

Add exports for SerializedScriptValue changes.

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

LayoutTests:

Make sure SerializedScriptValues are backward compatible with future changes.

  • platform/chromium/fast/storage/serialized-script-value.html: Added.
  • platform/chromium/fast/storage/serialized-script-value.txt: Added.
5:05 PM Changeset in webkit [134864] by kov@webkit.org
  • 11 edits in trunk

[GTK] Split WebCore/platform into a separate library
https://bugs.webkit.org/show_bug.cgi?id=94435

Reviewed by Martin Robinson.

More people have been reporting problems when linking WebCore because
the command line limit is being exceeded. Splitting WebCore a bit more
is in order.

.:

  • GNUmakefile.am: add variable that will hold the list of source files

for libWebCorePlatform .

Source/WebCore:

  • GNUmakefile.am: add new libWebCorePlatform convenience library.
  • GNUmakefile.list.am: move list of platform/* files to its own variable.

Source/WebKit/gtk:

  • GNUmakefile.am: link libWebCorePlatform into libwebkitgtk

Source/WebKit2:

  • GNUmakefile.am: link libWebCorePlatform into libwebkit2gtk

Tools:

  • GNUmakefile.am: link libWebCorePlatform into DRT
4:56 PM Changeset in webkit [134863] by roger_fong@apple.com
  • 1 edit
    4 adds in trunk/LayoutTests

Unreviewed. Add missing text test expectations for Mac and Windows ports.

  • platform/mac/css3/filters/effect-reference-ordering-hw-expected.txt: Added.
  • platform/mac/fast/css/text-overflow-input-expected.txt: Added.
  • platform/mac/fast/forms/input-readonly-dimmed-expected.txt: Added.
  • platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt: Added.
4:50 PM Changeset in webkit [134862] by Lucas Forschler
  • 1 copy in tags/Safari-536.28.1

New Tag.

4:49 PM Changeset in webkit [134861] by macpherson@chromium.org
  • 2 edits in trunk/Source/WebCore

Remove unused macro HANDLE_INHERIT_AND_INITIAL_WITH_VALUE in StyleResolver.cpp
https://bugs.webkit.org/show_bug.cgi?id=102036

Reviewed by Darin Adler.

Remove HANDLE_INHERIT_AND_INITIAL_WITH_VALUE macro, as it is not used anywhere.

No tests added because code is unused, and compile is enough to verify that conculsively.

  • css/StyleResolver.cpp:
4:47 PM Changeset in webkit [134860] by jianli@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Updated chromium test expectations to clean up some passed
tests.

  • platform/chromium/TestExpectations:
4:42 PM Changeset in webkit [134859] by arv@chromium.org
  • 85 edits in trunk

Update DOMException name: SyntaxError
https://bugs.webkit.org/show_bug.cgi?id=102279

Reviewed by Kentaro Hara.

Source/WebCore:

Patch 12 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • fast/canvas/canvas-gradient-addStop-error-expected.txt:
  • fast/canvas/canvas-pattern-behaviour-expected.txt:
  • fast/canvas/gradient-addColorStop-with-invalid-color-expected.txt:
  • fast/canvas/script-tests/gradient-addColorStop-with-invalid-color.js:
  • fast/css/css3-nth-tokens-script-expected.txt:
  • fast/css/css3-nth-tokens-script.html:
  • fast/dom/HTMLElement/insertAdjacentHTML-errors-expected.txt:
  • fast/dom/HTMLElement/script-tests/insertAdjacentHTML-errors.js:
  • fast/dom/HTMLElement/set-invalid-value-expected.txt:
  • fast/dom/HTMLElement/set-invalid-value.html:
  • fast/dom/SelectorAPI/dumpNodeList-almost-strict-expected.txt:
  • fast/dom/SelectorAPI/dumpNodeList-expected.txt:
  • fast/dom/Window/custom-constructors-expected.txt:
  • fast/dom/Window/invalid-protocol-expected.txt:
  • fast/dom/css-mediarule-functions-expected.txt:
  • fast/dom/css-mediarule-functions.html:
  • fast/dom/dataset-expected.txt:
  • fast/dom/dataset-xhtml-expected.txt:
  • fast/dom/element-attribute-js-null-expected.txt:
  • fast/dom/register-protocol-handler.html:
  • fast/dom/script-tests/dataset-xhtml.js:
  • fast/dom/script-tests/dataset.js:
  • fast/dom/xhtml-fragment-parsing-exceptions-expected.txt:
  • fast/dynamic/insertAdjacentHTML-expected.txt:
  • fast/eventsource/eventsource-constructor-expected.txt:
  • fast/innerHTML/innerHTML-changing-document-properties-expected.txt:
  • fast/mutation/observe-exceptions-expected.txt:
  • fast/workers/worker-constructor-expected.txt:
  • http/tests/security/postMessage/invalid-origin-throws-exception-expected.txt:
  • http/tests/security/postMessage/target-origin-expected.txt:
  • http/tests/websocket/tests/hybi/bad-sub-protocol-empty-expected.txt:
  • http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii-expected.txt:
  • http/tests/websocket/tests/hybi/close-expected.txt:
  • http/tests/websocket/tests/hybi/close-reason-too-long-expected.txt:
  • http/tests/websocket/tests/hybi/close-reason-too-long.html:
  • http/tests/websocket/tests/hybi/close.html:
  • http/tests/websocket/tests/hybi/invalid-subprotocol-characters-expected.txt:
  • http/tests/websocket/tests/hybi/invalid-subprotocol-characters.html:
  • http/tests/websocket/tests/hybi/invalid-subprotocols-expected.txt:
  • http/tests/websocket/tests/hybi/invalid-subprotocols.html:
  • http/tests/websocket/tests/hybi/url-parsing-expected.txt:
  • http/tests/xmlhttprequest/inject-header-expected.txt:
  • http/tests/xmlhttprequest/xmlhttprequest-open-empty-method-expected.txt:
  • http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-name-expected.txt:
  • platform/chromium-linux/fast/media/mq-js-media-except-02-expected.png:
  • platform/chromium-linux/fast/media/mq-js-media-except-03-expected.png:
  • platform/chromium-mac/fast/dom/SelectorAPI/dumpNodeList-almost-strict-expected.txt:
  • platform/chromium-mac/fast/dom/SelectorAPI/dumpNodeList-expected.txt:
  • platform/chromium-win/fast/dom/SelectorAPI/dumpNodeList-almost-strict-expected.txt:
  • platform/chromium-win/fast/dom/SelectorAPI/dumpNodeList-expected.txt:
  • platform/chromium-win/fast/media/mq-js-media-except-02-expected.txt:
  • platform/chromium-win/fast/media/mq-js-media-except-03-expected.txt:
  • platform/chromium-win/fast/workers/worker-constructor-expected.txt:
  • platform/chromium-win/websocket/tests/bad-sub-protocol-non-ascii-expected.txt:
  • platform/chromium-win/websocket/tests/url-parsing-expected.txt:
  • platform/chromium/canvas/philip/tests/2d.missingargs-expected.txt:
  • platform/chromium/fast/dom/register-protocol-handler-expected.txt:
  • platform/chromium/fast/media/mq-js-media-except-02-expected.txt:
  • platform/chromium/fast/media/mq-js-media-except-03-expected.txt:
  • platform/chromium/fast/workers/worker-constructor-expected.txt:
  • platform/chromium/http/tests/websocket/tests/hixie76/url-parsing-expected.txt:
  • platform/chromium/http/tests/websocket/tests/hybi/bad-sub-protocol-control-chars-expected.txt:
  • platform/chromium/http/tests/websocket/tests/hybi/url-parsing-expected.txt:
  • platform/efl/fast/media/mq-js-media-except-02-expected.txt:
  • platform/efl/fast/media/mq-js-media-except-03-expected.txt:
  • platform/gtk/fast/media/mq-js-media-except-02-expected.txt:
  • platform/gtk/fast/media/mq-js-media-except-03-expected.txt:
  • platform/mac/canvas/philip/tests/2d.missingargs-expected.txt:
  • platform/mac/fast/media/mq-js-media-except-02-expected.txt:
  • platform/mac/fast/media/mq-js-media-except-03-expected.txt:
  • platform/qt-5.0-wk2/http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii-expected.txt:
  • platform/qt/fast/media/mq-js-media-except-02-expected.txt:
  • platform/qt/fast/media/mq-js-media-except-03-expected.txt:
  • platform/qt/http/tests/websocket/tests/hixie76/bad-sub-protocol-non-ascii-expected.txt:
  • platform/qt/http/tests/websocket/tests/hybi/bad-sub-protocol-non-ascii-expected.txt:
  • svg/dom/SVGAngle-expected.txt:
  • transforms/cssmatrix-2d-interface-expected.txt:
  • transforms/cssmatrix-3d-interface-expected.txt:
  • webintents/web-intents-api-expected.txt:
  • webintents/web-intents-api.html:
  • webintents/web-intents-obj-constructor-expected.txt:
  • webintents/web-intents-obj-constructor.html:
4:40 PM Changeset in webkit [134858] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

CallData.h should have correct indentation.

Rubber stamped by Mark Hahneberg.

  • runtime/CallData.h:

(JSC):

4:39 PM Changeset in webkit [134857] by jamesr@google.com
  • 2 edits in trunk/LayoutTests

Clean up some TestExpectations for tests that pass now.

  • platform/chromium/TestExpectations:
4:37 PM Changeset in webkit [134856] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

Remove methodCallDummy since it is not used anymore.

Rubber stamped by Mark Hahnenberg.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):
(JSC):
(JSC::JSGlobalObject::visitChildren):

  • runtime/JSGlobalObject.h:

(JSGlobalObject):

4:30 PM Changeset in webkit [134855] by bfulgham@webkit.org
  • 2 edits in trunk/Source/WebCore

[Win] key event's location does not work on Windows platform.
https://bugs.webkit.org/show_bug.cgi?id=89742

Patch by Takashi Sakamoto <tasak@google.com> on 2012-11-15
Reviewed by Brent Fulgham.

As WM_KEYDOWN, WM_KEYUP, WM_SYSKEYDOWN, and WM_SYSKEYUP doesn't
directly provide a virtual keycode which distinguish between left-hand
and right-hand keys. To obtain a virtual keycode, we have to look at
lparam, i.e. scancode and extended key bit. So if the given virtual
keycode is control, shift, or menu, use MapVirtualKey with scancode and
extended key bit and recreate a virtual keycode which distinguishes
between left-hand and right-hand.

No new tests, because left-hand keys, right-hand keys layout tests
have been already added.

  • platform/win/KeyEventWin.cpp:

(WebCore::windowsKeycodeWithLocation):
Use wparam and lparam to recreate a virtual keycode which distinguishes
between left-hand and right-hand if the given wparam (=virtual keycode)
is control, shift, or menu.
(WebCore):
(WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
Use the newly added function to obtain windows virtual keycode.

4:29 PM Changeset in webkit [134854] by dgrogan@chromium.org
  • 15 edits in trunk/LayoutTests

IndexedDB setVersion-removal batch 7
https://bugs.webkit.org/show_bug.cgi?id=102415

Reviewed by Tony Chang.

  • storage/indexeddb/mozilla/object-store-remove-values-expected.txt:
  • storage/indexeddb/mozilla/readyState-expected.txt:
  • storage/indexeddb/mozilla/resources/object-store-remove-values.js:
  • storage/indexeddb/mozilla/resources/readyState.js: Moved one check into shared.js, a few others around, and the check for setVersion's request.readyState==pending is deleted.
  • storage/indexeddb/mozilla/resources/versionchange-abort.js: First test I've converted that makes the initial open fail, but request.onsuccess is unhooked to not cause the whole test to fail.

(prepareDatabase):
(postAbort):

  • storage/indexeddb/mozilla/versionchange-abort-expected.txt:
  • storage/indexeddb/objectstore-basics-expected.txt:
  • storage/indexeddb/objectstore-basics-workers-expected.txt:
  • storage/indexeddb/odd-strings-expected.txt:
  • storage/indexeddb/readonly-expected.txt:
  • storage/indexeddb/resources/objectstore-basics.js:
  • storage/indexeddb/resources/odd-strings.js:
  • storage/indexeddb/resources/readonly.js: Moved the checks at the beginning to the end of the test, but everything was preserved.
  • storage/indexeddb/resources/shared.js: Moved a check from readyState to here as the readyState layout test doesn't have access to the open request before any events are fired.
4:23 PM Changeset in webkit [134853] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[BlackBerry] Don't assert when notifyAuthReceived is called with a different auth type
https://bugs.webkit.org/show_bug.cgi?id=102436

Patch by Joe Mason <jmason@rim.com> on 2012-11-15
Reviewed by Rob Buis.

The server type could change if we contact a site taking HTTP auth, through an HTTP proxy
taking auth of its own. First we get a 407 from the proxy, and then when get past the
proxy, we get a 401 from the end site - so notifyAuthReceived gets called again with auth
type Proxy instead of HTTP.

The correct thing to do when that happens is skip the "update the auth type in the
credentials" step, since these are actually new credentials and not just credentials being
reused for a different auth type on the same server.

PR 241637

  • platform/network/blackberry/NetworkJob.cpp:

(WebCore::NetworkJob::notifyAuthReceived):

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

Ignore autocomplete=off for chrome generated passwords.
https://bugs.webkit.org/show_bug.cgi?id=102426

Patch by Yue Zhang <zysxqn@google.com> on 2012-11-15
Reviewed by Adam Barth.

Record the autocomplete attribute in the web password form data,
so that we can handle autocomplete in chromium code. The
motivation/background is: we should ignore autocomplete=off field
for password forms with chrome generated passwords (has passed
security review). By handling autocomplete in chromium code we can
distinguish password forms with chrome generated passwords and
those normal password forms. Note that we haven't turned off
checking autocomplete=off in the Webkit code for now so there is
no behavior change after this CL, and we will turn off after we
make the chromium side change to be safe.

  • public/WebPasswordFormData.h:

(WebPasswordFormData):

  • src/WebPasswordFormData.cpp:
4:22 PM Changeset in webkit [134851] by schenney@chromium.org
  • 4 edits
    2 adds in trunk

mpath elements do not clear resource lists before destruction
https://bugs.webkit.org/show_bug.cgi?id=101505

Reviewed by Abhishek Arya.

Source/WebCore:

The destructor for SVGMPathElement should clear its resources before
deletion, so as not to leave hanging pointers in resource lists.

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

  • svg/SVGMPathElement.cpp:

(WebCore::SVGMPathElement::~SVGMPathElement): Add destructor that calls clearResourceReferences.
(WebCore):

  • svg/SVGMPathElement.h:

(SVGMPathElement): Add destructor.

LayoutTests:

Test that causes a mpath element to be deleted before the path that it
references.

  • svg/animations/mpath-remove-from-dependents-on-delete-crash-expected.html: Added.
  • svg/animations/mpath-remove-from-dependents-on-delete-crash.html: Added.
4:17 PM Changeset in webkit [134850] by danakj@chromium.org
  • 3 edits in trunk/Tools

[chromium] Stop using the WebCompositorSupport methods for changing settings
https://bugs.webkit.org/show_bug.cgi?id=101968

Reviewed by James Robinson.

  • DumpRenderTree/chromium/TestShell.cpp:
  • DumpRenderTree/chromium/TestShell.h:

(TestShell::setPerTilePaintingEnabled):
(TestShell::setAcceleratedAnimationEnabled):

4:16 PM Changeset in webkit [134849] by haraken@chromium.org
  • 7 edits in trunk/Source/WebCore

Remove CodeGenerator::StripModule
https://bugs.webkit.org/show_bug.cgi?id=102338

Reviewed by Adam Barth.

Now WebKit IDL files have no modules. (The Web IDL spec has no modules.)
We can remove CodeGenerator::StripModule.
This might break some internal builds if the internal builds are still
using modules. Ping haraken@ you observe it.

No tests. No change in behavior.

  • bindings/scripts/CodeGenerator.pm:

(ForAllParents):
(AttributeNameForGetterAndSetter):
(IsStrictSubtype):

  • bindings/scripts/CodeGeneratorCPP.pm:

(GetClassName):
(GetImplClassName):
(GetParentImplClassName):
(GetParent):
(ConversionNeeded):
(GetCPPTypeGetter):
(AddForwardDeclarationsForType):
(AddIncludesForType):
(GenerateImplementation):

  • bindings/scripts/CodeGeneratorGObject.pm:

(GetParentClassName):
(GetParentGObjType):
(GetClassName):

  • bindings/scripts/CodeGeneratorJS.pm:

(GetParentClassName):
(AddIncludesForTypeInImpl):
(AddIncludesForTypeInHeader):
(GenerateParametersCheckExpression):
(GenerateImplementation):
(GenerateParametersCheck):
(GetNativeTypeFromSignature):
(JSValueToNative):
(NativeToJSValue):

  • bindings/scripts/CodeGeneratorObjC.pm:

(GetClassName):
(GetImplClassName):
(GetParentImplClassName):
(GetParentAndProtocols):
(GetPropertyAttributes):
(ConversionNeeded):
(GetObjCTypeGetter):
(AddForwardDeclarationsForType):
(AddIncludesForType):
(GenerateImplementation):

  • bindings/scripts/CodeGeneratorV8.pm:

(AddIncludesForType):
(GenerateHeader):
(IsSubType):
(GenerateSingleBatchedAttribute):
(GenerateImplementation):
(BaseInterfaceName):
(GetTypeFromSignature):
(IsWrapperType):

4:16 PM Changeset in webkit [134848] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. CSS3_TEXT is not enabled on Windows.
Skipping tests:
fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last-inherited.html
fast/css3-text/css3-text-align-last/getComputedStyle/getComputedStyle-text-align-last.html
fast/css3-text/css3-text-decoration/getComputedStyle/getComputedStyle-text-decoration-line.html

  • platform/win/TestExpectations:
4:13 PM Changeset in webkit [134847] by schenney@chromium.org
  • 1 edit
    3 adds in trunk/LayoutTests

[Chromium] Test expectations - we're passing!

Unreviewed expectations for canvas-shadow.html

  • platform/chromium-linux-x86/platform/chromium/virtual/gpu/fast/canvas/canvas-shadow-expected.txt: Added.
  • platform/chromium-linux/platform/chromium/virtual/gpu/fast/canvas/canvas-shadow-expected.txt: Added.
  • platform/chromium-win-xp/platform/chromium/virtual/gpu/fast/canvas/canvas-shadow-expected.txt: Added.
4:13 PM Changeset in webkit [134846] by macpherson@chromium.org
  • 2 edits in trunk/Source/WebCore

Make assumptions about m_parentStyle consistent within StyleResolver::applyProperty()
https://bugs.webkit.org/show_bug.cgi?id=101696

Reviewed by Tony Chang.

Most of the code in StyleResolver::applyProperty assumes that isInherit implies that m_parentStyle is available.
This patch ASSERTs that this assumption is correct, and removes the few existing checks to maintain consistency.

No new tests / covered by all existing CSS tests.

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

4:12 PM Changeset in webkit [134845] by haraken@chromium.org
  • 2 edits in trunk/Source/WebCore

[V8] Remove redundant $interfaceName from function parameters
https://bugs.webkit.org/show_bug.cgi?id=102334

Reviewed by Adam Barth.

'sub func { my $dataNode = shift; my $interfaceName = shift; }'
is redundant. We can get $interfaceName by $dataNode->name.

No tests. No change in behavior.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateOpaqueRootForGC):
(GenerateHeader):
(GenerateConstructorGetter):
(GenerateNormalAttrGetter):
(GenerateReplaceableAttrSetter):
(GenerateNormalAttrSetter):
(GenerateOverloadedFunctionCallback):
(GenerateFunctionCallback):
(GenerateOverloadedConstructorCallback):
(GenerateSingleConstructorCallback):
(GenerateConstructorCallback):
(GenerateEventConstructorCallback):
(GenerateTypedArrayConstructorCallback):
(GenerateNamedConstructorCallback):
(GenerateBatchedAttributeData):
(GenerateImplementation):
(GenerateToV8Converters):
(GetNativeTypeForConversions):

4:10 PM Changeset in webkit [134844] by dgrogan@chromium.org
  • 3 edits in trunk/LayoutTests

IndexedDB: remove setVersion from intversion-long-queue
https://bugs.webkit.org/show_bug.cgi?id=102322

Reviewed by Tony Chang.

This test probably doesn't provide as much value as it used to but
tests like this, where there's a long sequence of interdependent
events, have caught stuff for us in the past. There are endless
variants that will all exercise our code differently.

  • storage/indexeddb/intversion-long-queue-expected.txt:
  • storage/indexeddb/resources/intversion-long-queue.js:

(prepareDatabase):
(connection1Success):
(connection1VersionChangeCallback):
(connection2Blocked):
(deleteDatabaseBlockedCallback):
(deleteDatabaseSuccessCallback):
(connection2UpgradeNeeded):
(connection2Success):
(connection2TransactionComplete):
(connection2VersionChangeEvent):
(connection3UpgradeNeeded):
(connection3Success):

3:46 PM Changeset in webkit [134843] by Simon Fraser
  • 3 edits in trunk/Source/WebCore

Ensure that scrollbar layers show debug borders
https://bugs.webkit.org/show_bug.cgi?id=102429

Reviewed by Anders Carlsson.

After r133517, scrollbar layers no longer showed debug borders, which
was very confusing. Fix this by explicitly calling setShowDebugBorder()
on the scrollbar-related layers owned by RenderLayerCompositor
and RenderLayerBacking.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateDebugIndicators):

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

3:43 PM Changeset in webkit [134842] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

ASSERTION FAILED: fastAttributeLookupAllowed(name) for 7 layout tests
<http://webkit.org/b/102423>

Reviewed by Anders Carlsson.

Use Element::getAttributeItem() to find out if the element has a given attribute
instead of fastHasAttribute() since that causes assertions for the "style" attribute.

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):

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

Unreviewed. More subpixel layout test rebaselines for Windows.

  • platform/win/fast/multicol/vertical-rl/float-multicol-expected.txt: Added.
  • platform/win/fast/multicol/vertical-rl/nested-columns-expected.txt: Added.
  • platform/win/scrollbars/custom-scrollbar-with-incomplete-style-expected.txt:
3:26 PM Changeset in webkit [134840] by arv@chromium.org
  • 3 edits in trunk/Source/WebCore

Update DOMException name: DOMStringSizeError
https://bugs.webkit.org/show_bug.cgi?id=102089

Reviewed by Ojan Vafai.

Patch 2 of 25 to update DOMException name to match the spec and Firefox.

DOMSTRING_SIZE_ERR is historical and not used in any spec or in our code.

  • dom/DOMCoreException.cpp:
  • dom/ExceptionCode.h:
3:24 PM Changeset in webkit [134839] by arv@chromium.org
  • 8 edits
    4 copies
    1 move
    6 adds in trunk/LayoutTests

Unreviewed gardening.

Rebaselining pixel tests after r102427

  • platform/chromium-mac-lion/svg/custom/baseval-animval-equality-expected.png:
  • platform/chromium-mac-lion/svg/custom/baseval-animval-equality-expected.txt: Copied from LayoutTests/platform/gtk/svg/custom/baseval-animval-equality-expected.txt.
  • platform/chromium-mac-lion/svg/dom/SVGLengthList-basics-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/baseval-animval-equality-expected.png:
  • platform/chromium-mac-snowleopard/svg/custom/baseval-animval-equality-expected.txt: Copied from LayoutTests/platform/gtk/svg/custom/baseval-animval-equality-expected.txt.
  • platform/chromium-mac-snowleopard/svg/dom/SVGLengthList-basics-expected.png:
  • platform/chromium-mac/svg/dom/SVGLengthList-basics-expected.png:
  • platform/chromium-win-xp/svg/custom/baseval-animval-equality-expected.png: Added.
  • platform/chromium-win-xp/svg/dom/SVGLengthList-basics-expected.png: Added.
  • platform/efl-wk1/svg/dom/SVGLengthList-basics-expected.png: Renamed from LayoutTests/platform/efl/svg/dom/SVGLengthList-basics-expected.png.
  • platform/gtk/svg/custom/baseval-animval-equality-expected.txt:
  • platform/mac-lion/svg/custom/baseval-animval-equality-expected.txt: Copied from LayoutTests/platform/gtk/svg/custom/baseval-animval-equality-expected.txt.
  • platform/mac-wk2/svg/custom/baseval-animval-equality-expected.txt: Copied from LayoutTests/platform/gtk/svg/custom/baseval-animval-equality-expected.txt.
  • platform/qt/svg/custom/baseval-animval-equality-expected.txt:
3:17 PM Changeset in webkit [134838] by jsbell@chromium.org
  • 3 edits
    2 adds in trunk

IndexedDB: Indexing tests are flaky-crashing
https://bugs.webkit.org/show_bug.cgi?id=102283

Reviewed by Tony Chang.

Source/WebCore:

Processing the final task can cause IDBTransactionBackendImpl references to be released
by all holders. Prior to looping over the tasks (or, in an even earlier implementation,
swapping queues) control would fall off the end of the function. The loop termination
check introduced in http://wkrev.com/134529 requires that |this| be kept alive until
the method completes.

Test: storage/indexeddb/transaction-crash-in-tasks.html

  • Modules/indexeddb/IDBTransactionBackendImpl.cpp:

(WebCore::IDBTransactionBackendImpl::abort): Rename self => protect.
(WebCore::IDBTransactionBackendImpl::commit): Rename self => protect.
(WebCore::IDBTransactionBackendImpl::taskTimerFired): New self-ref.

LayoutTests:

Reduced repro case, although the behavior is still flaky.

  • storage/indexeddb/transaction-crash-in-tasks-expected.txt: Added.
  • storage/indexeddb/transaction-crash-in-tasks.html: Added.
3:01 PM Changeset in webkit [134837] by commit-queue@webkit.org
  • 2 edits in trunk/Source

[chromium] Create default directory so that cq can apply patch
https://bugs.webkit.org/show_bug.cgi?id=102421

Patch by Scott Violet <sky@chromium.org> on 2012-11-15
Reviewed by Tony Chang.

Done in hopes of patch that copies files to this directory working.

Source/Platform:

  • chromium/public/default: Added.

Source/WebKit/chromium:

  • public/platform/default: Added.
2:56 PM Changeset in webkit [134836] by roger_fong@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

Unreviewed. HiDPI is not enabled on Windows (as indicated by test result). Adding failing expected result.

  • platform/win/fast/canvas/canvas-resize-reset-pixelRatio-expected.txt: Added.
2:42 PM Changeset in webkit [134835] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed. WebGL not supported on Windows. Skipping fast/images/webgl-teximage2d.html.

  • platform/win/TestExpectations:
2:27 PM Changeset in webkit [134834] by Lucas Forschler
  • 8 edits
    3 copies in branches/safari-536.28-branch

Merged r127595. <rdar://problem/12516304>

2:07 PM Changeset in webkit [134833] by danakj@chromium.org
  • 2 edits in trunk/Source/Platform

[chromium] Remove unused debug border setters from the WebLayer API
https://bugs.webkit.org/show_bug.cgi?id=102274

Reviewed by James Robinson.

  • chromium/public/WebLayer.h:

(WebLayer):

2:07 PM Changeset in webkit [134832] by jianli@chromium.org
  • 2 edits in trunk/LayoutTests

Unreviewed. Update chromium test expectations.

  • platform/chromium/TestExpectations:
2:01 PM Changeset in webkit [134831] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WTF

Merged r134797. <rdar://problem/12711314>

1:48 PM Changeset in webkit [134830] by commit-queue@webkit.org
  • 7 edits
    2 adds in trunk

MutationObserver wrapper should not be collected while still observing
https://bugs.webkit.org/show_bug.cgi?id=102328

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Adam Barth.

Source/WebCore:

Make MutationObserver an ActiveDOMObject so that the wrapper is not
collected while it is still observing the DOM. This is needed because
the wrapper is passed into the callback and expandos on the wrapper
should be preserved.

Test: fast/mutation/observer-wrapper-dropoff.html

  • bindings/js/JSMutationObserverCustom.cpp:

(WebCore::JSMutationObserverConstructor::constructJSMutationObserver):

  • bindings/v8/custom/V8MutationObserverCustom.cpp:

(WebCore::V8MutationObserver::constructorCallback):

  • dom/MutationObserver.cpp:

(WebCore::MutationObserver::create):
(WebCore::MutationObserver::MutationObserver):
(WebCore::MutationObserver::observationStarted):
(WebCore::MutationObserver::observationEnded):

  • dom/MutationObserver.h:

(WebCore):

  • dom/MutationObserver.idl:

LayoutTests:

Test that a MutationObserver wrapper is not collected while the observer
is still observing since the wrapper must be passed into the callback
later.

  • fast/mutation/observer-wrapper-dropoff-expected.txt: Added.
  • fast/mutation/observer-wrapper-dropoff.html: Added.
1:44 PM Changeset in webkit [134829] by Lucas Forschler
  • 4 edits in branches/safari-536.28-branch/Source/WebCore

Merged r134083. <rdar://problem/12673139>

1:41 PM Changeset in webkit [134828] by tony@chromium.org
  • 19 edits
    2 adds in trunk

Generate Settings from a .in file
https://bugs.webkit.org/show_bug.cgi?id=100393

Reviewed by Adam Barth.

.:

Generate SettingsMacros.h for cmake.

  • Source/cmake/WebKitMacros.cmake:

Source/WebCore:

Generate most settings from an .in file to reduce human mistakes and
to make it easier to add/remove new settings.

I only moved settings that are easy to move at this point. There are many more that
have some minor naming inconsistencies that we can also move to Settings.in, but I'll
do that in a follow up patch.

This doesn't generate SettingInternals.* yet-- we can do that in a follow up patch.

No new tests, this is a refactor.

  • CMakeLists.txt:
  • DerivedSources.make: Run make_settings.pl.
  • DerivedSources.pri: Run make_settings.pl.
  • GNUmakefile.am: Run make_settings.pl.
  • GNUmakefile.list.am:
  • WebCore.exp.in: Remove functions that are now inline in the header.
  • WebCore.gyp/WebCore.gyp: Run action_makenames.py, which will run make_settings.pl.
  • WebCore.gyp/scripts/action_makenames.py:

(main): Allow make_settings.pl.

  • WebCore.order: Remove functions that are now inline in the header.
  • html/ValidationMessage.cpp:

(WebCore::ValidationMessage::setMessageDOMAndStartTimer): Fix a typo in "magnification".

  • page/Settings.cpp:

(WebCore::Settings::Settings): Replace generated settings with SETTINGS_INITIALIZER_LIST.

  • page/Settings.h:

(Settings): Replace generated settings with SETTINGS_GETTERS_AND_SETTERS and SETTINGS_MEMBER_VARIABLES.

  • page/Settings.in: Added.
  • page/make_settings.pl: Added.

(defaultItemFactory):
(generateCode):
(generateHeader): Use a similar model as make_names.pl.
(printConditionalMacros):
(printGettersAndSetters):
(printMemberVariables):
(printGetterAndSetter):
(printInitializerList):
(printInitializer):

Tools:

Add the generated WebCore files to the include dir.

  • TestWebKitAPI/CMakeLists.txt:
  • WebKitTestRunner/CMakeLists.txt:
1:38 PM Changeset in webkit [134827] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WebKit/mac

Merged r133977. <rdar://problem/12674097>

1:36 PM Changeset in webkit [134826] by Lucas Forschler
  • 2 edits in branches/safari-536.28-branch/Source/WebCore

Merged r130449. <rdar://problem/12536387>

1:34 PM Changeset in webkit [134825] by dgrogan@chromium.org
  • 2 edits
    1 move
    2 adds
    2 deletes in trunk/LayoutTests

IndexedDB: setVersion test conversion batch 6
https://bugs.webkit.org/show_bug.cgi?id=102318

Reviewed by Tony Chang.

Salvaged the useful parts of intversion-and-setversion as
intversion-upgrades.

  • storage/indexeddb/intversion-and-setversion-expected.txt: Removed.
  • storage/indexeddb/intversion-upgrades-expected.txt: Added.
  • storage/indexeddb/intversion-upgrades.html: Renamed from LayoutTests/storage/indexeddb/intversion-and-setversion.html.
  • storage/indexeddb/resources/intversion-and-setversion.js: Removed.
  • storage/indexeddb/resources/intversion-upgrades.js: Added.

(test):
(deleteSuccess):
(initialUpgradeNeeded):
(openSuccess):
(connection1VersionChangeCallback):
(connection2BlockedCallback):
(connection2UpgradeNeeded):
(transactionCompleted):
(connection2Success):
(connection3Success):
(errorWhenTryingLowVersion):
(connection4UpgradeNeeded):
(connection4Success):
(connection5Success):

  • storage/indexeddb/resources/shared.js:

(unexpectedVersionChangeCallback):

1:25 PM Changeset in webkit [134824] by roger_fong@apple.com
  • 2 edits in trunk/Tools

Make old-run-webkit-tests handle setting the results directory properly.
https://bugs.webkit.org/show_bug.cgi?id=102273
<rdar://problem/11571607>

Reviewed by Timothy Horton.

A call to chdirWebkit in old-run-webkit-tests set the current working directory to the OpenSource folder.
Thus setting --results-directory to OpenSource/layout-test-results would create OpenSource/layout-test-results inside the main OpenSource folder.
This caused many other problems including failure to upload test results and failed future test runs.
The solution is to save the current working directory before calling chdirWebKit and then reconstructing the full path to the results directory
using the saved directory when setting $testResultsDirectory.

  • Scripts/old-run-webkit-tests:
1:13 PM FeatureFlags edited by rbyers@chromium.org
(diff)
12:58 PM Changeset in webkit [134823] by Lucas Forschler
  • 1 copy in tags/Safari-536.27.3

New Tag.

12:57 PM Changeset in webkit [134822] by hclam@chromium.org
  • 8 edits in trunk/Source/WebCore

[chromium] Refactoring to move logic of creating lazy decoded SkBitmap into DeferredImageDecoder
https://bugs.webkit.org/show_bug.cgi?id=102019

Reviewed by Stephen White.

Goal of this change is to keep ImageDecodingStore clean and only do
image caching. Logic of creating lazily decoded SkBitmaps is moved into
DeferredImageDecoder.

In particular these two methods are moved:

  • ImageDecodingStore::createLazyDecodedSkBitmap
  • ImageDecodingStore::resizeLazyDecodedSkBitmap

No new tests. There is no new code (really). It is just moved from
ImageDecodingStore to DeferredImageDecoder.

No change in behavior. Code is tested with:
Unit tests: webkit_unit_tests
Layout test: platform/chromium/virtual/deferred

  • platform/graphics/chromium/DeferredImageDecoder.cpp:

(WebCore::DeferredImageDecoder::isLazyDecoded):
(WebCore):
(WebCore::DeferredImageDecoder::resizeLazyDecodedSkBitmap):
(WebCore::DeferredImageDecoder::frameBufferAtIndex):
(WebCore::DeferredImageDecoder::setData):
(WebCore::DeferredImageDecoder::createLazyDecodedSkBitmap):

  • platform/graphics/chromium/DeferredImageDecoder.h:

(WebCore):
(DeferredImageDecoder):

  • platform/graphics/chromium/ImageDecodingStore.cpp:
  • platform/graphics/chromium/ImageDecodingStore.h:

(ImageDecodingStore):

  • platform/graphics/chromium/ImageFrameGenerator.cpp:

(WebCore::ImageFrameGenerator::ImageFrameGenerator):

  • platform/graphics/chromium/ImageFrameGenerator.h:

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

  • platform/graphics/skia/NativeImageSkia.cpp:

(WebCore::NativeImageSkia::resizedBitmap):

12:57 PM Changeset in webkit [134821] by Lucas Forschler
  • 2 edits in branches/safari-536.27-branch/Source/WTF

Merged r134797 -> <rdar://problem/12711308>

12:55 PM Changeset in webkit [134820] by andersca@apple.com
  • 9 edits in trunk/Source/WebKit2

Consolidate four accelerated compositing WKView methods into a single method
https://bugs.webkit.org/show_bug.cgi?id=102419

Reviewed by Andreas Kling.

Add a single -[WKView _setAcceleratedCompositingModeRootLayer:] method and have
the existing PageClientImpl member functions call it. Also, add a new
PageClient member function, setAcceleratedCompositingRootLayer.

  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::enterAcceleratedCompositingMode):
(WebKit::PageClientImpl::exitAcceleratedCompositingMode):
(WebKit::PageClientImpl::updateAcceleratedCompositingMode):
(WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):

  • UIProcess/API/mac/WKView.mm:

(-[WKView _processDidCrash]):
(-[WKView _setAcceleratedCompositingModeRootLayer:]):

  • UIProcess/API/mac/WKViewInternal.h:
  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/mac/RemoteLayerTreeHost.mm:

(WebKit::RemoteLayerTreeHost::commit):

  • UIProcess/mac/WebPageProxyMac.mm:

(WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):

12:54 PM Changeset in webkit [134819] by dgrogan@chromium.org
  • 15 edits in trunk/LayoutTests

IndexedDB test conversions batch 5
https://bugs.webkit.org/show_bug.cgi?id=102308

Reviewed by Tony Chang.

  • storage/indexeddb/mozilla/cursor-update-updates-indexes-expected.txt:
  • storage/indexeddb/mozilla/event-source-expected.txt:
  • storage/indexeddb/mozilla/global-data-expected.txt:
  • storage/indexeddb/mozilla/key-requirements-put-null-key-expected.txt:
  • storage/indexeddb/mozilla/odd-result-order-expected.txt:
  • storage/indexeddb/mozilla/remove-objectstore-expected.txt:
  • storage/indexeddb/mozilla/resources/cursor-update-updates-indexes.js: Calls indexedDBTest a bunch of times, which seems awkward, but is really convenient.
  • storage/indexeddb/mozilla/resources/event-source.js: Now that setVersion is gone, it appears that no request should have a database as a source so the dropped test is ok.
  • storage/indexeddb/mozilla/resources/global-data.js:

(prepareDatabase):
(open2Success):

  • storage/indexeddb/mozilla/resources/key-requirements-put-null-key.js:

(prepareDatabase):

  • storage/indexeddb/mozilla/resources/odd-result-order.js: The tests had to be run in slightly different order but they are all preserved.

(prepareDatabase):
(openSuccess):
(deleteSuccess):

  • storage/indexeddb/mozilla/resources/remove-objectstore.js:

(prepareDatabase):
(checkObjectStore):
(inSetVersion2.request.onsuccess):
(inSetVersion2):
(setVersion3):
(inSetVersion3):
(deleteThirdObjectStore):

  • storage/indexeddb/objectstore-removeobjectstore-expected.txt:
  • storage/indexeddb/resources/objectstore-removeobjectstore.js:

(getValue):
(checkResult):
(addIndex):
(deleteObjectStore):
(createObjectStoreAgain):

12:54 PM Changeset in webkit [134818] by roger_fong@apple.com
  • 3 edits in trunk/Source/WebCore

Unreviewed. Build fix for Windows after r134767.

Update vsprops and vcproj files to reflect changes to file locations in r134767.

  • WebCore.vcproj/WebCore.vcproj:
  • WebCore.vcproj/WebCoreCommon.vsprops:
12:38 PM Changeset in webkit [134817] by commit-queue@webkit.org
  • 8 edits in trunk/Source/WebCore

Track subframe count to avoid traversing the tree when there's no subframes
https://bugs.webkit.org/show_bug.cgi?id=101821

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Ojan Vafai.

Bug 101619 showed a 9-14% improvement from not walking the children during
removeChild looking for frames when there's known to be no frames. The fix
in that bug only avoids this walk when the whole document has no frames, this
patch extends it to skip traversing subtrees that have no iframes by hooking
the frame assignment to walk up the tree and keep track of the count of frames
in the subtree on contentFrame assignment and then decrement it on disconnect.

No new tests, this is just a perf refactor.

  • dom/ContainerNode.cpp:

(WebCore::willRemoveChildren):

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::ChildFrameDisconnector::collectFrameOwners):

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
(ChildFrameDisconnector):
(WebCore::ChildFrameDisconnector::collectFrameOwners):

Renamed from collectDescendant() to better reflect what it really does.

(WebCore::ChildFrameDisconnector::disconnectCollectedFrameOwners):

Renamed from disconnect() to better reflect what it really does.

(WebCore::ChildFrameDisconnector::disconnect):

New method that does the collection of frame owners on either the root
or only it's descendants.

  • dom/Node.cpp:

(WebCore::Node::connectedSubframeCount):
(WebCore::Node::incrementConnectedSubframeCount):
(WebCore::Node::decrementConnectedSubframeCount):

  • dom/Node.h:
  • dom/NodeRareData.h:

(WebCore::NodeRareData::NodeRareData):
(WebCore::NodeRareData::connectedSubframeCount):
(WebCore::NodeRareData::incrementConnectedSubframeCount):
(WebCore::NodeRareData::decrementConnectedSubframeCount):

  • html/HTMLFrameOwnerElement.cpp:

(WebCore::HTMLFrameOwnerElement::setContentFrame):
(WebCore::HTMLFrameOwnerElement::disconnectContentFrame):

12:35 PM Changeset in webkit [134816] by hclam@chromium.org
  • 3 edits
    2 adds in trunk

[chromium] WebGL texImage2D fails with deferred image decoding
https://bugs.webkit.org/show_bug.cgi?id=102310

Reviewed by Kenneth Russell.

Source/WebCore:

Skia's implementation of GraphicsContext3D::getImageData() uses ImageSource
to decode an image. When deferred image decoding is enabled this class
generates an ImageFrame marked as incomplete, which WebGL rejects. This results
in failing of texImage2D.

This change uses ImageDecoder directly instead of ImageSource. This skips
the code path of deferred image decoding. This behavior is correct because
GraphicsContext3D wants to decode the image differently with alpha not
premultiplied and color profile applied optionally.

Added a test to prove this change fixed the bug.

Test: fast/images/webgl-teximage2d.html

  • platform/graphics/skia/GraphicsContext3DSkia.cpp:

(WebCore::GraphicsContext3D::getImageData):

LayoutTests:

Added a test to exercise texImage2D with an Image object.

  • fast/images/webgl-teximage2d-expected.txt: Added.
  • fast/images/webgl-teximage2d.html: Added.
12:34 PM Changeset in webkit [134815] by schenney@chromium.org
  • 55 edits
    41 adds
    22 deletes in trunk/LayoutTests

Test rebaselines after SK_IGNORE_FAST_BLURRECT has been removed

Unreviewed test expectations update.

  • fast/box-shadow/single-pixel-shadow-expected.png: Added.
  • platform/chromium-linux-x86/fast/box-shadow: Removed.
  • platform/chromium-linux-x86/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
  • platform/chromium-linux-x86/fast/repaint/transform-replaced-shadows-expected.png: Added.
  • platform/chromium-linux-x86/svg/filters/shadow-on-rect-with-filter-expected.png:
  • platform/chromium-linux/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
  • platform/chromium-linux/fast/repaint/shadow-multiple-horizontal-expected.png:
  • platform/chromium-linux/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
  • platform/chromium-linux/fast/repaint/shadow-multiple-strict-vertical-expected.png:
  • platform/chromium-linux/fast/repaint/transform-replaced-shadows-expected.png: Added.
  • platform/chromium-mac-lion/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac-lion/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-mac-lion/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-mac-lion/fast/canvas/canvas-incremental-repaint-expected.png:
  • platform/chromium-mac-lion/fast/repaint/box-shadow-h-expected.png:
  • platform/chromium-mac-lion/fast/repaint/box-shadow-v-expected.png:
  • platform/chromium-mac-lion/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
  • platform/chromium-mac-lion/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
  • platform/chromium-mac-lion/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
  • platform/chromium-mac-lion/fast/repaint/shadow-multiple-vertical-expected.png:
  • platform/chromium-mac-lion/fast/repaint/transform-replaced-shadows-expected.png: Added.
  • platform/chromium-mac-lion/fast/transforms/shadows-expected.png:
  • platform/chromium-mac-lion/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac-lion/svg/css/group-with-shadow-expected.png:
  • platform/chromium-mac-lion/svg/filters/shadow-on-rect-with-filter-expected.png: Added.
  • platform/chromium-mac-snowleopard/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac-snowleopard/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-mac-snowleopard/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-mac-snowleopard/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
  • platform/chromium-mac-snowleopard/fast/repaint/box-shadow-h-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/box-shadow-v-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-horizontal-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-strict-vertical-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/shadow-multiple-vertical-expected.png:
  • platform/chromium-mac-snowleopard/fast/repaint/transform-replaced-shadows-expected.png: Added.
  • platform/chromium-mac-snowleopard/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac-snowleopard/svg/filters/shadow-on-rect-with-filter-expected.png:
  • platform/chromium-mac/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-mac/fast/box-shadow/box-shadow-clipped-slices-expected.png:
  • platform/chromium-mac/fast/box-shadow/box-shadow-radius-expected.png:
  • platform/chromium-mac/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-mac/fast/box-shadow/scaled-box-shadow-expected.png:
  • platform/chromium-mac/fast/box-shadow/single-pixel-shadow-expected.png:
  • platform/chromium-mac/fast/canvas/canvas-incremental-repaint-expected.png:
  • platform/chromium-mac/fast/canvas/canvas-shadow-expected.txt: Removed.
  • platform/chromium-mac/fast/repaint/box-shadow-h-expected.png:
  • platform/chromium-mac/fast/repaint/box-shadow-v-expected.png:
  • platform/chromium-mac/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
  • platform/chromium-mac/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
  • platform/chromium-mac/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
  • platform/chromium-mac/fast/repaint/shadow-multiple-vertical-expected.png:
  • platform/chromium-mac/fast/repaint/transform-replaced-shadows-expected.png: Added.
  • platform/chromium-mac/fast/transforms/shadows-expected.png:
  • platform/chromium-mac/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-mac/svg/css/group-with-shadow-expected.png:
  • platform/chromium-mac/svg/filters/shadow-on-rect-with-filter-expected.png:
  • platform/chromium-win-xp/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-win-xp/fast/box-shadow: Removed.
  • platform/chromium-win-xp/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
  • platform/chromium-win-xp/fast/repaint/box-shadow-h-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/box-shadow-v-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/shadow-multiple-vertical-expected.png: Added.
  • platform/chromium-win-xp/fast/repaint/transform-replaced-shadows-expected.png: Added.
  • platform/chromium-win-xp/fast/transforms/shadows-expected.png: Added.
  • platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/shadows: Added.
  • platform/chromium-win-xp/platform/chromium/virtual/softwarecompositing/shadows/shadow-drawing-expected.png: Added.
  • platform/chromium-win-xp/svg/css/group-with-shadow-expected.png:
  • platform/chromium-win-xp/svg/filters/shadow-on-rect-with-filter-expected.png:
  • platform/chromium-win/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-win/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-win/fast/box-shadow/box-shadow-clipped-slices-expected.png:
  • platform/chromium-win/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-win/fast/box-shadow/single-pixel-shadow-expected.png:
  • platform/chromium-win/fast/canvas/canvas-incremental-repaint-expected.png:
  • platform/chromium-win/fast/canvas/canvas-shadow-expected.txt: Added.
  • platform/chromium-win/fast/repaint/shadow-multiple-horizontal-expected.png:
  • platform/chromium-win/fast/repaint/shadow-multiple-strict-horizontal-expected.png:
  • platform/chromium-win/fast/repaint/shadow-multiple-strict-vertical-expected.png:
  • platform/chromium-win/fast/repaint/transform-replaced-shadows-expected.png:
  • platform/chromium/TestExpectations:
  • platform/chromium/fast/repaint/shadow-multiple-horizontal-expected.png: Removed.
  • platform/chromium/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Removed.
  • platform/chromium/fast/repaint/shadow-multiple-strict-vertical-expected.png: Removed.
  • platform/efl-wk1/compositing/shadows: Added.
  • platform/efl-wk1/compositing/shadows/shadow-drawing-expected.png: Added.
  • platform/efl-wk1/fast/box-shadow: Added.
  • platform/efl-wk1/fast/box-shadow/basic-shadows-expected.png: Added.
  • platform/efl-wk1/fast/box-shadow/box-shadow-clipped-slices-expected.png: Added.
  • platform/efl-wk1/fast/box-shadow/box-shadow-transformed-expected.png: Added.
  • platform/efl-wk1/fast/box-shadow/scaled-box-shadow-expected.png: Added.
  • platform/efl-wk1/fast/canvas: Added.
  • platform/efl-wk1/fast/canvas/canvas-incremental-repaint-expected.png: Added.
  • platform/efl-wk1/fast/repaint/shadow-multiple-horizontal-expected.png: Added.
  • platform/efl-wk1/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Added.
  • platform/efl-wk1/fast/repaint/shadow-multiple-strict-vertical-expected.png: Added.
  • platform/efl-wk1/fast/repaint/shadow-multiple-vertical-expected.png: Added.
  • platform/efl-wk1/fast/transforms: Added.
  • platform/efl-wk1/fast/transforms/shadows-expected.png: Added.
  • platform/efl-wk1/svg/css: Added.
  • platform/efl-wk1/svg/css/group-with-shadow-expected.png: Added.
  • platform/efl/compositing/shadows/shadow-drawing-expected.png: Removed.
  • platform/efl/fast/box-shadow/basic-shadows-expected.png: Removed.
  • platform/efl/fast/box-shadow/box-shadow-clipped-slices-expected.png: Removed.
  • platform/efl/fast/box-shadow/box-shadow-transformed-expected.png: Removed.
  • platform/efl/fast/box-shadow/scaled-box-shadow-expected.png: Removed.
  • platform/efl/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
  • platform/efl/fast/canvas/canvas-incremental-repaint-expected.png: Removed.
  • platform/efl/fast/repaint/shadow-multiple-horizontal-expected.png: Removed.
  • platform/efl/fast/repaint/shadow-multiple-strict-horizontal-expected.png: Removed.
  • platform/efl/fast/repaint/shadow-multiple-strict-vertical-expected.png: Removed.
  • platform/efl/fast/repaint/shadow-multiple-vertical-expected.png: Removed.
  • platform/efl/fast/transforms/shadows-expected.png: Removed.
  • platform/efl/svg/css/group-with-shadow-expected.png: Removed.
  • platform/gtk/fast/box-shadow/single-pixel-shadow-expected.png: Removed.
12:29 PM Changeset in webkit [134814] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Further unreviewed build fix. Add explicit static_casts to avoid implicit precision warnings.

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:

(WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource):

12:20 PM Changeset in webkit [134813] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Structure should be able to easily tell if the prototype chain might intercept a store
https://bugs.webkit.org/show_bug.cgi?id=102326

Reviewed by Geoffrey Garen.

This improves our ability to reason about the correctness of the more optimized
prototype chain walk in JSObject::put(), while also making it straight forward to
check if the prototype chain will do strange things to a property store by just
looking at the structure.

  • runtime/JSObject.cpp:

(JSC::JSObject::put):

  • runtime/Structure.cpp:

(JSC::Structure::prototypeChainMayInterceptStoreTo):
(JSC):

  • runtime/Structure.h:

(Structure):

12:04 PM Changeset in webkit [134812] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix. Avoid implicit precision and unused parameter warnings.

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:

(WebCore::WebCoreAVFResourceLoader::responseReceived):
(WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource):

12:01 PM Changeset in webkit [134811] by abarth@webkit.org
  • 13 edits in trunk/Source/WebCore

[V8] We shouldn't call deprecated V8 APIs
https://bugs.webkit.org/show_bug.cgi?id=102407

Reviewed by Eric Seidel.

This patch was written by Sven Panne on the V8 team. He would prefer
that we not call deprecated V8 APIs. This patch updates these call
sites to more modern idioms.

  • bindings/scripts/CodeGeneratorV8.pm:

(GenerateConstructorGetter):
(GenerateImplementation):

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

(WebCore::TestObjV8Internal::TestObjConstructorGetter):

  • bindings/v8/PageScriptDebugServer.cpp:

(WebCore::PageScriptDebugServer::addListener):

  • bindings/v8/ScriptController.cpp:

(WebCore::ScriptController::setContextDebugId):
(WebCore::ScriptController::contextDebugId):

  • bindings/v8/ScriptProfiler.cpp:

(WebCore::ScriptProfiler::objectByHeapObjectId):

  • This code doesn't seem to do anything anymore.
  • bindings/v8/V8DOMConfiguration.h:

(WebCore::V8DOMConfiguration::configureAttribute):

  • bindings/v8/V8DOMWindowShell.cpp:

(WebCore::setInjectedScriptContextDebugId):

  • bindings/v8/V8DOMWrapper.cpp:

(WebCore::V8DOMWrapper::maybeDOMWrapper):
(WebCore::V8DOMWrapper::isWrapperOfType):

  • bindings/v8/V8EventListenerList.h:

(WebCore::V8EventListenerList::doFindWrapper):
(WebCore::V8EventListenerList::findOrCreateWrapper):

  • bindings/v8/WorkerContextExecutionProxy.cpp:

(WebCore::WorkerContextExecutionProxy::initializeIfNeeded):

  • bindings/v8/WrapperTypeInfo.h:

(WebCore::WrapperTypeInfo::unwrap):

11:59 AM Changeset in webkit [134810] by commit-queue@webkit.org
  • 18 edits in trunk

Unreviewed, rolling out r134800 and r134805.
http://trac.webkit.org/changeset/134800
http://trac.webkit.org/changeset/134805
https://bugs.webkit.org/show_bug.cgi?id=102417

This patch broke chromium port (Requested by jianli on
#webkit).

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

Source/Platform:

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

(WebRTCPeerConnectionHandlerClient):

Source/WebCore:

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):
(WebCore::RTCPeerConnection::setLocalDescription):
(WebCore::RTCPeerConnection::localDescription):
(WebCore::RTCPeerConnection::setRemoteDescription):
(WebCore::RTCPeerConnection::remoteDescription):
(WebCore::RTCPeerConnection::updateIce):
(WebCore::RTCPeerConnection::addIceCandidate):
(WebCore::RTCPeerConnection::readyState):
(WebCore::RTCPeerConnection::iceState):
(WebCore::RTCPeerConnection::addStream):
(WebCore::RTCPeerConnection::close):
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::changeReadyState):
(WebCore::RTCPeerConnection::scheduledEventTimerFired):

  • Modules/mediastream/RTCPeerConnection.h:

(RTCPeerConnection):

  • Modules/mediastream/RTCPeerConnection.idl:
  • dom/EventNames.h:

(WebCore):

  • platform/mediastream/RTCDataChannelDescriptor.cpp:

(WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor):
(WebCore::RTCDataChannelDescriptor::readyStateChanged):

  • platform/mediastream/RTCPeerConnectionHandlerClient.h:

(RTCPeerConnectionHandlerClient):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:
  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(RTCPeerConnectionHandlerChromium):

Source/WebKit/chromium:

  • src/AssertMatchingEnums.cpp:

Tools:

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:

(MockWebRTCPeerConnectionHandler::openDataChannel):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-datachannel-expected.txt:
  • fast/mediastream/RTCPeerConnection-datachannel.html:
11:57 AM Changeset in webkit [134809] by commit-queue@webkit.org
  • 4 edits in trunk/Source

[chromium] Do not mark an event (mouse wheel, scroll update) as handled if nothing was scrolled.
https://bugs.webkit.org/show_bug.cgi?id=102246

Patch by Sadrul Habib Chowdhury <sadrul@chromium.org> on 2012-11-15
Reviewed by James Robinson.

  • src/WebCompositorInputHandlerImpl.cpp:

(WebKit::WebCompositorInputHandlerImpl::handleInputEventInternal):

  • tests/WebCompositorInputHandlerImplTest.cpp:

(MockWebInputHandlerClient):
(WebKit::TEST_F):

11:56 AM Changeset in webkit [134808] by Lucas Forschler
  • 1 edit in branches/safari-536.28-branch/LayoutTests/ChangeLog

Remove trailing .'s from ChangeLog.

11:55 AM Changeset in webkit [134807] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Animate changes to viewport due to input focus changes.
https://bugs.webkit.org/show_bug.cgi?id=102410

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

When changing scroll position or zoom level for input field focus,
animate the change.
Internal PR 231937

Internally reviewed by Mike Fenton.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):

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

Remove Node::aboutToUnload and be more explicit about what it was for
https://bugs.webkit.org/show_bug.cgi?id=102357

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Ryosuke Niwa.

Node::aboutToUnload was confusingly named because it was only called on
the focused node, and it really only existed to support notifying the
embedder that inputs should stop being editable on unload. Instead add
a new method to HTMLInputElement that ends editing and call that
explicitly in the FrameLoader so it's clear what this is about.

No new tests, this is just a refactoring.

  • dom/Node.h:
  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::endEditing):

New method that handles finishing editing.

  • html/HTMLInputElement.h:

(HTMLInputElement):

  • html/TextFieldInputType.cpp:

(WebCore::TextFieldInputType::handleBlurEvent):

Use the new method to reduce code duplication.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::stopLoading):

Be explicit about what this check was for.

11:22 AM Changeset in webkit [134805] by tommyw@google.com
  • 11 edits in trunk

[chromium] MediaStream API: Add missing WebRTCPeerConnectionHandlerClient::didAddRemoteDataChannel
https://bugs.webkit.org/show_bug.cgi?id=102386

Reviewed by Adam Barth.

Source/Platform:

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

(WebRTCPeerConnectionHandlerClient):

Source/WebCore:

Existing tests expanded to cover patch.

  • platform/mediastream/RTCDataChannelDescriptor.cpp:

(WebCore::RTCDataChannelDescriptor::RTCDataChannelDescriptor):
(WebCore::RTCDataChannelDescriptor::readyStateChanged):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:

(WebCore::RTCPeerConnectionHandlerChromium::didAddRemoteDataChannel):
(WebCore):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(WebKit):
(RTCPeerConnectionHandlerChromium):

Tools:

Adding mock data channel functionality.

  • DumpRenderTree/chromium/MockWebRTCPeerConnectionHandler.cpp:

(MockWebRTCPeerConnectionHandler::openDataChannel):

LayoutTests:

  • fast/mediastream/RTCPeerConnection-datachannel.html:
  • fast/mediastream/RTCPeerConnection-datachannel-expected.txt:
11:20 AM Changeset in webkit [134804] by Lucas Forschler
  • 5 edits in branches/safari-536.28-branch/Source

Remove trailing .'s from ChangeLogs.

11:15 AM Changeset in webkit [134803] by commit-queue@webkit.org
  • 14 edits
    2 adds in trunk

No tests for changing mouse cursors
https://bugs.webkit.org/show_bug.cgi?id=100550

Patch by Rick Byers <rbyers@chromium.org> on 2012-11-15
Reviewed by Brent Fulgham.

.:

Add necessary exports for Internals::getCurrentCursorInfo

  • Source/autotools/symbols.filter:

Source/WebCore:

Add infrastructure to keep track of the last set mouse cursor,
and then to query it from DumpRenderTree. Also adds ASSERTs to help ensure
we can reliably detect when an uninitialized Cursor object is used (such as
the one that can be returned from OptionalCursor in the NoCursorChange scenario).

Test: fast/events/mouse-cursor.html

  • WebCore.exp.in: Add Cursor copy ctor export
  • page/EventHandler.cpp:

(WebCore::OptionalCursor::cursor):
(WebCore::EventHandler::handleMouseMoveEvent): Keep track of last set mouse cursor

  • page/EventHandler.h:

(WebCore::EventHandler::currentMouseCursor): New getter for last set mouse cursor

  • platform/Cursor.h:

(WebCore::Cursor::Cursor): Mark uninitialized cursor types as invalid.
(WebCore::Cursor::type): Assert cursor type is valid.

  • testing/Internals.cpp:

(WebCore::cursorTypeToString): Helper to convert cursor type to enum
(WebCore):
(WebCore::Internals::getCurrentCursorInfo): New function to return a string describing the last set mouse cursor

  • testing/Internals.h: Declare getCurrentCursorInfo
  • testing/Internals.idl: Declare getCurrentCursorInfo

Source/WebKit2:

Add necessary exports for Internals::getCurrentCursorInfo

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

LayoutTests:

Add a simple test covering the basic scenarios of changing a mouse
cursor with CSS. This includes most of the cases currently covered
by ManualTests/*cursor*.

  • fast/events/mouse-cursor-expected.txt: Added.
  • fast/events/mouse-cursor.html: Added.
11:08 AM Changeset in webkit [134802] by jer.noble@apple.com
  • 12 edits
    4 adds in trunk

Support loading of blob URLs in AVFoundation.
https://bugs.webkit.org/show_bug.cgi?id=102182

Reviewed by Eric Carlson.

Source/WebCore:

Add support for BLOB (and other non-natively supported schemed) URLs through the AVAssetResourceLoader API.

Test: media/video-src-blob.html

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource): Only go down the encrypted

media path if the key scheme is skp://.

(WebCore::MediaPlayerPrivateAVFoundationObjC::didCancelLoadingRequest): Added. Cancel resource loading if

the media engine requests it.

(WebCore::MediaPlayerPrivateAVFoundationObjC::addKey): Use the new, non-deprecated API.

Use the dispatch_main_queue() as the AVAssetResourceLoadDelegate queue now that <rdar://problem/12362461> is fixed.

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:

(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(-[WebCoreAVFLoaderDelegate resourceLoader:shouldWaitForLoadingOfRequestedResource:]):
(-[WebCoreAVFLoaderDelegate resourceLoader:didCancelLoadingRequest:]):

Add a new helper class to manage loading the CachedRawResource and feed the incoming
data to the AVAssetResourceLoader.

  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h: Added.
  • platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm: Added.

(WebCore::WebCoreAVFResourceLoader::create): Simple factory.
(WebCore::WebCoreAVFResourceLoader::WebCoreAVFResourceLoader): Simple constructor.
(WebCore::WebCoreAVFResourceLoader::~WebCoreAVFResourceLoader): Simple destructor.
(WebCore::WebCoreAVFResourceLoader::startLoading): Tell the cachedResourceLoader to schedule loading.
(WebCore::WebCoreAVFResourceLoader::stopLoading): Remove this as a client of the resource.
(WebCore::WebCoreAVFResourceLoader::responseReceived): Fill in the contentInformation field of the

AVAssetResourceLoadingRequest.

(WebCore::WebCoreAVFResourceLoader::dataReceived): Call fulfillRequestWithResource.
(WebCore::WebCoreAVFResourceLoader::notifyFinished): Tell the AVAssetResourceLoadingRequest that loading

has completed.

(WebCore::WebCoreAVFResourceLoader::fulfillRequestWithResource): Fill in (if possible) the dataRequest

field of the AVAssetResourceLoadingRequest.

Add a MediaPlayerClient method allowing MediaPlayerPrivate subclasses to access the HTMLMediaElement's
document's cachedResourceLoader.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::mediaPlayerCachedResourceLoader):

  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::cachedResourceLoader):

  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerCachedResourceLoader):

Add a convenience method to convert from MIME type -> UTI.

  • platform/network/mac/UTIUtilities.h:
  • platform/network/mac/UTIUtilities.mm:

(WebCore::UTIFromMIMEType):

Add new files to project.

  • WebCore.xcodeproj/project.pbxproj:

LayoutTests:

Add a new test which verifies blob url support in video elements.

  • media/video-src-blob-expected.txt: Added.
  • media/video-src-blob.html: Added.
  • platform/mac/TestExpectations: Add expected failure results for OSX releases where

custom media loading is not supported.

11:06 AM Changeset in webkit [134801] by kenneth@webkit.org
  • 6 edits in trunk/Source

Remove initiallyFitToViewport attribute
https://bugs.webkit.org/show_bug.cgi?id=102392

Reviewed by Noam Rosenthal.

Remove the initiallyFitToViewport which shouldn't have been
added in the first place. We now reset userScalable to auto (-1)
in case it was not explicitly set by the web author.

Same behavior, covered by existing tests.

Source/WebCore:

  • dom/ViewportArguments.cpp:

(WebCore::ViewportArguments::resolve):

  • dom/ViewportArguments.h:

(ViewportAttributes):

Source/WebKit2:

  • UIProcess/PageViewportController.cpp:

(WebKit::PageViewportController::PageViewportController):
(WebKit::PageViewportController::pageTransitionViewportReady):

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::sendViewportAttributesChanged):

11:01 AM Changeset in webkit [134800] by tommyw@google.com
  • 12 edits in trunk/Source

MediaStream API: Update RTCPeerConnection states to match the latest editors draft
https://bugs.webkit.org/show_bug.cgi?id=102382

Reviewed by Adam Barth.

Source/Platform:

Adding a callback for the new RTCPeerConnection::iceGatheringState.

  • chromium/public/WebRTCPeerConnectionHandlerClient.h:

(WebKit::WebRTCPeerConnectionHandlerClient::didChangeICEGatheringState):

Source/WebCore:

Updating readyState & iceState, and adding iceGatheringState.
Also safeguarding the event timer callback.

Patch covered by existing tests.

  • Modules/mediastream/RTCPeerConnection.cpp:

(WebCore::RTCPeerConnection::RTCPeerConnection):
(WebCore::RTCPeerConnection::createOffer):
(WebCore::RTCPeerConnection::createAnswer):
(WebCore::RTCPeerConnection::setLocalDescription):
(WebCore::RTCPeerConnection::localDescription):
(WebCore::RTCPeerConnection::setRemoteDescription):
(WebCore::RTCPeerConnection::remoteDescription):
(WebCore::RTCPeerConnection::updateIce):
(WebCore::RTCPeerConnection::addIceCandidate):
(WebCore::RTCPeerConnection::readyState):
(WebCore::RTCPeerConnection::iceGatheringState):
(WebCore):
(WebCore::RTCPeerConnection::iceState):
(WebCore::RTCPeerConnection::addStream):
(WebCore::RTCPeerConnection::close):
(WebCore::RTCPeerConnection::didChangeIceGatheringState):
(WebCore::RTCPeerConnection::stop):
(WebCore::RTCPeerConnection::changeReadyState):
(WebCore::RTCPeerConnection::scheduledEventTimerFired):

  • Modules/mediastream/RTCPeerConnection.h:

(RTCPeerConnection):

  • Modules/mediastream/RTCPeerConnection.idl:
  • dom/EventNames.h:

(WebCore):

  • platform/mediastream/RTCPeerConnectionHandlerClient.h:

(RTCPeerConnectionHandlerClient):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.cpp:

(WebCore::RTCPeerConnectionHandlerChromium::didChangeICEGatheringState):
(WebCore):

  • platform/mediastream/chromium/RTCPeerConnectionHandlerChromium.h:

(RTCPeerConnectionHandlerChromium):

Source/WebKit/chromium:

Updating readyState & iceState, and adding iceGatheringState.

  • src/AssertMatchingEnums.cpp:
11:00 AM Changeset in webkit [134799] by commit-queue@webkit.org
  • 16 edits in trunk

Unreviewed, rolling out r134649 and r134665.
http://trac.webkit.org/changeset/134649
http://trac.webkit.org/changeset/134665
https://bugs.webkit.org/show_bug.cgi?id=102413

Broke a ton of downstream chromium tests (Requested by japhet
on #webkit).

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

Source/WebCore:

  • loader/DocumentLoader.cpp:

(WebCore::DocumentLoader::DocumentLoader):
(WebCore::DocumentLoader::~DocumentLoader):
(WebCore::DocumentLoader::finishedLoading):
(WebCore::DocumentLoader::clearMainResourceLoader):
(WebCore::DocumentLoader::isLoadingInAPISense):
(WebCore::DocumentLoader::documentURL):
(WebCore::DocumentLoader::isLoadingMainResource):
(WebCore::DocumentLoader::startLoadingMainResource):

  • loader/DocumentLoader.h:

(DocumentLoader):

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::FrameLoader):
(WebCore::FrameLoader::init):

  • loader/FrameLoaderStateMachine.cpp:

(WebCore::FrameLoaderStateMachine::FrameLoaderStateMachine):

  • loader/FrameLoaderStateMachine.h:
  • loader/MainResourceLoader.cpp:

(WebCore::shouldLoadAsEmptyDocument):
(WebCore):
(WebCore::MainResourceLoader::continueAfterContentPolicy):
(WebCore::MainResourceLoader::didReceiveResponse):
(WebCore::MainResourceLoader::didFinishLoading):
(WebCore::MainResourceLoader::handleEmptyLoad):
(WebCore::MainResourceLoader::loadNow):
(WebCore::MainResourceLoader::load):

  • loader/MainResourceLoader.h:

(MainResourceLoader):

Tools:

  • DumpRenderTree/chromium/WebViewHost.cpp:

(WebViewHost::updateForCommittedLoad):

LayoutTests:

  • http/tests/inspector/network/network-iframe-load-and-delete.html:
  • http/tests/loading/redirect-methods-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
  • http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:
10:56 AM Changeset in webkit [134798] by haraken@chromium.org
  • 4 edits in trunk/Source/WebCore

Correct syntax of old-style IDL files
https://bugs.webkit.org/show_bug.cgi?id=102335

Reviewed by Adam Barth.

Recently tasak@ corrected an IDL syntax of almost all IDL files.
We should correct the rest of them.

No tests. No change in behavior.

  • html/canvas/OESElementIndexUint.idl:
  • page/PerformanceMark.idl:
  • page/PerformanceMeasure.idl:
10:53 AM Changeset in webkit [134797] by mhahnenberg@apple.com
  • 2 edits in trunk/Source/WTF

Windows Fibers can corrupt the cached StackBounds
https://bugs.webkit.org/show_bug.cgi?id=102411

Reviewed by Geoffrey Garen.

Windows has support for something called fibers, which are like lightweight versions of
threads. Multiple fibers can run within the context of a single thread and they have access
to the same thread local storage but have different stacks. If we create a new JSGlobalContext
on one fiber, then switch to another fiber and create a JSGlobalContext there, we will call
initializeThreading() once for each new JSGlobalContext created. However, since these fibers
are technically running inside the same thread, they will clobber each other's wtfThreadData(),
which is stored using thread local storage. This can lead to corruption of the WTFThreadData
structure for the fibers other than the last one to create a new JSGlobalContext, including
the StackBounds data structure which is used during conservative scanning, among other things.
This can lead to crashes during garbage collection on Windows if fibers are used.

A quick fix would be to always get a fresh StackBounds data structure when asking for it
instead of using the cached version from the thread local storage. There is a larger problem
in that these fibers can corrupt other WebKit data that uses thread local storage. We'll leave
those theoretical fixes for future theoretical bugs.

  • wtf/WTFThreadData.h:

(WTF::WTFThreadData::stack): We now refresh the m_stackBounds field whenever somebody asks for
the StackBounds.

10:41 AM Changeset in webkit [134796] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Source/WebKit/chromium

Use correct unscaled document size when calculating scale limits
https://bugs.webkit.org/show_bug.cgi?id=102028

Patch by Tien-Ren Chen <trchen@chromium.org> on 2012-11-15
Reviewed by Adam Barth.

Fixes bug http://crbug.com/160581
Using contentsSize / pageScaleFactor as unscaled contents size results
in rounding errors. This can cause scale factor to oscillate indefinitely.

  • src/WebViewImpl.cpp:

(WebKit::unscaledContentsSize):
(WebKit):
(WebKit::WebViewImpl::computePageScaleFactorLimits):

  • tests/WebFrameTest.cpp:
  • tests/data/scale_oscillate.html: Added.
10:40 AM Changeset in webkit [134795] by mifenton@rim.com
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Don't restore zoom and scroll when leaving an input field.
https://bugs.webkit.org/show_bug.cgi?id=102376

Reviewed by Yong Li.

Restoring the zoom causes undesirable behavior when switching between fields.

Reviewed Internally by Andrew Lo.

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::InputHandler):
(BlackBerry::WebKit::InputHandler::ensureFocusTextElementVisible):

  • WebKitSupport/InputHandler.h:

(InputHandler):

10:33 AM Changeset in webkit [134794] by commit-queue@webkit.org
  • 6 edits in trunk

Source/WebCore: Remove isHTMLInputElement since it's unused and toInputElement exists
https://bugs.webkit.org/show_bug.cgi?id=102358

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Ojan Vafai.

Remove isHTMLInputElement as no one uses it. Everyone just uses
Node::toInputElement and checks for a 0 return value instead.

toInputElement is also more reliable as there's no requirement that
subclasses of HTMLInputElement have the tag name of inputTag so using
this method in a check could potentially miss future subclasses with
different tag names, though none exist right now.

No new tests, this just deletes dead code.

  • html/HTMLInputElement.h:

Source/WebKit/chromium: [chromium] Move allowWebGL query to WebFrameClient
https://bugs.webkit.org/show_bug.cgi?id=102319

Patch by Kenneth Russell <kbr@google.com> on 2012-11-15
Reviewed by Adam Barth.

Moved allowWebGL query to WebFrameClient to avoid polluting
content/ API.

  • public/WebFrameClient.h:

(WebFrameClient):
(WebKit::WebFrameClient::allowWebGL):

  • public/WebPermissionClient.h:
  • src/FrameLoaderClientImpl.cpp:

(WebKit::FrameLoaderClientImpl::allowWebGL):

LayoutTests: Unreviewed: Skipping http/tests/security/sandboxed-iframe-form-top.html
https://bugs.webkit.org/show_bug.cgi?id=102391

This test is leaking state into the following test. Skipping it here,
and will look for a fix in 85522 (oooooold!).

Patch by Mike West <mkwst@chromium.org> on 2012-11-15

  • platform/mac/TestExpectations:

Skip sandboxed-iframe-form-top.html

  • platform/max/http/tests/security/sandboxed-iframe-origin-add-expected.txt:

We're no longer leaking into this test; remove the platform specific
results.

10:18 AM Changeset in webkit [134793] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[CMake] Do not regenerate LLIntAssembly.h on every incremental build
https://bugs.webkit.org/show_bug.cgi?id=102248

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

Update LLIntAssembly.h's mtime after running asm.rb to make the build
system dependency tracking consistent.

  • CMakeLists.txt:
10:17 AM Changeset in webkit [134792] by arv@chromium.org
  • 60 edits in trunk

Update DOMException name: NotSupportedError
https://bugs.webkit.org/show_bug.cgi?id=102139

Reviewed by Ojan Vafai.

Source/WebCore:

Patch 9 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • editing/pasteboard/data-transfer-items-expected.txt:
  • fast/canvas/canvas-2d-imageData-create-nonfinite-expected.txt:
  • fast/canvas/canvas-createImageData-expected.txt:
  • fast/canvas/canvas-getImageData-invalid-expected.txt:
  • fast/canvas/canvas-putImageData-expected.txt:
  • fast/canvas/canvas-putImageData.js:
  • fast/canvas/linearGradient-infinite-values-expected.txt:
  • fast/canvas/radialGradient-infinite-values-expected.txt:
  • fast/canvas/resources/canvas-2d-imageData-create-nonfinite.js:
  • fast/canvas/script-tests/canvas-createImageData.js:
  • fast/canvas/script-tests/canvas-getImageData-invalid.js:
  • fast/canvas/script-tests/linearGradient-infinite-values.js:
  • fast/canvas/script-tests/radialGradient-infinite-values.js:
  • fast/dom/HTMLMeterElement/script-tests/set-meter-properties.js:
  • fast/dom/HTMLMeterElement/set-meter-properties-expected.txt:
  • fast/dom/HTMLProgressElement/script-tests/set-progress-properties.js:
  • fast/dom/HTMLProgressElement/set-progress-properties-expected.txt:
  • fast/dom/Node/initial-values-expected.txt:
  • fast/dom/importNode-null-expected.txt:
  • fast/dynamic/insertAdjacentText-expected.txt:
  • fast/forms/date/input-valueasnumber-date-expected.txt:
  • fast/forms/date/input-valueasnumber-date.html:
  • fast/forms/datetime/input-valueasnumber-datetime-expected.txt:
  • fast/forms/datetime/input-valueasnumber-datetime.html:
  • fast/forms/datetimelocal/input-valueasnumber-datetimelocal-expected.txt:
  • fast/forms/datetimelocal/input-valueasnumber-datetimelocal.html:
  • fast/forms/month/input-valueasnumber-month-expected.txt:
  • fast/forms/month/input-valueasnumber-month.html:
  • fast/forms/number/number-valueasnumber-expected.txt:
  • fast/forms/number/number-valueasnumber.html:
  • fast/forms/range/input-valueasnumber-range-expected.txt:
  • fast/forms/range/input-valueasnumber-range.html:
  • fast/forms/time/time-valueasnumber-expected.txt:
  • fast/forms/time/time-valueasnumber.html:
  • fast/forms/week/input-valueasnumber-week-expected.txt:
  • fast/forms/week/input-valueasnumber-week.html:
  • fast/mediastream/RTCPeerConnection-expected.txt:
  • fast/mediastream/argument-types-expected.txt:
  • fast/mediastream/getusermedia-expected.txt:
  • fast/mediastream/script-tests/argument-types.js:
  • http/tests/media/media-source/video-media-source-add-and-remove-buffers-expected.txt:
  • platform/chromium/canvas/philip/tests/2d.missingargs-expected.txt:
  • platform/chromium/dom/xhtml/level3/core/documentsetxmlversion03-expected.txt:
  • platform/chromium/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/efl/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/gtk/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/mac/canvas/philip/tests/2d.missingargs-expected.txt:
  • platform/mac/fast/dynamic/insertAdjacentElement-expected.txt:
  • platform/qt/fast/dynamic/insertAdjacentElement-expected.txt:
  • svg/dom/SVGAngle-expected.txt:
  • svg/dom/SVGLength-expected.txt:
  • svg/dom/SVGLength-px-expected.txt:
  • svg/dom/SVGPreserveAspectRatio-expected.txt:
  • transforms/cssmatrix-2d-interface-expected.txt:
  • transforms/cssmatrix-3d-interface-expected.txt:
10:15 AM Changeset in webkit [134791] by mjs@apple.com
  • 2 edits in trunk/Source/WTF

Fix an erroneous comment about the operators required by binarySearch
https://bugs.webkit.org/show_bug.cgi?id=102406

Reviewed by Anders Carlsson.

  • wtf/StdLibExtras.h: binarySearch needs '==' and '<', not '--', '<' and '>'.
10:13 AM Changeset in webkit [134790] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove isHTMLInputElement since it's unused and toInputElement exists
https://bugs.webkit.org/show_bug.cgi?id=102358

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Ojan Vafai.

Remove isHTMLInputElement as no one uses it. Everyone just uses
Node::toInputElement and checks for a 0 return value instead.

toInputElement is also more reliable as there's no requirement that
subclasses of HTMLInputElement have the tag name of inputTag so using
this method in a check could potentially miss future subclasses with
different tag names, though none exist right now.

No new tests, this just deletes dead code.

  • html/HTMLInputElement.h:
10:13 AM Changeset in webkit [134789] by mkwst@chromium.org
  • 2 edits
    1 delete in trunk/LayoutTests

Unreviewed: Skipping http/tests/security/sandboxed-iframe-form-top.html
https://bugs.webkit.org/show_bug.cgi?id=102391

This test is leaking state into the following test. Skipping it here,
and will look for a fix in 85522 (oooooold!).

  • platform/mac/TestExpectations:

Skip sandboxed-iframe-form-top.html

  • platform/max/http/tests/security/sandboxed-iframe-origin-add-expected.txt:

We're no longer leaking into this test; remove the platform specific
results.

9:57 AM Changeset in webkit [134788] by jpetsovits@rim.com
  • 3 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Fix suspend/resume assertion in setCompositor().
https://bugs.webkit.org/show_bug.cgi?id=102397
RIM PR 244701

Reviewed by Adam Treat.

If a compositor is used but no surface pool is ever
allocated (which is a perfectly valid use case), initial
suspension of the backingstore is skipped because of an
early return. This will cause an assertion to be triggered
and a bug. Fix this by suspending it before the return.

With Adam Treat's recent change to split suspension of
screen and backingstore into two different functions,
this can now be reduced to a mere screen (blitting)
suspension. That was the original intention of this code.

  • Api/BackingStore.cpp:

(BlackBerry::WebKit::BackingStorePrivate::createSurfaces):

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::setCompositor):

9:37 AM Changeset in webkit [134787] 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-15

  • DEPS:
9:16 AM Changeset in webkit [134786] by akling@apple.com
  • 2 edits in trunk/Tools

Update my e-mail address.

Rubber-stamped by Anders Koivisto.

  • Scripts/webkitpy/common/config/committers.py:
9:08 AM Changeset in webkit [134785] by arv@chromium.org
  • 32 edits in trunk

Update DOMException name: NoModificationAllowedError
https://bugs.webkit.org/show_bug.cgi?id=102134

Reviewed by Ojan Vafai.

Source/WebCore:

Patch 7 of 25 to update DOMException name to match the spec and Firefox.

Updated existing tests.

  • dom/DOMCoreException.cpp:

LayoutTests:

Updated tests and expectations.

  • dom/xhtml/level1/core/hc_nodevalue03-expected.txt:
  • fast/dom/EntityReference/readonly-exceptions-expected.txt:
  • fast/dom/HTMLElement/insertAdjacentHTML-errors-expected.txt:
  • fast/dom/HTMLElement/script-tests/insertAdjacentHTML-errors.js:
  • fast/dom/computed-style-set-property-expected.txt:
  • fast/dom/insertAdjacentHTML-DocumentFragment-crash-expected.txt:
  • fast/dom/outerText-no-element-expected.txt:
  • fast/dom/setPrimitiveValue-exceptions-expected.txt:
  • fast/dom/setPrimitiveValue-expected.txt:
  • fast/dynamic/outerHTML-no-element-expected.txt:
  • fast/frames/out-of-document-iframe-has-child-frame-expected.txt:
  • platform/chromium-mac/fast/dom/setPrimitiveValue-exceptions-expected.txt:
  • platform/chromium-win/fast/dom/setPrimitiveValue-exceptions-expected.txt:
  • platform/chromium-win/svg/custom/baseval-animval-equality-expected.txt:
  • platform/chromium/fast/dom/insertAdjacentHTML-DocumentFragment-crash-expected.txt:
  • platform/chromium/fast/frames/out-of-document-iframe-has-child-frame-expected.txt:
  • platform/chromium/svg/custom/baseval-animval-equality-expected.txt:
  • platform/gtk/svg/custom/baseval-animval-equality-expected.txt:
  • platform/mac/svg/custom/baseval-animval-equality-expected.txt:
  • platform/qt/svg/custom/baseval-animval-equality-expected.txt:
  • platform/qt/svg/dom/altGlyph-dom-expected.txt:
  • svg/animations/animate-gradient-transform-expected.txt:
  • svg/dom/SVGColor-expected.txt:
  • svg/dom/SVGLengthList-basics-expected.txt:
  • svg/dom/SVGNumberList-basics-expected.txt:
  • svg/dom/SVGPaint-expected.txt:
  • svg/dom/SVGTransformList-basics-expected.txt:
  • svg/dom/SVGViewSpec-defaults-expected.txt:
  • svg/dom/altGlyph-dom-expected.txt:
9:06 AM Changeset in webkit [134784] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Remove unnecesary dependencies INPUT_TYPE_COLOR
https://bugs.webkit.org/show_bug.cgi?id=102379

Patch by Miguel Garcia <miguelg@chromium.org> on 2012-11-15
Reviewed by Darin Adler.

Platforms should be able to enable INPUT_TYPE_COLOR without enabling
CALENDAR_PICKER and DATALIST_ELEMENT. Before this patch however there would be
compile errors in such configuration.

No new tests since this is not adding any extra functionality.

  • WebCore.gyp/WebCore.gyp:
  • html/ColorInputType.cpp:

(WebCore::ColorInputType::shouldShowSuggestions):

  • make-file-arrays.py:

(main):

9:05 AM Changeset in webkit [134783] by eric.carlson@apple.com
  • 7 edits
    2 adds in trunk

Update computed line position algorithm
https://bugs.webkit.org/show_bug.cgi?id=93779

Reviewed by Philippe Normand.

Compute the position of a text track relative to rendered tracks. This is needed to position
cues correctly when there is more than one text track.

Source/WebCore:

Test: media/track/track-cue-container-rendering-position.html

  • html/track/TextTrack.cpp:

(WebCore::TextTrack::invalidateTrackIndex): Invalidate both cached track indices.
(WebCore::TextTrack::trackIndexRelativeToRenderedTracks): Return the index of the track relative

to other rendered tracks.

  • html/track/TextTrack.h:
  • html/track/TextTrackCue.cpp:

(WebCore::TextTrackCue::calculateComputedLinePosition): Use trackIndexRelativeToRenderedTracks()

instead of trackIndex() so cues are positioned correctly.

  • html/track/TextTrackList.cpp:

(TextTrackList::getTrackIndex): Change return type from unsigned to int.
(TextTrackList::getTrackIndexRelativeToRenderedTracks): New.

  • html/track/TextTrackList.h:

LayoutTests:

  • media/track/track-cue-container-rendering-position-expected.txt: Added.
  • media/track/track-cue-container-rendering-position.html: Added.
9:02 AM Changeset in webkit [134782] by jpetsovits@rim.com
  • 5 edits in trunk/Source/WebKit/blackberry

[BlackBerry] Leave surface resizing to the client.
https://bugs.webkit.org/show_bug.cgi?id=102280
RIM PR 235034
RIM PR 160619

Reviewed by Adam Treat.

Now that we always blit on the user interface thread and
use the client's userInterfaceViewportAccessor() to determine
the destination rectangle for blitting, changing the viewport
size does not affect the window or target surface directly.
The only way that blitted output is affected is through
layout, scroll position or scale changes. None of these
require us to synchronize with the UI thread to resize its
target surface.

This commit simplifies setViewportSize() and removes a
blocking message dispatch by simply offloading all surface
resizing responsibilities to the client. This is safer,
cleaner and easier.

  • Api/WebPage.cpp:

(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPage::setScreenOrientation):
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):

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

(WebPagePrivate):

8:59 AM Changeset in webkit [134781] by dominik.rottsches@intel.com
  • 4 edits
    2 adds in trunk

[EFL] Bump Harfbuzz to allow fixing bug 101009 on EFL
https://bugs.webkit.org/show_bug.cgi?id=101323

Reviewed by Martin Robinson.

Source/WebCore:

Removing ifdef since we bumped Harfbuzz dependency. This is the
real fix replacing the previous workaround of having a Chromium
specific ifdef here, since Chromium uses a newer HarfBuzz version
already.

No new tests, covered by css3/flexbox/inline-flex-crash.html
which will not crash anymore even with the ifdef removed.

  • platform/graphics/harfbuzz/ng/HarfBuzzShaper.cpp:

(WebCore::HarfBuzzShaper::shapeHarfBuzzRuns):

Tools:

Bumping Harfbuzz to newer version so that we can remove the
ifdef round the fix for bug 101009 for EFL, too.
We're using the zip snapshot since jhbuild can fallback to the previously
downloaded blob in case of network failures which leads to better
buildbot robustness. This zip snapshot currently needs to be locally
patched to fix ICU detection on systems that don't have icu pkg-config files.
The patch is suggested for merging into HarfBuzz. We can remove it locally
once it's accepted into HarfBuzz upstream.

  • efl/patches/harfbuzz-icu-detection-fix.patch: Applied after retrieving source to fix harfbuzz detection on systems that don't have pkg-config files for it.
  • efl/jhbuild.modules: Bumping harfbuzz version.
8:50 AM Changeset in webkit [134780] by ap@apple.com
  • 2 edits in trunk/Tools

[Mac] Implement WTR --no-timeout-at-all option
https://bugs.webkit.org/show_bug.cgi?id=102251

Reviewed by Eric Carlson.

  • WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformRunUntil):

Just do it, and convert to Objective C on the way for simplicity.

8:35 AM Changeset in webkit [134779] by kling@webkit.org
  • 4 edits
    2 adds in trunk

REGRESSION(r134408): Heap-use-after-free in WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement().
<http://webkit.org/b/102304>

Reviewed by Anders Carlsson.

Source/WebCore:

Test: fast/dom/cloneNode-below-body-attribute-merging.html

  • html/parser/HTMLConstructionSite.cpp:

(WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):

Use Element::fastHasAttribute() to determine if a given attribute is already present on the element
we're merging attributes into.

  • dom/ElementAttributeData.h:

(ElementAttributeData):

Remove a now-unnecessary friend declaration.

LayoutTests:

  • fast/dom/cloneNode-below-body-attribute-merging-expected.txt: Added.
  • fast/dom/cloneNode-below-body-attribute-merging.html: Added.
8:11 AM Changeset in webkit [134778] by schenney@chromium.org
  • 2 edits in trunk/Source/WebKit/chromium

[Chromium] Move SK_DISABLE_FAST_AA_STROKE_RECT to skia_webkit.gyp

Unreviewed non-funtional, behavior-neutral change

  • skia_webkit.gyp: Add SK_DISABLE_FAST_AA_STROKE_RECT=1 so that it can be removed from Chromium's skia.gyp
7:48 AM Changeset in webkit [134777] by junov@google.com
  • 2 edits in trunk/LayoutTests

Cleanup test expectations after rebaseline r134668
https://bugs.webkit.org/show_bug.cgi?id=101974

Unreviewed

  • platform/chromium/TestExpectations:
7:46 AM Changeset in webkit [134776] by rakuco@webkit.org
  • 2 edits
    20 copies
    4 moves
    2 adds
    4 deletes in trunk/LayoutTests

[EFL] Gardening.

Move some expectations from efl-wk1/ to efl/ since they should
work for both ports (and were originally there).

Skip an additional HiDPI test.

  • platform/efl-wk1/fast/borders: Removed.
  • platform/efl-wk1/fast/borders/border-radius-wide-border-01-expected.png: Removed.
  • platform/efl-wk1/fast/borders/borderRadiusInset01-expected.png: Removed.
  • platform/efl-wk1/fast/css: Removed.
  • platform/efl-wk1/fast/css/text-overflow-ellipsis-bidi-expected.png: Removed.
  • platform/efl-wk1/fast/css/text-overflow-ellipsis-expected.png: Removed.
  • platform/efl-wk1/fast/css/text-overflow-ellipsis-strict-expected.png: Removed.
  • platform/efl-wk1/fast/css/text-overflow-ellipsis-text-align-center-expected.png: Removed.
  • platform/efl-wk1/fast/css/text-overflow-input-expected.png: Removed.
  • platform/efl-wk1/fast/css/text-overflow-input-expected.txt: Removed.
  • platform/efl-wk1/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png: Removed.
  • platform/efl-wk1/fast/forms/menulist-clip-expected.png: Removed.
  • platform/efl-wk1/fast/forms/menulist-option-wrap-expected.png: Removed.
  • platform/efl-wk1/fast/forms/select-empty-option-height-expected.png: Removed.
  • platform/efl-wk1/fast/media: Removed.
  • platform/efl-wk1/fast/media/mq-js-media-except-01-expected.png: Removed.
  • platform/efl-wk1/fast/media/mq-js-media-except-01-expected.txt: Removed.
  • platform/efl-wk1/fast/repaint/control-clip-expected.png: Removed.
  • platform/efl-wk1/svg/dom: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-appendItem-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-basics-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-getItem-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-initialize-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-insertItemBefore-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-removeItem-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGLengthList-replaceItem-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGNumberList-basics-expected.png: Removed.
  • platform/efl-wk1/svg/dom/SVGTransformList-basics-expected.png: Removed.
  • platform/efl/TestExpectations:
  • platform/efl/fast/borders/border-radius-wide-border-01-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/borders/border-radius-wide-border-01-expected.png.
  • platform/efl/fast/borders/border-radius-wide-border-05-expected.png: Added.
  • platform/efl/fast/borders/borderRadiusInset01-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/borders/borderRadiusInset01-expected.png.
  • platform/efl/fast/css/text-overflow-ellipsis-bidi-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/css/text-overflow-ellipsis-bidi-expected.png.
  • platform/efl/fast/css/text-overflow-ellipsis-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/css/text-overflow-ellipsis-expected.png.
  • platform/efl/fast/css/text-overflow-ellipsis-strict-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/css/text-overflow-ellipsis-strict-expected.png.
  • platform/efl/fast/css/text-overflow-ellipsis-text-align-center-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/css/text-overflow-ellipsis-text-align-center-expected.png.
  • platform/efl/fast/css/text-overflow-input-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/css/text-overflow-input-expected.png.
  • platform/efl/fast/css/text-overflow-input-expected.txt: Copied from LayoutTests/platform/efl-wk1/fast/css/text-overflow-input-expected.txt.
  • platform/efl/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png.
  • platform/efl/fast/forms/menulist-clip-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/forms/menulist-clip-expected.png.
  • platform/efl/fast/forms/menulist-option-wrap-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/forms/menulist-option-wrap-expected.png.
  • platform/efl/fast/forms/select-empty-option-height-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/forms/select-empty-option-height-expected.png.
  • platform/efl/fast/forms/zoomed-controls-expected.png: Added.
  • platform/efl/fast/media/mq-js-media-except-01-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/media/mq-js-media-except-01-expected.png.
  • platform/efl/fast/media/mq-js-media-except-01-expected.txt: Copied from LayoutTests/platform/efl-wk1/fast/media/mq-js-media-except-01-expected.txt.
  • platform/efl/fast/repaint/control-clip-expected.png: Copied from LayoutTests/platform/efl-wk1/fast/repaint/control-clip-expected.png.
  • platform/efl/svg/dom/SVGLengthList-appendItem-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-appendItem-expected.png.
  • platform/efl/svg/dom/SVGLengthList-basics-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-basics-expected.png.
  • platform/efl/svg/dom/SVGLengthList-getItem-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-getItem-expected.png.
  • platform/efl/svg/dom/SVGLengthList-initialize-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-initialize-expected.png.
  • platform/efl/svg/dom/SVGLengthList-insertItemBefore-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-insertItemBefore-expected.png.
  • platform/efl/svg/dom/SVGLengthList-removeItem-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-removeItem-expected.png.
  • platform/efl/svg/dom/SVGLengthList-replaceItem-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGLengthList-replaceItem-expected.png.
  • platform/efl/svg/dom/SVGNumberList-basics-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGNumberList-basics-expected.png.
  • platform/efl/svg/dom/SVGTransformList-basics-expected.png: Copied from LayoutTests/platform/efl-wk1/svg/dom/SVGTransformList-basics-expected.png.
7:42 AM Changeset in webkit [134775] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

Prevent creation of detached frames in ShadowRoot
https://bugs.webkit.org/show_bug.cgi?id=102333

Patch by Elliott Sprehn <esprehn@chromium.org> on 2012-11-15
Reviewed by Dimitri Glazkov.

Source/WebCore:

Similar to Bug 94717 you can create a loaded iframe in a detached
subtree using ShadowRoot. To fix this we just need to make
SubframeLoadingDisabler traverse through shadow boundaries.

Test: fast/frames/detached-shadow-frame.html

  • html/HTMLFrameOwnerElement.h:

(WebCore::SubframeLoadingDisabler::canLoadFrame):

LayoutTests:

Test that you cannot create a detached frame using a ShadowRoot
and iframe unload handlers.

  • fast/frames/detached-shadow-frame-expected.txt: Added.
  • fast/frames/detached-shadow-frame.html: Added.
7:28 AM Changeset in webkit [134774] by shinyak@chromium.org
  • 6 edits
    4 adds in trunk

Changing pseudoClass (:visited) should cause distribution.
https://bugs.webkit.org/show_bug.cgi?id=101700

Reviewed by Dimitri Glazkov.

Source/WebCore:

When href attribute of an anchor or area element is changed, we have to invalidate distribution.

Since we would like to check a few pseudoClasses at once, we make the argument of
SelectRuleFeatureSet::hasSelectorFor int.

Tests: fast/dom/shadow/pseudoclass-update-visited-anchor.html

fast/dom/shadow/pseudoclass-update-visited-area.html

  • dom/ElementShadow.cpp:

(WebCore::invalidateParentDistributionIfNecessary):

  • dom/ElementShadow.h:

(WebCore):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::parseAttribute):

  • html/shadow/SelectRuleFeatureSet.h:

(WebCore::SelectRuleFeatureSet::hasSelectorFor):

LayoutTests:

  • fast/dom/shadow/pseudoclass-update-visited-anchor-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-visited-anchor.html: Added.
  • fast/dom/shadow/pseudoclass-update-visited-area-expected.html: Added.
  • fast/dom/shadow/pseudoclass-update-visited-area.html: Added.
7:28 AM Changeset in webkit [134773] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebKit/gtk

Unreviewed build fix attempt after r134765.

  • webkit/webkitviewportattributes.cpp:

(webkitViewportAttributesRecompute):

7:27 AM Changeset in webkit [134772] by kbalazs@webkit.org
  • 6 edits in trunk/Source

Coordinated Graphics: support the "freeze animations" API
https://bugs.webkit.org/show_bug.cgi?id=100703

Reviewed by Noam Rosenthal.

Source/WebCore:

Make animations resumable in Coordinated Graphics.
Pausing was already implemented.

Tested with animations and transitions tests. No tests to be
unskipped because these tests has been working without this API
as well (although this is the preferred way).

  • platform/graphics/GraphicsLayerAnimation.cpp:

(WebCore::GraphicsLayerAnimation::apply):
(WebCore::GraphicsLayerAnimation::computeTotalRunningTime):
Do not consider the time while we was suspended as part of
the total running time.
(WebCore):
(WebCore::GraphicsLayerAnimation::resume):
(WebCore::GraphicsLayerAnimations::suspend):
(WebCore::GraphicsLayerAnimations::resume):

  • platform/graphics/GraphicsLayerAnimation.h:

(GraphicsLayerAnimation):
(GraphicsLayerAnimations):

Source/WebKit2:

Implement suspendAnimations and resumeAnimations in CoordinatedGraphicsLayer.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::suspendAnimations):
(WebCore):
(WebCore::CoordinatedGraphicsLayer::resumeAnimations):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:

(CoordinatedGraphicsLayer):

7:06 AM Changeset in webkit [134771] by schenney@chromium.org
  • 18 edits in trunk

[Chromium] Disable SK_IGNORE_FAST_BLURRECT

Source/WebKit/chromium:

Unreviewed test update.

This flag is enabled purely to simplify rebaselining. I am now
removing it and doing the rebaslining.

  • skia_webkit.gyp: Remove the line for SK_IGNORE_FAST_BLURRECT

LayoutTests:

Unreviewed test expectations update

  • platform/chromium-linux/compositing/shadows/shadow-drawing-expected.png:
  • platform/chromium-linux/fast/box-shadow/basic-shadows-expected.png:
  • platform/chromium-linux/fast/box-shadow/box-shadow-clipped-slices-expected.png:
  • platform/chromium-linux/fast/box-shadow/box-shadow-transformed-expected.png:
  • platform/chromium-linux/fast/box-shadow/single-pixel-shadow-expected.png:
  • platform/chromium-linux/fast/canvas/canvas-incremental-repaint-expected.png:
  • platform/chromium-linux/fast/repaint/box-shadow-h-expected.png:
  • platform/chromium-linux/fast/repaint/box-shadow-v-expected.png:
  • platform/chromium-linux/fast/repaint/shadow-multiple-vertical-expected.png:
  • platform/chromium-linux/fast/transforms/shadows-expected.png:
  • platform/chromium-linux/svg/css/group-with-shadow-expected.png:
  • platform/chromium-linux/svg/filters/shadow-on-rect-with-filter-expected.png:
  • platform/chromium-win/fast/box-shadow/box-shadow-radius-expected.png:
  • platform/chromium-win/fast/box-shadow/scaled-box-shadow-expected.png:
  • platform/chromium/TestExpectations:
6:18 AM Changeset in webkit [134770] by schenney@chromium.org
  • 4 edits in trunk/LayoutTests

Rebaseline after r134736

Unreviewed expectations update.

Very minor changes, not entirely clear why but not a problem at all.
Probably due to animation cauising an initial valeue to differ
slightly.

  • platform/chromium-linux/compositing/checkerboard-expected.png:
  • platform/chromium-mac/compositing/checkerboard-expected.png:
  • platform/chromium-win/compositing/checkerboard-expected.png:
6:13 AM Changeset in webkit [134769] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Update pixel test expectation for datalist tests
https://bugs.webkit.org/show_bug.cgi?id=102365

Unreviewed EFL gardening.

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-11-15

  • platform/efl/fast/forms/datalist/input-appearance-range-with-datalist-zoomed-expected.png:
  • platform/efl/fast/forms/datalist/input-appearance-range-with-padding-with-datalist-expected.png:
5:59 AM Changeset in webkit [134768] by Csaba Osztrogonác
  • 2 edits in trunk/LayoutTests

REGRESSION(r134495): It made svg/custom/use-instanceRoot-event-listeners.xhtml fail and fast/events/attribute-listener-deletion-crash.html timeout
https://bugs.webkit.org/show_bug.cgi?id=102183

Unreviewed gardening, unskip now passing tests after r134666.

  • platform/qt/TestExpectations:
5:42 AM Changeset in webkit [134767] by rgabor@webkit.org
  • 9 edits
    6 copies
    1 add
    1 delete in trunk/Source/WebCore

Relocate the ARM NEON SVG filter optimizations
https://bugs.webkit.org/show_bug.cgi?id=102214

Reviewed by Zoltan Herczeg.

Relocate the ARM filter optimizations into platform/graphics/cpu/arm
to keep them together with the others.
From now all graphics optimization for ARM NEON should go here.

  • CMakeLists.txt:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.gyp/WebCore.gyp:
  • WebCore.gypi:
  • WebCore.pri:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/graphics/cpu/arm/filters/FEBlendNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FEBlendNEON.h.

(WebCore):
(FEBlendUtilitiesNEON):
(WebCore::FEBlendUtilitiesNEON::div255):
(WebCore::FEBlendUtilitiesNEON::normal):
(WebCore::FEBlendUtilitiesNEON::multiply):
(WebCore::FEBlendUtilitiesNEON::screen):
(WebCore::FEBlendUtilitiesNEON::darken):
(WebCore::FEBlendUtilitiesNEON::lighten):
(WebCore::FEBlend::platformApplyNEON):

  • platform/graphics/cpu/arm/filters/FECompositeArithmeticNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FECompositeArithmeticNEON.h.

(WebCore):
(WebCore::FEComposite::computeArithmeticPixelsNeon):
(WebCore::FEComposite::platformArithmeticNeon):

  • platform/graphics/cpu/arm/filters/FEGaussianBlurNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FEGaussianBlurNEON.h.

(WebCore):
(WebCore::boxBlurNEON):

  • platform/graphics/cpu/arm/filters/FELightingNEON.cpp: Renamed from Source/WebCore/platform/graphics/filters/arm/FELightingNEON.cpp.

(WebCore):
(WebCore::feLightingConstantsForNeon):
(WebCore::FELighting::platformApplyNeonWorker):
(WebCore::FELighting::getPowerCoefficients):

  • platform/graphics/cpu/arm/filters/FELightingNEON.h: Renamed from Source/WebCore/platform/graphics/filters/arm/FELightingNEON.h.

(WebCore):
(FELightingFloatArgumentsForNeon):
(FELightingPaintingDataForNeon):
(WebCore::FELighting::platformApplyNeon):

  • platform/graphics/cpu/arm/filters/NEONHelpers.h: Renamed from Source/WebCore/platform/graphics/filters/arm/NEONHelpers.h.

(WebCore):
(WebCore::loadRGBA8AsFloat):
(WebCore::storeFloatAsRGBA8):

5:04 AM Changeset in webkit [134766] by mkwst@chromium.org
  • 10 edits
    4 adds in trunk

We should trigger a console warning when we encounter invalid sandbox flags.
https://bugs.webkit.org/show_bug.cgi?id=101956

Reviewed by Adam Barth.

Source/WebCore:

A developer who writes '<iframe sandbox="allowScripts">' probably has
something in mind other than what the browser interprets. In these
situations, we should log a console warning that notes 'allowScripts'
is an invalid sandbox flag ('allow-scripts' is probably what she
meant).

This patch does the simplest thing possible: it throws a warning that
lists the invalid flags encountered for sandbox attributes on iframes,
and for sandbox Content Security Policy directives.

Tests: http/tests/security/contentSecurityPolicy/sandbox-invalid-header.html

http/tests/security/sandboxed-iframe-invalid.html

  • dom/SecurityContext.cpp:

(WebCore::SecurityContext::parseSandboxPolicy):

  • dom/SecurityContext.h:

(SecurityContext):

Accept a new out parameter, invalidTokensErrorMessage. If invalid
tokens are encountered, build an error message string, and pass it
back to the caller through this parameter.

  • html/HTMLIFrameElement.cpp:

(WebCore::HTMLIFrameElement::parseAttribute):

  • page/ContentSecurityPolicy.cpp:

(WebCore::CSPDirectiveList::applySandboxPolicy):

When applying a sandbox policy, pass a string into
SecurityContext::parseSandboxPolicy to grab any errors that might
be encountered, and log a warning in that event.

(WebCore::ContentSecurityPolicy::reportInvalidSandboxFlags):
(WebCore):

  • page/ContentSecurityPolicy.h:

Adding a new method to report invalid sandbox flags.

LayoutTests:

  • http/tests/security/contentSecurityPolicy/sandbox-invalid-header-expected.txt: Added.
  • http/tests/security/contentSecurityPolicy/sandbox-invalid-header.html: Added.
  • http/tests/security/sandboxed-iframe-invalid-expected.txt: Added.
  • http/tests/security/sandboxed-iframe-invalid.html: Added.
5:00 AM Changeset in webkit [134765] by kenneth@webkit.org
  • 5 edits in trunk/Source

Rename member vars in ViewportArgument to match css-device-adapt
https://bugs.webkit.org/show_bug.cgi?id=102355

Reviewed by Gyuyoung Kim.

Source/WebCore:

No behavior change, thus no new tests.

  • dom/ViewportArguments.cpp:

(WebCore::ViewportArguments::resolve):
(WebCore::setViewportFeature):

  • dom/ViewportArguments.h:

(WebCore::ViewportArguments::ViewportArguments):
(ViewportArguments):
(WebCore::ViewportArguments::operator==):

Source/WebKit/efl:

  • ewk/ewk_view.cpp:

(_ewk_view_priv_new): Update to reflect name change.

4:46 AM Changeset in webkit [134764] by keishi@webkit.org
  • 2 edits
    20 adds in trunk/LayoutTests

[Chromium] Add tests for month suggestion picker
https://bugs.webkit.org/show_bug.cgi?id=102040

Reviewed by Kent Tamura.

Adding tests for <input type=date> with datalist.

  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-appearance-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.png: Added.
  • platform/chromium-mac/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.png: Added.
  • platform/chromium-win/platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-key-operations-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-appearance-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-appearance.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-rtl.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-appearance-with-scroll-bar.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-key-operations-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-key-operations.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-min-max-attribute-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-min-max-attribute.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-mouse-operations-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-mouse-operations.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-reset-value-after-reload-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-reset-value-after-reload.html: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-step-attribute-expected.txt: Added.
  • platform/chromium/fast/forms/suggestion-picker/month-suggestion-picker-step-attribute.html: Added.
  • platform/chromium/TestExpectations:
4:45 AM Changeset in webkit [134763] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix compiler warnings about signed/unsigned comparison on i386
https://bugs.webkit.org/show_bug.cgi?id=102249

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

Add casting to unsigned to shut up gcc warnings. Build was broken on
JSVALUE32_64 ports compiling with -Werror.

  • llint/LLIntData.cpp:

(JSC::LLInt::Data::performAssertions):

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

[EFL] Gardening after r134628
https://bugs.webkit.org/show_bug.cgi?id=102368

Unreviewed gardening.

Skip test compositing/overflow/scrolling-without-painting.html added at r134628
and which does not pass on EFL.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-15

  • platform/efl/TestExpectations:
4:23 AM Changeset in webkit [134761] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: [WebGL] cloneNode for images with revoked Blob URIs fails
https://bugs.webkit.org/show_bug.cgi?id=102366

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-11-15
Reviewed by Vsevolod Vlasov.

  • inspector/InjectedScriptCanvasModuleSource.js:

(.):

4:13 AM Changeset in webkit [134760] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebKit2

[EFL][WK2] Add APIs to get/set whether scripts can open new windows.
https://bugs.webkit.org/show_bug.cgi?id=102054

Patch by Yuni Jeong <yhnet.jung@samsung.com> on 2012-11-15
Reviewed by Gyuyoung Kim.

Added setting APIs make it possible to allow or prevent scripts from opening new windows automatically.

  • UIProcess/API/efl/ewk_settings.cpp:

(ewk_settings_scripts_can_open_windows_set):
(ewk_settings_scripts_can_open_windows_get):

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

(TEST_F):

3:35 AM Changeset in webkit [134759] by rniwa@webkit.org
  • 4 edits in trunk/LayoutTests

Fix tests after r134637.

  • fast/harness/perftests/runs-per-second-iterations.html:
  • fast/harness/perftests/runs-per-second-log.html:
  • platform/qt/TestExpectations:
3:34 AM Changeset in webkit [134758] by commit-queue@webkit.org
  • 1 edit
    2 adds in trunk/LayoutTests

[EFL][WK2] Rebase fast/media/mq-js-media-except-01.html after r134618
https://bugs.webkit.org/show_bug.cgi?id=102362

Unreviewed rebaseline.

Rebased fast/media/mq-js-media-except-01.html after r134618.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-15

  • platform/efl-wk2/fast/media/mq-js-media-except-01-expected.txt: Added.
3:01 AM Changeset in webkit [134757] by gyuyoung.kim@samsung.com
  • 2 edits in trunk/Source/WebKit/efl

Unreviewed. Fix build break when using --no-tiled-backing-store option.

  • ewk/ewk_frame_private.h:

(WebCore):

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

[Qt] Unreviewed gardening, skip new failing tests.

  • platform/qt/TestExpectations:
2:07 AM Changeset in webkit [134755] by mrowe@apple.com
  • 4 edits in trunk/Source/WebCore

Build fix.

Disable deprecation warnings in a few places that need it.

  • platform/graphics/ca/mac/TileCache.mm:

(WebCore::TileCache::drawRepaintCounter):

  • platform/graphics/mac/FontMac.mm:

(WebCore::showGlyphsWithAdvances):

  • platform/graphics/mac/WebLayer.mm:

(drawLayerContents):

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

[Qt] Unreviewed gardening. Rebaseline after r134649.

  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-expected.txt:
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body-expected.txt:
  • platform/qt/http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-parent-same-origin-deny-expected.txt:
1:47 AM Changeset in webkit [134753] by tkent@chromium.org
  • 11 edits in trunk

Support stand-alone month names in calendar picker
https://bugs.webkit.org/show_bug.cgi?id=102196

Reviewed by Kentaro Hara.

.:

  • ManualTests/forms/calendar-picker.html:
  • Remove monthLabels arguments.
  • Add a mock implementation of pagePopupController.formatMonth.

Source/WebCore:

We have showed non stand-alone month names in any locales. However
we should show stand-alone month names in some locales such as
Russian.

This patch introduce PagePopupController::formatMonth. It is
exposed to page-popups, and format year-month pairs in the same
way as input[type=month].

No new tests. Affects platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru.html.

  • Resources/pagepopups/calendarPicker.js:

(Month.prototype.toLocaleString):
Calls pagePopupController.formatMonth except Japanese locale.
(handleArgumentsTimeout):
Remove unnecessary default monthLabels.

  • page/PagePopupController.cpp:

(WebCore::PagePopupController::formatMonth): Added.

  • page/PagePopupController.h:

(PagePopupController): Declare formatMonth.

  • page/PagePopupController.idl: Add formatMonth.

Source/WebKit/chromium:

  • src/DateTimeChooserImpl.cpp:

(WebKit::DateTimeChooserImpl::writeDocument):
We don't need to pass monthLabels any more.

LayoutTests:

Update a pixel result for Russian calendar picker. Now it contains
a stand-alone month name.

  • platform/chromium-mac/platform/chromium/fast/forms/calendar-picker/calendar-picker-appearance-ru-expected.png:
1:08 AM Changeset in webkit [134752] by haraken@chromium.org
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed. Rebaselined images.

  • platform/chromium-win/fast/forms/zoomed-controls-expected.png: Added.
  • platform/chromium/TestExpectations:
12:55 AM Changeset in webkit [134751] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: Fix new JS compiler warnings.
https://bugs.webkit.org/show_bug.cgi?id=102341

Patch by Eugene Klyuchnikov <eustas.bug@gmail.com> on 2012-11-15
Reviewed by Yury Semikhatsky.

New version of compiler finds new inconsistencies.

  • inspector/front-end/DOMAgent.js: Replaced 2 simiar cases with loop.
  • inspector/front-end/DOMBreakpointsSidebarPane.js:

Declared instance property on WebInspector.

  • inspector/front-end/Script.js: Normalized parameter notation.
12:53 AM Changeset in webkit [134750] by kenneth@webkit.org
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix.

  • dom/ViewportArguments.cpp:

(WebCore::convertToUserSpace): Add static

12:20 AM Changeset in webkit [134749] by kenneth@webkit.org
  • 3 edits in trunk/Source/WebCore

Refactor ViewportArguments to only use CSS units
https://bugs.webkit.org/show_bug.cgi?id=102287

Reviewed by Noam Rosenthal.

Refactor the ViewportArgument code to use a member method for
resolving the viewport. This new method only uses arguments in
CSS units.

This is preparation for adding the CSS Device Adaptation support.

Tested by existing tests fast/viewport.

  • dom/ViewportArguments.cpp:

(WebCore::clampLengthValue):
(WebCore::clampScaleValue): New utility functions.
(WebCore::ViewportArguments::resolve):
(WebCore::convertToUserSpace): Added until everyone provides arguments
only in CSS units and not device ones.
(WebCore::computeViewportAttributes):
(WebCore::computeMinimumScaleFactorForContentContained):
(WebCore):
(WebCore::restrictMinimumScaleFactorToViewportSize):

  • dom/ViewportArguments.h:

(ViewportArguments):

Note: See TracTimeline for information about the timeline view.