WebKit-https.git
7 years ago[WK2] Sync messages with with non-default timeout sent from secondary threads always...
ap@apple.com [Wed, 14 Aug 2013 21:36:41 +0000 (21:36 +0000)]
[WK2] Sync messages with with non-default timeout sent from secondary threads always time out
https://bugs.webkit.org/show_bug.cgi?id=119767

Fix by Justin Bur.
Reviewed by Darin Adler.

* Platform/CoreIPC/Connection.cpp: (CoreIPC::Connection::sendSyncMessageFromSecondaryThread):
The argument to wait() is absolute time, not a delta. This calculation matches one
in Connection::waitForMessage().

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

7 years ago[CSS Regions] RenderRegions should have a RenderLayer+Backing when they contain a...
achicu@adobe.com [Wed, 14 Aug 2013 21:36:05 +0000 (21:36 +0000)]
[CSS Regions] RenderRegions should have a RenderLayer+Backing when they contain a Composited RenderLayer
https://bugs.webkit.org/show_bug.cgi?id=117365

Reviewed by David Hyatt.

Source/WebCore:

After the RenderFlowThread has a new layout we need to check if any of the children layers
had been moved to a new render region. We are only checking for the first level of layers,
as they are the only ones supported right now. Also, added code to make Regions require a layer
based on the layers that fit in their clipping area.

Tests: fast/regions/layers/dynamic-layer-added-with-no-layout.html
       fast/regions/layers/dynamic-layer-removed-with-no-layout.html
       fast/regions/layers/float-region-promoted-to-layer.html
       fast/regions/layers/regions-promoted-to-layers-horizontal-bt.html
       fast/regions/layers/regions-promoted-to-layers-vertical-lr.html
       fast/regions/layers/regions-promoted-to-layers-vertical-rl.html
       fast/regions/layers/regions-promoted-to-layers.html

* rendering/FlowThreadController.cpp:
(WebCore::FlowThreadController::updateRenderFlowThreadLayersIfNeeded): Iterate on all the flow threads and updateLayerToRegionMappings if needed.
* rendering/FlowThreadController.h:
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateLocalFloatingObjectsForPaintingContainer): Checks if the FloatingObject
needs to be painted by the current block or not.
(WebCore::RenderBlock::updateFloatingObjectsPaintingContainer): Helper function to lookup what is the right
container that would need to paint a FloatingObject.
(WebCore::RenderBlock::updateAllDescendantsFloatingObjectsPaintingContainer):
* rendering/RenderBlock.h:
* rendering/RenderBox.cpp:
(WebCore::RenderBox::outermostBlockContainingFloatingObject): Looks up the ancestor RenderBlock that contains all
the FloatingObjects of a float.
(WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists): Extracted the code for outermostBlockContainingFloatingObject
into its own method.
(WebCore::RenderBox::updatePaintingContainerForFloatingObject): Helper method to update the "m_shouldPaint" flag
of all the FloatingObjects created for a floating RenderObject. Normally, that flag is maintained during layout,
but we need to patch it for the floating RenderRegions after the layout is already finished.
(WebCore::RenderBox::updateLayerIfNeeded): Overwrite of the RenderLayerModelObject::updateLayerIfNeeded that is also
calling updatePaintingContainerForFloatingObject if a new layer was created or destroyed.
* rendering/RenderBox.h:
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::layout): Added code to call updateLayerToRegionMappings when needed.
(WebCore::RenderFlowThread::regionForCompositedLayer): Looks up the first RenderRegion to display a specific layer.
It only cares about the top most point of the element and ignores transforms.
(WebCore::RenderFlowThread::updateRegionForRenderLayer): Helper method to update the mapped region of a layer.
(WebCore::RenderFlowThread::updateLayerToRegionMappings): Iterates all the first level layers of the flow thread
and updates the region. Will return true if there was any change.
* rendering/RenderFlowThread.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::dirtyZOrderLists): When new layers are added or removed we need to update the layer map in the flow thread.
(WebCore::RenderLayer::dirtyNormalFlowList):
(WebCore::RenderLayer::shouldBeNormalFlowOnly): CSS Regions might become layers because they contain RenderLayers,
but they should not become stacking contexts for that reason. This will prevent the RenderRegions from rendering
in front of other layers.
(WebCore::RenderLayer::shouldBeSelfPaintingLayer):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::updateCompositingLayers): Call updateRenderFlowThreadLayersIfNeeded when there's a layer hierarchy update.
(WebCore::RenderLayerCompositor::updateRenderFlowThreadLayersIfNeeded): Update the render flow thread layer maps when they are dirty.
* rendering/RenderLayerCompositor.h:
* rendering/RenderLayer.h:
(WebCore::RenderLayer::isDirtyRenderFlowThread): Used to check if the RenderLayers had changed their order,
so that we can update the list of layers associated with a region. In a following patch we will need to
rebuild the composited layers.
* rendering/RenderLayerModelObject.cpp:
(WebCore::RenderLayerModelObject::updateLayerIfNeeded): Adds or removes a layer when the "requiresLayer" changes
after the styleDidChange already happened. This is needed for Regions as we only know if they still require a layer,
only after the content of the flow thread is computed.
* rendering/RenderLayerModelObject.h:
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::RenderRegion):
(WebCore::RenderRegion::setRequiresLayerForCompositing):
* rendering/RenderRegion.h:
(WebCore::RenderRegion::requiresLayer):
* rendering/RenderTreeAsText.cpp:
(WebCore::writeRenderRegionList): Updated the output to print the fact that the layer has a layer.

LayoutTests:

Added new tests for cases when CSS Regions are promoted to RenderLayers because
they contain elements that might need to become composited.

* fast/regions/layers/dynamic-layer-added-with-no-layout-expected.png: Added.
* fast/regions/layers/dynamic-layer-added-with-no-layout-expected.txt: Added.
* fast/regions/layers/dynamic-layer-added-with-no-layout.html: Added.
* fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.png: Added.
* fast/regions/layers/dynamic-layer-removed-with-no-layout-expected.txt: Added.
* fast/regions/layers/dynamic-layer-removed-with-no-layout.html: Added.
* fast/regions/layers/float-region-promoted-to-layer-expected.html: Added.
* fast/regions/layers/float-region-promoted-to-layer.html: Added.
* fast/regions/layers/regions-promoted-to-layers-expected.txt: Added.
* fast/regions/layers/regions-promoted-to-layers-horizontal-bt-expected.txt: Added.
* fast/regions/layers/regions-promoted-to-layers-horizontal-bt.html: Added.
* fast/regions/layers/regions-promoted-to-layers-vertical-lr-expected.txt: Added.
* fast/regions/layers/regions-promoted-to-layers-vertical-lr.html: Added.
* fast/regions/layers/regions-promoted-to-layers-vertical-rl-expected.txt: Added.
* fast/regions/layers/regions-promoted-to-layers-vertical-rl.html: Added.
* fast/regions/layers/regions-promoted-to-layers.html: Added.

Updated existing tests that now have CSS Regions that require a RenderLayer.
* fast/regions/autoheight-regions-mark-expected.txt:
* fast/repaint/overflow-flipped-writing-mode-block-in-regions-expected.txt:
* fast/repaint/region-painting-via-layout-expected.txt:
* platform/mac/fast/regions/overflow-in-uniform-regions-dynamic-expected.txt:
* platform/mac/fast/regions/overflow-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-moving-below-floats-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-not-moving-below-floats-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-rtl-in-variable-width-regions-expected.txt:
* platform/mac/fast/regions/overflow-size-change-in-variable-width-regions-expected.txt:
* platform/mac/fast/repaint/japanese-rl-selection-repaint-in-regions-expected.txt:
* platform/mac/fast/repaint/line-flow-with-floats-in-regions-expected.txt:

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

7 years ago[GTK] [CMake] Add support for building TestWebKitAPI
mrobinson@webkit.org [Wed, 14 Aug 2013 21:00:39 +0000 (21:00 +0000)]
[GTK] [CMake] Add support for building TestWebKitAPI
https://bugs.webkit.org/show_bug.cgi?id=116987

Reviewed by Philippe Normand.

.:

* Source/cmake/OptionsGTK.cmake: Turn on the API tests in the settings.

Tools:

* TestWebKitAPI/CMakeLists.txt: Move the library listings to before the inclusion of the
platform-specific file, so that GTK+ can override them.
* TestWebKitAPI/PlatformGTK.cmake: Added.

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

7 years ago[Windows] Simplify Setting WebKit Debugging Options in WinLauncher
bfulgham@apple.com [Wed, 14 Aug 2013 20:43:16 +0000 (20:43 +0000)]
[Windows] Simplify Setting WebKit Debugging Options in WinLauncher
https://bugs.webkit.org/show_bug.cgi?id=119775

This bug updates the WinLauncher program with a few useful menu
options to toggle certain debugging and development features of
WebKit.

Reviewed by Tim Horton.

* WinLauncher/WinLauncher.cpp:
(dllLauncherEntryPoint): Clean up preference objects on exit.
(ToggleMenuItem): New function.
(LaunchInspector): New function.
(WndProc): Add handler for new menu items. Also properly terminate
CFRunLoop operation on program exit.
* WinLauncher/WinLauncher.vcxproj/WinLauncherLib.rc: Add new
menu items.
* WinLauncher/WinLauncher.vcxproj/WinLauncherLibCommon.props: Add
resource folder to search path.
* WinLauncher/WinLauncher.vcxproj/WinLauncherLibResource.h: Update
for new menu items.

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

7 years agoFinish making FloatingObject a real class with private members
bjonesbe@adobe.com [Wed, 14 Aug 2013 20:30:14 +0000 (20:30 +0000)]
Finish making FloatingObject a real class with private members
https://bugs.webkit.org/show_bug.cgi?id=119807

This is a port from Blink of
http://src.chromium.org/viewvc/blink?view=revision&revision=155964
Original patch by Eric Seidel.

From his comments on the Blink change:

Previously FloatingObject was in a half-done state where it had
accessors for many members, but also many members were public.

This CL makes all members private and adds the necessary remaining
accessors.

Reviewed by David Hyatt.

No new tests, no behavior change.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::deleteLineBoxTree):
(WebCore::RenderBlock::addOverflowFromFloats):
(WebCore::RenderBlock::repaintOverhangingFloats):
(WebCore::RenderBlock::paintFloats):
(WebCore::RenderBlock::selectionGaps):
(WebCore::RenderBlock::insertFloatingObject):
(WebCore::RenderBlock::removeFloatingObject):
(WebCore::RenderBlock::removeFloatingObjectsBelow):
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::clearFloats):
(WebCore::RenderBlock::addOverhangingFloats):
(WebCore::RenderBlock::addIntrudingFloats):
(WebCore::RenderBlock::hitTestFloats):
(WebCore::RenderBlock::adjustForBorderFit):
* rendering/RenderBlock.h:
(WebCore::RenderBlock::FloatingObject::paginationStrut):
(WebCore::RenderBlock::FloatingObject::setPaginationStrut):
(WebCore::RenderBlock::FloatingObject::setRenderer):
(WebCore::RenderBlock::FloatingObject::originatingLine):
(WebCore::RenderBlock::FloatingObject::setOriginatingLine):
(WebCore::RenderBlock::FloatingObjectHashFunctions::hash):
(WebCore::RenderBlock::FloatingObjectHashFunctions::equal):
(WebCore::RenderBlock::FloatingObjectHashTranslator::equal):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::appendFloatingObjectToLastLine):
(WebCore::RenderBlock::layoutRunsAndFloatsInRange):
(WebCore::RenderBlock::linkToEndLineIfNeeded):
(WebCore::RenderBlock::determineStartPosition):
(WebCore::RenderBlock::positionNewFloatOnLine):

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

7 years agoUnreviewed build fix for Win64 after r153943.
achristensen@apple.com [Wed, 14 Aug 2013 20:23:33 +0000 (20:23 +0000)]
Unreviewed build fix for Win64 after r153943.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
Added 64-bit linker symbol for frameOrientationAtIndex.

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

7 years agoREGRESSION (r153877): Plugin scanning slows creation of WebViews
timothy_horton@apple.com [Wed, 14 Aug 2013 20:21:05 +0000 (20:21 +0000)]
REGRESSION (r153877): Plugin scanning slows creation of WebViews
https://bugs.webkit.org/show_bug.cgi?id=119665
<rdar://problem/14716549>

Reviewed by Darin Adler.

Source/WebKit/mac:

* Plugins/WebPluginDatabase.h:
* Plugins/WebPluginDatabase.mm:
(+[WebPluginDatabase sharedDatabaseIfExists]): Added.

* WebCoreSupport/WebPlatformStrategies.mm:
(WebPlatformStrategies::refreshPlugins):
Only refresh the plugin database if it's already been loaded.

Source/WebKit2:

* WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
(WebKit::WebPlatformStrategies::refreshPlugins):
Don't repopulate the plugin cache in refreshPlugins, just invalidate it.
It will be repopulated the next time something tries to use it.

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

7 years agoCompile fix for Win64 with jit disabled.
achristensen@apple.com [Wed, 14 Aug 2013 20:16:49 +0000 (20:16 +0000)]
Compile fix for Win64 with jit disabled.
https://bugs.webkit.org/show_bug.cgi?id=119804

Reviewed by Michael Saboff.

* offlineasm/cloop.rb: Added std:: before isnan.

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

7 years ago<http://webkit.org/b/119520> REGRESSION(154062): fast/repaint/caret-jump-between...
akling@apple.com [Wed, 14 Aug 2013 19:51:36 +0000 (19:51 +0000)]
<webkit.org/b/119520> REGRESSION(154062): fast/repaint/caret-jump-between-nodes.html flakes on bots.

Unreviewed. This isn't working out. I can't get it to blink the caret a consistent number of times.
Removing the test for now to stop making bots red.

* fast/repaint/caret-jump-between-nodes-expected.txt: Removed.
* fast/repaint/caret-jump-between-nodes.html: Removed.

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

7 years agoAssertion failure in RenderObject::drawLineForBoxSide
rwlbuis@webkit.org [Wed, 14 Aug 2013 19:14:00 +0000 (19:14 +0000)]
Assertion failure in RenderObject::drawLineForBoxSide
https://bugs.webkit.org/show_bug.cgi?id=108187

Reviewed by David Hyatt.

Source/WebCore:

Don't draw the outline if the rectangle to draw is empty.

Test: fast/css/outline-negative.html

* rendering/RenderInline.cpp:
(WebCore::RenderInline::paintOutlineForLine):

LayoutTests:

Add testcase from bug with small adjustments.

* fast/css/outline-negative-expected.txt: Added.
* fast/css/outline-negative.html: Added.

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

7 years agoREGRESSION(r153815): fast/repaint/caret-jump-between-nodes.html sucks.
akling@apple.com [Wed, 14 Aug 2013 18:51:19 +0000 (18:51 +0000)]
REGRESSION(r153815): fast/repaint/caret-jump-between-nodes.html sucks.
<http://webkit.org/b/119520>

Unreviewed, remove the description text from this repaint test in an attempt
to get consistent cross-platform results.

* fast/repaint/caret-jump-between-nodes-expected.txt:
* fast/repaint/caret-jump-between-nodes.html:
* platform/gtk/fast/repaint/caret-jump-between-nodes-expected.txt: Removed.
* platform/qt-5.0-wk2/fast/repaint/caret-jump-between-nodes-expected.txt: Removed.
* platform/qt/fast/repaint/caret-jump-between-nodes-expected.txt: Removed.

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

7 years agoAdd a hyperlink from build.webkit.org to the flakiness dashboard.
rniwa@webkit.org [Wed, 14 Aug 2013 18:42:21 +0000 (18:42 +0000)]
Add a hyperlink from build.webkit.org to the flakiness dashboard.

Rubbers-tamped by Simon Fraser.

* BuildSlaveSupport/build.webkit.org-config/templates/root.html:

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

7 years agoAX: Headings not longer have an AXTitle if they have a link as the only child
cfleizach@apple.com [Wed, 14 Aug 2013 17:44:11 +0000 (17:44 +0000)]
AX: Headings not longer have an AXTitle if they have a link as the only child
https://bugs.webkit.org/show_bug.cgi?id=119699

Reviewed by Anders Carlsson.

Source/WebCore:

Normally, focusable content is not incuded when looking at the visible text of an element.
One case where we need an exception is with headings, where there is usually link content inside the heading
that we want to be used as the visible text.

Test: accessibility/heading-title-includes-links.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::visibleText):
(WebCore::shouldUseAccessiblityObjectInnerText):
(WebCore::AccessibilityNodeObject::title):
* accessibility/AccessibilityNodeObject.h:
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityTextUnderElementMode::AccessibilityTextUnderElementMode):
(WebCore::AccessibilityObject::textUnderElement):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::textUnderElement):
* accessibility/AccessibilityRenderObject.h:

LayoutTests:

* accessibility/heading-title-includes-links.html: Added.
* platform/mac/accessibility/heading-title-includes-links-expected.txt: Added.
* platform/mac/accessibility/internal-link-anchors2-expected.txt:

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

7 years agoMove id attribute to parent Element interface
ch.dumez@sisa.samsung.com [Wed, 14 Aug 2013 17:41:57 +0000 (17:41 +0000)]
Move id attribute to parent Element interface
https://bugs.webkit.org/show_bug.cgi?id=119706

Reviewed by Ryosuke Niwa.

Source/WebCore:

Move id attribute from SVGElement / HTMLElement to their Element parent
interface to match the latest DOM specification and avoid duplication:
http://dom.spec.whatwg.org/#dom-element-id

