⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Dec 9, 2013:

11:19 PM Changeset in webkit [160351] by msaboff@apple.com
  • 5 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: ctiNativeCallFallback and friends should renamed ...NativeTailCall
https://bugs.webkit.org/show_bug.cgi?id=125485

Not yet reviewed.

Changed ctiNativeCallFallback to ctiNativeTailCall and nativeCallFallbackGenerator
to nativeTailCallGenerator to be more descriptive of what is happening.

  • jit/JITThunks.cpp:

(JSC::JITThunks::ctiNativeTailCall):

  • jit/JITThunks.h:
  • jit/ThunkGenerators.cpp:

(JSC::nativeTailCallGenerator):
(JSC::charCodeAtThunkGenerator):
(JSC::charAtThunkGenerator):
(JSC::fromCharCodeThunkGenerator):
(JSC::sqrtThunkGenerator):
(JSC::floorThunkGenerator):
(JSC::ceilThunkGenerator):
(JSC::roundThunkGenerator):
(JSC::expThunkGenerator):
(JSC::logThunkGenerator):
(JSC::absThunkGenerator):
(JSC::powThunkGenerator):
(JSC::imulThunkGenerator):
(JSC::arrayIteratorNextThunkGenerator):

  • jit/ThunkGenerators.h:
10:54 PM Changeset in webkit [160350] by msaboff@apple.com
  • 1 edit in branches/jsCStack/Source/JavaScriptCore/ChangeLog

Fixed spelling errors in the ChangeLog entry for
CStack Branch: Fix baseline JIT for basic operation

9:57 PM Changeset in webkit [160349] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Clear out font width measurement caches on memory pressure.
<https://webkit.org/b/125481>

The data kept in WidthCaches can be regenerated on demand. Throwing
it away when we're under memory pressure buys us ~4MB on Membuster3.

Reviewed by Antti Koivisto.

9:52 PM Changeset in webkit [160348] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Impose and enforce some basic rules of sanity for where Phi functions are allowed to occur and where their (optional) corresponding MovHints can be
https://bugs.webkit.org/show_bug.cgi?id=125480

Reviewed by Geoffrey Garen.

Previously, if you wanted to insert some speculation right after where a value was
produced, you'd get super confused if that value was produced by a Phi node. You can't
necessarily insert speculations after a Phi node because Phi nodes appear in this
special sequence of Phis and MovHints that establish the OSR exit state for a block.
So, you'd probably want to search for the next place where it's safe to insert things.
We already do this "search for beginning of next bytecode instruction" search by
looking at the next node that has a different CodeOrigin. But this would be hard for a
Phi because those Phis and MovHints have basically random CodeOrigins and they can all
have different CodeOrigins.

This change imposes some sanity for this situation:

  • Phis must have unset CodeOrigins.
  • In each basic block, all nodes that have unset CodeOrigins must come before all nodes that have set CodeOrigins.

This all ends up working out just great because prior to this change we didn't have a
use for unset CodeOrigins. I think it's appropriate to make "unset CodeOrigin" mean
that we're in the prologue of a basic block.

It's interesting what this means for block merging, which we don't yet do in SSA.
Consider merging the edge A->B. One possibility is that the block merger is now
required to clean up Phi/Upsilons, and reascribe the MovHints to have the CodeOrigin of
the A's block terminal. But an answer that might be better is that the originless
nodes at the top of the B are just given the origin of the terminal and we keep the
Phis. That would require changing the above rules. We'll see how it goes, and what we
end up picking...

Overall, this special-things-at-the-top rule is analogous to what other SSA-based
compilers do. For example, LLVM has rules mandating that Phis appear at the top of a
block.

  • bytecode/CodeOrigin.cpp:

(JSC::CodeOrigin::dump):

  • dfg/DFGOSRExitBase.h:

(JSC::DFG::OSRExitBase::OSRExitBase):

  • dfg/DFGSSAConversionPhase.cpp:

(JSC::DFG::SSAConversionPhase::run):

  • dfg/DFGValidate.cpp:

(JSC::DFG::Validate::validate):
(JSC::DFG::Validate::validateSSA):

7:24 PM Changeset in webkit [160347] by fpizlo@apple.com
  • 24 edits
    5 adds in trunk/Source/JavaScriptCore

Reveal array bounds checks in DFG IR
https://bugs.webkit.org/show_bug.cgi?id=125253

Reviewed by Oliver Hunt and Mark Hahnenberg.

In SSA mode, this reveals array bounds checks and the load of array length in DFG IR,
making this a candidate for LICM.

This also fixes a long-standing performance bug where the JSObject slow paths would
always create contiguous storage, rather than type-specialized storage, when doing a
"storage creating" storage, like:

var o = {};
o[0] = 42;

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/ExitKind.cpp:

(JSC::exitKindToString):
(JSC::exitKindIsCountable):

  • bytecode/ExitKind.h:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::::executeEffects):

  • dfg/DFGArrayMode.cpp:

(JSC::DFG::permitsBoundsCheckLowering):
(JSC::DFG::ArrayMode::permitsBoundsCheckLowering):

  • dfg/DFGArrayMode.h:

(JSC::DFG::ArrayMode::lengthNeedsStorage):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::foldConstants):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGNodeType.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSSALoweringPhase.cpp: Added.

(JSC::DFG::SSALoweringPhase::SSALoweringPhase):
(JSC::DFG::SSALoweringPhase::run):
(JSC::DFG::SSALoweringPhase::handleNode):
(JSC::DFG::SSALoweringPhase::lowerBoundsCheck):
(JSC::DFG::performSSALowering):

  • dfg/DFGSSALoweringPhase.h: Added.
  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileDoublePutByVal):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compileContiguousPutByVal):
(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileCheckInBounds):
(JSC::FTL::LowerDFGToLLVM::compileGetByVal):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::contiguousPutByValOutOfBounds):

  • runtime/JSObject.cpp:

(JSC::JSObject::convertUndecidedForValue):
(JSC::JSObject::createInitialForValueAndSet):
(JSC::JSObject::putByIndexBeyondVectorLength):
(JSC::JSObject::putDirectIndexBeyondVectorLength):

  • runtime/JSObject.h:
  • tests/stress/float32array-out-of-bounds.js: Added.

(make):
(foo):
(test):

  • tests/stress/int32-object-out-of-bounds.js: Added.

(make):
(foo):
(test):

  • tests/stress/int32-out-of-bounds.js: Added.

(foo):
(test):

6:08 PM Changeset in webkit [160346] by weinig@apple.com
  • 6 edits
    1 delete in trunk/Source/WTF

Remove FixedArray
https://bugs.webkit.org/show_bug.cgi?id=125478

Reviewed by Anders Carlsson.

  • GNUmakefile.list.am:
  • WTF.vcxproj/WTF.vcxproj:
  • WTF.vcxproj/WTF.vcxproj.filters:
  • WTF.xcodeproj/project.pbxproj:
  • wtf/CMakeLists.txt:
  • wtf/FixedArray.h: Removed.
5:47 PM Changeset in webkit [160345] by Seokju Kwon
  • 2 edits in trunk/Source/WebCore

Web Inspector: Remove enabled() in InspectorRuntimeAgent.
https://bugs.webkit.org/show_bug.cgi?id=125476

Reviewed by Joseph Pecoraro.

Dead code. It's never called anywhere.

No new tests, no behavior change.

  • inspector/InspectorRuntimeAgent.h:
5:28 PM Changeset in webkit [160344] by weinig@apple.com
  • 24 edits in trunk/Source

Replace use of WTF::FixedArray with std::array
https://bugs.webkit.org/show_bug.cgi?id=125475

Reviewed by Anders Carlsson.

../JavaScriptCore:

  • bytecode/CodeBlockHash.cpp:

(JSC::CodeBlockHash::dump):

  • bytecode/Opcode.cpp:

(JSC::OpcodeStats::~OpcodeStats):

  • dfg/DFGCSEPhase.cpp:
  • ftl/FTLAbstractHeap.h:
  • heap/MarkedSpace.h:
  • parser/ParserArena.h:
  • runtime/CodeCache.h:
  • runtime/DateInstanceCache.h:
  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):

  • runtime/JSGlobalObject.h:
  • runtime/JSString.h:
  • runtime/LiteralParser.h:
  • runtime/NumericStrings.h:
  • runtime/RegExpCache.h:
  • runtime/SmallStrings.h:

../WebCore:

  • crypto/parameters/CryptoAlgorithmAesCbcParams.h:
  • platform/graphics/GlyphMetricsMap.h:

../WTF:

  • wtf/AVLTree.h:
  • wtf/Bitmap.h:
  • wtf/SixCharacterHash.cpp:

