WebKit-https.git
8 years agoPerf test results is incomprehensive
rniwa@webkit.org [Mon, 17 Sep 2012 18:17:10 +0000 (18:17 +0000)]
Perf test results is incomprehensive
https://bugs.webkit.org/show_bug.cgi?id=94668

Reviewed by Eric Seidel.

Overhauled the results page to have a tabular view. Clicking on each row shows a flot graph we used to have.
For each run and test, we show the mean value with the standard deviation along with the percent difference
against the reference run chosen by the user if the difference is statistically significant; it also indicates
whether the new value is progression or not.

The unit of each test is adjusted automatically using SI prefixes (Kilo, Mega, Milli), and rows can be sorted
by each column. Time and memory results are separated into two tabs.

* resources/jquery.tablesorter.min.js: Added.
* resources/results-template.html:

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

8 years agoWeb Inspector: Display Named Flows in the Tabbed Pane of the "CSS Named Flows" Drawer
commit-queue@webkit.org [Mon, 17 Sep 2012 18:13:04 +0000 (18:13 +0000)]
Web Inspector: Display Named Flows in the Tabbed Pane of the "CSS Named Flows" Drawer
https://bugs.webkit.org/show_bug.cgi?id=96733

Patch by Andrei Poenaru <poenaru@adobe.com> on 2012-09-17
Reviewed by Alexander Pavlov.

Added functionality to the Tabbed Pane from the CSS Named Flows Drawer.

* English.lproj/localizedStrings.js:
* WebCore.gypi:
* WebCore.vcproj/WebCore.vcproj:
* inspector/compile-front-end.py:
* inspector/front-end/CSSNamedFlowCollectionsView.js:
(WebInspector.CSSNamedFlowCollectionsView.prototype._appendNamedFlow):
(WebInspector.CSSNamedFlowCollectionsView.prototype._removeNamedFlow):
(WebInspector.CSSNamedFlowCollectionsView.prototype._updateNamedFlow):
(WebInspector.CSSNamedFlowCollectionsView.prototype._showNamedFlow):
(WebInspector.CSSNamedFlowCollectionsView.prototype._selectNamedFlowInSidebar):
(WebInspector.CSSNamedFlowCollectionsView.prototype._selectNamedFlowTab):
(WebInspector.CSSNamedFlowCollectionsView.prototype._tabSelected):
(WebInspector.CSSNamedFlowCollectionsView.prototype._tabClosed):
(WebInspector.CSSNamedFlowCollectionsView.prototype.wasShown):
(WebInspector.CSSNamedFlowCollectionsView.prototype.willHide):
(WebInspector.FlowTreeElement):
(WebInspector.FlowTreeElement.prototype.setOverset):
* inspector/front-end/CSSNamedFlowView.js: Added.
(WebInspector.CSSNamedFlowView):
(WebInspector.CSSNamedFlowView.prototype._createFlowTreeOutline):
(WebInspector.CSSNamedFlowView.prototype._insertContentNode):
(WebInspector.CSSNamedFlowView.prototype._insertRegion):
(WebInspector.CSSNamedFlowView.prototype.get flow):
(WebInspector.CSSNamedFlowView.prototype.set flow):
(WebInspector.CSSNamedFlowView.prototype._updateRegionOverset):
(WebInspector.CSSNamedFlowView.prototype._mergeContentNodes):
(WebInspector.CSSNamedFlowView.prototype._mergeRegions):
(WebInspector.CSSNamedFlowView.prototype._update):
* inspector/front-end/ElementsPanel.js:
* inspector/front-end/Images/regionEmpty.png: Added.
* inspector/front-end/Images/regionFit.png: Added.
* inspector/front-end/Images/regionOverset.png: Added.
* inspector/front-end/WebKit.qrc:
* inspector/front-end/cssNamedFlows.css:
(.css-named-flow-collections-view .split-view-sidebar-left .named-flow-overflow::before, .css-named-flow-collections-view .region-empty:before, .css-named-flow-collections-view .region-fit::before, .css-named-flow-collections-view .region-overset::before):
(.css-named-flow-collections-view .split-view-sidebar-left .named-flow-overflow::before):
(.css-named-flow-collections-view .region-empty::before):
(.css-named-flow-collections-view .region-fit::before):
(.css-named-flow-collections-view .region-overset::before):
(.css-named-flow-collections-view .split-view-contents .named-flow-element):

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

8 years agoNot reviewed. Added svn:eol-style native to unbreak some build bots.
mark.lam@apple.com [Mon, 17 Sep 2012 18:00:43 +0000 (18:00 +0000)]
Not reviewed. Added svn:eol-style native to unbreak some build bots.
https://bugs.webkit.org/show_bug.cgi?id=96175.

* JavaScriptCore.vcproj/LLIntAssembly/LLIntAssembly.vcproj: Added property svn:eol-style.
* JavaScriptCore.vcproj/LLIntDesiredOffsets/LLIntDesiredOffsets.vcproj: Added property svn:eol-style.
* JavaScriptCore.vcproj/LLIntOffsetsExtractor/LLIntOffsetsExtractor.vcproj: Added property svn:eol-style.

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

8 years ago[Gtk] Remove configuration options for stable features that are currently enabled
zandobersek@gmail.com [Mon, 17 Sep 2012 17:58:07 +0000 (17:58 +0000)]
[Gtk] Remove configuration options for stable features that are currently enabled
https://bugs.webkit.org/show_bug.cgi?id=96621

Reviewed by Martin Robinson.

.:

Remove configuration flags that were used for either features that were enabled
by default or were enabled only when unstable features support was enabled. In
any case the feature was removed only if it does not introduce a dependency.

* configure.ac:

Source/WebCore:

Remove Automake conditional checking for features that are being removed in
configure.ac. Unstable features that don't introduce dependencies are now
disabled if necessary by being listed in the unstable feature defines overriding
variable.

No new tests - no new functionality.

* GNUmakefile.am:
* GNUmakefile.features.am:
* bindings/gobject/GNUmakefile.am:

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

8 years ago[Qt] Cleanup/refactor the user agent detection code
commit-queue@webkit.org [Mon, 17 Sep 2012 17:54:57 +0000 (17:54 +0000)]
[Qt] Cleanup/refactor the user agent detection code
https://bugs.webkit.org/show_bug.cgi?id=96822

Unreviewed build fix.

Build fixes for Windows and Mac OS builds.

Patch by Lauro Neto <lauro.neto@openbossa.org> on 2012-09-17

* platform/qt/UserAgentQt.cpp:
(WebCore::UserAgentQt::standardUserAgent):

    QLatin1String doesn't have a default contructor. Replaced #ifdef with #if.

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

8 years agoDon't load a blocked plug-in if a non-blocked version of the same plug-in exists
andersca@apple.com [Mon, 17 Sep 2012 17:53:38 +0000 (17:53 +0000)]
Don't load a blocked plug-in if a non-blocked version of the same plug-in exists
https://bugs.webkit.org/show_bug.cgi?id=96933
<rdar://problem/12206720>

Reviewed by Andreas Kling.

If a plug-in with the same bundle identifier already exists and it's blocked, remove it and replace it
with the other version.

* UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
(WebKit::PluginInfoStore::shouldUsePlugin):

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

8 years ago[Chromium] IndexedDB: Remove legacy two-phase open() API members
jsbell@chromium.org [Mon, 17 Sep 2012 17:13:44 +0000 (17:13 +0000)]
[Chromium] IndexedDB: Remove legacy two-phase open() API members
https://bugs.webkit.org/show_bug.cgi?id=96802

Reviewed by Tony Chang.

Following http://webkit.org/b/90411 and subsequent cleanup on the Chromium side,
these entry points are no longer needed.

* public/WebIDBDatabase.h: Delete old second-phase open(db-callbacks)
* public/WebIDBFactory.h: Delete old first-phase open() w/o db-callbacks
* src/WebIDBDatabaseImpl.cpp: No longer need to account for a close between phases.
(WebKit::WebIDBDatabaseImpl::WebIDBDatabaseImpl):
(WebKit::WebIDBDatabaseImpl::close):
(WebKit::WebIDBDatabaseImpl::forceClose):
* src/WebIDBDatabaseImpl.h:
(WebIDBDatabaseImpl):

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

8 years ago[BlackBerry] [FullScreen] entering/leaving fullscreen results in temporary glitches...
tonikitoo@webkit.org [Mon, 17 Sep 2012 17:03:45 +0000 (17:03 +0000)]
[BlackBerry] [FullScreen] entering/leaving fullscreen results in temporary glitches on the screen
https://bugs.webkit.org/show_bug.cgi?id=96927
PR #180866

Reviewed by Yong Li.
Patch by Antonio Gomes <agomes@rim.com>

Suspend backing store and screen updates while entering fullscreen,
and only resume at the end, when viewport is resized.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):
* Api/WebPage_p.h:
(WebPagePrivate):
* WebCoreSupport/ChromeClientBlackBerry.cpp:
(WebCore::ChromeClientBlackBerry::enterFullScreenForElement):
(WebCore::ChromeClientBlackBerry::exitFullScreenForElement):

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

8 years agoAdded MSVC project changes to enable building the llint.
mark.lam@apple.com [Mon, 17 Sep 2012 17:02:18 +0000 (17:02 +0000)]
Added MSVC project changes to enable building the llint.
https://bugs.webkit.org/show_bug.cgi?id=96175.

Reviewed by Geoff Garen.

This only adds the ability to build the llint, but currently, only the
C++ backend is supported. By default, the Windows port will remain
running with the baseline JIT.  The llint will not be enabled.

Source/JavaScriptCore:

* JavaScriptCore.vcproj/JavaScriptCore.sln:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.vcproj/LLIntAssembly: Added.
* JavaScriptCore.vcproj/LLIntAssembly/LLIntAssembly.make: Added.
* JavaScriptCore.vcproj/LLIntAssembly/LLIntAssembly.vcproj: Added.
* JavaScriptCore.vcproj/LLIntAssembly/build-LLIntAssembly.sh: Added.
* JavaScriptCore.vcproj/LLIntDesiredOffsets: Added.
* JavaScriptCore.vcproj/LLIntDesiredOffsets/LLIntDesiredOffsets.make: Added.
* JavaScriptCore.vcproj/LLIntDesiredOffsets/LLIntDesiredOffsets.vcproj: Added.
* JavaScriptCore.vcproj/LLIntDesiredOffsets/build-LLIntDesiredOffsets.sh: Added.
* JavaScriptCore.vcproj/LLIntOffsetsExtractor: Added.
* JavaScriptCore.vcproj/LLIntOffsetsExtractor/LLIntOffsetsExtractor.vcproj: Added.
* JavaScriptCore.vcproj/LLIntOffsetsExtractor/LLIntOffsetsExtractorCommon.vsprops: Added.
* JavaScriptCore.vcproj/LLIntOffsetsExtractor/LLIntOffsetsExtractorDebug.vsprops: Added.
* JavaScriptCore.vcproj/LLIntOffsetsExtractor/LLIntOffsetsExtractorRelease.vsprops: Added.

Source/WebKit/win:

* WebKit.vcproj/WebKit.sln:

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

8 years agoUpdates to the useragent patch
commit-queue@webkit.org [Mon, 17 Sep 2012 16:35:48 +0000 (16:35 +0000)]
Updates to the useragent patch

[Qt] Cleanup/refactor the user agent detection code
https://bugs.webkit.org/show_bug.cgi?id=96822

Patch by Lauro Neto <lauro.neto@openbossa.org> on 2012-09-17
Reviewed by Simon Hausmann.

Replaced Q_WS_*/Q_OS_* with WTF OS/CPU detection macros.
Cleanup the check for unsupported OS.
Replaced QString.arg() usage with simple string concatenation.

* platform/qt/UserAgentQt.cpp:
(WebCore::UserAgentQt::standardUserAgent):

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

8 years agoUnreviewed, rolling out r128759.
commit-queue@webkit.org [Mon, 17 Sep 2012 16:26:40 +0000 (16:26 +0000)]
Unreviewed, rolling out r128759.
http://trac.webkit.org/changeset/128759
https://bugs.webkit.org/show_bug.cgi?id=96929

New assertion hit on multiple platforms (Requested by carewolf
on #webkit).

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

* dom/Document.cpp:
(WebCore::Document::updateHoverActiveState):

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

8 years ago[Qt]REGRESSION(r128699): It made 2 fast/js/dfg tests assert
ossy@webkit.org [Mon, 17 Sep 2012 16:21:45 +0000 (16:21 +0000)]
[Qt]REGRESSION(r128699): It made 2 fast/js/dfg tests assert
https://bugs.webkit.org/show_bug.cgi?id=96907

Patch by János Badics <jbadics@inf.u-szeged.hu> on 2012-09-17
Reviewed by Csaba Osztrogonác.

* platform/qt/Skipped: Skip new crashing tests.

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

8 years ago[BlackBerry] Fix compile problems in WebKit/blackberry
rwlbuis@webkit.org [Mon, 17 Sep 2012 16:06:54 +0000 (16:06 +0000)]
[BlackBerry] Fix compile problems in WebKit/blackberry
https://bugs.webkit.org/show_bug.cgi?id=96926

Reviewed by Antonio Gomes.

This code is slightly out of date and so will not compile, fix it.

* WebCoreSupport/BatteryClientBlackBerry.cpp:
(WebCore::BatteryClientBlackBerry::BatteryClientBlackBerry):
* WebCoreSupport/BatteryClientBlackBerry.h:
(WebKit):
* WebCoreSupport/CredentialTransformData.h:
* WebCoreSupport/DeviceOrientationClientBlackBerry.cpp:
(DeviceOrientationClientBlackBerry::onOrientation):
* WebCoreSupport/InspectorClientBlackBerry.h:
* WebCoreSupport/PagePopupBlackBerry.cpp:
* WebKitSupport/DOMSupport.cpp:
(BlackBerry::WebKit::DOMSupport::isDateTimeInputField):
(BlackBerry::WebKit::DOMSupport::isTextBasedContentEditableElement):
* WebKitSupport/DumpRenderTreeSupport.cpp:
(DumpRenderTreeSupport::numberOfPendingGeolocationPermissionRequests):
* WebKitSupport/InPageSearchManager.cpp:
(BlackBerry::WebKit::InPageSearchManager::scopeStringMatches):

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

8 years ago[BlackBerry] BackingStorePrivate::resumeScreenAndBackingStoreUpdates more atomic
tonikitoo@webkit.org [Mon, 17 Sep 2012 16:05:21 +0000 (16:05 +0000)]
[BlackBerry] BackingStorePrivate::resumeScreenAndBackingStoreUpdates more atomic
https://bugs.webkit.org/show_bug.cgi?id=96925

[FullScreen] entering/leaving fullscreen results in temporary glitches on the screen (part 2/3)
PR #180866

eviewed by Rob Buis.
Patch by Antonio Gomes <agomes@rim.com>
Internally reviewed by Arvid Nilsson.

Paraphrasing Arvid "resumeBackingStore will be a truly atomic operation.
Well more atomic than it was before, with regards to a mix of accelerated and
non-accelerated compositing content".

I.e. by committing the root layer (if needed) when resuming the Backing
Store, we call blitVisibleContents right way, so we are actually shortcutting when
AC content will get on screen.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::resumeScreenAndBackingStoreUpdates):

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

