profile/ivi/webkit-efl.git
12 years agohttps://bugs.webkit.org/show_bug.cgi?id=69043
hyatt@apple.com [Fri, 30 Sep 2011 18:18:15 +0000 (18:18 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=69043

[CSS3 Regions] Blocks split across regions with variable width need to size
differently in each region.

This patch adds the capability for blocks to have variable width and positioning
when split across regions. It is very rudimentary and so far only operates on basic
normal flow RenderBlocks. Future patches will expand the support to cover other layout
constructs like flexible boxes and tables.

Reviewed by Sam Weinig.

Added new tests in fast/regions and updated existing results.

Source/WebCore:

* WebCore.xcodeproj/project.pbxproj:
* rendering/HitTestResult.cpp:
(WebCore::HitTestResult::HitTestResult):
(WebCore::HitTestResult::operator=):
* rendering/HitTestResult.h:
(WebCore::HitTestResult::region):
(WebCore::HitTestResult::setRegion):
The hit test result now holds the active RenderRegion so that hit testing can adjust
block widths and positions when hit testing their border boxes.

* rendering/PaintInfo.h:
(WebCore::PaintInfo::PaintInfo):
The paint info struct now holds the active RenderRegion so that painting can adjust
block widths and positions when painting borders and backgrounds and shadows.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::layoutBlock):
If our width ever changes, we invalidate all of our cached RenderBoxRegionInfo in all
regions that we span.

(WebCore::RenderBlock::clearRenderBoxRegionInfo):
Called to clear out our cached region-specific information in all regions that we span.

(WebCore::RenderBlock::borderBoxRectInRegionAtPosition):
Returns the borderBoxRect for the region at the specified vertical offset. This rect
can be both shifted horizontally and have a different width from our original border rect.

(WebCore::RenderBlock::logicalLeftOffsetForContent):
(WebCore::RenderBlock::logicalRightOffsetForContent):
Modified to call borderBoxRectInRegionAtPosition so that lines will fit inside
the content rect of the border box rect for the specific region.

* rendering/RenderBlock.h:
(WebCore::RenderBlock::logicalRightOffsetForContent):
Modified to call logicalLeftOffsetForContent since it's cleaner.

* rendering/RenderBox.cpp:
(WebCore::RenderBox::borderBoxRectInRegion):
Called to compute the border box rect in a specific region. The result is cached in a HashMap
in the region itself so that subsequent lookups are fast.

(WebCore::RenderBox::nodeAtPoint):
Modified to use the border box rect in the active region when hit testing the backgrounds of boxes.

(WebCore::RenderBox::paintBoxDecorations):
Modified to use the border box rect in the active region when painting the backgrounds of boxes.

(WebCore::RenderBox::containingBlockLogicalWidthForContent):
(WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
(WebCore::RenderBox::computeLogicalWidth):
(WebCore::RenderBox::computeLogicalWidthInRegion):
Helpers for computing logical widths and margins in a specific region. The result is then cached
in a HashMap in the region.

(WebCore::RenderBox::renderBoxRegionInfo):
The function for obtaining the region-specific information for a given box.

* rendering/RenderBox.h:
(WebCore::RenderBox::borderBoxRectInRegion):
New function for returning the border box rect in a given region.

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):
Make sure mask painting honors the active region.

* rendering/RenderBoxRegionInfo.h: Added.
(WebCore::RenderBoxRegionInfo::RenderBoxRegionInfo):
(WebCore::RenderBoxRegionInfo::logicalLeft):
(WebCore::RenderBoxRegionInfo::logicalWidth):
(WebCore::RenderBoxRegionInfo::containingBlockChainIsShifted):
New class held by RenderRegions that caches box-specific info for a given region. This will eventually
expand to include custom styles as well, but for now it is limited to a new logical left and a new
logical width, along with a bit for optimizing accumulated shifting when painting/hit testing to avoid
too much groveling up the containing block chain.

* rendering/RenderFlowThread.cpp:
(WebCore::RenderFlowThread::RenderFlowThread):
Removed the region fitting optimization, since eventually everyone is going to care, and there's no reason
to limit it with the results now being cached.

(WebCore::RenderFlowThread::layout):
All box-specific region information is always cleared whenever the regions are invalidated.

(WebCore::RenderFlowThread::computeLogicalWidth):
Modified to set up RenderBoxRegionInfo for the flow thread in all regions.

(WebCore::RenderFlowThread::paintIntoRegion):
(WebCore::RenderFlowThread::hitTestRegion):
Modified to take the region instead of the region's rectangle so that painting and hit testing of the flow
thread layer tree can properly receive the active region.

(WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
Helper for removing a box's information from all regions. For now it grovels through every region, so eventually
we may want to have a cache of the start/end regions for a given box somewhere.

* rendering/RenderFlowThread.h:
Removal of the region fitting stuff.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::paint):
(WebCore::RenderLayer::paintOverlayScrollbars):
(WebCore::RenderLayer::paintLayer):
(WebCore::RenderLayer::paintList):
(WebCore::RenderLayer::paintPaginatedChildLayer):
(WebCore::RenderLayer::paintChildLayerIntoColumns):
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintIntoLayer):
Modified to pass the current region down through painting functions so that it is known at paint time.

* rendering/RenderObject.cpp:
(WebCore::RenderObject::RenderObject):
Added a new bit to RenderObjects, inRenderFlowThread(), so that it is quick to determine whether or not an
object needs flow thread special casing.

(WebCore::RenderObject::enclosingRenderFlowThread):
Modified enclosingRenderFlowThread to be able to quickly return 0 if the object is not in a flow thread.

(WebCore::RenderObject::containerForRepaint):
Same.

* rendering/RenderObject.h:
(WebCore::RenderObject::setParent):
setParent now updates inRenderFlowThread() state.

(WebCore::RenderObject::inRenderFlowThread):
(WebCore::RenderObject::setInRenderFlowThread):
Adding the new bit.

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):
Make sure when an object is removed from a RenderFlowThread that it deletes its box-specific information
in all regions.

* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::~RenderRegion):
(WebCore::RenderRegion::paintReplaced):
(WebCore::RenderRegion::nodeAtPoint):
(WebCore::RenderRegion::renderBoxRegionInfo):
(WebCore::RenderRegion::setRenderBoxRegionInfo):
(WebCore::RenderRegion::removeRenderBoxRegionInfo):
(WebCore::RenderRegion::deleteAllRenderBoxRegionInfo):
(WebCore::RenderRegion::matchesRenderFlowThreadLogicalWidth):
* rendering/RenderRegion.h:
Added the new HashMap for holding box-specific region information. Also added an additional optimization to
check if a specific region matches the overall width of the RenderFlowThread. If it does, we don't need to
cache box-specific information for that region.

* rendering/RenderReplica.cpp:
(WebCore::RenderReplica::paint):
* rendering/RenderScrollbarPart.cpp:
(WebCore::RenderScrollbarPart::paintIntoRect):
* rendering/svg/SVGImageBufferTools.cpp:
(WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
Modified the PaintInfo construction to include the region argument. It's not optional so that callers will
have to consider it (since masks illustrated this is necessary).

LayoutTests:

* fast/regions/percentage-margins-variable-width-regions.html: Added.
* platform/mac/fast/regions/percentage-margins-variable-width-regions-expected.png: Added.
* platform/mac/fast/regions/percentage-margins-variable-width-regions-expected.txt: Added.
* platform/mac/fast/regions/webkit-flow-double-pagination-float-push-expected.png:
* platform/mac/fast/regions/webkit-flow-float-pushed-to-last-region-expected.png:
* platform/mac/fast/regions/webkit-flow-float-unable-to-push-expected.png:
* platform/mac/fast/regions/webkit-flow-floats-inside-regions-bounds-expected.png:
* platform/mac/fast/regions/webkit-flow-inlines-dynamic-expected.png:
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-expected.png:
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-expected.png:
* platform/mac/fast/regions/webkit-flow-inlines-inside-regions-bounds-vertical-rl-expected.png:

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

12 years agofeBlend uses a table of function pointers which reduces inlineability inside the...
timothy_horton@apple.com [Fri, 30 Sep 2011 18:09:14 +0000 (18:09 +0000)]
feBlend uses a table of function pointers which reduces inlineability inside the main loop
https://bugs.webkit.org/show_bug.cgi?id=69154
<rdar://problem/10215221>

Reviewed by Darin Adler.

Don't use a table of function pointers inside the feBlend inner loop, instead
use switch and inline functions, bringing a 20% performance gain across the
board to feBlend.

No new tests, minor performance improvement.

* platform/graphics/filters/FEBlend.cpp:
(WebCore::normal):
(WebCore::multiply):
(WebCore::screen):
(WebCore::darken):
(WebCore::lighten):
(WebCore::FEBlend::apply):

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

12 years agoAdd getCallData to MethodTable in ClassInfo
mhahnenberg@apple.com [Fri, 30 Sep 2011 17:59:15 +0000 (17:59 +0000)]
Add getCallData to MethodTable in ClassInfo
https://bugs.webkit.org/show_bug.cgi?id=69024

Reviewed by Sam Weinig.

Source/JavaScriptCore:

* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

Added the getCallData to the MethodTable in the ClassInfo struct.
* runtime/ClassInfo.h:

Source/WebCore:

No new tests.

* WebCore.exp.in:

Changed getCallData from private to protected to allow subclasses who
don't override getCallData themselves to reference it in their own
method tables when calling the CREATE_METHOD_TABLE macro.
* bridge/runtime_method.h:

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

12 years agoWebKitTestRunner needs layoutTestController.setAppCacheMaximumSize
qi.2.zhang@nokia.com [Fri, 30 Sep 2011 17:26:14 +0000 (17:26 +0000)]
WebKitTestRunner needs layoutTestController.setAppCacheMaximumSize
https://bugs.webkit.org/show_bug.cgi?id=42698

Reviewed by Andreas Kling.

Source/WebKit2:

Implemented layoutTestController.setAppCacheMaximumSize and layoutTestController.clearApplicationCache,
and call clearApplicationCache when layoutTest start up.

* WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
(WebKit::WebApplicationCacheManager::setAppCacheMaximumSize):
* WebProcess/ApplicationCache/WebApplicationCacheManager.h:
* WebProcess/InjectedBundle/API/c/WKBundle.cpp:
(WKBundleClearApplicationCache):
(WKBundleSetAppCacheMaximumSize):
* WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
* WebProcess/InjectedBundle/InjectedBundle.cpp:
(WebKit::InjectedBundle::clearApplicationCache):
(WebKit::InjectedBundle::setAppCacheMaximumSize):
* WebProcess/InjectedBundle/InjectedBundle.h:

Tools:

Implemented layoutTestController.setAppCacheMaximumSize and layoutTestController.clearApplicationCache,
and call clearApplicationCache when layoutTest start up.

* WebKitTestRunner/InjectedBundle/Bindings/LayoutTestController.idl:
* WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:
(WTR::InjectedBundle::beginTesting):
* WebKitTestRunner/InjectedBundle/LayoutTestController.cpp:
(WTR::LayoutTestController::clearAllApplicationCaches):
(WTR::LayoutTestController::setAppCacheMaximumSize):
* WebKitTestRunner/InjectedBundle/LayoutTestController.h:

LayoutTests:

Removed http/tests/appcache/max-size.html from skipped list, and also the "failed" expected file for http/tests/appcache/interrupted-update-expected.html

* platform/mac-wk2/http/tests/appcache: Removed.
* platform/mac-wk2/http/tests/appcache/interrupted-update-expected.txt: Removed.
* platform/wk2/Skipped:

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

12 years agoComplex spaces with synthetic bold are too wide
mitz@apple.com [Fri, 30 Sep 2011 17:05:22 +0000 (17:05 +0000)]
Complex spaces with synthetic bold are too wide
https://bugs.webkit.org/show_bug.cgi?id=69033

Patch by Ned Holbrook <nholbrook@apple.com> on 2011-09-30
Reviewed by Dan Bernstein.

Source/WebCore:

Test: fast/text/complex-synthetic-bold-space-width.html

* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::adjustGlyphsAndAdvances): Subtract synthetic bold offset from spaceWidth.
* platform/graphics/win/UniscribeController.cpp:
(WebCore::UniscribeController::shapeAndPlaceItem): Ditto.

LayoutTests:

* fast/text/complex-synthetic-bold-space-width.html: Added.
* platform/mac/fast/text/atsui-multiple-renderers-expected.png:
* platform/mac/fast/text/atsui-multiple-renderers-expected.txt:
* platform/mac/fast/text/complex-synthetic-bold-space-width-expected.png: Added.
* platform/mac/fast/text/complex-synthetic-bold-space-width-expected.txt: Added.

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

12 years agoLayoutTests: Rewrite fast/dom/HTMLInputElement/input-size-attribute.html
commit-queue@webkit.org [Fri, 30 Sep 2011 17:00:10 +0000 (17:00 +0000)]
LayoutTests: Rewrite fast/dom/HTMLInputElement/input-size-attribute.html
https://bugs.webkit.org/show_bug.cgi?id=69130

Patch by Antaryami Pandia <antaryami.pandia@motorola.com> on 2011-09-30
Reviewed by Alexey Proskuryakov.

* fast/dom/HTMLInputElement/input-size-attribute-expected.txt:
* fast/dom/HTMLInputElement/input-size-attribute.html:

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

