profile/ivi/webkit-efl.git
12 years agoUnreviewed, temporary dirty hack to make Win Debug work again.
dglazkov@chromium.org [Wed, 4 Apr 2012 16:31:22 +0000 (16:31 +0000)]
Unreviewed, temporary dirty hack to make Win Debug work again.

* All.gyp: Temporarily removed TestWebKitAPI target.

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

12 years agoUnreviewed, GTK inspector gardening.
philn@webkit.org [Wed, 4 Apr 2012 16:16:54 +0000 (16:16 +0000)]
Unreviewed, GTK inspector gardening.

* platform/gtk/test_expectations.txt:

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

12 years agoWeb Inspector: expose savedURL, setToolbarColors and toggleSearchingForNode in Inspec...
pfeldman@chromium.org [Wed, 4 Apr 2012 16:10:57 +0000 (16:10 +0000)]
Web Inspector: expose savedURL, setToolbarColors and toggleSearchingForNode in InspectorFrontendAPI
https://bugs.webkit.org/show_bug.cgi?id=83170

Reviewed by Yury Semikhatsky.

Chromium port is calling these from the embedder layer and they all are perfect candidates
for the InspectorFrontendAPI. Adding them there.

* inspector/front-end/InspectorFrontendAPI.js:
(InspectorFrontendAPI.enterInspectElementMode):
(InspectorFrontendAPI.savedURL):
(InspectorFrontendAPI.setToolbarColors):

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

12 years ago[EFL] DRT support for computedStyleIncludingVisitedInfo
rakuco@webkit.org [Wed, 4 Apr 2012 16:03:56 +0000 (16:03 +0000)]
[EFL] DRT support for computedStyleIncludingVisitedInfo
https://bugs.webkit.org/show_bug.cgi?id=82190

Source/WebKit/efl:

Add missing implementation computedStyleIncludingVisitedInfo to EFL's
DumpRenderTreeSupport.

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-04-04
Reviewed by Antonio Gomes.

* WebCoreSupport/DumpRenderTreeSupportEfl.cpp:
(DumpRenderTreeSupportEfl::computedStyleIncludingVisitedInfo):
* WebCoreSupport/DumpRenderTreeSupportEfl.h:

Tools:

Adding missing implementation computedStyleIncludingVisitedInfo to EFL's
LayoutTestController so that we can unskip related tests from the skip list.

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-04-04
Reviewed by Antonio Gomes.

* DumpRenderTree/efl/LayoutTestControllerEfl.cpp:
(LayoutTestController::computedStyleIncludingVisitedInfo):

LayoutTests:

Unskip tests connected with computedStyleIncludingVisitedInfo().

Patch by Sudarsana Nagineni <sudarsana.nagineni@linux.intel.com> on 2012-04-04
Reviewed by Antonio Gomes.

* platform/efl/Skipped:

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

12 years ago[Qt] Entire page highlighted on panning.
commit-queue@webkit.org [Wed, 4 Apr 2012 15:52:11 +0000 (15:52 +0000)]
[Qt] Entire page highlighted on panning.
https://bugs.webkit.org/show_bug.cgi?id=83158

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-04-04
Reviewed by Kenneth Rohde Christiansen.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::highlightPotentialActivation):

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

12 years agoWeb Inspector: linearise aggregate's retaining size calculation.
loislo@chromium.org [Wed, 4 Apr 2012 15:49:59 +0000 (15:49 +0000)]
Web Inspector: linearise aggregate's retaining size calculation.
https://bugs.webkit.org/show_bug.cgi?id=83125

This version is twice as fast as the original and it is non-recursive.

Reviewed by Yury Semikhatsky.

PerformanceTests:

* inspector/detailed-heapshots-smoke-test.html:

Source/WebCore:

* inspector/front-end/HeapSnapshot.js:
(WebInspector.HeapSnapshot.prototype._getDominatedIndex): was moved closer to it's usage
(WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize): it was _buildAggregates' inner function forDominatedNodes.
it was:
a) extracted from _buildAggregates;
b) made non-recursive;
c) many getters were inlined;
d) subarray of dominating nodes were inlined too.
(WebInspector.HeapSnapshot.prototype._buildAggregates): many getters were inlined.
(WebInspector.HeapSnapshot.prototype.aggregates):

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

12 years agoSource/WebCore: Best clickable node might return non "clickable" node.
commit-queue@webkit.org [Wed, 4 Apr 2012 15:42:02 +0000 (15:42 +0000)]
Source/WebCore: Best clickable node might return non "clickable" node.
https://bugs.webkit.org/show_bug.cgi?id=83153

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-04-04
Reviewed by Kenneth Rohde Christiansen.

Do not return non-clickable nodes as a best clickable node.

* page/EventHandler.cpp:
(WebCore::EventHandler::bestClickableNodeForTouchPoint):

LayoutTests: Best clickable node might return non "clickable" node.
https://bugs.webkit.org/show_bug.cgi?id=83153

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-04-04
Reviewed by Kenneth Rohde Christiansen.

* touchadjustment/touch-inlines-expected.txt:
* touchadjustment/touch-inlines.html:

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

12 years agoWeb Inspector: migrate from InspectorFrontendHost.saveAs to InspectorFrontendHost...
pfeldman@chromium.org [Wed, 4 Apr 2012 15:40:13 +0000 (15:40 +0000)]
Web Inspector: migrate from InspectorFrontendHost.saveAs to InspectorFrontendHost.save.
https://bugs.webkit.org/show_bug.cgi?id=83162

Reviewed by Yury Semikhatsky.

Source/WebCore:

This change adds Save item into the context menus for inspector. It also makes
saveAs parameter optional in the InspectorFrontendHost.save so that we could
skip the dialog for the paths that were already saved. Embedder tells the front-end
what urls were successfully saved so that front-end could issue subsequent save commands
for those files.

