WebKit-https.git
7 years agoForgot to add alt text to the example image :(
dino@apple.com [Tue, 6 Aug 2013 06:21:50 +0000 (06:21 +0000)]
Forgot to add alt text to the example image :(

* demos/srcset/index.html:

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

7 years agoMove previous commit into /demos.
dino@apple.com [Tue, 6 Aug 2013 06:01:14 +0000 (06:01 +0000)]
Move previous commit into /demos.

* demos/srcset/image-1x.png: Renamed from Websites/webkit.org/blog-files/srcset/image-1x.png.
* demos/srcset/image-2x.png: Renamed from Websites/webkit.org/blog-files/srcset/image-2x.png.
* demos/srcset/image-src.png: Renamed from Websites/webkit.org/blog-files/srcset/image-src.png.
* demos/srcset/index.html: Renamed from Websites/webkit.org/blog-files/srcset/index.html.

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

7 years agoAnother Windows release build fix.
mrowe@apple.com [Tue, 6 Aug 2013 03:16:02 +0000 (03:16 +0000)]
Another Windows release build fix.

* WebKitLogging.cpp: Wrap the implementation file in !LOG_DISABLED #if's too.

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

7 years agoBuild fix for Windows.
mrowe@apple.com [Tue, 6 Aug 2013 03:10:18 +0000 (03:10 +0000)]
Build fix for Windows.

* wtf/Assertions.cpp: Include StringExtras.h rather than StdLibExtras.h, since the former is where
strncasecmp is declared.

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

7 years agoBuild fix for Windows release build.
mrowe@apple.com [Tue, 6 Aug 2013 03:03:06 +0000 (03:03 +0000)]
Build fix for Windows release build.

* WebKitLogging.h: Wrap things in !LOG_DISABLED so that we don't attempt to use macros that have not been defined.

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

7 years agoLogging should be configurable using human-readable channel names rather than crazy...
mrowe@apple.com [Tue, 6 Aug 2013 02:53:49 +0000 (02:53 +0000)]
Logging should be configurable using human-readable channel names rather than crazy bitmasks
<http://webkit.org/b/119031>

Implement shared logic for initializing logging channels based on human-readable channel names in WTF,
and rework the WebCore, WebKit and WebKit2 logging initialization on top of it.

Logging channels may now be enabled by providing a comma-separated list of channel names, with the special
"all" name enabling all channels. Channel names prefixed with a leading "-" will result in the named channel
being disabled. For instance, specifying "all,-history,-loading" will result in all logging channels except
for history and loading being enabled.

For OS X developers, this also changes the name of the user defaults used to enable logging. This is done to allow
the old user defaults to remain set for those people that need to switch between version of WebKit before and
after this change. Where the old user default keys were WebCoreLogLevel, WebKitLogLevel and WebKit2LogLevel,
the new user default keys are WebCoreLogging, WebKitLogging and WebKit2Logging.

For GTK developers, this changes the separator used in the WEBKIT_DEBUG environment variable to a comma for
consistency with the other platforms and to enable more code sharing.

While doing this work I've also taken the opportunity to eliminate the need to touch multiple files when
adding a new logging channel. Now only the header in the relevant project needs to be updated.

Reviewed by Sam Weinig.

Source/WebCore:

* GNUmakefile.list.am: Remove the now-unused InitializeLogging.h
* Target.pri: Ditto.
* WebCore.xcodeproj/project.pbxproj: Ditto.
* platform/InitializeLogging.h: Removed. Ditto.
* platform/Logging.cpp: Use WEBCORE_LOG_CHANNELS to define all of the channels.
(WebCore::logChannelByName): Renamed to match our naming conventions. Calls through to the new WTF function
to find a log channel rather than repeating the names of the log channels a further two times each.
(WebCore::initializeLoggingChannelsIfNecessary): Pass the channels and the log level string to the new
WTF function that handles the initialization.
* platform/Logging.h: Declare a WEBCORE_LOG_CHANNELS macro that can be used to apply a preprocessor macro
across the set of all logging channels. Use this macro to declare the logging channels.
* platform/blackberry/LoggingBlackBerry.cpp:
(WebCore::logLevelString): Pull the value out of the WEBKIT_DEBUG environment variable.
* platform/efl/LoggingEfl.cpp:
(WebCore::logLevelString): Pull the value out of the WEBKIT_DEBUG environment variable, and then prepend
NotYetImplemented to it so that that channel will be enabled by default.
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
(WebCore::MediaPlayerPrivateGStreamerBase::createVideoSink): Accommodate the rename to logChannelByName.
* platform/gtk/LoggingGtk.cpp:
(WebCore::logLevelString): Pull the value out of the WEBKIT_DEBUG environment variable, and then prepend
NotYetImplemented to it so that that channel will be enabled by default.
* platform/mac/LoggingMac.mm:
(WebCore::logLevelString): Pull the value out of the WebCoreLogging user default key.
* platform/qt/LoggingQt.cpp:
(WebCore::logLevelString): Pull the value out of the QT_WEBKIT_LOG environment variable, and then prepend
NotYetImplemented to it so that the channel will be enabled by default.
* platform/win/LoggingWin.cpp:
(WebCore::logLevelString): Pull the value out of the WebCoreLogging environment variable.

Source/WebKit/blackberry:

* Api/BlackBerryGlobal.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.

Source/WebKit/efl:

* ewk/ewk_main.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.

Source/WebKit/gtk:

* webkit/webkitglobals.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.

Source/WebKit/mac:

* Misc/WebKitLogging.h: Declare a WEBKIT_LOG_CHANNELS macro that can be used to apply a preprocessor macro
across the set of all logging channels. Use this macro to declare the logging channels.
* Misc/WebKitLogging.m: Use WEBKIT_LOG_CHANNELS to define all of the channels. Pass the channels and the
preference value to the new WTF function that handles the initialization.
* WebView/WebPreferenceKeysPrivate.h: Remove a key that does not need to be here.
* WebView/WebView.mm: Switch from WebCore's InitializeLogging.h to Logging.h.

Source/WebKit/qt:

* WebCoreSupport/InitWebCoreQt.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.

Source/WebKit/win:

* WebKitLogging.cpp: Declare a WEBKIT_LOG_CHANNELS macro that can be used to apply a preprocessor macro across
the set of all logging channels. Use this macro to declare the logging channels.
* WebKitLogging.h: Use WEBKIT_LOG_CHANNELS to define all of the channels. Pass the channels to the new WTF
function that handles the initialization. As per the previous implementation a developer needs to hard-code
their desired log level here.
* WebView.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.

Source/WebKit2:

* NetworkProcess/NetworkProcess.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
* Platform/Logging.cpp: Use WEBKIT2_LOG_CHANNELS to define all of the channels.
(WebKit::initializeLogChannelsIfNecessary): Pass the channels and the log level string to the new WTF function
that handles the initialization.
(WebKit::logChannelByName): Renamed to match our naming conventions. Calls through to the new WTF function
to find a log channel rather than repeating the names of the log channels a further two times each.
(WebKit::logLevelString): Provide a no-op implementation.
* Platform/Logging.h: Declare a WEBKIT2_LOG_CHANNELS macro that can be used to apply a preprocessor macro
across the set of all logging channels. Use this macro to declare the logging channels.
* Platform/efl/LoggingEfl.cpp:
(WebKit::logLevelString): Pull the value out of the WEBKIT_DEBUG environment variable.
* Platform/gtk/LoggingGtk.cpp:
(WebKit::logLevelString): Ditto.
* Platform/mac/Logging.mac.mm:
(WebKit::logLevelString): Pull the value out of the WebKit2Logging user default key.
* Platform/qt/LoggingQt.cpp:
(WebKit::logLevelString): Pull the value out of the QT_WEBKIT_LOG environment variable.
* Shared/WebKit2Initialize.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.
* UIProcess/WebContext.cpp: Switch from WebCore's InitializeLogging.h to Logging.h.

Source/WTF:

* wtf/Assertions.cpp:
(WTFLogChannelByName): Iterate over the provided array of log channels, returning the first whose name
matches case-insensitively.
(setStateOfAllChannels): Helper function to set the state of all channels to a single value.
(WTFInitializeLogChannelStatesFromString): Parse a string containing a case-insensitive, comma-separated list
of channel names to enable or disable, with the latter being prefixed by a "-".
* wtf/Assertions.h: Update the layout of WTFLogChannel to include only the state of the channel and its name.
Declare WTFLogChannelByName and WTFInitializeLogChannelStatesFromString.
* wtf/RefCountedLeakCounter.cpp: Update to the new format of WTFLogChannel.

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

7 years agoUpload example for a blog post.
dino@apple.com [Tue, 6 Aug 2013 02:03:00 +0000 (02:03 +0000)]
Upload example for a blog post.

* blog-files/srcset/image-1x.png: Added.
* blog-files/srcset/image-2x.png: Added.
* blog-files/srcset/image-src.png: Added.
* blog-files/srcset/index.html: Added.

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

7 years agoEditor::updateMarkersForWordsAffectedByEditing(bool) shouldn't compute start and...
rniwa@webkit.org [Tue, 6 Aug 2013 02:02:03 +0000 (02:02 +0000)]
Editor::updateMarkersForWordsAffectedByEditing(bool) shouldn't compute start and end of words when there are nor markers
https://bugs.webkit.org/show_bug.cgi?id=119501

Reviewed by Enrica Casucci.

Exit early in updateMarkersForWordsAffectedByEditing before calling startOfWord and endOfWord if there are no document markers.

* dom/DocumentMarkerController.h:
(WebCore::DocumentMarkerController::hasMarkers): Added.
* editing/Editor.cpp:
(WebCore::Editor::updateMarkersForWordsAffectedByEditing):

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

7 years agoUpdate HTMLPreloadScanner to handle img srcset
dino@apple.com [Tue, 6 Aug 2013 01:13:15 +0000 (01:13 +0000)]
Update HTMLPreloadScanner to handle img srcset
https://bugs.webkit.org/show_bug.cgi?id=119360

Reviewed by Sam Weinig.

This patch is a merge of similar patches from Yoav Weiss <yoav@yoav.ws>
and Dean Jackson.

Source/WebCore:

Test: fast/preloader/image-srcset.html

* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::parseAttribute): Move srcset parsing into
HTMLParserIdioms, and call it when we hit src or srcset.
* html/HTMLImageElement.h: Remove code that was moved to HTMLParserIdioms.

* html/parser/HTMLDocumentParser.cpp:
(WebCore::HTMLDocumentParser::pumpTokenizer): Pass device scale into preloader.
(WebCore::HTMLDocumentParser::insert):

* html/parser/HTMLPreloadScanner.cpp:
(WebCore::TokenPreloadScanner::StartTagScanner::StartTagScanner): Takes device scale as a parameter.
(WebCore::TokenPreloadScanner::StartTagScanner::processAttributes): Resolve between src and srcSet if necessary.
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute): Add support for srcset attribute.
(WebCore::TokenPreloadScanner::StartTagScanner::setUrlToLoad): New flag to indicate if we should
replace any existing value.
(WebCore::TokenPreloadScanner::TokenPreloadScanner): Takes device scale.
(WebCore::TokenPreloadScanner::scanCommon): Pass device scale.
(WebCore::HTMLPreloadScanner::HTMLPreloadScanner):
* html/parser/HTMLPreloadScanner.h: New attribute to constructor for device scale. New member
variable on TokenPreloadScanner that holds the srcset value.

* html/parser/HTMLParserIdioms.cpp:
(WebCore::ImageWithScale::operator==): Used for sorting.
(WebCore::compareByScaleFactor): Used for sorting.
(WebCore::bestFitSourceForImageAttributes): New method that takes the code from HTMLImageElement
for parsing src and srcset attributes, and finding the best match.
* html/parser/HTMLParserIdioms.h:

LayoutTests:

New test to make sure the HTML preloader takes the
value of srcset if available.

* fast/preloader/image-srcset-expected.txt: Added.
* fast/preloader/image-srcset.html: Added.

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

7 years agoAdded optimizations to Windows ANGLE builds.
achristensen@apple.com [Tue, 6 Aug 2013 00:41:08 +0000 (00:41 +0000)]
Added optimizations to Windows ANGLE builds.
https://bugs.webkit.org/show_bug.cgi?id=119500

Reviewed by Brent Fulgham.

* ANGLE.vcxproj/ANGLERelease.props: Added.
* ANGLE.vcxproj/libEGL.vcxproj:
* ANGLE.vcxproj/libGLESv2.vcxproj:
* ANGLE.vcxproj/preprocessor.vcxproj:
* ANGLE.vcxproj/translator_common.vcxproj:
* ANGLE.vcxproj/translator_glsl.vcxproj:
* ANGLE.vcxproj/translator_hlsl.vcxproj:
Use ANGLERelease.props for Release, Release_WinCairo, and Production configurations.

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

7 years agoGardening: fix build after r153728.
mark.lam@apple.com [Tue, 6 Aug 2013 00:39:42 +0000 (00:39 +0000)]
Gardening: fix build after r153728.

Not reviewed.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:

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

7 years agoDisable <meter> by default on iOS, it is enabled through the xconfig files
benjamin@webkit.org [Tue, 6 Aug 2013 00:28:44 +0000 (00:28 +0000)]
Disable <meter> by default on iOS, it is enabled through the xconfig files
https://bugs.webkit.org/show_bug.cgi?id=119503

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-08-05
Reviewed by Alexey Proskuryakov.

* wtf/FeatureDefines.h:

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

7 years ago <rdar://problem/13128990> chunked-progress-event-expectedLength.html is flaky...
ap@apple.com [Mon, 5 Aug 2013 23:06:30 +0000 (23:06 +0000)]
    <rdar://problem/13128990> chunked-progress-event-expectedLength.html is flaky on Mac
        https://bugs.webkit.org/show_bug.cgi?id=119498

        Reviewed by Brady Eidson.

        * http/tests/xmlhttprequest/resources/chunked-transfer.php: This test relies on
        length not being known upfront, which is not the case when the resource is served
        form cache.

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

7 years agoMove TypedArray implementation into JSC
oliver@apple.com [Mon, 5 Aug 2013 22:11:50 +0000 (22:11 +0000)]
Move TypedArray implementation into JSC
https://bugs.webkit.org/show_bug.cgi?id=119489

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Move TypedArray implementation into JSC in advance of re-implementation

