WebKit-https.git
8 years agoImprove the use of AtomicString with literals
benjamin@webkit.org [Fri, 9 Nov 2012 01:15:59 +0000 (01:15 +0000)]
Improve the use of AtomicString with literals
https://bugs.webkit.org/show_bug.cgi?id=101298

Reviewed by Darin Adler.

Fix a bunch of cases of AtomicString with literals:
-Do not create temporary AtomicString to perform a comparison, that is very wasteful.
-Use the ConstructFromLiteral constructor whenever it makes sense.
-Make "x-frame-options" static instead of creating it for each response.
-Use ASCIILiteral() instead of AtomicString() in EventHandler, the function takes a String,
 not an AtomicString.

* Modules/battery/BatteryController.cpp:
(WebCore::BatteryController::supplementName):
* Modules/battery/NavigatorBattery.cpp:
(WebCore::NavigatorBattery::from):
* Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp:
(WebCore::DraggedIsolatedFileSystem::supplementName):
* Modules/gamepad/NavigatorGamepad.cpp:
(WebCore::NavigatorGamepad::from):
* Modules/geolocation/GeolocationController.cpp:
(WebCore::GeolocationController::supplementName):
* Modules/geolocation/NavigatorGeolocation.cpp:
(WebCore::NavigatorGeolocation::from):
* Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
(WebCore::DOMWindowIndexedDatabase::from):
* Modules/indexeddb/IDBCursor.cpp:
(WebCore::IDBCursor::directionNext):
(WebCore::IDBCursor::directionNextUnique):
(WebCore::IDBCursor::directionPrev):
(WebCore::IDBCursor::directionPrevUnique):
* Modules/indexeddb/IDBRequest.cpp:
(WebCore::IDBRequest::readyState):
* Modules/indexeddb/IDBTransaction.cpp:
(WebCore::IDBTransaction::modeReadOnly):
(WebCore::IDBTransaction::modeReadWrite):
(WebCore::IDBTransaction::modeVersionChange):
(WebCore::IDBTransaction::modeReadOnlyLegacy):
(WebCore::IDBTransaction::modeReadWriteLegacy):
* Modules/indexeddb/PageGroupIndexedDatabase.cpp:
(WebCore::PageGroupIndexedDatabase::from):
* Modules/intents/DOMWindowIntents.cpp:
(WebCore::DOMWindowIntents::from):
* Modules/mediastream/UserMediaController.cpp:
(WebCore::UserMediaController::supplementName):
* Modules/navigatorcontentutils/NavigatorContentUtils.cpp:
(WebCore::NavigatorContentUtils::supplementName):
* Modules/networkinfo/NavigatorNetworkInfoConnection.cpp:
(WebCore::NavigatorNetworkInfoConnection::from):
* Modules/networkinfo/NetworkInfoController.cpp:
(WebCore::NetworkInfoController::supplementName):
* Modules/notifications/DOMWindowNotifications.cpp:
(WebCore::DOMWindowNotifications::from):
* Modules/notifications/NotificationController.cpp:
(WebCore::NotificationController::supplementName):
* Modules/quota/DOMWindowQuota.cpp:
(WebCore::DOMWindowQuota::from):
* Modules/speech/SpeechRecognitionController.cpp:
(WebCore::SpeechRecognitionController::supplementName):
* Modules/vibration/Vibration.cpp:
(WebCore::Vibration::supplementName):
* accessibility/AccessibilityObject.cpp:
(WebCore::AccessibilityObject::invalidStatus):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::ariaLiveRegionStatus):
(WebCore::AccessibilityRenderObject::ariaLiveRegionRelevant):
* bindings/v8/custom/V8DOMWindowCustom.cpp:
(WebCore::V8DOMWindow::namedSecurityCheck):
* bindings/v8/custom/V8NodeListCustom.cpp:
(WebCore::V8NodeList::namedPropertyGetter):
* dom/ContextFeatures.cpp:
(WebCore::ContextFeatures::supplementName):
* dom/DeviceMotionController.cpp:
(WebCore::DeviceMotionController::supplementName):
* dom/DeviceOrientationController.cpp:
(WebCore::DeviceOrientationController::supplementName):
* dom/Element.cpp:
(WebCore::Element::webkitRegionOverset):
* dom/MutationRecord.cpp:
* html/FileInputType.cpp:
(WebCore::UploadButtonElement::shadowPseudoId):
* html/FormController.cpp:
(WebCore::SavedFormState::getReferencedFilePaths):
(WebCore::FormKeyGenerator::formKey):
* html/HTMLButtonElement.cpp:
(WebCore::HTMLButtonElement::formControlType):
* html/HTMLDetailsElement.cpp:
(WebCore::summaryQuerySelector):
* html/HTMLFieldSetElement.cpp:
(WebCore::HTMLFieldSetElement::formControlType):
* html/HTMLKeygenElement.cpp:
(WebCore::KeygenSelectElement::shadowPseudoId):
(WebCore::HTMLKeygenElement::formControlType):
* html/HTMLOptGroupElement.cpp:
(WebCore::HTMLOptGroupElement::formControlType):
* html/HTMLOutputElement.cpp:
(WebCore::HTMLOutputElement::formControlType):
* html/HTMLSelectElement.cpp:
(WebCore::HTMLSelectElement::formControlType):
* html/HTMLTextAreaElement.cpp:
(WebCore::HTMLTextAreaElement::formControlType):
* html/HTMLTextFormControlElement.cpp:
(WebCore::directionString):
* html/shadow/DateTimeEditElement.cpp:
(WebCore::DateTimeEditElement::DateTimeEditElement):
* html/shadow/DateTimeFieldElements.cpp:
(WebCore::DateTimeAMPMFieldElement::create):
(WebCore::DateTimeDayFieldElement::create):
(WebCore::DateTimeHourFieldElement::create):
(WebCore::DateTimeMillisecondFieldElement::create):
(WebCore::DateTimeMinuteFieldElement::create):
(WebCore::DateTimeMonthFieldElement::create):
(WebCore::DateTimeSecondFieldElement::create):
(WebCore::DateTimeSymbolicMonthFieldElement::create):
(WebCore::DateTimeWeekFieldElement::create):
(WebCore::DateTimeYearFieldElement::create):
* html/shadow/DetailsMarkerControl.cpp:
(WebCore::DetailsMarkerControl::shadowPseudoId):
* html/shadow/ImageInnerElement.cpp:
(WebCore::ImageInnerElement::shadowPseudoId):
* html/shadow/MediaControlElements.cpp:
(WebCore::MediaControlPanelElement::shadowPseudoId):
(WebCore::MediaControlTimelineContainerElement::shadowPseudoId):
(WebCore::MediaControlVolumeSliderContainerElement::shadowPseudoId):
(WebCore::MediaControlStatusDisplayElement::shadowPseudoId):
(WebCore::MediaControlPanelMuteButtonElement::shadowPseudoId):
(WebCore::MediaControlVolumeSliderMuteButtonElement::shadowPseudoId):
(WebCore::MediaControlPlayButtonElement::shadowPseudoId):
(WebCore::MediaControlOverlayPlayButtonElement::shadowPseudoId):
(WebCore::MediaControlSeekForwardButtonElement::shadowPseudoId):
(WebCore::MediaControlSeekBackButtonElement::shadowPseudoId):
(WebCore::MediaControlRewindButtonElement::shadowPseudoId):
(WebCore::MediaControlReturnToRealtimeButtonElement::shadowPseudoId):
(WebCore::MediaControlToggleClosedCaptionsButtonElement::shadowPseudoId):
(WebCore::MediaControlTimelineElement::shadowPseudoId):
(WebCore::MediaControlVolumeSliderElement::shadowPseudoId):
(WebCore::MediaControlFullscreenVolumeSliderElement::shadowPseudoId):
(WebCore::MediaControlFullscreenButtonElement::shadowPseudoId):
(WebCore::MediaControlFullscreenVolumeMinButtonElement::shadowPseudoId):
(WebCore::MediaControlFullscreenVolumeMaxButtonElement::shadowPseudoId):
(WebCore::MediaControlTimeRemainingDisplayElement::shadowPseudoId):
(WebCore::MediaControlCurrentTimeDisplayElement::shadowPseudoId):
(WebCore::MediaControlTextTrackContainerElement::shadowPseudoId):
* html/shadow/MediaControlRootElement.cpp:
(WebCore::MediaControlRootElement::shadowPseudoId):
* html/shadow/MediaControlRootElementChromium.cpp:
(WebCore::MediaControlPanelEnclosureElement::shadowPseudoId):
(WebCore::MediaControlRootElementChromium::shadowPseudoId):
* html/shadow/MediaControlRootElementChromiumAndroid.cpp:
(WebCore::MediaControlOverlayEnclosureElement::shadowPseudoId):
* html/shadow/MeterShadowElement.cpp:
(WebCore::MeterInnerElement::shadowPseudoId):
(WebCore::MeterBarElement::shadowPseudoId):
(WebCore::MeterValueElement::shadowPseudoId):
* html/shadow/ProgressShadowElement.cpp:
(WebCore::ProgressInnerElement::shadowPseudoId):
(WebCore::ProgressBarElement::shadowPseudoId):
(WebCore::ProgressValueElement::shadowPseudoId):
* html/shadow/SliderThumbElement.cpp:
(WebCore::sliderThumbShadowPseudoId):
(WebCore::mediaSliderThumbShadowPseudoId):
(WebCore::SliderContainerElement::shadowPseudoId):
* html/shadow/SpinButtonElement.cpp:
(WebCore::SpinButtonElement::shadowPseudoId):
* html/shadow/TextControlInnerElements.cpp:
(WebCore::SearchFieldResultsButtonElement::shadowPseudoId):
(WebCore::SearchFieldCancelButtonElement::shadowPseudoId):
(WebCore::InputFieldSpeechButtonElement::shadowPseudoId):
* html/track/TextTrackCue.cpp:
(WebCore::TextTrackCueBox::textTrackCueBoxShadowPseudoId):
* loader/CrossOriginAccessControl.cpp:
(WebCore::passesAccessControlCheck):
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::didReceiveResponse):
* loader/PrerendererClient.cpp:
(WebCore::PrerendererClient::supplementName):
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::updateResponseAfterRevalidation):
* page/DOMWindowPagePopup.cpp:
(WebCore::DOMWindowPagePopup::supplementName):
* page/EventHandler.cpp:
(WebCore::EventHandler::handlePasteGlobalSelection):
(WebCore::focusDirectionForKey):
* page/SpeechInput.cpp:
(WebCore::SpeechInput::supplementName):
* page/animation/CompositeAnimation.cpp:
(WebCore::CompositeAnimation::updateKeyframeAnimations):
* platform/graphics/FontCache.cpp:
(WebCore::alternateFamilyName):
* platform/graphics/MediaPlayer.cpp:
(WebCore::applicationOctetStream):
(WebCore::textPlain):
(WebCore::codecs):
* platform/graphics/chromium/FontCacheAndroid.cpp:
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/filters/SourceAlpha.cpp:
(WebCore::SourceAlpha::effectName):
* platform/graphics/filters/SourceGraphic.cpp:
(WebCore::SourceGraphic::effectName):
* platform/graphics/mac/FontCacheMac.mm:
(WebCore::FontCache::getSimilarFontPlatformData):
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/skia/FontCacheSkia.cpp:
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/win/FontCacheWin.cpp:
(WebCore::FontCache::getLastResortFallbackFont):
* platform/graphics/wx/FontCacheWx.cpp:
(WebCore::FontCache::getSimilarFontPlatformData):
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::setHTTPHeaderField):
(WebCore::ResourceResponseBase::parseCacheControlDirectives):
(WebCore::ResourceResponseBase::hasCacheValidatorFields):
(WebCore::ResourceResponseBase::date):
(WebCore::ResourceResponseBase::age):
(WebCore::ResourceResponseBase::expires):
(WebCore::ResourceResponseBase::lastModified):
(WebCore::ResourceResponseBase::isAttachment):
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::getAvgCharWidth):
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::getAvgCharWidth):
(WebCore::RenderTextControlSingleLine::preferredContentWidth):
* svg/SVGAnimateColorElement.cpp:
(WebCore::attributeValueIsCurrentColor):
* svg/SVGAnimateMotionElement.cpp:
(WebCore::SVGAnimateMotionElement::rotateMode):
* svg/SVGAnimationElement.cpp:
(WebCore::SVGAnimationElement::setCalcMode):
(WebCore::SVGAnimationElement::setAttributeType):
(WebCore::SVGAnimationElement::isAdditive):
(WebCore::SVGAnimationElement::isAccumulated):
(WebCore::inheritsFromProperty):
* svg/SVGFEConvolveMatrixElement.cpp:
(WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthXIdentifier):
(WebCore::SVGFEConvolveMatrixElement::kernelUnitLengthYIdentifier):
(WebCore::SVGFEConvolveMatrixElement::orderXIdentifier):
(WebCore::SVGFEConvolveMatrixElement::orderYIdentifier):
* svg/SVGFEDiffuseLightingElement.cpp:
(WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthXIdentifier):
(WebCore::SVGFEDiffuseLightingElement::kernelUnitLengthYIdentifier):
* svg/SVGFEDropShadowElement.cpp:
(WebCore::SVGFEDropShadowElement::stdDeviationXIdentifier):
(WebCore::SVGFEDropShadowElement::stdDeviationYIdentifier):
* svg/SVGFEGaussianBlurElement.cpp:
(WebCore::SVGFEGaussianBlurElement::stdDeviationXIdentifier):
(WebCore::SVGFEGaussianBlurElement::stdDeviationYIdentifier):
* svg/SVGFEMorphologyElement.cpp:
(WebCore::SVGFEMorphologyElement::radiusXIdentifier):
(WebCore::SVGFEMorphologyElement::radiusYIdentifier):
* svg/SVGFESpecularLightingElement.cpp:
(WebCore::SVGFESpecularLightingElement::kernelUnitLengthXIdentifier):
(WebCore::SVGFESpecularLightingElement::kernelUnitLengthYIdentifier):
* svg/SVGFETurbulenceElement.cpp:
(WebCore::SVGFETurbulenceElement::baseFrequencyXIdentifier):
(WebCore::SVGFETurbulenceElement::baseFrequencyYIdentifier):
* svg/SVGFilterElement.cpp:
(WebCore::SVGFilterElement::filterResXIdentifier):
(WebCore::SVGFilterElement::filterResYIdentifier):
* svg/SVGLangSpace.cpp:
(WebCore::SVGLangSpace::xmlspace):
(WebCore::SVGLangSpace::addSupportedAttributes):
* svg/SVGMarkerElement.cpp:
(WebCore::SVGMarkerElement::orientTypeIdentifier):
(WebCore::SVGMarkerElement::orientAngleIdentifier):
(WebCore::SVGMarkerElement::synchronizeOrientType):
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::contentScriptType):
(WebCore::SVGSVGElement::contentStyleType):
* svg/SVGStyleElement.cpp:
(WebCore::SVGStyleElement::type):
(WebCore::SVGStyleElement::media):
* svg/SVGTextContentElement.cpp:
(WebCore::SVGTextContentElement::collectStyleForAttribute):
* svg/SVGViewSpec.cpp:
(WebCore::SVGViewSpec::viewBoxIdentifier):
(WebCore::SVGViewSpec::preserveAspectRatioIdentifier):
(WebCore::SVGViewSpec::transformIdentifier):
* svg/animation/SVGSMILElement.cpp:
(WebCore::SVGSMILElement::parseClockValue):
(WebCore::SVGSMILElement::restart):
(WebCore::SVGSMILElement::fill):
(WebCore::SVGSMILElement::repeatCount):
* testing/InternalSettings.cpp:
(WebCore::InternalSettings::from):
* xml/parser/XMLTreeBuilder.cpp:
(WebCore::XMLTreeBuilder::processDOCTYPE):
(WebCore::XMLTreeBuilder::processXMLEntity):

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

8 years agoImprove effectiveness of function-level caching
oliver@apple.com [Fri, 9 Nov 2012 01:12:47 +0000 (01:12 +0000)]
Improve effectiveness of function-level caching
https://bugs.webkit.org/show_bug.cgi?id=101667

Reviewed by Filip Pizlo.

Added a random-eviction based cache for unlinked functions, and switch
UnlinkedFunctionExecutable's code references to Weak<>, thereby letting
us remove the explicit UnlinkedFunctionExecutable::clearCode() calls that
were being triggered by GC.

Refactored the random eviction part of the CodeCache into a separate data
structure so that I didn't have to duplicate the code again, and then used
that for the new function cache.

* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedFunctionExecutable::visitChildren):
(JSC::UnlinkedFunctionExecutable::codeBlockFor):
* bytecode/UnlinkedCodeBlock.h:
(JSC::UnlinkedFunctionExecutable::clearCodeForRecompilation):
(UnlinkedFunctionExecutable):
* debugger/Debugger.cpp:
* runtime/CodeCache.cpp:
(JSC::CodeCache::getCodeBlock):
(JSC::CodeCache::generateFunctionCodeBlock):
(JSC::CodeCache::getFunctionExecutableFromGlobalCode):
(JSC::CodeCache::usedFunctionCode):
(JSC):
* runtime/Executable.cpp:
(JSC::FunctionExecutable::clearUnlinkedCodeForRecompilationIfNotCompiling):
(JSC::FunctionExecutable::clearCode):
* runtime/Executable.h:
(FunctionExecutable):

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=101644
bdakin@apple.com [Fri, 9 Nov 2012 01:01:26 +0000 (01:01 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=101644
Fixed header on Facebook news feed becomes detached from top of
viewport after rubber band scrolling
-and corresponding-
<rdar://problem/12651944>

Reviewed by Simon Fraser.

Source/WebCore:

There is code to handle this for non-threaded scrolling on FrameView.
This patch moves most of that code into a convenience function on
ScrollingCoordinator.

Have FrameView::scrollOffsetForFixedPosition() call
WebCore::scrollOffsetForFixedPosition() with all the right
parameters.
* page/FrameView.cpp:
(WebCore::FrameView::scrollOffsetForFixedPosition):

Here's where all the math happens.
* page/scrolling/ScrollingCoordinator.cpp:
(WebCore::fixedPositionScrollOffset):
(WebCore::scrollOffsetForFixedPosition):

The viewportRect in these three places needs to have the
adjusted-for-fixed offset.
(WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
* page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::computeFixedViewportConstraints):

LayoutTests:

New test ensures that negative offsets will not make their way into
the FixedPositionViewportConstraints.
* platform/mac/tiled-drawing/fixed/negative-scroll-offset-expected.txt: Added.
* platform/mac/tiled-drawing/fixed/negative-scroll-offset.html: Added.

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

8 years ago[chromium] Deferred image decoding fails with image orientation
hclam@chromium.org [Fri, 9 Nov 2012 00:19:27 +0000 (00:19 +0000)]
[chromium] Deferred image decoding fails with image orientation
https://bugs.webkit.org/show_bug.cgi?id=101648

Reviewed by Stephen White.

Source/WebCore:

When an image is deferred save the orientation state. Once this state
is cached it can be used to reply future queries since this state is
static.

No new tests but platform/chromium/virtual/deferred/fast/images/image-orientation.html is passing now.

* platform/graphics/chromium/DeferredImageDecoder.cpp:
(WebCore::DeferredImageDecoder::DeferredImageDecoder):
(WebCore::DeferredImageDecoder::frameBufferAtIndex):
(WebCore::DeferredImageDecoder::orientation):
* platform/graphics/chromium/DeferredImageDecoder.h:
(DeferredImageDecoder):

LayoutTests:

Update test expectations and baselines accordingly since these two
tests are now passing with deferred image decoding.

fast/images/exif-orientation-image-document.html
fast/images/exif-orientation.html

* platform/chromium-linux/platform/chromium/virtual/deferred/fast/images/exif-orientation-image-document-expected.png: Removed.
* platform/chromium-mac-lion/platform/chromium/virtual/deferred/fast/images/exif-orientation-image-document-expected.png: Removed.
* platform/chromium-mac-snowleopard/platform/chromium/virtual/deferred/fast/images/exif-orientation-image-document-expected.png: Removed.
* platform/chromium-mac/platform/chromium/virtual/deferred/fast/images/exif-orientation-image-document-expected.png: Removed.
* platform/chromium-win/platform/chromium/virtual/deferred/fast/images/exif-orientation-image-document-expected.png: Removed.
* platform/chromium/TestExpectations:

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

8 years agoDFG constant folding and CFG simplification should be smart enough to know that if...
fpizlo@apple.com [Fri, 9 Nov 2012 00:15:21 +0000 (00:15 +0000)]
DFG constant folding and CFG simplification should be smart enough to know that if a logical op's operand is proven to have a non-masquerading structure then it always evaluates to true
https://bugs.webkit.org/show_bug.cgi?id=101511

Reviewed by Oliver Hunt.

To make life easier, this moves BranchDirection into BasicBlock so that after
running the CFA, we always know, for each block, what direction the CFA
proved. CFG simplification now both uses and preserves cfaBranchDirection in
its transformations.

Also made both LogicalNot and Branch check whether the operand is a known cell
with a known structure, and if so, made them do the appropriate folding.

5% speed-up on V8/raytrace because it makes raytrace's own null checks
evaporate (i.e. idioms like 'if (!x) throw "unhappiness"') thanks to the fact
that we were already doing structure check hoisting.

* JavaScriptCore.xcodeproj/project.pbxproj:
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::endBasicBlock):
(JSC::DFG::AbstractState::execute):
(JSC::DFG::AbstractState::mergeToSuccessors):
* dfg/DFGAbstractState.h:
(AbstractState):
* dfg/DFGBasicBlock.h:
(JSC::DFG::BasicBlock::BasicBlock):
(BasicBlock):
* dfg/DFGBranchDirection.h: Added.
(DFG):
(JSC::DFG::branchDirectionToString):
(JSC::DFG::isKnownDirection):
(JSC::DFG::branchCondition):
* dfg/DFGCFGSimplificationPhase.cpp:
(JSC::DFG::CFGSimplificationPhase::run):
(JSC::DFG::CFGSimplificationPhase::mergeBlocks):

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

8 years agoDocumentLoader: Shrink-to-fit the ResourceResponse vector after loading completes.
kling@webkit.org [Fri, 9 Nov 2012 00:12:07 +0000 (00:12 +0000)]
DocumentLoader: Shrink-to-fit the ResourceResponse vector after loading completes.
<http://webkit.org/b/101657>

Reviewed by Anders Carlsson.

Shrink DocumentLoader::m_responses to exact size when we stop adding responses to it,
as we know it won't grow after that.

520kB progression on Membuster3.

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::stopRecordingResponses):

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

8 years ago[CSS Exclusions] Polygon with horizontal bottom edges returns incorrect segments
commit-queue@webkit.org [Fri, 9 Nov 2012 00:09:57 +0000 (00:09 +0000)]
[CSS Exclusions] Polygon with horizontal bottom edges returns incorrect segments
https://bugs.webkit.org/show_bug.cgi?id=100874

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

Source/WebCore:

Revised the way that computeXIntersections() handles intersections with horizotal polygon edges.
Deciding if a vertex intersection corresponds to a polygon "edge crossing", i.e. a change from inside
to outside or outside to inside, now depends on which side of the horizontal line the function's
y parameter corresponds to. If the y corresponds to the top of the line, then isaMinY the parameter
is true, and an intersection with a horizontal edge is only considered to be an edge crossing if
if the inside of the polygon is just below the horizontal edge.  When isMinY is false then the inside
of the polygon must be just above the horizontal edge.

Tests: fast/exclusions/shape-inside/shape-inside-rectilinear-polygon-003.html
       fast/exclusions/shape-inside/shape-inside-rectilinear-polygon-004.html

* rendering/ExclusionPolygon.cpp:
(WebCore::getVertexIntersectionVertices): Corrected two cases where the next/previous vertex was determined incorrectly.
(WebCore::ExclusionPolygon::computeXIntersections): Added a bool isMinY parameter which specifies if the y parameter corresponds to the top or bottom a horizontal line.
(WebCore::ExclusionPolygon::getExcludedIntervals): Added the new computeXIntersections() parameter.
(WebCore::ExclusionPolygon::getIncludedIntervals): Ditto.
* rendering/ExclusionPolygon.h:
(WebCore::ExclusionPolygonEdge::previousEdge): Corrected the previousEdge() function.

LayoutTests:

Added two additional tests for rectilinear polygons, where the tops and bottoms
of lines intersect the polygons' horizontal edges. More tests of this kind will
be needed when exclusion layout supports polygons that break horizontal lines up
into more than one segment.

* fast/exclusions/shape-inside/shape-inside-rectilinear-polygon-003-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-rectilinear-polygon-003.html: Added.
* fast/exclusions/shape-inside/shape-inside-rectilinear-polygon-004-expected.html: Added.
* fast/exclusions/shape-inside/shape-inside-rectilinear-polygon-004.html: Added.

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

8 years ago[WK2] Unused parameters on LayerTreeRenderer.cpp
commit-queue@webkit.org [Fri, 9 Nov 2012 00:07:38 +0000 (00:07 +0000)]
[WK2] Unused parameters on LayerTreeRenderer.cpp
https://bugs.webkit.org/show_bug.cgi?id=101653

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-11-08
Reviewed by Noam Rosenthal.

Because the 'tileID' parameter is not used now,
comment out it to fix build warning -Wunused-parameter

* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):

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

8 years ago[JSC] HTML extensions to String.prototype should escape " as &quot; in argument values
commit-queue@webkit.org [Fri, 9 Nov 2012 00:05:02 +0000 (00:05 +0000)]
[JSC] HTML extensions to String.prototype should escape " as &quot; in argument values
https://bugs.webkit.org/show_bug.cgi?id=90667

Patch by Christophe Dumez <christophe.dumez@intel.com> on 2012-11-08
Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

Escape quotation mark as &quot; in argument values to:
- String.prototype.anchor(name)
- String.prototype.fontcolor(color)
- String.prototype.fontsize(size)
- String.prototype.link(href)

This behavior matches Chromium/V8 and Firefox/Spidermonkey
implementations and is requited by:
http://mathias.html5.org/specs/javascript/#escapeattributevalue

This also fixes a potential security risk (XSS vector).

* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncFontcolor):
(JSC::stringProtoFuncFontsize):
(JSC::stringProtoFuncAnchor):
(JSC::stringProtoFuncLink):

LayoutTests:

Add layout test coverage for the following String.prototype methods:
- String.prototype.anchor(name)
- String.prototype.fontcolor(color)
- String.prototype.fontsize(size)
- String.prototype.link(href)

Those tests also check that the quotation mark is correctly escaped
in argument values to prevent potential exploits.

* fast/js/string-anchor-expected.txt: Added.
* fast/js/string-anchor.html: Added.
* fast/js/string-fontcolor-expected.txt: Added.
* fast/js/string-fontcolor.html: Added.
* fast/js/string-fontsize-expected.txt: Added.
* fast/js/string-fontsize.html: Added.
* fast/js/string-link-expected.txt: Added.
* fast/js/string-link.html: Added.
* platform/chromium/TestExpectations: Skip new tests for chromium port due
to http://code.google.com/p/v8/issues/detail?id=2218

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

8 years ago [Chromium] Unreviewed gardening. Added missing *-expected.txt following rebase...
jsbell@chromium.org [Thu, 8 Nov 2012 23:50:12 +0000 (23:50 +0000)]
   [Chromium] Unreviewed gardening. Added missing *-expected.txt following rebaselines.

* platform/chromium-mac/fast/css/text-overflow-input-expected.txt: Added.
* platform/chromium-mac/fast/forms/input-readonly-dimmed-expected.txt: Added.
* platform/chromium-mac/fast/forms/input-text-scroll-left-on-blur-expected.txt: Added.

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

8 years ago[BlackBerry] Disable cookies on file://
commit-queue@webkit.org [Thu, 8 Nov 2012 23:50:02 +0000 (23:50 +0000)]
[BlackBerry] Disable cookies on file://
https://bugs.webkit.org/show_bug.cgi?id=101646

Patch by Otto Derek Cheung <otcheung@rim.com> on 2012-11-08
Reviewed by Rob Buis.

Disabling cookies on file and local in the browser app.

PR 239779

Tested by trying to set and retrieve cookies on WI while browsing
files on the file scheme.

* platform/blackberry/CookieManager.cpp:
(WebCore):
(WebCore::shouldIgnoreScheme):
(WebCore::CookieManager::getRawCookies):
(WebCore::CookieManager::checkAndTreatCookie):

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

8 years agoExpose snapshots in platform/leveldb wrapper API
jsbell@chromium.org [Thu, 8 Nov 2012 23:47:43 +0000 (23:47 +0000)]
Expose snapshots in platform/leveldb wrapper API
https://bugs.webkit.org/show_bug.cgi?id=100786

Reviewed by Tony Chang.

Source/WebCore:

Expose leveldb "snapshots" in the LevelDB API. A snapshot lets you observe the database
as it was when the snapshot was taken. This can be used to implement parallel transactions,
e.g. where a read transaction won't see updates made by a later write transaction.

Tests: webkit_unit_tests --gtest_filter='LevelDBDatabaseTest.Transaction*'

* platform/leveldb/LevelDBDatabase.cpp:
(WebCore::LevelDBSnapshot::LevelDBSnapshot): New (but for now internal-only) wrapper type.
(WebCore):
(WebCore::LevelDBSnapshot::~LevelDBSnapshot): Release the leveldb::Snapshot.
(WebCore::LevelDBDatabase::get): Optional snapshot argument, for use by transactions.
(WebCore::LevelDBDatabase::createIterator): Ditto.
* platform/leveldb/LevelDBDatabase.h:
(leveldb):
(WebCore):
(LevelDBSnapshot):
(LevelDBDatabase):
* platform/leveldb/LevelDBTransaction.cpp:
(WebCore::LevelDBTransaction::LevelDBTransaction): Initialize a snapshot.
(WebCore::LevelDBTransaction::get):
(WebCore::LevelDBTransaction::TransactionIterator::TransactionIterator):
* platform/leveldb/LevelDBTransaction.h:
(LevelDBTransaction):

Source/WebKit/chromium:

Add unit tests for transactions/snapshots.

* tests/LevelDBTest.cpp:
(WebCore::encodeString): Don't append to pre-sized vector.
(WebCore::TEST):
(WebCore):

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

8 years agoUnreviewed. Some more gardening after r133898.
yael@webkit.org [Thu, 8 Nov 2012 23:41:49 +0000 (23:41 +0000)]
Unreviewed. Some more gardening after r133898.

* platform/efl/TestExpectations:

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

8 years ago[EFL][WK2] Add proper support for fullscreen API to MiniBrowser
commit-queue@webkit.org [Thu, 8 Nov 2012 23:34:53 +0000 (23:34 +0000)]
[EFL][WK2] Add proper support for fullscreen API to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=101615

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

Source/WebKit2:

* UIProcess/API/efl/EwkViewImpl.cpp:
(EwkViewImpl::enterFullScreen):
* UIProcess/API/efl/ewk_security_origin.cpp:
(EwkSecurityOrigin::EwkSecurityOrigin):
* UIProcess/API/efl/ewk_security_origin_private.h:
(EwkSecurityOrigin::create): Add factory method to construct a
EwkSecurityOrigin from a KURL.
(EwkSecurityOrigin):
* UIProcess/API/efl/ewk_view.cpp:
(ewk_view_fullscreen_exit): Add public API function to exit
fullscreen mode.
* UIProcess/API/efl/ewk_view.h: Add security origin parameter
to fullscreen_enter smart function since this information is
useful to the user agent.
* UIProcess/API/efl/tests/test_ewk2_view.cpp:
(fullScreenCallback):
(fullScreenExitCallback):
(TEST_F):

Tools:

Implement fullscreen API support in MiniBrowser. When entering
fullscreen a popup is shown to notify the user that something
is displayed in fullscreen and to advertise that the Escape
key can be used to exit fullscreen. This behavior is according
to specification.

* MiniBrowser/efl/main.c:
(on_key_down):
(on_fullscreen_accept):
(on_fullscreen_deny):
(on_fullscreen_enter):
(on_fullscreen_exit):
(window_create):

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

8 years ago[Chromium] Unreviewed gardening - rebaseline a couple of tests for lion.
jsbell@chromium.org [Thu, 8 Nov 2012 23:32:19 +0000 (23:32 +0000)]
[Chromium] Unreviewed gardening - rebaseline a couple of tests for lion.

* platform/chromium-mac-lion/fast/css/text-overflow-ellipsis-text-align-center-expected.png: Added.
* platform/chromium-mac-lion/fast/forms/basic-textareas-expected.png: Added.

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

8 years agoHeapStatistics::s_pauseTimeStarts and s_pauseTimeEnds should be Vectors
andersca@apple.com [Thu, 8 Nov 2012 23:32:16 +0000 (23:32 +0000)]
HeapStatistics::s_pauseTimeStarts and s_pauseTimeEnds should be Vectors
https://bugs.webkit.org/show_bug.cgi?id=101651

Reviewed by Andreas Kling.

HeapStatistics uses Deques when Vectors would work just as good.

* heap/HeapStatistics.cpp:
* heap/HeapStatistics.h:
(HeapStatistics):

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

8 years agoHave NetworkProcess do the actual loading of subresources.
beidson@apple.com [Thu, 8 Nov 2012 23:04:28 +0000 (23:04 +0000)]
Have NetworkProcess do the actual loading of subresources.
https://bugs.webkit.org/show_bug.cgi?id=101640

Reviewed by Alexey Proskuryakov.

Source/WebCore:

No new tests (No change in behavior in any configuration we test.)

* WebCore.exp.in:
* loader/ResourceBuffer.h: Virtualize a few methods for ports to override.

Source/WebKit2:

This adds actual loading of subresources in the NetworkProcess.

Currently a resource just gets its entire buffer of data built up and then delivered to the WebProcess in one chunk.

Many FIXMEs point the path towards much better behavior.

Project file stuff:
* WebKit2.xcodeproj/project.pbxproj:

Add a new Logging channel for scheduling so the one for loading can be separate:
* Platform/Logging.cpp:
* Platform/Logging.h:

Add an enhancement FIXME:
* NetworkProcess/HostRecord.cpp:
(WebKit::HostRecord::remove):

NetworkRequest now derives from ResourceHandleClient and does actual loading, messaging WebProcess as it does:
* NetworkProcess/NetworkRequest.cpp:
(WebKit::NetworkRequest::NetworkRequest):
(WebKit::NetworkRequest::~NetworkRequest):
(WebKit::NetworkRequest::start):
(WebKit::requestsToStopMutex):
(WebKit::requestsToStop):
(WebKit::NetworkRequest::scheduleStopOnMainThread): Stop
(WebKit::NetworkRequest::performStops):
(WebKit::NetworkRequest::stop): Does NetworkRequest cleanup that happens no matter the state of the network load.
(WebKit::NetworkRequest::didReceiveResponse):
(WebKit::NetworkRequest::didReceiveData):
(WebKit::NetworkRequest::didFinishLoading):
(WebKit::NetworkRequest::didFail):
* NetworkProcess/NetworkRequest.h:

Change some logging and now invalid asserts, as well as starting requests in-process instead of relying on WebProcess:
* NetworkProcess/NetworkResourceLoadScheduler.cpp:
(WebKit::NetworkResourceLoadScheduler::scheduleNetworkRequest):
(WebKit::NetworkResourceLoadScheduler::addLoadInProgress):
(WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
(WebKit::NetworkResourceLoadScheduler::crossOriginRedirectReceived):
(WebKit::NetworkResourceLoadScheduler::servePendingRequests):
(WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost):
(WebKit::NetworkResourceLoadScheduler::removeScheduledLoadIdentifiers):
(WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoadIdentifier):
* NetworkProcess/NetworkResourceLoadScheduler.h:
(NetworkResourceLoadScheduler):

Add a "ShareableResource" which includes a SharedMemory block, an offset into that block, and a size:
* Shared/ShareableResource.cpp: Added.
(WebKit::ShareableResource::Handle::Handle):
(WebKit::ShareableResource::Handle::encode):
(WebKit::ShareableResource::Handle::decode):
(WebKit::ShareableResource::create):
(WebKit::ShareableResource::ShareableResource):
(WebKit::ShareableResource::~ShareableResource):
(WebKit::ShareableResource::createHandle):
(WebKit::ShareableResource::data):
(WebKit::ShareableResource::size):
* Shared/ShareableResource.h:
(WebKit::ShareableResource::Handle::isNull):
(WebKit::ShareableResource::Handle::size):

Add an implementation of WebCore::ResourceBuffer that wraps a ShareableResource instead of a SharedBuffer:
* Shared/WebResourceBuffer.cpp:
(WebKit::WebResourceBuffer::WebResourceBuffer):
(WebKit::WebResourceBuffer::~WebResourceBuffer):
(WebKit::WebResourceBuffer::data):
(WebKit::WebResourceBuffer::size):
* Shared/WebResourceBuffer.h:
(WebResourceBuffer):
(WebKit::WebResourceBuffer::create):

Add messaging that responds to resource load events from the NetworkProcess and passes them to the scheduler:
* WebProcess/Network/NetworkProcessConnection.cpp:
(WebKit::NetworkProcessConnection::didReceiveResponse):
(WebKit::NetworkProcessConnection::didReceiveResource):
(WebKit::NetworkProcessConnection::didFailResourceLoad):
* WebProcess/Network/NetworkProcessConnection.h:
* WebProcess/Network/NetworkProcessConnection.messages.in:

Takes resource load events passed from the NetworkProcess and hands them off directly to WebCore ResourceLoaders:
* WebProcess/Network/WebResourceLoadScheduler.cpp:
(WebKit::WebResourceLoadScheduler::scheduleLoad): Update some logging.
(WebKit::WebResourceLoadScheduler::addMainResourceLoad): Ditto.
(WebKit::WebResourceLoadScheduler::remove): Ditto.
(WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived): Ditto.
(WebKit::WebResourceLoadScheduler::servePendingRequests): Ditto.
(WebKit::WebResourceLoadScheduler::didReceiveResponse): Call through to ResourceLoader.
(WebKit::WebResourceLoadScheduler::didReceiveResource): Ditto.
(WebKit::WebResourceLoadScheduler::didFailResourceLoad): Ditto.
* WebProcess/Network/WebResourceLoadScheduler.h:

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

8 years agoDFG should not assume that something is a double just because it might be undefined
fpizlo@apple.com [Thu, 8 Nov 2012 22:55:27 +0000 (22:55 +0000)]
DFG should not assume that something is a double just because it might be undefined
https://bugs.webkit.org/show_bug.cgi?id=101438

Reviewed by Oliver Hunt.

This changes all non-bitop arithmetic to (a) statically expect that variables are
defined prior to use in arithmetic and (b) not fall off into double paths just
because a value may not be a number. This is accomplished with two new notions of
speculation:

shouldSpeculateIntegerExpectingDefined: Should we speculate that the value is an
integer if we ignore undefined (i.e. SpecOther) predictions?

shouldSpeculateIntegerForArithmetic: Should we speculate that the value is an
integer if we ignore non-numeric predictions?

This is a ~2x speed-up on programs that seem to our prediction propagator to have
paths in which otherwise numeric variables are undefined.

* bytecode/SpeculatedType.h:
(JSC::isInt32SpeculationForArithmetic):
(JSC):
(JSC::isInt32SpeculationExpectingDefined):
(JSC::isDoubleSpeculationForArithmetic):
(JSC::isNumberSpeculationExpectingDefined):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::addShouldSpeculateInteger):
(JSC::DFG::Graph::mulShouldSpeculateInteger):
(JSC::DFG::Graph::negateShouldSpeculateInteger):
(JSC::DFG::Graph::addImmediateShouldSpeculateInteger):
(JSC::DFG::Graph::mulImmediateShouldSpeculateInteger):
* dfg/DFGNode.h:
(JSC::DFG::Node::shouldSpeculateIntegerForArithmetic):
(Node):
(JSC::DFG::Node::shouldSpeculateIntegerExpectingDefined):
(JSC::DFG::Node::shouldSpeculateDoubleForArithmetic):
(JSC::DFG::Node::shouldSpeculateNumberExpectingDefined):
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::propagate):
(JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileAdd):
(JSC::DFG::SpeculativeJIT::compileArithMod):
* dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/JITArithmetic.cpp:
(JSC::JIT::emit_op_div):

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

8 years agoCoordinated Graphics: Remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
commit-queue@webkit.org [Thu, 8 Nov 2012 22:37:57 +0000 (22:37 +0000)]
Coordinated Graphics: Remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
https://bugs.webkit.org/show_bug.cgi?id=101424

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

Source/WebCore:

This patch adds ASSERT to TextureMapperLayer while fixing this bug in
WebKit2.

* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::paintSelf):

Source/WebKit2:

We must remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
Currently, CoordinatedGraphicsLayer only removes a TiledBackingStore if
!drawsContent() while TextureMapperLayer::updateBackingStore() removes a backing
store if (!m_state.drawsContent || !m_state.contentsVisible || m_size.isEmpty()).
CoordinatedGraphicsLayer must have the same behavior.

In addition, this patch makes LayerTreeRenderer remove a backing store from
GraphicsLayerTextureMapper when CoordinatedBackingStore does not have any tiles.

Test: compositing/nested-direct-image-compositing.html

* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
(WebKit::CoordinatedBackingStore::removeTile):
(WebKit::CoordinatedBackingStore::isEmpty):
(WebKit):
(WebKit::CoordinatedBackingStore::commitTileOperations):
* UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
(CoordinatedBackingStore):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
(WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
(WebKit):
(WebKit::LayerTreeRenderer::removeTile):
* UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
(LayerTreeRenderer):
* WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer::adjustContentsScale):

LayoutTests:

Coordinated Graphics had a bug when a compositing div has a compositing
img with an absolute position property. This test is added to prevent from
a regression.

* compositing/nested-direct-image-compositing-expected.png: Added.
* compositing/nested-direct-image-compositing-expected.txt: Added.
* compositing/nested-direct-image-compositing.html: Added.

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

8 years agoUnreviewed, rolling out r133945.
jsbell@chromium.org [Thu, 8 Nov 2012 22:35:38 +0000 (22:35 +0000)]
Unreviewed, rolling out r133945.
http://trac.webkit.org/changeset/133945
https://bugs.webkit.org/show_bug.cgi?id=101645

Numerous layout and unit test failures (Requested by
jsbell|gardener on #webkit).

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

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
* bindings/scripts/test/V8/V8Float64Array.h:
(WebCore::V8Float64Array::toNative):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(WebCore::V8TestActiveDOMObject::toNative):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(WebCore::V8TestCustomNamedGetter::toNative):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(WebCore::V8TestEventConstructor::toNative):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(WebCore::V8TestEventTarget::toNative):
* bindings/scripts/test/V8/V8TestException.h:
(WebCore::V8TestException::toNative):
* bindings/scripts/test/V8/V8TestInterface.h:
(WebCore::V8TestInterface::toNative):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(WebCore::V8TestMediaQueryListListener::toNative):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(WebCore::V8TestNamedConstructor::toNative):
* bindings/scripts/test/V8/V8TestNode.h:
(WebCore::V8TestNode::toNative):
* bindings/scripts/test/V8/V8TestObj.h:
(WebCore::V8TestObj::toNative):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(WebCore::V8TestSerializedScriptValueInterface::toNative):
* bindings/v8/NPV8Object.cpp:
(WebCore::v8ObjectToNPObject):
(WebCore::npCreateV8ScriptObject):
* bindings/v8/V8Collection.h:
(WebCore::toNativeCollection):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::setIsolatedWorldField):
(WebCore::V8DOMWindowShell::enteredIsolatedWorldContext):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::isWrapperOfType):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::setDOMWrapper):
(WebCore::V8DOMWrapper::clearDOMWrapper):
* bindings/v8/WrapperTypeInfo.h:
(WebCore::toNative):
(WebCore::toWrapperTypeInfo):

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

8 years agoJSC should infer when indexed storage contains only integers or doubles
fpizlo@apple.com [Thu, 8 Nov 2012 22:28:25 +0000 (22:28 +0000)]
JSC should infer when indexed storage contains only integers or doubles
https://bugs.webkit.org/show_bug.cgi?id=98606

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

This adds two new indexing types: int32 and double. It also adds array allocation profiling,
which allows array allocations to converge to allocating arrays using those types to which
those arrays would have been converted.

20% speed-up on navier-stokes. 40% speed-up on various Kraken DSP tests. Some slow-downs too,
but a performance win overall on all benchmarks we track.

* API/JSObjectRef.cpp:
(JSObjectMakeArray):
* CMakeLists.txt:
* GNUmakefile.list.am:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.vcproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* Target.pri:
* assembler/AbstractMacroAssembler.h:
(JumpList):
(JSC::AbstractMacroAssembler::JumpList::JumpList):
* assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::branchDouble):
* assembler/X86Assembler.h:
(JSC::X86Assembler::jnp):
(X86Assembler):
(JSC::X86Assembler::X86InstructionFormatter::emitRex):
* bytecode/ArrayAllocationProfile.cpp: Added.
(JSC):
(JSC::ArrayAllocationProfile::updateIndexingType):
* bytecode/ArrayAllocationProfile.h: Added.
(JSC):
(ArrayAllocationProfile):
(JSC::ArrayAllocationProfile::ArrayAllocationProfile):
(JSC::ArrayAllocationProfile::selectIndexingType):
(JSC::ArrayAllocationProfile::updateLastAllocation):
(JSC::ArrayAllocationProfile::selectIndexingTypeFor):
(JSC::ArrayAllocationProfile::updateLastAllocationFor):
* bytecode/ArrayProfile.cpp:
(JSC::ArrayProfile::updatedObservedArrayModes):
(JSC):
* bytecode/ArrayProfile.h:
(JSC):
(JSC::arrayModesInclude):
(JSC::shouldUseSlowPutArrayStorage):
(JSC::shouldUseFastArrayStorage):
(JSC::shouldUseContiguous):
(JSC::shouldUseDouble):
(JSC::shouldUseInt32):
(ArrayProfile):
* bytecode/ByValInfo.h:
(JSC::isOptimizableIndexingType):
(JSC::jitArrayModeForIndexingType):
* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::dump):
(JSC::CodeBlock::CodeBlock):
(JSC::CodeBlock::updateAllPredictionsAndCountLiveness):
(JSC):
(JSC::CodeBlock::updateAllValueProfilePredictions):
(JSC::CodeBlock::updateAllArrayPredictions):
(JSC::CodeBlock::updateAllPredictions):
(JSC::CodeBlock::shouldOptimizeNow):
* bytecode/CodeBlock.h:
(CodeBlock):
(JSC::CodeBlock::numberOfArrayAllocationProfiles):
(JSC::CodeBlock::addArrayAllocationProfile):
(JSC::CodeBlock::updateAllValueProfilePredictions):
(JSC::CodeBlock::updateAllArrayPredictions):
* bytecode/DFGExitProfile.h:
(JSC::DFG::exitKindToString):
* bytecode/Instruction.h:
(JSC):
(JSC::Instruction::Instruction):
* bytecode/Opcode.h:
(JSC):
(JSC::padOpcodeName):
* bytecode/SpeculatedType.h:
(JSC):
(JSC::isRealNumberSpeculation):
* bytecode/UnlinkedCodeBlock.cpp:
(JSC::UnlinkedCodeBlock::UnlinkedCodeBlock):
* bytecode/UnlinkedCodeBlock.h:
(JSC):
(JSC::UnlinkedCodeBlock::addArrayAllocationProfile):
(JSC::UnlinkedCodeBlock::numberOfArrayAllocationProfiles):
(UnlinkedCodeBlock):
* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::newArrayAllocationProfile):
(JSC):
(JSC::BytecodeGenerator::emitNewArray):
(JSC::BytecodeGenerator::emitExpectedFunctionSnippet):
* bytecompiler/BytecodeGenerator.h:
(BytecodeGenerator):
* dfg/DFGAbstractState.cpp:
(JSC::DFG::AbstractState::execute):
* dfg/DFGArrayMode.cpp:
(JSC::DFG::ArrayMode::fromObserved):
(JSC::DFG::ArrayMode::refine):
(DFG):
(JSC::DFG::ArrayMode::alreadyChecked):
(JSC::DFG::arrayTypeToString):
* dfg/DFGArrayMode.h:
(JSC::DFG::ArrayMode::withType):
(ArrayMode):
(JSC::DFG::ArrayMode::withTypeAndConversion):
(JSC::DFG::ArrayMode::usesButterfly):
(JSC::DFG::ArrayMode::isSpecific):
(JSC::DFG::ArrayMode::supportsLength):
(JSC::DFG::ArrayMode::arrayModesThatPassFiltering):
* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::getArrayMode):
(ByteCodeParser):
(JSC::DFG::ByteCodeParser::handleIntrinsic):
(JSC::DFG::ByteCodeParser::handleConstantInternalFunction):
(JSC::DFG::ByteCodeParser::parseBlock):
* dfg/DFGCCallHelpers.h:
(JSC::DFG::CCallHelpers::setupArgumentsWithExecState):
(CCallHelpers):
* dfg/DFGCallArrayAllocatorSlowPathGenerator.h:
(JSC::DFG::CallArrayAllocatorSlowPathGenerator::generateInternal):
(JSC::DFG::CallArrayAllocatorWithVariableSizeSlowPathGenerator::generateInternal):
* dfg/DFGFixupPhase.cpp:
(JSC::DFG::FixupPhase::fixupNode):
(JSC::DFG::FixupPhase::checkArray):
* dfg/DFGGraph.cpp:
(JSC::DFG::Graph::dump):
* dfg/DFGGraph.h:
(JSC::DFG::Graph::byValIsPure):
* dfg/DFGNode.h:
(NewArrayBufferData):
(JSC::DFG::Node::hasIndexingType):
(Node):
(JSC::DFG::Node::indexingType):
(JSC::DFG::Node::setIndexingType):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGPredictionPropagationPhase.cpp:
(JSC::DFG::PredictionPropagationPhase::doRoundOfDoubleVoting):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::emitAllocateJSArray):
(JSC::DFG::SpeculativeJIT::jumpSlowForUnwantedArrayMode):
(DFG):
(JSC::DFG::SpeculativeJIT::checkArray):
(JSC::DFG::SpeculativeJIT::arrayify):
(JSC::DFG::SpeculativeJIT::compileDoublePutByVal):
(JSC::DFG::SpeculativeJIT::compileGetArrayLength):
* dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::callOperation):
(SpeculativeJIT):
(SpeculateIntegerOperand):
(JSC::DFG::SpeculateIntegerOperand::use):
(SpeculateDoubleOperand):
(JSC::DFG::SpeculateDoubleOperand::use):
* dfg/DFGSpeculativeJIT32_64.cpp:
(DFG):
(JSC::DFG::SpeculativeJIT::compileContiguousPutByVal):
(JSC::DFG::SpeculativeJIT::compile):
* dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::compile):
* jit/JIT.h:
(JSC::JIT::emitInt32GetByVal):
(JIT):
(JSC::JIT::emitInt32PutByVal):
(JSC::JIT::emitDoublePutByVal):
(JSC::JIT::emitContiguousPutByVal):
* jit/JITExceptions.cpp:
(JSC::genericThrow):
* jit/JITInlineMethods.h:
(JSC::arrayProfileSaw):
(JSC::JIT::chooseArrayMode):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_new_array):
(JSC::JIT::emit_op_new_array_with_size):
(JSC::JIT::emit_op_new_array_buffer):
* jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitDoubleGetByVal):
(JSC):
(JSC::JIT::emitContiguousGetByVal):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitGenericContiguousPutByVal):
(JSC::JIT::emitSlow_op_put_by_val):
(JSC::JIT::privateCompileGetByVal):
(JSC::JIT::privateCompilePutByVal):
* jit/JITPropertyAccess32_64.cpp:
(JSC::JIT::emit_op_get_by_val):
(JSC::JIT::emitContiguousGetByVal):
(JSC::JIT::emitDoubleGetByVal):
(JSC):
(JSC::JIT::emit_op_put_by_val):
(JSC::JIT::emitGenericContiguousPutByVal):
(JSC::JIT::emitSlow_op_put_by_val):
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
* jit/JITStubs.h:
(JSC):
* jsc.cpp:
(GlobalObject::finishCreation):
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::jitCompileAndSetHeuristics):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* offlineasm/x86.rb:
* runtime/ArrayConstructor.cpp:
(JSC::constructArrayWithSizeQuirk):
* runtime/ArrayConstructor.h:
(JSC):
* runtime/ArrayPrototype.cpp:
(JSC::arrayProtoFuncConcat):
(JSC::arrayProtoFuncSlice):
(JSC::arrayProtoFuncSplice):
(JSC::arrayProtoFuncFilter):
(JSC::arrayProtoFuncMap):
* runtime/Butterfly.h:
(JSC::Butterfly::contiguousInt32):
(JSC::Butterfly::contiguousDouble):
(JSC::Butterfly::fromContiguous):
* runtime/ButterflyInlineMethods.h:
(JSC::Butterfly::createUninitializedDuringCollection):
* runtime/FunctionPrototype.cpp:
(JSC::functionProtoFuncBind):
* runtime/IndexingHeaderInlineMethods.h:
(JSC::IndexingHeader::indexingPayloadSizeInBytes):
* runtime/IndexingType.cpp:
(JSC::leastUpperBoundOfIndexingTypes):
(JSC):
(JSC::leastUpperBoundOfIndexingTypeAndType):
(JSC::leastUpperBoundOfIndexingTypeAndValue):
(JSC::indexingTypeToString):
* runtime/IndexingType.h:
(JSC):
(JSC::hasUndecided):
(JSC::hasInt32):
(JSC::hasDouble):
* runtime/JSArray.cpp:
(JSC::JSArray::setLength):
(JSC::JSArray::pop):
(JSC::JSArray::push):
(JSC::JSArray::shiftCountWithAnyIndexingType):
(JSC::JSArray::unshiftCountWithAnyIndexingType):
(JSC::compareNumbersForQSortWithInt32):
(JSC):
(JSC::compareNumbersForQSortWithDouble):
(JSC::JSArray::sortNumericVector):
(JSC::JSArray::sortNumeric):
(JSC::JSArray::sortCompactedVector):
(JSC::JSArray::sort):
(JSC::JSArray::sortVector):
(JSC::JSArray::fillArgList):
(JSC::JSArray::copyToArguments):
(JSC::JSArray::compactForSorting):
* runtime/JSArray.h:
(JSArray):
(JSC::createContiguousArrayButterfly):
(JSC::JSArray::create):
(JSC::JSArray::tryCreateUninitialized):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::reset):
(JSC):
(JSC::JSGlobalObject::haveABadTime):
(JSC::JSGlobalObject::visitChildren):
* runtime/JSGlobalObject.h:
(JSGlobalObject):
(JSC::JSGlobalObject::originalArrayStructureForIndexingType):
(JSC::JSGlobalObject::arrayStructureForIndexingTypeDuringAllocation):
(JSC::JSGlobalObject::arrayStructureForProfileDuringAllocation):
(JSC::JSGlobalObject::isOriginalArrayStructure):
(JSC::constructEmptyArray):
(JSC::constructArray):
* runtime/JSObject.cpp:
(JSC::JSObject::copyButterfly):
(JSC::JSObject::getOwnPropertySlotByIndex):
(JSC::JSObject::putByIndex):
(JSC::JSObject::enterDictionaryIndexingMode):
(JSC::JSObject::createInitialIndexedStorage):
(JSC):
(JSC::JSObject::createInitialUndecided):
(JSC::JSObject::createInitialInt32):
(JSC::JSObject::createInitialDouble):
(JSC::JSObject::createInitialContiguous):
(JSC::JSObject::convertUndecidedToInt32):
(JSC::JSObject::convertUndecidedToDouble):
(JSC::JSObject::convertUndecidedToContiguous):
(JSC::JSObject::constructConvertedArrayStorageWithoutCopyingElements):
(JSC::JSObject::convertUndecidedToArrayStorage):
(JSC::JSObject::convertInt32ToDouble):
(JSC::JSObject::convertInt32ToContiguous):
(JSC::JSObject::convertInt32ToArrayStorage):
(JSC::JSObject::convertDoubleToContiguous):
(JSC::JSObject::convertDoubleToArrayStorage):
(JSC::JSObject::convertContiguousToArrayStorage):
(JSC::JSObject::convertUndecidedForValue):
(JSC::JSObject::convertInt32ForValue):
(JSC::JSObject::setIndexQuicklyToUndecided):
(JSC::JSObject::convertInt32ToDoubleOrContiguousWhilePerformingSetIndex):
(JSC::JSObject::convertDoubleToContiguousWhilePerformingSetIndex):
(JSC::JSObject::ensureInt32Slow):
(JSC::JSObject::ensureDoubleSlow):
(JSC::JSObject::ensureContiguousSlow):
(JSC::JSObject::ensureArrayStorageSlow):
(JSC::JSObject::ensureArrayStorageExistsAndEnterDictionaryIndexingMode):
(JSC::JSObject::switchToSlowPutArrayStorage):
(JSC::JSObject::deletePropertyByIndex):
(JSC::JSObject::getOwnPropertyNames):
(JSC::JSObject::putByIndexBeyondVectorLengthWithoutAttributes):
(JSC::JSObject::putByIndexBeyondVectorLength):
(JSC::JSObject::putDirectIndexBeyondVectorLength):
(JSC::JSObject::getNewVectorLength):
(JSC::JSObject::countElements):
(JSC::JSObject::ensureLengthSlow):
(JSC::JSObject::getOwnPropertyDescriptor):
* runtime/JSObject.h:
(JSC::JSObject::getArrayLength):
(JSC::JSObject::getVectorLength):
(JSC::JSObject::canGetIndexQuickly):
(JSC::JSObject::getIndexQuickly):
(JSC::JSObject::tryGetIndexQuickly):
(JSC::JSObject::canSetIndexQuickly):
(JSC::JSObject::canSetIndexQuicklyForPutDirect):
(JSC::JSObject::setIndexQuickly):
(JSC::JSObject::initializeIndex):
(JSC::JSObject::hasSparseMap):
(JSC::JSObject::inSparseIndexingMode):
(JSObject):
(JSC::JSObject::ensureInt32):
(JSC::JSObject::ensureDouble):
(JSC::JSObject::ensureLength):
(JSC::JSObject::indexingData):
(JSC::JSObject::currentIndexingData):
(JSC::JSObject::getHolyIndexQuickly):
(JSC::JSObject::relevantLength):
(JSC::JSObject::currentRelevantLength):
* runtime/JSValue.cpp:
(JSC::JSValue::description):
* runtime/LiteralParser.cpp:
(JSC::::parse):
* runtime/ObjectConstructor.cpp:
(JSC::objectConstructorGetOwnPropertyNames):
(JSC::objectConstructorKeys):
* runtime/StringPrototype.cpp:
(JSC::stringProtoFuncMatch):
(JSC::stringProtoFuncSplit):
* runtime/Structure.cpp:
(JSC::Structure::nonPropertyTransition):
* runtime/StructureTransitionTable.h:
(JSC::newIndexingType):