There is no web-exposed behavior change because we haven't moved
properties from instances to their prototype, as per the Web IDL
specification (http://dev.w3.org/2006/webapi/WebIDL/#es-attributes).

Firefox already exposes the id property of Element's prototype.

This patch also drops the comment about returning the empty string when
no id is present (introduced in http://trac.webkit.org/changeset/4417).
This comment is redundant since the id property is already marked to
"reflect" the id attribute. Returning the empty string when the
attribute is not present is the normal behavior when reflecting:
http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#reflect

No new test, no web-exposed behavior change.

* dom/Element.idl:
* html/HTMLElement.idl:
* svg/SVGElement.idl:

LayoutTests:

Rebaseline fast/js/dom-static-property-for-in-iteration.html as
the order has changed.

* fast/js/dom-static-property-for-in-iteration-expected.txt:

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

7 years agocreateAttribute/setAttributeNode does not properly normalize case
a.bah@samsung.com [Wed, 14 Aug 2013 17:08:36 +0000 (17:08 +0000)]
createAttribute/setAttributeNode does not properly normalize case
https://bugs.webkit.org/show_bug.cgi?id=90341

Reviewed by Darin Adler.

Source/WebCore:

setAttributeNode() verifies for existing attributes in a case sensitive
manner. Thus, it would add another attribute if specified in a case
different from the existing one. Instead, like setAttribute(), it too
should modify the existing attribute's value.

Tests: fast/dom/Element/setAttributeNode-case-insensitivity-xhtml.xhtml
       fast/dom/Element/setAttributeNode-case-insensitivity.html

* dom/Element.cpp:
(WebCore::Element::setAttributeNode):
Passing the second param (shouldIgnoreAttributeCase) to
findAttributeIndexByNameForAttributeNode() method. We are now letting
findAttributeIndexByNameForAttributeNode() handle the case-sensitive/insensitive
checking.

(WebCore::ElementData::findAttributeIndexByNameForAttributeNode):
* dom/Element.h:
Added shouldIgnoreAttributeCase boolean param to the method. It passes
this on to QualifiedName::matchesIgnoringCaseForLocalName() method.

* dom/QualifiedName.h:
(WebCore::QualifiedName::matchesIgnoringCaseForLocalName):
New method added for doing a case-insensitive comparison based on the
shouldIgnoreCase param passed to this method.

LayoutTests:

* fast/dom/Element/setAttributeNode-case-insensitivity.html: Added.
* fast/dom/Element/setAttributeNode-case-insensitivity-expected.txt: Added.
Testcase for verifying that setAttributeNode() checks against existing
attributes in a case insensitive manner. It updates the value of an
existing attribute (in lower case) with that of the one set using
setAttributeNode() (in upper case).
The test also verifies the behavior of attributes when specified with
namespace and prefix.

* fast/dom/Element/setAttributeNode-case-insensitivity-xhtml-expected.txt: Added.
* fast/dom/Element/setAttributeNode-case-insensitivity-xhtml.xhtml: Added.
Testcase added for verifying that the default behavior for xhtml documents
does not change with this fix.
For xhtml documents, attributes can be added case sensitively. This testcase
verifies that two attributes with the same name but different case are
allowed for an xhtml document.

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

7 years ago[Qt] Activate visibility API layout tests
allan.jensen@digia.com [Wed, 14 Aug 2013 16:52:00 +0000 (16:52 +0000)]
[Qt] Activate visibility API layout tests
https://bugs.webkit.org/show_bug.cgi?id=119790

Patch by Benjamin Dupont <bdupont@nds.com> on 2013-08-14
Reviewed by Allan Sandfeld Jensen.

Tools:

* DumpRenderTree/qt/TestRunnerQt.cpp:
(TestRunner::resetPageVisibility):
(TestRunner::setPageVisibility):

LayoutTests:

* platform/qt/TestExpectations:

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

7 years agoDFG_JIT implementation for sh4 architecture.
allan.jensen@digia.com [Wed, 14 Aug 2013 16:51:10 +0000 (16:51 +0000)]
DFG_JIT implementation for sh4 architecture.
https://bugs.webkit.org/show_bug.cgi?id=119737

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-08-14
Reviewed by Oliver Hunt.

Source/JavaScriptCore:

* assembler/MacroAssemblerSH4.h:
(JSC::MacroAssemblerSH4::invert):
(JSC::MacroAssemblerSH4::add32):
(JSC::MacroAssemblerSH4::and32):
(JSC::MacroAssemblerSH4::lshift32):
(JSC::MacroAssemblerSH4::mul32):
(JSC::MacroAssemblerSH4::or32):
(JSC::MacroAssemblerSH4::rshift32):
(JSC::MacroAssemblerSH4::sub32):
(JSC::MacroAssemblerSH4::xor32):
(JSC::MacroAssemblerSH4::store32):
(JSC::MacroAssemblerSH4::swapDouble):
(JSC::MacroAssemblerSH4::storeDouble):
(JSC::MacroAssemblerSH4::subDouble):
(JSC::MacroAssemblerSH4::mulDouble):
(JSC::MacroAssemblerSH4::divDouble):
(JSC::MacroAssemblerSH4::negateDouble):
(JSC::MacroAssemblerSH4::zeroExtend32ToPtr):
(JSC::MacroAssemblerSH4::branchTruncateDoubleToUint32):
(JSC::MacroAssemblerSH4::truncateDoubleToUint32):
(JSC::MacroAssemblerSH4::swap):
(JSC::MacroAssemblerSH4::jump):
(JSC::MacroAssemblerSH4::branchNeg32):
(JSC::MacroAssemblerSH4::branchAdd32):
(JSC::MacroAssemblerSH4::branchMul32):
(JSC::MacroAssemblerSH4::urshift32):
* assembler/SH4Assembler.h:
(JSC::SH4Assembler::SH4Assembler):
(JSC::SH4Assembler::labelForWatchpoint):
(JSC::SH4Assembler::label):
(JSC::SH4Assembler::debugOffset):
* dfg/DFGAssemblyHelpers.h:
(JSC::DFG::AssemblyHelpers::preserveReturnAddressAfterCall):
(JSC::DFG::AssemblyHelpers::restoreReturnAddressBeforeReturn):
(JSC::DFG::AssemblyHelpers::debugCall):
* dfg/DFGCCallHelpers.h:
(JSC::DFG::CCallHelpers::setupArguments):
(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):
* dfg/DFGFPRInfo.h:
(JSC::DFG::FPRInfo::toRegister):
(JSC::DFG::FPRInfo::toIndex):
(JSC::DFG::FPRInfo::debugName):
* dfg/DFGGPRInfo.h:
(JSC::DFG::GPRInfo::toRegister):
(JSC::DFG::GPRInfo::toIndex):
(JSC::DFG::GPRInfo::debugName):
* dfg/DFGOperations.cpp:
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
* jit/JITStubs.h:
* jit/JITStubsSH4.h:

Source/WTF:

* wtf/Platform.h:

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

7 years ago[CMake] Fix building with bison-3.0.
commit-queue@webkit.org [Wed, 14 Aug 2013 16:42:23 +0000 (16:42 +0000)]
[CMake] Fix building with bison-3.0.
https://bugs.webkit.org/show_bug.cgi?id=119788

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-08-14
Reviewed by Zoltan Herczeg.

No new tests, just build fix.

* CMakeLists.txt:

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

7 years agoRevert r154019; causes >50 tests to fail on WebKit1 bots.
jer.noble@apple.com [Wed, 14 Aug 2013 16:19:21 +0000 (16:19 +0000)]
Revert r154019; causes >50 tests to fail on WebKit1 bots.

* Plugins/Hosted/NetscapePluginHostManager.h:
* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::instantiatePlugin):
* Plugins/Hosted/NetscapePluginHostProxy.mm:
* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
* Plugins/Hosted/WebHostedNetscapePluginView.h:
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView setAttributeKeys:andValues:]):
(-[WebHostedNetscapePluginView createPlugin]):
(-[WebHostedNetscapePluginView updateAndSetWindow]):
* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/Hosted/WebKitPluginHost.defs:

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

7 years agoASSERTION FAILED: resultAnimationElement->m_animatedType in WebCore::SVGAnimateElemen...
rwlbuis@webkit.org [Wed, 14 Aug 2013 15:43:19 +0000 (15:43 +0000)]
ASSERTION FAILED: resultAnimationElement->m_animatedType in WebCore::SVGAnimateElement::calculateAnimatedValue
https://bugs.webkit.org/show_bug.cgi?id=119748

Reviewed by Dirk Schulze.

Source/WebCore:

Avoid animation when attributeType="CSS" is used on an animateTransform.

Tests: svg/animations/animateTransform-translate-attributetype-auto.html
       svg/animations/animateTransform-translate-invalid-attributetype.html

* svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::hasValidAttributeType):

LayoutTests:

Test that using animateTransform with attributeType="CSS" will cause no animateTransform animation, and
attributeType="auto" will act as "XML".

* svg/animations/animateTransform-translate-attributetype-auto-expected.txt: Added.
* svg/animations/animateTransform-translate-attributetype-auto.html: Added.
* svg/animations/animateTransform-translate-invalid-attributetype-expected.txt: Added.
* svg/animations/animateTransform-translate-invalid-attributetype.html: Added.
* svg/animations/script-tests/animateTransform-translate-attributetype-auto.js: Added.
(sample1):
(sample2):
(sample3):
(executeTest):
* svg/animations/script-tests/animateTransform-translate-invalid-attributetype.js: Added.
(sample):
(executeTest):

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

7 years agoTry to fix Qt build.
antti@apple.com [Wed, 14 Aug 2013 14:49:21 +0000 (14:49 +0000)]
Try to fix Qt build.

Not reviewed.

* xml/parser/XMLDocumentParserQt.cpp:
(WebCore::XMLDocumentParser::parseProcessingInstruction):
(WebCore::XMLDocumentParser::parseCdata):
(WebCore::XMLDocumentParser::parseComment):

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

7 years agoRemove Node::attach() and ContainerNode::attach()
antti@apple.com [Wed, 14 Aug 2013 14:02:59 +0000 (14:02 +0000)]
Remove Node::attach() and ContainerNode::attach()
https://bugs.webkit.org/show_bug.cgi?id=119698

Reviewed by Andreas Kling.

Currently attach() is a virtual function on Node. However only Elements have style and so a corresponding
independent render object. Attaching should be made Element level concept.

This patch merges Node::attach() and ContainerNode::attach() to Element::attach(). Other related functions
(detach(), reattach(), etc) move similarly.

Next step here is to make attach non-virtual in common case and move it out from the DOM tree.

* dom/ContainerNode.cpp:
(WebCore::attachChild):
(WebCore::detachChild):

    Temporary helpers. Further refactoring should get rid of these.

(WebCore::ContainerNode::takeAllChildrenFrom):
(WebCore::ContainerNode::removeBetween):
(WebCore::updateTreeAfterInsertion):
* dom/ContainerNode.h:
* dom/Document.cpp:
(WebCore::Document::attach):
(WebCore::Document::detach):

    Copy the relevant parts of the code from base class attach/detach here. It is not much.

* dom/Document.h:
* dom/Element.cpp:
(WebCore::Element::~Element):

    Node destructor no longer detaches.

(WebCore::Element::attachChildren):
(WebCore::Element::attach):

    Combine Node::attach(), ContainerNode::attach() and Element::attach().

(WebCore::Element::detachChildren):
(WebCore::Element::detach):

    Combine Node::detach(), ContainerNode::detach() and Element::detach().

(WebCore::Element::reattach):
(WebCore::Element::reattachIfAttached):
(WebCore::Element::lazyReattach):
(WebCore::Element::lazyAttach):

    This stuff moves from ContainerNode/Node.

* dom/Element.h:
(WebCore::Element::AttachContext::AttachContext):
* dom/ElementShadow.cpp:
(WebCore::ElementShadow::removeShadowRoot):
(WebCore::ElementShadow::attach):
(WebCore::ElementShadow::detach):
* dom/ElementShadow.h:
* dom/Node.cpp:
(WebCore::Node::~Node):

    Assert that we are not attached at this point.

(WebCore::Node::markAncestorsWithChildNeedsStyleRecalc):
* dom/Node.h:
(WebCore::Node::setAttached):
(WebCore::Node::setStyleChange):

    Make available.

* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::NodeRenderingContext):
* dom/NodeRenderingContext.h:
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::attach):
(WebCore::ShadowRoot::detach):
* dom/ShadowRoot.h:
* dom/Text.cpp:
(WebCore::Text::~Text):

    Node destructor no longer detaches. Add destructor.

(WebCore::Text::createTextRenderersForSiblingsAfterAttachIfNeeded):

    Factor the code that updates sibling text renderers after attach into a function.

(WebCore::Text::attachText):
(WebCore::Text::detachText):

    Text::attachText/detachText replace virtual Node::attach/detach. They do the part of the work text nodes actually ended up doing.

(WebCore::Text::updateTextRenderer):
* dom/Text.h:
* html/HTMLViewSourceDocument.cpp:
(WebCore::HTMLViewSourceDocument::addText):
* html/PluginDocument.cpp:
(WebCore::PluginDocument::detach):
* html/PluginDocument.h:
* html/parser/HTMLConstructionSite.cpp:
(WebCore::executeTask):
* html/shadow/ContentDistributor.cpp:
(WebCore::ContentDistributor::invalidateDistribution):
* html/shadow/InsertionPoint.cpp:
(WebCore::InsertionPoint::attach):
(WebCore::InsertionPoint::detach):
* loader/PlaceholderDocument.cpp:
(WebCore::PlaceholderDocument::attach):
* loader/PlaceholderDocument.h:
* style/StyleResolveTree.cpp:
(WebCore::Style::resolveLocal):
(WebCore::Style::updateTextStyle):
* xml/parser/XMLDocumentParser.cpp:
(WebCore::XMLDocumentParser::exitText):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::XMLDocumentParser::processingInstruction):
(WebCore::XMLDocumentParser::cdataBlock):
(WebCore::XMLDocumentParser::comment):

    No need to attach non-rendered nodes.

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

7 years ago[Qt] Unreviewd gardening. Skipping failing tests on x86.
zarvai@inf.u-szeged.hu [Wed, 14 Aug 2013 13:39:22 +0000 (13:39 +0000)]
[Qt] Unreviewd gardening. Skipping failing tests on x86.

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-08-14

* platform/qt/TestExpectations:

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

7 years agoASSERT(m_frame->view() == this) fails
allan.jensen@digia.com [Wed, 14 Aug 2013 11:29:32 +0000 (11:29 +0000)]
ASSERT(m_frame->view() == this) fails
https://bugs.webkit.org/show_bug.cgi?id=119015

Reviewed by Simon Fraser.

Introduced the method fixedLayoutSizeChanged and made it chack if the view
is attached to the frame before issuing contentsResized.

* page/FrameView.cpp:
(WebCore::FrameView::fixedLayoutSizeChanged):
* page/FrameView.h:
* platform/ScrollView.cpp:
(WebCore::ScrollView::setFixedLayoutSize):
(WebCore::ScrollView::setUseFixedLayout):
(WebCore::ScrollView::fixedLayoutSizeChanged):
* platform/ScrollView.h:

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

7 years ago[CSS Grid Layout] Align our grid-line handling with the updated specification
sergio@webkit.org [Wed, 14 Aug 2013 10:40:40 +0000 (10:40 +0000)]
[CSS Grid Layout] Align our grid-line handling with the updated specification
https://bugs.webkit.org/show_bug.cgi?id=113546

Reviewed by Andreas Kling.

From Blink r148091 by <jchaffraix@chromium.org>

Source/WebCore:

This change makes us match the updated specification by making
grid line numbers to always resolve against the
grid-{column|row}-start edge (the previous code would resolve
grid-{column|row}-end grid lines against the grid-{column|row}-end
edge).

To keep feature parity, negative numbers resolve against the
grid-{column|row}-end edge of the 'explicit grid'.

Test: fast/css-grid-layout/grid-item-negative-integer-explicit-grid-resolution.html

* rendering/RenderGrid.cpp:
(WebCore::estimatedGridSizeForPosition):
(WebCore::RenderGrid::explicitGridColumnCount): New utility function.
(WebCore::RenderGrid::explicitGridRowCount): Ditto.
(WebCore::RenderGrid::maximumIndexInDirection): Use explicitGridXXXCount().
(WebCore::RenderGrid::resolveGridPositionsFromStyle): Check that row-end > row-start.
(WebCore::RenderGrid::resolveGridPositionFromStyle): Clamp negative values to the first line.
* rendering/RenderGrid.h:
* rendering/style/GridPosition.h:

LayoutTests:

Added a couple of new tests to cover the cases of grid resolutions
using negative integers. Negative integers must resolve against
the grid-{column|row}-end of the explicit grid.

* fast/css-grid-layout/grid-auto-flow-resolution-expected.txt:
* fast/css-grid-layout/grid-auto-flow-resolution.html:
* fast/css-grid-layout/grid-item-negative-integer-explicit-grid-resolution-expected.txt: Added.
* fast/css-grid-layout/grid-item-negative-integer-explicit-grid-resolution.html: Added.
* fast/css-grid-layout/grid-item-spanning-resolution-expected.txt:
* fast/css-grid-layout/grid-item-spanning-resolution.html:
* fast/css-grid-layout/resources/grid.css:
(.autoLastRowAutoLastColumn):
(.autoSecondRowAutoFirstColumn):
(.firstRowBothColumn):
(.secondRowBothColumn):
(.bothRowFirstColumn):
(.bothRowSecondColumn):
(.bothRowBothColumn):

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

7 years agoAdd toSVGTextPathElement(), and use it
gyuyoung.kim@samsung.com [Wed, 14 Aug 2013 10:12:38 +0000 (10:12 +0000)]
Add toSVGTextPathElement(), and use it
https://bugs.webkit.org/show_bug.cgi?id=119783

Reviewed by Ryosuke Niwa.

As a step to clean-up static_cast<SVGXXX>, static_cast<SVGTextPathElement*> can
be changed with toSVGTextPathElement().

* rendering/svg/RenderSVGTextPath.cpp:
(WebCore::RenderSVGTextPath::layoutPath):
(WebCore::RenderSVGTextPath::startOffset):
(WebCore::RenderSVGTextPath::exactAlignment):
(WebCore::RenderSVGTextPath::stretchMethod):
* svg/SVGTextPathElement.h:
(WebCore::toSVGTextPathElement):

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

