WebKit-https.git
6 years ago[Mac] MiniBrowser Debug builds are compiled with -Os
mitz@apple.com [Sat, 7 Dec 2013 02:55:23 +0000 (02:55 +0000)]
[Mac] MiniBrowser Debug builds are compiled with -Os
https://bugs.webkit.org/show_bug.cgi?id=125376

Reviewed by Tim Horton.

* MiniBrowser/MiniBrowser.xcodeproj/project.pbxproj: Set GCC_OPTIMIZATION_LEVEL to 0 for
the Debug configuration at the project level.

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

6 years ago[mac] Keep around more decoded image data, since it's purgeable
timothy_horton@apple.com [Sat, 7 Dec 2013 02:14:50 +0000 (02:14 +0000)]
[mac] Keep around more decoded image data, since it's purgeable
https://bugs.webkit.org/show_bug.cgi?id=125273
<rdar://problem/13205438>

Unreviewed patch to fix review comments...

* platform/graphics/BitmapImage.h:
Dan noticed that these return statements were improperly indented.

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

6 years agoMake insertText message asynchronous for iOS.
enrica@apple.com [Sat, 7 Dec 2013 01:42:45 +0000 (01:42 +0000)]
Make insertText message asynchronous for iOS.

Reviewed by Benjamin Poulain.

* UIProcess/ios/WebPageProxyIOS.mm:
(WebKit::WebPageProxy::insertText):
* WebProcess/WebPage/WebPage.h:
* WebProcess/WebPage/WebPage.messages.in:
* WebProcess/WebPage/ios/WebPageIOS.mm:
(WebKit::WebPage::insertText):

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

6 years ago[MSE][Mac] Disable AVFoundation when enabling the MockMediaPlayerMediaSource.
jer.noble@apple.com [Sat, 7 Dec 2013 01:01:45 +0000 (01:01 +0000)]
[MSE][Mac] Disable AVFoundation when enabling the MockMediaPlayerMediaSource.
https://bugs.webkit.org/show_bug.cgi?id=125338

Reviewed by Darin Adler.

The MediaSource API has some assumptions which break if more than one installed
media engine supports MediaSources at the same time. So when enabling the mock
media source engine in DRT or WKTR, disable AVFoundation so that only the mock
engine will support media source loading.

* testing/Internals.cpp:
(WebCore::Internals::initializeMockMediaSource):

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

6 years agoUse NeverDestroyed instead of DEFINE_STATIC_LOCAL
antti@apple.com [Sat, 7 Dec 2013 00:57:59 +0000 (00:57 +0000)]
Use NeverDestroyed instead of DEFINE_STATIC_LOCAL

Reviewed by Anders Carlsson.

* rendering/RenderText.cpp:
(WebCore::originalTextMap):

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

6 years ago[MSE] Add a runtime-setting for the MediaSource constructor.
jer.noble@apple.com [Sat, 7 Dec 2013 00:56:24 +0000 (00:56 +0000)]
[MSE] Add a runtime-setting for the MediaSource constructor.
https://bugs.webkit.org/show_bug.cgi?id=125336

Reviewed by Eric Carlson.

Source/WebCore:

Add a Setting to enable the MediaSource constructor.

* Modules/mediasource/MediaSource.idl:
* page/Settings.in:

Source/WebKit/mac:

Add a private WebPreference which controls the WebCore mediaSourceEnabled setting.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences mediaSourceEnabled]):
(-[WebPreferences setMediaSourceEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChanged:]):

Source/WebKit2:

Add a private WKPreferences API to control the WebCore mediaSourceEnabled setting.

* Shared/WebPreferencesStore.h:
* UIProcess/API/C/WKPreferences.cpp:
(WKPreferencesSetMediaSourceEnabled):
(WKPreferencesGetMediaSourceEnabled):
* UIProcess/API/C/WKPreferencesPrivate.h:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::updatePreferences):

Tools:

Enable MediaSource in DRT and WKTR.

* DumpRenderTree/mac/DumpRenderTree.mm:
(resetWebPreferencesToConsistentValues):
* WebKitTestRunner/TestController.cpp:
(WTR::TestController::resetPreferencesToConsistentValues):

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

6 years ago[mac] Keep around more decoded image data, since it's purgeable
timothy_horton@apple.com [Sat, 7 Dec 2013 00:45:11 +0000 (00:45 +0000)]
[mac] Keep around more decoded image data, since it's purgeable
https://bugs.webkit.org/show_bug.cgi?id=125273
<rdar://problem/13205438>

Reviewed by Simon Fraser.

No new tests, just an optimization.

Instead of throwing away decoded image data eagerly, allow the operating
system to manage the memory via the standard purgeability mechanism,
where it can.

This improves the performance on some pathological cases (extremely large
animated GIFs) by up to 8x.

* loader/cache/MemoryCache.cpp:
(WebCore::MemoryCache::pruneLiveResourcesToSize):
Don't prune live resources' decoded data if it is purgeable.

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::destroyDecodedDataIfNecessary):
Don't eagerly throw away decoded image data if it's purgeable.

* loader/cache/CachedImage.h:
* loader/cache/CachedResource.h:
(WebCore::CachedResource::decodedDataIsPurgeable):
* platform/graphics/BitmapImage.h:
* platform/graphics/Image.h:
(WebCore::Image::decodedDataIsPurgeable):

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

6 years agoSave original text for RenderText to a map
antti@apple.com [Sat, 7 Dec 2013 00:33:42 +0000 (00:33 +0000)]
Save original text for RenderText to a map
https://bugs.webkit.org/show_bug.cgi?id=125278

Reviewed by Darin Adler.

Currently the original text is fetched from the Text node. This is one of the few things
where we use the RenderText node pointer and is stopping Text nodes from being anonymous.

It is very rare of original text to differ from the actual text so we can just squirrel the
original to a map when it differs. This is also simplifies the code.

* rendering/RenderQuote.cpp:
(WebCore::RenderQuote::styleDidChange):
(WebCore::RenderQuote::updateDepth):
* rendering/RenderText.cpp:
(WebCore::originalTextMap):
(WebCore::RenderText::RenderText):
(WebCore::RenderText::~RenderText):
(WebCore::RenderText::styleDidChange):
(WebCore::RenderText::originalText):
(WebCore::RenderText::setTextInternal):
(WebCore::RenderText::setText):
* rendering/RenderText.h:
* rendering/RenderTextFragment.cpp:
* rendering/RenderTextFragment.h:

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

6 years ago[MSE] Refactor MediaSourceBase back into MediaSource
jer.noble@apple.com [Sat, 7 Dec 2013 00:10:05 +0000 (00:10 +0000)]
[MSE] Refactor MediaSourceBase back into MediaSource
https://bugs.webkit.org/show_bug.cgi?id=125245

Reviewed by Eric Carlson.

Now that the legacy WebKitMediaSource has been removed, there is no reason to have
a separate MediaSource and MediaSourceBase. Re-integrate the two.

Copy all the methods from MediaSource into MediaSourceBase, and rename the class MediaSource:
* Modules/mediasource/MediaSource.cpp: Copied from MediaSourceBase.cpp.
(WebCore::MediaSource::create): Copied from MediaSource.cpp.
(WebCore::MediaSource::addSourceBuffer): Ditto.
(WebCore::MediaSource::removeSourceBuffer): Ditto.
(WebCore::MediaSource::isTypeSupported): Ditto.
(WebCore::MediaSource::eventTargetInterface): Ditto.
(WebCore::MediaSource::sourceBufferDidChangeAcitveState): Ditto.
* Modules/mediasource/MediaSource.h: Copied from MediaSourceBase.h.
(WebCore::MediaSource::sourceBuffers): Copied from MediaSource.h.
(WebCore::MediaSource::activeSourceBuffers): Copied from MediaSource.h.
* Modules/mediasource/MediaSourceBase.cpp: Removed.
* Modules/mediasource/MediaSourceBase.h: Removed.

Change all references to MediaSourceBase into MediaSource:
* Modules/mediasource/DOMURLMediaSource.cpp:
(WebCore::DOMURLMediaSource::createObjectURL):
* Modules/mediasource/DOMURLMediaSource.h:
* Modules/mediasource/MediaSourceRegistry.cpp:
(WebCore::MediaSourceRegistry::registerURL):
(WebCore::MediaSourceRegistry::unregisterURL):
* Modules/mediasource/MediaSourceRegistry.h:

Remove MediaSourceBase.cpp/h from the project file:
* WebCore.xcodeproj/project.pbxproj:
* GNUmakefile.list.am:

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

6 years agoFTL should support all of Branch/LogicalNot
fpizlo@apple.com [Fri, 6 Dec 2013 23:20:09 +0000 (23:20 +0000)]
FTL should support all of Branch/LogicalNot
https://bugs.webkit.org/show_bug.cgi?id=125370

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::boolify):

LayoutTests:

* js/regress/logical-not-expected.txt: Added.
* js/regress/logical-not.html: Added.
* js/regress/script-tests/logical-not.js: Added.
(foo):

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

6 years agoUnreviewed, rolling out r159543.
commit-queue@webkit.org [Fri, 6 Dec 2013 23:14:03 +0000 (23:14 +0000)]
Unreviewed, rolling out r159543.
http://trac.webkit.org/changeset/159543
https://bugs.webkit.org/show_bug.cgi?id=125371

Build fix for mac no longer needed (Requested by rfong on
#webkit).

* ANGLE.xcodeproj/project.pbxproj:
* src/compiler/glslang_tab.cpp:
(yysyntax_error):
(glslang_parse):
* src/compiler/glslang_tab.h:
* src/compiler/preprocessor/ExpressionParser.cpp:
(yy_symbol_print):
(yy_stack_print):
(yy_reduce_print):
(yytnamerr):
(yysyntax_error):
(yydestruct):
(yyparse):

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

6 years agor159827 broke plug-in snapshotting
eric.carlson@apple.com [Fri, 6 Dec 2013 23:06:41 +0000 (23:06 +0000)]
r159827 broke plug-in snapshotting
https://bugs.webkit.org/show_bug.cgi?id=125365

Reviewed by Dean Jackson.

No new tests, covered by existing tests.

* html/HTMLPlugInImageElement.cpp:
(WebCore::HTMLPlugInImageElement::didAddUserAgentShadowRoot): Return early if there is NOT
    a page, not if there IS a page.

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

6 years ago../JavaScriptCore: [Win] Support compiling with VS2013
bfulgham@apple.com [Fri, 6 Dec 2013 22:56:46 +0000 (22:56 +0000)]
../JavaScriptCore: [Win] Support compiling with VS2013
https://bugs.webkit.org/show_bug.cgi?id=125353

Reviewed by Anders Carlsson.

* API/tests/testapi.c: Use C99 defines if available.
* jit/JITOperations.cpp: Don't attempt to define C linkage when
returning a C++ object.

../WebCore: [Win] Support compiling with VS2013
https://bugs.webkit.org/show_bug.cgi?id=125353

Reviewed by Anders Carlsson.

* loader/archive/cf/LegacyWebArchive.cpp:
(WebCore::LegacyWebArchive::create): Use nullptr
(WebCore::LegacyWebArchive::createFromSelection): Ditto

../WebKit: [Win] Support compiling with VS2013.
https://bugs.webkit.org/show_bug.cgi?id=125353

Reviewed by Anders Carlsson.

* WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Provide
proper exports for VS2013 build.

../WTF: [Win] Support compiling with VS2013
https://bugs.webkit.org/show_bug.cgi?id=125353

Reviewed by Anders Carlsson.

* wtf/Compiler.h: Show proper features for VS2012 and VS2013.
* wtf/MathExtras.h: Don't implement common C99 routines when
they are available through the runtime libraries.
* wtf/RetainPtr.h:
(WTF::RetainPtr::operator bool): Added.
* wtf/StdLibExtras.h: Use Microsoft's version of make_unique
when it exists.

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

6 years agoFTL should support generic ByVal accesses
fpizlo@apple.com [Fri, 6 Dec 2013 22:54:02 +0000 (22:54 +0000)]
FTL should support generic ByVal accesses
https://bugs.webkit.org/show_bug.cgi?id=125368

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

* dfg/DFGGraph.h:
(JSC::DFG::Graph::isStrictModeFor):
(JSC::DFG::Graph::ecmaModeFor):
* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):

LayoutTests:

* js/regress/by-val-generic-expected.txt: Added.
* js/regress/by-val-generic.html: Added.
* js/regress/script-tests/by-val-generic.js: Added.
(foo):

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

6 years ago[MSE][Mac] Add a new MSE-compatible MediaPlayerPrivate implementation, MediaPlayerPri...
jer.noble@apple.com [Fri, 6 Dec 2013 22:43:46 +0000 (22:43 +0000)]
[MSE][Mac] Add a new MSE-compatible MediaPlayerPrivate implementation, MediaPlayerPrivateMediaSourceAVFObjC
https://bugs.webkit.org/show_bug.cgi?id=123378

Reviewed by Eric Carlson.

Add an AVFoundation implementation of MediaPlayerPrivate which creates and uses
MediaSourcePrivate and SourceBufferPrivate subclasses.

Add the new media engine to the list of installed engines:
* platform/MediaSample.h:
* platform/graphics/MediaPlayer.cpp:
(WebCore::installedMediaEngines):
* platform/graphics/MediaPlayer.h:

Add the new files to the project:
* WebCore.xcodeproj/project.pbxproj:

Drive by fix for ports who implement seekDouble():
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::seekWithTolerance):

Add new Video and AudioTrackPrivate types which handle their own enable state:
* platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.cpp: Added
(WebCore::AudioTrackPrivateMediaSourceAVFObjC::AudioTrackPrivateMediaSourceAVFObjC):
(WebCore::AudioTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack):
(WebCore::AudioTrackPrivateMediaSourceAVFObjC::setAssetTrack):
(WebCore::AudioTrackPrivateMediaSourceAVFObjC::assetTrack):
(WebCore::AudioTrackPrivateMediaSourceAVFObjC::setEnabled):
* platform/graphics/avfoundation/objc/AudioTrackPrivateMediaSourceAVFObjC.h: Added
* platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.cpp: Added.
(WebCore::VideoTrackPrivateMediaSourceAVFObjC::VideoTrackPrivateMediaSourceAVFObjC):
(WebCore::VideoTrackPrivateMediaSourceAVFObjC::resetPropertiesFromTrack):
(WebCore::VideoTrackPrivateMediaSourceAVFObjC::setAssetTrack):
(WebCore::VideoTrackPrivateMediaSourceAVFObjC::assetTrack):
(WebCore::VideoTrackPrivateMediaSourceAVFObjC::setSelected):
* platform/graphics/avfoundation/objc/VideoTrackPrivateMediaSourceAVFObjC.h: Added.

Add a new MediaPlayerPrivate which can handle MediaSource objects:
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h: Added.
* platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm: Added.
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::~MediaPlayerPrivateMediaSourceAVFObjC):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::registerMediaEngine):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::create):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::isAvailable):
(WebCore::mimeTypeCache):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::getSupportedTypes):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsType):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::load):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::cancelLoad):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::prepareToPlay):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformMedia):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::platformLayer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::play):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::playInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pause):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::pauseInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paused):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsScanning):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::naturalSize):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasVideo):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasAudio):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setVisible):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationDouble):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::currentTimeDouble):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::startTimeDouble):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::initialTime):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekWithTolerance):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekInternal):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seeking):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setRateDouble):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::networkState):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::readyState):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::seekable):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::maxTimeSeekableDouble):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::minTimeSeekable):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::buffered):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::didLoadingProgress):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setSize):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paint):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::paintCurrentFrameInContext):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::hasAvailableVideoFrame):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::supportsAcceleratedRendering):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::acceleratedRenderingStateChanged):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::movieLoadType):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::prepareForRendering):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::engineDescription):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::languageOfPrimaryAudioTrack):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::extraMemoryCost):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::ensureLayer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::destroyLayer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateDuration):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::updateStates):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setReadyState):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::setNetworkState):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::addDisplayLayer):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::removeDisplayLayer):