12 years ago[Qt][WK2] Change WebKitTestRunner to use QMouseEvents instead of QGraphicsSceneMouseE...
commit-queue@webkit.org [Fri, 30 Sep 2011 14:54:02 +0000 (14:54 +0000)]
[Qt][WK2] Change WebKitTestRunner to use QMouseEvents instead of QGraphicsSceneMouseEvents
https://bugs.webkit.org/show_bug.cgi?id=69145

This is a follow up to https://bugs.webkit.org/show_bug.cgi?id=69105
Due to refactorings in Qt5, QMouseEvent now supports floating point coordinates
and is perfectly suitable for SceneGraph as well. GraphicsScene events
will not be available in QtGui anymore in future. Therefore we also have to change
QtWebKit to use QMouseEvents instead of QGraphicsSceneMouseEvents.

Patch by Zeno Albisser <zeno.albisser@nokia.com> on 2011-09-30
Reviewed by Chang Shu.

* WebKitTestRunner/EventSenderProxy.h:
* WebKitTestRunner/qt/EventSenderProxyQt.cpp:
(WTR::EventSenderProxy::createMouseEvent):
(WTR::EventSenderProxy::mouseDown):
(WTR::EventSenderProxy::mouseUp):
(WTR::EventSenderProxy::mouseMoveTo):

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

12 years agoReplace textInputController.doCommand with eventSender.keyDown in password-echo tests
commit-queue@webkit.org [Fri, 30 Sep 2011 14:44:02 +0000 (14:44 +0000)]
Replace textInputController.doCommand with eventSender.keyDown in password-echo tests
https://bugs.webkit.org/show_bug.cgi?id=69143

textInputController.doCommand is not supported very well across the platforms. Replace it
with eventSender.keyDown would make the tests pass on more platforms and potentially WK2.

Patch by Chang Shu <cshu@webkit.org> on 2011-09-30
Reviewed by Antonio Gomes.

* editing/input/resources/password-echo.js:
(init):

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

12 years ago[UNIX] Add a method to get information for an already loaded plugin module
carlosgc@webkit.org [Fri, 30 Sep 2011 14:23:43 +0000 (14:23 +0000)]
[UNIX] Add a method to get information for an already loaded plugin module
https://bugs.webkit.org/show_bug.cgi?id=69139

Reviewed by Martin Robinson.

* Shared/Plugins/Netscape/NetscapePluginModule.h: Add pluginInfo().
* Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
(WebKit::NetscapePluginModule::pluginInfo): Private method to get
the plugin information from the module, it must be called when the
module has been already initialized.
(WebKit::NetscapePluginModule::getPluginInfo): Use pluginInfo() to
get information of the plugin module for the given path.

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

12 years ago[Qt][WK2] Event delivery in QDesktopWebView is broken after merge of Qt5 refactor
commit-queue@webkit.org [Fri, 30 Sep 2011 11:58:30 +0000 (11:58 +0000)]
[Qt][WK2] Event delivery in QDesktopWebView is broken after merge of Qt5 refactor
https://bugs.webkit.org/show_bug.cgi?id=69105

This changes QDesktopWebView and QDesktopWebPageProxy to use QMouseEvent instead
of QGraphicsSceneMouseEvent.
Further it removes an endless loop introduced by the QSGItem::event() function
delivering inputMethodEvents but no other events.

Patch by Zeno Albisser <zeno.albisser@nokia.com> on 2011-09-30
Reviewed by Andreas Kling.

* Shared/NativeWebMouseEvent.h:
(WebKit::NativeWebMouseEvent::nativeEvent):
* Shared/NativeWebWheelEvent.h:
(WebKit::NativeWebWheelEvent::nativeEvent):
* Shared/qt/NativeWebMouseEventQt.cpp:
(WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
* Shared/qt/NativeWebWheelEventQt.cpp:
(WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
* Shared/qt/WebEventFactoryQt.cpp:
(WebKit::mouseButtonForEvent):
(WebKit::webEventTypeForEvent):
(WebKit::WebEventFactory::createWebMouseEvent):
(WebKit::WebEventFactory::createWebWheelEvent):
* Shared/qt/WebEventFactoryQt.h:
* UIProcess/API/qt/qdesktopwebview.cpp:
(QDesktopWebView::mousePressEvent):
(QDesktopWebView::mouseMoveEvent):
(QDesktopWebView::mouseReleaseEvent):
(QDesktopWebView::mouseDoubleClickEvent):
(QDesktopWebView::wheelEvent):
(QDesktopWebView::event):
* UIProcess/API/qt/qdesktopwebview.h:
* UIProcess/qt/qdesktopwebpageproxy.cpp:
(QDesktopWebPageProxy::handleEvent):
(QDesktopWebPageProxy::handleMouseMoveEvent):
(QDesktopWebPageProxy::handleMousePressEvent):
(QDesktopWebPageProxy::handleMouseReleaseEvent):
(QDesktopWebPageProxy::handleMouseDoubleClickEvent):
(QDesktopWebPageProxy::handleWheelEvent):
(QDesktopWebPageProxy::handleHoverMoveEvent):
* UIProcess/qt/qdesktopwebpageproxy.h:

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

12 years agoWeb Inspector: [chromium] expose inspector protocol version to the embedder.
pfeldman@chromium.org [Fri, 30 Sep 2011 10:44:46 +0000 (10:44 +0000)]
Web Inspector: [chromium] expose inspector protocol version to the embedder.
https://bugs.webkit.org/show_bug.cgi?id=69092

Source/WebCore:

This change also introduces major/minor inspector version components.

Reviewed by Yury Semikhatsky.

* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.make:
* GNUmakefile.am:
* GNUmakefile.list.am:
* WebCore.gyp/WebCore.gyp:
* WebCore.gypi:
* inspector/Inspector-0.1.json: Renamed from Source/WebCore/inspector/Inspector.draft-01.json.
* inspector/Inspector.json:
* inspector/generate-inspector-protocol-version: Renamed from Source/WebCore/inspector/validate-protocol-compatibility.

Source/WebKit/chromium:

Reviewed by Yury Semikhatsky.

* public/WebDevToolsAgent.h:
* src/WebDevToolsAgentImpl.cpp:
(WebKit::WebDevToolsAgent::inspectorProtocolVersion):
(WebKit::WebDevToolsAgent::supportsInspectorProtocolVersion):

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

12 years ago[Chromium] Layout test failures under Snow Leopard
hamaji@chromium.org [Fri, 30 Sep 2011 08:07:01 +0000 (08:07 +0000)]
[Chromium] Layout test failures under Snow Leopard
https://bugs.webkit.org/show_bug.cgi?id=54322

Unreviewed test_expectations.txt update. acid3 seems to be IMAGE+TEXT, not IMAGE

* platform/chromium/test_expectations.txt:

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

12 years ago[Chromium] Layout Test fast/frames/frame-set-rotation-hit.html and fast/frames/frame...
hamaji@chromium.org [Fri, 30 Sep 2011 08:00:28 +0000 (08:00 +0000)]
[Chromium] Layout Test fast/frames/frame-set-rotation-hit.html and fast/frames/frame-set-scaling-hit.html are failing
https://bugs.webkit.org/show_bug.cgi?id=69136

Unreviewed test_expectations.txt update

* platform/chromium/test_expectations.txt:

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

12 years agoVersioning.
mrowe@apple.com [Fri, 30 Sep 2011 07:14:12 +0000 (07:14 +0000)]
Versioning.

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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=69106
antti@apple.com [Fri, 30 Sep 2011 07:07:17 +0000 (07:07 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=69106
Universal attribute selectors disable style sharing

Reviewed by Dave Hyatt.

Selectors of type [foo="bar"] ended up marking every element style with the affectedByAttributeSelectors bit
rendering style sharing inoperative. This happens on http://www.whatwg.org/specs/web-apps/current-work/ for example.

Instead we now mark style with affectedByUncommonAttributeSelectors bit only if an attribute selector actually
matches the element. Before sharing, we also check the current element against collected attribute rules.
We can share the style if neither element was affected.

This speeds up style matching and applying ~15% on full HTML5 spec (=~0.7s). Sharing percentage goes from 0% to ~30%.
Increased sharing should also save a substantial amount of memory.

* css/CSSSelector.h:
(WebCore::CSSSelector::isAttributeSelector):
* css/CSSStyleSelector.cpp:
(WebCore::RuleData::containsUncommonAttributeSelector):
(WebCore::collectSpecialRulesInDefaultStyle):
(WebCore::assertNoSiblingRulesInDefaultStyle):
(WebCore::CSSStyleSelector::CSSStyleSelector):
(WebCore::CSSStyleSelector::matchRules):
(WebCore::CSSStyleSelector::matchesRuleSet):
(WebCore::CSSStyleSelector::canShareStyleWithElement):
(WebCore::CSSStyleSelector::locateSharedStyle):
(WebCore::CSSStyleSelector::styleForElement):
(WebCore::selectorListContainsUncommonAttributeSelector):
(WebCore::isCommonAttributeSelectorAttribute):
(WebCore::containsUncommonAttributeSelector):
(WebCore::RuleData::RuleData):
(WebCore::collectFeaturesFromSelector):
(WebCore::collectFeaturesFromList):
* css/CSSStyleSelector.h:
* css/SelectorChecker.cpp:
(WebCore::SelectorChecker::checkOneSelector):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::RenderStyle):
* rendering/style/RenderStyle.h:
(WebCore::InheritedFlags::affectedByUncommonAttributeSelectors):
(WebCore::InheritedFlags::setAffectedByUncommonAttributeSelectors):

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

12 years ago[chromium] Add WebKit API for sending input events to the compositor thread
jamesr@google.com [Fri, 30 Sep 2011 07:05:19 +0000 (07:05 +0000)]
[chromium] Add WebKit API for sending input events to the compositor thread
https://bugs.webkit.org/show_bug.cgi?id=69117

Reviewed by Darin Fisher.

Source/WebCore:

Convert to using an externally-provided thread instead of one managed by CCThreadProxy internally. Most changes
in these files are mechanically changing references from ccThread to s_ccThread to reflect the class-static
nature of this pointer, the rest are removing the old thread creation codepath.

These changes are covered by the CC* unit tests and by the gpu layout tests when run with the
use_threaded_compositing=1 gyp define.

* platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
* platform/graphics/chromium/cc/CCLayerTreeHost.h:
* platform/graphics/chromium/cc/CCThreadProxy.cpp:
(WebCore::CCThreadProxy::setThread):
(WebCore::CCThreadProxy::CCThreadProxy):
(WebCore::CCThreadProxy::~CCThreadProxy):
(WebCore::CCThreadProxy::compositeAndReadback):
(WebCore::CCThreadProxy::finishAllRendering):
(WebCore::CCThreadProxy::initializeLayerRenderer):
(WebCore::CCThreadProxy::setNeedsCommit):
(WebCore::CCThreadProxy::setNeedsCommitAndRedraw):
(WebCore::CCThreadProxy::setNeedsRedraw):
(WebCore::CCThreadProxy::start):
(WebCore::CCThreadProxy::stop):
(WebCore::CCThreadProxy::beginFrameAndCommit):
(WebCore::CCThreadProxy::scheduleDrawTaskOnCCThread):
* platform/graphics/chromium/cc/CCThreadProxy.h:

Source/WebKit/chromium:

Adds a new WebKit interface to allow the embedder to pass input events directly to the compositor thread.
Exposes the new WebCompositor interface and associated client. These interfaces are slightly different in that
they can only be interacted with from the compositor thread.

Changes the initialization path for the compositor thread to using an externally allocated and managed thread
instead of one internal to WebCore so that the embedder can interact with the thread more easily. This also
simplifies the startup and shutdown paths.  The contract is that WebCompositor::setThread() must be called
before any compositor can be initialized and the passed-in thread must outlive all compositor instances.

Each WebCompositor instance is associated with a WebWidget.  There isn't any way to get a WebCompositor for a
given WebWidget in this patch, that will be done in a follow-up.

* WebKit.gyp:
* public/WebCompositor.h:
(WebKit::WebCompositor::~WebCompositor):
* public/WebCompositorClient.h:
(WebKit::WebCompositorClient::~WebCompositorClient):
* src/CCThreadImpl.cpp:
(WebKit::CCThreadImpl::create):
(WebKit::CCThreadImpl::CCThreadImpl):
* src/CCThreadImpl.h:
* src/WebCompositorImpl.cpp: Added.
(WebKit::WebCompositor::setThread):
(WebKit::WebCompositorImpl::WebCompositorImpl):
(WebKit::WebCompositorImpl::~WebCompositorImpl):
(WebKit::WebCompositorImpl::setClient):
(WebKit::WebCompositorImpl::handleInputEvent):
* src/WebCompositorImpl.h:
(WebKit::WebCompositorImpl::create):
* src/WebViewImpl.cpp:
* src/WebViewImpl.h:
* tests/CCLayerTreeHostTest.cpp:
(WTF::CCLayerTreeHostTest::CCLayerTreeHostTest):
* tests/CCThreadTest.cpp:
(WebKit::TEST):

Tools:

Adds support for creating and setting a compositor thread in DRT.

* DumpRenderTree/chromium/WebViewHost.cpp:
(WebViewHost::WebViewHost):
* DumpRenderTree/chromium/WebViewHost.h:

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

12 years agoAdd op_call/op_constructor support to JSVALUE32_64 DFG JIT
commit-queue@webkit.org [Fri, 30 Sep 2011 06:17:13 +0000 (06:17 +0000)]
Add op_call/op_constructor support to JSVALUE32_64 DFG JIT
https://bugs.webkit.org/show_bug.cgi?id=69120

Patch by Yuqiang Xian <yuqiang.xian@intel.com> on 2011-09-29
Reviewed by Gavin Barraclough.

Improve the coverage of JSVALUE32_64 DFG JIT.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCapabilities.h:
(JSC::DFG::canCompileOpcode):
* dfg/DFGJITCodeGenerator.h:
(JSC::DFG::tagOfCallData):
(JSC::DFG::payloadOfCallData):
* dfg/DFGJITCodeGenerator32_64.cpp:
(JSC::DFG::JITCodeGenerator::emitCall):

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

12 years agowatchlist: Add cross-checks for WatchList once it is filled.
levin@chromium.org [Fri, 30 Sep 2011 05:22:55 +0000 (05:22 +0000)]
watchlist: Add cross-checks for WatchList once it is filled.
https://bugs.webkit.org/show_bug.cgi?id=68975

Reviewed by Eric Seidel.

* Scripts/webkitpy/common/watchlist/watchlist.py: Made the data members public
instead of having trivial getter and setters.
* Scripts/webkitpy/common/watchlist/watchlist_unittest.py: Fix the unit tests to
pass the validation checks.
* Scripts/webkitpy/common/watchlist/watchlistparser.py: Add validation checks
and fix a few style nits.
* Scripts/webkitpy/common/watchlist/watchlistparser_unittest.py: Add tests for the
validation checks.
* Scripts/webkitpy/common/watchlist/watchlistrule.py: Make definitions_to_match public.

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

12 years agoDFG JIT - register not unlocked after usage in ArithDiv
commit-queue@webkit.org [Fri, 30 Sep 2011 05:15:58 +0000 (05:15 +0000)]
DFG JIT - register not unlocked after usage in ArithDiv
https://bugs.webkit.org/show_bug.cgi?id=69122

Patch by Yuqiang Xian <yuqiang.xian@intel.com> on 2011-09-29
Reviewed by Geoffrey Garen.

Some allocated register is not unlocked after the usage in ArithDiv.
Also there's a typo in "ENBALE_DFG_CONSISTENTCY_CHECK".

* dfg/DFGNode.h:
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

12 years agorun-api-tests fails on chromium-win bot
commit-queue@webkit.org [Fri, 30 Sep 2011 05:05:53 +0000 (05:05 +0000)]
run-api-tests fails on chromium-win bot
https://bugs.webkit.org/show_bug.cgi?id=69121

On Windows running a perl script needs the interpreter.

Patch by Xianzhu Wang <wangxianzhu@chromium.org> on 2011-09-29
Reviewed by Adam Barth.

* Scripts/run-api-tests:
(buildTestTool):

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

12 years ago[Chromium] Layout Test platform/chromium/compositing/3d-corners.html is failing
hamaji@chromium.org [Fri, 30 Sep 2011 05:04:30 +0000 (05:04 +0000)]
[Chromium] Layout Test platform/chromium/compositing/3d-corners.html is failing
https://bugs.webkit.org/show_bug.cgi?id=69124

Unreviewed test_expectations.txt update

* platform/chromium/test_expectations.txt:

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

12 years agofast/text/line-initial-and-final-swashes.html fails on Chromium
hamaji@chromium.org [Fri, 30 Sep 2011 04:58:23 +0000 (04:58 +0000)]
fast/text/line-initial-and-final-swashes.html fails on Chromium
https://bugs.webkit.org/show_bug.cgi?id=69103

Unreviewed test_expectations.txt update

* platform/chromium/test_expectations.txt:

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

12 years agoFixed Hit testing on Framesets when Frameset is transformed
fsamuel@chromium.org [Fri, 30 Sep 2011 04:44:39 +0000 (04:44 +0000)]
Fixed Hit testing on Framesets when Frameset is transformed
https://bugs.webkit.org/show_bug.cgi?id=67740

Reviewed by Simon Fraser.

Source/WebCore:

Tests: fast/frames/frame-set-rotation-hit.html
       fast/frames/frame-set-scaling-hit.html

* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::userResize):

LayoutTests:

* fast/frames/frame-set-rotation-hit-expected.png: Added.
* fast/frames/frame-set-rotation-hit-expected.txt: Added.
* fast/frames/frame-set-rotation-hit.html: Added.
* fast/frames/frame-set-scaling-hit-expected.png: Added.
* fast/frames/frame-set-scaling-hit-expected.txt: Added.
* fast/frames/frame-set-scaling-hit.html: Added.

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

12 years agofix gyp warnings in chromium for renamed files
dpranke@chromium.org [Fri, 30 Sep 2011 04:11:39 +0000 (04:11 +0000)]
fix gyp warnings in chromium for renamed files
https://bugs.webkit.org/show_bug.cgi?id=69116

Reviewed by Adam Barth.

* WebCore.gypi:

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

12 years agoInitial implementation of WebInspector for WebKit2 GTK port.
commit-queue@webkit.org [Fri, 30 Sep 2011 02:30:15 +0000 (02:30 +0000)]
Initial implementation of WebInspector for WebKit2 GTK port.
https://bugs.webkit.org/show_bug.cgi?id=68235

Patch by Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> on 2011-09-29
Reviewed by Martin Robinson.

* UIProcess/WebInspectorProxy.cpp:
(WebKit::WebInspectorProxy::WebInspectorProxy): Initialize the native window handles of GTK.
* UIProcess/WebInspectorProxy.h: Add native window handle for inspector window.
* UIProcess/gtk/WebInspectorGtk.cpp:
(WebKit::inspectorFilesBasePath): Base folder for inspector resources.
(WebKit::inspectorWindowDestroyed): Invoked when inspector window is closed by user.
(WebKit::WebInspectorProxy::windowDestroyed): Resets the native handles to 0 when user closes the window.
(WebKit::WebInspectorProxy::platformCreateInspectorPage): Create the WebView for inspector.
(WebKit::WebInspectorProxy::platformOpen): Create the window for inspector.
(WebKit::WebInspectorProxy::platformDidClose): Close both WebView & window of inspector.
(WebKit::WebInspectorProxy::platformInspectedURLChanged): Update the title of inspector window.
(WebKit::WebInspectorProxy::inspectorPageURL): Return the absolute URL of inspector.html.
(WebKit::WebInspectorProxy::inspectorBaseURL): Return the location where inspector resources are present.
WebProcess is given read access to this folder only for loading file URLs by sandboxed extension.

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

12 years ago[EFL] Use C++ type cast instead of C style type cast
gyuyoung.kim@samsung.com [Fri, 30 Sep 2011 02:18:01 +0000 (02:18 +0000)]
[EFL] Use C++ type cast instead of C style type cast
https://bugs.webkit.org/show_bug.cgi?id=68321

Reviewed by Martin Robinson.

This is a second step in order to be more compliant with WebKit coding style.
The second step is to change C-type casting with C++-type casting in .cpp files.

In addition, remained efl style '*' pointer placements are moved to the right place as well.

* ewk/ewk_auth_soup.cpp:
* ewk/ewk_contextmenu.cpp:
* ewk/ewk_frame.cpp:
* ewk/ewk_history.cpp:
* ewk/ewk_view.cpp:
* ewk/ewk_view_single.cpp:
* ewk/ewk_view_tiled.cpp:

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

12 years agoDe-virtualize JSCell::toObject
mhahnenberg@apple.com [Fri, 30 Sep 2011 02:09:16 +0000 (02:09 +0000)]
De-virtualize JSCell::toObject
https://bugs.webkit.org/show_bug.cgi?id=68937

Reviewed by Darin Adler.

* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:

De-virtualized JSCell::toObject and changed its implementation to manually check the
cases for JSString and JSObject rather than leaving it up to the virtual method call.
* runtime/JSCell.cpp:
(JSC::JSCell::toObject):
* runtime/JSCell.h:

Removed JSNotAnObject::toObject because the case for JSObject works for it.
Also removed JSObject::toObject because it was essentially the identity function,
which is not necessary since toObject is no longer virtual.
* runtime/JSNotAnObject.cpp:
* runtime/JSNotAnObject.h:
* runtime/JSObject.cpp:
* runtime/JSObject.h:

De-virtualized JSObject::toObject and JSString::toObject.
* runtime/JSString.h:

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

12 years agoThese tests can also time out.
abarth@webkit.org [Fri, 30 Sep 2011 00:13:23 +0000 (00:13 +0000)]
These tests can also time out.

* platform/chromium/test_expectations.txt:

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

12 years agoStart refactoring DFGSpeculativeJIT
barraclough@apple.com [Fri, 30 Sep 2011 00:09:46 +0000 (00:09 +0000)]
Start refactoring DFGSpeculativeJIT
https://bugs.webkit.org/show_bug.cgi?id=69112

Reviewed by Oliver Hunt.

Again, move JSVALUE64 code into a DFJSpeculativeJIT64.cpp

* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::ValueSource::dump):
(JSC::DFG::ValueRecovery::dump):
(JSC::DFG::OSRExit::OSRExit):
(JSC::DFG::OSRExit::dump):
(JSC::DFG::SpeculativeJIT::compilePeepHoleDoubleBranch):
(JSC::DFG::SpeculativeJIT::compilePeepHoleObjectEquality):
(JSC::DFG::SpeculativeJIT::compilePeepHoleIntegerBranch):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::emitAllocateJSFinalObject):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compare):
* dfg/DFGSpeculativeJIT64.cpp: Copied from Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp.
(JSC::DFG::SpeculativeJIT::fillSpeculateIntInternal):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::compile):

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