* GNUmakefile.list.am:
* JSCTypedArrayStubs.h:
* JavaScriptCore.xcodeproj/project.pbxproj:
* runtime/ArrayBuffer.cpp: Renamed from Source/WTF/wtf/ArrayBuffer.cpp.
(JSC::ArrayBuffer::transfer):
(JSC::ArrayBuffer::addView):
(JSC::ArrayBuffer::removeView):
* runtime/ArrayBuffer.h: Renamed from Source/WTF/wtf/ArrayBuffer.h.
(JSC::ArrayBufferContents::ArrayBufferContents):
(JSC::ArrayBufferContents::data):
(JSC::ArrayBufferContents::sizeInBytes):
(JSC::ArrayBufferContents::transfer):
(JSC::ArrayBufferContents::copyTo):
(JSC::ArrayBuffer::isNeutered):
(JSC::ArrayBuffer::~ArrayBuffer):
(JSC::ArrayBuffer::clampValue):
(JSC::ArrayBuffer::create):
(JSC::ArrayBuffer::createUninitialized):
(JSC::ArrayBuffer::ArrayBuffer):
(JSC::ArrayBuffer::data):
(JSC::ArrayBuffer::byteLength):
(JSC::ArrayBuffer::slice):
(JSC::ArrayBuffer::sliceImpl):
(JSC::ArrayBuffer::clampIndex):
(JSC::ArrayBufferContents::tryAllocate):
(JSC::ArrayBufferContents::~ArrayBufferContents):
* runtime/ArrayBufferView.cpp: Renamed from Source/WTF/wtf/ArrayBufferView.cpp.
(JSC::ArrayBufferView::ArrayBufferView):
(JSC::ArrayBufferView::~ArrayBufferView):
(JSC::ArrayBufferView::neuter):
* runtime/ArrayBufferView.h: Renamed from Source/WTF/wtf/ArrayBufferView.h.
(JSC::ArrayBufferView::buffer):
(JSC::ArrayBufferView::baseAddress):
(JSC::ArrayBufferView::byteOffset):
(JSC::ArrayBufferView::setNeuterable):
(JSC::ArrayBufferView::isNeuterable):
(JSC::ArrayBufferView::verifySubRange):
(JSC::ArrayBufferView::clampOffsetAndNumElements):
(JSC::ArrayBufferView::setImpl):
(JSC::ArrayBufferView::setRangeImpl):
(JSC::ArrayBufferView::zeroRangeImpl):
(JSC::ArrayBufferView::calculateOffsetAndLength):
* runtime/Float32Array.h: Renamed from Source/WTF/wtf/Float32Array.h.
(JSC::Float32Array::set):
(JSC::Float32Array::getType):
(JSC::Float32Array::create):
(JSC::Float32Array::createUninitialized):
(JSC::Float32Array::Float32Array):
(JSC::Float32Array::subarray):
* runtime/Float64Array.h: Renamed from Source/WTF/wtf/Float64Array.h.
(JSC::Float64Array::set):
(JSC::Float64Array::getType):
(JSC::Float64Array::create):
(JSC::Float64Array::createUninitialized):
(JSC::Float64Array::Float64Array):
(JSC::Float64Array::subarray):
* runtime/Int16Array.h: Renamed from Source/WTF/wtf/Int16Array.h.
(JSC::Int16Array::getType):
(JSC::Int16Array::create):
(JSC::Int16Array::createUninitialized):
(JSC::Int16Array::Int16Array):
(JSC::Int16Array::subarray):
* runtime/Int32Array.h: Renamed from Source/WTF/wtf/Int32Array.h.
(JSC::Int32Array::getType):
(JSC::Int32Array::create):
(JSC::Int32Array::createUninitialized):
(JSC::Int32Array::Int32Array):
(JSC::Int32Array::subarray):
* runtime/Int8Array.h: Renamed from Source/WTF/wtf/Int8Array.h.
(JSC::Int8Array::getType):
(JSC::Int8Array::create):
(JSC::Int8Array::createUninitialized):
(JSC::Int8Array::Int8Array):
(JSC::Int8Array::subarray):
* runtime/IntegralTypedArrayBase.h: Renamed from Source/WTF/wtf/IntegralTypedArrayBase.h.
(JSC::IntegralTypedArrayBase::set):
(JSC::IntegralTypedArrayBase::IntegralTypedArrayBase):
* runtime/TypedArrayBase.h: Renamed from Source/WTF/wtf/TypedArrayBase.h.
(JSC::TypedArrayBase::data):
(JSC::TypedArrayBase::set):
(JSC::TypedArrayBase::setRange):
(JSC::TypedArrayBase::zeroRange):
(JSC::TypedArrayBase::length):
(JSC::TypedArrayBase::byteLength):
(JSC::TypedArrayBase::item):
(JSC::TypedArrayBase::checkInboundData):
(JSC::TypedArrayBase::TypedArrayBase):
(JSC::TypedArrayBase::create):
(JSC::TypedArrayBase::createUninitialized):
(JSC::TypedArrayBase::subarrayImpl):
(JSC::TypedArrayBase::neuter):
* runtime/Uint16Array.h: Renamed from Source/WTF/wtf/Uint16Array.h.
(JSC::Uint16Array::getType):
(JSC::Uint16Array::create):
(JSC::Uint16Array::createUninitialized):
(JSC::Uint16Array::Uint16Array):
(JSC::Uint16Array::subarray):
* runtime/Uint32Array.h: Renamed from Source/WTF/wtf/Uint32Array.h.
(JSC::Uint32Array::getType):
(JSC::Uint32Array::create):
(JSC::Uint32Array::createUninitialized):
(JSC::Uint32Array::Uint32Array):
(JSC::Uint32Array::subarray):
* runtime/Uint8Array.h: Renamed from Source/WTF/wtf/Uint8Array.h.
(JSC::Uint8Array::getType):
(JSC::Uint8Array::create):
(JSC::Uint8Array::createUninitialized):
(JSC::Uint8Array::Uint8Array):
(JSC::Uint8Array::subarray):
* runtime/Uint8ClampedArray.h: Renamed from Source/WTF/wtf/Uint8ClampedArray.h.
(JSC::Uint8ClampedArray::getType):
(JSC::Uint8ClampedArray::create):
(JSC::Uint8ClampedArray::createUninitialized):
(JSC::Uint8ClampedArray::zeroFill):
(JSC::Uint8ClampedArray::set):
(JSC::Uint8ClampedArray::Uint8ClampedArray):
(JSC::Uint8ClampedArray::subarray):
* runtime/VM.h:

Source/WebCore:

Update WebCore for new location of TypedArray implementation.

* ForwardingHeaders/runtime/ArrayBuffer.h: Added.
* ForwardingHeaders/runtime/ArrayBufferView.h: Added.
* ForwardingHeaders/runtime/Float32Array.h: Added.
* ForwardingHeaders/runtime/Float64Array.h: Added.
* ForwardingHeaders/runtime/Int16Array.h: Added.
* ForwardingHeaders/runtime/Int32Array.h: Added.
* ForwardingHeaders/runtime/Int8Array.h: Added.
* ForwardingHeaders/runtime/IntegralTypedArrayBase.h: Added.
* ForwardingHeaders/runtime/TypedArrayBase.h: Added.
* ForwardingHeaders/runtime/Uint16Array.h: Added.
* ForwardingHeaders/runtime/Uint32Array.h: Added.
* ForwardingHeaders/runtime/Uint8Array.h: Added.
* ForwardingHeaders/runtime/Uint8ClampedArray.h: Added.
* Modules/webaudio/AnalyserNode.h:
(WebCore::AnalyserNode::getFloatFrequencyData):
(WebCore::AnalyserNode::getByteFrequencyData):
(WebCore::AnalyserNode::getByteTimeDomainData):
* Modules/webaudio/AsyncAudioDecoder.cpp:
* Modules/webaudio/AsyncAudioDecoder.h:
(WebCore::AsyncAudioDecoder::DecodingTask::audioData):
* Modules/webaudio/AudioBuffer.h:
* Modules/webaudio/AudioContext.cpp:
* Modules/webaudio/AudioParam.h:
* Modules/webaudio/AudioParamTimeline.h:
* Modules/webaudio/PeriodicWave.h:
* Modules/webaudio/RealtimeAnalyser.cpp:
* Modules/webaudio/RealtimeAnalyser.h:
* Modules/webaudio/ScriptProcessorNode.cpp:
* Modules/webaudio/WaveShaperProcessor.h:
* Modules/websockets/ThreadableWebSocketChannel.h:
* Modules/websockets/WebSocket.cpp:
* Modules/websockets/WebSocket.h:
* Modules/websockets/WebSocketChannel.cpp:
* Modules/websockets/WebSocketChannel.h:
* Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
* Modules/websockets/WorkerThreadableWebSocketChannel.h:
* WebCore.exp.in:
* bindings/js/JSArrayBufferCustom.cpp:
* bindings/js/JSArrayBufferViewHelper.h:
* bindings/js/JSAudioContextCustom.cpp:
* bindings/js/JSCryptoCustom.cpp:
* bindings/js/JSDictionary.h:
* bindings/js/JSFileReaderCustom.cpp:
* bindings/js/JSWebGLRenderingContextCustom.cpp:
* bindings/js/JSXMLHttpRequestCustom.cpp:
* bindings/js/SerializedScriptValue.cpp:
(WebCore::SerializedScriptValue::transferArrayBuffers):
* bindings/js/SerializedScriptValue.h:
* bindings/scripts/CodeGeneratorJS.pm:
(AddIncludesForType):
(GenerateHeader):
(NativeToJSValue):
* dom/MessageEvent.h:
* fileapi/FileReader.cpp:
* fileapi/FileReader.h:
* fileapi/FileReaderLoader.cpp:
* fileapi/FileReaderLoader.h:
* fileapi/FileReaderSync.cpp:
* fileapi/FileReaderSync.h:
* fileapi/WebKitBlobBuilder.cpp:
* fileapi/WebKitBlobBuilder.h:
* html/HTMLMediaElement.cpp:
* html/ImageData.h:
* html/canvas/ArrayBuffer.idl:
* html/canvas/ArrayBufferView.idl:
* html/canvas/CanvasRenderingContext2D.cpp:
* html/canvas/DataView.h:
* html/canvas/Float32Array.idl:
* html/canvas/Float64Array.idl:
* html/canvas/Int16Array.idl:
* html/canvas/Int32Array.idl:
* html/canvas/Int8Array.idl:
* html/canvas/Uint16Array.idl:
* html/canvas/Uint32Array.idl:
* html/canvas/Uint8Array.idl:
* html/canvas/Uint8ClampedArray.idl:
* html/canvas/WebGLBuffer.h:
(WebCore::WebGLBuffer::elementArrayBuffer):
* html/canvas/WebGLGetInfo.cpp:
* html/canvas/WebGLGetInfo.h:
* html/canvas/WebGLRenderingContext.cpp:
* html/canvas/WebGLRenderingContext.h:
* inspector/InspectorMemoryAgent.cpp:
* page/Crypto.cpp:
* page/Crypto.h:
* platform/graphics/GraphicsContext3D.cpp:
* platform/graphics/ImageBuffer.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
* platform/graphics/cg/ImageBufferDataCG.h:
* platform/graphics/filters/FEBlend.cpp:
* platform/graphics/filters/FEColorMatrix.cpp:
* platform/graphics/filters/FEComponentTransfer.cpp:
* platform/graphics/filters/FEComposite.cpp:
* platform/graphics/filters/FEConvolveMatrix.cpp:
* platform/graphics/filters/FECustomFilter.cpp:
* platform/graphics/filters/FEDisplacementMap.cpp:
* platform/graphics/filters/FEDropShadow.cpp:
* platform/graphics/filters/FEGaussianBlur.cpp:
* platform/graphics/filters/FELighting.h:
* platform/graphics/filters/FEMorphology.cpp:
* platform/graphics/filters/FETurbulence.cpp:
* platform/graphics/filters/FilterEffect.cpp:
* platform/graphics/filters/FilterEffect.h:
* platform/graphics/mac/GraphicsContext3DMac.mm:
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
* testing/Internals.h:
* xml/XMLHttpRequest.cpp:
* xml/XMLHttpRequest.h:
(WebCore::XMLHttpRequest::optionalResponseArrayBuffer):

Source/WTF:

Remove TypedArray implementation from WTF

* GNUmakefile.list.am:
* WTF.xcodeproj/project.pbxproj:
* wtf/Forward.h:

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

7 years ago <rdar://problem/14637103> REGRESSION (r153060?): Microphone appears in the way
ap@apple.com [Mon, 5 Aug 2013 21:56:15 +0000 (21:56 +0000)]
    <rdar://problem/14637103> REGRESSION (r153060?): Microphone appears in the way
        of text when dictating an e-mail
        https://bugs.webkit.org/show_bug.cgi?id=119496

        Reviewed by Ryosuke Niwa.

        Test: platform/mac/editing/input/firstrectforcharacterrange-caret-in-br.html

        * rendering/RenderObject.cpp: (WebCore::RenderObject::absoluteBoundingBoxRectForRange):
        FloatRect::unite() doesn't preserve empty rects, which we need here.
        We alrady handle the case of collapsed range in Editor::firstRectForRange(), and
        this is similar, but we can't currently cover both with one simple fix.

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

7 years agoIgnore the Apple Java placeholder plug-in
andersca@apple.com [Mon, 5 Aug 2013 21:26:25 +0000 (21:26 +0000)]
Ignore the Apple Java placeholder plug-in
https://bugs.webkit.org/show_bug.cgi?id=119494
<rdar://problem/14610818>

Reviewed by Beth Dakin.

Never attempt to load the Java placeholder plug-in.

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

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

7 years agoRegion based columns not painted correctly in non-default writing-modes
commit-queue@webkit.org [Mon, 5 Aug 2013 21:20:19 +0000 (21:20 +0000)]
Region based columns not painted correctly in non-default writing-modes
https://bugs.webkit.org/show_bug.cgi?id=118506

Patch by Morten Stenshorne <mstensho@opera.com> on 2013-08-05
Reviewed by David Hyatt.

Source/WebCore:

The column translation offset was calculated incorrectly.
The dirty rect intersection check was also wrong.

Added some documentation, to make it clear what's going on.

Tests: fast/multicol/newmulticol/hide-box-horizontal-bt.html
       fast/multicol/newmulticol/hide-box-vertical-lr.html
       fast/multicol/newmulticol/hide-box-vertical-rl.html

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::collectLayerFragments):

LayoutTests:

* fast/multicol/newmulticol/hide-box-horizontal-bt-expected.html: Added.
* fast/multicol/newmulticol/hide-box-horizontal-bt.html: Added.
* fast/multicol/newmulticol/hide-box-vertical-lr-expected.html: Added.
* fast/multicol/newmulticol/hide-box-vertical-lr.html: Added.
* fast/multicol/newmulticol/hide-box-vertical-rl-expected.html: Added.
* fast/multicol/newmulticol/hide-box-vertical-rl.html: Added.

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

7 years agoRegion based columns not clipped properly
commit-queue@webkit.org [Mon, 5 Aug 2013 21:17:41 +0000 (21:17 +0000)]
Region based columns not clipped properly
https://bugs.webkit.org/show_bug.cgi?id=118499

Patch by Morten Stenshorne <mstensho@opera.com> on 2013-08-05
Reviewed by David Hyatt.

Source/WebCore:

Need to call RenderRegion::overflowRectForFlowThreadPortion() first,
and THEN clip in the column gaps. overflowRectForFlowThreadPortion()
expands the logical left and right to the flow thread's overflow
rectangle, effectively defeating inline direction clipping completely.

Tests: fast/multicol/newmulticol/clipping-overflow-hidden.html
       fast/multicol/newmulticol/clipping-top-overflow.html
       fast/multicol/newmulticol/clipping.html

* rendering/RenderMultiColumnSet.cpp:
(WebCore::RenderMultiColumnSet::flowThreadPortionOverflowRect):

LayoutTests:

* fast/multicol/newmulticol/clipping-expected.html: Added.
* fast/multicol/newmulticol/clipping-overflow-hidden-expected.html: Added.
* fast/multicol/newmulticol/clipping-overflow-hidden.html: Added.
* fast/multicol/newmulticol/clipping-top-overflow-expected.html: Added.
* fast/multicol/newmulticol/clipping-top-overflow.html: Added.
* fast/multicol/newmulticol/clipping.html: Added.

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

7 years ago[GTK] Implement leak checking with valgrind
commit-queue@webkit.org [Mon, 5 Aug 2013 20:26:29 +0000 (20:26 +0000)]
[GTK] Implement leak checking with valgrind
https://bugs.webkit.org/show_bug.cgi?id=118785

Patch by Brian Holt <brian.holt@samsung.com> on 2013-08-05
Reviewed by Dirk Pranke.

Launch the DRT under Valgrind to generate xml files with details
of leaks found.

* Scripts/webkitpy/layout_tests/run_webkit_tests.py:
(parse_args):
* Scripts/webkitpy/port/gtk.py:
(GtkPort.__init__):
(GtkPort.default_timeout_ms): Allow extra time to run under
Valgrind.
(GtkPort.setup_environ_for_server): Pass Valgrind instructions
using environment variables.

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

7 years agoCopied space should be able to handle more than one copied backing store per JSCell
fpizlo@apple.com [Mon, 5 Aug 2013 19:52:43 +0000 (19:52 +0000)]
Copied space should be able to handle more than one copied backing store per JSCell
https://bugs.webkit.org/show_bug.cgi?id=119471

Reviewed by Mark Hahnenberg.

This allows a cell to call copyLater() multiple times for multiple different
backing stores, and then have copyBackingStore() called exactly once for each
of those. A token tells it which backing store to copy. All backing stores
must be named using the CopyToken, an enumeration which currently cannot
exceed eight entries.

When copyBackingStore() is called, it's up to the callee to (a) use the token
to decide what to copy and (b) call its base class's copyBackingStore() in
case the base class had something that needed copying. The only exception is
that JSCell never asks anything to be copied, and so if your base is JSCell
then you don't have to do anything.