Add a new MediaSourcePrivate implementation:
* platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.h: Added.
(WebCore::MediaSourcePrivateAVFObjC::player):
(WebCore::MediaSourcePrivateAVFObjC::activeSourceBuffers):
* platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm: Added.
(WebCore::MediaSourcePrivateAVFObjC::create):
(WebCore::MediaSourcePrivateAVFObjC::MediaSourcePrivateAVFObjC):
(WebCore::MediaSourcePrivateAVFObjC::~MediaSourcePrivateAVFObjC):
(WebCore::MediaSourcePrivateAVFObjC::addSourceBuffer):
(WebCore::MediaSourcePrivateAVFObjC::removeSourceBuffer):
(WebCore::MediaSourcePrivateAVFObjC::duration):
(WebCore::MediaSourcePrivateAVFObjC::setDuration):
(WebCore::MediaSourcePrivateAVFObjC::markEndOfStream):
(WebCore::MediaSourcePrivateAVFObjC::unmarkEndOfStream):
(WebCore::MediaSourcePrivateAVFObjC::readyState):
(WebCore::MediaSourcePrivateAVFObjC::setReadyState):
(WebCore::MediaSourcePrivateAVFObjC::sourceBufferPrivateDidChangeActiveState):
(WebCore::MediaSourcePrivateAVFObjCHasAudio):
(WebCore::MediaSourcePrivateAVFObjC::hasAudio):
(WebCore::MediaSourcePrivateAVFObjCHasVideo):
(WebCore::MediaSourcePrivateAVFObjC::hasVideo):
(WebCore::MediaSourcePrivateAVFObjC::seekToTime):

Add a new SourceBufferPrivate implementation:
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h: Added.
* platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm: Added.
(-[WebAVStreamDataParserListener initWithParser:parent:WebCore::]):
(-[WebAVStreamDataParserListener dealloc]):
(-[WebAVStreamDataParserListener streamDataParser:didParseStreamDataAsAsset:]):
(-[WebAVStreamDataParserListener streamDataParser:didFailToParseStreamDataWithError:]):
(-[WebAVStreamDataParserListener streamDataParser:didProvideMediaData:forTrackID:mediaType:flags:]):
(-[WebAVStreamDataParserListener streamDataParser:didReachEndOfTrackWithTrackID:mediaType:]):
(WebCore::MediaSampleAVFObjC::create):
(WebCore::MediaSampleAVFObjC::~MediaSampleAVFObjC):
(WebCore::MediaSampleAVFObjC::MediaSampleAVFObjC):
(WebCore::MediaSampleAVFObjC::platformSample):
(WebCore::CMSampleBufferIsRandomAccess):
(WebCore::MediaSampleAVFObjC::flags):
(WebCore::MediaDescriptionAVFObjC::create):
(WebCore::MediaDescriptionAVFObjC::~MediaDescriptionAVFObjC):
(WebCore::MediaDescriptionAVFObjC::MediaDescriptionAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::create):
(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::~SourceBufferPrivateAVFObjC):
(WebCore::SourceBufferPrivateAVFObjC::didParseStreamDataAsAsset):
(WebCore::SourceBufferPrivateAVFObjC::didFailToParseStreamDataWithError):
(WebCore::callProcessCodedFrameForEachSample):
(WebCore::SourceBufferPrivateAVFObjC::didProvideMediaDataForTrackID):
(WebCore::SourceBufferPrivateAVFObjC::processCodedFrame):
(WebCore::SourceBufferPrivateAVFObjC::didReachEndOfTrackWithTrackID):
(WebCore::SourceBufferPrivateAVFObjC::setClient):
(WebCore::SourceBufferPrivateAVFObjC::append):
(WebCore::SourceBufferPrivateAVFObjC::abort):
(WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource):
(WebCore::SourceBufferPrivateAVFObjC::readyState):
(WebCore::SourceBufferPrivateAVFObjC::setReadyState):
(WebCore::SourceBufferPrivateAVFObjC::evictCodedFrames):
(WebCore::SourceBufferPrivateAVFObjC::isFull):
(WebCore::SourceBufferPrivateAVFObjC::hasVideo):
(WebCore::SourceBufferPrivateAVFObjC::hasAudio):
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled):
(WebCore::createNonDisplayingCopy):
(WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples):
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample):
(WebCore::SourceBufferPrivateAVFObjC::isReadyForMoreSamples):
(WebCore::SourceBufferPrivateAVFObjC::setActive):
(WebCore::SourceBufferPrivateAVFObjC::fastSeekTimeForMediaTime):
(WebCore::SourceBufferPrivateAVFObjC::seekToTime):
* platform/mac/PlatformClockCM.h:

Add a SOFT_LINK_CLASS_OPTIONAL macro:
* platform/mac/SoftLinking.h:

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

6 years agoRemove some duplicate checks from SerializedScriptValue
ap@apple.com [Fri, 6 Dec 2013 22:31:39 +0000 (22:31 +0000)]
Remove some duplicate checks from SerializedScriptValue
https://bugs.webkit.org/show_bug.cgi?id=125358

Reviewed by Geoffrey Garen.

There is no need to call inherits() before WebCore's toXXX(JSValue) functions.

Also, the result of toArrayBuffer() is a raw pointer, not a RefPtr (it's confusing
because toArrayBufferView returns a RefPtr).

* bindings/js/SerializedScriptValue.cpp: (WebCore::CloneSerializer::dumpIfTerminal):

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

6 years agoUnreviewed gardening; revert r160237 after r160247 made it unnecessary.
jer.noble@apple.com [Fri, 6 Dec 2013 22:31:22 +0000 (22:31 +0000)]
Unreviewed gardening; revert r160237 after r160247 made it unnecessary.

* platform/mac/TestExpectations:

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

6 years agoRemove Image::decodedSize()
timothy_horton@apple.com [Fri, 6 Dec 2013 22:27:25 +0000 (22:27 +0000)]
Remove Image::decodedSize()
https://bugs.webkit.org/show_bug.cgi?id=125327

Reviewed by Simon Fraser.

Missed a comment when removing this code.

* svg/graphics/SVGImage.h:

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

6 years agoStrip out extraneous logging from AppleGVA in media tests.
jer.noble@apple.com [Fri, 6 Dec 2013 22:22:13 +0000 (22:22 +0000)]
Strip out extraneous logging from AppleGVA in media tests.
https://bugs.webkit.org/show_bug.cgi?id=125357

Reviewed by Simon Fraser.

Add a mechanism for stripping out abritrary regular expressions from test input and output.

* Scripts/webkitpy/layout_tests/controllers/single_test_runner.py:
(SingleTestRunner._run_compare_test): Strip out logging
* Scripts/webkitpy/port/base.py:
(Port.logging_patterns_to_strip): Return an empty list by default.
* Scripts/webkitpy/port/driver.py:
(DriverOutput.strip_patterns): Apply the port specific patterns to the text.
* Scripts/webkitpy/port/mac.py:
(MacPort.logging_patterns_to_strip): Return a complete list.

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

6 years agoFTL should support hole/OOB array accesses
fpizlo@apple.com [Fri, 6 Dec 2013 22:05:10 +0000 (22:05 +0000)]
FTL should support hole/OOB array accesses
https://bugs.webkit.org/show_bug.cgi?id=118077

Reviewed by Oliver Hunt and Mark Hahnenberg.

Source/JavaScriptCore:

* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::LowerDFGToLLVM::baseIndex):

LayoutTests:

* js/regress/double-get-by-val-out-of-bounds-expected.txt: Added.
* js/regress/double-get-by-val-out-of-bounds.html: Added.
* js/regress/get-by-val-out-of-bounds-expected.txt: Added.
* js/regress/get-by-val-out-of-bounds.html: Added.
* js/regress/script-tests/double-get-by-val-out-of-bounds.js: Added.
(foo):
* js/regress/script-tests/get-by-val-out-of-bounds.js: Added.
(foo):

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

6 years ago<rdar://problem/15606872> REGRESSION (r160148): Mail throws an exception during launch
mitz@apple.com [Fri, 6 Dec 2013 21:40:34 +0000 (21:40 +0000)]
<rdar://problem/15606872> REGRESSION (r160148): Mail throws an exception during launch
https://bugs.webkit.org/show_bug.cgi?id=125362

Reviewed by Sam Weinig.

There were two problems in how WKConnection was made to work with WKObject: first,
API::Object::newObject() was not updated to allocate the correct wrapper class, and second,
WebConnection has subclasses with additional data members, which don’t fit in the object
storage ivar.

* Shared/Cocoa/APIObject.mm:
(API::Object::newObject): Changed to allocate a WKConnection of the required size.
* UIProcess/API/Cocoa/WKConnection.mm:
Removed _connection ivar.
(-[WKConnection dealloc]): Changed to use -_connection accessor instead of ivar.
(-[WKConnection setDelegate:]): Ditto.
(-[WKConnection sendMessageWithName:body:]): Ditto.
(-[WKConnection remoteObjectRegistry]): Ditto.
(-[WKConnection _connection]): Added.
(-[WKConnection _apiObject]): Changed to return the object in the instance extra storage.

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

6 years agoSplit sizing of VarArgs frames from loading arguments for the frame
msaboff@apple.com [Fri, 6 Dec 2013 21:38:26 +0000 (21:38 +0000)]
Split sizing of VarArgs frames from loading arguments for the frame
https://bugs.webkit.org/show_bug.cgi?id=125331

Reviewed by Filip Pizlo.

Split loadVarargs into sizeAndAllocFrameForVarargs() and loadVarargs() in
preparation for moving onto the C stack.  sizeAndAllocFrameForVarargs() will
compute the size of the callee frame and allocate it, while loadVarargs()
actually loads the argument values.

As part of moving onto the C stack, sizeAndAllocFrameForVarargs() will be
changed to a function that just computes the size.  The caller will use that
size to allocate the new frame on the stack before calling loadVargs() and
actually making the call.

* interpreter/Interpreter.cpp:
(JSC::sizeAndAllocFrameForVarargs):
(JSC::loadVarargs):
* interpreter/Interpreter.h:
* jit/JIT.h:
* jit/JITCall.cpp:
(JSC::JIT::compileLoadVarargs):
* jit/JITCall32_64.cpp:
(JSC::JIT::compileLoadVarargs):
* jit/JITInlines.h:
(JSC::JIT::callOperation):
* jit/JITOperations.cpp:
* jit/JITOperations.h:
* llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* llint/LLIntSlowPaths.h:
* llint/LowLevelInterpreter.asm:
* llint/LowLevelInterpreter32_64.asm:
* llint/LowLevelInterpreter64.asm:
* runtime/VM.h:

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

6 years ago[CSS Shapes] ShapeOutsideInfo needs to use the parent's writing mode when calculating...
commit-queue@webkit.org [Fri, 6 Dec 2013 21:02:22 +0000 (21:02 +0000)]
[CSS Shapes] ShapeOutsideInfo needs to use the parent's writing mode when calculating offsets
https://bugs.webkit.org/show_bug.cgi?id=124680

Patch by Rob Buis <rob.buis@samsung.com> on 2013-12-06
Reviewed by Dirk Schulze.

Source/WebCore:

Do not take the writing-mode property on the float into account for shape-outside.
Add a virtual method writingMode() in order to do this for shape-outside but
keep old behavior (element writingMode) for shape-inside.

Change existing test floats/shape-outside-floats-different-writing-modes.html to test the
new behavior.

* rendering/shapes/ShapeInfo.cpp:
(WebCore::::computedShape):
* rendering/shapes/ShapeInfo.h:
(WebCore::ShapeInfo::writingMode):
* rendering/shapes/ShapeOutsideInfo.cpp:
(WebCore::ShapeOutsideInfo::writingMode):
* rendering/shapes/ShapeOutsideInfo.h:

LayoutTests:

Make sure the writing-mode property on the float is not taken into account for shape-outside.
Adapt highlight-shape-outside.html so it sets the writing-mode on the container div, not the float.
However because of earlier unreliability in EFL/GTK, skip the test for now.

* TestExpectations:
* fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes.html:
* inspector-protocol/model/highlight-shape-outside-expected.txt:
* inspector-protocol/model/highlight-shape-outside.html:

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

6 years agoFTL should support all of ValueToInt32
fpizlo@apple.com [Fri, 6 Dec 2013 20:59:16 +0000 (20:59 +0000)]
FTL should support all of ValueToInt32
https://bugs.webkit.org/show_bug.cgi?id=125283

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

* ftl/FTLCapabilities.cpp:
(JSC::FTL::canCompile):
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compileValueToInt32):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::lowCell):
(JSC::FTL::LowerDFGToLLVM::isCell):

LayoutTests:

* js/regress/put-by-val-machine-int-expected.txt: Added.
* js/regress/put-by-val-machine-int.html: Added.
* js/regress/script-tests/put-by-val-machine-int.js: Added.
(foo):

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

6 years agoWeb Inspector: Remove Staging Workaround
commit-queue@webkit.org [Fri, 6 Dec 2013 20:57:09 +0000 (20:57 +0000)]
Web Inspector: Remove Staging Workaround
https://bugs.webkit.org/show_bug.cgi?id=125354

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-12-06
Reviewed by Timothy Hatcher.

* inspector/CodeGeneratorInspector.py:

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

6 years agoSimplify ScriptFunctionCall by removing dead code.
commit-queue@webkit.org [Fri, 6 Dec 2013 20:55:54 +0000 (20:55 +0000)]
Simplify ScriptFunctionCall by removing dead code.
https://bugs.webkit.org/show_bug.cgi?id=125274

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-12-06
Reviewed by Timothy Hatcher.

* bindings/js/ScriptFunctionCall.cpp:
(WebCore::ScriptFunctionCall::call):
* bindings/js/ScriptFunctionCall.h:

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

6 years agoUpdating ANGLE should point to instructions
dino@apple.com [Fri, 6 Dec 2013 20:38:43 +0000 (20:38 +0000)]
Updating ANGLE should point to instructions
https://bugs.webkit.org/show_bug.cgi?id=125361

Reviewed by Eric Carlson.

Point to https://trac.webkit.org/wiki/UpdatingANGLE when
someone wants to patch ANGLE.

* Scripts/webkitpy/common/config/watchlist:

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

6 years agoFTL shouldn't have a doubleToUInt32 path
fpizlo@apple.com [Fri, 6 Dec 2013 20:30:31 +0000 (20:30 +0000)]
FTL shouldn't have a doubleToUInt32 path
https://bugs.webkit.org/show_bug.cgi?id=125360

Reviewed by Mark Hahnenberg.

This code existed because I incorrectly thought it was necessary. It's now basically
dead.

* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):

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

6 years agoUnreviewed gardening, correct previous fix.
eric.carlson@apple.com [Fri, 6 Dec 2013 20:17:50 +0000 (20:17 +0000)]
Unreviewed gardening, correct previous fix.

* platform/mac-mountainlion/TestExpectations: Removed.
* platform/mac/TestExpectations: Mark plugins/quicktime-plugin-replacement.html as flakey
    on Mavericks.

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

6 years ago[iOS] Upstream WebCore/rendering changes
dbates@webkit.org [Fri, 6 Dec 2013 19:59:38 +0000 (19:59 +0000)]
[iOS] Upstream WebCore/rendering changes
https://bugs.webkit.org/show_bug.cgi?id=125239

Reviewed by Simon Fraser.