8 years ago[EFL] Skip again tests that were unskipped recently
commit-queue@webkit.org [Mon, 17 Sep 2012 15:57:01 +0000 (15:57 +0000)]
[EFL] Skip again tests that were unskipped recently
https://bugs.webkit.org/show_bug.cgi?id=96923

Unreviewed EFL gardening.

Skip again several test cases that were unskipped in
r128753 but don't seem to pass on the bots for some
reason.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-17

* platform/efl-wk1/TestExpectations:
* platform/efl/TestExpectations:

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

8 years agoUnreviewed. Temporary disable visited set counter check.
loislo@chromium.org [Mon, 17 Sep 2012 15:45:11 +0000 (15:45 +0000)]
Unreviewed. Temporary disable visited set counter check.

* tests/MemoryInstrumentationTest.cpp:
(WebCore::TEST):

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

8 years ago[EFL] Clean up Skipped list
commit-queue@webkit.org [Mon, 17 Sep 2012 15:22:22 +0000 (15:22 +0000)]
[EFL] Clean up Skipped list
https://bugs.webkit.org/show_bug.cgi?id=96918

Unreviewed EFL gardening.

Unskip several test cases that are now passing for
EFL port.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-17

* platform/efl/Skipped:
* platform/efl/editing/input/caret-at-the-edge-of-input-expected.png: Added.
* platform/efl/editing/input/caret-at-the-edge-of-input-expected.txt: Added.
* platform/efl/editing/unsupported-content/list-delete-001-expected.png:
* platform/efl/editing/unsupported-content/list-type-after-expected.png:
* platform/efl/fast/block/basic/fieldset-stretch-to-legend-expected.png:
* platform/efl/fast/block/basic/fieldset-stretch-to-legend-expected.txt:

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

8 years agoWeb Inspector: NMI: now when we can detect instrumented classes we can
loislo@chromium.org [Mon, 17 Sep 2012 15:12:21 +0000 (15:12 +0000)]
Web Inspector: NMI: now when we can detect instrumented classes we can
remove addInstrumentedMember and use addMember for everything.
https://bugs.webkit.org/show_bug.cgi?id=96913

Reviewed by Yury Semikhatsky.

Source/WebCore:

* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::reportMemoryUsage):
* bindings/v8/IntrusiveDOMWrapperMap.h:
* bindings/v8/V8PerIsolateData.cpp:
(WebCore::V8PerIsolateData::reportMemoryUsage):
* css/CSSBorderImageSliceValue.cpp:
(WebCore::CSSBorderImageSliceValue::reportDescendantMemoryUsage):
* css/CSSCalculationValue.cpp:
* css/CSSCanvasValue.cpp:
(WebCore::CSSCanvasValue::reportDescendantMemoryUsage):
* css/CSSCharsetRule.cpp:
(WebCore::CSSCharsetRule::reportDescendantMemoryUsage):
* css/CSSComputedStyleDeclaration.cpp:
(WebCore::CSSComputedStyleDeclaration::reportMemoryUsage):
* css/CSSCrossfadeValue.cpp:
(WebCore::CSSCrossfadeValue::reportDescendantMemoryUsage):
* css/CSSFontFaceRule.cpp:
(WebCore::CSSFontFaceRule::reportDescendantMemoryUsage):
* css/CSSFontFaceSrcValue.cpp:
(WebCore::CSSFontFaceSrcValue::reportDescendantMemoryUsage):
* css/CSSFunctionValue.cpp:
(WebCore::CSSFunctionValue::reportDescendantMemoryUsage):
* css/CSSGradientValue.cpp:
(WebCore::CSSGradientColorStop::reportMemoryUsage):
(WebCore::CSSGradientValue::reportBaseClassMemoryUsage):
(WebCore::CSSLinearGradientValue::reportDescendantMemoryUsage):
(WebCore::CSSRadialGradientValue::reportDescendantMemoryUsage):
* css/CSSImageSetValue.cpp:
(WebCore::CSSImageSetValue::ImageWithScale::reportMemoryUsage):
* css/CSSImageValue.cpp:
(WebCore::CSSImageValue::reportDescendantMemoryUsage):
* css/CSSImportRule.cpp:
(WebCore::CSSImportRule::reportDescendantMemoryUsage):
* css/CSSMediaRule.cpp:
(WebCore::CSSMediaRule::reportDescendantMemoryUsage):
* css/CSSPageRule.cpp:
(WebCore::CSSPageRule::reportDescendantMemoryUsage):
* css/CSSPrimitiveValue.cpp:
(WebCore::CSSPrimitiveValue::reportDescendantMemoryUsage):
* css/CSSProperty.cpp:
(WebCore::CSSProperty::reportMemoryUsage):
* css/CSSReflectValue.cpp:
(WebCore::CSSReflectValue::reportDescendantMemoryUsage):
* css/CSSRule.cpp:
(WebCore::CSSRule::reportBaseClassMemoryUsage):
* css/CSSRuleList.h:
* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::reportDescendantMemoryUsage):
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::reportMemoryUsage):
* css/CSSValue.cpp:
(WebCore::TextCloneCSSValue::reportDescendantMemoryUsage):
* css/CSSVariableValue.h:
(WebCore::CSSVariableValue::reportDescendantMemoryUsage):
* css/FontFeatureValue.cpp:
(WebCore::FontFeatureValue::reportDescendantMemoryUsage):
* css/FontValue.cpp:
(WebCore::FontValue::reportDescendantMemoryUsage):
* css/MediaList.cpp:
(WebCore::MediaList::reportMemoryUsage):
* css/MediaQuery.cpp:
(WebCore::MediaQuery::reportMemoryUsage):
* css/MediaQueryExp.cpp:
(WebCore::MediaQueryExp::reportMemoryUsage):
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::reportMemoryUsage):
(WebCore::StyleRuleCSSStyleDeclaration::reportMemoryUsage):
(WebCore::InlineCSSStyleDeclaration::reportMemoryUsage):
* css/ShadowValue.cpp:
(WebCore::ShadowValue::reportDescendantMemoryUsage):
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::reportMemoryUsage):
* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):
* css/StyleRule.cpp:
(WebCore::StyleRule::reportDescendantMemoryUsage):
(WebCore::StyleRulePage::reportDescendantMemoryUsage):
(WebCore::StyleRuleFontFace::reportDescendantMemoryUsage):
(WebCore::StyleRuleMedia::reportDescendantMemoryUsage):
(WebCore::StyleRuleRegion::reportDescendantMemoryUsage):
* css/StyleRuleImport.cpp:
(WebCore::StyleRuleImport::reportDescendantMemoryUsage):
* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::reportMemoryUsage):
* css/WebKitCSSKeyframeRule.cpp:
(WebCore::StyleKeyframe::reportMemoryUsage):
(WebCore::WebKitCSSKeyframeRule::reportDescendantMemoryUsage):
* css/WebKitCSSKeyframesRule.cpp:
(WebCore::StyleRuleKeyframes::reportDescendantMemoryUsage):
(WebCore::WebKitCSSKeyframesRule::reportDescendantMemoryUsage):
* css/WebKitCSSRegionRule.cpp:
(WebCore::WebKitCSSRegionRule::reportDescendantMemoryUsage):
* css/WebKitCSSSVGDocumentValue.cpp:
(WebCore::WebKitCSSSVGDocumentValue::reportDescendantMemoryUsage):
* css/WebKitCSSShaderValue.cpp:
(WebCore::WebKitCSSShaderValue::reportDescendantMemoryUsage):
* dom/Attribute.h:
(WebCore::Attribute::reportMemoryUsage):
* dom/CharacterData.cpp:
(WebCore::CharacterData::reportMemoryUsage):
* dom/ContainerNode.h:
(WebCore::ContainerNode::reportMemoryUsage):
* dom/Document.cpp:
(WebCore::Document::reportMemoryUsage):
* dom/Element.h:
(WebCore::Element::reportMemoryUsage):
* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::reportMemoryUsage):
* dom/Event.cpp:
(WebCore::Event::reportMemoryUsage):
* dom/Node.cpp:
(WebCore::Node::reportMemoryUsage):
* dom/QualifiedName.cpp:
(WebCore::QualifiedName::reportMemoryUsage):
(WebCore::QualifiedName::QualifiedNameImpl::reportMemoryUsage):
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::reportMemoryUsage):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::reportMemoryUsage):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::reportMemoryUsage):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::reportMemoryUsage):
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::reportMemoryUsage):
* loader/SubresourceLoader.cpp:
(WebCore::SubresourceLoader::reportMemoryUsage):
* loader/SubstituteData.cpp:
(WebCore::SubstituteData::reportMemoryUsage):
* loader/cache/CachedCSSStyleSheet.cpp:
(WebCore::CachedCSSStyleSheet::reportMemoryUsage):
* loader/cache/CachedFont.cpp:
(WebCore::CachedFont::reportMemoryUsage):
* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::reportMemoryUsage):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::reportMemoryUsage):
* loader/cache/CachedResourceHandle.cpp:
(WebCore::CachedResourceHandleBase::reportMemoryUsage):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::reportMemoryUsage):
* loader/cache/CachedSVGDocument.cpp:
(WebCore::CachedSVGDocument::reportMemoryUsage):
* loader/cache/CachedScript.cpp:
(WebCore::CachedScript::reportMemoryUsage):
* loader/cache/CachedShader.cpp:
(WebCore::CachedShader::reportMemoryUsage):
* loader/cache/CachedXSLStyleSheet.cpp:
(WebCore::CachedXSLStyleSheet::reportMemoryUsage):
* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::reportMemoryUsage):
* page/Frame.cpp:
(WebCore::Frame::reportMemoryUsage):
* platform/KURL.cpp:
(WebCore::KURL::reportMemoryUsage):
* platform/KURLGoogle.cpp:
(WebCore::KURLGooglePrivate::reportMemoryUsage):
* platform/KURLWTFURLImpl.h:
(WebCore::KURLWTFURLImpl::reportMemoryUsage):
* platform/TreeShared.h:
(WebCore::TreeShared::reportMemoryUsage):
* platform/graphics/CrossfadeGeneratedImage.cpp:
(WebCore::CrossfadeGeneratedImage::reportMemoryUsage):
* platform/graphics/Image.cpp:
(WebCore::Image::reportMemoryUsage):
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::reportMemoryUsage):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::reportMemoryUsage):
* rendering/style/DataRef.h:
(WebCore::DataRef::reportMemoryUsage):
* rendering/style/RenderStyle.cpp:
(WebCore::RenderStyle::reportMemoryUsage):
* rendering/style/StyleRareInheritedData.cpp:
(WebCore::StyleRareInheritedData::reportMemoryUsage):
* rendering/style/StyleRareNonInheritedData.cpp:
(WebCore::StyleRareNonInheritedData::reportMemoryUsage):
* svg/SVGPaint.cpp:
(WebCore::SVGPaint::reportDescendantMemoryUsage):
* svg/graphics/SVGImage.cpp:
(WebCore::SVGImage::reportMemoryUsage):

Source/WebKit/chromium:

* tests/MemoryInstrumentationTest.cpp:
(WebCore::InstrumentedDOM::reportMemoryUsage):
(WebCore::NonVirtualInstrumented::reportMemoryUsage):
(WebCore::InstrumentedOwner::reportMemoryUsage):

Source/WTF:

* wtf/MemoryInstrumentation.h:
(WTF::MemoryInstrumentation::addRootObject):
(WTF::MemoryInstrumentation::addObject):
(WTF::MemoryInstrumentation::addObjectImpl):
(WTF):
(WTF::MemoryInstrumentation::addInstrumentedCollection):
(WTF::MemoryInstrumentation::addInstrumentedMapEntries):
(WTF::MemoryInstrumentation::addInstrumentedMapValues):
* wtf/text/AtomicString.cpp:
(WTF::AtomicString::reportMemoryUsage):
* wtf/text/CString.h:
(WTF::CString::reportMemoryUsage):
* wtf/text/StringImpl.cpp:
(WTF::StringImpl::reportMemoryUsage):
* wtf/text/WTFString.cpp:
(WTF::String::reportMemoryUsage):
* wtf/url/api/ParsedURL.cpp:
(WTF::ParsedURL::reportMemoryUsage):
* wtf/url/api/URLString.cpp:
(WTF::URLString::reportMemoryUsage):

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

8 years ago[BlackBerry] Use glDeleteProgram to delete OpenGL shader programs.
commit-queue@webkit.org [Mon, 17 Sep 2012 15:06:10 +0000 (15:06 +0000)]
[BlackBerry] Use glDeleteProgram to delete OpenGL shader programs.
https://bugs.webkit.org/show_bug.cgi?id=96771

Patch by Filip Spacek <fspacek@rim.com> on 2012-09-17
Reviewed by Rob Buis.

Reviewed internally by Arvid Nilsson.

* platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
(WebCore::EGLImageLayerWebKitThread::EGLImageLayerWebKitThread):
(WebCore::EGLImageLayerWebKitThread::~EGLImageLayerWebKitThread):
(WebCore::EGLImageLayerWebKitThread::deleteFrontBuffer):
(WebCore::EGLImageLayerWebKitThread::createShaderIfNeeded):
(WebCore::EGLImageLayerWebKitThread::blitToFrontBuffer):
* platform/graphics/blackberry/EGLImageLayerWebKitThread.h:
(EGLImageLayerWebKitThread):

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

8 years agoRevert r127457 and following fixes due to several hit-testing regressions
allan.jensen@nokia.com [Mon, 17 Sep 2012 15:04:43 +0000 (15:04 +0000)]
Revert r127457 and following fixes due to several hit-testing regressions
https://bugs.webkit.org/show_bug.cgi?id=96830

Reviewed by Antonio Gomes.

The revert misssed one related follow-up.

* dom/Document.cpp:
(WebCore::Document::updateHoverActiveState):

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

8 years ago[TouchAdjustment] Adjusted point outside bounds for non-rectilinear targets
allan.jensen@nokia.com [Mon, 17 Sep 2012 15:02:41 +0000 (15:02 +0000)]
[TouchAdjustment] Adjusted point outside bounds for non-rectilinear targets
https://bugs.webkit.org/show_bug.cgi?id=96098

Reviewed by Antonio Gomes.

Source/WebCore:

Simplifies how snapTo tries to restrict the adjustment to the touch-area, and
at the same fix it to give better guarantees.

Test: touchadjustment/rotated-node.html

* page/TouchAdjustment.cpp:
(WebCore::TouchAdjustment::snapTo):

LayoutTests:

Expands the test of rotated nodes to also perform checks of the validity of the adjusted points.

* touchadjustment/resources/touchadjustment.js:
(adjustTouchPoint):
* touchadjustment/rotated-node-expected.txt:
* touchadjustment/rotated-node.html:

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