* GNUmakefile.list.am:
* JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
* JavaScriptCore.xcodeproj/project.pbxproj:
* heap/CopiedBlock.h:
* heap/CopiedBlockInlines.h:
(JSC::CopiedBlock::reportLiveBytes):
* heap/CopyToken.h: Added.
* heap/CopyVisitor.cpp:
(JSC::CopyVisitor::copyFromShared):
* heap/CopyVisitor.h:
* heap/CopyVisitorInlines.h:
(JSC::CopyVisitor::visitItem):
* heap/CopyWorkList.h:
(JSC::CopyWorklistItem::CopyWorklistItem):
(JSC::CopyWorklistItem::cell):
(JSC::CopyWorklistItem::token):
(JSC::CopyWorkListSegment::get):
(JSC::CopyWorkListSegment::append):
(JSC::CopyWorkListSegment::data):
(JSC::CopyWorkListIterator::get):
(JSC::CopyWorkListIterator::operator*):
(JSC::CopyWorkListIterator::operator->):
(JSC::CopyWorkList::append):
* heap/SlotVisitor.h:
* heap/SlotVisitorInlines.h:
(JSC::SlotVisitor::copyLater):
* runtime/ClassInfo.h:
* runtime/JSCell.cpp:
(JSC::JSCell::copyBackingStore):
* runtime/JSCell.h:
* runtime/JSObject.cpp:
(JSC::JSObject::visitButterfly):
(JSC::JSObject::copyBackingStore):
* runtime/JSObject.h:

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

7 years agoXMLTreeViewer should be created only in the XML viewer mode
vivek.vg@samsung.com [Mon, 5 Aug 2013 16:26:01 +0000 (16:26 +0000)]
XMLTreeViewer should be created only in the XML viewer mode
https://bugs.webkit.org/show_bug.cgi?id=119483

Reviewed by Alexey Proskuryakov.

XMLTreeViewer is created even for the XSL transform which is avoided by the patch.
The XMLTreeViewer::hasNoStyleInformation() is moved to XMLDocumentParserLibxml2.cpp
as static inline method as XMLTreeViewer should not have the responsibility for it.
Also removes an unnecessary conditional check while deciding for XML viewer mode.

Blink patch review links:
https://codereview.chromium.org/19552003/
https://codereview.chromium.org/22150003/

No new tests as the patch is about code refactoring.

* xml/XMLTreeViewer.cpp:
* xml/XMLTreeViewer.h:
* xml/parser/XMLDocumentParserLibxml2.cpp:
(WebCore::hasNoStyleInformation):
(WebCore::XMLDocumentParser::doEnd):

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

7 years agoLoading a video with a custom URL scheme will result in stalling playback
jer.noble@apple.com [Mon, 5 Aug 2013 15:29:48 +0000 (15:29 +0000)]
Loading a video with a custom URL scheme will result in stalling playback
https://bugs.webkit.org/show_bug.cgi?id=119469

Reviewed by Eric Carlson.

Break the assumption that only one AVAssetResourceRequest will be outstanding simultaneously
by storing a HashMap of AVAssetResourceRequests and their resulting WebCoreAVFResourceLoader.
When loading is stopped (due to completion or error), notify the MediaPlayerPrivateAVFoundation
parent so that the map can be emptied.

* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
(WebCore::MediaPlayerPrivateAVFoundationObjC::shouldWaitForLoadingOfResource): Store the request
    in m_resourceLoaderMap.
(WebCore::MediaPlayerPrivateAVFoundationObjC::didCancelLoadingRequest): Pull the request from
    m_resourceLoaderMap.
(WebCore::MediaPlayerPrivateAVFoundationObjC::didStopLoadingRequest): Remove the requset from
    m_resourceLoaderMap.
* platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.h:
* platform/graphics/avfoundation/objc/WebCoreAVFResourceLoader.mm:
(WebCore::WebCoreAVFResourceLoader::create): Return a PassRefPtr, rather than a PassOwnPtr.
(WebCore::WebCoreAVFResourceLoader::stopLoading): Call didStopLoadingRequest.

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

7 years agoMake tests platform agnostic, fix async tests, remove broken blend modes: hue, satura...
commit-queue@webkit.org [Mon, 5 Aug 2013 14:23:05 +0000 (14:23 +0000)]
Make tests platform agnostic, fix async tests, remove broken blend modes: hue, saturation, color, luminosity, soft-light.
The test suite should now pass on windows.

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

Patch by Mihai Tica <mitica@adobe.com> on 2013-08-05
Reviewed by Dirk Schulze.

* fast/canvas/canvas-blending-clipping-expected.txt:
* fast/canvas/canvas-blending-clipping.html:
* fast/canvas/canvas-blending-color-over-color-expected.txt:
* fast/canvas/canvas-blending-color-over-color.html:
* fast/canvas/canvas-blending-color-over-gradient-expected.txt:
* fast/canvas/canvas-blending-color-over-gradient.html:
* fast/canvas/canvas-blending-color-over-image-expected.txt:
* fast/canvas/canvas-blending-color-over-image.html:
* fast/canvas/canvas-blending-color-over-pattern-expected.txt:
* fast/canvas/canvas-blending-color-over-pattern.html:
* fast/canvas/canvas-blending-fill-style-expected.txt:
* fast/canvas/canvas-blending-fill-style.html:
* fast/canvas/canvas-blending-global-alpha-expected.txt:
* fast/canvas/canvas-blending-global-alpha.html:
* fast/canvas/canvas-blending-gradient-over-color-expected.txt:
* fast/canvas/canvas-blending-gradient-over-color.html:
* fast/canvas/canvas-blending-gradient-over-gradient-expected.txt:
* fast/canvas/canvas-blending-gradient-over-gradient.html:
* fast/canvas/canvas-blending-gradient-over-image-expected.txt:
* fast/canvas/canvas-blending-gradient-over-image.html:
* fast/canvas/canvas-blending-gradient-over-pattern-expected.txt:
* fast/canvas/canvas-blending-gradient-over-pattern.html:
* fast/canvas/canvas-blending-helpers.js:
(separateBlendFunctions.hardLight):
(nonSeparateBlendFunctions.hue):
(nonSeparateBlendFunctions.saturation):
(nonSeparateBlendFunctions.color):
(nonSeparateBlendFunctions.luminosity):
* fast/canvas/canvas-blending-image-over-color-expected.txt:
* fast/canvas/canvas-blending-image-over-color.html:
* fast/canvas/canvas-blending-image-over-gradient-expected.txt:
* fast/canvas/canvas-blending-image-over-gradient.html:
* fast/canvas/canvas-blending-image-over-image-expected.txt:
* fast/canvas/canvas-blending-image-over-image.html:
* fast/canvas/canvas-blending-image-over-pattern-expected.txt:
* fast/canvas/canvas-blending-image-over-pattern.html:
* fast/canvas/canvas-blending-pattern-over-color-expected.txt:
* fast/canvas/canvas-blending-pattern-over-color.html:
* fast/canvas/canvas-blending-pattern-over-gradient-expected.txt:
* fast/canvas/canvas-blending-pattern-over-gradient.html:
* fast/canvas/canvas-blending-pattern-over-image-expected.txt:
* fast/canvas/canvas-blending-pattern-over-image.html:
* fast/canvas/canvas-blending-pattern-over-pattern-expected.txt:
* fast/canvas/canvas-blending-pattern-over-pattern.html:
* fast/canvas/canvas-blending-shadow-expected.txt:
* fast/canvas/canvas-blending-shadow.html:
* fast/canvas/canvas-blending-text-expected.txt:
* fast/canvas/canvas-blending-text.html:
* fast/canvas/canvas-blending-transforms-expected.txt:
* fast/canvas/canvas-blending-transforms.html:
* platform/win/TestExpectations:

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

7 years agoSpatial Navigation should avoid unwanted calculation while deciding focus candidate.
commit-queue@webkit.org [Mon, 5 Aug 2013 13:09:19 +0000 (13:09 +0000)]
Spatial Navigation should avoid unwanted calculation while deciding focus candidate.
https://bugs.webkit.org/show_bug.cgi?id=117265

Patch by Abhijeet Kandalkar <abhijeet.k@samsung.com> on 2013-08-05
Reviewed by Antonio Gomes.

Source/WebCore:

Spatial Navigation should consider only those nodes as candidate which are exactly in the focus-direction.
e.g. If we are moving down then the nodes that are above CURRENT focused node should be considered as invalid.
Added isValidCandidate() which checks whether node is exactly in the focus-direction.

Test: fast/spatial-navigation/snav-search-optimization.html

* page/FocusController.cpp:
(WebCore::FocusController::findFocusCandidateInContainer):
(WebCore::FocusController::advanceFocusDirectionally):
* page/Page.cpp:
(WebCore::Page::Page):
* page/Page.h:
(WebCore::Page::setLastSpatialNavigationCandidateCount):
(WebCore::Page::lastSpatialNavigationCandidateCount):
* page/SpatialNavigation.cpp:
(WebCore::isValidCandidate):
* page/SpatialNavigation.h:
* testing/Internals.cpp:
(WebCore::Internals::lastSpatialNavigationCandidateCount):
* testing/Internals.h:
* testing/Internals.idl:

LayoutTests:

Added testcases to count how many target nodes were tested before choosing a final target.

* fast/spatial-navigation/snav-search-optimization-expected.txt: Added.
* fast/spatial-navigation/snav-search-optimization.html: Added.

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

7 years ago[Automake] Define ENABLE_JIT through the Autoconf header
zandobersek@gmail.com [Mon, 5 Aug 2013 07:58:16 +0000 (07:58 +0000)]
[Automake] Define ENABLE_JIT through the Autoconf header
https://bugs.webkit.org/show_bug.cgi?id=119445

Reviewed by Martin Robinson.

.:

Instead of defining the ENABLE_JIT value through JSC_CPPFLAGS, the feature define is
set to be either enabled or disabled through the Autoconf header, based on the value
passed through the configuration flag. The 'auto' value is used as default, meaning
that the feature is enabled or disabled in the Platform.h header based on the platform
configuration (OS, architecture etc.).

* Source/autotools/FindDependencies.m4: Remove the JSC_CPPFLAGS definition.
* Source/autotools/ReadCommandLineArguments.m4: Change the default value to 'auto' instead
of 'autodetect', as used by other configuration options that take a similar approach to enabling
a specific feature.
* Source/autotools/SetupAutoconfHeader.m4: Set a strict value for the ENABLE_JIT define through
the Autoconf header if the feature was specifically enabled or disabled.

Source/JavaScriptCore:

* GNUmakefile.am: Remove JSC_CPPFLAGS from the cpp flags for the JSC library.

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

7 years agoSource/WebCore: [CSS Background Blending] Specifying background-image and background...
commit-queue@webkit.org [Mon, 5 Aug 2013 07:16:00 +0000 (07:16 +0000)]
Source/WebCore: [CSS Background Blending] Specifying background-image and background-color
with opaque image doesn't trigger blending. The fix consists of adding a
check whether blend mode is set in hasOpaqueImage.

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

Patch by Mihai Tica <mitica@adobe.com> on 2013-08-05
Reviewed by Dirk Schulze.

Test: css3/compositing/background-blend-mode-separate-layer-declaration.html

* rendering/style/FillLayer.cpp:
(WebCore::FillLayer::hasOpaqueImage):

LayoutTests: [CSS Background Blending] Specifying background-image and background-color with opaque
image doesn't trigger blending. Adding ref test to validate the fix.

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

Patch by Mihai Tica <mitica@adobe.com> on 2013-08-05
Reviewed by Dirk Schulze.

* css3/compositing/background-blend-mode-separate-layer-declaration-expected.html: Added.
* css3/compositing/background-blend-mode-separate-layer-declaration.html: Added.
* css3/compositing/resources/gray_square.svg: Added.

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

7 years agoBackground doesn't fully repaint when body has margins.
zalan@apple.com [Sun, 4 Aug 2013 21:29:00 +0000 (21:29 +0000)]
Background doesn't fully repaint when body has margins.
https://bugs.webkit.org/show_bug.cgi?id=119033

Reviewed by Simon Fraser.

Ensure that background-color changes do not leave unpainted areas when
body has margins.

Both <body> and <html> background-color get propagated up to the viewport.
If <body> has background-color attribute set, while <html> doesn't, the color is
applied not only on the <body> but on both the <html> and the viewport. However,
it's not enough to mark the RenderView dirty because with tiles backing on,
there could be areas outside of the viewport that need repaint. By marking
the RenderView's graphics layer dirty instead, we ensure that all the related
tiles get marked dirty too and the new background color covers all areas.

Manual test added. When forcing top-level composition on (even with embedded iframe to
make sure we don't do paintsIntoWindow rendering), the test case execution changes so much,
that the repaint rects don't reflect the functionality difference anymore.

.:

Reviewed by Simon Fraser.

* ManualTests/compositing/background-color-change-on-body-with-margin.html: Added.

Source/WebCore:

* page/FrameView.cpp:
(WebCore::FrameView::reset):
(WebCore::FrameView::layout):
* page/FrameView.h:
(WebCore::FrameView::needsFullRepaint):
* rendering/RenderBox.cpp:
(WebCore::RenderBox::styleWillChange):
* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::removeChildNode):
* rendering/RenderView.cpp:
(WebCore::RenderView::repaintRootContents):
(WebCore::RenderView::repaintViewAndCompositedLayers):
* rendering/RenderView.h:

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

7 years agoDocument needn't expose its active element.
akling@apple.com [Sun, 4 Aug 2013 16:17:32 +0000 (16:17 +0000)]
Document needn't expose its active element.
<http://webkit.org/b/119466>

Reviewed by Antonio Gomes.

The Document::m_activeElement pointer is only used inside updateHoverActiveState(),
so we can remove the activeElement()/setActiveElement() accessors.

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

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

7 years agoInserting a rule into an empty style sheet shouldn't trigger style recalc unless...
akling@apple.com [Sun, 4 Aug 2013 15:57:13 +0000 (15:57 +0000)]
Inserting a rule into an empty style sheet shouldn't trigger style recalc unless necessary.
<http://webkit.org/b/119475>
<rdar://problem/14643481>

Reviewed by Antti Koivisto.

This is kind of a cheesy optimization, but it turns out that the use case is quite common.
The pattern goes like this:

    (1) Create <style> element.
    (2) Add it to the document's <head>.
    (3) .addRule() one rule through the CSSOM API.

Prior to this patch, (3) would always cause a full (deferred) style recalc.

Now that we exclude empty style sheets from the document's (effective) active set,
we can piggyback on the style invalidation analysis when transitioning from an empty
sheet to a single-rule sheet.

In other words, add a special code path for the first rule insertion into an empty,
in-document style sheet to minimize the amount of invalidation that happens.

* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::didMutateRules):
(WebCore::CSSStyleSheet::insertRule):
* css/CSSStyleSheet.h:
(WebCore::CSSStyleSheet::RuleMutationScope::RuleMutationScope):
(WebCore::CSSStyleSheet::RuleMutationScope::~RuleMutationScope):

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

7 years ago[GTK] Fix a C++11 warning.
csaavedra@igalia.com [Sun, 4 Aug 2013 14:35:34 +0000 (14:35 +0000)]
[GTK] Fix a C++11 warning.

Rubber-stamped by Martin Robinson.

* platform/gtk/FileSystemGtk.cpp:
(WebCore::sharedResourcesPath): Fix a C++11 warning.

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

7 years ago[GTK] Remove legacy hack in CodeGeneratorGObject.pm
commit-queue@webkit.org [Sun, 4 Aug 2013 13:03:23 +0000 (13:03 +0000)]
[GTK] Remove legacy hack in CodeGeneratorGObject.pm
https://bugs.webkit.org/show_bug.cgi?id=117545

Patch by Diego Pino Garcia <dpino@igalia.com> on 2013-08-04
Reviewed by Carlos Garcia Campos.

There's a checking that sets gtype to uint in case it's ushort. gtype
is a value obtained from GetGValueTypeName(), which never returns
ushort.

* bindings/scripts/CodeGeneratorGObject.pm:
(GenerateProperty): remove unnecessary glitch

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

7 years ago[Mac] Disable screen font substitution at WebCore-level in OS X 10.9+
akling@apple.com [Sun, 4 Aug 2013 07:41:28 +0000 (07:41 +0000)]
[Mac] Disable screen font substitution at WebCore-level in OS X 10.9+
<http://webkit.org/b/119474>
<rdar://problem/14643349>

Reviewed by Dan Bernstein.

Disable screen font substitution by default in Settings so internal WebCore clients
such as SVG-as-image will get the right default setting.

* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::shouldEnableScreenFontSubstitutionByDefault):
(WebCore::Settings::setScreenFontSubstitutionEnabled):
* page/Settings.h:
(WebCore::Settings::screenFontSubstitutionEnabled):
* page/Settings.in:
* page/mac/SettingsMac.mm:
(WebCore::Settings::shouldEnableScreenFontSubstitutionByDefault):

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