* WebCore.xcodeproj/project.pbxproj:
* rendering/InlineBox.cpp:
(WebCore::InlineBox::previousOnLineExists): Added.
* rendering/InlineBox.h:
* rendering/InlineTextBox.cpp:
(WebCore::InlineTextBox::paintCompositionBackground): Modified to query RenderStyle
on iOS for the composition fill color. Added FIXME to make this platform-independent.
(WebCore::InlineTextBox::paintDecoration): Added iOS-specific decoration code.
(WebCore::lineStyleForMarkerType):
(WebCore::InlineTextBox::paintDocumentMarkers): Added iOS-specific code. Also, added
FIXME to make this code platform-independent.
* rendering/RenderBlock.cpp:
(WebCore::RenderBlock::paint): Ditto.
(WebCore::positionForPointRespectingEditingBoundaries): Added iOS-specific code.
* rendering/RenderBlock.h: Changed access control of logical{Left, Right}SelectionOffset()
from private to protected so that these methods can be used from RenderImage::collectSelectionRects().
* rendering/RenderBox.cpp:
(WebCore::RenderBox::borderRadii): Added.
(WebCore::RenderBox::paintBoxDecorations): Added iOS-specific workaround. See <rdar://problem/6209763>
for more details.
(WebCore::RenderBox::computeRectForRepaint): Added iOS-specific code.
(WebCore::customContainingBlockWidth): Added; guarded by PLATFORM(IOS).
(WebCore::customContainingBlockHeight): Added; guarded by PLATFORM(IOS).
(WebCore::customContainingBlockLogicalWidth): Added; guarded by PLATFORM(IOS).
(WebCore::customContainingBlockLogicalHeight): Added; guarded by PLATFORM(IOS).
(WebCore::customContainingBlockAvailableLogicalHeight): Added; guarded by PLATFORM(IOS).
(WebCore::RenderBox::availableLogicalHeightUsing): Added iOS-specific code; calls customContainingBlockAvailableLogicalHeight().
(WebCore::RenderBox::containingBlockLogicalWidthForPositioned): Added iOS-specific code; calls customContainingBlockLogicalWidth().
(WebCore::RenderBox::containingBlockLogicalHeightForPositioned): Added iOS-specific code; calls customContainingBlockLogicalHeight().
(WebCore::RenderBox::layoutOverflowRectForPropagation): Added iOS-specific code.
* rendering/RenderBox.h:
* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::stickyPositionOffset): Use FrameView::customFixedPositionLayoutRect()
instead of FrameView::viewportConstrainedVisibleContentRect().
* rendering/RenderButton.cpp:
(WebCore::RenderButton::layout): Added; iOS-specific. Includes FIXME comment.
See <rdar://problem/7675493> for more details.
* rendering/RenderElement.cpp:
(WebCore::RenderElement::styleWillChange): Added iOS-specific code.
(WebCore::RenderElement::styleDidChange): Modified to only call areCursorsEqual() and
EventHandler::scheduleCursorUpdate() on a non-iOS port.
* rendering/RenderEmbeddedObject.cpp:
(WebCore::RenderEmbeddedObject::allowsAcceleratedCompositing): Added iOS-specific code.
(WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason): This method has an empty implementation for iOS.
(WebCore::RenderEmbeddedObject::setPluginUnavailabilityReasonWithDescription): Ditto.
* rendering/RenderFileUploadControl.cpp:
(WebCore::nodeHeight):
(WebCore::RenderFileUploadControl::maxFilenameWidth): Added iOS-specific code.
(WebCore::RenderFileUploadControl::paintObject): Ditto.
(WebCore::RenderFileUploadControl::fileTextValue): Ditto.
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::positionFrames): Ditto; Also added FIXME comment as this code may not
be specific to iOS.
* rendering/RenderIFrame.h: Added iOS-specific workaround to RenderObject::renderName(). Added
FIXME comment to determine whether this workaround is still applicable.
* rendering/RenderImage.cpp:
(WebCore::RenderImage::collectSelectionRects): Added; guarded by PLATFORM(IOS).
(WebCore::RenderImage::paintAreaElementFocusRing): This method has an empty implementation for iOS.
* rendering/RenderImage.h:
* rendering/RenderInline.cpp:
(WebCore::RenderInline::absoluteQuadsForSelection): Added; guarded by PLATFORM(IOS).
* rendering/RenderInline.h:
* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::RenderLayer): Added iOS-specific member initialization.
(WebCore::RenderLayer::~RenderLayer): Added iOS-specific code.
(WebCore::RenderLayer::willBeDestroyed): Added; iOS-specific.
(WebCore::RenderLayer::hasAcceleratedTouchScrolling): Ditto.
(WebCore::RenderLayer::handleTouchEvent): Ditto.
(WebCore::RenderLayer::registerAsTouchEventListenerForScrolling): Ditto.
(WebCore::RenderLayer::unregisterAsTouchEventListenerForScrolling): Ditto.
(WebCore::RenderLayer::updateNeedsCompositedScrolling): Added iOS-specific code as we use UIKit
to composite our scroll bars.
(WebCore::RenderLayer::scrollTo): Added iOS-specific code.
(WebCore::RenderLayer::scrollRectToVisible): Ditto.
(WebCore::RenderLayer::styleChanged): Modified to make use of the passed StyleDifference on iOS.
(WebCore::RenderLayer::visibleContentRect): Added; iOS-specific.
(WebCore::RenderLayer::didStartScroll): Ditto.
(WebCore::RenderLayer::didEndScroll): Ditto.
(WebCore::RenderLayer::didUpdateScroll): Ditto.
(WebCore::RenderLayer::invalidateScrollbarRect): Added iOS-specific code.
(WebCore::RenderLayer::invalidateScrollCornerRect): Ditto.
(WebCore::RenderLayer::verticalScrollbarWidth): Ditto.
(WebCore::RenderLayer::horizontalScrollbarHeight): Ditto.
(WebCore::RenderLayer::updateScrollableAreaSet): Ditto.
(WebCore::RenderLayer::updateScrollInfoAfterLayout): Add iOS-specific workaround with FIXME. See
<rdar://problem/15579797> for more details.
(WebCore::RenderLayer::paintOverflowControls): Added iOS-specific code.
(WebCore::RenderLayer::calculateClipRects): Ditto.
* rendering/RenderLayer.h:
* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Modified to not apply page scale on iOS
as we apply a page scale at a different time in the code.
(WebCore::RenderLayerBacking::layerWillBeDestroyed): Added; guarded by PLATFORM(IOS).
(WebCore::layerOrAncestorIsTransformedOrScrolling): Added iOS-specific variant with FIXME comment.
(WebCore::RenderLayerBacking::shouldClipCompositedBounds): Added iOS-specific code.
(WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration): Ditto.
(WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Ditto.
(WebCore::RenderLayerBacking::registerScrollingLayers): Ditto.
(WebCore::RenderLayerBacking::updateScrollingLayers): Ditto.
(WebCore::RenderLayerBacking::containsPaintedContent): Call RenderLayer::hasBoxDecorationsOrBackground()
when building on iOS Simulator.
(WebCore::RenderLayerBacking::parentForSublayers): Added iOS-specific code and FIXME comment.
(WebCore::RenderLayerBacking::paintsIntoWindow): Opt-into coordinated graphics code path.
(WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): Added iOS-specific code.
(WebCore::RenderLayerBacking::paintIntoLayer): Compile-out ASSERT_NOT_REACHED for iOS and added FIXME comment.
* rendering/RenderLayerBacking.h:
* rendering/RenderLayerCompositor.cpp:
(WebCore::RenderLayerCompositor::scheduleLayerFlush): Added iOS-specific code.
(WebCore::RenderLayerCompositor::chromeClient): Added; guarded by PLATFORM(IOS).
(WebCore::RenderLayerCompositor::flushPendingLayerChanges): Added iOS-specific code.
(WebCore::scrollbarHasDisplayNone): Added; iOS-specific.
(WebCore::updateScrollingLayerWithClient): Ditto.
(WebCore::RenderLayerCompositor::updateCustomLayersAfterFlush): Ditto.
(WebCore::RenderLayerCompositor::didFlushChangesForLayer): Added iOS-specific code.
(WebCore::RenderLayerCompositor::didChangeVisibleRect): Ditto.
(WebCore::RenderLayerCompositor::addToOverlapMap): Don't apply page scale factor on iOS. We apply
the page scale factor at a different time in the code. Also, added FIXME comment.
(WebCore::RenderLayerCompositor::computeCompositingRequirements): Added iOS-specific workaround.
See <rdar://problem/8348337> for more details.
(WebCore::RenderLayerCompositor::setIsInWindow): Use non-Mac code path for iOS.
(WebCore::RenderLayerCompositor::allowsIndependentlyCompositedFrames): Added iOS-specific code.
(WebCore::RenderLayerCompositor::requiresCompositingLayer): Ditto.
(WebCore::RenderLayerCompositor::requiresOwnBackingStore): Ditto.
(WebCore::RenderLayerCompositor::reasonsForCompositing): Ditto.
(WebCore::RenderLayerCompositor::requiresCompositingForAnimation): Opt-into calling
AnimationController::isRunningAnimationOnRenderer() on iOS.
(WebCore::RenderLayerCompositor::requiresCompositingForScrolling): Added; guarded by PLATFORM(IOS).
(WebCore::isStickyInAcceleratedScrollingLayerOrViewport): Added iOS-specific code.
(WebCore::isViewportConstrainedFixedOrStickyLayer): Ditto.
(WebCore::RenderLayerCompositor::requiresCompositingForPosition): Use FrameView::customFixedPositionLayoutRect()
instead of FrameView::viewportConstrainedVisibleContentRect().
(WebCore::RenderLayerCompositor::contentsScaleMultiplierForNewTiles): Ditto.
(WebCore::RenderLayerCompositor::ensureRootLayer): Ditto.
(WebCore::RenderLayerCompositor::computeFixedViewportConstraints): Use FrameView::customFixedPositionLayoutRect()
instead of FrameView::viewportConstrainedVisibleContentRect().
(WebCore::RenderLayerCompositor::computeStickyViewportConstraints): Ditto.
(WebCore::RenderLayerCompositor::registerOrUpdateViewportConstrainedLayer): This method has an empty implementation for iOS
as we batch update viewport-constrained layers in the iOS-specific method, RenderLayerCompositor::updateCustomLayersAfterFlush().
(WebCore::RenderLayerCompositor::unregisterViewportConstrainedLayer): Ditto.
(WebCore::RenderLayerCompositor::registerAllViewportConstrainedLayers): Added; guarded by PLATFORM(IOS).
(WebCore::RenderLayerCompositor::unregisterAllViewportConstrainedLayers): Ditto.
(WebCore::RenderLayerCompositor::registerAllScrollingLayers): Ditto.
(WebCore::RenderLayerCompositor::unregisterAllScrollingLayers): Ditto.
(WebCore::RenderLayerCompositor::scrollingLayerAddedOrUpdated): Ditto.
(WebCore::RenderLayerCompositor::scrollingLayerRemoved): Ditto.
(WebCore::RenderLayerCompositor::startInitialLayerFlushTimerIfNeeded): Ditto.
* rendering/RenderLayerCompositor.h:
* rendering/RenderLayerFilterInfo.h: Added iOS-specific Clang workaround to ignore
an unused private field.
* rendering/RenderMenuList.cpp:
(WebCore::selectedOptionCount): Added; guarded by PLATFORM(IOS).
(WebCore::RenderMenuList::RenderMenuList): On iOS we don't make use of RenderMenuList::m_popupIsVisible.
(WebCore::RenderMenuList::~RenderMenuList): On iOS we don't make use of RenderMenuList::m_popup.
(WebCore::RenderMenuList::adjustInnerStyle): Add iOS-specific code.
(RenderMenuList::updateFromElement): On iOS we don't make use of RenderMenuList::m_popup.
(RenderMenuList::setTextFromOption): Add iOS-specific code.
(RenderMenuList::showPopup): Define RenderMenuList::showPopup() to ASSERT_NOT_REACHED() on iOS as
we don't make use of RenderMenuList::m_popup.
(RenderMenuList::hidePopup): This method has an empty implementation for iOS as we don't make use
of RenderMenuList::m_popup.
(RenderMenuList::popupDidHide): This method has an empty implementation for iOS as we don't make use
of RenderMenuList::m_popupIsVisible.
* rendering/RenderMenuList.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::columnNumberForOffset): Added; guarded by PLATFORM(IOS). Also, added a FIXME comment to
make this function return an unsigned integer instead of a signed integer.
(WebCore::RenderObject::collectSelectionRects): Added; guarded by PLATFORM(IOS).
(WebCore::RenderObject::destroy): Added iOS-specific code.
(WebCore::RenderObject::innerLineHeight): Added.
(WebCore::RenderObject::willRenderImage): Added iOS-specific code.
* rendering/RenderObject.h: Change the access control of RenderObject::drawLineForBoxSide() from protected to
public so that it can be used from RenderThemeIOS::adjustMenuListButtonStyle().
(WebCore::RenderObject::absoluteQuadsForSelection):
* rendering/RenderScrollbar.h: Change the access control of RenderScrollbar::getScrollbarPseudoStyle() from
private to public so that it can be used from the iOS-specific static function, scrollbarHasDisplayNone,
defined in RenderLayerCompositor.cpp.
* rendering/RenderSearchField.cpp:
(WebCore::RenderSearchField::itemText): Added iOS-specific code.
* rendering/RenderText.cpp:
(WebCore::RenderText::collectSelectionRects): Added; guarded by PLATFORM(IOS).
(WebCore::RenderText::setTextInternal): Added iOS-specific code.
* rendering/RenderText.h:
* rendering/RenderTextControl.cpp:
(WebCore::RenderTextControl::adjustInnerTextStyle): Ditto.
(WebCore::RenderTextControl::canScroll): Added; guarded by PLATFORM(IOS).
(WebCore::RenderTextControl::innerLineHeight): Ditto.
* rendering/RenderTextControl.h:
* rendering/RenderTextControlMultiLine.cpp:
(WebCore::RenderTextControlMultiLine::getAvgCharWidth): Compile-out code when building for iOS.
(WebCore::RenderTextControlMultiLine::createInnerTextStyle): Added iOS-specific code.
* rendering/RenderTextControlSingleLine.cpp:
(WebCore::RenderTextControlSingleLine::layout): Ditto.
(WebCore::RenderTextControlSingleLine::getAvgCharWidth): Compile-out code when building for iOS.
(WebCore::RenderTextControlSingleLine::preferredContentLogicalWidth): Ditto.
* rendering/RenderTextLineBoxes.cpp:
(WebCore::lineDirectionPointFitsInBox): Ditto.
(WebCore::RenderTextLineBoxes::positionForPoint): Added iOS-specific code.
* rendering/RenderTheme.cpp:
(WebCore::RenderTheme::paintBorderOnly): Ditto.
(WebCore::RenderTheme::paintDecorations): Modified to call the control-specific paint*Decorations().
* rendering/RenderTheme.h:
(WebCore::RenderTheme::paintCheckboxDecorations): Added.
(WebCore::RenderTheme::paintRadioDecorations): Added.
(WebCore::RenderTheme::paintButtonDecorations): Added.
(WebCore::RenderTheme::paintTextFieldDecorations): Added.
(WebCore::RenderTheme::paintTextAreaDecorations): Added.
(WebCore::RenderTheme::paintMenuListDecorations): Added.
(WebCore::RenderTheme::paintPushButtonDecorations): Added.
(WebCore::RenderTheme::paintSquareButtonDecorations): Added.
(WebCore::RenderTheme::paintFileUploadIconDecorations): Added.
(WebCore::RenderTheme::paintSliderThumbDecorations): Added.
(WebCore::RenderTheme::paintSearchFieldDecorations): Added.
* rendering/RenderThemeIOS.h: Added.
* rendering/RenderThemeIOS.mm: Added.
* rendering/RenderThemeMac.h: Don't compile the contents of this file when building for iOS.
* rendering/RenderThemeMac.mm: Ditto.
* rendering/RenderVideo.cpp:
(WebCore::RenderVideo::calculateIntrinsicSize): Compile-out code when building for iOS.
* rendering/RenderView.cpp:
(WebCore::RenderView::availableLogicalHeight): Add iOS-specific workaround. See <rdar://problem/7166808>.
(WebCore::fixedPositionOffset): Added; used in iOS-specific code (e.g. RenderView::mapLocalToContainer()).
(WebCore::RenderView::mapLocalToContainer): Use WebCore::fixedPositionOffset() instead of
FrameView::scrollOffsetForFixedPosition().
(WebCore::RenderView::pushMappingToContainer): Ditto.
(WebCore::RenderView::mapAbsoluteToLocalPoint): Ditto.
(WebCore::RenderView::repaintViewRectangle): Ditto.
(WebCore::RenderView::computeRectForRepaint): Ditto.
(WebCore::isFixedPositionInViewport): Added; used in RenderView::hasCustomFixedPosition().
(WebCore::RenderView::hasCustomFixedPosition): Added; guarded by PLATFORM(IOS).
* rendering/RenderView.h:
* rendering/RenderWidget.cpp:
(WebCore::RenderWidget::willBeDestroyed): Added iOS-specific code.
* rendering/RootInlineBox.cpp:
(WebCore::RootInlineBox::ascentAndDescentForBox): Ditto.
* rendering/break_lines.cpp: Only include header <CoreServices/CoreServices.h> when building for Mac.

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