Source/WebCore:

Just refactoring WebCore to pass 0 for the ArrayAllocationProfile*.

* bindings/js/JSCanvasRenderingContext2DCustom.cpp:
(WebCore::JSCanvasRenderingContext2D::webkitLineDash):
* bindings/js/JSClipboardCustom.cpp:
(WebCore::JSClipboard::types):
* bindings/js/JSDOMBinding.cpp:
(WebCore::jsArray):
* bindings/js/JSDOMBinding.h:
(WebCore::jsArray):
* bindings/js/JSInjectedScriptHostCustom.cpp:
(WebCore::getJSListenerFunctions):
* bindings/js/JSJavaScriptCallFrameCustom.cpp:
(WebCore::JSJavaScriptCallFrame::scopeChain):
* bindings/js/JSMessageEventCustom.cpp:
(WebCore::JSMessageEvent::ports):
* bindings/js/JSMutationCallbackCustom.cpp:
(WebCore::JSMutationCallback::handleEvent):
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toJS):
(WebCore::JSWebGLRenderingContext::getAttachedShaders):
(WebCore::JSWebGLRenderingContext::getSupportedExtensions):
* bindings/js/SerializedScriptValue.cpp:
(WebCore::CloneDeserializer::deserialize):

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

8 years ago[BlackBerry] Update BB10 date input form.
commit-queue@webkit.org [Thu, 8 Nov 2012 22:25:28 +0000 (22:25 +0000)]
[BlackBerry] Update BB10 date input form.
https://bugs.webkit.org/show_bug.cgi?id=101075

Patch by Tiancheng Jiang <tijiang@rim.com> on 2012-11-08
Reviewed by Rob Buis.

RIM PR 234531
Internally Reviewed by Mike Fenton.
Change date input appearance to button and hide caret when click on them.

Source/WebCore:

* css/themeBlackBerry.css:
(input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="time"], input[type="month"]):

Source/WebKit/blackberry:

* WebCoreSupport/DatePickerClient.cpp:
(WebCore::DatePickerClient::setValueAndClosePopup):
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::openDatePopup):

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

8 years ago[BlackBerry] Provide pixel coordinates to IMF relative to the screen
commit-queue@webkit.org [Thu, 8 Nov 2012 22:22:46 +0000 (22:22 +0000)]
[BlackBerry] Provide pixel coordinates to IMF relative to the screen
https://bugs.webkit.org/show_bug.cgi?id=101628

Patch by Nima Ghanavatian <nghanavatian@rim.com> on 2012-11-08
Reviewed by Rob Buis.

Reviewed internally by Mike Fenton and Jakob Petsovits.

We need to provide the correct pixel coordinates to IMF,
accounting for webkit based fields in UIB as well as browser.
Getting an offset value from the screen point to the document
content point allows us to adjust for when the document,
such as in UIB, does not start at 0,0.

* Api/WebPageClient.h:
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::requestSpellingCheckingOptions):
* WebKitSupport/InputHandler.h:
(InputHandler):
* WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):

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

8 years agoASSERT problem on MIPS
commit-queue@webkit.org [Thu, 8 Nov 2012 22:20:32 +0000 (22:20 +0000)]
ASSERT problem on MIPS
https://bugs.webkit.org/show_bug.cgi?id=100589

Patch by Balazs Kilvady <kilvadyb@homejinni.com> on 2012-11-08
Reviewed by Oliver Hunt.

ASSERT fix for MIPS arch.

* jit/JITOpcodes.cpp:
(JSC::JIT::emit_resolve_operations):

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

8 years agoUnreviewed. Some more gardening after r133898.
yael@webkit.org [Thu, 8 Nov 2012 21:59:37 +0000 (21:59 +0000)]
Unreviewed. Some more gardening after r133898.

* platform/efl/TestExpectations:

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

8 years ago[V8] Update callers to use the aligned pointer API rather than the deprecated unalign...
abarth@webkit.org [Thu, 8 Nov 2012 21:53:54 +0000 (21:53 +0000)]
[V8] Update callers to use the aligned pointer API rather than the deprecated unaligned pointer API
https://bugs.webkit.org/show_bug.cgi?id=101519

Reviewed by Ojan Vafai.

There should be no change in behavior.  The new API is slightly faster
than the old API (and apparently works correctly internally in V8).

* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
* bindings/scripts/test/V8/V8Float64Array.h:
(WebCore::V8Float64Array::toNative):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(WebCore::V8TestActiveDOMObject::toNative):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(WebCore::V8TestCustomNamedGetter::toNative):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(WebCore::V8TestEventConstructor::toNative):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(WebCore::V8TestEventTarget::toNative):
* bindings/scripts/test/V8/V8TestException.h:
(WebCore::V8TestException::toNative):
* bindings/scripts/test/V8/V8TestInterface.h:
(WebCore::V8TestInterface::toNative):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(WebCore::V8TestMediaQueryListListener::toNative):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(WebCore::V8TestNamedConstructor::toNative):
* bindings/scripts/test/V8/V8TestNode.h:
(WebCore::V8TestNode::toNative):
* bindings/scripts/test/V8/V8TestObj.h:
(WebCore::V8TestObj::toNative):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(WebCore::V8TestSerializedScriptValueInterface::toNative):
* bindings/v8/NPV8Object.cpp:
(WebCore::v8ObjectToNPObject):
(WebCore::npCreateV8ScriptObject):
* bindings/v8/V8Collection.h:
(WebCore::toNativeCollection):
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::setIsolatedWorldField):
(WebCore::V8DOMWindowShell::enteredIsolatedWorldContext):
* bindings/v8/V8DOMWrapper.cpp:
(WebCore::V8DOMWrapper::isWrapperOfType):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::setDOMWrapper):
(WebCore::V8DOMWrapper::clearDOMWrapper):
* bindings/v8/WrapperTypeInfo.h:
(WebCore::toNative):
(WebCore::toWrapperTypeInfo):

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

8 years agosetAttributeNode and friends should not have optional argument
arv@chromium.org [Thu, 8 Nov 2012 21:52:15 +0000 (21:52 +0000)]
setAttributeNode and friends should not have optional argument
https://bugs.webkit.org/show_bug.cgi?id=101631

Reviewed by Ojan Vafai.

Source/WebCore:

http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-887236154

Fix getAttributeNode, getAttributeNodeNS and removeAttributeNode to make the Attr
argument mandatory.

These used to throw DOMExceptions when an invalid type was passed instead of
TypeError which is also a spec violation.

Updated existing tests.

* bindings/scripts/CodeGeneratorV8.pm:
* dom/Element.cpp:
* dom/Element.idl:

LayoutTests:

Fix getAttributeNode, getAttributeNodeNS and removeAttributeNode to make the Attr
argument mandatory.

These used to throw DOMExceptions when an invalid type was passed instead of
TypeError which is also a spec violation.

* fast/dom/Element/attr-param-typechecking-expected.txt:
* fast/dom/Element/script-tests/attr-param-typechecking.js:

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

8 years ago[Chromium] DumpRenderTree fix for canvas in software compositing
commit-queue@webkit.org [Thu, 8 Nov 2012 21:39:56 +0000 (21:39 +0000)]
[Chromium] DumpRenderTree fix for canvas in software compositing
https://bugs.webkit.org/show_bug.cgi?id=101509

Patch by Slavomir Kaslev <skaslev@google.com> on 2012-11-08
Reviewed by Adrienne Walker.

Don't use accelerated canvas 2d when in software compositing mode.

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

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

8 years agoSource/WebCore: IndexedDB: Remove unused error handling clauses when writing to trans...
jsbell@chromium.org [Thu, 8 Nov 2012 21:37:58 +0000 (21:37 +0000)]
Source/WebCore: IndexedDB: Remove unused error handling clauses when writing to transaction
https://bugs.webkit.org/show_bug.cgi?id=100700

Reviewed by Tony Chang.

Transactions are written into in-memory data structures. This can only fail if allocation
fails, so "success" results are always returned. Change the return types to void, and delete
all of the unreachable error handling code.

No new tests - just refactoring/dead code removal.