(WTF::integerToSixCharacterHashString):

  • wtf/SixCharacterHash.h:
4:37 PM Changeset in webkit [160343] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Change nativeForGenerator fallBack bool to an enum
https://bugs.webkit.org/show_bug.cgi?id=125473

Reviewed by Filip Pizlo.

Change the "bool fallBack" to an enum name ThunkEntryType with values
EnterViaCall and EnterViaJump to indicate how the thunk will be entered.

  • jit/ThunkGenerators.cpp:

(JSC::nativeForGenerator):
(JSC::nativeCallFallbackGenerator):

4:12 PM Changeset in webkit [160342] by timothy_horton@apple.com
  • 1 edit
    1 delete in trunk/Tools

Remove dead extract_reference_link.py (and the reftests module)
https://bugs.webkit.org/show_bug.cgi?id=125116

Reviewed by Ryosuke Niwa.

This code doesn't seem to have ever been used.

  • Scripts/webkitpy/layout_tests/reftests/init.py: Removed.
  • Scripts/webkitpy/layout_tests/reftests/extract_reference_link.py: Removed.
  • Scripts/webkitpy/layout_tests/reftests/extract_reference_link_unittest.py: Removed.
4:11 PM Changeset in webkit [160341] by andersca@apple.com
  • 3 edits
    6 adds in trunk/Source/WebKit2

Begin working on a UserData class intended to replace UserMessageCoders
https://bugs.webkit.org/show_bug.cgi?id=125471

Reviewed by Sam Weinig.

  • Shared/APIFrameHandle.cpp: Added.
  • Shared/APIFrameHandle.h: Added.

Add a new API::FrameHandle class that represents a frame.

  • Shared/APIObject.h:
  • Shared/APIPageHandle.cpp: Added.
  • Shared/APIPageHandle.h: Added.

Add a new API::PageHandle class that represents a page.

  • Shared/UserData.cpp: Added.

(WebKit::UserData::UserData):
(WebKit::UserData::~UserData):
(WebKit::UserData::encode):
(WebKit::UserData::decode):

  • Shared/UserData.h: Added.

Add a UserData class that can be encoded and decoded. This will be used for sending data

between the web process and UI process without doing any of the Page -> BundlePage etc conversions.

  • WebKit2.xcodeproj/project.pbxproj:
3:50 PM Changeset in webkit [160340] by msaboff@apple.com
  • 12 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Fix baseline JIT for basic operation
https://bugs.webkit.org/show_bug.cgi?id=125470

Not yet reviewed.

Fixed compileOpCall and it's slow case to properly adjust the stack pointer before
and after a call.

Cleaned up the calling convention in the various thunks. Adjusted the stack
pointer at the end of the arity fixup thunk to account for the frame moving.

Added ctiNativeCallFallback() thunk generator for when another thunk that can't
perform its operation inline needs to make a native call. This thunk generator
differes from ctiNativeCall() in that it doesn't emit a funciton prologue, thus
allowing the original thunk to jump to the "fallback" thunk. I'm open to another
name beside "fallback". Maybe "ctiNativeTailCall()".

Fixed the OSR entry handling in the LLInt prologue macro to properly account
for the callee saving the caller frame pointer.

Added stack alignement check function for use in debug builds to find and break
if the stack pointer is not appropriately aligned.

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::checkStackPointerAlignment):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JIT.h:

(JSC::JIT::frameRegisterCountFor):

  • jit/JITCall.cpp:

(JSC::JIT::compileOpCall):
(JSC::JIT::compileOpCallSlowCase):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_ret):
(JSC::JIT::emit_op_enter):

  • jit/JITThunks.cpp:

(JSC::JITThunks::ctiNativeCallFallback):

  • jit/JITThunks.h:
  • jit/ThunkGenerators.cpp:

(JSC::slowPathFor):
(JSC::nativeForGenerator):
(JSC::nativeCallFallbackGenerator):
(JSC::arityFixup):
(JSC::charCodeAtThunkGenerator):
(JSC::charAtThunkGenerator):
(JSC::fromCharCodeThunkGenerator):
(JSC::sqrtThunkGenerator):
(JSC::floorThunkGenerator):
(JSC::ceilThunkGenerator):
(JSC::roundThunkGenerator):
(JSC::expThunkGenerator):
(JSC::logThunkGenerator):
(JSC::absThunkGenerator):
(JSC::powThunkGenerator):
(JSC::imulThunkGenerator):
(JSC::arrayIteratorNextThunkGenerator):

  • jit/ThunkGenerators.h:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
3:48 PM Changeset in webkit [160339] by Lucas Forschler
  • 2 edits in tags/Safari-538.8.1/Source/WebKit/mac

Merge 160326 for <rdar://problem/15615561>.

3:45 PM Changeset in webkit [160338] by benjamin@webkit.org
  • 7 edits
    4 adds in trunk/Source/WebCore

Refactor the CFURLConnectionClient to be the synchronous implementation of an abstract network delegate
https://bugs.webkit.org/show_bug.cgi?id=125379

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

  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/network/ResourceHandle.h:
  • platform/network/ResourceHandleInternal.h:
  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::createCFURLConnection):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.cpp: Added.

(WebCore::ResourceHandleCFURLConnectionDelegate::ResourceHandleCFURLConnectionDelegate):
(WebCore::ResourceHandleCFURLConnectionDelegate::~ResourceHandleCFURLConnectionDelegate):
(WebCore::ResourceHandleCFURLConnectionDelegate::willSendRequestCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveResponseCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didFinishLoadingCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didFailCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::willCacheResponseCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveChallengeCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didSendBodyDataCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::shouldUseCredentialStorageCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpaceCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::didReceiveDataArrayCallback):
(WebCore::ResourceHandleCFURLConnectionDelegate::makeConnectionClient):

  • platform/network/cf/ResourceHandleCFURLConnectionDelegate.h: Added.
  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.cpp: Added.

(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::SynchronousResourceHandleCFURLConnectionDelegate):
(WebCore::synthesizeRedirectResponseIfNecessary):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willSendRequest):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveResponse):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveData):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFinishLoading):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didFail):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::willCacheResponse):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveChallenge):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didSendBodyData):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::shouldUseCredentialStorageCallback):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::canRespondToProtectionSpace):
(WebCore::SynchronousResourceHandleCFURLConnectionDelegate::didReceiveDataArray):

  • platform/network/cf/SynchronousResourceHandleCFURLConnectionDelegate.h: Added.
3:44 PM Changeset in webkit [160337] by rniwa@webkit.org
  • 5 edits
    1 delete in trunk

REGRESSION(r136280): input[type=image] should assume coords of 0,0 when activated without physically clicking
https://bugs.webkit.org/show_bug.cgi?id=125392

Reviewed by Darin Adler.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/3c33d42207cd209bb171083ba66c225f694f2101

Activating an image button with the keyboard or element.click() should result in selected coords of (0,0) per
http://www.w3.org/TR/2013/CR-html5-20130806/forms.html#image-button-state-(type=image)
"If the user activates the control without explicitly selecting a coordinate, then the coordinate (0,0) must be assumed."

New behavior also matches that of Internet Explorer and Firefox.

Tests: fast/forms/input-image-submit.html

  • html/ImageInputType.cpp:

(WebCore::ImageInputType::handleDOMActivateEvent): Set m_clickLocation to (0, 0) for simulated events.

LayoutTests:

  • fast/events/stopPropagation-submit-expected.txt:
  • fast/forms/input-image-submit.html:
  • platform/gtk/fast/events/stopPropagation-submit-expected.txt: Removed.
3:36 PM Changeset in webkit [160336] by jer.noble@apple.com
  • 28 edits
    5 adds in trunk

[MSE] Add support for VideoPlaybackMetrics.
https://bugs.webkit.org/show_bug.cgi?id=125380

Reviewed by Eric Carlson.

Source/WebCore:

Test: media/media-source/media-source-video-playback-quality.html

Add a new object type VideoPlaybackQuality to be returned by
HTMLMediaElement.getVideoPlaybackQuality().

HTMLMediaElements must separately track a droppedVideoFrame count, as
certain operations on SourceBuffer will drop incoming frames, which must
be accounted for. Reset this count when the media engine changes, which is
indicitive of a new media load requset starting.

Add the new VideoPlaybackQuality class:

  • Modules/mediasource/VideoPlaybackQuality.cpp: Added.

(WebCore::VideoPlaybackQuality::create):
(WebCore::VideoPlaybackQuality::VideoPlaybackQuality):

  • Modules/mediasource/VideoPlaybackQuality.h: Added.