7 years agoFEComponentTransfer could be faster.
commit-queue@webkit.org [Wed, 14 Aug 2013 07:49:22 +0000 (07:49 +0000)]
FEComponentTransfer could be faster.
https://bugs.webkit.org/show_bug.cgi?id=119671

Patch by Jinwoo Jeong <jw00.jeong@samsung.com> on 2013-08-14
Reviewed by Christophe Dumez.

Use direct writing to target data instead of calling Uint8ClampedArray::set() function.
This change reduces at least 80% time in the loop of that function.

The Uint8ClampedArray::set() function has index checking code, value checking code and value casting code.
But the index is managed by for loop condition, the value is generated by transferFunction.
And the value is already defined as unsigned char.
Thus all works in Uint8ClampedArray::set() function is redundant.
Removing the call to Uint8ClampedArray::set() function does not reduce stability but improves performance.

* platform/graphics/filters/FEComponentTransfer.cpp:
(WebCore::FEComponentTransfer::platformApplySoftware):

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

7 years ago[GTK] WK does not link properly against libxslt
calvaris@igalia.com [Wed, 14 Aug 2013 06:36:20 +0000 (06:36 +0000)]
[GTK] WK does not link properly against libxslt
https://bugs.webkit.org/show_bug.cgi?id=119688

Reviewed by Gustavo Noronha Silva.

Source/WebKit/gtk:

* GNUmakefile.am: Added LIBXSLT_LIBS to the unit tests.

Tools:

* MiniBrowser/gtk/GNUmakefile.am: Added LIBXSLT_LIBS to
MiniBrowser.
* WebKitTestRunner/GNUmakefile.am: Added LIBXSLT_LIBS to WTR.

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

7 years agoUnreviewed, fix build.
fpizlo@apple.com [Wed, 14 Aug 2013 05:21:10 +0000 (05:21 +0000)]
Unreviewed, fix build.

* API/JSValue.mm:
(isDate):
(isArray):
* API/JSWrapperMap.mm:
(tryUnwrapObjcObject):
* API/ObjCCallbackFunction.mm:
(tryUnwrapBlock):

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

7 years agoThe length of scheme is at least five characters even when the scheme has 'web+'...
gyuyoung.kim@samsung.com [Wed, 14 Aug 2013 03:08:31 +0000 (03:08 +0000)]
The length of scheme is at least five characters even when the scheme has 'web+' prefix
https://bugs.webkit.org/show_bug.cgi?id=119779

Reviewed by Ryosuke Niwa.

Source/WebCore:

The content-scheme handler specification requires that it is SecurityError if the length of
scheme isn't five characters at least, including 'web+' prefix. Thus, we need to check the length
of scheme on the 'web+' scheme.

Spec: http://www.whatwg.org/specs/web-apps/current-work/#custom-handlers

No new tests, just modify existing tests.

* Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
(WebCore::verifyProtocolHandlerScheme):

LayoutTests:

Add a test case to check if the length of 'web+' is five characters at least.

* fast/dom/register-protocol-handler-expected.txt:
* fast/dom/register-protocol-handler.html:
* fast/dom/unregister-protocol-handler-expected.txt:
* fast/dom/unregister-protocol-handler.html:
* platform/efl/fast/dom/register-protocol-handler-expected.txt:
* platform/efl/fast/dom/unregister-protocol-handler-expected.txt:

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

7 years agoFoo::s_info should be Foo::info(), so that you can change how the s_info is actually...
fpizlo@apple.com [Wed, 14 Aug 2013 02:41:47 +0000 (02:41 +0000)]
Foo::s_info should be Foo::info(), so that you can change how the s_info is actually linked
https://bugs.webkit.org/show_bug.cgi?id=119770

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

* API/JSCallbackConstructor.cpp:
(JSC::JSCallbackConstructor::finishCreation):
* API/JSCallbackConstructor.h:
(JSC::JSCallbackConstructor::createStructure):
* API/JSCallbackFunction.cpp:
(JSC::JSCallbackFunction::finishCreation):
* API/JSCallbackFunction.h:
(JSC::JSCallbackFunction::createStructure):
* API/JSCallbackObject.cpp:
(JSC::::createStructure):
* API/JSCallbackObject.h:
(JSC::JSCallbackObject::visitChildren):
* API/JSCallbackObjectFunctions.h:
(JSC::::asCallbackObject):
(JSC::::finishCreation):
* API/JSObjectRef.cpp:
(JSObjectGetPrivate):
(JSObjectSetPrivate):
(JSObjectGetPrivateProperty):
(JSObjectSetPrivateProperty):
(JSObjectDeletePrivateProperty):
* API/JSValueRef.cpp:
(JSValueIsObjectOfClass):
* API/JSWeakObjectMapRefPrivate.cpp:
* API/ObjCCallbackFunction.h:
(JSC::ObjCCallbackFunction::createStructure):
* JSCTypedArrayStubs.h:
* bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::CallLinkStatus):
(JSC::CallLinkStatus::function):
(JSC::CallLinkStatus::internalFunction):
* bytecode/CodeBlock.h:
(JSC::baselineCodeBlockForInlineCallFrame):
* bytecode/SpeculatedType.cpp:
(JSC::speculationFromClassInfo):
* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedFunctionExecutable::visitChildren):
(JSC::UnlinkedCodeBlock::visitChildren):
(JSC::UnlinkedProgramCodeBlock::visitChildren):
* bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedFunctionExecutable::createStructure):
(JSC::UnlinkedProgramCodeBlock::createStructure):
(JSC::UnlinkedEvalCodeBlock::createStructure):
(JSC::UnlinkedFunctionCodeBlock::createStructure):
* debugger/Debugger.cpp:
* debugger/DebuggerActivation.cpp:
(JSC::DebuggerActivation::visitChildren):
* debugger/DebuggerActivation.h:
(JSC::DebuggerActivation::createStructure):
* debugger/DebuggerCallFrame.cpp:
(JSC::DebuggerCallFrame::functionName):
* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::::executeEffects):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::isStringPrototypeMethodSane):
(JSC::DFG::FixupPhase::canOptimizeStringObjectAccess):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::isInternalFunctionConstant):
* dfg/DFGOperations.cpp:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::checkArray):
(JSC::DFG::SpeculativeJIT::compileNewStringObject):
* dfg/DFGThunks.cpp:
(JSC::DFG::virtualForThunkGenerator):
* interpreter/Interpreter.cpp:
(JSC::loadVarargs):
* jsc.cpp:
(GlobalObject::createStructure):
* profiler/LegacyProfiler.cpp:
(JSC::LegacyProfiler::createCallIdentifier):
* runtime/Arguments.cpp:
(JSC::Arguments::visitChildren):
* runtime/Arguments.h:
(JSC::Arguments::createStructure):
(JSC::asArguments):
(JSC::Arguments::finishCreation):
* runtime/ArrayConstructor.cpp:
(JSC::arrayConstructorIsArray):
* runtime/ArrayConstructor.h:
(JSC::ArrayConstructor::createStructure):
* runtime/ArrayPrototype.cpp:
(JSC::ArrayPrototype::finishCreation):
(JSC::arrayProtoFuncConcat):
(JSC::attemptFastSort):
* runtime/ArrayPrototype.h:
(JSC::ArrayPrototype::createStructure):
* runtime/BooleanConstructor.h:
(JSC::BooleanConstructor::createStructure):
* runtime/BooleanObject.cpp:
(JSC::BooleanObject::finishCreation):
* runtime/BooleanObject.h:
(JSC::BooleanObject::createStructure):
(JSC::asBooleanObject):
* runtime/BooleanPrototype.cpp:
(JSC::BooleanPrototype::finishCreation):
(JSC::booleanProtoFuncToString):
(JSC::booleanProtoFuncValueOf):
* runtime/BooleanPrototype.h:
(JSC::BooleanPrototype::createStructure):
* runtime/DateConstructor.cpp:
(JSC::constructDate):
* runtime/DateConstructor.h:
(JSC::DateConstructor::createStructure):
* runtime/DateInstance.cpp:
(JSC::DateInstance::finishCreation):
* runtime/DateInstance.h:
(JSC::DateInstance::createStructure):
(JSC::asDateInstance):
* runtime/DatePrototype.cpp:
(JSC::formateDateInstance):
(JSC::DatePrototype::finishCreation):
(JSC::dateProtoFuncToISOString):
(JSC::dateProtoFuncToLocaleString):
(JSC::dateProtoFuncToLocaleDateString):
(JSC::dateProtoFuncToLocaleTimeString):
(JSC::dateProtoFuncGetTime):
(JSC::dateProtoFuncGetFullYear):
(JSC::dateProtoFuncGetUTCFullYear):
(JSC::dateProtoFuncGetMonth):
(JSC::dateProtoFuncGetUTCMonth):
(JSC::dateProtoFuncGetDate):
(JSC::dateProtoFuncGetUTCDate):
(JSC::dateProtoFuncGetDay):
(JSC::dateProtoFuncGetUTCDay):
(JSC::dateProtoFuncGetHours):
(JSC::dateProtoFuncGetUTCHours):
(JSC::dateProtoFuncGetMinutes):
(JSC::dateProtoFuncGetUTCMinutes):
(JSC::dateProtoFuncGetSeconds):
(JSC::dateProtoFuncGetUTCSeconds):
(JSC::dateProtoFuncGetMilliSeconds):
(JSC::dateProtoFuncGetUTCMilliseconds):
(JSC::dateProtoFuncGetTimezoneOffset):
(JSC::dateProtoFuncSetTime):
(JSC::setNewValueFromTimeArgs):
(JSC::setNewValueFromDateArgs):
(JSC::dateProtoFuncSetYear):
(JSC::dateProtoFuncGetYear):
* runtime/DatePrototype.h:
(JSC::DatePrototype::createStructure):
* runtime/Error.h:
(JSC::StrictModeTypeErrorFunction::createStructure):
* runtime/ErrorConstructor.h:
(JSC::ErrorConstructor::createStructure):
* runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::finishCreation):
* runtime/ErrorInstance.h:
(JSC::ErrorInstance::createStructure):
* runtime/ErrorPrototype.cpp:
(JSC::ErrorPrototype::finishCreation):
* runtime/ErrorPrototype.h:
(JSC::ErrorPrototype::createStructure):
* runtime/ExceptionHelpers.cpp:
(JSC::isTerminatedExecutionException):
* runtime/ExceptionHelpers.h:
(JSC::TerminatedExecutionError::createStructure):
* runtime/Executable.cpp:
(JSC::EvalExecutable::visitChildren):
(JSC::ProgramExecutable::visitChildren):
(JSC::FunctionExecutable::visitChildren):
(JSC::ExecutableBase::hashFor):
* runtime/Executable.h:
(JSC::ExecutableBase::createStructure):
(JSC::NativeExecutable::createStructure):
(JSC::EvalExecutable::createStructure):
(JSC::ProgramExecutable::createStructure):
(JSC::FunctionExecutable::compileFor):
(JSC::FunctionExecutable::compileOptimizedFor):
(JSC::FunctionExecutable::createStructure):
* runtime/FunctionConstructor.h:
(JSC::FunctionConstructor::createStructure):
* runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncToString):
(JSC::functionProtoFuncApply):
(JSC::functionProtoFuncBind):
* runtime/FunctionPrototype.h:
(JSC::FunctionPrototype::createStructure):
* runtime/GetterSetter.cpp:
(JSC::GetterSetter::visitChildren):
* runtime/GetterSetter.h:
(JSC::GetterSetter::createStructure):
* runtime/InternalFunction.cpp:
(JSC::InternalFunction::finishCreation):
* runtime/InternalFunction.h:
(JSC::InternalFunction::createStructure):
(JSC::asInternalFunction):
* runtime/JSAPIValueWrapper.h:
(JSC::JSAPIValueWrapper::createStructure):
* runtime/JSActivation.cpp:
(JSC::JSActivation::visitChildren):
(JSC::JSActivation::argumentsGetter):
* runtime/JSActivation.h:
(JSC::JSActivation::createStructure):
(JSC::asActivation):
* runtime/JSArray.h:
(JSC::JSArray::createStructure):
(JSC::asArray):
(JSC::isJSArray):
* runtime/JSBoundFunction.cpp:
(JSC::JSBoundFunction::finishCreation):
(JSC::JSBoundFunction::visitChildren):
* runtime/JSBoundFunction.h:
(JSC::JSBoundFunction::createStructure):
* runtime/JSCJSValue.cpp:
(JSC::JSValue::dumpInContext):
* runtime/JSCJSValueInlines.h:
(JSC::JSValue::isFunction):
* runtime/JSCell.h:
(JSC::jsCast):
(JSC::jsDynamicCast):
* runtime/JSCellInlines.h:
(JSC::allocateCell):
* runtime/JSFunction.cpp:
(JSC::JSFunction::finishCreation):
(JSC::JSFunction::visitChildren):
(JSC::skipOverBoundFunctions):
(JSC::JSFunction::callerGetter):
* runtime/JSFunction.h:
(JSC::JSFunction::createStructure):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::visitChildren):
(JSC::slowValidateCell):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::createStructure):
* runtime/JSNameScope.cpp:
(JSC::JSNameScope::visitChildren):
* runtime/JSNameScope.h:
(JSC::JSNameScope::createStructure):
* runtime/JSNotAnObject.h:
(JSC::JSNotAnObject::createStructure):
* runtime/JSONObject.cpp:
(JSC::JSONObject::finishCreation):
(JSC::unwrapBoxedPrimitive):
(JSC::Stringifier::Stringifier):
(JSC::Stringifier::appendStringifiedValue):
(JSC::Stringifier::Holder::Holder):
(JSC::Walker::walk):
(JSC::JSONProtoFuncStringify):
* runtime/JSONObject.h:
(JSC::JSONObject::createStructure):
* runtime/JSObject.cpp:
(JSC::getCallableObjectSlow):
(JSC::JSObject::visitChildren):
(JSC::JSObject::copyBackingStore):
(JSC::JSFinalObject::visitChildren):
(JSC::JSObject::ensureInt32Slow):
(JSC::JSObject::ensureDoubleSlow):
(JSC::JSObject::ensureContiguousSlow):
(JSC::JSObject::ensureArrayStorageSlow):
* runtime/JSObject.h:
(JSC::JSObject::finishCreation):
(JSC::JSObject::createStructure):
(JSC::JSNonFinalObject::createStructure):
(JSC::JSFinalObject::createStructure):
(JSC::isJSFinalObject):
* runtime/JSPropertyNameIterator.cpp:
(JSC::JSPropertyNameIterator::visitChildren):
* runtime/JSPropertyNameIterator.h:
(JSC::JSPropertyNameIterator::createStructure):
* runtime/JSProxy.cpp:
(JSC::JSProxy::visitChildren):
* runtime/JSProxy.h:
(JSC::JSProxy::createStructure):
* runtime/JSScope.cpp:
(JSC::JSScope::visitChildren):
* runtime/JSSegmentedVariableObject.cpp:
(JSC::JSSegmentedVariableObject::visitChildren):
* runtime/JSString.h:
(JSC::JSString::createStructure):
(JSC::isJSString):
* runtime/JSSymbolTableObject.cpp:
(JSC::JSSymbolTableObject::visitChildren):
* runtime/JSVariableObject.h:
* runtime/JSWithScope.cpp:
(JSC::JSWithScope::visitChildren):
* runtime/JSWithScope.h:
(JSC::JSWithScope::createStructure):
* runtime/JSWrapperObject.cpp:
(JSC::JSWrapperObject::visitChildren):
* runtime/JSWrapperObject.h:
(JSC::JSWrapperObject::createStructure):
* runtime/MathObject.cpp:
(JSC::MathObject::finishCreation):
* runtime/MathObject.h:
(JSC::MathObject::createStructure):
* runtime/NameConstructor.h:
(JSC::NameConstructor::createStructure):
* runtime/NameInstance.h:
(JSC::NameInstance::createStructure):
(JSC::NameInstance::finishCreation):
* runtime/NamePrototype.cpp:
(JSC::NamePrototype::finishCreation):
(JSC::privateNameProtoFuncToString):
* runtime/NamePrototype.h:
(JSC::NamePrototype::createStructure):
* runtime/NativeErrorConstructor.cpp:
(JSC::NativeErrorConstructor::visitChildren):
* runtime/NativeErrorConstructor.h:
(JSC::NativeErrorConstructor::createStructure):
(JSC::NativeErrorConstructor::finishCreation):
* runtime/NumberConstructor.cpp:
(JSC::NumberConstructor::finishCreation):
* runtime/NumberConstructor.h:
(JSC::NumberConstructor::createStructure):
* runtime/NumberObject.cpp:
(JSC::NumberObject::finishCreation):
* runtime/NumberObject.h:
(JSC::NumberObject::createStructure):
* runtime/NumberPrototype.cpp:
(JSC::NumberPrototype::finishCreation):
* runtime/NumberPrototype.h:
(JSC::NumberPrototype::createStructure):
* runtime/ObjectConstructor.h:
(JSC::ObjectConstructor::createStructure):
* runtime/ObjectPrototype.cpp:
(JSC::ObjectPrototype::finishCreation):
* runtime/ObjectPrototype.h:
(JSC::ObjectPrototype::createStructure):
* runtime/PropertyMapHashTable.h:
(JSC::PropertyTable::createStructure):
* runtime/PropertyTable.cpp:
(JSC::PropertyTable::visitChildren):
* runtime/RegExp.h:
(JSC::RegExp::createStructure):
* runtime/RegExpConstructor.cpp:
(JSC::RegExpConstructor::finishCreation):
(JSC::RegExpConstructor::visitChildren):
(JSC::constructRegExp):
* runtime/RegExpConstructor.h:
(JSC::RegExpConstructor::createStructure):
(JSC::asRegExpConstructor):
* runtime/RegExpMatchesArray.cpp:
(JSC::RegExpMatchesArray::visitChildren):
* runtime/RegExpMatchesArray.h:
(JSC::RegExpMatchesArray::createStructure):
* runtime/RegExpObject.cpp:
(JSC::RegExpObject::finishCreation):
(JSC::RegExpObject::visitChildren):
* runtime/RegExpObject.h:
(JSC::RegExpObject::createStructure):
(JSC::asRegExpObject):
* runtime/RegExpPrototype.cpp:
(JSC::regExpProtoFuncTest):
(JSC::regExpProtoFuncExec):
(JSC::regExpProtoFuncCompile):
(JSC::regExpProtoFuncToString):
* runtime/RegExpPrototype.h:
(JSC::RegExpPrototype::createStructure):
* runtime/SparseArrayValueMap.cpp:
(JSC::SparseArrayValueMap::createStructure):
* runtime/SparseArrayValueMap.h:
* runtime/StrictEvalActivation.h:
(JSC::StrictEvalActivation::createStructure):
* runtime/StringConstructor.h:
(JSC::StringConstructor::createStructure):
* runtime/StringObject.cpp:
(JSC::StringObject::finishCreation):
* runtime/StringObject.h:
(JSC::StringObject::createStructure):
(JSC::asStringObject):
* runtime/StringPrototype.cpp:
(JSC::StringPrototype::finishCreation):
(JSC::stringProtoFuncReplace):
(JSC::stringProtoFuncToString):
(JSC::stringProtoFuncMatch):
(JSC::stringProtoFuncSearch):
(JSC::stringProtoFuncSplit):
* runtime/StringPrototype.h:
(JSC::StringPrototype::createStructure):
* runtime/Structure.cpp:
(JSC::Structure::Structure):
(JSC::Structure::materializePropertyMap):
(JSC::Structure::get):
(JSC::Structure::visitChildren):
* runtime/Structure.h:
(JSC::Structure::typeInfo):
(JSC::Structure::previousID):
(JSC::Structure::outOfLineSize):
(JSC::Structure::totalStorageCapacity):
(JSC::Structure::materializePropertyMapIfNecessary):
(JSC::Structure::materializePropertyMapIfNecessaryForPinning):
* runtime/StructureChain.cpp:
(JSC::StructureChain::visitChildren):
* runtime/StructureChain.h:
(JSC::StructureChain::createStructure):
* runtime/StructureInlines.h:
(JSC::Structure::get):
* runtime/StructureRareData.cpp:
(JSC::StructureRareData::createStructure):
(JSC::StructureRareData::visitChildren):
* runtime/StructureRareData.h:
* runtime/SymbolTable.h:
(JSC::SharedSymbolTable::createStructure):
* runtime/VM.cpp:
(JSC::VM::VM):
(JSC::StackPreservingRecompiler::operator()):
(JSC::VM::releaseExecutableMemory):
* runtime/WriteBarrier.h:
(JSC::validateCell):
* testRegExp.cpp:
(GlobalObject::createStructure):