12 years ago[Freetype] Some text in Planet GNOME renders in the wrong place
mrobinson@webkit.org [Thu, 29 Sep 2011 23:47:40 +0000 (23:47 +0000)]
[Freetype] Some text in Planet GNOME renders in the wrong place
https://bugs.webkit.org/show_bug.cgi?id=69099

Reviewed by Dirk Schulze.

Source/WebCore:

Test: platform/gtk/fonts/synthetic-oblique-positioning.html

Fold the oblique transform into the font matrix itself rather than transforming
the CTM of the context at render time. Not only does this fix the issue, it
prevents unnecessary work on every paint.

* platform/graphics/cairo/FontCairo.cpp:
No longer set the synthetic oblique transformation matrix on the context
when rendering the text. Instead it is now folded into the TM of the font
itself.
* platform/graphics/freetype/FontPlatformDataFreeType.cpp:
(WebCore::FontPlatformData::initializeWithFontFace): Fold the oblique transform into the scaled font.
* platform/graphics/win/FontPlatformDataCairoWin.cpp:
(WebCore::FontPlatformData::FontPlatformData): Ditto.

LayoutTests:

Add a test which exercises this issue. It seems the problem grows worse
as the y component of the text position increases, so position the text
about halfway down the page.

* platform/gtk/fonts/synthetic-oblique-positioning-expected.png: Added.
* platform/gtk/fonts/synthetic-oblique-positioning-expected.txt: Added.
* platform/gtk/fonts/synthetic-oblique-positioning.html: Added.

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

12 years agoRefactor out trivially duplicated code in DFGJITCodeGenerator.
barraclough@apple.com [Thu, 29 Sep 2011 23:29:09 +0000 (23:29 +0000)]
Refactor out trivially duplicated code in DFGJITCodeGenerator.
https://bugs.webkit.org/show_bug.cgi?id=69109

Reviewed by Oliver Hunt.

Some code is trivially redundant between DFGJITCodeGenerator.cpp & DFGJITCodeGenerator32_64.cpp

Basically move a JSVALUE64 specific code into a new DFGJITCodeGenerator64.cpp, leave common code
in DFGJITCodeGenerator.cpp, and remove copies from DFGJITCodeGenerator32_64.cpp.

For some function differences are trivial & make more sense to ifdef individually, and some
Operand methods make more sense left in DFGJITCodeGenerator.cpp alongside similar constructors.

* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGJITCodeGenerator.cpp:
(JSC::DFG::JITCodeGenerator::isKnownNotNumber):
(JSC::DFG::JITCodeGenerator::isKnownBoolean):
(JSC::DFG::JITCodeGenerator::writeBarrier):
(JSC::DFG::JITCodeGenerator::dump):
(JSC::DFG::JITCodeGenerator::checkConsistency):
(JSC::DFG::GPRTemporary::GPRTemporary):
(JSC::DFG::FPRTemporary::FPRTemporary):
* dfg/DFGJITCodeGenerator32_64.cpp:
* dfg/DFGJITCodeGenerator64.cpp: Copied from Source/JavaScriptCore/dfg/DFGJITCodeGenerator.cpp.
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::branchIfNotCell):
* dfg/DFGJITCompilerInlineMethods.h:

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

12 years agoUpdate image baselines after http://trac.webkit.org/changeset/96366. These are progr...
abarth@webkit.org [Thu, 29 Sep 2011 23:21:54 +0000 (23:21 +0000)]
Update image baselines after trac.webkit.org/changeset/96366.  These are progressions.

* platform/chromium-mac/fast/css/font-smoothing-expected.png:
* platform/chromium-mac/fast/repaint/text-emphasis-v-expected.png:
* platform/chromium-mac/fast/text/emphasis-avoid-ruby-expected.png:
* platform/chromium-mac/fast/text/emphasis-overlap-expected.png:
* platform/chromium-mac/fast/text/soft-hyphen-4-expected.png:

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