6 years agoClean up the includes of RenderBlock.h
zoltan@webkit.org [Fri, 6 Dec 2013 19:31:50 +0000 (19:31 +0000)]
Clean up the includes of RenderBlock.h
https://bugs.webkit.org/show_bug.cgi?id=125351

Reviewed by Darin Adler.

I turned some header includes into forward declarations. I also removed /
moved out some includes, which don't belong to RenderBlock.h anymore.

No new tests, no behavior change.

* editing/VisibleUnits.cpp:
* html/HTMLInputElement.cpp:
* html/HTMLTextAreaElement.cpp:
* html/TextFieldInputType.cpp:
* html/TextInputType.cpp:
* rendering/InlineElementBox.cpp:
* rendering/RenderBlock.h:
* rendering/RenderBlockFlow.cpp:
* rendering/line/LineBreaker.h:
* rendering/line/LineWidth.cpp:

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

6 years agoplugins/quicktime-plugin-replacement.html is flakey on OS X Mavericks
eric.carlson@apple.com [Fri, 6 Dec 2013 19:28:20 +0000 (19:28 +0000)]
plugins/quicktime-plugin-replacement.html is flakey on OS X Mavericks
https://bugs.webkit.org/show_bug.cgi?id=125356

Reviewed by Jer Noble.

* platform/mac-mountainlion/TestExpectations: Added. Mark test as flakey.

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

6 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Fri, 6 Dec 2013 19:04:52 +0000 (19:04 +0000)]
Unreviewed EFL gardening

Add test expectations for failing tests.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

6 years ago[Mac] Transition MiniBrowser to the Cocoa API: load delegate
mitz@apple.com [Fri, 6 Dec 2013 19:02:05 +0000 (19:02 +0000)]
[Mac] Transition MiniBrowser to the Cocoa API: load delegate
https://bugs.webkit.org/show_bug.cgi?id=125334

Reviewed by Darin Adler.

* MiniBrowser/mac/WK2BrowserWindowController.m:
(-[WK2BrowserWindowController dealloc]): Nil out the load delegate and stop observing the
title property.
(-[WK2BrowserWindowController isPaginated]): Changed to use Cocoa SPI.
(-[WK2BrowserWindowController togglePaginationMode:]): Ditto.
(-[WK2BrowserWindowController observeValueForKeyPath:ofObject:change:context:]): Update the
window title with the title property changes.
(-[WK2BrowserWindowController awakeFromNib]): Start observing the title property. Changed to
set the load delegate instead of the load client.
(-[WK2BrowserWindowController updateTextFieldFromURL:]): Changed to use Cocoa types.
(-[WK2BrowserWindowController updateProvisionalURL]): Removed frame parameter.
(-[WK2BrowserWindowController updateCommittedURL]): Ditto.
(-[WK2BrowserWindowController browsingContextControllerDidStartProvisionalLoad:]):
Implemented this load delegate method.
(-[WK2BrowserWindowController browsingContextControllerDidReceiveServerRedirectForProvisionalLoad:]):
Ditto.
(-[WK2BrowserWindowController browsingContextController:didFailProvisionalLoadWithError:]): Ditto.
(-[WK2BrowserWindowController browsingContextControllerDidCommitLoad:]): Ditto.
(-[WK2BrowserWindowController browsingContextControllerDidFinishLoad:]): Ditto.
(-[WK2BrowserWindowController browsingContextController:didFailLoadWithError:]): Ditto.
(-[WK2BrowserWindowController browsingContextControllerDidChangeBackForwardList:addedItem:removedItems:]):
Ditto.
(-[WK2BrowserWindowController browsingContextController:canAuthenticateAgainstProtectionSpace:]):
Ditto.
(-[WK2BrowserWindowController browsingContextController:didReceiveAuthenticationChallenge:]): Ditto.

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

6 years agoRemove function from style/checkers/cpp.py.
commit-queue@webkit.org [Fri, 6 Dec 2013 18:56:35 +0000 (18:56 +0000)]
Remove function from style/checkers/cpp.py.
https://bugs.webkit.org/show_bug.cgi?id=125341

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-06
Reviewed by Darin Adler.

Corrects a FIXME: by removing a function from cpp.py.

* Scripts/webkitpy/style/checkers/cpp.py:
(CppChecker.__init__):
(CppChecker.check):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(CppStyleTestBase.process_file_data):

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

6 years agocheck-webkit-style: false positive warning for indentation of #ifdef code.
commit-queue@webkit.org [Fri, 6 Dec 2013 18:54:32 +0000 (18:54 +0000)]
check-webkit-style: false positive warning for indentation of #ifdef code.
https://bugs.webkit.org/show_bug.cgi?id=125254

Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2013-12-06
Reviewed by Darin Adler.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_member_initialization_list):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_member_initialization_list):

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

6 years agoDefine SHA1 hash size in SHA1.h and use it at various places.
commit-queue@webkit.org [Fri, 6 Dec 2013 18:54:00 +0000 (18:54 +0000)]
Define SHA1 hash size in SHA1.h and use it at various places.
https://bugs.webkit.org/show_bug.cgi?id=125345

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-06
Reviewed by Darin Adler.

Use SHA1::hashSize instead of local variables.

Source/JavaScriptCore:

* bytecode/CodeBlockHash.cpp:
(JSC::CodeBlockHash::CodeBlockHash): use SHA1::hashSize

Source/WebCore:

* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::getExpectedWebSocketAccept):
* platform/network/soup/ResourceHandleSoup.cpp:
(WebCore::HostTLSCertificateSet::computeCertificateHash):

Source/WTF:

* wtf/SHA1.h: define SHA1 hash size

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

6 years ago[Cocoa] Add load delegate methods for responding to authentication challenges
mitz@apple.com [Fri, 6 Dec 2013 18:21:05 +0000 (18:21 +0000)]
[Cocoa] Add load delegate methods for responding to authentication challenges
https://bugs.webkit.org/show_bug.cgi?id=125333

Reviewed by Darin Adler.

Source/WebCore:

* WebCore.exp.in: Exported core(NSURLCredential *).

Source/WebKit2:

* Shared/Cocoa/APIObject.mm:
(API::Object::newObject): Allocate a WKNSURLAuthenticationChallenge if the object is an
AuthenticationChallengeProxy.

* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(canAuthenticateAgainstProtectionSpaceInFrame): Implemented this WKPageLoaderClient callback
by calling the load delegate.
(didReceiveAuthenticationChallengeInFrame): Ditto.
(setUpPageLoaderClient): Set the above callbacks in the client structure.

* UIProcess/API/Cocoa/WKBrowsingContextLoadDelegatePrivate.h: Added. Declares two new
delegate methods.

* UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.h: Added.
(WebKit::wrapper): Added. Returns an AuthenticationChallengeProxy’s wrapper as an
NSURLAuthenticationChallenge.
* UIProcess/API/Cocoa/WKNSURLAuthenticationChallenge.mm: Added.
(-[WKNSURLAuthenticationChallenge _web_createTarget]): Override this WKObject method to
return a copy of the challenge with the sender set to a shared instance of
WKNSURLAuthenticationChallengeSender.
(-[WKNSURLAuthenticationChallenge _web_authenticationChallengeProxy]): Added. Returns the
wrapped object.
(-[WKNSURLAuthenticationChallengeSender cancelAuthenticationChallenge:]): Added. Calls
AuthenticationDecisionListener::cancel.
(-[WKNSURLAuthenticationChallengeSender continueWithoutCredentialForAuthenticationChallenge:]):
Added. Calls AuthenticationDecisionListener::useCredential, passing nullptr.
(-[WKNSURLAuthenticationChallengeSender useCredential:forAuthenticationChallenge:]): Added.
Calls AuthenticationDecisionListener::useCredential, passing the credential.

* WebKit2.xcodeproj/project.pbxproj: Added references to new files.

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

6 years agoRename {adjust, paint}SearchFieldDecoration, {adjust, paint}SearchFieldResultsDecoration
dbates@webkit.org [Fri, 6 Dec 2013 18:13:29 +0000 (18:13 +0000)]
Rename {adjust, paint}SearchFieldDecoration, {adjust, paint}SearchFieldResultsDecoration
https://bugs.webkit.org/show_bug.cgi?id=125191

Reviewed by Joseph Pecoraro.

Towards upstreaming the iOS concept of render theme decorations, we should rename
RenderTheme::{adjust, paint}SearchFieldDecorationStyle and RenderTheme::{adjust, paint}SearchFieldResultsDecoration
to avoid ambiguity with the iOS concept.

* platform/efl/RenderThemeEfl.cpp:
* platform/efl/RenderThemeEfl.h:
* platform/gtk/RenderThemeGtk.cpp:
* platform/gtk/RenderThemeGtk.h:
* rendering/RenderTheme.cpp:
* rendering/RenderTheme.h:
* rendering/RenderThemeMac.h:
* rendering/RenderThemeMac.mm:
* rendering/RenderThemeSafari.cpp:
* rendering/RenderThemeSafari.h:
* rendering/RenderThemeWin.cpp:
* rendering/RenderThemeWin.h:
* rendering/RenderThemeWinCE.cpp:
* rendering/RenderThemeWinCE.h:

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

6 years agoUnreviewed ATK gardening
commit-queue@webkit.org [Fri, 6 Dec 2013 17:46:29 +0000 (17:46 +0000)]
Unreviewed ATK gardening

accessibility/document-attributes.html started failing after r160220.

Patch by Lukasz Gajowy <l.gajowy@samsung.com> on 2013-12-06

* platform/efl/TestExpectations:
* platform/gtk/TestExpectations:

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

6 years agoMake remaining CSSValue constructors return PassRef.
akling@apple.com [Fri, 6 Dec 2013 17:40:29 +0000 (17:40 +0000)]
Make remaining CSSValue constructors return PassRef.
<https://webkit.org/b/125337>

Tweak the remaining CSSValue create() helpers to return PassRef
instead of PassRefPtr in the cases where nullptr is never returned.

Reviewed by Anders Carlsson.

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

6 years agoHook into some shader symbol logic following the ANGLE update in r159533.
roger_fong@apple.com [Fri, 6 Dec 2013 17:28:44 +0000 (17:28 +0000)]
Hook into some shader symbol logic following the ANGLE update in r159533.
https://bugs.webkit.org/show_bug.cgi?id=125332.

Reviewed by Brent Fulgham.

No new functionality added.

* html/canvas/WebGLRenderingContext.cpp: Add some error checking for errors related to
    shader symbols that exist across both vertex and fragment shaders.
(WebCore::WebGLRenderingContext::linkProgram):
* platform/graphics/ANGLEWebKitBridge.cpp: Add logic for handling varyings
    and add new fields to the ANGLEShaderSymbol struct.
(WebCore::getSymbolInfo):
* platform/graphics/ANGLEWebKitBridge.h:
* platform/graphics/GraphicsContext3D.h: Add those same fields to the SymbolInfo struct
    as well so that we can access them from our shader source map.
    Also add a map of varyings along side the uniforms and attributes.
(WebCore::GraphicsContext3D::SymbolInfo::SymbolInfo):
(WebCore::GraphicsContext3D::ShaderSourceEntry::symbolMap):
* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
* platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
(WebCore::GraphicsContext3D::areProgramSymbolsValid): Will be filled in later, this method
    will use the shader source map to check for issues with unused varyings and precisions
    mismatches of shader symbols that exist across both the vertex and fragment shaders.

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

6 years agoFix spelling error in style checker: beggining
cfleizach@apple.com [Fri, 6 Dec 2013 17:18:32 +0000 (17:18 +0000)]
Fix spelling error in style checker: beggining
https://bugs.webkit.org/show_bug.cgi?id=125347

Reviewed by Anders Carlsson.

* Scripts/webkitpy/style/checkers/cpp.py:
(check_member_initialization_list):
* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(WebKitStyleTest.test_member_initialization_list):

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

6 years agoREGRESSION(r160213): Crash in js/dom/JSON-parse.html
msaboff@apple.com [Fri, 6 Dec 2013 14:54:06 +0000 (14:54 +0000)]
REGRESSION(r160213): Crash in js/dom/JSON-parse.html
https://bugs.webkit.org/show_bug.cgi?id=125335

Reviewed by Mark Lam.

Changed _llint_op_catch to materialize the VM via the scope chain instead of
the CodeBlock.  CallFrames always have a scope chain, but may have a null CodeBlock.

* llint/LowLevelInterpreter32_64.asm:
(_llint_op_catch):
* llint/LowLevelInterpreter64.asm:
(_llint_op_catch):

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

6 years ago[ATK] Missing aria roles mappings
commit-queue@webkit.org [Fri, 6 Dec 2013 13:58:38 +0000 (13:58 +0000)]
[ATK] Missing aria roles mappings
https://bugs.webkit.org/show_bug.cgi?id=117729

Patch by Lukasz Gajowy <l.gajowy@samsung.com> on 2013-12-06
Reviewed by Mario Sanchez Prada.

Source/WebCore:

Added a few mappings from ARIA roles to ATK roles.

Test: accessibility/aria-mappings.html

* accessibility/atk/WebKitAccessibleWrapperAtk.cpp:
(atkRole):

Tools:

Added new mappings to AccessibilityUIElementAtk.cpp.

* DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:
* WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

LayoutTests:

Added new test, checking whether ARIA roles to ATK roles mappings work properly.

* accessibility/aria-mappings-expected.txt: Added.
* accessibility/aria-mappings.html: Added.
* platform/mac/accessibility/aria-mappings-expected.txt: Added.

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

6 years agoTypo fix after r160218.
ossy@webkit.org [Fri, 6 Dec 2013 12:41:44 +0000 (12:41 +0000)]
Typo fix after r160218.

* Scripts/webkitpy/test/main.py:
(main):

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

6 years agoUnreviewed fix after r160206.
ossy@webkit.org [Fri, 6 Dec 2013 11:29:27 +0000 (11:29 +0000)]
Unreviewed fix after r160206.

* Scripts/webkitpy/test/main.py:
(main): sys.platform can be win32 or cygwin too on Windows.

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

6 years agoBuild fix after r160207, remove the BitmapImage::decodeSize symbol export
commit-queue@webkit.org [Fri, 6 Dec 2013 11:21:23 +0000 (11:21 +0000)]
Build fix after r160207, remove the BitmapImage::decodeSize symbol export
https://bugs.webkit.org/show_bug.cgi?id=125342

Patch by Dániel Bátyai <Batyai.Daniel@stud.u-szeged.hu> on 2013-12-06
Reviewed by Csaba Osztrogonác.

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

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

6 years ago[GStreamer] webkitwebaudiosrc element needs to emit stream-start, caps and segment...
philn@webkit.org [Fri, 6 Dec 2013 11:20:15 +0000 (11:20 +0000)]
[GStreamer] webkitwebaudiosrc element needs to emit stream-start, caps and segment events
https://bugs.webkit.org/show_bug.cgi?id=123015

Reviewed by Martin Robinson.

When the source element starts emitting buffers send along various
events to notify downstream elements.

No new tests, change covered by existing webaudio tests.

* platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
(webkit_web_audio_src_init): Initialize segment.
(webKitWebAudioSrcConstructed): Give an explicit name to each
queue added in front of the interleave element.
(webKitWebAudioSrcLoop): Before sending the first buffers push
stream-start, caps and segment events on each queue's sinkpad.

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

6 years ago[GTK] Enable web audio by default
berto@igalia.com [Fri, 6 Dec 2013 11:08:03 +0000 (11:08 +0000)]
[GTK] Enable web audio by default
https://bugs.webkit.org/show_bug.cgi?id=124888

Reviewed by Martin Robinson.

When building with ./configure, enable_web_audio defaults to
"no". However the basic functionality has been working for months
so it's safe to enable it now.

* Source/autotools/ReadCommandLineArguments.m4:

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

6 years ago[GStreamer] Audio/Video sink management is incoherent
philn@webkit.org [Fri, 6 Dec 2013 09:06:14 +0000 (09:06 +0000)]
[GStreamer] Audio/Video sink management is incoherent
https://bugs.webkit.org/show_bug.cgi?id=125304

Reviewed by Gustavo Noronha Silva.