Source/WebCore:

No new tests because no new behavior.

* bindings/js/IDBBindingUtilities.cpp:
(WebCore::createIDBKeyFromValue):
* bindings/js/JSAttrCustom.cpp:
(WebCore::JSAttr::visitChildren):
* bindings/js/JSAudioTrackCustom.cpp:
(WebCore::JSAudioTrack::visitChildren):
* bindings/js/JSAudioTrackListCustom.cpp:
(WebCore::JSAudioTrackList::visitChildren):
* bindings/js/JSBlobCustom.cpp:
(WebCore::JSBlobConstructor::constructJSBlob):
* bindings/js/JSCSSRuleCustom.cpp:
(WebCore::JSCSSRule::visitChildren):
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::JSCSSStyleDeclaration::visitChildren):
(WebCore::JSCSSStyleDeclaration::getOwnPropertyNames):
* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
(WebCore::toHTMLCanvasStyle):
* bindings/js/JSCanvasRenderingContextCustom.cpp:
(WebCore::JSCanvasRenderingContext::visitChildren):
* bindings/js/JSDOMBinding.cpp:
(WebCore::valueToDate):
* bindings/js/JSDOMBinding.h:
(WebCore::DOMConstructorObject::createStructure):
(WebCore::getDOMStructure):
(WebCore::toRefPtrNativeArray):
(WebCore::getStaticValueSlotEntryWithoutCaching):
* bindings/js/JSDOMFormDataCustom.cpp:
(WebCore::toHTMLFormElement):
(WebCore::JSDOMFormData::append):
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::finishCreation):
(WebCore::JSDOMGlobalObject::scriptExecutionContext):
(WebCore::JSDOMGlobalObject::visitChildren):
* bindings/js/JSDOMGlobalObject.h:
(WebCore::JSDOMGlobalObject::info):
(WebCore::JSDOMGlobalObject::createStructure):
(WebCore::getDOMConstructor):
* bindings/js/JSDOMStringListCustom.cpp:
(WebCore::toDOMStringList):
* bindings/js/JSDOMWindowBase.cpp:
(WebCore::JSDOMWindowBase::finishCreation):
(WebCore::toJSDOMWindow):
* bindings/js/JSDOMWindowBase.h:
(WebCore::JSDOMWindowBase::createStructure):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::visitChildren):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertyDescriptor):
(WebCore::toDOMWindow):
* bindings/js/JSDOMWindowShell.cpp:
(WebCore::JSDOMWindowShell::finishCreation):
* bindings/js/JSDOMWindowShell.h:
(WebCore::JSDOMWindowShell::createStructure):
* bindings/js/JSEventTargetCustom.cpp:
(WebCore::toEventTarget):
* bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::getOwnPropertySlotDelegate):
(WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
* bindings/js/JSImageConstructor.cpp:
(WebCore::JSImageConstructor::finishCreation):
* bindings/js/JSImageConstructor.h:
(WebCore::JSImageConstructor::createStructure):
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::JSInjectedScriptHost::isHTMLAllCollection):
(WebCore::JSInjectedScriptHost::type):
(WebCore::JSInjectedScriptHost::functionDetails):
* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::populateContextMenuItems):
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::getOwnPropertySlotDelegate):
(WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
(WebCore::JSLocation::putDelegate):
* bindings/js/JSMessageChannelCustom.cpp:
(WebCore::JSMessageChannel::visitChildren):
* bindings/js/JSMessagePortCustom.cpp:
(WebCore::JSMessagePort::visitChildren):
* bindings/js/JSNodeCustom.cpp:
(WebCore::JSNode::pushEventHandlerScope):
(WebCore::JSNode::visitChildren):
* bindings/js/JSNodeFilterCustom.cpp:
(WebCore::JSNodeFilter::visitChildren):
(WebCore::toNodeFilter):
* bindings/js/JSNodeIteratorCustom.cpp:
(WebCore::JSNodeIterator::visitChildren):
* bindings/js/JSPluginElementFunctions.h:
(WebCore::pluginElementCustomGetOwnPropertySlot):
(WebCore::pluginElementCustomGetOwnPropertyDescriptor):
* bindings/js/JSSVGElementInstanceCustom.cpp:
(WebCore::JSSVGElementInstance::visitChildren):
* bindings/js/JSSharedWorkerCustom.cpp:
(WebCore::JSSharedWorker::visitChildren):
* bindings/js/JSStyleSheetCustom.cpp:
(WebCore::JSStyleSheet::visitChildren):
* bindings/js/JSTextTrackCueCustom.cpp:
(WebCore::JSTextTrackCue::visitChildren):
* bindings/js/JSTextTrackCustom.cpp:
(WebCore::JSTextTrack::visitChildren):
* bindings/js/JSTextTrackListCustom.cpp:
(WebCore::JSTextTrackList::visitChildren):
* bindings/js/JSTrackCustom.cpp:
(WebCore::toTrack):
* bindings/js/JSTreeWalkerCustom.cpp:
(WebCore::JSTreeWalker::visitChildren):
* bindings/js/JSVideoTrackCustom.cpp:
(WebCore::JSVideoTrack::visitChildren):
* bindings/js/JSVideoTrackListCustom.cpp:
(WebCore::JSVideoTrackList::visitChildren):
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::JSWebGLRenderingContext::visitChildren):
(WebCore::JSWebGLRenderingContext::getAttachedShaders):
(WebCore::JSWebGLRenderingContext::getProgramParameter):
(WebCore::JSWebGLRenderingContext::getShaderParameter):
(WebCore::JSWebGLRenderingContext::getUniform):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):
* bindings/js/JSWorkerGlobalScopeBase.cpp:
(WebCore::JSWorkerGlobalScopeBase::finishCreation):
(WebCore::toJSDedicatedWorkerGlobalScope):
(WebCore::toJSSharedWorkerGlobalScope):
* bindings/js/JSWorkerGlobalScopeBase.h:
(WebCore::JSWorkerGlobalScopeBase::createStructure):
* bindings/js/JSWorkerGlobalScopeCustom.cpp:
(WebCore::JSWorkerGlobalScope::visitChildren):
* bindings/js/JSXMLHttpRequestCustom.cpp:
(WebCore::JSXMLHttpRequest::visitChildren):
(WebCore::JSXMLHttpRequest::send):
* bindings/js/JSXPathResultCustom.cpp:
(WebCore::JSXPathResult::visitChildren):
* bindings/js/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::dispatchDidPause):
* bindings/js/ScriptState.cpp:
(WebCore::domWindowFromScriptState):
(WebCore::scriptExecutionContextFromScriptState):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneSerializer::isArray):
(WebCore::CloneSerializer::dumpArrayBufferView):
(WebCore::CloneSerializer::dumpIfTerminal):
(WebCore::CloneSerializer::serialize):
(WebCore::CloneDeserializer::CloneDeserializer):
(WebCore::CloneDeserializer::readArrayBufferView):
* bindings/objc/DOM.mm:
(+[DOMNode _nodeFromJSWrapper:]):
* bindings/objc/DOMUtility.mm:
(JSC::createDOMWrapper):
* bindings/objc/WebScriptObject.mm:
(+[WebScriptObject _convertValueToObjcValue:JSC::originRootObject:rootObject:]):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertySlotBody):
(GenerateGetOwnPropertyDescriptorBody):
(GenerateHeader):
(GenerateParametersCheckExpression):
(GenerateImplementation):
(GenerateParametersCheck):
(GenerateConstructorDeclaration):
(GenerateConstructorHelperMethods):
* bindings/scripts/test/JS/JSFloat64Array.cpp:
(WebCore::JSFloat64ArrayConstructor::finishCreation):
(WebCore::JSFloat64Array::finishCreation):
(WebCore::JSFloat64Array::getOwnPropertySlot):
(WebCore::JSFloat64Array::getOwnPropertyDescriptor):
(WebCore::JSFloat64Array::getOwnPropertySlotByIndex):
(WebCore::JSFloat64Array::put):
(WebCore::JSFloat64Array::putByIndex):
(WebCore::JSFloat64Array::getOwnPropertyNames):
(WebCore::jsFloat64ArrayPrototypeFunctionFoo):
(WebCore::jsFloat64ArrayPrototypeFunctionSet):
(WebCore::JSFloat64Array::getByIndex):
(WebCore::toFloat64Array):
* bindings/scripts/test/JS/JSFloat64Array.h:
(WebCore::JSFloat64Array::createStructure):
(WebCore::JSFloat64ArrayPrototype::createStructure):
(WebCore::JSFloat64ArrayConstructor::createStructure):
* bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
(WebCore::JSTestActiveDOMObjectConstructor::finishCreation):
(WebCore::JSTestActiveDOMObject::finishCreation):
(WebCore::JSTestActiveDOMObject::getOwnPropertySlot):
(WebCore::JSTestActiveDOMObject::getOwnPropertyDescriptor):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
(WebCore::toTestActiveDOMObject):
* bindings/scripts/test/JS/JSTestActiveDOMObject.h:
(WebCore::JSTestActiveDOMObject::createStructure):
(WebCore::JSTestActiveDOMObjectPrototype::createStructure):
(WebCore::JSTestActiveDOMObjectConstructor::createStructure):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
(WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
(WebCore::JSTestCustomNamedGetter::finishCreation):
(WebCore::JSTestCustomNamedGetter::getOwnPropertySlot):
(WebCore::JSTestCustomNamedGetter::getOwnPropertyDescriptor):
(WebCore::JSTestCustomNamedGetter::getOwnPropertySlotByIndex):
(WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
(WebCore::toTestCustomNamedGetter):
* bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
(WebCore::JSTestCustomNamedGetter::createStructure):
(WebCore::JSTestCustomNamedGetterPrototype::createStructure):
(WebCore::JSTestCustomNamedGetterConstructor::createStructure):
* bindings/scripts/test/JS/JSTestEventConstructor.cpp:
(WebCore::JSTestEventConstructorConstructor::finishCreation):
(WebCore::JSTestEventConstructor::finishCreation):
(WebCore::JSTestEventConstructor::getOwnPropertySlot):
(WebCore::JSTestEventConstructor::getOwnPropertyDescriptor):
(WebCore::toTestEventConstructor):
* bindings/scripts/test/JS/JSTestEventConstructor.h:
(WebCore::JSTestEventConstructor::createStructure):
(WebCore::JSTestEventConstructorPrototype::createStructure):
(WebCore::JSTestEventConstructorConstructor::createStructure):
* bindings/scripts/test/JS/JSTestEventTarget.cpp:
(WebCore::JSTestEventTargetConstructor::finishCreation):
(WebCore::JSTestEventTarget::finishCreation):
(WebCore::JSTestEventTarget::getOwnPropertySlot):
(WebCore::JSTestEventTarget::getOwnPropertyDescriptor):
(WebCore::JSTestEventTarget::getOwnPropertySlotByIndex):
(WebCore::JSTestEventTarget::getOwnPropertyNames):
(WebCore::jsTestEventTargetPrototypeFunctionItem):
(WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
(WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
(WebCore::JSTestEventTarget::visitChildren):
(WebCore::JSTestEventTarget::indexGetter):
(WebCore::toTestEventTarget):
* bindings/scripts/test/JS/JSTestEventTarget.h:
(WebCore::JSTestEventTarget::createStructure):
(WebCore::JSTestEventTargetPrototype::createStructure):
(WebCore::JSTestEventTargetConstructor::createStructure):
* bindings/scripts/test/JS/JSTestException.cpp:
(WebCore::JSTestExceptionConstructor::finishCreation):
(WebCore::JSTestException::finishCreation):
(WebCore::JSTestException::getOwnPropertySlot):
(WebCore::JSTestException::getOwnPropertyDescriptor):
(WebCore::toTestException):
* bindings/scripts/test/JS/JSTestException.h:
(WebCore::JSTestException::createStructure):
(WebCore::JSTestExceptionPrototype::createStructure):
(WebCore::JSTestExceptionConstructor::createStructure):
* bindings/scripts/test/JS/JSTestInterface.cpp:
(WebCore::JSTestInterfaceConstructor::finishCreation):
(WebCore::JSTestInterface::finishCreation):
(WebCore::JSTestInterface::getOwnPropertySlot):
(WebCore::JSTestInterface::getOwnPropertyDescriptor):
(WebCore::JSTestInterface::put):
(WebCore::JSTestInterface::putByIndex):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod1):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod3):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
(WebCore::toTestInterface):
* bindings/scripts/test/JS/JSTestInterface.h:
(WebCore::JSTestInterface::createStructure):
(WebCore::JSTestInterfacePrototype::createStructure):
(WebCore::JSTestInterfaceConstructor::createStructure):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::JSTestMediaQueryListListenerConstructor::finishCreation):
(WebCore::JSTestMediaQueryListListener::finishCreation):
(WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
(WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
(WebCore::toTestMediaQueryListListener):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
(WebCore::JSTestMediaQueryListListener::createStructure):
(WebCore::JSTestMediaQueryListListenerPrototype::createStructure):
(WebCore::JSTestMediaQueryListListenerConstructor::createStructure):
* bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
(WebCore::JSTestNamedConstructorConstructor::finishCreation):
(WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
(WebCore::JSTestNamedConstructor::finishCreation):
(WebCore::JSTestNamedConstructor::getOwnPropertySlot):
(WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
(WebCore::toTestNamedConstructor):
* bindings/scripts/test/JS/JSTestNamedConstructor.h:
(WebCore::JSTestNamedConstructor::createStructure):
(WebCore::JSTestNamedConstructorPrototype::createStructure):
(WebCore::JSTestNamedConstructorConstructor::createStructure):
(WebCore::JSTestNamedConstructorNamedConstructor::createStructure):
* bindings/scripts/test/JS/JSTestNode.cpp:
(WebCore::JSTestNodeConstructor::finishCreation):
(WebCore::JSTestNode::finishCreation):
(WebCore::JSTestNode::getOwnPropertySlot):
(WebCore::JSTestNode::getOwnPropertyDescriptor):
(WebCore::JSTestNode::visitChildren):
* bindings/scripts/test/JS/JSTestNode.h:
(WebCore::JSTestNode::createStructure):
(WebCore::JSTestNodePrototype::createStructure):
(WebCore::JSTestNodeConstructor::createStructure):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::JSTestObjConstructor::finishCreation):
(WebCore::JSTestObj::finishCreation):
(WebCore::JSTestObj::getOwnPropertySlot):
(WebCore::JSTestObj::getOwnPropertyDescriptor):
(WebCore::JSTestObj::put):
(WebCore::jsTestObjPrototypeFunctionVoidMethod):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethod):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethod):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethod):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethod):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
(WebCore::jsTestObjPrototypeFunctionMethodWithEnumArg):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionSerializedValue):
(WebCore::jsTestObjPrototypeFunctionOptionsObject):
(WebCore::jsTestObjPrototypeFunctionMethodWithException):
(WebCore::jsTestObjPrototypeFunctionCustomMethod):
(WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionAddEventListener):
(WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
(WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
(WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
(WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
(WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
(WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
(WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod9):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod10):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod11):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
(WebCore::jsTestObjPrototypeFunctionClassMethodWithClamp):
(WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongSequence):
(WebCore::jsTestObjPrototypeFunctionStringArrayFunction):
(WebCore::jsTestObjPrototypeFunctionDomStringListFunction):
(WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionConvert5):
(WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestObjPrototypeFunctionOrange):
(WebCore::jsTestObjPrototypeFunctionStrictFunction):
(WebCore::jsTestObjPrototypeFunctionVariadicStringMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicDoubleMethod):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::JSTestObj::visitChildren):
(WebCore::toTestObj):
* bindings/scripts/test/JS/JSTestObj.h:
(WebCore::JSTestObj::createStructure):
(WebCore::JSTestObjPrototype::createStructure):
(WebCore::JSTestObjConstructor::createStructure):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:
(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors):
(WebCore::JSTestOverloadedConstructorsConstructor::finishCreation):
(WebCore::JSTestOverloadedConstructors::finishCreation):
(WebCore::JSTestOverloadedConstructors::getOwnPropertySlot):
(WebCore::JSTestOverloadedConstructors::getOwnPropertyDescriptor):
(WebCore::toTestOverloadedConstructors):
* bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
(WebCore::JSTestOverloadedConstructors::createStructure):
(WebCore::JSTestOverloadedConstructorsPrototype::createStructure):
(WebCore::JSTestOverloadedConstructorsConstructor::createStructure):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
(WebCore::JSTestSerializedScriptValueInterface::finishCreation):
(WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
(WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
(WebCore::JSTestSerializedScriptValueInterface::put):
(WebCore::JSTestSerializedScriptValueInterface::visitChildren):
(WebCore::toTestSerializedScriptValueInterface):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
(WebCore::JSTestSerializedScriptValueInterface::createStructure):
(WebCore::JSTestSerializedScriptValueInterfacePrototype::createStructure):
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::createStructure):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::JSTestTypedefsConstructor::finishCreation):
(WebCore::JSTestTypedefs::finishCreation):
(WebCore::JSTestTypedefs::getOwnPropertySlot):
(WebCore::JSTestTypedefs::getOwnPropertyDescriptor):
(WebCore::JSTestTypedefs::put):
(WebCore::jsTestTypedefsPrototypeFunctionFunc):
(WebCore::jsTestTypedefsPrototypeFunctionSetShadow):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionNullableArrayArg):
(WebCore::jsTestTypedefsPrototypeFunctionFuncWithClamp):
(WebCore::jsTestTypedefsPrototypeFunctionImmutablePointFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction):
(WebCore::jsTestTypedefsPrototypeFunctionStringArrayFunction2):
(WebCore::jsTestTypedefsPrototypeFunctionMethodWithException):
(WebCore::toTestTypedefs):
* bindings/scripts/test/JS/JSTestTypedefs.h:
(WebCore::JSTestTypedefs::createStructure):
(WebCore::JSTestTypedefsPrototype::createStructure):
(WebCore::JSTestTypedefsConstructor::createStructure):
* bridge/c/CRuntimeObject.cpp:
(JSC::Bindings::CRuntimeObject::finishCreation):
* bridge/c/CRuntimeObject.h:
(JSC::Bindings::CRuntimeObject::createStructure):
* bridge/c/c_instance.cpp:
(JSC::Bindings::CRuntimeMethod::createStructure):
(JSC::Bindings::CRuntimeMethod::finishCreation):
(JSC::Bindings::CInstance::invokeMethod):
* bridge/c/c_utility.cpp:
(JSC::Bindings::convertValueToNPVariant):
* bridge/objc/ObjCRuntimeObject.h:
(JSC::Bindings::ObjCRuntimeObject::createStructure):
* bridge/objc/objc_instance.mm:
(ObjCRuntimeMethod::finishCreation):
(ObjcInstance::invokeMethod):
* bridge/objc/objc_runtime.h:
(JSC::Bindings::ObjcFallbackObjectImp::createStructure):
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcFallbackObjectImp::finishCreation):
(JSC::Bindings::callObjCFallbackObject):
* bridge/qt/qt_instance.cpp:
(JSC::Bindings::QtRuntimeObject::createStructure):
(JSC::Bindings::QtInstance::getInstance):
* bridge/qt/qt_pixmapruntime.cpp:
(JSC::Bindings::assignToHTMLImageElement):
(JSC::Bindings::QtPixmapRuntime::toQt):
* bridge/qt/qt_runtime.cpp:
(JSC::Bindings::isJSUint8Array):
(JSC::Bindings::isJSArray):
(JSC::Bindings::isJSDate):
(JSC::Bindings::isQtObject):
(JSC::Bindings::unwrapBoxedPrimitive):
(JSC::Bindings::convertQVariantToValue):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::finishCreation):
* bridge/runtime_array.h:
(JSC::RuntimeArray::createStructure):
* bridge/runtime_method.cpp:
(JSC::RuntimeMethod::finishCreation):
(JSC::callRuntimeMethod):
* bridge/runtime_method.h:
(JSC::RuntimeMethod::createStructure):
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::finishCreation):
(JSC::Bindings::callRuntimeObject):
(JSC::Bindings::callRuntimeConstructor):
* bridge/runtime_object.h:
(JSC::Bindings::RuntimeObject::createStructure):