8 years ago[BlackBerry] To support "Frames View" of "TimeLine" panel in Inspector
commit-queue@webkit.org [Mon, 17 Sep 2012 15:00:42 +0000 (15:00 +0000)]
[BlackBerry] To support "Frames View" of "TimeLine" panel in Inspector
https://bugs.webkit.org/show_bug.cgi?id=96077

Patch by Peter Wang <peter.wang@torchmobile.com.cn> on 2012-09-17
Reviewed by Rob Buis.

Invoke the "instrumentBeginFrame" and "instrumentCancelFrame" at the start and end of processing
render message to record one time of page's update.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::instrumentBeginFrame):
(WebKit):
(BlackBerry::WebKit::BackingStorePrivate::instrumentCancelFrame):
* Api/BackingStore_p.h:
* WebKitSupport/RenderQueue.cpp:
(BlackBerry::WebKit::RenderQueue::render):

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

8 years ago[BlackBerry] Support copying image data in WebOverlay.
jpetsovits@rim.com [Mon, 17 Sep 2012 14:57:36 +0000 (14:57 +0000)]
[BlackBerry] Support copying image data in WebOverlay.
https://bugs.webkit.org/show_bug.cgi?id=96684
RIM PR 195444

Reviewed by Rob Buis.
Internally reviewed by Arvid Nilsson.

The publicly exposed WebOverlay class provides a method
setContentsToImage() to assign a pointer to pixel data,
which is later used to provide texture data for the
underlying compositing layer. This works well for static
images that stay in memory and never change, but not
so well for images with changing contents or where the
image data is being reassigned from different image
sources that are not constantly kept around in memory.

Due to the delayed upload and delayed fetching of
EGLImage data by the GPU, we shouldn't assume the caller
to know how long the image should be retained. Instead,
we should offer another method of setting image data
that takes ownership of the pixel data.

This patch adds an option to setContentsToImage() that
copies the passed pixel data and doesn't destroy it
until both the texture is destroyed and the image
contents are changed. Using this method, the caller can
withdraw the passed pixel array right after the
setContentsToImage() call without consequences.

* Api/WebOverlay.cpp:
(BlackBerry::WebKit::WebOverlay::setContentsToImage):
(BlackBerry::WebKit::WebOverlayPrivateWebKitThread::setContentsToImage):
(BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::WebOverlayLayerCompositingThreadClient):
(BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::invalidate):
(BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::setContents):
(WebKit):
(BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::clearUploadedContents):
(BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::setContentsToColor):
(BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::uploadTexturesIfNeeded):
(BlackBerry::WebKit::WebOverlayLayerCompositingThreadClient::deleteTextures):
(BlackBerry::WebKit::WebOverlayPrivateCompositingThread::setContentsToImage):
* Api/WebOverlay.h:
* Api/WebOverlay_p.h:
(WebOverlayPrivate):
(WebOverlayPrivateWebKitThread):
(WebOverlayLayerCompositingThreadClient):
(WebOverlayPrivateCompositingThread):

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

8 years agoUnreviewed. Fix Mac compilation.
yurys@chromium.org [Mon, 17 Sep 2012 13:56:11 +0000 (13:56 +0000)]
Unreviewed. Fix Mac compilation.

* bindings/v8/DOMDataStore.h: added missing virtual modifier.
(DOMDataStore):

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

8 years ago[EFL] Clean up Skipped list
commit-queue@webkit.org [Mon, 17 Sep 2012 13:50:03 +0000 (13:50 +0000)]
[EFL] Clean up Skipped list
https://bugs.webkit.org/show_bug.cgi?id=96914

Unreviewed EFL gardening.

Clean up the EFL Skipped list. Unskip several test cases that
are now passing and provide baselines for some of them.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-17

* platform/efl-wk1/TestExpectations:
* platform/efl/Skipped:
* platform/efl/TestExpectations:
* platform/efl/fast/text/emphasis-expected.png: Added.
* platform/efl/fast/text/emphasis-expected.txt: Added.
* platform/efl/fast/text/international/vertical-text-metrics-test-expected.txt: Added.
* platform/efl/fast/writing-mode/text-orientation-basic-expected.png: Added.
* platform/efl/fast/writing-mode/text-orientation-basic-expected.txt: Added.
* platform/efl/mathml/presentation/style-expected.png: Added.
* platform/efl/mathml/presentation/style-expected.txt: Added.

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

8 years agoWeb Inspector: NMI don't double count fields of StaticDOMDataStore
yurys@chromium.org [Mon, 17 Sep 2012 13:33:03 +0000 (13:33 +0000)]
Web Inspector: NMI don't double count fields of StaticDOMDataStore
https://bugs.webkit.org/show_bug.cgi?id=96911

Reviewed by Alexander Pavlov.

Provided two separate memory usage reporting routines for static and
scoped DOM data stores.

* bindings/v8/DOMDataStore.cpp:
* bindings/v8/DOMDataStore.h:
(DOMDataStore):
* bindings/v8/ScopedDOMDataStore.cpp:
(WebCore::ScopedDOMDataStore::reportMemoryUsage):
(WebCore):
* bindings/v8/ScopedDOMDataStore.h:
(ScopedDOMDataStore):
* bindings/v8/StaticDOMDataStore.cpp:
(WebCore::StaticDOMDataStore::reportMemoryUsage):
(WebCore):
* bindings/v8/StaticDOMDataStore.h:
(StaticDOMDataStore):

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

8 years ago[Qt] Auto-generate the module pri file for QtWebKit
vestbo@webkit.org [Mon, 17 Sep 2012 13:32:37 +0000 (13:32 +0000)]
[Qt] Auto-generate the module pri file for QtWebKit

Reviewed by Simon Hausmann.

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

8 years ago[EFL] autoscroll-in-textarea.html fails on EFL
commit-queue@webkit.org [Mon, 17 Sep 2012 13:31:22 +0000 (13:31 +0000)]
[EFL] autoscroll-in-textarea.html fails on EFL
https://bugs.webkit.org/show_bug.cgi?id=94150

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-17
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Do not call adjustTextAreaStyle() from RenderThemeEfl::adjustTextAreaStyle().
This is consistent with Mac port implementation.

Calling adjustTextAreaStyle() causes the TextArea in the test to display 6.5
rows instead of the 6 that are requested. This causes the test case to fail
because the top row that is being displayed when scrolling down is different
than the one expected.

Test: fast/events/autoscroll-in-textarea.html

* platform/efl/RenderThemeEfl.cpp:
(WebCore::RenderThemeEfl::adjustTextAreaStyle):

LayoutTests:

Unskip several test cases that are passing now that textareas
are rendered correctly.

Rebaseline several test cases due to the textarea rendering
change.

* platform/efl/TestExpectations:
* platform/efl/editing/input/reveal-caret-of-multiline-input-expected.png:
* platform/efl/editing/input/reveal-caret-of-multiline-input-expected.txt:
* platform/efl/fast/block/margin-collapse/103-expected.png:
* platform/efl/fast/block/margin-collapse/103-expected.txt:
* platform/efl/fast/dom/HTMLTextAreaElement/reset-textarea-expected.png:
* platform/efl/fast/dom/HTMLTextAreaElement/reset-textarea-expected.txt:
* platform/efl/fast/dynamic/008-expected.png:
* platform/efl/fast/dynamic/008-expected.txt:
* platform/efl/fast/forms/text-control-intrinsic-widths-expected.txt:
* platform/efl/fast/forms/textAreaLineHeight-expected.png:
* platform/efl/fast/forms/textAreaLineHeight-expected.txt:
* platform/efl/fast/forms/textarea-align-expected.png:
* platform/efl/fast/forms/textarea-align-expected.txt:
* platform/efl/fast/forms/textarea-placeholder-visibility-1-expected.png:
* platform/efl/fast/forms/textarea-placeholder-visibility-1-expected.txt:
* platform/efl/fast/forms/textarea-placeholder-visibility-2-expected.png:
* platform/efl/fast/forms/textarea-placeholder-visibility-2-expected.txt:
* platform/efl/fast/forms/textarea-scroll-height-expected.png: Added.
* platform/efl/fast/forms/textarea-scroll-height-expected.txt: Added.
* platform/efl/fast/forms/textarea-scrollbar-expected.png:
* platform/efl/fast/forms/textarea-scrollbar-expected.txt:
* platform/efl/fast/forms/textarea-scrolled-type-expected.png: Added.
* platform/efl/fast/forms/textarea-scrolled-type-expected.txt: Added.
* platform/efl/fast/forms/textarea-setinnerhtml-expected.png:
* platform/efl/fast/forms/textarea-setinnerhtml-expected.txt:
* platform/efl/fast/forms/textarea-width-expected.png:
* platform/efl/fast/forms/textarea-width-expected.txt:
* platform/efl/fast/overflow/overflow-x-y-expected.png:
* platform/efl/fast/overflow/overflow-x-y-expected.txt:
* platform/efl/fast/parser/entity-comment-in-textarea-expected.png:
* platform/efl/fast/parser/entity-comment-in-textarea-expected.txt:
* platform/efl/fast/parser/open-comment-in-textarea-expected.png:
* platform/efl/fast/parser/open-comment-in-textarea-expected.txt:
* platform/efl/fast/replaced/width100percent-textarea-expected.png:
* platform/efl/fast/replaced/width100percent-textarea-expected.txt:
* platform/efl/fast/table/003-expected.png:
* platform/efl/fast/table/003-expected.txt:
* platform/efl/http/tests/navigation/javascriptlink-frames-expected.png:
* platform/efl/http/tests/navigation/javascriptlink-frames-expected.txt:

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

8 years agoWeb Inspector: XHR replay fixes: should remove replayed xhr from memory cache, should...
vsevik@chromium.org [Mon, 17 Sep 2012 13:27:45 +0000 (13:27 +0000)]
Web Inspector: XHR replay fixes: should remove replayed xhr from memory cache, should not assert.
https://bugs.webkit.org/show_bug.cgi?id=96904

Reviewed by Yury Semikhatsky.

Source/WebCore:

Replayed request is now removed from meory cache before replaying.
Request body is now set to 0 when it was not present in original request.

Test: http/tests/inspector/network/network-xhr-replay.html

* inspector/InspectorResourceAgent.cpp:
(WebCore::InspectorResourceAgent::replayXHR):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::sendFromInspector):

LayoutTests:

Re-enabled http/tests/inspector/network/network-xhr-replay.html test.

* http/tests/inspector/network/network-xhr-replay.html: Renamed from LayoutTests/http/tests/inspector/network/network-xhr-replay.html_disabled.

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

8 years agoAX: Regression (r126369) - toggle buttons no longer return accessible titles
commit-queue@webkit.org [Mon, 17 Sep 2012 12:52:19 +0000 (12:52 +0000)]
AX: Regression (r126369) - toggle buttons no longer return accessible titles
https://bugs.webkit.org/show_bug.cgi?id=94858

Patch by Alejandro Piñeiro <apinheiro@igalia.com> on 2012-09-17
Reviewed by Chris Fleizach.

Source/WebCore:

After the addition of the ToggleButtonRole some logic broke because some parts
of the code were assuming/waiting for a ButtonRole

Test: platform/gtk/accessibility/aria-toggle-button-with-title.html

* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::isImageButton): using
isButton instead of a ButtonRole comparison
(WebCore::AccessibilityNodeObject::isPressed): using isButton
instead of a ButtonRole comparison
(WebCore::AccessibilityNodeObject::actionElement):
ToggleButtonRole also contemplated in order to call or not toElement
(WebCore::AccessibilityNodeObject::title): ToggleButtonRole also
contemplated in order to call or not textUnderElement
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::actionVerb): buttonAction also
assigned to ToggleButtonRole
(WebCore::AccessibilityObject::isButton): isButton now returns
that an object is a button if it is a ButtonRole, a
PopUpButtonRole or a ToggleButtonRole
* accessibility/AccessibilityObject.h:
(AccessibilityObject): isButton is now implemented on the .c file
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::actionVerb): ToggleButtonRole
also returns a buttonAction

LayoutTests:

Added a test to verify that a toggle button exposes the title.

* accessibility/aria-toggle-button-with-title.html: Added.
* platform/chromium/accessibility/aria-toggle-button-with-title-expected.txt: Added.
* platform/gtk/accessibility/aria-toggle-button-with-title-expected.txt: Added.
* platform/mac/accessibility/aria-toggle-button-with-title-expected.txt: Added.

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

8 years ago[JSC] http/tests/security/cross-frame-access-put.html failing after r123145
commit-queue@webkit.org [Mon, 17 Sep 2012 12:48:30 +0000 (12:48 +0000)]
[JSC] http/tests/security/cross-frame-access-put.html failing after r123145
https://bugs.webkit.org/show_bug.cgi?id=91843

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-17
Reviewed by Adam Barth.

Since r123145, window.top is not longer replaceable in JSC, to bring it
in line with other browsers. The http/tests/security/cross-frame-access-put.html
now needs to be updated because it is still testing the window.top setter.

Thanks to this fix, we can now get rid of the platform-specific results for
ports using JSC.

* http/tests/security/cross-frame-access-put-expected.txt:
* http/tests/security/cross-frame-access-put.html:
* platform/chromium/http/tests/security/cross-frame-access-put-expected.txt:
* platform/efl/TestExpectations: Unskip test case.
* platform/gtk/http/tests/security/cross-frame-access-put-expected.txt: Removed.
* platform/mac/Skipped: Unskip test case.
* platform/qt/http/tests/security/cross-frame-access-put-expected.txt: Removed.

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

8 years agoWeb Inspector: Group selectors to highlight matched selector in the Styles pane of...
apavlov@chromium.org [Mon, 17 Sep 2012 12:46:57 +0000 (12:46 +0000)]
Web Inspector: Group selectors to highlight matched selector in the Styles pane of Elements Panel
https://bugs.webkit.org/show_bug.cgi?id=96626

Reviewed by Vsevolod Vlasov.

Source/WebCore:

Introduced evaluation of element.webkitMatchesSelector() for every part of a selector group (delimited by commas).
Non-matching selectors in groups are dimmed. If element styles have changed so that the element matches none of the selectors,
the entire group is rendered as matched.