12 years agoDFG JIT should infer which uses of a variable are not aliased
fpizlo@apple.com [Thu, 29 Sep 2011 23:17:19 +0000 (23:17 +0000)]
DFG JIT should infer which uses of a variable are not aliased
https://bugs.webkit.org/show_bug.cgi?id=68593

Reviewed by Oliver Hunt.

This separates how a variable is stored (i.e. its virtual register)
from how it's predicted. Each variable now takes a
VariableAccessData as its operand, instead of the virtual register.
The VariableAccessData stores the operand and the prediction. If
multiple uses of a variable are aliased, their VariableAccessDatas
are unified.

This also adds tracking of which argument values are used. It
correctly observes that an argument value is not used, if the
argument is assigned to inside the function before being used.

This also adds tracking of which variables are live at the head of
a basic block, and separates that from a variable being live at the
tail.

Finally, this communicates to both OSR entry and OSR exit code how
a variable is predicted at a particular point in the code, rather
than just communicating how it was predicted in the entire code
block (since with this patch there is no longer the notion of a
variable having just one prediction for a code block).

* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.vcproj/WTF/WTF.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* bytecode/ActionablePrediction.h: Added.
(JSC::actionablePredictionFromPredictedType):
(JSC::valueObeysPrediction):
(JSC::actionablePredictionToString):
(JSC::ActionablePredictions::ActionablePredictions):
(JSC::ActionablePredictions::setArgument):
(JSC::ActionablePredictions::argument):
(JSC::ActionablePredictions::setVariable):
(JSC::ActionablePredictions::variable):
(JSC::ActionablePredictions::argumentUpperBound):
(JSC::ActionablePredictions::variableUpperBound):
(JSC::ActionablePredictions::pack):
(JSC::ActionablePredictions::packVector):
* bytecode/CodeBlock.h:
* bytecode/PredictionTracker.h:
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::newVariableAccessData):
(JSC::DFG::ByteCodeParser::getLocal):
(JSC::DFG::ByteCodeParser::setLocal):
(JSC::DFG::ByteCodeParser::getArgument):
(JSC::DFG::ByteCodeParser::setArgument):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::processPhiStack):
(JSC::DFG::ByteCodeParser::parse):
* dfg/DFGDriver.cpp:
(JSC::DFG::compile):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::nameOfVariableAccessData):
(JSC::DFG::Graph::dump):
(JSC::DFG::Graph::predictArgumentTypes):
* dfg/DFGGraph.h:
(JSC::DFG::operandIsArgument):
(JSC::DFG::VariableRecord::setFirstTime):
(JSC::DFG::BasicBlock::BasicBlock):
(JSC::DFG::Graph::predict):
(JSC::DFG::Graph::getPrediction):
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::noticeOSREntry):
* dfg/DFGNode.h:
(JSC::DFG::Node::hasVariableAccessData):
(JSC::DFG::Node::hasLocal):
(JSC::DFG::Node::variableAccessData):
(JSC::DFG::Node::local):
* dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
* dfg/DFGOSREntry.h:
* dfg/DFGPropagator.cpp:
(JSC::DFG::Propagator::propagateNodePredictions):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::ValueSource::dump):
(JSC::DFG::OSRExit::OSRExit):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::ValueSource::ValueSource):
(JSC::DFG::ValueSource::forPrediction):
(JSC::DFG::ValueSource::isSet):
(JSC::DFG::ValueSource::kind):
(JSC::DFG::ValueSource::nodeIndex):
(JSC::DFG::ValueSource::nodeIndexFromKind):
(JSC::DFG::ValueSource::kindFromNodeIndex):
(JSC::DFG::SpeculativeJIT::isKnownArray):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
(JSC::DFG::SpeculativeJIT::SpeculativeJIT):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::OSRExit::OSRExit):
(JSC::DFG::SpeculativeJIT::compile):
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
(JSC::DFG::SpeculativeJIT::computeValueRecoveryFor):
* wtf/PackedIntVector.h: Added.
(WTF::PackedIntVector::PackedIntVector):
(WTF::PackedIntVector::operator=):
(WTF::PackedIntVector::size):
(WTF::PackedIntVector::ensureSize):
(WTF::PackedIntVector::resize):
(WTF::PackedIntVector::clearAll):
(WTF::PackedIntVector::get):
(WTF::PackedIntVector::set):
(WTF::PackedIntVector::mask):
* wtf/Platform.h:
* wtf/UnionFind.h: Added.
(WTF::UnionFind::UnionFind):
(WTF::UnionFind::find):
(WTF::UnionFind::unify):

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

12 years agoFollow-up fix for <rdar://problem/10191243> Glyph variants (line final swashes) appea...
mitz@apple.com [Thu, 29 Sep 2011 23:12:02 +0000 (23:12 +0000)]
Follow-up fix for <rdar://problem/10191243> Glyph variants (line final swashes) appear where they should not

Reviewed by Simon Fraser.

Source/WebCore:

* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::ctFont): Check for Hoefler Text Black Italic as well.

LayoutTests:

Added Hoefler Text Black Italic to the test case.

* fast/text/line-initial-and-final-swashes.html:
* platform/mac/fast/text/line-initial-and-final-swashes-expected.png:
* platform/mac/fast/text/line-initial-and-final-swashes-expected.txt:

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

12 years agoBuild fix.
oliver@apple.com [Thu, 29 Sep 2011 23:09:42 +0000 (23:09 +0000)]
Build fix.

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

12 years agoAdd logic to collect dirty objects as roots
oliver@apple.com [Thu, 29 Sep 2011 22:52:45 +0000 (22:52 +0000)]
Add logic to collect dirty objects as roots
https://bugs.webkit.org/show_bug.cgi?id=69100

Reviewed by Geoff Garen.

This gives us the ability to walk all the MarkedBlocks in an
AllocationSpace and collect the dirty objects, and then use
them as GC roots.

* dfg/DFGJITCodeGenerator.cpp:
(JSC::DFG::JITCodeGenerator::markCellCard):
* dfg/DFGJITCodeGenerator32_64.cpp:
(JSC::DFG::JITCodeGenerator::markCellCard):
* heap/AllocationSpace.cpp:
   Tidy up the write barrier logic a bit
(JSC::MarkedBlock::gatherDirtyObjects):
(JSC::TakeIfDirty::returnValue):
(JSC::TakeIfDirty::TakeIfDirty):
(JSC::TakeIfDirty::operator()):
(JSC::AllocationSpace::gatherDirtyObjects):
* heap/AllocationSpace.h:
* heap/CardSet.h:
(JSC::::isCardMarked):
(JSC::::clearCard):
* heap/Heap.cpp:
(JSC::Heap::markRoots):
* heap/Heap.h:
(JSC::Heap::writeBarrier):
* heap/MarkStack.cpp:
(JSC::SlotVisitor::visitChildren):
* heap/MarkedBlock.h:
(JSC::MarkedBlock::setDirtyObject):
(JSC::MarkedBlock::addressOfCardFor):
* heap/SlotVisitor.h:
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emitWriteBarrier):
   Tidy the write barrier a bit

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

12 years agoAttempt to make this tool work on Windows.
abarth@webkit.org [Thu, 29 Sep 2011 22:25:48 +0000 (22:25 +0000)]
Attempt to make this tool work on Windows.

* Scripts/run-api-tests:
(buildTestTool):

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

12 years agoEnable LCD text in Skia on Mac
caryclark@google.com [Thu, 29 Sep 2011 22:21:00 +0000 (22:21 +0000)]
Enable LCD text in Skia on Mac
https://bugs.webkit.org/show_bug.cgi?id=68734

Reviewed by Stephen White.

No new tests. Existing layout tests are generated
with LCD text disabled for pixel comparisons.

Duplicate the logic in FontMac.mm to pass settings
for antialiasing and smoothing. Also disable smoothing
for DumpRenderTree.

* platform/graphics/skia/FontSkia.cpp:
(WebCore::setupPaint):
(WebCore::Font::drawGlyphs):

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

12 years ago Implement flick gesture in Chromium Gesture Recognizer
commit-queue@webkit.org [Thu, 29 Sep 2011 22:16:56 +0000 (22:16 +0000)]
 Implement flick gesture in Chromium Gesture Recognizer
 https://bugs.webkit.org/show_bug.cgi?id=67930

 Reviewed by Dimitri Glazkov.

 Test: Source/WebKit/chromium/tests/InnerGestureRecognizerTest.cpp

 * platform/chromium/GestureRecognizerChromium.cpp:
 (WebCore::GestureRecognizerChromium::isOverMinFlickSpeed):
 (WebCore::GestureRecognizerChromium::appendScrollGestureEnd):
 (WebCore::GestureRecognizerChromium::updateValues):
 (WebCore::GestureRecognizerChromium::scrollEnd):
 * platform/chromium/GestureRecognizerChromium.h:

Patch by Varun Jain <varunjain@google.com> on 2011-09-29

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

12 years ago[chromium] canvas.toDataURL("image/jpeg"): use libjpeg-turbo data swizzle
noel.gordon@gmail.com [Thu, 29 Sep 2011 22:14:42 +0000 (22:14 +0000)]
[chromium] canvas.toDataURL("image/jpeg"): use libjpeg-turbo data swizzle
https://bugs.webkit.org/show_bug.cgi?id=67402

Reviewed by Kenneth Russell.

libjpeg-turbo can read directly from the input data for the premultiplied BRGX
(SkBitmap) encoding case.

No change in behavior, covered by existing canvas 2d/3d tests
canvas/philip/tests/toDataURL.jpeg.alpha.html
fast/canvas/webgl/premultiplyalpha-test.html

* platform/image-encoders/skia/JPEGImageEncoder.cpp:
(WebCore::encodePixels): If JCS_EXTENSIONS is defined (libjpeg-turbo), swizzle
the input BRGX pixels directly within libjpeg-turbo.

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

12 years agoUnreviewed windows build fix.
barraclough@apple.com [Thu, 29 Sep 2011 22:13:37 +0000 (22:13 +0000)]
Unreviewed windows build fix.

* assembler/MacroAssemblerCodeRef.h:
* dfg/DFGOperations.h:

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

12 years ago[EFL] API to get plain text of the frame
commit-queue@webkit.org [Thu, 29 Sep 2011 22:02:37 +0000 (22:02 +0000)]
[EFL] API to get plain text of the frame
https://bugs.webkit.org/show_bug.cgi?id=67114

Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-09-29
Reviewed by Ryosuke Niwa.

Add a function to return a frame's contents converted to plain text,
as already exposed by other ports and needed by DRT when dumping a
frame's contents.

* ewk/ewk_frame.cpp:
(ewk_frame_plain_text_get):
* ewk/ewk_frame.h:

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

12 years agoThis test can also time out.
abarth@webkit.org [Thu, 29 Sep 2011 21:58:53 +0000 (21:58 +0000)]
This test can also time out.

* platform/chromium/test_expectations.txt:

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

12 years ago[Qt] Try to fix the minial build
vestbo@webkit.org [Thu, 29 Sep 2011 21:29:11 +0000 (21:29 +0000)]
[Qt] Try to fix the minial build

* QtTestBrowser/launcherwindow.cpp:
* QtTestBrowser/webpage.cpp:

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

12 years agoDelete bogus expectation.
abarth@webkit.org [Thu, 29 Sep 2011 21:15:56 +0000 (21:15 +0000)]
Delete bogus expectation.

* platform/chromium-cg-mac/svg/text/selection-background-color-expected.txt: Removed.

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

12 years agoAttempt to update these image results again.
abarth@webkit.org [Thu, 29 Sep 2011 21:12:10 +0000 (21:12 +0000)]
Attempt to update these image results again.

* platform/chromium-cg-mac-leopard/http/tests/misc: Added.
* platform/chromium-cg-mac-leopard/http/tests/misc/acid3-expected.png: Added.
* platform/chromium-cg-mac-leopard/http/tests/misc/acid3-expected.txt: Added.
* platform/chromium-cg-mac/http/tests/misc/acid3-expected.png:
* platform/chromium-cg-mac/http/tests/misc/acid3-expected.txt:
* platform/chromium-mac/http/tests/misc/acid3-expected.png:
* platform/chromium-mac/http/tests/misc/acid3-expected.txt: Removed.

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

12 years agoFixenate the build.
abarth@webkit.org [Thu, 29 Sep 2011 21:07:11 +0000 (21:07 +0000)]
Fixenate the build.

* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::namedItemAdded):

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

12 years agoMark test as expected to fail.
abarth@webkit.org [Thu, 29 Sep 2011 20:51:19 +0000 (20:51 +0000)]
Mark test as expected to fail.

* platform/chromium/test_expectations.txt:

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

12 years ago[Qt][WK2] Skip all failing tests (10605!) after refactored Qt5.
ossy@webkit.org [Thu, 29 Sep 2011 20:50:20 +0000 (20:50 +0000)]
[Qt][WK2] Skip all failing tests (10605!) after refactored Qt5.

Rubber-stamped by Tor Arne Vestbø.

* platform/qt-wk2/Skipped:

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