* Modules/indexeddb/IDBLevelDBBackingStore.cpp:
(WebCore::putBool): Only write to transactions.
(WebCore):
(WebCore::putInt): Ditto.
(WebCore::putVarInt): Ditto.
(WebCore::putString): Ditto.
(WebCore::putIDBKeyPath): Ditto.
(WebCore::IDBLevelDBBackingStore::updateIDBDatabaseIntVersion):
(WebCore::IDBLevelDBBackingStore::updateIDBDatabaseMetaData):
(WebCore::deleteRange): Writes only to transaction, so can't fail.
(WebCore::setMaxObjectStoreId):
(WebCore::IDBLevelDBBackingStore::createObjectStore):
(WebCore::getNewVersionNumber):
(WebCore::IDBLevelDBBackingStore::putObjectStoreRecord):
(WebCore::IDBLevelDBBackingStore::maybeUpdateKeyGeneratorCurrentNumber):
(WebCore::setMaxIndexId):
(WebCore::IDBLevelDBBackingStore::createIndex):
(WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
* platform/leveldb/LevelDBTransaction.cpp:
(WebCore::LevelDBTransaction::set): Return type is void.
(WebCore::LevelDBTransaction::put): Ditto.
(WebCore::LevelDBTransaction::remove): Ditto.
* platform/leveldb/LevelDBTransaction.h:
(LevelDBTransaction):

LayoutTests: [Chromium] Unreviewed gardening.

* platform/chromium/TestExpectations:

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

8 years agoOn Chromium, click-after-nested-block.html, focus_editable_html.html, and autoscroll...
rniwa@webkit.org [Thu, 8 Nov 2012 21:36:32 +0000 (21:36 +0000)]
On Chromium, click-after-nested-block.html, focus_editable_html.html, and autoscroll.html
hit assertion added in r133840
https://bugs.webkit.org/show_bug.cgi?id=101576

Reviewed by Abhishek Arya.

Update layout before invalidating caret rect as needed.
Existing tests cover this.

* editing/FrameSelection.cpp:
(WebCore::FrameSelection::setCaretVisibility): Merged clearCaretRectIfNeeded.
* editing/FrameSelection.h:

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

8 years agoUnreviewed.
abarth@webkit.org [Thu, 8 Nov 2012 21:35:51 +0000 (21:35 +0000)]
Unreviewed.

Roll Chromium DEPS: 166678 => 166755

* DEPS:

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

8 years agoUnreviewed chromium rebaselines.
eae@chromium.org [Thu, 8 Nov 2012 20:54:51 +0000 (20:54 +0000)]
Unreviewed chromium rebaselines.

* platform/chromium-linux-x86/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
* platform/chromium-linux-x86/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
* platform/chromium-mac-lion/fast/css/text-overflow-ellipsis-bidi-expected.png: Added.
* platform/chromium-mac-lion/fast/css/text-overflow-ellipsis-expected.png: Added.
* platform/chromium-mac-lion/fast/css/text-overflow-ellipsis-strict-expected.png: Added.
* platform/chromium-mac-lion/fast/css/text-overflow-input-expected.png: Added.
* platform/chromium-mac-lion/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png: Added.
* platform/chromium-mac-lion/fast/forms/basic-textareas-quirks-expected.png: Added.
* platform/chromium-mac-lion/fast/forms/input-disabled-color-expected.png: Added.
* platform/chromium-mac-lion/fast/forms/input-readonly-dimmed-expected.png: Added.
* platform/chromium-mac-lion/fast/forms/input-text-scroll-left-on-blur-expected.png: Added.
* platform/chromium-mac-lion/fast/forms/search-rtl-expected.png: Added.
* platform/chromium-mac-lion/fast/multicol/span/anonymous-split-block-crash-expected.png: Added.
* platform/chromium-mac-lion/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.png: Added.
* platform/chromium-mac-lion/fast/replaced/width100percent-textarea-expected.png: Added.
* platform/chromium-mac/fast/css/text-overflow-ellipsis-text-align-center-expected.png:
* platform/chromium-win-xp/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
* platform/chromium-win-xp/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
* platform/chromium-win/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
* platform/chromium-win/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
* platform/efl-wk1/fast/css: Added.
* platform/efl-wk1/fast/css/text-overflow-ellipsis-bidi-expected.png: Added.
* platform/efl-wk1/fast/css/text-overflow-ellipsis-expected.png: Added.
* platform/efl-wk1/fast/css/text-overflow-ellipsis-strict-expected.png: Added.
* platform/efl-wk1/fast/css/text-overflow-ellipsis-text-align-center-expected.png: Added.
* platform/efl-wk1/fast/css/text-overflow-input-expected.png: Added.
* platform/efl-wk1/fast/css/text-overflow-input-expected.txt: Added.
* platform/efl-wk1/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png: Added.
* platform/efl/fast/css/text-overflow-ellipsis-bidi-expected.png: Removed.
* platform/efl/fast/css/text-overflow-ellipsis-expected.png: Removed.
* platform/efl/fast/css/text-overflow-ellipsis-strict-expected.png: Removed.
* platform/efl/fast/css/text-overflow-ellipsis-text-align-center-expected.png: Removed.
* platform/efl/fast/css/text-overflow-input-expected.png: Removed.
* platform/efl/fast/css/text-overflow-input-expected.txt: Removed.
* platform/efl/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png: Removed.
* platform/efl/fast/forms/basic-textareas-quirks-expected.png: Removed.
* platform/efl/fast/forms/basic-textareas-quirks-expected.txt: Removed.
* platform/efl/fast/forms/input-disabled-color-expected.png: Removed.
* platform/efl/fast/forms/input-disabled-color-expected.txt: Removed.
* platform/efl/fast/forms/input-readonly-dimmed-expected.png: Removed.
* platform/efl/fast/forms/input-readonly-dimmed-expected.txt: Removed.
* platform/efl/fast/forms/input-text-scroll-left-on-blur-expected.png: Removed.
* platform/efl/fast/forms/input-text-scroll-left-on-blur-expected.txt: Removed.
* platform/efl/fast/multicol/span/anonymous-split-block-crash-expected.png: Removed.
* platform/efl/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.png: Removed.
* platform/efl/fast/replaced/width100percent-textarea-expected.png: Removed.

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

8 years ago[WK2] Print preview should vend images to the UIProcess instead of PDFs
timothy_horton@apple.com [Thu, 8 Nov 2012 20:47:34 +0000 (20:47 +0000)]
[WK2] Print preview should vend images to the UIProcess instead of PDFs
https://bugs.webkit.org/show_bug.cgi?id=101382
<rdar://problem/9866766>

Reviewed by Alexey Proskuryakov.

In the interests of keeping PDF processing inside the WebProcess, we should
remove print preview's reliance on PDFs, by handing bitmaps back instead.

* Shared/ShareableBitmap.cpp:
(WebKit::ShareableBitmap::create): Add an optional SharedMemory::Protection argument, so we can make
ShareableBitmaps from read-only handles if desired. Defaults to read-write as previously.
(WebKit::ShareableBitmap::createHandle): Add an optional SharedMemory::Protection argument, so we can make
read-only handles if desired. Defaults to read-write as previously.
* Shared/ShareableBitmap.h:
* UIProcess/API/mac/WKPrintingView.h:
(WebImage): Store WebImages instead of raw PDF data for previews.
* UIProcess/API/mac/WKPrintingView.mm:
(pageDidDrawToImage): Add a callback for when a preview we've requested is done rendering into an image.
Cache the image in _pagePreviews if appropriate.
(pageDidDrawToPDF): Do not handle PDF data unless we are expecting a real print callback (not a preview).
(-[WKPrintingView _drawPreview:]): Request an image instead of PDF data when doing a print preview.
* UIProcess/GenericCallback.h:
(ImageCallback): Add a callback type with one argument: a ShareableBitmap::Handle.
I can't use the GenericCallback template because ShareableBitmap::Handle doesn't have a corresponding WK type.
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::close): Add support for ImageCallback.
(WebKit::WebPageProxy::imageCallback): Add support for ImageCallback.
(WebKit::WebPageProxy::drawRectToImage): Rename drawRectToPDF to drawRectToImage.
* UIProcess/WebPageProxy.h:
(WebPageProxy): Rename drawRectToPDF to drawRectToImage, add support for ImageCallback.
* UIProcess/WebPageProxy.messages.in: Add support for ImageCallback.
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::drawRectToImage): Rename drawRectToPDF to drawRectToImage.
Make drawRectToImage create a bitmap snapshot of the page (using the normal snapshotting code),
or, if the page is backed by a *PDFPlugin, draw the PDF document into a bitmap and use that.
* WebProcess/WebPage/WebPage.h:
(WebPage): Rename drawRectToPDF to drawRectToImage.
* WebProcess/WebPage/WebPage.messages.in: Rename drawRectToPDF to drawRectToImage.
* WebProcess/WebPage/mac/WebPageMac.mm:
(WebKit::WebPage::drawPDFDocument): Rename drawRectToPDFFromPDFDocument to drawPDFDocument,
because it's more like drawImage than anything else.

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

8 years agoLayout test editing/pasteboard/file-drag-to-editable.html flaky
tony@chromium.org [Thu, 8 Nov 2012 20:41:16 +0000 (20:41 +0000)]
Layout test editing/pasteboard/file-drag-to-editable.html flaky
https://bugs.webkit.org/show_bug.cgi?id=101092

Reviewed by Ryosuke Niwa.

Fix a flaky test.  The problem was that we were confusing the test harness by
trying to do a navigation before the initial load finished (the notifyDone()
call did nothing because waitUntilDone() was missing).  Depending on the state
of the frame loader when the test run, there was a race in whether or not we
would dump the results before or after completing the script execution.

Fix this by restructuring the test to run during onload and by calling notifyDone()
after the file load attempt failed.

* editing/pasteboard/file-drag-to-editable-expected.txt:
* editing/pasteboard/script-tests/file-drag-to-editable.js:
(runTest.window.onbeforeunload): Simplify and don't run nofityDone yet.
(runTest): Run test during onload event.
* platform/chromium/TestExpectations: Remove flaky marker.

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

8 years agoSkip frame owner disconnect when there's no frames
commit-queue@webkit.org [Thu, 8 Nov 2012 20:37:24 +0000 (20:37 +0000)]
Skip frame owner disconnect when there's no frames
https://bugs.webkit.org/show_bug.cgi?id=101619

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

Even when there's no subframes in the document we traverse down every
subtree on Node removal looking for frames to disconnect. This patch
checks document()->frame()->tree()->firstChild() to skip this traversal
if there's no subframes.

No new tests, this just short circuits code for speed.

* dom/ContainerNodeAlgorithms.h:
(WebCore::ChildFrameDisconnector::ChildFrameDisconnector):

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

8 years agoWrong error type is thrown for type errors in callbacks
arv@chromium.org [Thu, 8 Nov 2012 20:33:42 +0000 (20:33 +0000)]
Wrong error type is thrown for type errors in callbacks
https://bugs.webkit.org/show_bug.cgi?id=101502

Reviewed by Adam Barth.

We should be throwing a TypeError and not a DOMException with code TYPE_MISMATCH_ERR.

http://www.w3.org/TR/WebIDL/#es-callback-function

Source/WebCore:

Updated existing tests.

* bindings/scripts/CodeGeneratorJS.pm:
* bindings/scripts/CodeGeneratorV8.pm:
* bindings/scripts/test/JS/JSTestObj.cpp:
* bindings/scripts/test/V8/V8TestObj.cpp:

LayoutTests:

* fast/mediastream/argument-types-expected.txt:
* fast/mediastream/peerconnection-argument-types-expected.txt:
* fast/mediastream/script-tests/argument-types.js:
* fast/mediastream/script-tests/peerconnection-argument-types.js:
* fast/workers/storage/open-database-inputs-sync-expected.txt:

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

8 years agoUnreviewed. Rolled DEPS.
commit-queue@webkit.org [Thu, 8 Nov 2012 20:33:26 +0000 (20:33 +0000)]
Unreviewed.  Rolled DEPS.

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

* DEPS:

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

8 years agoUnreviewed. Even more gardening after r133898.
yael@webkit.org [Thu, 8 Nov 2012 20:16:12 +0000 (20:16 +0000)]
Unreviewed. Even more gardening after r133898.

* platform/efl/TestExpectations:

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

8 years agoRoll WebKitSystemInterface DEPS.
andersca@apple.com [Thu, 8 Nov 2012 20:09:51 +0000 (20:09 +0000)]
Roll WebKitSystemInterface DEPS.

Rubber-stamped by Andreas Kling.

* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceMountainLion.a:

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

8 years ago[BlackBerry] Janitor: Remove unused m_isValid bool
jpetsovits@rim.com [Thu, 8 Nov 2012 20:08:02 +0000 (20:08 +0000)]
[BlackBerry] Janitor: Remove unused m_isValid bool
https://bugs.webkit.org/show_bug.cgi?id=101610

Reviewed by Rob Buis.

It's not used anywhere, but as we have a constructor
that creates an invalid TileIndex, let's add another
method to check validity - now a correct check.

On top of that, make the stylebot happy by reducing
"unsigned int" to just "unsigned".

* WebKitSupport/TileIndex.h:
(BlackBerry::WebKit::TileIndex::TileIndex):
(BlackBerry::WebKit::TileIndex::i):
(BlackBerry::WebKit::TileIndex::j):
(BlackBerry::WebKit::TileIndex::setIndex):
(BlackBerry::WebKit::TileIndex::isValid):
(TileIndex):

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

8 years agoIntroduce WebScreenInfo.deviceScaleFactor
commit-queue@webkit.org [Thu, 8 Nov 2012 20:03:58 +0000 (20:03 +0000)]
Introduce WebScreenInfo.deviceScaleFactor
https://bugs.webkit.org/show_bug.cgi?id=101613

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

Introduce the WebScreenInfo.deviceScaleFactor property, which specifies the
ratio between physical and logical pixels. This is the first step in replacing
horizontalDPI/verticalDPI in favor of the deviceScaleFactor.

For now, this value is only initialized on Mac, because the other ports that
use it initialize the value in Chromium, whereas Windows and X11 default to a
factor of 1. The value on Mac is truncated to an integer to match the
expectation in Chromium's RenderWidget.

Source/Platform:

* chromium/public/WebScreenInfo.h:
(WebScreenInfo):
(WebKit::WebScreenInfo::WebScreenInfo):

Source/WebKit/chromium:

* src/mac/WebScreenInfoFactory.mm:
(WebKit::WebScreenInfoFactory::screenInfo):

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

8 years ago4.68MB below RenderStyle::filter() on Membuster3.
kling@webkit.org [Thu, 8 Nov 2012 19:37:50 +0000 (19:37 +0000)]
4.68MB below RenderStyle::filter() on Membuster3.
<http://webkit.org/b/101624>
<rdar://problem/12663822>

Reviewed by Darin Adler.

Rename the non-const RenderStyle::filter() to mutableFilter() since using it causes us to detach
from the rare non-inherited data (copy-on-write.)
Most call sites were calling filter() on a RenderStyle* which was causing the bloat.

4.68MB progression on Membuster3.

* css/StyleResolver.cpp:
(WebCore::StyleResolver::loadPendingSVGDocuments):
(WebCore::StyleResolver::loadPendingShaders):
* rendering/style/RenderStyle.h:

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

8 years ago Create loader/blackberry directory, because svn-apply cannot apply a patch...
ap@apple.com [Thu, 8 Nov 2012 19:35:45 +0000 (19:35 +0000)]
    Create loader/blackberry directory, because svn-apply cannot apply a patch that
        creates a directory and moves a file into it.

        * loader/blackberry: Added.

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

8 years ago[BlackBerry] Increase memory cache size
efidler@rim.com [Thu, 8 Nov 2012 19:30:59 +0000 (19:30 +0000)]
[BlackBerry] Increase memory cache size
https://bugs.webkit.org/show_bug.cgi?id=101622

Reviewed by Yong Li.

* WebCoreSupport/CacheClientBlackBerry.cpp:
(WebCore::CacheClientBlackBerry::updateCacheCapacity):
* WebCoreSupport/CacheClientBlackBerry.h:
(CacheClientBlackBerry):

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

8 years agoMac build fix: Mark WidthCache.h 'private' so WebKit can use it.
ggaren@apple.com [Thu, 8 Nov 2012 19:23:33 +0000 (19:23 +0000)]
Mac build fix: Mark WidthCache.h 'private' so WebKit can use it.

Not reviewed.

* WebCore.xcodeproj/project.pbxproj:

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

8 years ago[Chromium] Unreviewed gardening - widen flaky expectation to include crash
jsbell@chromium.org [Thu, 8 Nov 2012 19:13:57 +0000 (19:13 +0000)]
[Chromium] Unreviewed gardening - widen flaky expectation to include crash

* platform/chromium/TestExpectations:

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

8 years agoOptimized kerning and ligatures using caching
ggaren@apple.com [Thu, 8 Nov 2012 19:06:02 +0000 (19:06 +0000)]
Optimized kerning and ligatures using caching
https://bugs.webkit.org/show_bug.cgi?id=101269

Reviewed by Dan Bernstein.

Consider three kinds of text layout, and the value of caching for each:

    (1) 1 layout of 100% unique words: small negative value.

    (2) 1 layout of English prose: medium positive value.

    (3) Many layouts of anything: extra-extra-large positive value.

Since we can't distinguish betwen these workflows a priori, we use statistical
sampling. To minimize cost in (1) and maximize benefit in (2) and (3), we treat
each cache access as a statistical sample, and use the cache in proportion to
the observed probability of duplicate text measurement.

Benchmark results:
    plt3: 1% faster
    chapter-reflow-once-random: No change [*]
    chapter-reflow-once: 23% faster
    chapter-reflow-twice: 52% faster
    chapter-reflow-thrice: 68% faster
    chapter-reflow: 263% faster
    line-layout: 270% faster

    [*] This is a stress test designed to make everything go wrong for
    caching. It does not represent real world content.

* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* platform/graphics/WidthCache.h: Added.

(WidthCache): Added a class that caches common word widths. This cache
could cache more things or more cases in future -- but for now it seems
to cover the common cases.

(SmallStringKey): Early profiling showed that allocating an AtomicString
or String measurably added to the cost of the cache, so I added a custom
string key that can be stored directly inside the table by value --
empirically answering an age-old question with which Apple WebKit engineers
seem to be obsessed.

(WebCore::WidthCache::SmallStringKey::capacity):
(WebCore::WidthCache::SmallStringKey::SmallStringKey):
(WebCore::WidthCache::SmallStringKey::characters):
(WebCore::WidthCache::SmallStringKey::length):
(WebCore::WidthCache::SmallStringKey::hash):
(WebCore::WidthCache::SmallStringKey::isHashTableDeletedValue):
(WebCore::WidthCache::SmallStringKey::isHashTableEmptyValue):
(WebCore::WidthCache::SmallStringKeyHash::hash):
(WebCore::WidthCache::SmallStringKeyHash::equal):
(SmallStringKeyHash):
(SmallStringKeyHashTraits):
(WebCore::WidthCache::SmallStringKeyHashTraits::isEmptyValue): Ditto.

(WebCore::WidthCache::WidthCache):
(WebCore::WidthCache::add): Separate out the "don't use the cache" case
so the compiler can inline it separate, hopefully further reducing cases
of (1).

(WebCore::WidthCache::addSlowCase): There's a little subtlety to the
sampling policy here. Lots of different approaches are possible, and I
just picked a simple one that seemed to work based on benchmarking. I'll
point out some interesting sublteties I'm aware of here:

    (*) Since we start at the min sampling rate, a font used for 20 words
    or fewer never allocates a cache. Anecdotally, some fonts seem to
    be used this way.

    (*) When the sampling rate is x / y, sampling all x words in a row
    seems smart because some words may occur more commonly in relation to
    each other (such as 'each' and 'other'), and repeat workloads will
    lay out the same words in order. Intuitively, these are both reasons
    this policy may ramp up more effectively under load.

    (*) I opted for linear back-off instead of, say, exponential back-off
    because we're not trying to back off to infinity -- just to our min
    sampling rate. Since we don't expect the cache to hit for every word,
    my guess is that exponential back-off would be too aggressive.

    (*) Our "eviction" policy has an IQ of 1. I expect this is sufficient
    because it would be surprising to see a million unique words all used
    in the same document. (I would not like to play a Letterpress game
    against such a document.)