* inspector/front-end/StylesSidebarPane.js:
(WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate.markCallback):
(WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
(WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
(WebInspector.StylePropertiesSection):
(WebInspector.StylePropertiesSection.prototype._markMatchedSelectorsInGroup.mycallback):
(WebInspector.StylePropertiesSection.prototype._markMatchedSelectorsInGroup.trim):
(WebInspector.StylePropertiesSection.prototype._markMatchedSelectorsInGroup.resolvedCallback):
(WebInspector.StylePropertiesSection.prototype._markMatchedSelectorsInGroup):
(WebInspector.StylePropertiesSection.prototype._markMatchedSelectorsInGroup.matchesCallback):
(WebInspector.StylePropertiesSection.prototype.startEditingSelector):
(WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector.markCallback):
(WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
(WebInspector.StylePropertiesSection.prototype.editingSelectorCancelled):
* inspector/front-end/elementsPanel.css:
(.styles-section .selector):
(.styles-section .selector-matches):

LayoutTests:

* http/tests/inspector/elements-test.js:
(initialize_ElementTest.InspectorTest.dumpSelectedElementStyles.buildMarkedSelectors):
(initialize_ElementTest.InspectorTest.dumpSelectedElementStyles): Let tests get matched selector markings in dumped data
* inspector/styles/styles-add-new-rule-expected.txt:
* inspector/styles/styles-add-new-rule.html:

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

8 years ago[EFL] Unskip css3/flexbox/anonymous-block.html test case
commit-queue@webkit.org [Mon, 17 Sep 2012 12:45:44 +0000 (12:45 +0000)]
[EFL] Unskip css3/flexbox/anonymous-block.html test case
https://bugs.webkit.org/show_bug.cgi?id=96909

Unreviewed EFL gardening.

Unskip css3/flexbox/anonymous-block.html for EFL port
now that it has been fixed in r121687.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-17

* platform/efl/TestExpectations:

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

8 years agoUnreviewed single line fix for mac chromium canary bot.
loislo@chromium.org [Mon, 17 Sep 2012 12:37:31 +0000 (12:37 +0000)]
Unreviewed single line fix for mac chromium canary bot.

* tests/MemoryInstrumentationTest.cpp:
(WebCore::TEST):

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

8 years ago[Qt] Remove 'using namespace WebCore' from header file
vestbo@webkit.org [Mon, 17 Sep 2012 09:55:29 +0000 (09:55 +0000)]
[Qt] Remove 'using namespace WebCore' from header file

Broke the build on Mac OS X by causing clashes between Fixed from
/usr/include/MacTypes.h and Source/WebCore/platform/Length.h.

Reviewed by Simon Hausmann.

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

8 years agoUnreviewed compilation fix.
loislo@chromium.org [Mon, 17 Sep 2012 09:50:16 +0000 (09:50 +0000)]
Unreviewed compilation fix.

* wtf/MemoryInstrumentation.h:
(WTF::MemoryInstrumentation::reportObjectMemoryUsage):

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Mon, 17 Sep 2012 09:44:39 +0000 (09:44 +0000)]
Unreviewed GTK gardening.

Adding a platform-specific baseline required after r128376.

* platform/gtk/accessibility/svg-image-expected.txt: Added.

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

8 years agoWeb Inspector: automatically detect if class has reportMemoryUsage method
loislo@chromium.org [Mon, 17 Sep 2012 09:44:22 +0000 (09:44 +0000)]
Web Inspector: automatically detect if class has reportMemoryUsage method
https://bugs.webkit.org/show_bug.cgi?id=96756

Patch by Yury Semikhatsky <yurys@chromium.org> on 2012-09-15
Reviewed by Alexander Pavlov.

Source/WebKit/chromium:

Test that reportMemoryUsage method will be called on the instrumented object
even if it is a template.

* tests/MemoryInstrumentationTest.cpp:
(WebCore):
(InstrumentedTemplate):
(WebCore::InstrumentedTemplate::InstrumentedTemplate):
(WebCore::InstrumentedTemplate::reportMemoryUsage):
(WebCore::TEST):

Source/WTF:

Implemeted automatic selector of the memory reporting method. If
an object has reportMemoryUsage method then call it. Otherwise
count only object's self size. As the next step we will delete
addInstrumentedMember and addInstrumentedObjectImpl and will
have only addMember and addObjectImpl that would automatically
call reportMemoryUsage if it is present.

* wtf/MemoryInstrumentation.h:
(WTF::MemoryInstrumentation::selectInstrumentationMethod):
(MemoryInstrumentation):
(WTF::MemoryInstrumentation::reportObjectMemoryUsage):
(WTF::MemoryInstrumentation::addInstrumentedObjectImpl):
(WTF::MemoryInstrumentation::addObjectImpl):
(WTF::::process):

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

8 years ago[Qt] Inspector WebSocket backend protocol update
commit-queue@webkit.org [Mon, 17 Sep 2012 09:37:51 +0000 (09:37 +0000)]
[Qt] Inspector WebSocket backend protocol update
https://bugs.webkit.org/show_bug.cgi?id=77031

Also adds support for multi-frame messages and non-text messages.
Thanks to Jocelyn Turcotte for most of the WebSocket update code!

Patch by Leo Franchi <lfranchi@kde.org> on 2012-09-17
Reviewed by Simon Hausmann.

* WebCoreSupport/InspectorServerQt.cpp:
(WebCore):
(WebCore::generateWebSocketChallengeResponse):
(WebCore::InspectorServerRequestHandlerQt::tcpReadyRead):
(WebCore::InspectorServerRequestHandlerQt::webSocketSend):
(WebCore::applyMask):
(WebCore::InspectorServerRequestHandlerQt::webSocketReadyRead):
* WebCoreSupport/InspectorServerQt.h:
(InspectorServerRequestHandlerQt):

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

8 years agoDon't GC img elements blocked by CSP until error events fire.
commit-queue@webkit.org [Mon, 17 Sep 2012 09:05:13 +0000 (09:05 +0000)]
Don't GC img elements blocked by CSP until error events fire.
https://bugs.webkit.org/show_bug.cgi?id=94677

Patch by Mike West <mkwst@chromium.org> on 2012-09-17
Reviewed by Jochen Eisinger.

Source/WebCore:

Currently, the GC checks that no load events are pending for an image
element before reclaiming its memory. It's not, however, checking that
error events are taken care of. This leads to the potential of firing an
event on a DOM element that we've already collected. That's a Bad Thing.

This patch adjusts the check to catch error events as well as load
events, which should ensure that the element isn't collected until it's
really ready. As a drive-by, it also changes the name of the check to
'hasPendingActivity' from 'hasPendingLoadEvent' for clarity.

http/tests/security/contentSecurityPolicy/register-bypassing-scheme.html
should no longer crash, and the new
http/tests/security/contentSecurityPolicy/img-blocked-no-gc-crash.html
and fast/events/onerror-img-after-gc.html shouldn't crash either.

Tests: fast/events/onerror-img-after-gc.html
       http/tests/security/contentSecurityPolicy/img-blocked-no-gc-crash.html

* bindings/v8/V8GCController.cpp:
(WebCore::calculateGroupId):
    Switch to using ImageLoader::hasPendingActivity().
* html/HTMLImageElement.h:
(WebCore::HTMLImageElement::hasPendingActivity):
    Switch to using ImageLoader::hasPendingActivity().
* loader/ImageLoader.h:
(WebCore::ImageLoader::hasPendingActivity):
    Added a check against pending error events in order to ensure that
    elements aren't garbage collected prematurely. Aslo renamed from
    ImageLoader::hasPendingLoadEvent for clarity.
* svg/SVGImageElement.cpp:
(WebCore::SVGImageElement::haveLoadedRequiredResources):
    Switch to using ImageLoader::hasPendingActivity().

LayoutTests:

* fast/events/onerror-img-after-gc.html:
* fast/events/onerror-img-after-gc-expected.txt:
* http/tests/security/contentSecurityPolicy/img-blocked-no-gc-crash.html:
* http/tests/security/contentSecurityPolicy/img-blocked-no-gc-crash-expected.txt:
    Explicitly triggering GC before the error in the hopes of proving
    that we don't crash anymore.
* platform/gtk/TestExpectations:
* platform/qt/Skipped:
    Unskipping no-longer-crashing test.

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

8 years agoSource/WebCore: Make SVGPathSegList.appendItem O(1) instead of O(n)
pdr@google.com [Mon, 17 Sep 2012 08:56:04 +0000 (08:56 +0000)]
Source/WebCore: Make SVGPathSegList.appendItem O(1) instead of O(n)
https://bugs.webkit.org/show_bug.cgi?id=94048

Reviewed by Nikolas Zimmermann.

Paths in SVG can be specified with a String (with the d attribute) or
with an SVGPathSegList. In SVGPathElement a single representation is
maintained: an SVGPathByteStream. To keep the byte stream synchronized with
the d attribute and the PathSegList, this byte stream is
rebuilt on every operation. As a result, any modification to the
path is an O(n) operation.

This patch takes advantage of the stream aspect of SVGPathByteStream
to make SVGPathSegList.append an O(1) operation instead of O(n).
When an SVGPathSeg is appended to an SVGPathSegList, this patch parses
the SVGPathSeg and directly appends the resulting bytes to the
byte stream.

To achieve this some plumbing has been added to pass more information
about the actual path changes from the SVGPathSegListTearOff to the
SVGPathElement: instead of the generic commitChange() this patch adds
commitChange(ListModification type). If we decide to change our
internal path data structure in the future, this additional commitChange
function can be used to pass the information needed to make
SVGPathSegList synchronization faster.

SVG Path Benchmark (http://bl.ocks.org/1296930) showing just the
appendItem() time used in building a 5000 segment path (avg of 3 runs):
WebKit without patch: 562 ms
Firefox 18.01a:       55 ms
Opera 12.50 internal: 27 ms
WebKit with patch:    7 ms

Test: perf/svg-path-appenditem.html

    This test proves the claim: SVGPathSegList.appendItem is now O(1).
    Additional tests that appendItem works are covered with existing tests.

* svg/SVGPathByteStream.h:
(WebCore::SVGPathByteStream::append):

    This additional append method allows an SVGPathByteStream to be
    appended to another.

* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::pathSegListChanged):

    By passing the extra ListModification type to pathSegListChanged,
    SVGPathElement is now able to only synchronize the parts of the byte stream
    that actually changed. In this patch only append is treated
    differently but one can imagine other performance improvements this
    additional information allows.

* svg/SVGPathElement.h:
(SVGPathElement):
* svg/SVGPathParser.cpp:
(WebCore::SVGPathParser::parsePathDataFromSource):

    During normal SVGPathSegList parsing we enforce that the path start with a moveto
    command. This function has been expanded to make that optional so that parsing
    can be performed elsewhere in the path (e.g., in the middle).

* svg/SVGPathParser.h:
(SVGPathParser):
* svg/SVGPathSegList.cpp:
(WebCore::SVGPathSegList::commitChange):
* svg/SVGPathSegList.h:
(SVGPathSegList):
* svg/SVGPathSegWithContext.h:
(WebCore::SVGPathSegWithContext::commitChange):
* svg/SVGPathUtilities.cpp:
(WebCore::appendSVGPathByteStreamFromSVGPathSeg):

    This function reuses the SVGPathSegList parsing infrastructure
    to parse an SVGPathSegList with just the single SVGPathSeg that
    is being appended. The resulting byte stream can then be appended
    to the result path byte stream.

(WebCore):
* svg/SVGPathUtilities.h:
(WebCore):
* svg/properties/SVGListProperty.h:
(WebCore::SVGListProperty::appendItemValues):
(WebCore::SVGListProperty::appendItemValuesAndWrappers):
(WebCore::SVGListProperty::commitChange):
(SVGListProperty):
* svg/properties/SVGPathSegListPropertyTearOff.h:
(WebCore::SVGPathSegListPropertyTearOff::commitChange):
(SVGPathSegListPropertyTearOff):

LayoutTests: Make SVGPathSegList.append O(1) instead of O(n)
https://bugs.webkit.org/show_bug.cgi?id=94048

Reviewed by Nikolas Zimmermann.

Add performance test to prove this patch works. The rest of SVGPathSegList.append should be covered
in existing tests.

* perf/svg-path-appenditem-expected.txt: Added.
* perf/svg-path-appenditem.html: Added.

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

8 years ago[EFL] Add baseline for text/shaping tests
commit-queue@webkit.org [Mon, 17 Sep 2012 08:16:56 +0000 (08:16 +0000)]
[EFL] Add baseline for text/shaping tests
https://bugs.webkit.org/show_bug.cgi?id=96902

Unreviewed EFL gardening.

Add baseline for text/shaping test cases and unskip
them for EFL port now that the issue has been fixed
in r122562.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-17

* platform/efl/TestExpectations:
* platform/efl/fast/text/shaping/shaping-script-order-expected.png: Added.
* platform/efl/fast/text/shaping/shaping-script-order-expected.txt: Added.
* platform/efl/fast/text/shaping/shaping-selection-rect-expected.png: Added.
* platform/efl/fast/text/shaping/shaping-selection-rect-expected.txt: Added.

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

8 years ago[EFL] fast/multicol/span/generated-child-split-flow-crash.html fails
commit-queue@webkit.org [Mon, 17 Sep 2012 08:05:35 +0000 (08:05 +0000)]
[EFL] fast/multicol/span/generated-child-split-flow-crash.html fails
https://bugs.webkit.org/show_bug.cgi?id=88031

Unreviewed EFL gardening.

Add platform specific expectation for fast/multicol/span/generated-child-split-flow-crash.html.
Several other ports are doing the same already and the pixel test
already passes anyway.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-17

* platform/efl/TestExpectations:
* platform/efl/fast/multicol/span/generated-child-split-flow-crash-expected.txt: Added.

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Mon, 17 Sep 2012 07:45:43 +0000 (07:45 +0000)]
Unreviewed GTK gardening.

Removing stale expectations for already fixed regressions.

Adding two failure expectations for tests added in r128645 and r128713.

Rebaselining fast/css/word-space-extra.html after r128692.

* platform/gtk/TestExpectations:
* platform/gtk/fast/css/word-space-extra-expected.txt:

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

8 years agoWeb Inspector: OwnPtr and RefPtr reported by pointer can be double counted by the...
yurys@chromium.org [Mon, 17 Sep 2012 07:43:29 +0000 (07:43 +0000)]
Web Inspector: OwnPtr and RefPtr reported by pointer can be double counted by the memory instrumentation
https://bugs.webkit.org/show_bug.cgi?id=96791

Reviewed by Alexander Pavlov.

Source/WebKit/chromium:

Test that pointers to RefPtr and OwnPtr won't be double counted by
the memory instrumentation.

* tests/MemoryInstrumentationTest.cpp:
(WebCore):
(TwoPointersToRefPtr):
(WebCore::TwoPointersToRefPtr::TwoPointersToRefPtr):
(WebCore::TwoPointersToRefPtr::reportMemoryUsage):
(WebCore::TEST):
(TwoPointersToOwnPtr):
(WebCore::TwoPointersToOwnPtr::TwoPointersToOwnPtr):
(WebCore::TwoPointersToOwnPtr::reportMemoryUsage):

Source/WTF:

* wtf/MemoryInstrumentation.h:
(WTF::MemoryInstrumentation::addObjectImpl): check if the smart pointer has already
been visited before counting its size.

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

8 years ago[EFL] Several CSS tests need rebaseline after r126911
commit-queue@webkit.org [Mon, 17 Sep 2012 07:13:00 +0000 (07:13 +0000)]
[EFL] Several CSS tests need rebaseline after r126911
https://bugs.webkit.org/show_bug.cgi?id=96898

Unreviewed EFL gardening.

Rebaseline 3 CSS tests due to r126911.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-17

* platform/efl/TestExpectations:
* platform/efl/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.png:
* platform/efl/fast/css/absolute-child-with-percent-height-inside-relative-parent-expected.txt: Added.
* platform/efl/fast/inline/absolute-positioned-inline-in-centred-block-expected.png:
* platform/efl/fast/inline/absolute-positioned-inline-in-centred-block-expected.txt: Added.
* platform/efl/fast/inline/left-right-center-inline-alignment-in-ltr-and-rtl-blocks-expected.png:
* platform/efl/fast/inline/left-right-center-inline-alignment-in-ltr-and-rtl-blocks-expected.txt: Added.

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

8 years ago[EFL] Skip http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body...
commit-queue@webkit.org [Mon, 17 Sep 2012 06:44:12 +0000 (06:44 +0000)]
[EFL] Skip http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html
https://bugs.webkit.org/show_bug.cgi?id=96895

Unreviewed EFL gardening.

Skip http/tests/security/XFrameOptions/x-frame-options-deny-meta-tag-in-body.html for
EFL port since it sometimes asserts in MessagePort::contextDestroyed.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-16

* platform/efl/TestExpectations:

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

8 years ago[EFL][WK2] Mark inspector/elements/delete-from-document.html as flaky
commit-queue@webkit.org [Mon, 17 Sep 2012 06:42:05 +0000 (06:42 +0000)]
[EFL][WK2] Mark inspector/elements/delete-from-document.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=96897

Unreviewed EFL gardening.

Mark inspector/elements/delete-from-document.html as flaky.
It sometimes times out of the WK2-EFL bot.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-16

* platform/efl-wk2/TestExpectations:

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

8 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Mon, 17 Sep 2012 06:38:44 +0000 (06:38 +0000)]
Unreviewed.  Rolled DEPS.

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

