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

Timeline



Dec 6, 2013:

10:41 PM Changeset in webkit [160268] by msaboff@apple.com
  • 2 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Fix Specialized Thunks to use function prologues and epilogues
https://bugs.webkit.org/show_bug.cgi?id=125381

Not yet reviewed.

Changed the entry / exit sequences to use emitFunctionPrologue() and
functionEpilogue().

  • jit/SpecializedThunkJIT.h:

(JSC::SpecializedThunkJIT::SpecializedThunkJIT):
(JSC::SpecializedThunkJIT::returnJSValue):
(JSC::SpecializedThunkJIT::returnDouble):
(JSC::SpecializedThunkJIT::returnInt32):
(JSC::SpecializedThunkJIT::returnJSCell):

9:46 PM Changeset in webkit [160267] by msaboff@apple.com
  • 15 edits in branches/jsCStack/Source/JavaScriptCore

CStack Branch: Enable basic JavaScript functionality in LLInt
https://bugs.webkit.org/show_bug.cgi?id=125378

Reviewed by Filip Pizlo.

This provides basic LLInt only functionality for X86_64. It runs simple scripts.
There are several places where the code is tagged with "&&&& FIXME: ..." comments
as placeholders where more work needs to be done.

Added X86 compliant prologue / epilogues at the head and tail of functions.
Changed LLInt calls to leave the caller framePointer in callFrame register and
pass the callee framePointer (-16) in SP so that the callee receiving prologue
will make store the ReturnPC and CallerFrame at the right location in the call
frame header. Created a stack pointer sanity check macro (checkStackPointerAlignment)
in the LLInt that will cause a breakpoint on failure.

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::compileEntry):

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLLink.cpp:

(JSC::FTL::compileEntry):
(JSC::FTL::link):

  • ftl/FTLThunks.cpp:

(JSC::FTL::osrExitGenerationThunkGenerator):
(JSC::FTL::slowPathCallThunkGenerator):

  • interpreter/Interpreter.cpp:

(JSC::unwindCallFrame):

  • interpreter/ProtoCallFrame.cpp:

(JSC::ProtoCallFrame::init):

  • jit/AssemblyHelpers.h:

(JSC::AssemblyHelpers::emitFunctionPrologue):
(JSC::AssemblyHelpers::emitFunctionEpilogue):

  • jit/JIT.cpp:

(JSC::JIT::privateCompile):

  • jit/JITCall.cpp:

(JSC::JIT::privateCompileClosureCall):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_end):
(JSC::JIT::emit_op_ret):
(JSC::JIT::emit_op_ret_object_or_this):

  • jit/Repatch.cpp:

(JSC::linkClosureCall):

  • jit/ThunkGenerators.cpp:

(JSC::slowPathFor):
(JSC::nativeForGenerator):

  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter64.asm:
6:55 PM Changeset in webkit [160266] by mitz@apple.com
  • 2 edits in trunk/Tools

[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.

6:14 PM Changeset in webkit [160265] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

[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.

5:42 PM Changeset in webkit [160264] by enrica@apple.com
  • 5 edits in trunk/Source/WebKit2

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):

5:01 PM Changeset in webkit [160263] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

[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):

4:57 PM Changeset in webkit [160262] by Antti Koivisto
  • 2 edits in trunk/Source/WebCore

Use NeverDestroyed instead of DEFINE_STATIC_LOCAL

Reviewed by Anders Carlsson.

  • rendering/RenderText.cpp:

(WebCore::originalTextMap):

4:56 PM Changeset in webkit [160261] by jer.noble@apple.com
  • 16 edits in trunk

[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):

4:45 PM Changeset in webkit [160260] by timothy_horton@apple.com
  • 7 edits in trunk/Source/WebCore

[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):

4:33 PM Changeset in webkit [160259] by Antti Koivisto
  • 8 edits in trunk/Source/WebCore

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:
4:10 PM Changeset in webkit [160258] by jer.noble@apple.com
  • 9 edits
    2 deletes in trunk/Source/WebCore

[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:
3:20 PM Changeset in webkit [160257] by fpizlo@apple.com
  • 5 edits
    3 adds in trunk

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):

3:14 PM Changeset in webkit [160256] by commit-queue@webkit.org
  • 5 edits in trunk/Source/ThirdParty/ANGLE

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):