(WebCore::WidthCache::clear): Needed because a font can change, in which
case we need to ditch its cache.

(WebCore::operator==): Needed for hashing.

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

8 years agoUnreviewed. More gardening after r133898.
yael@webkit.org [Thu, 8 Nov 2012 18:57:17 +0000 (18:57 +0000)]
Unreviewed. More gardening after r133898.

* platform/efl/TestExpectations:

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

8 years ago[Chromium] Unreviewed gardening - fix lint failures in expectations file.
jsbell@chromium.org [Thu, 8 Nov 2012 18:54:54 +0000 (18:54 +0000)]
[Chromium] Unreviewed gardening - fix lint failures in expectations file.

* platform/chromium/TestExpectations:

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

8 years agoHashAndUTF8CharactersTranslator should create an 8 bit string if possible
msaboff@apple.com [Thu, 8 Nov 2012 18:47:34 +0000 (18:47 +0000)]
HashAndUTF8CharactersTranslator should create an 8 bit string if possible
https://bugs.webkit.org/show_bug.cgi?id=101515

Reviewed by Darin Adler.

Added isAllASCII flag that's passed to convertUTF8ToUTF16().  If on return it is true, create an
8 bit string, otherwise use the 16 bit string.

* wtf/text/AtomicString.cpp:
(WTF::HashAndUTF8CharactersTranslator::translate):

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

8 years agoMultiple Layout Tests (e.g. fast/repaint/japanese-rl-selection-clear.html) is failing...
jsbell@chromium.org [Thu, 8 Nov 2012 18:37:03 +0000 (18:37 +0000)]
Multiple Layout Tests (e.g. fast/repaint/japanese-rl-selection-clear.html) is failing after r133840.
https://bugs.webkit.org/show_bug.cgi?id=101547

[Chromium] Unreviewed gardening - test expectations update.

* platform/chromium/TestExpectations:

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

8 years agoCleanup IDBBindingUtilitiesTest
commit-queue@webkit.org [Thu, 8 Nov 2012 18:33:22 +0000 (18:33 +0000)]
Cleanup IDBBindingUtilitiesTest
https://bugs.webkit.org/show_bug.cgi?id=100860

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

Small cleanup of IDBBindingUtilitiesTest as per
https://bugs.webkit.org/show_bug.cgi?id=99975#c38

* tests/IDBBindingUtilitiesTest.cpp:
(IDBKeyFromValueAndKeyPathTest):
(WebKit::IDBKeyFromValueAndKeyPathTest::IDBKeyFromValueAndKeyPathTest):
(WebKit::IDBKeyFromValueAndKeyPathTest::context):
(WebKit):
(WebKit::TEST_F):

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

8 years agoWeb Inspector: show statistics over selected frame range in Timeline's Frame mode
caseq@chromium.org [Thu, 8 Nov 2012 18:24:07 +0000 (18:24 +0000)]
Web Inspector: show statistics over selected frame range in Timeline's Frame mode
https://bugs.webkit.org/show_bug.cgi?id=101593

Reviewed by Pavel Feldman.

- change status bar records counter wording to "N of M frames|records shown" depending on mode;
- append average frame length and & stddev in frame mode;
- expand the above to a popover that includes frame count, range duration and min/avg/max/stddev on frame length;
- show frame bars & dividers iff selection range includes < 30 frames (drive-by)

* English.lproj/localizedStrings.js:
* inspector/front-end/TimelineFrameController.js:
(WebInspector.FrameStatistics):
* inspector/front-end/TimelineModel.js:
(WebInspector.TimelineModel.aggregateTimeByCategory):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel.prototype.get statusBarItems):
(WebInspector.TimelinePanel.prototype._createStatusBarItems.getAnchor):
(WebInspector.TimelinePanel.prototype._createStatusBarItems):
(WebInspector.TimelinePanel.prototype._updateRecordsCounter):
(WebInspector.TimelinePanel.prototype._updateFrameStatistics):
(WebInspector.TimelinePanel.prototype._showFrameStatistics):
(WebInspector.TimelinePanel.prototype._updateFrameBars):
(WebInspector.TimelinePanel.prototype._overviewModeChanged.set if):
(WebInspector.TimelinePanel.prototype._overviewModeChanged):
(WebInspector.TimelinePanel.prototype._refresh):
* inspector/front-end/TimelinePresentationModel.js:
(WebInspector.TimelinePresentationModel.prototype.):
(WebInspector.TimelinePresentationModel.prototype.compareEndTime):
(WebInspector.TimelinePresentationModel.prototype.filteredFrames):
(WebInspector.TimelinePresentationModel.generatePopupContentForFrameStatistics):
* inspector/front-end/timelinePanel.css:
(.timeline-records-stats, .storage-application-cache-status, .storage-application-cache-connectivity):
(.timeline-records-stats):
(.timeline-frames-stats):

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

8 years ago[BlackBerry] Rework the API to use document coordinates
jpetsovits@rim.com [Thu, 8 Nov 2012 18:21:23 +0000 (18:21 +0000)]
[BlackBerry] Rework the API to use document coordinates
https://bugs.webkit.org/show_bug.cgi?id=101608
RIM PR 173292

Reviewed by Adam Treat.

Source/WebCore:

Provide a better API for WebPage to relay.
See Source/WebKit/blackberry/ChangeLog for details.

* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
(WebCore::MediaPlayerPrivate::getWindowScreenRect):
* platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
(Platform):
(BlackBerry):
(MediaPlayerPrivate):

Source/WebKit/blackberry:

Scrolling and zooming APIs used to operate on
transformed coordinates, which is a bad idea:
The UI thread might long have moved on to a
different scale and scroll position so outdated
pixel coordinates are of limited value.

Moreover, more transformation calculations are
needed than if we operate purely on document
coordinates.

With webkitThreadViewportAccessor() exposed,
the caller has a choice between how to handle
coordinates and the means to perform conversions
with little effort and overhead if needed.
Therefore, we should remove pixel coordinates
from the public API. This commit makes this change.

* Api/BackingStore.cpp:
(BlackBerry::WebKit::BackingStorePrivate::repaint):
(BlackBerry::WebKit::BackingStorePrivate::didRenderContent):
* Api/InRegionScroller.cpp:
(BlackBerry::WebKit::InRegionScroller::setDocumentScrollPositionCompositingThread):
(BlackBerry::WebKit::InRegionScroller::setDocumentScrollPositionWebKitThread):
(BlackBerry::WebKit::InRegionScrollerPrivate::calculateInRegionScrollableAreasForPoint):
* Api/InRegionScroller.h:
* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::WebPagePrivate):
(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::shouldZoomAboutPoint):
(BlackBerry::WebKit::WebPagePrivate::zoomAboutPoint):
(BlackBerry::WebKit::WebPage::setDocumentScrollPosition):
(BlackBerry::WebKit::WebPagePrivate::hasVirtualViewport):
(BlackBerry::WebKit::WebPagePrivate::notifyTransformedContentsSizeChanged):
(BlackBerry::WebKit::WebPagePrivate::notifyTransformedScrollChanged):
(BlackBerry::WebKit::WebPagePrivate::setCursor):
(BlackBerry::WebKit::WebPagePrivate::notifyPopupAutofillDialog):
(BlackBerry::WebKit::WebPagePrivate::fixedLayoutSize):
(BlackBerry::WebKit::WebPagePrivate::bestNodeForZoomUnderPoint):
(BlackBerry::WebKit::WebPagePrivate::blockZoomRectForNode):
(BlackBerry::WebKit::WebPagePrivate::zoomBlock):
(BlackBerry::WebKit::WebPage::setVirtualViewportSize):
(BlackBerry::WebKit::WebPagePrivate::recomputeVirtualViewportFromViewportArguments):
(BlackBerry::WebKit::WebPagePrivate::dispatchViewportPropertiesDidChange):
(BlackBerry::WebKit::WebPagePrivate::resumeBackingStore):
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):
(BlackBerry::WebKit::WebPage::setDefaultLayoutSize):
(BlackBerry::WebKit::WebPagePrivate::setScrollOriginPoint):
(BlackBerry::WebKit::WebPage::setDocumentScrollOriginPoint):
(BlackBerry::WebKit::handleScrolling):
(BlackBerry::WebKit::WebPage::selectionContainsDocumentPoint):
(BlackBerry::WebKit::WebPage::setDocumentSelection):
(BlackBerry::WebKit::WebPage::setDocumentCaretPosition):
(BlackBerry::WebKit::WebPage::selectAtDocumentPoint):
(BlackBerry::WebKit::WebPagePrivate::setTextReflowAnchorPoint):
(BlackBerry::WebKit::WebPage::pinchZoomAboutPoint):
(BlackBerry::WebKit::WebPage::blockZoom):
(BlackBerry::WebKit::WebPage::nodeAtDocumentPoint):
(BlackBerry::WebKit::WebPagePrivate::enterFullscreenForNode):
* Api/WebPage.h:
(Platform):
* Api/WebPageClient.h:
* Api/WebPage_p.h:
(WebPagePrivate):
* WebCoreSupport/AutofillManager.cpp:
(WebCore::AutofillManager::didChangeInTextField):
* WebCoreSupport/FrameLoaderClientBlackBerry.cpp:
(WebCore::FrameLoaderClientBlackBerry::dispatchDidLayout):
* WebKitSupport/SelectionHandler.cpp:
(BlackBerry::WebKit::SelectionHandler::selectionPositionChanged):
(BlackBerry::WebKit::SelectionHandler::caretPositionChanged):

Tools:

Adapt to changed WebPage API.
See Source/WebKit/blackberry/ChangeLog for details.

* DumpRenderTree/blackberry/DumpRenderTree.cpp:
(BlackBerry::WebKit::DumpRenderTree::DumpRenderTree):
(BlackBerry::WebKit::DumpRenderTree::resetToConsistentStateBeforeTesting):

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

8 years ago[Chromium] Test expectations for failing image tests following Chromium r166632.
jsbell@chromium.org [Thu, 8 Nov 2012 18:15:54 +0000 (18:15 +0000)]
[Chromium] Test expectations for failing image tests following Chromium r166632.

Unreviewed gardening.

* platform/chromium/TestExpectations:

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

8 years ago[Chromium] Widen flaky crash expectation fast/workers/worker-multi-startup.html to...
jsbell@chromium.org [Thu, 8 Nov 2012 17:51:01 +0000 (17:51 +0000)]
[Chromium] Widen flaky crash expectation fast/workers/worker-multi-startup.html to include linux.

Unreviewed gardening.

* platform/chromium/TestExpectations:

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

8 years ago[Chromium] http/tests/inspector/indexeddb/database-data.html ASSERT on Win7 following...
jsbell@chromium.org [Thu, 8 Nov 2012 17:44:51 +0000 (17:44 +0000)]
[Chromium] http/tests/inspector/indexeddb/database-data.html ASSERT on Win7 following r133855
https://bugs.webkit.org/show_bug.cgi?id=101618

Unreviewed gardening.

* platform/chromium/TestExpectations:

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

8 years agoAdd properties for week/month picker in DateTimeChooserImpl::writeDocument
keishi@webkit.org [Thu, 8 Nov 2012 17:43:20 +0000 (17:43 +0000)]
Add properties for week/month picker in DateTimeChooserImpl::writeDocument
https://bugs.webkit.org/show_bug.cgi?id=101552

Reviewed by Kent Tamura.

Source/Platform:

* chromium/public/WebLocalizedString.h: Add WeekNumberLabel.

Source/WebKit/chromium:

Changing the arguments for calendar picker to support week/month picker.

* src/DateTimeChooserImpl.cpp:
(WebKit::DateTimeChooserImpl::writeDocument):

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

8 years agoUnreviewed, rolling out r133892.
jsbell@chromium.org [Thu, 8 Nov 2012 17:35:11 +0000 (17:35 +0000)]
Unreviewed, rolling out r133892.
http://trac.webkit.org/changeset/133892
https://bugs.webkit.org/show_bug.cgi?id=101617

Compile failures on mac, android, linux (Requested by
jsbell|gardener on #webkit).

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

* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::current):
* bindings/v8/DOMWrapperWorld.h:
(WebCore::DOMWrapperWorld::domDataStore):
(WebCore::DOMWrapperWorld::DOMWrapperWorld):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::getCachedWrapper):

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

8 years agoUnreviewed chromium mac rebaseline for r101497.
eae@chromium.org [Thu, 8 Nov 2012 17:28:38 +0000 (17:28 +0000)]
Unreviewed chromium mac rebaseline for r101497.

* platform/chromium-mac-lion/fast/css/text-overflow-ellipsis-bidi-expected.txt: Added.
* platform/chromium-mac-lion/fast/css/text-overflow-ellipsis-expected.txt: Added.
* platform/chromium-mac-lion/fast/css/text-overflow-ellipsis-strict-expected.txt: Added.
* platform/chromium-mac-lion/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt: Added.
* platform/chromium-mac-lion/fast/forms/input-readonly-autoscroll-expected.png: Added.
* platform/chromium-mac-lion/fast/forms/input-readonly-autoscroll-expected.txt: Added.
* platform/chromium-mac-lion/fast/forms/search-rtl-expected.txt: Added.
* platform/chromium-mac-lion/fast/multicol/span: Added.
* platform/chromium-mac-lion/fast/multicol/span/anonymous-split-block-crash-expected.txt: Added.
* platform/chromium-mac-lion/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.txt: Added.
* platform/chromium-mac-lion/fast/replaced/width100percent-textarea-expected.txt: Added.
* platform/chromium-mac-lion/svg/text/text-overflow-ellipsis-svgfont-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/css/text-overflow-ellipsis-bidi-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/css/text-overflow-ellipsis-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/css/text-overflow-ellipsis-strict-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
* platform/chromium-mac-snowleopard/fast/forms/input-readonly-autoscroll-expected.png:
* platform/chromium-mac-snowleopard/fast/forms/input-readonly-autoscroll-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/forms/search-rtl-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/multicol/span/anonymous-split-block-crash-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.txt: Added.
* platform/chromium-mac-snowleopard/fast/replaced/width100percent-textarea-expected.png:
* platform/chromium-mac-snowleopard/fast/replaced/width100percent-textarea-expected.txt: Added.
* platform/chromium-mac-snowleopard/svg/text/text-overflow-ellipsis-svgfont-expected.txt: Added.
* platform/chromium-mac/fast/css/text-overflow-ellipsis-bidi-expected.png:
* platform/chromium-mac/fast/css/text-overflow-ellipsis-bidi-expected.txt: Added.
* platform/chromium-mac/fast/css/text-overflow-ellipsis-expected.png:
* platform/chromium-mac/fast/css/text-overflow-ellipsis-expected.txt: Added.
* platform/chromium-mac/fast/css/text-overflow-ellipsis-strict-expected.png:
* platform/chromium-mac/fast/css/text-overflow-ellipsis-strict-expected.txt: Added.
* platform/chromium-mac/fast/css/text-overflow-input-expected.png:
* platform/chromium-mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.png:
* platform/chromium-mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
* platform/chromium-mac/fast/forms/basic-textareas-expected.png:
* platform/chromium-mac/fast/forms/basic-textareas-expected.txt:
* platform/chromium-mac/fast/forms/basic-textareas-quirks-expected.png:
* platform/chromium-mac/fast/forms/basic-textareas-quirks-expected.txt:
* platform/chromium-mac/fast/forms/input-disabled-color-expected.png:
* platform/chromium-mac/fast/forms/input-disabled-color-expected.txt:
* platform/chromium-mac/fast/forms/input-readonly-autoscroll-expected.png:
* platform/chromium-mac/fast/forms/input-readonly-autoscroll-expected.txt: Added.
* platform/chromium-mac/fast/forms/input-readonly-dimmed-expected.png:
* platform/chromium-mac/fast/forms/input-text-scroll-left-on-blur-expected.png:
* platform/chromium-mac/fast/forms/search-rtl-expected.png:
* platform/chromium-mac/fast/forms/search-rtl-expected.txt: Added.
* platform/chromium-mac/fast/multicol/span/anonymous-split-block-crash-expected.png:
* platform/chromium-mac/fast/multicol/span/anonymous-split-block-crash-expected.txt:
* platform/chromium-mac/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.png:
* platform/chromium-mac/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.txt:
* platform/chromium-mac/fast/replaced/width100percent-textarea-expected.png:
* platform/chromium-mac/fast/replaced/width100percent-textarea-expected.txt: Added.
* platform/chromium-mac/svg/text/text-overflow-ellipsis-svgfont-expected.txt: Added.
* platform/chromium/TestExpectations:
* platform/chromium/fast/css/text-overflow-input-expected.txt: Removed.
* platform/chromium/fast/forms/input-readonly-dimmed-expected.txt: Removed.
* platform/chromium/fast/forms/input-text-scroll-left-on-blur-expected.txt: Removed.
* platform/gtk/fast/forms/basic-textareas-quirks-expected.txt: Removed.
* platform/mac/fast/css/text-overflow-input-expected.txt: Removed.
* platform/mac/fast/forms/input-readonly-dimmed-expected.txt: Removed.
* platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt: Removed.

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