(WebCore::VideoPlaybackQuality::creationTime):
(WebCore::VideoPlaybackQuality::totalVideoFrames):
(WebCore::VideoPlaybackQuality::droppedVideoFrames):
(WebCore::VideoPlaybackQuality::corruptedVideoFrames):
(WebCore::VideoPlaybackQuality::totalFrameDelay):

  • Modules/mediasource/VideoPlaybackQuality.idl: Added.

Add support for the new class to HTMLMediaElement:

  • html/HTMLMediaElement.cpp:

(HTMLMediaElement::shouldUseVideoPluginProxy):
(HTMLMediaElement::getVideoPlaybackQuality):

  • html/HTMLMediaElement.h:
  • html/HTMLMediaElement.idl:

Report the video quality metrics from the MediaPlayer:

  • platform/graphics/MediaPlayer.cpp:

(WebCore::MediaPlayer::totalVideoFrames):
(WebCore::MediaPlayer::droppedVideoFrames):
(WebCore::MediaPlayer::corruptedVideoFrames):
(WebCore::MediaPlayer::totalFrameDelay):

  • platform/graphics/MediaPlayer.h:
  • platform/graphics/MediaPlayerPrivate.h:

(WebCore::MediaPlayerPrivateInterface::totalVideoFrames):
(WebCore::MediaPlayerPrivateInterface::droppedVideoFrames):
(WebCore::MediaPlayerPrivateInterface::corruptedVideoFrames):
(WebCore::MediaPlayerPrivateInterface::totalFrameDelay):

Correctly report the dropped frame count:

  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::TrackBuffer::TrackBuffer): needsRandomAccessFlag defaults to true.
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Check the sync status of the incoming sample.
(WebCore::SourceBuffer::didDropSample): Notify the media element of a dropped frame.

  • Modules/mediasource/SourceBuffer.h:
  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(HTMLMediaElement::mediaPlayerEngineUpdated): Reset m_droppedFrameCount.
(HTMLMediaElement::getVideoPlaybackQuality): Return a new VideoPlaybackQuality object.

  • html/HTMLMediaElement.h:

(WebCore::HTMLMediaElement::incrementDroppedFrameCount): Simple incrementer.

  • platform/MediaSample.h:

(WebCore::MediaSample::isSync): Convenience function.
(WebCore::MediaSample::isNonDisplaying): Ditto.

Add support in the AVFoundation MediaSource Engine:

  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.h:
  • platform/graphics/avfoundation/objc/MediaPlayerPrivateMediaSourceAVFObjC.mm:

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalVideoFrames):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::droppedVideoFrames):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::corruptedVideoFrames):
(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::totalFrameDelay):

Add support in the Mock MediaSource Engine:

  • platform/mock/mediasource/MockBox.h:
  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::totalVideoFrames): Simple accessor.
(WebCore::MockMediaPlayerMediaSource::droppedVideoFrames): Ditto.
(WebCore::MockMediaPlayerMediaSource::corruptedVideoFrames): Ditto.
(WebCore::MockMediaPlayerMediaSource::totalFrameDelay): Ditto.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.h:
  • platform/mock/mediasource/MockMediaSourcePrivate.cpp:

(WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate):

  • platform/mock/mediasource/MockMediaSourcePrivate.h:
  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

(WebCore::MockSourceBufferPrivate::enqueueSample): Increment the frame counts based on

the incoming sample.

  • platform/mock/mediasource/MockSourceBufferPrivate.h:

Add the new files to the project:

  • bindings/gobject/GNUmakefile.am:
  • DerivedSources.make:
  • WebCore.xcodeproj/project.pbxproj:
  • GNUMakefile.list.am:
  • CMakeLists.txt:

LayoutTests:

  • media/media-source/media-source-video-playback-quality-expected.txt: Added.
  • media/media-source/media-source-video-playback-quality.html: Added.
  • media/media-source/mock-media-source.js:

(var):

3:27 PM Changeset in webkit [160335] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Avoid divide by zero in scrollbar code, and protect against Obj-C exceptions
https://bugs.webkit.org/show_bug.cgi?id=125469
<rdar://problem/15535772>

Reviewed by Beth Dakin.

In ScrollbarThemeMac::setPaintCharacteristicsForScrollbar(), proportion could
end up as NaN if scrollbar->totalSize() were zero. Protect against that.

Also wrap functions that call into Objective-C with BEGIN_BLOCK_OBJC_EXCEPTIONS/
END_BLOCK_OBJC_EXCEPTIONS.

  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::scrollbarThickness):
(WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
(WebCore::ScrollbarThemeMac::minimumThumbLength):
(WebCore::ScrollbarThemeMac::updateEnabledState):
(WebCore::ScrollbarThemeMac::setPaintCharacteristicsForScrollbar):
(WebCore::scrollbarPainterPaint):

3:27 PM Changeset in webkit [160334] by commit-queue@webkit.org
  • 5 edits in trunk/Source/JavaScriptCore

Remove miscellaneous unnecessary build statements
https://bugs.webkit.org/show_bug.cgi?id=125466

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-12-09
Reviewed by Darin Adler.

3:27 PM Changeset in webkit [160333] by Lucas Forschler
  • 1 copy in tags/Safari-538.8.1

New Tag.

3:11 PM Changeset in webkit [160332] by fpizlo@apple.com
  • 3 edits in trunk/WebKitLibraries

Unreviewed, update LLVM binary drops to r196830.

  • LLVMIncludesMountainLion.tar.bz2:
  • LLVMLibrariesMountainLion.tar.bz2:
2:38 PM Changeset in webkit [160331] by Lucas Forschler
  • 5 edits in branches/safari-537.74-branch/Source

Versioning.

2:06 PM Changeset in webkit [160330] by rniwa@webkit.org
  • 14 edits
    6 adds in trunk

Implement Document.cloneNode()
https://bugs.webkit.org/show_bug.cgi?id=11646

Reviewed by Darin Adler.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/dc7879025e01d63be9fcf6a84ca6c9b8b5768a80

Implement the behavior specified in the current DOM4 working draft:
http://www.w3.org/TR/2013/WD-dom-20131107/#dom-node-clonenode

Tests: fast/dom/Document/clone-node.html

fast/dom/HTMLDocument/clone-node-quirks-mode.html
svg/custom/clone-node.html

  • dom/Document.cpp:

(WebCore::Document::cloneNode):
(WebCore::Document::cloneDocumentWithoutChildren):
(WebCore::Document::cloneDataFromDocument):

  • dom/Document.h:
  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::cloneDocumentWithoutChildren):

  • html/HTMLDocument.h:
  • svg/SVGDocument.cpp:

(WebCore::SVGDocument::cloneDocumentWithoutChildren):

  • svg/SVGDocument.h:

LayoutTests:

  • dom/xhtml/level3/core/documentgetinputencoding04-expected.txt:
  • dom/xhtml/level3/core/documentgetxmlencoding05-expected.txt:
  • dom/xhtml/level3/core/nodeisequalnode01-expected.txt:
  • dom/xhtml/level3/core/nodeisequalnode21-expected.txt:
  • dom/xhtml/level3/core/nodeisequalnode25-expected.txt:
  • dom/xhtml/level3/core/nodeisequalnode26-expected.txt:
  • fast/dom/Document/clone-node-expected.txt: Added.
  • fast/dom/Document/clone-node.html: Added.
  • fast/dom/HTMLDocument/clone-node-quirks-mode-expected.txt: Added.
  • fast/dom/HTMLDocument/clone-node-quirks-mode.html: Added.
  • svg/custom/clone-node-expected.txt: Added.
  • svg/custom/clone-node.html: Added.
2:04 PM Changeset in webkit [160329] by Lucas Forschler
  • 1 copy in branches/safari-537.74-branch

New Branch.

2:02 PM Changeset in webkit [160328] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

CSE should work in SSA
https://bugs.webkit.org/show_bug.cgi?id=125430

Reviewed by Oliver Hunt and Mark Hahnenberg.

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::run):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

1:15 PM Changeset in webkit [160327] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r160260): Memory pressure signal causes web process to hang.
<https://webkit.org/b/125465>

Reviewed by Tim Horton.

This command caused all of my web processes to hang:

notifyutil -p org.WebKit.lowMemory

This only happens when the cache pruning code encounters a resource
using purgeable memory.

  • loader/cache/MemoryCache.cpp:

(WebCore::MemoryCache::pruneLiveResourcesToSize):

Grab the next CachedResource pointer before continuing the loop.

12:38 PM Changeset in webkit [160326] by weinig@apple.com
  • 2 edits in trunk/Source/WebKit/mac

Fix the build of projects including <WebKit/WebUIDelegatePrivate.h>

Rubber-stamped by Dan Bernstein.

  • WebView/WebAllowDenyPolicyListener.h:

Use TARGET_OS_IPHONE rather than PLATFORM(IOS) in an exposed header.