3:06 PM Changeset in webkit [160255] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

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.

2:56 PM Changeset in webkit [160254] by Brent Fulgham
  • 12 edits in trunk/Source

../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.

2:54 PM Changeset in webkit [160253] by msaboff@apple.com
  • 15 edits in branches/jsCStack/Source/JavaScriptCore

Merged from trunk r160244: <http://trac.webkit.org/changeset/160244>

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:
2:54 PM Changeset in webkit [160252] by fpizlo@apple.com
  • 6 edits
    3 adds in trunk

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):

2:43 PM Changeset in webkit [160251] by jer.noble@apple.com
  • 9 edits
    4 copies
    6 adds in trunk/Source/WebCore

[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:
2:31 PM Changeset in webkit [160250] by ap@apple.com
  • 2 edits in trunk/Source/WebCore

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):
2:31 PM Changeset in webkit [160249] by jer.noble@apple.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening; revert r160237 after r160247 made it unnecessary.

  • platform/mac/TestExpectations:
2:27 PM Changeset in webkit [160248] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebCore

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:
2:22 PM Changeset in webkit [160247] by jer.noble@apple.com
  • 5 edits in trunk/Tools

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.

2:05 PM Changeset in webkit [160246] by fpizlo@apple.com
  • 5 edits
    6 adds in trunk

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):

1:40 PM Changeset in webkit [160245] by mitz@apple.com
  • 3 edits in trunk/Source/WebKit2

<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.

1:38 PM Changeset in webkit [160244] by msaboff@apple.com
  • 15 edits in trunk/Source/JavaScriptCore

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:
1:02 PM Changeset in webkit [160243] by commit-queue@webkit.org
  • 9 edits in trunk

[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:
12:59 PM Changeset in webkit [160242] by fpizlo@apple.com
  • 4 edits
    3 adds in trunk

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):

12:57 PM Changeset in webkit [160241] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Web Inspector: Remove Staging Workaround
https://bugs.webkit.org/show_bug.cgi?id=125354

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

  • inspector/CodeGeneratorInspector.py:
12:55 PM Changeset in webkit [160240] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Simplify ScriptFunctionCall by removing dead code.
https://bugs.webkit.org/show_bug.cgi?id=125274

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

  • bindings/js/ScriptFunctionCall.cpp:

(WebCore::ScriptFunctionCall::call):

  • bindings/js/ScriptFunctionCall.h:
12:38 PM Changeset in webkit [160239] by dino@apple.com
  • 2 edits in trunk/Tools

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:
12:30 PM Changeset in webkit [160238] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

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):

12:21 PM UpdatingANGLE edited by dino@apple.com
(diff)
12:20 PM UpdatingANGLE created by dino@apple.com
12:17 PM Changeset in webkit [160237] by eric.carlson@apple.com
  • 2 edits
    1 delete in trunk/LayoutTests

Unreviewed gardening, correct previous fix.

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

on Mavericks.

12:11 PM WikiStart edited by dino@apple.com
Add link to new ANGLE page (diff)
11:59 AM Changeset in webkit [160236] by dbates@webkit.org
  • 50 edits
    2 adds in trunk/Source/WebCore

[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.
11:31 AM Changeset in webkit [160235] by zoltan@webkit.org
  • 11 edits in trunk/Source/WebCore

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:
11:28 AM Changeset in webkit [160234] by fpizlo@apple.com
  • 1 copy in branches/jsCStack

Create a branch to allow for greater collaboration on the still-incomplete JS-on-C-stack patch(es).

11:28 AM Changeset in webkit [160233] by eric.carlson@apple.com
  • 1 edit
    1 add in trunk/LayoutTests

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.
11:04 AM Changeset in webkit [160232] by Michał Pakuła vel Rutka
  • 3 edits in trunk/LayoutTests

Unreviewed EFL gardening

Add test expectations for failing tests.

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
11:02 AM Changeset in webkit [160231] by mitz@apple.com
  • 2 edits in trunk/Tools

[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.

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

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):

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

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):

10:54 AM Changeset in webkit [160228] by commit-queue@webkit.org
  • 7 edits in trunk/Source

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
10:21 AM Changeset in webkit [160227] by mitz@apple.com
  • 6 edits
    3 adds in trunk/Source