Source/WebKit/mac:

* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::getObjectID):
(WebKit::NetscapePluginInstanceProxy::retainLocalObject):
(WebKit::NetscapePluginInstanceProxy::releaseLocalObject):
* Plugins/Hosted/ProxyInstance.mm:
(WebKit::ProxyRuntimeMethod::finishCreation):
(WebKit::ProxyInstance::invokeMethod):
* Plugins/Hosted/ProxyRuntimeObject.h:
(WebKit::ProxyRuntimeObject::createStructure):
* WebView/WebView.mm:
(aeDescFromJSValue):

Source/WebKit/qt:

* Api/qwebelement.cpp:
(convertJSValueToWebElementVariant):
* WebCoreSupport/DumpRenderTreeSupportQt.cpp:
(convertJSValueToNodeVariant):

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

7 years agoREGRESSION(r150187): Safari fails to render allrecipe.com comment popups
rniwa@webkit.org [Wed, 14 Aug 2013 02:16:56 +0000 (02:16 +0000)]
REGRESSION(r150187): Safari fails to render allrecipe.com comment popups
https://bugs.webkit.org/show_bug.cgi?id=119780

Reviewed by Benjamin Poulain.

Source/WebCore:

The bug was caused by SelectorDataList::executeFastPathForIdSelector not verifying that
elements found by getAllElementsById are descendents of rootNode when there are multiple
elements of the same id. This resulted in querySelector and querySelectorAll of an element
returning nodes outside of the element.

Fixed the bug by checking this condition when we have multiple elements of the same id.

Test: fast/selectors/querySelector-id-with-multiple-elements-with-same-id.html

* dom/SelectorQuery.cpp:
(WebCore::SelectorDataList::executeFastPathForIdSelector):

LayoutTests:

* fast/selectors/querySelector-id-with-multiple-elements-with-same-id-expected.txt: Added.
* fast/selectors/querySelector-id-with-multiple-elements-with-same-id.html: Added.

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

7 years agoFix orphan needsLayout state in RenderTextControlSingleLine
rniwa@webkit.org [Wed, 14 Aug 2013 01:44:51 +0000 (01:44 +0000)]
Fix orphan needsLayout state in RenderTextControlSingleLine
https://bugs.webkit.org/show_bug.cgi?id=119726

Reviewed by Kent Tamura.

Merge https://chromium.googlesource.com/chromium/blink/+/c0aec52ef348b2be0c882f8646fe3cf537831f59

We should mark the renderer for containerElement, which wraps innerTextElement and innerBlockElement
in cases of input[type=search] and input[type=number], dirty.

* rendering/RenderTextControlSingleLine.cpp:
(WebCore::setNeedsLayoutOnAncestors):
(WebCore::RenderTextControlSingleLine::layout):

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

7 years ago[Re-land] Cleanup MediaQueryListListener
weinig@apple.com [Wed, 14 Aug 2013 01:21:38 +0000 (01:21 +0000)]
[Re-land] Cleanup MediaQueryListListener
https://bugs.webkit.org/show_bug.cgi?id=119664

Reviewed by Andreas Kling.

Source/WebCore:

Make MediaQueryListListener a proper WebIDL callback.

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
Update project files.

* bindings/scripts/CodeGeneratorJS.pm:
(GenerateCallbackHeader):
(GenerateCallbackImplementation):
(JSValueToNative):
* bindings/scripts/IDLAttributes.txt:
Add support for CallbackNeedsOperatorEqual, which adds an operator==.

* css/MediaAllInOne.cpp:
Remove MediaQueryListListener.cpp.

* css/MediaQueryListListener.cpp:
Removed.

* css/MediaQueryListListener.h:
(WebCore::MediaQueryListListener::~MediaQueryListListener):
(WebCore::MediaQueryListListener::MediaQueryListListener):
* css/MediaQueryListListener.idl:
Convert to a proper WebIDL callback.

* css/MediaQueryMatcher.cpp:
(WebCore::MediaQueryMatcher::Listener::evaluate):
(WebCore::MediaQueryMatcher::styleResolverChanged):
* css/MediaQueryMatcher.h:
Remove all traces of the ScriptState.

LayoutTests:

* fast/media/media-query-list-07-expected.txt:
* fast/media/media-query-list-07.html:
* platform/mac/TestExpectations:
Update test to reflect that we are supposed to throw exceptions when when not passing a callback
object to addListener/removeListener. Also update the test to use the internals interface that is
supported by more ports.

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

7 years ago<https://webkit.org/b/119778> Add Canvas protocol observer
dino@apple.com [Wed, 14 Aug 2013 01:01:25 +0000 (01:01 +0000)]
<https://webkit.org/b/119778> Add Canvas protocol observer

Reviewed by Joseph Pecoraro.

* UserInterface/CanvasObserver.js: New empty CanvasObserver object.
(WebInspector.CanvasObserver):
(WebInspector.CanvasObserver.prototype.contextCreated):
(WebInspector.CanvasObserver.prototype.traceLogsRemoved):
* UserInterface/Main.html:
* UserInterface/Main.js:
(WebInspector.loaded):

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

7 years ago<https://webkit.org/b/119776> Don't use ScriptProfiler to find canvases for instrumen...
dino@apple.com [Wed, 14 Aug 2013 00:58:06 +0000 (00:58 +0000)]
<https://webkit.org/b/119776> Don't use ScriptProfiler to find canvases for instrumentation

Reviewed by Joseph Pecoraro.

InspectorCanvasAgent::findFramesWithUninstrumentedCanvases uses a ScriptProfiler to walk the tree
looking for canvas elements. This is currently not implemented in JSC, but we can do this directly
with DOM methods. We're only looking for Canvas elements that have a context, so there isn't a need
for this abstract walking object.

* html/HTMLCanvasElement.h: Add new helpers to cast to <canvas>.
(WebCore::isHTMLCanvasElement):
(WebCore::toHTMLCanvasElement):
* inspector/InspectorCanvasAgent.cpp:
(WebCore::InspectorCanvasAgent::findFramesWithUninstrumentedCanvases): Simply walk
the frame tree and use getElementsByTagName to find canvas elements.
* bindings/js/bindings/js/ScriptProfiler.h: Removed unused method.

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

7 years ago[WTF] [JSC] Replace currentTime() with monotonicallyIncreasingTime() in all possible...
commit-queue@webkit.org [Wed, 14 Aug 2013 00:51:25 +0000 (00:51 +0000)]
[WTF] [JSC] Replace currentTime() with monotonicallyIncreasingTime() in all possible places
https://bugs.webkit.org/show_bug.cgi?id=119762

Patch by Arunprasad Rajkumar <arurajku@cisco.com> on 2013-08-13
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

* heap/Heap.cpp:
(JSC::Heap::Heap):
(JSC::Heap::markRoots):
(JSC::Heap::collect):
* jsc.cpp:
(StopWatch::start):
(StopWatch::stop):
* testRegExp.cpp:
(StopWatch::start):
(StopWatch::stop):

Source/WTF:

* wtf/MainThread.cpp:
(WTF::dispatchFunctionsFromMainThread):

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

7 years ago<https://webkit.org/b/119777> Get rid of two gotos
andersca@apple.com [Wed, 14 Aug 2013 00:12:59 +0000 (00:12 +0000)]
<https://webkit.org/b/119777> Get rid of two gotos

Reviewed by Tim Horton.

* WebView/WebHTMLView.mm:
(-[WebHTMLView mouseDown:]):
(-[WebHTMLView namesOfPromisedFilesDroppedAtDestination:]):

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

7 years ago[Windows] Windows is incorrectly using a LayerTypeTiledBackingLayer
bfulgham@apple.com [Tue, 13 Aug 2013 23:37:00 +0000 (23:37 +0000)]
[Windows] Windows is incorrectly using a LayerTypeTiledBackingLayer
https://bugs.webkit.org/show_bug.cgi?id=119772

Reviewed by Simon Fraser.

* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Ensure that we use
the correct (supported) tiled layer type for Windows.
* platform/graphics/ca/win/PlatformCALayerWin.cpp:
(PlatformCALayer::PlatformCALayer): Add an assertion to notify us if
we introduce this mistake again in the future.

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

7 years ago[BlackBerry] WebPage doesn't zoom to fit viewport after being rotated from landscape...
commit-queue@webkit.org [Tue, 13 Aug 2013 22:51:40 +0000 (22:51 +0000)]
[BlackBerry] WebPage doesn't zoom to fit viewport after being rotated from landscape to portrait mode
https://bugs.webkit.org/show_bug.cgi?id=119754

Patch by Jacky Jiang <zhajiang@blackberry.com> on 2013-08-13
Reviewed by Rob Buis.
Internally reviewed by Konrad Piascik.

JIRA 470951
In this case, zoomToFitWidthScale(currentScale) = viewportWidth / contentsWidth
which was 2.6666666666666665, initialScale = ((viewportWidth / devicePixelRatio)
/ contentsWidth) * devicePixelRatio which was 2.6666665077209473. When
rotating the device from landscape to portrait, m_webPage->isAtInitialZoom()
was false in setViewportSize() because of the floating-point rounding error
above so that we had to use the scale of the previous rotation WebPage
which was too large for the current rotation WebPage.
Ignore the floating-point rounding error in isAtInitialZoom() so that we
can use initialScale of the current rotation WebPage as the scale and also
we should do it for isMaxZoomed() and isMinZoomed() as well. Please note
that we can not use FLT_EPSILON here as it's 1E-7 on our platform.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::initialScale):
(BlackBerry::WebKit::WebPage::isMaxZoomed):
(BlackBerry::WebKit::WebPage::isMinZoomed):
(BlackBerry::WebKit::WebPage::isAtInitialZoom):

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

7 years ago<https://webkit.org/b/119771> Use NeverDestroyed for smart pointer slot static locals
andersca@apple.com [Tue, 13 Aug 2013 22:50:35 +0000 (22:50 +0000)]
<https://webkit.org/b/119771> Use NeverDestroyed for smart pointer slot static locals

Reviewed by Andreas Kling.

This is preparation for making it a hard error to use DEFINE_STATIC_LOCAL with smart pointer types.

* dom/UserTypingGestureIndicator.cpp:
(WebCore::focusedNode):
* page/mac/EventHandlerMac.mm:
(WebCore::currentNSEventSlot):
* platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::defaultNetworkStorageSession):
(WebCore::cookieStorageOverride):

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

7 years ago[Mac] fast/dom/attr-style-too-lazy.html is flaky
ap@apple.com [Tue, 13 Aug 2013 22:48:43 +0000 (22:48 +0000)]
[Mac] fast/dom/attr-style-too-lazy.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=119763

Reviewed by Darin Adler.

* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:setStatusText:]): Don't dump anything when not running
a test, it would just semi-randomly leak to the next one.
(-[UIDelegate webView:didPressMissingPluginButton:]): Added same check here, just
for good measure.

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

7 years ago[mac] Give MiniBrowser a reasonable bundle identifier
timothy_horton@apple.com [Tue, 13 Aug 2013 22:47:15 +0000 (22:47 +0000)]
[mac] Give MiniBrowser a reasonable bundle identifier
https://bugs.webkit.org/show_bug.cgi?id=119773

Rubber-stamped by Simon Fraser.

Give MiniBrowser the bundle identifier org.webkit.MiniBrowser.

* MiniBrowser/mac/Info.plist:
* MiniBrowser/mac/WebBundle/Info.plist:

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

7 years ago[sh4] Prepare LLINT for DFG_JIT implementation.
oliver@apple.com [Tue, 13 Aug 2013 22:15:13 +0000 (22:15 +0000)]
[sh4] Prepare LLINT for DFG_JIT implementation.
https://bugs.webkit.org/show_bug.cgi?id=119755

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-08-13
Reviewed by Oliver Hunt.

* LLIntOffsetsExtractor.pro: Add sh4.rb dependency.
* offlineasm/sh4.rb:
    - Handle storeb opcode.
    - Make relative jumps when possible using braf opcode.
    - Update bmulio implementation to be consistent with baseline JIT.
    - Remove useless code from leap opcode.
    - Fix incorrect comment.

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

7 years ago Removed a bogus comment that didn't have any bugs after it.
ap@apple.com [Tue, 13 Aug 2013 22:08:48 +0000 (22:08 +0000)]
    Removed a bogus comment that didn't have any bugs after it.

        * platform/mac/TestExpectations:

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

7 years agoStop using DEFINE_STATIC_LOCAL with RefPtr
andersca@apple.com [Tue, 13 Aug 2013 21:42:16 +0000 (21:42 +0000)]
Stop using DEFINE_STATIC_LOCAL with RefPtr
https://bugs.webkit.org/show_bug.cgi?id=119769

Reviewed by Andreas Kling.

No need to waste heap memory allocating RefPtr, just store the raw pointers directly.