12:20 PM Changeset in webkit [160325] by commit-queue@webkit.org
  • 2 edits
    1 delete in trunk/Source/JavaScriptCore

Remove docs/make-bytecode-docs.pl
https://bugs.webkit.org/show_bug.cgi?id=125462

This sript is very old and no longer outputs useful data since the
op code definitions have moved from Interpreter.cpp.

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-12-09
Reviewed by Darin Adler.

  • DerivedSources.make:
  • docs/make-bytecode-docs.pl: Removed.
12:17 PM Changeset in webkit [160324] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[WinCairo] OpenGL compile error.
https://bugs.webkit.org/show_bug.cgi?id=125383

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-12-09
Reviewed by Darin Adler.

  • platform/graphics/opengl/Extensions3DOpenGLES.h: Define GL_HALF_FLOAT_ARB on Windows when OPENGL_ES_2 is used.
12:16 PM Changeset in webkit [160323] by mario.prada@samsung.com
  • 22 edits in trunk

[ATK] Translate ATK_ROLE_SECTION into "AXSection" in DRT/WKTR
https://bugs.webkit.org/show_bug.cgi?id=125456

Reviewed by Chris Fleizach.

Tools:

Return 'AXSection' for section roles instead of 'AXDiv'.

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

LayoutTests:

Update expectations for GTK and EFL that were expecting AXDiv for
section roles, so they now expect AXSection.

  • accessibility/adjacent-continuations-cause-assertion-failure-expected.txt:
  • accessibility/div-within-anchors-causes-crash-expected.txt:
  • platform/efl-wk1/accessibility/image-map2-expected.txt:
  • platform/efl-wk1/accessibility/transformed-element-expected.txt:
  • platform/efl-wk2/accessibility/image-map2-expected.txt:
  • platform/efl-wk2/accessibility/transformed-element-expected.txt:
  • platform/efl/accessibility/media-emits-object-replacement-expected.txt:
  • platform/gtk/accessibility/aria-roles-unignored-expected.txt:
  • platform/gtk/accessibility/aria-roles-unignored.html:
  • platform/gtk/accessibility/entry-and-password-expected.txt:
  • platform/gtk/accessibility/image-map2-expected.txt:
  • platform/gtk/accessibility/media-emits-object-replacement-expected.txt:
  • platform/gtk/accessibility/object-with-title-expected.txt:
  • platform/gtk/accessibility/object-with-title.html:
  • platform/gtk/accessibility/replaced-objects-in-anonymous-blocks-expected.txt:
  • platform/gtk/accessibility/spans-paragraphs-and-divs-expected.txt:
  • platform/gtk/accessibility/spans-paragraphs-and-divs.html:
  • platform/gtk/accessibility/transformed-element-expected.txt:
11:45 AM Changeset in webkit [160322] by commit-queue@webkit.org
  • 12 edits in trunk

Fix handling of 'inherit' and 'initial' for grid lines.
https://bugs.webkit.org/show_bug.cgi?id=125223

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-12-09
Reviewed by Darin Adler.

'initial' and 'inherit' are always allowed values for CSS properties.
As the CSSParser handles them automatically, those 2 values were never
taken care of in StyleResolver, leading to crashes.

Source/WebCore:

Added tests cases for 'inherit' and 'initial' to the following tests:

fast/css-grid-layout/grid-item-column-row-get-set.html
fast/css-grid-layout/grid-item-end-after-get-set.html
fast/css-grid-layout/grid-item-start-before-get-set.html

Patch backported from Blink: https://src.chromium.org/viewvc/blink?revision=149257&view=revision

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • rendering/style/RenderStyle.h:
  • rendering/style/StyleGridItemData.cpp:

(WebCore::StyleGridItemData::StyleGridItemData):

LayoutTests:

Patch backported from Blink: https://src.chromium.org/viewvc/blink?revision=149257&view=revision

  • fast/css-grid-layout/grid-item-column-row-get-set-expected.txt:
  • fast/css-grid-layout/grid-item-column-row-get-set.html:
  • fast/css-grid-layout/grid-item-end-after-get-set-expected.txt:
  • fast/css-grid-layout/grid-item-end-after-get-set.html:
  • fast/css-grid-layout/grid-item-start-before-get-set-expected.txt:
  • fast/css-grid-layout/grid-item-start-before-get-set.html:
  • fast/css-grid-layout/resources/grid-item-column-row-parsing-utils.js:
11:30 AM Changeset in webkit [160321] by ryuan.choi@samsung.com
  • 6 edits in trunk/Source/WebKit2

[EFL][WK2] LayoutTests are broken after r160301
https://bugs.webkit.org/show_bug.cgi?id=125447

Reviewed by Darin Adler.

r160301 moved FullScreenManagerProxyClient logic to WebViewEfl, child class
of CoordinatedGraphics::WebView, because implementations are EFL specific.
However, CoordinatedGraphics::WebView creates WebPageProxy in constructor and
WebPageProxy requires FullScreenManagerProxyClient in constructor.
So, All WK2/Efl based applications got crashed

This patch adds virtual methods for FullScreenManagerProxyClient to CoordinatedGraphics::WebView
so that WebPageProxy can get FullScreenManagerProxyClient instance without
pure viertual methods.

  • UIProcess/API/C/CoordinatedGraphics/WKView.cpp:

(WKViewExitFullScreen):

  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::fullScreenManagerProxyClient):
(WebKit::WebView::requestExitFullScreen):
renamed from exitFullScreen not to conflict with methods of FullScreenManagerProxyClient.

  • UIProcess/CoordinatedGraphics/WebView.h:
  • UIProcess/efl/WebViewEfl.cpp:
  • UIProcess/efl/WebViewEfl.h:
11:21 AM Changeset in webkit [160320] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Web Inspector: Inspector.json and CodeGenerator tweaks
https://bugs.webkit.org/show_bug.cgi?id=125321

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-12-09
Reviewed by Timothy Hatcher.

  • inspector/protocol/Runtime.json:

Runtime.js was depending on Network.FrameId. This is a layering
violation, so ideally we can fix this later. For now, just copy
the FrameId type into Runtime. They are strings so all is good.

  • inspector/CodeGeneratorInspector.py:

(Generator.EventMethodStructTemplate.append_epilog):

  • inspector/CodeGeneratorInspectorStrings.py:

Improve --help usage information.
Make the script work with a single domain json file.
Add ASCIILiteral's where appropriate.

11:01 AM Changeset in webkit [160319] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style should check for extra newlines at EOF
https://bugs.webkit.org/show_bug.cgi?id=125424

Patch by Brian J. Burg <Brian Burg> on 2013-12-09
Reviewed by Darin Adler.

Report a style violation if extraneous newlines are added
to the end of a C++ file. There should only be one newline at EOF.

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_for_missing_new_line_at_eof): Renamed from check_for_new_line_at_eof.
(check_for_extra_new_line_at_eof): Added.
(_process_lines): Added new check and renamed existing EOF check.

  • Scripts/webkitpy/style/checkers/cpp_unittest.py:

(CppStyleTest.test_extra_newlines_at_eof): Added.
(CppStyleTest.test_extra_newlines_at_eof.do_test): Added.

10:57 AM Changeset in webkit [160318] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style: ternary operator in macro call identified as initialization list
https://bugs.webkit.org/show_bug.cgi?id=125443

Patch by Laszlo Vidacs <lac@inf.u-szeged.hu> on 2013-12-09
Reviewed by Ryosuke Niwa.

Do not match initialization list when questionmark is placed before :

  • Scripts/webkitpy/style/checkers/cpp.py:

(check_member_initialization_list):

10:51 AM Changeset in webkit [160317] by rniwa@webkit.org
  • 1 edit
    4 adds in trunk/LayoutTests

Add a test for style sharing if grandparents matches different rule chain and nth-last child
https://bugs.webkit.org/show_bug.cgi?id=125397

Reviewed by Darin Adler.

Add the test from https://chromium.googlesource.com/chromium/blink/+/30ff49bf63cdec31070ab4eda8784564f56789d4
and https://chromium.googlesource.com/chromium/blink/+/3cb1724bb52f3607006ddd0a89d356da23766115
so that we may not introduce the same regressions in WebKit.

  • fast/css/nth-last-child-recalc-expected.html: Added.
  • fast/css/nth-last-child-recalc.html: Added.
  • fast/css/style-sharing-grand-parent-invalidate-expected.txt: Added.
  • fast/css/style-sharing-grand-parent-invalidate.html: Added.
10:40 AM Changeset in webkit [160316] by jdiggs@igalia.com
  • 11 edits
    16 adds in trunk

AX: [ATK] Convert the get_{string,text}_at_offset atktest.c unit tests to layout tests
https://bugs.webkit.org/show_bug.cgi?id=125451