8 years agoWeb Inspector: [Canvas] UI iterations: image on the top, auto replay
commit-queue@webkit.org [Thu, 8 Nov 2012 17:28:05 +0000 (17:28 +0000)]
Web Inspector: [Canvas] UI iterations: image on the top, auto replay
https://bugs.webkit.org/show_bug.cgi?id=101584

Patch by Andrey Adaikin <aandrey@chromium.org> on 2012-11-08
Reviewed by Pavel Feldman.

* inspector/front-end/CanvasProfileView.js:
(WebInspector.CanvasProfileView):
(WebInspector.CanvasProfileView.prototype._showTraceLog):
(WebInspector.CanvasProfileView.prototype._onTraceLogItemClick):
(WebInspector.CanvasProfileView.prototype._replayTraceLog.didReplayTraceLog):
(WebInspector.CanvasProfileView.prototype._replayTraceLog):
* inspector/front-end/canvasProfiler.css:
(.canvas-trace-log):
(#canvas-replay-image-container):
(#canvas-replay-image):

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

8 years agoWhile absolute positioning is put before the first flexitem, flexitems will move...
commit-queue@webkit.org [Thu, 8 Nov 2012 17:26:55 +0000 (17:26 +0000)]
While absolute positioning is put before the first flexitem, flexitems will move to a new line.
https://bugs.webkit.org/show_bug.cgi?id=101294

Patch by Wei Fanzhe <whyer1@gmail.com> on 2012-11-08
Reviewed by Ojan Vafai.

Source/WebCore:

This issue has to do with RenderFlexibleBox::computeNextFlexLine. When determing line breaks, the algorithm sees if 1) the total width exceeds lineBreakLength and 2) whether orderedChildren is non-empty.  But then, if the total width exceeds lineBreakLength and there's only absolutely positioned elemments in orderedChildren then the conditions are met and the algorithm mistakenly breaks the line. The solution is to see if orderedChildren collects at least a flex item. If it does, break the line.

* rendering/RenderFlexibleBox.cpp:
(WebCore::RenderFlexibleBox::computeNextFlexLine):

LayoutTests:

Add a case to test flexible layout while absolute positioning is put before the first flexitem.

* css3/flexbox/flex-algorithm-expected.txt:
* css3/flexbox/flex-algorithm.html:

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

8 years agoUnreviewed. Gardening after r133898.
yael@webkit.org [Thu, 8 Nov 2012 17:19:05 +0000 (17:19 +0000)]
Unreviewed. Gardening after r133898.

* platform/efl/TestExpectations:

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

8 years agoUnreviewed, rolling out r133429.
dglazkov@chromium.org [Thu, 8 Nov 2012 17:00:48 +0000 (17:00 +0000)]
Unreviewed, rolling out r133429.
http://trac.webkit.org/changeset/133429
https://bugs.webkit.org/show_bug.cgi?id=101173

Speculative roll out, investigating perf regression.

Source/WebCore:

* dom/ContextFeatures.cpp:
* dom/ContextFeatures.h:
* dom/Position.cpp:
(WebCore::Position::Position):
(WebCore::Position::findParent):
* dom/TreeScope.cpp:
(WebCore::TreeScope::getSelection):
* html/HTMLTagNames.in:
* html/shadow/HTMLContentElement.cpp:
(WebCore::HTMLContentElement::contentTagName):
* page/DOMWindow.idl:

Source/WebKit/chromium:

* src/ContextFeaturesClientImpl.cpp:
(WebKit::ContextFeaturesClientImpl::askIfIsEnabled):

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

8 years agoFix enclosingLayoutRect calls in InlineFlowBox.h
eae@chromium.org [Thu, 8 Nov 2012 16:45:22 +0000 (16:45 +0000)]
Fix enclosingLayoutRect calls in InlineFlowBox.h
https://bugs.webkit.org/show_bug.cgi?id=101497

Reviewed by Levi Weintraub.

Source/WebCore:

InlineFlowBox.h used to include LayoutTypesInlineMethods.h which
overrid enclosingLayoutRect to call closingIntRect. When we
removed the LayoutTypes abstraction we switched these to
enclosingIntRect to preserve the behavior.
This patch changes these back to enclosingLayoutRect which is
the desired behavior.

Covered by existing tests.

* rendering/InlineFlowBox.h:
(WebCore::InlineFlowBox::layoutOverflowRect):
(WebCore::InlineFlowBox::visualOverflowRect):

LayoutTests:

Update tests expectations to reflect change form
enclosingIntRect to enclosingLayoutRect.

* platform/chromium-linux/fast/css/text-overflow-ellipsis-text-align-center-expected.txt:
* platform/chromium-linux/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
* platform/chromium-win/fast/multicol/span/anonymous-split-block-crash-expected.txt:
* platform/chromium-win/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.txt:
* platform/chromium-win/svg/text/text-overflow-ellipsis-svgfont-expected.txt:
* platform/mac/fast/css/text-overflow-ellipsis-bidi-expected.txt:
* platform/mac/fast/css/text-overflow-ellipsis-expected.txt:
* platform/mac/fast/css/text-overflow-ellipsis-strict-expected.txt:
* platform/mac/fast/css/text-overflow-input-expected.txt:
* platform/mac/fast/css/vertical-text-overflow-ellipsis-text-align-center-expected.txt:
* platform/mac/fast/forms/basic-textareas-expected.txt:
* platform/mac/fast/forms/basic-textareas-quirks-expected.txt:
* platform/mac/fast/forms/input-disabled-color-expected.txt:
* platform/mac/fast/forms/input-readonly-autoscroll-expected.txt:
* platform/mac/fast/forms/input-readonly-dimmed-expected.txt:
* platform/mac/fast/forms/input-text-scroll-left-on-blur-expected.txt:
* platform/mac/fast/forms/search-rtl-expected.txt:
* platform/mac/fast/multicol/span/anonymous-split-block-crash-expected.txt:
* platform/mac/fast/multicol/span/clone-anonymous-block-non-inline-child-crash-expected.txt:
* platform/mac/fast/multicol/span/span-as-immediate-child-property-removal-expected.txt:
* platform/mac/fast/replaced/width100percent-textarea-expected.txt:
* platform/mac/svg/text/text-overflow-ellipsis-svgfont-expected.txt:

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

8 years ago[BlackBerry] Verify touched element using the rootEditableElement
commit-queue@webkit.org [Thu, 8 Nov 2012 16:24:07 +0000 (16:24 +0000)]
[BlackBerry] Verify touched element using the rootEditableElement
https://bugs.webkit.org/show_bug.cgi?id=101510

Patch by Nima Ghanavatian <nghanavatian@rim.com> on 2012-11-08
Reviewed by Rob Buis.

Reviewed internally by Mike Fenton.

Move up the tree until we find the rootEditableElement and use
that to compare with the touched element.

* WebKitSupport/FatFingers.h:
(BlackBerry::WebKit::FatFingersResult::node):
(BlackBerry::WebKit::FatFingersResult::nodeAsElementIfApplicable):
* WebKitSupport/InputHandler.cpp:
(BlackBerry::WebKit::InputHandler::shouldRequestSpellCheckingOptionsForPoint):
* WebKitSupport/TouchEventHandler.cpp:
(BlackBerry::WebKit::TouchEventHandler::handleTouchPoint):

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

8 years ago[chromium] correct coding oversight for clang
rjkroege@chromium.org [Thu, 8 Nov 2012 15:43:36 +0000 (15:43 +0000)]
[chromium] correct coding oversight for clang
https://bugs.webkit.org/show_bug.cgi?id=101513

Reviewed by Kent Tamura.

https://bugs.webkit.org/show_bug.cgi?id=100675 contains an
incorrect declaration that precludes compiling embedder code
with clang: patch changes class to struct appropriately.

* chromium/public/WebGestureCurveTarget.h:
(WebKit):

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

8 years ago[EFL] Turn WTF_USE_TILED_BACKING_STORE in OptionsEfl.cmake.
commit-queue@webkit.org [Thu, 8 Nov 2012 15:39:04 +0000 (15:39 +0000)]
[EFL] Turn WTF_USE_TILED_BACKING_STORE in OptionsEfl.cmake.
https://bugs.webkit.org/show_bug.cgi?id=101559

Patch by Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> on 2012-11-08
Reviewed by Kenneth Rohde Christiansen.

Follow-up to 133859; also change the default value in
OptionsEfl.cmake so that the default changes for people not using
build-webkit (ie. users) as well.

* Source/cmake/OptionsEfl.cmake:

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

8 years ago[Qt] API test tst_qwebinspector crashes
allan.jensen@digia.com [Thu, 8 Nov 2012 15:32:38 +0000 (15:32 +0000)]
[Qt] API test tst_qwebinspector crashes
https://bugs.webkit.org/show_bug.cgi?id=101599

Reviewed by Simon Hausmann.

Delete the internal inspector from QWebPage destructor, instead of causing recursions
between QWebPagePrivate::setInspector and QWebInspector::setPage.

Also separate the three tests in tst_QWebInspector to better tell which one is failing.

* Api/qwebpage.cpp:
(QWebPagePrivate::~QWebPagePrivate):
(QWebPagePrivate::setInspector):
* tests/qwebinspector/tst_qwebinspector.cpp:
(tst_QWebInspector):
(tst_QWebInspector::attachAndDestroyPageFirst):
(tst_QWebInspector::attachAndDestroyInspectorFirst):
(tst_QWebInspector::attachAndDestroyInternalInspector):

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

8 years ago[EFL] Turn on WTF_USE_TILED_BACKING_STORE by default
commit-queue@webkit.org [Thu, 8 Nov 2012 15:25:17 +0000 (15:25 +0000)]
[EFL] Turn on WTF_USE_TILED_BACKING_STORE by default
https://bugs.webkit.org/show_bug.cgi?id=101526

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

.:

Separate out ENABLE_WEBGL. It is not ready to be enabled by default.

* Source/cmake/OptionsEfl.cmake:

Tools:

Turn on WTF_USE_TILED_BACKING_STORE for EFL port.

* Scripts/webkitperl/FeatureList.pm:

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

8 years agoRemove unnecessary save/restore in SVGTextRunRenderingContext
pdr@google.com [Thu, 8 Nov 2012 15:19:57 +0000 (15:19 +0000)]
Remove unnecessary save/restore in SVGTextRunRenderingContext
https://bugs.webkit.org/show_bug.cgi?id=101546

Reviewed by Andreas Kling.

This patch removes an unnecessary context save/restore SVGTextRunRenderingContext by
refactoring the code to save off the stroke thickness.

No new tests as this is heavily covered by existing tests.

* rendering/svg/SVGTextRunRenderingContext.cpp:
(WebCore::SVGTextRunRenderingContext::drawSVGGlyphs):

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

8 years ago[Qt] Fix build with MSVC 2012 and Angle
hausmann@webkit.org [Thu, 8 Nov 2012 15:09:36 +0000 (15:09 +0000)]
[Qt] Fix build with MSVC 2012 and Angle
https://bugs.webkit.org/show_bug.cgi?id=101588

Reviewed by Tor Arne Vestbø.

Angle includes STL's <memory> header file, which with MSVC 2012 includes stdint.h. MSVC 2012
does ship stdint.h, but it's lacking other headers such as inttypes.h.

So for the rest of WebKit we have to continue to use our own versions of these files from
JavaScriptCore/os-win32. But for Angle we are just including a shipped STL header file (memory)
and so it's up to the compiler to make that work, i.e. using the stdint.h it ships.

This patch moves the addition of JavaScriptCore/os-win32 out of default_post.prf, so that it
doesn't apply to each and every target anymore. In particular it won't apply to Angle anymore,
because its presence causes a build issue where due to the addition of os-win32/ we end up
including our own stdint.h but are lacking WTF/ to be in the include search path (which our own
stdint.h requires). So out of default_post.prf and into WTF.pri, our own wrappers are now only
used where WTF is also needed, and since os-win32/stdint.h depends on wtf/Platform.h, it seems
like a logical location.

Source/WTF:

* WTF.pri:

Tools:

* qmake/mkspecs/features/default_post.prf:

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

8 years agoRebaseline fast/media/w3c/test_media_queries.html and fast/media/mq-resolution.html...
rakuco@webkit.org [Thu, 8 Nov 2012 14:56:14 +0000 (14:56 +0000)]
Rebaseline fast/media/w3c/test_media_queries.html and fast/media/mq-resolution.html after r133884
https://bugs.webkit.org/show_bug.cgi?id=101597

Unreviewed, WebKit gardening.

Layout tests fast/media/w3c/test_media_queries.html and fast/media/mq-resolution.html
need new test expectations after r133884.

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2012-11-08

* fast/media/mq-resolution-expected.txt:
* fast/media/w3c/test_media_queries-expected.txt:

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

8 years agoOpaqueJSClassContextData() should use StringImpl::isolatedCopy() to make string copies
msaboff@apple.com [Thu, 8 Nov 2012 14:54:41 +0000 (14:54 +0000)]
OpaqueJSClassContextData() should use StringImpl::isolatedCopy() to make string copies
https://bugs.webkit.org/show_bug.cgi?id=101507

Reviewed by Andreas Kling.

Changed to use isolatedCopy() for key Strings.

* API/JSClassRef.cpp:
(OpaqueJSClassContextData::OpaqueJSClassContextData):

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

8 years ago[GTK] Clean up includes in GObject DOM bindings code
carlosgc@webkit.org [Thu, 8 Nov 2012 14:34:47 +0000 (14:34 +0000)]
[GTK] Clean up includes in GObject DOM bindings code
https://bugs.webkit.org/show_bug.cgi?id=101077

Reviewed by Kentaro Hara.

Remove some headers included multiple times for the same file and
fix consistency in the includes style.

* bindings/gobject/DOMObjectCache.cpp:
* bindings/gobject/GObjectEventListener.cpp:
* bindings/gobject/GObjectEventListener.h:
* bindings/gobject/WebKitDOMBinding.cpp:
* bindings/gobject/WebKitDOMBinding.h:
* bindings/gobject/WebKitDOMEventTarget.cpp:
* bindings/gobject/WebKitDOMEventTarget.h:
* bindings/gobject/WebKitDOMEventTargetPrivate.h:
(WebKit):
* bindings/gobject/WebKitDOMObject.cpp:
* bindings/gobject/WebKitDOMObject.h:
* bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
* bindings/gobject/WebKitHTMLElementWrapperFactory.h:
* bindings/scripts/CodeGeneratorGObject.pm:
(GenerateHeader):
(GenerateFunction):
(Generate):
(WriteData):
* bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
* bindings/scripts/test/GObject/WebKitDOMFloat64Array.h:
* bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
* bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h:
* bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObjectPrivate.h:
* bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
* bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
* bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h:
* bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h:
* bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h:
* bindings/scripts/test/GObject/WebKitDOMTestEventConstructorPrivate.h:
* bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h:
* bindings/scripts/test/GObject/WebKitDOMTestEventTargetPrivate.h:
* bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestException.h:
* bindings/scripts/test/GObject/WebKitDOMTestExceptionPrivate.h:
* bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestInterface.h:
* bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
* bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.h:
* bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
* bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h:
* bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h:
* bindings/scripts/test/GObject/WebKitDOMTestNode.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestNode.h:
* bindings/scripts/test/GObject/WebKitDOMTestNodePrivate.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
* bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
* bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
* bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:

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

8 years ago[V8] Main world should have one DOMDataStore
commit-queue@webkit.org [Thu, 8 Nov 2012 14:23:43 +0000 (14:23 +0000)]
[V8] Main world should have one DOMDataStore
https://bugs.webkit.org/show_bug.cgi?id=101470

Patch by Dan Carney <dcarney@google.com> on 2012-11-08
Reviewed by Kentaro Hara.

The main world DOMWrapperWorld held onto a DOMDataStore that should
never be used, as there is a static one optimized for speed in
DOMDataStore.

No new tests. No change in functionality.

* bindings/v8/DOMDataStore.cpp:
(WebCore::DOMDataStore::current):
* bindings/v8/DOMWrapperWorld.h:
(WebCore::DOMWrapperWorld::isolatedWorldDomDataStore):
(WebCore::DOMWrapperWorld::DOMWrapperWorld):
* bindings/v8/V8DOMWrapper.h:
(WebCore::V8DOMWrapper::getCachedWrapper):

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

8 years ago[EFL] Remove non-variable options from the build system
commit-queue@webkit.org [Thu, 8 Nov 2012 14:15:22 +0000 (14:15 +0000)]
[EFL] Remove non-variable options from the build system
https://bugs.webkit.org/show_bug.cgi?id=101506

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

.:

Remove WTF_USE_PTHREADS, WTF_USE_ICU_UNICODE, WTF_USE_CAIRO,
WTF_USE_FREETYPE and WTF_USE_HARFBUZZ_NG cmake variables
as these are always set to const 1 and not really configurable.

Remove the definition of ENABLE_CONTEXT_MENUS as this is already set to 1 by default in Platform.h.

* Source/cmake/OptionsEfl.cmake:

Source/WebCore:

Remove WTF_USE_ICU_UNICODE, WTF_USE_CAIRO and WTF_USE_FREETYPE cmake variables
as these are always set to const 1 and not really configurable.

Remove duplicate platform/graphics/cairo include path from
PlatformEfl.cmake.

No new tests as there is no new functionality.

* PlatformEfl.cmake:

Source/WebKit:

Remove WTF_USE_FREETYPE and ENABLE_GLIB_SUPPORT cmake variables
as these are always set to const 1 and not really configurable.

* PlatformEfl.cmake:

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