Allow subclasses of MediaPlayerPrivateGStreamerBase to create
custom audio/video sinks in a coherent manner using
create{Audio,Video}Sink methods. Convenience getters are also
available. Also removed some un-needed member variables in the
playbin-based player.

No new tests, existing media tests cover this change.

* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
(WebCore::MediaPlayerPrivateGStreamer::MediaPlayerPrivateGStreamer):
(WebCore::MediaPlayerPrivateGStreamer::updateStates):
(WebCore::MediaPlayerPrivateGStreamer::createAudioSink):
(WebCore::MediaPlayerPrivateGStreamer::audioSink):
(WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.cpp:
* platform/graphics/gstreamer/MediaPlayerPrivateGStreamerBase.h:
(WebCore::MediaPlayerPrivateGStreamerBase::createAudioSink):

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

6 years agoJSC: Simplify interface between throw and catch handler
msaboff@apple.com [Fri, 6 Dec 2013 05:32:06 +0000 (05:32 +0000)]
JSC: Simplify interface between throw and catch handler
https://bugs.webkit.org/show_bug.cgi?id=125328

Reviewed by Geoffrey Garen.

Simplified the throw - catch interface.  The throw side is only responsible for
jumping to the appropriate op_catch handler or returnFromJavaScript for uncaught
exceptions.  The handler uses the exception values like VM.callFrameForThrow
as appropriate and no longer relies on the throw side putting anything in
registers.

* jit/CCallHelpers.h:
(JSC::CCallHelpers::jumpToExceptionHandler):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_catch):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_catch):
* llint/LowLevelInterpreter32_64.asm:
(_llint_op_catch):
(_llint_throw_from_slow_path_trampoline):
* llint/LowLevelInterpreter64.asm:
(_llint_op_catch):
(_llint_throw_from_slow_path_trampoline):

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

6 years agoIntroduce IMAGE_TYPE_CASTS, and use it
gyuyoung.kim@samsung.com [Fri, 6 Dec 2013 05:20:32 +0000 (05:20 +0000)]
Introduce IMAGE_TYPE_CASTS, and use it
https://bugs.webkit.org/show_bug.cgi?id=125330

Reviewed by Ryosuke Niwa.

Source/WebCore:

As a step to use TYPE_CASTS_BASE, this cl introduce IMAGE_TYPE_CASTS.
BitmapImage and SVGImage can use it to generate toFoo() type case helper functions.

No new tests, no behavior changes.

* loader/cache/CachedImage.cpp:
(WebCore::CachedImage::imageSizeForRenderer):
(WebCore::CachedImage::resumeAnimatingImagesForLoader):
* platform/graphics/BitmapImage.h:
* platform/graphics/Image.h:
* platform/mac/DragImageMac.mm:
(WebCore::createDragImageFromImage):
* svg/graphics/SVGImage.h:

Source/WebKit2:

As a step to use TYPE_CASTS_BASE, this cl introduce IMAGE_TYPE_CASTS.
BitmapImage, SVGImage can use it to generate toFoo() type case helper functions.

* WebProcess/Plugins/PluginView.cpp:
(WebKit::PluginView::pluginSnapshotTimerFired):

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

6 years agoC Loop LLINT layout test regressions.
mark.lam@apple.com [Fri, 6 Dec 2013 05:15:28 +0000 (05:15 +0000)]
C Loop LLINT layout test regressions.
https://bugs.webkit.org/show_bug.cgi?id=125314.

Reviewed by Geoffrey Garen.

The regression was due to the ENABLE_LLINT_C_LOOP flag not being included
in the build of the WebKit and WebKit2 components. As a result, some fields
in JSC::VM were ifdef'ed out in WebCore and JSC, but not in WebKit and
WebKit2. This resulted in VM::m_initializingObjectClass having 2 different
offsets depending on whether it is accessed from WebCore and JSC or from
WebKit and WebKit2, and chaos ensued.

This issue will manifest when we pass --cloop to build-webkit.
The fix is simply to add ENABLE_LLINT_C_LOOP to FEATURE_DEFINES for WebKit
and WebKit2.

Source/WebKit/mac:

* Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

* Configurations/FeatureDefines.xcconfig:

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

6 years agoRemove USE(LOCKFREE_THREADSAFEREFCOUNTED) from Atomics.cpp since it is
commit-queue@webkit.org [Fri, 6 Dec 2013 03:37:25 +0000 (03:37 +0000)]
Remove USE(LOCKFREE_THREADSAFEREFCOUNTED) from Atomics.cpp since it is
no longer defined.
https://bugs.webkit.org/show_bug.cgi?id=124502

Patch by Iain Lane <iain.lane@canonical.com> on 2013-12-05
Reviewed by Anders Carlsson.

* wtf/Atomics.cpp:

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

6 years agoClean up the forwarding headers of RenderBlock.h
zoltan@webkit.org [Fri, 6 Dec 2013 03:18:52 +0000 (03:18 +0000)]
Clean up the forwarding headers of RenderBlock.h
https://bugs.webkit.org/show_bug.cgi?id=125323

Reviewed by Ryosuke Niwa.

In this patch, I removed the unnecessary forwarding headers from RenderBlock.h, and moved some to RenderBlockFlow.h.

No new tests, no behavior change.

* rendering/RenderBlock.h: Remove unnecessary forwarding headers.
* rendering/RenderBlockFlow.h: Moved some forwarding headers from RenderBlock.h

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

6 years agoRefactor static getter function prototype to include thisValue in addition to the...
oliver@apple.com [Fri, 6 Dec 2013 03:03:24 +0000 (03:03 +0000)]
Refactor static getter function prototype to include thisValue in addition to the base object
https://bugs.webkit.org/show_bug.cgi?id=124461

Reviewed by Geoffrey Garen.

Source/JavaScriptCore:

Add thisValue parameter to static getter prototype, and switch
from JSValue to EncodedJSValue for parameters and return value.

Currently none of the static getters use the thisValue, but
separating out the refactoring will prevent future changes
from getting lost in the noise of refactoring.  This means
that this patch does not result in any change in behaviour.

* API/JSCallbackObject.h:
* API/JSCallbackObjectFunctions.h:
(JSC::::asCallbackObject):
(JSC::::staticFunctionGetter):
(JSC::::callbackGetter):
* jit/JITOperations.cpp:
* runtime/JSActivation.cpp:
(JSC::JSActivation::argumentsGetter):
* runtime/JSActivation.h:
* runtime/JSFunction.cpp:
(JSC::JSFunction::argumentsGetter):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::lengthGetter):
(JSC::JSFunction::nameGetter):
* runtime/JSFunction.h:
* runtime/JSObject.h:
(JSC::PropertySlot::getValue):
* runtime/NumberConstructor.cpp:
(JSC::numberConstructorNaNValue):
(JSC::numberConstructorNegInfinity):
(JSC::numberConstructorPosInfinity):
(JSC::numberConstructorMaxValue):
(JSC::numberConstructorMinValue):
* runtime/PropertySlot.h:
* runtime/RegExpConstructor.cpp:
(JSC::asRegExpConstructor):
(JSC::regExpConstructorDollar1):
(JSC::regExpConstructorDollar2):
(JSC::regExpConstructorDollar3):
(JSC::regExpConstructorDollar4):
(JSC::regExpConstructorDollar5):
(JSC::regExpConstructorDollar6):
(JSC::regExpConstructorDollar7):
(JSC::regExpConstructorDollar8):
(JSC::regExpConstructorDollar9):
(JSC::regExpConstructorInput):
(JSC::regExpConstructorMultiline):
(JSC::regExpConstructorLastMatch):
(JSC::regExpConstructorLastParen):
(JSC::regExpConstructorLeftContext):
(JSC::regExpConstructorRightContext):
* runtime/RegExpObject.cpp:
(JSC::asRegExpObject):
(JSC::regExpObjectGlobal):
(JSC::regExpObjectIgnoreCase):
(JSC::regExpObjectMultiline):
(JSC::regExpObjectSource):

Source/WebCore:

Change bindings codegen to produce static getter functions
with the correct types.  Also update the many custom implementations
to the new type.

No change in behaviour.

* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
(WebCore::cssPropertyGetterCallback):
* bindings/js/JSDOMBinding.cpp:
(WebCore::objectToStringFunctionGetter):
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMMimeTypeArrayCustom.cpp:
(WebCore::JSDOMMimeTypeArray::nameGetter):
* bindings/js/JSDOMPluginArrayCustom.cpp:
(WebCore::JSDOMPluginArray::nameGetter):
* bindings/js/JSDOMPluginCustom.cpp:
(WebCore::JSDOMPlugin::nameGetter):
* bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::nameGetter):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::nonCachingStaticFunctionGetter):
(WebCore::childFrameGetter):
(WebCore::indexGetter):
(WebCore::namedItemGetter):
* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::JSHTMLAllCollection::nameGetter):
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::JSHTMLCollection::nameGetter):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::nameGetter):
* bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
(WebCore::JSHTMLFormControlsCollection::nameGetter):
* bindings/js/JSHTMLFormElementCustom.cpp:
(WebCore::JSHTMLFormElement::nameGetter):
* bindings/js/JSHTMLFrameSetElementCustom.cpp:
(WebCore::JSHTMLFrameSetElement::nameGetter):
* bindings/js/JSHistoryCustom.cpp:
(WebCore::nonCachingStaticBackFunctionGetter):
(WebCore::nonCachingStaticForwardFunctionGetter):
(WebCore::nonCachingStaticGoFunctionGetter):
* bindings/js/JSJavaScriptCallFrameCustom.cpp:
(WebCore::JSJavaScriptCallFrame::scopeType):
* bindings/js/JSLocationCustom.cpp:
(WebCore::nonCachingStaticReplaceFunctionGetter):
(WebCore::nonCachingStaticReloadFunctionGetter):
(WebCore::nonCachingStaticAssignFunctionGetter):
* bindings/js/JSNamedNodeMapCustom.cpp:
(WebCore::JSNamedNodeMap::nameGetter):
* bindings/js/JSNodeListCustom.cpp:
(WebCore::JSNodeList::nameGetter):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginElementPropertyGetter):
* bindings/js/JSPluginElementFunctions.h:
* bindings/js/JSRTCStatsResponseCustom.cpp:
(WebCore::JSRTCStatsResponse::nameGetter):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::nameGetter):
* bindings/js/JSStyleSheetListCustom.cpp:
(WebCore::JSStyleSheetList::nameGetter):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
(GenerateParametersCheck):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::lengthGetter):
(JSC::RuntimeArray::indexGetter):
* bridge/runtime_array.h:
* bridge/runtime_method.cpp:
(JSC::RuntimeMethod::lengthGetter):
* bridge/runtime_method.h:
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::fallbackObjectGetter):
(JSC::Bindings::RuntimeObject::fieldGetter):
(JSC::Bindings::RuntimeObject::methodGetter):
* bridge/runtime_object.h:

Source/WebKit2:

Update the WK2 JSC usage to the new static getter API

* WebProcess/Plugins/Netscape/JSNPMethod.cpp:
(WebKit::callMethod):
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::callNPJSObject):
(WebKit::constructWithConstructor):
(WebKit::JSNPObject::propertyGetter):
(WebKit::JSNPObject::methodGetter):
* WebProcess/Plugins/Netscape/JSNPObject.h:
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
(WebKit::NPRuntimeObjectMap::finalize):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::frameForContext):
(WebKit::WebFrame::counterValue):

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

6 years agoRemove Image::decodedSize()
timothy_horton@apple.com [Fri, 6 Dec 2013 02:52:12 +0000 (02:52 +0000)]
Remove Image::decodedSize()
https://bugs.webkit.org/show_bug.cgi?id=125327

Reviewed by Sam Weinig.

No new tests, just removing dead code.

* platform/graphics/BitmapImage.cpp:
(WebCore::BitmapImage::resetAnimation):
* platform/graphics/BitmapImage.h:
* platform/graphics/GeneratedImage.h:
* platform/graphics/Image.h:
* platform/graphics/cg/PDFDocumentImage.cpp:
* platform/graphics/cg/PDFDocumentImage.h:
* svg/graphics/SVGImage.h:
* svg/graphics/SVGImageForContainer.h:

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

6 years agoDisable WebKit2 webkitpy unittests on Windows
ossy@webkit.org [Fri, 6 Dec 2013 01:50:15 +0000 (01:50 +0000)]
Disable WebKit2 webkitpy unittests on Windows
https://bugs.webkit.org/show_bug.cgi?id=125318

Reviewed by Ryosuke Niwa.

* Scripts/webkitpy/test/main.py:
(main):

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

6 years agoFTL should use cvttsd2si directly for double-to-int32 conversions
fpizlo@apple.com [Fri, 6 Dec 2013 01:47:19 +0000 (01:47 +0000)]
FTL should use cvttsd2si directly for double-to-int32 conversions
https://bugs.webkit.org/show_bug.cgi?id=125275

Source/JavaScriptCore:

Reviewed by Michael Saboff.

Wow. This was an ordeal. Using cvttsd2si was actually easy, but I learned, and
sometimes even fixed, some interesting things:

- The llvm.x86.sse2.cvttsd2si intrinsic can actually result in LLVM emitting a
  vcvttsd2si. I guess the intrinsic doesn't actually imply the instruction.

- That whole thing about branchTruncateDoubleToUint32? Yeah we don't need that. It's
  better to use branchTruncateDoubleToInt32 instead. It has the right semantics for
  all of its callers (err, its one-and-only caller), and it's more likely to take
  fast path. This patch kills branchTruncateDoubleToUint32.

- "a[i] = v; v = a[i]". Does this change v? OK, assume that 'a[i]' is a pure-ish
  operation - like an array access with 'i' being an integer index and we're not
  having a bad time. Now does this change v? CSE assumes that it doesn't. That's
  wrong. If 'a' is a typed array - the most sensible and pure kind of array - then
  this can be a truncating cast. For example 'v' could be a double and 'a' could be
  an integer array.

- "v1 = a[i]; v2 = a[i]". Is v1 === v2 assuming that 'a[i]' is pure-ish? The answer
  is no. You could have a different arrayMode in each access. I know this sounds
  weird, but with concurrent JIT that might happen.

This patch adds tests for all of this stuff, except for the first issue (it's weird
but probably doesn't matter) and the last issue (it's too much of a freakshow).

* assembler/MacroAssemblerARM64.h:
* assembler/MacroAssemblerARMv7.h:
* assembler/MacroAssemblerX86Common.h:
* dfg/DFGCSEPhase.cpp:
(JSC::DFG::CSEPhase::getByValLoadElimination):
(JSC::DFG::CSEPhase::performNodeCSE):
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
* ftl/FTLAbbreviations.h:
(JSC::FTL::vectorType):
(JSC::FTL::getUndef):
(JSC::FTL::buildInsertElement):
* ftl/FTLIntrinsicRepository.h:
* ftl/FTLLowerDFGToLLVM.cpp:
(JSC::FTL::LowerDFGToLLVM::doubleToInt32):
(JSC::FTL::LowerDFGToLLVM::doubleToUInt32):
(JSC::FTL::LowerDFGToLLVM::sensibleDoubleToInt32):
* ftl/FTLOutput.h:
(JSC::FTL::Output::insertElement):
(JSC::FTL::Output::hasSensibleDoubleToInt):
(JSC::FTL::Output::sensibleDoubleToInt):

LayoutTests:

Reviewed by Michael Saboff.

* js/regress/double-to-int32-typed-array-expected.txt: Added.
* js/regress/double-to-int32-typed-array-no-inline-expected.txt: Added.
* js/regress/double-to-int32-typed-array-no-inline.html: Added.
* js/regress/double-to-int32-typed-array.html: Added.
* js/regress/double-to-uint32-typed-array-expected.txt: Added.
* js/regress/double-to-uint32-typed-array-no-inline-expected.txt: Added.
* js/regress/double-to-uint32-typed-array-no-inline.html: Added.
* js/regress/double-to-uint32-typed-array.html: Added.
* js/regress/script-tests/double-to-int32-typed-array-no-inline.js: Added.
(foo):
(test):
* js/regress/script-tests/double-to-int32-typed-array.js: Added.
(foo):
(test):
* js/regress/script-tests/double-to-uint32-typed-array-no-inline.js: Added.
(foo):
(test):
* js/regress/script-tests/double-to-uint32-typed-array.js: Added.
(foo):
(test):

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