7 years agoRefine the unavailable plug-in indicator
timothy_horton@apple.com [Sun, 4 Aug 2013 04:13:03 +0000 (04:13 +0000)]
Refine the unavailable plug-in indicator
https://bugs.webkit.org/show_bug.cgi?id=119400
<rdar://problem/14616012>

Reviewed by Oliver Hunt.

Add a border, flip the text and background colors, and make the indicator
much higher contrast, to be more visible on a variety of sites.
Also, refine the arrow to be less blocky and inlaid inside a circle.

* rendering/RenderEmbeddedObject.cpp:
(WebCore::replacementTextRoundedRectPressedColor):
(WebCore::replacementTextRoundedRectColor):
(WebCore::replacementTextColor):
(WebCore::unavailablePluginBorderColor):
(WebCore::drawReplacementArrow):
(WebCore::RenderEmbeddedObject::paintReplaced):
(WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
(WebCore::RenderEmbeddedObject::unavailablePluginIndicatorBounds):
(WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
* rendering/RenderEmbeddedObject.h:

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

7 years agoUnreviewed, build and style fix for r153693.
timothy_horton@apple.com [Sun, 4 Aug 2013 04:00:03 +0000 (04:00 +0000)]
Unreviewed, build and style fix for r153693.

* UIProcess/WebProcessProxy.cpp:
* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/WebPage/WebPage.cpp:

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

7 years agoRemove SimplePDFPlugin
timothy_horton@apple.com [Sun, 4 Aug 2013 03:50:47 +0000 (03:50 +0000)]
Remove SimplePDFPlugin
https://bugs.webkit.org/show_bug.cgi?id=119437

Reviewed by Alexey Proskuryakov.

* UIProcess/WebProcessProxy.cpp:
(WebKit::WebProcessProxy::getPlugins):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::createPlugin):
Don't add SimplePDFPlugin, nor try to instantiate it.

* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
Merge previously inherited behavior in from SimplePDFPlugin.

* WebKit2.xcodeproj/project.pbxproj:
* WebProcess/Plugins/PDF/SimplePDFPlugin.h: Removed.
* WebProcess/Plugins/PDF/SimplePDFPlugin.mm: Removed.
Remove SimplePDFPlugin.

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

7 years agoRemove pageOverlayShouldApplyFadeWhenPainting() and adopt composited fade for the...
timothy_horton@apple.com [Sun, 4 Aug 2013 00:31:27 +0000 (00:31 +0000)]
Remove pageOverlayShouldApplyFadeWhenPainting() and adopt composited fade for the Mac port
https://bugs.webkit.org/show_bug.cgi?id=119411

Reviewed by Simon Fraser.

Mac is the only holdout that performs non-composited fades of page
overlays. We should adopt that mechanism (as a precursor to doing a
CA-accelerated fade) and remove the now-unnecessary property.

* WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
(WKBundlePageOverlayFractionFadedIn):
Always return 1 (fully-faded-in) so that clients who attempt to use this
to bake the fade opacity into their painting will paint at full opacity,
allowing us to do the composited fade separately.

* WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
* WebProcess/WebPage/DrawingArea.h:
* WebProcess/WebPage/DrawingAreaImpl.cpp:
* WebProcess/WebPage/DrawingAreaImpl.h:
* WebProcess/WebPage/LayerTreeHost.h:
* WebProcess/WebPage/PageOverlay.cpp:
(WebKit::PageOverlay::PageOverlay):
(WebKit::PageOverlay::setPage):
(WebKit::PageOverlay::setNeedsDisplay):
(WebKit::PageOverlay::fadeAnimationTimerFired):
* WebProcess/WebPage/PageOverlay.h:
Remove pageOverlayShouldApplyFadeWhenPainting and fractionFadedIn().

* WebProcess/WebPage/FindController.cpp:
(WebKit::FindController::drawRect):
Draw the find overlay without taking the PageOverlay's fade into account.

* WebProcess/WebPage/TapHighlightController.cpp:
(WebKit::TapHighlightController::drawRect):
Remove pageOverlayShouldApplyFadeWhenPainting. Since it's always
"false" for all ports now, take the second path here.

* WebProcess/WebPage/mac/LayerTreeHostMac.h:
* WebProcess/WebPage/mac/LayerTreeHostMac.mm:
(WebKit::LayerTreeHostMac::setPageOverlayOpacity):
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::setPageOverlayOpacity):
Implement setPageOverlayOpacity for DrawingAreaImpl
and TiledCoreAnimationDrawingArea.

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

7 years agohasIndexingHeader() ought really to be a property of an object and its structure...
fpizlo@apple.com [Sun, 4 Aug 2013 00:12:21 +0000 (00:12 +0000)]
hasIndexingHeader() ought really to be a property of an object and its structure, not just its structure
https://bugs.webkit.org/show_bug.cgi?id=119470

Reviewed by Oliver Hunt.

Structure can still tell you if the object "could" (in the conservative sense)
have an indexing header; that's used by the compiler.

Most of the time if you want to know if there's an indexing header, you ask the
JSObject.

In some cases, the JSObject wants to know if it would have an indexing header if
it had a different structure; then it uses Structure::hasIndexingHeader(JSCell*).

* dfg/DFGRepatch.cpp:
(JSC::DFG::tryCachePutByID):
(JSC::DFG::tryBuildPutByIdList):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
* runtime/ButterflyInlines.h:
(JSC::Butterfly::create):
(JSC::Butterfly::growPropertyStorage):
(JSC::Butterfly::growArrayRight):
(JSC::Butterfly::resizeArray):
* runtime/JSObject.cpp:
(JSC::JSObject::copyButterfly):
(JSC::JSObject::visitButterfly):
* runtime/JSObject.h:
(JSC::JSObject::hasIndexingHeader):
(JSC::JSObject::setButterfly):
* runtime/Structure.h:
(JSC::Structure::couldHaveIndexingHeader):
(JSC::Structure::hasIndexingHeader):

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

7 years agowebaudio/audiobuffersource-loop-points.html always times out
simon.fraser@apple.com [Sat, 3 Aug 2013 17:49:50 +0000 (17:49 +0000)]
webaudio/audiobuffersource-loop-points.html always times out
https://bugs.webkit.org/show_bug.cgi?id=119467

Skip this test.

* platform/mac-wk2/TestExpectations:

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

7 years agoPreloadScanner preloads external CSS with non-matching media attribute
commit-queue@webkit.org [Sat, 3 Aug 2013 13:43:24 +0000 (13:43 +0000)]
PreloadScanner preloads external CSS with non-matching media attribute
https://bugs.webkit.org/show_bug.cgi?id=106198

Patch by Yoav Weiss <yoav@yoav.ws> on 2013-08-03
Reviewed by Dean Jackson.

Source/WebCore:

Test: http/tests/loading/preload-css-test.html

* html/parser/HTMLPreloadScanner.cpp:
Remove m_linkMediaAttributeIsScreen
Remove MediaQueryEvaluator calls
Add m_mediaAttribute that gets the value of the "media" attribute
Pass m_mediaAttribute to PreloadRequest
(WebCore::TokenPreloadScanner::StartTagScanner::StartTagScanner):
(WebCore::TokenPreloadScanner::StartTagScanner::createPreloadRequest):
(WebCore::TokenPreloadScanner::StartTagScanner::processAttribute):
(WebCore::TokenPreloadScanner::StartTagScanner::resourceType):
(WebCore::TokenPreloadScanner::StartTagScanner::shouldPreload):
* html/parser/HTMLResourcePreloader.cpp:
Add MediaQueryEvaluator calls to see if "media" matches
Perform preload only to resource with a matching media (if media exists)
(WebCore::PreloadRequest::isSafeToSendToAnotherThread):
(WebCore::mediaAttributeMatches):
(WebCore::HTMLResourcePreloader::preload):
* html/parser/HTMLResourcePreloader.h:
Add a constructor with a mediaAttribute value
Add m_mediaAttribute & its getter.
(WebCore::PreloadRequest::create):
(WebCore::PreloadRequest::media):
(WebCore::PreloadRequest::PreloadRequest):

LayoutTests:

* http/tests/loading/preload-css-test-expected.txt: Added.
* http/tests/loading/preload-css-test.html: Added.
* http/tests/loading/resources/big_mq.css: Added.
* http/tests/loading/resources/small_mq.css: Added.
* http/tests/local/link-stylesheet-load-order-preload-expected.txt:

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

7 years agoRenderBoxModelObject::firstLetterRemainingText should be a RenderTextFragment*.
akling@apple.com [Sat, 3 Aug 2013 10:15:12 +0000 (10:15 +0000)]
RenderBoxModelObject::firstLetterRemainingText should be a RenderTextFragment*.
<http://webkit.org/b/119181>

Reviewed by Sam Weinig.

De-generalize this code a bit since we know that the firstLetterRemainingText() is always
going to be a RenderTextFragment.

* rendering/RenderBoxModelObject.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::firstLetterRemainingText):
(WebCore::RenderBoxModelObject::setFirstLetterRemainingText):

    Make these two deal in RenderTextFragment*.

* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::updateFirstLetterStyle):

    Tighten up some pointer types so we don't have to cast as much.

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

7 years agoIntroduce toSVGMaskElement(), and use it
gyuyoung.kim@samsung.com [Sat, 3 Aug 2013 05:11:54 +0000 (05:11 +0000)]
Introduce toSVGMaskElement(), and use it
https://bugs.webkit.org/show_bug.cgi?id=119443

Reviewed by Andreas Kling.

As a step to change static_cast with toSVGXXX, static_cast<SVGMaskElement*> can
be changed with toSVGMaskElement().

Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=155432

* rendering/svg/RenderSVGResourceMasker.cpp:
(WebCore::RenderSVGResourceMasker::applyResource):
(WebCore::RenderSVGResourceMasker::resourceBoundingBox):
* rendering/svg/RenderSVGResourceMasker.h:
* svg/SVGMaskElement.h:
(WebCore::toSVGMaskElement):

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

7 years agoRemove a bunch of redundant checks for empty string in StringImpl
benjamin@webkit.org [Sat, 3 Aug 2013 03:33:25 +0000 (03:33 +0000)]
Remove a bunch of redundant checks for empty string in StringImpl
https://bugs.webkit.org/show_bug.cgi?id=118768

Reviewed by Ryosuke Niwa.

The first thing done by createUninitialized() is check if the length passed
is zero. Internally, there are many cases for which we know the check will never succeed.

Clang is usually really smart for those kind of things, but there are a few cases where
the condition to avoid returning empty() is not simply a check for the length.
This patch adds an internal initializer to deal with that.

* wtf/text/StringImpl.cpp:
(WTF::StringImpl::createUninitializedInternal):
(WTF::StringImpl::createUninitializedInternalNonEmpty):
(WTF::StringImpl::createInternal): Create internal has a special case for null pointer
for the characters. The test also check length, the second check for length cannot fail.
(WTF::StringImpl::create8BitIfPossible): ditto.
(WTF::StringImpl::lower): 3 of the calls cannot be reached for empty length. On an empty length,
the test for (noUpper && !(ored & ~0x7F)) would have caused the function to return "this".

For the last createUninitialized(), there is no guarantee the realLength is not zero.

(WTF::StringImpl::replace): The first thing we do in replace(UChar,UChar) is check if there is anything
to replace. The check for length will never succeed as there must be a character to replace at that point.
* wtf/text/StringImpl.h:

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

7 years agoREGRESSION (r153005): Crash in SpaceSplitString::spaceSplitStringContainsValue on...
benjamin@webkit.org [Sat, 3 Aug 2013 03:09:25 +0000 (03:09 +0000)]
REGRESSION (r153005): Crash in SpaceSplitString::spaceSplitStringContainsValue on Facebook
https://bugs.webkit.org/show_bug.cgi?id=119384

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-08-02
Reviewed by Alexey Proskuryakov.

Source/WebCore:

When removing the "rel" attribute from HTMLAnchorElement, we parse the attribute for no value.
Following r153005, we no longer checked for null String, which caused a crash in that case.

Creating a SpaceSplitString from a null string causes the SpaceSplitString to be null. In that case
SpaceSplitString::contains() would always return false.
This patch modify SpaceSplitString::spaceSplitStringContainsValue() to follow the exact same
behavior.

Test: fast/dom/HTMLAnchorElement/remove-rel-attribute.html

* dom/SpaceSplitString.cpp:
(WebCore::SpaceSplitString::spaceSplitStringContainsValue):

LayoutTests:

* fast/dom/HTMLAnchorElement/remove-rel-attribute.html: Added.
* fast/dom/HTMLAnchorElement/remove-rel-attribute-expected.txt: Added.

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

7 years agoForce elements with perspective or preserve-3d to disallow direct composited backgrounds
dino@apple.com [Sat, 3 Aug 2013 00:06:31 +0000 (00:06 +0000)]
Force elements with perspective or preserve-3d to disallow direct composited backgrounds
https://bugs.webkit.org/show_bug.cgi?id=119462
<rdar://problem/14607548>

Reviewed by Simon Fraser.

Source/WebCore:

Bug 119461 (http://wkb.ug/119461) describes how a directly composited
background color can intersect with its children. It's not clear exactly
what the best way to fix that is, but for the moment we should disallow
any element that has perspective or a preserve-3d transform style from
getting a directly composited background.

Test: compositing/background-color/no-composited-background-color-when-perspective.html

* rendering/RenderLayerBacking.cpp:
(WebCore::hasPerspectiveOrPreserves3D): New static helper.
(WebCore::supportsDirectBoxDecorationsComposition): Return false if the above function is true.

LayoutTests:

* compositing/background-color/no-composited-background-color-when-perspective-expected.html: Added.
* compositing/background-color/no-composited-background-color-when-perspective.html: Added.
* compositing/geometry/preserve-3d-switching-expected.txt: Rebaselined.
* compositing/overflow-trumps-transform-style-expected.txt: Rebaselined.

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

7 years agoUpdate binding test results
oliver@apple.com [Sat, 3 Aug 2013 00:05:05 +0000 (00:05 +0000)]
Update binding test results

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

7 years agoGive the error object's stack property accessor attributes.
commit-queue@webkit.org [Sat, 3 Aug 2013 00:04:41 +0000 (00:04 +0000)]
Give the error object's stack property accessor attributes.
https://bugs.webkit.org/show_bug.cgi?id=119404

Source/JavaScriptCore:

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-08-02
Reviewed by Geoffrey Garen.

Changed the attributes of error object's stack property to allow developers to write
and delete the stack property. This will match the functionality of Chrome. Firefox
allows developers to write the error's stack, but not delete it.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::addStackTraceIfNecessary):
* runtime/ErrorInstance.cpp:
(JSC::ErrorInstance::finishCreation):

LayoutTests:

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-08-02
Reviewed by Geoffrey Garen.

* fast/dom/DOMException/stack-trace-expected.txt:

New tests to show that the error object's stack property is writable and deleteable.
* fast/js/error-object-write-and-detele-for-stack-property-expected.txt: Added.
* fast/js/error-object-write-and-detele-for-stack-property.html: Added.

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

7 years agoUnreviewed. Skip failing canvas blending tests on AppleWin port.
roger_fong@apple.com [Sat, 3 Aug 2013 00:01:06 +0000 (00:01 +0000)]
Unreviewed. Skip failing canvas blending tests on AppleWin port.
https://bugs.webkit.org/show_bug.cgi?id=119463.

* platform/win/TestExpectations:

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

7 years agoRemove no-arguments constructor to PropertySlot
barraclough@apple.com [Fri, 2 Aug 2013 23:40:48 +0000 (23:40 +0000)]
Remove no-arguments constructor to PropertySlot
https://bugs.webkit.org/show_bug.cgi?id=119460

Reviewed by Geoff Garen.

This constructor was unsafe if getValue is subsequently called,
and the property is a getter. Simplest to just remove it.

Source/WebCore:

* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::JSDOMWindow::getOwnPropertyDescriptor):
(WebCore::DialogHandler::returnValue):
* bindings/js/JSHistoryCustom.cpp:
(WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
* bindings/js/JSLocationCustom.cpp:
(WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::deleteProperty):
(WebCore::JSStorage::putDelegate):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateGetOwnPropertyDescriptorBody):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::getOwnPropertyDescriptor):
* bridge/runtime_method.cpp:
(JSC::RuntimeMethod::getOwnPropertyDescriptor):
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):

Source/WebKit2:

* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::JSNPObject::getOwnPropertyDescriptor):

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

7 years agoGardening: Touched a line in Platform.h to get all bots to do a clean build.
mark.lam@apple.com [Fri, 2 Aug 2013 23:23:49 +0000 (23:23 +0000)]
Gardening: Touched a line in Platform.h to get all bots to do a clean build.

Not reviewed.

* wtf/Platform.h:

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

7 years agoIncorrect type speculation reported by ToPrimitive
oliver@apple.com [Fri, 2 Aug 2013 22:38:28 +0000 (22:38 +0000)]
Incorrect type speculation reported by ToPrimitive
https://bugs.webkit.org/show_bug.cgi?id=119458

Reviewed by Mark Hahnenberg.

Make sure that we report the correct type possibilities for the output
from ToPrimitive

* dfg/DFGAbstractInterpreterInlines.h:
(JSC::DFG::::executeEffects):

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

7 years agoRemove no-arguments constructor to PropertySlot
barraclough@apple.com [Fri, 2 Aug 2013 22:30:48 +0000 (22:30 +0000)]
Remove no-arguments constructor to PropertySlot
https://bugs.webkit.org/show_bug.cgi?id=119460

Reviewed by Geoff Garen.

This constructor was unsafe if getValue is subsequently called,
and the property is a getter. Simplest to just remove it.

* runtime/Arguments.cpp:
(JSC::Arguments::defineOwnProperty):
* runtime/JSActivation.cpp:
(JSC::JSActivation::getOwnPropertyDescriptor):
* runtime/JSFunction.cpp:
(JSC::JSFunction::getOwnPropertyDescriptor):
(JSC::JSFunction::getOwnNonIndexPropertyNames):
(JSC::JSFunction::put):
(JSC::JSFunction::defineOwnProperty):
* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::defineOwnProperty):
* runtime/JSGlobalObject.h:
(JSC::JSGlobalObject::hasOwnPropertyForWrite):
* runtime/JSNameScope.cpp:
(JSC::JSNameScope::put):
* runtime/JSONObject.cpp:
(JSC::Stringifier::Holder::appendNextProperty):
(JSC::Walker::walk):
* runtime/JSObject.cpp:
(JSC::JSObject::hasProperty):
(JSC::JSObject::hasOwnProperty):
(JSC::JSObject::reifyStaticFunctionsForDelete):
* runtime/Lookup.h:
(JSC::getStaticPropertyDescriptor):
(JSC::getStaticFunctionDescriptor):
(JSC::getStaticValueDescriptor):
* runtime/ObjectConstructor.cpp:
(JSC::defineProperties):
* runtime/PropertySlot.h:

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

7 years agoRemoving a <link> element with an empty stylesheet shouldn't trigger style recalc.
akling@apple.com [Fri, 2 Aug 2013 22:11:07 +0000 (22:11 +0000)]
Removing a <link> element with an empty stylesheet shouldn't trigger style recalc.
<http://webkit.org/b/119442>
<rdar://problem/14631785>

Reviewed by Antti Koivisto.

Let Document decide whether or not to do a style recalc after a <link> element is removed.
This avoids unnecessary work when removing a <link> that refers to an empty style sheet.

Some Facebook pages have a <link rel="stylesheet" href="data:text/css;base64,"> that gets
removed during the initial page load, causing style recalc.

* html/HTMLLinkElement.cpp:
(WebCore::HTMLLinkElement::removedFrom):

    Use DeferRecalcStyleIfNeeded. Since the style sheet is being removed, it will either
    cause a recalc (because it's no longer in the set of active sheets) or do nothing.

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

7 years agoDFG validation can cause assertion failures due to dumping
mhahnenberg@apple.com [Fri, 2 Aug 2013 21:50:56 +0000 (21:50 +0000)]
DFG validation can cause assertion failures due to dumping
https://bugs.webkit.org/show_bug.cgi?id=119456

Reviewed by Geoffrey Garen.

* bytecode/CodeBlock.cpp:
(JSC::CodeBlock::hasHash):
(JSC::CodeBlock::isSafeToComputeHash):
(JSC::CodeBlock::hash):
(JSC::CodeBlock::dumpAssumingJITType):
* bytecode/CodeBlock.h:

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

7 years ago[Forms: color] WebColorPickerMac deconstructor shouldn't assert a variable
commit-queue@webkit.org [Fri, 2 Aug 2013 21:35:36 +0000 (21:35 +0000)]
[Forms: color] WebColorPickerMac deconstructor shouldn't assert a variable
<rdar://problem/14627633> and https://bugs.webkit.org/show_bug.cgi?id=119419

Patch by Ruth Fong <ruth_fong@apple.com> on 2013-08-02
Reviewed by Tim Horton.

* UIProcess/mac/WebColorPickerMac.mm:
(WebKit::WebColorPickerMac::~WebColorPickerMac): If the m_colorPickerUI variable
  is not null, then properly destroy it first before destroying WebColorPickerMac object.

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

7 years agoHave vm's exceptionStack match java's vm's exceptionStack.
commit-queue@webkit.org [Fri, 2 Aug 2013 21:32:20 +0000 (21:32 +0000)]
Have vm's exceptionStack match java's vm's exceptionStack.
https://bugs.webkit.org/show_bug.cgi?id=119362

Source/JavaScriptCore:

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-08-02
Reviewed by Geoffrey Garen.

The error object's stack is only updated if it does not exist yet. This matches
the functionality of other browsers, and Java VMs.

* interpreter/Interpreter.cpp:
(JSC::Interpreter::addStackTraceIfNecessary):
(JSC::Interpreter::throwException):
* runtime/VM.cpp:
(JSC::VM::clearExceptionStack):
* runtime/VM.h:
(JSC::VM::lastExceptionStack):

LayoutTests:

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-08-02
Reviewed by Geoffrey Garen.

All modifications to the tests below are column number changes. If the thrown
object was created by the user the column number references the error object,
otherwise it references the the throw.

* fast/events/window-onerror5-expected.txt:
* fast/js/line-column-numbers-expected.txt:
* fast/js/stack-trace-expected.txt:
* http/tests/workers/worker-importScriptsOnError-expected.txt:

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

7 years agoRemove WebCore folder from include statements
paroga@webkit.org [Fri, 2 Aug 2013 21:30:31 +0000 (21:30 +0000)]
Remove WebCore folder from include statements
https://bugs.webkit.org/show_bug.cgi?id=119438

Reviewed by Darin Adler.

This aligns the style of the changed files with the other WebCore code.

* platform/network/curl/CurlDownload.cpp:
* platform/network/curl/CurlDownload.h:

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

7 years ago[Forms: color] The positioning of the popover color well is inverted
commit-queue@webkit.org [Fri, 2 Aug 2013 21:27:26 +0000 (21:27 +0000)]
[Forms: color] The positioning of the popover color well is inverted
<rdar://problem/14635621> and https://bugs.webkit.org/show_bug.cgi?id=119455

Patch by Ruth Fong <ruth_fong@apple.com> on 2013-08-02
Reviewed by Tim Horton.

This patch converts the coordinates of the <input type='color'> element to
the window's base coordinate system.

* UIProcess/mac/WebColorPickerMac.mm:
(-[WKColorPopoverMac initWithFrame:inView:]):

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

7 years agowebaudio/javascriptaudionode-downmix8-2channel-input.html sometimes asserts
simon.fraser@apple.com [Fri, 2 Aug 2013 21:07:36 +0000 (21:07 +0000)]
webaudio/javascriptaudionode-downmix8-2channel-input.html sometimes asserts
https://bugs.webkit.org/show_bug.cgi?id=119459

* platform/mac-wk2/TestExpectations:

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

7 years agoSoft link ANGLE on Windows.
achristensen@apple.com [Fri, 2 Aug 2013 20:10:27 +0000 (20:10 +0000)]
Soft link ANGLE on Windows.
https://bugs.webkit.org/show_bug.cgi?id=119452

Reviewed by Dean Jackson.

* ANGLE.vcxproj/libEGL.vcxproj:
* ANGLE.vcxproj/libEGL.vcxproj.filters:
* ANGLE.vcxproj/libGLESv2.vcxproj:
* ANGLE.vcxproj/libGLESv2.vcxproj.filters:
Added soft linking headers.
* ANGLE.vcxproj/libEGLCommon.props:
* ANGLE.vcxproj/libGLESv2Common.props:
* ANGLE.vcxproj/translatorCommon.props:
Added ANGLE_WEBKIT_WIN macro definition for egl.h and gl2.h.
* include/EGL/egl.h:
* include/GLES2/gl2.h:
Conditionally include soft linking headers based on ANGLE_WEBKIT_WIN macro.
* include/EGL/eglsoftlinking.h: Added.
* include/GLES2/gl2softlinking.h: Added.

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

7 years agoFormAssociatedElement shouldn't create out-of-tree FormAttributeTargetObserver
rniwa@webkit.org [Fri, 2 Aug 2013 19:34:49 +0000 (19:34 +0000)]
FormAssociatedElement shouldn't create out-of-tree FormAttributeTargetObserver
https://bugs.webkit.org/show_bug.cgi?id=119309

Reviewed by Kent Tamura.

Merge https://chromium.googlesource.com/chromium/blink/+/6fbdcbf311de539107bc28711b3f7a527176e97b.

I'm not merging the test since the attached test case only works when the shadow DOM API is enabled.

* html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::formAttributeChanged):
(WebCore::FormAssociatedElement::resetFormAttributeTargetObserver):

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

7 years agocompareDocumentPosition() should report PRECEDING or FOLLOWING information even if...
ch.dumez@sisa.samsung.com [Fri, 2 Aug 2013 18:52:52 +0000 (18:52 +0000)]
compareDocumentPosition() should report PRECEDING or FOLLOWING information even if nodes are disconnected
https://bugs.webkit.org/show_bug.cgi?id=119316

Reviewed by Ryosuke Niwa.

Source/WebCore:

As per the latest specification, compareDocumentPosition() should report PRECEDING or FOLLOWING
information even if nodes are disconnected:
- http://dom.spec.whatwg.org/#dom-node-comparedocumentposition

This behavior is consistent with both IE10, Firefox 22 and since recently Blink.

No new tests, covered by existing tests.

* dom/Node.cpp:
(WebCore::compareDetachedElementsPosition):
(WebCore::Node::compareDocumentPosition):

LayoutTests:

Update fast/dom/compare-document-position-disconnected-nodes.html to check that compareDocumentPosition()
now returns one of the following values for disconnected nodes:
- DOCUMENT_POSITION_DISCONNECTED | DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | DOCUMENT_POSITION_PRECEDING
- DOCUMENT_POSITION_DISCONNECTED | DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC | DOCUMENT_POSITION_FOLLOWING

Several dom/xhtml/level3 are skipped and marked as WonfFix because they are outdated and no longer match
the DOM4 specification. They expect compareDocumentPosition() not to return PRECEDING / FOLLOWING
information for disconnected nodes.

* TestExpectations:
* dom/xhtml/level3/core/nodecomparedocumentposition38-expected.txt:
* fast/dom/compare-document-position-disconnected-nodes-expected.txt:
* fast/dom/compare-document-position-disconnected-nodes.html:
* fast/dom/shadow/compare-document-position-expected.txt:
* fast/dom/shadow/compare-document-position.html:

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

7 years agoREGRESSION(FTL): Fix mips implementation of ctiVMThrowTrampolineSlowpath.
commit-queue@webkit.org [Fri, 2 Aug 2013 18:45:21 +0000 (18:45 +0000)]
REGRESSION(FTL): Fix mips implementation of ctiVMThrowTrampolineSlowpath.
https://bugs.webkit.org/show_bug.cgi?id=119447

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-08-02
Reviewed by Geoffrey Garen.

Fix .cpload, update call frame and do not restore registers from JIT stack frame in
mips implementation of ctiVMThrowTrampolineSlowpath. This change is similar to
r153583 (sh4) and r153648 (ARM).

* jit/JITStubsMIPS.h:

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

7 years agoImplement canvas blending test that should validate the following scenarios:
commit-queue@webkit.org [Fri, 2 Aug 2013 18:42:51 +0000 (18:42 +0000)]
Implement canvas blending test that should validate the following scenarios:
Validate that all blending operators work as expected for the following layer combinations:

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

Patch by Mihai Tica <mitica@adobe.com> on 2013-08-02
Reviewed by Dirk Schulze.

* fast/canvas/canvas-blending-clipping-expected.txt: Added.
* fast/canvas/canvas-blending-clipping.html: Added.
* fast/canvas/canvas-blending-color-over-color-expected.txt: Added.
* fast/canvas/canvas-blending-color-over-color.html: Added.
* fast/canvas/canvas-blending-color-over-gradient-expected.txt: Added.
* fast/canvas/canvas-blending-color-over-gradient.html: Added.
* fast/canvas/canvas-blending-color-over-image-expected.txt: Added.
* fast/canvas/canvas-blending-color-over-image.html: Added.
* fast/canvas/canvas-blending-color-over-pattern-expected.txt: Added.
* fast/canvas/canvas-blending-color-over-pattern.html: Added.
* fast/canvas/canvas-blending-fill-style-expected.txt: Added.
* fast/canvas/canvas-blending-fill-style.html: Added.
* fast/canvas/canvas-blending-global-alpha-expected.txt: Added.
* fast/canvas/canvas-blending-global-alpha.html: Added.
* fast/canvas/canvas-blending-gradient-over-color-expected.txt: Added.
* fast/canvas/canvas-blending-gradient-over-color.html: Added.
* fast/canvas/canvas-blending-gradient-over-gradient-expected.txt: Added.
* fast/canvas/canvas-blending-gradient-over-gradient.html: Added.
* fast/canvas/canvas-blending-gradient-over-image-expected.txt: Added.
* fast/canvas/canvas-blending-gradient-over-image.html: Added.
* fast/canvas/canvas-blending-gradient-over-pattern-expected.txt: Added.
* fast/canvas/canvas-blending-gradient-over-pattern.html: Added.
* fast/canvas/canvas-blending-helpers.js: Added.
(separateBlendFunctions.normal):
(separateBlendFunctions.multiply):
(separateBlendFunctions.screen):
(separateBlendFunctions.overlay):
(separateBlendFunctions.darken):
(separateBlendFunctions.lighten):
(separateBlendFunctions.colorDodge):
(separateBlendFunctions.colorBurn):
(separateBlendFunctions.hardLight):
(separateBlendFunctions.softLight):
(separateBlendFunctions.difference):
(separateBlendFunctions.exclusion):
(applyBlendMode):
(luminosity):
(clipColor):
(setLuminosity):
(saturation):
(setSaturation):
(nonSeparateBlendFunctions.hue):
(nonSeparateBlendFunctions.saturation):
(nonSeparateBlendFunctions.color):
(nonSeparateBlendFunctions.luminosity):
(drawColorInContext):
(drawBackdropColorInContext):
(drawSourceColorInContext):
(fillPathWithColorInContext):
(fillPathWithBackdropInContext):
(fillPathWithSourceInContext):
(applyTransformsToContext):
(drawBackdropColorWithShadowInContext):
(drawSourceColorRectOverShadow):
(.backdropImage.onload):
(drawColorImageInContext):
(drawBackdropColorImageInContext):
(drawSourceColorImageInContext):
(drawColorPatternInContext):
(drawBackdropColorPatternInContext):
(drawSourceColorPatternInContext):
(drawGradientInContext):
(drawBackdropColorGradientInContext):
(drawSourceColorGradientInContext):
(blendColors):
(separateBlendColors):
(nonSeparateBlendColors):
* fast/canvas/canvas-blending-image-over-color-expected.txt: Added.
* fast/canvas/canvas-blending-image-over-color.html: Added.
* fast/canvas/canvas-blending-image-over-gradient-expected.txt: Added.
* fast/canvas/canvas-blending-image-over-gradient.html: Added.
* fast/canvas/canvas-blending-image-over-image-expected.txt: Added.
* fast/canvas/canvas-blending-image-over-image.html: Added.
* fast/canvas/canvas-blending-image-over-pattern-expected.txt: Added.
* fast/canvas/canvas-blending-image-over-pattern.html: Added.
* fast/canvas/canvas-blending-pattern-over-color-expected.txt: Added.
* fast/canvas/canvas-blending-pattern-over-color.html: Added.
* fast/canvas/canvas-blending-pattern-over-gradient-expected.txt: Added.
* fast/canvas/canvas-blending-pattern-over-gradient.html: Added.
* fast/canvas/canvas-blending-pattern-over-image-expected.txt: Added.
* fast/canvas/canvas-blending-pattern-over-image.html: Added.
* fast/canvas/canvas-blending-pattern-over-pattern-expected.txt: Added.
* fast/canvas/canvas-blending-pattern-over-pattern.html: Added.
* fast/canvas/canvas-blending-shadow-expected.txt: Added.
* fast/canvas/canvas-blending-shadow.html: Added.
* fast/canvas/canvas-blending-text-expected.txt: Added.
* fast/canvas/canvas-blending-text.html: Added.
* fast/canvas/canvas-blending-transforms-expected.txt: Added.
* fast/canvas/canvas-blending-transforms.html: Added.

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