* English.lproj/localizedStrings.js:
* inspector/InspectorFrontendClient.h:
(InspectorFrontendClient):
* inspector/InspectorFrontendClientLocal.h:
(WebCore::InspectorFrontendClientLocal::canSave):
(WebCore::InspectorFrontendClientLocal::save):
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::canSave):
(WebCore::InspectorFrontendHost::save):
* inspector/InspectorFrontendHost.h:
(InspectorFrontendHost):
* inspector/InspectorFrontendHost.idl:
* inspector/front-end/InspectorFrontendHostStub.js:
(.WebInspector.InspectorFrontendHostStub.prototype.canSave):
* inspector/front-end/JavaScriptSourceFrame.js:
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype._contextMenu):
(WebInspector.NetworkLogView.prototype._exportAll):
(WebInspector.NetworkLogView.prototype._exportResource):
* inspector/front-end/ResourceView.js:
* inspector/front-end/ResourcesPanel.js:
(WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction.doSave):
(WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction.save):
(WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction):
(WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.doSave):
(WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.save):
(WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
* inspector/front-end/Settings.js:
* inspector/front-end/SourceFrame.js:
(WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
* inspector/front-end/TextViewer.js:
(WebInspector.TextViewer.prototype._contextMenu):
(WebInspector.TextViewer.prototype._commitEditing):
(WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
* inspector/front-end/TimelineModel.js:
(WebInspector.TimelineModel.prototype.saveToFile):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._registerShortcuts):
(WebInspector.TimelinePanel.prototype._contextMenu):
* inspector/front-end/inspector.js:

Source/WebKit/chromium:

* public/WebDevToolsFrontendClient.h:
* src/InspectorFrontendClientImpl.cpp:
(WebKit::InspectorFrontendClientImpl::canSave):
(WebKit::InspectorFrontendClientImpl::save):
* src/InspectorFrontendClientImpl.h:
(InspectorFrontendClientImpl):

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

12 years agoWeb Inspector: time dividers are incorrectly rendered on empty timeline grid
caseq@chromium.org [Wed, 4 Apr 2012 15:23:52 +0000 (15:23 +0000)]
Web Inspector: time dividers are incorrectly rendered on empty timeline grid
https://bugs.webkit.org/show_bug.cgi?id=83165

Reviewed by Pavel Feldman.

* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkBaseCalculator.prototype.setDisplayWindow):
* inspector/front-end/TimelineGrid.js:
(WebInspector.TimelineGrid.prototype.updateDividers):

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

12 years ago[GTK] ASSERT in SocketStreamHandleSoup.cpp
sergio@webkit.org [Wed, 4 Apr 2012 15:15:25 +0000 (15:15 +0000)]
[GTK] ASSERT in SocketStreamHandleSoup.cpp
https://bugs.webkit.org/show_bug.cgi?id=83123

Reviewed by Martin Robinson.

Do not try to reuse a GOwnPtr as calling outPtr() causes an
assertion if the pointer is already valid. Also do not try to
close the IOStream if it was not created.

This patch fixes
http/tests/websocket/tests/hybi/workers/worker-reload.html but I
am leaving it skipped until webkit.org/b/83124 is fixed.

* platform/network/soup/SocketStreamHandleSoup.cpp:
(WebCore::connectedCallback):

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

12 years ago[Qt] Unreviewed gardening, skip failing tests to try to paint ARM and Mac bots green.
ossy@webkit.org [Wed, 4 Apr 2012 15:05:14 +0000 (15:05 +0000)]
[Qt] Unreviewed gardening, skip failing tests to try to paint ARM and Mac bots green.

* platform/qt-arm/Skipped:
* platform/qt-mac/Skipped:

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

12 years agoRe-add variable names in CSS related headers to help understanding the meaning of...
alexis.menard@openbossa.org [Wed, 4 Apr 2012 14:26:38 +0000 (14:26 +0000)]
Re-add variable names in CSS related headers to help understanding the meaning of them.
https://bugs.webkit.org/show_bug.cgi?id=83151

Reviewed by Andreas Kling.

r112952, r113031, r113042 removed variable names in some places but at the end it
was better before as it helps understanding what the variables represent. This patch
address this issue and add back the names where it makes sense.

No new tests : cosmetic changes, no behavior change here.

* css/CSSParser.h:
(CSSParser):
* css/StylePropertySet.h:
(StylePropertySet):
* dom/StyledElement.h:
(StyledElement):
* editing/EditingStyle.h:
(EditingStyle):
* editing/Editor.h:
(Editor):
* html/HTMLElement.h:
(HTMLElement):

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

12 years agoUnreviewed; update my email address once again in the committers
rakuco@webkit.org [Wed, 4 Apr 2012 14:11:34 +0000 (14:11 +0000)]
Unreviewed; update my email address once again in the committers
and watch list.

* Scripts/webkitpy/common/config/committers.py: Prefer my
webkit.org email over my FreeBSD.org one.
* Scripts/webkitpy/common/config/watchlist: Ditto.

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

12 years agoUnreviewed. Layout Test fast/canvas/canvas-toDataURL-webp.html is crashing
noel.gordon@gmail.com [Wed, 4 Apr 2012 14:06:27 +0000 (14:06 +0000)]
Unreviewed. Layout Test fast/canvas/canvas-toDataURL-webp.html is crashing
https://bugs.webkit.org/show_bug.cgi?id=81735

Test expectations update. Fixed in http://crrev.com/129144.

* platform/chromium/test_expectations.txt:

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

12 years agoImplement animatedPathSegList support for SVGPathElement
zimmermann@webkit.org [Wed, 4 Apr 2012 13:52:46 +0000 (13:52 +0000)]
Implement animatedPathSegList support for SVGPathElement
https://bugs.webkit.org/show_bug.cgi?id=83140

Reviewed by Zoltan Herczeg.

Source/WebCore:

Add the last missing piece of animVal support: animations of the SVGPathElement's 'd' attribute
should be reflected in the 'animatedPathSegList' not the 'pathSegList'.

The SVGAnimatedPathAnimator is special as it doesn't operate on the SVGPathSegList types
directly, but on the SVGPathByteStreams for performance reasons. The SVGPathSegLists
are refcounted and exposed to JS, thus require lots of memory, compared to a simple
byte stream, which SVGPathByteStream is. Only build an 'animatedPathSegList' while
animating if its actually observed by the bindings, as this operation is heavy.

This marks the finish of the animVal patch series: no more string round trips during
animation. Previously paths were animated as byte streams, then converted to a String
passed to pathElement->setAttribute("d", "newString"), parsed again to a byte stream, etc.

A follow-up patch will remove the last crufts of direct setAttribute() animation.

Extend all existing animated SVGPathElement tests to cover animatedPathSegList.

* svg/SVGAnimatedColor.h:
(WebCore::SVGAnimatedColorAnimator::startAnimValAnimation):
(WebCore::SVGAnimatedColorAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedColorAnimator::resetAnimValToBaseVal):
(WebCore::SVGAnimatedColorAnimator::animValWillChange):
(WebCore::SVGAnimatedColorAnimator::animValDidChange):
(SVGAnimatedColorAnimator):
* svg/SVGAnimatedPath.cpp:
(WebCore::SVGAnimatedPathAnimator::constructFromString):
(WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
(WebCore):
(WebCore::SVGAnimatedPathAnimator::stopAnimValAnimation):
(WebCore::SVGAnimatedPathAnimator::resetAnimValToBaseVal):
(WebCore::SVGAnimatedPathAnimator::animValWillChange):
(WebCore::SVGAnimatedPathAnimator::animValDidChange):
(WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
* svg/SVGAnimatedPath.h:
(SVGAnimatedPathAnimator):
* svg/SVGAnimatedType.cpp:
(WebCore::SVGAnimatedType::valueAsString):
(WebCore::SVGAnimatedType::setValueAsString):
(WebCore::SVGAnimatedType::supportsAnimVal):
* svg/SVGAnimatedTypeAnimator.h:
(SVGAnimatedTypeAnimator):
(WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
* svg/SVGPathElement.cpp:
(WebCore::SVGPathElement::SVGPathElement):
(WebCore::SVGPathElement::getTotalLength):
(WebCore::SVGPathElement::getPointAtLength):
(WebCore::SVGPathElement::getPathSegAtLength):
(WebCore::SVGPathElement::parseAttribute):
(WebCore::SVGPathElement::svgAttributeChanged):
(WebCore::SVGPathElement::pathByteStream):
(WebCore):
(WebCore::SVGPathElement::lookupOrCreateDWrapper):
(WebCore::SVGPathElement::pathSegList):
(WebCore::SVGPathElement::animatedPathSegList):
(WebCore::SVGPathElement::pathSegListChanged):
* svg/SVGPathElement.h:
(WebCore):
(SVGPathElement):
(WebCore::SVGPathElement::isAnimValObserved):
* svg/SVGPathParserFactory.cpp:
(WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
(WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
(WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
* svg/SVGPathParserFactory.h:
(SVGPathParserFactory):
* svg/SVGPathSegWithContext.h:
* svg/properties/SVGAnimatedListPropertyTearOff.h:
(SVGAnimatedListPropertyTearOff):
(WebCore::SVGAnimatedListPropertyTearOff::baseVal):
(WebCore::SVGAnimatedListPropertyTearOff::animVal):
(WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
(WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
(WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue):
(WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
(WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
(WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded):
* svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
(WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
(SVGAnimatedPathSegListPropertyTearOff):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::animationStarted):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::animationEnded):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::animValDidChange):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::animatedPathByteStream):
(WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
* svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
(WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal):
(WebCore::SVGAnimatedTransformListPropertyTearOff::animVal):
* svg/properties/SVGListProperty.h:
(WebCore::SVGListProperty::setValuesAndWrappers):
(WebCore::SVGListProperty::SVGListProperty):
(WebCore::SVGListProperty::~SVGListProperty):
(SVGListProperty):

LayoutTests:

Update all tests animating the SVGPathElement's 'd' attribute to verify 'animatedPathSegList' now gets animated, not 'pathSegList'.

* svg/animations/animate-path-animation-Cc-Ss-expected.txt:
* svg/animations/animate-path-animation-Ll-Vv-Hh-expected.txt:
* svg/animations/animate-path-animation-Qq-Tt-expected.txt:
* svg/animations/animate-path-animation-cC-sS-inverse-expected.txt:
* svg/animations/animate-path-animation-lL-vV-hH-inverse-expected.txt:
* svg/animations/animate-path-animation-qQ-tT-inverse-expected.txt:
* svg/animations/animate-path-to-animation-expected.txt:
* svg/animations/script-tests/animate-path-animation-Cc-Ss.js:
(checkBaseVal):
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-path-animation-Ll-Vv-Hh.js:
(checkBaseVal):
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-path-animation-Qq-Tt.js:
(checkBaseVal):
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-path-animation-cC-sS-inverse.js:
(checkBaseVal):
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-path-animation-lL-vV-hH-inverse.js:
(checkBaseVal):
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-path-animation-qQ-tT-inverse.js:
(checkBaseVal):
(sample1):
(sample2):
(sample3):
(sample4):
* svg/animations/script-tests/animate-path-to-animation.js:
(checkBaseVal):
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svgpath-animation-1.js:
(checkBaseVal):
(sample1):
(sample2):
(sample3):
* svg/animations/script-tests/svgtransform-animation-1.js:
* svg/animations/svgpath-animation-1-expected.txt:

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

12 years ago[Qt][WK2] QtWebKit2 should support Page Visibility API
commit-queue@webkit.org [Wed, 4 Apr 2012 13:35:33 +0000 (13:35 +0000)]
[Qt][WK2] QtWebKit2 should support Page Visibility API
https://bugs.webkit.org/show_bug.cgi?id=81164

Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2012-04-04
Reviewed by Kenneth Rohde Christiansen.

Source/WebKit2:

Implementing the last bits needed for getting the expected
behavior for Page Visibility API, according to its spec.
The only missing part in Qt was a way to check whether
the view was exposed or not.

* UIProcess/qt/QtPageClient.cpp:
(QtPageClient::isViewVisible):

Tools:

Enabling Page Visiblity API for Qt WebKit2.

* qmake/mkspecs/features/features.prf:

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

12 years agoUnreviewed, GTK inspector gardening.
philn@webkit.org [Wed, 4 Apr 2012 13:20:45 +0000 (13:20 +0000)]
Unreviewed, GTK inspector gardening.

* platform/gtk/test_expectations.txt:

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

12 years ago[WK2] Add Page Visibility API support
commit-queue@webkit.org [Wed, 4 Apr 2012 13:10:28 +0000 (13:10 +0000)]
[WK2] Add Page Visibility API support
https://bugs.webkit.org/show_bug.cgi?id=81154

Patch by Jesus Sanchez-Palencia <jesus.palencia@openbossa.org> on 2012-04-04
Reviewed by Kenneth Rohde Christiansen.

Use WebPageProxy::viewStateDidChange to correctly define the page's
visibilityState and then set it to the WebProcess. The WebKit2's based
ports just need to implement the related PageClient functions in order
to get this API enabled and working properly.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::initializeWebPage):
(WebKit::WebPageProxy::viewStateDidChange):
* WebProcess/WebPage/WebPage.cpp:
(WebKit):
(WebKit::WebPage::setVisibilityState):
* WebProcess/WebPage/WebPage.h:
(WebPage):
* WebProcess/WebPage/WebPage.messages.in:

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

12 years agoBest zoomable area does not balance intersection with target area.
commit-queue@webkit.org [Wed, 4 Apr 2012 12:47:54 +0000 (12:47 +0000)]
Best zoomable area does not balance intersection with target area.
https://bugs.webkit.org/show_bug.cgi?id=83148

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-04-04
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Change the two step sort to simply picking the best quotient of touch intersection with target area.

Test: touchadjustment/zoom-fatfinger.html

* page/TouchAdjustment.cpp:
(WebCore::TouchAdjustment::distanceSquaredToTargetCenterLine):
(TouchAdjustment):
(WebCore::TouchAdjustment::zoomableIntersectionQuotient):
(WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
(WebCore::findBestClickableCandidate):
(WebCore::findBestZoomableArea):

LayoutTests:

* touchadjustment/zoom-fatfinger-expected.txt: Added.
* touchadjustment/zoom-fatfinger.html: Added.

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

12 years ago[EFL][DRT] FrameloaderClientEfl needs to handle media content correctly
commit-queue@webkit.org [Wed, 4 Apr 2012 12:43:45 +0000 (12:43 +0000)]
[EFL][DRT] FrameloaderClientEfl needs to handle media content correctly
https://bugs.webkit.org/show_bug.cgi?id=83020

Patch by Dominik Röttsches <dominik.rottsches@linux.intel.com> on 2012-04-04
Reviewed by Hajime Morita.

Source/WebKit/efl:

Implementing handling of media content type and media documents
in the respective FrameLoaderClientEfl callbacks.

* WebCoreSupport/FrameLoaderClientEfl.cpp:
(WebCore::FrameLoaderClientEfl::committedLoad): Cancel loading for media documents.
(WebCore::FrameLoaderClientEfl::canShowMIMEType): Let media content types through.
(WebCore):
(WebCore::FrameLoaderClientEfl::pluginWillHandleLoadError): Returning appropriate error type.
(WebCore::FrameLoaderClientEfl::shouldFallBack): Falling back as well for media handled by media player.

LayoutTests:

* platform/efl/Skipped: Unskipping those MediaDocument related cases which now pass.

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

12 years agoWeb Inspector: make padding and client window width part of timeline calculator's...
caseq@chromium.org [Wed, 4 Apr 2012 12:41:45 +0000 (12:41 +0000)]
Web Inspector: make padding and client window width part of timeline calculator's state
https://bugs.webkit.org/show_bug.cgi?id=83122

Reviewed by Pavel Feldman.

Source/WebCore:

- preserve window width and padding within TimelineCalculator
- rely on calculator to add expansion arrow padding
- add TimelineCalculator::computePosition() for computing single position (not entire bar dimensions)

* inspector/front-end/MemoryStatistics.js:
(WebInspector.MemoryStatistics.prototype._refreshDividers):
* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype._updateDividersIfNeeded):
(WebInspector.NetworkLogView.prototype._reset):
(WebInspector.NetworkBaseCalculator.prototype.computePosition):
(WebInspector.NetworkBaseCalculator.prototype.formatTime):
(WebInspector.NetworkBaseCalculator.prototype.setDisplayWindow):
* inspector/front-end/TimelineGrid.js:
(WebInspector.TimelineGrid.prototype.updateDividers):
(WebInspector.TimelineGrid.prototype.addEventDividers):
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane.prototype._update):
(WebInspector.TimelineOverviewPane.prototype._reset):
(WebInspector.TimelineOverviewCalculator.prototype.computePosition):
(WebInspector.TimelineOverviewCalculator.prototype.setDisplayWindow):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._updateEventDividers):
(WebInspector.TimelinePanel.prototype._refresh):
(WebInspector.TimelinePanel.prototype._refreshRecords):
(WebInspector.TimelineCalculator.prototype.computePosition):
(WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
(WebInspector.TimelineCalculator.prototype.setDisplayWindow):
(WebInspector.TimelineRecordGraphRow.prototype.update):
(WebInspector.TimelineExpandableElement.prototype._update):

LayoutTests:

- re-enable 4 injspector tests skipped after previous landing attempt.

* platform/gtk/Skipped:

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

12 years agoWebSpeechRecognizer.h: add missing forward declaration
hans@chromium.org [Wed, 4 Apr 2012 12:34:09 +0000 (12:34 +0000)]
WebSpeechRecognizer.h: add missing forward declaration
https://bugs.webkit.org/show_bug.cgi?id=83150

Reviewed by Tony Gentilcore.

Add missing forward declaration of WebSpeechRecognitionParams.

* public/WebSpeechRecognizer.h:
(WebKit):

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

12 years ago[Qt] Further improvements of the tap gesture recognizer
kenneth@webkit.org [Wed, 4 Apr 2012 12:32:53 +0000 (12:32 +0000)]
[Qt] Further improvements of the tap gesture recognizer
https://bugs.webkit.org/show_bug.cgi?id=83149

Reviewed by Zoltan Herczeg.

Ignore single tap while finger is still pressed.
Some renaming to make the states more clear.
A pan further than the maxPanDistance can now invalidate
double-taps as well.

* UIProcess/qt/QtTapGestureRecognizer.cpp:
(WebKit::QtTapGestureRecognizer::QtTapGestureRecognizer):
(WebKit::QtTapGestureRecognizer::recognize):
(WebKit::QtTapGestureRecognizer::singleTapTimeout):
(WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
(WebKit::QtTapGestureRecognizer::reset):
* UIProcess/qt/QtTapGestureRecognizer.h:

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

12 years ago[FileSystem] Forward declare File in FileCallback.h
noel.gordon@gmail.com [Wed, 4 Apr 2012 12:31:28 +0000 (12:31 +0000)]
[FileSystem] Forward declare File in FileCallback.h
https://bugs.webkit.org/show_bug.cgi?id=83128

Reviewed by Kentaro Hara.

No new tests. Covered by existing tests.

* Modules/filesystem/FileCallback.h: forward declare File class to make
#include of "File.h" redundant.
(WebCore):

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

12 years ago[EFL] Change ewk_settings_icon_database_icon_object_add to proper API name.
commit-queue@webkit.org [Wed, 4 Apr 2012 12:24:31 +0000 (12:24 +0000)]
[EFL] Change ewk_settings_icon_database_icon_object_add to proper API name.
https://bugs.webkit.org/show_bug.cgi?id=82438

Patch by Grzegorz Czajkowski <g.czajkowski@samsung.com> on 2012-04-04
Reviewed by Andreas Kling.

The purpose of ewk_settings_icon_database_icon_object_add is to get icon
for the given URL. This function doesn't add anything to database.
Documentation and API name are adjusted.

* ewk/ewk_settings.cpp:
(ewk_settings_icon_database_icon_object_get):
* ewk/ewk_settings.h:

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

12 years ago[Qt][WK2] Make the WebView a subclass of Flickable
abecsi@webkit.org [Wed, 4 Apr 2012 12:21:14 +0000 (12:21 +0000)]
[Qt][WK2] Make the WebView a subclass of Flickable
https://bugs.webkit.org/show_bug.cgi?id=83033

Reviewed by Kenneth Rohde Christiansen.

Source/WebKit/qt:

Add needed dependency to quick-private for projects that include the WebView header.

* declarative/experimental/experimental.pri:
* declarative/public.pri:

Source/WebKit2:

Hitherto, the experiment of a QML WebView with an internal Flickable
instance showed that the approach of hiding the Flickable raises more
problems than it solves.

One set of problems arose because the internal Flickable was a separate
item which received and reacted on automatically synthesized mouse events
send by the canvas, this interfered with the gesture recognizers of the
WebView.

Other issues were related to orientation and the integration of the
WebView item with other QML items and components (like scroll indicators)
which require a larger set of the Flickable API or the Flickable object
itself (e.g. ScrollDecorator).

These disadvantages of an internal Flickable instance outweigh the
benefits of controlling the exposed API, therefore the experiment had
the conclusion that there is no way around the public inheritance from
QQuickFlickable.

This patch removes the QtFlickProvider class, inherits QQuickWebView
from QQuickFlickable and adjusts the viewport interaction engine and
the gesture recognizers to use the Flickable API of the WebView to
keep the same behaviour as before.

* Target.pri:
* UIProcess/API/qt/qquickwebpage.cpp:
(QQuickWebPage::QQuickWebPage):
* UIProcess/API/qt/qquickwebview.cpp:
(QQuickWebViewPrivate::QQuickWebViewPrivate):
(QQuickWebViewFlickablePrivate::initialize):
(QQuickWebViewFlickablePrivate::pageItemPos):
(QQuickWebViewFlickablePrivate::updateContentsSize):
(QQuickWebViewFlickablePrivate::onComponentComplete):
(QQuickWebViewFlickablePrivate::updateViewportSize):
(QQuickWebViewExperimental::useDefaultContentItemSize):
(QQuickWebViewExperimental::setUseDefaultContentItemSize):
(QQuickWebView::QQuickWebView):
(QQuickWebView::inputMethodQuery):
(QQuickWebView::geometryChanged):
(QQuickWebView::componentComplete):
(QQuickWebView::event):
(QQuickWebView::contentPos):
(QQuickWebView::setContentPos):
(QQuickWebView::handlePress):
(QQuickWebView::handleMove):
(QQuickWebView::handleRelease):
* UIProcess/API/qt/qquickwebview_p.h:
(WebKit):
* UIProcess/API/qt/qquickwebview_p_p.h:
(QQuickWebViewPrivate):
* UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
(tst_QQuickWebView::scrollRequest):
* UIProcess/API/qt/tests/tests.pri:
* UIProcess/qt/QtFlickProvider.cpp: Removed.
* UIProcess/qt/QtFlickProvider.h: Removed.
* UIProcess/qt/QtPanGestureRecognizer.cpp:
(WebKit::QtPanGestureRecognizer::recognize):
* UIProcess/qt/QtViewportInteractionEngine.cpp:
(WebKit::QtViewportInteractionEngine::QtViewportInteractionEngine):
(WebKit::QtViewportInteractionEngine::setItemRectVisible):
(WebKit::QtViewportInteractionEngine::flickableMoveStarted):
(WebKit::QtViewportInteractionEngine::flickableMoveEnded):
(WebKit::QtViewportInteractionEngine::flickableMovingPositionUpdate):
(WebKit::QtViewportInteractionEngine::scaleAnimationStateChanged):
(WebKit::QtViewportInteractionEngine::wheelEvent):
(WebKit::QtViewportInteractionEngine::reset):
(WebKit::QtViewportInteractionEngine::scrollAnimationActive):
(WebKit::QtViewportInteractionEngine::panGestureActive):
(WebKit::QtViewportInteractionEngine::panGestureStarted):
(WebKit::QtViewportInteractionEngine::panGestureRequestUpdate):
(WebKit::QtViewportInteractionEngine::panGestureEnded):
(WebKit::QtViewportInteractionEngine::panGestureCancelled):
(WebKit::QtViewportInteractionEngine::cancelScrollAnimation):
(WebKit::QtViewportInteractionEngine::pinchGestureStarted):
(WebKit::QtViewportInteractionEngine::pinchGestureRequestUpdate):
(WebKit::QtViewportInteractionEngine::pinchGestureEnded):
(WebKit::QtViewportInteractionEngine::scaleContent):
* UIProcess/qt/QtViewportInteractionEngine.h:
(QtViewportInteractionEngine):
* UIProcess/qt/QtWebPageEventHandler.cpp:
(QtWebPageEventHandler::doneWithTouchEvent):

Tools:

Remove workaround in MiniBrowser and the ScrollIndicator
now that the WebView is a Flickable.

* MiniBrowser/qt/MiniBrowser.pro:
* MiniBrowser/qt/qml/BrowserWindow.qml:
* MiniBrowser/qt/qml/ScrollIndicator.qml:
* WebKitTestRunner/Target.pri:

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

12 years agoREGRESSION(r113144): It made run-webkit-tests always fail
ossy@webkit.org [Wed, 4 Apr 2012 12:19:14 +0000 (12:19 +0000)]
REGRESSION(r113144): It made run-webkit-tests always fail
https://bugs.webkit.org/show_bug.cgi?id=83142

Unreviewed trivial fix after r113144.

* Scripts/run-webkit-tests:

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

12 years ago[Qt] Unable to zoom to some areas.
commit-queue@webkit.org [Wed, 4 Apr 2012 12:01:15 +0000 (12:01 +0000)]
[Qt] Unable to zoom to some areas.
https://bugs.webkit.org/show_bug.cgi?id=83144

Patch by Allan Sandfeld Jensen <allan.jensen@nokia.com> on 2012-04-04
Reviewed by Kenneth Rohde Christiansen.

Remember to convert touch-area to touch-point radius.

* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::findZoomableAreaForPoint):

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

12 years agoUnreviewed, rolling out r113156.
commit-queue@webkit.org [Wed, 4 Apr 2012 11:52:43 +0000 (11:52 +0000)]
Unreviewed, rolling out r113156.
http://trac.webkit.org/changeset/113156
https://bugs.webkit.org/show_bug.cgi?id=83146

Breaks inspector layout tests (Requested by pfeldman on
#webkit).

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

* inspector/front-end/MemoryStatistics.js:
(WebInspector.MemoryStatistics.prototype._refreshDividers):
* inspector/front-end/TimelineGrid.js:
(WebInspector.TimelineGrid.prototype.updateDividers):
(WebInspector.TimelineGrid.prototype.addEventDividers):
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane.prototype._update):
(WebInspector.TimelineOverviewPane.prototype._reset):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._updateEventDividers):
(WebInspector.TimelinePanel.prototype._refresh):
(WebInspector.TimelinePanel.prototype._refreshRecords):
(WebInspector.TimelinePanel.prototype.get timelinePaddingLeft):
(WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
(WebInspector.TimelineRecordGraphRow.prototype.update):
(WebInspector.TimelineExpandableElement.prototype._update):

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

12 years ago[Qt] Unreviewed gardening
ossy@webkit.org [Wed, 4 Apr 2012 11:37:24 +0000 (11:37 +0000)]
[Qt] Unreviewed gardening
https://bugs.webkit.org/show_bug.cgi?id=83057
New test flakey on Qt Linux Release introduced in r113086

Patch by Zoltan Arvai <zarvai@inf.u-szeged.hu> on 2012-04-04

* platform/qt/Skipped: fast/dom/inline-event-attributes-release.html

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

12 years agoWeb Inspector: front-end should accept raw web socket address for the remote connection.
pfeldman@chromium.org [Wed, 4 Apr 2012 11:19:40 +0000 (11:19 +0000)]
Web Inspector: front-end should accept raw web socket address for the remote connection.
https://bugs.webkit.org/show_bug.cgi?id=83134

Reviewed by Yury Semikhatsky.

Migrated from the /devtools/page web socket schema to the generic one where remote target address
can be specified as index.html?ws=localhost:9222/page1. Left the old host/page way for backwards
compatibility.

* inspector/front-end/inspector.js:

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

12 years agoAdd localization functions for the calendar picker
tkent@chromium.org [Wed, 4 Apr 2012 11:06:03 +0000 (11:06 +0000)]
Add localization functions for the calendar picker
https://bugs.webkit.org/show_bug.cgi?id=83129

Reviewed by Hajime Morita.

No behavior changes yet.

* WebCore.gypi: Add LocalizedCalendar.h and LocalizedCalendarICU.cpp.
* platform/LocalizedStrings.h: Add calendarTodayText() and calendarClearText().
* platform/text/LocalizedCalendar.h:
Added. This provides monthLabels(), weekDayShortLabels(), and firstDayOfWeek().
* platform/text/LocalizedCalendarICU.cpp: Added. ICU implementations of the above functions.
(WebCore::ScopedDateFormat): A wrapper for UDateFormat*.
(WebCore::ScopedDateFormat::ScopedDateFormat):
(WebCore::ScopedDateFormat::~ScopedDateFormat):
(WebCore::ScopedDateFormat::get):
(createFallbackMonthLabels): Creates fallback month labels in English.
(createLabelVector):
A helper for createMonthLabels() and createWeekDayShortLabels().
(createMonthLabels):
Creates month labels using createLabelVector() or createFallbackMonthLabels().
(WebCore::monthLabels):
(createFallbackWeekDayShortLabels): Creates fallback week labels in English.
(createWeekDayShortLabels):
Creates month labels using createLabelVector() or createFallbackWeekDayShortLabels().
(WebCore::weekDayShortLabels):
(getFirstDayOfWeek):
(WebCore::firstDayOfWeek):

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

12 years ago[Qt] Improve the tap gesture recognizer
kenneth@webkit.org [Wed, 4 Apr 2012 11:00:21 +0000 (11:00 +0000)]
[Qt] Improve the tap gesture recognizer
https://bugs.webkit.org/show_bug.cgi?id=83135

Reviewed by Simon Hausmann.

Clean up the code and make sure that the first single tap
event, as part of a double tap gesture, is ignored.

* UIProcess/qt/QtTapGestureRecognizer.cpp:
(WebKit::QtTapGestureRecognizer::withinDistance):
(WebKit):
(WebKit::QtTapGestureRecognizer::recognize):
(WebKit::QtTapGestureRecognizer::singleTapTimeout):
(WebKit::QtTapGestureRecognizer::tapAndHoldTimeout):
(WebKit::QtTapGestureRecognizer::reset):
* UIProcess/qt/QtTapGestureRecognizer.h:
(QtTapGestureRecognizer):

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

12 years agoSpeech JavaScript API: Plumbing for Chromium
hans@chromium.org [Wed, 4 Apr 2012 10:56:25 +0000 (10:56 +0000)]
Speech JavaScript API: Plumbing for Chromium
https://bugs.webkit.org/show_bug.cgi?id=81667

Reviewed by Darin Fisher.

Source/WebCore:

SpeechGrammar::src() is called with a ScriptExecutionContext, because
the attribute setter needs it. Provide a src() method that doesn't
take a ScriptExecutionContext that can be used internally.

Rename SpeechRecognition::audioStartCallback(), etc. to use event style
names, i.e. didStartAudio(), etc.

Remove SpeechRecognitionClient::notifyVisibilityHidden(). The embedder
can keep track of the visibility.

Remove SpeechRecognitionClient::unregisterSpeechRecognition,
it is not needed.

No new tests, just minor tweaks.

* Modules/speech/SpeechGrammar.h:
(WebCore::SpeechGrammar::src):
* Modules/speech/SpeechRecognition.cpp:
(WebCore::SpeechRecognition::didStartAudio):
(WebCore::SpeechRecognition::didStartSound):
(WebCore::SpeechRecognition::didStartSpeech):
(WebCore::SpeechRecognition::didEndSpeech):
(WebCore::SpeechRecognition::didEndSound):
(WebCore):
(WebCore::SpeechRecognition::didEndAudio):
(WebCore::SpeechRecognition::didReceiveResult):
(WebCore::SpeechRecognition::didReceiveNoMatch):
(WebCore::SpeechRecognition::didDeleteResult):
(WebCore::SpeechRecognition::didReceiveError):
(WebCore::SpeechRecognition::didStart):
(WebCore::SpeechRecognition::didEnd):
* Modules/speech/SpeechRecognition.h:
(SpeechRecognition):
* Modules/speech/SpeechRecognitionClient.h:
(SpeechRecognitionClient):
* Modules/speech/SpeechRecognitionController.h:

Source/WebKit/chromium:

Add plumbing for speech recognition.

The implementer is expected to implement the WebSpeechRecognizer interface.
The start(), stop(), and abort() functions of that interface take a
WebSpeechRecognitionHandle argument, which identifies the object which has
requested the action, and a pointer to a WebSpeechRecognitionClient interface,
through which it should send back notifications on progress, errors, etc.

SpeechRecognitionClientProxy passes data between the WebCore and WebKit layers,
implementing the WebCore::SpeechRecognitionClient and WebKit::WebSpeechRecognizerClient
interfaces.

* WebKit.gyp:
* public/WebSpeechGrammar.h:
(WebCore):
(WebKit):
(WebSpeechGrammar):
(WebKit::WebSpeechGrammar::WebSpeechGrammar):
(WebKit::WebSpeechGrammar::~WebSpeechGrammar):
* public/WebSpeechRecognitionHandle.h: Added.
(WebCore):
(WebKit):
(WebSpeechRecognitionHandle):
(WebKit::WebSpeechRecognitionHandle::~WebSpeechRecognitionHandle):
(WebKit::WebSpeechRecognitionHandle::WebSpeechRecognitionHandle):
(WebKit::WebSpeechRecognitionHandle::operator=):
(WebKit::operator==):
(WebKit::operator!=):
(WebKit::operator<):
* public/WebSpeechRecognitionParams.h:
(WebKit):
(WebSpeechRecognitionParams):
(WebKit::WebSpeechRecognitionParams::grammars):
(WebKit::WebSpeechRecognitionParams::language):
(WebKit::WebSpeechRecognitionParams::continuous):
* public/WebSpeechRecognitionResult.h: Added.
(WebCore):
(WebKit):
(WebSpeechRecognitionResult):
(WebKit::WebSpeechRecognitionResult::WebSpeechRecognitionResult):
(WebKit::WebSpeechRecognitionResult::~WebSpeechRecognitionResult):
* public/WebSpeechRecognizer.h:
(WebKit):
(WebSpeechRecognizer):
(WebKit::WebSpeechRecognizer::start):
(WebKit::WebSpeechRecognizer::stop):
(WebKit::WebSpeechRecognizer::abort):
(WebKit::WebSpeechRecognizer::~WebSpeechRecognizer):
* public/WebSpeechRecognizerClient.h: Added.
(WebKit):
(WebSpeechRecognizerClient):
* public/WebViewClient.h:
(WebKit):
(WebViewClient):
(WebKit::WebViewClient::speechRecognizer):
* src/SpeechRecognitionClientProxy.cpp: Added.
(WebKit):
(WebKit::SpeechRecognitionClientProxy::~SpeechRecognitionClientProxy):
(WebKit::SpeechRecognitionClientProxy::create):
(WebKit::SpeechRecognitionClientProxy::start):
(WebKit::SpeechRecognitionClientProxy::stop):
(WebKit::SpeechRecognitionClientProxy::abort):
(WebKit::SpeechRecognitionClientProxy::didStartAudio):
(WebKit::SpeechRecognitionClientProxy::didStartSound):
(WebKit::SpeechRecognitionClientProxy::didStartSpeech):
(WebKit::SpeechRecognitionClientProxy::didEndSpeech):
(WebKit::SpeechRecognitionClientProxy::didEndSound):
(WebKit::SpeechRecognitionClientProxy::didEndAudio):
(WebKit::SpeechRecognitionClientProxy::didReceiveResult):
(WebKit::SpeechRecognitionClientProxy::didReceiveNoMatch):
(WebKit::SpeechRecognitionClientProxy::didDeleteResult):
(WebKit::SpeechRecognitionClientProxy::didReceiveError):
(WebKit::SpeechRecognitionClientProxy::didStart):
(WebKit::SpeechRecognitionClientProxy::didEnd):
(WebKit::SpeechRecognitionClientProxy::SpeechRecognitionClientProxy):
* src/SpeechRecognitionClientProxy.h: Added.
(WebKit):
(SpeechRecognitionClientProxy):
* src/WebSpeechGrammar.cpp: Added.
(WebKit):
(WebKit::WebSpeechGrammar::reset):
(WebKit::WebSpeechGrammar::WebSpeechGrammar):
(WebKit::WebSpeechGrammar::operator=):
(WebKit::WebSpeechGrammar::src):
(WebKit::WebSpeechGrammar::weight):
* src/WebSpeechRecognitionHandle.cpp: Added.
(WebKit):
(WebKit::WebSpeechRecognitionHandle::reset):
(WebKit::WebSpeechRecognitionHandle::assign):
(WebKit::WebSpeechRecognitionHandle::equals):
(WebKit::WebSpeechRecognitionHandle::lessThan):
(WebKit::WebSpeechRecognitionHandle::WebSpeechRecognitionHandle):
(WebKit::WebSpeechRecognitionHandle::operator=):
(WebKit::WebSpeechRecognitionHandle::operator PassRefPtr<SpeechRecognition>):
* src/WebSpeechRecognitionParams.cpp: Added.
(WebKit):
(WebKit::WebSpeechRecognitionParams::WebSpeechRecognitionParams):
* src/WebSpeechRecognitionResult.cpp: Added.
(WebKit):
(WebKit::WebSpeechRecognitionResult::assign):
(WebKit::WebSpeechRecognitionResult::reset):
(WebKit::WebSpeechRecognitionResult::operator PassRefPtr<WebCore::SpeechRecognitionResult>):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
* src/WebViewImpl.h:
(WebKit):

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

12 years agoUnreviewed, GTK inspector gardening.
philn@webkit.org [Wed, 4 Apr 2012 10:47:06 +0000 (10:47 +0000)]
Unreviewed, GTK inspector gardening.

* platform/gtk/test_expectations.txt:

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

12 years agoSwitch baseline values to LayoutUnits in RenderTableSection.
leviw@chromium.org [Wed, 4 Apr 2012 10:37:36 +0000 (10:37 +0000)]
Switch baseline values to LayoutUnits in RenderTableSection.
https://bugs.webkit.org/show_bug.cgi?id=83017

Reviewed by Julien Chaffraix.

We initially intend to keep table layout on integers post switching the render tree to primarily
use sub-pixel precision. Baseline positions switch to sub-pixel units, and in table layout code are
combined with padding (also sub-pixel), which means we ideally won't truncate their values until
after they're added together. Converting baseline values in RenderTableSection to LayoutUnits.

No new tests. No change in behavior.

* rendering/RenderTableSection.cpp:
(WebCore::RenderTableSection::calcRowLogicalHeight):
(WebCore::RenderTableSection::layoutRows):
* rendering/RenderTableSection.h:
(RowStruct):

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

12 years ago[GTK] Scrolling doesn't work in WebKit2 since r110185
commit-queue@webkit.org [Wed, 4 Apr 2012 10:29:26 +0000 (10:29 +0000)]
[GTK] Scrolling doesn't work in WebKit2 since r110185
https://bugs.webkit.org/show_bug.cgi?id=81779

Patch by Zan Dobersek <zandobersek@gmail.com> on 2012-04-04
Reviewed by James Robinson.

Bring back functionality of the ScrollAnimatorNone for ports that
use a fallback timer for animation frames.

No new tests - only restoring previous functionality.

* platform/ScrollAnimatorNone.cpp:
(WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
(WebCore::ScrollAnimatorNone::fireUpAnAnimation):
(WebCore):
(WebCore::ScrollAnimatorNone::animationTimerFired):
(WebCore::ScrollAnimatorNone::startNextTimer):
(WebCore::ScrollAnimatorNone::animationTimerActive):
(WebCore::ScrollAnimatorNone::stopAnimationTimerIfNeeded):
* platform/ScrollAnimatorNone.h:
(ScrollAnimatorNone):

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

12 years agoUnreviewed, GTK inspector gardening.
philn@webkit.org [Wed, 4 Apr 2012 10:27:09 +0000 (10:27 +0000)]
Unreviewed, GTK inspector gardening.

* platform/gtk/Skipped:
* platform/gtk/test_expectations.txt:

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

12 years ago[Qt] Unreviewed gardening. Skip a new _crashing_ test and unskip a non-existing test.
ossy@webkit.org [Wed, 4 Apr 2012 10:13:16 +0000 (10:13 +0000)]
[Qt] Unreviewed gardening. Skip a new _crashing_ test and unskip a non-existing test.

* platform/qt/Skipped:
* platform/qt/fast/forms/label/labelable-elements-expected.txt: Added after r113148 and r113137.

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

12 years agoWeb Inspector: CodeGeneratorInspector.py: switch Inspector, Memory and Database domai...
yurys@chromium.org [Wed, 4 Apr 2012 09:36:28 +0000 (09:36 +0000)]
Web Inspector: CodeGeneratorInspector.py: switch Inspector, Memory and Database domains to typed API
https://bugs.webkit.org/show_bug.cgi?id=82958

Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-04-02
Reviewed by Yury Semikhatsky.

Client code is switched to typed API (all InspectorObject and InspectorArray types are replaced with
generated types from TypeBuilder according to Inspector.json).

Missing array of InspectorValues specialization is added.

* inspector/CodeGeneratorInspector.py:
* inspector/InjectedScriptHost.cpp:
(WebCore::InjectedScriptHost::inspectImpl):
* inspector/InspectorAgent.cpp:
(WebCore::InspectorAgent::inspect):
* inspector/InspectorAgent.h:
(InspectorAgent):
* inspector/InspectorDatabaseAgent.cpp:
(WebCore):
(WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
* inspector/InspectorDatabaseAgent.h:
(InspectorDatabaseAgent):
* inspector/InspectorDatabaseResource.cpp:
(WebCore::InspectorDatabaseResource::bind):
* inspector/InspectorMemoryAgent.cpp:
(WebCore::InspectorMemoryAgent::getDOMNodeCount):
* inspector/InspectorMemoryAgent.h:
(InspectorMemoryAgent):

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

12 years agoWeb Inspector: make padding and client window width part of timeline calculator's...
caseq@chromium.org [Wed, 4 Apr 2012 09:27:13 +0000 (09:27 +0000)]
Web Inspector: make padding and client window width part of timeline calculator's state
https://bugs.webkit.org/show_bug.cgi?id=83122

Reviewed by Pavel Feldman.

- preserve window width and padding within TimelineCalculator
- rely on calculator to add expansion arrow padding
- add TimelineCalculator::computePosition() for computing single position (not entire bar dimensions)

* inspector/front-end/MemoryStatistics.js:
(WebInspector.MemoryStatistics.prototype._refreshDividers):
* inspector/front-end/TimelineGrid.js:
(WebInspector.TimelineGrid.prototype.updateDividers):
* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane.prototype._update):
(WebInspector.TimelineOverviewPane.prototype._reset):
(WebInspector.TimelineOverviewCalculator.prototype.computePosition):
(WebInspector.TimelineOverviewCalculator.prototype.setDisplayWindow):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._updateEventDividers):
(WebInspector.TimelinePanel.prototype._refresh):
(WebInspector.TimelinePanel.prototype._refreshRecords):
(WebInspector.TimelineCalculator):
(WebInspector.TimelineCalculator.prototype.computePosition):
(WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
(WebInspector.TimelineCalculator.prototype.setDisplayWindow):
(WebInspector.TimelineRecordGraphRow.prototype.update):
(WebInspector.TimelineExpandableElement.prototype._update):

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

12 years agoUnreviewed, GTK baseline for test added in r112816.
philn@webkit.org [Wed, 4 Apr 2012 09:12:21 +0000 (09:12 +0000)]
Unreviewed, GTK baseline for test added in r112816.

* platform/gtk/fast/text/international/text-spliced-font-expected.txt: Added.

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

12 years agoUnreviewed, rolling out r113149.
commit-queue@webkit.org [Wed, 4 Apr 2012 09:01:54 +0000 (09:01 +0000)]
Unreviewed, rolling out r113149.
http://trac.webkit.org/changeset/113149
https://bugs.webkit.org/show_bug.cgi?id=83126

for breaking Chromium builders (Requested by pfeldman on
#webkit).

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

Source/WebCore:

* Modules/speech/SpeechGrammar.h:
* Modules/speech/SpeechRecognition.cpp:
(WebCore::SpeechRecognition::audioStartCallback):
(WebCore::SpeechRecognition::soundStartCallback):
(WebCore::SpeechRecognition::speechStartCallback):
(WebCore::SpeechRecognition::speechEndCallback):
(WebCore::SpeechRecognition::audioEndCallback):
(WebCore::SpeechRecognition::resultCallback):
(WebCore::SpeechRecognition::noMatchCallback):
(WebCore::SpeechRecognition::resultDeletedCallback):
(WebCore::SpeechRecognition::errorCallback):
(WebCore::SpeechRecognition::startCallback):
(WebCore::SpeechRecognition::endCallback):
* Modules/speech/SpeechRecognition.h:
(SpeechRecognition):
* Modules/speech/SpeechRecognitionClient.h:
(SpeechRecognitionClient):
* Modules/speech/SpeechRecognitionController.h:
(WebCore::SpeechRecognitionController::visibilityHidden):
(WebCore::SpeechRecognitionController::unregisterSpeechRecognition):

Source/WebKit/chromium:

* WebKit.gyp:
* public/WebSpeechGrammar.h: Removed.
* public/WebSpeechRecognitionHandle.h: Removed.
* public/WebSpeechRecognitionParams.h: Removed.
* public/WebSpeechRecognitionResult.h: Removed.
* public/WebSpeechRecognizer.h: Removed.
* public/WebSpeechRecognizerClient.h: Removed.
* public/WebViewClient.h:
(WebKit):
* src/SpeechRecognitionClientProxy.cpp: Removed.
* src/SpeechRecognitionClientProxy.h: Removed.
* src/WebSpeechGrammar.cpp: Removed.
* src/WebSpeechRecognitionHandle.cpp: Removed.
* src/WebSpeechRecognitionResult.cpp: Removed.
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
* src/WebViewImpl.h:
(WebKit):

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

12 years agoNot reviewed: expectations updated for chromium.
pfeldman@chromium.org [Wed, 4 Apr 2012 08:52:40 +0000 (08:52 +0000)]
Not reviewed: expectations updated for chromium.

* platform/chromium-linux/fast/forms/datalist/input-list-expected.png: Added.
* platform/chromium-linux/fast/forms/datalist/input-selectedoption-expected.png: Added.
* platform/chromium-mac-leopard/fast/forms/datalist/input-selectedoption-expected.png: Added.
* platform/chromium-mac/fast/forms/datalist/input-list-expected.png: Added.
* platform/chromium-mac/fast/forms/datalist/input-list-expected.txt: Added.
* platform/chromium-mac/fast/forms/datalist/input-selectedoption-expected.png: Added.
* platform/chromium-mac/fast/forms/datalist/input-selectedoption-expected.txt: Added.
* platform/chromium-win/fast/forms/datalist/input-list-expected.png: Added.
* platform/chromium-win/fast/forms/datalist/input-list-expected.txt: Added.
* platform/chromium-win/fast/forms/datalist/input-selectedoption-expected.png: Added.
* platform/chromium-win/fast/forms/datalist/input-selectedoption-expected.txt: Added.

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

12 years agoWeb Inspector: event marks are missing in the timeline overview
caseq@chromium.org [Wed, 4 Apr 2012 08:47:00 +0000 (08:47 +0000)]
Web Inspector: event marks are missing in the timeline overview
https://bugs.webkit.org/show_bug.cgi?id=83043

Reviewed by Pavel Feldman.

- invoke overview event dividers update as part of overview update, not lower pane update;
- store raw records for event dividers within overview;
- moved createEventDividers to a class method of TimelinePresentationModel for reuse.
- ditto for forAllRecords

* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype._update):
(WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
(WebInspector.TimelineOverviewPane.prototype._updateEventDividers):
(WebInspector.TimelineOverviewPane.prototype._onRecordAdded):
(WebInspector.TimelineOverviewPane.prototype._reset):
(WebInspector.HeapGraph.prototype.update):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype._updateEventDividers):
(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.addTimestampRecords):
(WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
* inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.isEventDivider):
(WebInspector.TimelinePresentationModel.forAllRecords):
(WebInspector.TimelinePresentationModel.createEventDivider):

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

12 years agoUnreviewed, update platform test expectations for worker-reload.html.
yutak@chromium.org [Wed, 4 Apr 2012 08:39:46 +0000 (08:39 +0000)]
Unreviewed, update platform test expectations for worker-reload.html.

* platform/gtk/test_expectations.txt:
* platform/mac/test_expectations.txt:

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

12 years agoSpeech JavaScript API: Plumbing for Chromium
hans@chromium.org [Wed, 4 Apr 2012 08:34:36 +0000 (08:34 +0000)]
Speech JavaScript API: Plumbing for Chromium
https://bugs.webkit.org/show_bug.cgi?id=81667

Reviewed by Darin Fisher.

Source/WebCore:

SpeechGrammar::src() is called with a ScriptExecutionContext, because
the attribute setter needs it. Provide a src() method that doesn't
take a ScriptExecutionContext that can be used internally.

Rename SpeechRecognition::audioStartCallback(), etc. to use event style
names, i.e. didStartAudio(), etc.

Remove SpeechRecognitionClient::notifyVisibilityHidden(). The embedder
can keep track of the visibility.

Remove SpeechRecognitionClient::unregisterSpeechRecognition,
it is not needed.

No new tests, just minor tweaks.

* Modules/speech/SpeechGrammar.h:
(WebCore::SpeechGrammar::src):
* Modules/speech/SpeechRecognition.cpp:
(WebCore::SpeechRecognition::didStartAudio):
(WebCore::SpeechRecognition::didStartSound):
(WebCore::SpeechRecognition::didStartSpeech):
(WebCore::SpeechRecognition::didEndSpeech):
(WebCore::SpeechRecognition::didEndSound):
(WebCore):
(WebCore::SpeechRecognition::didEndAudio):
(WebCore::SpeechRecognition::didReceiveResult):
(WebCore::SpeechRecognition::didReceiveNoMatch):
(WebCore::SpeechRecognition::didDeleteResult):
(WebCore::SpeechRecognition::didReceiveError):
(WebCore::SpeechRecognition::didStart):
(WebCore::SpeechRecognition::didEnd):
* Modules/speech/SpeechRecognition.h:
(SpeechRecognition):
* Modules/speech/SpeechRecognitionClient.h:
(SpeechRecognitionClient):
* Modules/speech/SpeechRecognitionController.h:

Source/WebKit/chromium:

Add plumbing for speech recognition.

The implementer is expected to implement the WebSpeechRecognizer interface.
The start(), stop(), and abort() functions of that interface take a
WebSpeechRecognitionHandle argument, which identifies the object which has
requested the action, and a pointer to a WebSpeechRecognitionClient interface,
through which it should send back notifications on progress, errors, etc.

SpeechRecognitionClientProxy passes data between the WebCore and WebKit layers,
implementing the WebCore::SpeechRecognitionClient and WebKit::WebSpeechRecognizerClient
interfaces.

* WebKit.gyp:
* public/WebSpeechGrammar.h:
(WebCore):
(WebKit):
(WebSpeechGrammar):
(WebKit::WebSpeechGrammar::WebSpeechGrammar):
(WebKit::WebSpeechGrammar::~WebSpeechGrammar):
* public/WebSpeechRecognitionHandle.h: Added.
(WebCore):
(WebKit):
(WebSpeechRecognitionHandle):
(WebKit::WebSpeechRecognitionHandle::~WebSpeechRecognitionHandle):
(WebKit::WebSpeechRecognitionHandle::WebSpeechRecognitionHandle):
(WebKit::WebSpeechRecognitionHandle::operator=):
(WebKit::operator==):
(WebKit::operator!=):
(WebKit::operator<):
* public/WebSpeechRecognitionParams.h:
(WebKit):
(WebSpeechRecognitionParams):
(WebKit::WebSpeechRecognitionParams::grammars):
(WebKit::WebSpeechRecognitionParams::language):
(WebKit::WebSpeechRecognitionParams::continuous):
* public/WebSpeechRecognitionResult.h: Added.
(WebCore):
(WebKit):
(WebSpeechRecognitionResult):
(WebKit::WebSpeechRecognitionResult::WebSpeechRecognitionResult):
(WebKit::WebSpeechRecognitionResult::~WebSpeechRecognitionResult):
* public/WebSpeechRecognizer.h:
(WebKit):
(WebSpeechRecognizer):
(WebKit::WebSpeechRecognizer::start):
(WebKit::WebSpeechRecognizer::stop):
(WebKit::WebSpeechRecognizer::abort):
(WebKit::WebSpeechRecognizer::~WebSpeechRecognizer):
* public/WebSpeechRecognizerClient.h: Added.
(WebKit):
(WebSpeechRecognizerClient):
* public/WebViewClient.h:
(WebKit):
(WebViewClient):
(WebKit::WebViewClient::speechRecognizer):
* src/SpeechRecognitionClientProxy.cpp: Added.
(WebKit):
(WebKit::SpeechRecognitionClientProxy::~SpeechRecognitionClientProxy):
(WebKit::SpeechRecognitionClientProxy::create):
(WebKit::SpeechRecognitionClientProxy::start):
(WebKit::SpeechRecognitionClientProxy::stop):
(WebKit::SpeechRecognitionClientProxy::abort):
(WebKit::SpeechRecognitionClientProxy::didStartAudio):
(WebKit::SpeechRecognitionClientProxy::didStartSound):
(WebKit::SpeechRecognitionClientProxy::didStartSpeech):
(WebKit::SpeechRecognitionClientProxy::didEndSpeech):
(WebKit::SpeechRecognitionClientProxy::didEndSound):
(WebKit::SpeechRecognitionClientProxy::didEndAudio):
(WebKit::SpeechRecognitionClientProxy::didReceiveResult):
(WebKit::SpeechRecognitionClientProxy::didReceiveNoMatch):
(WebKit::SpeechRecognitionClientProxy::didDeleteResult):
(WebKit::SpeechRecognitionClientProxy::didReceiveError):
(WebKit::SpeechRecognitionClientProxy::didStart):
(WebKit::SpeechRecognitionClientProxy::didEnd):
(WebKit::SpeechRecognitionClientProxy::SpeechRecognitionClientProxy):
* src/SpeechRecognitionClientProxy.h: Added.
(WebKit):
(SpeechRecognitionClientProxy):
* src/WebSpeechGrammar.cpp: Added.
(WebKit):
(WebKit::WebSpeechGrammar::reset):
(WebKit::WebSpeechGrammar::WebSpeechGrammar):
(WebKit::WebSpeechGrammar::operator=):
(WebKit::WebSpeechGrammar::src):
(WebKit::WebSpeechGrammar::weight):
* src/WebSpeechRecognitionHandle.cpp: Added.
(WebKit):
(WebKit::WebSpeechRecognitionHandle::reset):
(WebKit::WebSpeechRecognitionHandle::assign):
(WebKit::WebSpeechRecognitionHandle::equals):
(WebKit::WebSpeechRecognitionHandle::lessThan):
(WebKit::WebSpeechRecognitionHandle::WebSpeechRecognitionHandle):
(WebKit::WebSpeechRecognitionHandle::operator=):
(WebKit::WebSpeechRecognitionHandle::operator PassRefPtr<SpeechRecognition>):
* src/WebSpeechRecognitionParams.cpp: Added.
(WebKit):
(WebKit::WebSpeechRecognitionParams::WebSpeechRecognitionParams):
* src/WebSpeechRecognitionResult.cpp: Added.
(WebKit):
(WebKit::WebSpeechRecognitionResult::assign):
(WebKit::WebSpeechRecognitionResult::reset):
(WebKit::WebSpeechRecognitionResult::operator PassRefPtr<WebCore::SpeechRecognitionResult>):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::WebViewImpl):
* src/WebViewImpl.h:
(WebKit):

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

12 years agoUnreviewed, rebaseline after r113137 and skip some more flaky
philn@webkit.org [Wed, 4 Apr 2012 08:03:31 +0000 (08:03 +0000)]
Unreviewed, rebaseline after r113137 and skip some more flaky
inspector tests on GTK.

* fast/forms/label/labelable-elements-expected.txt:
* platform/gtk/test_expectations.txt:

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

12 years agoFix build break when CONTEXT_MENUS is disabled.
commit-queue@webkit.org [Wed, 4 Apr 2012 07:30:54 +0000 (07:30 +0000)]
Fix build break when CONTEXT_MENUS is disabled.
https://bugs.webkit.org/show_bug.cgi?id=82342

Patch by Mariusz Grzegorczyk <mariusz.g@samsung.com> on 2012-04-04
Reviewed by Andreas Kling.

Fixes build break in WebKit-Gtk, and WebKit-EFL ports when CONTEXT_MENUS macro is disabled.

Source/WebCore:

* page/ContextMenuClient.h:
* page/ContextMenuController.h:
* page/Page.cpp:
(WebCore::Page::PageClients::PageClients):
* page/Page.h:
(WebCore):
(PageClients):
* platform/ContextMenu.cpp:
* platform/ContextMenu.h:
* platform/ContextMenuItem.cpp:
* platform/ContextMenuItem.h:
* platform/efl/ContextMenuEfl.cpp:
* platform/efl/ContextMenuItemEfl.cpp:
* platform/gtk/ContextMenuGtk.cpp:
* platform/gtk/ContextMenuItemGtk.cpp:

Source/WebKit/gtk:

* WebCoreSupport/ContextMenuClientGtk.cpp:
* WebCoreSupport/ContextMenuClientGtk.h:
* webkit/webkitglobals.cpp:
(webkit_context_menu_item_get_action):
* webkit/webkitwebview.cpp:
(webkit_web_view_button_press_event):
(webkit_web_view_class_init):
(webkit_web_view_init):

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

12 years agoFixed some WebKit2 crashes seen on the buildbot after my last patch.
ggaren@apple.com [Wed, 4 Apr 2012 07:17:47 +0000 (07:17 +0000)]
Fixed some WebKit2 crashes seen on the buildbot after my last patch.

Reviewed by Beth Dakin.

* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::finalize): Don't try to get our value
out of the map, since Weak<T> returns NULL during finalization. Instead,
use the handle we've been passed for finalization.

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

12 years agoThe baseline for this test is V8-specific. This patch moves the
abarth@webkit.org [Wed, 4 Apr 2012 07:11:55 +0000 (07:11 +0000)]
The baseline for this test is V8-specific. This patch moves the
baseline to the chromium directory and places the JSC result in the
cross-platform directory.

* http/tests/security/srcdoc-in-sandbox-cannot-access-parent-expected.txt: Replaced.
* platform/chromium/http/tests/security/srcdoc-in-sandbox-cannot-access-parent-expected.txt: Copied from LayoutTests/http/tests/security/srcdoc-in-sandbox-cannot-access-parent-expected.txt.

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

12 years agoI really hope this is the last build fix. Apparently exec doesn't quite arguments...
rniwa@webkit.org [Wed, 4 Apr 2012 06:24:39 +0000 (06:24 +0000)]
I really hope this is the last build fix. Apparently exec doesn't quite arguments with
double quotations on Windows. Use system instead.

Hopefully, this won't break anything.

* Scripts/run-webkit-tests:

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

12 years agoImplement <iframe srcdoc>
abarth@webkit.org [Wed, 4 Apr 2012 05:54:26 +0000 (05:54 +0000)]
Implement <iframe srcdoc>
https://bugs.webkit.org/show_bug.cgi?id=82991

Reviewed by Sam Weinig.

Source/WebCore:

This patch implements the <iframe srcdoc> feature. This feature allows
authors to easily supply the contents of an iframe without needing to
round-trip to the server. Using srcdoc is more convenient than using
data URLs because we set a bunch of properties of the child document
sensibly. For example, the child inherits the base URL of the parent
and the child uses standards mode by default.

This feature is specified in
<http://www.whatwg.org/specs/web-apps/current-work/#attr-iframe-srcdoc>.
Although the feature has been in the spec for a while, I'm not aware of
any other implementations in major browsers. The srcdoc feature works
especially well with the sandbox and seamless attributes. We already
implement sandbox and will likely implement seamless soon.

The srcdoc feature was announced on the webkit-dev mailing list on March 30:
https://lists.webkit.org/pipermail/webkit-dev/2012-March/020161.html

This patch approaches the implementation using SubstituteData, which is
a mechanism previously used for error messages and the like. Using
SubstituteData has the advantage of not needing to modify the loading
or history pipelines at all, making the integration of srcdoc with the
rest of WebCore quite smooth.

This patch encodes the contents of the srcdoc attribute to and from
UTF-8 when round-tripping the contents through the loader. In a future
patch, I plan to experiment with whether using UTF-16 (or perhaps
another encoding) can improve performance. There might also be a way to
avoid the memcpy entirely, but these optimizations are best left to
followup patches as this patch focuses on the observable behavior of
the feature.

Tests: fast/frames/srcdoc/reloading-a-srcdoc-document-loads-it-again.html
       fast/frames/srcdoc/setting-src-does-nothing.html
       fast/frames/srcdoc/setting-srcdoc-reloads-document.html
       fast/frames/srcdoc/srcdoc-beats-src-dom.html
       fast/frames/srcdoc/srcdoc-beats-src.html
       fast/frames/srcdoc/srcdoc-can-be-in-qurks-mode.html
       fast/frames/srcdoc/srcdoc-can-navigate.html
       fast/frames/srcdoc/srcdoc-defaults-to-standards-mode.html
       fast/frames/srcdoc/srcdoc-loads-content.html
       fast/frames/srcdoc/srcdoc-urls.html
       http/tests/security/srcdoc-can-access-parent.html
       http/tests/security/srcdoc-in-sandbox-cannot-access-parent.html
       http/tests/security/srcdoc-inherits-referrer-for-forms.html
       http/tests/security/srcdoc-inherits-referrer.html

* dom/Document.cpp:
(WebCore::Document::Document):
(WebCore::Document::initSecurityContext):
    - srcdoc documents need to inherit their security contexts from
      their parents. We pick this initialization point to inherit the
      base URL and to set the "srcdoc Document" bit so that everything
      gets initialized atomically and from precisely the same owner
      frame.
* dom/Document.h:
(Document):
(WebCore::Document::isSrcdocDocument):
    - This bit of state is present in the HTML5 spec and is referred to
      by a number of different requirements in the spec.
* html/HTMLAttributeNames.in:
* html/HTMLFrameElementBase.cpp:
(WebCore::HTMLFrameElementBase::parseAttribute):
(WebCore::HTMLFrameElementBase::location):
    - These functions implement the requirement that the srcdoc
      attribute takes precedence over the src attribute and triggers a
      load of a document with the URL about:srcdoc.
* html/HTMLIFrameElement.idl:
    - Expose the srcdoc property as a reflection of the DOM attribute.
* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::defaultForInitial):
    - This tweak allows srcdoc documents to use standards mode by
      default, saving authors from having to include a doctype in each
      srcdoc document.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::defaultSubstituteDataForURL):
    - This function transfers the contents of the srcdoc attribute into
      the loading pipeline. If the client supplies other
      SubstituteData, that takes precendence over our "default"
      SubstituteData.
(WebCore::FrameLoader::outgoingReferrer):
    - This function implements the requirement from the HTML5 spec that
      srcdoc documents inherit their referrer from their parent
      document. A recursive implementation might have been more
      aesthetic but the iterative implementation seemed like a better
      choice.
(WebCore::FrameLoader::shouldTreatURLAsSrcdocDocument):
    - An about:srcdoc URL only has special meaning when loaded in an
      iframe with a srcdoc attribute. Otherwise, it's just a normal
      "about" URL, meaning a blank page.
(WebCore::FrameLoader::urlSelected):
(WebCore::FrameLoader::submitForm):
(WebCore::FrameLoader::loadFrameRequest):
(WebCore::FrameLoader::load):
(WebCore::FrameLoader::loadWithNavigationAction):
(WebCore::FrameLoader::reloadWithOverrideEncoding):
(WebCore::FrameLoader::reload):
(WebCore::FrameLoader::loadResourceSynchronously):
    - Update these call sites to call defaultSubstituteDataForURL and
      outgoingReferrer consistently.
* loader/FrameLoader.h:
(FrameLoader):

LayoutTests:

Add a number of tests for <iframe srcdoc>. These tests cover all the
requirements I could find in the HTML5 specification by grepping for
the term "srcdoc".

* fast/frames/srcdoc/reloading-a-srcdoc-document-loads-it-again-expected.txt: Added.
* fast/frames/srcdoc/reloading-a-srcdoc-document-loads-it-again.html: Added.
* fast/frames/srcdoc/setting-src-does-nothing-expected.txt: Added.
* fast/frames/srcdoc/setting-src-does-nothing.html: Added.
* fast/frames/srcdoc/setting-srcdoc-reloads-document-expected.txt: Added.
* fast/frames/srcdoc/setting-srcdoc-reloads-document.html: Added.
* fast/frames/srcdoc/srcdoc-beats-src-dom-expected.txt: Added.
* fast/frames/srcdoc/srcdoc-beats-src-dom.html: Added.
* fast/frames/srcdoc/srcdoc-beats-src-expected.txt: Added.
* fast/frames/srcdoc/srcdoc-beats-src.html: Added.
* fast/frames/srcdoc/srcdoc-can-be-in-qurks-mode-expected.txt: Added.
* fast/frames/srcdoc/srcdoc-can-be-in-qurks-mode.html: Added.
* fast/frames/srcdoc/srcdoc-can-navigate-expected.txt: Added.
* fast/frames/srcdoc/srcdoc-can-navigate.html: Added.
* fast/frames/srcdoc/srcdoc-defaults-to-standards-mode-expected.txt: Added.
* fast/frames/srcdoc/srcdoc-defaults-to-standards-mode.html: Added.
* fast/frames/srcdoc/srcdoc-loads-content-expected.txt: Added.
* fast/frames/srcdoc/srcdoc-loads-content.html: Added.
* fast/frames/srcdoc/srcdoc-urls-expected.txt: Added.
* fast/frames/srcdoc/srcdoc-urls.html: Added.
* http/tests/security/srcdoc-can-access-parent-expected.txt: Added.
* http/tests/security/srcdoc-can-access-parent.html: Added.
* http/tests/security/srcdoc-in-sandbox-cannot-access-parent-expected.txt: Added.
* http/tests/security/srcdoc-in-sandbox-cannot-access-parent.html: Added.
* http/tests/security/srcdoc-inherits-referrer-expected.txt: Added.
* http/tests/security/srcdoc-inherits-referrer-for-forms-expected.txt: Added.
* http/tests/security/srcdoc-inherits-referrer-for-forms.html: Added.
* http/tests/security/srcdoc-inherits-referrer.html: Added.

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

12 years agoUpdated JSC expected test results to reflect recent bug fixes <disapproving look>.
ggaren@apple.com [Wed, 4 Apr 2012 05:37:36 +0000 (05:37 +0000)]
Updated JSC expected test results to reflect recent bug fixes <disapproving look>.

Reviewed by Sam Weinig.

* tests/mozilla/expected.html:

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

12 years agoFirst step toward incremental Weak<T> finalization
ggaren@apple.com [Wed, 4 Apr 2012 05:28:13 +0000 (05:28 +0000)]
First step toward incremental Weak<T> finalization
https://bugs.webkit.org/show_bug.cgi?id=82670

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

This patch implements a Weak<T> heap that is compatible with incremental
finalization, while making as few behavior changes as possible. The behavior
changes it makes are:

(*) Weak<T>'s raw JSValue no longer reverts to JSValue() automatically --
instead, a separate flag indicates that the JSValue is no longer valid.
(This is required so that the JSValue can be preserved for later finalization.)
Objects dealing with WeakImpls directly must change to check the flag.

(*) Weak<T> is no longer a subclass of Handle<T>.

(*) DOM GC performance is different -- 9% faster in the geometric mean,
but 15% slower in one specific case:
        gc-dom1.html: 6%  faster
        gc-dom2.html: 23% faster
        gc-dom3.html: 17% faster
        gc-dom4.html: 15% *slower*

The key features of this new heap are:

(*) Each block knows its own state, independent of any other blocks.

(*) Each block caches its own sweep result.

(*) The heap visits dead Weak<T>s at the end of GC. (It doesn't
mark them yet, since that would be a behavior change.)

* API/JSCallbackObject.cpp:
(JSC::JSCallbackObjectData::finalize):
* API/JSCallbackObjectFunctions.h:
(JSC::::init): Updated to use the new WeakHeap API.

* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.gypi:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri: Paid the build system tax since I added some new files.

* heap/Handle.h: Made WeakBlock a friend and exposed slot() as public,
so we can keep passing a Handle<T> to finalizers, to avoid more surface
area change in this patch. A follow-up patch should change the type we
pass to finalizers.

* heap/HandleHeap.cpp:
(JSC):
(JSC::HandleHeap::writeBarrier):
(JSC::HandleHeap::isLiveNode):
* heap/HandleHeap.h:
(JSC):
(HandleHeap):
(Node):
(JSC::HandleHeap::Node::Node): Removed all code related to Weak<T>, since
we have a separate WeakHeap now.

* heap/Heap.cpp:
(JSC::Heap::Heap): Removed m_extraCost because extra cost is accounted
for through our watermark now. Removed m_waterMark because it was unused.

(JSC::Heap::destroy): Updated for addition of WeakHeap.

(JSC::Heap::reportExtraMemoryCostSlowCase): Changed from using its own
variable to participating in the watermark strategy. I wanted to standardize
WeakHeap and all other Heap clients on this strategy, to make sure it's
accurate.

(JSC::Heap::markRoots): Updated for addition of WeakHeap. Added WeakHeap
dead visit pass, as explained above.

(JSC::Heap::collect):
(JSC::Heap::resetAllocators): Updated for addition of WeakHeap.

(JSC::Heap::addFinalizer):
(JSC::Heap::FinalizerOwner::finalize): Updated for new Weak<T> API.

* heap/Heap.h:
(JSC::Heap::weakHeap):
(Heap):
(JSC::Heap::addToWaterMark): Added a way to participate in the watermarking
strategy, since this is the best way for WeakHeap to report its memory
cost. (I plan to update this in a follow-up patch to make it more accurate,
but for now it is not less accurate than it used to be.)

* heap/MarkedSpace.cpp:
(JSC::MarkedSpace::MarkedSpace):
(JSC::MarkedSpace::resetAllocators):
* heap/MarkedSpace.h:
(MarkedSpace):
(JSC::MarkedSpace::addToWaterMark):
(JSC::MarkedSpace::didConsumeFreeList): Removed m_nurseryWaterMark because
it was unused, and I didn't want to update WeakHeap to keep an usused
variable working. Added API for above.

* heap/PassWeak.h:
(JSC):
(WeakImplAccessor):
(PassWeak):
(JSC::::operator):
(JSC::::get):
(JSC::::was):
(JSC::::PassWeak):
(JSC::::~PassWeak):
(JSC::UnspecifiedBoolType):
(JSC::::leakImpl):
(JSC::adoptWeak):
* heap/Strong.h:
(JSC::Strong::operator!):
(Strong):
(JSC::Strong::operator UnspecifiedBoolType*):
(JSC::Strong::get):
* heap/Weak.h:
(Weak):
(JSC::::Weak):
(JSC):
(JSC::::isHashTableDeletedValue):
(JSC::::~Weak):
(JSC::::swap):
(JSC::=):
(JSC::::operator):
(JSC::UnspecifiedBoolType):
(JSC::::release):
(JSC::::clear):
(JSC::::hashTableDeletedValue): Lots of code changes here, but they boil
down to two things:

(*) Allocate WeakImpls from the WeakHeap instead of Handles from the HandleHeap.

(*) Explicitly check WeakImpl::state() for non-liveness before returning
a value (explained above).

These files implement the new Weak<T> heap behavior described above:

* heap/WeakBlock.cpp: Added.
* heap/WeakBlock.h: Added.
* heap/WeakHandleOwner.cpp: Added.
* heap/WeakHandleOwner.h: Added.
* heap/WeakHeap.cpp: Added.
* heap/WeakHeap.h: Added.
* heap/WeakImpl.h: Added.

One interesting difference from the old heap is that we don't allow
clients to overwrite a WeakImpl after allocating it, and we don't recycle
WeakImpls prior to garbage collection. This is required for lazy finalization,
but it will also help us esablish a useful invariant in the future: allocating
a WeakImpl will be a binding contract to run a finalizer at some point in the
future, even if the WeakImpl is later deallocated.

* jit/JITStubs.cpp:
(JSC::JITThunks::hostFunctionStub): Check the Weak<T> for ! instead of
its JSValue, since that's our API contract now, and the JSValue might
be stale.

* runtime/JSCell.h:
(JSC::jsCast): Allow casting NULL pointers because it's useful and harmless.

* runtime/Structure.cpp:
(JSC::StructureTransitionTable::add): I can't remember why I did this.

* runtime/StructureTransitionTable.h:
* runtime/WeakGCMap.h: I had to update these classes because they allocate
and deallocate weak pointers manually. They should probably stop doing that.

Source/WebCore:

Updated WebCore for Weak<T> API changes.

* bindings/js/DOMWrapperWorld.cpp:
(WebCore::JSStringOwner::finalize): We're not allowed to get() a dead Weak<T>
anymore, so use the debug-only was() helper function instead.

* bindings/js/JSDOMBinding.h:
(WebCore::uncacheWrapper): Ditto.

* bindings/js/JSNodeCustom.h:
(WebCore::setInlineCachedWrapper):
(WebCore::clearInlineCachedWrapper): We're not allowed to get() a dead
Weak<T>, so I had to push down these ASSERTs into ScriptWrappable.

* bindings/js/JSNodeFilterCondition.cpp:
(WebCore::JSNodeFilterCondition::acceptNode): Updated for non-Handle-ness
of Weak<T>.

* bindings/js/ScriptWrappable.h:
(WebCore::ScriptWrappable::setWrapper):
(WebCore::ScriptWrappable::clearWrapper): Use was(), as above.

Source/WebKit2:

Updated for API change.

* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::finalize):

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

12 years agoremove WebKit files from .gitattributes
tony@chromium.org [Wed, 4 Apr 2012 05:18:02 +0000 (05:18 +0000)]
remove WebKit files from .gitattributes
https://bugs.webkit.org/show_bug.cgi?id=82966

Reviewed by Adam Barth.

* .gitattributes: These entries were never updated from the move to
Source/WebKit so they're probably not needed.

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

12 years agoDon't parse "show" and "hide" as valid values for display property.
macpherson@chromium.org [Wed, 4 Apr 2012 05:05:37 +0000 (05:05 +0000)]
Don't parse "show" and "hide" as valid values for display property.
https://bugs.webkit.org/show_bug.cgi?id=83115

Reviewed by Adam Barth.

No new tests.

* css/CSSParser.cpp:
(WebCore::isValidKeywordPropertyAndValue):

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

12 years agoCrash in WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocket...
yutak@chromium.org [Wed, 4 Apr 2012 05:00:54 +0000 (05:00 +0000)]
Crash in WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel
https://bugs.webkit.org/show_bug.cgi?id=82873

Reviewed by David Levin.

Source/WebCore:

WorkerThreadableWebSocketChannel::Bridge should properly handle the cases where inter-thread
callback is not called due to the termination of the worker run loop. Specifically, the bridge
should not send its "this" pointer to the main thread, because the bridge object may be freed
in the worker thread before the main thread starts to process.

Test: http/tests/websocket/tests/hybi/workers/worker-reload.html

* Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
(WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
(WebCore::ThreadableWebSocketChannelClientWrapper::peer):
(WebCore::ThreadableWebSocketChannelClientWrapper::didCreateWebSocketChannel):
Renamed from setUseHixie76Protocol, as this funtion now also sets m_peer.
Sets m_syncMethodDone to true, because this function is called in the end of
synchronous wait of Bridge::initialize().
(WebCore::ThreadableWebSocketChannelClientWrapper::clearPeer):
(WebCore::ThreadableWebSocketChannelClientWrapper::useHixie76Protocol):
* Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
Add WorkerThreadableWebSocketChannel::Peer which is initialized after the creation of
WebSocketChannel in the main thread.
(ThreadableWebSocketChannelClientWrapper):
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
(WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
Don't do synchronous wait in the constructor, as a member function may be called
during the wait before the constructor finishes. The meat of the constructor has
moved to initialize() function.
(WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::~Bridge):
(WorkerContextDidInitializeTask):
(WebCore::WorkerContextDidInitializeTask::create):
(WebCore::WorkerContextDidInitializeTask::~WorkerContextDidInitializeTask):
(WebCore::WorkerContextDidInitializeTask::WorkerContextDidInitializeTask):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize):
Don't pass "this" object to the main thread. Receive the pointer to the peer object
via ThreadableWebSocketChannelClientWrapper which is ThreadSafeRefCounted<>.
(WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
m_peer may be NULL, and we should not do anything in that case.
(WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
(WebCore::WorkerThreadableWebSocketChannel::mainThreadClose):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
(WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
(WorkerThreadableWebSocketChannel):
(WebCore::WorkerThreadableWebSocketChannel::refThreadableWebSocketChannel):
(WebCore::WorkerThreadableWebSocketChannel::derefThreadableWebSocketChannel):
(Bridge):
* workers/DefaultSharedWorkerRepository.cpp:
(SharedWorkerProxy):
(WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
* workers/WorkerLoaderProxy.h:
(WorkerLoaderProxy::postTaskForModeToWorkerContext):
Return bool to indicate whether postTask was successful or not. This is necessary
to avoid memory leaks of Peer object in Bridge::initialize() function.
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext):
* workers/WorkerMessagingProxy.h:
(WorkerMessagingProxy):

Source/WebKit/chromium:

Change the function signature of WorkerLoaderProxy::postTaskForModeToWorkerContext().

* src/WebSharedWorkerImpl.cpp:
(WebKit::WebSharedWorkerImpl::postTaskForModeToWorkerContext):
* src/WebSharedWorkerImpl.h:
(WebSharedWorkerImpl):
* src/WebWorkerClientImpl.cpp:
(WebKit::WebWorkerClientImpl::postTaskForModeToWorkerContext):
* src/WebWorkerClientImpl.h:
(WebWorkerClientImpl):

LayoutTests:

* http/tests/websocket/tests/hybi/workers/resources/worker-reload-iframe.html: Added.
* http/tests/websocket/tests/hybi/workers/resources/worker-reload.js: Added.
* http/tests/websocket/tests/hybi/workers/worker-reload-expected.txt: Added.
* http/tests/websocket/tests/hybi/workers/worker-reload.html: Added.

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

12 years agoDisable ENABLE_DATALIST for now
keishi@webkit.org [Wed, 4 Apr 2012 04:43:17 +0000 (04:43 +0000)]
Disable ENABLE_DATALIST for now
https://bugs.webkit.org/show_bug.cgi?id=82871

Reviewed by Kent Tamura.

.:

We should disable ENABLE_DATALIST because
- We need platform-dependent implementation, and non-BlackBerry platforms don't have it.
- We need to hide the content of <datalist>, but it is shown for now.

* Source/cmake/OptionsEfl.cmake: Disabled ENABLE_DATALIST.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Disabled ENABLE_DATALIST.

Source/WebCore:

* Configurations/FeatureDefines.xcconfig: Disabled ENABLE_DATALIST.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig: Disabled ENABLE_DATALIST.

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig: Disabled ENABLE_DATALIST.

Tools:

* Scripts/build-webkit: Disabled ENABLE_DATALIST.

WebKitLibraries:

* win/tools/vsprops/FeatureDefines.vsprops: Disabled ENABLE_DATALIST.

LayoutTests:

Moved datalist tests into directory fast/forms/datalist and added it to Skipped files.

* fast/forms/datalist/datalist-expected.txt: Moved from LayoutTests/fast/forms/datalist-expected.txt.
* fast/forms/datalist/datalist-nonoption-child-expected.txt: Moved from LayoutTests/fast/forms/datalist-nonoption-child-expected.txt.
* fast/forms/datalist/datalist-nonoption-child.html: Moved from LayoutTests/fast/forms/datalist-nonoption-child.html.
* fast/forms/datalist/datalist.html: Moved from LayoutTests/fast/forms/datalist.html.
* fast/forms/datalist/input-list-expected.txt: Moved from LayoutTests/fast/forms/input-list-expected.txt.
* fast/forms/datalist/input-list.html: Moved from LayoutTests/fast/forms/input-list.html.
* fast/forms/datalist/input-selectedoption-expected.txt: Moved from LayoutTests/fast/forms/input-selectedoption-expected.txt.
* fast/forms/datalist/input-selectedoption.html: Moved from LayoutTests/fast/forms/input-selectedoption.html.
* platform/chromium/test_expectations.txt:
* platform/efl/Skipped:
* platform/gtk/Skipped:
* platform/mac/Skipped:
* platform/qt/Skipped:
* platform/win/Skipped:

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

12 years agojsr/sret should be removed
fpizlo@apple.com [Wed, 4 Apr 2012 04:25:56 +0000 (04:25 +0000)]
jsr/sret should be removed
https://bugs.webkit.org/show_bug.cgi?id=82986
<rdar://problem/11017015>

Reviewed by Sam Weinig and Geoff Garen.

Replaces jsr/sret with finally block inlining.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::pushFinallyContext):
(JSC::BytecodeGenerator::emitComplexJumpScopes):
(JSC):
* bytecompiler/BytecodeGenerator.h:
(FinallyContext):
(BytecodeGenerator):
* bytecompiler/NodesCodegen.cpp:
(JSC::TryNode::emitBytecode):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::privateExecute):
* jit/JIT.cpp:
(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompile):
* jit/JIT.h:
(JIT):
* jit/JITOpcodes.cpp:
(JSC):
* jit/JITOpcodes32_64.cpp:
(JSC):
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:

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

12 years ago[Qt][WK2] Assert on startup after r113090
yael.aharon@nokia.com [Wed, 4 Apr 2012 04:21:15 +0000 (04:21 +0000)]
[Qt][WK2] Assert on startup after r113090
https://bugs.webkit.org/show_bug.cgi?id=83111

Reviewed by Noam Rosenthal.

Source/WebCore:

Add willBeDestroyed to to GraphicsLayerTextureMapper.

* platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
(WebCore::GraphicsLayerTextureMapper::~GraphicsLayerTextureMapper):
(WebCore):
(WebCore::WebGraphicsLayer::willBeDestroyed):
* platform/graphics/texmap/GraphicsLayerTextureMapper.h:
(GraphicsLayerTextureMapper):

Source/WebKit2:

Add willBeDestroyed to to WebGraphicsLayer.

* WebProcess/WebCoreSupport/WebGraphicsLayer.cpp:
(WebCore::WebGraphicsLayer::~WebGraphicsLayer):
(WebCore):
(WebCore::WebGraphicsLayer::willBeDestroyed):
* WebProcess/WebCoreSupport/WebGraphicsLayer.h:
(WebGraphicsLayer):

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

12 years agoSigh... this isn't going well. I can't even reproduce this issue locally.
rniwa@webkit.org [Wed, 4 Apr 2012 03:52:07 +0000 (03:52 +0000)]
Sigh... this isn't going well. I can't even reproduce this issue locally.
Another speculative fix.

* Scripts/run-webkit-tests:

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

12 years agoAllow the old WebKit2 drawing model to host layers in the window server
weinig@apple.com [Wed, 4 Apr 2012 03:35:40 +0000 (03:35 +0000)]
Allow the old WebKit2 drawing model to host layers in the window server
<rdar://problem/11170525>
https://bugs.webkit.org/show_bug.cgi?id=83101

Reviewed by Anders Carlsson.

* UIProcess/DrawingAreaProxyImpl.cpp:
(WebKit::DrawingAreaProxyImpl::layerHostingModeDidChange):
* UIProcess/DrawingAreaProxyImpl.h:
(DrawingAreaProxyImpl):
* WebProcess/WebPage/DrawingArea.h:
(DrawingArea):
* WebProcess/WebPage/DrawingAreaImpl.cpp:
(WebKit::DrawingAreaImpl::setLayerHostingMode):
* WebProcess/WebPage/DrawingAreaImpl.h:
(DrawingAreaImpl):
* WebProcess/WebPage/LayerTreeHost.h:
(LayerTreeHost):
(WebKit::LayerTreeHost::setLayerHostingMode):
* WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.h:
(LayerTreeHostCAMac):
* WebProcess/WebPage/ca/mac/LayerTreeHostCAMac.mm:
(WebKit::LayerTreeHostCAMac::platformInitialize):
(WebKit::LayerTreeHostCAMac::setLayerHostingMode):
Pipe layer hosting mode to the old drawing area.

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

12 years ago[Chromium] Out-of-process font loading garbles text
bashi@chromium.org [Wed, 4 Apr 2012 03:15:33 +0000 (03:15 +0000)]
[Chromium] Out-of-process font loading garbles text
https://bugs.webkit.org/show_bug.cgi?id=83002

Reviewed by Kent Tamura.

Initialize m_CTFont by using m_cgFont in FontPlatformData when we use
out-of-process font loading.

No new tests. This problem only occurs when the user uses a third party
font management software like Font Explorer so it is difficult to add
tests.

* platform/graphics/chromium/CrossProcessFontLoading.mm:
(WebCore):
(WebCore::FontPlatformData::loadFont): If font loading fails, set null to outNSFont so that the FontPlatformData won't be used.
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::ctFont): Modified to return the appropriate NSFont object when the font from the browser process.
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::createFontPlatformData): Returns null when the generated FontPlatformData object doesn't have NSFont object.

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

12 years agoUpdate another baseline for a failing chromium SL svg test (and mark it flaky).
dpranke@chromium.org [Wed, 4 Apr 2012 02:53:35 +0000 (02:53 +0000)]
Update another baseline for a failing chromium SL svg test (and mark it flaky).

Unreviewed, expectations change.

* platform/chromium-mac-snowleopard/svg/text/ems-display-none-expected.txt: Removed.
* platform/chromium/test_expectations.txt:

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

12 years agoUpdate baselines for failing svg tests ...
dpranke@chromium.org [Wed, 4 Apr 2012 02:28:49 +0000 (02:28 +0000)]
Update baselines for failing svg tests ...

Reviewed by NOBODY (OOPS!).

* platform/chromium-mac-leopard/svg/W3C-SVG-1.1/animate-elem-46-t-expected.txt: Removed.
* platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/animate-elem-46-t-expected.txt: Removed.
* platform/chromium-mac-snowleopard/svg/W3C-SVG-1.1/struct-use-01-t-expected.txt: Removed.
* platform/chromium/test_expectations.txt:

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

12 years agoI don't know why I'm so sloppy today. Another build fix.
rniwa@webkit.org [Wed, 4 Apr 2012 02:19:31 +0000 (02:19 +0000)]
I don't know why I'm so sloppy today. Another build fix.

* Scripts/run-webkit-tests:

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

12 years agoPrevent spellchecking text pasted to an element having spellchecking disabled
hbono@chromium.org [Wed, 4 Apr 2012 02:18:49 +0000 (02:18 +0000)]
Prevent spellchecking text pasted to an element having spellchecking disabled
https://bugs.webkit.org/show_bug.cgi?id=81323

Reviewed by Hajime Morita.

This change prevent calling SpellChecker::requestCheckingFor when pasting text
to an element whose spellcheck attribute is false or a password input.

Source/WebCore:

Test: editing/spelling/spellcheck-paste-disabled.html

* editing/Editor.cpp:
(WebCore::Editor::replaceSelectionWithFragment): Disabled spellchecking on password inputs.
* editing/SpellChecker.cpp:
(WebCore::SpellChecker::isCheckable): Return false when spellchecking is disabled.

LayoutTests:

* editing/spelling/spellcheck-paste-disabled-expected.txt: Added.
* editing/spelling/spellcheck-paste-disabled.html: Added.
* platform/efl/Skipped: Skipped due to the lack of requestCheckingOfString().
* platform/gtk/Skipped: ditto.
* platform/mac-leopard/Skipped: ditto.
* platform/mac-lion/Skipped: ditto.
* platform/mac-wk2/Skipped: ditto.
* platform/qt/Skipped: ditto.
* platform/win-wk2/Skipped: ditto.
* platform/win/Skipped: ditto.
* platform/wincairo/Skipped: ditto.

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

12 years agoMake it possible to install the JavaScriptCore test tools.
mrowe@apple.com [Wed, 4 Apr 2012 02:12:40 +0000 (02:12 +0000)]
Make it possible to install the JavaScriptCore test tools.

Part of <rdar://problem/11158607>.

Reviewed by Filip Pizlo.

* JavaScriptCore.xcodeproj/project.pbxproj: Introduce an aggregate target named
Test Tools that builds testapi, minidom and testRegExp. Switch All from depending on
those targets individually to depending on the new aggregate target.

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

12 years agoMake FocusController use a ComposedShadowTreeWalker, instead of ReifiedTreeTraversal...
hayato@chromium.org [Wed, 4 Apr 2012 02:11:42 +0000 (02:11 +0000)]
Make FocusController use a ComposedShadowTreeWalker, instead of ReifiedTreeTraversal APIs.
https://bugs.webkit.org/show_bug.cgi?id=82694

Reviewed by Dimitri Glazkov.

Rewrite a focus controller so that it uses ComposedShadowTreeWalker
since that is a preferred way to traverse composed shadow tree.
I'll get rid of ReifiedTreeTraversal in follow-up patches, which is now deprecated.

No new tests. No change in functionality.

* page/FocusController.cpp:
(WebCore::walkerFrom):
(WebCore):
(WebCore::walkerFromNext):
(WebCore::walkerFromPrevious):
(WebCore::nextNode):
(WebCore::previousNode):
(WebCore::FocusController::findNodeWithExactTabIndex):
(WebCore::nextNodeWithGreaterTabIndex):
(WebCore::previousNodeWithLowerTabIndex):
(WebCore::FocusController::nextFocusableNode):
(WebCore::FocusController::previousFocusableNode):

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

12 years agoHopefully the last build fix for Chromium Windows.
rniwa@webkit.org [Wed, 4 Apr 2012 01:49:00 +0000 (01:49 +0000)]
Hopefully the last build fix for Chromium Windows.

Explicitly execute new-run-webkit-tests and old-run-webkit-tests by python and perl.

* Scripts/run-webkit-tests:

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

12 years ago[Qt] Crash in ~GraphicsContext3D() when init failed
commit-queue@webkit.org [Wed, 4 Apr 2012 01:44:10 +0000 (01:44 +0000)]
[Qt] Crash in ~GraphicsContext3D() when init failed
https://bugs.webkit.org/show_bug.cgi?id=82992

Patch by Srikumar Bonda <srikumar.b@gmail.com> on 2012-04-03
Reviewed by Luiz Agostini.

WebKit crashes in ~GraphicsContext3D() while freeing the variables which are
not even allocated because of the init failure in GraphicsContext3D() for Qt.
In addition, Added a safety check in makeContextCurrent() before accessing
GraphicsContext3DPrivate object.

No new tests because the change is about adding null check
before accessing the variables.

* platform/graphics/qt/GraphicsContext3DQt.cpp:
(WebCore::GraphicsContext3D::~GraphicsContext3D):
(WebCore::GraphicsContext3D::makeContextCurrent):

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

12 years ago[Chromium] Lots of timeouts causing Mac10.6 to exit early.
dpranke@chromium.org [Wed, 4 Apr 2012 01:40:39 +0000 (01:40 +0000)]
[Chromium] Lots of timeouts causing Mac10.6 to exit early.
https://bugs.webkit.org/show_bug.cgi?id=83076

Unreviewed, build fix (slightly reviewed by Simon Fraser and Eric Seidel, but not approved).

Add logic to the apple mac and chromium mac code to not use
too many workers; it looks like the xserves (and possibly mac
pros) count hyperthreaded cores when they really shouldn't and
we end up using too many workers at a time; this leads to tests
thrashing and timing out.

This change is a temporary fix to make the bots happy while I
look into more profiling and other fixes.

* Scripts/webkitpy/layout_tests/port/mac.py:
(ChromiumMacPort.default_child_processes):

* Scripts/webkitpy/layout_tests/port/chromium_mac.py:
(ChromiumMacPort.default_child_processes):

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

12 years agoOfflineasm ARM backend has a very convoluted way of saying it wants to emit a
fpizlo@apple.com [Wed, 4 Apr 2012 01:38:46 +0000 (01:38 +0000)]
Offlineasm ARM backend has a very convoluted way of saying it wants to emit a
three-operand multiply instruction
https://bugs.webkit.org/show_bug.cgi?id=83100

Reviewed by Darin Adler.

Changed the "muli"/"mulp" case to call emitArmV7() since that helper method was
already smart enough to do the Right Thing for multiply.

* offlineasm/armv7.rb:

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

12 years ago[chromium] Unreviewed gardening: skip LayoutTest/storage/domstorage/quota.html
michaeln@google.com [Wed, 4 Apr 2012 01:30:13 +0000 (01:30 +0000)]
[chromium] Unreviewed gardening: skip LayoutTest/storage/domstorage/quota.html

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

12 years agoAdd audit token to PHCheckInWithPluginHost
andersca@apple.com [Wed, 4 Apr 2012 01:28:32 +0000 (01:28 +0000)]
Add audit token to PHCheckInWithPluginHost
https://bugs.webkit.org/show_bug.cgi?id=83102

Reviewed by Sam Weinig.

* Plugins/Hosted/WebKitPluginHost.defs:

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

12 years agoLayout Test media/video-source-error.html is flaky on cr-win
fischman@chromium.org [Wed, 4 Apr 2012 01:26:00 +0000 (01:26 +0000)]
Layout Test media/video-source-error.html is flaky on cr-win
https://bugs.webkit.org/show_bug.cgi?id=80068

Unreviewed; test is no longer showing up on flakiness dashboard.

* platform/chromium/test_expectations.txt:

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

12 years agoWebKitTestRunner's EventSender is leaky
simon.fraser@apple.com [Wed, 4 Apr 2012 01:06:43 +0000 (01:06 +0000)]
WebKitTestRunner's EventSender is leaky
https://bugs.webkit.org/show_bug.cgi?id=83099

Reviewed by Beth Dakin.

Fix leaks of WKNumbers by using the adoptWK idiom, and make
all the code consistent.

* WebKitTestRunner/InjectedBundle/EventSendingController.cpp:
(WTR::EventSendingController::mouseDown):
(WTR::EventSendingController::mouseUp):
(WTR::EventSendingController::mouseMoveTo):
(WTR::EventSendingController::leapForward):
(WTR::EventSendingController::keyDown):
(WTR::EventSendingController::mouseScrollBy):
(WTR::EventSendingController::addTouchPoint):
(WTR::EventSendingController::updateTouchPoint):
(WTR::EventSendingController::setTouchModifier):
(WTR::EventSendingController::releaseTouchPoint):
(WTR::EventSendingController::cancelTouchPoint):

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

12 years ago[chromium] Include Image.h in TextFieldDecoratorImpl.cpp
commit-queue@webkit.org [Wed, 4 Apr 2012 01:03:43 +0000 (01:03 +0000)]
[chromium] Include Image.h in TextFieldDecoratorImpl.cpp
https://bugs.webkit.org/show_bug.cgi?id=83066

Patch by Ian Vollick <vollick@chromium.org> on 2012-04-03
Reviewed by James Robinson.

* src/TextFieldDecoratorImpl.cpp:

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

12 years agoAnother build fix. Don't use old-run-webkit-tests on Chromium Windows bots.
rniwa@webkit.org [Wed, 4 Apr 2012 01:02:05 +0000 (01:02 +0000)]
Another build fix. Don't use old-run-webkit-tests on Chromium Windows bots.

* Scripts/run-webkit-tests:
(useNewRunWebKitTests):

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

12 years agokill-old-processes should kill apache2 and httpd
rniwa@webkit.org [Wed, 4 Apr 2012 00:57:32 +0000 (00:57 +0000)]
kill-old-processes should kill apache2 and httpd
https://bugs.webkit.org/show_bug.cgi?id=83065

Reviewed by Tony Chang.

Kill apache2 and httpd on Mac and Linux (Windows uses lighttpd) to free up port 8000.

* BuildSlaveSupport/kill-old-processes:

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

12 years agoOfflineasm ARM backend uses the wrong mnemonic for multiply
fpizlo@apple.com [Wed, 4 Apr 2012 00:50:07 +0000 (00:50 +0000)]
Offlineasm ARM backend uses the wrong mnemonic for multiply
https://bugs.webkit.org/show_bug.cgi?id=83098
<rdar://problem/11168744>

Reviewed by Gavin Barraclough.

Use "mul" instead of "muls" since we're passing three operands, not two.

* offlineasm/armv7.rb:

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

12 years agoLinux crashes during boot
barraclough@apple.com [Wed, 4 Apr 2012 00:29:52 +0000 (00:29 +0000)]
Linux crashes during boot
https://bugs.webkit.org/show_bug.cgi?id=83096

Reviewed by Filip Pizlo.

The bug here is that we add empty JSValues to the sparse map, and then set them
- but a GC may occur before doing so (due to a call to reportExtraMemory cost).
We may want to consider making it safe to mark empty JSValues, but the simple &
contained fix to this specific bug is to just initialize these values to
something other than JSValue().

* runtime/JSArray.cpp:
(JSC::SparseArrayValueMap::add):
    - Initialize sparse map entries.

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

12 years agoUse V8 completion callback API to assert that V8RecursionScope is on the stack whenev...
rafaelw@chromium.org [Wed, 4 Apr 2012 00:28:24 +0000 (00:28 +0000)]
Use V8 completion callback API to assert that V8RecursionScope is on the stack whenever invoking script
https://bugs.webkit.org/show_bug.cgi?id=79131

Reviewed by Adam Barth.

Source/WebCore:

End-of-microtask work (cancelling outstanding IDB transactions,
delivering DOM mutations) depend on V8RecursionScope being on the
stack whenever a call is made into script. V8 provides a completion
callback API that could be used to hook these "end-of-microtask"
events, but it turns out that WebKit calls into script for various
reasons besides running script from the page. For example, constructing
wrapper objects from function templates counts as "running script",
yet it's not appropriate to run this callback every time a JS wrapper
is constructed.

Instead, this patch makes use of the V8 completion callback mechanism
only in debug mode, to assert that either a V8RecursionScope (when
calling author script) or a V8RecursionScope::MicrotaskSuppression
(when calling non-author script) is on the stack when V8 thinks it's
finished executing script. This requires dropping MicrotaskSuppression
objects in a bunch of places, most notably the Inspector.
Note that in release mode, this class does nothing and thus should be
optimized away.

No new tests. Existing tests have appropriate coverage.

* Target.pri:
* WebCore.gypi:
* bindings/v8/DateExtension.cpp:
(WebCore::DateExtension::setAllowSleep):
* bindings/v8/PageScriptDebugServer.cpp:
(WebCore::PageScriptDebugServer::addListener):
* bindings/v8/ScriptController.cpp:
(WebCore::ScriptController::callFunctionEvenIfScriptDisabled):
(WebCore):
(WebCore::ScriptController::collectGarbage):
* bindings/v8/ScriptController.h:
(ScriptController):
* bindings/v8/ScriptDebugServer.cpp:
(WebCore::ScriptDebugServer::callDebuggerMethod):
(WebCore):
(WebCore::ScriptDebugServer::pauseOnExceptionsState):
(WebCore::ScriptDebugServer::setPauseOnExceptionsState):
(WebCore::ScriptDebugServer::stepIntoStatement):
(WebCore::ScriptDebugServer::stepOverStatement):
(WebCore::ScriptDebugServer::stepOutOfFunction):
(WebCore::ScriptDebugServer::setScriptSource):
(WebCore::ScriptDebugServer::currentCallFrame):
(WebCore::ScriptDebugServer::handleV8DebugEvent):
(WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
* bindings/v8/ScriptDebugServer.h:
(ScriptDebugServer):
* bindings/v8/ScriptFunctionCall.cpp:
(WebCore::ScriptFunctionCall::call):
* bindings/v8/V8Binding.cpp:
(WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
* bindings/v8/V8Binding.h:
(V8BindingPerIsolateData):
(WebCore::V8BindingPerIsolateData::internalScriptRecursionLevel):
(WebCore::V8BindingPerIsolateData::incrementInternalScriptRecursionLevel):
(WebCore::V8BindingPerIsolateData::decrementInternalScriptRecursionLevel):
* bindings/v8/V8DOMWindowShell.cpp:
* bindings/v8/V8DOMWrapper.cpp:
* bindings/v8/V8LazyEventListener.cpp:
(WebCore::V8LazyEventListener::prepareListenerObject):
* bindings/v8/V8NPObject.cpp:
* bindings/v8/V8RecursionScope.h:
(WebCore):
(WebCore::V8RecursionScope::recursionLevel):
(V8RecursionScope):
(WebCore::V8RecursionScope::properlyUsed):
(MicrotaskSuppression):
(WebCore::V8RecursionScope::MicrotaskSuppression::MicrotaskSuppression):
(WebCore::V8RecursionScope::MicrotaskSuppression::~MicrotaskSuppression):
* bindings/v8/WorkerContextExecutionProxy.cpp:
* bindings/v8/custom/V8HTMLDocumentCustom.cpp:
(WebCore::V8HTMLDocument::WrapInShadowObject):
* bindings/v8/custom/V8InjectedScriptManager.cpp:
(WebCore::InjectedScriptManager::createInjectedScript):
* bindings/v8/custom/V8ScriptProfileCustom.cpp:
* bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:

Source/WebKit/chromium:

* WebKit.gyp:
* public/WebFrame.h:
(v8):
(WebFrame):
* src/WebFrameImpl.cpp:
(WebKit):
(WebKit::WebFrameImpl::callFunctionEvenIfScriptDisabled):
* src/WebFrameImpl.h:
(WebFrameImpl):
* src/WebKit.cpp:
(WebKit):
(WebKit::assertV8RecursionScope):
(WebKit::initialize):
(WebKit::shutdown):

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

12 years agoMakes sure m_showingByDefault is set to false when TextTrack.mode is set from JS.
annacc@chromium.org [Wed, 4 Apr 2012 00:04:21 +0000 (00:04 +0000)]
Makes sure m_showingByDefault is set to false when TextTrack.mode is set from JS.
https://bugs.webkit.org/show_bug.cgi?id=79791

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/track/track-mode.html

* html/track/TextTrack.cpp:
(WebCore::TextTrack::setMode): setMode should always setShowingByDefault to false.

LayoutTests:

* media/track/track-mode-expected.txt: Added.
* media/track/track-mode.html: Added.

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

12 years agoManual submission for bug 82942.
jpu@apple.com [Tue, 3 Apr 2012 23:38:38 +0000 (23:38 +0000)]
Manual submission for bug 82942.

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

12 years agoUnreviewed. This patch adds an ugly, ugly hack to bandaid over the
abarth@webkit.org [Tue, 3 Apr 2012 23:26:28 +0000 (23:26 +0000)]
Unreviewed. This patch adds an ugly, ugly hack to bandaid over the
Windows component build. See comments in the code for details.

Source/Platform:

* chromium/public/WebMediaStreamSourcesRequest.h:
(WebMediaStreamSourcesRequest):

Source/WebCore:

* platform/chromium/support/WebMediaStreamSourcesRequest.cpp:
(WebKit::WebMediaStreamSourcesRequest::dummy):
(WebKit):

Source/WebKit/chromium:

* src/WebKit.cpp:
(WebKit::shutdown):

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

12 years agorun the same test steps on test only bots as on build-and-test bots
tony@chromium.org [Tue, 3 Apr 2012 23:25:10 +0000 (23:25 +0000)]
run the same test steps on test only bots as on build-and-test bots
https://bugs.webkit.org/show_bug.cgi?id=83090

Reviewed by Ryosuke Niwa.

* BuildSlaveSupport/build.webkit.org-config/master.cfg:
(TestFactory.__init__):

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

12 years agoUnreviewed, rolling out r113087.
dglazkov@chromium.org [Tue, 3 Apr 2012 23:04:21 +0000 (23:04 +0000)]
Unreviewed, rolling out r113087.
http://trac.webkit.org/changeset/113087
https://bugs.webkit.org/show_bug.cgi?id=83068

Breaks Windows builds in other unpredictable ways.

* WebKit.gyp: Removed the hack.

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

12 years agoAdd a Media watchlist.
fischman@chromium.org [Tue, 3 Apr 2012 23:04:11 +0000 (23:04 +0000)]
Add a Media watchlist.
https://bugs.webkit.org/show_bug.cgi?id=83071

Reviewed by David Levin.

* Scripts/webkitpy/common/config/watchlist:

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

12 years agoFix large leak in WebKitTestRunner
simon.fraser@apple.com [Tue, 3 Apr 2012 22:58:47 +0000 (22:58 +0000)]
Fix large leak in WebKitTestRunner
https://bugs.webkit.org/show_bug.cgi?id=83084

Reviewed by Beth Dakin.

Fix a leak of the bimap backing store created when doing pixel and
ref tests. This leak was causing serious thrash on the test bots.

We don't need to allocate memory for CGBitmapContextCreate(); if we
pass NULL, it will allocate and manage its own backing store.

* WebKitTestRunner/cg/TestInvocationCG.cpp:
(WTR::createCGContextFromImage):

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

12 years ago[Qt][WK2] Remove #if !USE(TILED_BACKING_STORE) from WebFrameLoaderClient::transitionT...
commit-queue@webkit.org [Tue, 3 Apr 2012 22:54:07 +0000 (22:54 +0000)]
[Qt][WK2] Remove #if !USE(TILED_BACKING_STORE) from WebFrameLoaderClient::transitionToCommittedForNewPage()
https://bugs.webkit.org/show_bug.cgi?id=83070

Patch by Zalan Bujtas <zbujtas@gmail.com> on 2012-04-03
Reviewed by Andreas Kling.

It is preventing m_frameHasCustomRepresentation to be set properly and not in sync with
WebFrameLoaderClient::transitionToCommittedFromCachedFrame()

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):

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

12 years agoCrash in SelectorChecker::checkOneSelector.
inferno@chromium.org [Tue, 3 Apr 2012 22:51:44 +0000 (22:51 +0000)]
Crash in SelectorChecker::checkOneSelector.
https://bugs.webkit.org/show_bug.cgi?id=83040

Reviewed by Antti Koivisto.

Source/WebCore:

Test: fast/css/css-set-selector-text-crash.html

Removing the early bail when we detect that our selector text
hasn't changed, and we don't notify the styleSelectorChanged.
In fact, when we adopt the new selector list, the old one will
get destroyed and the styleSelectorChanged call needs to be made.

* css/CSSStyleRule.cpp:
(WebCore::CSSStyleRule::setSelectorText):

LayoutTests:

* fast/css/css-set-selector-text-crash-expected.txt: Added.
* fast/css/css-set-selector-text-crash.html: Added.

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

12 years agopresentationAttributeCacheMaximumSize is set too low
jchaffraix@webkit.org [Tue, 3 Apr 2012 22:39:13 +0000 (22:39 +0000)]
presentationAttributeCacheMaximumSize is set too low
https://bugs.webkit.org/show_bug.cgi?id=82816

Reviewed by Antti Koivisto.

Performance change, no side effects anticipated.

Prior to r106740, the presentation attribute style cache used to grow unbounded. As part of r110316,
a different version of the cache was introduced with a maximum size of 128. This size gave a 75% hit rate.

However this is bad as the previous cache had a 85% hit rate** and each miss propagate down to the matched
properties cache as we use pointer comparisons.

This change bumps the size to 4096. This size was chosen to bring us back to the previous hit rate while
being a power of 2 (it is the HashMap maximum size). The steep increase is due to the combinational compexity
of the new cache model: we need to match all our attributes' name, value and tag name to get a hit vs
one attribute name, value and a category in the previous cache. To avoid blowing up the memory, we introduced
a timer to clear the cache if the hit rate is too low.

The measured hit rate is actually better now - in the 90% range on most page cyclers. This ups the matched
properties hit rate by 1 percent point on presentation attributes.

** This is not a true apple-to-apple comparison as the cache model was changed.

* dom/StyledElement.cpp:
(PresentationAttributeCacheCleaner):
(WebCore::PresentationAttributeCacheCleaner::PresentationAttributeCacheCleaner):
(WebCore::PresentationAttributeCacheCleaner::didHitPresentationAttributeCache):
(WebCore::PresentationAttributeCacheCleaner::cleanCache):
(WebCore):
(WebCore::presentationAttributeCacheCleaner):
(WebCore::StyledElement::updateAttributeStyle):
Added the logic to clean the presentation attribute cache if we drop below 100 hits per minutes.

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

12 years agoImplement new flex property and deprecate flex function
tony@chromium.org [Tue, 3 Apr 2012 22:34:03 +0000 (22:34 +0000)]
Implement new flex property and deprecate flex function
https://bugs.webkit.org/show_bug.cgi?id=82128

Reviewed by Ojan Vafai.

Source/WebCore:

No new tests. Tests were updated to use the new syntax and they should
all pass.

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::preferredFlexLengthForChild): Grab the
preferred size and if it's auto, fall back to width or height.
(WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
(WebCore::RenderFlexibleBox::positiveFlexForChild): Use the value from the flex property.
(WebCore::RenderFlexibleBox::negativeFlexForChild): Use the value from the flex property.
(WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
* rendering/RenderFlexibleBox.h:

LayoutTests:

Update tests to use the -webkit-flex: propery instead of the function.
In most cases this was just a simple find & replace, but in a few cases
we had to clear the flex value.

* css3/flexbox/auto-height-dynamic.html:
* css3/flexbox/child-overflow.html:
* css3/flexbox/columns-auto-size.html:
* css3/flexbox/cross-axis-scrollbar.html:
* css3/flexbox/flex-algorithm-min-max.html:
* css3/flexbox/flex-algorithm-with-margins.html:
* css3/flexbox/flex-algorithm.html:
* css3/flexbox/flex-align-column.html:
* css3/flexbox/flex-align-max.html:
* css3/flexbox/flex-align-percent-height.html:
* css3/flexbox/flex-align-stretch.html:
* css3/flexbox/flex-align-vertical-writing-mode.html:
* css3/flexbox/flex-align.html:
* css3/flexbox/flex-flow-border.html:
* css3/flexbox/flex-flow-margins-auto-size-expected.txt: This test had expected failures that needed to be updated.
* css3/flexbox/flex-flow-margins-auto-size.html:
* css3/flexbox/flex-flow-margins.html:
* css3/flexbox/flex-flow-overflow.html:
* css3/flexbox/flex-flow-padding.html:
* css3/flexbox/flex-flow.html:
* css3/flexbox/flex-no-flex.html:
* css3/flexbox/flex-order.html:
* css3/flexbox/flex-pack.html:
* css3/flexbox/line-wrapping.html:
* css3/flexbox/multiline-align.html:
* css3/flexbox/multiline-line-pack-horizontal-column.html:
* css3/flexbox/multiline-reverse-wrap-baseline.html:
* css3/flexbox/multiline-reverse-wrap-overflow.html:
* css3/flexbox/multiline.html:
* css3/flexbox/orthogonal-flex-directions.html:
* css3/flexbox/position-absolute-child.html:
* css3/flexbox/repaint-rtl-column.html:
* css3/flexbox/repaint.html:
* css3/flexbox/writing-modes.html:

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

12 years agoSearch result page scrolls up before the correct page opens from google search
andersca@apple.com [Tue, 3 Apr 2012 22:26:21 +0000 (22:26 +0000)]
Search result page scrolls up before the correct page opens from google search
https://bugs.webkit.org/show_bug.cgi?id=81280
<rdar://problem/10973263>

Reviewed by Sam Weinig.

Make the requested scroll position part of the ScrollingTreeState so any changes being made
are in sync with other important changes such as the scroll layer or contents size.

* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
Use coordinatesScrollingForFrameView instead of checking if the frame is the main frame.

(WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
Call ScrollingTreeState::setRequestedScrollPosition.

(WebCore::ScrollingCoordinator::setScrollLayer):
Reset the requested scroll position.

* page/scrolling/ScrollingTreeState.cpp:
(WebCore::ScrollingTreeState::setRequestedScrollPosition):
Keep track of the scroll position.

* page/scrolling/mac/ScrollingTreeNodeMac.mm:
(WebCore::ScrollingTreeNodeMac::update):
Update the scroll position if it's changed.

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

12 years ago[chromium] Switch touchpad fling curve physics to absolute (not scaled) curve.
wjmaclean@chromium.org [Tue, 3 Apr 2012 22:02:58 +0000 (22:02 +0000)]
[chromium] Switch touchpad fling curve physics to absolute (not scaled) curve.
https://bugs.webkit.org/show_bug.cgi?id=83061

Reviewed by James Robinson.

Source/WebCore:

Revised existing unit tests.

Use an absolute curve for touchpad fling. Here we identify the location on the curve corresponding
to the initial fling velocity, and "jump in" at that point. Avoids issues around time/magnitude
scaling present in previous implementation, and gives better feel to fling animation.

* platform/TouchpadFlingPlatformGestureCurve.cpp:
(WebCore):
(WebCore::TouchpadFlingPlatformGestureCurve::create):
(WebCore::position):
(WebCore::velocity):
(WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):
(WebCore::TouchpadFlingPlatformGestureCurve::apply):
* platform/TouchpadFlingPlatformGestureCurve.h:
(TouchpadFlingPlatformGestureCurve):

Source/WebKit/chromium:

* tests/PlatformGestureCurveTest.cpp:

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

12 years agoAnother build fix after r113067. Close the zipfile after extracting all files so...
rniwa@webkit.org [Tue, 3 Apr 2012 22:01:05 +0000 (22:01 +0000)]
Another build fix after r113067. Close the zipfile after extracting all files so that we can remove it.

* BuildSlaveSupport/built-product-archive:
(unzipArchive):

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

12 years agohttp/tests/media/video-cancel-load.html is flaky on linux
fischman@chromium.org [Tue, 3 Apr 2012 21:52:11 +0000 (21:52 +0000)]
http/tests/media/video-cancel-load.html is flaky on linux
https://bugs.webkit.org/show_bug.cgi?id=82508

Unreviewed, removing no-longer-needed expectation.

* platform/chromium/test_expectations.txt:

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

12 years agoImplement WebGLShaderPrecisionFormat
zmo@google.com [Tue, 3 Apr 2012 21:48:37 +0000 (21:48 +0000)]
Implement WebGLShaderPrecisionFormat
https://bugs.webkit.org/show_bug.cgi?id=75925

Reviewed by Kenneth Russell.

Source/Platform:

* chromium/public/WebGraphicsContext3D.h: Add getShaderPrecisionFormat().
(WebGraphicsContext3D):

Source/WebCore:

Test: fast/canvas/webgl/shader-precision-format.html

* CMakeLists.txt: Add new source files webglshaderprecisionformat.h/idl
* DerivedSources.make: Ditto.
* DerivedSources.pri: Ditto.
* GNUmakefile.list.am: Ditto.
* Target.pri: Ditto.
* WebCore.gypi: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* html/canvas/WebGLRenderingContext.cpp: Add getShaderPrecisionFormat.
(WebCore):
(WebCore::WebGLRenderingContext::getShaderPrecisionFormat):
* html/canvas/WebGLRenderingContext.h: Ditto.
(WebCore):
(WebGLRenderingContext):
* html/canvas/WebGLRenderingContext.idl: Ditto.
* html/canvas/WebGLShaderPrecisionFormat.h: Added.
(WebCore):
(WebGLShaderPrecisionFormat):
(WebCore::WebGLShaderPrecisionFormat::create):
(WebCore::WebGLShaderPrecisionFormat::rangeMin):
(WebCore::WebGLShaderPrecisionFormat::rangeMax):
(WebCore::WebGLShaderPrecisionFormat::precision):
(WebCore::WebGLShaderPrecisionFormat::WebGLShaderPrecisionFormat):
* html/canvas/WebGLShaderPrecisionFormat.idl: Added.
* page/DOMWindow.idl: Expose new type WebGLShaderPrecisionFormat for instanceof.
* platform/graphics/GraphicsContext3D.h: Add getShaderPrecisionFormat().
* platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Ditto.
(WebCore::GraphicsContext3D::getShaderPrecisionFormat):
(WebCore):
* platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: Ditto.
(WebCore::GraphicsContext3D::getShaderPrecisionFormat):
(WebCore):
* platform/graphics/qt/GraphicsContext3DQt.cpp: Ditto.
(WebCore::GraphicsContext3D::getShaderPrecisionFormat):
(WebCore):

Source/WebKit/chromium:

* src/GraphicsContext3DChromium.cpp: Add getShaderPrecisionFormat().
(WebCore):
* src/GraphicsContext3DPrivate.h: Ditto.
(GraphicsContext3DPrivate):
* tests/FakeWebGraphicsContext3D.h: Ditto.
(FakeWebGraphicsContext3D):

LayoutTests:

* fast/canvas/webgl/instanceof-test-expected.txt: Add new WebGLShaderPrecisionFormat failure.
* fast/canvas/webgl/instanceof-test.html:
* fast/canvas/webgl/shader-precision-format-expected.txt: Added.
* fast/canvas/webgl/shader-precision-format.html: Added.
* fast/dom/Window/script-tests/window-property-descriptors.js: Add new type WebGLShaderPrecisionFormat.
* fast/dom/Window/window-properties.html: Ditto.
* fast/dom/script-tests/prototype-inheritance-2.js: Ditto.
(constructorNamesForWindow):
* fast/dom/script-tests/prototype-inheritance.js: Ditto.
* fast/js/script-tests/global-constructors.js: Ditto.

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