6 years agoUnreviewed, rolling out r160133.
commit-queue@webkit.org [Fri, 6 Dec 2013 01:19:42 +0000 (01:19 +0000)]
Unreviewed, rolling out r160133.
http://trac.webkit.org/changeset/160133
https://bugs.webkit.org/show_bug.cgi?id=125325

broke bindings tests on all the bots (Requested by thorton on
#webkit).

Source/JavaScriptCore:

* API/JSCallbackObject.h:
* API/JSCallbackObjectFunctions.h:
(JSC::::staticFunctionGetter):
(JSC::::callbackGetter):
* jit/JITOperations.cpp:
* runtime/JSActivation.cpp:
(JSC::JSActivation::argumentsGetter):
* runtime/JSActivation.h:
* runtime/JSFunction.cpp:
(JSC::JSFunction::argumentsGetter):
(JSC::JSFunction::callerGetter):
(JSC::JSFunction::lengthGetter):
(JSC::JSFunction::nameGetter):
* runtime/JSFunction.h:
* runtime/JSObject.h:
(JSC::PropertySlot::getValue):
* runtime/NumberConstructor.cpp:
(JSC::numberConstructorNaNValue):
(JSC::numberConstructorNegInfinity):
(JSC::numberConstructorPosInfinity):
(JSC::numberConstructorMaxValue):
(JSC::numberConstructorMinValue):
* runtime/PropertySlot.h:
* runtime/RegExpConstructor.cpp:
(JSC::regExpConstructorDollar1):
(JSC::regExpConstructorDollar2):
(JSC::regExpConstructorDollar3):
(JSC::regExpConstructorDollar4):
(JSC::regExpConstructorDollar5):
(JSC::regExpConstructorDollar6):
(JSC::regExpConstructorDollar7):
(JSC::regExpConstructorDollar8):
(JSC::regExpConstructorDollar9):
(JSC::regExpConstructorInput):
(JSC::regExpConstructorMultiline):
(JSC::regExpConstructorLastMatch):
(JSC::regExpConstructorLastParen):
(JSC::regExpConstructorLeftContext):
(JSC::regExpConstructorRightContext):
* runtime/RegExpObject.cpp:
(JSC::regExpObjectGlobal):
(JSC::regExpObjectIgnoreCase):
(JSC::regExpObjectMultiline):
(JSC::regExpObjectSource):

Source/WebCore:

* bindings/js/JSCSSStyleDeclarationCustom.cpp:
(WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
(WebCore::cssPropertyGetterCallback):
* bindings/js/JSDOMBinding.cpp:
(WebCore::objectToStringFunctionGetter):
* bindings/js/JSDOMBinding.h:
* bindings/js/JSDOMMimeTypeArrayCustom.cpp:
(WebCore::JSDOMMimeTypeArray::nameGetter):
* bindings/js/JSDOMPluginArrayCustom.cpp:
(WebCore::JSDOMPluginArray::nameGetter):
* bindings/js/JSDOMPluginCustom.cpp:
(WebCore::JSDOMPlugin::nameGetter):
* bindings/js/JSDOMStringMapCustom.cpp:
(WebCore::JSDOMStringMap::nameGetter):
* bindings/js/JSDOMWindowCustom.cpp:
(WebCore::nonCachingStaticFunctionGetter):
(WebCore::childFrameGetter):
(WebCore::indexGetter):
(WebCore::namedItemGetter):
* bindings/js/JSHTMLAllCollectionCustom.cpp:
(WebCore::JSHTMLAllCollection::nameGetter):
* bindings/js/JSHTMLCollectionCustom.cpp:
(WebCore::JSHTMLCollection::nameGetter):
* bindings/js/JSHTMLDocumentCustom.cpp:
(WebCore::JSHTMLDocument::nameGetter):
* bindings/js/JSHTMLFormControlsCollectionCustom.cpp:
(WebCore::JSHTMLFormControlsCollection::nameGetter):
* bindings/js/JSHTMLFormElementCustom.cpp:
(WebCore::JSHTMLFormElement::nameGetter):
* bindings/js/JSHTMLFrameSetElementCustom.cpp:
(WebCore::JSHTMLFrameSetElement::nameGetter):
* bindings/js/JSHistoryCustom.cpp:
(WebCore::nonCachingStaticBackFunctionGetter):
(WebCore::nonCachingStaticForwardFunctionGetter):
(WebCore::nonCachingStaticGoFunctionGetter):
* bindings/js/JSJavaScriptCallFrameCustom.cpp:
(WebCore::JSJavaScriptCallFrame::scopeType):
* bindings/js/JSLocationCustom.cpp:
(WebCore::nonCachingStaticReplaceFunctionGetter):
(WebCore::nonCachingStaticReloadFunctionGetter):
(WebCore::nonCachingStaticAssignFunctionGetter):
* bindings/js/JSNamedNodeMapCustom.cpp:
(WebCore::JSNamedNodeMap::nameGetter):
* bindings/js/JSNodeListCustom.cpp:
(WebCore::JSNodeList::nameGetter):
* bindings/js/JSPluginElementFunctions.cpp:
(WebCore::pluginElementPropertyGetter):
* bindings/js/JSPluginElementFunctions.h:
* bindings/js/JSRTCStatsResponseCustom.cpp:
(WebCore::JSRTCStatsResponse::nameGetter):
* bindings/js/JSStorageCustom.cpp:
(WebCore::JSStorage::nameGetter):
* bindings/js/JSStyleSheetListCustom.cpp:
(WebCore::JSStyleSheetList::nameGetter):
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
(GenerateParametersCheck):
* bridge/runtime_array.cpp:
(JSC::RuntimeArray::lengthGetter):
(JSC::RuntimeArray::indexGetter):
* bridge/runtime_array.h:
* bridge/runtime_method.cpp:
(JSC::RuntimeMethod::lengthGetter):
* bridge/runtime_method.h:
* bridge/runtime_object.cpp:
(JSC::Bindings::RuntimeObject::fallbackObjectGetter):
(JSC::Bindings::RuntimeObject::fieldGetter):
(JSC::Bindings::RuntimeObject::methodGetter):
* bridge/runtime_object.h:

Source/WebKit2:

* WebProcess/Plugins/Netscape/JSNPMethod.cpp:
(WebKit::callMethod):
* WebProcess/Plugins/Netscape/JSNPObject.cpp:
(WebKit::callNPJSObject):
(WebKit::constructWithConstructor):
(WebKit::JSNPObject::propertyGetter):
(WebKit::JSNPObject::methodGetter):
* WebProcess/Plugins/Netscape/JSNPObject.h:
* WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
(WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
(WebKit::NPRuntimeObjectMap::finalize):
* WebProcess/WebPage/WebFrame.cpp:
(WebKit::WebFrame::counterValue):

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

6 years agoWeb Inspector: Remove 'cookiesString' output from Page.getCookies
seokju@webkit.org [Fri, 6 Dec 2013 01:09:09 +0000 (01:09 +0000)]
Web Inspector: Remove 'cookiesString' output from Page.getCookies
https://bugs.webkit.org/show_bug.cgi?id=125268

Reviewed by Timothy Hatcher.

Remove 'cookiesString' output from Page.getCookies protocol.
It is no longer meaningful because it is an unused parameter.

Source/WebCore:

No new tests, no behavior change.

* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::getCookies):
* inspector/InspectorPageAgent.h:
* inspector/protocol/Page.json:

Source/WebInspectorUI:

* UserInterface/CookieStorageContentView.js:
(WebInspector.CookieStorageContentView.prototype.update):
* UserInterface/InspectorBackendCommands.js:

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

6 years agoWeb Inspector: expose node and frame snapshot capabilities.
commit-queue@webkit.org [Fri, 6 Dec 2013 00:57:43 +0000 (00:57 +0000)]
Web Inspector: expose node and frame snapshot capabilities.
https://bugs.webkit.org/show_bug.cgi?id=124326

Patch by Brian J. Burg <burg@cs.washington.edu> on 2013-12-05
Reviewed by Joseph Pecoraro.

Source/WebCore:

This adds snapshotRect() and snapshotNode() to the Page domain.
Both methods create snapshots using FrameSnapshotting APIs
and send images to the inspector frontend as a data URL.

Remove the unimplemented Page.captureScreenshot API.

* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::snapshotNode): Added.
(WebCore::InspectorPageAgent::snapshotRect): Added.
* inspector/InspectorPageAgent.h:
* inspector/protocol/Page.json: Added new protocol APIs.

Source/WebInspectorUI:

Add method signatures for snapshotNode() and snapshotRect().
Remove method signature for unimplemented Page.captureScreenshot.

* UserInterface/InspectorBackendCommands.js:

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

6 years agoSource/WebCore: [CSS Shapes] Enable CSS Shapes on Windows
betravis@adobe.com [Thu, 5 Dec 2013 23:48:06 +0000 (23:48 +0000)]
Source/WebCore:     [CSS Shapes] Enable CSS Shapes on Windows
    https://bugs.webkit.org/show_bug.cgi?id=89957

    Reviewed by Brent Fulgham.

    * css/CSSPropertyNames.in: Tweak to ensure shapes properties are regenerated.

WebKitLibraries: [CSS Shapes] Enable CSS Shapes on Windows
https://bugs.webkit.org/show_bug.cgi?id=89957

Reviewed by Brent Fulgham.

Turn on CSS_SHAPES on Windows now that bug 121883 has been fixed.

* win/tools/vsprops/FeatureDefines.props:
* win/tools/vsprops/FeatureDefinesCairo.props:

LayoutTests: [CSS Shapes] Enable CSS Shapes on Windows
https://bugs.webkit.org/show_bug.cgi?id=89957

Reviewed by Brent Fulgham.

Turning shapes tests back on on Windows builds.

* platform/win/TestExpectations: Enable shapes tests.

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

6 years ago[WebGL] Make sure we satisfy uniform and varying packing restrictions.
roger_fong@apple.com [Thu, 5 Dec 2013 23:45:28 +0000 (23:45 +0000)]
[WebGL] Make sure we satisfy uniform and varying packing restrictions.
https://bugs.webkit.org/show_bug.cgi?id=125124.
<rdar://problem/15203291>

Reviewed by Brent Fulgham.

Tests covered by WebGL Khronos conformance tests:
webgl/1.0.2/conformance/glsl/misc/shader-uniform-packing-restrictions.html
webgl/1.0.2/conformance/glsl/misc/shader-varying-packing-restrictions.html

* platform/graphics/opengl/Extensions3DOpenGLCommon.cpp:
(WebCore::Extensions3DOpenGLCommon::getTranslatedShaderSourceANGLE):
* src/compiler/Compiler.cpp:
Add a check to enforcePackingRestrictions to ensure we make sure packing restrictions for varyings are satisfied as well.
(TCompiler::TCompiler):
(TCompiler::Init):
(TCompiler::compile):
(TCompiler::enforcePackingRestrictions):
* src/compiler/ShHandle.h: Keep track of maximum varying vectors.
* platform/mac/TestExpectations: Unskip some 1.0.2 WebGL conformance tests that should now be passing.
Skip conformance/ogles/GL/build/build_009_to_016.html which is a faulty test and has too many varyings in one shader.

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

6 years agoWeb Inspector: [CSS Regions] Show a list of containing regions when clicking a node...
achicu@adobe.com [Thu, 5 Dec 2013 23:37:08 +0000 (23:37 +0000)]
Web Inspector: [CSS Regions] Show a list of containing regions when clicking a node that is part of a flow
https://bugs.webkit.org/show_bug.cgi?id=124614

Reviewed by Timothy Hatcher.

Source/WebInspectorUI:

Added a new function in DOMTreeManager called getNodeContentFlowInfo that can be used
to retrieve an object with the following structure:
{
     "regionFlow": <Reference to the ContentFlow object referenced by the -webkit-flow-from property of the node>,
     "contentFlow": <Reference to the ContentFlow object referenced by the -webkit-flow-into property of
                     the node or a parent of the node>,
     "regions": [ list of DOMNodes representing the regions containers of the node. The node is split across all these regions. ]
}

Also, used this method to display a two new sections in the Computed Styles panel.
1. Section "Flows": can have up to two Simple Rows: "Region Flow" and "Content Flow".
2. Section "Container Regions" contains a DOMTreeDataGrid with the list of regions.

The sections are only visible when there's content to display.

Next to the "Region Flow" simple row I've added an arrow that will take the user to the "ContentFlowDOMTreeContentView" of the
ContentFlow. The same happens for the "Content Flow", but in this case the element will also be highlighted.

Part of the patch I've added the DOMTreeDataGridNode. LayerTreeDataGrid has a lot of CSS in common with it, so I
will make another patch to refactor LayerTreeDataGrid to use DOMTreeDataGridNode as a base class.

* Localizations/en.lproj/localizedStrings.js:
* UserInterface/ComputedStyleDetailsPanel.css: Added.
(.details-section > .content > .group > .row.simple.content-flow-link > .label):
(.details-section > .content > .group > .row.simple.content-flow-link > .value):
(.details-section > .content > .group > .row.simple.content-flow-link > .value > div):
(.details-section > .content > .group > .row.simple.content-flow-link > .value > div > .icon):
(.details-section > .content > .group > .row.simple.content-flow-link > .value > div > span):
(.details-section > .content > .group > .row.simple.content-flow-link > .value > div > .go-to-arrow):
(.details-section > .content > .group > .row.simple.content-flow-link:hover > .value > div > .go-to-arrow):
* UserInterface/ComputedStyleDetailsPanel.js:
(WebInspector.ComputedStyleDetailsPanel):
(WebInspector.ComputedStyleDetailsPanel.prototype.get regionFlow):
(WebInspector.ComputedStyleDetailsPanel.prototype.set regionFlow):
(WebInspector.ComputedStyleDetailsPanel.prototype.get contentFlow):
(WebInspector.ComputedStyleDetailsPanel.prototype.set contentFlow):
(WebInspector.ComputedStyleDetailsPanel.prototype.get containerRegions):
(WebInspector.ComputedStyleDetailsPanel.prototype.set containerRegions):
(WebInspector.ComputedStyleDetailsPanel.prototype.refresh):
(WebInspector.ComputedStyleDetailsPanel.prototype._computedStyleShowAllCheckboxValueChanged):
(WebInspector.ComputedStyleDetailsPanel.prototype._resetFlowDetails):
(WebInspector.ComputedStyleDetailsPanel.prototype._refreshFlowDetails.contentFlowInfoReady):
(WebInspector.ComputedStyleDetailsPanel.prototype._refreshFlowDetails):
(WebInspector.ComputedStyleDetailsPanel.prototype._goToRegionFlowArrowWasClicked):
(WebInspector.ComputedStyleDetailsPanel.prototype._goToContentFlowArrowWasClicked):
* UserInterface/DOMTreeDataGrid.css: Added.
(.dom-tree-data-grid .data-grid):
(.dom-tree-data-grid .data-grid table.data):
(.dom-tree-data-grid .data-container):
(.dom-tree-data-grid .data-container tr):
(.dom-tree-data-grid .data-container td > div):
(.dom-tree-data-grid .data-container .name-column):
(.dom-tree-data-grid .data-container .name-column .icon):
(.dom-tree-data-grid .data-container .name-column .label):
(.dom-tree-data-grid .data-container tr:hover .name-column .label):
(.dom-tree-data-grid .data-container .go-to-arrow):
(.dom-tree-data-grid .data-container tr:hover .go-to-arrow):
(.dom-tree-data-grid .data-container tbody > tr:nth-child(2n)):
(.dom-tree-data-grid .data-container tbody > tr:nth-child(2n+1)):
* UserInterface/DOMTreeDataGrid.js: Added.
(WebInspector.DOMTreeDataGrid):
(WebInspector.DOMTreeDataGrid.prototype._onmousemove):
(WebInspector.DOMTreeDataGrid.prototype._onmouseout):
* UserInterface/DOMTreeDataGridNode.js: Added.
(WebInspector.DOMTreeDataGridNode):
(WebInspector.DOMTreeDataGridNode.prototype.get domNode):
(WebInspector.DOMTreeDataGridNode.prototype.createCellContent):
(WebInspector.DOMTreeDataGridNode.prototype._updateNodeName):
(WebInspector.DOMTreeDataGridNode.prototype._makeNameCell):
(WebInspector.DOMTreeDataGridNode.prototype._updateNameCellData):
(WebInspector.DOMTreeDataGridNode.prototype._goToArrowWasClicked):
* UserInterface/DOMTreeManager.js:
(WebInspector.DOMTreeManager.prototype.unregisteredNamedFlowContentElement):
(WebInspector.DOMTreeManager.prototype.nodeRequested):
(WebInspector.DOMTreeManager.prototype._coerceRemoteArrayOfDOMNodes):
(WebInspector.DOMTreeManager.prototype.domNodeResolved):
(WebInspector.DOMTreeManager.prototype.regionNodesAvailable):
(WebInspector.DOMTreeManager.prototype.get if):
(WebInspector.DOMTreeManager.prototype.get var):
(WebInspector.DOMTreeManager.prototype.backendFunction.getComputedProperty):
(WebInspector.DOMTreeManager.prototype.backendFunction.getContentFlowName):
(WebInspector.DOMTreeManager.prototype.):
* UserInterface/DataGrid.css:
(.data-grid.no-header > table.header):
(.data-grid.no-header .data-container):
* UserInterface/DetailsSection.js:
(WebInspector.DetailsSection):
* UserInterface/InspectorBackend.js:
(InspectorBackendClass.prototype._wrap):
* UserInterface/Main.html:
* UserInterface/ResourceSidebarPanel.js:
(WebInspector.ResourceSidebarPanel.prototype.showContentFlowDOMTree):
* UserInterface/RuntimeManager.js:
(WebInspector.RuntimeManager.prototype.evaluateInInspectedWindow):
(WebInspector.RuntimeManager.prototype.getPropertiesForRemoteObject):

LayoutTests:

Added a new test to check the new WebInspector function called DOMTreeManager.getNodeContentFlowInfo.

* http/tests/inspector-protocol/resources/InspectorTest.js:
When testing the inspector code, we want to catch and log any uncaught exceptions or console.errors/asserts.
(InspectorTest.importInspectorScripts.console.error.window.onerror):
(InspectorTest.importInspectorScripts.console.assert):
(InspectorTest.importInspectorScripts):
* inspector-protocol/model/content-node-region-info-expected.txt: Added.
* inspector-protocol/model/content-node-region-info.html: Added.

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

6 years agoAX: Seed: safari extension installation crashes safari under voice over and freezes...
cfleizach@apple.com [Thu, 5 Dec 2013 23:33:10 +0000 (23:33 +0000)]
AX: Seed: safari extension installation crashes safari under voice over and freezes voice over
https://bugs.webkit.org/show_bug.cgi?id=125308

Reviewed by Anders Carlsson.

Much like Javascript alerts, we need to allow accessibility clients to continue to interact with the WebProcess thread
when using dispatchDecidePolicyResponses.

* Platform/CoreIPC/MessageSender.h:
(CoreIPC::MessageSender::sendSync):
* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::dispatchDecidePolicyForResponse):

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