Reviewed by Mario Sanchez Prada.

Source/WebKit/gtk:

  • tests/testatk.c: Remove the tests which now exist as layout tests. Note that the

tests for atk_text_get_text_{before,after}_offset were removed without equivalents
added to the layout tests. The same is true for the END AtkTextBoundary types. Both
have been deprecated in ATK and are not being used by AT-SPI2 assistive technologies.
(testGetTextFunction):
(main):

Tools:

Create the needed callbacks for DRT and WKTR.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(characterAtOffsetCallback): added
(wordAtOffsetCallback): added
(lineAtOffsetCallback): added
(sentenceAtOffsetCallback): added
(AccessibilityUIElement::getJSClass):

  • DumpRenderTree/AccessibilityUIElement.h:
  • DumpRenderTree/atk/AccessibilityUIElementAtk.cpp:

(stringAtOffset): added
(AccessibilityUIElement::characterAtOffset): added
(AccessibilityUIElement::wordAtOffset): added
(AccessibilityUIElement::lineAtOffset): added
(AccessibilityUIElement::sentenceAtOffset): added

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.cpp:

(WTR::AccessibilityUIElement::characterAtOffset): added
(WTR::AccessibilityUIElement::wordAtOffset): added
(WTR::AccessibilityUIElement::lineAtOffset): added
(WTR::AccessibilityUIElement::sentenceAtOffset): added

  • WebKitTestRunner/InjectedBundle/AccessibilityUIElement.h:
  • WebKitTestRunner/InjectedBundle/Bindings/AccessibilityUIElement.idl:
  • WebKitTestRunner/InjectedBundle/atk/AccessibilityUIElementAtk.cpp:

(WTR::stringAtOffset): added
(WTR::AccessibilityUIElement::characterAtOffset): added
(WTR::AccessibilityUIElement::wordAtOffset): added
(WTR::AccessibilityUIElement::lineAtOffset): added
(WTR::AccessibilityUIElement::sentenceAtOffset): added

LayoutTests:

New tests and expectations based on the tests and expectations found in atktest.c.
These were done as platform-specific tests because only ATK-based assistive technologies
seem to have any need for this support.

  • platform/gtk/accessibility/text-at-offset-embedded-objects-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-embedded-objects.html: Added.
  • platform/gtk/accessibility/text-at-offset-newlines-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-newlines.html: Added.
  • platform/gtk/accessibility/text-at-offset-preformatted-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-preformatted.html: Added.
  • platform/gtk/accessibility/text-at-offset-simple-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-simple.html: Added.
  • platform/gtk/accessibility/text-at-offset-special-chars-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-special-chars.html: Added.
  • platform/gtk/accessibility/text-at-offset-textarea-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-textarea.html: Added.
  • platform/gtk/accessibility/text-at-offset-textinput-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-textinput.html: Added.
  • platform/gtk/accessibility/text-at-offset-wrapped-lines-expected.txt: Added.
  • platform/gtk/accessibility/text-at-offset-wrapped-lines.html: Added.
10:36 AM Changeset in webkit [160315] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix sh4 LLINT build.
https://bugs.webkit.org/show_bug.cgi?id=125454

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-12-09
Reviewed by Michael Saboff.

In LLINT, sh4 backend implementation didn't handle properly conditional jumps using
a LabelReference instance. This patch fixes it through sh4LowerMisplacedLabels phase.
Also, to avoid the need of a 4th temporary gpr, this phase is triggered later in
getModifiedListSH4.

  • offlineasm/sh4.rb:
10:30 AM Changeset in webkit [160314] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[Nix] Fix file name typo in PlatformNix.cmake
https://bugs.webkit.org/show_bug.cgi?id=125457

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-09
Reviewed by Gustavo Noronha Silva.

Wrong file name introduced in http://trac.webkit.org/changeset/160310.

  • PlatformNix.cmake:
10:30 AM Changeset in webkit [160313] by Michał Pakuła vel Rutka
  • 8 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add failure test expectations and rebaselines for failing tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/efl-wk1/fast/forms/validation-message-appearance-expected.png: Rebaseline after r159915.
  • platform/efl-wk2/fast/forms/validation-message-appearance-expected.png: Ditto.
  • platform/efl/fast/forms/validation-message-appearance-expected.txt: Ditto.
  • platform/efl/fast/parser/entity-comment-in-textarea-expected.png: Rebaseline after r159192.
  • platform/efl/fast/parser/entity-comment-in-textarea-expected.txt: Ditto.
8:18 AM Changeset in webkit [160312] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[GStreamer] Memory leak due to incorrect use of gst_tag_list_merge in TextCombinerGStreamer
https://bugs.webkit.org/show_bug.cgi?id=125452

Patch by Brendan Long <b.long@cablelabs.com> on 2013-12-09
Reviewed by Philippe Normand.

No new tests because this fixes a memory leak.

  • platform/graphics/gstreamer/TextCombinerGStreamer.cpp:

(webkitTextCombinerPadEvent): Use gst_tag_list_insert instead of gst_tag_list_merge, since we don't want to create a new list.

6:17 AM Changeset in webkit [160311] by Chris Fleizach
  • 4 edits
    2 adds in trunk

AX: WebKit ignores @alt on IMG elements with role="text"
https://bugs.webkit.org/show_bug.cgi?id=125363

Reviewed by Mario Sanchez Prada.

Source/WebCore:

If an <img> element has a different role, the alt attribute should still be used in the
name calculation if present.

Test: accessibility/alt-tag-on-image-with-nonimage-role.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::usesAltTagForTextComputation):
(WebCore::AccessibilityNodeObject::alternativeText):
(WebCore::AccessibilityNodeObject::accessibilityDescription):
(WebCore::AccessibilityNodeObject::text):

  • accessibility/AccessibilityNodeObject.h:

LayoutTests:

  • accessibility/alt-tag-on-image-with-nonimage-role-expected.txt: Added.
  • accessibility/alt-tag-on-image-with-nonimage-role.html: Added.
6:10 AM Changeset in webkit [160310] by Martin Robinson
  • 14 edits
    2 adds in trunk/Source

[WK2][Soup] Use didReceiveBuffer instead of didReceiveData
https://bugs.webkit.org/show_bug.cgi?id=118598

Reviewed by Gustavo Noronha Silva.

Original patch by Kwang Yul Seo <skyul@company100.net> and Csaba Osztrogonác <Csaba Osztrogonác>.

Switch from using didReceiveData to didReceiveBuffer for the Soup backend and
let SharedBuffer wrap a SoupBuffer. This is necessary because the NetworkProcess
only supports getting data via SharedBuffer.

Source/WebCore:

  • GNUmakefile.list.am: Add the new SharedBufferSoup.cpp file to the list.
  • PlatformEfl.cmake:
  • PlatformGTK.cmake:
  • PlatformNix.cmake:
  • platform/SharedBuffer.cpp: We no longer used the no-op version of the platformFoo methods.
  • platform/SharedBuffer.h: Ditto.
  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp: Use didReceiveBuffer instead of didReceiveData.
  • platform/network/ResourceHandleInternal.h: Have only a m_soupBuffer member instead of three to manage the buffer.
  • platform/network/soup/GOwnPtrSoup.cpp: Add support for SoupBuffer.
  • platform/network/soup/GOwnPtrSoup.h: Ditto.
  • platform/network/soup/ResourceHandleSoup.cpp:

(WebCore::WebCoreSynchronousLoader::didReceiveData): ASSERT_NOT_REACHED here, since it should never be
called now.
(WebCore::WebCoreSynchronousLoader::didReceiveBuffer): Handle this call properly.
(WebCore::ResourceHandle::ensureReadBuffer): Now we package up our buffer into a SoupBuffer.
(WebCore::redirectSkipCallback): Use the new m_soupBuffer member.
(WebCore::cleanupSoupRequestOperation): Ditto.
(WebCore::nextMultipartResponsePartCallback): Ditto.
(WebCore::sendRequestCallback): Ditto.
(WebCore::readCallback):

  • platform/soup/SharedBufferSoup.cpp: Added.

Source/WebKit/gtk:

  • webkit/webkitdownload.cpp:

(DownloadClient::didReceiveData): Replace with ASSERT_NOT_REACHED.
(DownloadClient::didReceiveBuffer): Use this to process incoming data.

4:42 AM Changeset in webkit [160309] by commit-queue@webkit.org
  • 5 edits
    2 adds in trunk

Source/WebCore: DataCloneError exception is not thrown when postMessage's second parameter is the source
port or the target port.

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

Patch by Michal Poteralski <m.poteralski@samsung.com> on 2013-12-09
Reviewed by Alexey Proskuryakov.

According to specification:
http://www.whatwg.org/specs/web-apps/current-work/multipage/web-messaging.html#dom-window-postmessage