8 years ago[Qt] Fix build without WebKit1
commit-queue@webkit.org [Thu, 8 Nov 2012 13:55:59 +0000 (13:55 +0000)]
[Qt] Fix build without WebKit1
https://bugs.webkit.org/show_bug.cgi?id=101583

Patch by Simon Hausmann <simon.hausmann@digia.com> on 2012-11-08
Reviewed by Tor Arne Vestbø.

WebProcess needs access to the QStyle themeing via the initializeWebKit2Theme() function from
WebKit1. Try to access it depending on whether WebKit1 is built or not, not depending on whether
widgets are available not.

* WebProcess.pro:
* qt/MainQt.cpp:
(WebKit):
(main):

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

8 years agoUnused parameters on GraphicsLayerUpdater.cpp
commit-queue@webkit.org [Thu, 8 Nov 2012 13:35:21 +0000 (13:35 +0000)]
Unused parameters on GraphicsLayerUpdater.cpp
https://bugs.webkit.org/show_bug.cgi?id=101577

Patch by KyungTae Kim <ktf.kim@samsung.com> on 2012-11-08
Reviewed by Kentaro Hara.

The parameter 'displayID' is not used when !USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR)
Use UNUSED_PARAM macro for removing -Wunused-parameter warnings

* platform/graphics/GraphicsLayerUpdater.cpp:
(WebCore::GraphicsLayerUpdater::GraphicsLayerUpdater):
(WebCore::GraphicsLayerUpdater::screenDidChange):

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

8 years ago[EFL] Rebaseline fast/canvas/fillText-shadow.html
rakuco@webkit.org [Thu, 8 Nov 2012 13:23:24 +0000 (13:23 +0000)]
[EFL] Rebaseline fast/canvas/fillText-shadow.html
https://bugs.webkit.org/show_bug.cgi?id=101587

Unreviewed gardening.

Test fast/canvas/fillText-shadow.html has to be rebased after r133834.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-08

* platform/efl/fast/canvas/fillText-shadow-expected.txt:

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

8 years ago[EFL] Gardening after r133807 and r133820
rakuco@webkit.org [Thu, 8 Nov 2012 13:21:42 +0000 (13:21 +0000)]
[EFL] Gardening after r133807 and r133820
https://bugs.webkit.org/show_bug.cgi?id=101585

Unreviewed gardening.

Skipping of compositing/absolute-inside-out-of-view-fixed.html and
editing/execCommand/switch-list-type-with-orphaned-li.html for EFL.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-08

* platform/efl/TestExpectations:

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

8 years ago[EFL] Rebaseline svg/css/group-with-shadow.svg
rakuco@webkit.org [Thu, 8 Nov 2012 13:19:38 +0000 (13:19 +0000)]
[EFL] Rebaseline svg/css/group-with-shadow.svg
https://bugs.webkit.org/show_bug.cgi?id=101592

Unreviewed gardening.

Test svg/css/group-with-shadow.svg has to be rebaselined after r133834.

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-08

* platform/efl-wk1/svg/css/group-with-shadow-expected.png: Removed.
* platform/efl/svg/css/group-with-shadow-expected.png: Added.
* platform/efl/svg/css/group-with-shadow-expected.txt:

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

8 years agoWeb Inspector: Add option to disable rulers (Elements panel)
apavlov@chromium.org [Thu, 8 Nov 2012 13:13:39 +0000 (13:13 +0000)]
Web Inspector: Add option to disable rulers (Elements panel)
https://bugs.webkit.org/show_bug.cgi?id=101554

Reviewed by Pavel Feldman.

A new setting, showMetricsRulers, has been introduced (off by default, so users need to opt in to see the rulers).
The setting value is passed into InspectorDOMAgent, down to the InspectorOverlayPage, which affects the drawGrid() and
drawRulers() calls. As a side effect, the issue when the rulers were painted for elements having no renderers has been fixed.

No new tests, a UI change.

* English.lproj/localizedStrings.js: Add "Show rulers" string.
* inspector/InspectorDOMAgent.cpp:
(WebCore::InspectorDOMAgent::highlightConfigFromInspectorObject): Copy over the showRulers value.
* inspector/InspectorOverlay.cpp:
(WebCore::buildObjectForHighlight): Copy over the showRulers value.
* inspector/InspectorOverlay.h:
(HighlightConfig): Add |bool showRulers|.
(WebCore::Highlight::Highlight): Initialize fields.
(Highlight): Add |bool showRulers|.
(WebCore::Highlight::setDataFromConfig):
* inspector/InspectorOverlayPage.html:
* inspector/front-end/DOMAgent.js: Make use of WebInspector.settings.showMetricsRulers when building the highlight DTO.
* inspector/front-end/Settings.js: Add showMetricsRulers.
* inspector/front-end/SettingsScreen.js:
(WebInspector.GenericSettingsTab): Add "Show rulers" checkbox in the Elements panel section.

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

8 years agoWarn in the inspector console when using dpi and dpcm units outside of media="print"
commit-queue@webkit.org [Thu, 8 Nov 2012 13:11:53 +0000 (13:11 +0000)]
Warn in the inspector console when using dpi and dpcm units outside of media="print"
https://bugs.webkit.org/show_bug.cgi?id=100865

Patch by Alexander Shalamov <alexander.shalamov@intel.com> on 2012-11-08
Reviewed by Kenneth Rohde Christiansen.

Source/WebCore:

Added function that prints warning to inspector console whenever dpi or dpcm CSS units
are used for screen media.

Test: fast/media/mq-resolution-dpi-dpcm-warning.html

* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::setMediaQueries):
* css/MediaList.cpp:
(WebCore):
(WebCore::addResolutionWarningMessageToConsole):
(WebCore::reportMediaQueryWarningIfNeeded):
* css/MediaList.h:
(WebCore):
* css/MediaQueryMatcher.cpp:
(WebCore::MediaQueryMatcher::matchMedia):
* css/StyleSheetContents.cpp:
(WebCore::StyleSheetContents::parserAppendRule):

LayoutTests:

Added layout test that checks if warning is printed to console when dpi or dpcm CSS
units are used for resolution media feature.

* fast/media/mq-resolution-dpi-dpcm-warning-expected.txt: Added.
* fast/media/mq-resolution-dpi-dpcm-warning.html: Added.

Skip tests for platforms that doesn't support resolution media feature.

* platform/chromium/TestExpectations:
* platform/gtk/TestExpectations:
* platform/mac/TestExpectations:
* platform/win/TestExpectations:

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Thu, 8 Nov 2012 13:10:12 +0000 (13:10 +0000)]
Unreviewed GTK gardening.

Adding a platform-specific baseline for the test added in r133868.

* platform/gtk/http/tests/security/XFrameOptions: Added.
* platform/gtk/http/tests/security/XFrameOptions/x-frame-options-invalid-expected.txt: Added.

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

8 years ago[EFL] Unreviewed build fix after r133880.
rakuco@webkit.org [Thu, 8 Nov 2012 12:45:50 +0000 (12:45 +0000)]
[EFL] Unreviewed build fix after r133880.

* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::setAdditionalPluginPath):

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

8 years agoWeb Inspector: Console: "time" and "timeEnd" should have same number of required...
caseq@chromium.org [Thu, 8 Nov 2012 12:39:21 +0000 (12:39 +0000)]
Web Inspector: Console: "time" and "timeEnd" should have same number of required arguments
https://bugs.webkit.org/show_bug.cgi?id=101451

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

Solution: make console.time "title" parameter mandatory.

* page/Console.idl: Changed parameter specification.

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

8 years ago[EFL][WK2] Add ewk_context_additional_plugin_path_set API
commit-queue@webkit.org [Thu, 8 Nov 2012 12:14:39 +0000 (12:14 +0000)]
[EFL][WK2] Add ewk_context_additional_plugin_path_set API
https://bugs.webkit.org/show_bug.cgi?id=101530

Patch by KwangYong Choi <ky0.choi@samsung.com> on 2012-11-08
Reviewed by Gyuyoung Kim.

Add ewk_context_additional_plugin_path_set() to set additional plugin directory.

* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::setAdditionalPluginPath):
(ewk_context_additional_plugin_path_set):
* UIProcess/API/efl/ewk_context.h:
* UIProcess/API/efl/ewk_context_private.h:
(EwkContext):
* UIProcess/API/efl/tests/test_ewk2_context.cpp:
(TEST_F):

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

8 years ago[EFL][WK2] Use explicit constructor in BatteryProvider, DownloadManagerEfl, NetworkIn...
commit-queue@webkit.org [Thu, 8 Nov 2012 11:55:40 +0000 (11:55 +0000)]
[EFL][WK2] Use explicit constructor in BatteryProvider, DownloadManagerEfl, NetworkInfoProvider
https://bugs.webkit.org/show_bug.cgi?id=101567

Patch by Jinwoo Song <jinwoo7.song@samsung.com> on 2012-11-08
Reviewed by Kentaro Hara.

Added explicit keyword in constructors of BatteryProvider, DownloadManagerEfl,
and NetworkInfoProvider in order to avoid implicit type conversion.

* UIProcess/efl/BatteryProvider.h:
(BatteryProvider):
* UIProcess/efl/DownloadManagerEfl.h:
(DownloadManagerEfl):
* UIProcess/efl/NetworkInfoProvider.h:
(NetworkInfoProvider):

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

8 years ago[EFL][WK2] Use smart pointers in EwkContext more actively
commit-queue@webkit.org [Thu, 8 Nov 2012 11:36:43 +0000 (11:36 +0000)]
[EFL][WK2] Use smart pointers in EwkContext more actively
https://bugs.webkit.org/show_bug.cgi?id=101565

Patch by Mikhail Pozdnyakov <mikhail.pozdnyakov@intel.com> on 2012-11-08
Reviewed by Gyuyoung Kim.

Since we're using WebContext instead of WKContext starting r133844 we should
use smart pointers accordingly including PassRefPtr.

* UIProcess/API/efl/ewk_context.cpp:
(EwkContext::EwkContext):
(EwkContext::~EwkContext):
(EwkContext::create):
(EwkContext::cookieManager):
(EwkContext::ensureFaviconDatabase):
(EwkContext::setFaviconDatabaseDirectoryPath):
(EwkContext::addVisitedLink):
(EwkContext::setCacheModel):
(EwkContext::cacheModel):
* UIProcess/API/efl/ewk_context_private.h:
(EwkContext):
(EwkContext::webContext):
* UIProcess/API/efl/ewk_database_manager_private.h:
(Ewk_Database_Manager::create):
* UIProcess/API/efl/ewk_storage_manager_private.h:
(Ewk_Storage_Manager::create):
* UIProcess/efl/DownloadManagerEfl.cpp:
(WebKit::DownloadManagerEfl::DownloadManagerEfl):
* UIProcess/efl/RequestManagerClientEfl.cpp:
(WebKit::RequestManagerClientEfl::RequestManagerClientEfl):

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

8 years agoUnreviewed fixed inspector frontend compilation
vsevik@chromium.org [Thu, 8 Nov 2012 11:32:30 +0000 (11:32 +0000)]
Unreviewed fixed inspector frontend compilation

* inspector/front-end/DataGrid.js:

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

8 years agoUnreviewed, rolling out r133865.
dominik.rottsches@intel.com [Thu, 8 Nov 2012 11:32:19 +0000 (11:32 +0000)]
Unreviewed, rolling out r133865.
http://trac.webkit.org/changeset/133865
https://bugs.webkit.org/show_bug.cgi?id=101579

dependent patch has been rolled out. (Requested by drott on
#webkit).

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

* Source/cmake/OptionsEfl.cmake:

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

8 years agoUnreviewed, rolling out r133859.
dominik.rottsches@intel.com [Thu, 8 Nov 2012 11:21:58 +0000 (11:21 +0000)]
Unreviewed, rolling out r133859.
http://trac.webkit.org/changeset/133859
https://bugs.webkit.org/show_bug.cgi?id=101526

Breaks EFL bots test execution.

.:

* Source/cmake/OptionsEfl.cmake:

Tools:

* Scripts/webkitperl/FeatureList.pm:

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

8 years agoGraphicsSurfaceGLX needs to query the drawable for YInversion.
zeno.albisser@digia.com [Thu, 8 Nov 2012 10:49:38 +0000 (10:49 +0000)]
GraphicsSurfaceGLX needs to query the drawable for YInversion.
https://bugs.webkit.org/show_bug.cgi?id=101472

After r133049 the WebGL content is now displayed upside down
for the Qt port. We cannot just apply a generic rule, that
the content needs to be flipped upside down.
Instead we have to query GLX to tell us, if the drawable's
framebuffer is y-inverted.

Reviewed by Kenneth Rohde Christiansen.

* platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp:
(WebCore::GraphicsSurfacePrivate::textureIsYInverted):
(GraphicsSurfacePrivate):
(WebCore::GraphicsSurface::platformPaintToTextureMapper):

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

8 years ago[Qt] Reduce the number of clean builds
ossy@webkit.org [Thu, 8 Nov 2012 10:37:51 +0000 (10:37 +0000)]
[Qt] Reduce the number of clean builds
https://bugs.webkit.org/show_bug.cgi?id=100844

Reviewed by Tor Arne Vestbø.

A change in any Qt project file shouldn't trigger clean
build always, but only if the incremental build failed.

* Scripts/webkitdirs.pm:
(buildQMakeProjects):

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

8 years ago[Qt] Unreviewed Gardening.
kadam@inf.u-szeged.hu [Thu, 8 Nov 2012 10:35:34 +0000 (10:35 +0000)]
[Qt] Unreviewed Gardening.

Skip a failing after r133820. Added new baseline after 133834. Update expectation after 133638.

* platform/qt/TestExpectations:
* platform/qt/css3/filters/effect-reference-expected.png:
* platform/qt/css3/filters/effect-reference-expected.txt:
* platform/qt/svg/css/group-with-shadow-expected.txt:

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

8 years ago[EFL][MiniBrowser] Add encoding detector option.
commit-queue@webkit.org [Thu, 8 Nov 2012 10:25:15 +0000 (10:25 +0000)]
[EFL][MiniBrowser] Add encoding detector option.
https://bugs.webkit.org/show_bug.cgi?id=100931

Patch by Kangil Han <kangil.han@samsung.com> on 2012-11-08
Reviewed by Gyuyoung Kim.

Source/WebKit2:

Add triggering Settings::setUsesEncodingDetector for WK2 UI process.

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

Tools:

Add a runtime option to enable/disable encoding detector.

* MiniBrowser/efl/main.c:
(window_create):
(elm_main):

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

8 years agoUnreviewed GTK gardening.
zandobersek@gmail.com [Thu, 8 Nov 2012 09:53:50 +0000 (09:53 +0000)]
Unreviewed GTK gardening.

Adding a failure expectation for editing/execCommand/switch-list-type-with-orphaned-li.html,
the test regressed in r133820
Further rebaselining after r133834.

* platform/gtk/TestExpectations:
* platform/gtk/fast/canvas/fillText-shadow-expected.txt:
* platform/gtk/svg/css/group-with-shadow-expected.png:
* platform/gtk/svg/css/group-with-shadow-expected.txt:

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

8 years ago[Qt] DumpRenderTree does not honor the shouldDumpPixels boolean argument of dumpAsText
kbalazs@webkit.org [Thu, 8 Nov 2012 09:49:59 +0000 (09:49 +0000)]
[Qt] DumpRenderTree does not honor the shouldDumpPixels boolean argument of dumpAsText
https://bugs.webkit.org/show_bug.cgi?id=101485

Reviewed by Csaba Osztrogonác.

[Qt] DumpRenderTree does not honor the shouldDumpPixels boolean argument of dumpAsText

Support dumpAsText(true) which means we should not dump a render tree
but should dump pixels. All other platforms already support it.

* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::DumpRenderTree::dump):
* DumpRenderTree/qt/TestRunnerQt.cpp:
(TestRunner::reset):
(TestRunner::dumpAsText):
* DumpRenderTree/qt/TestRunnerQt.h:
(TestRunner::shouldDumpPixels):
(TestRunner):

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

8 years agoWarn when parsing an invalid X-Frame-Options header.
mkwst@chromium.org [Thu, 8 Nov 2012 09:43:17 +0000 (09:43 +0000)]
Warn when parsing an invalid X-Frame-Options header.
https://bugs.webkit.org/show_bug.cgi?id=101447

Reviewed by Adam Barth.

Source/WebCore:

An 'X-Frame-Options' header that contains an invalid option (that is,
neither 'DENY' nor 'SAMEORIGIN') is ignored. This patch adds a console
warning to notify developers that they've made a mistake.

Test: http/tests/security/XFrameOptions/x-frame-options-invalid.html

* dom/Document.cpp:
(WebCore::Document::processHttpEquiv):
    Move the request identifier generation out of the failure block in
    order to pass it into 'shouldInterruptLoadForXFrameOptions'. This
    ensures that the console message is properly tied to a request.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::shouldInterruptLoadForXFrameOptions):
* loader/FrameLoader.h:
(FrameLoader):
    'shouldInterruptLoadForXFrameOptions' now accepts a request
    identifier as a parameter, and generates a console message if the
    load is blocked.
* loader/MainResourceLoader.cpp:
(WebCore::MainResourceLoader::didReceiveResponse):
    Pass the request identifier into 'shouldInterruptLoadForXFrameOptions'.

LayoutTests:

* http/tests/security/XFrameOptions/resources/x-frame-options-invalid.cgi: Added.
* http/tests/security/XFrameOptions/x-frame-options-invalid-expected.txt: Added.
* http/tests/security/XFrameOptions/x-frame-options-invalid.html: Added.
    New test with an invalid frame option value.

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