6 years ago32bit buildfix after r160151
commit-queue@webkit.org [Thu, 5 Dec 2013 23:12:47 +0000 (23:12 +0000)]
32bit buildfix after r160151
https://bugs.webkit.org/show_bug.cgi?id=125298

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-05
Reviewed by Csaba Osztrogonác.

* platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
(StreamingClient::handleDataReceived):

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

6 years agoFix ANGLE build failures by re-comitting the changes in http://trac.webkit.org/change...
matthew_hanson@apple.com [Thu, 5 Dec 2013 22:55:38 +0000 (22:55 +0000)]
Fix ANGLE build failures by re-comitting the changes in trac.webkit.org/changeset/154223
on top of the library updates introduced by http://trac.webkit.org/changeset/159533.

Rubber-stamped by Babak Shafiei.

* src/compiler/glslang.l:
* src/compiler/glslang_lex.cpp:
* src/compiler/preprocessor/Tokenizer.cpp:
* src/compiler/preprocessor/Tokenizer.l:

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

6 years ago"Use Selection for Find" doesn't work in PDF viewed in Safari
andersca@apple.com [Thu, 5 Dec 2013 22:30:40 +0000 (22:30 +0000)]
"Use Selection for Find" doesn't work in PDF viewed in Safari
https://bugs.webkit.org/show_bug.cgi?id=125319
<rdar://problem/15486983>

Reviewed by Tim Horton.

* WebProcess/Plugins/PDF/PDFPlugin.h:
* WebProcess/Plugins/PDF/PDFPlugin.mm:
(-[WKPDFLayerControllerDelegate writeItemsToPasteboard:withTypes:]):
Pass NSGeneralPboard to writeItemsToPasteboard.

(WebKit::PDFPlugin::handleEditingCommand):
Handle takeFindStringFromSelection by getting the current selection string and writing it to the find pasteboard.

(WebKit::PDFPlugin::isEditingCommandEnabled):
Handle takeFindStringFromSelection.

(WebKit::PDFPlugin::writeItemsToPasteboard):
Update this to take a pasteboard name.

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

6 years agoWebKit2 API should use weak ownership for delegate properties rather than assign
andersca@apple.com [Thu, 5 Dec 2013 21:38:09 +0000 (21:38 +0000)]
WebKit2 API should use weak ownership for delegate properties rather than assign
https://bugs.webkit.org/show_bug.cgi?id=125316
<rdar://problem/15560614>

Reviewed by Dan Bernstein.

Use WeakObjCPtr for the delegates.

* UIProcess/API/Cocoa/WKBrowsingContextController.h:
* UIProcess/API/Cocoa/WKBrowsingContextController.mm:
(didStartProvisionalLoadForFrame):
(didReceiveServerRedirectForProvisionalLoadForFrame):
(didFailProvisionalLoadWithErrorForFrame):
(didCommitLoadForFrame):
(didFinishLoadForFrame):
(didFailLoadWithErrorForFrame):
(didStartProgress):
(didChangeProgress):
(didFinishProgress):
(didChangeBackForwardList):
(setUpPagePolicyClient):
(-[WKBrowsingContextController loadDelegate]):
(-[WKBrowsingContextController setLoadDelegate:]):
(-[WKBrowsingContextController policyDelegate]):
(-[WKBrowsingContextController setPolicyDelegate:]):
(-[WKBrowsingContextController historyDelegate]):
(-[WKBrowsingContextController setHistoryDelegate:]):
* UIProcess/API/Cocoa/WKBrowsingContextControllerInternal.h:
* UIProcess/API/Cocoa/WKConnection.mm:
(didReceiveMessage):
(didClose):
(-[WKConnection delegate]):
(-[WKConnection setDelegate:]):
* UIProcess/API/Cocoa/WKProcessGroup.mm:
(didCreateConnection):
(getInjectedBundleInitializationUserData):
(didNavigateWithNavigationData):
(didPerformClientRedirect):
(didPerformServerRedirect):
(didUpdateHistoryTitle):
(-[WKProcessGroup delegate]):
(-[WKProcessGroup setDelegate:]):

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

6 years agoCropping and drawing ImageBuffers results in uninitialized data being shown
commit-queue@webkit.org [Thu, 5 Dec 2013 20:44:41 +0000 (20:44 +0000)]
Cropping and drawing ImageBuffers results in uninitialized data being shown
https://bugs.webkit.org/show_bug.cgi?id=125271

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-12-05
Reviewed by Simon Fraser.

createCroppedImageIfNecessary() crops to the bottom left of the ImageBuffer
backing store instead of the top left. In addition, ImageBuffer::draw()
draws the entire ImageBuffer's backing store instead of just the relevant
portion of it.

No new tests are necessary because the existing tests already test this
functionality

* platform/graphics/cg/ImageBufferCG.cpp:
(WebCore::createCroppedImageIfNecessary): Crop to the top left of the
backing store
(WebCore::ImageBuffer::draw): Draw only the logical portion of the
backing store

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

6 years ago[Win] Avoid copying compiled-in resources to DSTROOT
bfulgham@apple.com [Thu, 5 Dec 2013 20:42:13 +0000 (20:42 +0000)]
[Win] Avoid copying compiled-in resources to DSTROOT
https://bugs.webkit.org/show_bug.cgi?id=125309

Reviewed by Jer Noble.

* WebKit.vcxproj/WebKit/WebKitPostBuild.cmd: Only copy Info.plist to the final WebKit.resource bundle.
The PNG and RC files are compiled into the WebKit.dll library.

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

6 years agoTweak WeakObjCPtr
andersca@apple.com [Thu, 5 Dec 2013 20:40:21 +0000 (20:40 +0000)]
Tweak WeakObjCPtr
https://bugs.webkit.org/show_bug.cgi?id=125311

Reviewed by Darin Adler.

Source/WebKit2:

Make it possible to use WeakObjCPtr with pointer types such as id. Also,
add a getAutoreleased() member that will load the weak pointer and retain + autorelease it.

* Shared/mac/WeakObjCPtr.h:
(WebKit::WeakObjCPtr::WeakObjCPtr):
(WebKit::WeakObjCPtr::operator=):
(WebKit::WeakObjCPtr::get):
(WebKit::WeakObjCPtr::getAutoreleased):

Tools:

Split up tests into more logical groups. Add new tests for new functionality.

* TestWebKitAPI/Tests/WebKit2/mac/WeakObjCPtr.mm:

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

6 years agoMake the C Loop LLINT work with callToJavaScript.
mark.lam@apple.com [Thu, 5 Dec 2013 20:33:35 +0000 (20:33 +0000)]
Make the C Loop LLINT work with callToJavaScript.
https://bugs.webkit.org/show_bug.cgi?id=125294.

Reviewed by Michael Saboff.

1. Changed the C Loop LLINT to dispatch to an Executable via its JITCode
   instance which is consistent with how the ASM LLINT works.
2. Changed CLoop::execute() to take an Opcode instead of an OpcodeID.
   This makes it play nice with the use of JITCode for dispatching.
3. Introduce a callToJavaScript and callToNativeFunction for the C Loop
   LLINT. These will call JSStack::pushFrame() and popFrame() to setup
   and teardown the CallFrame.
4. Also introduced a C Loop returnFromJavaScript which is just a
   replacement for ctiOpThrowNotCaught which had the same function.
5. Remove a lot of #if ENABLE(LLINT_C_LOOP) code now that the dispatch
   mechanism is consistent.

This patch has been tested with both configurations of COMPUTED_GOTOs
on and off.

* interpreter/CachedCall.h:
(JSC::CachedCall::CachedCall):
(JSC::CachedCall::call):
(JSC::CachedCall::setArgument):
* interpreter/CallFrameClosure.h:
(JSC::CallFrameClosure::setThis):
(JSC::CallFrameClosure::setArgument):
(JSC::CallFrameClosure::resetCallFrame):
* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):
* interpreter/Interpreter.h:
* interpreter/JSStack.h:
* interpreter/JSStackInlines.h:
(JSC::JSStack::pushFrame):
* interpreter/ProtoCallFrame.h:
(JSC::ProtoCallFrame::scope):
(JSC::ProtoCallFrame::callee):
(JSC::ProtoCallFrame::thisValue):
(JSC::ProtoCallFrame::argument):
(JSC::ProtoCallFrame::setArgument):
* jit/JITCode.cpp:
(JSC::JITCode::execute):
* jit/JITCode.h:
* jit/JITExceptions.cpp:
(JSC::genericUnwind):
* llint/LLIntCLoop.cpp:
(JSC::LLInt::CLoop::initialize):
* llint/LLIntCLoop.h:
* llint/LLIntEntrypoint.cpp:
(JSC::LLInt::setFunctionEntrypoint):
(JSC::LLInt::setEvalEntrypoint):
(JSC::LLInt::setProgramEntrypoint):
- Inverted the check for vm.canUseJIT(). This allows the JIT case to be
  #if'd out nicely when building the C Loop LLINT.
* llint/LLIntOpcode.h:
* llint/LLIntThunks.cpp:
(JSC::doCallToJavaScript):
(JSC::executeJS):
(JSC::callToJavaScript):
(JSC::executeNative):
(JSC::callToNativeFunction):
* llint/LLIntThunks.h:
* llint/LowLevelInterpreter.cpp:
(JSC::CLoop::execute):
* runtime/Executable.h:
(JSC::ExecutableBase::offsetOfNumParametersFor):
(JSC::ExecutableBase::hostCodeEntryFor):
(JSC::ExecutableBase::jsCodeEntryFor):
(JSC::ExecutableBase::jsCodeWithArityCheckEntryFor):
(JSC::NativeExecutable::create):
(JSC::NativeExecutable::finishCreation):
(JSC::ProgramExecutable::generatedJITCode):
* runtime/JSArray.cpp:
(JSC::AVLTreeAbstractorForArrayCompare::compare_key_key):
* runtime/StringPrototype.cpp:
(JSC::replaceUsingRegExpSearch):
* runtime/VM.cpp:
(JSC::VM::getHostFunction):

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

6 years ago[CSS Shapes] Update negative-arguments inset parsing test to test for the argument...
zoltan@webkit.org [Thu, 5 Dec 2013 20:27:59 +0000 (20:27 +0000)]
[CSS Shapes] Update negative-arguments inset parsing test to test for the argument not for the commas
https://bugs.webkit.org/show_bug.cgi?id=125310

Reviewed by Rob Buis.

Fix typo in the negative-arguments inset tests, remove commas.

* fast/shapes/parsing/parsing-shape-lengths-expected.txt:
* fast/shapes/parsing/parsing-shape-lengths.html:

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

6 years ago[Win] Exiting from Media Full Screen mode via 'escape' key does not work properly
bfulgham@apple.com [Thu, 5 Dec 2013 20:14:48 +0000 (20:14 +0000)]
[Win] Exiting from Media Full Screen mode via 'escape' key does not work properly
https://bugs.webkit.org/show_bug.cgi?id=125272

Reviewed by Jer Noble.

* WebView.cpp:
(WebView::fullScreenClientWillExitFullScreen): Change to webkitCancelFullScreen method call
to more closely match Media Control behavior.

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

6 years agoRemove stale ScriptGlobalObject methods
commit-queue@webkit.org [Thu, 5 Dec 2013 19:48:33 +0000 (19:48 +0000)]
Remove stale ScriptGlobalObject methods
https://bugs.webkit.org/show_bug.cgi?id=125276

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2013-12-05
Reviewed by Sam Weinig.

* bindings/js/ScriptObject.cpp:
(WebCore::ScriptGlobalObject::set):
* bindings/js/ScriptObject.h:

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

6 years agoChange how the form element pointer affects parsing template elements, to reduce...
rniwa@webkit.org [Thu, 5 Dec 2013 19:45:29 +0000 (19:45 +0000)]
Change how the form element pointer affects parsing template elements, to reduce weirdness in templates
https://bugs.webkit.org/show_bug.cgi?id=125279

Reviewed by Antti Koivisto.

Source/WebCore:

Faithfully update the HTML5 parser after http://html5.org/tools/web-apps-tracker?from=8330&to=8331.

Test: fast/dom/HTMLTemplateElement/no-form-association-2.html

* html/parser/HTMLConstructionSite.cpp:
(WebCore::HTMLConstructionSite::insertHTMLFormElement): Don't the form element pointer if the context
element or its ancestor is a template element.
(WebCore::HTMLConstructionSite::insideTemplateElement): Added.
(WebCore::HTMLConstructionSite::createHTMLElement): Renamed openElementsContainTemplateElement to
insideTemplateElement to reflect the true semantics of the boolean.

* html/parser/HTMLConstructionSite.h:

* html/parser/HTMLTreeBuilder.cpp:
(WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody): Ignore the form element pointer if there
is a template element on the stack of open elements. This faithfully reflects what's being said in the
specification. We should probably make isParsingTemplateContents more efficient by storing a boolean
and then wrap from() in some helper function but that should probbaly happen in a separate patch.
(WebCore::HTMLTreeBuilder::processStartTagForInBody): Ditto.
(WebCore::HTMLTreeBuilder::processStartTagForInTable): Ditto.
(WebCore::HTMLTreeBuilder::processEndTagForInBody): Don't unset or rely on the form element pointer
when there is a template element on the stack of open elements.