12 years agoStructure transitions involving many (> 64) properties sometimes cause structure...
fpizlo@apple.com [Thu, 29 Sep 2011 20:45:52 +0000 (20:45 +0000)]
Structure transitions involving many (> 64) properties sometimes cause structure corruption
https://bugs.webkit.org/show_bug.cgi?id=69102

Reviewed by Darin Adler.

Made m_offset an int instead of a signed char. Changed the code to ensure that transitions
don't lead to the dictionary kind being forgotten.

* runtime/Structure.cpp:
(JSC::Structure::Structure):
* runtime/Structure.h:

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

12 years agoRemove direct reads to m_firstNodeInserted and m_lastLeafInserted in ReplaceSelection...
rniwa@webkit.org [Thu, 29 Sep 2011 20:31:41 +0000 (20:31 +0000)]
Remove direct reads to m_firstNodeInserted and m_lastLeafInserted in ReplaceSelectionCommand
https://bugs.webkit.org/show_bug.cgi?id=69023

Reviewed by Enrica Casucci.

Converted to removeUnrenderedTextNodesAtEnds to use InsertedNodes instead of m_firstNodeInserted
and m_lastLeafInserted. Extracted the logic to update nodes as InsertedNodes::willRemoveNode
(old one was renamed to InsertedNodes::willRemoveNodePreservingChildren).

Also extracted shouldPerformSmartReplace and addSpacesForSmartReplace out of doApply,
and rewrote the logic to obtain endNode and startNode using startOfInsertedContent and
endOfInsertedContent instead of m_firstNodeInserted and m_lastLeafInserted.

Finally, replaced the nullity checks of m_firstNodeInserted and m_lastLeafInserted in
completeHTMLReplacement by nullity checks of start and end positions.

* dom/Node.cpp:
(WebCore::Node::traversePreviousSibling): Added.
* dom/Node.h:
* editing/ReplaceSelectionCommand.cpp:
(WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNodePreservingChildren): Renamed from
willRemoveNode.
(WebCore::ReplaceSelectionCommand::InsertedNodes::willRemoveNode): Extracted from
removeUnrenderedTextNodesAtEnds.
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
(WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
(WebCore::ReplaceSelectionCommand::positionAtEndOfInsertedContent): Made const.
(WebCore::ReplaceSelectionCommand::positionAtStartOfInsertedContent): Made const.
(WebCore::ReplaceSelectionCommand::handleStyleSpans): Takes firstNodeInserted instead of directly
accessing m_firstNodeInserted.
(WebCore::ReplaceSelectionCommand::doApply):
(WebCore::ReplaceSelectionCommand::shouldPerformSmartReplace):
(WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
(WebCore::ReplaceSelectionCommand::completeHTMLReplacement):
* editing/ReplaceSelectionCommand.h:

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

12 years agoShrink HTMLAnchorElement on 32-bit.
commit-queue@webkit.org [Thu, 29 Sep 2011 20:30:17 +0000 (20:30 +0000)]
Shrink HTMLAnchorElement on 32-bit.
https://bugs.webkit.org/show_bug.cgi?id=69094

Patch by Andreas Kling <kling@webkit.org> on 2011-09-29
Reviewed by Antti Koivisto.

* html/HTMLAnchorElement.h: Pack members into a bitfield.

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

12 years ago<rdar://problem/10191243> Glyph variants (line final swashes) appear where they shoul...
mitz@apple.com [Thu, 29 Sep 2011 20:21:02 +0000 (20:21 +0000)]
<rdar://problem/10191243> Glyph variants (line final swashes) appear where they should not

Reviewed by Simon Fraser.

Source/WebCore:

Test: fast/text/line-initial-and-final-swashes.html

Hoefler Text Italic enables line-initial and -final swashes by default, so disable them. This
change targets only this known-bad font rather than all fonts, because at least one font (Khmer MN)
incorrectly claims to have the line-initial feature enabled, but disabling it actually does
something different and bad (breaking some combining marks).

* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::createFeatureSettingDictionary): Added this helper function.
(WebCore::cascadeToLastResortFontDescriptor): Deployed WTF_ARRAY_LENGTH().
(WebCore::cascadeToLastResortAndDisableSwashesFontDescriptor): Added. Returns a font descriptor
that, in addition to having a cascade list consisting of the last resort font, also has feature
settings to disable line-initial and line-final swashes.
(WebCore::FontPlatformData::ctFont): For Hoefler Text Italic, use cascadeToLastResortAndDisableSwashesFontDescriptor().

LayoutTests:

* fast/text/line-initial-and-final-swashes.html: Added.
* platform/mac/fast/text/line-initial-and-final-swashes-expected.png: Added.
* platform/mac/fast/text/line-initial-and-final-swashes-expected.txt: Added.

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

12 years agoUnreviewed: resetting baseline for code generator bindings
mhahnenberg@apple.com [Thu, 29 Sep 2011 20:14:44 +0000 (20:14 +0000)]
Unreviewed: resetting baseline for code generator bindings

Unreviewed build fix

No new tests.

* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/JS/JSTestObj.h:

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

12 years ago[V8, chromium] More logging to determine cause of a null
japhet@chromium.org [Thu, 29 Sep 2011 19:46:01 +0000 (19:46 +0000)]
[V8, chromium] More logging to determine cause of a null
v8::Context in V8DOMWindowShell::namedItemAdded().

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

Reviewed by Adam Barth.

* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::namedItemAdded):

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

12 years agohttps://bugs.webkit.org/show_bug.cgi?id=69040
ap@apple.com [Thu, 29 Sep 2011 19:40:34 +0000 (19:40 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=69040
ScrollbarThemeComposite requires a ScrollView to draw scroll corner

Reviewed by Simon Fraser.

No new tests. This will be needed later.

* platform/ScrollbarThemeComposite.cpp:
(WebCore::pageForScrollView):
(WebCore::ScrollbarThemeComposite::paintScrollCorner):
Use pageForScrollView() function which already existed in this file, used in another similar
location.

* platform/chromium/FramelessScrollView.cpp:
* platform/chromium/FramelessScrollView.h:
* platform/gtk/ScrollbarThemeGtk.cpp:
* platform/gtk/ScrollbarThemeGtk.h:
* platform/wx/ScrollbarThemeWx.cpp:
* platform/wx/ScrollbarThemeWx.h:
All these overrides are no longer needed, ScrollbarThemeComposite will do the right thing.

* platform/qt/ScrollbarThemeQt.cpp: (WebCore::ScrollbarThemeQt::paintScrollCorner):
Removed a special case for updatingControlTints phase. The same case is present in cross-platform
code now, and Qt doesn't have any custom subclasses of ScrollableArea or ScrollView to need
special handling.
This was added in r37377 without a bug or much ChangeLog explanation.

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

12 years agoDFG operation calls should be stdcall in Linux JSVALUE32_64 DFG JIT
barraclough@apple.com [Thu, 29 Sep 2011 19:37:53 +0000 (19:37 +0000)]
DFG operation calls should be stdcall in Linux JSVALUE32_64 DFG JIT
https://bugs.webkit.org/show_bug.cgi?id=69058

Patch by Yuqiang Xian <yuqiang.xian@intel.com> on 2011-09-29
Reviewed by Gavin Barraclough.

Also Fixed the stdcall FunctionPtr constructors to make them compiled correctly on Linux

* assembler/MacroAssemblerCodeRef.h:
(JSC::FunctionPtr::FunctionPtr):

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

12 years agoDe-virtualize JSCell::visitChildrenVirtual and remove all other visitChildrenVirtual...
mhahnenberg@apple.com [Thu, 29 Sep 2011 19:37:09 +0000 (19:37 +0000)]
De-virtualize JSCell::visitChildrenVirtual and remove all other visitChildrenVirtual methods
https://bugs.webkit.org/show_bug.cgi?id=68839

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Removed the remaining visitChildrenVirtual methods.  This patch completes the process of
de-virtualizing visitChildren.

* API/JSCallbackObject.h:
* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* debugger/DebuggerActivation.cpp:
* debugger/DebuggerActivation.h:
* runtime/Arguments.cpp:
* runtime/Arguments.h:
* runtime/Executable.cpp:
* runtime/Executable.h:
* runtime/GetterSetter.cpp:
* runtime/GetterSetter.h:
* runtime/JSActivation.cpp:
* runtime/JSActivation.h:
* runtime/JSArray.cpp:
* runtime/JSArray.h:
* runtime/JSFunction.cpp:
* runtime/JSFunction.h:
* runtime/JSGlobalObject.cpp:
* runtime/JSGlobalObject.h:
* runtime/JSObject.cpp:
* runtime/JSPropertyNameIterator.cpp:
* runtime/JSPropertyNameIterator.h:
* runtime/JSStaticScopeObject.cpp:
* runtime/JSStaticScopeObject.h:
* runtime/JSValue.h:
* runtime/NativeErrorConstructor.cpp:
* runtime/NativeErrorConstructor.h:
* runtime/RegExpObject.cpp:
* runtime/RegExpObject.h:
* runtime/Structure.cpp:
* runtime/Structure.h:
* runtime/StructureChain.cpp:
* runtime/StructureChain.h:

Inlined the method table access and call to the visitChildren function (the only call sites
to visitChildren are here).
* heap/MarkStack.cpp:
(JSC::SlotVisitor::visitChildren):

Changed the field name for the visitChildren function pointer to visitChildren (from
visitChildrenFunctionPtr) to make call sites less verbose.
* runtime/ClassInfo.h:

Discovered JSBoundFunction doesn't have its own ClassInfo (it used JSFunction's ClassInfo) but
overrides visitChildren, so it needs to have its own ClassInfo.
* runtime/JSBoundFunction.cpp:
* runtime/JSBoundFunction.h:

Had to move className up to make sure that the virtual destructor in JSObject wasn't
the first non-inline virtual method in JSObject (as per the comment in the file).
Also moved JSCell::visitChildrenVirtual into JSObject.h in order for it be inline-able
to mitigate the cost of an extra method call.

Also added a convenience accessor function methodTable() to JSCell to return the MethodTable to make
call sites more concise.  Implementation is inline in JSObject.h.
* runtime/JSObject.h:
(JSC::JSCell::methodTable):
* runtime/JSCell.h:

Added an out of line virtual destructor to JSWrapperObject and ScopeChainNode to
appease the vtable gods.  It refused to compile if there were no virtual methods in
both of these classes due to the presence of a weak vtable pointer.
* runtime/JSWrapperObject.cpp:
(JSC::JSWrapperObject::~JSWrapperObject):
* runtime/JSWrapperObject.h:
* runtime/ScopeChain.cpp:
(JSC::ScopeChainNode::~ScopeChainNode):
* runtime/ScopeChain.h:

Source/JavaScriptGlue:

Removed the remaining visitChildrenVirtual methods.  This patch completes the process of
de-virtualizing visitChildren.

* UserObjectImp.cpp:
* UserObjectImp.h:

Source/WebCore:

No new tests.

Removed the remaining visitChildrenVirtual methods.  This patch completes the process of
de-virtualizing visitChildren.

* WebCore.exp.in:
* bindings/js/JSAttrCustom.cpp:
* bindings/js/JSAudioContextCustom.cpp:
* bindings/js/JSCSSRuleCustom.cpp:
* bindings/js/JSCSSStyleDeclarationCustom.cpp:
* bindings/js/JSCanvasRenderingContextCustom.cpp:
* bindings/js/JSDOMGlobalObject.cpp:
(WebCore::JSDOMGlobalObject::~JSDOMGlobalObject):
(WebCore::JSDOMGlobalObject::finishCreation):
* bindings/js/JSDOMGlobalObject.h:
* bindings/js/JSDOMWindowCustom.cpp:
* bindings/js/JSDOMWindowShell.cpp:
* bindings/js/JSDOMWindowShell.h:
* bindings/js/JSJavaScriptAudioNodeCustom.cpp:
* bindings/js/JSMessageChannelCustom.cpp:
* bindings/js/JSMessagePortCustom.cpp:
* bindings/js/JSNamedNodeMapCustom.cpp:
* bindings/js/JSNodeCustom.cpp:
* bindings/js/JSNodeFilterCustom.cpp:
* bindings/js/JSNodeIteratorCustom.cpp:
* bindings/js/JSSVGElementInstanceCustom.cpp:
* bindings/js/JSSharedWorkerCustom.cpp:
* bindings/js/JSStyleSheetCustom.cpp:
* bindings/js/JSTreeWalkerCustom.cpp:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
* bindings/js/JSWorkerContextCustom.cpp:
* bindings/js/JSXMLHttpRequestCustom.cpp:
* bindings/js/JSXPathResultCustom.cpp:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bridge/qt/qt_instance.cpp:
* bridge/qt/qt_runtime.cpp:
* bridge/qt/qt_runtime.h:

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

12 years ago[Qt] Fix build against Qt5 after refactor of widgets out of QtGUi
vestbo@webkit.org [Thu, 29 Sep 2011 19:31:59 +0000 (19:31 +0000)]
[Qt] Fix build against Qt5 after refactor of widgets out of QtGUi

QWidget and friends now live in the QtWidgets library. We update
includes in implementation files and private headers to us the
non-module-prefixed path, and leave the lookup for the include
path. For public headers we have to ifdef the includes as the
user might now have the modules we need in his QT config.

Finally, QSGCanvas is no longer a QWidget but a QWindow, so we
have to update our code and use windowHandle() for setting the
parent relationships.

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

Reviewed by Andreas Kling.

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

12 years agoBug fixes for CreateThis, NewObject and GetByOffset in JSVALUE32_64 DFG JIT
commit-queue@webkit.org [Thu, 29 Sep 2011 19:07:41 +0000 (19:07 +0000)]
Bug fixes for CreateThis, NewObject and GetByOffset in JSVALUE32_64 DFG JIT
https://bugs.webkit.org/show_bug.cgi?id=69075

Patch by Yuqiang Xian <yuqiang.xian@intel.com> on 2011-09-29
Reviewed by Gavin Barraclough.

* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

12 years agoUnreviewed, rolling out r96340.
abarth@webkit.org [Thu, 29 Sep 2011 19:03:40 +0000 (19:03 +0000)]
Unreviewed, rolling out r96340.
http://trac.webkit.org/changeset/96340
https://bugs.webkit.org/show_bug.cgi?id=69098

Caused 10 tests to crash in Debug (Requested by
abarth|gardener on #webkit).

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

Source/WebCore:

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::childrenChanged):
* accessibility/AXObjectCache.h:
* accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::childrenChanged):
* accessibility/AccessibilityMenuList.h:
* accessibility/AccessibilityMenuListPopup.cpp:
(WebCore::AccessibilityMenuListPopup::childrenChanged):
* accessibility/AccessibilityMenuListPopup.h:
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::childrenChanged):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::startOfContinuations):
(WebCore::AccessibilityRenderObject::updateAccessibilityRole):
(WebCore::AccessibilityRenderObject::childrenChanged):
* accessibility/AccessibilityRenderObject.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeDestroyed):

