blob: 06ad72f3b102d46593ae90b1a800f1756054c1c5 [file] [log] [blame]
2013-04-30 Christophe Dumez <ch.dumez@sisa.samsung.com>
Stop using "in" keyword in IDL files
https://bugs.webkit.org/show_bug.cgi?id=115418
Reviewed by Kentaro Hara.
Stop using "in" keyword in IDL files as this is no longer part of the
Web IDL specification and it brings no additional information.
For now, the IDL parser will still accept the "in" keyword for operation
argument to not break anything. However, we should remove support for it
later on.
No new tests, no behavior change.
* Modules/battery/BatteryManager.idl:
* Modules/encryptedmedia/MediaKeySession.idl:
* Modules/encryptedmedia/MediaKeys.idl:
* Modules/filesystem/DOMWindowFileSystem.idl:
* Modules/filesystem/DirectoryEntry.idl:
* Modules/filesystem/DirectoryEntrySync.idl:
* Modules/filesystem/DirectoryReader.idl:
* Modules/filesystem/EntriesCallback.idl:
* Modules/filesystem/Entry.idl:
* Modules/filesystem/EntryArray.idl:
* Modules/filesystem/EntryArraySync.idl:
* Modules/filesystem/EntryCallback.idl:
* Modules/filesystem/EntrySync.idl:
* Modules/filesystem/ErrorCallback.idl:
* Modules/filesystem/FileCallback.idl:
* Modules/filesystem/FileEntry.idl:
* Modules/filesystem/FileSystemCallback.idl:
* Modules/filesystem/FileWriter.idl:
* Modules/filesystem/FileWriterCallback.idl:
* Modules/filesystem/FileWriterSync.idl:
* Modules/filesystem/MetadataCallback.idl:
* Modules/filesystem/WorkerContextFileSystem.idl:
* Modules/gamepad/GamepadList.idl:
* Modules/geolocation/Geolocation.idl:
* Modules/geolocation/PositionCallback.idl:
* Modules/geolocation/PositionErrorCallback.idl:
* Modules/indexeddb/IDBCursor.idl:
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBFactory.idl:
* Modules/indexeddb/IDBIndex.idl:
* Modules/indexeddb/IDBKeyRange.idl:
* Modules/indexeddb/IDBObjectStore.idl:
* Modules/indexeddb/IDBRequest.idl:
* Modules/indexeddb/IDBTransaction.idl:
* Modules/mediasource/MediaSource.idl:
* Modules/mediasource/SourceBuffer.idl:
* Modules/mediasource/SourceBufferList.idl:
* Modules/mediastream/MediaStream.idl:
* Modules/mediastream/MediaStreamTrack.idl:
* Modules/mediastream/NavigatorMediaStream.idl:
* Modules/mediastream/NavigatorUserMediaErrorCallback.idl:
* Modules/mediastream/NavigatorUserMediaSuccessCallback.idl:
* Modules/mediastream/RTCDTMFSender.idl:
* Modules/mediastream/RTCDataChannel.idl:
* Modules/mediastream/RTCErrorCallback.idl:
* Modules/mediastream/RTCIceCandidate.idl:
* Modules/mediastream/RTCPeerConnection.idl:
* Modules/mediastream/RTCSessionDescription.idl:
* Modules/mediastream/RTCSessionDescriptionCallback.idl:
* Modules/mediastream/RTCStatsCallback.idl:
* Modules/mediastream/RTCStatsReport.idl:
* Modules/mediastream/RTCStatsResponse.idl:
* Modules/navigatorcontentutils/NavigatorContentUtils.idl:
* Modules/networkinfo/NetworkInfoConnection.idl:
* Modules/notifications/Notification.idl:
* Modules/notifications/NotificationCenter.idl:
* Modules/notifications/NotificationPermissionCallback.idl:
* Modules/quota/StorageErrorCallback.idl:
* Modules/quota/StorageInfo.idl:
* Modules/quota/StorageQuota.idl:
* Modules/quota/StorageQuotaCallback.idl:
* Modules/quota/StorageUsageCallback.idl:
* Modules/speech/SpeechGrammarList.idl:
* Modules/speech/SpeechRecognition.idl:
* Modules/speech/SpeechRecognitionResult.idl:
* Modules/speech/SpeechRecognitionResultList.idl:
* Modules/speech/SpeechSynthesisUtterance.idl:
* Modules/vibration/NavigatorVibration.idl:
* Modules/webaudio/AnalyserNode.idl:
* Modules/webaudio/AudioBuffer.idl:
* Modules/webaudio/AudioBufferCallback.idl:
* Modules/webaudio/AudioBufferSourceNode.idl:
* Modules/webaudio/AudioContext.idl:
* Modules/webaudio/AudioListener.idl:
* Modules/webaudio/AudioNode.idl:
* Modules/webaudio/AudioParam.idl:
* Modules/webaudio/BiquadFilterNode.idl:
* Modules/webaudio/OfflineAudioContext.idl:
* Modules/webaudio/OscillatorNode.idl:
* Modules/webaudio/PannerNode.idl:
* Modules/webdatabase/DOMWindowWebDatabase.idl:
* Modules/webdatabase/Database.idl:
* Modules/webdatabase/DatabaseCallback.idl:
* Modules/webdatabase/DatabaseSync.idl:
* Modules/webdatabase/SQLResultSetRowList.idl:
* Modules/webdatabase/SQLStatementCallback.idl:
* Modules/webdatabase/SQLStatementErrorCallback.idl:
* Modules/webdatabase/SQLTransaction.idl:
* Modules/webdatabase/SQLTransactionCallback.idl:
* Modules/webdatabase/SQLTransactionErrorCallback.idl:
* Modules/webdatabase/SQLTransactionSync.idl:
* Modules/webdatabase/SQLTransactionSyncCallback.idl:
* Modules/webdatabase/WorkerContextWebDatabase.idl:
* Modules/websockets/WebSocket.idl:
* bindings/scripts/test/TestCallback.idl:
* bindings/scripts/test/TestCustomNamedGetter.idl:
* bindings/scripts/test/TestDomainSecurity.idl:
* bindings/scripts/test/TestEventTarget.idl:
* bindings/scripts/test/TestInterface.idl:
* bindings/scripts/test/TestMediaQueryListListener.idl:
* bindings/scripts/test/TestNamedConstructor.idl:
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/TestOverloadedConstructors.idl:
* bindings/scripts/test/TestSerializedScriptValueInterface.idl:
* bindings/scripts/test/TestSupplemental.idl:
* bindings/scripts/test/TestTypedArray.idl:
* bindings/scripts/test/TestTypedefs.idl:
* css/CSSHostRule.idl:
* css/CSSMediaRule.idl:
* css/CSSPrimitiveValue.idl:
* css/CSSRuleList.idl:
* css/CSSStyleDeclaration.idl:
* css/CSSStyleSheet.idl:
* css/CSSSupportsRule.idl:
* css/CSSValueList.idl:
* css/FontLoader.idl:
* css/MediaList.idl:
* css/MediaQueryList.idl:
* css/MediaQueryListListener.idl:
* css/StyleMedia.idl:
* css/StyleSheetList.idl:
* css/WebKitCSSKeyframesRule.idl:
* css/WebKitCSSMatrix.idl:
* dom/CharacterData.idl:
* dom/ClientRectList.idl:
* dom/Clipboard.idl:
* dom/CompositionEvent.idl:
* dom/CustomEvent.idl:
* dom/DOMImplementation.idl:
* dom/DOMNamedFlowCollection.idl:
* dom/DOMStringList.idl:
* dom/DataTransferItem.idl:
* dom/DataTransferItemList.idl:
* dom/DeviceMotionEvent.idl:
* dom/DeviceOrientationEvent.idl:
* dom/Document.idl:
* dom/DocumentFragment.idl:
* dom/Element.idl:
* dom/Event.idl:
* dom/EventListener.idl:
* dom/EventTarget.idl:
* dom/HashChangeEvent.idl:
* dom/KeyboardEvent.idl:
* dom/MessageEvent.idl:
* dom/MessagePort.idl:
* dom/MouseEvent.idl:
* dom/MutationEvent.idl:
* dom/MutationObserver.idl:
* dom/NamedNodeMap.idl:
* dom/Node.idl:
* dom/NodeFilter.idl:
* dom/NodeList.idl:
* dom/OverflowEvent.idl:
* dom/PropertyNodeList.idl:
* dom/Range.idl:
* dom/RequestAnimationFrameCallback.idl:
* dom/ShadowRoot.idl:
* dom/StringCallback.idl:
* dom/Text.idl:
* dom/TextEvent.idl:
* dom/TouchEvent.idl:
* dom/TouchList.idl:
* dom/UIEvent.idl:
* dom/WebKitNamedFlow.idl:
* dom/WheelEvent.idl:
* fileapi/Blob.idl:
* fileapi/FileList.idl:
* fileapi/FileReader.idl:
* fileapi/FileReaderSync.idl:
* html/DOMFormData.idl:
* html/DOMTokenList.idl:
* html/DOMURL.idl:
* html/HTMLAllCollection.idl:
* html/HTMLAudioElement.idl:
* html/HTMLButtonElement.idl:
* html/HTMLCanvasElement.idl:
* html/HTMLCollection.idl:
* html/HTMLDocument.idl:
* html/HTMLElement.idl:
* html/HTMLFieldSetElement.idl:
* html/HTMLFormControlsCollection.idl:
* html/HTMLInputElement.idl:
* html/HTMLKeygenElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLObjectElement.idl:
* html/HTMLOptionElement.idl:
* html/HTMLOptionsCollection.idl:
* html/HTMLOutputElement.idl:
* html/HTMLPropertiesCollection.idl:
* html/HTMLSelectElement.idl:
* html/HTMLTableElement.idl:
* html/HTMLTableRowElement.idl:
* html/HTMLTableSectionElement.idl:
* html/HTMLTextAreaElement.idl:
* html/MediaController.idl:
* html/TimeRanges.idl:
* html/canvas/ArrayBuffer.idl:
* html/canvas/CanvasGradient.idl:
* html/canvas/CanvasRenderingContext2D.idl:
* html/canvas/DOMPath.idl:
* html/canvas/DataView.idl:
* html/canvas/EXTDrawBuffers.idl:
* html/canvas/Float32Array.idl:
* html/canvas/Float64Array.idl:
* html/canvas/Int16Array.idl:
* html/canvas/Int32Array.idl:
* html/canvas/Int8Array.idl:
* html/canvas/OESVertexArrayObject.idl:
* html/canvas/Uint16Array.idl:
* html/canvas/Uint32Array.idl:
* html/canvas/Uint8Array.idl:
* html/canvas/Uint8ClampedArray.idl:
* html/canvas/WebGLDebugShaders.idl:
* html/canvas/WebGLRenderingContext.idl:
* html/track/AudioTrackList.idl:
* html/track/TextTrack.idl:
* html/track/TextTrackCue.idl:
* html/track/TextTrackCueList.idl:
* html/track/TextTrackList.idl:
* html/track/TextTrackRegionList.idl:
* html/track/VideoTrackList.idl:
* inspector/InjectedScriptHost.idl:
* inspector/InspectorFrontendHost.idl:
* inspector/JavaScriptCallFrame.idl:
* loader/appcache/DOMApplicationCache.idl:
* page/Console.idl:
* page/Crypto.idl:
* page/DOMSecurityPolicy.idl:
* page/DOMSelection.idl:
* page/DOMWindow.idl:
* page/EventSource.idl:
* page/History.idl:
* page/Location.idl:
* page/PagePopupController.idl:
* page/Performance.idl:
* page/PerformanceEntryList.idl:
* page/SpeechInputResultList.idl:
* plugins/DOMMimeTypeArray.idl:
* plugins/DOMPlugin.idl:
* plugins/DOMPluginArray.idl:
* storage/Storage.idl:
* storage/StorageEvent.idl:
* svg/ElementTimeControl.idl:
* svg/SVGAngle.idl:
* svg/SVGColor.idl:
* svg/SVGDocument.idl:
* svg/SVGElementInstanceList.idl:
* svg/SVGFEDropShadowElement.idl:
* svg/SVGFEGaussianBlurElement.idl:
* svg/SVGFEMorphologyElement.idl:
* svg/SVGFilterElement.idl:
* svg/SVGLength.idl:
* svg/SVGLengthList.idl:
* svg/SVGLocatable.idl:
* svg/SVGMarkerElement.idl:
* svg/SVGMatrix.idl:
* svg/SVGNumberList.idl:
* svg/SVGPaint.idl:
* svg/SVGPathElement.idl:
* svg/SVGPathSegList.idl:
* svg/SVGPoint.idl:
* svg/SVGPointList.idl:
* svg/SVGSVGElement.idl:
* svg/SVGStringList.idl:
* svg/SVGStyledElement.idl:
* svg/SVGTests.idl:
* svg/SVGTextContentElement.idl:
* svg/SVGTransform.idl:
* svg/SVGTransformList.idl:
* testing/InternalSettings.idl:
* testing/Internals.idl:
* workers/AbstractWorker.idl:
* workers/DedicatedWorkerContext.idl:
* workers/SharedWorker.idl:
* workers/Worker.idl:
* workers/WorkerContext.idl:
* xml/DOMParser.idl:
* xml/XMLHttpRequest.idl:
* xml/XMLHttpRequestUpload.idl:
* xml/XMLSerializer.idl:
* xml/XPathEvaluator.idl:
* xml/XPathExpression.idl:
* xml/XPathNSResolver.idl:
* xml/XPathResult.idl:
* xml/XSLTProcessor.idl:
2013-04-30 Noam Rosenthal <noam@webkit.org>
[Texmap] Use fewer intermediate surfaces when compositing filters
https://bugs.webkit.org/show_bug.cgi?id=115224
Reviewed by Allan Sandfeld Jensen.
Until now, when rendering CSS filters, the filters were applied to the texture
and then the resulting texture would be composited to the target surface with
its transform/opacity.
This requires at least two intermediate surface passes for every filtered layer.
This patch makes it so that the last filter pass is applied together with the
resulting surface's opacity and transform, during composition.
Tested by css3/filters tests, whichn now scroll/zoom a lot faster.
* platform/graphics/texmap/TextureMapper.h:
(WebCore::BitmapTexture::applyFilters):
* platform/graphics/texmap/TextureMapperGL.cpp:
(WebCore::TextureMapperGLData::TextureMapperGLData):
(TextureMapperGLData):
(WebCore):
(WebCore::optionsForFilterType):
(WebCore::getPassesRequiredForFilter):
(WebCore::gauss):
(WebCore::gaussianKernel):
(WebCore::prepareFilterProgram):
(WebCore::TextureMapperGL::drawTexture):
(WebCore::TextureMapperGL::drawFiltered):
(WebCore::isCustomFilter):
* platform/graphics/texmap/TextureMapperGL.h:
(TextureMapperGL):
(BitmapTextureGL):
(FilterInfo):
* platform/graphics/texmap/TextureMapperImageBuffer.cpp:
(WebCore::BitmapTextureImageBuffer::applyFilters):
* platform/graphics/texmap/TextureMapperImageBuffer.h:
(BitmapTextureImageBuffer):
(WebCore::BitmapTextureGL::FilterInfo::FilterInfo):
(WebCore::BitmapTextureGL::filterInfo):
(WebCore::BitmapTextureGL::applyFilters):
Modify TextureMapperGL to remember the last filter operation applied
to a BitmapTexture and apply it when the texture is composited.
* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::paintIntoSurface):
Simplify the call to applyFilters, since now TextureMapperGL is responsible
for maintaining the content texture.
2013-04-30 Christophe Dumez <ch.dumez@sisa.samsung.com>
[EFL] Enable scaled cursors
https://bugs.webkit.org/show_bug.cgi?id=106242
Reviewed by Gyuyoung Kim.
Correctly copy WebCore::Cursor's m_imageScaleFactor
member in CursorEfl.cpp when MOUSE_CURSOR_SCALE is
enabled.
No new tests, already covered by existing tests.
* platform/efl/CursorEfl.cpp:
(WebCore::Cursor::Cursor):
(WebCore::Cursor::operator=):
2013-04-30 Thiago Marcos P. Santos <thiago.santos@intel.com>
CSSParser::parseFontFamily should allow the keyword "default" as part of a font name
https://bugs.webkit.org/show_bug.cgi?id=107231
Reviewed by Ryosuke Niwa.
Make sure that using the keyword "default" as font family doesn't
invalidate the whole declaration. It is also OK to use a font that
has "default" as part of a composite name (i.e. "default foo").
This matches the behavior of Firefox and IE.
Test: fast/css/font-family-parse-keyword.html
* css/CSSParser.cpp:
(WebCore::CSSParser::parseFontFamily):
2013-04-30 Zalan Bujtas <zalan@apple.com>
Animations fail to start on http://www.google.com/insidesearch/howsearchworks/thestory/
https://bugs.webkit.org/show_bug.cgi?id=111244
Reviewed by David Kilzer.
Enable performance.now() as a minimal subset of Web Timing API.
It returns DOMHighResTimeStamp, a monotonically increasing value representing the
number of milliseconds from the start of the navigation of the current document.
JS libraries use this API to check against the requestAnimationFrame() timestamp.
Test: fast/dom/Window/web-timing-minimal-performance-now.html
* Configurations/FeatureDefines.xcconfig:
* WebCore.xcodeproj/project.pbxproj:
* dom/EventTargetFactory.in:
* page/DOMWindow.cpp:
(WebCore::DOMWindow::~DOMWindow):
(WebCore::DOMWindow::resetDOMWindowProperties):
(WebCore):
* page/DOMWindow.h:
(DOMWindow):
* page/DOMWindow.idl:
* page/Performance.cpp:
(WebCore):
* page/Performance.h:
(Performance):
* page/Performance.idl:
2013-04-30 Commit Queue <rniwa@webkit.org>
Unreviewed, rolling out r149338.
http://trac.webkit.org/changeset/149338
https://bugs.webkit.org/show_bug.cgi?id=115409
Broke layout/perf/API tests on non-Mac:
ThreadSpecific<RefPtr<RunLoop>> does not initialize RunLoop
(Requested by rakuco on #webkit).
* platform/RunLoop.cpp:
(WebCore::RunLoop::current):
* platform/RunLoop.h:
(RunLoop):
* platform/cf/RunLoopCF.cpp:
(WebCore::RunLoop::initializeMainRunLoop):
(WebCore::RunLoop::current):
(WebCore::RunLoop::~RunLoop):
* platform/efl/RunLoopEfl.cpp:
(WebCore::RunLoop::~RunLoop):
* platform/gtk/RunLoopGtk.cpp:
(WebCore::RunLoop::~RunLoop):
* platform/win/RunLoopWin.cpp:
(WebCore::RunLoop::~RunLoop):
2013-04-30 Alberto Garcia <agarcia@igalia.com>
ImageBufferData: add BlackBerry header
https://bugs.webkit.org/show_bug.cgi?id=115408
Reviewed by Carlos Garcia Campos.
* platform/graphics/ImageBufferData.h:
2013-04-30 Christophe Dumez <ch.dumez@sisa.samsung.com>
Replace "Optional" extended attribute by proper Web IDL "optional" keyword
https://bugs.webkit.org/show_bug.cgi?id=115380
Reviewed by Kentaro Hara.
Replace [Optional] with standard WebIDL optional type prefix:
http://dev.w3.org/2006/webapi/WebIDL/#dfn-optional-argument
The default behavior now matches WebIDL: [Optional] => optional
Two cases where WebKit has extended bindings behavior still
require a non-standard IDL attribute:
[Optional=DefaultIsNullString] => [Default=NullString] optional
[Optional=DefaultIsUndefined] => [Default=Undefined] optional
Based on corresponding Blink patch from Joshua Bell for compatibility.
No new tests, no behavior change.
* Modules/battery/BatteryManager.idl:
* Modules/encryptedmedia/MediaKeySession.idl:
* Modules/encryptedmedia/MediaKeys.idl:
* Modules/filesystem/DOMWindowFileSystem.idl:
* Modules/filesystem/DirectoryEntry.idl:
* Modules/filesystem/DirectoryReader.idl:
* Modules/filesystem/Entry.idl:
* Modules/filesystem/FileEntry.idl:
* Modules/filesystem/FileWriter.idl:
* Modules/filesystem/WorkerContextFileSystem.idl:
* Modules/gamepad/GamepadList.idl:
* Modules/geolocation/Geolocation.idl:
* Modules/indexeddb/IDBCursor.idl:
* Modules/indexeddb/IDBDatabase.idl:
* Modules/indexeddb/IDBFactory.idl:
* Modules/indexeddb/IDBIndex.idl:
* Modules/indexeddb/IDBKeyRange.idl:
* Modules/indexeddb/IDBObjectStore.idl:
* Modules/indexeddb/IDBRequest.idl:
* Modules/indexeddb/IDBTransaction.idl:
* Modules/mediasource/MediaSource.idl:
* Modules/mediasource/SourceBufferList.idl:
* Modules/mediastream/MediaStream.idl:
* Modules/mediastream/MediaStreamTrack.idl:
* Modules/mediastream/NavigatorMediaStream.idl:
* Modules/mediastream/RTCDTMFSender.idl:
* Modules/mediastream/RTCDataChannel.idl:
* Modules/mediastream/RTCPeerConnection.idl:
* Modules/mediastream/RTCStatsResponse.idl:
* Modules/networkinfo/NetworkInfoConnection.idl:
* Modules/notifications/Notification.idl:
* Modules/notifications/NotificationCenter.idl:
* Modules/quota/StorageInfo.idl:
* Modules/quota/StorageQuota.idl:
* Modules/speech/SpeechGrammarList.idl:
* Modules/speech/SpeechRecognition.idl:
* Modules/speech/SpeechSynthesisUtterance.idl:
* Modules/webaudio/AudioContext.idl:
* Modules/webaudio/AudioNode.idl:
* Modules/webdatabase/DOMWindowWebDatabase.idl:
* Modules/webdatabase/Database.idl:
* Modules/webdatabase/DatabaseSync.idl:
* Modules/webdatabase/SQLTransaction.idl:
* Modules/webdatabase/WorkerContextWebDatabase.idl:
* Modules/websockets/WebSocket.idl:
* bindings/scripts/CodeGeneratorJS.pm:
(GetFunctionLength):
(GenerateFunctionParametersCheck):
(GenerateArgumentsCountCheck):
(GenerateParametersCheck):
(GenerateConstructorDefinition):
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/IDLParser.pm:
(parseOptionalOrRequiredArgument):
* bindings/scripts/test/TestEventTarget.idl:
* bindings/scripts/test/TestInterface.idl:
* bindings/scripts/test/TestNamedConstructor.idl:
* bindings/scripts/test/TestObj.idl:
* bindings/scripts/test/TestSerializedScriptValueInterface.idl:
* bindings/scripts/test/TestTypedefs.idl: optional cannot be used in a typedef.
* css/CSSHostRule.idl:
* css/CSSMediaRule.idl:
* css/CSSPrimitiveValue.idl:
* css/CSSRuleList.idl:
* css/CSSStyleDeclaration.idl:
* css/CSSStyleSheet.idl:
* css/CSSSupportsRule.idl:
* css/CSSValueList.idl:
* css/FontLoader.idl:
* css/MediaList.idl:
* css/MediaQueryList.idl:
* css/MediaQueryListListener.idl:
* css/StyleMedia.idl:
* css/StyleSheetList.idl:
* css/WebKitCSSKeyframesRule.idl:
* css/WebKitCSSMatrix.idl:
* dom/CharacterData.idl:
* dom/ClientRectList.idl:
* dom/Clipboard.idl:
* dom/CompositionEvent.idl:
* dom/CustomEvent.idl:
* dom/DOMImplementation.idl:
* dom/DOMStringList.idl:
* dom/DataTransferItem.idl:
* dom/DataTransferItemList.idl:
* dom/DeviceMotionEvent.idl:
* dom/DeviceOrientationEvent.idl:
* dom/Document.idl:
* dom/Element.idl:
* dom/Event.idl:
* dom/EventTarget.idl:
* dom/HashChangeEvent.idl:
* dom/KeyboardEvent.idl:
* dom/MessageEvent.idl:
* dom/MessagePort.idl:
* dom/MouseEvent.idl:
* dom/MutationEvent.idl:
* dom/NamedNodeMap.idl:
* dom/Node.idl:
* dom/NodeFilter.idl:
* dom/NodeList.idl:
* dom/OverflowEvent.idl:
* dom/Range.idl:
* dom/ShadowRoot.idl:
* dom/Text.idl:
* dom/TextEvent.idl:
* dom/TouchEvent.idl:
* dom/UIEvent.idl:
* dom/WebKitNamedFlow.idl:
* dom/WheelEvent.idl:
* fileapi/Blob.idl:
* fileapi/FileReader.idl:
* fileapi/FileReaderSync.idl:
* html/DOMFormData.idl:
* html/DOMTokenList.idl:
* html/HTMLAllCollection.idl:
* html/HTMLAudioElement.idl:
* html/HTMLCanvasElement.idl:
* html/HTMLCollection.idl:
* html/HTMLDocument.idl:
* html/HTMLElement.idl:
* html/HTMLFormControlsCollection.idl:
* html/HTMLInputElement.idl:
* html/HTMLMediaElement.idl:
* html/HTMLOptionElement.idl:
* html/HTMLOptionsCollection.idl:
* html/HTMLSelectElement.idl:
* html/HTMLTableElement.idl:
* html/HTMLTableRowElement.idl:
* html/HTMLTableSectionElement.idl:
* html/HTMLTextAreaElement.idl:
* html/MediaController.idl:
* html/canvas/ArrayBuffer.idl:
* html/canvas/CanvasGradient.idl:
* html/canvas/CanvasRenderingContext2D.idl:
* html/canvas/DOMPath.idl:
* html/canvas/DataView.idl:
* html/canvas/Float32Array.idl:
* html/canvas/Float64Array.idl:
* html/canvas/Int16Array.idl:
* html/canvas/Int32Array.idl:
* html/canvas/Int8Array.idl:
* html/canvas/OESVertexArrayObject.idl:
* html/canvas/Uint16Array.idl:
* html/canvas/Uint32Array.idl:
* html/canvas/Uint8Array.idl:
* html/canvas/Uint8ClampedArray.idl:
* html/track/AudioTrackList.idl:
* html/track/TextTrack.idl:
* html/track/TextTrackCue.idl:
* html/track/TextTrackList.idl:
* html/track/VideoTrackList.idl:
* loader/appcache/DOMApplicationCache.idl:
* page/DOMSelection.idl:
* page/DOMWindow.idl:
* page/EventSource.idl:
* page/History.idl:
* page/Location.idl:
* page/Performance.idl:
* plugins/DOMMimeTypeArray.idl:
* plugins/DOMPlugin.idl:
* plugins/DOMPluginArray.idl:
* storage/StorageEvent.idl:
* svg/ElementTimeControl.idl:
* svg/SVGDocument.idl:
* svg/SVGElementInstanceList.idl:
* svg/SVGFEDropShadowElement.idl:
* svg/SVGFEGaussianBlurElement.idl:
* svg/SVGFEMorphologyElement.idl:
* svg/SVGFilterElement.idl:
* svg/SVGLocatable.idl:
* svg/SVGMarkerElement.idl:
* svg/SVGPathElement.idl:
* svg/SVGSVGElement.idl:
* svg/SVGStyledElement.idl:
* svg/SVGTests.idl:
* svg/SVGTextContentElement.idl:
* testing/Internals.idl:
* workers/AbstractWorker.idl:
* workers/DedicatedWorkerContext.idl:
* workers/SharedWorker.idl:
* workers/Worker.idl:
* workers/WorkerContext.idl:
* xml/DOMParser.idl:
* xml/XMLHttpRequest.idl:
* xml/XMLHttpRequestUpload.idl:
* xml/XMLSerializer.idl:
* xml/XPathEvaluator.idl:
* xml/XPathExpression.idl:
* xml/XPathNSResolver.idl:
* xml/XPathResult.idl:
* xml/XSLTProcessor.idl:
2013-04-30 Jocelyn Turcotte <jocelyn.turcotte@digia.com>
Fix the USE(3D_GRAPHICS) build with the standard OpenGL on Windows
https://bugs.webkit.org/show_bug.cgi?id=114684
Reviewed by Simon Hausmann.
Currently USE(3D_GRAPHICS) is only supported with OpenGLES through ANGLE
on Windows. Allow building with the stock opengl32.lib on Windows by adding
missing glCompressedTex* entries in OpenGLShims.
Those are used in Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp
and will be substituted by the preprocessor.
* platform/graphics/OpenGLShims.cpp:
(WebCore::initializeOpenGLShims):
* platform/graphics/OpenGLShims.h:
(_OpenGLFunctionTable):
2013-04-29 Alberto Garcia <agarcia@igalia.com>
Remove all remaining Skia code
https://bugs.webkit.org/show_bug.cgi?id=115263
Reviewed by Benjamin Poulain.
* html/HTMLCanvasElement.cpp:
(WebCore): Remove the MaxSkiaDim constant, which was a leftover
from r149193.
* platform/graphics/harfbuzz/FontHarfBuzz.cpp: Removed.
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: Removed.
* platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: Removed.
* platform/graphics/harfbuzz/HarfBuzzFaceSkia.cpp: Removed.
2013-04-29 Anders Carlsson <andersca@apple.com>
Fix build.
* platform/graphics/SimpleFontData.cpp:
(WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::SimpleFontData::getCompositeFontReferenceFontData):
2013-04-29 Simon Fraser <simon.fraser@apple.com>
Don't do CGContext flipping when painting subframes in WebKit1 on post-MountainLion OSes
https://bugs.webkit.org/show_bug.cgi?id=115392
<rdar://problem/13421519>
Reviewed by Beth Dakin.
Sync up with AppKit behavior changes that could cause subviews to be flipped when
painted.
* platform/mac/WidgetMac.mm:
(WebCore::Widget::paint):
2013-04-29 Chris Fleizach <cfleizach@apple.com>
WEB SPEECH: need to identify the default voice per language
https://bugs.webkit.org/show_bug.cgi?id=115366
Reviewed by Tim Horton.
Use a WKSystemInterface method to determine which voice per language is the default voice.
When looking for a voice, there may not be a default at all, so we need to search until we
find a default.
* WebCore.exp.in:
* platform/mac/PlatformSpeechSynthesizerMac.mm:
(-[WebSpeechSynthesisWrapper speakUtterance:WebCore::]):
(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
2013-04-29 James Craig <james@cookiecrook.com>
Settings.in selectionIncludesAltImageText should default to true, due to update in HTML spec.
https://bugs.webkit.org/show_bug.cgi?id=115283
Reviewed by Chris Fleizach.
Config change due to this spec update:
https://www.w3.org/Bugs/Public/show_bug.cgi?id=21403
http://html5.org/tools/web-apps-tracker?from=7854&to=7855
Updated existing test coverage.
* page/Settings.in:
2013-04-29 Anders Carlsson <andersca@apple.com>
Make RunLoop ref-counted
https://bugs.webkit.org/show_bug.cgi?id=115384
Reviewed by Sam Weinig.
This is a step towards creating a shared base class that both RunLoop and WorkQueue will derive from.
* platform/RunLoop.cpp:
(WebCore::RunLoop::current):
(WebCore::RunLoop::~RunLoop):
(WebCore):
* platform/RunLoop.h:
(RunLoop):
* platform/cf/RunLoopCF.cpp:
(WebCore::RunLoop::initializeMainRunLoop):
(WebCore::RunLoop::current):
(WebCore::RunLoop::~RunLoop):
2013-04-29 Brent Fulgham <bfulgham@webkit.org>
[Windows, WinCairo] Remove link and include directives for pthread.
https://bugs.webkit.org/show_bug.cgi?id=115381
Reviewed by Benjamin Poulain.
Update various VS2005 and VS2010 property sheets to remove
reference to the pthreads Include path and instructions to
link to the pthreads library.
* WebCore.vcproj/QTMovieWinCommon.vsprops:
* WebCore.vcproj/WebCoreCommon.vsprops:
* WebCore.vcproj/WebCoreDebug.vsprops:
* WebCore.vcproj/WebCoreDebugAll.vsprops:
* WebCore.vcproj/WebCoreProduction.vsprops:
* WebCore.vcproj/WebCorePthreads.vsprops: Removed.
* WebCore.vcproj/WebCoreRelease.vsprops:
* WebCore.vcxproj/WebCoreCommon.props:
* WebCore.vcxproj/WebCoreDebug.props:
* WebCore.vcxproj/WebCoreDebugWinCairo.props:
* WebCore.vcxproj/WebCoreProduction.props:
* WebCore.vcxproj/WebCorePthreads.props: Removed.
* WebCore.vcxproj/WebCoreRelease.props:
* WebCore.vcxproj/WebCoreReleaseWinCairo.props:
2013-04-29 Benjamin Poulain <benjamin@webkit.org>
Do not allocate Static Strings for Notification::permissionString
https://bugs.webkit.org/show_bug.cgi?id=115316
Reviewed by Geoffrey Garen.
The code is not nearly hot enough to justify keeping this memory around.
* Modules/notifications/Notification.cpp:
(WebCore::Notification::permission):
(WebCore::Notification::permissionString):
* Modules/notifications/Notification.h:
(Notification):
2013-04-29 Anders Carlsson <andersca@apple.com>
Remove StorageTracker::originsLoaded
https://bugs.webkit.org/show_bug.cgi?id=115382
Reviewed by Sam Weinig.
Remove m_finishedImportingOriginIdentifiers.
* storage/StorageTracker.cpp:
(WebCore::StorageTracker::StorageTracker):
(WebCore::StorageTracker::finishedImportingOriginIdentifiers):
* storage/StorageTracker.h:
(StorageTracker):
2013-04-29 Anders Carlsson <andersca@apple.com>
Get rid of StorageTracker::setClient
https://bugs.webkit.org/show_bug.cgi?id=115376
Reviewed by Sam Weinig.
* WebCore.exp.in:
* storage/StorageTracker.cpp:
* storage/StorageTracker.h:
(StorageTracker):
2013-04-22 Jeffrey Pfau <jpfau@apple.com>
Change approach to third-party blocking for LocalStorage
https://bugs.webkit.org/show_bug.cgi?id=115004
Reviewed by Maciej Stachowiak.
Instead of outright blocking LocalStorage that's used in a third-party
context, silently partition it based on the origin of the top context.
These partitions are then discarded when the page group is unloaded.
No new tests; modified existing tests to account for changes.
* page/DOMWindow.cpp:
(WebCore::DOMWindow::localStorage):
* page/PageGroup.cpp:
(WebCore::PageGroup::localStorage):
(WebCore):
(WebCore::PageGroup::transientLocalStorage):
* page/PageGroup.h:
(PageGroup):
* page/SecurityOrigin.cpp:
(WebCore::SecurityOrigin::canAccessStorage):
2013-04-29 Yi Shen <max.hong.shen@gmail.com>
HTML Editing: Insertion point jumps when using link detection
https://bugs.webkit.org/show_bug.cgi?id=82198
Reviewed by Ryosuke Niwa.
Add links should be done only when typing a word separator (e.g. space or dot) which
breaks the text into two parts - the link and the rest of the text. Reflected in
code, we should only add link when the caret position is at the right end location of
TextChecking result. Otherwise, the text on the right of a word separator could be
highlighted as a link and the insertion point jumps unexpectedly.
Tests: update editing/inserting/typing-space-to-trigger-smart-link.html
* editing/Editor.cpp:
(WebCore::Editor::markAndReplaceFor):
2013-04-29 Beth Dakin <bdakin@apple.com>
Need a LayoutMilestone to fire when we have done our first paint after suppressing
incremental layout
https://bugs.webkit.org/show_bug.cgi?id=115330
-and corresponding-
<rdar://problem/12722365>
Reviewed by Simon Fraser.
To meet the needs of all of our clients, we really need two milestones. One
indicating that a layout has happened after setVisualUpdatesAllowed(true), and
another indicating that painting has happened.
If layout is needed when setVisualUpdatesAllowed(true) is called, we need to
update it so that we can guarantee the first paint is really happening at this
time. Also fire the DidFirstLayoutAfterSuppressedIncrementalRendering milestone,
and call add DidFirstPaintAfterSuppressedIncrementalRendering to the FrameView's
pending paint milestones.
up the painting milestone.
* dom/Document.cpp:
(WebCore::Document::setVisualUpdatesAllowed):
FrameView now stores m_milestonesPendingPaint. We'll send and clear them once we
have painted.
* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::paintContents):
(WebCore::FrameView::addPaintPendingMilestones):
(WebCore::FrameView::firePaintRelatedMilestones):
* page/FrameView.h:
(WebCore::FrameView::milestonesPendingPaint):
Two new milestones.
* page/LayoutMilestones.h:
(WebCore):
We don't need m_headerLayerAwaitingFirstFlush anymore since we can use FrameView's
pending paint milestones instead.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::RenderLayerCompositor):
(WebCore::RenderLayerCompositor::flushPendingLayerChanges):
(WebCore::RenderLayerCompositor::updateLayerForHeader):
* rendering/RenderLayerCompositor.h:
(RenderLayerCompositor):
2013-04-29 David Hyatt <hyatt@apple.com>
[Mac] Links can't be hovered or clicked with overlay scrollbars hidden.
https://bugs.webkit.org/show_bug.cgi?id=99379
This is also <rdar://problem/10929565> Overlay scrollbars prevent hit-testing on
content underneath them, even when hidden
Reviewed by Beth Dakin.
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::verticalScrollbarWidth):
(WebCore::RenderLayer::horizontalScrollbarHeight):
2013-04-29 Anders Carlsson <andersca@apple.com>
Begin cleaning up StorageTracker
https://bugs.webkit.org/show_bug.cgi?id=115373
Reviewed by Andreas Kling.
Rename Mutexes to use "Mutex" and not "Guard".
Don't use static locals for ".localstorage" and "*.localstorage" strings.
Put end iterator declarations together with begin declarations.
* storage/StorageTracker.cpp:
(WebCore::StorageTracker::setDatabaseDirectoryPath):
(WebCore::StorageTracker::trackerDatabasePath):
(WebCore::StorageTracker::openTrackerDatabase):
(WebCore::StorageTracker::finishedImportingOriginIdentifiers):
(WebCore::StorageTracker::syncImportOriginIdentifiers):
(WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
(WebCore::StorageTracker::setOriginDetails):
(WebCore::StorageTracker::syncSetOriginDetails):
(WebCore::StorageTracker::origins):
(WebCore::StorageTracker::deleteAllOrigins):
(WebCore::StorageTracker::syncDeleteAllOrigins):
(WebCore::StorageTracker::deleteOrigin):
(WebCore::StorageTracker::syncDeleteOrigin):
(WebCore::StorageTracker::willDeleteAllOrigins):
(WebCore::StorageTracker::willDeleteOrigin):
(WebCore::StorageTracker::canDeleteOrigin):
(WebCore::StorageTracker::cancelDeletingOrigin):
(WebCore::StorageTracker::setClient):
(WebCore::StorageTracker::databasePathForOrigin):
(WebCore::StorageTracker::diskUsageForOrigin):
* storage/StorageTracker.h:
(StorageTracker):
2013-04-29 Andreas Kling <akling@apple.com>
Don't check for @media rules affected by viewport changes in every layout.
<http://webkit.org/b/115370>
<rdar://problem/13765739>
Reviewed by Antti Koivisto.
Move the logic that checks if any @media rules are affected by a change in the viewport
size to FrameView::setFrameRect(). This way it's no longer necessary to do the style
recalc synchronously, which allows us to coalesce multiple updates in some cases.
* page/FrameView.cpp:
(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::layout):
2013-04-29 Anders Carlsson <andersca@apple.com>
Remove the last StorageSyncManager function
https://bugs.webkit.org/show_bug.cgi?id=115371
Reviewed by Sam Weinig.
Move the import scheduling to the StorageAreaSync constructor. Remove code to set m_importComplete to true
since that could only happen if the StorageSyncManager's thread is null which doesn't make any sense.
* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::StorageAreaSync):
(WebCore::StorageAreaSync::create):
* storage/StorageSyncManager.cpp:
* storage/StorageSyncManager.h:
(StorageSyncManager):
2013-04-29 Daker Fernandes Pinheiro <daker.pinheiro@openbossa.org>
Remove unused method RenderMeter::valueRatio()
https://bugs.webkit.org/show_bug.cgi?id=115266
Reviewed by Darin Adler.
The removed method is not used anywhere.
No new tests are required.
* rendering/RenderMeter.cpp:
* rendering/RenderMeter.h:
(RenderMeter):
2013-04-29 Anders Carlsson <andersca@apple.com>
Remove two more StorageSyncManager wrapper functions
https://bugs.webkit.org/show_bug.cgi?id=115367
Reviewed by Andreas Kling.
* storage/StorageAreaSync.cpp:
(WebCore::StorageAreaSync::scheduleFinalSync):
(WebCore::StorageAreaSync::syncTimerFired):
* storage/StorageSyncManager.cpp:
* storage/StorageSyncManager.h:
2013-04-29 Stephen Chenney <schenney@chromium.org>
SVGElement destructor can use invalid iterator
https://bugs.webkit.org/show_bug.cgi?id=115361
Reviewed by Philip Rogers.
When an SVGElement object has rare data, its destructor gets a
hash map iterator for the rare data, uses it to clear resources,
then uses the iterator to delete the rare data. However, the resource
cleanup can delete other SVG elements, thus modifying the hash map
from which the iterator came and hence invalidating the iterator
itself.
The fix is to re-get the iterator before deleting the rare data.
Test: svg/custom/svg-element-destructor-iteration-crash.html
* svg/SVGElement.cpp:
(WebCore::SVGElement::~SVGElement): Get a new iterator after clearing rare data.
2013-04-29 Brady Eidson <beidson@apple.com>
REGRESSION: We see authentication challenge sheets for favicon requests.
<rdar://problem/13753470> and https://bugs.webkit.org/show_bug.cgi?id=115288
Reviewed by Alexey Proskuryakov.
No new tests (Not in a tested config, might fix existing test).
Rename ClientCrossOriginCredentialPolicy to ClientCredentialPolicy, make it be three options.
and move it to ResourceHandleTypes where it belongs:
* loader/ResourceLoaderOptions.h:
* platform/network/ResourceHandleTypes.h:
Expose the ClientCredentialPolicy the ResourceLoader was created with:
* loader/ResourceLoader.h:
(WebCore::ResourceLoader::clientCredentialPolicy):
Rework the “should ask client” clause for the new values of ClientCredentialPolicy:
* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::didReceiveAuthenticationChallenge):
Rework loadResourceSynchronously() to include a ClientCredentialPolicy argument:
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/FrameLoader.h:
* loader/LoaderStrategy.cpp:
(WebCore::LoaderStrategy::loadResourceSynchronously):
* loader/LoaderStrategy.h:
Never ask the client for credentials for icon loads:
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::startLoading):
Update all other users of ClientCredentialPolicy to the appropriate new value,
and update all users of loadResourceSynchronously to the new function signature:
* inspector/InspectorFrontendHost.cpp:
(WebCore::InspectorFrontendHost::loadResourceSynchronously):
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::startLoadingMainResource):
* loader/DocumentThreadableLoader.cpp:
(WebCore::DocumentThreadableLoader::loadRequest):
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadResourceSynchronously):
* loader/FrameLoader.h:
(FrameLoader):
* loader/LoaderStrategy.cpp:
(WebCore::LoaderStrategy::loadResourceSynchronously):
* loader/LoaderStrategy.h:
(LoaderStrategy):
* loader/NetscapePlugInStreamLoader.cpp:
(WebCore::NetscapePlugInStreamLoader::NetscapePlugInStreamLoader):
* loader/cache/CachedResourceLoader.cpp:
(WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
(WebCore::CachedResourceLoader::defaultCachedResourceOptions):
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::docLoaderFunc):
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::openFunc):
* WebCore.exp.in:
2013-04-29 Anders Carlsson <andersca@apple.com>
Add a StorageSyncManager::dispatch helper function
https://bugs.webkit.org/show_bug.cgi?id=115365
Reviewed by Andreas Kling.
* storage/StorageSyncManager.cpp:
(WebCore::StorageSyncManager::dispatch):
(WebCore):
(WebCore::StorageSyncManager::close):
(WebCore::StorageSyncManager::scheduleImport):
(WebCore::StorageSyncManager::scheduleSync):
(WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
* storage/StorageSyncManager.h:
(StorageSyncManager):
2013-04-29 Anders Carlsson <andersca@apple.com>
Re-indent StorageSyncManager and remove SecurityOrigin forward declaration.
Rubber-stamped by Andreas Kling.
* storage/StorageSyncManager.h:
2013-04-27 Anders Carlsson <andersca@apple.com>
Get rid of StorageTask
https://bugs.webkit.org/show_bug.cgi?id=115313
Reviewed by Andreas Kling.
* CMakeLists.txt:
* GNUmakefile.list.am:
* Target.pri:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.xcodeproj/project.pbxproj:
* storage/StorageSyncManager.cpp:
* storage/StorageTask.cpp: Removed.
* storage/StorageTask.h: Removed.
* storage/StorageThread.cpp:
(WebCore::StorageThread::threadEntryPoint):
(WebCore::StorageThread::dispatch):
(WebCore::StorageThread::terminate):
* storage/StorageThread.h:
(StorageThread):
* storage/StorageTracker.cpp:
2013-04-29 Andreas Kling <akling@apple.com>
Add branch-prediction hint to FAST_RETURN_IF_NO_FRONTENDS.
<http://webkit.org/b/115357>
Reviewed by Anders Carlsson.
Since this macro is used in some very hot code paths, give the compiler an extra hint
to try and minimize the impact it has when the inspector is not active.
* inspector/InspectorInstrumentation.h:
2013-04-29 Patrick Gansterer <paroga@webkit.org>
[WIN] Add WTF_USE_IMLANG_FONT_LINK2
https://bugs.webkit.org/show_bug.cgi?id=115198
Reviewed by Andreas Kling.
Add this new define to have a central place for switching
the IMLangFontLinkType and adop all usages of the type.
This makes the usage of the code easier on desktop pcs.
* platform/graphics/FontCache.h:
(WebCore):
* platform/graphics/wince/FontCacheWinCE.cpp:
(WebCore::currentFontContainsCharacter):
(WebCore::createMLangFont):
(WebCore::FontCache::getFontDataForCharacters):
* platform/graphics/wince/SimpleFontDataWinCE.cpp:
(WebCore::SimpleFontData::containsCharacters):
2013-04-29 Noam Rosenthal <noam@webkit.org>
Get rid of "non-composited contents" in CoordinatedLayerTreeHost
https://bugs.webkit.org/show_bug.cgi?id=110355
Reviewed by Jocelyn Turcotte.
When in force compositing mode, always assume that the main layer needs
a backing store. Make setVisibleContentRectTrajectoryVector and accumulatedCoverRect
recursive so that they don't rely on a specialized layer.
No new testable behavior, changes to coverRect and trajectory vector only
affect tiling latency in rare cases that are not trivial to test.
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:
(WebCore::CoordinatedGraphicsLayer:setVisibleContentRectTrajectoryVector):
Make the trajectory vector recursive, though limited only to layers with
translate/identity. This allows us to keep the trajectory vector while removing
the non-composited contents specialization.
(WebCore::CoordinatedGraphicsLayer::accumulatedCoverRect):
Added accumulatedCoverRect, so that the coverRect calculations for the UI process
are not bound to the non-composited contents layer.
(WebCore::CoordinatedGraphicsLayer::findDescendantWithContentsRecursively):
Instead of saving a reference to the non-composited contents layer, we assume that
the first layer we found recursively which has contents is the one to be used for
coverRect/trajectory calculations.
(WebCore):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
(CoordinatedGraphicsLayer):
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::paintsIntoWindow):
Always create a layer for the non-composited contents when in forceCompositing mode.
2013-04-29 Dirk Schulze <krit@webkit.org>
Animate clip rect() between different Length types
https://bugs.webkit.org/show_bug.cgi?id=115336
Reviewed by Andreas Kling.
At the moment the animation for the 'clip' property
has an early return if the type of two Length values
does not match. This patch removes this early return.
Modified existing tests to cover the changes.
* page/animation/CSSPropertyAnimation.cpp:
(WebCore::blendFunc):
2013-04-29 Andreas Kling <akling@apple.com>
When updating geometry, send JavaScript resize before before layout/paint.
<http://webkit.org/b/115199>
<rdar://problem/13735535>
Reviewed by Geoffrey Garen.
Make the "resize" event synchronous and dispatch it before doing any automatic
resize-induced layout. This avoids unnecessary work in cases where an event handler
does something that dirties style.
It also avoids a kind of JS-side FOUC that happens if we drop out to the runloop
and paint before the resize event handler runs; for example, when viewing a popup
on <http://lokeshdhakar.com/projects/lightbox2/> and resizing the window, the dark
overlay sometimes resizes out of sync with the web view, since a paint may happen
between automatic layout and the resize event.
* page/EventHandler.h:
* page/EventHandler.cpp:
(WebCore::EventHandler::dispatchResizeEvent):
* page/FrameView.h:
* page/FrameView.cpp:
(WebCore::FrameView::dispatchResizeEvent):
Renamed sendResizeEvent() to dispatchResizeEvent() and made it dispatch the event
synchronously instead of adding it to the DocumentEventQueue.
(WebCore::FrameView::performPostLayoutTasks):
(WebCore::FrameView::setFrameRect):
Dispatch the "resize" event right when the new frame rect is set.
2013-04-29 Patrick Gansterer <paroga@webkit.org>
Remove OS(WINCE) from (Render|Scrollbar)ThemeWin.cpp
https://bugs.webkit.org/show_bug.cgi?id=115348
Reviewed by Andreas Kling.
Compile DIBPixelData.cpp on Windows CE too, which allows us
to get rid of a few #if OS(WINCE) in other code parts.
* PlatformWinCE.cmake:
* platform/graphics/win/DIBPixelData.cpp:
(WebCore::DIBPixelData::setRGBABitmapAlpha):
* platform/win/ScrollbarThemeWin.cpp:
(WebCore::ScrollbarThemeWin::paintTrackPiece):
(WebCore::ScrollbarThemeWin::paintButton):
(WebCore::ScrollbarThemeWin::paintThumb):
* rendering/RenderThemeWin.cpp:
(WebCore::drawControl):
2013-04-29 Eli Fidler <efidler@blackberry.com>
[BlackBerry] Fake-bold monospace fonts need to use non-fake-bold advances
https://bugs.webkit.org/show_bug.cgi?id=115280
Reviewed by George Staikos.
BlackBerry PR 330864
Tested by fast/css/css3-ch-unit.html
* platform/graphics/blackberry/FontPlatformDataBlackBerry.cpp:
(WebCore::FontPlatformData::applyState):
(WebCore::FontPlatformData::isFixedPitch):
* platform/graphics/blackberry/ITypeUtils.h:
* platform/graphics/blackberry/SimpleFontDataBlackBerry.cpp:
(WebCore::SimpleFontData::platformWidthForGlyph):
2013-04-29 ChangSeok Oh <changseok.oh@collabora.com>
[GTK][AC] Clean up code related with the children management stuff for clutter based AC
https://bugs.webkit.org/show_bug.cgi?id=114260
Reviewed by Gustavo Noronha Silva.
Remove unused or usless code for children management stuff.
No new tests since no functionality changed.
* platform/graphics/clutter/GraphicsLayerActor.cpp:
(_GraphicsLayerActorPrivate):
(graphics_layer_actor_class_init):
(graphicsLayerActorAllocate):
(graphicsLayerActorDraw):
(graphicsLayerActorNew):
(graphicsLayerActorSetSublayers):
* platform/graphics/clutter/GraphicsLayerActor.h:
* platform/graphics/clutter/GraphicsLayerClutter.cpp:
(WebCore::idleDestroy):
(WebCore::GraphicsLayerClutter::ensureStructuralLayer):
(WebCore::GraphicsLayerClutter::updateLayerDrawsContent):
2013-04-29 Patrick Gansterer <paroga@webkit.org>
[WIN] Guard cfHDropFormat() with USE(CF) instead of OS(WINCE)
https://bugs.webkit.org/show_bug.cgi?id=115195
Reviewed by Andreas Kling.
USE(CF) is the correct guard, which works on desktop pcs too.
* platform/win/ClipboardWin.cpp:
(WebCore::ClipboardWin::files):
* platform/win/DragDataWin.cpp:
(WebCore::DragData::containsFiles):
(WebCore::DragData::numberOfFiles):
(WebCore::DragData::asFilenames):
2013-04-29 Carlos Garcia Campos <cgarcia@igalia.com>
Unreviewed. Fix make distcheck.
* GNUmakefile.am: Add missing scripts to EXTRA_DIST.
* GNUmakefile.list.am: Add missing files to compilation.
2013-04-29 Noam Rosenthal <noam@webkit.org>
[Qt] fast/canvas/webgl/webgl-composite-modes.html broken after r148433.
https://bugs.webkit.org/show_bug.cgi?id=115243
Reviewed by Jocelyn Turcotte.
When compositing a layer with a canvas or directly composited image, it is
wrong to use TextureMapperLayer::setBackingStore. Instead, setContentsLayer
should be used, which allows for the layer to have both a backing store and
a contents layer.
* platform/graphics/texmap/TextureMapperLayer.cpp:
(WebCore::TextureMapperLayer::paintSelf):
* platform/graphics/texmap/TextureMapperLayer.h:
(State):
(WebCore::TextureMapperLayer::State::State):
* platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:
(WebCore::CoordinatedGraphicsScene::createCanvasIfNeeded):
(WebCore::CoordinatedGraphicsScene::destroyCanvasIfNeeded):
(WebCore::CoordinatedGraphicsScene::assignImageBackingToLayer):
2013-04-29 Patrick Gansterer <paroga@webkit.org>
Unreviewed build fix.
* bindings/js/WorkerScriptDebugServer.cpp: Added missing header.
2013-04-29 Patrick Gansterer <paroga@webkit.org>
Unreviewed build fix.
* platform/graphics/wince/FontWinCE.cpp:
(WebCore::generateComponents):
2013-04-29 Patrick Gansterer <paroga@webkit.org>
Remove OS(WINCE) from HTMLSelectElement.cpp
https://bugs.webkit.org/show_bug.cgi?id=115194
Reviewed by Andreas Kling.
Use the same files like the the other PLATFORM(WIN) ports use.
* PlatformWinCE.cmake:
* html/HTMLSelectElement.cpp:
(WebCore):
2013-04-25 Ryosuke Niwa <rniwa@webkit.org>
StaticHashSetNodeList is unnecessary
https://bugs.webkit.org/show_bug.cgi?id=115219
Reviewed by Antonio Gomes.
Moved Document::nodesFromRect into Internals::nodesFromRect per
https://chromium.googlesource.com/chromium/blink/+/78207c5c34383fbb807bb9347deb67168f09bb04.
Also made TouchAdjustment functions use HashListSet directly instead of wrapping it inside
a StaticHashSetNodeList since there was no need to use the latter.
With these two changes, I deleted StaticHashSetNodeList.
* GNUmakefile.list.am:
* Target.pri:
* WebCore.exp.in:
* WebCore.xcodeproj/project.pbxproj:
* dom/Document.cpp:
(WebCore):
* dom/Document.h:
(Document):
* dom/StaticHashSetNodeList.cpp: Removed.
* dom/StaticHashSetNodeList.h: Removed.
* page/EventHandler.cpp:
(WebCore::EventHandler::bestClickableNodeForTouchPoint):
(WebCore::EventHandler::bestContextMenuNodeForTouchPoint):
(WebCore::EventHandler::bestZoomableAreaForTouchPoint):
* page/TouchAdjustment.cpp:
(WebCore::TouchAdjustment::compileSubtargetList):
(WebCore::TouchAdjustment::compileZoomableSubtargets):
(WebCore::findBestClickableCandidate):
(WebCore::findBestContextMenuCandidate):
(WebCore::findBestZoomableArea):
* page/TouchAdjustment.h:
(WebCore):
* testing/Internals.cpp:
(WebCore::Internals::nodesFromRect):
2013-04-28 Dean Jackson <dino@apple.com>
[Mac] Disable canvas backing store scaling (HIGH_DPI_CANVAS)
https://bugs.webkit.org/show_bug.cgi?id=115310
Reviewed by Simon Fraser.
Disable the automatic pixel doubling in canvas backing stores on high
dpi devices. This will potentially make canvases look worse of high dpi
displays, but only if they were ignoring devicePixelRatio. Since the
majority of high dpi displays *do not* auto-double (including mobile
devices and other desktop browsers), this provides consistency and less
chance of unnecessary memory use.
* Configurations/FeatureDefines.xcconfig: Remove ENABLE_HIGH_DPI_CANVAS_macosx.
2013-04-28 Christophe Dumez <ch.dumez@sisa.samsung.com>
Get rid of [Callback] IDL extended attribute for parameters
https://bugs.webkit.org/show_bug.cgi?id=115250
Reviewed by Kentaro Hara.
Remove the WebKit-specific [Callback] extended attribute and make the bindings
generator smart enough to know when a parameter is of callback type on its
own.
No new tests, no behavior change.
* DerivedSources.make: Use WebCore/Modules as IDL include path instead of using
subdirs. The generator will search recursively anyway and the list of subdirs was
incomplete.
* Modules/filesystem/DOMWindowFileSystem.idl:
* Modules/filesystem/DirectoryEntry.idl:
* Modules/filesystem/DirectoryReader.idl:
* Modules/filesystem/Entry.idl:
* Modules/filesystem/FileEntry.idl:
* Modules/filesystem/WorkerContextFileSystem.idl:
* Modules/mediastream/NavigatorMediaStream.idl:
* Modules/mediastream/RTCPeerConnection.idl:
* Modules/notifications/Notification.idl:
* Modules/notifications/NotificationCenter.idl:
* Modules/quota/StorageInfo.idl:
* Modules/quota/StorageQuota.idl:
* Modules/webaudio/AudioContext.idl:
* Modules/webdatabase/DOMWindowWebDatabase.idl:
* Modules/webdatabase/Database.idl:
* Modules/webdatabase/DatabaseSync.idl:
* Modules/webdatabase/SQLTransaction.idl:
* Modules/webdatabase/WorkerContextWebDatabase.idl:
* bindings/gobject/GNUmakefile.am: Add missing IDL include dirs.
* bindings/scripts/CodeGenerator.pm:
(IsWrapperType):
(IsCallbackInterface):
* bindings/scripts/CodeGeneratorGObject.pm:
(SkipFunction):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateParametersCheckExpression):
(GenerateParametersCheck):
* bindings/scripts/IDLAttributes.txt: Remove "Callback" extended attribute.
* bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
(WebDOMTestCallback::callbackWithArrayParam):
(WebDOMTestCallback::callbackWithSerializedScriptValueParam):
(WebDOMTestCallback::callbackWithNonBoolReturnType):
(WebDOMTestCallback::callbackRequiresThisToPass):
* bindings/scripts/test/CPP/WebDOMTestCallback.h:
(WebDOMTestCallback):
* bindings/scripts/test/CPP/WebDOMTestObj.cpp:
(WebDOMTestObj::convert1):
(WebDOMTestObj::convert2):
(WebDOMTestObj::convert4):
(WebDOMTestObj::convert5):
* bindings/scripts/test/CPP/WebDOMTestObj.h:
* bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
(WebDOMTestSerializedScriptValueInterface::acceptTransferList):
(WebDOMTestSerializedScriptValueInterface::multiTransferList):
* bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
(WebDOMTestSerializedScriptValueInterface):
* bindings/scripts/test/CPP/WebDOMTestTypedefs.cpp:
(WebDOMTestTypedefs::multiTransferList):
* bindings/scripts/test/CPP/WebDOMTestTypedefs.h:
(WebDOMTestTypedefs):
* bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
(webkit_dom_test_callback_callback_with_array_param):
(webkit_dom_test_callback_callback_with_serialized_script_value_param):
(webkit_dom_test_callback_callback_with_non_bool_return_type):
(webkit_dom_test_callback_callback_requires_this_to_pass):
* bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
* bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
(webkit_dom_test_obj_convert1):
(webkit_dom_test_obj_convert2):
(webkit_dom_test_obj_convert4):
(webkit_dom_test_obj_convert5):
* bindings/scripts/test/GObject/WebKitDOMTestObj.h:
* bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
(webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
(webkit_dom_test_serialized_script_value_interface_multi_transfer_list):
* bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
* bindings/scripts/test/GObject/WebKitDOMTestTypedefs.cpp:
(webkit_dom_test_typedefs_multi_transfer_list):
* bindings/scripts/test/GObject/WebKitDOMTestTypedefs.h:
* bindings/scripts/test/JS/JSTestCallback.cpp:
(WebCore::JSTestCallback::callbackWithArrayParam):
(WebCore::JSTestCallback::callbackWithSerializedScriptValueParam):
(WebCore::JSTestCallback::callbackRequiresThisToPass):
* bindings/scripts/test/JS/JSTestCallback.h:
(JSTestCallback):
* bindings/scripts/test/JS/JSTestObj.cpp:
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionConvert5):
* bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
(WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
(WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
(WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionMultiTransferList):
* bindings/scripts/test/JS/JSTestTypedefs.cpp:
(WebCore::jsTestTypedefsPrototypeFunctionMultiTransferList):
* bindings/scripts/test/ObjC/DOMTestCallback.h:
* bindings/scripts/test/ObjC/DOMTestCallback.mm:
(-[DOMTestCallback callbackWithArrayParam:]):
(-[DOMTestCallback callbackWithSerializedScriptValueParam:strArg:]):
(-[DOMTestCallback callbackWithNonBoolReturnType:]):
(-[DOMTestCallback callbackRequiresThisToPass:testNodeParam:]):
* bindings/scripts/test/ObjC/DOMTestObj.h:
* bindings/scripts/test/ObjC/DOMTestObj.mm:
(-[DOMTestObj convert1:]):
(-[DOMTestObj convert2:]):
(-[DOMTestObj convert4:]):
(-[DOMTestObj convert5:]):
* bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
* bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
(-[DOMTestSerializedScriptValueInterface acceptTransferList:transferList:]):
(-[DOMTestSerializedScriptValueInterface multiTransferList:tx:second:txx:]):
* bindings/scripts/test/ObjC/DOMTestTypedefs.h:
* bindings/scripts/test/ObjC/DOMTestTypedefs.mm:
(-[DOMTestTypedefs multiTransferList:tx:second:txx:]):
* bindings/scripts/test/TestCallback.idl: Use valid types instead of Class1, Class2, ...
so that the bindings generator does not complain about not being able to resolve
them.
* bindings/scripts/test/TestObj.idl: Use valid parameter types instead of 'a', 'b', 'd', 'e'
so that the bindings generator does not complain about them.
* bindings/scripts/test/TestSerializedScriptValueInterface.idl:
* bindings/scripts/test/TestTypedefs.idl:
* css/FontLoader.idl:
* dom/DataTransferItem.idl:
* page/DOMWindow.idl:
2013-04-27 Darin Adler <darin@apple.com>
Move from constructor and member function adoptCF/NS to free function adoptCF/NS.
https://bugs.webkit.org/show_bug.cgi?id=115307
Reviewed by Geoffrey Garen.
This change was done by a global replace followed by compiling and inspecting for
cases that needed to be tweaked by hand.
* accessibility/ios/AXObjectCacheIOS.mm:
(WebCore::AXObjectCache::attachWrapper):
* accessibility/mac/AXObjectCacheMac.mm:
(WebCore::AXObjectCache::attachWrapper):
* bridge/objc/objc_class.mm:
(JSC::Bindings::ObjcClass::methodNamed):
(JSC::Bindings::ObjcClass::fieldNamed):
* bridge/objc/objc_runtime.mm:
(JSC::Bindings::ObjcField::ObjcField):
* editing/mac/EditorMac.mm:
(WebCore::Editor::fontAttributesForSelectionStart):
* history/cf/HistoryPropertyList.cpp:
(WebCore::HistoryPropertyListWriter::releaseData):
* html/HTMLMediaElement.cpp:
(WebCore::createFileURLForApplicationCacheResource):
* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::createPropertyListRepresentation):
(WebCore::LegacyWebArchive::create):
(WebCore::LegacyWebArchive::rawDataRepresentation):
* loader/archive/cf/LegacyWebArchiveMac.mm:
(WebCore::LegacyWebArchive::createPropertyListRepresentation):
* loader/mac/ResourceLoaderMac.mm:
(WebCore::ResourceLoader::willCacheResponse):
* page/CaptionUserPreferencesMac.mm:
(WebCore::CaptionUserPreferencesMac::userPrefersCaptions):
(WebCore::CaptionUserPreferencesMac::userPrefersSubtitles):
(WebCore::CaptionUserPreferencesMac::captionsWindowCSS):
(WebCore::CaptionUserPreferencesMac::captionsBackgroundCSS):
(WebCore::CaptionUserPreferencesMac::captionsTextColor):
(WebCore::CaptionUserPreferencesMac::captionsDefaultFontCSS):
(WebCore::CaptionUserPreferencesMac::preferredLanguages):
(WebCore::trackDisplayName):
* platform/Language.cpp:
(WebCore::displayNameForLanguageLocale):
* platform/LocalizedStrings.cpp:
(WebCore::contextMenuItemTagSearchWeb):
(WebCore::imageTitle):
* platform/MIMETypeRegistry.cpp:
(WebCore::initializeSupportedImageMIMETypes):
(WebCore::initializeSupportedImageMIMETypesForEncoding):
* platform/audio/mac/AudioFileReaderMac.cpp:
(WebCore::AudioFileReader::AudioFileReader):
* platform/cf/KURLCFNet.cpp:
(WebCore::KURL::fileSystemPath):
* platform/cf/SharedBufferCF.cpp:
(WebCore::SharedBuffer::maybeTransferPlatformData):
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::MediaPlayerPrivateAVFoundationObjC):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoLayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayer):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createAVPlayerItem):
(WebCore::MediaPlayerPrivateAVFoundationObjC::createVideoOutput):
(WebCore::MediaPlayerPrivateAVFoundationObjC::paintWithVideoOutput):
* platform/graphics/ca/GraphicsLayerCA.cpp:
(WebCore::GraphicsLayerCA::setContentsToImage):
* platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
(WebCore::LayerFlushScheduler::schedule):
* platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
(PlatformCAAnimation::PlatformCAAnimation):
* platform/graphics/ca/mac/PlatformCAFiltersMac.mm:
(PlatformCAFilters::filterValueForOperation):
* platform/graphics/ca/mac/PlatformCALayerMac.mm:
(PlatformCALayer::PlatformCALayer):
(PlatformCALayer::addAnimationForKey):
(PlatformCALayer::setBackgroundColor):
(PlatformCALayer::setBorderColor):
* platform/graphics/cg/BitmapImageCG.cpp:
(WebCore::BitmapImage::checkForSolidColor):
(WebCore::BitmapImage::getCGImageArray):
* platform/graphics/cg/ColorCG.cpp:
(WebCore::cachedCGColor):
* platform/graphics/cg/GraphicsContext3DCG.cpp:
(WebCore::GraphicsContext3D::ImageExtractor::extractImage):
* platform/graphics/cg/GraphicsContextCG.cpp:
(WebCore::GraphicsContext::applyStrokePattern):
(WebCore::GraphicsContext::applyFillPattern):
(WebCore::GraphicsContext::setURLForRect):
* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::createIOSurface):
(WebCore::ImageBuffer::ImageBuffer):
(WebCore::ImageBuffer::copyImage):
(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::clip):
(WebCore::ImageBuffer::putByteArray):
(WebCore::CGImageEncodeToData):
(WebCore::CGImageToDataURL):
(WebCore::ImageBuffer::toDataURL):
(WebCore::ImageDataToDataURL):
* platform/graphics/cg/ImageBufferDataCG.cpp:
(WebCore::ImageBufferData::getData):
(WebCore::ImageBufferData::putData):
* platform/graphics/cg/ImageCG.cpp:
(WebCore::Image::imageWithColorSpace):
(WebCore::Image::drawPattern):
* platform/graphics/cg/ImageSourceCG.cpp:
(WebCore::ImageSource::setData):
(WebCore::ImageSource::isSizeAvailable):
(WebCore::ImageSource::frameSizeAtIndex):
(WebCore::ImageSource::orientationAtIndex):
(WebCore::ImageSource::getHotSpot):
(WebCore::ImageSource::repetitionCount):
(WebCore::ImageSource::createFrameAtIndex):
(WebCore::ImageSource::frameDurationAtIndex):
* platform/graphics/cg/PDFDocumentImage.cpp:
(WebCore::PDFDocumentImage::dataChanged):
* platform/graphics/cg/PathCG.cpp:
(WebCore::createScratchContext):
(WebCore::Path::contains):
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::FontPlatformData):
(WebCore::FontPlatformData::setFont):
(WebCore::createFeatureSettingDictionary):
(WebCore::cascadeToLastResortFontDescriptor):
(WebCore::cascadeToLastResortAndDisableSwashesFontDescriptor):
(WebCore::FontPlatformData::ctFont):
(WebCore::FontPlatformData::description):
* platform/graphics/gpu/mac/DrawingBufferMac.mm:
(WebCore::DrawingBuffer::DrawingBuffer):
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(-[WebCascadeList objectAtIndex:]):
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
* platform/graphics/mac/FontCustomPlatformData.cpp:
(WebCore::createFontCustomPlatformData):
* platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
(WebCore::GlyphPage::fill):
* platform/graphics/mac/GraphicsContext3DMac.mm:
(WebCore::GraphicsContext3D::GraphicsContext3D):
* platform/graphics/mac/GraphicsContextMac.mm:
(WebCore::GraphicsContext::drawFocusRing):
(WebCore::linearRGBColorSpaceRef):
* platform/graphics/mac/ImageMac.mm:
(WebCore::BitmapImage::getTIFFRepresentation):
(WebCore::BitmapImage::getNSImage):
* platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
(WebCore::MediaPlayerPrivateQTKit::MediaPlayerPrivateQTKit):
(WebCore::MediaPlayerPrivateQTKit::createQTMovie):
(WebCore::MediaPlayerPrivateQTKit::createQTMovieView):
(WebCore::MediaPlayerPrivateQTKit::createQTVideoRenderer):
(WebCore::MediaPlayerPrivateQTKit::createQTMovieLayer):
(WebCore::MediaPlayerPrivateQTKit::setPreservesPitch):
(WebCore::addFileTypesToCache):
* platform/graphics/mac/SimpleFontDataCoreText.cpp:
(WebCore::SimpleFontData::getCFStringAttributes):
* platform/graphics/mac/SimpleFontDataMac.mm:
(WebCore::fontHasVerticalGlyphs):
(WebCore::SimpleFontData::getCompositeFontReferenceFontData):
(WebCore::SimpleFontData::platformCharWidthInit):
(WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
* platform/graphics/mac/WebGLLayer.mm:
(-[WebGLLayer copyImageSnapshotWithColorSpace:]):
* platform/mac/ContentFilterMac.mm:
(WebCore::ContentFilter::ContentFilter):
* platform/mac/ContextMenuItemMac.mm:
(WebCore::ContextMenuItem::ContextMenuItem):
* platform/mac/CursorMac.mm:
(WebCore::createCustomCursor):
(WebCore::createNamedCursor):
* platform/mac/DisplaySleepDisabler.cpp:
(WebCore::DisplaySleepDisabler::DisplaySleepDisabler):
* platform/mac/DragImageMac.mm:
(WebCore::dissolveDragImageToFraction):
(WebCore::createDragImageFromImage):
* platform/mac/HTMLConverter.mm:
(+[WebHTMLConverter editingAttributedStringFromRange:]):
* platform/mac/Language.mm:
(WebCore::httpStyleLanguageCode):
(WebCore::platformUserPreferredLanguages):
* platform/mac/LocalizedStringsMac.cpp:
(WebCore::localizedString):
* platform/mac/PasteboardMac.mm:
(WebCore::Pasteboard::getDataSelection):
(WebCore::Pasteboard::writeSelectionForTypes):
(WebCore::fragmentFromWebArchive):
* platform/mac/PlatformClockCM.mm:
(PlatformClockCM::PlatformClockCM):
(PlatformClockCM::initializeWithTimingSource):
* platform/mac/PlatformPasteboardMac.mm:
(WebCore::PlatformPasteboard::addTypes):
(WebCore::PlatformPasteboard::setTypes):
(WebCore::PlatformPasteboard::setPathnamesForType):
* platform/mac/PlatformSpeechSynthesizerMac.mm:
(WebCore::PlatformSpeechSynthesizer::speak):
* platform/mac/PopupMenuMac.mm:
(WebCore::PopupMenuMac::populate):
(WebCore::PopupMenuMac::show):
* platform/mac/ScrollAnimatorMac.mm:
(-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
(-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
(-[WebScrollbarPainterDelegate scrollerImp:animateExpansionTransitionWithDuration:]):
(WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
(WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
* platform/mac/SharedBufferMac.mm:
(WebCore::SharedBuffer::createCFData):
* platform/mac/WebCoreNSStringExtras.mm:
(stringEncodingForResource):
* platform/network/ProtectionSpace.cpp:
(WebCore::ProtectionSpace::receivesCredentialSecurely):
* platform/network/SynchronousLoaderClient.cpp:
(WebCore::SynchronousLoaderClient::platformBadResponseError):
* platform/network/cf/CredentialStorageCFNet.cpp:
(WebCore::CredentialStorage::getFromPersistentStorage):
* platform/network/cf/DNSCFNet.cpp:
(WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
* platform/network/cf/FormDataStreamCFNet.cpp:
(WebCore::advanceCurrentStream):
* platform/network/cf/NetworkStorageSessionCFNet.cpp:
(WebCore::overrideCookieStorage):
* platform/network/cf/ProxyServerCFNet.cpp:
(WebCore::proxyAutoConfigurationResultCallback):
(WebCore::processProxyServers):
(WebCore::addProxyServersForURL):
* platform/network/cf/ResourceErrorCF.cpp:
(WebCore::ResourceError::platformLazyInit):
(WebCore::ResourceError::cfError):
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::willSendRequest):
(WebCore::ResourceHandle::createCFURLConnection):
(WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
(WebCore::ResourceHandle::receivedCredential):
(WebCore::ResourceHandle::handleDataArray):
* platform/network/cf/ResourceRequestCFNet.cpp:
(WebCore::setHeaderFields):
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
(WebCore::ResourceRequest::doUpdateResourceRequest):
(WebCore::ResourceRequest::setStorageSession):
* platform/network/cf/ResourceResponseCFNet.cpp:
(WebCore::ResourceResponse::cfURLResponse):
(WebCore::ResourceResponse::platformLazyInit):
* platform/network/cf/SocketStreamHandleCFNet.cpp:
(WebCore::SocketStreamHandle::SocketStreamHandle):
(WebCore::SocketStreamHandle::executePACFileURL):
(WebCore::SocketStreamHandle::chooseProxy):
(WebCore::SocketStreamHandle::createStreams):
(WebCore::SocketStreamHandle::addCONNECTCredentials):
(WebCore::SocketStreamHandle::readStreamCallback):
(WebCore::SocketStreamHandle::writeStreamCallback):
(WebCore::SocketStreamHandle::reportErrorToClient):
* platform/network/mac/AuthenticationMac.mm:
(WebCore::mac):
(WebCore::AuthenticationChallenge::setAuthenticationClient):
* platform/network/mac/CookieJarMac.mm:
(WebCore::filterCookies):
* platform/network/mac/NetworkStateNotifierMac.cpp:
(WebCore::NetworkStateNotifier::updateState):
(WebCore::NetworkStateNotifier::NetworkStateNotifier):
* platform/network/mac/ResourceErrorMac.mm:
(WebCore::createNSErrorFromResourceErrorBase):
(WebCore::ResourceError::nsError):
* platform/network/mac/ResourceHandleMac.mm:
(WebCore::ResourceHandle::createNSURLConnection):
* platform/network/mac/ResourceRequestMac.mm:
(WebCore::ResourceRequest::updateNSURLRequest):
(WebCore::ResourceRequest::doUpdatePlatformRequest):
(WebCore::ResourceRequest::doUpdatePlatformHTTPBody):
(WebCore::ResourceRequest::setStorageSession):
* platform/network/mac/ResourceResponseMac.mm:
(WebCore::ResourceResponse::initNSURLResponse):
(WebCore::ResourceResponse::nsURLResponse):
(WebCore::ResourceResponse::platformLazyInit):
* platform/network/mac/UTIUtilities.mm:
(WebCore::mimeTypeFromUTITree):
* platform/network/mac/WebCoreURLResponse.mm:
(WebCore::adjustMIMETypeIfNecessary):
* platform/text/cf/HyphenationCF.cpp:
(WebCore::::createValueForNullKey):
(WebCore::lastHyphenLocation):
* platform/text/mac/HyphenationMac.mm:
(WebCore::::createValueForKey):
(WebCore::lastHyphenLocation):
* platform/text/mac/LocaleMac.mm:
(WebCore::determineLocale):
(WebCore::LocaleMac::LocaleMac):
(WebCore::LocaleMac::initializeLocaleData):
* platform/text/mac/TextBreakIteratorInternalICUMac.mm:
(WebCore::textBreakLocalePreference):
(WebCore::canonicalLanguageIdentifier):
* rendering/RenderThemeMac.mm:
(WebCore::RenderThemeMac::RenderThemeMac):
(WebCore::RenderThemeMac::levelIndicatorFor):
(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::paintSliderTrack):
(WebCore::RenderThemeMac::popupButton):
(WebCore::RenderThemeMac::search):
(WebCore::RenderThemeMac::searchMenuTemplate):
(WebCore::RenderThemeMac::sliderThumbHorizontal):
(WebCore::RenderThemeMac::sliderThumbVertical):
(WebCore::RenderThemeMac::textField):
Use adoptNS and adoptCF free functions.
2013-04-27 Ryosuke Niwa <rniwa@webkit.org>
Pressing mouse button inside a dragstart event causes a crash
https://bugs.webkit.org/show_bug.cgi?id=115296
Reviewed by Darin Adler.
Add a missing null pointer check. We should better encapsulate the states in DragState in the long term
but this is good enough for now.
Test: fast/events/mousedown-inside-dragstart-should-not-cause-crash.html
* page/EventHandler.cpp:
(WebCore::EventHandler::handleDrag):
2013-04-27 Gyuyoung Kim <gyuyoung.kim@samsung.com>
Unreviewed build fix when disabling video and video-track.
* platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
2013-04-27 Geoffrey Garen <ggaren@apple.com>
WebGL shouldn't allocate a "length" Identifier just to move some numbers around
https://bugs.webkit.org/show_bug.cgi?id=115317
Reviewed by Dean Jackson.
Saw this while debugging an ammo.js bug.
* bindings/js/JSArrayBufferViewHelper.h:
(WebCore::setWebGLArrayWithTypedArrayArgument):
(WebCore::setWebGLArrayHelper):
(WebCore::constructArrayBufferViewWithTypedArrayArgument):
(WebCore::constructArrayBufferView):
* bindings/js/JSWebGLRenderingContextCustom.cpp:
(WebCore::toVector): Use the pre-computed "length" identifier instead of
allocating a new one for each vector operation. There are lots more
optimizations we could do here. This is a start.
2013-04-27 Anders Carlsson <andersca@apple.com>
Remove two more StorageTask types
https://bugs.webkit.org/show_bug.cgi?id=115312
Reviewed by Dean Jackson.
* storage/StorageTask.cpp:
(WebCore::StorageTask::performTask):
* storage/StorageTask.h:
* storage/StorageTracker.cpp:
(WebCore::StorageTracker::setOriginDetails):
(WebCore::StorageTracker::deleteOrigin):
* storage/StorageTracker.h:
2013-04-27 Anders Carlsson <andersca@apple.com>
Get rid of more uses of StorageTask
https://bugs.webkit.org/show_bug.cgi?id=115311
Reviewed by Dean Jackson.
Make StorageAreaSync derive from ThreadSafeRefCounted as well, since it's passed between threads.
* storage/StorageAreaSync.h:
* storage/StorageSyncManager.cpp:
(WebCore::StorageSyncManager::scheduleImport):
(WebCore::StorageSyncManager::scheduleSync):
(WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
* storage/StorageTask.cpp:
(WebCore::StorageTask::StorageTask):
(WebCore::StorageTask::performTask):
* storage/StorageTask.h:
(StorageTask):
2013-04-27 Anders Carlsson <andersca@apple.com>
Indent StorageAreaSync to match the style guidelines.
Rubber-stamped by Andreas Kling.
* storage/StorageAreaSync.h:
2013-04-27 Anders Carlsson <andersca@apple.com>
Replace uses of StorageTask with StorageThread::dispatch and WTF::bind
https://bugs.webkit.org/show_bug.cgi?id=115309
Reviewed by Andreas Kling.
* storage/StorageTask.cpp:
(WebCore::StorageTask::StorageTask):
(WebCore::StorageTask::performTask):
* storage/StorageTask.h:
* storage/StorageThread.cpp:
(WebCore::StorageThread::terminate):
(WebCore::StorageThread::releaseFastMallocFreeMemoryInAllThreads):
* storage/StorageThread.h:
* storage/StorageTracker.cpp:
(WebCore::StorageTracker::importOriginIdentifiers):
(WebCore::StorageTracker::deleteAllOrigins):
2013-04-27 Anders Carlsson <andersca@apple.com>
Add StorageThread::dispatch
https://bugs.webkit.org/show_bug.cgi?id=115308
Reviewed by Andreas Kling.
StorageThread::dispatch takes a Function<void ()> and runs it on the storage thread. This will be used to eventually get rid of StorageTask.
* storage/StorageTask.cpp:
(WebCore::StorageTask::StorageTask):
(WebCore::StorageTask::performTask):
* storage/StorageTask.h:
(WebCore::StorageTask::createDispatch):
* storage/StorageThread.cpp:
(WebCore::StorageThread::dispatch):
* storage/StorageThread.h:
(StorageThread):
2013-04-27 Jer Noble <jer.noble@apple.com>
REGRESSION (r147261): Audio controls background not displayed after loading audio file
https://bugs.webkit.org/show_bug.cgi?id=115221
Reviewed by Darin Adler.
As in r147261, set a flex-shrink: 0 to avoid shrinking the media controls panel
below the specified height.
No new tests; fixes the media/media-document-audio-repaint.html test.
* css/mediaControlsQuickTime.css:
(audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
2013-04-26 Jer Noble <jer.noble@apple.com>
Video playback has corruption on the edges of the video
https://bugs.webkit.org/show_bug.cgi?id=115216
Reviewed by Simon Fraser.
Test: media/video-poster-background.html
RenderImage correctly answers foregroundIsKnownToBeOpaqueInRect() method
when a poster image is displayed, but once the video begins playing and
the poster image is no longer displayed, RenderImage will continue to
answer 'true' even when the video does not occupy the entire render box.
Override foregroundIsKnownToBeOpaqueInRect() in order to more correctly
answer the question for the video layer.
* rendering/RenderImage.h: Make foregroundIsKnownToBeOpaqueInRect() protected
(vs. private).
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::foregroundIsKnownToBeOpaqueInRect): Added. Return
true if the rect parameter is entirely contained by the video box.
* rendering/RenderVideo.h:
2013-04-26 Hans Muller <hmuller@adobe.com>
[CSS Exclusions] ExclusionShape bounding box methods should return LayoutRects
https://bugs.webkit.org/show_bug.cgi?id=115117
Reviewed by Dirk Schulze.
Redefined the ExclusionShape API in terms of LayoutUnits, instead of floats: all of the
ExclusionShape methods now have LayoutUnit parameters and return LayoutUnit values.
This is more natural, since the callers work exclusively in LayoutUnits.
This is strictly a refactoring, no new tests were needed.
* rendering/ExclusionPolygon.cpp:
(WebCore::ExclusionPolygon::getExcludedIntervals):
(WebCore::ExclusionPolygon::getIncludedIntervals):
(WebCore::ExclusionPolygon::firstIncludedIntervalLogicalTop):
* rendering/ExclusionPolygon.h:
* rendering/ExclusionRectangle.cpp:
(WebCore::ExclusionRectangle::getExcludedIntervals):
(WebCore::ExclusionRectangle::getIncludedIntervals):
(WebCore::ExclusionRectangle::firstIncludedIntervalLogicalTop):
* rendering/ExclusionRectangle.h:
* rendering/ExclusionShape.cpp:
(WebCore::ExclusionShape::createExclusionShape):
* rendering/ExclusionShape.h:
(LineSegment):
(ExclusionShape):
* rendering/ExclusionShapeInfo.cpp:
(WebCore):
(WebCore::::computedShape):
* rendering/ExclusionShapeInfo.h:
(WebCore):
(WebCore::ExclusionShapeInfo::shapeLogicalTop):
(WebCore::ExclusionShapeInfo::shapeLogicalBottom):
(ExclusionShapeInfo):
* rendering/ExclusionShapeInsideInfo.cpp:
(WebCore::ExclusionShapeInsideInfo::adjustLogicalLineTop):
* rendering/ExclusionShapeInsideInfo.h:
* rendering/ExclusionShapeOutsideInfo.h:
2013-04-26 Jer Noble <jer.noble@apple.com>
Nil-check the results of -[AVPlayerItemVideoOutput copyPixelBufferForItemTime:itemTimeForDisplay:].
https://bugs.webkit.org/show_bug.cgi?id=115265
Reviewed by Eric Carlson.
copyPixelBufferForItemTime:itemTimeForDisplay: can return nil, even
when hasNewPixelBufferForItemTime: returns YES. Check the results
before passing the buffer on to VTPixelTransferSessionTransferImage()
which does not NULL-check its parameters.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::createPixelBuffer):
2013-04-26 Roger Fong <roger_fong@apple.com>
Uninflate caret rect.
http://bugs.webkit.org/show_bug.cgi?id=114997.
<rdar://problem/12629007>.
Reviewed by Timothy Horton.
Inflation was causing painting errors with focus rings.
It is no longer needed after disabling subpixel layout.
* editing/FrameSelection.cpp:
(WebCore::repaintCaretForLocalRect):
2013-04-26 Roger Fong <roger_fong@apple.com>
Unreviewed build fix.
* platform/LayoutUnit.h:
(WebCore::LayoutUnit::LayoutUnit):
2013-04-26 Michael Saboff <msaboff@apple.com>
WebCore ObjC bridge is missing support for bool type
https://bugs.webkit.org/show_bug.cgi?id=115276
Reviewed by Geoffrey Garen.
Added code to handle conversion between ObjC and JS booleans.
* bridge/objc/objc_instance.mm:
(ObjcInstance::invokeObjcMethod):
* bridge/objc/objc_utility.h:
* bridge/objc/objc_utility.mm:
(JSC::Bindings::convertValueToObjcValue):
(JSC::Bindings::convertObjcValueToValue):
(JSC::Bindings::objcValueTypeForType):
2013-04-26 Roger Fong <roger_fong@apple.com>
Make Apple Windows VS2010 build results into and get dependencies from __32 suffixed folders.
Make the DebugSuffix configuration use _debug dependencies.
* WebCore.vcxproj/QTMovieWin/QTMovieWin.vcxproj:
* WebCore.vcxproj/QTMovieWin/QTMovieWinCairoDebug.props:
* WebCore.vcxproj/QTMovieWin/QTMovieWinCairoRelease.props:
* WebCore.vcxproj/QTMovieWin/QTMovieWinCommon.props:
* WebCore.vcxproj/QTMovieWin/QTMovieWinDebug.props:
* WebCore.vcxproj/QTMovieWin/QTMovieWinPostBuild.cmd:
* WebCore.vcxproj/QTMovieWin/QTMovieWinProduction.props:
* WebCore.vcxproj/QTMovieWin/QTMovieWinRelease.props:
* WebCore.vcxproj/WebCore.make:
* WebCore.vcxproj/WebCore.vcxproj:
* WebCore.vcxproj/WebCore.vcxproj.filters:
* WebCore.vcxproj/WebCoreCommon.props:
* WebCore.vcxproj/WebCoreDebug.props:
* WebCore.vcxproj/WebCoreDebugWinCairo.props:
* WebCore.vcxproj/WebCoreGenerated.make:
* WebCore.vcxproj/WebCoreGenerated.vcxproj:
* WebCore.vcxproj/WebCoreGeneratedCommon.props:
* WebCore.vcxproj/WebCoreGeneratedDebug.props:
* WebCore.vcxproj/WebCoreGeneratedDebugWinCairo.props:
* WebCore.vcxproj/WebCoreGeneratedProduction.props:
* WebCore.vcxproj/WebCoreGeneratedRelease.props:
* WebCore.vcxproj/WebCoreGeneratedReleaseWinCairo.props:
* WebCore.vcxproj/WebCoreProduction.props:
* WebCore.vcxproj/WebCoreRelease.props:
* WebCore.vcxproj/WebCoreReleaseWinCairo.props:
* WebCore.vcxproj/WebCoreTestSupport.vcxproj:
* WebCore.vcxproj/build-generated-files.sh:
* WebCore.vcxproj/copyForwardingHeaders.cmd:
* WebCore.vcxproj/copyWebCoreResourceFiles.cmd:
2013-04-26 Roger Fong <roger_fong@apple.com>
Disable sub-pixel layout on mac.
https://bugs.webkit.org/show_bug.cgi?id=114999.
Reviewed by Simon Fraser.
* Configurations/FeatureDefines.xcconfig:
* WebCore.exp.in:
Export symbol needed to be added for IntRect(const LayoutRect&) constructor,
which is now being used in pixelSnappedIntRect(const LayoutRect&) in LayoutRect.h after disabling sub-pixel layout.
2013-04-26 Simon Fraser <simon.fraser@apple.com>
Layer-backed WebViews don't repaint content outside the visible area
https://bugs.webkit.org/show_bug.cgi?id=115275
Reviewed by Beth Dakin.
Export ScrollView::setPaintsEntireContents(bool).
* WebCore.exp.in:
2013-04-26 Daker Fernandes Pinheiro <daker.pinheiro@openbossa.org>
Change RenderMeter::valueRatio() visibility to public
https://bugs.webkit.org/show_bug.cgi?id=115266
This function is currently unused.
However, it is necessary to implement a RenderTheme capable of rendering Meter elements.
Reviewed by Alexis Menard.
No new tests, because no behaviour is changed.
* rendering/RenderMeter.h:
(RenderMeter):
2013-04-26 Timothy Hatcher <timothy@apple.com>
Add Runtime.parse to the Inspector protocol.
This will be used to parse console expressions for errors
before evaluating them fully.
https://webkit.org/b/115242
Reviewed by Oliver Hunt.
* ForwardingHeaders/parser/ParserError.h: Added.
* inspector/Inspector.json:
* inspector/InspectorRuntimeAgent.cpp:
(WebCore::InspectorRuntimeAgent::parse):
* inspector/InspectorRuntimeAgent.h:
(InspectorRuntimeAgent):
2013-04-26 Benjamin Poulain <bpoulain@apple.com>
Fix the copyright years after r149057
* page/DiagnosticLoggingKeys.cpp: I accidentally removed a year from
the copyright in r149057.
2013-04-26 Konrad Piascik <kpiascik@blackberry.com>
Web Inspector: Crash due to null items from getDOMStorageItems
https://bugs.webkit.org/show_bug.cgi?id=115176
Reviewed by Joseph Pecoraro.
findStorageArea was returning a null storageArea causing the items
input paramater to not be set. This was happening without any error
being set at all. Set an error to prevent a crash when we try to
convert the result to a JSON string.
Added tests to check if session and local storage are empty that
they are still functional.
* inspector/InspectorDOMStorageAgent.cpp:
(WebCore::InspectorDOMStorageAgent::getDOMStorageItems):
2013-04-26 Martin Robinson <mrobinson@igalia.com>
Remove the remaining Skia #ifdefs
https://bugs.webkit.org/show_bug.cgi?id=114886
Reviewed by Benjamin Poulain.
* html/HTMLCanvasElement.cpp: Remove Skia #ifdef references.
* platform/graphics/BitmapImage.cpp: Ditto.
* platform/graphics/FloatPoint.h: Ditto.
* platform/graphics/FloatRect.h: Ditto.
* platform/graphics/FontCache.h: Ditto.
* platform/graphics/Gradient.cpp: Ditto.
* platform/graphics/Gradient.h: Ditto.
* platform/graphics/GraphicsContext.cpp: Ditto.
* platform/graphics/GraphicsContext.h: Ditto.
* platform/graphics/GraphicsContext3D.h: Ditto.
* platform/graphics/ImageBuffer.cpp: Ditto.
* platform/graphics/ImageBuffer.h: Ditto.
* platform/graphics/ImageBufferData.h: Ditto.
* platform/graphics/IntPoint.h: Ditto.
* platform/graphics/IntRect.h: Ditto.
* platform/graphics/NativeImagePtr.h: Ditto.
* platform/graphics/Path.h: Ditto.
* platform/graphics/Pattern.cpp: Ditto.
* platform/graphics/Pattern.h: Ditto.
* platform/graphics/filters/FEBlend.h: Ditto.
* platform/graphics/filters/FEColorMatrix.h: Ditto.
* platform/graphics/filters/FEComponentTransfer.h: Ditto.
* platform/graphics/filters/FEComposite.h: Ditto.
* platform/graphics/filters/FEConvolveMatrix.h: Ditto.
* platform/graphics/filters/FEDisplacementMap.h: Ditto.
* platform/graphics/filters/FEGaussianBlur.h: Ditto.
* platform/graphics/filters/FELighting.h: Ditto.
* platform/graphics/filters/FEMorphology.h: Ditto.
* platform/graphics/filters/FEOffset.h: Ditto.
* platform/graphics/filters/FilterEffect.cpp: Ditto.
* platform/graphics/filters/FilterEffect.h: Ditto.
* platform/graphics/transforms/AffineTransform.h: Ditto.
* platform/graphics/transforms/TransformationMatrix.h: Ditto.
* platform/image-decoders/ImageDecoder.cpp: Ditto.
* platform/image-decoders/ImageDecoder.h: Ditto.
* platform/image-decoders/jpeg/JPEGImageDecoder.cpp: Ditto.
* platform/image-decoders/webp/WEBPImageDecoder.cpp: Ditto.
* platform/mac/LocalCurrentGraphicsContext.h: Ditto.
* platform/mac/LocalCurrentGraphicsContext.mm: Ditto.
* rendering/svg/RenderSVGResourceSolidColor.cpp: Ditto.
* svg/graphics/SVGImage.cpp: Ditto.
* svg/graphics/SVGImage.h: Ditto.
2013-04-26 Allan Sandfeld Jensen <allan.jensen@digia.com>
Assert in JSC::Heap::unprotect when closing facebook.com web site
https://bugs.webkit.org/show_bug.cgi?id=115058
Reviewed by Darin Adler.
Grab a JSLock before calling RootObject::invalidate().
* bindings/js/ScriptController.cpp:
(WebCore::ScriptController::~ScriptController):
2013-04-26 Eric Carlson <eric.carlson@apple.com>
[Mac] in-band cues sometimes have incorrect duration
https://bugs.webkit.org/show_bug.cgi?id=115200
Reviewed by Jer Noble.
No new tests, this is not possible to test in DRT.
* html/track/InbandTextTrack.cpp:
(WebCore::InbandTextTrack::addGenericCue): Don't add completed cues to the map.
(WebCore::InbandTextTrack::removeGenericCue): Log when a cue is removed from the track.
* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.cpp:
(WebCore::InbandTextTrackPrivateAVF::InbandTextTrackPrivateAVF): Initialize m_pendingCueStatus.
(WebCore::InbandTextTrackPrivateAVF::processCue): Never call update() on a cue that is delivered
while seeking.
(WebCore::InbandTextTrackPrivateAVF::beginSeeking): Flush all incomplete cues, remember that
we are seeking.
(WebCore::InbandTextTrackPrivateAVF::resetCueValues):
* platform/graphics/avfoundation/InbandTextTrackPrivateAVF.h:
* platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
(WebCore::MediaPlayerPrivateAVFoundation::seek): Call track->beginSeeking() instead of resetCueValues().
(WebCore::MediaPlayerPrivateAVFoundation::seekCompleted): Call track->endSeeking().
* platform/graphics/avfoundation/objc/InbandTextTrackPrivateAVFObjC.mm:
(WebCore::InbandTextTrackPrivateAVFObjC::kind): Include class name in Kind enum values to
avoid compile error.
2013-04-26 Andreas Kling <akling@apple.com>
Remove wxWebKit from WebCore.
<http://webkit.org/b/115255>
Reviewed by Anders Carlsson.
* DerivedSources.make:
* WebCorePrefix.h:
* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::JSInspectorFrontendHost::port):
* config.h:
* html/HTMLFormElement.cpp:
* platform/ContextMenu.h:
(ContextMenu):
* platform/ContextMenuItem.h:
* platform/Cursor.h:
* platform/DragData.h:
* platform/DragImage.h:
* platform/FileSystem.h:
* platform/PlatformExportMacros.h:
* platform/PlatformKeyboardEvent.h:
(PlatformKeyboardEvent):
* platform/PlatformMenuDescription.h:
* platform/PlatformMouseEvent.h:
(PlatformMouseEvent):
* platform/PlatformWheelEvent.h:
(PlatformWheelEvent):
* platform/ScrollView.cpp:
* platform/ScrollView.h:
(ScrollView):
* platform/Widget.h:
* platform/win/SharedTimerWin.cpp:
2013-04-26 Zalan Bujtas <zalan@apple.com>
use-after-free removing a frame from its parent in a beforeload event of an OBJECT element
https://bugs.webkit.org/show_bug.cgi?id=113964
Object elements have the tendecny to modify or even fully remove
the containing Document inside beforeload callback. While Document is removed,
RenderArena gets destroyed. Retained RenderWidgets fails to function with NULL arena.
Protect RendereArena from getting wiped out, when Document is removed
during FrameView::updateWidget().
Reviewed by Antti Koivisto.
Test: fast/frames/crash-remove-iframe-during-object-beforeload.html
* dom/Document.cpp:
(WebCore::Document::attach):
* dom/Document.h:
(Document):
* page/FrameView.cpp:
(WebCore::FrameView::updateWidgets):
* rendering/RenderArena.h:
(RenderArena):
(WebCore::RenderArena::create):
2013-04-26 Christophe Dumez <ch.dumez@sisa.samsung.com>
Optimize function and interface object length computation in bindings generator
https://bugs.webkit.org/show_bug.cgi?id=115247
Reviewed by Kentaro Hara.
Introduce new GetFunctionLength() function that efficiently compute the length
of a function (i.e. its number of mandatory parameters).
We now call GetFunctionLength() instead of GenerateFunctionParametersCheck()
whenever we care only interested in the function length and not the actual
expression for checking the parameters. This is much more efficient as
GenerateFunctionParametersCheck() does a lot more processing than we need in
this case.
No new tests, no behavior change.
* bindings/scripts/CodeGeneratorJS.pm:
(GetFunctionLength):
(GenerateImplementation):
(GenerateConstructorHelperMethods):
2013-04-26 Andreas Kling <akling@apple.com>
Web Audio: Remove reduplicative addInput() in AnalyserNode.
<http://webkit.org/b/115244>
From Blink r149155 by <james.wei@intel.com>:
The parent class BasicInspectorNode already called addInput() and addOutput().
So it is reduplicative to call them in AnalyserNode.
* Modules/webaudio/AnalyserNode.cpp:
(WebCore::AnalyserNode::AnalyserNode):
* Modules/webaudio/AudioBasicInspectorNode.cpp:
(WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
* Modules/webaudio/AudioBasicInspectorNode.h:
(AudioBasicInspectorNode):
* Modules/webaudio/MediaStreamAudioDestinationNode.cpp:
(WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):
2013-04-26 Allan Sandfeld Jensen <allan.jensen@digia.com>
Mouseenter and mouseleave events not supported
https://bugs.webkit.org/show_bug.cgi?id=18930
Reviewed by David Hyatt.
Implements mouseenter and mouseleave events from W3C DOM Level 3 Events.
These event are already supported by all other major browsers.
To avoid performance regressions the new events are only dispatched when
there are event listeners for them.
Tests: fast/events/mouseenter-mouseleave-capture.html
fast/events/mouseenter-mouseleave.html
* bindings/scripts/CodeGenerator.pm:
* dom/Document.cpp:
(WebCore::Document::prepareMouseEvent):
(WebCore::Document::updateHoverActiveState):
* dom/Document.h:
(Document):
* dom/Document.idl:
* dom/Element.h:
(Element):
* dom/Element.idl:
* dom/EventListenerMap.cpp:
(WebCore::EventListenerMap::containsCapturing):
* dom/EventListenerMap.h:
(EventListenerMap):
* dom/EventNames.h:
* dom/EventTarget.h:
(EventTarget):
(WebCore::EventTarget::hasCapturingEventListeners):
* dom/MouseEvent.cpp:
(WebCore::MouseEvent::create):
(WebCore::MouseEvent::toElement):
(WebCore::MouseEvent::fromElement):
* html/HTMLAttributeNames.in:
* html/HTMLElement.cpp:
(WebCore::HTMLElement::eventNameForAttributeName):
* page/DOMWindow.h:
(DOMWindow):
* page/DOMWindow.idl:
* svg/SVGElement.cpp:
(WebCore::SVGElement::parseAttribute):
* svg/SVGElementInstance.h:
(SVGElementInstance):
* svg/SVGElementInstance.idl:
2013-04-26 Christophe Dumez <ch.dumez@sisa.samsung.com>
Add support for Web IDL partial interfaces to the bindings generator
https://bugs.webkit.org/show_bug.cgi?id=115228
Reviewed by Kentaro Hara.
Add support for Web IDL partial interfaces to the bindings generator:
http://dev.w3.org/2006/webapi/WebIDL/#dfn-partial-interface
Also drop support for the the WebKit-specific [Supplemental] extended
attribute and use partial interfaces instead in existing IDL files.
No new tests, no behavior change.
* Modules/battery/NavigatorBattery.idl:
* Modules/filesystem/DOMWindowFileSystem.idl:
* Modules/filesystem/DataTransferItemFileSystem.idl:
* Modules/filesystem/HTMLInputElementFileSystem.idl:
* Modules/filesystem/WorkerContextFileSystem.idl:
* Modules/gamepad/NavigatorGamepad.idl:
* Modules/geolocation/NavigatorGeolocation.idl:
* Modules/indexeddb/DOMWindowIndexedDatabase.idl:
* Modules/indexeddb/WorkerContextIndexedDatabase.idl:
* Modules/mediastream/DOMWindowMediaStream.idl:
* Modules/mediastream/NavigatorMediaStream.idl:
* Modules/navigatorcontentutils/NavigatorContentUtils.idl:
* Modules/networkinfo/NavigatorNetworkInfoConnection.idl:
* Modules/notifications/DOMWindowNotifications.idl:
* Modules/notifications/WorkerContextNotifications.idl:
* Modules/quota/DOMWindowQuota.idl:
* Modules/quota/NavigatorStorageQuota.idl:
* Modules/quota/WorkerNavigatorStorageQuota.idl:
* Modules/speech/DOMWindowSpeech.idl:
* Modules/speech/DOMWindowSpeechSynthesis.idl:
* Modules/vibration/NavigatorVibration.idl:
* Modules/webaudio/DOMWindowWebAudio.idl:
* Modules/webdatabase/DOMWindowWebDatabase.idl:
* Modules/webdatabase/WorkerContextWebDatabase.idl:
* Modules/websockets/DOMWindowWebSocket.idl:
* Modules/websockets/WorkerContextWebSocket.idl:
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/IDLParser.pm:
(parsePartialDefinition):
* bindings/scripts/generate-bindings.pl:
* bindings/scripts/preprocess-idls.pl:
(getPartialInterfaceNameFromIDLFile):
* bindings/scripts/test/TestSupplemental.idl:
* page/DOMWindowPagePopup.idl:
2013-04-25 Mihnea Ovidenie <mihnea@adobe.com>
[CSS Regions] Hit testing is broken for absolutely positioned regions that have overflow: hidden
https://bugs.webkit.org/show_bug.cgi?id=113874
Reviewed by David Hyatt.
Test: fast/regions/hit-test-abspos-overflow-region.html
When a region is an out-of-flow positioned object with an overflow clip, we need
to make sure that hit testing works also for cases other than foreground (content)
hit testing. This patch moves the previous hit testing code, that delegated foreground
hit testing to the region's flow thread hit testing, into the hitTestContent method,
now that RenderRegion is RenderBlock based.
* rendering/RenderRegion.cpp:
(WebCore::RenderRegion::hitTestContents):
* rendering/RenderRegion.h:
(RenderRegion):
2013-04-25 Ryosuke Niwa <rniwa@webkit.org>
Copy and paste can strip !important CSS rules due to a bug in mergeStyleFromRules
https://bugs.webkit.org/show_bug.cgi?id=115217
Reviewed by Darin Adler.
The bug was caused by mergeStyleFromRules overriding "important" style rules with "unimportant" inline styles.
Fixed the bug by using addParsedProperty, which respects !important, in MutableStylePropertySet's
mergeAndOverrideOnConflict, which was only used in editing code. Now that we've fixed this function, we can use
it in ViewportStyleResolver::addViewportRule as well.
Test: editing/pasteboard/copy-paste-with-important-rules.html
* css/StylePropertySet.cpp:
(WebCore::MutableStylePropertySet::mergeAndOverrideOnConflict): Fixed to respect !important.
* css/ViewportStyleResolver.cpp:
(WebCore::ViewportStyleResolver::addViewportRule): Use mergeAndOverrideOnConflict now that the code is identical.
2013-04-25 Andreas Kling <akling@apple.com>
StylePropertySet::getPropertyShorthand() should return a String.
<http://webkit.org/b/115213>
Reviewed by Anders Carlsson.
Return a String directly from getPropertyShorthand() instead of forcing clients
to call getPropertyNameString().
* css/PropertySetCSSStyleDeclaration.cpp:
(WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
* css/StylePropertySet.cpp:
(WebCore::StylePropertySet::getPropertyShorthand):
* css/StylePropertySet.h:
(StylePropertySet):
2013-04-25 Chris Fleizach <cfleizach@apple.com>
WEB SPEECH: language support does not work as expected
https://bugs.webkit.org/show_bug.cgi?id=115119
Reviewed by Alexey Proskuryakov.
Make the Mac platform synthesizer have access to all the voices installed on the system.
* WebCore.exp.in:
* platform/mac/PlatformSpeechSynthesizerMac.mm:
(WebCore::PlatformSpeechSynthesizer::initializeVoiceList):
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:
2013-04-25 Chris Fleizach <cfleizach@apple.com>
<meter> element not exposed to accessibility
https://bugs.webkit.org/show_bug.cgi?id=109023
rdar://problem/13658964
Reviewed by Tim Horton.
Makes the <meter> element appear in the AX tree by reusing the
AccessibilityProgressIndicator element to handle either progress or meter
elements.
Test: accessibility/meter-element.html
* accessibility/AXObjectCache.cpp:
(WebCore::createFromRenderer):
(WebCore::AXObjectCache::getOrCreate):
* accessibility/AccessibilityNodeObject.cpp:
(WebCore::AccessibilityNodeObject::canHaveChildren):
(WebCore::AccessibilityNodeObject::visibleText):
* accessibility/AccessibilityProgressIndicator.cpp:
(WebCore::AccessibilityProgressIndicator::AccessibilityProgressIndicator):
(WebCore::AccessibilityProgressIndicator::create):
(WebCore::AccessibilityProgressIndicator::valueForRange):
(WebCore::AccessibilityProgressIndicator::maxValueForRange):
(WebCore::AccessibilityProgressIndicator::minValueForRange):
(WebCore::AccessibilityProgressIndicator::progressElement):
(WebCore::AccessibilityProgressIndicator::meterElement):
* accessibility/AccessibilityProgressIndicator.h:
(AccessibilityProgressIndicator):
* accessibility/AccessibilityRenderObject.cpp:
(WebCore::AccessibilityRenderObject::firstChild):
(WebCore::AccessibilityRenderObject::lastChild):
These methods are modified to handle when there is no rendered children, but there are Node
children. The node children are desired when calculating text within a node, for example.
2013-04-25 Qiankun Miao <qiankun.miao@intel.com>
[CSS Shaders] Remove the meshType from the CustomFilterOperation
https://bugs.webkit.org/show_bug.cgi?id=102529
Reviewed by Dean Jackson.
No new tests, no new functionality.
MeshType can be accessed from program, so remove the m_meshType
related code in CustomFilterOperation.
* css/StyleResolver.cpp:
(WebCore::StyleResolver::createCustomFilterOperationWithInlineSyntax):
* platform/graphics/filters/CustomFilterOperation.cpp:
(WebCore::CustomFilterOperation::CustomFilterOperation):
(WebCore::CustomFilterOperation::blend):
* platform/graphics/filters/CustomFilterOperation.h:
(WebCore::CustomFilterOperation::create):
(WebCore::CustomFilterOperation::meshType):
(CustomFilterOperation):
(WebCore::CustomFilterOperation::operator==):
* platform/graphics/texmap/coordinated/CoordinatedCustomFilterOperation.h:
(WebCore::CoordinatedCustomFilterOperation::CoordinatedCustomFilterOperation):
2013-04-25 Kent Tamura <tkent@chromium.org>
Ignore invalid regular expressions for input[pattern].
https://bugs.webkit.org/show_bug.cgi?id=115204
Reviewed by Darin Adler.
According to the specification, we should not proceed regular expression
matching if a pattern attribute value is an invalid regular
expression. We had a bug that invalid expressions such as
pattern=")foo(" made RegularExpression objects successfully.
http://www.whatwg.org/specs/web-apps/current-work/multipage/common-input-element-attributes.html#the-pattern-attribute
> If an input element has a pattern attribute specified, and the
> attribute's value, when compiled as a JavaScript regular expression with
> the global, ignoreCase, and multiline flags disabled (see ECMA262
> Edition 5, sections 15.10.7.2 through 15.10.7.4), compiles successfully,
> then the resulting regular expression is the element's compiled pattern
> regular expression. If the element has no such attribute, or if the
> value doesn't compile successfully, then the element has no compiled
> pattern regular expression.
This imports a part of Blink r148951.
Tests: Update fast/forms/ValidityState-patternMismatch.html
* html/BaseTextInputType.cpp:
(WebCore::BaseTextInputType::patternMismatch):
Check correctness of pattern attribute value before wrapping with parentheses.
* platform/text/RegularExpression.cpp:
(WebCore::RegularExpression::isValid): Added.
* platform/text/RegularExpression.h:
(RegularExpression): Declare isValid.
2013-04-25 Antoine Quint <graouts@apple.com>
Glyphs may fail to render when using SVG font
https://bugs.webkit.org/show_bug.cgi?id=115193
Reviewed by Simon Fraser.
Calling SimpleFontData::applyTransforms() when the font used is
an SVG font makes little sense since Core Text doesn’t know or
understand SVG fonts and would be passed some other, unrelated
platform font.
* platform/graphics/SimpleFontData.h:
(WebCore::SimpleFontData::applyTransforms):
2013-04-25 Jer Noble <jer.noble@apple.com>
Media elements shouldn't resume playback when a page is restored from the back/forward cache if the WKView isn't in a window
https://bugs.webkit.org/show_bug.cgi?id=115191
Reviewed by Eric Carlson.
If a page is suspended, then resumed when its WebView or WKView has been removed from a window,
the page's media elements will unpause. Check whether media is allowed to start during resume()
via Page::canMediaStart() and if not, register for mediaCanStart notifications. Then, in
mediaCanStart() if the media is force-paused, unpause it.
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::suspend):
(WebCore::HTMLMediaElement::resume):
(WebCore::HTMLMediaElement::mediaCanStart):
* html/HTMLMediaElement.h:
(WebCore::HTMLMediaElement::pageConsentRequiredForResume):
2013-04-25 Andreas Kling <akling@apple.com>
Remove ENABLE(PARSED_STYLE_SHEET_CACHING) and make it always-on.
Rubber-stamped by Anders Koivisto.
* PlatformWinCE.cmake:
* accessibility/AccessibilityObject.h:
* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::setCSSStyleSheet):
2013-04-25 Patrick Gansterer <paroga@webkit.org>
Remove OS(WINCE) from AccessibilityObject.h
https://bugs.webkit.org/show_bug.cgi?id=115192
Reviewed by Andreas Kling.
Use the same files like the the other PLATFORM(WIN) ports use.
* PlatformWinCE.cmake:
* accessibility/AccessibilityObject.h:
(AccessibilityObject):
2013-04-25 Alberto Garcia <agarcia@igalia.com>
Add definition of GlyphBufferGlyph for BlackBerry
https://bugs.webkit.org/show_bug.cgi?id=115183
Reviewed by Xan Lopez.
BlackBerry uses an unsigned int.
* platform/graphics/GlyphBuffer.h:
(WebCore):
2013-04-25 Joseph Pecoraro <pecoraro@apple.com>
ScriptExecutionContext log exception should include a column number
https://bugs.webkit.org/show_bug.cgi?id=114315
Reviewed by Oliver Hunt.
Test: inspector/console/console-exception-stack-traces.html
* bindings/js/ScriptCallStackFactory.h:
* bindings/js/ScriptCallStackFactory.cpp:
(WebCore::createScriptCallStackFromException):
Generate a ScriptCallStack from an exception. Use the vm.exceptionStack
if available, and fallback to the exception object where needed.
* bindings/js/JSDOMBinding.cpp:
(WebCore::reportException):
Always include a non-empty call stack with exceptions.
Where not provided, fallback to the exception object.
* dom/Document.h:
* dom/Document.cpp:
(WebCore::Document::logExceptionToConsole):
* dom/ScriptExecutionContext.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::PendingException::PendingException):
(ScriptExecutionContext::PendingException):
(WebCore::ScriptExecutionContext::reportException):
* workers/DefaultSharedWorkerRepository.cpp:
* workers/SharedWorkerContext.cpp:
(WebCore::SharedWorkerContext::logExceptionToConsole):
* workers/SharedWorkerContext.h:
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::logExceptionToConsole):
* workers/WorkerContext.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerExceptionTask::performTask):
Plumb columnNumber through as needed.
2013-04-25 Gregg Tavares <gman@chromium.org>
Fix build files so WebGLDebugXXX extensions can be used if enabled.
https://bugs.webkit.org/show_bug.cgi?id=113976
Reviewed by Dean Jackson.
No new tests as no new functionality.
* DerivedSources.make:
* GNUmakefile.list.am:
* WebCore.xcodeproj/project.pbxproj:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
2013-04-25 Ryosuke Niwa <rniwa@webkit.org>
cloneChildNodes looks for deleteButtonController in each level of recursion
https://bugs.webkit.org/show_bug.cgi?id=115146
Reviewed by Andreas Kling.
Obtain the delete button controller upfront, and shallow copy descendents of each child
so that we don't look for the delete button controller inside cloneNode called on each child.
Performance Tests: DOM/CloneNodes.html
* dom/ContainerNode.cpp:
(WebCore::cloneChildNodesAvoidingDeleteButon): Extracted.
(WebCore::ContainerNode::cloneChildNodes):
2013-04-25 Ryosuke Niwa <rniwa@webkit.org>
HTMLOptionsCollection's namedItem and name getter should return the first item
https://bugs.webkit.org/show_bug.cgi?id=115150
Reviewed by Andreas Kling.
Following the resolution in http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-December/038355.html,
the spefication has been updated to only return the first item when there are multiple items of the same name
in HTMLOptionsCollection; this new behavior matches that of Firefox and Opera (Presto).
Implement this new behavior to remove the custom binding code and use the fast path in namedItem and name
getter of HTMLOptionsCollection. (Obtaining all items for a given name is expensive!).
Tests: fast/dom/HTMLSelectElement/named-options.html
fast/dom/html-collections-named-getter.html
* bindings/js/JSHTMLOptionsCollectionCustom.cpp:
(WebCore): Removed the custom bindings for name getter and namedItem.
* html/HTMLOptionsCollection.idl:
2013-04-25 Joseph Pecoraro <pecoraro@apple.com>
Web Inspector: ConsoleMessage should include line and column number where possible
https://bugs.webkit.org/show_bug.cgi?id=114929
- adds "m_column" to WebCore::ConsoleMessage
- adds "column" to Console.ConsoleMessage in the inspector protocol
- set the column number for console.* functions (Console.cpp)
- set the column number for XSLT errors (XSLTProcessor)
- plumb columnNumber everywhere else it is needed, set it to 0 and file
bugs for all cases missing columnNumber that could provide it.
Reviewed by Timothy Hatcher.
Test: inspector/console/console-url-line-column.html
inspector/console/console-messages-stack-traces.html
* inspector/ConsoleMessage.h:
* inspector/ConsoleMessage.cpp:
(WebCore::ConsoleMessage::ConsoleMessage):
(WebCore::ConsoleMessage::autogenerateMetadata):
(WebCore::ConsoleMessage::addToFrontend):
(WebCore::ConsoleMessage::isEqual):
Add m_column and set it where appropriate.
* inspector/Inspector.json:
Add column property to Console.ConsoleMessage.
* page/Console.cpp:
(WebCore::internalAddMessage):
(WebCore::Console::profile):
Set columnNumber like lineNumber from the last stack frame.
(WebCore::Console::groupEnd):
Line and column are unused in this message type, set both to 0.
* xml/XSLTProcessorLibxslt.cpp:
(WebCore::XSLTProcessor::parseErrorFunc):
* xml/XSLTProcessorQt.cpp:
(WebCore::XSLTMessageHandler::handleMessage):
Add real column numbers, the XSLT handlers already had it available.
* bindings/js/JSCustomXPathNSResolver.cpp:
(WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
* css/CSSParser.cpp:
(WebCore::CSSParser::logError):
* dom/ScriptExecutionContext.h:
* dom/ScriptExecutionContext.cpp:
(WebCore::ScriptExecutionContext::addConsoleMessage):
* dom/Document.cpp:
(WebCore::Document::logExceptionToConsole):
(WebCore::Document::addMessage):
* dom/Document.h:
* inspector/InspectorConsoleAgent.cpp:
(WebCore::InspectorConsoleAgent::addMessageToConsole):
(WebCore::InspectorConsoleAgent::stopTiming):
(WebCore::InspectorConsoleAgent::didFinishXHRLoading):
(WebCore::InspectorConsoleAgent::didReceiveResponse):
(WebCore::InspectorConsoleAgent::didFailLoading):
* inspector/InspectorConsoleAgent.h:
* inspector/InspectorConsoleInstrumentation.h:
(WebCore::InspectorInstrumentation::addMessageToConsole):
(WebCore::InspectorInstrumentation::addStartProfilingMessageToConsole):
* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::addStartProfilingMessageToConsoleImpl):
(WebCore::InspectorInstrumentation::addProfileImpl):
* inspector/InspectorInstrumentation.h:
(InspectorInstrumentation):
* inspector/InspectorProfilerAgent.cpp:
(WebCore::InspectorProfilerAgent::addProfile):
(WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
(WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
(WebCore::InspectorProfilerAgent::start):
(WebCore::InspectorProfilerAgent::stop):
* inspector/InspectorProfilerAgent.h:
(InspectorProfilerAgent):
* loader/EmptyClients.h:
(WebCore::EmptyChromeClient::addMessageToConsole):
* page/ChromeClient.h:
(WebCore::ChromeClient::addMessageToConsole):
* page/ContentSecurityPolicy.cpp:
(WebCore::ContentSecurityPolicy::logToConsole):
* page/PageConsole.cpp:
(WebCore::PageConsole::addMessage):
* page/PageConsole.h:
* workers/DefaultSharedWorkerRepository.cpp:
(SharedWorkerProxy):
(WebCore::postExceptionTask):
(WebCore::SharedWorkerProxy::postExceptionToWorkerObject):
(WebCore::postConsoleMessageTask):
(WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
* workers/SharedWorkerContext.cpp:
(WebCore::SharedWorkerContext::logExceptionToConsole):
* workers/WorkerContext.cpp:
(WebCore::WorkerContext::logExceptionToConsole):
(WebCore::WorkerContext::addConsoleMessage):
(WebCore::WorkerContext::addMessage):
(WebCore::WorkerContext::addMessageToWorkerConsole):
* workers/WorkerContext.h:
* workers/WorkerMessagingProxy.cpp:
(WebCore::WorkerExceptionTask::create):
(WebCore::WorkerExceptionTask::WorkerExceptionTask):
(WebCore::WorkerExceptionTask::performTask):
(WorkerExceptionTask):
(WebCore::WorkerMessagingProxy::postExceptionToWorkerObject):
(WebCore::postConsoleMessageTask):
(WebCore::WorkerMessagingProxy::postConsoleMessageToWorkerObject):
* workers/WorkerMessagingProxy.h:
(WorkerMessagingProxy):
* workers/WorkerReportingProxy.h:
(WorkerReportingProxy):
Plumb columnNumber through where appropriate. File bugs where missing.
2013-04-25 Allan Sandfeld Jensen <allan.jensen@digia.com>
[Qt] Animated opacity does not trigger accelerated compositing
https://bugs.webkit.org/show_bug.cgi?id=115107
Reviewed by Simon Fraser.
Add extra option to also trigger compositing on animated opacity.
* page/ChromeClient.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
2013-04-25 Lamarque V. Souza <Lamarque.Souza@basyskom.com>
Sec-WebSocket-Extensions header field must not appear more than once in an HTTP response.
https://bugs.webkit.org/show_bug.cgi?id=115128
Reviewed by Alexey Proskuryakov.
According to WebSocket specification Sec-WebSocket-Extensions header field
must not appear more than once in an HTTP response. It is ok if it appears
more than once in client request. Also add a check for invalid UTF-8
characters when parsing Sec-WebSocket-Extensions quoted string.
Test: http/tests/websocket/tests/hybi/handshake-fail-by-more-extensions-header.html
* Modules/websockets/WebSocketExtensionParser.cpp:
(WebCore::WebSocketExtensionParser::consumeQuotedString): Return false if there is
invalid character in the quoted string being parsed.
* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::readHTTPHeaders): Check if Sec-WebSocket-Extensions
appears more than once in header response. Abort handshake if it does.
2013-04-25 Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
REGRESSION(r148758): Remove WTFLogAlways call from IconLoader.
https://bugs.webkit.org/show_bug.cgi?id=115182
Reviewed by Dan Bernstein.
The call added in r148758 was apparently a leftover from some debugging
session, and it makes the Interactive/window-resize.html performance
test randomly fail on Qt and EFL due to WTFLogAlways writing to stderr.
* loader/icon/IconLoader.cpp:
(WebCore::IconLoader::notifyFinished):
2013-04-25 Christophe Dumez <ch.dumez@sisa.samsung.com>
Add support for Web IDL callback interfaces to the bindings generator
https://bugs.webkit.org/show_bug.cgi?id=115179
Reviewed by Kentaro Hara.
Add support in the bindings generator for Web IDL callback interfaces:
http://dev.w3.org/2006/webapi/WebIDL/#dfn-callback-interface
Drop support for the WebKit-specific [Callback] extended attributes
on Web IDL interfaces and update existing IDL files to use proper
callback interfaces instead.
No new tests, no behavior change.
* Modules/filesystem/EntriesCallback.idl:
* Modules/filesystem/EntryCallback.idl:
* Modules/filesystem/ErrorCallback.idl:
* Modules/filesystem/FileCallback.idl:
* Modules/filesystem/FileSystemCallback.idl:
* Modules/filesystem/FileWriterCallback.idl:
* Modules/filesystem/MetadataCallback.idl:
* Modules/geolocation/PositionCallback.idl:
* Modules/geolocation/PositionErrorCallback.idl:
* Modules/mediastream/NavigatorUserMediaErrorCallback.idl:
* Modules/mediastream/NavigatorUserMediaSuccessCallback.idl:
* Modules/mediastream/RTCErrorCallback.idl:
* Modules/mediastream/RTCSessionDescriptionCallback.idl:
* Modules/mediastream/RTCStatsCallback.idl:
* Modules/notifications/NotificationPermissionCallback.idl:
* Modules/quota/StorageErrorCallback.idl:
* Modules/quota/StorageQuotaCallback.idl:
* Modules/quota/StorageUsageCallback.idl:
* Modules/webaudio/AudioBufferCallback.idl:
* Modules/webdatabase/DatabaseCallback.idl:
* Modules/webdatabase/SQLStatementCallback.idl:
* Modules/webdatabase/SQLStatementErrorCallback.idl:
* Modules/webdatabase/SQLTransactionCallback.idl:
* Modules/webdatabase/SQLTransactionErrorCallback.idl:
* Modules/webdatabase/SQLTransactionSyncCallback.idl:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateInterface):
* bindings/scripts/IDLParser.pm:
(parseCallbackRestOrInterface):
* bindings/scripts/test/TestCallback.idl:
* dom/RequestAnimationFrameCallback.idl:
* dom/StringCallback.idl:
* html/VoidCallback.idl:
2013-04-25 Adrian Perez de Castro <aperez@igalia.com>
[GStreamer] Add audio/speex MIME type as supported
https://bugs.webkit.org/show_bug.cgi?id=115032
Reviewed by Philippe Normand.
GStreamer has support for the Speex codec (http://www.speex.org).
Speex streams may be embedded in a Ogg container, or standalone.
The case of the Ogg container is already covered by the "*/ogg"
MIME types declared as supported by the GStreamer media playing
code, but for standalone streams to work, "audio/speex" has to
be added.
With this, and the needed GStreamer plugin installed, the GTK+
launcher is able to correctly play Speex streams served with
"Content-type: audio/speex".
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
2013-04-25 Andreas Kling <akling@apple.com>
Add FINAL decorators to the InlineBox class hierarchy.
<http://webkit.org/b/115177>
Reviewed by Antti Koivisto.
From Blink r148628 by <cevans@chromium.org>:
FINAL is a macro in wtf/Compiler.h that does the correct thing if the compiler does not support "final")
The approach used is as simple as possible whilst being thorough.
So, leaf classes have FINAL applied to the whole class whereas intermediary classes have FINAL applied to relevant methods.
FINAL allows a compiler to devirtualize call sites and turn them into direct calls. As you might expect, this is perf positive:
(clang on Linux):
- line_layout.html goes from 120 runs/s -> 123 runs/2, +2.5%
- html5-full-render.html goes from 3176ms -> 3162ms, +0.4%
I have confidence that the former result is statistically significant (as the numbers are very very stable) but not the latter.
* rendering/EllipsisBox.h:
* rendering/InlineFlowBox.h:
* rendering/InlineTextBox.h:
* rendering/RootInlineBox.h:
* rendering/TrailingFloatsRootInlineBox.h:
* rendering/svg/SVGInlineFlowBox.h:
* rendering/svg/SVGInlineTextBox.h:
* rendering/svg/SVGRootInlineBox.h:
2013-04-25 Andreas Kling <akling@apple.com>
CSS parser: Add error recovery while parsing @-webkit-keyframes key values.
<http://webkit.org/b/115175>
From Blink r148714 by <apavlov@chromium.org>:
If not a percentage, "from", or "to" value is used in a key list, the rule is erroneous,
and due to the absense of recovery, the parser skips the following, valid CSS rule.
On a related note, keyframes, whose selectors contain invalid keys, should be discarded
altogether, according to <http://www.w3.org/TR/css3-animations/#keyframes>
Tests: animations/keyframes-invalid-keys.html
fast/css/webkit-keyframes-errors.html
* css/CSSGrammar.y.in:
* css/CSSParser.cpp:
(WebCore::CSSParser::rewriteSpecifiers):
2013-04-25 Antti Koivisto <antti@apple.com>
REGRESSION (r147797): Animations slideshows of images on www.thesuperficial.com are slow
https://bugs.webkit.org/show_bug.cgi?id=115172
Reviewed by Andreas Kling.
On this page ads dynamically loaded to subframes on slideshow navigation switch us to state where we throttle layer flushes.
Fix by ignoring any subframe-originated loads when determining throttling.
* loader/FrameLoader.cpp:
(WebCore::FrameLoader::loadProgressingStatusChanged):
* loader/ProgressTracker.cpp:
(WebCore::ProgressTracker::isMainLoadProgressing):
Rename, ignore subframe originated loads. Subframe loads that are initiated during the main load still count.
* loader/ProgressTracker.h:
(ProgressTracker):
* page/FrameView.cpp:
(WebCore::FrameView::updateLayerFlushThrottlingInAllFrames):
* page/FrameView.h:
(FrameView):
* rendering/RenderLayerBacking.cpp:
(WebCore::computeTileCoverage):
2013-04-25 Andreas Kling <akling@apple.com>
SVG: Fix viewBox animations on shapes with non-scaling-stroke.
<http://webkit.org/b/115173>
From Blink r149058 by <pdr@chromium.org>:
Previously hasAttribute() to determine if a viewBox was set in the transform
code for non-scaling-strokes. hasAttribute() should not be used in this case,
as it will return false if the attribute is not set but the value is animating.
This patch switches to checking if the viewBox is empty instead of checking for
the presence of the attribute.
Test: svg/stroke/animated-non-scaling-stroke.html
* svg/SVGSVGElement.cpp:
(WebCore::SVGSVGElement::localCoordinateSpaceTransform):
* svg/SVGSVGElement.h:
(WebCore::SVGSVGElement::hasEmptyViewBox):
2013-04-25 Andreas Kling <akling@apple.com>
Remove isPluginElement hack in Document::setFocusedNode()
<http://webkit.org/b/115171>
From Blink r148800 by <tkent@chromium.org>:
This hack is no longer necessary because r147591 made isFocusable for plugin
elements work correctly.
* dom/Document.cpp:
(WebCore::Document::setFocusedNode):
2013-04-25 Per-Erik Brodin <per-erik.brodin@ericsson.com>
EventSource: Synchronous loader callback not handled properly
https://bugs.webkit.org/show_bug.cgi?id=115104
When attempting a cross-origin request towards a non-HTTP URL, an early verification
of the protocol scheme will cause didFailAccessControlCheck to be called synchronously
before the loader has even finished being created. This special case was not handled
properly, since we tried to cancel a non-existing loader, which resulted in a crash.
In addition to checking whether a request is in flight before trying to cancel it,
this change also schedules the initial creation of the loader to happen asynchronously
when an EventSource is constructed, so that a script can register for the error event
before it is dispatched (as a result of passing a non-HTTP URL to the constructor).
Reviewed by Alexey Proskuryakov.
Test: http/tests/eventsource/eventsource-cors-non-http.html
* page/EventSource.cpp:
(WebCore::EventSource::EventSource):
(WebCore::EventSource::create):
(WebCore::EventSource::scheduleInitialConnect):
(WebCore):
(WebCore::EventSource::scheduleReconnect):
(WebCore::EventSource::connectTimerFired):
(WebCore::EventSource::close):
(WebCore::EventSource::abortConnectionAttempt):
* page/EventSource.h:
(EventSource):
2013-04-25 Patrick Gansterer <paroga@webkit.org>
Unreviewed WinCE build fix after r148545.
* page/wince/FrameWinCE.cpp:
2013-04-24 Kent Tamura <tkent@chromium.org>
Back references don't work in pattern attribute
https://bugs.webkit.org/show_bug.cgi?id=105875
Reviewed by Geoffrey Garen.
This imports a part of Blink r148951.
Tests: Update fast/forms/ValidityState-patternMismatch.html
* html/BaseTextInputType.cpp:
(WebCore::BaseTextInputType::patternMismatch):
Don't use capturing parentheses. They affected back references in
pattern attribute values.
2013-04-24 Tim Horton <timothy_horton@apple.com>
PDFPlugin: Cursor should become an i-beam when over selectable text
https://bugs.webkit.org/show_bug.cgi?id=115018
<rdar://problem/12645012>
Reviewed by Alexey Proskuryakov.
* WebCore.exp.in: Export the I-beam and arrow cursors.
2013-04-24 Simon Fraser <simon.fraser@apple.com>
Garbage at the top of http://www.technologyreview.com after scrolling
https://bugs.webkit.org/show_bug.cgi?id=114825
Reviewed by Tim Horton.
Garbage pixels are caused by GraphicsLayerCA setting a layer to be opaque,
but then not painting anything into it. On this page, the element is
toggled to be visibility:hidden on scrolling, but RenderLayer::backgroundIsKnownToBeOpaqueInRect()
failed to consider that as something that can cause backgrounds not to be opaque.
For the bug to happen, some subtle interactions with r142012 come into play
for the layer to remain visible, hence the slightly complex testcase.
Test: compositing/contents-opaque/visibility-hidden.html
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::backgroundIsKnownToBeOpaqueInRect):
2013-04-24 Simon Fraser <simon.fraser@apple.com>
Dump layer opaqueness in the Compositing log output
https://bugs.webkit.org/show_bug.cgi?id=115132
Reviewed by Tim Horton.
It's useful to see whether we consider layers to be opaque in the Compositing
log channel output, so dump it.
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::logLayerInfo):
2013-04-24 Seokju Kwon <seokju.kwon@gmail.com>
Add efl to JSInspectorFrontendHost::port()
https://bugs.webkit.org/show_bug.cgi?id=115137
Reviewed by Timothy Hatcher.
No new tests, because there is no change in behavior.
* bindings/js/JSInspectorFrontendHostCustom.cpp:
(WebCore::JSInspectorFrontendHost::port):
2013-04-24 Kangil Han <kangil.han@samsung.com>
Function parameter quotePair can be passed by reference
https://bugs.webkit.org/show_bug.cgi?id=115089
Reviewed by Alexey Proskuryakov.
Minor performance patch.
* rendering/style/QuotesData.cpp:
(WebCore::QuotesData::addPair):
* rendering/style/QuotesData.h:
(QuotesData):
2013-04-24 Brady Eidson <beidson@apple.com>
Implementors of CachedResource subclasses should be forced to decide if encoded data can be replaced.
https://bugs.webkit.org/show_bug.cgi?id=115140
Reviewed by Beth Dakin.
No new tests (No behavior change).
This makes mayTryReplaceEncodedData() return false in CachedResource, but overrides to true
in all CachedResource subclasses besides CachedFont (which already has an implementation).
* loader/cache/CachedCSSStyleSheet.h:
* loader/cache/CachedImage.h:
* loader/cache/CachedRawResource.h:
* loader/cache/CachedResource.h:
* loader/cache/CachedSVGDocument.h:
* loader/cache/CachedScript.h:
* loader/cache/CachedShader.h:
* loader/cache/CachedTextTrack.h:
* loader/cache/CachedXSLStyleSheet.h:
2013-04-24 Brady Eidson <beidson@apple.com>
Once a custom font is cached to disk, it starts failing to render until the page is refreshed.
<rdar://problem/13622998> and https://bugs.webkit.org/show_bug.cgi?id=115131
Reviewed by Alexey Proskuryakov.
No new tests (Not a tested config, nor are disk cache issues currently testable).
* loader/cache/CachedResource.h:
(WebCore::CachedResource:: mayTryReplaceEncodedData): Allow subclasses to refuse encoded data replacement.
* loader/cache/CachedResource.cpp:
(WebCore::CachedResource::tryReplaceEncodedData): Only try if shouldTryReplaceEncodedData() is true.
* loader/cache/CachedFont.cpp:
(WebCore::CachedFont::CachedFont):
(WebCore::CachedFont::ensureCustomFontData):
(WebCore::CachedFont::mayTryReplaceEncodedData): Return false if the custom font data has ever been created.
* loader/cache/CachedFont.h:
2013-04-24 Beth Dakin <bdakin@apple.com>
Vertical overlay scrollbar in iframes fades in and out rapidly when you scroll in
a circle
https://bugs.webkit.org/show_bug.cgi?id=115124
-and corresponding-
<rdar://problem/13168957>
Reviewed by Anders Carlsson.
With http://trac.webkit.org/changeset/119834 we started calling
ScrollbarPainterController's contentAreaScrolled/contentAreaScrolledInDirection
API on a zero-delay timer instead of calling it right away. This prevented some
crashes that we saw whenever this was called during a layout. However, that delay,
combined with the particulars of contentAreaScrolledInDirection cause this bug
where sometimes the scrollbars in an iframe will fade out very noticeably when
scrolling in a circle.
This change makes it so we will only use the zero-delay timer if the
ScrollableArea is not currently handling a wheel event. If it IS handling a wheel
event, then we will send the notifications to AppKit right away. I confirmed that
this change did not reintroduce the old crashes.
Keep track of whether we are currently handling a wheel event with the new member
variable m_isHandlingWheelEvent.
* page/EventHandler.cpp:
(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::handleWheelEvent):
* page/EventHandler.h:
(WebCore::EventHandler::isHandlingWheelEvent):
(EventHandler):
To prevent layering violations, the ScrollableArea sub-classes will have to access
this information from the EventHandler.
* page/FrameView.cpp:
(WebCore::FrameView::isHandlingWheelEvent):
* page/FrameView.h:
* platform/ScrollableArea.h:
(WebCore::ScrollableArea::isHandlingWheelEvent):
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::isHandlingWheelEvent):
* rendering/RenderLayer.h:
(RenderLayer):
* rendering/RenderListBox.cpp:
(WebCore::RenderListBox::isHandlingWheelEvent):
* rendering/RenderListBox.h:
sendContentAreaScrolledSoon() can be private. Also add new function
sendContentAreaScrolled().
* platform/mac/ScrollAnimatorMac.h:
(ScrollAnimatorMac):
If the ScrollableArea is handling a wheel event, call
sendContentAreaScrolled(), otherwise call sendContentAreaScrolledSoon()
* platform/mac/ScrollAnimatorMac.mm:
(WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
(WebCore::ScrollAnimatorMac::sendContentAreaScrolled):
Re-factored to use sendContentAreaScrolled()
(WebCore::ScrollAnimatorMac::sendContentAreaScrolledTimerFired):
2013-04-24 Ryosuke Niwa <rniwa@webkit.org>
Fix a merge error in r149007 (was missing a null check added in r148777).
* rendering/LogicalSelectionOffsetCaches.h:
(WebCore::containingBlockForAbsolutePosition):
2013-04-24 Otto Derek Cheung <otcheung@rim.com>
Battery API won't return updated battery status until client calls didChangeBatteryStatus
https://bugs.webkit.org/show_bug.cgi?id=114891
Reviewed by Rob Buis.
The BatteryStatus object in BatteryManager won't get updated until BatteryClient calls
didChangeBatteryStatus in BatteryController. Any attempts to call webkitBattery.charged()
or other get functions will always return the default values until the next battery status
change object gets passed to the controller.
We need to update the manager when we attach it to the controller, and update all
existing managers when the controller receives it's first battery status object.
* Modules/battery/BatteryController.cpp:
(WebCore::BatteryController::addListener):
(WebCore::BatteryController::updateBatteryStatus):
* Modules/battery/BatteryManager.cpp:
(WebCore::BatteryManager::didChangeBatteryStatus):
(WebCore::BatteryManager::updateBatteryStatus):
(WebCore):
* Modules/battery/BatteryManager.h:
(BatteryManager):
2013-04-24 Jacky Jiang <zhajiang@blackberry.com>
Clean up unused code in ViewportArguments.h
https://bugs.webkit.org/show_bug.cgi?id=115121
Reviewed by Benjamin Poulain.
The target-densityDPI emulation implementation has been removed by
r147893, so clean up the remaining code as well.
* dom/ViewportArguments.h:
2013-04-24 Andreas Kling <akling@apple.com>
ElementData should use 'unsigned' attribute indices.
<http://webkit.org/b/115103>
Reviewed by Antti Koivisto.
Switch to using 'unsigned' for attribute indices. This gives consistent behavior
on 32/64-bit, and the underlying storage is already limited by Vector's 32-bit capacity.
Added an ElementData::attributeNotFound constant (-1) since we can't use WTF::notFound.
* dom/Element.cpp:
(WebCore::Element::detachAttribute):
(WebCore::Element::removeAttribute):
(WebCore::Element::setAttribute):
(WebCore::Element::setSynchronizedLazyAttribute):
(WebCore::Element::setAttributeInternal):
(WebCore::Element::setAttributeNode):
(WebCore::Element::removeAttributeNode):
(WebCore::Element::removeAttributeInternal):
(WebCore::UniqueElementData::removeAttribute):
(WebCore::ElementData::getAttributeItemIndexSlowCase):
* dom/Element.h:
(ElementData):
(UniqueElementData):
(Element):
(WebCore::Element::getAttributeItemIndex):
(WebCore::Element::attributeCount):
(WebCore::ElementData::length):
(WebCore::ElementData::getAttributeItem):
(WebCore::ElementData::getAttributeItemIndex):
* dom/NamedNodeMap.cpp:
(WebCore::NamedNodeMap::removeNamedItem):
(WebCore::NamedNodeMap::removeNamedItemNS):
(WebCore::NamedNodeMap::length):
* dom/NamedNodeMap.h:
(NamedNodeMap):
2013-04-24 Andreas Kling <akling@apple.com>
ElementData::attributeItem() should bounds-check the index.
<http://webkit.org/b/115076>
Reviewed by Antti Koivisto.
Switch the ASSERT_WITH_SECURITY_IMPLICATION to a RELEASE_ASSERT.
* dom/Element.h:
(WebCore::ElementData::attributeItem):
2013-04-23 Andreas Kling <akling@apple.com>
Setting an inline style property to "" shouldn't cause style recalc unless the property was present.
<http://webkit.org/b/115122>
Reviewed by Antti Koivisto.
StylePropertySet::setProperty() handles empty strings by removing the property entirely.
If there was no property to remove, it shouldn't claim that it changed something, as that
will cause the CSSOM wrapper to mark the element for style recalc.
A common idiom that triggers this is excessive use of { element.style.display = ''; }
* css/StylePropertySet.cpp:
(WebCore::MutableStylePropertySet::setProperty):
2013-04-23 Ryosuke Niwa <rniwa@webkit.org>
Moving word boundaries backwards fails when there is a text node starting with an apostrophe
https://bugs.webkit.org/show_bug.cgi?id=115070
Reviewed by Alexey Proskuryakov.
The bug was caused by previousBoundary erroneously assuming that we don't need any more context if a word
boundary is found at the beginning of a string. For example, when "I'll" is split into two text nodes,
"I" and "'ll", there is a word boundary between "'" and "ll" in "'ll" so we need to examine the whole "I'll".
Fixed the bug by obtaining more context when the character starts exactly at offset 1 in a text node to
work around this bug. In the long term, we probably need to provide Foundation of the entire context since in
languages like Hebrew and some of European languages, there could be many accents and combining characters
between split into multiple text nodes as one variant is seen in the newly added test case.
Test: editing/selection/previous-word-boundary-across-text-nodes.html
* editing/VisibleUnits.cpp:
(WebCore::previousBoundary):
2013-04-24 Benjamin Poulain <bpoulain@apple.com>
Do not use static string in DiagnosticLoggingKeys
https://bugs.webkit.org/show_bug.cgi?id=115093
Reviewed by Andreas Kling.
The code is not hot enough to justify keeping the memory around.
This removes 3kb from the binary on x86_64.
* page/DiagnosticLoggingKeys.cpp:
(WebCore::DiagnosticLoggingKeys::mediaLoadedKey):
(WebCore::DiagnosticLoggingKeys::mediaLoadingFailedKey):
(WebCore::DiagnosticLoggingKeys::pluginLoadedKey):
(WebCore::DiagnosticLoggingKeys::pluginLoadingFailedKey):
(WebCore::DiagnosticLoggingKeys::pageContainsPluginKey):
(WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOnePluginKey):
(WebCore::DiagnosticLoggingKeys::pageContainsMediaEngineKey):
(WebCore::DiagnosticLoggingKeys::pageContainsAtLeastOneMediaEngineKey):
(WebCore::DiagnosticLoggingKeys::passKey):
(WebCore::DiagnosticLoggingKeys::failKey):
(WebCore::DiagnosticLoggingKeys::noopKey):
* page/DiagnosticLoggingKeys.h:
(DiagnosticLoggingKeys):
2013-04-24 Benjamin Poulain <benjamin@webkit.org>
Remove wxWebKit #ifdefs from WebCore/platform/graphics
https://bugs.webkit.org/show_bug.cgi?id=115081
Reviewed by Geoffrey Garen.
* platform/graphics/BitmapImage.h:
(BitmapImage):
* platform/graphics/Color.h:
(Color):
* platform/graphics/FloatRect.h:
(FloatRect):
* platform/graphics/FloatSize.h:
(FloatSize):
* platform/graphics/FontPlatformData.h:
* platform/graphics/GlyphBuffer.h:
(WebCore):
(WebCore::GlyphBuffer::glyphAt):
(WebCore::GlyphBuffer::add):
* platform/graphics/Gradient.h:
* platform/graphics/GraphicsContext.h:
(GraphicsContext):
* platform/graphics/Image.cpp:
(WebCore::Image::drawTiled):
* platform/graphics/ImageBufferData.h:
* platform/graphics/IntPoint.h:
(IntPoint):
* platform/graphics/IntRect.h:
* platform/graphics/IntSize.h:
(IntSize):
* platform/graphics/NativeImagePtr.h:
(WebCore):
* platform/graphics/Path.h:
* platform/graphics/Pattern.h:
* platform/graphics/SimpleFontData.h:
(SimpleFontData):
(WebCore::SimpleFontData::widthForGlyph):
* platform/graphics/mac/ComplexTextController.cpp:
(WebCore::ComplexTextController::collectComplexTextRuns):
* platform/graphics/mac/ComplexTextControllerCoreText.mm:
(WebCore::ComplexTextController::collectComplexTextRunsForCharacters):
* platform/graphics/transforms/AffineTransform.h:
(AffineTransform):
* platform/graphics/transforms/TransformationMatrix.h:
(TransformationMatrix):
2013-04-24 Benjamin Poulain <benjamin@webkit.org>
Remove wxWebKit #ifdefs from WebCore/plugins
https://bugs.webkit.org/show_bug.cgi?id=115080
Reviewed by Geoffrey Garen.
* plugins/PluginView.h:
(PluginView):
* plugins/mac/PluginViewMac.mm:
(WebCore::nativeWindowFor):
(WebCore::cgHandleFor):
(WebCore::topLevelOffsetFor):
(WebCore::PluginView::platformStart):
* plugins/win/PluginViewWin.cpp:
(windowHandleForPageClient):
(WebCore::PluginView::handleMouseEvent):
(WebCore::PluginView::platformStart):
(WebCore::PluginView::snapshot):
2013-04-24 Benjamin Poulain <benjamin@webkit.org>
Remove wxWebKit #ifdefs from WebCore/page
https://bugs.webkit.org/show_bug.cgi?id=115079
Reviewed by Geoffrey Garen.
* page/FrameView.cpp:
(WebCore::FrameView::wheelEvent):
* page/Settings.cpp:
(WebCore):
* page/Settings.h:
(Settings):
2013-04-24 Chris Fleizach <cfleizach@apple.com>
AX: WAI-ARIA landmarks no longer speak type of landmark on iOS
https://bugs.webkit.org/show_bug.cgi?id=114547
Reviewed by David Kilzer.
We want iOS to speak the landmark type.
I've moved the landmark role description to the base Mac class and exposed
these localized strings to iOS (the ones used to return landmark descriptions).
I've also updated the accessibilityLabel to account for landmark type, but also
handle multiple label sources more gracefully by appending commas, which changed a few
tests in minor ways.
Test: platform/iphone-simulator/accessibility/landmark-type.html
* accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:
(-[WebAccessibilityObjectWrapper accessibilityLabel]):
* accessibility/mac/WebAccessibilityObjectWrapperBase.h:
* accessibility/mac/WebAccessibilityObjectWrapperBase.mm:
(-[WebAccessibilityObjectWrapperBase ariaLandmarkRoleDescription]):
* accessibility/mac/WebAccessibilityObjectWrapperMac.mm:
(-[WebAccessibilityObjectWrapper roleDescription]):
* platform/LocalizedStrings.cpp:
(WebCore):
(WebCore::AXButtonActionVerb):
(WebCore::AXRadioButtonActionVerb):
(WebCore::AXTextFieldActionVerb):
(WebCore::AXCheckedCheckBoxActionVerb):
(WebCore::AXUncheckedCheckBoxActionVerb):
(WebCore::AXLinkActionVerb):
(WebCore::AXMenuListPopupActionVerb):
(WebCore::AXMenuListActionVerb):
* platform/LocalizedStrings.h:
(WebCore):
2013-04-24 Andreas Kling <akling@apple.com>
CSS attribute selectors cause unnecessary style recalc when setting attribute to same value.
<http://webkit.org/b/115116>
<rdar://problem/13727709>
Reviewed by Simon Fraser.
The logic that dirties the style if there's a relevant attribute selector in the document
shouldn't run if the attribute is being overwritten with an identical value.
Move this into willModifyAttribute() instead, since we need access to both the old and the new value.
This reduces unnecessary style recalculation in Mac App Store content.
* dom/Element.cpp:
(WebCore::Element::attributeChanged):
(WebCore::Element::willModifyAttribute):
2013-04-24 Jonathan Feldstein <jfeldstein@blackberry.com>
[BlackBerry] Fixes the San Angeles demo on khronos.org
https://bugs.webkit.org/show_bug.cgi?id=115106
Reviewed by Rob Buis
Internally Reviewed by Jeremy Nicholl and Arvid Nilsson
Fixes a bug in which the currently bound vertex array object's vertex array
state was being modified as opposed to the default vertex array state.
* platform/graphics/blackberry/EGLImageLayerWebKitThread.cpp:
(EGLImageLayerWebKitThread::blitToFrontBuffer):
2013-04-24 Nico Weber <thakis@chromium.org>
Fold RenderThemeMacShared into RenderThemeMac
https://bugs.webkit.org/show_bug.cgi?id=115086
Reviewed by Anders Carlsson.
No intended functionality change.
* WebCore.xcodeproj/project.pbxproj:
* rendering/RenderThemeMac.h:
(RenderThemeMac):
(WebCore::RenderThemeMac::supportsControlTints):
(WebCore::RenderThemeMac::scrollbarControlSizeForPart):
(WebCore::RenderThemeMac::supportsSelectionForegroundColors):
(WebCore::RenderThemeMac::supportsClosedCaptioning):
(WebCore::RenderThemeMac::updateActiveState):
* rendering/RenderThemeMac.mm:
(-[WebCoreRenderThemeNotificationObserver initWithTheme:WebCore::]):
(-[WebCoreRenderThemeNotificationObserver systemColorsDidChange:]):
(-[WebCoreTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:]):
(WebCore::RenderThemeMac::RenderThemeMac):
(WebCore::RenderThemeMac::~RenderThemeMac):
(WebCore::RenderThemeMac::platformActiveSelectionBackgroundColor):
(WebCore):
(WebCore::RenderThemeMac::platformInactiveSelectionBackgroundColor):
(WebCore::RenderThemeMac::platformActiveListBoxSelectionBackgroundColor):
(WebCore::RenderThemeMac::platformActiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeMac::platformInactiveListBoxSelectionForegroundColor):
(WebCore::RenderThemeMac::platformFocusRingColor):
(WebCore::RenderThemeMac::platformInactiveListBoxSelectionBackgroundColor):
(WebCore::toFontWeight):
(WebCore::RenderThemeMac::systemFont):
(WebCore::convertNSColorToColor):
(WebCore::menuBackgroundColor):
(WebCore::RenderThemeMac::platformColorsDidChange):
(WebCore::RenderThemeMac::systemColor):
(WebCore::RenderThemeMac::usesTestModeFocusRingColor):
(WebCore::RenderThemeMac::isControlStyled):
(WebCore::RenderThemeMac::adjustRepaintRect):
(WebCore::RenderThemeMac::inflateRect):
(WebCore::RenderThemeMac::convertToPaintingRect):
(WebCore::RenderThemeMac::updateCheckedState):
(WebCore::RenderThemeMac::updateEnabledState):
(WebCore::RenderThemeMac::updateFocusedState):
(WebCore::RenderThemeMac::updatePressedState):
(WebCore::RenderThemeMac::controlSupportsTints):
(WebCore::RenderThemeMac::controlSizeForFont):
(WebCore::RenderThemeMac::setControlSize):
(WebCore::RenderThemeMac::sizeForFont):
(WebCore::RenderThemeMac::sizeForSystemFont):
(WebCore::RenderThemeMac::setSizeFromFont):
(WebCore::RenderThemeMac::setFontFromControlSize):
(WebCore::RenderThemeMac::controlSizeForSystemFont):
(WebCore::RenderThemeMac::paintTextField):
(WebCore::RenderThemeMac::adjustTextFieldStyle):
(WebCore::RenderThemeMac::paintCapsLockIndicator):
(WebCore::RenderThemeMac::paintTextArea):
(WebCore::RenderThemeMac::adjustTextAreaStyle):
(WebCore::RenderThemeMac::popupButtonMargins):
(WebCore::RenderThemeMac::popupButtonSizes):
(WebCore::RenderThemeMac::popupButtonPadding):
(WebCore::RenderThemeMac::paintMenuList):
(WebCore::RenderThemeMac::meterSizeForBounds):
(WebCore::RenderThemeMac::paintMeter):
(WebCore::RenderThemeMac::supportsMeter):
(WebCore::RenderThemeMac::levelIndicatorStyleFor):
(WebCore::RenderThemeMac::levelIndicatorFor):
(WebCore::RenderThemeMac::progressBarSizes):
(WebCore::RenderThemeMac::progressBarMargins):
(WebCore::RenderThemeMac::minimumProgressBarHeight):
(WebCore::RenderThemeMac::animationRepeatIntervalForProgressBar):
(WebCore::RenderThemeMac::animationDurationForProgressBar):
(WebCore::RenderThemeMac::adjustProgressBarStyle):
(WebCore::RenderThemeMac::paintProgressBar):
(WebCore::TopGradientInterpolate):
(WebCore::BottomGradientInterpolate):
(WebCore::MainGradientInterpolate):
(WebCore::TrackGradientInterpolate):
(WebCore::RenderThemeMac::paintMenuListButtonGradients):
(WebCore::RenderThemeMac::paintMenuListButton):
(WebCore::menuListButtonSizes):
(WebCore::RenderThemeMac::adjustMenuListStyle):
(WebCore::RenderThemeMac::popupInternalPaddingLeft):
(WebCore::RenderThemeMac::popupInternalPaddingRight):
(WebCore::RenderThemeMac::popupInternalPaddingTop):
(WebCore::RenderThemeMac::popupInternalPaddingBottom):
(WebCore::RenderThemeMac::adjustMenuListButtonStyle):
(WebCore::RenderThemeMac::setPopupButtonCellState):
(WebCore::RenderThemeMac::menuListSizes):
(WebCore::RenderThemeMac::minimumMenuListSize):
(WebCore::RenderThemeMac::adjustSliderTrackStyle):
(WebCore::RenderThemeMac::paintSliderTrack):
(WebCore::RenderThemeMac::adjustSliderThumbStyle):
(WebCore::RenderThemeMac::paintSliderThumb):
(WebCore::RenderThemeMac::paintSearchField):
(WebCore::RenderThemeMac::setSearchCellState):
(WebCore::RenderThemeMac::searchFieldSizes):
(WebCore::RenderThemeMac::setSearchFieldSize):
(WebCore::RenderThemeMac::adjustSearchFieldStyle):
(WebCore::RenderThemeMac::paintSearchFieldCancelButton):
(WebCore::RenderThemeMac::cancelButtonSizes):
(WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
(WebCore::RenderThemeMac::resultsButtonSizes):
(WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
(WebCore::RenderThemeMac::paintSearchFieldDecoration):
(WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
(WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
(WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
(WebCore::RenderThemeMac::paintSearchFieldResultsButton):
(WebCore::RenderThemeMac::paintSnapshottedPluginOverlay):
(WebCore::RenderThemeMac::sliderTickSize):
(WebCore::RenderThemeMac::sliderTickOffsetFromTrackCenter):
(WebCore::RenderThemeMac::adjustSliderThumbSize):
(WebCore::RenderThemeMac::shouldShowPlaceholderWhenFocused):
(WebCore::RenderThemeMac::popupButton):
(WebCore::RenderThemeMac::search):
(WebCore::RenderThemeMac::searchMenuTemplate):
(WebCore::RenderThemeMac::sliderThumbHorizontal):
(WebCore::RenderThemeMac::sliderThumbVertical):
(WebCore::RenderThemeMac::textField):
(WebCore::RenderThemeMac::fileListNameForWidth):
* rendering/RenderThemeMacShared.h: Removed.
* rendering/RenderThemeMacShared.mm: Removed.
2013-04-24 ChangSeok Oh <changseok.oh@collabora.com>
[GTK][AC] Visible rect doesn't update after resizing a window.
https://bugs.webkit.org/show_bug.cgi?id=115096
Reviewed by Gustavo Noronha Silva.
Once we set actor's a clip rect, we should update the rect when resizing the actor.
No new tests since no new functionality.
* platform/graphics/clutter/GraphicsLayerClutter.cpp:
(WebCore::GraphicsLayerClutter::setSize):
2013-04-24 ChangSeok Oh <changseok.oh@collabora.com>
[GTK][AC] Fix unexpected clear of ClutterContent.
https://bugs.webkit.org/show_bug.cgi?id=115099
Reviewed by Gustavo Noronha Silva.
adoptGRef doesn't increase a reference count. So if a actor has a valid ClutterContent,
it would be cleared unexpectedly by smart pointer when escaping a function.
No new tests, no functionality changed.
* platform/graphics/clutter/GraphicsLayerActor.cpp:
(graphicsLayerActorUpdateTexture):
2013-04-24 Alberto Garcia <agarcia@igalia.com>
DOMFileSystemBase: fix multiple definitions in the BlackBerry port
https://bugs.webkit.org/show_bug.cgi?id=114950
Reviewed by Xan Lopez.
The following methods are already defined in DOMFileSystemBlackBerry.cpp:
crackFileSystemURL()
createFileSystemURL()
isValidType()
supportsToURL()
* Modules/filesystem/DOMFileSystemBase.cpp:
(WebCore):
2013-04-24 George Staikos <gstaikos@rim.com>
[BlackBerry] Add support for JPEG image quality during encoding.
https://bugs.webkit.org/show_bug.cgi?id=105773
Reviewed by Xan Lopez.
PR 271611
Internally reviewed by Liam Quinn.
Pass the quality flag into the encoder, with a default of 65
Covered by existing tests.
* platform/image-encoders/JPEGImageEncoder.cpp:
(WebCore::compressRGBABigEndianToJPEG):
* platform/image-encoders/JPEGImageEncoder.h:
(WebCore):
2013-04-24 Csaba Osztrogonác <ossy@webkit.org>
Fix cast-align WebCore/platform/graphics/GraphicsContext3D.cpp on ARM
https://bugs.webkit.org/show_bug.cgi?id=115036
Reviewed by Benjamin Poulain.
* platform/graphics/GraphicsContext3D.cpp:
(WebCore):
2013-04-24 Andreas Kling <akling@apple.com>
Remove unnecessary MutableStylePropertySet casts.
<http://webkit.org/b/115075>
Reviewed by Geoffrey Garen.
Get rid of some now-unneeded static_casts that were left from the StylePropertySet
refactoring last weekend.
* css/StylePropertySet.cpp:
(WebCore::MutableStylePropertySet::setProperty):
* editing/EditingStyle.cpp:
(WebCore::EditingStyle::triStateOfStyle):
(WebCore::EditingStyle::removeStyleFromRulesAndContext):
2013-04-24 Kangil Han <kangil.han@samsung.com>
[Minor code cleanup] Remove duplicated condition check
https://bugs.webkit.org/show_bug.cgi?id=115082
Reviewed by Andreas Kling.
areRectsPartiallyAligned() has duplicated condition check, so remove it.
* page/SpatialNavigation.cpp:
(WebCore::areRectsPartiallyAligned):
2013-04-24 Krzysztof Wolanski <k.wolanski@samsung.com>
[EFL] Fix build warnings caused by missing images attributes for default buttons
https://bugs.webkit.org/show_bug.cgi?id=114955
Reviewed by Gyuyoung Kim.
Added default image for each button from mediacontrol catalog.
No new tests, because there is no change in behavior.
* platform/efl/DefaultTheme/widget/mediacontrol/fullscreenbutton/fullscreen_button.edc:
* platform/efl/DefaultTheme/widget/mediacontrol/mutebutton/mute_button.edc:
* platform/efl/DefaultTheme/widget/mediacontrol/playpausebutton/playpause_button.edc:
* platform/efl/DefaultTheme/widget/mediacontrol/seekbackwardbutton/seekbackward_button.edc:
* platform/efl/DefaultTheme/widget/mediacontrol/seekforwardbutton/seekforward_button.edc:
* platform/efl/DefaultTheme/widget/mediacontrol/togglecaptionsbutton/toggle_captions_button.edc:
2013-04-24 Christophe Dumez <ch.dumez@sisa.samsung.com>
Unreviewed build fix with gstreamer 0.10.x after r147555.
* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webKitWebAudioSrcLoop):
== Rolled over to ChangeLog-2013-04-24 ==