If the method was invoked with a second argument transfer then if any of the objects in the
transfer are either the source port or the target port (if any), then a DataCloneError
exception should be thrown. Currently an InvalidStateError exception is thrown what is an
incorrect behaviour.

The proposed solution is change to the correct the exception value.

Tests: fast/dom/Window/postMessage-clone-port-error.html

  • dom/MessagePort.cpp:

(WebCore::MessagePort::postMessage): Improve exception value

LayoutTests: DataCloneError exception is not thrown when postMessage's second parameter
is the source port or the target port.

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

Patch by Michal Poteralski <m.poteralski@samsung.com> on 2013-12-09
Reviewed by Alexey Proskuryakov.

Added layout test to check correctness of value thrown by postMessage:

  • fast/dom/Window/postMessage-clone-port-error-expected.txt: Added.
  • fast/dom/Window/postMessage-clone-port-error.html: Added.
4:28 AM Changeset in webkit [160308] by svillar@igalia.com
  • 7 edits in trunk/Source/WebKit2

[WK2] Add UNIX_DOMAIN_SOCKETS specific bits for supporting NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=110093

Reviewed by Martin Robinson.

Original patch by Balazs Kelemen <kbalazs@webkit.org>.

Adds the UNIX specific bits to support connections to the
NetworkProcess. Since the process of creating the pair of sockets
is exactly the same as in the PluginProcess, I've decided to
refactor it in ConnectionUnix::createPlatformConnection(). This
can be reused later to create a cross-platform solution and remove
all the ifdefs (see bug 110978).

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::createNetworkConnectionToWebProcess):

  • Platform/CoreIPC/Connection.h:
  • Platform/CoreIPC/unix/ConnectionUnix.cpp:

(CoreIPC::Connection::createPlatformConnection):

  • PluginProcess/PluginProcess.cpp:

(WebKit::PluginProcess::createWebProcessConnection):

  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::networkProcessCrashedOrFailedToLaunch):
(WebKit::NetworkProcessProxy::didCreateNetworkConnectionToWebProcess):

  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::ensureNetworkProcessConnection):

4:06 AM Changeset in webkit [160307] by kseo@webkit.org
  • 4 edits in trunk/Source/WebKit2

[WK2][Soup] Support cache model in NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=118343

Reviewed by Carlos Garcia Campos.

Original patch by Kwang Yul Seo <skyul@company100.net> and Csaba Osztrogonác <Csaba Osztrogonác>.

Copied cache model code from WebProcess.
NetworkProcess is configured not to use the WebCore memory cache.

  • NetworkProcess/soup/NetworkProcessSoup.cpp:

(WebKit::getCacheDiskFreeSize):
(WebKit::getMemorySize):
(WebKit::NetworkProcess::platformInitializeNetworkProcess):
Initialize soup cache.
(WebKit::NetworkProcess::platformSetCacheModel):
Copied code from WebProcess::platformSetCacheModel but removed
WebCore memory cache initialization because NetworkProcess does not use
the WebCore memory cache.
(WebKit::NetworkProcess::clearCacheForAllOrigins):
Copied code from WebProcess::clearCacheForAllOrigins.

  • NetworkProcess/unix/NetworkProcessMainUnix.cpp:

Copied initialization code from WebProcessMainGtk.cpp.
(WebKit::NetworkProcessMain):

  • WebProcess/soup/WebProcessSoup.cpp:

(WebKit::WebProcess::platformSetCacheModel):
Don't set the disk cache if NetworkProcess is used.
(WebKit::WebProcess::platformClearResourceCaches):
Don't clear the non-existing disk cache. (if NetworkProcess is used)
(WebKit::WebProcess::platformInitializeWebProcess):
Don't initialize the disk cache if NetworkProcess is used.

3:49 AM Changeset in webkit [160306] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Fix the GTK+ build with NetworkProcess enabled.

  • GNUmakefile.list.am: Add missing file to compilation.
3:45 AM Changeset in webkit [160305] by Gustavo Noronha Silva
  • 3 edits in trunk/LayoutTests

accessibility/press-targets-center-point.html should not depend on font layout
https://bugs.webkit.org/show_bug.cgi?id=125387

Reviewed by Chris Fleizach.

  • accessibility/press-targets-center-point.html: use explicit sizes for heights (and width

for vertical writing mode), so that font layout does not alter the results.

  • platform/gtk/TestExpectations: remove failure expectation for accessibility/press-targets-center-point.html
1:55 AM Changeset in webkit [160304] by Gustavo Noronha Silva
  • 2 edits in trunk/Source/WebKit2

[GTK] run-webkit-tests may DOS the system, specially in debug builds
https://bugs.webkit.org/show_bug.cgi?id=125436

Reviewed by Martin Robinson.

  • GNUmakefile.am: use -no-fast-install for WebKitWebProcess and WebKitPluginProcess so

they do not need to be relinked the first time they are executed in-tree.

1:54 AM Changeset in webkit [160303] by zandobersek@gmail.com
  • 5 edits
    1 delete in trunk/Source/WebKit2

[GTK][WK2] Move WebFullScreenManagerProxyGtk logic to PageClientImpl
https://bugs.webkit.org/show_bug.cgi?id=125440

Reviewed by Martin Robinson.

Make PageClientImpl a WebFullScreenManagerProxyClient. This brings the GTK port in line
with changes in r160296 and fixes the WK2 build for that port.

  • GNUmakefile.list.am:
  • UIProcess/API/gtk/PageClientImpl.cpp:

(WebKit::PageClientImpl::fullScreenManagerProxyClient):
(WebKit::PageClientImpl::closeFullScreenManager):
(WebKit::PageClientImpl::isFullScreen):
(WebKit::PageClientImpl::enterFullScreen):
(WebKit::PageClientImpl::exitFullScreen):
(WebKit::PageClientImpl::beganEnterFullScreen):
(WebKit::PageClientImpl::beganExitFullScreen):

  • UIProcess/API/gtk/PageClientImpl.h:
  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseCreateWebPage):

  • UIProcess/gtk/WebFullScreenManagerProxyGtk.cpp:
1:37 AM Changeset in webkit [160302] by commit-queue@webkit.org
  • 8 edits in trunk

[WK2][Gtk] Add support for ENABLE_NETWORK_PROCESS to the build system
https://bugs.webkit.org/show_bug.cgi?id=118231

Patch by Brian Holt <brian.holt@samsung.com> on 2013-12-09
Reviewed by Martin Robinson.

Original patch by Kwang Yul Seo <skyul@company100.net>.

.:

Disabled ENABLE_NETWORK_PROCESS by default.

  • Source/autotools/SetupAutomake.m4:
  • Source/autotools/SetupWebKitFeatures.m4:

Source/WebKit2:

Add source files to the build system and build NetworkProcess executable.

  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • NetworkProcess/unix/NetworkProcessMainUnix.cpp:
  • UIProcess/gtk/WebContextGtk.cpp:

(WebKit::WebContext::platformInitializeWebProcess):

Dec 8, 2013:

11:46 PM Changeset in webkit [160301] by ryuan.choi@samsung.com
  • 6 edits
    1 delete in trunk/Source/WebKit2

[EFL][WK2] Move FullScreenManager logic to WebViewEfl
https://bugs.webkit.org/show_bug.cgi?id=125438

Reviewed by Gyuyoung Kim.

This patch fixed build break on EFL port Since r160296.

  • PlatformEfl.cmake: Removed WebFullScreenManagerProxyEfl.cpp.
  • UIProcess/WebFullScreenManagerProxy.cpp: Removed EFL specific code.

(WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):

  • UIProcess/WebFullScreenManagerProxy.h: Ditto.
  • UIProcess/efl/WebFullScreenManagerProxyEfl.cpp: Removed file and moved logic to WebViewEfl.
  • UIProcess/efl/WebViewEfl.cpp:

(WebKit::WebViewEfl::WebViewEfl):
(WebKit::WebViewEfl::setEwkView): Removed call to setWebView().
(WebKit::WebViewEfl::fullScreenManagerProxyClient):
(WebKit::WebViewEfl::isFullScreen):
(WebKit::WebViewEfl::enterFullScreen):
(WebKit::WebViewEfl::exitFullScreen):

  • UIProcess/efl/WebViewEfl.h:
9:44 PM Changeset in webkit [160300] by weinig@apple.com
  • 4 edits in trunk/Source/WebKit2

Remove WebContext::sharedProcessContext()
https://bugs.webkit.org/show_bug.cgi?id=125437

Reviewed by Dan Bernstein.

  • UIProcess/API/ios/WKGeolocationProviderIOS.mm:
  • UIProcess/WebContext.cpp:
  • UIProcess/WebContext.h:
9:13 PM Changeset in webkit [160299] by rniwa@webkit.org
  • 5 edits in trunk

getComputedStyle border-radius shorthand omits vertical radius information
https://bugs.webkit.org/show_bug.cgi?id=125394

Reviewed by Andreas Kling.

Source/WebCore:

Merge https://chromium.googlesource.com/chromium/blink/+/4c2866855dddbb28bb7d978ad627acc368af23d0

getComputedStyle of border-radius shows the vertical radius components if they differ from their horizontal counterpants.
We were incorrectly detecting this case and over simplifying the results of getComputedStyle.
This patch ensures we only hide the vertical values if they are identical to the horizontal values.

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::getBorderRadiusShorthandValue):

LayoutTests:

  • fast/css/getComputedStyle/getComputedStyle-border-radius-shorthand-expected.txt:
  • fast/css/getComputedStyle/getComputedStyle-border-radius-shorthand.html:
8:51 PM Changeset in webkit [160298] by weinig@apple.com
  • 3 edits in trunk/Tools

32-bit MiniBrowser doesn't build
https://bugs.webkit.org/show_bug.cgi?id=125420

Reviewed by Dan Bernstein.

  • MiniBrowser/mac/AppDelegate.h:
  • MiniBrowser/mac/AppDelegate.m:

(-[BrowserAppDelegate init]):
(-[BrowserAppDelegate applicationWillTerminate:]):

8:23 PM Changeset in webkit [160297] by weinig@apple.com
  • 3 edits
    1 delete in trunk/Source/WebKit2

Fix the iOS build.

  • UIProcess/API/ios/PageClientImplIOS.h:
  • UIProcess/API/ios/PageClientImplIOS.mm:
  • UIProcess/ios/WebFullScreenManagerProxyIOS.mm: Removed.
8:11 PM Changeset in webkit [160296] by weinig@apple.com
  • 11 edits
    1 delete in trunk/Source/WebKit2

[Cocoa] Remove knowledge of the WKView from the WebFullScreenManagerProxy by adding a proper client
https://bugs.webkit.org/show_bug.cgi?id=125427

Reviewed by Dan Bernstein.

  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:

(WebKit::PageClientImpl::fullScreenManagerProxyClient):
(WebKit::PageClientImpl::closeFullScreenManager):
(WebKit::PageClientImpl::isFullScreen):
(WebKit::PageClientImpl::enterFullScreen):
(WebKit::PageClientImpl::exitFullScreen):
(WebKit::PageClientImpl::beganEnterFullScreen):
(WebKit::PageClientImpl::beganExitFullScreen):
Implement the new client.

  • UIProcess/API/mac/WKView.mm:

Remove call to setWebView() and do some cleanup.

  • UIProcess/API/mac/WKViewInternal.h:

Convert to property syntax and re-arrange.

  • UIProcess/PageClient.h:

Expose access to the new client.

  • UIProcess/WebFullScreenManagerProxy.cpp:

(WebKit::WebFullScreenManagerProxy::create):
(WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):
(WebKit::WebFullScreenManagerProxy::invalidate):
(WebKit::WebFullScreenManagerProxy::close):
(WebKit::WebFullScreenManagerProxy::isFullScreen):
(WebKit::WebFullScreenManagerProxy::enterFullScreen):
(WebKit::WebFullScreenManagerProxy::exitFullScreen):
(WebKit::WebFullScreenManagerProxy::beganEnterFullScreen):
(WebKit::WebFullScreenManagerProxy::beganExitFullScreen):

  • UIProcess/WebFullScreenManagerProxy.h:

Use the new client.

  • UIProcess/WebPageProxy.cpp:

Pass the new client.

  • UIProcess/mac/WebFullScreenManagerProxyMac.mm:

Removed. Now goes through the client.

  • WebKit2.xcodeproj/project.pbxproj:

Remove WebFullScreenManagerProxyMac.mm.

5:08 PM Changeset in webkit [160295] by fpizlo@apple.com
  • 17 edits in trunk/Source/JavaScriptCore

Add the notion of ConstantStoragePointer to DFG IR
https://bugs.webkit.org/show_bug.cgi?id=125395

Reviewed by Oliver Hunt.

This pushes more typed array folding into StrengthReductionPhase, and enables CSE on
storage pointers. Previously, you might have separate nodes for the same storage
pointer and this would cause some bad register pressure in the DFG. Note that this
was really a theoretical problem and not, to my knowledge a practical one - so this
patch is basically just a clean-up.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::::executeEffects):

  • dfg/DFGCSEPhase.cpp:

(JSC::DFG::CSEPhase::constantStoragePointerCSE):
(JSC::DFG::CSEPhase::performNodeCSE):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::dump):

  • dfg/DFGNode.h:

(JSC::DFG::Node::convertToConstantStoragePointer):
(JSC::DFG::Node::hasStoragePointer):
(JSC::DFG::Node::storagePointer):

  • dfg/DFGNodeType.h:
  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileConstantStoragePointer):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):

  • dfg/DFGSpeculativeJIT.h:
  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGStrengthReductionPhase.cpp:

(JSC::DFG::StrengthReductionPhase::handleNode):
(JSC::DFG::StrengthReductionPhase::foldTypedArrayPropertyToConstant):
(JSC::DFG::StrengthReductionPhase::prepareToFoldTypedArray):

  • dfg/DFGWatchpointCollectionPhase.cpp:

(JSC::DFG::WatchpointCollectionPhase::handle):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileConstantStoragePointer):
(JSC::FTL::LowerDFGToLLVM::compileGetIndexedPropertyStorage):

5:06 PM Changeset in webkit [160294] by fpizlo@apple.com
  • 6 edits
    2 adds in trunk/Source/JavaScriptCore

FTL should support UntypedUse versions of Compare nodes
https://bugs.webkit.org/show_bug.cgi?id=125426

Reviewed by Oliver Hunt.

This adds UntypedUse versions of all comparisons except CompareStrictEq, which is
sufficiently different that I thought I'd do it in another patch.

This also extends our ability to abstract over comparison kind and removes a bunch of
copy-paste code.

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::nonSpeculativeNonPeepholeCompare):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLIntrinsicRepository.h:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileCompareEq):
(JSC::FTL::LowerDFGToLLVM::compileCompareLess):
(JSC::FTL::LowerDFGToLLVM::compileCompareLessEq):
(JSC::FTL::LowerDFGToLLVM::compileCompareGreater):
(JSC::FTL::LowerDFGToLLVM::compileCompareGreaterEq):
(JSC::FTL::LowerDFGToLLVM::compare):
(JSC::FTL::LowerDFGToLLVM::nonSpeculativeCompare):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::icmp):
(JSC::FTL::Output::equal):
(JSC::FTL::Output::notEqual):
(JSC::FTL::Output::above):
(JSC::FTL::Output::aboveOrEqual):
(JSC::FTL::Output::below):
(JSC::FTL::Output::belowOrEqual):
(JSC::FTL::Output::greaterThan):
(JSC::FTL::Output::greaterThanOrEqual):
(JSC::FTL::Output::lessThan):
(JSC::FTL::Output::lessThanOrEqual):
(JSC::FTL::Output::fcmp):
(JSC::FTL::Output::doubleEqual):
(JSC::FTL::Output::doubleNotEqualOrUnordered):
(JSC::FTL::Output::doubleLessThan):
(JSC::FTL::Output::doubleLessThanOrEqual):
(JSC::FTL::Output::doubleGreaterThan):
(JSC::FTL::Output::doubleGreaterThanOrEqual):
(JSC::FTL::Output::doubleEqualOrUnordered):
(JSC::FTL::Output::doubleNotEqual):
(JSC::FTL::Output::doubleLessThanOrUnordered):
(JSC::FTL::Output::doubleLessThanOrEqualOrUnordered):
(JSC::FTL::Output::doubleGreaterThanOrUnordered):
(JSC::FTL::Output::doubleGreaterThanOrEqualOrUnordered):

  • tests/stress/untyped-equality.js: Added.

(foo):

  • tests/stress/untyped-less-than.js: Added.

(foo):

12:09 PM Changeset in webkit [160293] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[WK2] Add ENABLE_NETWORK_PROCESS flag
https://bugs.webkit.org/show_bug.cgi?id=125421

Add support to build with the Network Process enabled.

Patch by Brian Holt <brian.holt@samsung.com> on 2013-12-08
Reviewed by Martin Robinson.

  • Scripts/webkitperl/FeatureList.pm:
11:01 AM Changeset in webkit [160292] by fpizlo@apple.com
  • 25 edits
    4 adds in trunk

Fold typedArray.length if typedArray is constant
https://bugs.webkit.org/show_bug.cgi?id=125252