* DEPS:

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

8 years agoChromium win build fix - listing a file that doesn't exist is a fatal errors in the...
jamesr@google.com [Mon, 17 Sep 2012 04:41:11 +0000 (04:41 +0000)]
Chromium win build fix - listing a file that doesn't exist is a fatal errors in the msvs gyp generator.

* WebCore.gypi:

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

8 years agoUnreviewed gardening. Rebaseline after r128691
shinyak@chromium.org [Mon, 17 Sep 2012 04:00:48 +0000 (04:00 +0000)]
Unreviewed gardening. Rebaseline after r128691
https://bugs.webkit.org/show_bug.cgi?id=96892

Rebaseline fast/css/word-space-extra.html for chromium.

* platform/chromium-linux/fast/css/word-space-extra-expected.txt: Added.

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

8 years agoFixed a typo in the last entry noticed by Eric Seidel.
mitz@apple.com [Sun, 16 Sep 2012 23:38:18 +0000 (23:38 +0000)]
Fixed a typo in the last entry noticed by Eric Seidel.

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

8 years agoREGRESSION (r126763): css1/pseudo/firstline.html fails when using the complex text...
mitz@apple.com [Sun, 16 Sep 2012 23:36:41 +0000 (23:36 +0000)]
REGRESSION (r126763): css1/pseudo/firstline.html fails when using the complex text code path
https://bugs.webkit.org/show_bug.cgi?id=96890

Reviewed by Sam Weinig.

Source/WebCore:

Test: fast/text/stale-TextLayout-from-first-line.html

When a first-line style specifies a font, different pieces of the same RednerText can be
laid out using different fonts, requiring a differet TextLayout for each piece.

* rendering/RenderBlock.h:
(RenderTextInfo): Added m_font data member.
* rendering/RenderBlockLineLayout.cpp:
(WebCore::RenderBlock::RenderTextInfo::RenderTextInfo): Added initializer for new data member.
(WebCore::RenderBlock::LineBreaker::nextLineBreak): Added code to update the text layout in
renderTextInfo if the font has changed.

LayoutTests:

* fast/text/stale-TextLayout-from-first-line-expected.html: Added.
* fast/text/stale-TextLayout-from-first-line.html: Added.

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

8 years ago[GTK] Missing dllexport causing linking errors on Windows platform
commit-queue@webkit.org [Sun, 16 Sep 2012 22:54:24 +0000 (22:54 +0000)]
[GTK] Missing dllexport causing linking errors on Windows platform
https://bugs.webkit.org/show_bug.cgi?id=96888

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-09-16
Reviewed by Kentaro Hara.

Define BUILDING_WebCore during the build to properly mark
FrameDestructionObserver symbols with __declspec(dllexport) attribute.

* GNUmakefile.am:

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

8 years ago[EFL] Skip fast/loader/display-image-unset-can-block-image-and-can-reload-in-place...
commit-queue@webkit.org [Sun, 16 Sep 2012 16:57:48 +0000 (16:57 +0000)]
[EFL] Skip fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html
https://bugs.webkit.org/show_bug.cgi?id=96884

Unreviewed EFL gardening.

Skip fast/loader/display-image-unset-can-block-image-and-can-reload-in-place.html
because EFL's DRT does not support overriding 'WebKitDisplayImagesKey'
preference yet.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-16

* platform/efl-wk1/TestExpectations:

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

8 years ago[EFL] Update TestExpectations for tests requiring plugins support
commit-queue@webkit.org [Sun, 16 Sep 2012 15:21:38 +0000 (15:21 +0000)]
[EFL] Update TestExpectations for tests requiring plugins support
https://bugs.webkit.org/show_bug.cgi?id=96882

Unreviewed EFL gardening.

Regroup all test requiring plugins support in TestExpectation file
and update their bug number.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-16

* platform/efl/Skipped:
* platform/efl/TestExpectations:

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

8 years ago[EFL] Mark inspector/debugger/dynamic-script-tag.html as flaky
commit-queue@webkit.org [Sun, 16 Sep 2012 15:03:56 +0000 (15:03 +0000)]
[EFL] Mark inspector/debugger/dynamic-script-tag.html as flaky
https://bugs.webkit.org/show_bug.cgi?id=96887

Unreviewed EFL gardening.

Mark inspector/debugger/dynamic-script-tag.html as flaky
in EFL's TestExpectations.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-16

* platform/efl/TestExpectations:

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

8 years ago[EFL] 3 spatial navigation tests can be unskipped after r128644
commit-queue@webkit.org [Sun, 16 Sep 2012 14:52:26 +0000 (14:52 +0000)]
[EFL] 3 spatial navigation tests can be unskipped after r128644
https://bugs.webkit.org/show_bug.cgi?id=96880

Unreviewed EFL gardening.

Unskip 3 spatial navigation tests that have been fixed in r128644.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-16

* platform/efl/TestExpectations:

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

8 years ago[EFL] Skip fast/events/message-port-constructor-for-deleted-document.html
commit-queue@webkit.org [Sun, 16 Sep 2012 14:46:01 +0000 (14:46 +0000)]
[EFL] Skip fast/events/message-port-constructor-for-deleted-document.html
https://bugs.webkit.org/show_bug.cgi?id=96885

Unreviewed EFL gardening.

Causes assertion failure in MessagePort::contextDestroyed in
http/tests/security/MessagePort/event-listener-context.html, usually
attributed to later tests. We need to skip the test for now.

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-09-16

* platform/efl/TestExpectations:

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

8 years agoJSObject.cpp and JSArray.cpp have inconsistent tests for the invalid array index...
fpizlo@apple.com [Sun, 16 Sep 2012 07:22:46 +0000 (07:22 +0000)]
JSObject.cpp and JSArray.cpp have inconsistent tests for the invalid array index case
https://bugs.webkit.org/show_bug.cgi?id=96878

Reviewed by Sam Weinig.

Removed the uses of UNLIKELY() because I don't believe they are buying us anything,
since we're already on the slow path. Also found other places where we're testing for
the invalid array index case using unusual predicates rather than just using
MAX_ARRAY_INDEX. With this change, I believe that all of our tests for invalid
array indices (i.e. indices that should be treated as non-indexed properties)
uniformly use MAX_ARRAY_INDEX and PropertyName::NotAnIndex.

* runtime/JSArray.cpp:
(JSC::JSArray::push):
* runtime/JSObject.cpp:
(JSC::JSObject::putByIndex):
(JSC::JSObject::defineOwnIndexedProperty):

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

8 years agoFollowing the Butterfly refactoring, the comment for lastArraySize was not updated
fpizlo@apple.com [Sun, 16 Sep 2012 06:20:32 +0000 (06:20 +0000)]
Following the Butterfly refactoring, the comment for lastArraySize was not updated
https://bugs.webkit.org/show_bug.cgi?id=96877

Reviewed by Sam Weinig.

* runtime/JSObject.cpp:
(JSC):

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

8 years agoFixed JSLock to use the platform abstraction for Mutex instead of
mark.lam@apple.com [Sun, 16 Sep 2012 06:08:18 +0000 (06:08 +0000)]
Fixed JSLock to use the platform abstraction for Mutex instead of
depending on pthreads.
https://bugs.webkit.org/show_bug.cgi?id=96858.

Reviewed by Filip Pizlo.

This fixes a synchronization problem on the Windows port and makes
it more reliable when running the layout tests.

* runtime/InitializeThreading.cpp:
(JSC::initializeThreadingOnce):
* runtime/JSLock.cpp:
(JSC):
(JSC::GlobalJSLock::GlobalJSLock):
(JSC::GlobalJSLock::~GlobalJSLock):
(JSC::GlobalJSLock::initialize):
* runtime/JSLock.h:
(GlobalJSLock):
(JSLock):

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

8 years agoSource/WebCore: Pause inspector when inline scripts are blocked by Content Security...
commit-queue@webkit.org [Sun, 16 Sep 2012 05:17:36 +0000 (05:17 +0000)]
Source/WebCore: Pause inspector when inline scripts are blocked by Content Security Policy.
https://bugs.webkit.org/show_bug.cgi?id=93865

Patch by Mike West <mkwst@chromium.org> on 2012-09-15
Reviewed by Pavel Feldman.

When Content Security Policy blocks an inline script that's been
injected after the document is parsed, a fairly unhelpful console
warning is generated; it points at line 1, regardless of where the error
occurred. This patch adjusts CSP to not only warn on the console, but
also to notify the inspector that it should pause execution if the
developer has toggled "Break on Exceptions". Developers will have a
better chance of tracking down the error, as they'll have a complete
call stack to work with.

Tests: inspector/debugger/debugger-pause-on-blocked-event-handler.html
       inspector/debugger/debugger-pause-on-blocked-script-injection.html
       inspector/debugger/debugger-pause-on-blocked-script-url.html

* English.lproj/localizedStrings.js:
    Adding localizable string for the new friendly pause message.
* inspector/Inspector.json:
    Add CSPViolation as a recognized reason for pausing execution.
* inspector/InspectorDebuggerAgent.cpp:
(WebCore::InspectorDebuggerAgent::scriptExecutionBlockedByCSP):
    Teach the InspectorDebuggerAgent about script blocking. If pause on
    exceptions is enabled, call 'InspectorDebuggerAgent::breakProgram',
    and pass in an error object with a description that points to CSP
    as the culprit.
(WebCore):
* inspector/InspectorDebuggerAgent.h:
(InspectorDebuggerAgent):
* inspector/InspectorInstrumentation.cpp:
(WebCore):
(WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSPImpl):
    Wire 'InspectorInstrumentation::scriptExecutionBlockedByCSP' to
    the InspectorDebuggerAgent backend.
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
(WebCore::InspectorInstrumentation::scriptExecutionBlockedByCSP):
    The public interface that should be kicked whenever CSP blocks
    script execution.
(WebCore):
* inspector/front-end/DebuggerModel.js:
    Add CSPViolation as a recognized reason for pausing execution.
* inspector/front-end/ScriptsPanel.js:
    Add a friendly call stack status message for CSP violations.
* page/ContentSecurityPolicy.cpp:
(CSPDirectiveList):
(WebCore::CSPDirectiveList::checkNonceAndReportViolation):
    If script is blocked because the nonce doesn't match, report the
    blocked script to the inspector.
(WebCore::CSPDirectiveList::checkInlineAndReportViolation):
    If inline script is blocked, report the blocked script to the
    inspector. This requires adding a bool parameter to differentiate
    blocking inline script from inline style.
(WebCore::CSPDirectiveList::allowJavaScriptURLs):
    Tell 'checkInlineAndReportViolation' that we're dealing with script.
(WebCore::CSPDirectiveList::allowInlineEventHandlers):
    Tell 'checkInlineAndReportViolation' that we're dealing with script.
(WebCore::CSPDirectiveList::allowInlineScript):
    Tell 'checkInlineAndReportViolation' that we're dealing with script.
(WebCore::CSPDirectiveList::allowInlineStyle):
    Tell 'checkInlineAndReportViolation' that we're not dealing with script.
(WebCore::ContentSecurityPolicy::reportBlockedScriptExecutionToInspector):
    Public interface for the various CSP* classes to poke the inspector.
(WebCore):
* page/ContentSecurityPolicy.h:

LayoutTests: Break on inline scripts blocked by CSP.
https://bugs.webkit.org/show_bug.cgi?id=93865

Patch by Mike West <mkwst@chromium.org> on 2012-09-15
Reviewed by Pavel Feldman.

* inspector/debugger/debugger-pause-on-blocked-event-handler-expected.txt: Added.
* inspector/debugger/debugger-pause-on-blocked-event-handler.html: Added.
* inspector/debugger/debugger-pause-on-blocked-script-injection-expected.txt: Added.
* inspector/debugger/debugger-pause-on-blocked-script-injection.html: Added.
* inspector/debugger/debugger-pause-on-blocked-script-url-expected.txt: Added.
* inspector/debugger/debugger-pause-on-blocked-script-url.html: Added.
* inspector/debugger/resources/pause-on-blocked-by-csp.js: Added.
(test.setStatus):
(test.step1):
(test.step2):
(test):
* inspector/debugger/resources/pause-on-blocked-event-handler.js: Added.
(testAction):
* inspector/debugger/resources/pause-on-blocked-script-injection.js: Added.
(testAction):
* inspector/debugger/resources/pause-on-blocked-script-url.js: Added.
(testAction):

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

8 years ago<use> not working when the SVG doc is embedded as <object> data
fmalita@chromium.org [Sun, 16 Sep 2012 05:03:43 +0000 (05:03 +0000)]
<use> not working when the SVG doc is embedded as <object> data
https://bugs.webkit.org/show_bug.cgi?id=96816

Reviewed by Dirk Schulze.

Source/WebCore:

Updated SVGURIReference::isExternalURIReference() to correctly classify fragment-only URIs.
Also, since the fragment-only test is cheap, it should be the first thing to try.

Test: svg/custom/object-data-href.html

* svg/SVGURIReference.h:
(WebCore::SVGURIReference::isExternalURIReference):

LayoutTests:

* svg/custom/object-data-href-expected.html: Added.
* svg/custom/object-data-href.html: Added.

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

8 years agoFix the build with WTF URL
benjamin@webkit.org [Sun, 16 Sep 2012 04:34:58 +0000 (04:34 +0000)]
Fix the build with WTF URL
https://bugs.webkit.org/show_bug.cgi?id=96875

Reviewed by Adam Barth.

Source/WebCore:

Fix reportMemoryUsage, the implementation was only partial.

* WebCore.exp.in: Export two more symbols as needed by API tests.
* platform/KURLWTFURL.cpp:
(WebCore::KURL::string): emptyString() return a reference,
it makes more sense than nullAtom() here.
* platform/KURLWTFURLImpl.h:
(WebCore::KURLWTFURLImpl::reportMemoryUsage):