LayoutTests:

* platform/mac/accessibility/aria-liveregion-without-element-access-expected.txt: Removed.
* platform/mac/accessibility/aria-liveregion-without-element-access.html: Removed.

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

12 years agoShrink FontFallbackList.
commit-queue@webkit.org [Thu, 29 Sep 2011 18:04:21 +0000 (18:04 +0000)]
Shrink FontFallbackList.
https://bugs.webkit.org/show_bug.cgi?id=69093

Patch by Andreas Kling <kling@webkit.org> on 2011-09-29
Reviewed by Antti Koivisto.

Reduce the size of FontFallbackList by one CPU word, decreasing memory
consumption by 300 kB (on 64-bit) when loading the full HTML5 spec.

* platform/graphics/FontCache.h:
* platform/graphics/FontCache.cpp:
(WebCore::FontCache::generation):

    Store the FontCache generation as an ushort rather than uint.

* platform/graphics/FontFallbackList.cpp:
(WebCore::FontFallbackList::FontFallbackList):
* platform/graphics/FontFallbackList.h:

    Pack enum and bool members in a bitfield.

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

12 years agoWe should ignore the return value of GetRealNamedProperty
abarth@webkit.org [Thu, 29 Sep 2011 17:50:47 +0000 (17:50 +0000)]
We should ignore the return value of GetRealNamedProperty
https://bugs.webkit.org/show_bug.cgi?id=68840

Reviewed by Nate Chapin.

Source/WebCore:

Instead of skipping the lookup process by using the result of real
named property, we should just indiciate that it wasn't handled by the
interceptor.

Test: http/tests/security/window-named-valueOf.html

* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::namedPropertyGetter):

LayoutTests:

* http/tests/security/window-named-valueOf-expected.txt: Added.
* http/tests/security/window-named-valueOf.html: Added.

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

12 years agoARIA live regions don't trigger notifications for elements that aren't in the AX...
cfleizach@apple.com [Thu, 29 Sep 2011 17:46:14 +0000 (17:46 +0000)]
ARIA live regions don't trigger notifications for elements that aren't in the AX tree
https://bugs.webkit.org/show_bug.cgi?id=62289

Source/WebCore:

If an ARIA Live region udpates an element that is not in the AX object cache, then the Live region
notification is not sent. To fix this, the childrenChanged() method needs to actually create
the appropriate objects, but since that method gets called during a render tree update, we've learned
that it's generally not safe to create objects.

Instead a one shot timer can be fired that will update and create the necessary objects so that the
correct notification can be sent.

Reviewed by Darin Adler.

Test: platform/mac/accessibility/aria-liveregion-without-element-access.html

* accessibility/AXObjectCache.cpp:
(WebCore::AXObjectCache::AXObjectCache):
(WebCore::AXObjectCache::~AXObjectCache):
(WebCore::AXObjectCache::remove):
(WebCore::AXObjectCache::childrenUpdateTimerFired):
(WebCore::AXObjectCache::childrenChanged):
* accessibility/AXObjectCache.h:
* accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::childrenChanged):
* accessibility/AccessibilityMenuList.h:
* accessibility/AccessibilityMenuListPopup.cpp:
(WebCore::AccessibilityMenuListPopup::childrenChanged):
* accessibility/AccessibilityMenuListPopup.h:
* accessibility/AccessibilityObject.h:
(WebCore::AccessibilityObject::childrenChanged):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::startOfContinuations):
(WebCore::AccessibilityRenderObject::updateAccessibilityRole):
(WebCore::AccessibilityRenderObject::childrenChanged):
* accessibility/AccessibilityRenderObject.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::willBeDestroyed):

LayoutTests:

Reviewed by Darin Adler.

* platform/mac/accessibility/aria-liveregion-without-element-access-expected.txt: Added.
* platform/mac/accessibility/aria-liveregion-without-element-access.html: Added.

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

12 years ago[GTK] Dragging a selection does not produce a drag image
commit-queue@webkit.org [Thu, 29 Sep 2011 17:35:41 +0000 (17:35 +0000)]
[GTK] Dragging a selection does not produce a drag image
https://bugs.webkit.org/show_bug.cgi?id=69064

Patch by Martin Robinson <mrobinson@igalia.com> on 2011-09-29
Reviewed by Andreas Kling.

Moved Chromium's generic implementation of Frame::nodeImage and
Frame::dragImageForSeletion to Frame.cpp and simply excluded via
#ifdefs platforms that do not have their own implementation. Removed
all empty implementations of these functions and Qt's which was
functionally identical.

No new tests. Drag-and-drop drag image functionality changes
are incredibly difficult to test in a non-manual way.

* CMakeListsEfl.txt: Delist FrameEfl.cpp.
* GNUmakefile.list.am: Delist FrameGtk.cpp.
* WebCore.gypi: Delist removed Frame*.cpp.
* WebCore.pro: Delist FrameQt.cpp.
* page/Frame.cpp: Moved FrameChromium implementation here.
(WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
(WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
(WebCore::Frame::nodeImage):
(WebCore::Frame::dragImageForSelection):
* page/chromium/FrameChromium.cpp: Removed.
* page/efl/FrameEfl.cpp: Removed.
* page/gtk/FrameGtk.cpp: Removed.
* page/qt/FrameQt.cpp: Removed.
* page/wx/FrameWx.cpp: Removed.
* platform/gtk/ClipboardGtk.cpp:
(WebCore::ClipboardGtk::createDragImage): Call nodeImage to get
the drag image for a node.

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

12 years ago[chromium skia] PNGImageEncoder: hoist constants out of the encoding loop
noel.gordon@gmail.com [Thu, 29 Sep 2011 17:16:35 +0000 (17:16 +0000)]
[chromium skia] PNGImageEncoder: hoist constants out of the encoding loop
https://bugs.webkit.org/show_bug.cgi?id=68988

Reviewed by Kenneth Russell.

No new tests.  Covered by existing canvas 2d and 3d tests.
canvas/philip/tests/toDataURL.png.*.html
fast/canvas/toDataURL-alpha.html
fast/canvas/webgl/premultiplyalpha-test.html

* platform/image-encoders/skia/PNGImageEncoder.cpp:
(WebCore::encodePixels):  Move constant out of the encoding loop.
(WebCore::PNGImageEncoder::encode):  Consistency & style: call encodePixels()
just like we do in the JPEG encoder.

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

12 years agoAdd unit test for CCLayerSorter
commit-queue@webkit.org [Thu, 29 Sep 2011 17:05:41 +0000 (17:05 +0000)]
Add unit test for CCLayerSorter
https://bugs.webkit.org/show_bug.cgi?id=68622

Source/WebCore:

Minor refactoring for testability:
- Made pointInTriangle public.
- Added LayerShape to decouple LayerIntersector and GraphNode.
- Added a public wrapper function for LayerIntersector.

Patch by Iain Merrick <husky@google.com> on 2011-09-29
Reviewed by James Robinson.

* platform/graphics/chromium/cc/CCLayerSorter.cpp:
(WebCore::CCLayerSorter::pointInTriangle):
(WebCore::CCLayerSorter::calculateZDiff):
(WebCore::CCLayerSorter::LayerIntersector::LayerIntersector):
(WebCore::CCLayerSorter::LayerIntersector::go):
(WebCore::CCLayerSorter::LayerIntersector::checkZDiff):
(WebCore::CCLayerSorter::LayerIntersector::layerZFromProjectedPoint):
(WebCore::CCLayerSorter::checkOverlap):
(WebCore::CCLayerSorter::LayerShape::LayerShape):
(WebCore::CCLayerSorter::createGraphNodes):
* platform/graphics/chromium/cc/CCLayerSorter.h:
(WebCore::CCLayerSorter::LayerShape::LayerShape):
(WebCore::CCLayerSorter::GraphNode::GraphNode):

Source/WebKit/chromium:

Patch by Iain Merrick <husky@google.com> on 2011-09-29
Reviewed by James Robinson.

* WebKit.gypi:
* tests/CCLayerSorterTest.cpp: Added.
(WebCore::TEST):

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

12 years agoRebaseline for r95870
commit-queue@webkit.org [Thu, 29 Sep 2011 17:04:20 +0000 (17:04 +0000)]
Rebaseline for r95870
https://bugs.webkit.org/show_bug.cgi?id=69090

Patch by David Reveman <reveman@chromium.org> on 2011-09-29
Reviewed by James Robinson.

* platform/chromium-gpu-cg-mac/compositing/flat-with-transformed-child-expected.png: Removed.
* platform/chromium-gpu-cg-mac/platform/chromium/compositing/backface-visibility-transformed-expected.png: Removed.
* platform/chromium-gpu-cg-mac/platform/chromium/compositing/perpendicular-layer-sorting-expected.png: Removed.
* platform/chromium-gpu-linux/compositing/flat-with-transformed-child-expected.png: Removed.
* platform/chromium-gpu-mac/compositing/flat-with-transformed-child-expected.png: Removed.
* platform/chromium-gpu-mac/platform/chromium/compositing/perpendicular-layer-sorting-expected.png: Removed.
* platform/chromium-gpu-mac/platform/chromium/compositing/perpendicular-layer-sorting-expected.txt: Removed.
* platform/chromium-gpu-win/compositing/flat-with-transformed-child-expected.png:
* platform/chromium-gpu-win/platform/chromium/compositing/3d-corners-expected.png: Added.
* platform/chromium-gpu-win/platform/chromium/compositing/3d-corners-expected.txt: Added.
* platform/chromium-gpu-win/platform/chromium/compositing/backface-visibility-transformed-expected.png:
* platform/chromium-gpu-win/platform/chromium/compositing/perpendicular-layer-sorting-expected.png:
* platform/chromium-gpu-win/platform/chromium/compositing/perpendicular-layer-sorting-expected.txt: Removed.
* platform/chromium-gpu/compositing/flat-with-transformed-child-expected.png: Added.
* platform/chromium-gpu/platform/chromium/compositing/3d-corners-expected.png: Added.
* platform/chromium-gpu/platform/chromium/compositing/backface-visibility-transformed-expected.png: Renamed from LayoutTests/platform/chromium-gpu-mac/platform/chromium/compositing/backface-visibility-transformed-expected.png.
* platform/chromium-gpu/platform/chromium/compositing/perpendicular-layer-sorting-expected.png: Added.
* platform/chromium-gpu/platform/chromium/compositing/perpendicular-layer-sorting-expected.txt: Renamed from LayoutTests/platform/chromium-gpu-cg-mac/platform/chromium/compositing/perpendicular-layer-sorting-expected.txt.
* platform/chromium/test_expectations.txt:

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

12 years agoLayout test demonstrating IDBCursor inconsistency bug.
dgrogan@chromium.org [Thu, 29 Sep 2011 16:42:48 +0000 (16:42 +0000)]
Layout test demonstrating IDBCursor inconsistency bug.
https://bugs.webkit.org/show_bug.cgi?id=69012

Reviewed by Nate Chapin.

* storage/indexeddb/cursor-inconsistency-expected.txt: Added.
* storage/indexeddb/cursor-inconsistency.html: Added.

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

12 years agoInitial implementation of WebInspector for WebKit2 GTK port.
commit-queue@webkit.org [Thu, 29 Sep 2011 16:32:49 +0000 (16:32 +0000)]
Initial implementation of WebInspector for WebKit2 GTK port.
https://bugs.webkit.org/show_bug.cgi?id=68235

Patch by Ravi Phaneendra Kasibhatla <ravi.kasibhatla@motorola.com> on 2011-09-29
Reviewed by Martin Robinson.

* MiniBrowser/gtk/BrowserWindow.c:
(browserWindowConstructed): Set the developer extra flags to true to enable inspect element.

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

12 years agoGeneralize expected result to all of MAC.
abarth@webkit.org [Thu, 29 Sep 2011 16:25:46 +0000 (16:25 +0000)]
Generalize expected result to all of MAC.

* platform/chromium/test_expectations.txt:

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

12 years agoThis test can also time out.
abarth@webkit.org [Thu, 29 Sep 2011 16:24:05 +0000 (16:24 +0000)]
This test can also time out.

* platform/chromium/test_expectations.txt:

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

12 years agoUpdate expected results on Leopard. As far as I can tell, these are
abarth@webkit.org [Thu, 29 Sep 2011 16:20:12 +0000 (16:20 +0000)]
Update expected results on Leopard.  As far as I can tell, these are
progressions.

* platform/chromium-cg-mac-leopard/editing/execCommand/insertHorizontalRule-expected.png: Added.
* platform/chromium-cg-mac-leopard/editing/selection/node-removal-1-expected.png: Added.

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

12 years agoAdd some expected failures on Leopard.
abarth@webkit.org [Thu, 29 Sep 2011 16:09:23 +0000 (16:09 +0000)]
Add some expected failures on Leopard.

* platform/chromium/test_expectations.txt:

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

12 years agoUnbreak the "update expectatations" button by using the existing
abarth@webkit.org [Thu, 29 Sep 2011 15:46:55 +0000 (15:46 +0000)]
Unbreak the "update expectatations" button by using the existing
machinery to create the failureInfo objects.

Unbreak the "close" button on the progress dialog by using |this|
instead of the old name of the object.

Teach the controllers unit test not to talk to the actual network.

* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/controllers_unittests.js:
* BuildSlaveSupport/build.webkit.org-config/public_html/TestFailures/scripts/ui.js:

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

12 years agoUpdate baselines. (Font rendering.)
abarth@webkit.org [Thu, 29 Sep 2011 15:34:40 +0000 (15:34 +0000)]
Update baselines.  (Font rendering.)

* platform/chromium-cg-mac/http/tests/misc/acid3-expected.png: Added.
* platform/chromium-cg-mac/http/tests/misc/acid3-expected.txt: Added.
* platform/chromium-mac/http/tests/misc/acid3-expected.png: Added.
* platform/chromium-mac/http/tests/misc/acid3-expected.txt: Added.

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

12 years agoUpdate baselines.
abarth@webkit.org [Thu, 29 Sep 2011 15:32:02 +0000 (15:32 +0000)]
Update baselines.

* platform/chromium-cg-mac-leopard/svg/text/selection-background-color-expected.png: Added.
* platform/chromium-cg-mac/svg/text/selection-background-color-expected.png: Added.
* platform/chromium-cg-mac/svg/text/selection-background-color-expected.txt: Added.
* platform/chromium-mac-leopard/svg/text: Added.
* platform/chromium-mac-leopard/svg/text/selection-background-color-expected.png: Added.
* platform/gtk/svg/text/selection-background-color-expected.txt: Removed.
* platform/mac/svg/text/selection-background-color-expected.txt: Removed.
* svg/text/selection-background-color-expected.txt: Added.

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

12 years agoWeb Inspector: UI performance test for network panel is incorrect. The time is includ...
loislo@chromium.org [Thu, 29 Sep 2011 14:30:38 +0000 (14:30 +0000)]
Web Inspector: UI performance test for network panel is incorrect. The time is including a timeout between scheduled refresh and actual refresh.
https://bugs.webkit.org/show_bug.cgi?id=69087

The fix has the changes for the test and minor perf framework improvements.

Reviewed by Yury Semikhatsky.

Source/WebCore:

* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype._defaultRefreshDelay.500._scheduleRefresh):

LayoutTests:

* inspector/performance/resources/network-append-30-requests.html:
* inspector/performance/resources/performance-test.js:
(initialize_TimeTracker.InspectorTest.runPerformanceTest.Timer.prototype.done):
(initialize_TimeTracker.InspectorTest.runPerformanceTest):
(initialize_TimeTracker.InspectorTest.mark):

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

12 years ago[GTK] Bump version to 1.7.0
sergio@webkit.org [Thu, 29 Sep 2011 13:59:23 +0000 (13:59 +0000)]
[GTK] Bump version to 1.7.0
https://bugs.webkit.org/show_bug.cgi?id=69082

Reviewed by Martin Robinson.

Apart from bumping the library version to 1.7.0 this patch also
sets the libtool version to the same one we have for the stable
branch.

* configure.ac:

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

12 years ago[GTK] Force single header include in WebKit2 GTK+ API
carlosgc@webkit.org [Thu, 29 Sep 2011 13:53:53 +0000 (13:53 +0000)]
[GTK] Force single header include in WebKit2 GTK+ API
https://bugs.webkit.org/show_bug.cgi?id=69084

Reviewed by Martin Robinson.

Only <webkit2/webkit2.h> will be allowed for API users.

* GNUmakefile.am:
* UIProcess/API/gtk/WebKitError.h:
* UIProcess/API/gtk/WebKitWebContext.h:
* UIProcess/API/gtk/WebKitWebLoaderClient.h:
* UIProcess/API/gtk/WebKitWebView.h:
* UIProcess/API/gtk/WebKitWebViewBase.h:
* UIProcess/API/gtk/webkit2.h:

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

12 years agoWeb Inspector: Make search-in-resource test simpler.
vsevik@chromium.org [Thu, 29 Sep 2011 12:59:17 +0000 (12:59 +0000)]
Web Inspector: Make search-in-resource test simpler.
https://bugs.webkit.org/show_bug.cgi?id=69025

Source/WebCore:

Changed search-in-resource test.
Removed error parameter from content provider's searchInContent callback.

Reviewed by Pavel Feldman.

* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::searchInResource):
(WebCore::InspectorPageAgent::searchInResources):
* inspector/front-end/Resource.js:
(WebInspector.Resource.prototype.searchInContent):