7 years agohasIndexingHeader should be a property of the Structure, not just the IndexingType
fpizlo@apple.com [Fri, 2 Aug 2013 18:27:51 +0000 (18:27 +0000)]
hasIndexingHeader should be a property of the Structure, not just the IndexingType
https://bugs.webkit.org/show_bug.cgi?id=119422

Reviewed by Oliver Hunt.

This simplifies some code and also allows Structure to claim that an object
has an indexing header even if it doesn't have indexed properties.

I also changed some calls to use hasIndexedProperties() since in some cases,
that's what we actually meant. Currently the two are synonyms.

* dfg/DFGRepatch.cpp:
(JSC::DFG::tryCachePutByID):
(JSC::DFG::tryBuildPutByIdList):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compileAllocatePropertyStorage):
(JSC::DFG::SpeculativeJIT::compileReallocatePropertyStorage):
* runtime/ButterflyInlines.h:
(JSC::Butterfly::create):
(JSC::Butterfly::growPropertyStorage):
(JSC::Butterfly::growArrayRight):
(JSC::Butterfly::resizeArray):
* runtime/IndexingType.h:
* runtime/JSObject.cpp:
(JSC::JSObject::copyButterfly):
(JSC::JSObject::visitButterfly):
(JSC::JSObject::setPrototype):
* runtime/JSObject.h:
(JSC::JSObject::setButterfly):
* runtime/JSPropertyNameIterator.cpp:
(JSC::JSPropertyNameIterator::create):
* runtime/Structure.h:
(JSC::Structure::hasIndexingHeader):

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

7 years agoRevert r153632, since it caused fast/forms/change-form-element-document-crash.html
simon.fraser@apple.com [Fri, 2 Aug 2013 18:03:40 +0000 (18:03 +0000)]
Revert r153632, since it caused fast/forms/change-form-element-document-crash.html
to assert.

* html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::formAttributeChanged):
(WebCore::FormAssociatedElement::resetFormAttributeTargetObserver):

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

7 years agoImplement atk_text_get_text_*_offset for WORD
mario@webkit.org [Fri, 2 Aug 2013 16:02:11 +0000 (16:02 +0000)]
Implement atk_text_get_text_*_offset for WORD
https://bugs.webkit.org/show_bug.cgi?id=114871

Reviewed by Martin Robinson.

Source/WebCore:

Re-implement this functions without using GailTextUtil nor Pango.

* accessibility/atk/WebKitAccessibleInterfaceText.cpp:
(textForObject): Made the parameter a const, to avoid warnings.
(getSelectionOffsetsForObject): Add special cases for END boundaries.
(emptyTextSelectionAtOffset): Convenience function to be used in
early returns from functions returning both text and offsets.
(webkitAccessibleTextGetChar): Use emptyTextSelectionAtOffset(),
and remove checks that are now done outside of this function, in
webkitAccessibleTextGetTextForOffset().
(nextWordStartPosition): Helper function to reliably find the
start of the next word as and user would do it by navigating with
Ctrl and the arrows (considering spaces and punctuation).
(previousWordEndPosition): Similar to nextWordStartPosition, but
written to help find the end of the previous one.
(wordAtPositionForAtkBoundary): Helper function to find the word
at a given position considering values of AtkTextBoundary.
(numberOfReplacedElementsBeforeOffset): Helper function to help
figure out how many embedded objects we have exposed for an
AtkText object, used to adjust offsets coming from outside.
(webkitAccessibleTextGetWordForBoundary): New function,
implementing atk_text_get_text_*_offset for WORD.
(webkitAccessibleTextGetTextForOffset): Replace usage of Gail for
WORD boundaries with webkitAccessibleTextGetWordForBoundary().
Also, moved the initialization of the start and end offsets to the
bottom, into the gail/pango section, since those values will be
from now on initialized in getSelectionOffsetsForObject().
(webkitAccessibleTextGetSelection): Removed the initialization of
the start and end offsets, since those values will be from now on
initialized in getSelectionOffsetsForObject().

Source/WebKit/gtk:

Updated current unit tests and add a new one specific for embedded
objects, to ensure we are covering even more cases than before.

* tests/testatk.c:
(testWebkitAtkGetTextAtOffsetWithEmbeddedObjects): New.
(main): Added new test to the test suite.

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

7 years ago[EFL] REGRESSION after r153432: some accessibility tests crash.
commit-queue@webkit.org [Fri, 2 Aug 2013 15:52:39 +0000 (15:52 +0000)]
[EFL] REGRESSION after r153432: some accessibility tests crash.
https://bugs.webkit.org/show_bug.cgi?id=119333

Patch by Mario Sanchez Prada <mario.prada@samsung.com> on 2013-08-02
Reviewed by Gustavo Noronha Silva.

Add missing null-check to avoid dereferencing a non-existent parent.

* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:
(WTR::attributesOfElement): Ditto.

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

7 years agoBuildfix for !ENABLE(SVG) platforms after r153581.
zarvai@inf.u-szeged.hu [Fri, 2 Aug 2013 15:40:57 +0000 (15:40 +0000)]
Buildfix for !ENABLE(SVG) platforms after r153581.
https://bugs.webkit.org/show_bug.cgi?id=119444

Reviewed by Andreas Kling.

Adding missing guards.

* css/StylePropertyShorthand.cpp:
(WebCore::matchingShorthandsForLonghand):
* css/StylePropertyShorthand.h:

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

7 years agoREGRESSION (r130783): Scrolling is broken going back to a cached page from a page...
beidson@apple.com [Fri, 2 Aug 2013 15:18:19 +0000 (15:18 +0000)]
REGRESSION (r130783): Scrolling is broken going back to a cached page from a page that still has outstanding subresources.
<rdar://problem/14601124> and https://bugs.webkit.org/show_bug.cgi?id=119416

Reviewed by Darin Adler.

Source/WebCore:

Test: http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html

* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::stopLoading): Always explicitly cancel the Document parser when stopLoading is called.

LayoutTests:

* http/tests/loading/resources/page-with-slow-loading-subresource.html: Added.
* http/tests/loading/resources/slowimage.php: Added.
* http/tests/loading/unfinished-load-back-to-cached-page-callbacks-expected.txt:
* http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html:
* http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks-expected.txt: Copied from LayoutTests/http/tests/loading/unfinished-load-back-to-cached-page-callbacks-expected.txt.
* http/tests/loading/unfinished-main-resource-back-to-cached-page-callbacks.html: Copied from LayoutTests/http/tests/loading/unfinished-load-back-to-cached-page-callbacks.html.

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

7 years agoREGRESSION: ARM still crashes after change set r153612.
commit-queue@webkit.org [Fri, 2 Aug 2013 14:59:27 +0000 (14:59 +0000)]
REGRESSION: ARM still crashes after change set r153612.
https://bugs.webkit.org/show_bug.cgi?id=119433

Patch by Julien Brianceau <jbrianceau@nds.com> on 2013-08-02
Reviewed by Michael Saboff.

Update call frame and do not restore registers from JIT stack frame in ARM and ARMv7
implementations of ctiVMThrowTrampolineSlowpath. This change is similar to r153583
for sh4 architecture.

* jit/JITStubsARM.h:
* jit/JITStubsARMv7.h:

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

7 years ago<input type="search"> doesn't correctly handle the "size" attribute
graouts@apple.com [Fri, 2 Aug 2013 14:58:09 +0000 (14:58 +0000)]
<input type="search"> doesn't correctly handle the "size" attribute
https://bugs.webkit.org/show_bug.cgi?id=119174

Source/WebCore:

We weren't taking into account the decorations for search fields (results and close buttons)
when computing the preferred logical width for these fields based on the "size" attribute
and as a result we would not guarantee that we could show the number of characters set by
the "size" attribute.

To make the process of reporting extra width due to decorations cleaner, we add a new decorationWidth()
method for InputType subclasses to override and called through HTMLInputElement::decorationWidth()
and have NumberInputType and SearchInputType return custom decoration widths.

Reviewed by Darin Adler.

Test: fast/forms/search/search-size-with-decorations.html

* html/HTMLInputElement.cpp:
(WebCore::HTMLInputElement::decorationWidth):
* html/HTMLInputElement.h:
* html/InputType.cpp:
(WebCore::InputType::decorationWidth):
* html/InputType.h:
Expose a new method to get the width for the input's decoration through the InputType.

* html/NumberInputType.cpp:
(WebCore::NumberInputType::decorationWidth):
* html/NumberInputType.h:
Override InputType::decorationWidth() to return the decoration width for a number input
using the same code previously used in RenderTextControlSingleLine::preferredContentLogicalWidth().

* html/SearchInputType.cpp:
(WebCore::SearchInputType::sizeShouldIncludeDecoration):
Override InputType::sizeShouldIncludeDecoration() to return true since search fields
have custom decoration adding to the size of the field.

(WebCore::SearchInputType::decorationWidth):
Return the combined size of the results and cancel buttons, as available.
* html/SearchInputType.h:

* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth):
Remove the code specific to NumberInputType (which was moved to InputType::decorationWidth())
and replace it with a call to HTMLInputElement::decorationWidth() since this method will now
return the extra decoration width for an input element should it have any.

LayoutTests:

New test fast/forms/search/search-size-with-decorations.html that checks the different
decorations for search fields and the resulting sizes.

Also rebaselining the following tests since the rendering of search fields changed:

fast/forms/search-cancel-button-style-sharing.html
fast/forms/search-display-none-cancel-button.html
fast/forms/searchfield-heights.html
fast/forms/control-restrict-line-height.html
fast/forms/placeholder-pseudo-style.html
fast/forms/search-rtl.html
fast/css/text-overflow-input.html
fast/forms/placeholder-position.html
fast/repaint/search-field-cancel.html
fast/forms/input-appearance-height.html
fast/forms/search-vertical-alignment.html
fast/forms/box-shadow-override.html
fast/forms/search/search-size-with-decorations.html
fast/css/input-search-padding.html
fast/forms/search-styled.html

Reviewed by Darin Adler.

* fast/forms/placeholder-position-expected.txt:
* fast/forms/search/search-size-with-decorations-expected.txt: Added.
* fast/forms/search/search-size-with-decorations.html: Added.
* fast/repaint/search-field-cancel-expected.txt:
* platform/mac/fast/css/input-search-padding-expected.txt:
* platform/mac/fast/css/text-overflow-input-expected.png:
* platform/mac/fast/css/text-overflow-input-expected.txt:
* platform/mac/fast/forms/box-shadow-override-expected.png:
* platform/mac/fast/forms/box-shadow-override-expected.txt:
* platform/mac/fast/forms/control-restrict-line-height-expected.png:
* platform/mac/fast/forms/control-restrict-line-height-expected.txt:
* platform/mac/fast/forms/input-appearance-height-expected.png:
* platform/mac/fast/forms/input-appearance-height-expected.txt:
* platform/mac/fast/forms/placeholder-position-expected.png:
* platform/mac/fast/forms/placeholder-pseudo-style-expected.png:
* platform/mac/fast/forms/placeholder-pseudo-style-expected.txt:
* platform/mac/fast/forms/search-cancel-button-style-sharing-expected.png:
* platform/mac/fast/forms/search-cancel-button-style-sharing-expected.txt:
* platform/mac/fast/forms/search-display-none-cancel-button-expected.txt:
* platform/mac/fast/forms/search-rtl-expected.png:
* platform/mac/fast/forms/search-rtl-expected.txt:
* platform/mac/fast/forms/search-styled-expected.txt:
* platform/mac/fast/forms/search-vertical-alignment-expected.png:
* platform/mac/fast/forms/search-vertical-alignment-expected.txt:
* platform/mac/fast/forms/search/search-size-with-decorations-expected.png: Added.
* platform/mac/fast/forms/searchfield-heights-expected.png:
* platform/mac/fast/forms/searchfield-heights-expected.txt:
* platform/mac/fast/repaint/search-field-cancel-expected.png:

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

7 years agoREGRESSION(r153612): It made jsc and layout tests crash
msaboff@apple.com [Fri, 2 Aug 2013 14:46:05 +0000 (14:46 +0000)]
REGRESSION(r153612): It made jsc and layout tests crash
https://bugs.webkit.org/show_bug.cgi?id=119440

Reviewed by Csaba Osztrogon√°c.

Made the changes if changeset r153612 only apply to 32 bit builds.

* jit/JITExceptions.cpp:
* jit/JITExceptions.h:
* jit/JITStubs.cpp:
(JSC::cti_vm_throw_slowpath):
* jit/JITStubs.h:

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

7 years ago[WIN] Fix build without precompiled header.
paroga@webkit.org [Fri, 2 Aug 2013 12:19:19 +0000 (12:19 +0000)]
[WIN] Fix build without precompiled header.

* accessibility/win/AccessibilityObjectWrapperWin.h: Added missing include.
* rendering/RenderThemeWin.cpp: Ditto.

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

7 years agoAdd JSCTestRunnerUtils to the list of forwarding headers to fix build.
paroga@webkit.org [Fri, 2 Aug 2013 11:37:10 +0000 (11:37 +0000)]
Add JSCTestRunnerUtils to the list of forwarding headers to fix build.

* CMakeLists.txt:

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

7 years agoRemove redundant call of argsList->current() from loops in CSSParser.
bw80.lee@samsung.com [Fri, 2 Aug 2013 10:49:04 +0000 (10:49 +0000)]
Remove redundant call of argsList->current() from loops in CSSParser.
https://bugs.webkit.org/show_bug.cgi?id=119432

Reviewed by Christophe Dumez.

while loops in CSSParser call argList->current() function at the start
of each iteration, but this is redundant because argsList->next() at
the end of the iteration calls the argList->current() and returns the
result.

Blink merge from https://src.chromium.org/viewvc/blink?view=rev&revision=155402

* css/CSSParser.cpp:
(WebCore::CSSParser::parseMixFunction):
(WebCore::CSSParser::parseCustomFilterFunctionWithInlineSyntax):

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

7 years agoCorrect bugzilla link in my last commit.
akling@apple.com [Fri, 2 Aug 2013 09:22:07 +0000 (09:22 +0000)]
Correct bugzilla link in my last commit.

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

7 years agoRemoving an empty style sheet shouldn't trigger style recalc.
akling@apple.com [Fri, 2 Aug 2013 09:15:43 +0000 (09:15 +0000)]
Removing an empty style sheet shouldn't trigger style recalc.
<http://webkit.org/b/119248>
<rdar://problem/14629045>

Reviewed by Antti Koivisto.

Teach DocumentStyleSheetCollection to filter out empty style sheets when deciding whether
or not to trigger a style recalc. We can then be clever when an empty style sheet is removed
from the document, and avoid causing extra work.

Some pages use this pattern:

    (1) Create a <style> element.
    (2) Add it to the document's <head> element.
    (3) Insert some CSS as a text child of the <style> element.

Since the <style> element is already inside the document at (3), we had to treat this as an
old style sheet being removed, even though it was just an empty sheet of nothing.

With this patch, Document gains enough smarts to know that removing/adding an empty sheet
won't affect layout/rendering in any meaningful way, thus a style recalc can be avoided.

* dom/Document.h:
* dom/Document.cpp:
(WebCore::Document::styleResolverChanged):

    Add a DeferRecalcStyleIfNeeded mode to styleResolverChanged().

* css/CSSStyleSheet.h:
* css/CSSStyleSheet.cpp:
(WebCore::CSSStyleSheet::clearOwnerNode):

    Use DeferRecalcStyleIfNeeded when saying bye from a CSSStyleSheet and let Document decide
    if removing the sheet should trigger style recalc instead of always assuming it should.