Source/WTF:

Add support for MemoryInstrumentation to WTF's URL classes.

* wtf/url/api/ParsedURL.cpp:
(WTF::ParsedURL::reportMemoryUsage):
* wtf/url/api/ParsedURL.h:
(ParsedURL):
* wtf/url/api/URLString.cpp:
(WTF::URLString::reportMemoryUsage):
* wtf/url/api/URLString.h:
(URLString):

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

8 years agoAdd ClipPathOperation for -webkit-clip-path organization
krit@webkit.org [Sun, 16 Sep 2012 04:24:24 +0000 (04:24 +0000)]
Add ClipPathOperation for -webkit-clip-path organization
https://bugs.webkit.org/show_bug.cgi?id=95619

Reviewed by Dean Jackson.

This patch adds a new class ClipPathOperation to manage the values of the
-webkit-clip-path property. ClipPathOperation stores a Path object for clipping and is
a preparation for IRI references of the SVG 'clipPath' element.

The structure of ClipPathOperation is simular to FilterOperation.

ClipPathOperation will be extended to support IRI references directly in a second patch.

No new tests. The changes just affect the backend.

* GNUmakefile.list.am: Added new ClipPathOperation class.
* WebCore.gypi: Ditto.
* WebCore.vcproj/WebCore.vcproj: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* css/CSSComputedStyleDeclaration.cpp: Use ClipPathOperation instead of BasicShape.
(WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
* css/StyleBuilder.cpp: Ditto.
(WebCore):
(WebCore::ApplyPropertyClipPath::setValue):
(WebCore::ApplyPropertyClipPath::applyValue):
(WebCore::ApplyPropertyClipPath::createHandler):
* rendering/ClipPathOperation.h: Added. New handler for property values (BasicShape, references).
(WebCore):
(ClipPathOperation):
(WebCore::ClipPathOperation::~ClipPathOperation):
(WebCore::ClipPathOperation::operator!=):
(WebCore::ClipPathOperation::getOperationType): Return the operation type.
(WebCore::ClipPathOperation::isSameType): Helper function for =operator.
(WebCore::ClipPathOperation::ClipPathOperation):
(ShapeClipPathOperation): Inheriting class for managing BasicShapes.
(WebCore::ShapeClipPathOperation::create):
(WebCore::ShapeClipPathOperation::basicShape):
(WebCore::ShapeClipPathOperation::windRule):
(WebCore::ShapeClipPathOperation::path):
(WebCore::ShapeClipPathOperation::operator==):
(WebCore::ShapeClipPathOperation::ShapeClipPathOperation):
* rendering/RenderLayer.cpp: Use ClipPathOperation to apply clipping.
(WebCore::RenderLayer::paintLayerContents):
* rendering/style/RenderStyle.h:
* rendering/style/StyleRareNonInheritedData.h:
(StyleRareNonInheritedData):
* rendering/svg/SVGRenderingContext.cpp: Ditto.
(WebCore::SVGRenderingContext::prepareToRenderSVGContent):

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

8 years agoStructure check hoisting fails to consider the possibility of conflicting checks...
fpizlo@apple.com [Sun, 16 Sep 2012 02:36:22 +0000 (02:36 +0000)]
Structure check hoisting fails to consider the possibility of conflicting checks on the source of the first assignment to the hoisted variable
https://bugs.webkit.org/show_bug.cgi?id=96872

Reviewed by Oliver Hunt.

This does a few related things:

- It turns off the use of ForceOSRExit for sure-to-fail CheckStructures, because
  I noticed that this would sometimes happen for a ForwardCheckStructure. The
  problem is that ForceOSRExit exits backwards, not forwards. Since the code that
  led to those ForceOSRExit's being inserted was written out of paranoia rather
  than need, I removed it. Specifically, I removed the m_isValid = false code
  for CheckStructure/StructureTransitionWatchpoint in AbstractState.

- If a structure check causes a structure set to go empty, we don't want a
  PutStructure to revive the set. It should instead be smart enough to realize
  that an empty set implies that the code can't execute. This was the only "bug"
  that the use of m_isValid = false was preventing.

- Finally, the main change: structure check hoisting looks at the source of the
  SetLocals on structure-check-hoistable variables and ensures that the source
  is not checked with a conflicting structure. This is O(n^2) but it does not
  show up at all in performance tests.

The first two parts of this change were auxiliary bugs that were revealed by
the structure check hoister doing bad things.

* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::initialize):
(JSC::DFG::AbstractState::execute):
* dfg/DFGStructureCheckHoistingPhase.cpp:
(JSC::DFG::StructureCheckHoistingPhase::run):

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

8 years agoWinCairo build fix due to missing symbols for setImagesEnabled and setStorageBlocking...
commit-queue@webkit.org [Sat, 15 Sep 2012 23:31:05 +0000 (23:31 +0000)]
WinCairo build fix due to missing symbols for setImagesEnabled and setStorageBlockingPolicy
https://bugs.webkit.org/show_bug.cgi?id=96866

Patch by Vivek Galatage <vivekgalatage@gmail.com> on 2012-09-15
Reviewed by Kentaro Hara.

Adding missing symbol defines in the def file to fix the build break
for WinCairo

* win/WebKit2CFLite.def:

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

8 years agoREGRESSION(r127438): Google Docs to renders text too small.
kling@webkit.org [Sat, 15 Sep 2012 23:16:50 +0000 (23:16 +0000)]
REGRESSION(r127438): Google Docs to renders text too small.
<http://webkit.org/b/96554>

Reviewed by Antti Koivisto.

Source/WebCore:

Don't remove the inline StylePropertySet from ElementAttributeData in ~StyledElement.
This behavior broke sharing of ElementAttributeData between elements with inline style,
since destroying one element would effectively disable the inline style from all other
elements that shared the same attribute data.

What we actually want in ~StyledElement is to detach from any CSSOM wrapper that may
have been instantiated. Added ElementAttributeData::detachCSSOMWrapperIfNeeded for this
purpose and call that instead.

Test: fast/dom/shared-inline-style-after-node-removal.html

* dom/ElementAttributeData.cpp:
(WebCore::ElementAttributeData::detachCSSOMWrapperIfNeeded):
(WebCore::ElementAttributeData::destroyInlineStyle):
* dom/ElementAttributeData.h:
(ElementAttributeData):
* dom/StyledElement.cpp:
(WebCore::StyledElement::~StyledElement):
(WebCore::StyledElement::styleAttributeChanged):
* dom/StyledElement.h:
(StyledElement):

LayoutTests:

Add a test that an element that shared its inline style with another element works as expected
after the other element is destroyed.

* fast/dom/shared-inline-style-after-node-removal-expected.txt: Added.
* fast/dom/shared-inline-style-after-node-removal.html: Added.

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

8 years ago[GTK] Include missing header files in the tarball
commit-queue@webkit.org [Sat, 15 Sep 2012 22:59:03 +0000 (22:59 +0000)]
[GTK] Include missing header files in the tarball
https://bugs.webkit.org/show_bug.cgi?id=96860

Patch by Kalev Lember <kalevlember@gmail.com> on 2012-09-15
Reviewed by Kentaro Hara.

Build fix; dist two additional headers that are needed for building on
Windows platform.

* GNUmakefile.list.am:

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

8 years agollint: Implement LOCAL_LABEL_STRING for the BSD platforms.
rakuco@webkit.org [Sat, 15 Sep 2012 22:48:42 +0000 (22:48 +0000)]
llint: Implement LOCAL_LABEL_STRING for the BSD platforms.
https://bugs.webkit.org/show_bug.cgi?id=96870

Patch by Raphael Kubo da Costa <rakuco@FreeBSD.org> on 2012-09-15
Reviewed by Filip Pizlo.

* wtf/InlineASM.h: Extend the definition of LOCAL_LABEL_STRING
currently used for OS(LINUX) to the BSDs, since they also normally
use GNU as, and clang/llvm seems to parse that syntax just fine as
well.

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

8 years agoAdd 8 bit handling to SpaceSplitString
msaboff@apple.com [Sat, 15 Sep 2012 22:48:31 +0000 (22:48 +0000)]
Add 8 bit handling to SpaceSplitString
https://bugs.webkit.org/show_bug.cgi?id=96823

Reviewed by Sam Weinig.

Added templated functions based on character type to handle 8 and 16 bit string data.

* dom/SpaceSplitString.cpp:
(WebCore::hasNonASCIIOrUpper):
(WebCore::SpaceSplitStringData::createVector):
* dom/SpaceSplitString.h:
(SpaceSplitStringData):

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

8 years agoREGRESSION (r125578): The monospace code path in RenderText::widthFromCache disagrees...
mitz@apple.com [Sat, 15 Sep 2012 22:26:16 +0000 (22:26 +0000)]
REGRESSION (r125578): The monospace code path in RenderText::widthFromCache disagrees with Font::width on word spacing
https://bugs.webkit.org/show_bug.cgi?id=96869

Reviewed by Eric Seidel.

Source/WebCore:

Test: fast/text/word-space-monospace.html
This also fixes fast/css/word-spacing-characters.html

* rendering/RenderText.cpp:
(WebCore::RenderText::widthFromCache): Made the conditions for adding word spacing match the
ones in WidthIterator.

LayoutTests:

* fast/text/word-space-monospace-expected.html: Added.
* fast/text/word-space-monospace.html: Added.
* platform/mac/TestExpectations: Removed fast/css/word-spacing-characters.html.
* platform/mac/fast/css/word-space-extra-expected.png: Updated.
* platform/mac/fast/css/word-space-extra-expected.txt: Updated.

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

8 years agoREGRESSION (r125578): Word spacing not applied to newline and tab characters that...
mitz@apple.com [Sat, 15 Sep 2012 19:20:13 +0000 (19:20 +0000)]
REGRESSION (r125578): Word spacing not applied to newline and tab characters that are treated as spaces
https://bugs.webkit.org/show_bug.cgi?id=96865

Reviewed by Sam Weinig.

Source/WebCore:

Fixes fast/css/word-space-extra.html.

* platform/graphics/WidthIterator.cpp:
(WebCore::WidthIterator::advanceInternal): Changed back to apply word spacing to all characters
that are treated as spaces, except for tab characters when there are tab stops.
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::adjustGlyphsAndAdvances): Ditto.

LayoutTests:

* fast/text/atsui-negative-spacing-features.html: Reverted changes made in r128691, now that
both code paths handle newlines correctly.
* fast/text/atsui-spacing-features.html: Ditto.
* platform/mac/TestExpectations: Removed fast/css/word-space-extra.html.

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

8 years agoREGRESSION (r125578): The Mac complex text code path disagrees with the fast path...
mitz@apple.com [Sat, 15 Sep 2012 16:27:08 +0000 (16:27 +0000)]
REGRESSION (r125578): The Mac complex text code path disagrees with the fast path on word spacing
https://bugs.webkit.org/show_bug.cgi?id=96857

Reviewed by Anders Carlsson.

Source/WebCore:

Fixes the following tests when run with run-webkit-tests --complex-text:
css2.1/20110323/c541-word-sp-001.htm
css2.1/20110323/word-spacing-remove-space-002.htm
css2.1/20110323/word-spacing-remove-space-003.htm
css2.1/20110323/word-spacing-remove-space-004.htm
css2.1/20110323/word-spacing-remove-space-005.htm
css2.1/20110323/word-spacing-remove-space-006.htm

Fixes fast/css/word-spacing-characters-complex-text.html

* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::adjustGlyphsAndAdvances): Made the conditions for adding
word spacing match the ones in WidthIterator again.

LayoutTests:

* fast/text/atsui-negative-spacing-features.html: Removed some newlines from this test,
because now that the complex text code path matches the fast path, it too suffers from a bug
where word spacing is not added at a newline.
* fast/text/atsui-spacing-features.html: Ditto.
* platform/mac/TestExpectations: Removed fast/css/word-spacing-characters-complex-text.html.

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

8 years ago[EFL][WK2] Provide implementation for PageClientImpl::processDidCrash()
commit-queue@webkit.org [Sat, 15 Sep 2012 15:15:06 +0000 (15:15 +0000)]
[EFL][WK2] Provide implementation for PageClientImpl::processDidCrash()
https://bugs.webkit.org/show_bug.cgi?id=96197

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2012-09-15
Reviewed by Gyuyoung Kim.

WebKit2 EFL does not have an implementation for PageClientImpl::processDidCrash().
So when WebProcess has crashed, UI process does nothing and is left alone as it is.

This patch checks if loading was ongoing, if so, set the load progress as 1.
Then send a signal callback "webprocess,crashed" for an application to handle it.
If the application does not handle the crash event, show an Eina Log warning message
with a url at web process exit and load an error page.

* UIProcess/API/efl/PageClientImpl.cpp:
(WebKit::PageClientImpl::processDidCrash):
* UIProcess/API/efl/ewk_private.h:
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_webprocess_crashed):
* UIProcess/API/efl/ewk_view.h:
* UIProcess/API/efl/ewk_view_private.h:

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

8 years ago[Chromium] Update test expectation
tkent@chromium.org [Sat, 15 Sep 2012 09:02:19 +0000 (09:02 +0000)]
[Chromium] Update test expectation

* platform/chromium/TestExpectations:
Don't run an inspector test on Mac.

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

8 years ago[Qt] QDoc fixes for Qt 5 documentation
pierre.rossi@gmail.com [Sat, 15 Sep 2012 09:00:43 +0000 (09:00 +0000)]
[Qt] QDoc fixes for Qt 5 documentation
https://bugs.webkit.org/show_bug.cgi?id=96796

Reviewed by Simon Hausmann.

Source/WebKit/qt:

Produce fewer warnings and a better documentation.
Having two QML modules providing a WebView component is a bit too much for poor old qdoc to
cope with (or would require a lot of painful disambiguation by hand). Since the plan is to have
QDeclarativeWebView living in the qtquick1 module, we can already take it out of the
documentation generation for now.

* declarative/qdeclarativewebview.cpp: s/qmlclass/qmltype/ out of principle
* docs/qtwebkit.qdocconf: Remove the \i alias that caused a warning. Use *.h as headers suffix, not sources.
Also remove QDeclarativeWebView from the documentation.

Source/WebKit2:

Fixup miscellaneous qdoc commands syntax.

* UIProcess/API/qt/qquickwebview.cpp:
* UIProcess/API/qt/qwebloadrequest.cpp:

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

8 years agoUnreviewed, rolling out r128669.
tkent@chromium.org [Sat, 15 Sep 2012 08:55:26 +0000 (08:55 +0000)]
Unreviewed, rolling out r128669.
http://trac.webkit.org/changeset/128669
https://bugs.webkit.org/show_bug.cgi?id=96637

Broke http/tests/workers/text-encoding.html on Chromium Linux (dbg)