[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.
10:13 AM Changeset in webkit [160226] by dbates@webkit.org
  • 15 edits in trunk/Source/WebCore

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:
9:46 AM Changeset in webkit [160225] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

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:
9:40 AM Changeset in webkit [160224] by akling@apple.com
  • 14 edits in trunk/Source/WebCore

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.

9:28 AM Changeset in webkit [160223] by roger_fong@apple.com
  • 7 edits in trunk/Source/WebCore

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.

9:18 AM Changeset in webkit [160222] by Chris Fleizach
  • 3 edits in trunk/Tools

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):

6:54 AM Changeset in webkit [160221] by msaboff@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

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):

5:58 AM Changeset in webkit [160220] by commit-queue@webkit.org
  • 6 edits
    3 adds in trunk

[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.
4:41 AM Changeset in webkit [160219] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Typo fix after r160218.

  • Scripts/webkitpy/test/main.py:

(main):

3:29 AM Changeset in webkit [160218] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

Unreviewed fix after r160206.

  • Scripts/webkitpy/test/main.py:

(main): sys.platform can be win32 or cygwin too on Windows.

3:21 AM Changeset in webkit [160217] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

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:
3:20 AM Changeset in webkit [160216] by Philippe Normand
  • 2 edits in trunk/Source/WebCore

[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.

3:08 AM Changeset in webkit [160215] by berto@igalia.com
  • 2 edits in trunk

[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:
1:06 AM Changeset in webkit [160214] by Philippe Normand
  • 4 edits in trunk/Source/WebCore

[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):

Dec 5, 2013:

9:32 PM Changeset in webkit [160213] by msaboff@apple.com
  • 6 edits in trunk/Source/JavaScriptCore

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):

9:20 PM Changeset in webkit [160212] by gyuyoung.kim@samsung.com
  • 8 edits in trunk/Source

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):

9:15 PM Changeset in webkit [160211] by mark.lam@apple.com
  • 4 edits in trunk/Source

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:
7:37 PM Changeset in webkit [160210] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WTF

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:
7:18 PM Changeset in webkit [160209] by zoltan@webkit.org
  • 3 edits in trunk/Source/WebCore

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
7:03 PM Changeset in webkit [160208] by oliver@apple.com
  • 83 edits in trunk/Source

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):

6:52 PM Changeset in webkit [160207] by timothy_horton@apple.com
  • 9 edits in trunk/Source/WebCore

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:
5:50 PM Changeset in webkit [160206] by Csaba Osztrogonác
  • 2 edits in trunk/Tools

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):

5:47 PM Changeset in webkit [160205] by fpizlo@apple.com
  • 11 edits
    12 adds in trunk

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):

5:19 PM Changeset in webkit [160204] by commit-queue@webkit.org
  • 51 edits in trunk/Source

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):

5:09 PM Changeset in webkit [160203] by Seokju Kwon
  • 7 edits in trunk/Source

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:
4:57 PM Changeset in webkit [160202] by commit-queue@webkit.org
  • 8 edits in trunk/Source

Web Inspector: expose node and frame snapshot capabilities.
https://bugs.webkit.org/show_bug.cgi?id=124326

Patch by Brian J. Burg <Brian Burg> 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:
4:25 PM Changeset in webkit [160201] by bshafiei@apple.com
  • 5 edits in branches/safari-537.60-branch/Source

Versioning.

3:48 PM Changeset in webkit [160200] by betravis@adobe.com
  • 7 edits in trunk

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.
3:45 PM Changeset in webkit [160199] by roger_fong@apple.com
  • 7 edits in trunk

[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.

3:37 PM Changeset in webkit [160198] by Alexandru Chiculita
  • 12 edits
    6 adds in trunk

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.
3:33 PM Changeset in webkit [160197] by Chris Fleizach
  • 3 edits in trunk/Source/WebKit2

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):

3:12 PM Changeset in webkit [160196] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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):

3:04 PM Changeset in webkit [160195] by matthew_hanson@apple.com
  • 5 edits in tags/Safari-538.8/Source/ThirdParty/ANGLE

Merge r160194.