* dom/DocumentStyleSheetCollection.cpp:
(WebCore::filterEnabledNonemptyCSSStyleSheets):
(WebCore::DocumentStyleSheetCollection::updateActiveStyleSheets):

    Exclude empty sheets from the activeAuthorStyleSheets() collection. They are still
    visible through CSSOM's document.styleSheets.

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

7 years agoFrame flattening: Change the logic on whether resize event needs to be dispatched.
zalan@apple.com [Fri, 2 Aug 2013 08:58:23 +0000 (08:58 +0000)]
Frame flattening: Change the logic on whether resize event needs to be dispatched.
https://bugs.webkit.org/show_bug.cgi?id=119394

Reviewed by Simon Fraser.

http://trac.webkit.org/changeset/149287 changed the logic so that resize events are
sent out from FrameView::setFrameRect() too. Checking whether frame flattening is
enabled is sufficient enough to ensure that no extra resize events are dispatched.

Source/WebCore:

Test: fast/frames/flattening/iframe-flattening-resize-event-count.html

* page/FrameView.cpp:
(WebCore::FrameView::FrameView):
(WebCore::FrameView::setFrameRect):
(WebCore::FrameView::frameFlatteningEnabled):
(WebCore::FrameView::supportsFrameFlattening):
(WebCore::FrameView::avoidScrollbarCreation):
(WebCore::FrameView::calculateScrollbarModesForLayout):
(WebCore::FrameView::layout):
(WebCore::FrameView::isInChildFrameWithFrameFlattening):
* page/FrameView.h:
* rendering/RenderFrameBase.cpp:
(WebCore::RenderFrameBase::layoutWithFlattening):

LayoutTests:

* fast/frames/flattening/iframe-flattening-resize-event-count-expected.txt: Added.
* fast/frames/flattening/iframe-flattening-resize-event-count.html: Added.
* fast/frames/flattening/resources/iframe-to-resize.html: Added.

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

7 years agoAdd --rmdir option to git svn dcommit
paroga@webkit.org [Fri, 2 Aug 2013 08:32:30 +0000 (08:32 +0000)]
Add --rmdir option to git svn dcommit
https://bugs.webkit.org/show_bug.cgi?id=119398

Reviewed by Ryosuke Niwa.

Add this option tells git-svn to remove empty directories
from the svn tree so they do not leave over there.

* Scripts/webkitpy/common/checkout/scm/git.py:
(Git.push_local_commits_to_server):

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

7 years agoCheck WTF::Vector size with '0' inline capacity
mikhail.pozdnyakov@intel.com [Fri, 2 Aug 2013 08:20:23 +0000 (08:20 +0000)]
Check WTF::Vector size with '0' inline capacity
https://bugs.webkit.org/show_bug.cgi?id=119397

Reviewed by Andreas Kling.

Putting in place the compile assertion that had been removed with r153514.

* wtf/SizeLimits.cpp:

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

7 years ago<http://webkit.org/b/119169> RetainPtr should support ARC for Objective-C objects.
mrowe@apple.com [Fri, 2 Aug 2013 07:51:49 +0000 (07:51 +0000)]
<webkit.org/b/119169> RetainPtr should support ARC for Objective-C objects.

While RetainPtr is not necessary under ARC, having it available makes it easier to transition
existing code from manual retain / release to ARC.

Under ARC, the object member of RetainPtr is treated as a strong reference by the compiler.
This means that merely assigning to the member variable is sufficient to retain the object,
and clearing the member variable is sufficient to release it. We still need to explicitly
CFRetain / CFRelease CoreFoundation types so the explicit calls to these functions are
moved in to helper functions and overloading is used to have the Objective-C object versions
of them be no-ops under ARC.

Reviewed by Anders Carlsson.

* wtf/RetainPtr.h:
(WTF::retain): Continue to always CFRetain / CFRelease CoreFoundation objects. Only CFRetain / CFRelease
Objective-C objects when using manual retain / release.
(WTF::release): Ditto.
(WTF::adoptNSReference): Adopting references will be handled automatically by the compiler
when possible under ARC by eliminating redundant retain / release pairs.
(WTF::RetainPtr::ImplicitConversionToBoolIsNotAllowed): A new method that exists only to be used by the
conversion to the unspecified bool type.
(WTF::RetainPtr::operator UnspecifiedBoolType): Switch to using a pointer to a member function as the
unspecified bool type to avoid warnings from the compiler when casting Objective-C object types under ARC.

(WTF::RetainPtr::RetainPtr): Switch to our retain / release helper functions.
(WTF::RetainPtr::~RetainPtr): Ditto.
(WTF::::RetainPtr): Ditto.
(WTF::::clear): Ditto.
(WTF::=): Ditto.
(WTF::adoptCF): Annotate the argument with CF_RELEASES_ARGUMENT on both the declaration and the definition.
(WTF::adoptNS): Ditto for NS_RELEASES_ARGUMENT.

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

7 years ago<rdar://problem/14235491> FastMalloc zone enumerator responding to MALLOC_PTR_REGION_...
mrowe@apple.com [Fri, 2 Aug 2013 06:09:05 +0000 (06:09 +0000)]
<rdar://problem/14235491> FastMalloc zone enumerator responding to MALLOC_PTR_REGION_RANGE_TYPE with individual allocations

Teach PageMapMemoryUsageRecorder::recordPendingRegions to only record data of the type that it's asked for.
This also fixes the vmmap output to associate some regions with the FastMalloc malloc zone that were previously
associated with it only via the VM tag, meaning they were incorrectly being omitted from the malloc statistics
section of the report.

Reviewed by Dan Bernstein.

* wtf/FastMalloc.cpp:
(WTF::PageMapMemoryUsageRecorder::recordPendingRegions): Report the individual allocations only when requested. Add
the ability to report the regions containing pointers separately from the allocations.

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

7 years ago<rdar://problem/14528244> False-positive leaks from FastMalloc.
mrowe@apple.com [Fri, 2 Aug 2013 06:01:54 +0000 (06:01 +0000)]
<rdar://problem/14528244> False-positive leaks from FastMalloc.

A logic error in the page map enumeration code within FastMalloc could result in a subset of the memory regions
owned by FastMalloc being skipped by the malloc zone enumeration code used by leaks and other performance tools.
If the only reference to an allocated object lived within one of the skipped memory regions, leaks would believe
it had been leaked since it would not find any references to the object.

The logic error manifested when a FastMalloc span owned a region of memory that crossed a 16MB address space boundary,
and when there was one or more other spans immediately after it in the address space. Crossing the 16MB address space
boundary means that the start and end points of the span are in different leaf nodes of the page map trie, and the
code within the page map's visitValues method didn't correctly account this case when skipping to the end of the span
after visiting it. It would resume iterating from the start of the next leaf node rather than continuing to skip values
until the end of the span was passed. The value representing the end of the span would then be processed as if it were
the start of a new span, and more values would be skipped even though they may contain actual spans.

The solution is to rework the algorithm used in visitValues so that it will skip the correct number of values even when
some of the values are in different leaf nodes. This is a more involved change than it may seem since it's also necessary
to deal with the case where a memory region spans two separate root nodes, which can happen if the region happens to cross
a 64GB boundary in the address space.

Reviewed by Geoff Garen.

* wtf/TCPageMap.h:
(TCMalloc_PageMap3::visitValues): Use a single loop to iterate, with the loop index being the key in to the page map in the
same form as used by get and set. This allows us to correctly deal with the index being skipped to a different intermediate or
root node as a result of visiting a span that crosses a 16MB boundary in memory.
(TCMalloc_PageMap2::visitValues): Ditto, but without having to deal with intermediate nodes.

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

7 years agoUnreviewed, rolling out r153608.
commit-queue@webkit.org [Fri, 2 Aug 2013 02:39:15 +0000 (02:39 +0000)]
Unreviewed, rolling out r153608.
http://trac.webkit.org/changeset/153608
https://bugs.webkit.org/show_bug.cgi?id=119425

Snorkled fast/multicol/overflow-content-expected.html
(Requested by kling on #webkit).

Source/WebCore:

* css/StyleResolver.cpp:
(WebCore::StyleResolver::applyMatchedProperties):

LayoutTests:

* fast/css/identical-logical-height-decl-expected.html: Removed.
* fast/css/identical-logical-height-decl.html: Removed.

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

7 years ago[Forms: color] <input type='color'> popover color well implementation
commit-queue@webkit.org [Fri, 2 Aug 2013 02:07:34 +0000 (02:07 +0000)]
[Forms: color] <input type='color'> popover color well implementation
<rdar://problem/14411008> and https://bugs.webkit.org/show_bug.cgi?id=119356

Patch by Ruth Fong <ruth_fong@apple.com> on 2013-08-01
Reviewed by Benjamin Poulain.

Source/JavaScriptCore:

* Configurations/FeatureDefines.xcconfig: Added and enabled INPUT_TYPE_COLOR_POPOVER.

Source/WebCore:

* Configurations/FeatureDefines.xcconfig: Added and enabled INPUT_TYPE_COLOR_POPOVER.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig: Added and enabled INPUT_TYPE_COLOR_POPOVER.

Source/WebKit2:

This patch adds an popover implementation of <input type='color'>.

* Configurations/FeatureDefines.xcconfig: Added and enabled INPUT_TYPE_COLOR_POPOVER.

* UIProcess/API/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::createColorPicker): Updated to pass the
  coordinates of the <input type='color'> element and the WKView
  object for the window.

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::viewWillStartLiveResize): Close popover color
  picker when the view is resized.
(WebKit::WebPageProxy::viewInWindowStateDidChange): Close popover color
  picker when the view is no longer in the window.
(WebKit::WebPageProxy::showColorPicker): Updated to show either a color panel
  or a popover color picker depending on whether INPUT_TYPE_COLOR_POPOVER is enabled.

* UIProcess/mac/WebColorPickerMac.h:
* UIProcess/mac/WebColorPickerMac.mm:
(WebKit::WebColorPickerMac::create):
(WebKit::WebColorPickerMac::~WebColorPickerMac):
(WebKit::WebColorPickerMac::WebColorPickerMac):
(WebKit::WebColorPickerMac::endPicker):
(WebKit::WebColorPickerMac::setSelectedColor):
(WebKit::WebColorPickerMac::showColorPicker):
Methods updated to handle both the color panel implementation and
  the popover implementation; also renamed m_panel to m_colorPickerUI.

(-[WKColorPopoverMac initWithFrame:WebCore::inView:]):
(-[WKColorPopoverMac setAndShowPicker:WebKit::withColor:]):
(-[WKColorPopoverMac dealloc]):
(-[WKColorPopoverMac invalidate]):
(-[WKColorPopoverMac windowWillClose:]):
(-[WKColorPopoverMac didChooseColor:]):
(-[WKColorPopoverMac setColor:]):
WKColorPopoverMac provides the popover implementation of <input type='color'>.

(-[WKColorPanelMac didChooseColor:]): Updated to match the interface of
  WKColorPickerMac::didChooseColor.

Source/WTF:

* wtf/FeatureDefines.h: Added and enabled INPUT_TYPE_COLOR_POPOVER.

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

7 years agoFormAssociatedElement shouldn't create out-of-tree FormAttributeTargetObserver
rniwa@webkit.org [Fri, 2 Aug 2013 01:57:12 +0000 (01:57 +0000)]
FormAssociatedElement shouldn't create out-of-tree FormAttributeTargetObserver
https://bugs.webkit.org/show_bug.cgi?id=119309

Reviewed by Kent Tamura.

Merge https://chromium.googlesource.com/chromium/blink/+/6fbdcbf311de539107bc28711b3f7a527176e97b.

I'm not merging the test since the attached test case only works when the shadow DOM API is enabled.

* html/FormAssociatedElement.cpp:
(WebCore::FormAssociatedElement::formAttributeChanged):
(WebCore::FormAssociatedElement::resetFormAttributeTargetObserver):

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

7 years agoselectors should match attribute name with case sensitivity based on element & docume...
rwlbuis@webkit.org [Fri, 2 Aug 2013 01:00:10 +0000 (01:00 +0000)]
selectors should match attribute name with case sensitivity based on element & document type
https://bugs.webkit.org/show_bug.cgi?id=71152

Reviewed by Darin Adler.

Source/WebCore:

Support case-sensitive attribute name selecting for non HTML. In order to do this we have to
store the attribute name in the selector as-is when css parsing, and get the lowercase localName
on demand for case-insensitive matching. The only time we want case-insensitive matching is when
we try to match a HTML element in a HTML document.

Tests: fast/dom/SelectorAPI/attrname-case-insensitive.html
       fast/dom/SelectorAPI/attrname-case-sensitive.xhtml
       svg/css/case-sensitive-attrname-selectors.html

* css/CSSGrammar.y.in: do not lowercase attribute selector name.
* css/CSSParserValues.h:
(WebCore::CSSParserSelector::setAttribute):
* css/CSSSelector.cpp:
(WebCore::CSSSelector::setAttribute):
* css/CSSSelector.h: allow access to lowered version of attribute localName if needed.
(WebCore::CSSSelector::attributeCanonicalLocalName):
* css/SelectorChecker.cpp:
(WebCore::anyAttributeMatches): do only case-insensitive matching for HTML.
(WebCore::SelectorChecker::checkOne):
* css/SelectorChecker.h:
(WebCore::SelectorChecker::checkExactAttribute): do only case-insensitive matching for HTML.
* css/SelectorCheckerFastPath.cpp:
(WebCore::HTMLNames::checkExactAttributeValue):
* css/SelectorCheckerFastPath.h:
(WebCore::SelectorCheckerFastPath::matchesRightmostAttributeSelector):
* dom/Attribute.h:
(WebCore::Attribute::matches): use more convenient parameters.

LayoutTests:

Results matches FireFox nightly.

* fast/dom/SelectorAPI/attrname-case-insensitive-expected.txt: Added.
* fast/dom/SelectorAPI/attrname-case-insensitive.html: Check that in HTML documents CSS selectors
use case-insensitive attribute name matching for HTML elements, case-sensitive otherwise.
* fast/dom/SelectorAPI/attrname-case-sensitive-expected.txt: Added.
* fast/dom/SelectorAPI/attrname-case-sensitive.xhtml: Check that in XHTML documents CSS selectors
always use case-sensitive attribute name matching.
* svg/css/case-sensitive-attrname-selectors-expected.txt: Added.
* svg/css/case-sensitive-attrname-selectors.html: Check that in HTML documents CSS selectors in stylesheets
use case-insensitive attribute name matching for HTML elements, case-sensitive otherwise.

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

7 years ago <rdar://problem/14625616> http/tests/download/basic-ascii.html and http/tests...
ap@apple.com [Fri, 2 Aug 2013 00:23:02 +0000 (00:23 +0000)]
    <rdar://problem/14625616> http/tests/download/basic-ascii.html and http/tests/download/literal-utf-8.html fails

        Changed the PHP files to not have a BOM, which confuses some versions of PHP.
        They are both ASCII anyway.

        * http/tests/download/resources/basic-ascii.php:
        * http/tests/download/resources/literal-utf-8.php:

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

7 years ago[Windows] WebKit1 Fullscreen Video Play is Broken
bfulgham@apple.com [Fri, 2 Aug 2013 00:07:03 +0000 (00:07 +0000)]
[Windows] WebKit1 Fullscreen Video Play is Broken
https://bugs.webkit.org/show_bug.cgi?id=119415

Reviewed by Jer Noble.

Source/WebCore:

* platform/graphics/avfoundation/cf/AVFoundationCFSoftLinking.h: Add
call for ACFPlayerLayerSetFrame
* platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
(WebCore::MediaPlayerPrivateAVFoundationCF::platformSetVisible):
Tear down video player when leaving Fullscreen mode and not using
the newer Fullscreen feature.
(WebCore::AVFWrapper::disconnectAndDeleteAVFWrapper):
Disconnect from notifications for AVCFPlayerItemPresentationSizeChangedNotification,
AVCFPlayerItemDuratoinChangedNotification, and disconnect any
LegibleOutput items added to the player item.
(WebCore::AVFWrapper::createPlayerItem): Add notifications for
AVCFPlayerItemPresentationSizeChanged.
(WebCore::LayerClient::platformCALayerLayoutSublayersOfLayer): Notify
the AVCFPLayerLayer when the display size has changed.
* platform/graphics/ca/win/CACFLayerTreeHost.h:
(WebCore::CACFLayerTreeHost::manualCreateRenderer): Added.
* platform/graphics/ca/win/WKCACFViewLayerTreeHost.h:
(WebCore::WKCACFViewLayerTreeHost::manualCreateRenderer): Added.
* platform/graphics/win/MediaPlayerPrivateFullscreenWindow.cpp:
(WebCore::MediaPlayerPrivateFullscreenWindow::createWindow): Minor
cleanups.
(WebCore::MediaPlayerPrivateFullscreenWindow::setRootChildLayer):
Make sure a Direct3D renderer is created when building the full screen
window for Video playback.