LayoutTests:

Reviewed by Pavel Feldman.

* http/tests/inspector/search/search-in-resource-expected.txt:
* http/tests/inspector/search/search-in-resource.html:
* http/tests/inspector/search/search-in-resources.html:
* http/tests/inspector/search/search-test.js:
(initialize_SearchTest.InspectorTest.runAfterResourcesAreCreated):
(initialize_SearchTest.InspectorTest._runAfterResourcesAreCreated):
(initialize_SearchTest.InspectorTest._runAfterResourcesAreCreated.maybeCallback):
(initialize_SearchTest.InspectorTest._runAfterResourcesAreCreated.addSniffer):
(initialize_SearchTest.InspectorTest._runAfterResourcesAreCreated.onResourceBind):
(initialize_SearchTest.InspectorTest._runAfterResourcesAreCreated.visit):
(initialize_SearchTest):

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

12 years agoIndexedDB: Use LevelDB also for in-memory databases
hans@chromium.org [Thu, 29 Sep 2011 12:29:13 +0000 (12:29 +0000)]
IndexedDB: Use LevelDB also for in-memory databases
https://bugs.webkit.org/show_bug.cgi?id=68903

Reviewed by Steve Block.

Source/WebCore:

Add LevelDBDatabase::openInMemory() which uses leveldb::NewMemEnv()
to create in-memory LevelDB databases.

Use this in IDBLeveLDBBackingStore::open() when the caller passes in
an empty file path.
This happens in Chromium's incognito mode, and when running layout
tests.

Fix IDBSQLiteBackingStore::backingStoreExists() so it doesn't create
files when passed in an empty file path, but uses the in-memory mode
instead.

Existing layout tests will all be run in-memory.

* platform/leveldb/LevelDBDatabase.cpp:
(WebCore::LevelDBDatabase::~LevelDBDatabase):
(WebCore::openDB):
(WebCore::LevelDBDatabase::open):
(WebCore::LevelDBDatabase::openInMemory):
* platform/leveldb/LevelDBDatabase.h:
* storage/IDBLevelDBBackingStore.cpp:
(WebCore::IDBLevelDBBackingStore::open):
* storage/IDBSQLiteBackingStore.cpp:
(WebCore::IDBSQLiteBackingStore::backingStoreExists):

Source/WebKit/chromium:

Don't fall back to SQLite or use a temporary dir for in-memory
databases (Incognito and layout tests); LevelDB supports in-memory
databases now.

* public/WebIDBFactory.h:
* src/WebIDBFactoryImpl.cpp:
(WebKit::WebIDBFactoryImpl::getDatabaseNames):
(WebKit::WebIDBFactoryImpl::open):

Tools:

Remove the temporary dir that was necessary before LevelDB supported
in-memory databases.

* DumpRenderTree/chromium/TestShell.cpp:
(TestShell::TestShell):
* DumpRenderTree/chromium/TestShell.h:

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

12 years agoWeb Inspector: speed-up Network panel. Change _staleResources type from array to...
loislo@chromium.org [Thu, 29 Sep 2011 11:59:27 +0000 (11:59 +0000)]
Web Inspector: speed-up Network panel. Change _staleResources type from array to object.
https://bugs.webkit.org/show_bug.cgi?id=69081

There is a test with 30 requests.
For the each stage of loading a resource we have an entry in _staleResources array. There are at least 4 stages per request.
NetworkLogView._refresh function is creating/updating the resource row for the each such entry.
This array can be replaced with a hash map just because the resource associated with the entry is the same for all the entries with the same request id.

Reviewed by Pavel Feldman.

Test: inspector/performance/resources/network-append-30-requests.html

* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView):
(WebInspector.NetworkLogView.prototype._invalidateAllItems):
(WebInspector.NetworkLogView.prototype.refresh):
(WebInspector.NetworkLogView.prototype._reset):
(WebInspector.NetworkLogView.prototype._refreshResource):

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

12 years agoWeb Inspector: make inspector protocol validation a part of the build process.
pfeldman@chromium.org [Thu, 29 Sep 2011 11:49:53 +0000 (11:49 +0000)]
Web Inspector: make inspector protocol validation a part of the build process.
https://bugs.webkit.org/show_bug.cgi?id=68999

Since we'd like to commit to inspector protocol backwards compatibility, violating it
should be a build failure.

Reviewed by Yury Semikhatsky.

* CMakeLists.txt:
* CodeGenerators.pri:
* DerivedSources.make:
* GNUmakefile.am:
* WebCore.gyp/WebCore.gyp:
* inspector/Inspector.draft-01.json:
* inspector/Inspector.json:
* inspector/generate-inspector-idl:
* inspector/generate-protocol-externs:
* inspector/validate-protocol-compatibility:

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

12 years agoWeb Inspector: Scripts panel without folders causes errors when creating content...
pfeldman@chromium.org [Thu, 29 Sep 2011 11:39:11 +0000 (11:39 +0000)]
Web Inspector: Scripts panel without folders causes errors when creating content scripts section.
https://bugs.webkit.org/show_bug.cgi?id=68827

Reviewed by Yury Semikhatsky.

Source/WebCore:

* inspector/front-end/ScriptsPanel.js:
(WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered.optionCompare):
(WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect.insertOrdered):
(WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):

LayoutTests:

* inspector/debugger/scripts-panel-expected.txt:
* inspector/debugger/scripts-panel.html:
* inspector/debugger/scripts-sorting-expected.txt:
* inspector/debugger/scripts-sorting.html:
* platform/chromium-win/inspector/debugger/scripts-panel-expected.txt: Removed.
* platform/chromium/inspector/debugger/scripts-sorting-expected.txt: Removed.
* platform/mac/inspector/debugger/scripts-panel-expected.txt: Removed.
* platform/win/inspector/debugger/scripts-panel-expected.txt: Removed.

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

12 years ago2011-09-28 Andrey Kosyakov <caseq@chromium.org>
caseq@chromium.org [Thu, 29 Sep 2011 11:06:15 +0000 (11:06 +0000)]
2011-09-28  Andrey Kosyakov  <caseq@chromium.org>

        Web Inspector: network log view refresh optimizations
        https://bugs.webkit.org/show_bug.cgi?id=69010

        Reviewed by Pavel Feldman.

        * inspector/front-end/NetworkPanel.js:
        (WebInspector.NetworkLogView.prototype.refresh):

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

12 years ago[GTK] Explicitly call destructors for objects initialized with placement new syntax
carlosgc@webkit.org [Thu, 29 Sep 2011 11:00:04 +0000 (11:00 +0000)]
[GTK] Explicitly call destructors for objects initialized with placement new syntax
https://bugs.webkit.org/show_bug.cgi?id=69079

Reviewed by Xan Lopez.

* UIProcess/API/gtk/WebKitWebContext.cpp:
(webkitWebContextFinalize): Call ~WebKitWebContextPrivate().
* UIProcess/API/gtk/WebKitWebLoaderClient.cpp:
(webkitWebLoaderClientFinalize): Call ~WebKitWebLoaderClient().
(webkit_web_loader_client_class_init):
* UIProcess/API/gtk/WebKitWebView.cpp:
(webkitWebViewFinalize): Call ~WebKitWebViewPrivate().
(webkit_web_view_class_init):

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

12 years agoLayoutTests: media/video-does-not-loop.html failing on Snow Leopard
commit-queue@webkit.org [Thu, 29 Sep 2011 10:33:03 +0000 (10:33 +0000)]
LayoutTests: media/video-does-not-loop.html failing on Snow Leopard
https://bugs.webkit.org/show_bug.cgi?id=69067

Patch by Arun Patole <bmf834@motorola.com> on 2011-09-29
Reviewed by Philippe Normand.