* dom/ContextFeatures.cpp:
(WebCore::ContextFeatures::defaultSwitch):
* dom/DocumentMarker.cpp:
(WebCore::DocumentMarkerTextMatch::instanceFor):
* editing/EditingStyle.cpp:
(WebCore::StyleChange::extractTextStyles):
* html/FTPDirectoryDocument.cpp:
(WebCore::FTPDirectoryDocumentParser::loadDocumentTemplate):
* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot):
* html/track/TextTrack.cpp:
(WebCore::TextTrack::captionMenuOffItem):
(WebCore::TextTrack::captionMenuAutomaticItem):
* loader/icon/IconDatabase.cpp:
(WebCore::loadDefaultIconRecord):
* platform/graphics/Image.cpp:
(WebCore::Image::nullImage):
* platform/graphics/PlatformTextTrack.h:
(WebCore::PlatformTextTrack::captionMenuOffItem):
(WebCore::PlatformTextTrack::captionMenuAutomaticItem):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::initialShapeInside):
* testing/MockCDM.cpp:
(WebCore::initDataPrefix):
(WebCore::keyPrefix):
(WebCore::keyRequest):

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

7 years ago<https://webkit.org/b/119766> Make bug url more human friendly in ChangeLog
dino@apple.com [Tue, 13 Aug 2013 21:12:21 +0000 (21:12 +0000)]
<https://webkit.org/b/119766> Make bug url more human friendly in ChangeLog

Reviewed by Mark Rowe.

Have prepare-ChangeLog produce webkit.org/b/id style
URLs rather than exposing the inner workings of our
cgi. I was going to use the term "Future Proofing"
but that seems excessive :)

* Scripts/prepare-ChangeLog:
(main): Generate a more human readable form.
(generateNewChangeLogs): Use it when printing out the ChangeLog entry.

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

7 years agoStop using DEFINE_STATIC_LOCAL with RetainPtr
andersca@apple.com [Tue, 13 Aug 2013 20:58:49 +0000 (20:58 +0000)]
Stop using DEFINE_STATIC_LOCAL with RetainPtr
https://bugs.webkit.org/show_bug.cgi?id=119765

Reviewed by Jessie Berlin.

No need to waste heap memory allocating RetainPtrs, just store the raw pointers directly.

* platform/graphics/mac/ColorMac.mm:
(WebCore::nsColor):
* platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::makePatternColor):
(WebCore::GraphicsContext::drawLineForDocumentMarker):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::webFallbackFontFamily):

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

7 years agoUnreviewed, rolling out r153925.
commit-queue@webkit.org [Tue, 13 Aug 2013 20:54:48 +0000 (20:54 +0000)]
Unreviewed, rolling out r153925.
http://trac.webkit.org/changeset/153925
https://bugs.webkit.org/show_bug.cgi?id=119768

broke fast/media/media-query-list-07.html (Requested by kling
on #webkit).

* CMakeLists.txt:
* DerivedSources.cpp:
* DerivedSources.make:
* DerivedSources.pri:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateCallbackHeader):
(GenerateCallbackImplementation):
(JSValueToNative):
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::JSTestCallback):
* bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
(WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
* css/MediaAllInOne.cpp:
* css/MediaQueryListListener.cpp: Copied from Source/WebCore/css/MediaQueryListListener.idl.
(WebCore::MediaQueryListListener::queryChanged):
* css/MediaQueryListListener.h:
(WebCore::MediaQueryListListener::create):
(WebCore::MediaQueryListListener::operator==):
(WebCore::MediaQueryListListener::MediaQueryListListener):
* css/MediaQueryListListener.idl:
* css/MediaQueryMatcher.cpp:
(WebCore::MediaQueryMatcher::Listener::evaluate):
(WebCore::MediaQueryMatcher::styleResolverChanged):
* css/MediaQueryMatcher.h:

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

7 years agoRemotely hosted plugins don’t work in window-server-hosted WebKit1 views
timothy_horton@apple.com [Tue, 13 Aug 2013 20:33:23 +0000 (20:33 +0000)]
Remotely hosted plugins don’t work in window-server-hosted WebKit1 views
https://bugs.webkit.org/show_bug.cgi?id=119709
<rdar://problem/14717572>

Reviewed by Anders Carlsson.

* Plugins/Hosted/NetscapePluginHostManager.h:
Add hostLayersInWindowServer argument to instantiatePlugin.

* Plugins/Hosted/NetscapePluginHostManager.mm:
(WebKit::NetscapePluginHostManager::instantiatePlugin):
Add hostLayersInWindowServer argument to instantiatePlugin, and pass it through to WebKitPluginHost.

* Plugins/Hosted/NetscapePluginHostProxy.mm:
(WKPCLayerHostingModeChanged):
Forward the notification that the plugin host changed its layer hosting mode
to the instance proxy.

* Plugins/Hosted/NetscapePluginInstanceProxy.h:
* Plugins/Hosted/NetscapePluginInstanceProxy.mm:
(WebKit::NetscapePluginInstanceProxy::setShouldHostLayersInWindowServer):
Ask the plugin host to re-host its layers when the layer hosting mode changes.

(WebKit::NetscapePluginInstanceProxy::layerHostingModeChanged):
Inform the WebHostedNetscapePluginView of the new layer hosting mode
when it changes. Also, store the new CAContext ID.

* Plugins/Hosted/WebHostedNetscapePluginView.h:
* Plugins/Hosted/WebHostedNetscapePluginView.mm:
(-[WebHostedNetscapePluginView windowHostsLayersInWindowServer]):
Determine whether the WebView's current window uses window-server hosting for its layers.

(-[WebHostedNetscapePluginView createPlugin]):
Drive-by spelling fix.
Factor _pluginLayer initialization out into createPluginLayer.
Instantiate the plugin with the appropriate layer hosting mode.

(-[WebHostedNetscapePluginView createPluginLayer]):

(-[WebHostedNetscapePluginView setHostsLayersInWindowServer:]):
Create a new _pluginLayer if the layer hosting mode changes.
Attach the new _pluginLayer to our parent layer.

(-[WebHostedNetscapePluginView updateAndSetWindow]):
Inform the NetscapePluginInstanceProxy if the layer hosting mode changes,
so it can inform the plugin host. We will asynchronously receive a reply
with the new hosting mode and renderContextID and switch to the new CAContext,
in setHostsLayersInWindowServer:.

* Plugins/Hosted/WebKitPluginClient.defs:
* Plugins/Hosted/WebKitPluginHost.defs:

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

7 years agoEvery scroll causes additional layer tree work because of flatteningLayer->removeFrom...
simon.fraser@apple.com [Tue, 13 Aug 2013 20:18:30 +0000 (20:18 +0000)]
Every scroll causes additional layer tree work because of flatteningLayer->removeFromParent();
https://bugs.webkit.org/show_bug.cgi?id=119551

Reviewed by Dean Jackson.

Only re-parent the flattening layer if we had to update our
layer configuration (reparenting is necessary then to get
the correct sibling ordering), or if it was parented in some
other layer.

This avoid unnecessary flushing of state to CA.

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):

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

7 years ago REGRESSION(r139282): Old caret sometimes gets "stuck" (not repainted) in...
ap@apple.com [Tue, 13 Aug 2013 20:07:09 +0000 (20:07 +0000)]
    REGRESSION(r139282): Old caret sometimes gets "stuck" (not repainted) in contenteditable elements.
        https://bugs.webkit.org/show_bug.cgi?id=119520

        * fast/repaint/caret-jump-between-nodes-expected.txt: Test was failing everywhere.
        Landing current Mac results to make bots greener, but Andreas should take a look at
        fixing the test.

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

7 years ago[sh4] Prepare baseline JIT for DFG_JIT implementation.
commit-queue@webkit.org [Tue, 13 Aug 2013 18:59:14 +0000 (18:59 +0000)]
[sh4] Prepare baseline JIT for DFG_JIT implementation.
https://bugs.webkit.org/show_bug.cgi?id=119758

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-08-13
Reviewed by Oliver Hunt.

* assembler/MacroAssemblerSH4.h:
    - Introduce a loadEffectiveAddress function to avoid code duplication.
    - Add ASSERTs and clean code.
* assembler/SH4Assembler.h:
    - Prepare DFG_JIT implementation.
    - Add ASSERTs.
* jit/JITStubs.cpp:
    - Add SH4 specific call for assertions.
* jit/JITStubs.h:
    - Cosmetic change.
* jit/JITStubsSH4.h:
    - Use constants to be more flexible with sh4 JIT stack frame.
* jit/JSInterfaceJIT.h:
    - Cosmetic change.

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

7 years agoVarious media tests spew "CGContextScaleCTM: invalid context 0x0" errors
simon.fraser@apple.com [Tue, 13 Aug 2013 18:54:54 +0000 (18:54 +0000)]
Various media tests spew "CGContextScaleCTM: invalid context 0x0" errors
https://bugs.webkit.org/show_bug.cgi?id=119490

New versions of WKSI that fix a bug that caused spew about null CGContexts,
and update WebKitSystemInterface.h.

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

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

7 years ago[GTK] Closing inspector window crashes wk
berto@igalia.com [Tue, 13 Aug 2013 18:50:45 +0000 (18:50 +0000)]
[GTK] Closing inspector window crashes wk
https://bugs.webkit.org/show_bug.cgi?id=110865

Reviewed by Carlos Garcia Campos.

The previous fix for the inspector window crash breaks some unit
tests. This one goes back to the original code and only moves the
actual deletion of priv->corePage to the end of the function.

* webkit/webkitwebview.cpp:
(webkit_web_view_dispose):

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

7 years agoSection's collapsed borders painted in wrong place in rtl tables
robert@webkit.org [Tue, 13 Aug 2013 18:07:00 +0000 (18:07 +0000)]
Section's collapsed borders painted in wrong place in rtl tables
https://bugs.webkit.org/show_bug.cgi?id=119691

Reviewed by Darin Adler.

Source/WebCore:

Table row-groups can be RTL too, so look to the section rather than the
table when deciding the direction of a row. The section will inherit the
table's direction if it doesn't override it.

Test: fast/table/paint-collapsed-borders-rtl-section.html

* rendering/RenderTableCell.cpp:
(WebCore::RenderTableCell::hasStartBorderAdjoiningTable):
(WebCore::RenderTableCell::hasEndBorderAdjoiningTable):

LayoutTests:

* fast/table/paint-collapsed-borders-rtl-section-expected.html: Added.
* fast/table/paint-collapsed-borders-rtl-section.html: Added.

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

7 years agoNodeList.item() does not behave according to specification
ch.dumez@sisa.samsung.com [Tue, 13 Aug 2013 17:58:53 +0000 (17:58 +0000)]
NodeList.item() does not behave according to specification
https://bugs.webkit.org/show_bug.cgi?id=119722

Reviewed by Darin Adler.

Source/WebCore:

Make NodeList.item() indexed getter behave according to specification:
http://dom.spec.whatwg.org/#nodelist

Namely, we no longer throw if the index is negative (meaning the
[IsIndex] extended attribute is dropped) and the argument is now
mandatory.

This behavior is consistent with both IE10 and Firefox and since
recently Blink.

Test: fast/dom/nodelist-item-parameter.html

* dom/NodeList.idl:

LayoutTests:

Add a layout test to check that the NodeList.item() indexed getter's
argument is properly validated. Also, update the following test case now
that the argument is mandatory:
fast/dom/non-numeric-values-numeric-parameters.html

* fast/dom/nodelist-item-parameter-expected.txt: Added.
* fast/dom/nodelist-item-parameter.html: Added.
* fast/dom/non-numeric-values-numeric-parameters-expected.txt:
* fast/dom/script-tests/non-numeric-values-numeric-parameters.js:

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

7 years agoHarden executeConstruct against incorrect return types from host functions
oliver@apple.com [Tue, 13 Aug 2013 17:49:52 +0000 (17:49 +0000)]
Harden executeConstruct against incorrect return types from host functions
https://bugs.webkit.org/show_bug.cgi?id=119757

Reviewed by Mark Hahnenberg.

Add logic to guard against bogus return types.  There doesn't seem to be any
class in webkit that does this wrong, but the typed array stubs in debug JSC
do exhibit this bad behaviour.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::executeConstruct):

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

7 years agoFix build.
andersca@apple.com [Tue, 13 Aug 2013 17:49:23 +0000 (17:49 +0000)]
Fix build.

* WebCore.exp.in:

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

7 years agoREGRESSION(SUBPIXEL_LAYOUT) Composited layers can cause one pixel shifts
allan.jensen@digia.com [Tue, 13 Aug 2013 17:08:19 +0000 (17:08 +0000)]
REGRESSION(SUBPIXEL_LAYOUT) Composited layers can cause one pixel shifts
https://bugs.webkit.org/show_bug.cgi?id=115304

Reviewed by David Hyatt.

Source/WebCore:

Accelerated layers can cause blocks at subpixel offsets to shift because
accumulated subpixel offsets are lost between each layers.

To solve this layer bounds are now calculated in LayoutUnits, and their
subpixel offset saved so it can be used to ensure correct pixel-snapping
during painting.

Test: fast/sub-pixel/sub-pixel-composited-layers.html

* WebCore.exp.in:
* inspector/InspectorLayerTreeAgent.cpp:
(WebCore::InspectorLayerTreeAgent::buildObjectForLayer):
* platform/graphics/LayoutPoint.h:
(WebCore::LayoutPoint::fraction):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::setupClipPath):
(WebCore::RenderLayer::setupFilters):
(WebCore::RenderLayer::paintLayerContents):
(WebCore::RenderLayer::calculateLayerBounds):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateCompositedBounds):
(WebCore::RenderLayerBacking::updateAfterWidgetResize):
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
(WebCore::RenderLayerBacking::resetContentsRect):
(WebCore::RenderLayerBacking::contentOffsetInCompostingLayer):
(WebCore::RenderLayerBacking::contentsBox):
(WebCore::RenderLayerBacking::backgroundBox):
(WebCore::RenderLayerBacking::paintIntoLayer):
(WebCore::RenderLayerBacking::paintContents):
(WebCore::RenderLayerBacking::compositedBounds):
(WebCore::RenderLayerBacking::setCompositedBounds):
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::logLayerInfo):
(WebCore::RenderLayerCompositor::calculateCompositedBounds):
* rendering/RenderLayerCompositor.h:
* rendering/RenderTreeAsText.cpp:
(WebCore::operator<<):
* rendering/RenderTreeAsText.h:

LayoutTests:

* fast/sub-pixel/sub-pixel-composited-layers-expected.html: Added.
* fast/sub-pixel/sub-pixel-composited-layers.html: Added.

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

7 years ago[Autotools] Unicode's CFLAGS enforce -D_FORTIFY_SOURCE=2, -D_REENTRANT=1, causing...
zandobersek@gmail.com [Tue, 13 Aug 2013 16:58:17 +0000 (16:58 +0000)]
[Autotools] Unicode's CFLAGS enforce -D_FORTIFY_SOURCE=2, -D_REENTRANT=1, causing faulty Clang builds
https://bugs.webkit.org/show_bug.cgi?id=119685

Reviewed by Gustavo Noronha Silva.

icu-config includes '-D_FORTIFY_SOURCE=2 -D_REENTRANT=1' when printing out C preprocessor flags that are used
as the C compiler flags to avoid other unwanted compiler options. This causes problems when building optimized
builds with Clang because of a bug in that compiler:
http://llvm.org/bugs/show_bug.cgi?id=16821

To avoid that, the C preprocessor search flags, as printed by `icu-config --cppflags-searchpath` are now used
the Unicode dependency's C compiler flags, avoiding unconditionally specifying the two macros.

To adjust for that, the `-pthread` flag is added to the global CFLAGS and CXXFLAGS variables, ensuring
the _REENTRANT define is set to 1 and declaring the flag globally instead of relying on Glib dependency's
C compiler flags to do so for us. -D_FORTIFY_SOURCE=2 is only added to the CFLAGS and CXXFLAGS variables if
the compiler in use is gcc or g++, preventing the Clang builds to malfunction.

* Source/autotools/FindDependencies.m4:
* Source/autotools/SetupCompilerFlags.m4:

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

7 years ago[Autotools] Don't compare $CC, $CXX to exact compiler names
zandobersek@gmail.com [Tue, 13 Aug 2013 16:56:04 +0000 (16:56 +0000)]
[Autotools] Don't compare $CC, $CXX to exact compiler names
https://bugs.webkit.org/show_bug.cgi?id=119683

Reviewed by Gustavo Noronha Silva.

Instead of comparing $CC and $CXX to exact compiler names (like 'gcc', 'clang++' etc.),
use the compiler version checks to also specify the broader compiler collection of which
the used compiler is a member of. This avoids failures in some border-line cases where
the user would still use either a GCC or a Clang compiler but provide it through a symbolic
link that was specified via the CC/CXX environment variables.

* Source/autotools/CheckSystemAndBasicDependencies.m4: Store the detected C/C++ compiler collection
in c_compiler/cxx_compiler. Throw an error if no supported compiler was found.
* Source/autotools/SetupCompilerFlags.m4: Test for a specific compiler by checking against
c_compiler/cxx_compiler rather than CC/CXX values.

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

7 years ago[Curl] Possible infinite loop while downloading.
commit-queue@webkit.org [Tue, 13 Aug 2013 16:19:31 +0000 (16:19 +0000)]
[Curl] Possible infinite loop while downloading.
https://bugs.webkit.org/show_bug.cgi?id=119744

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-08-13
Reviewed by Darin Adler.

If adding/removing curl handles fails, the download thread
can end up in an endless loop trying to update the curl handle list.

* platform/network/curl/CurlDownload.cpp:
(WebCore::CurlDownloadManager::updateHandleList): Avoid infinite loop by ignoring return value.

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

7 years agoHTMLSelectElement.item() does not behave according to specification
ch.dumez@sisa.samsung.com [Tue, 13 Aug 2013 16:18:43 +0000 (16:18 +0000)]
HTMLSelectElement.item() does not behave according to specification
https://bugs.webkit.org/show_bug.cgi?id=119738