Source/JavaScriptCore:

Reviewed by Sam Weinig.

This was meant to be easy. The problem is that there was no good place for putting
the folding of typedArray.length to a constant. You can't quite do it in the
bytecode parser because at that point you don't yet know if typedArray is really
a typed array. You can't do it as part of constant folding because the folder
assumes that it can opportunistically forward-flow a constant value without changing
the IR; this doesn't work since we need to first change the IR to register a
desired watchpoint and only after that can we introduce that constant. We could have
done it in Fixup but that would have been awkward since Fixup's code for turning a
GetById of "length" into GetArrayLength is already somewhat complex. We could have
done it in CSE but CSE is already fairly gnarly and will probably get rewritten.

So I introduced a new phase, called StrengthReduction. This phase should have any
transformations that don't requite CFA or CSE and that it would be weird to put into
those other phases.

I also took the opportunity to refactor some of the other folding code.

This also adds a test, but the test couldn't quite be a LayoutTests/js/regress so I
introduced the notion of JavaScriptCore/tests/stress.

The goal of this patch isn't really to improve performance or anything like that.
It adds an optimization for completeness, and in doing so it unlocks a bunch of new
possibilities. The one that I'm most excited about is revealing array length checks
in DFG IR, which will allow for array bounds check hoisting and elimination.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::::executeEffects):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::tryGetFoldableView):
(JSC::DFG::Graph::tryGetFoldableViewForChild1):

  • dfg/DFGGraph.h:
  • dfg/DFGNode.h:

(JSC::DFG::Node::hasTypedArray):
(JSC::DFG::Node::typedArray):

  • dfg/DFGNodeType.h:
  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::compileInThreadImpl):

  • dfg/DFGPredictionPropagationPhase.cpp:

(JSC::DFG::PredictionPropagationPhase::propagate):

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::jumpForTypedArrayOutOfBounds):
(JSC::DFG::SpeculativeJIT::compileConstantIndexedPropertyStorage):

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile):

  • dfg/DFGStrengthReductionPhase.cpp: Added.

(JSC::DFG::StrengthReductionPhase::StrengthReductionPhase):
(JSC::DFG::StrengthReductionPhase::run):
(JSC::DFG::StrengthReductionPhase::handleNode):
(JSC::DFG::StrengthReductionPhase::foldTypedArrayPropertyToConstant):
(JSC::DFG::performStrengthReduction):

  • dfg/DFGStrengthReductionPhase.h: Added.
  • dfg/DFGWatchpointCollectionPhase.cpp:

(JSC::DFG::WatchpointCollectionPhase::handle):

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileNode):
(JSC::FTL::LowerDFGToLLVM::compileGetIndexedPropertyStorage):
(JSC::FTL::LowerDFGToLLVM::compilePutByVal):
(JSC::FTL::LowerDFGToLLVM::typedArrayLength):

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionTransferArrayBuffer):

  • runtime/ArrayBufferView.h:
  • tests/stress: Added.
  • tests/stress/fold-typed-array-properties.js: Added.

(foo):

Tools:

Reviewed by Sam Weinig.

Add Source/JavaScriptCore/tests/stress to the set of JS tests. This is where you
should put tests that run just like JSRegress but don't run as part of LayoutTests.
Currently I'm using it for tests that require some surgical support from jsc.cpp.

  • Scripts/run-javascriptcore-tests:
10:57 AM Changeset in webkit [160291] by weinig@apple.com
  • 3 edits in trunk/Source/WebKit2

[Cocoa] Remove webProcessPlugInInitialize: from the WKWebProcessPlugIn protocol
https://bugs.webkit.org/show_bug.cgi?id=125405

Reviewed by Dan Bernstein.

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
  • WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:

(WebKit::InjectedBundle::load):

10:26 AM Changeset in webkit [160290] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

[WK2] Guard include of SecItemShim.h with ENABLE(SEC_ITEM_SHIM)
https://bugs.webkit.org/show_bug.cgi?id=125415

Patch by Brian Holt <brian.holt@samsung.com> on 2013-12-08
Reviewed by Gustavo Noronha Silva.

  • NetworkProcess/NetworkProcess.cpp:
  • UIProcess/Network/NetworkProcessProxy.cpp:
10:22 AM Changeset in webkit [160289] by Carlos Garcia Campos
  • 7 edits in trunk/Source/WebCore

[GTK] Do not skip attributes with only custom setter
https://bugs.webkit.org/show_bug.cgi?id=125417

Reviewed by Gustavo Noronha Silva.

For attributes with a custom setter, we now generate the code as a
read-only attribute with a getter method, unless it also has a
custom getter in which case the attribute is skipped.

  • bindings/gobject/GNUmakefile.am: Generate WebKitDOMMediaController

that is now required by an attribute having a custom setter.

  • bindings/gobject/WebKitDOMCustom.cpp: Remove methods that are now generated.
  • bindings/gobject/WebKitDOMCustom.h: Ditto.
  • bindings/gobject/WebKitDOMCustom.symbols: Ditto.
  • bindings/gobject/webkitdom.symbols: Add new symbols.
  • bindings/scripts/CodeGeneratorGObject.pm:

(SkipAttribute): Do not skip attributes having a custom setter.
(GetWriteableProperties): Do not include attributes having a
custom setter.
(GenerateProperty): Do not return early for attributes having
custom setter.
(GenerateFunctions): Do not generate setter for attributes having
a custom setter.

10:16 AM Changeset in webkit [160288] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[GTK] Do not generate new dispatch_event methods marked as deprecated
https://bugs.webkit.org/show_bug.cgi?id=125416

Reviewed by Gustavo Noronha Silva.

  • bindings/scripts/CodeGeneratorGObject.pm:

(SkipFunction): Skip dispatch_event methods for objects
implementing EventTarget interface unless they are already
deprecated.
(GenerateFunction): Pass also the parentNode to SkipFunction().

8:51 AM Changeset in webkit [160287] by zandobersek@gmail.com
  • 2 edits in trunk/Tools

[gdb] Update printers for WTF::CString, JSC::JSString
https://bugs.webkit.org/show_bug.cgi?id=124600

Reviewed by Gustavo Noronha Silva.

Update the two printers after they fell behind the changes in implementation.

  • gdb/webkit.py:

(WTFCStringPrinter.to_string):
(JSCJSStringPrinter.to_string):

8:50 AM Changeset in webkit [160286] by zandobersek@gmail.com
  • 1 edit
    1 add in trunk/Tools

[webkitpy] Add a WestonDriver unit test
https://bugs.webkit.org/show_bug.cgi?id=125408

Reviewed by Gustavo Noronha Silva.

Add a webkitpy unit test for the Weston driver.

  • Scripts/webkitpy/port/westondriver_unittest.py: Added.

(WestonDriverTest):
(WestonDriverTest.make_driver): Sets up a new WestonDriver instance for testing purposes.
(WestonDriverTest.test_start): Check that the Weston compositor is launched properly and that
the server environment contains proper WAYLAND and GDK_BACKEND entries.
(WestonDriverTest.test_stop): Check that the Weston compositor is terminated properly and that
the driver cleans up the temporary directory.
(WestonDriverTest.test_stop.FakeWestonProcess): A helper class that logs the expected termination.
(WestonDriverTest.test_stop.FakeWestonProcess.terminate):

7:30 AM Changeset in webkit [160285] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[Gtk] install-dependencies doesn't install libgtk-3-dev
https://bugs.webkit.org/show_bug.cgi?id=125320

Patch by Brendan Long <b.long@cablelabs.com> on 2013-12-08
Reviewed by Gustavo Noronha Silva.

  • gtk/install-dependencies: Add libgtk-3-dev, libsoup2.4 and subversion
5:09 AM Changeset in webkit [160284] by zandobersek@gmail.com
  • 2 edits
    1 delete in trunk/LayoutTests

Unreviewed GTK gardening.

Removing the baseline added in r160283. It's not really required, the failure is originating
in an unnecessary and wrong patch that's applied on the Freetype source tree that's used in the
GTK's Jhbuild setup. That patch will be removed in the near future, but until then the failure
of accessibility/press-targers-center-point.html should be handled through an expectation.

  • platform/gtk/TestExpectations:
  • platform/gtk/accessibility/press-targets-center-point-expected.txt: Removed.
2:09 AM Changeset in webkit [160283] by zandobersek@gmail.com
  • 2 edits
    1 add in trunk/LayoutTests

Unreviewed GTK gardening. Adding expectations for the current test failures.
Adding a GTK-specific baseline for a recently introduced a11y test.

  • platform/gtk/TestExpectations:
  • platform/gtk/accessibility/press-targets-center-point-expected.txt: Added.
Note: See TracTimeline for information about the timeline view.