Source/WebKit/win:

* WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings): Set accelerated
rendering on by default on systems that support it.
* WebView.cpp:
(WebView::exitFullscreen): Clean up Fullscreen video controller
once it is no longer used. This was preventing users from being
able to reenter Fullscreen mode after leaving it.
(WebView::fullScreenClientForceRepaint): Change assert to
match the member actually being used in the method.

Tools:

* WinLauncher/WinLauncher.cpp:
(dllLauncherEntryPoint): Activate full screen mode via
IWebPreferencesInternal interface.

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

7 years agosrcset algorithm breaks base64 src attributes
dino@apple.com [Fri, 2 Aug 2013 00:02:25 +0000 (00:02 +0000)]
srcset algorithm breaks base64 src attributes
https://bugs.webkit.org/show_bug.cgi?id=119413

Reviewed by Darin Adler.

Source/WebCore:

Base64 encoded src attributes typically have a COMMA
character which was breaking in the candidate matching
algorithm. Make sure to handle that case, and to unescape
any incoming URLs.

Slight cleanup of the srcset matching algorithm. The
candidates are now gathered from a single update
method. I've renamed the methods in the process.
This means we now reparse the srcset attribute if
only the src changes, but I think the code is
cleaner this way.

Tests: fast/hidpi/image-srcset-data-src.html
       fast/hidpi/image-srcset-data-srcset.html
       fast/hidpi/image-srcset-nomodifier.html
       fast/hidpi/image-srcset-viewport-modifiers.html

* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::HTMLImageElement): No need to initialise m_bestFitImageURL.
(WebCore::HTMLImageElement::imageSourceURL): Use isEmpty() rather than checking for nullAtom.
(WebCore::HTMLImageElement::determineBestImageForScaleFactor): New renamed method that selects the best
candidate for the image source.
(WebCore::HTMLImageElement::collectImageCandidatesFromSrcSet): Gather the srcset images. Changes include
simplifying the whitespace and skipping candidates that we don't yet support.
(WebCore::HTMLImageElement::collectImageCandidateFromSrc): Add the src attribute to the list of candidates.
(WebCore::HTMLImageElement::parseAttribute): Now both attributes call determineBestImageForScaleFactor.
* html/HTMLImageElement.h: No need for m_srcImageIndex any more.

LayoutTests:

Four new tests that exercise candidate matching. In particular:
- base64 encoded src attributes
- base64 encoded srcset attributes that are escaped
- attributes without scale modifiers
- attributes that have modifiers other than scale

* fast/hidpi/image-srcset-change-dynamically-from-js.html: Minor change to add scale modifier.
* fast/hidpi/image-srcset-data-src.html: Added.
* fast/hidpi/image-srcset-data-srcset.html: Added.
* fast/hidpi/image-srcset-nomodifier.html: Added.
* fast/hidpi/image-srcset-viewport-modifiers.html: Added.
* platform/mac/fast/hidpi/image-srcset-data-src-expected.png: Added.
* platform/mac/fast/hidpi/image-srcset-data-src-expected.txt: Added.
* platform/mac/fast/hidpi/image-srcset-data-srcset-expected.png: Added.
* platform/mac/fast/hidpi/image-srcset-data-srcset-expected.txt: Added.
* platform/mac/fast/hidpi/image-srcset-nomodifier-expected.png: Added.
* platform/mac/fast/hidpi/image-srcset-nomodifier-expected.txt: Added.
* platform/mac/fast/hidpi/image-srcset-viewport-modifiers-expected.png: Added.
* platform/mac/fast/hidpi/image-srcset-viewport-modifiers-expected.txt: Added.

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

7 years agoMinor cleanup for srcset tests
dino@apple.com [Fri, 2 Aug 2013 00:01:21 +0000 (00:01 +0000)]
Minor cleanup for srcset tests
https://bugs.webkit.org/show_bug.cgi?id=119407

Reviewed by Tim Horton.

Other than small typos and style tweaks, there are three
main changes here:

1. Collect duplicated code into a helper file.
2. Make sure the tests that add or remove the attributes
can run standalone outside of DRT.
3. Update the -simple test with new images that make it
more clear what srcset is doing.

* fast/hidpi/image-srcset-change-dynamically-from-js.html:
* fast/hidpi/image-srcset-invalid-inputs-correct-src.html:
* fast/hidpi/image-srcset-invalid-inputs-except-one.html:
* fast/hidpi/image-srcset-invalid-inputs.html:
* fast/hidpi/image-srcset-only-src-attribute.html:
* fast/hidpi/image-srcset-remove-dynamically-from-js.html:
* fast/hidpi/image-srcset-same-alternative-for-both-attributes.html:
* fast/hidpi/image-srcset-simple.html:
* fast/hidpi/image-srcset-src-selection.html:
* fast/hidpi/resources/image-set-1x.png: Added.
* fast/hidpi/resources/image-set-2x.png: Added.
* fast/hidpi/resources/srcset-helper.js: Added.
* platform/mac/fast/hidpi/image-srcset-simple-expected.png:
* platform/mac/fast/hidpi/image-srcset-simple-expected.txt:

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

7 years agoImplement img element's srcset attribute
dino@apple.com [Fri, 2 Aug 2013 00:00:29 +0000 (00:00 +0000)]
Implement img element's srcset attribute
https://bugs.webkit.org/show_bug.cgi?id=110252

Patch by Romain Perier <romain.perier@gmail.com> on 2013-08-01
Reviewed by Dean Jackson.

Source/WebCore:

Tests: fast/hidpi/image-srcset-simple.html
       fast/hidpi/image-srcset-src-selection.html
       fast/hidpi/image-srcset-simple.html
       fast/hidpi/image-srcset-src-selection.html
       fast/hidpi/image-srcset-only-src-attribute.html
       fast/hidpi/image-srcset-same-alternative-for-both-attributes.html
       fast/hidpi/image-srcset-invalid-inputs.html
       fast/hidpi/image-srcset-invalid-inputs-except-one.html
       fast/hidpi/image-srcset-invalid-inputs-correct-src.html
       fast/hidpi/image-srcset-change-dynamically-from-js.html
       fast/hidpi/image-srcset-remove-dynamically-from-js.html

* html/HTMLAttributeNames.in: Add srcset attribute.
* html/HTMLImageElement.cpp:
(WebCore::HTMLImageElement::HTMLImageElement):
Adding initialization for new variables member.
(WebCore::HTMLImageElement::imageSourceURL):
Override this method to return the choosen image transparently to the ImageLoader.
(WebCore::HTMLImageElement::updateBestImageForScaleFactor):
New method to select the good image candidate dependending on the scale factor. This method is separated from
parsing because it will be useful for selecting a new image candidate on the fly if the device scale factor changes.
(WebCore::HTMLImageElement::updateImagesFromSrcSet):
New method for parsing the srcset attribute and build a list of images with the corresponding scale factor.
(WebCore::HTMLImageElement::parseAttribute):
Adding support for processing the image candidates, select the good one and call ImageLoader for rendering.
* html/HTMLImageElement.h:
- Adding new methods declarations.
- Adding new type definition.
- Adding new variable member to store the URL of the choosen image.
- Adding new variable member to store the index of the src image.
- Adding new Vector to store the list of images after parsing.
* html/HTMLImageElement.idl: Adding srcset attribute for the differents existing bidings.

LayoutTests:

* fast/hidpi/image-srcset-simple.html: Ensures that the good image
is selected from srcset by the user agent according to the choosen scale factor.
* fast/hidpi/image-srcset-src-selection.html: Ensures that the image
from the src attribute is collected by the parsing algorithm and selected by the user agent
when no other candidate matches the scale factor.
* fast/hidpi/image-srcset-only-src-attribute.html: Ensures that the algorithms used for srcset
does not change the behaviour of the src attribute when the srcset attribute is not defined,
even using scale factor greater than 1.
* fast/hidpi/image-srcset-same-alternative-for-both-attributes.html: Ensures that the good image
is selected by the user agent when src and srcset contain an image with a scale factor of 1.
* fast/hidpi/image-srcset-invalid-inputs.html: Ensures that the parsing and the selection
algorithms support invalid inputs. Theses ones are simply ignored.
* fast/hidpi/image-srcset-invalid-inputs-except-one.html: Ensures that a valid image
is selected even if this one is part of a set containing invalid inputs.
* fast/hidpi/image-srcset-invalid-inputs-correct-src.html: Ensures that the image from
the src attribute is choosen when srcset contains only invalid inputs, this selection
should not depend on the scale factor.
* fast/hidpi/image-srcset-change-dynamically-from-js.html: Ensures that src and srcset attributes
can be changed dynamically from javascript.
* fast/hidpi/image-srcset-remove-dynamically-from-js.html: Ensures that src attribute
can be removed dynamically from javascript.
* platform/mac/fast/hidpi/image-srcset-simple-expected.png:
* platform/mac/fast/hidpi/image-srcset-simple-expected.txt:
* platform/mac/fast/hidpi/image-srcset-src-selection-expected.png:
* platform/mac/fast/hidpi/image-srcset-src-selection-expected.txt:
* platform/mac/fast/hidpi/image-srcset-only-src-attribute-expected.png:
* platform/mac/fast/hidpi/image-srcset-only-src-attribute-expected.txt:
* platform/mac/fast/hidpi/image-srcset-same-alternative-for-both-attributes-expected.png:
* platform/mac/fast/hidpi/image-srcset-same-alternative-for-both-attributes-expected.txt:
* platform/mac/fast/hidpi/image-srcset-invalid-inputs-expected.png:
* platform/mac/fast/hidpi/image-srcset-invalid-inputs-expected.txt:
* platform/mac/fast/hidpi/image-srcset-invalid-inputs-except-one-expected.png:
* platform/mac/fast/hidpi/image-srcset-invalid-inputs-except-one-expected.txt:
* platform/mac/fast/hidpi/image-srcset-invalid-inputs-correct-src-expected.png:
* platform/mac/fast/hidpi/image-srcset-invalid-inputs-correct-src-expected.txt:
* platform/mac/fast/hidpi/image-srcset-change-dynamically-from-js-expected.png:
* platform/mac/fast/hidpi/image-srcset-change-dynamically-from-js-expected.txt:
* platform/mac/fast/hidpi/image-srcset-remove-dynamically-from-js-expected.png:
* platform/mac/fast/hidpi/image-srcset-remove-dynamically-from-js-expected.txt:

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

7 years ago[CSS Shapes] New positioning model: support for stacked floats with shape-outside
bjonesbe@adobe.com [Thu, 1 Aug 2013 23:44:45 +0000 (23:44 +0000)]
[CSS Shapes] New positioning model: support for stacked floats with shape-outside
https://bugs.webkit.org/show_bug.cgi?id=118087

Reviewed by Alexandru Chiculita.

Import new test for stacked floats from the CSSWG's repository to
replace the old tests. The simple horizontal rectangle test is no
longer applicable now that float stacking ignores shapes, so it has
just been removed.

* TestExpectations: Remove skipping for replaced tests.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-stacked-000-expected.html: Added.
* csswg/submitted/shapes/shape-outside/shape-outside-floats-stacked-000.html: Added.
* fast/shapes/shape-outside-floats/shape-outside-floats-simple-rectangle-horizontal-multiple-expected.html: Removed.
* fast/shapes/shape-outside-floats/shape-outside-floats-simple-rectangle-horizontal-multiple.html: Removed.
* fast/shapes/shape-outside-floats/shape-outside-floats-stacked-expected.html: Removed.
* fast/shapes/shape-outside-floats/shape-outside-floats-stacked.html: Removed.

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

7 years agoUpdate polygon shape-outside tests for upstream changes
bjonesbe@adobe.com [Thu, 1 Aug 2013 23:17:51 +0000 (23:17 +0000)]
Update polygon shape-outside tests for upstream changes
https://bugs.webkit.org/show_bug.cgi?id=119414

Reviewed by Alexandru Chiculita.

The refs were updated upstream to make them work properly in Blink.
This pulls in that change to keep things in sync.

* csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-001-expected.html:
* csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-001.html:
* csswg/submitted/shapes/shape-outside/shape-outside-floats-polygon-002-expected.html:

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

7 years agoUnreviewed. Add an alternative address to show my affiliation in team.html.
changseok.oh@collabora.com [Thu, 1 Aug 2013 22:36:07 +0000 (22:36 +0000)]
Unreviewed. Add an alternative address to show my affiliation in team.html.

* Scripts/webkitpy/common/config/contributors.json:

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

7 years agoLots of leaks under WebContext::pluginInfoStoreDidLoadPlugins()
andersca@apple.com [Thu, 1 Aug 2013 22:27:10 +0000 (22:27 +0000)]
Lots of leaks under WebContext::pluginInfoStoreDidLoadPlugins()
https://bugs.webkit.org/show_bug.cgi?id=119412

Reviewed by Simon Fraser.

For some sick reason, the WKContextClient plugInInformationBecameAvailable callback function
expects a +1 reference to the plug-in array. Isolate that hack to WebContextClient so that
we don't leak the array if there is no WKContextClient.

* UIProcess/WebContext.cpp:
(WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
* UIProcess/WebContextClient.cpp:
(WebKit::WebContextClient::plugInInformationBecameAvailable):

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

7 years agoDFG is not enforcing correct ordering of ToString conversion in MakeRope
oliver@apple.com [Thu, 1 Aug 2013 22:18:58 +0000 (22:18 +0000)]
DFG is not enforcing correct ordering of ToString conversion in MakeRope
https://bugs.webkit.org/show_bug.cgi?id=119408

Reviewed by Filip Pizlo.

Source/JavaScriptCore:

Construct ToString and Phantom nodes in advance of MakeRope
nodes to ensure that ordering is ensured, and correct values
will be reified on OSR exit.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):

LayoutTests:

Add tests

* fast/js/dfg-make-rope-side-effects-expected.txt: Added.
* fast/js/dfg-make-rope-side-effects.html: Added.
* fast/js/script-tests/dfg-make-rope-side-effects.js: Added.
(f):
(k.valueOf):
(k.toString):

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

7 years agoDFG optimizations don't handle neutered arrays properly
fpizlo@apple.com [Thu, 1 Aug 2013 22:14:28 +0000 (22:14 +0000)]
DFG optimizations don't handle neutered arrays properly
https://bugs.webkit.org/show_bug.cgi?id=119409

Reviewed by Mark Hahnenberg and Oliver Hunt.

Source/WebCore:

Test: fast/js/dfg-typed-array-neuter.

* bindings/js/SerializedScriptValue.cpp:
(WebCore::neuterView):
(WebCore::SerializedScriptValue::transferArrayBuffers):
(WebCore::SerializedScriptValue::create):
* bindings/js/SerializedScriptValue.h:

LayoutTests:

* fast/js/dfg-typed-array-neuter-expected.txt: Added.
* fast/js/dfg-typed-array-neuter.html: Added.
* fast/js/script-tests/dfg-typed-array-neuter.js: Added.
(foo):
(bar):

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

7 years agoREGRESSION: Crash beneath cti_vm_throw_slowpath due to invalid CallFrame pointer
msaboff@apple.com [Thu, 1 Aug 2013 21:57:38 +0000 (21:57 +0000)]
REGRESSION: Crash beneath cti_vm_throw_slowpath due to invalid CallFrame pointer
https://bugs.webkit.org/show_bug.cgi?id=119140

Reviewed by Filip Pizlo.

Ensure that ExceptionHandler is returned by functions in two registers by encoding the value as a 64 bit int.

* jit/JITExceptions.cpp:
(JSC::encode):
* jit/JITExceptions.h:
* jit/JITStubs.cpp:
(JSC::cti_vm_throw_slowpath):
* jit/JITStubs.h:

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

7 years agoRemove return statement in void function
kseo@webkit.org [Thu, 1 Aug 2013 21:50:58 +0000 (21:50 +0000)]
Remove return statement in void function
https://bugs.webkit.org/show_bug.cgi?id=119379

Reviewed by Darin Adler.

It does not make sense to return a value in void function.

* WebProcess/WebProcess.cpp:
(WebKit::addCaseFoldedCharacters):

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