* html/parser/HTMLTreeBuilder.h:
(WebCore::HTMLTreeBuilder::isParsingTemplateContents): Added a trivial implementation for when
TEMPLATE_ELEMENT is disabled.
(WebCore::HTMLTreeBuilder::isParsingFragmentOrTemplateContents): Merged two implementations.

LayoutTests:

Added a regression test. Someone should port this test into web-platform-tests once the latest spec.
change has been refelcted to a working draft version of the HTML5 specification.

* fast/dom/HTMLTemplateElement/no-form-association-2-expected.txt: Added.
* fast/dom/HTMLTemplateElement/no-form-association-2.html: Added.

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

6 years ago[MediaStream] Firing negotiationneeded event upon track add/remove on MediaStream
commit-queue@webkit.org [Thu, 5 Dec 2013 19:23:03 +0000 (19:23 +0000)]
[MediaStream] Firing negotiationneeded event upon track add/remove on MediaStream
https://bugs.webkit.org/show_bug.cgi?id=125243

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-12-05
Reviewed by Eric Carlson.

Spec states that: In particular, if an RTCPeerConnection object is consuming a MediaStream on which a track is
added, by, e.g., the addTrack() method being invoked, the RTCPeerConnection object must fire the
"negotiationneeded" event. Removal of media components must also trigger "negotiationneeded".

Source/WebCore:

Existing tests updated.

* Modules/mediastream/MediaStream.cpp:
(WebCore::MediaStream::addTrack):
(WebCore::MediaStream::removeTrack):
(WebCore::MediaStream::addObserver):
(WebCore::MediaStream::removeObserver):
* Modules/mediastream/MediaStream.h:
* Modules/mediastream/RTCPeerConnection.cpp:
(WebCore::RTCPeerConnection::~RTCPeerConnection):
(WebCore::RTCPeerConnection::addStream):
(WebCore::RTCPeerConnection::removeStream):
(WebCore::RTCPeerConnection::didAddOrRemoveTrack):
* Modules/mediastream/RTCPeerConnection.h:
* platform/mock/RTCPeerConnectionHandlerMock.cpp:
(WebCore::RTCPeerConnectionHandlerMock::addStream):

LayoutTests:

* fast/mediastream/RTCPeerConnection-AddRemoveStream-expected.txt:
* fast/mediastream/RTCPeerConnection-AddRemoveStream.html:
* fast/mediastream/RTCPeerConnection-onnegotiationneeded-expected.txt:
* fast/mediastream/RTCPeerConnection-onnegotiationneeded.html:

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

6 years ago[Unreviewed] Turn on executable bits of Tools/Scripts/run-nix-tests and Tools/Scripts...
hugo.lima@openbossa.org [Thu, 5 Dec 2013 18:32:44 +0000 (18:32 +0000)]
[Unreviewed] Turn on executable bits of Tools/Scripts/run-nix-tests and Tools/Scripts/update-webkitnix-libs

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

6 years agoBad repaints on twitter when the tile cache has a margin
bdakin@apple.com [Thu, 5 Dec 2013 17:57:26 +0000 (17:57 +0000)]
Bad repaints on twitter when the tile cache has a margin
https://bugs.webkit.org/show_bug.cgi?id=125263
-and corresponding-
<rdar://problem/15576884>

Reviewed by Tim Horton.

When tiles that used to be margin tiles become real-content tiles, they need to be
invalidated.

Two new helper functions will make it so that we don’t have to manually factor out
the margin from the bounds in more than one place in the code.
* platform/graphics/ca/mac/TileController.h:
* platform/graphics/ca/mac/TileController.mm:
(WebCore::TileController::boundsWithoutMargin):
(WebCore::TileController::boundsAtLastRevalidateWithoutMargin):

 Here is one existing place where we used to factor out the margin, but now we can
call boundsWithoutMargin().
(WebCore::TileController::adjustRectAtTileIndexForMargin):

And here is where we invalidate the formerly-margin tiles.
(WebCore::TileController::revalidateTiles):

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

6 years agoRemove the forward declaration of BidiContext class from RenderBlock.h
zoltan@webkit.org [Thu, 5 Dec 2013 17:54:48 +0000 (17:54 +0000)]
Remove the forward declaration of BidiContext class from RenderBlock.h
https://bugs.webkit.org/show_bug.cgi?id=125265

Reviewed by Csaba Osztrogonác.

No new tests, no behavior change.

* rendering/RenderBlock.h: BidiContext is not used in RenderBlock.h

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

6 years ago[Cairo] Avoid extra copy when drawing images
commit-queue@webkit.org [Thu, 5 Dec 2013 17:18:18 +0000 (17:18 +0000)]
[Cairo] Avoid extra copy when drawing images
https://bugs.webkit.org/show_bug.cgi?id=124209

Patch by Aloisio Almeida Jr <aloisio.almeida@openbossa.org> on 2013-12-05
Reviewed by Carlos Garcia Campos.

This commit applies some changes proposed after the original patch has
been landed. It fixes the logic to create the subsurface (as it was
inverted). It also remove an unnecessary RefPtr variable to hold the
subsurface.

No new tests. It's an enhancement. Already covered by existing tests.

* platform/graphics/cairo/PlatformContextCairo.cpp:
(WebCore::PlatformContextCairo::drawSurfaceToContext):

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

6 years ago[CSS Shapes] Fix inset when only a subset of the arguments are defined
zoltan@webkit.org [Thu, 5 Dec 2013 16:48:06 +0000 (16:48 +0000)]
[CSS Shapes] Fix inset when only a subset of the arguments are defined
https://bugs.webkit.org/show_bug.cgi?id=125277

Reviewed by David Hyatt.

Source/WebCore:

       I thought Length's default value is fixed-0, but actually it's auto-0. For the optional arguments
       of inset shape, we need to use fixed-0, so I updated the code and the tests to use that explicitly.

No new tests, I updated the old ones.

* css/BasicShapeFunctions.cpp:
(WebCore::basicShapeForValue):

LayoutTests:

* fast/shapes/shape-outside-floats/shape-outside-floats-inset.html:

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

6 years agoFix JavaScriptCore build if cloop is enabled after r160094
commit-queue@webkit.org [Thu, 5 Dec 2013 16:27:21 +0000 (16:27 +0000)]
Fix JavaScriptCore build if cloop is enabled after r160094
https://bugs.webkit.org/show_bug.cgi?id=125292

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-05
Reviewed by Michael Saboff.

Move ProtoCallFrame outside the JIT guard.

* jit/JITCode.h:

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

6 years ago[GTK] Do not use deprecated gtk-doc 'Rename to' tag
carlosgc@webkit.org [Thu, 5 Dec 2013 14:50:57 +0000 (14:50 +0000)]
[GTK] Do not use deprecated gtk-doc 'Rename to' tag
https://bugs.webkit.org/show_bug.cgi?id=125303

Reviewed by Philippe Normand.

GObject introspection rename-to annotation is available in
since version 0.6.3 so we should use that instead.

* bindings/gobject/WebKitDOMEventTarget.h:

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

6 years ago[GTK] Fix gtk-doc warnings when generating DOM bindings API docs
carlosgc@webkit.org [Thu, 5 Dec 2013 14:32:46 +0000 (14:32 +0000)]
[GTK] Fix gtk-doc warnings when generating DOM bindings API docs
https://bugs.webkit.org/show_bug.cgi?id=125302

Reviewed by Philippe Normand.

* gtk/generate-webkitdom-doc-files:
(WebKitDOMDocGeneratorSections.write_footer): Add a new section
containing a private subsection for WEBKIT_API, WEBKIT_DEPRECATED
and WEBKIT_DEPRECATED_FOR macros.

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

6 years ago[GTK] Add missing symbols to WebKitDOMDeprecated.symbols
carlosgc@webkit.org [Thu, 5 Dec 2013 13:31:02 +0000 (13:31 +0000)]
[GTK] Add missing symbols to WebKitDOMDeprecated.symbols
https://bugs.webkit.org/show_bug.cgi?id=125300

Reviewed by Philippe Normand.

Add webkit_dom_html_element_get_id and
webkit_dom_html_element_set_id to the symbols files.

* bindings/gobject/WebKitDOMDeprecated.symbols:
* bindings/gobject/webkitdom.symbols:

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

6 years ago[GTK] Fix GObject introspection warnings in webkitspellchecker
carlosgc@webkit.org [Thu, 5 Dec 2013 13:28:37 +0000 (13:28 +0000)]
[GTK] Fix GObject introspection warnings in webkitspellchecker
https://bugs.webkit.org/show_bug.cgi?id=125299

Reviewed by Philippe Normand.

* webkit/webkitspellchecker.cpp: Add missing ':' after some
gobject-introspection annotations.

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

6 years agoFix cross compilation on x86
commit-queue@webkit.org [Thu, 5 Dec 2013 12:38:15 +0000 (12:38 +0000)]
Fix cross compilation on x86
https://bugs.webkit.org/show_bug.cgi?id=125295

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-05
Reviewed by Zoltan Herczeg.

Certain compiler flags should not be added when cross compilation is enabled.

* Scripts/webkitdirs.pm:
(runAutogenForAutotoolsProjectIfNecessary):
(generateBuildSystemFromCMakeProject):

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

6 years agoUnreviewed EFL gardening
m.pakula@samsung.com [Thu, 5 Dec 2013 12:34:06 +0000 (12:34 +0000)]
Unreviewed EFL gardening

After bumping GStreamer version to 1.2.1 in r160151 some video related WebGL conformance test started to pass.

* platform/efl-wk2/TestExpectations:
* platform/efl/TestExpectations:

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

6 years agoUnreviewed. Update GObject DOM bindings symbols file after r159711.
carlosgc@webkit.org [Thu, 5 Dec 2013 12:14:16 +0000 (12:14 +0000)]
Unreviewed. Update GObject DOM bindings symbols file after r159711.

* bindings/gobject/webkitdom.symbols:

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

6 years agoRemove duplicated/dead code from cpp style checker unit tests.
commit-queue@webkit.org [Thu, 5 Dec 2013 12:00:50 +0000 (12:00 +0000)]
Remove duplicated/dead code from cpp style checker unit tests.
https://bugs.webkit.org/show_bug.cgi?id=125226

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-05
Reviewed by Ryosuke Niwa.

Remove the first definition of OrderOfIncludesTest class as it is
overwritten by the second. Remove a duplicated assert statement
from the second class.

* Scripts/webkitpy/style/checkers/cpp_unittest.py:
(OrderOfIncludesTest.setUp):
(OrderOfIncludesTest.test_try_drop_common_suffixes):
  The last assert was duplicated.

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

6 years agoRemove Scripts/generate-qt-inspector-resource.
commit-queue@webkit.org [Thu, 5 Dec 2013 11:07:11 +0000 (11:07 +0000)]
Remove Scripts/generate-qt-inspector-resource.
https://bugs.webkit.org/show_bug.cgi?id=125288

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-05
Reviewed by Andreas Kling.

* Scripts/generate-qt-inspector-resource: Removed. There is no QT anymore.
We don't need this file.

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

6 years agoRemove certain methods from TestExpectations and use TestExpectationsModel instead...
commit-queue@webkit.org [Thu, 5 Dec 2013 10:32:13 +0000 (10:32 +0000)]
Remove certain methods from TestExpectations and use TestExpectationsModel instead of them
https://bugs.webkit.org/show_bug.cgi?id=125218

Patch by Dániel Bátyai <Batyai.Daniel@stud.u-szeged.hu> on 2013-12-05
Reviewed by Ryosuke Niwa.

* Scripts/webkitpy/layout_tests/controllers/layout_test_finder.py:
(LayoutTestFinder.skip_tests):
* Scripts/webkitpy/layout_tests/controllers/layout_test_runner.py:
(LayoutTestRunner.run_tests):
(LayoutTestRunner._update_summary_with_result):
* Scripts/webkitpy/layout_tests/controllers/manager.py:
(Manager._test_is_slow):
* Scripts/webkitpy/layout_tests/layout_package/json_layout_results_generator.py:
(JSONLayoutResultsGenerator._insert_failure_summaries):
* Scripts/webkitpy/layout_tests/models/test_expectations.py:
(TestExpectations.get_rebaselining_failures):
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py:
(assert_exp):
(MiscTests.test_multiple_results):
(MiscTests.test_category_expectations):
(MiscTests.test_get_modifiers):
(MiscTests.test_get_expectations_string):
(MiscTests.test_expectation_to_string):
(MiscTests.test_get_test_set):
(MiscTests.test_more_specific_override_resets_skip):
(SkippedTests.check):
* Scripts/webkitpy/layout_tests/models/test_run_results.py:
(TestRunResults.__init__):
(summarize_results):
* Scripts/webkitpy/tool/commands/rebaseline.py:
(RebaselineExpectations._tests_to_rebaseline):

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

6 years ago[GTK] Move platform sources free of layering violations under libPlatform
zandobersek@gmail.com [Thu, 5 Dec 2013 08:49:18 +0000 (08:49 +0000)]
[GTK] Move platform sources free of layering violations under libPlatform
https://bugs.webkit.org/show_bug.cgi?id=117509

Reviewed by Carlos Garcia Campos.

* GNUmakefile.list.am: Move additional source files located in the platform layer under libPlatform.
All moved sources are free of layering violations and thus ready for the migration.

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

6 years agoRemove bridge/testqtbindings.cpp.
commit-queue@webkit.org [Thu, 5 Dec 2013 08:47:51 +0000 (08:47 +0000)]
Remove bridge/testqtbindings.cpp.
https://bugs.webkit.org/show_bug.cgi?id=125287

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-05
Reviewed by Alexey Proskuryakov.

* bridge/testqtbindings.cpp: Removed. There is no QT anymore.
We don't need this file.

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

6 years ago[GTK][WK2] Clean up WorkQueueGtk
zandobersek@gmail.com [Thu, 5 Dec 2013 08:47:45 +0000 (08:47 +0000)]
[GTK][WK2] Clean up WorkQueueGtk
https://bugs.webkit.org/show_bug.cgi?id=125177

Reviewed by Carlos Garcia Campos.

Clean up the GTK implementation of the WorkQueue class a bit.
- registerSocketEventHandler doesn't take a condition argument anymore -- G_IO_IN was the only condition ever passed into
that method so that is now the hard-coded default.
- Clean up the declarations of GTK-specific bits in the WorkQueue header file. SocketEventSourceIterator typedef is removed
and auto will be used instead.
- WorkQueue::dispatchOnTermination and WorkQueue::SocketEventSource::performWorkOnTermination methods were unused and now removed.
- WorkQueue::SocketEventSource doesn't expect a GIO condition anymore, and WorkQueue::SocketEventSource::checkCondition is removed.
G_IO_IN condition was the only one used is now hard-coded into the check in WorkQueue::SocketEventSource::eventCallback.
- Removed an unnecessary non-null assertion for the heap-allocated SocketEventSource.
- Removed a technically duplicated assertion that a file descriptor is already present in the event sources map. Moved the
assertion before the HashMap::find() call.
- Removed two unnecessary assertions that non-null values are being returned by g_idle_source_new() and g_timeout_source_new().
Both functions are guaranteed to return non-null values.

* Platform/CoreIPC/unix/ConnectionUnix.cpp:
(CoreIPC::Connection::open):
* Platform/WorkQueue.h:
* Platform/gtk/WorkQueueGtk.cpp:
(WorkQueue::SocketEventSource::SocketEventSource):
(WorkQueue::SocketEventSource::eventCallback):
(WorkQueue::registerSocketEventHandler):
(WorkQueue::unregisterSocketEventHandler):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfterDelay):

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

6 years agoReport error when #else is used in message receiver generator's input.
commit-queue@webkit.org [Thu, 5 Dec 2013 07:41:26 +0000 (07:41 +0000)]
Report error when #else is used in message receiver generator's input.
https://bugs.webkit.org/show_bug.cgi?id=124147

Patch by Gergo Balogh <geryxyz@inf.u-szeged.hu> on 2013-12-04
Reviewed by Csaba Osztrogonác.

* Scripts/webkit2/messages_unittest.py:
(UnsupportedPrecompilerDirectiveTest):
(UnsupportedPrecompilerDirectiveTest.test_error_at_else):
(UnsupportedPrecompilerDirectiveTest.test_error_at_elif):
* Scripts/webkit2/parser.py:
(parse):

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