Reviewed by Darin Adler.

Source/WebCore:

Make HTMLSelectElement.item() behave according to specification:
http://www.w3.org/TR/html51/forms.html#dom-select-item
http://dom.spec.whatwg.org/#dom-htmlcollection-item

Namely, we no longer throw if the offset argument is negative. Also,
the argument is now mandatory.

IE10, Firefox and Blink do not throw when HTMLSelectElement.item() is
called with a negative value (as per the specification).

The argument is mandatory in Firefox and Blink, but optional in IE10
(it returns null when called without argument). This looks like a bug
in IE because other item() getters' argument is usually mandatory in IE
(e.g. NodeList.item()).

Test: fast/dom/HTMLSelectElement/select-element-item-argument.html

* html/HTMLSelectElement.idl:

LayoutTests:

Add a new layout test to check that the HTMLSelectElement.item() indexed getter's
parameter is correctly validated.
Also update fast/dom/non-numeric-values-numeric-parameters.html now that the
argument is mandatory.

* fast/dom/HTMLSelectElement/select-element-item-argument-expected.txt: Added.
* fast/dom/HTMLSelectElement/select-element-item-argument.html: Added.
* fast/dom/non-numeric-values-numeric-parameters-expected.txt:
* fast/dom/script-tests/non-numeric-values-numeric-parameters.js:

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

7 years agoOn request error, always fire events on the XMLHttpRequestUpload before the XMLHttpRe...
ch.dumez@sisa.samsung.com [Tue, 13 Aug 2013 16:16:04 +0000 (16:16 +0000)]
On request error, always fire events on the XMLHttpRequestUpload before the XMLHttpRequest
https://bugs.webkit.org/show_bug.cgi?id=119714

Reviewed by Alexey Proskuryakov.

Source/WebCore:

On request error, fire events on the XMLHttpRequestUpload object before the XMLHttpRequest
object as per the latest specification:
http://xhr.spec.whatwg.org/#request-error

This specification change was made in Sept 2010:
http://dev.w3.org/cvsweb/2006/webapi/XMLHttpRequest-2/Overview.src.html.diff?r1=1.138;r2=1.139;f=h

It addresses the following comment:
http://lists.w3.org/Archives/Public/public-webapps/2010JulSep/0777.html

IE10 and since recently Blink behave according to specification but WebKit was firing the
events on the XMLHttpRequest object BEFORE the XMLHttpRequestUpload object in case of
'network error' or 'abort error'. WebKit was however behaving according to specification
in case of 'timeout error', which was inconsistent.

Test: http/tests/xmlhttprequest/upload-request-error-event-order.html

* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::networkError):
(WebCore::XMLHttpRequest::abortError):

LayoutTests:

Add a layout test to validate the order in which the events are fired in case
of a xhr request error. Also update an existing test which was relying on the
outdated firing order.

* http/tests/xmlhttprequest/simple-cross-origin-progress-events-expected.txt:
* http/tests/xmlhttprequest/simple-cross-origin-progress-events.html:
* http/tests/xmlhttprequest/upload-request-error-event-order-expected.txt: Added.
* http/tests/xmlhttprequest/upload-request-error-event-order.html: Added.

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

7 years agoSimplify RadioNodeList's anonymous indexed getter
ch.dumez@sisa.samsung.com [Tue, 13 Aug 2013 16:14:42 +0000 (16:14 +0000)]
Simplify RadioNodeList's anonymous indexed getter
https://bugs.webkit.org/show_bug.cgi?id=119725

Reviewed by Darin Adler.

Simplify RadioNodeList's anonymous indexed getter by dropping [IsIndex]
IDL extended attribute from its parameter and making it mandatory.

This change has strictly no impact on the generated bindings code
but it simplifies the IDL.

No new test, no behavior change.

* html/RadioNodeList.idl:

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

7 years ago[Qt] Fix C++11 build with gcc 4.4 and 4.5
allan.jensen@digia.com [Tue, 13 Aug 2013 15:28:32 +0000 (15:28 +0000)]
[Qt] Fix C++11 build with gcc 4.4 and 4.5
https://bugs.webkit.org/show_bug.cgi?id=119736

Reviewed by Anders Carlsson.

Don't force C++11 mode off anymore.

* Target.pri:

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

7 years ago[EFL][DRT] Simplify call to reverseFind()
rakuco@webkit.org [Tue, 13 Aug 2013 14:44:37 +0000 (14:44 +0000)]
[EFL][DRT] Simplify call to reverseFind()
https://bugs.webkit.org/show_bug.cgi?id=119746

Reviewed by Christophe Dumez.

Follow-up to r153977.

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(pathSuitableForTestResult): Instead of defining a static variable
that's only used in a single place, pass '/' to reverseFind() directly.

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

7 years ago[GTK] close the volume slider when the media control panel is hidden
commit-queue@webkit.org [Tue, 13 Aug 2013 13:14:39 +0000 (13:14 +0000)]
[GTK] close the volume slider when the media control panel is hidden
https://bugs.webkit.org/show_bug.cgi?id=119062

Patch by Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk> on 2013-08-13
Reviewed by Gustavo Noronha Silva.

It's not obvious how to close the volume slider on webkitGtk.
The volume slider should close if the control panel is hidden.

* html/shadow/MediaControlsGtk.cpp:
(WebCore::MediaControlsGtk::makeTransparent):
* html/shadow/MediaControlsGtk.h:

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

7 years ago[Qt] Unreviewed gardening. Rebase tests after r153901 and r153915. Skip failing tests.
zarvai@inf.u-szeged.hu [Tue, 13 Aug 2013 12:18:02 +0000 (12:18 +0000)]
[Qt] Unreviewed gardening. Rebase tests after r153901 and r153915. Skip failing tests.

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-08-13

* platform/qt-5.0-wk2/TestExpectations:
* platform/qt-5.0-wk2/svg/W3C-SVG-1.1/struct-dom-03-b-expected.png: Removed.
* platform/qt-5.0/http/tests/security/xss-DENIED-xsl-document-redirect-expected.txt: Removed.
* platform/qt/TestExpectations:
* platform/qt/http/tests/security/xss-DENIED-xsl-document-redirect-expected.txt: Added.
* platform/qt/svg/W3C-SVG-1.1/struct-dom-03-b-expected.png:
* platform/qt/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt: Added.

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

7 years agoUnreviewed, rolling out r152563.
commit-queue@webkit.org [Tue, 13 Aug 2013 12:14:42 +0000 (12:14 +0000)]
Unreviewed, rolling out r152563.
http://trac.webkit.org/changeset/152563
https://bugs.webkit.org/show_bug.cgi?id=119740

causes random crashes (Requested by carewolf on #webkit).

* platform/graphics/qt/FontCacheQt.cpp:
(WebCore::FontCache::getLastResortFallbackFont):

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 13 Aug 2013 09:16:40 +0000 (09:16 +0000)]
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Simplify test failure expectations to remove various lint failures,
also removing a couple of expectations for tests that are passing in the process.

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 13 Aug 2013 09:05:19 +0000 (09:05 +0000)]
Unreviewed GTK gardening.

* platform/gtk/fast/repaint/caret-jump-between-nodes-expected.txt: Added. Rebaselining after r153815.
* platform/gtk/svg/W3C-SVG-1.1/struct-dom-03-b-expected.png: Rebaselining after r153901.
* platform/gtk/svg/W3C-SVG-1.1/struct-dom-03-b-expected.txt: Ditto.

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 13 Aug 2013 09:00:49 +0000 (09:00 +0000)]
Unreviewed GTK gardening.

* platform/gtk/TestExpectations: Add failure expectations for various failing tests.

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

7 years ago[Qt] Unreviewed gardening. Skipping new fails.
zarvai@inf.u-szeged.hu [Tue, 13 Aug 2013 08:38:59 +0000 (08:38 +0000)]
[Qt] Unreviewed gardening. Skipping new fails.

Patch by Gabor Abraham <abrhm@inf.u-szeged.hu> on 2013-08-13

* platform/qt-5.0-wk1/TestExpectations:
* platform/qt/TestExpectations:

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

7 years agoUnreviewed.
abucur@adobe.com [Tue, 13 Aug 2013 08:32:35 +0000 (08:32 +0000)]
Unreviewed.

Fix the build after http://trac.webkit.org/changeset/153990.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateShapesBeforeBlockLayout): Add the default return value if CSS Shapes are disabled.

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

7 years agoAdding testcase for verifying editing behavior for up/down caret movement between...
a.bah@samsung.com [Tue, 13 Aug 2013 08:15:19 +0000 (08:15 +0000)]
Adding testcase for verifying editing behavior for up/down caret movement between lines.
https://bugs.webkit.org/show_bug.cgi?id=119511

Reviewed by Ryosuke Niwa.

* editing/selection/verify-editing-behavior-for-line-granularity-expected.txt: Added.
* editing/selection/verify-editing-behavior-for-line-granularity.html: Added.
Layout testcase added for verifying that the up/down caret movement between
lines is similar to the default text editor behavior on various platforms.

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

7 years ago[GTK] Closing inspector window crashes wk
berto@igalia.com [Tue, 13 Aug 2013 07:53:06 +0000 (07:53 +0000)]
[GTK] Closing inspector window crashes wk
https://bugs.webkit.org/show_bug.cgi?id=110865

Reviewed by Carlos Garcia Campos.

Source/WebKit/gtk:

Deleting priv->corePage during the destruction of a webView will
trigger the deletion of InspectorFrontendClient. However that
object is supposed to handle the webView's destroy signal first in
order to do the necessary cleanup.

The solution is to wait until webkit_web_view_dispose finishes
before deleting priv->corePage.

* webkit/webkitwebview.cpp:
(webkit_web_view_dispose):

Tools:

Disconnect all signal handlers if the inspector window is
destroyed.

* GtkLauncher/LauncherInspectorWindow.c:
(inspectorWindowDestroyed):
(launcherInspectorWindowNew):

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

7 years ago[CSS Regions] Compute correct region ranges for boxes
abucur@adobe.com [Tue, 13 Aug 2013 07:44:32 +0000 (07:44 +0000)]
[CSS Regions] Compute correct region ranges for boxes
https://bugs.webkit.org/show_bug.cgi?id=116296

Reviewed by David Hyatt.

Source/WebCore:

The patch extends the region ranges implementation with the following behavior:
- the range of a box is always included in the range of its containing block (even for floats); this will simplify how overflow
is propagated to the regions and it should later change on a case by case basis.
- if the range of a box is not correctly estimated before the layout it will be marked for relayout; this is necessary to correctly
position boxes that overflow naturally, like floats.
- all the boxes have a range now, not only the blocks.
- regionAtBlockOffset can clamp to a box.
- an unsplittable box has a region range of a single region, the one where the box top falls into.

When the layout of a child box starts it tries to give an estimate based on the maximal height of the box. After the layout,
if the estimation was wrong, the box is relaid out. For example, if a block with a float is laid out in a region but the float
overflows in the next region a relayout is needed for the float so it can be positioned relative to the containing block
region (this step can be optimized by making a layout pass only for the children that don't have the region range enclosed in the
containing block range).

Tests: fast/regions/bottom-overflow-out-of-first-region-absolute.html
       fast/regions/float-pushed-width-change-2.html
       fast/regions/scrollable-paragraph-unsplittable.html

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateShapesBeforeBlockLayout): Doesn't do anything for regions now.
(WebCore::RenderBlock::updateShapesAfterBlockLayout): Doesn't do anything for regions now.
(WebCore::RenderBlock::relayoutToAvoidWidows): The layout to avoid widows. Widows use the line index to determine the break point,
not the RootLineBox pointer as before. This is necessary to prevent stale pointers in further layouts.
(WebCore::RenderBlock::layoutBlock):
(WebCore::RenderBlock::layoutBlockChild):
(WebCore::RenderBlock::layoutPositionedObjects):
(WebCore::RenderBlock::markForPaginationRelayoutIfNeeded): Relayout for widows during layoutBlock(). Don't wait to exit the block layout.
(WebCore::RenderBlock::positionNewFloats):
(WebCore::RenderBlock::hasNextPage):
(WebCore::RenderBlock::applyBeforeBreak):
(WebCore::RenderBlock::applyAfterBreak):
(WebCore::RenderBlock::setPageBreak):
(WebCore::RenderBlock::updateMinimumPageHeight):
(WebCore::RenderBlock::regionAtBlockOffset): This function can now clamp at a box.
(WebCore::RenderBlock::computeRegionRangeForBoxChild): Calculate the box region range using the box height.
(WebCore::RenderBlock::estimateRegionRangeForBoxChild): Estimate the box region range using a huge height for the box.
(WebCore::RenderBlock::updateRegionRangeForBoxChild): Determine the final region range of a box.
* rendering/RenderBlock.h:
(WebCore::RenderBlock::logicalWidthForChild):
(WebCore::RenderBlock::logicalHeightForChild):
(WebCore::RenderBlock::logicalTopForChild):
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::layoutInlineChildren):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::clampToStartAndEndRegions):
(WebCore::RenderBox::borderBoxRectInRegion):
* rendering/RenderBox.h:
* rendering/RenderDeprecatedFlexibleBox.cpp:
(WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::layoutBlock):
* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::validateRegions):
(WebCore::RenderFlowThread::regionAtBlockOffset):
(WebCore::RenderFlowThread::adjustedPositionRelativeToOffsetParent):
(WebCore::RenderFlowThread::pageLogicalTopForOffset):
(WebCore::RenderFlowThread::pageLogicalWidthForOffset):
(WebCore::RenderFlowThread::pageLogicalHeightForOffset):
(WebCore::RenderFlowThread::pageRemainingLogicalHeightForOffset):
(WebCore::RenderFlowThread::mapFromFlowToRegion):
(WebCore::RenderFlowThread::logicalWidthChangedInRegionsForBlock):
(WebCore::RenderFlowThread::clearRenderObjectCustomStyle):
(WebCore::RenderFlowThread::clearRenderBoxRegionInfoAndCustomStyle):
(WebCore::RenderFlowThread::setRegionRangeForBox):
(WebCore::RenderFlowThread::applyBreakAfterContent):
(WebCore::RenderFlowThread::addForcedRegionBreak):
* rendering/RenderFlowThread.h:
* rendering/RenderGrid.cpp:
(WebCore::RenderGrid::layoutBlock):
* rendering/RenderMultiColumnFlowThread.cpp:
(WebCore::RenderMultiColumnFlowThread::setPageBreak):
(WebCore::RenderMultiColumnFlowThread::updateMinimumPageHeight):
* rendering/RenderMultiColumnFlowThread.h:

LayoutTests:

Tests for the changes in how region ranges are computed and applied.

* fast/regions/bottom-overflow-out-of-first-region-absolute-expected.html: Added.
* fast/regions/bottom-overflow-out-of-first-region-absolute.html: Added.
* fast/regions/float-pushed-width-change-2-expected.html: Copied from LayoutTests/fast/regions/float-pushed-width-change-expected.html.
* fast/regions/float-pushed-width-change-2.html: Copied from LayoutTests/fast/regions/float-pushed-width-change.html.
* fast/regions/float-pushed-width-change-expected.html:
* fast/regions/float-pushed-width-change.html:
* fast/regions/scrollable-paragraph-unsplittable-expected.html: Added.
* fast/regions/scrollable-paragraph-unsplittable.html: Added.

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 13 Aug 2013 07:19:51 +0000 (07:19 +0000)]
Unreviewed GTK gardening.

* platform/gtk/editing/caret/caret-color-expected.txt: Rebaselining after r152612.
* platform/gtk/fast/js/dom-static-property-for-in-iteration-expected.txt: Rebaselining after r153772.
* platform/gtk/fast/js/global-constructors-attributes-expected.txt: Ditto.

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

7 years agoOne more speculative Windows build fix after r153978.
rniwa@webkit.org [Tue, 13 Aug 2013 07:15:41 +0000 (07:15 +0000)]
One more speculative Windows build fix after r153978.

* page/win/DragControllerWin.cpp:

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

7 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Tue, 13 Aug 2013 07:15:05 +0000 (07:15 +0000)]
Unreviewed GTK gardening.
Rebaselining after r153647.

* platform/gtk/fast/css/input-search-padding-expected.txt:
* platform/gtk/fast/css/text-overflow-input-expected.txt:
* platform/gtk/fast/forms/box-shadow-override-expected.txt:
* platform/gtk/fast/forms/control-restrict-line-height-expected.txt:
* platform/gtk/fast/forms/input-appearance-height-expected.txt:
* platform/gtk/fast/forms/placeholder-position-expected.txt:
* platform/gtk/fast/forms/placeholder-pseudo-style-expected.txt:
* platform/gtk/fast/forms/search-cancel-button-style-sharing-expected.txt:
* platform/gtk/fast/forms/search-display-none-cancel-button-expected.txt:
* platform/gtk/fast/forms/search-rtl-expected.txt:
* platform/gtk/fast/forms/search-size-with-decorations-expected.txt: Added.
* platform/gtk/fast/forms/search-styled-expected.txt:
* platform/gtk/fast/forms/search-vertical-alignment-expected.txt:
* platform/gtk/fast/forms/searchfield-heights-expected.txt:
* platform/gtk/fast/repaint/search-field-cancel-expected.txt:

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

7 years agoUpdate scheme list according to latest specification
gyuyoung.kim@samsung.com [Tue, 13 Aug 2013 07:11:35 +0000 (07:11 +0000)]
Update scheme list according to latest specification
https://bugs.webkit.org/show_bug.cgi?id=119510

Reviewed by Christophe Dumez.

New schemes are added to it additionally. Those are bitcoin, im, ircs and wtai.
As additional work, scheme order is listed to be sync with spec.

Spec: http://www.w3.org/html/wg/drafts/html/master/webappapis.html#custom-handlers

Source/WebCore:

Test: fast/dom/register-protocol-handler.html
      fast/dom/unregister-protocol-handler.html

* Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
(WebCore::initProtocolHandlerWhitelist):

LayoutTests:

* fast/dom/register-protocol-handler-expected.txt:
* fast/dom/register-protocol-handler.html:
* fast/dom/unregister-protocol-handler-expected.txt:
* fast/dom/unregister-protocol-handler.html:
* platform/efl/fast/dom/register-protocol-handler-expected.txt:
* platform/efl/fast/dom/unregister-protocol-handler-expected.txt:

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

7 years agoYet another Windows build fix attempt after r153978.
rniwa@webkit.org [Tue, 13 Aug 2013 07:08:12 +0000 (07:08 +0000)]
Yet another Windows build fix attempt after r153978.

* page/win/DragControllerWin.cpp:
(WebCore::DragController::declareAndWriteDragImage):

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

7 years agoAnother Windows build fix attempt after r153978.
rniwa@webkit.org [Tue, 13 Aug 2013 07:04:01 +0000 (07:04 +0000)]
Another Windows build fix attempt after r153978.

* page/win/DragControllerWin.cpp:

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

7 years agoWindows build fix attempt after r153978.
rniwa@webkit.org [Tue, 13 Aug 2013 07:00:47 +0000 (07:00 +0000)]
Windows build fix attempt after r153978.

* page/win/DragControllerWin.cpp:

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

7 years agoFix null dereference in HTMLAnchorElement::sendPings when frame is not attached to...
rniwa@webkit.org [Tue, 13 Aug 2013 06:38:55 +0000 (06:38 +0000)]
Fix null dereference in HTMLAnchorElement::sendPings when frame is not attached to a page
https://bugs.webkit.org/show_bug.cgi?id=119716

Reviewed by Darin Adler.

Add a regression test for r153975.

* fast/html/detach-frame-while-clicking-on-anchor-with-ping-expected.txt: Added.
* fast/html/detach-frame-while-clicking-on-anchor-with-ping.html: Added.

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

7 years agoASSERTION FAILED: type() == Percent in WebCore::Length::percent
zandobersek@gmail.com [Tue, 13 Aug 2013 06:26:45 +0000 (06:26 +0000)]
ASSERTION FAILED: type() == Percent in WebCore::Length::percent
https://bugs.webkit.org/show_bug.cgi?id=116715

Reviewed by Darin Adler.

Source/WebCore:

Allow the Calculated type in the Length::percent method that returns the Length's
float value. This reflects the changes in r110148 that adjusted the Length::isPercent
method to return true for Length objects of either Percent or Calculated type.

Test: fast/css/calculated-length-as-percent-crash.html

* platform/Length.h:
(WebCore::Length::percent): Assert that Length::isPercent is true when Length::percent
is called, ensuring the Length's type is either Percent or Calculated.

LayoutTests:

Add the test case, as produced by the Fuzzinator, that was causing assertions
in Length::percent due to Length objects of the Calculated type not being treated
as holding a proper percent value in that method, despite Length::isPercent
returning true for Length objects of either Percent or the Calculated type.

* fast/css/calculated-length-as-percent-crash-expected.txt: Added.
* fast/css/calculated-length-as-percent-crash.html: Added.

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

7 years agoextract-localizable-strings output is not suited for parsing by Xcode
mitz@apple.com [Tue, 13 Aug 2013 06:26:29 +0000 (06:26 +0000)]
extract-localizable-strings output is not suited for parsing by Xcode
https://bugs.webkit.org/show_bug.cgi?id=119728

Reviewed by Darin Adler.

Added spaces where needed after “path:line:” to allow Xcode to recognize the file reference,
removed “ERROR” since messages that refer to a line in a file are shown as error by default,
added “warning: ” in messages that aren’t errors (i.e. don’t prevent the script from exiting
with 0).

* Scripts/extract-localizable-strings:

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

7 years ago[Autotools] Adjust the help string for the configure's --enable-optimizations flag
zandobersek@gmail.com [Tue, 13 Aug 2013 06:16:35 +0000 (06:16 +0000)]
[Autotools] Adjust the help string for the configure's --enable-optimizations flag
https://bugs.webkit.org/show_bug.cgi?id=119682

Reviewed by Martin Robinson.

* Source/autotools/ReadCommandLineArguments.m4: Remove the 'GCC only' part of the help
string for the --enable-optimizations flag. This is not true and can lead to confusion
since the optimizations can be applied when compiling with Clang as well.

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

7 years agoMove Clipboard::declareAndWriteDragImage to DragController
darin@apple.com [Tue, 13 Aug 2013 05:58:19 +0000 (05:58 +0000)]
Move Clipboard::declareAndWriteDragImage to DragController
https://bugs.webkit.org/show_bug.cgi?id=117683

Reviewed by Brent Fulgham.

* dom/Clipboard.h: Removed declareAndWriteDragImage.

* page/DragController.cpp:
(WebCore::selectImageBeforeDragging): Half of the old prepareClipboardForImageDrag
is now refactored into this function.
(WebCore::DragController::startDrag): Where we called prepareClipboardForImageDrag,
instead call selectImageBeforeDragging and declareAndWriteDragImage. This is needed
because declareAndWriteDragImage needs to be a member function, for Mac at least.

* page/DragController.h: Added declareAndWriteDragImage.

* page/efl/DragControllerEfl.cpp:
(WebCore::DragController::declareAndWriteDragImage): Added empty placeholder.
It would be better to delete this file rather than having these placeholders.
I don't think EFL actually has drag support, and it makes work to have to keep
source files up to date that are really unused.

* page/gtk/DragControllerGtk.cpp:
(WebCore::DragController::declareAndWriteDragImage): Added. Calls Pasteboard::writeImage.
* page/mac/DragControllerMac.mm:
(WebCore::DragController::declareAndWriteDragImage): Added. Calls to DragClient, which
does the work.
* page/qt/DragControllerQt.cpp:
(WebCore::DragController::declareAndWriteDragImage): Added. Calls Pasteboard::writeImage.
* page/win/DragControllerWin.cpp:
(WebCore::DragController::declareAndWriteDragImage): Added. Uses Pasteboard functions to
do the work.

* platform/Clipboard.h: Changed the pasteboard function to return a non-const reference.
For now, it's not clear what const will mean for pasteboards, and it's currently not
possible to write to a const pasteboard, which we need to do in the new
DragController::declareAndWriteDragImage functions.

* platform/Pasteboard.h: Added a new writeMarkup function, implemented only for Windows
at this time.

* platform/efl/ClipboardEfl.cpp: Deleted declareAndWriteDragImage.
* platform/gtk/ClipboardGtk.cpp: Ditto.
* platform/ios/ClipboardIOS.h: Ditto.
* platform/ios/ClipboardIOS.mm: Ditto.
* platform/mac/ClipboardMac.mm: Ditto.
* platform/qt/ClipboardQt.cpp: Ditto.
* platform/win/ClipboardWin.cpp: Ditto.

* platform/win/PasteboardWin.cpp:
(WebCore::Pasteboard::writePlainTextToDataObject): Took out a pointless line of code.
(WebCore::Pasteboard::writeMarkup): Added. Currently implemented only for Windows.
This factors out a significant piece of DragController::declareAndWriteDragImage,
and will probably be handy for other platforms later.

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

7 years ago[EFL][WK1] URL printing code in DumpRenderTree doesn't match WTR or Mac DRT
ryuan.choi@samsung.com [Tue, 13 Aug 2013 05:55:56 +0000 (05:55 +0000)]
[EFL][WK1] URL printing code in DumpRenderTree doesn't match WTR or Mac DRT
https://bugs.webkit.org/show_bug.cgi?id=119585

Reviewed by Gyuyoung Kim.

Source/WebKit/efl:

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::provisionalURL):
Implemented to pass provisionalURL of main frame to DumpRenderTreeChrome.
* WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

* DumpRenderTree/efl/DumpRenderTreeChrome.cpp:
(pathSuitableForTestResult):
Return path string that's relative to main frame URL, or just file name if
the resource is not in the same directory subtree.
Referenced WebKitTestRunner code in r153852.
(descriptionSuitableForTestResult):
(DumpRenderTreeChrome::onFrameRedirectRequested):
(DumpRenderTreeChrome::onNewResourceRequest): Followed changes of r153903.

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

7 years agoextract-localizable-strings doesn't know how to verify an existing strings file
mitz@apple.com [Tue, 13 Aug 2013 05:53:05 +0000 (05:53 +0000)]
extract-localizable-strings doesn't know how to verify an existing strings file
https://bugs.webkit.org/show_bug.cgi?id=119704

Reviewed by Darin Adler.

* Scripts/extract-localizable-strings: Added an --exceptions option for specifying the
exceptions file, changing the way “no exceptions file” is expressed from passing “-” as the
exceptions file name to omitting the --exceptions option. Added a --skip option, changing
the way directories to skip are specified from prefixing the directory with a “-” to
specifying it with --skip.
Finally, added a --verify option. When specified, the strings file is not written to, but
instead read in and checked for consistency with the comments, keys and values derived from
the source files and the exceptions file. Missing keys, unused keys, mismatching values and
mismatching comments are reported as errors.
* Scripts/update-webkit-localizable-strings: Updated for the new way of specifying
directories to skip and no exceptions file.

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

7 years agoFix NULL de-refernce in HTMLAnchorElement::sendPings when settings doesn't exist
rniwa@webkit.org [Tue, 13 Aug 2013 05:48:32 +0000 (05:48 +0000)]
Fix NULL de-refernce in HTMLAnchorElement::sendPings when settings doesn't exist
https://bugs.webkit.org/show_bug.cgi?id=119716

Reviewed by Darin Adler.

Merge https://chromium.googlesource.com/chromium/blink/+/d5783da353ab783e9994b8fbecd91880be5192a1

No new tests since the test in the Blink change doesn't reproduce crash on WebKit.

* html/HTMLAnchorElement.cpp:
(WebCore::HTMLAnchorElement::sendPings):

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

7 years agoUse the correct preprocessor in shouldRepaintFixedBackgroundsOnScroll()
seokju@webkit.org [Tue, 13 Aug 2013 05:47:27 +0000 (05:47 +0000)]
Use the correct preprocessor in shouldRepaintFixedBackgroundsOnScroll()
https://bugs.webkit.org/show_bug.cgi?id=119710

Reviewed by Darin Adler.

No behavior change, no new tests needed.

* rendering/RenderObject.cpp: Remove unused parameter warning.
(WebCore::shouldRepaintFixedBackgroundsOnScroll):

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

7 years agohttp/tests/security/sandboxed-iframe-invalid.html is flaky on Mac
ap@apple.com [Tue, 13 Aug 2013 03:44:57 +0000 (03:44 +0000)]
http/tests/security/sandboxed-iframe-invalid.html is flaky on Mac
https://bugs.webkit.org/show_bug.cgi?id=85522

Reviewed by Andy Estes.

Source/WebCore:

Drive-by FIXMEs and trivial fixes for WebCore issues I noticed while working
on this bug. No behavior change expected.

* loader/FrameLoader.cpp:
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::findFrameForNavigation):
* loader/NavigationScheduler.cpp:
(WebCore::ScheduledFormSubmission::fire):

Tools:

* DumpRenderTree/mac/UIDelegate.mm:
(-[UIDelegate webView:addMessageToConsole:withSource:]): Don't print console messages
when already done with a test. We already had this check in all UI delegate functions,
except for -webView:addMessageToConsole:withSource: somehow.

LayoutTests:

* http/tests/security/sandboxed-iframe-form-top-expected.txt: Console logging got
improved while this test was marked as skipped or flaky, updating the results.

* platform/mac/TestExpectations: Removed sandboxed-iframe-form-top.html, this test
no longer leaks output into later ones. The test was erroneously marked as flaky
instead of skipped, but now it's good.

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

7 years agoFix variable name |end| -> |size| in EventTarget::fireEventListeners
rniwa@webkit.org [Tue, 13 Aug 2013 03:34:26 +0000 (03:34 +0000)]
Fix variable name |end| -> |size| in EventTarget::fireEventListeners
https://bugs.webkit.org/show_bug.cgi?id=119715

Reviewed by Benjamin Poulain.

Merge https://chromium.googlesource.com/chromium/blink/+/f58b017539c48059bb2b88d18ee0ee3d14decb01
and also fix variable names in FiringEventIterator.

* dom/EventTarget.cpp:
(WebCore::EventTarget::removeEventListener):
(WebCore::EventTarget::fireEventListeners):
(WebCore::EventTarget::removeAllEventListeners):
* dom/EventTarget.h:
(WebCore::FiringEventIterator::FiringEventIterator):

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

7 years ago[EFL] Unreviewed gardening.
ryuan.choi@samsung.com [Tue, 13 Aug 2013 01:35:13 +0000 (01:35 +0000)]
[EFL] Unreviewed gardening.

Add a missing result after r152911.

* platform/efl/fast/multicol/pagination/BottomToTop-bt-expected.png: Added.
* platform/efl/fast/multicol/pagination/BottomToTop-bt-expected.txt: Added.
* platform/efl/fast/multicol/pagination/BottomToTop-lr-expected.png: Added.
* platform/efl/fast/multicol/pagination/BottomToTop-lr-expected.txt: Added.
* platform/efl/fast/multicol/pagination/BottomToTop-rl-expected.png: Added.
* platform/efl/fast/multicol/pagination/BottomToTop-rl-expected.txt: Added.
* platform/efl/fast/multicol/pagination/BottomToTop-tb-expected.png: Added.
* platform/efl/fast/multicol/pagination/BottomToTop-tb-expected.txt: Added.
* platform/efl/fast/multicol/pagination/LeftToRight-bt-expected.png: Added.
* platform/efl/fast/multicol/pagination/LeftToRight-bt-expected.txt: Added.
* platform/efl/fast/multicol/pagination/LeftToRight-lr-expected.png: Added.
* platform/efl/fast/multicol/pagination/LeftToRight-lr-expected.txt: Added.
* platform/efl/fast/multicol/pagination/LeftToRight-rl-expected.png: Added.
* platform/efl/fast/multicol/pagination/LeftToRight-rl-expected.txt: Added.
* platform/efl/fast/multicol/pagination/LeftToRight-tb-expected.png: Added.
* platform/efl/fast/multicol/pagination/LeftToRight-tb-expected.txt: Added.
* platform/efl/fast/multicol/pagination/RightToLeft-bt-expected.png: Added.
* platform/efl/fast/multicol/pagination/RightToLeft-bt-expected.txt: Added.
* platform/efl/fast/multicol/pagination/RightToLeft-lr-expected.png: Added.
* platform/efl/fast/multicol/pagination/RightToLeft-lr-expected.txt: Added.
* platform/efl/fast/multicol/pagination/RightToLeft-rl-expected.png: Added.
* platform/efl/fast/multicol/pagination/RightToLeft-rl-expected.txt: Added.
* platform/efl/fast/multicol/pagination/RightToLeft-tb-expected.png: Added.
* platform/efl/fast/multicol/pagination/RightToLeft-tb-expected.txt: Added.
* platform/efl/fast/multicol/pagination/TopToBottom-bt-expected.png: Added.
* platform/efl/fast/multicol/pagination/TopToBottom-bt-expected.txt: Added.
* platform/efl/fast/multicol/pagination/TopToBottom-lr-expected.png: Added.
* platform/efl/fast/multicol/pagination/TopToBottom-lr-expected.txt: Added.
* platform/efl/fast/multicol/pagination/TopToBottom-rl-expected.png: Added.
* platform/efl/fast/multicol/pagination/TopToBottom-rl-expected.txt: Added.
* platform/efl/fast/multicol/pagination/TopToBottom-tb-expected.png: Added.
* platform/efl/fast/multicol/pagination/TopToBottom-tb-expected.txt: Added.

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

7 years agoEncapsulate access to documentNamedItemMap and windowNamedItemMap
rniwa@webkit.org [Tue, 13 Aug 2013 01:12:18 +0000 (01:12 +0000)]
Encapsulate access to documentNamedItemMap and windowNamedItemMap
https://bugs.webkit.org/show_bug.cgi?id=119701

Reviewed by Darin Adler.

Encapsulate m_documentNamedItem and m_windowNamedItem by adding various methods on HTMLDocument.
This will help us doing more refactorings in the future.

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::namedItemGetter):
(WebCore::JSDOMWindow::getOwnPropertySlot):
(WebCore::JSDOMWindow::getOwnPropertySlotByIndex):
(WebCore::JSDOMWindow::getOwnPropertyDescriptor):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::canGetItemsForName):
(WebCore::JSHTMLDocument::nameGetter):
* dom/Element.cpp:
(WebCore::Element::updateNameForDocument):
(WebCore::Element::updateIdForDocument):
* html/HTMLDocument.cpp:
(WebCore::HTMLDocument::addDocumentNamedItem): Added.
(WebCore::HTMLDocument::removeDocumentNamedItem): Added.
(WebCore::HTMLDocument::addWindowNamedItem): Added.
(WebCore::HTMLDocument::removeWindowNamedItem): Added.
* html/HTMLDocument.h:
(WebCore::HTMLDocument::documentNamedItem): Added.
(WebCore::HTMLDocument::hasDocumentNamedItem): Added.
(WebCore::HTMLDocument::documentNamedItemContainsMultipleElements): Added.
(WebCore::HTMLDocument::windowNamedItem): Added.
(WebCore::HTMLDocument::hasWindowNamedItem): Added.
(WebCore::HTMLDocument::windowNamedItemContainsMultipleElements): Added.
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute):
* html/HTMLObjectElement.cpp:
(WebCore::HTMLObjectElement::updateDocNamedItem):

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

7 years agoFixed an off-by-(sizeof(char*) - 1) bug.
mitz@apple.com [Tue, 13 Aug 2013 01:10:07 +0000 (01:10 +0000)]
Fixed an off-by-(sizeof(char*) - 1) bug.

Reviewed by Sam Weinig.

* Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
(WebKit::XPCServiceEventHandler): Allocate a sufficiently large buffer.

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