* bindings/v8/DOMData.cpp:
(WebCore::DOMData::getCurrentStore):
* bindings/v8/ScopedPersistent.h:
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::resetIsolatedWorlds):
(WebCore::ScriptController::evaluateInIsolatedWorld):
(WebCore::ScriptController::currentWorldContext):
* bindings/v8/V8Binding.cpp:
(WebCore::perContextDataForCurrentWorld):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::setIsolatedWorldField):
(WebCore::V8DOMWindowShell::enteredIsolatedWorldContext):
(WebCore::V8DOMWindowShell::destroyIsolatedShell):
(WebCore):
(WebCore::isolatedContextWeakCallback):
(WebCore::V8DOMWindowShell::disposeContext):
(WebCore::V8DOMWindowShell::initializeIfNeeded):
(WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
* bindings/v8/V8DOMWindowShell.h:
(V8DOMWindowShell):
(WebCore::V8DOMWindowShell::getEntered):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::getCachedWrapper):
* bindings/v8/WorldContextHandle.cpp:
(WebCore::WorldContextHandle::WorldContextHandle):
* bindings/v8/custom/V8DocumentCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8SVGDocumentCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
(WebCore::V8XMLHttpRequest::constructorCallback):

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

8 years ago[Qt][WK2] Unreviewed weekend gardening. Skip 4 new failing tests to paint the bot...
ossy@webkit.org [Sat, 15 Sep 2012 08:23:01 +0000 (08:23 +0000)]
[Qt][WK2] Unreviewed weekend gardening. Skip 4 new failing tests to paint the bot green.

* platform/qt-5.0-wk2/Skipped:

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

8 years ago[Qt] Unreviewed weekend gardening. Skip 2 new tests, because
ossy@webkit.org [Sat, 15 Sep 2012 08:01:19 +0000 (08:01 +0000)]
[Qt] Unreviewed weekend gardening. Skip 2 new tests, because
TestRunner::overridePreference() does not support the 'WebKitDisplayImagesKey' preference

* platform/qt/Skipped:

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

8 years agoRoll out r128682 since it broke the Mac release builds.
mrowe@apple.com [Sat, 15 Sep 2012 07:01:47 +0000 (07:01 +0000)]
Roll out r128682 since it broke the Mac release builds.

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

8 years agoAdd *explicit* keyword to constructors to WebKit2/UIProcess
gyuyoung.kim@samsung.com [Sat, 15 Sep 2012 06:14:39 +0000 (06:14 +0000)]
Add *explicit* keyword to constructors to WebKit2/UIProcess
https://bugs.webkit.org/show_bug.cgi?id=96732

Reviewed by Kentaro Hara.

As a step of *explicit* cleanup for constructors which have only one parameter,
*explicit* is added to WebKit2/UIProcess in order to avoid implicit type conversion.

* UIProcess/Authentication/AuthenticationDecisionListener.h:
(AuthenticationDecisionListener):
* UIProcess/Authentication/WebCredential.h:
(WebCredential):
* UIProcess/Authentication/WebProtectionSpace.h:
(WebProtectionSpace):
* UIProcess/GenericCallback.h:
(WebKit::CallbackBase::CallbackBase):
* UIProcess/InspectorServer/WebSocketServer.h:
* UIProcess/ResponsivenessTimer.h:
(ResponsivenessTimer):
* UIProcess/WebApplicationCacheManagerProxy.h:
(WebApplicationCacheManagerProxy):
* UIProcess/WebBackForwardList.h:
(WebBackForwardList):
* UIProcess/WebContextUserMessageCoders.h:
(WebKit::WebContextUserMessageEncoder::WebContextUserMessageEncoder):
* UIProcess/WebFullScreenManagerProxy.h:
(WebFullScreenManagerProxy):
* UIProcess/WebGrammarDetail.h:
(WebGrammarDetail):
* UIProcess/WebInspectorProxy.h:
(WebInspectorProxy):
* UIProcess/WebKeyValueStorageManagerProxy.h:
(WebKeyValueStorageManagerProxy):
* UIProcess/WebMediaCacheManagerProxy.h:
(WebMediaCacheManagerProxy):
* UIProcess/WebNavigationData.h:
(WebNavigationData):
* UIProcess/WebOpenPanelResultListenerProxy.h:
(WebOpenPanelResultListenerProxy):
* UIProcess/WebPopupMenuProxy.h:
(WebKit::WebPopupMenuProxy::WebPopupMenuProxy):
* UIProcess/WebPreferences.h:
(WebPreferences):

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

8 years agoWTFString::show doesn't dump non-ASCII characters in a readable manner
commit-queue@webkit.org [Sat, 15 Sep 2012 04:36:06 +0000 (04:36 +0000)]
WTFString::show doesn't dump non-ASCII characters in a readable manner
https://bugs.webkit.org/show_bug.cgi?id=96749

Patch by Glenn Adams <glenn@skynav.com> on 2012-09-14
Reviewed by Benjamin Poulain.

Dump non-ASCII characters in a useful form for debugging.

* wtf/text/WTFString.cpp:
(asciiDebug):
Dump non-ASCII characters (i.e., UTF-16 code elements) as well as non-printable ASCII characters
using \uXXXX format.

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

8 years agoUnreviewed gardening - more position:fixed stacking context rebaselines.
jamesr@google.com [Sat, 15 Sep 2012 04:18:44 +0000 (04:18 +0000)]
Unreviewed gardening - more position:fixed stacking context rebaselines.

* fast/block/positioning/016-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/fast/block/positioning/016-expected.txt.
* fast/block/positioning/025-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/fast/block/positioning/025-expected.txt.
* platform/chromium-linux/compositing/geometry/fixed-position-composited-switch-expected.txt: Removed.
* platform/chromium-linux/fast/block/positioning/fixed-position-stacking-context-expected.txt: Removed.
* platform/chromium-mac-snowleopard/compositing/geometry/fixed-position-composited-switch-expected.txt: Removed.
* platform/chromium-mac-snowleopard/fast/block/positioning/016-expected.txt: Removed.
* platform/chromium-mac-snowleopard/fast/block/positioning/025-expected.txt: Removed.
* platform/chromium-mac-snowleopard/fast/block/positioning/fixed-position-stacking-context-expected.txt: Removed.
* platform/chromium-mac/compositing/geometry/fixed-position-composited-switch-expected.txt: Removed.
* platform/chromium-mac/fast/block/positioning/016-expected.txt: Removed.
* platform/chromium-mac/fast/block/positioning/025-expected.txt: Removed.
* platform/chromium-mac/fast/block/positioning/fixed-position-stacking-context-expected.txt: Removed.
* platform/chromium-win/fast/block/positioning/016-expected.png: Renamed from LayoutTests/platform/chromium-linux/fast/block/positioning/016-expected.png.
* platform/chromium-win/fast/block/positioning/025-expected.png: Renamed from LayoutTests/platform/chromium-linux/fast/block/positioning/025-expected.png.
* platform/chromium-win/fast/block/positioning/fixed-position-stacking-context-expected.png: Renamed from LayoutTests/platform/chromium-linux/fast/block/positioning/fixed-position-stacking-context-expected.png.
* platform/chromium/compositing/geometry/fixed-position-composited-switch-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/compositing/geometry/fixed-position-composited-switch-expected.txt.
* platform/chromium/fast/block/positioning/016-expected.txt: Renamed from LayoutTests/platform/chromium-linux/fast/block/positioning/016-expected.txt.
* platform/chromium/fast/block/positioning/025-expected.txt: Renamed from LayoutTests/platform/chromium-linux/fast/block/positioning/025-expected.txt.
* platform/chromium/fast/block/positioning/fixed-position-stacking-context-expected.txt: Renamed from LayoutTests/platform/chromium-linux-x86/fast/block/positioning/fixed-position-stacking-context-expected.txt.
* platform/efl/fast/block/positioning/016-expected.txt: Removed.
* platform/efl/fast/block/positioning/025-expected.txt: Removed.
* platform/gtk/fast/block/positioning/016-expected.txt: Removed.
* platform/gtk/fast/block/positioning/025-expected.txt: Removed.
* platform/qt/fast/block/positioning/016-expected.txt: Removed.
* platform/qt/fast/block/positioning/025-expected.txt: Removed.

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

8 years agoAll of the things in SparseArrayValueMap should be out-of-line
fpizlo@apple.com [Sat, 15 Sep 2012 03:29:04 +0000 (03:29 +0000)]
All of the things in SparseArrayValueMap should be out-of-line
https://bugs.webkit.org/show_bug.cgi?id=96854

Reviewed by Andy Estes.

Those inline methods were buying us nothing.

* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* runtime/JSArray.cpp:
* runtime/JSGlobalData.cpp:
* runtime/JSObject.cpp:
* runtime/RegExpMatchesArray.cpp:
* runtime/SparseArrayValueMap.cpp:
(JSC::SparseArrayValueMap::SparseArrayValueMap):
(JSC):
(JSC::SparseArrayValueMap::~SparseArrayValueMap):
(JSC::SparseArrayValueMap::finishCreation):
(JSC::SparseArrayValueMap::create):
(JSC::SparseArrayValueMap::destroy):
(JSC::SparseArrayValueMap::createStructure):
(JSC::SparseArrayValueMap::add):
(JSC::SparseArrayValueMap::putEntry):
(JSC::SparseArrayValueMap::putDirect):
(JSC::SparseArrayEntry::get):
(JSC::SparseArrayEntry::getNonSparseMode):
(JSC::SparseArrayValueMap::visitChildren):
* runtime/SparseArrayValueMapInlineMethods.h: Removed.

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

8 years agoUnreviewed, rolling out r128673.
commit-queue@webkit.org [Sat, 15 Sep 2012 01:43:41 +0000 (01:43 +0000)]
Unreviewed, rolling out r128673.
http://trac.webkit.org/changeset/128673
https://bugs.webkit.org/show_bug.cgi?id=96847

Makes plugins/document-open.html crash (Requested by jamesr_
on #webkit).

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

* dom/ContainerNode.cpp:
(WebCore):
(WebCore::ContainerNode::insertBeforeCommon):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::removeBetween):
(WebCore::ContainerNode::removeChildren):
(WebCore::ContainerNode::appendChild):
(WebCore::ContainerNode::parserAddChild):
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):
* dom/ContainerNode.h:
* dom/ContainerNodeAlgorithms.h:
(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
(WebCore::ChildNodeInsertionNotifier::notify):
(WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):
* dom/Document.cpp:
(WebCore::Document::dispatchWindowEvent):
(WebCore::Document::dispatchWindowLoadEvent):
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchEvent):
* dom/EventTarget.cpp:
(WebCore):
(WebCore::forbidEventDispatch):
(WebCore::allowEventDispatch):
(WebCore::eventDispatchForbidden):
(WebCore::EventTarget::fireEventListeners):
* dom/EventTarget.h:
(WebCore):
(WebCore::forbidEventDispatch):
(WebCore::allowEventDispatch):
* dom/Node.cpp:
(WebCore::Node::dispatchSubtreeModifiedEvent):
(WebCore::Node::dispatchFocusInEvent):
(WebCore::Node::dispatchFocusOutEvent):
(WebCore::Node::dispatchDOMActivateEvent):
* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadInternal):

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=96846
bdakin@apple.com [Sat, 15 Sep 2012 01:38:05 +0000 (01:38 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=96846
Tests failing on WK2 bots after giving fixed positioning its own
stacking context

Reviewed by Geoffrey Garen.

Tests are failing because I checked in updated results that expect
fixed positioning to create a stacking context. However,
WebKitTestRunner does not enable ScrollingCoordinator, so the code
that I added to enable stacking contexts for fixedPos is never
actually running. This patch moves that code to a place where it will
run for the testing tools, which matches the patch for WK1.
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::updatePreferences):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):

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

8 years agoRevert r127457 and following fixes due to several hit-testing regressions
jchaffraix@webkit.org [Sat, 15 Sep 2012 01:24:30 +0000 (01:24 +0000)]
Revert r127457 and following fixes due to several hit-testing regressions
https://bugs.webkit.org/show_bug.cgi?id=96830

Reviewed by Antonio Gomes.

.:

This change reverts r127457, r127863 and r128505.

* Source/autotools/symbols.filter:

Source/WebCore:

This change reverts r127457, r127863 and r128505.

* WebCore.exp.in:
* WebCore.order:
* dom/Document.cpp:
(WebCore::Document::nodesFromRect):
* dom/Document.h:
(Document):
* page/EventHandler.cpp:
(WebCore::EventHandler::hitTestResultAtPoint):
* rendering/HitTestRequest.h:
* rendering/HitTestResult.cpp:
(WebCore::HitTestLocation::HitTestLocation):
* rendering/HitTestResult.h:
(HitTestLocation):
* rendering/RenderFrameBase.cpp:
* rendering/RenderFrameBase.h:
(RenderFrameBase):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::hitTest):
* testing/Internals.cpp:
(WebCore::Internals::nodesFromRect):
* testing/Internals.h:
(Internals):
* testing/Internals.idl:

Source/WebKit/chromium:

This change reverts r127457, r127863 and r128505.

* src/ContextMenuClientImpl.cpp:
(WebKit::ContextMenuClientImpl::getCustomMenuFromDefaultItems):

Source/WebKit2:

This change reverts r127457, r127863 and r128505.

* win/WebKit2.def:
* win/WebKit2CFLite.def:

LayoutTests:

This change reverts r127457, r127863 and r128505. As the tests relies on the extended API
after r127457, we cannot keep them.

* fast/dom/nodesFromRect/nodesFromRect-child-frame-content-expected.txt: Removed.
* fast/dom/nodesFromRect/nodesFromRect-child-frame-content.html: Removed.
* fast/dom/nodesFromRect/resources/child-frame.html: Removed.
* fast/dom/nodesFromRect/resources/nodesFromRect.js:
(check):
(checkShadowContent):
* touchadjustment/iframe-boundary-expected.txt: Removed.
* touchadjustment/iframe-boundary.html: Removed.
* touchadjustment/resources/inner-content-page.html: Removed.
* touchadjustment/resources/inner-navigation-frame.html: Removed.

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

8 years agoSkip image load tests that requires queueReload in WebKit2
commit-queue@webkit.org [Sat, 15 Sep 2012 01:22:06 +0000 (01:22 +0000)]
Skip image load tests that requires queueReload in WebKit2
https://bugs.webkit.org/show_bug.cgi?id=96832

Tests added in reivison 128645.

Patch by Bo Liu <boliu@chromium.org> on 2012-09-14
Reviewed by Adam Barth.

* platform/wk2/Skipped:

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

8 years agonrwt: --additional-platform-dir is broken on chromium ports
dpranke@chromium.org [Sat, 15 Sep 2012 00:43:07 +0000 (00:43 +0000)]
nrwt: --additional-platform-dir is broken on chromium ports
https://bugs.webkit.org/show_bug.cgi?id=96840

Reviewed by Ojan Vafai.

Looks like I broke this when cleaning things up as part of
adding ML support. Fixing and adding a test.