Update expected test result for video-does-not-loop.html
as the 'pause' event should be fired at the end of playback.

* media/video-does-not-loop-expected.txt:

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

12 years ago[Chromium] some Layout Tests in editing/ is failing
hamaji@chromium.org [Thu, 29 Sep 2011 10:30:20 +0000 (10:30 +0000)]
[Chromium] some Layout Tests in editing/ is failing
https://bugs.webkit.org/show_bug.cgi?id=69078

Unreviewed test_expectations.txt update

* platform/chromium/test_expectations.txt:

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

12 years ago[Chromium] Layout Test http/tests/security/cookies/cookie-theft-with-javascript-doc...
hamaji@chromium.org [Thu, 29 Sep 2011 10:07:33 +0000 (10:07 +0000)]
[Chromium] Layout Test http/tests/security/cookies/cookie-theft-with-javascript-doc.html is failing
https://bugs.webkit.org/show_bug.cgi?id=69077

Unreviewed test_expectations.txt update

* platform/chromium/test_expectations.txt:

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

12 years agoWeb Inspector: split SourceFile.js into RawSourceCode.js and UISourceCodeContentProvi...
podivilov@chromium.org [Thu, 29 Sep 2011 08:44:57 +0000 (08:44 +0000)]
Web Inspector: split SourceFile.js into RawSourceCode.js and UISourceCodeContentProviders.js.
https://bugs.webkit.org/show_bug.cgi?id=69068

Reviewed by Yury Semikhatsky.

* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/front-end/RawSourceCode.js: Renamed from Source/WebCore/inspector/front-end/SourceFile.js.
(WebInspector.RawSourceCode): Moved from SourceFile.js.
(WebInspector.UILocation): Moved from SourceFile.js.
* inspector/front-end/UISourceCodeContentProviders.js: Added. Moved ContentProvider implementations from SourceFile.js
(WebInspector.ScriptContentProvider):
(WebInspector.ScriptContentProvider.prototype.requestContent):
(WebInspector.ConcatenatedScriptsContentProvider):
(WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
(WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent.appendChunk):
(WebInspector.ConcatenatedScriptsContentProvider.prototype._concatenateScriptsContent):
(WebInspector.ResourceContentProvider):
(WebInspector.ResourceContentProvider.prototype.requestContent):
(WebInspector.StaticContentProvider):
(WebInspector.StaticContentProvider.prototype.requestContent):
* inspector/front-end/WebKit.qrc:
* inspector/front-end/inspector.html:

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

12 years ago[Chromium] Layout Test svg/filters/animate-fill.svg is failing
hamaji@chromium.org [Thu, 29 Sep 2011 08:36:04 +0000 (08:36 +0000)]
[Chromium] Layout Test svg/filters/animate-fill.svg is failing
https://bugs.webkit.org/show_bug.cgi?id=69070

Unreviewed test_expectations.txt update

* platform/chromium/test_expectations.txt:

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

12 years ago[GStreamer] 2 flaky media tests
philn@webkit.org [Thu, 29 Sep 2011 08:07:19 +0000 (08:07 +0000)]
[GStreamer] 2 flaky media tests
https://bugs.webkit.org/show_bug.cgi?id=67407

Reviewed by Martin Robinson.

Workaround for GStreamer bug#639941. In GStreamer
0.10.35 basesink reports wrong duration in case of EOS and
negative playback rate. This workaround fixes two media tests,
media/video-timeupdate-reverse-play.html and
media/video-reverse-play-duration.html.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::prepareToPlay):
(WebCore::MediaPlayerPrivateGStreamer::currentTime):
(WebCore::MediaPlayerPrivateGStreamer::didEnd):

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

12 years ago[GStreamer] fullscreen video pause/play fails
philn@webkit.org [Thu, 29 Sep 2011 08:03:31 +0000 (08:03 +0000)]
[GStreamer] fullscreen video pause/play fails
https://bugs.webkit.org/show_bug.cgi?id=66936

Reviewed by Martin Robinson.

Don't use the identity element to avoid painting of the in-window
video. Instead simply make the sink aware of the fullscreen state
and ignore buffers if fullscreen and autovideosink are
active. Also fixed two deadlocks happening when a paused pipeline
is switched to fullscreen and when fullscreen is disabled for a
paused pipeline.

* platform/graphics/gstreamer/GStreamerGWorld.cpp:
(WebCore::GStreamerGWorld::enterFullscreen):
(WebCore::GStreamerGWorld::exitFullscreen):
* platform/graphics/gstreamer/GStreamerGWorld.h:
(WebCore::GStreamerGWorld::isFullscreen):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
(webkit_video_sink_render):
(webkit_video_sink_new):
* platform/graphics/gstreamer/VideoSinkGStreamer.h:

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

12 years agoJSVALUE32_64 DFG JIT failed to be built on 32-bit Linux due to incorrect overloaded...
commit-queue@webkit.org [Thu, 29 Sep 2011 07:52:49 +0000 (07:52 +0000)]
JSVALUE32_64 DFG JIT failed to be built on 32-bit Linux due to incorrect overloaded OpInfo constructor
https://bugs.webkit.org/show_bug.cgi?id=69054

Patch by Yuqiang Xian <yuqiang.xian@intel.com> on 2011-09-29
Reviewed by Gavin Barraclough.

size_t is equal to uint32_t on most 32-bit platforms, except for Mac OS.

* dfg/DFGNode.h:

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

12 years agoHopefully the last Chromium test expectation update for r96294.
rniwa@webkit.org [Thu, 29 Sep 2011 07:33:46 +0000 (07:33 +0000)]
Hopefully the last Chromium test expectation update for r96294.

* platform/chromium/test_expectations.txt:

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

12 years agoREGRESSION(87010): elements in ECMA-cloud neither filled nor blurred
timothy_horton@apple.com [Thu, 29 Sep 2011 07:23:08 +0000 (07:23 +0000)]
REGRESSION(87010): elements in ECMA-cloud neither filled nor blurred
https://bugs.webkit.org/show_bug.cgi?id=68679
<rdar://problem/10204649>

Reviewed by Nikolas Zimmermann.

Source/WebCore:

Strip prefixes from SVG attributes before testing if they're supported.
Namespaced attributes will be matched using their namespace instead of
the (user-choosable) prefix.

Test: svg/custom/xlink-custom-namespace.svg

* svg/SVGAElement.cpp:
(WebCore::SVGAElement::isSupportedAttribute):
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::isSupportedAttribute):
* svg/SVGAnimateTransformElement.cpp:
(WebCore::SVGAnimateTransformElement::isSupportedAttribute):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::isSupportedAttribute):
* svg/SVGCircleElement.cpp:
(WebCore::SVGCircleElement::isSupportedAttribute):
* svg/SVGClipPathElement.cpp:
(WebCore::SVGClipPathElement::isSupportedAttribute):
* svg/SVGComponentTransferFunctionElement.cpp:
(WebCore::SVGComponentTransferFunctionElement::isSupportedAttribute):
* svg/SVGCursorElement.cpp:
(WebCore::SVGCursorElement::isSupportedAttribute):
* svg/SVGElement.h:
(WebCore::SVGAttributeHashTranslator::hash):
(WebCore::SVGAttributeHashTranslator::equal):
* svg/SVGEllipseElement.cpp:
(WebCore::SVGEllipseElement::isSupportedAttribute):
* svg/SVGExternalResourcesRequired.h:
* svg/SVGFEBlendElement.cpp:
(WebCore::SVGFEBlendElement::isSupportedAttribute):
* svg/SVGFEColorMatrixElement.cpp:
(WebCore::SVGFEColorMatrixElement::isSupportedAttribute):
* svg/SVGFEComponentTransferElement.cpp:
(WebCore::SVGFEComponentTransferElement::isSupportedAttribute):
* svg/SVGFECompositeElement.cpp:
(WebCore::SVGFECompositeElement::isSupportedAttribute):
* svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::isSupportedAttribute):
* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::isSupportedAttribute):
* svg/SVGFEDisplacementMapElement.cpp:
(WebCore::SVGFEDisplacementMapElement::isSupportedAttribute):
* svg/SVGFEDropShadowElement.cpp:
(WebCore::SVGFEDropShadowElement::isSupportedAttribute):
* svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::isSupportedAttribute):
* svg/SVGFEImageElement.cpp:
(WebCore::SVGFEImageElement::isSupportedAttribute):
* svg/SVGFELightElement.cpp:
(WebCore::SVGFELightElement::isSupportedAttribute):
* svg/SVGFEMergeNodeElement.cpp:
(WebCore::SVGFEMergeNodeElement::isSupportedAttribute):
* svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::isSupportedAttribute):
* svg/SVGFEOffsetElement.cpp:
(WebCore::SVGFEOffsetElement::isSupportedAttribute):
* svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::isSupportedAttribute):
* svg/SVGFETileElement.cpp:
(WebCore::SVGFETileElement::isSupportedAttribute):
* svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::isSupportedAttribute):
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::isSupportedAttribute):
* svg/SVGFilterPrimitiveStandardAttributes.cpp:
(WebCore::SVGFilterPrimitiveStandardAttributes::isSupportedAttribute):
* svg/SVGForeignObjectElement.cpp:
(WebCore::SVGForeignObjectElement::isSupportedAttribute):
* svg/SVGGElement.cpp:
(WebCore::SVGGElement::isSupportedAttribute):
* svg/SVGGradientElement.cpp:
(WebCore::SVGGradientElement::isSupportedAttribute):
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::isSupportedAttribute):
* svg/SVGLineElement.cpp:
(WebCore::SVGLineElement::isSupportedAttribute):
* svg/SVGLinearGradientElement.cpp:
(WebCore::SVGLinearGradientElement::isSupportedAttribute):
* svg/SVGMPathElement.cpp:
(WebCore::SVGMPathElement::isSupportedAttribute):
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::isSupportedAttribute):
* svg/SVGMaskElement.cpp:
(WebCore::SVGMaskElement::isSupportedAttribute):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::isSupportedAttribute):
* svg/SVGPatternElement.cpp:
(WebCore::SVGPatternElement::isSupportedAttribute):
* svg/SVGPolyElement.cpp:
(WebCore::SVGPolyElement::isSupportedAttribute):
* svg/SVGRadialGradientElement.cpp:
(WebCore::SVGRadialGradientElement::isSupportedAttribute):
* svg/SVGRectElement.cpp:
(WebCore::SVGRectElement::isSupportedAttribute):
* svg/SVGScriptElement.cpp:
(WebCore::SVGScriptElement::isSupportedAttribute):
* svg/SVGStopElement.cpp:
(WebCore::SVGStopElement::isSupportedAttribute):
* svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::isSupportedAttribute):
* svg/SVGStyledTransformableElement.cpp:
(WebCore::SVGStyledTransformableElement::isSupportedAttribute):
* svg/SVGSymbolElement.cpp:
(WebCore::SVGSymbolElement::isSupportedAttribute):
* svg/SVGTRefElement.cpp:
(WebCore::SVGTRefElement::isSupportedAttribute):
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::isSupportedAttribute):
* svg/SVGTextElement.cpp:
(WebCore::SVGTextElement::isSupportedAttribute):
* svg/SVGTextPathElement.cpp:
(WebCore::SVGTextPathElement::isSupportedAttribute):
* svg/SVGTextPositioningElement.cpp:
(WebCore::SVGTextPositioningElement::isSupportedAttribute):
* svg/SVGURIReference.cpp:
(WebCore::SVGURIReference::addSupportedAttributes):
* svg/SVGUseElement.cpp:
(WebCore::SVGUseElement::isSupportedAttribute):
* svg/SVGViewElement.cpp:
(WebCore::SVGViewElement::isSupportedAttribute):

LayoutTests:

Add a test ensuring that using xlink:href with a different prefix (i.e. xl:href)
works correctly.

* svg/custom/xlink-custom-namespace-expected.png: Added.
* svg/custom/xlink-custom-namespace-expected.txt: Added.
* svg/custom/xlink-custom-namespace.svg: Added.

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

12 years agoDFG checkArgumentTypes fails to check boolean predictions
fpizlo@apple.com [Thu, 29 Sep 2011 07:12:10 +0000 (07:12 +0000)]
DFG checkArgumentTypes fails to check boolean predictions
https://bugs.webkit.org/show_bug.cgi?id=69059

Reviewed by Gavin Barraclough.

Source/JavaScriptCore:

* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::checkArgumentTypes):

LayoutTests:

* fast/js/boolean-argument-prediction-expected.txt: Added.
* fast/js/boolean-argument-prediction.html: Added.
* fast/js/script-tests/boolean-argument-prediction.js: Added.
(predictBooleanArgument):

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

12 years agoChromium test_expectations update for isindex-with-no-form.html
hamaji@chromium.org [Thu, 29 Sep 2011 06:32:20 +0000 (06:32 +0000)]
Chromium test_expectations update for isindex-with-no-form.html

* platform/chromium/test_expectations.txt:

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

12 years ago[Chromium] Layout Test compositing/shadows/shadow-drawing.html is failing
hamaji@chromium.org [Thu, 29 Sep 2011 06:27:59 +0000 (06:27 +0000)]
[Chromium] Layout Test compositing/shadows/shadow-drawing.html is failing
https://bugs.webkit.org/show_bug.cgi?id=69062

Chromium test_expectations update

* platform/chromium/test_expectations.txt:

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