2:55 PM Changeset in webkit [160194] by matthew_hanson@apple.com
  • 5 edits in trunk/Source/ThirdParty/ANGLE

Fix ANGLE build failures by re-comitting the changes in http://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:
2:30 PM Changeset in webkit [160193] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

"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.

1:59 PM Changeset in webkit [160192] by bshafiei@apple.com
  • 1 copy in tags/Safari-537.60.11

New tag.

1:38 PM Changeset in webkit [160191] by andersca@apple.com
  • 6 edits in trunk/Source/WebKit2

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:]):

1:15 PM Changeset in webkit [160190] by Brent Fulgham
  • 4 edits in branches/safari-537.60-branch/Source/WebKit

../WebKit: Merge build fix r160188

2013-12-05 Brent Fulgham <Brent Fulgham>

[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.

../WebKit/win: Merge r160184

2013-12-04 Brent Fulgham <Brent Fulgham>

[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.
12:44 PM Changeset in webkit [160189] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

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

12:42 PM Changeset in webkit [160188] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[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.

12:40 PM Changeset in webkit [160187] by andersca@apple.com
  • 4 edits in trunk

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:
12:33 PM Changeset in webkit [160186] by mark.lam@apple.com
  • 22 edits in trunk/Source/JavaScriptCore

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):

12:27 PM Changeset in webkit [160185] by zoltan@webkit.org
  • 3 edits in trunk/LayoutTests

[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:
12:14 PM Changeset in webkit [160184] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit/win

[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.

11:48 AM Changeset in webkit [160183] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Remove stale ScriptGlobalObject methods
https://bugs.webkit.org/show_bug.cgi?id=125276

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-12-05
Reviewed by Sam Weinig.

  • bindings/js/ScriptObject.cpp:

(WebCore::ScriptGlobalObject::set):

  • bindings/js/ScriptObject.h:
11:45 AM Changeset in webkit [160182] by rniwa@webkit.org
  • 6 edits
    2 adds in trunk

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.
11:23 AM Changeset in webkit [160181] by commit-queue@webkit.org
  • 11 edits in trunk

[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:
10:32 AM Changeset in webkit [160180] by Hugo Parente Lima
  • 2 edits in trunk/Tools/Scripts

[Unreviewed] Turn on executable bits of Tools/Scripts/run-nix-tests and Tools/Scripts/update-webkitnix-libs

9:57 AM Changeset in webkit [160179] by Beth Dakin
  • 3 edits in trunk/Source/WebCore

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):

9:54 AM Changeset in webkit [160178] by zoltan@webkit.org
  • 2 edits in trunk/Source/WebCore

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
9:18 AM Changeset in webkit [160177] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[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):

8:48 AM Changeset in webkit [160176] by zoltan@webkit.org
  • 4 edits in trunk

[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:
8:27 AM Changeset in webkit [160175] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

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:
6:50 AM Changeset in webkit [160174] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

[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:
6:32 AM Changeset in webkit [160173] by Carlos Garcia Campos
  • 2 edits in trunk/Tools

[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.

5:31 AM Changeset in webkit [160172] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[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:
5:28 AM Changeset in webkit [160171] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebKit/gtk

[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.

4:38 AM Changeset in webkit [160170] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

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):

4:34 AM Changeset in webkit [160169] by Michał Pakuła vel Rutka
  • 3 edits in trunk/LayoutTests

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:
4:14 AM Changeset in webkit [160168] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Update GObject DOM bindings symbols file after r159711.

  • bindings/gobject/webkitdom.symbols:
4:00 AM Changeset in webkit [160167] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

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.

3:07 AM Changeset in webkit [160166] by commit-queue@webkit.org
  • 1 edit
    1 delete in trunk/Tools

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.

2:32 AM Changeset in webkit [160165] by commit-queue@webkit.org
  • 9 edits in trunk/Tools

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):

12:49 AM Changeset in webkit [160164] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[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.

12:47 AM Changeset in webkit [160163] by commit-queue@webkit.org
  • 1 edit
    1 delete in trunk/Source/WebCore

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.

12:47 AM Changeset in webkit [160162] by zandobersek@gmail.com
  • 4 edits in trunk/Source/WebKit2

[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):

Note: See TracTimeline for information about the timeline view.