* Scripts/webkitpy/layout_tests/port/chromium.py:
(ChromiumPort.default_baseline_search_path):
* Scripts/webkitpy/layout_tests/port/chromium_android.py:
(ChromiumAndroidPort.default_baseline_search_path):
* Scripts/webkitpy/layout_tests/port/chromium_linux.py:
(ChromiumLinuxPort.default_baseline_search_path):
* Scripts/webkitpy/layout_tests/port/chromium_mac.py:
(ChromiumMacPort.__init__):
* Scripts/webkitpy/layout_tests/port/chromium_win.py:
(ChromiumWinPort.setup_environ_for_server):
* Scripts/webkitpy/layout_tests/port/port_testcase.py:
(test_check_build):
(test_additional_platform_directory):

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

8 years agoIndexedDB: Calling close() during upgradeneeded handler should fire error at open...
jsbell@chromium.org [Sat, 15 Sep 2012 00:08:43 +0000 (00:08 +0000)]
IndexedDB: Calling close() during upgradeneeded handler should fire error at open request
https://bugs.webkit.org/show_bug.cgi?id=96807

Reviewed by Tony Chang.

Source/WebCore:

Per spec, if the database connection is closed before the success event fires, the request
should have an error event of type AbortError fired at it.

Test: storage/indexeddb/intversion-close-in-upgradeneeded.html

* Modules/indexeddb/IDBDatabase.h:
(WebCore::IDBDatabase::isClosePending): Expose this state so an in-flight success can be morphed.
* Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
(WebCore::IDBDatabaseBackendImpl::close): Fire the appropriate error at connections that are mid-opening.
* Modules/indexeddb/IDBOpenDBRequest.cpp:
(WebCore::IDBOpenDBRequest::onSuccess): If the connection was closed before the success is enqueued -
which can happen in multi-process ports with asynchronous messaging - convert the success to an error.

LayoutTests:

Update the test to match the spec behavior.

* storage/indexeddb/intversion-close-in-upgradeneeded-expected.txt:
* storage/indexeddb/resources/intversion-close-in-upgradeneeded.js:
(deleteSuccess):
(upgradeNeeded.transaction.oncomplete):
(upgradeNeeded):
(openError):

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

8 years agoTurn forbidEventDispatch and allowEventDispatch into a RAII object
rniwa@webkit.org [Sat, 15 Sep 2012 00:04:59 +0000 (00:04 +0000)]
Turn forbidEventDispatch and allowEventDispatch into a RAII object
https://bugs.webkit.org/show_bug.cgi?id=96717

Reviewed by Abhishek Arya.

Replaced forbidEventDispatch and allowEventDispatch by AssertNoEventDispatch.

* dom/ContainerNode.cpp:
(WebCore):
(WebCore::ContainerNode::insertBeforeCommon):
(WebCore::ContainerNode::replaceChild):
(WebCore::ContainerNode::removeBetween):
(WebCore::ContainerNode::removeChildren):
(WebCore::ContainerNode::appendChild):
(WebCore::ContainerNode::parserAddChild):
(WebCore::dispatchChildInsertionEvents):
(WebCore::dispatchChildRemovalEvents):
* dom/ContainerNode.h:
(AssertNoEventDispatch):
(WebCore::AssertNoEventDispatch::AssertNoEventDispatch):
(WebCore::AssertNoEventDispatch::~AssertNoEventDispatch):
(WebCore::AssertNoEventDispatch::isEventDispatchForbidden):
(WebCore):
* dom/ContainerNodeAlgorithms.h:
(WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
(WebCore::ChildNodeInsertionNotifier::notify):
(WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):
* dom/Document.cpp:
(WebCore::Document::dispatchWindowEvent):
(WebCore::Document::dispatchWindowLoadEvent):
* dom/EventDispatcher.cpp:
(WebCore::EventDispatcher::dispatchEvent):
* dom/EventTarget.cpp:
(WebCore):
(WebCore::EventTarget::fireEventListeners):
* dom/EventTarget.h:
(WebCore):
* dom/Node.cpp:
(WebCore::Node::dispatchSubtreeModifiedEvent):
(WebCore::Node::dispatchFocusInEvent):
(WebCore::Node::dispatchFocusOutEvent):
(WebCore::Node::dispatchDOMActivateEvent):
* dom/WebKitNamedFlow.cpp:
(WebCore::WebKitNamedFlow::dispatchRegionLayoutUpdateEvent):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::loadInternal):

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

8 years agoMark svg/carto.net/selectionlist.svg as flaky because it depends on svg/carto.net...
ojan@chromium.org [Fri, 14 Sep 2012 23:41:16 +0000 (23:41 +0000)]
Mark svg/carto.net/selectionlist.svg as flaky because it depends on svg/carto.net/button.svg
running first in order to pass.
* platform/chromium/TestExpectations:

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

8 years agoThe cr-linux-ews thinks http/tests/cache/post-redirect-get.php and http/tests/cache...
ojan@chromium.org [Fri, 14 Sep 2012 23:37:49 +0000 (23:37 +0000)]
The cr-linux-ews thinks http/tests/cache/post-redirect-get.php and http/tests/cache/post-with-cached-subresources.php are MISSING results
https://bugs.webkit.org/show_bug.cgi?id=95215

Reviewed by Adam Barth.

Apparently, marking these as missing did not fix the EWS problem,
so remove them from TestExpectations.

* platform/chromium/TestExpectations:

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

8 years agoJSC should throw a more descriptive exception when blocking 'eval' via CSP.
commit-queue@webkit.org [Fri, 14 Sep 2012 23:33:20 +0000 (23:33 +0000)]
JSC should throw a more descriptive exception when blocking 'eval' via CSP.
https://bugs.webkit.org/show_bug.cgi?id=94331

Patch by Mike West <mkwst@chromium.org> on 2012-09-14
Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Unless explicitly whitelisted, the 'script-src' Content Security Policy
directive blocks 'eval' and 'eval'-like constructs such as
'new Function()'. When 'eval' is encountered in code, an 'EvalError' is
thrown, but the associated message is poor: "Eval is disabled" doesn't
give developers enough information about why their code isn't behaving
as expected.

This patch adds an 'errorMessage' parameter to the JavaScriptCore method
used to disable 'eval'; ContentSecurityPolicy has the opportunity to
pass in a more detailed and descriptive error that contains more context
for the developer.

* runtime/Executable.cpp:
(JSC::EvalExecutable::compileInternal):
    Drop the hard-coded "Eval is disabled" error message in favor of
    reading the error message off the global object.
* runtime/FunctionConstructor.cpp:
(JSC::FunctionConstructor::getCallData):
    Drop the hard-coded "Function constructor is disabled" error message
    in favor of reading the error message off the global object.
* runtime/JSGlobalObject.h:
(JSGlobalObject):
(JSC::JSGlobalObject::evalEnabled):
    Making this accessor method const.
(JSC::JSGlobalObject::evalDisabledErrorMessage):
    Accessor for the error message set via 'setEvalDisabled'.
(JSC::JSGlobalObject::setEvalEnabled):
    Adding an 'errorMessage' parameter which is stored on the global
    object, and used when exceptions are thrown.

Source/WebCore:

Unless explicitly whitelisted, the 'script-src' Content Security Policy
directive blocks 'eval' and 'eval'-like constructs such as
'new Function()'. When 'eval' is encountered in code, an 'EvalError' is
thrown, but the associated message is poor: "Eval is disabled" doesn't
give developers enough information about why their code isn't behaving
as expected.

This patch adds an 'errorMessage' parameter to the JavaScriptCore method
used to disable 'eval'; ContentSecurityPolicy has the opportunity to
pass in a more detailed and descriptive error that contains more context
for the developer.

The new error message is tested by adjusting existing tests; nothing new
is required.

* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::initScript):
    Read the error message off the document's ContentSecurityPolicy.
(WebCore::ScriptController::disableEval):
* bindings/js/ScriptController.h:
(ScriptController):
    Pipe the error message through to JSGlobalObject when disabling eval
* bindings/js/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::disableEval):
* bindings/js/WorkerScriptController.h:
(WorkerScriptController):
    Pipe the error message through to JSGlobalObject when disabling eval
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::disableEval):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/WorkerScriptController.cpp:
(WebCore::WorkerScriptController::disableEval):
* bindings/v8/WorkerScriptController.h:
(WorkerScriptController):
    Placeholder for V8 piping to be built in webk.it/94332.
* dom/Document.cpp:
(WebCore::Document::disableEval):
* dom/Document.h:
(Document):
* dom/ScriptExecutionContext.h:
(ScriptExecutionContext):
    Pipe the error message through to the ScriptController when
    disabling eval.
* page/ContentSecurityPolicy.cpp:
(WebCore::CSPDirectiveList::evalDisabledErrorMessage):
    Accessor for the error message that ought be displayed to developers
    when 'eval' used while disabled for a specific directive list.
(WebCore::CSPDirectiveList::setEvalDisabledErrorMessage):
    Mutator for the error message that ought be displayed to developers
    when 'eval' used while disabled for a specific directive list.
(CSPDirectiveList):
(WebCore::CSPDirectiveList::create):
    Upon creation of a CSPDirectiveList, set the error message if the
    directive list disables 'eval'.
(WebCore::ContentSecurityPolicy::didReceiveHeader):
    Pass the error message into ScriptExecutionContext::disableEval.
(WebCore::ContentSecurityPolicy::evalDisabledErrorMessage):
    Public accessor for the policy's error message; walks the list of
    directive lists and returns the first error message found.
(WebCore):
* page/ContentSecurityPolicy.h:
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::disableEval):
* workers/WorkerContext.h:
(WorkerContext):
    Pipe the error message through to the ScriptController when
    disabling eval.

LayoutTests:

* http/tests/security/contentSecurityPolicy/eval-blocked-expected.txt:
* http/tests/security/contentSecurityPolicy/eval-blocked-in-about-blank-iframe-expected.txt:
* http/tests/security/contentSecurityPolicy/function-constructor-blocked-expected.txt:

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

8 years agoRemove V8DOMWindowShell::getEntered
commit-queue@webkit.org [Fri, 14 Sep 2012 23:25:56 +0000 (23:25 +0000)]
Remove V8DOMWindowShell::getEntered
https://bugs.webkit.org/show_bug.cgi?id=96637

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

V8DOMWindowShell::getEntered was refactored so that the window shell
no longer has to be kept alive by a v8 context but rather a smaller
object.

No new tests. No change in functionality.

* bindings/v8/DOMData.cpp:
(WebCore::DOMData::getCurrentStore):
* bindings/v8/ScopedPersistent.h:
(WebCore::ScopedPersistent::leakHandle):
(ScopedPersistent):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::resetIsolatedWorlds):
(WebCore::ScriptController::evaluateInIsolatedWorld):
(WebCore::ScriptController::currentWorldContext):
* bindings/v8/V8Binding.cpp:
(WebCore::perContextDataForCurrentWorld):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::setIsolatedWorldField):
(WebCore::V8DOMWindowShell::toIsolatedContextData):
(WebCore::isolatedContextWeakCallback):
(WebCore::V8DOMWindowShell::disposeContext):
(WebCore::V8DOMWindowShell::clearIsolatedShell):
(WebCore):
(WebCore::V8DOMWindowShell::initializeIfNeeded):
(WebCore::V8DOMWindowShell::setIsolatedWorldSecurityOrigin):
* bindings/v8/V8DOMWindowShell.h:
(V8DOMWindowShell):
(IsolatedContextData):
(WebCore::V8DOMWindowShell::IsolatedContextData::create):
(WebCore::V8DOMWindowShell::IsolatedContextData::world):
(WebCore::V8DOMWindowShell::IsolatedContextData::perContextData):
(WebCore::V8DOMWindowShell::IsolatedContextData::setSecurityOrigin):
(WebCore::V8DOMWindowShell::IsolatedContextData::securityOrigin):
(WebCore::V8DOMWindowShell::IsolatedContextData::IsolatedContextData):
(WebCore::V8DOMWindowShell::enteredIsolatedContext):
(WebCore::V8DOMWindowShell::enteredIsolatedContextData):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::getCachedWrapper):
* bindings/v8/WorldContextHandle.cpp:
(WebCore::WorldContextHandle::WorldContextHandle):
* bindings/v8/custom/V8DocumentCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8SVGDocumentCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
(WebCore::V8XMLHttpRequest::constructorCallback):

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

8 years agoMark compositing/geometry/fixed-position-transform-composited-page-scale.html flaky
ojan@chromium.org [Fri, 14 Sep 2012 23:19:39 +0000 (23:19 +0000)]
Mark compositing/geometry/fixed-position-transform-composited-page-scale.html flaky
as it's flaky on all the Chromium bots.
* platform/chromium/TestExpectations:

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

8 years agobbc homepage crashes immediately
fpizlo@apple.com [Fri, 14 Sep 2012 23:13:07 +0000 (23:13 +0000)]
bbc homepage crashes immediately
https://bugs.webkit.org/show_bug.cgi?id=96812
<rdar://problem/12081386>

Reviewed by Oliver Hunt.

If you use the old storage pointer to write to space you thought was newly allocated,
you're going to have a bad time.

* runtime/JSArray.cpp:
(JSC::JSArray::unshiftCount):

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

8 years ago[CSS Shaders] u_textureSize uniform should be set to the size of the texture.
michelangelo@webkit.org [Fri, 14 Sep 2012 23:11:39 +0000 (23:11 +0000)]
[CSS Shaders] u_textureSize uniform should be set to the size of the texture.
https://bugs.webkit.org/show_bug.cgi?id=95914

Reviewed by Dean Jackson.

Source/WebCore:

This adds support for the following shader uniform variables:

    uniform vec2 u_textureSize
    uniform vec4 u_meshBox
    uniform vec2 u_tileSize
    uniform vec2 u_meshSize

The relevant section of the specification is:
http://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#shader-uniform-variables

Tests: css3/filters/custom/custom-filter-u-mesh-box.html
       css3/filters/custom/custom-filter-u-mesh-size.html
       css3/filters/custom/custom-filter-u-texture-size.html
       css3/filters/custom/custom-filter-u-tile-size.html

* platform/graphics/filters/FECustomFilter.cpp:
(WebCore::FECustomFilter::bindProgramAndBuffers):

LayoutTests:

Tests for the following uniform variables:
    uniform vec2 u_textureSize
    uniform vec4 u_meshBox
    uniform vec2 u_tileSize
    uniform vec2 u_meshSize

The relevant section of the specification is:
http://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#shader-uniform-variables

* css3/filters/custom/custom-filter-u-mesh-box-expected.html: Added.
* css3/filters/custom/custom-filter-u-mesh-box.html: Added.
* css3/filters/custom/custom-filter-u-mesh-size-expected.html: Added.
* css3/filters/custom/custom-filter-u-mesh-size.html: Added.
* css3/filters/custom/custom-filter-u-texture-size-expected.html: Added.
* css3/filters/custom/custom-filter-u-texture-size.html: Added.
* css3/filters/custom/custom-filter-u-tile-size-expected.html: Added.
* css3/filters/custom/custom-filter-u-tile-size.html: Added.
* css3/filters/resources/u-mesh-box-is-unit-square.fs: Added.
* css3/filters/resources/u-mesh-size.fs: Added.
* css3/filters/resources/u-texture-size.fs: Added.
* css3/filters/resources/u-tile-size.fs: Added.

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