Timeline



Dec 8, 2013:

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

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

Reviewed by Gyuyoung Kim.

This patch fixed build break on EFL port Since r160296.

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

(WebKit::WebFullScreenManagerProxy::WebFullScreenManagerProxy):

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

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

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

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

Reviewed by Dan Bernstein.

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

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

Reviewed by Andreas Kling.

Source/WebCore:

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

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

  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::getBorderRadiusShorthandValue):

LayoutTests:

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

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

Reviewed by Dan Bernstein.

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

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

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

Fix the iOS build.

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

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

Reviewed by Dan Bernstein.

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

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

  • UIProcess/API/mac/WKView.mm:

Remove call to setWebView() and do some cleanup.

  • UIProcess/API/mac/WKViewInternal.h:

Convert to property syntax and re-arrange.

  • UIProcess/PageClient.h:

Expose access to the new client.

  • UIProcess/WebFullScreenManagerProxy.cpp:

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

  • UIProcess/WebFullScreenManagerProxy.h:

Use the new client.

  • UIProcess/WebPageProxy.cpp:

Pass the new client.

  • UIProcess/mac/WebFullScreenManagerProxyMac.mm:

Removed. Now goes through the client.

  • WebKit2.xcodeproj/project.pbxproj:

Remove WebFullScreenManagerProxyMac.mm.

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

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

Reviewed by Oliver Hunt.

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

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGCSEPhase.cpp:

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

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGGraph.cpp:

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

  • dfg/DFGNode.h:

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

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

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

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

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

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

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGStrengthReductionPhase.cpp:

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

  • dfg/DFGWatchpointCollectionPhase.cpp:

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

  • ftl/FTLLowerDFGToLLVM.cpp:

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

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

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

Reviewed by Oliver Hunt.

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

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

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

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

  • ftl/FTLOutput.h:

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

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

(foo):

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

(foo):

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

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

Add support to build with the Network Process enabled.

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

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

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

Source/JavaScriptCore:

Reviewed by Sam Weinig.

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

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

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

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

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

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

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

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGGraph.cpp:

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

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

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

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

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

  • dfg/DFGPredictionPropagationPhase.cpp:

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

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT.cpp:

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

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • dfg/DFGStrengthReductionPhase.cpp: Added.

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

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

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

  • ftl/FTLCapabilities.cpp:

(JSC::FTL::canCompile):

  • ftl/FTLLowerDFGToLLVM.cpp:

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

  • jsc.cpp:

(GlobalObject::finishCreation):
(functionTransferArrayBuffer):

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

(foo):

Tools:

Reviewed by Sam Weinig.

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

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

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

Reviewed by Dan Bernstein.

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

(WebKit::InjectedBundle::load):

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

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

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

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

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

Reviewed by Gustavo Noronha Silva.

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

  • bindings/gobject/GNUmakefile.am: Generate WebKitDOMMediaController

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

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

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

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

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

Reviewed by Gustavo Noronha Silva.

  • bindings/scripts/CodeGeneratorGObject.pm:

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

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

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

Reviewed by Gustavo Noronha Silva.

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

  • gdb/webkit.py:

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

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

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

Reviewed by Gustavo Noronha Silva.

Add a webkitpy unit test for the Weston driver.

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

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

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

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

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

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

Unreviewed GTK gardening.

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

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

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

  • platform/gtk/TestExpectations:
  • platform/gtk/accessibility/press-targets-center-point-expected.txt: Added.

Dec 7, 2013:

10:43 PM Changeset in webkit [160282] by jer.noble@apple.com
  • 12 edits
    2 adds in trunk

[MSE] Bring end-of-stream algorithm section up to current spec.
https://bugs.webkit.org/show_bug.cgi?id=125270

Reviewed by Darin Adler.

Source/WebCore:

Test: media/media-source/media-source-end-of-stream.html

Separate the "endOfStream()" method from the "end of stream algorithm".

  • Modules/mediasource/MediaSource.cpp:

(WebCore::SourceBufferIsUpdating): Added predicate function.
(WebCore::MediaSource::endOfStream): Call streamEndedWithError().
(WebCore::MediaSource::streamEndedWithError): Added.

  • Modules/mediasource/MediaSource.h:
  • Modules/mediasource/SourceBuffer.cpp:

(WebCore::SourceBuffer::appendBufferTimerFired): Call streamEndedWithError().
(WebCore::SourceBuffer::sourceBufferPrivateDidReceiveSample): Ditto.

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

(HTMLMediaElement::mediaLoadingFailedFatally): Renamed from mediaEngineError.
(HTMLMediaElement::mediaLoadingFailed): Call renamed method.

  • html/HTMLMediaElement.h:
  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:

(WebCore::MediaSourcePrivateAVFObjC::markEndOfStream): Set load state to Loaded.

  • platform/mock/mediasource/MockMediaPlayerMediaSource.cpp:

(WebCore::MockMediaPlayerMediaSource::setNetworkState): Simple setter.

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

(WebCore::MockMediaSourcePrivate::MockMediaSourcePrivate): Set the intitial duration to NaN.
(WebCore::MockMediaSourcePrivate::markEndOfStream): Set load state to Loaded.

LayoutTests:

  • media/media-source/media-source-end-of-stream-expected.txt: Added.
  • media/media-source/media-source-end-of-stream.html: Added.
10:39 PM Changeset in webkit [160281] by jer.noble@apple.com
  • 7 edits in trunk/Source/WebCore

[MSE][Mac] Crash when removing MediaSource from HTMLMediaElement.
https://bugs.webkit.org/show_bug.cgi?id=125269

Reviewed by Sam Weinig.

Fixes the media/media-source/media-source-fastseek.html test when run with MallocScribble enabled.

It's possible for a SourceBufferPrivateAVFObjC to outlive its MediaSourcePrivateAVFObjC, so
make sure to clear the pointer from the former to the latter when the latter is destroyed.
That means we now have to check to see if the pointer to the latter is still valid at every
call site.

As a drive-by fix, rename m_parent to m_mediaSource to more accurately reflect what the pointer
points to.

  • platform/graphics/avfoundation/objc/MediaSourcePrivateAVFObjC.mm:

(WebCore::MediaSourcePrivateAVFObjC::~MediaSourcePrivateAVFObjC): Clear the SourceBuffer's backpointer.

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.h:

(WebCore::SourceBufferPrivateAVFObjC::clearMediaSource):

  • platform/graphics/avfoundation/objc/SourceBufferPrivateAVFObjC.mm:

(WebCore::SourceBufferPrivateAVFObjC::SourceBufferPrivateAVFObjC): Rename m_parent -> m_mediaSource.
(WebCore::SourceBufferPrivateAVFObjC::append): Check m_mediaSource before calling.
(WebCore::SourceBufferPrivateAVFObjC::removedFromMediaSource): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::readyState): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::setReadyState): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::trackDidChangeEnabled): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::flushAndEnqueueNonDisplayingSamples): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::enqueueSample): Ditto.
(WebCore::SourceBufferPrivateAVFObjC::setActive): Ditto.

  • platform/mock/mediasource/MockMediaSourcePrivate.cpp:

(WebCore::MockMediaSourcePrivate::~MockMediaSourcePrivate): Clear the SourceBuffer's backpointer.

  • platform/mock/mediasource/MockSourceBufferPrivate.cpp:

(WebCore::MockSourceBufferPrivate::MockSourceBufferPrivate): Rename m_parent -> m_mediaSource.
(WebCore::MockSourceBufferPrivate::removedFromMediaSource): Check m_mediaSource before calling.
(WebCore::MockSourceBufferPrivate::readyState): Ditto.
(WebCore::MockSourceBufferPrivate::setReadyState): Ditto.
(WebCore::MockSourceBufferPrivate::setActive): Ditto.

  • platform/mock/mediasource/MockSourceBufferPrivate.h:

(WebCore::MockSourceBufferPrivate::clearMediaSource):

10:17 PM Changeset in webkit [160280] by weinig@apple.com
  • 7 edits in trunk/Source/WebKit2

[Cocoa] Make WKWebProcessPlugInController work with WKObject wrapping
https://bugs.webkit.org/show_bug.cgi?id=125404

Reviewed by Dan Bernstein.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):

  • Shared/mac/ObjCObjectGraphCoders.mm:
  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:

(-[WKWebProcessPlugInController dealloc]):
(didCreatePage):
(willDestroyPage):
(-[WKWebProcessPlugInController _setPrincipalClassInstance:]):
(-[WKWebProcessPlugInController API::]):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInInternal.h:

(WebKit::wrapper):

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

(WebKit::InjectedBundle::load):

9:53 PM Changeset in webkit [160279] by zoltan@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove statusWithDirection static function from RenderBlockLineLayout
https://bugs.webkit.org/show_bug.cgi?id=125372

Reviewed by Andreas Kling.

I run into a FIXME about using BidiStatus constructor rather than statusWithDirection,
once it's implemented. BidiStatus has got the appropriate constructor now, so I removed
statusWithDirection and updated the code to use the constructor of BidiStatus.

No new tests, no behavior change.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::constructBidiRunsForSegment):

9:23 PM Changeset in webkit [160278] by mitz@apple.com
  • 3 edits
    2 adds in trunk/Source/WebKit2

[Cocoa] WebData has a generic wrapper
https://bugs.webkit.org/show_bug.cgi?id=125402

Reviewed by Sam Weinig.

Added WKNSData, an NSData subclass that confroms to WKObject and wraps a WebData.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject): Allocate a WKNSData if the API::Object is data.

  • Shared/Cocoa/WKNSData.h: Added.

(WebKit::wrapper): Added. Returns a WebData’s wrapper as an NSData.

  • Shared/Cocoa/WKNSData.mm: Added.

(-[WKNSData dealloc]): Calls the WebData destructor.
(-[WKNSData length]): Added.
(-[WKNSData bytes]): Added.
(-[WKNSData copyWithZone:]): Retains self.
(-[WKNSData _apiObject]): Returns the wrapped WebData.

  • WebKit2.xcodeproj/project.pbxproj: Added references to new files.
9:22 PM Changeset in webkit [160277] by weinig@apple.com
  • 8 edits in trunk/Source/WebKit2

[Cocoa] Make WKWebProcessPlugInBrowserContextController work with WKObject wrapping
https://bugs.webkit.org/show_bug.cgi?id=125403

Reviewed by Dan Bernstein.

  • Shared/Cocoa/APIObject.mm:

(API::Object::newObject):

  • Shared/mac/ObjCObjectGraphCoders.mm:

(WebKit::InjectedBundleObjCObjectGraphDecoderImpl::decode):

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

(didCreatePage):
(willDestroyPage):
(setUpBundleClient):
(-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundle:]):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextController.mm:

(-[WKWebProcessPlugInBrowserContextController dealloc]):
(-[WKWebProcessPlugInBrowserContextController mainFrameDocument]):
(-[WKWebProcessPlugInBrowserContextController selectedRange]):
(-[WKWebProcessPlugInBrowserContextController API::]):
(-[WKWebProcessPlugInBrowserContextController _bundlePageRef]):
(-[WKWebProcessPlugInBrowserContextController handle]):
(+[WKWebProcessPlugInBrowserContextController lookUpBrowsingContextFromHandle:]):

  • WebProcess/InjectedBundle/API/mac/WKWebProcessPlugInBrowserContextControllerInternal.h:

(WebKit::wrapper):

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

(WebKit::InjectedBundle::load):

7:00 PM Changeset in webkit [160276] by weinig@apple.com
  • 2 edits in trunk/Tools

[Cocoa] Convert a few more parts of MiniBrowser over to the Objective-C API
https://bugs.webkit.org/show_bug.cgi?id=125401

Reviewed by Dan Bernstein.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController fetch:]):
(-[WK2BrowserWindowController reload:]):
(-[WK2BrowserWindowController goBack:]):
(-[WK2BrowserWindowController goForward:]):
(-[WK2BrowserWindowController validateUserInterfaceItem:]):
(-[WK2BrowserWindowController currentZoomFactor]):
(-[WK2BrowserWindowController setCurrentZoomFactor:]):
(-[WK2BrowserWindowController zoomIn:]):
(-[WK2BrowserWindowController zoomOut:]):
(-[WK2BrowserWindowController canResetZoom]):
(-[WK2BrowserWindowController resetZoom:]):
(-[WK2BrowserWindowController toggleZoomMode:]):
(-[WK2BrowserWindowController updateTextFieldFromURL:]):

6:36 PM Changeset in webkit [160275] by weinig@apple.com
  • 5 edits in trunk/Tools

Convert MiniBrowser to use WKProcessGroup and WKBrowsingContextGroup
https://bugs.webkit.org/show_bug.cgi?id=125400

Reviewed by Dan Bernstein.

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

(-[WK2BrowserWindowController initWithProcessGroup:browsingContextGroup:]):
(-[WK2BrowserWindowController dealloc]):
(createNewPage):
(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController browsingContextController:didNavigateWithNavigationData:]):
(-[WK2BrowserWindowController browsingContextController:didPerformClientRedirectFromURL:toURL:]):
(-[WK2BrowserWindowController browsingContextController:didPerformServerRedirectFromURL:toURL:]):
(-[WK2BrowserWindowController browsingContextController:didUpdateHistoryTitle:forURL:]):
Replace global WKContextRef and WKPageGroupRef with WKProcessGroup and WKBrowsingContextGroup. Also
replace context based WKContextHistoryClient with WKBrowsingContextController based WKBrowsingContextHistoryDelegate

9:39 AM Changeset in webkit [160274] by Gustavo Noronha Silva
  • 2 edits in trunk/Tools

[GTK] Run each gtest subtest separately instead of in one go
https://bugs.webkit.org/show_bug.cgi?id=125386

Reviewed by Martin Robinson.

This is what other ports are doing (except they build each test as a separate binary)
and will help with the timeouts we sometimes hit because it applies to the full test
run.

  • Scripts/run-gtk-tests:

(TestRunner._get_tests_from_google_test_suite): get a list of available sub-tests.
(TestRunner._run_google_test): run a single subtest from a gtest binary.
(TestRunner._run_google_test_suite): call the binary once per subtest.

8:50 AM Changeset in webkit [160273] by ChangSeok Oh
  • 2 edits in trunk/Source/WebCore

Unreviewed. Build fix for gtk port after r160260.

  • loader/cache/CachedImage.h: Add missing a header.
8:33 AM Changeset in webkit [160272] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[Win][64-bit] Hitting breakpoint assembler instruction in callToJavaScript.
https://bugs.webkit.org/show_bug.cgi?id=125382

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-12-07
Reviewed by Michael Saboff.

The WinCairo results from run-javascriptcore-tests are the same as the WinCairo 32-bits results, when removing these breakpoints.

  • jit/JITStubsMSVC64.asm: Remove breakpoint instructions.
6:54 AM Changeset in webkit [160271] by commit-queue@webkit.org
  • 6 edits in trunk/Tools

Move PrettyPatch related code to prettypatch.py
https://bugs.webkit.org/show_bug.cgi?id=124937

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

This code seems to have a better place here than in Port, since PrettyPatch already knows
pretty_patch_path, and this also unifies the usage of PrettyPatch

  • Scripts/webkitpy/common/prettypatch.py:

(PrettyPatch.init):
(PrettyPatch.pretty_diff):
(PrettyPatch):
(PrettyPatch.pretty_patch_available):
(PrettyPatch.check_pretty_patch):
(PrettyPatch.pretty_patch_text):

  • Scripts/webkitpy/layout_tests/controllers/test_result_writer.py:

(TestResultWriter.create_text_diff_and_write_result):

  • Scripts/webkitpy/layout_tests/models/test_run_results.py:

(summarize_results):

  • Scripts/webkitpy/port/base.py:

(Port.init):
(Port.wdiff_available):
(Port.check_image_diff):
(Port.wdiff_text):

  • Scripts/webkitpy/port/base_unittest.py:

(PortTest.test_pretty_patch_os_error):
(PortTest.test_pretty_patch_script_error):

5:03 AM Changeset in webkit [160270] by Gustavo Noronha Silva
  • 4 edits in trunk/Source

Fix API test expectation following 160220.

Rubber-stamped by Martin Robinson.

Source/WebKit/gtk:

  • tests/testatkroles.c:

(finish_loading): rename variable documentFrame -> document.
(test_webkit_atk_get_role_document_frame): check for ATK_ROLE_DOCUMENT_WEB instead of
ATK_ROLE_DOCUMENT_FRAME.
(test_webkit_atk_get_role_heading): rename variable documentFrame -> document.
(test_webkit_atk_get_role_image): ditto.
(test_webkit_atk_get_role_link): ditto.
(test_webkit_atk_get_role_list_and_item): ditto.
(test_webkit_atk_get_role_paragraph): ditto.
(test_webkit_atk_get_role_section): ditto.
(test_webkit_atk_get_role_table): ditto.
(test_webkit_atk_get_role_separator): ditto.
(test_webkit_atk_get_role_combobox): ditto.
(test_webkit_atk_get_role_form): ditto.
(test_webkit_atk_get_role_check_box): ditto.
(test_webkit_atk_get_role_entry): ditto.
(test_webkit_atk_get_role_label): ditto.
(test_webkit_atk_get_role_listbox): ditto.
(test_webkit_atk_get_role_password_text): ditto.
(test_webkit_atk_get_role_push_button): ditto.
(test_webkit_atk_get_role_radio_button): ditto.

Source/WebKit2:

  • UIProcess/API/gtk/tests/TestWebKitAccessibility.cpp:

(testAtspiBasicHierarchy): check for ATK_ROLE_DOCUMENT_WEB instead of ATK_ROLE_DOCUMENT_FRAME.

3:50 AM Changeset in webkit [160269] by Gustavo Noronha Silva
  • 2 edits in trunk/Source/WebCore

ubuntu software center hits _XReadEvents() error
https://bugs.webkit.org/show_bug.cgi?id=123480

Reviewed by Martin Robinson.

  • platform/gtk/WidgetBackingStoreGtkX11.cpp:

(WebCore::WidgetBackingStoreGtkX11::~WidgetBackingStoreGtkX11): clear the surface
before freeing the associated pixmap.

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

Dec 4, 2013:

11:41 PM Changeset in webkit [160161] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Report error when #else is used in message receiver generator's input.
https://bugs.webkit.org/show_bug.cgi?id=124147

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

  • Scripts/webkit2/messages_unittest.py:

(UnsupportedPrecompilerDirectiveTest):
(UnsupportedPrecompilerDirectiveTest.test_error_at_else):
(UnsupportedPrecompilerDirectiveTest.test_error_at_elif):

  • Scripts/webkit2/parser.py:

(parse):

10:44 PM Changeset in webkit [160160] by Samuel White
  • 4 edits in trunk/LayoutTests

Layout Test platform/mac/accessibility/search-predicate-element-count.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=125195

Reviewed by Chris Fleizach.

Our test checks for AccessibilityObject::isOnscreen which makes sure an element is currently scrolled to a visible
location onscreen. This test was flaky because sometimes elements we thought would be visible weren't. To resolve
this I've moved the elements that are tested for visibility to the very top of the document so they have a tiny
vertical offset and will ALWAYS be visible.

  • platform/mac/TestExpectations:
  • platform/mac/accessibility/search-predicate-element-count-expected.txt:
  • platform/mac/accessibility/search-predicate-element-count.html:
9:11 PM Changeset in webkit [160159] by commit-queue@webkit.org
  • 3 edits
    4 adds in trunk

% unit heights don't work if parent block height is set in vh
https://bugs.webkit.org/show_bug.cgi?id=118516

Patch by Gurpreet Kaur <k.gurpreet@samsung.com> on 2013-12-04
Reviewed by Simon Fraser.

From Blink r156449 by <srinivasa.ragavan.venkateswaran@intel.com>

Source/WebCore:

An element having height as percentage needs to have the
containingblock's height or availableheight to calculate its
own height. The containing block having a height set in vh
unit was not being considered for calculating the child's
height.

Tests: fast/css/viewport-percentage-compute-box-height.html

fast/css/viewport-percentage-compute-box-width.html

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::computePercentageLogicalHeight):
Correct child's height(in pecentage) was not being calculated
incase of parent having height set in vh unit. Added condition
to calculate the containing block height in terms of viewport size.

LayoutTests:

  • fast/css/viewport-percentage-compute-box-height-expected.html: Added.
  • fast/css/viewport-percentage-compute-box-height.html: Added.
  • fast/css/viewport-percentage-compute-box-width-expected.html: Added.
  • fast/css/viewport-percentage-compute-box-width.html: Added.

Added new tests for verifying that percentage unit height/width works
if parent block height/width is set in vh/vw units.

8:35 PM Changeset in webkit [160158] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

[Windows] Unreviewed build fix. Copy headers from rendering/line to build directory.

  • WebCore.vcxproj/copyForwardingHeaders.cmd:
7:57 PM Changeset in webkit [160157] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

bgColor, setBgColor, alinkColor, setAlinkColor, and etc... on HTMLBodyElement are useless
https://bugs.webkit.org/show_bug.cgi?id=125208

Rubber-stamped by Anders Carlsson.

Address Darin's comment to use fastGetAttribute instead of getAttribute.

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::bgColor):
(WebCore::HTMLDocument::fgColor):
(WebCore::HTMLDocument::alinkColor):
(WebCore::HTMLDocument::linkColor):
(WebCore::HTMLDocument::vlinkColor):

7:42 PM Changeset in webkit [160156] by rniwa@webkit.org
  • 7 edits in trunk

Enable HTMLTemplateElement by default
https://bugs.webkit.org/show_bug.cgi?id=123851

Reviewed by Antti Koivisto.

.:

  • Source/autotools/SetupWebKitFeatures.m4:
  • Source/cmake/WebKitFeatures.cmake:

Source/WTF:

  • wtf/FeatureDefines.h:

Tools:

  • Scripts/webkitperl/FeatureList.pm:
7:36 PM Changeset in webkit [160155] by matthew_hanson@apple.com
  • 5 edits in trunk/Source

Versioning.

7:23 PM Changeset in webkit [160154] by matthew_hanson@apple.com
  • 5 edits in trunk/Source

Versioning.

7:18 PM Changeset in webkit [160153] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-538.8

New Tag.

7:08 PM Changeset in webkit [160152] by commit-queue@webkit.org
  • 23 edits
    2 adds
    3 deletes in trunk/Source

Consolidate various frame snapshot capabilities.
https://bugs.webkit.org/show_bug.cgi?id=124325

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

Source/WebCore:

Various snapshot creation methods had duplicated code and were split
between Frame, DragImage, and platform-specific implementationss.
This patch puts WebCore snapshot methods into FrameSnapshotting
and removes platform implementations where possible.

DragImage methods reuse snapshot methods where possible. Inspector
will be able to take snapshots without using drag images.

No new tests, this is a refactoring.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/objc/DOM.mm:

(-[DOMNode renderedImage]):
(-[DOMRange renderedImageForcingBlackText:]):

  • dom/Clipboard.cpp:

(WebCore::Clipboard::createDragImage):

  • dom/ClipboardMac.mm:

(WebCore::Clipboard::createDragImage):

  • page/DragController.cpp:

(WebCore::DragController::startDrag):

  • page/Frame.cpp:
  • page/Frame.h:
  • page/FrameSnapshotting.cpp: Added.

(WebCore::ScopedFramePaintingState::ScopedFramePaintingState):
(WebCore::ScopedFramePaintingState::~ScopedFramePaintingState):
(WebCore::snapshotFrameRect): Move most buffer logic to here.
(WebCore::snapshotSelection): Moved from Frame.
(WebCore::snapshotNode): Moved from Frame.

  • page/FrameSnapshotting.h: Added.
  • page/mac/FrameMac.mm: Removed.
  • page/mac/FrameSnapshottingMac.h: Removed.
  • page/mac/FrameSnapshottingMac.mm: Removed.
  • page/win/FrameWin.cpp: remove duplicate implementation.
  • page/win/FrameWin.h: Fix an incorrect parameter name.
  • platform/DragImage.cpp:

(WebCore::ScopedNodeDragState::ScopedNodeDragState):
(WebCore::ScopedNodeDragState::~ScopedNodeDragState):
(WebCore::createDragImageFromSnapshot): Boilerplate buffer conversion.
(WebCore::createDragImageForNode):
(WebCore::createDragImageForSelection):
(WebCore::ScopedFrameSelectionState::ScopedFrameSelectionState):
(WebCore::ScopedFrameSelectionState::~ScopedFrameSelectionState):
(WebCore::createDragImageForRange): Moved from Frame.
(WebCore::createDragImageForImage): Moved from FrameSnapshottingMac.
(WebCore::createDragImageForLink): use nullptr.

Source/WebKit/ios:

  • WebCoreSupport/WebFrameIOS.mm: use new header file.

Source/WebKit/mac:

Use new platform-independent methods instead of Mac methods.

  • WebView/WebHTMLView.mm:

(-[WebHTMLView _selectionDraggingImage]):
(-[WebHTMLView selectionImageForcingBlackText:]):

Source/WebKit/win:

  • DOMCoreClasses.cpp:

(DOMElement::renderedImage): use createDragImageForNode.

7:05 PM Changeset in webkit [160151] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL] Bumping GStreamer version to 1.2.1
https://bugs.webkit.org/show_bug.cgi?id=125155

Patch by Jozsef Berta <jberta@inf.u-szeged.hu> on 2013-12-04
Reviewed by Gyuyoung Kim.

  • efl/jhbuild.modules: Set the GStreamer version to 1.2.1
6:05 PM Changeset in webkit [160150] by fpizlo@apple.com
  • 17 edits
    8 adds in trunk

Fold constant typed arrays
https://bugs.webkit.org/show_bug.cgi?id=125205

Source/JavaScriptCore:

Reviewed by Oliver Hunt and Mark Hahnenberg.

If by some other mechanism we have a typed array access on a compile-time constant
typed array pointer, then fold:

  • Array bounds checks. Specifically, fold the load of length.


  • Loading the vector.


This needs to install a watchpoint on the array itself because of the possibility of
neutering. Neutering is ridiculous. We do this without bloating the size of
ArrayBuffer or JSArrayBufferView in the common case (i.e. the case where you
allocated an array that didn't end up becoming a compile-time constant). To install
the watchpoint, we slowDownAndWasteMemory and then create an incoming reference to
the ArrayBuffer, where that incoming reference is from a watchpoint object. The
ArrayBuffer already knows about such incoming references and can fire the
watchpoints that way.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGDesiredWatchpoints.cpp:

(JSC::DFG::ArrayBufferViewWatchpointAdaptor::add):
(JSC::DFG::DesiredWatchpoints::addLazily):

  • dfg/DFGDesiredWatchpoints.h:

(JSC::DFG::GenericSetAdaptor::add):
(JSC::DFG::GenericSetAdaptor::hasBeenInvalidated):
(JSC::DFG::ArrayBufferViewWatchpointAdaptor::hasBeenInvalidated):
(JSC::DFG::GenericDesiredWatchpoints::reallyAdd):
(JSC::DFG::GenericDesiredWatchpoints::areStillValid):
(JSC::DFG::GenericDesiredWatchpoints::isStillValid):
(JSC::DFG::GenericDesiredWatchpoints::shouldAssumeMixedState):
(JSC::DFG::DesiredWatchpoints::isStillValid):
(JSC::DFG::DesiredWatchpoints::shouldAssumeMixedState):
(JSC::DFG::DesiredWatchpoints::isValidOrMixed):

  • dfg/DFGGraph.cpp:

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

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

(JSC::DFG::SpeculativeJIT::jumpForTypedArrayOutOfBounds):
(JSC::DFG::SpeculativeJIT::emitTypedArrayBoundsCheck):
(JSC::DFG::SpeculativeJIT::compileGetByValOnIntTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForIntTypedArray):
(JSC::DFG::SpeculativeJIT::compileGetByValOnFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compilePutByValForFloatTypedArray):
(JSC::DFG::SpeculativeJIT::compileConstantIndexedPropertyStorage):
(JSC::DFG::SpeculativeJIT::compileGetIndexedPropertyStorage):

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

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

  • ftl/FTLLowerDFGToLLVM.cpp:

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

  • runtime/ArrayBuffer.cpp:

(JSC::ArrayBuffer::transfer):

  • runtime/ArrayBufferNeuteringWatchpoint.cpp: Added.

(JSC::ArrayBufferNeuteringWatchpoint::ArrayBufferNeuteringWatchpoint):
(JSC::ArrayBufferNeuteringWatchpoint::~ArrayBufferNeuteringWatchpoint):
(JSC::ArrayBufferNeuteringWatchpoint::finishCreation):
(JSC::ArrayBufferNeuteringWatchpoint::destroy):
(JSC::ArrayBufferNeuteringWatchpoint::create):
(JSC::ArrayBufferNeuteringWatchpoint::createStructure):

  • runtime/ArrayBufferNeuteringWatchpoint.h: Added.

(JSC::ArrayBufferNeuteringWatchpoint::set):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:

LayoutTests:

Reviewed by Oliver Hunt and Mark Hahnenberg.

  • js/regress/fixed-typed-array-storage-expected.txt: Added.
  • js/regress/fixed-typed-array-storage-var-index-expected.txt: Added.
  • js/regress/fixed-typed-array-storage-var-index.html: Added.
  • js/regress/fixed-typed-array-storage.html: Added.
  • js/regress/script-tests/fixed-typed-array-storage-var-index.js: Added.

(foo):

  • js/regress/script-tests/fixed-typed-array-storage.js: Added.

(foo):

6:03 PM Changeset in webkit [160149] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

Update jhbuild revision.
https://bugs.webkit.org/show_bug.cgi?id=124966

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-04
Reviewed by Gyuyoung Kim.

Used version of Jhbuild failed to create directories and caused
update-webkitefl-libs to fail. Latest Jhbuild version has it fixed.

  • jhbuild/jhbuild-wrapper:
5:43 PM Changeset in webkit [160148] by weinig@apple.com
  • 5 edits in trunk/Source/WebKit2

[Cocoa] Make WKConnection work with WKObject wrapping
https://bugs.webkit.org/show_bug.cgi?id=125266

Reviewed by Dan Bernstein.

  • UIProcess/API/Cocoa/WKConnection.mm:

(-[WKConnection dealloc]):
(didReceiveMessage):
(didClose):
(setUpClient):
(-[WKConnection delegate]):
(-[WKConnection setDelegate:]):
(-[WKConnection sendMessageWithName:body:]):
(-[WKConnection remoteObjectRegistry]):
(-[WKConnection API::]):

  • UIProcess/API/Cocoa/WKConnectionInternal.h:

(WebKit::wrapper):

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(didCreateConnection):

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

(-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundleRef:]):
(-[WKWebProcessPlugInController connection]):
(-[WKWebProcessPlugInController _bundleRef]):

5:30 PM Changeset in webkit [160147] by benjamin@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove spaces on a blank line to have ResourceHandleCFNet.cpp identical to iOS

Unreviewed.

Patch by Benjamin Poulain <bpoulain@apple.com> on 2013-12-04

  • platform/network/cf/ResourceHandleCFNet.cpp:

(WebCore::ResourceHandle::platformLoadResourceSynchronously):

5:26 PM Changeset in webkit [160146] by andersca@apple.com
  • 4 edits
    2 adds in trunk

Add a WeakObjCPtr class
https://bugs.webkit.org/show_bug.cgi?id=125267

Reviewed by Geoffrey Garen.

Source/WebKit2:

WeakObjCPtr is a zeroing weak reference class template that will be used for delegates.

  • Shared/mac/WeakObjCPtr.h: Added.

(WebKit::WeakObjCPtr::WeakObjCPtr):
(WebKit::WeakObjCPtr::~WeakObjCPtr):
(WebKit::WeakObjCPtr::operator=):
(WebKit::WeakObjCPtr::get):

  • WebKit2.xcodeproj/project.pbxproj:

Tools:

Add API tests for WeakObjCPtr.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:
  • TestWebKitAPI/Tests/WebKit2/mac/WeakObjCPtr.mm: Added.

(TEST):

4:52 PM Changeset in webkit [160145] by Antoine Quint
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: ColorWheel uses old Color constructor
https://bugs.webkit.org/show_bug.cgi?id=125260

Reviewed by Joseph Pecoraro.

Update to new WebInspector.Color constructor signature and use a clear color.

  • UserInterface/ColorWheel.js:

(WebInspector.ColorWheel.prototype.get tintedColor):
(WebInspector.ColorWheel.prototype.get rawColor):

4:21 PM Changeset in webkit [160144] by bshafiei@apple.com
  • 5 edits in branches/safari-537.60-branch/Source

Versioning.

4:17 PM Changeset in webkit [160143] by Antoine Quint
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: color picker doesn't work with "blue"
https://bugs.webkit.org/show_bug.cgi?id=125262

Reviewed by Joseph Pecoraro.

Under certain circumstances rounding issues would have us compare
two equal numbers that differ by 0.00000001 and sometime trip this
if statement and yield a null color. We now add a little fudge to
the test and also return a clear color rather than null to match what
we do in the getters for "tintedColor" and "rawColor".

  • UserInterface/ColorWheel.js:

(WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):

4:17 PM Changeset in webkit [160142] by Antoine Quint
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: use only two decimals for opacity in rgba/hsla colors
https://bugs.webkit.org/show_bug.cgi?id=125261

Reviewed by Joseph Pecoraro.

  • UserInterface/ColorPicker.js:

(WebInspector.ColorPicker.prototype._updateColor):

4:13 PM Changeset in webkit [160141] by ryuan.choi@samsung.com
  • 2 edits in trunk/Source/WebKit2

Unreviewed EFL build fix after r160135

  • CMakeLists.txt: Added rendering/line to include lists.
4:06 PM Changeset in webkit [160140] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r160116.
http://trac.webkit.org/changeset/160116
https://bugs.webkit.org/show_bug.cgi?id=125264

Change doesn't work as intended. See bug comments for details.
(Requested by bfulgham on #webkit).

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreading):

4:06 PM Changeset in webkit [160139] by bshafiei@apple.com
  • 1 copy in tags/Safari-537.60.10

New tag.

4:03 PM Changeset in webkit [160138] by Antti Koivisto
  • 4 edits in trunk/Source/WebCore

Move pseudo element construction out from Element
https://bugs.webkit.org/show_bug.cgi?id=125257

Reviewed by Anders Carlsson.

This is logically part of the style resolve/render tree construction. This will make future
refactoring easier.

  • dom/Element.cpp:
  • dom/Element.h:
  • style/StyleResolveTree.cpp:

(WebCore::Style::beforeOrAfterPseudoElement):
(WebCore::Style::setBeforeOrAfterPseudoElement):
(WebCore::Style::clearBeforeOrAfterPseudoElement):
(WebCore::Style::needsPseudeElement):
(WebCore::Style::attachBeforeOrAfterPseudoElementIfNeeded):
(WebCore::Style::attachRenderTree):
(WebCore::Style::updateBeforeOrAfterPseudoElement):
(WebCore::Style::resolveTree):

3:43 PM Changeset in webkit [160137] by andersca@apple.com
  • 8 edits in trunk

Make the estimatedProgress property observable using KVO
https://bugs.webkit.org/show_bug.cgi?id=125259

Reviewed by Dan Bernstein.

Source/WebKit2:

  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:
  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::PageLoadState):
(WebKit::PageLoadState::reset):
(WebKit::PageLoadState::activeURL):
(WebKit::PageLoadState::estimatedProgress):
(WebKit::PageLoadState::setPendingAPIRequestURL):
(WebKit::PageLoadState::clearPendingAPIRequestURL):
(WebKit::PageLoadState::didStartProgress):
(WebKit::PageLoadState::didChangeProgress):
(WebKit::PageLoadState::didFinishProgress):

  • UIProcess/PageLoadState.h:

Move m_estimatedProgress to the page load state and call the observers when it changes.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::WebPageProxy):
(WebKit::WebPageProxy::estimatedProgress):
(WebKit::WebPageProxy::didStartProgress):
(WebKit::WebPageProxy::didChangeProgress):
(WebKit::WebPageProxy::didFinishProgress):
(WebKit::WebPageProxy::resetState):
Call through to m_pageLoadState.

  • UIProcess/WebPageProxy.h:

Tools:

Bind the progress indicator value to the "estimatedProgress" property.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController dealloc]):
(-[WK2BrowserWindowController awakeFromNib]):

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

[WK2] Including SecItemShim.h should be guarded by ENABLE(SEC_ITEM_SHIM)
https://bugs.webkit.org/show_bug.cgi?id=125255

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-04
Reviewed by Anders Carlsson.

  • UIProcess/WebProcessProxy.cpp:
  • WebProcess/WebProcess.cpp:
3:21 PM Changeset in webkit [160135] by zoltan@webkit.org
  • 8 edits
    2 adds in trunk/Source/WebCore

Move TrailingObjects class into its own h/cpp
https://bugs.webkit.org/show_bug.cgi?id=124956

Reviewed by David Hyatt.

Since I moved space-ignoring inline functions into MidpointState in r160074,
I can nicely separate TrailingObjects class from BreakingContextInlineHeader.h.
This change improves the readability, and it's part of the RenderBlockLineLayout
refactoring campaign, which is tracked under bug #121261.

No new tests, no behavior change.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • rendering/RenderBlock.h:
  • rendering/RenderBlockFlow.h:
  • rendering/line/BreakingContextInlineHeaders.h:
  • rendering/line/TrailingObjects.cpp: Added.

(WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):

  • rendering/line/TrailingObjects.h: Added.

(WebCore::TrailingObjects::TrailingObjects):
(WebCore::TrailingObjects::setTrailingWhitespace):
(WebCore::TrailingObjects::clear):
(WebCore::TrailingObjects::appendBoxIfNeeded):

3:20 PM Changeset in webkit [160134] by Antoine Quint
  • 2 edits
    4 adds in trunk/Source/WebInspectorUI

Web Inspector: "data detectors" menu on hover for actionable tokens
https://bugs.webkit.org/show_bug.cgi?id=124363

Reviewed by Timothy Hatcher.

Add a new WebInspector.HoverMenu class to display an overlay menu that is presented
with respect to a target frame that it draws itself around adding a customizable
action button to its right. The menu uses fade animations as it's presented and
dismissed and a single delegation method is fired when the button is pressed. Finally,
just like a popover, it automatically dismisses itself upon scrolling anywhere
outside of its bounds.

  • UserInterface/HoverMenu.css: Added.
  • UserInterface/HoverMenu.js: Added.

(WebInspector.HoverMenu):
(WebInspector.HoverMenu.prototype.get element):
(WebInspector.HoverMenu.prototype.dismiss):
(WebInspector.HoverMenu.prototype.handleEvent):
(WebInspector.HoverMenu.prototype._handleClickEvent):

  • UserInterface/Images/HoverMenuButton.png: Added.
  • UserInterface/Images/HoverMenuButton@2x.png: Added.
  • UserInterface/Main.html:
3:20 PM Changeset in webkit [160133] by oliver@apple.com
  • 51 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):

3:16 PM Changeset in webkit [160132] by Antoine Quint
  • 5 edits in trunk/Source/WebInspectorUI

Web Inspector: edited color should serialize back to original format when possible
https://bugs.webkit.org/show_bug.cgi?id=125244

Reviewed by Joseph Pecoraro.

Profoundly reworked WebInspector.Color to be more efficient and more flexible when
serializing the color to the various supported formats.

  • UserInterface/CSSStyleDeclarationTextEditor.js:

(WebInspector.CSSStyleDeclarationTextEditor.prototype._createColorSwatches):
Use new WebInspector.Color.fromString() factory and check for a null return value
rather than an exception to identify invalid color tokens.

  • UserInterface/Color.js:

(WebInspector.Color):
Rewrote WebInspector.Color such that it would have, at all times, a canonical
representation in terms of either RGBA or HSLA depending on the format used to
create the color. The new constructor parameters lets the user pass a format
and the RGBA or HSLA components, allowing to bypass the string-only creation
system which was sub-optimal for the new color picker. Additionally, the toString()
method now can provide the most accurate serialization of the color based on the
provided format with a fallback mechanism to RGB/RGBA in cases where the desired
format would incur a loss of fidelity. Finally, simplified the API to only feature
essential features.

(WebInspector.Color.fromString):
New factory method used to create a color from a string.

  • UserInterface/ColorPicker.js:

(WebInspector.ColorPicker.prototype.set color):
Keep track of the original color format so that we can use it as the preferred format
when serializing the updated color in _updateColor().

(WebInspector.ColorPicker.prototype._updateColor):
Use the original color format as the prefered formation for color serialization. Also,
use the new WebInspector.Color constructor in lieu of the removed .fromRGBA factory.

(WebInspector.ColorPicker.prototype._updateSliders):
Use the new WebInspector.Color constructor in lieu of the removed .fromRGBA factory.

  • UserInterface/ColorWheel.js:

(WebInspector.ColorWheel.prototype._colorAtPointWithBrightness):
Use the new WebInspector.Color constructor in lieu of the removed .fromRGB factory.

3:07 PM Changeset in webkit [160131] by dbates@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[iOS] Enable Objective-C ARC when building JSC tools for iOS simulator
https://bugs.webkit.org/show_bug.cgi?id=125170

Reviewed by Geoffrey Garen.

  • API/tests/testapi.mm:
  • Configurations/ToolExecutable.xcconfig:
2:53 PM Changeset in webkit [160130] by zoltan@webkit.org
  • 5 edits
    10 adds in trunk

[CSS Shapes] Support inset for shape-outside
<https://webkit.org/b/125112>

Reviewed by David Hyatt.

Source/WebCore:

This patch adds inset support for shape-outside. Parsing has previously landed in r159968.
Specification: http://dev.w3.org/csswg/css-shapes/#supported-basic-shapes

Tests: fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-left.html

fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-right.html
fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-left.html
fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-right.html
fast/shapes/shape-outside-floats/shape-outside-floats-inset.html

  • platform/LengthSize.h:

(WebCore::LengthSize::floatSize): Add conversion to FloatSize.

  • rendering/shapes/Shape.cpp:

(WebCore::Shape::createShape): Handle inset case.

LayoutTests:

  • fast/shapes/resources/rounded-rectangle.js: Add support to generate partially rounded rectangles.

(scanConvertRoundedRectangleOutside):
(genLeftRoundedRectFloatShapeOutsideRefTest):
(genRightRoundedRectFloatShapeOutsideRefTest):

  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-left-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-left.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-right-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-bottom-right.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-left-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-left.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-right-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset-rounded-top-right.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-floats-inset.html: Added.
2:51 PM Changeset in webkit [160129] by andersca@apple.com
  • 7 edits in trunk

Add a loading property to WKBrowsingContextController
https://bugs.webkit.org/show_bug.cgi?id=125256

Reviewed by Dan Bernstein.

Source/WebKit2:

  • UIProcess/API/Cocoa/WKBrowsingContextController.h:

Add loading property.

  • UIProcess/API/Cocoa/WKBrowsingContextConteroller.mm:

Implement willChangeIsLoading and didChangeIsLoading and call the relevant KVO methods.

(-[WKBrowsingContextController isLoading]):
Call through to the PageLoadState.

  • UIProcess/PageLoadState.cpp:

(WebKit::PageLoadState::reset):
Use setState.

(WebKit::PageLoadState::isLoading):
Call isLoadingState.

(WebKit::PageLoadState::didStartProvisionalLoad):
Use setState.

(WebKit::PageLoadState::didFailProvisionalLoad):
Use setState.

(WebKit::PageLoadState::didCommitLoad):
Use setState.

(WebKit::PageLoadState::didFinishLoad):
Use setState.

(WebKit::PageLoadState::didFailLoad):
Use setState.

(WebKit::PageLoadState::isLoadingState):
Helper function for determining whether a state is a loading state or not.

(WebKit::PageLoadState::setState):
If setting the state will cause "isLoading" to change, call out to the observers.

  • UIProcess/PageLoadState.h:

Tools:

Bind the progress indicator visibility to the "loading" property.

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController dealloc]):
(-[WK2BrowserWindowController awakeFromNib]):
(-[WK2BrowserWindowController didStartProgress]):
(-[WK2BrowserWindowController didFinishProgress]):

2:42 PM Changeset in webkit [160128] by commit-queue@webkit.org
  • 14 edits in trunk

Source/WebKit2: [EFL][GTK][WK2] Remove unnecessary reinterpret_casts when setting API clients
https://bugs.webkit.org/show_bug.cgi?id=125231

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-04
Reviewed by Anders Carlsson.

After r159988, WKClients have to be instantiated with a specific
version of that client and its Base field has to used when setting it.
Eg:

WKFullScreenClientV0 wkClient = {

{

0, version
this,
clientInfo

},

willEnterFullScreen,
willExitFullScreen

};
WKViewSetFullScreenClientGtk(this, &wkClient.base);

So we don't need the reinterpret_casts introduced in r160075.

  • UIProcess/API/gtk/WebKitFullscreenClient.cpp:

(attachFullScreenClientToView): reinterpret_cast<WKFooClientBase*>(&client) -> &client.base

  • UIProcess/API/gtk/WebKitRequestManagerClient.cpp:

(attachRequestManagerClientToContext): Ditto.

  • UIProcess/API/gtk/WebKitTextChecker.cpp:

(WebKitTextChecker::WebKitTextChecker): Ditto.

  • UIProcess/API/gtk/WebKitWebInspector.cpp:

(webkitWebInspectorCreate): Ditto.

  • UIProcess/efl/BatteryProvider.cpp:

(BatteryProvider::BatteryProvider): Ditto.

  • UIProcess/efl/NetworkInfoProvider.cpp:

(NetworkInfoProvider::NetworkInfoProvider): Ditto.

  • UIProcess/efl/PageUIClientEfl.cpp:

(WebKit::PageUIClientEfl::PageUIClientEfl): Ditto.

  • UIProcess/efl/RequestManagerClientEfl.cpp:

(WebKit::RequestManagerClientEfl::RequestManagerClientEfl): Ditto.

  • UIProcess/efl/TextCheckerClientEfl.cpp:

(TextCheckerClientEfl::TextCheckerClientEfl): Ditto.

  • UIProcess/efl/VibrationClientEfl.cpp:

(VibrationClientEfl::VibrationClientEfl): Ditto.

  • UIProcess/efl/ViewClientEfl.cpp:

(WebKit::ViewClientEfl::ViewClientEfl): Ditto.

Tools: [EFL][WK2] Buildfix after r160104
https://bugs.webkit.org/show_bug.cgi?id=125231

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-04
Reviewed by Anders Carlsson.

  • TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive.cpp:

(TestWebKitAPI::TEST): reinterpret_cast<WKFooClientBase*>(&client) -> &client.base

  • TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp:

(TestWebKitAPI::setViewClient): Ditto.

2:24 PM Changeset in webkit [160127] by betravis@adobe.com
  • 6 edits in trunk

Web Inspector: [CSS Shapes] Support raster shape visualizations
https://bugs.webkit.org/show_bug.cgi?id=124080

Reviewed by Joseph Pecoraro.

Source/WebCore:

Create an inspector visualization for a shape created from an image.
The visualization takes each line of the image, combining where possible.

Test added to inspector-protocol/model/highlight-shape-outside.html

  • rendering/shapes/RasterShape.cpp:

(WebCore::RasterShapeIntervals::buildBoundsPath): Create a path representing the
RasterShapeIntervals.

  • rendering/shapes/RasterShape.h:

LayoutTests:

Add a test for data sent to the inspector for a raster shape.

  • inspector-protocol/model/highlight-shape-outside-expected.txt:
  • inspector-protocol/model/highlight-shape-outside.html:
2:18 PM Changeset in webkit [160126] by zoltan@webkit.org
  • 3 edits in trunk/Source/WebCore

[CSS Shapes] Remove explicit numbering from BasicShape::Type and CSSBasicShape::Type enums
https://bugs.webkit.org/show_bug.cgi?id=125163

Reviewed by Rob Buis.

I don't see any reason to have explicit numbering for the Type enum in our [CSS]BasicShape classes.
I removed numbering, which will decrease for instance the merge conflicts on Type changes.

No new tests, no behavior change.

  • css/CSSBasicShapes.h:
  • rendering/style/BasicShapes.h:
2:18 PM Changeset in webkit [160125] by commit-queue@webkit.org
  • 14 edits in trunk/Source/WebKit2

[GTK][WK2] Fix build after r160104
https://bugs.webkit.org/show_bug.cgi?id=125240

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-04
Reviewed by Anders Carlsson.

Using specific version of API client when instantiating them.
Applied that same change to the following files:

  • UIProcess/API/gtk/WebKitContextMenuClient.cpp:
  • UIProcess/API/gtk/WebKitCookieManager.cpp:
  • UIProcess/API/gtk/WebKitDownloadClient.cpp:
  • UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
  • UIProcess/API/gtk/WebKitFindController.cpp:
  • UIProcess/API/gtk/WebKitFormClient.cpp:
  • UIProcess/API/gtk/WebKitGeolocationProvider.cpp:
  • UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
  • UIProcess/API/gtk/WebKitLoaderClient.cpp:
  • UIProcess/API/gtk/WebKitPolicyClient.cpp:
  • UIProcess/API/gtk/WebKitUIClient.cpp:
  • WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
  • WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
2:16 PM Changeset in webkit [160124] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style detected some ternary statements as initialization lists
https://bugs.webkit.org/show_bug.cgi?id=125246

Patch by Myles C. Maxfield <mmaxfield@apple.com> on 2013-12-04
Reviewed by Dean Jackson.

The regular expression that check-webkit-tests uses to detect initialization
lists was too broad, resulting in false positives. This patch makes the
regex more specific

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

(check_member_initialization_list):

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

(WebKitStyleTest.test_member_initialization_list):

2:13 PM Changeset in webkit [160123] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

Fixed the 32-bit Mac build.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(CoreIPC::::encodePlatformData):

2:00 PM Changeset in webkit [160122] by mitz@apple.com
  • 2 edits in trunk/Source/WebKit2

[Mac] When NSError user info is missing NSErrorPeerCertificateChainKey, ArgumentCoder should extract it from NSURLErrorFailingURLPeerTrustErrorKey
https://bugs.webkit.org/show_bug.cgi?id=125251

Reviewed by Anders Carlsson.

  • Shared/mac/WebCoreArgumentCodersMac.mm:

(CoreIPC::::encodePlatformData): If the user info doesn’t include
NSURLErrorFailingURLPeerTrustErrorKey, copy the peer certificate chain from the peer trust
under NSURLErrorFailingURLPeerTrustErrorKey. On the decoding side, it will appear under the
NSURLErrorFailingURLPeerTrustErrorKey, because a trust object can’t be fully serialized.

1:35 PM Changeset in webkit [160121] by commit-queue@webkit.org
  • 10 edits in trunk

Allow ImageBuffer to use an IOSurface that is larger than necessary
https://bugs.webkit.org/show_bug.cgi?id=124626

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

Source/WebCore:

Because creating ImageBuffer's backing store can be so expensive, it
would be beneficial to have a pool of pre-created backing stores
available. However, this means that ImageBuffer might have to use a
backing store that is larger than the exact dimensions that it needs.
This patch adds a field, m_backingStoreSize, to CG's ImageBufferData
class, and uses this new field when performing ImageBuffer operations
to allow for larger-than-necessary backing stores. Content is always
drawn in the top left corner of the backing store.

No new tests are necessary because there is no behavior change.

  • platform/graphics/ImageBuffer.h:

(WebCore::ImageBuffer::baseTransform): The base transform has to put
content at the top left corner instead of bottom left

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::createCroppedImageIfNecessary): Convenience function to figure out
the dimensions of the backing texture in user space
(WebCore::ImageBuffer::ImageBuffer): Set up new m_backingStoreSize member
(WebCore::maybeCropToBounds): Some ImageBuffer API functions require
outputting an image with logical size. This function performs the cropping
(WebCore::ImageBuffer::copyImage): Updated for larger-than-necessary
backing stores
(WebCore::ImageBuffer::copyNativeImage): Ditto
(WebCore::ImageBuffer::draw): Ditto
(WebCore::ImageBuffer::clip): Ditto
(WebCore::ImageBuffer::putByteArray): Ditto
(WebCore::ImageBuffer::toDataURL): Ditto

  • platform/graphics/cg/ImageBufferDataCG.cpp:

(WebCore::ImageBufferData::getData): Ditto
(WebCore::ImageBufferData::putData): Ditto

  • platform/graphics/cg/ImageBufferDataCG.h: New m_backingStoreSize field

LayoutTests:

Update tests to be more robust with respect to accelerated vs
non-accelerated ImageBuffers.

  • fast/canvas/script-tests/canvas-fillPath-shadow.js: Don't sample a canvas at exactly

the corner of a drawn shape (because the corner might be antialiased). Instead, sample
a single pixel inside the shape

  • fast/canvas/script-tests/canvas-scale-shadowBlur.js: Don't sample a canvas at exactly

the edge of the blur radius. Instead, sample a single pixel past the blur radius.

  • fast/canvas/script-tests/canvas-scale-strokePath-shadow.js:

(shouldBeAround): Allow this test to be less strict when sampling inside a blurred region

  • platform/mac/fast/canvas/canvas-scale-shadowBlur-expected.txt: Matching update w/r/t

canvas-scale-shadowBlur.js

1:29 PM Changeset in webkit [160120] by Brent Fulgham
  • 2 edits in branches/safari-537.60-branch/Source/WebKit

Merge r160118.

2013-12-04 Brent Fulgham <Brent Fulgham>

[Win] Correct WebKit.make copy command to land resources in proper directory.
https://bugs.webkit.org/show_bug.cgi?id=125249

Reviewed by Tim Horton.

  • WebKit.vcxproj/WebKit.make: Correct the copy command.
1:25 PM Changeset in webkit [160119] by dino@apple.com
  • 9 edits
    6 adds
    2 deletes in trunk

Source/WebCore: [WebGL] Support for texImage2D of type HALF_FLOAT_OES
https://bugs.webkit.org/show_bug.cgi?id=110936

Reviewed by Brent Fulgham.

Add support for the HALF_FLOAT_OES texture format from texImage2D
and texSubImage2D.

A lot of this patch comes from the original patch on the bug
by Nayan Kumar, and the Blink commit:
https://codereview.chromium.org/13842017

Tests: fast/canvas/webgl/oes-texture-half-float-with-canvas.html

fast/canvas/webgl/oes-texture-half-float-with-image.html
fast/canvas/webgl/oes-texture-half-float-with-video.html

  • html/canvas/OESTextureHalfFloat.idl: New HALF_FLOAT_OES constant value.
  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::validateTexFunc): Remove the code that
would bail if half-float values were used.

  • platform/graphics/GraphicsContext3D.cpp:
  • Return appropriate DataFormats for half floating point types.
  • Copy the float -> half-float code from Blink
  • New pack functions for half floats
  • platform/graphics/GraphicsContext3D.h: New format types.
  • platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:

(WebCore::GraphicsContext3D::texSubImage2D): Use GL_HALF_FLOAT_ARB if we're passed
a HALF_FLOAT_OES.

LayoutTests: [WebGL] Support for texImage2D/texSubImage2D of type HALF_FLOAT_OES
https://bugs.webkit.org/show_bug.cgi?id=110936

Reviewed by Brent Fulgham.

New tests for half-float textures.

  • fast/canvas/webgl/oes-texture-half-float-expected.txt:
  • fast/canvas/webgl/oes-texture-half-float-not-supported-expected.txt: Removed.
  • fast/canvas/webgl/oes-texture-half-float-not-supported.html: Removed.
  • fast/canvas/webgl/oes-texture-half-float-with-canvas-expected.txt: Added.
  • fast/canvas/webgl/oes-texture-half-float-with-canvas.html: Added.
  • fast/canvas/webgl/oes-texture-half-float-with-image-expected.txt: Added.
  • fast/canvas/webgl/oes-texture-half-float-with-image.html: Added.
  • fast/canvas/webgl/oes-texture-half-float-with-video-expected.txt: Added.
  • fast/canvas/webgl/oes-texture-half-float-with-video.html: Added.
  • fast/canvas/webgl/oes-texture-half-float.html:
1:21 PM Changeset in webkit [160118] by Brent Fulgham
  • 2 edits in trunk/Source/WebKit

[Win] Correct WebKit.make copy command to land resources in proper directory.
https://bugs.webkit.org/show_bug.cgi?id=125249

Reviewed by Tim Horton.

  • WebKit.vcxproj/WebKit.make: Correct the copy command.
1:04 PM Changeset in webkit [160117] by mitz@apple.com
  • 22 edits in trunk/Source

Replace USE(SECURITY_FRAMEWORK) with finer-grained defines
https://bugs.webkit.org/show_bug.cgi?id=125242

Reviewed by Sam Weinig.

Source/WebKit2:

  • Configurations/WebKit2.xcconfig: Removed “-framework Security” from the linker flags, now

that it’s included in the target’s Link Binary with Libraries build phase.

  • NetworkProcess/NetworkProcess.cpp:

(WebKit::NetworkProcess::initializeConnection): Changed to use ENABLE(SEC_ITEM_SHIM).

  • NetworkProcess/mac/NetworkProcessMac.mm:

(WebKit::NetworkProcess::platformInitializeNetworkProcess): Ditto.

  • Shared/Authentication/AuthenticationManager.cpp: Changed to use HAVE(SEC_IDENTITY).
  • Shared/Authentication/mac/AuthenticationManager.mac.mm: Ditto.
  • Shared/cf/ArgumentCodersCF.cpp:

(CoreIPC::typeFromCFTypeRef): Removed use of USE(SECURITY_FRAMEWORK) since all CF platforms
use it. Added HAVE(SEC_KEYCHAIN) where needed.
(CoreIPC::encode): Ditto.
(CoreIPC::decode): Ditto.

  • Shared/cf/ArgumentCodersCF.h: Ditto.
  • Shared/mac/SecItemShim.cpp: Chanegd to use ENABLE(SEC_ITEM_SHIM).
  • Shared/mac/SecItemShim.h: Ditto.
  • Shared/mac/SecItemShim.messages.in: Ditto.
  • UIProcess/Network/NetworkProcessProxy.cpp:

(WebKit::NetworkProcessProxy::connectionWillOpen): Ditto.

  • UIProcess/WebProcessProxy.cpp:

(WebKit::WebProcessProxy::connectionWillOpen): Ditto.

  • UIProcess/mac/SecItemShimProxy.cpp: Ditto.
  • UIProcess/mac/SecItemShimProxy.h: Ditto,
  • UIProcess/mac/SecItemShimProxy.messages.in: Ditto.
  • WebKit2.xcodeproj/project.pbxproj: Link Security.framework unconditionally.
  • WebProcess/WebProcess.cpp:

(WebKit::WebProcess::initializeConnection): Changed to use ENABLE(SEC_ITEM_SHIM).

  • WebProcess/mac/WebProcessMac.mm:

(WebKit::WebProcess::platformInitializeProcess): Ditto.

  • config.h: Defined ENABLE_SEC_ITEM_SHIM.

Source/WTF:

  • wtf/Platform.h: Removed definitions of WTF_USE_SECURITY_FRAMEWORK, and defined

HAVE_SEC_IDENTITY and HAVE_SEC_KEYCHAIN.

12:43 PM Changeset in webkit [160116] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Use ThreadingOnce class to encapsulate pthread_once functionality.
https://bugs.webkit.org/show_bug.cgi?id=125228

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-12-04
Reviewed by Brent Fulgham.

  • runtime/InitializeThreading.cpp:

(JSC::initializeThreading):

12:40 PM Changeset in webkit [160115] by mark.lam@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Remove unneeded semicolons.
https://bugs.webkit.org/show_bug.cgi?id=125083.

Rubber-stamped by Filip Pizlo.

  • debugger/Debugger.h:

(JSC::Debugger::detach):
(JSC::Debugger::sourceParsed):
(JSC::Debugger::exception):
(JSC::Debugger::atStatement):
(JSC::Debugger::callEvent):
(JSC::Debugger::returnEvent):
(JSC::Debugger::willExecuteProgram):
(JSC::Debugger::didExecuteProgram):
(JSC::Debugger::didReachBreakpoint):

12:34 PM Changeset in webkit [160114] by dbates@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix the Apple Windows build after <http://trac.webkit.org/changeset/160113>
(https://bugs.webkit.org/show_bug.cgi?id=125193)

  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::paintMenuList): Substitute paintInfo for i.

12:17 PM Changeset in webkit [160113] by dbates@webkit.org
  • 18 edits in trunk/Source/WebCore

Rename RenderTheme::paintMenuListButton()
https://bugs.webkit.org/show_bug.cgi?id=125193

Reviewed by Simon Fraser.

Towards upstreaming the iOS concept of render theme decorations we should rename
RenderTheme::paintMenuListButton() to RenderTheme::paintMenuListButtonDecorations()
to better describe its purpose.

Also, fix code style issues.

  • platform/blackberry/RenderThemeBlackBerry.cpp:

(WebCore::RenderThemeBlackBerry::paintMenuListButtonDecorations):

  • platform/blackberry/RenderThemeBlackBerry.h:
  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::paintMenuListButtonDecorations):

  • platform/efl/RenderThemeEfl.h:
  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::paintMenuListButtonDecorations):

  • platform/gtk/RenderThemeGtk.h:
  • platform/nix/RenderThemeNix.h:
  • rendering/RenderTheme.cpp:

(WebCore::RenderTheme::paintDecorations): Rename argument o, r to renderer and rect, respectively.

  • rendering/RenderTheme.h:

(WebCore::RenderTheme::paintMenuListButtonDecorations):

  • rendering/RenderThemeMac.h:
  • rendering/RenderThemeMac.mm:

(WebCore::RenderThemeMac::paintMenuListButtonDecorations): Rename argument o, r to renderer and rect,
respectively; also remove extraneous white space and substitute 1 for 1.0f.

  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::paintMenuListButtonDecorations): Ditto.

  • rendering/RenderThemeSafari.h:
  • rendering/RenderThemeWin.cpp:

(WebCore::RenderThemeWin::paintMenuList): Rename argument o, i, r to renderer, paintInfo, and rect,
respectively.
(WebCore::RenderThemeWin::paintMenuListButtonDecorations): Ditto.

  • rendering/RenderThemeWin.h:
  • rendering/RenderThemeWinCE.cpp:

(WebCore::RenderThemeWinCE::paintMenuList): Ditto.
(WebCore::RenderThemeWinCE::paintMenuListButtonDecorations): Ditto.

  • rendering/RenderThemeWinCE.h:
11:56 AM Changeset in webkit [160112] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit

[Win][64-bit] Link error.
https://bugs.webkit.org/show_bug.cgi?id=125234

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-12-04
Reviewed by Brent Fulgham.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in: Changed 64-bit version of symbol.
11:33 AM Changeset in webkit [160111] by aestes@apple.com
  • 6 edits in trunk/Source

[iOS] Build projects with $(ARCHS_STANDARD_32_64_BIT)
https://bugs.webkit.org/show_bug.cgi?id=125236

Reviewed by Sam Weinig.

$(ARCHS_STANDARD_32_64_BIT) is what we want for both device and simulator builds.

Source/JavaScriptCore:

  • Configurations/DebugRelease.xcconfig:

Source/WebCore:

  • Configurations/DebugRelease.xcconfig:

Source/WebKit/mac:

  • Configurations/DebugRelease.xcconfig:
11:31 AM Changeset in webkit [160110] by mihnea@adobe.com
  • 1 edit
    2 adds in trunk/LayoutTests

[CSSRegions] Test dynamic change of position for out-of-flow transformed element
https://bugs.webkit.org/show_bug.cgi?id=124978

Reviewed by Alexandru Chiculita.

Test that a 3D transformed absolutely positioned element inside a named flow
whose position is dynamic changed is displayed in the right position in the associated region.

  • compositing/regions/abs-transformed-dynamic-update-expected.html: Added.
  • compositing/regions/abs-transformed-dynamic-update.html: Added.
11:29 AM Changeset in webkit [160109] by fpizlo@apple.com
  • 27 edits
    19 adds in trunk

Infer constant closure variables
https://bugs.webkit.org/show_bug.cgi?id=124630

Source/JavaScriptCore:

Reviewed by Geoffrey Garen.

Captured variables that are assigned once (not counting op_enter's Undefined
initialization) and that are contained within a function that has thus far only been
entered once are now constant folded. It's pretty awesome.

This involves a watchpoint on the assignment to variables and a watchpoint on entry
into the function. The former is reused from global variable constant inference and the
latter is reused from one-time closure inference.

(JSC::CodeBlock::dumpBytecode):
(JSC::CodeBlock::CodeBlock):

  • bytecode/Instruction.h:

(JSC::Instruction::Instruction):

  • bytecode/Opcode.h:

(JSC::padOpcodeName):

  • bytecode/UnlinkedCodeBlock.h:

(JSC::UnlinkedInstruction::UnlinkedInstruction):

  • bytecode/VariableWatchpointSet.h:

(JSC::VariableWatchpointSet::invalidate):

  • bytecode/Watchpoint.h:

(JSC::WatchpointSet::invalidate):

  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::addVar):
(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitInitLazyRegister):
(JSC::BytecodeGenerator::emitMove):
(JSC::BytecodeGenerator::emitNewFunctionInternal):
(JSC::BytecodeGenerator::createArgumentsIfNecessary):

  • bytecompiler/BytecodeGenerator.h:

(JSC::BytecodeGenerator::addVar):
(JSC::BytecodeGenerator::watchableVariable):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::getLocal):
(JSC::DFG::ByteCodeParser::inferredConstant):
(JSC::DFG::ByteCodeParser::parseBlock):
(JSC::DFG::ByteCodeParser::parse):

  • dfg/DFGGraph.cpp:

(JSC::DFG::Graph::tryGetActivation):
(JSC::DFG::Graph::tryGetRegisters):

  • dfg/DFGGraph.h:
  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass):
(JSC::JIT::privateCompileSlowCases):

  • jit/JIT.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_mov):
(JSC::JIT::emit_op_captured_mov):
(JSC::JIT::emit_op_new_captured_func):
(JSC::JIT::emitSlow_op_captured_mov):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_mov):
(JSC::JIT::emit_op_captured_mov):

  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/CommonSlowPaths.cpp:

(JSC::SLOW_PATH_DECL):

  • runtime/CommonSlowPaths.h:
  • runtime/ConstantMode.h: Added.
  • runtime/JSGlobalObject.h:
  • runtime/JSScope.cpp:

(JSC::abstractAccess):

  • runtime/SymbolTable.cpp:

(JSC::SymbolTableEntry::prepareToWatch):

LayoutTests:

Reviewed by Geoffrey Garen.

This adds both correctness and performance tests for constant closure variable
inference.

  • js/regress/infer-closure-const-then-mov-expected.txt: Added.
  • js/regress/infer-closure-const-then-mov-no-inline-expected.txt: Added.
  • js/regress/infer-closure-const-then-mov-no-inline.html: Added.
  • js/regress/infer-closure-const-then-mov.html: Added.
  • js/regress/infer-closure-const-then-put-to-scope-expected.txt: Added.
  • js/regress/infer-closure-const-then-put-to-scope-no-inline-expected.txt: Added.
  • js/regress/infer-closure-const-then-put-to-scope-no-inline.html: Added.
  • js/regress/infer-closure-const-then-put-to-scope.html: Added.
  • js/regress/infer-closure-const-then-reenter-expected.txt: Added.
  • js/regress/infer-closure-const-then-reenter-no-inline-expected.txt: Added.
  • js/regress/infer-closure-const-then-reenter-no-inline.html: Added.
  • js/regress/infer-closure-const-then-reenter.html: Added.
  • js/regress/script-tests/infer-closure-const-then-mov-no-inline.js: Added.
  • js/regress/script-tests/infer-closure-const-then-mov.js: Added.
  • js/regress/script-tests/infer-closure-const-then-put-to-scope-no-inline.js: Added.

(thingy.):
(thingy):

  • js/regress/script-tests/infer-closure-const-then-put-to-scope.js: Added.

(thingy.):
(thingy):

  • js/regress/script-tests/infer-closure-const-then-reenter-no-inline.js: Added.

(.return.foo):
(foo):

  • js/regress/script-tests/infer-closure-const-then-reenter.js: Added.

(.return.foo):
(foo):

11:17 AM Changeset in webkit [160108] by mhahnenberg@apple.com
  • 4 edits in trunk/Tools

run-jsc-stress-tests can only run locally
https://bugs.webkit.org/show_bug.cgi?id=124551

Reviewed by Filip Pizlo.

  • Scripts/jsc-stress-test-helpers/shell-runner.sh: Fixed a couple issues. One was if the script was

killed before the lock directory was removed, future executions wouldn't make any progress. Also
added a couple more signals to handle gracefully at shutdown.

  • Scripts/run-javascriptcore-tests: Pass through the --remote argument to run-jsc-stress-tests.
  • Scripts/run-jsc-stress-tests: Added support for the --remote flag. It accepts a hostname, user, and port.

The script then generates the test bundle, tars it up, and copies it to the remote host via ssh where
it then untars the bundle and executes the shell-based test runner. Also refactored some of the logic
toward the end of the script to make it easier to tell which of the various modes do what.

11:15 AM Changeset in webkit [160107] by Csaba Osztrogonác
  • 14 edits in trunk

[EFL][WK2] Buildfix after r160104
https://bugs.webkit.org/show_bug.cgi?id=125233

Reviewed by Anders Carlsson.

Source/WebKit2:

  • UIProcess/API/efl/ewk_cookie_manager.cpp:

(EwkCookieManager::EwkCookieManager):

  • UIProcess/API/efl/ewk_favicon_database.cpp:

(EwkFaviconDatabase::EwkFaviconDatabase):

  • UIProcess/efl/ContextHistoryClientEfl.cpp:

(WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):

  • UIProcess/efl/ContextMenuClientEfl.cpp:

(ContextMenuClientEfl::ContextMenuClientEfl):

  • UIProcess/efl/DownloadManagerEfl.cpp:

(WebKit::DownloadManagerEfl::DownloadManagerEfl):

  • UIProcess/efl/FindClientEfl.cpp:

(WebKit::FindClientEfl::FindClientEfl):

  • UIProcess/efl/FormClientEfl.cpp:

(WebKit::FormClientEfl::FormClientEfl):

  • UIProcess/efl/PageLoadClientEfl.cpp:

(WebKit::PageLoadClientEfl::PageLoadClientEfl):

  • UIProcess/efl/PagePolicyClientEfl.cpp:

(WebKit::PagePolicyClientEfl::PagePolicyClientEfl):

  • UIProcess/efl/PageUIClientEfl.cpp:

(WebKit::PageUIClientEfl::PageUIClientEfl):

Tools:

  • TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp:

(TestWebKitAPI::setPageLoaderClient):

11:02 AM Changeset in webkit [160106] by aestes@apple.com
  • 12 edits in trunk/Source/WebKit/ios

[iOS] Upstream build fixes in Source/WebKit/ios/
https://bugs.webkit.org/show_bug.cgi?id=125230

Reviewed by Sam Weinig.

  • DefaultDelegates/WebDefaultUIKitDelegate.m:

(-[WebDefaultUIKitDelegate webViewDidReceiveMobileDocType:]):

  • Misc/WebNSStringDrawing.mm:

(needsBidiLayout):
(-[NSString web_drawAtPoint:forWidth:withFont:ellipsis:letterSpacing:includeEmoji:measureOnly:renderedStringOut:drawUnderline:]):
(-[NSString
web_drawInRect:withFont:ellipsis:alignment:letterSpacing:lineSpacing:includeEmoji:truncationRect:measureOnly:renderedStringOut:drawUnderline:]):

  • Misc/WebUIKitSupport.mm:

(WebKitInitialize):

  • WebCoreSupport/WebChromeClientIOS.h:
  • WebCoreSupport/WebChromeClientIOS.mm:

(WebChromeClientIOS::didReceiveMobileDocType):
(WebChromeClientIOS::focusedElementChanged):

  • WebCoreSupport/WebFrameIOS.mm:

(-[WebFrame clearSelection]):
(-[WebFrame selectionState]):
(-[WebFrame collapseSelection]):
(-[WebFrame extendSelection:]):
(-[WebFrame selectionRects]):
(-[WebFrame setRangedSelectionWithExtentPoint:]):
(-[WebFrame setRangedSelectionExtentPoint:baseIsStart:allowFlipping:]):
(-[WebFrame setSelectionWithBasePoint:extentPoint:baseIsStart:allowFlipping:]):
(-[WebFrame setSelectionWithFirstPoint:secondPoint:]):
(-[WebFrame ensureRangedSelectionContainsInitialStartPoint:initialEndPoint:]):
(-[WebFrame aggressivelyExpandSelectionToWordContainingCaretSelection]):
(-[WebFrame expandSelectionToSentence]):
(-[WebFrame setBaseWritingDirection:]):
(-[WebFrame moveSelectionToStart]):
(-[WebFrame moveSelectionToEnd]):
(-[WebFrame moveSelectionToPoint:]):
(-[WebFrame setSelectionGranularity:]):
(-[WebFrame smartExtendRangedSelection:]):
(-[WebFrame previousUnperturbedDictationResultBoundaryFromPosition:]):
(-[WebFrame nextUnperturbedDictationResultBoundaryFromPosition:]):

  • WebCoreSupport/WebInspectorClientIOS.mm:

(WebInspectorClient::WebInspectorClient):
(WebInspectorClient::didSetSearchingForNode):
(WebInspectorClient::setupRemoteConnection):
(WebInspectorClient::teardownRemoteConnection):

  • WebCoreSupport/WebVisiblePosition.mm:

(-[WebVisiblePosition enclosingRangeWithDictationPhraseAlternatives:]):
(-[WebVisiblePosition enclosingRangeWithCorrectionIndicator]):
(-[DOMHTMLInputElement startPosition]):
(-[DOMHTMLInputElement endPosition]):
(-[DOMHTMLTextAreaElement startPosition]):
(-[DOMHTMLTextAreaElement endPosition]):

  • WebView/WebPDFViewIOS.mm:

(+[WebPDFView shadowColor]):
(+[WebPDFView backgroundColor]):
(-[WebPDFView _checkPDFTitle]):

  • WebView/WebPDFViewPlaceholder.mm:

(-[WebPDFViewPlaceholder simulateClickOnLinkToURL:]):

  • WebView/WebUIKitDelegate.h:
11:02 AM Changeset in webkit [160105] by Brent Fulgham
  • 3 edits in trunk/Source/JavaScriptCore

[Win] Unreviewed project file gardening.

  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj: Remove deleted files from project.
  • JavaScriptCore.vcxproj/JavaScriptCore.vcxproj.filters: Put files in proper directory

folders to match the directory structure of the source code.

10:49 AM Changeset in webkit [160104] by andersca@apple.com
  • 133 edits in trunk

Deprecate all unversioned client structs in favor of having explicit versioned structs
https://bugs.webkit.org/show_bug.cgi?id=125203

Reviewed by Dan Bernstein.

Source/WebKit2:

Deprecate all the "current version" enums and unversioned client structs.

  • Shared/API/c/WKConnectionRef.cpp:

(WKConnectionSetConnectionClient):

  • Shared/API/c/WKConnectionRef.h:
  • UIProcess/API/C/WKContext.cpp:

(WKContextSetClient):
(WKContextSetInjectedBundleClient):
(WKContextSetHistoryClient):
(WKContextSetDownloadClient):
(WKContextSetConnectionClient):

  • UIProcess/API/C/WKContext.h:
  • UIProcess/API/C/WKContextConnectionClient.h:
  • UIProcess/API/C/WKContextDownloadClient.h:
  • UIProcess/API/C/WKContextHistoryClient.h:
  • UIProcess/API/C/WKContextInjectedBundleClient.h:
  • UIProcess/API/C/WKCookieManager.cpp:

(WKCookieManagerSetClient):

  • UIProcess/API/C/WKCookieManager.h:
  • UIProcess/API/C/WKDatabaseManager.cpp:

(WKDatabaseManagerSetClient):

  • UIProcess/API/C/WKDatabaseManager.h:
  • UIProcess/API/C/WKGeolocationManager.cpp:

(WKGeolocationManagerSetProvider):

  • UIProcess/API/C/WKGeolocationManager.h:
  • UIProcess/API/C/WKIconDatabase.cpp:

(WKIconDatabaseSetIconDatabaseClient):

  • UIProcess/API/C/WKIconDatabase.h:
  • UIProcess/API/C/WKOriginDataManager.cpp:

(WKOriginDataManagerSetChangeClient):

  • UIProcess/API/C/WKOriginDataManager.h:
  • UIProcess/API/C/WKPage.cpp:

(WKPageSetPageContextMenuClient):
(WKPageSetPageFindClient):
(WKPageSetPageFindMatchesClient):
(WKPageSetPageFormClient):
(WKPageSetPageLoaderClient):
(WKPageSetPagePolicyClient):
(WKPageSetPageUIClient):

  • UIProcess/API/C/WKPage.h:
  • UIProcess/API/C/WKPageContextMenuClient.h:
  • UIProcess/API/C/WKPageFindClient.h:
  • UIProcess/API/C/WKPageFindMatchesClient.h:
  • UIProcess/API/C/WKPageFormClient.h:
  • UIProcess/API/C/WKPageLoaderClient.h:
  • UIProcess/API/C/WKPagePolicyClient.h:
  • UIProcess/API/C/WKPageUIClient.h:
  • UIProcess/API/Cocoa/WKBrowsingContextController.mm:

(setUpPagePolicyClient):

  • UIProcess/API/Cocoa/WKConnection.mm:

(setUpClient):

  • UIProcess/API/Cocoa/WKProcessGroup.mm:

(setUpConnectionClient):
(setUpInectedBundleClient):
(setUpHistoryClient):

  • UIProcess/WebInspectorProxy.cpp:

(WebKit::WebInspectorProxy::createInspectorPage):

  • UIProcess/WebUIClient.cpp:

(WebKit::WebUIClient::createNewPage):
(WebKit::WebUIClient::mouseDidMoveOverElement):

  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::platformCreateInspectorPage):

  • WebProcess/InjectedBundle/API/c/WKBundle.cpp:

(WKBundleSetClient):

  • WebProcess/InjectedBundle/API/c/WKBundle.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:

(WKBundlePageSetContextMenuClient):
(WKBundlePageSetEditorClient):
(WKBundlePageSetFormClient):
(WKBundlePageSetPageLoaderClient):
(WKBundlePageSetResourceLoadClient):
(WKBundlePageSetPolicyClient):
(WKBundlePageSetUIClient):
(WKBundlePageSetFullScreenClient):
(WKBundlePageSetDiagnosticLoggingClient):

  • WebProcess/InjectedBundle/API/c/WKBundlePage.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageBanner.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageContextMenuClient.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageDiagnosticLoggingClient.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageEditorClient.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageFormClient.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageFullScreenClient.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageLoaderClient.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:

(WKBundlePageOverlayCreate):
(WKBundlePageOverlaySetAccessibilityClient):

  • WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePagePolicyClient.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageResourceLoadClient.h:
  • WebProcess/InjectedBundle/API/c/WKBundlePageUIClient.h:
  • WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.h:
  • WebProcess/InjectedBundle/API/c/mac/WKBundlePageBannerMac.mm:

(WKBundlePageBannerCreateBannerWithCALayer):

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

(setUpBundleClient):

Tools:

Update for WebKit2 API changes.

  • MiniBrowser/mac/AppDelegate.m:

(-[BrowserAppDelegate init]):

  • MiniBrowser/mac/WK2BrowserWindowController.m:

(-[WK2BrowserWindowController awakeFromNib]):

  • TestWebKitAPI/InjectedBundleController.cpp:

(TestWebKitAPI::InjectedBundleController::initialize):

  • TestWebKitAPI/Tests/WebKit2/AboutBlankLoad.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/CanHandleRequest.cpp:

(TestWebKitAPI::setInjectedBundleClient):

  • TestWebKitAPI/Tests/WebKit2/CloseThenTerminate.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/CookieManager.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionBasic_Bundle.cpp:

(TestWebKitAPI::DOMWindowExtensionBasic::didCreatePage):

  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/DOMWindowExtensionNoCache_Bundle.cpp:

(TestWebKitAPI::DOMWindowExtensionNoCache::didCreatePage):

  • TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls.cpp:

(TestWebKitAPI::setInjectedBundleClient):

  • TestWebKitAPI/Tests/WebKit2/DidAssociateFormControls_Bundle.cpp:

(TestWebKitAPI::DidAssociateFormControlsTest::didCreatePage):

  • TestWebKitAPI/Tests/WebKit2/DidNotHandleKeyDown.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/DocumentStartUserScriptAlertCrash.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/DownloadDecideDestinationCrash.cpp:

(TestWebKitAPI::setContextDownloadClient):
(TestWebKitAPI::setPagePolicyClient):

  • TestWebKitAPI/Tests/WebKit2/FailedLoad.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/Find.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/FindMatches.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/ForceRepaint.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/FrameMIMETypeHTML.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/FrameMIMETypePNG.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/Geolocation.cpp:

(TestWebKitAPI::setupGeolocationProvider):
(TestWebKitAPI::setupView):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/GetInjectedBundleInitializationUserDataCallback.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle.cpp:

(TestWebKitAPI::setPageLoaderClient):
(TestWebKitAPI::setInjectedBundleClient):

  • TestWebKitAPI/Tests/WebKit2/HitTestResultNodeHandle_Bundle.cpp:

(TestWebKitAPI::HitTestResultNodeHandleTest::didCreatePage):

  • TestWebKitAPI/Tests/WebKit2/InjectedBundleBasic.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest.cpp:

(TestWebKitAPI::setInjectedBundleClient):

  • TestWebKitAPI/Tests/WebKit2/InjectedBundleFrameHitTest_Bundle.cpp:

(TestWebKitAPI::InjectedBundleFrameHitTestTest::didCreatePage):

  • TestWebKitAPI/Tests/WebKit2/InjectedBundleInitializationUserDataCallbackWins.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/LayoutMilestonesWithAllContentInFrame.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/LoadAlternateHTMLStringWithNonDirectoryURL.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/LoadCanceledNoServerRedirectCallback_Bundle.cpp:

(TestWebKitAPI::LoadCanceledNoServerRedirectCallbackTest::didCreatePage):

  • TestWebKitAPI/Tests/WebKit2/LoadPageOnCrash.cpp:

(TestWebKitAPI::WebKit2CrashLoader::WebKit2CrashLoader):

  • TestWebKitAPI/Tests/WebKit2/MouseMoveAfterCrash.cpp:

(TestWebKitAPI::setPageLoaderClient):

  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayout.cpp:

(TestWebKitAPI::setPageLoaderClient):

  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFails.cpp:

(TestWebKitAPI::setPageLoaderClient):

  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutForImages.cpp:

(TestWebKitAPI::setPageLoaderClient):

  • TestWebKitAPI/Tests/WebKit2/NewFirstVisuallyNonEmptyLayoutFrames.cpp:

(TestWebKitAPI::setPageLoaderClient):

  • TestWebKitAPI/Tests/WebKit2/PageLoadBasic.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/PageLoadDidChangeLocationWithinPageForFrame.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/ParentFrame.cpp:

(TestWebKitAPI::setInjectedBundleClient):

  • TestWebKitAPI/Tests/WebKit2/ParentFrame_Bundle.cpp:

(TestWebKitAPI::ParentFrameTest::didCreatePage):

  • TestWebKitAPI/Tests/WebKit2/PasteboardNotifications.mm:

(TestWebKitAPI::setInjectedBundleClient):

  • TestWebKitAPI/Tests/WebKit2/PasteboardNotifications_Bundle.cpp:

(TestWebKitAPI::PasteboardNotificationsTest::didCreatePage):

  • TestWebKitAPI/Tests/WebKit2/PrivateBrowsingPushStateNoHistoryCallback.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/ReloadPageAfterCrash.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/ResizeReversePaginatedWebView.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/ResizeWindowAfterCrash.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/ResponsivenessTimerDoesntFireEarly.cpp:

(TestWebKitAPI::setInjectedBundleClient):
(TestWebKitAPI::setPageLoaderClient):

  • TestWebKitAPI/Tests/WebKit2/RestoreSessionStateContainingFormData.cpp:

(TestWebKitAPI::setPageLoaderClient):

  • TestWebKitAPI/Tests/WebKit2/ScrollPinningBehaviors.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem.cpp:

(TestWebKitAPI::setPageLoaderClient):

  • TestWebKitAPI/Tests/WebKit2/ShouldGoToBackForwardListItem_Bundle.cpp:

(TestWebKitAPI::ShouldGoToBackForwardListItemTest::didCreatePage):

  • TestWebKitAPI/Tests/WebKit2/SpacebarScrolling.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/TerminateTwice.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/UserMessage.cpp:

(TestWebKitAPI::WebKit2UserMessageRoundTripTest::setInjectedBundleClient):
(TestWebKitAPI::WebKit2UserMessageRoundTripTest::setPageLoaderClient):

  • TestWebKitAPI/Tests/WebKit2/WKConnection.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/WKConnection_Bundle.cpp:

(TestWebKitAPI::WKConnectionTest::initialize):

  • TestWebKitAPI/Tests/WebKit2/WKPageGetScaleFactorNotZero.cpp:

(TestWebKitAPI::setPageLoaderClient):

  • TestWebKitAPI/Tests/WebKit2/WebArchive.cpp:

(TestWebKitAPI::setInjectedBundleClient):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/WillLoad.cpp:

(TestWebKitAPI::WebKit2WillLoadTest::setInjectedBundleClient):

  • TestWebKitAPI/Tests/WebKit2/WillLoad_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent.cpp:

(TestWebKitAPI::setInjectedBundleClient):

  • TestWebKitAPI/Tests/WebKit2/WillSendSubmitEvent_Bundle.cpp:

(TestWebKitAPI::WillSendSubmitEventTest::didCreatePage):

  • TestWebKitAPI/Tests/WebKit2/mac/EditorCommands.mm:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/mac/GetBackingScaleFactor.mm:

(TestWebKitAPI::setInjectedBundleClient):

  • TestWebKitAPI/Tests/WebKit2/mac/GetPIDAfterAbortedProcessLaunch.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2ObjC/CustomProtocolsInvalidScheme_Bundle.cpp:
  • TestWebKitAPI/Tests/WebKit2ObjC/PreventImageLoadWithAutoResizing_Bundle.cpp:

(TestWebKitAPI::DenyWillSendRequestTest::didCreatePage):

  • TestWebKitAPI/Tests/WebKit2ObjC/WKRemoteObjectRegistry.mm:

(TestWebKitAPI::didCreateConnection):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/mac/PageVisibilityStateWithWindowChanges.mm:

(TestWebKitAPI::PageVisibilityStateWithWindowChanges::initializeView):

  • TestWebKitAPI/Tests/mac/WKRemoteObjectRegistry_Bundle.mm:
  • TestWebKitAPI/mac/WebKitAgnosticTest.mm:

(TestWebKitAPI::setPageLoaderClient):

  • WebKitTestRunner/GeolocationProviderMock.cpp:

(WTR::GeolocationProviderMock::GeolocationProviderMock):

  • WebKitTestRunner/InjectedBundle/InjectedBundle.cpp:

(WTR::InjectedBundle::initialize):

  • WebKitTestRunner/InjectedBundle/InjectedBundlePage.cpp:

(WTR::InjectedBundlePage::InjectedBundlePage):

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::createOtherPage):
(WTR::TestController::initialize):
(WTR::TestController::createWebViewWithOptions):

10:48 AM Changeset in webkit [160103] by Joseph Pecoraro
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed Windows build fix attempt 2 after r160099.

10:41 AM Changeset in webkit [160102] by Joseph Pecoraro
  • 3 edits in trunk/Source/WebCore

Unreviewed Windows build fix attempt after r160099.

  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.vcxproj/copyForwardingHeaders.cmd:
10:35 AM Changeset in webkit [160101] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Fix build warnings in DownloadAuthenticationClient.cpp
https://bugs.webkit.org/show_bug.cgi?id=124920

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-04
Reviewed by Alexey Proskuryakov.

Fix unused parameter warnings in DownloadAuthenticationClient.cpp

  • Shared/Downloads/DownloadAuthenticationClient.cpp:

(WebKit::DownloadAuthenticationClient::receivedCredential):
(WebKit::DownloadAuthenticationClient::receivedRequestToContinueWithoutCredential):
(WebKit::DownloadAuthenticationClient::receivedCancellation):

10:30 AM Changeset in webkit [160100] by commit-queue@webkit.org
  • 4 edits in trunk/Source/JavaScriptCore

REGRESSION (r160094): Fix lots of crashes for sh4 architecture.
https://bugs.webkit.org/show_bug.cgi?id=125227

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

  • llint/LowLevelInterpreter32_64.asm: Do not use t4 and t5 as they match a0 and a1.
  • offlineasm/registers.rb: Add t7, t8 and t9 in register list for sh4 port.
  • offlineasm/sh4.rb: Rearrange RegisterID list and add the missing ones.
10:20 AM Changeset in webkit [160099] by Joseph Pecoraro
  • 66 edits
    7 copies
    1 move
    11 adds
    1 delete in trunk/Source

Web Inspector: Push Remote Inspector debugging connection management into JavaScriptCore
https://bugs.webkit.org/show_bug.cgi?id=124613

Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Move the ENABLE(REMOTE_INSPECTOR) remote debugger connection management
into JavaScriptCore (originally from WebKit/mac). Include enhancements:

  • allow for different types of remote debuggable targets, eventually at least a JSContext, WebView, WKView.
  • allow debuggables to be registered and debugged on any thread. Unlike WebViews, JSContexts may be run entirely off of the main thread.
  • move the remote connection (XPC connection) itself off of the main thread, it doesn't need to be on the main thread.

Make JSContext @class and JavaScriptCore::JSContextRef
"JavaScript" Remote Debuggables.

  • inspector/remote/RemoteInspectorDebuggable.h: Added.
  • inspector/remote/RemoteInspectorDebuggable.cpp: Added.

(Inspector::RemoteInspectorDebuggable::RemoteInspectorDebuggable):
(Inspector::RemoteInspectorDebuggable::~RemoteInspectorDebuggable):
(Inspector::RemoteInspectorDebuggable::init):
(Inspector::RemoteInspectorDebuggable::update):
(Inspector::RemoteInspectorDebuggable::setRemoteDebuggingAllowed):
(Inspector::RemoteInspectorDebuggable::info):
RemoteInspectorDebuggable defines a debuggable target. As long as
something creates a debuggable and is set to allow remote inspection
it will be listed in remote debuggers. For the different types of
debuggables (JavaScript and Web) there is different basic information
that may be listed.

  • inspector/InspectorFrontendChannel.h: Added.

(Inspector::InspectorFrontendChannel::~InspectorFrontendChannel):
The only thing a debuggable needs for remote debugging is an
InspectorFrontendChannel a way to send messages to a remote frontend.
This class provides that method, and is vended to the
RemoteInspectorDebuggable when a remote connection is setup.

  • inspector/remote/RemoteInspector.h: Added.
  • inspector/remote/RemoteInspector.mm: Added.

Singleton, created at least when the first Debuggable is created.
This class manages the list of debuggables, any connection to a
remote debugger proxy (XPC service "com.apple.webinspector").

(Inspector::dispatchAsyncOnQueueSafeForAnyDebuggable):
(Inspector::RemoteInspector::shared):
(Inspector::RemoteInspector::RemoteInspector):
(Inspector::RemoteInspector::nextAvailableIdentifier):
(Inspector::RemoteInspector::registerDebuggable):
(Inspector::RemoteInspector::unregisterDebuggable):
(Inspector::RemoteInspector::updateDebuggable):
Debuggable management. When debuggables are added, removed, or updated
we stash a copy of the debuggable information and push an update to
debuggers. Stashing a copy of the information in the RemoteInspector
is a thread safe way to avoid walking over all debuggables to gather
the information when it is needed.

(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::stop):
Runtime API to enable / disable the feature.

(Inspector::RemoteInspector::listingForDebuggable):
(Inspector::RemoteInspector::pushListingNow):
(Inspector::RemoteInspector::pushListingSoon):
Pushing a listing to remote debuggers.

(Inspector::RemoteInspector::sendMessageToRemoteFrontend):
(Inspector::RemoteInspector::setupXPCConnectionIfNeeded):
(Inspector::RemoteInspector::xpcConnectionReceivedMessage):
(Inspector::RemoteInspector::xpcConnectionFailed):
(Inspector::RemoteInspector::xpcConnectionUnhandledMessage):
XPC setup, send, and receive handling.

(Inspector::RemoteInspector::updateHasActiveDebugSession):
Applications being debugged may want to know when a debug
session is active. This provides that notification.

(Inspector::RemoteInspector::receivedSetupMessage):
(Inspector::RemoteInspector::receivedDataMessage):
(Inspector::RemoteInspector::receivedDidCloseMessage):
(Inspector::RemoteInspector::receivedGetListingMessage):
(Inspector::RemoteInspector::receivedIndicateMessage):
(Inspector::RemoteInspector::receivedConnectionDiedMessage):
Dispatching incoming remote debugging protocol messages.
These are wrapping above the inspector protocol messages.

  • inspector/remote/RemoteInspectorConstants.h: Added.

Protocol messages and dictionary keys inside the messages.

(Inspector::RemoteInspectorDebuggableInfo::RemoteInspectorDebuggableInfo):

  • inspector/remote/RemoteInspectorDebuggableConnection.h: Added.
  • inspector/remote/RemoteInspectorDebuggableConnection.mm: Added.

This is a connection between the RemoteInspector singleton and a RemoteInspectorDebuggable.

(Inspector::RemoteInspectorDebuggableConnection::RemoteInspectorDebuggableConnection):
(Inspector::RemoteInspectorDebuggableConnection::~RemoteInspectorDebuggableConnection):
Allow for dispatching messages on JavaScript debuggables on a dispatch_queue
instead of the main queue.

(Inspector::RemoteInspectorDebuggableConnection::destination):
(Inspector::RemoteInspectorDebuggableConnection::connectionIdentifier):
Needed in the remote debugging protocol to identify the remote debugger.

(Inspector::RemoteInspectorDebuggableConnection::dispatchSyncOnDebuggable):
(Inspector::RemoteInspectorDebuggableConnection::dispatchAsyncOnDebuggable):
(Inspector::RemoteInspectorDebuggableConnection::setup):
(Inspector::RemoteInspectorDebuggableConnection::closeFromDebuggable):
(Inspector::RemoteInspectorDebuggableConnection::close):
(Inspector::RemoteInspectorDebuggableConnection::sendMessageToBackend):
(Inspector::RemoteInspectorDebuggableConnection::sendMessageToFrontend):
The connection is a thin channel between the two sides that can be closed
from either side, so there is some logic around multi-threaded access.

  • inspector/remote/RemoteInspectorXPCConnection.h: Added.

(Inspector::RemoteInspectorXPCConnection::Client::~Client):

  • inspector/remote/RemoteInspectorXPCConnection.mm: Added.

(Inspector::RemoteInspectorXPCConnection::RemoteInspectorXPCConnection):
(Inspector::RemoteInspectorXPCConnection::~RemoteInspectorXPCConnection):
(Inspector::RemoteInspectorXPCConnection::close):
(Inspector::RemoteInspectorXPCConnection::deserializeMessage):
(Inspector::RemoteInspectorXPCConnection::handleEvent):
(Inspector::RemoteInspectorXPCConnection::sendMessage):
This is a connection between the RemoteInspector singleton and an XPC service
named "com.apple.webinspector". This handles serialization of the dictionary
messages to and from the service. The receiving is done on a non-main queue.

  • API/JSContext.h:
  • API/JSContext.mm:

(-[JSContext name]):
(-[JSContext setName:]):
ObjC API to enable/disable JSContext remote inspection and give a name.

  • API/JSContextRef.h:
  • API/JSContextRef.cpp:

(JSGlobalContextGetName):
(JSGlobalContextSetName):
C API to give a JSContext a name.

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::setName):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::name):
Shared handling of the APIs above.

  • runtime/JSGlobalObjectDebuggable.cpp: Added.

(JSC::JSGlobalObjectDebuggable::JSGlobalObjectDebuggable):
(JSC::JSGlobalObjectDebuggable::name):
(JSC::JSGlobalObjectDebuggable::connect):
(JSC::JSGlobalObjectDebuggable::disconnect):
(JSC::JSGlobalObjectDebuggable::dispatchMessageFromRemoteFrontend):

  • runtime/JSGlobalObjectDebuggable.h: Added.

Stub for the actual remote debugging implementation. We will push
down the appropriate WebCore/inspector peices suitable for debugging
just a JavaScript context.

Update build files.

Source/WebCore:

Make a WebCore::Page a "Web" Remote Debuggable.

  • bindings/js/JSDOMGlobalObject.cpp:

Disable JavaScript context inspection on JSGlobalObjects inside WebCore::Page's.

  • page/Page.cpp:

(WebCore::Page::Page):
(WebCore::Page::remoteInspectionAllowed):
(WebCore::Page::setRemoteInspectionAllowed):
(WebCore::Page::remoteInspectorInformationDidChange):

  • page/Page.h:
  • page/PageDebuggable.h:
  • page/PageDebuggable.cpp: Added.

(WebCore::PageDebuggable::PageDebuggable):
(WebCore::PageDebuggable::name):
(WebCore::PageDebuggable::url):
(WebCore::PageDebuggable::hasLocalDebugger):
(WebCore::PageDebuggable::connect):
(WebCore::PageDebuggable::disconnect):
(WebCore::PageDebuggable::dispatchMessageFromRemoteFrontend):
(WebCore::PageDebuggable::setIndicating):
Make a page a "Web" debuggable.

  • GNUmakefile.list.am:
  • WebCore.exp.in:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:

Misc.

  • inspector/InspectorClient.h:

(WebCore::InspectorClient::indicate):
(WebCore::InspectorClient::hideIndicate):
Forward indicate methods to WebKit clients.

  • loader/FrameLoader.cpp:

(WebCore::FrameLoader::didChangeTitle):
(WebCore::FrameLoader::dispatchDidCommitLoad):
Push updates when remote debuggable information like the Page's
URL or title change.

  • ForwardingHeaders/inspector/InspectorFrontendChannel.h:
  • inspector/InspectorForwarding.h:

Re-export Inspector::InspectorFrontendChannel as WebCore::InspectorFrontendChannel
to avoid needlessly updating code all over the place.

  • inspector/CodeGeneratorInspectorStrings.py:
  • inspector/InspectorWorkerAgent.cpp:
  • inspector/WorkerInspectorController.cpp:
  • testing/Internals.cpp:

Update include names.

  • page/ContextMenuController.cpp:

(WebCore::ContextMenuController::populate):
Make the "Inspect Element" context menu work correctly when there is a
remote inspector instead of a local inspector.

Source/WebKit:

  • WebKit.xcodeproj/project.pbxproj:

Source/WebKit/blackberry:

  • WebCoreSupport/InspectorClientBlackBerry.h:

Source/WebKit/cf:

  • WebCoreSupport/WebInspectorClientCF.cpp:

(WebInspectorClient::sendMessageToFrontend):

Source/WebKit/efl:

  • WebCoreSupport/InspectorClientEfl.h:

Source/WebKit/gtk:

  • WebCoreSupport/InspectorClientGtk.h:

Source/WebKit/ios:

  • WebCoreSupport/WebInspectorClientIOS.mm:

(WebInspectorClient::WebInspectorClient):
(WebInspectorClient::inspectorDestroyed):

Source/WebKit/mac:

Remove the old ENABLE(REMOTE_INSPECTOR) connection management implementation.

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorClient::indicate):
(WebInspectorClient::hideIndicate):
Hook up WebView indication through this new path.

  • WebCoreSupport/WebFrameLoaderClient.mm:

(WebFrameLoaderClient::dispatchDidReceiveTitle):

  • WebCoreSupport/WebInspectorClient.h:
  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorClient::WebInspectorClient):
(WebInspectorClient::inspectorDestroyed):

  • WebInspector/remote/WebInspectorClientRegistry.h: Removed.
  • WebInspector/remote/WebInspectorClientRegistry.mm: Removed.
  • WebInspector/remote/WebInspectorRelayDefinitions.h: Removed.
  • WebInspector/remote/WebInspectorRemoteChannel.h: Removed.
  • WebInspector/remote/WebInspectorRemoteChannel.mm: Removed.
  • WebInspector/remote/WebInspectorServer.h: Removed.
  • WebInspector/remote/WebInspectorServer.mm: Removed.
  • WebInspector/remote/WebInspectorServerWebViewConnection.h: Removed.
  • WebInspector/remote/WebInspectorServerWebViewConnection.mm: Removed.
  • WebInspector/remote/WebInspectorServerWebViewConnectionController.h: Removed.
  • WebInspector/remote/WebInspectorServerWebViewConnectionController.mm: Removed.
  • WebInspector/remote/WebInspectorXPCWrapper.h: Removed.
  • WebInspector/remote/WebInspectorXPCWrapper.m: Removed.
  • WebKit.exp:
  • WebView/WebView.mm:

(-[WebView _commonInitializationWithFrameName:groupName:]):
(+[WebView _enableRemoteInspector]):
(+[WebView _disableRemoteInspector]):
(+[WebView _disableAutoStartRemoteInspector]):
(+[WebView _isRemoteInspectorEnabled]):
(+[WebView _hasRemoteInspectorSession]):
(-[WebView allowsRemoteInspection]):
(-[WebView setAllowsRemoteInspection:]):
(-[WebView setIndicatingForRemoteInspector:]):
(-[WebView setHostApplicationBundleId:name:]):
(-[WebView _didCommitLoadForFrame:]):

  • WebView/WebViewData.h:
  • WebView/WebViewData.mm:

(-[WebViewPrivate init]):
(-[WebViewPrivate dealloc]):

  • WebView/WebViewInternal.h:
  • WebView/WebViewPrivate.h:

Remove old REMOTE_INSPECTOR.

Source/WebKit/win:

  • WebCoreSupport/WebInspectorClient.h:

Source/WebKit/wince:

  • WebCoreSupport/InspectorClientWinCE.h:

Source/WebKit2:

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::WebPage):

  • WebProcess/com.apple.WebProcess.sb.in:

Allow the WebProcess to access the "com.apple.webinspector" named
XPC service to expose its WebCore::Page's to remote debuggers.

Source/WTF:

  • wtf/ios/WebCoreThread.cpp:
  • wtf/ios/WebCoreThread.h:

Expose WebThreadRun/WebThreadRunSync iOS methods defined in WebCore through
WTF so that JavaScriptCore can use it. Another such method already existed.

10:20 AM Changeset in webkit [160098] by Joseph Pecoraro
  • 2 edits in trunk/Source/WebCore

Web Inspector: Add missing folders and files to Xcode project
https://bugs.webkit.org/show_bug.cgi?id=124802

Reviewed by Timothy Hatcher.

  • WebCore.xcodeproj/project.pbxproj:
10:00 AM Changeset in webkit [160097] by dfarler@apple.com
  • 2 edits in trunk/Source/WebKit2

Use All-iOS target when building WK2 on iOS
<rdar://problem/15574494>

Reviewed by David Kilzer.

  • Makefile:

Add -target All-iOS to OTHER_OPTIONS if iphoneos or iphonesimulator
is in the SDKROOT make option.

9:49 AM Changeset in webkit [160096] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

[texmap] Borders on rotating images are hidden/wrongly rendered with edge distance antialiasing
https://bugs.webkit.org/show_bug.cgi?id=124653

Patch by José Dapena Paz <jdapena@igalia.com> on 2013-12-04
Reviewed by Noam Rosenthal.

Texture mapper edge distance antialiasing texture sampling was causing
borders to be shaded (and made them almost disappear in some cases).
This was because calculation of sampling happened on vertex shader, so
the border of the texture would go to the border of the inflation area.

What algorithm should do is sampling the border pixel for all the
inflation area (it is the closest pixel to all the samples in
inflation area), and then use the standard sampling for the other
parts of the texture.

No new test because this is already covered by test
transforms/3d/point-mapping/3d-point-mapping.html

  • platform/graphics/texmap/TextureMapperShaderProgram.cpp: fix edge

distance antialiasing texture sampling.

9:40 AM Changeset in webkit [160095] by mario.prada@samsung.com
  • 1 edit
    1 move
    1 delete in trunk/LayoutTests

Unreviewed GTK gardening. Updated expectations for GTK and share them with EFL.

  • accessibility/multiselect-list-reports-active-option-expected.txt: Renamed from LayoutTests/platform/efl/multiselect-list-reports-active-option-expected.txt.
  • platform/gtk/accessibility/multiselect-list-reports-active-option-expected.txt: Removed.
8:40 AM Changeset in webkit [160094] by msaboff@apple.com
  • 26 edits
    2 adds in trunk/Source/JavaScriptCore

Move the setting up of callee's callFrame from pushFrame to callToJavaScript thunk
https://bugs.webkit.org/show_bug.cgi?id=123999

Reviewed by Filip Pizlo.

Changed LLInt and/or JIT enabled ports to allocate the stack frame in the
callToJavaScript stub. Added an additional stub, callToNativeFunction that
allocates a stack frame in a similar way for calling native entry points
that take a single ExecState* argument. These stubs are implemented
using common macros in LowLevelInterpreter{32_64,64}.asm. There are also
Windows X86 and X86-64 versions in the corresponding JitStubsXX.h.
The stubs allocate and create a sentinel frame, then create the callee's
frame, populating the header and arguments from the passed in ProtoCallFrame*.
It is assumed that the caller of either stub does a check for enough stack space
via JSStack::entryCheck().

For ports using the C-Loop interpreter, the prior method for allocating stack
frame and invoking functions is used, namely with JSStack::pushFrame() and
::popFrame().

Made spelling changes "sentinal" -> "sentinel".

(JSC::CachedCall::CachedCall):
(JSC::CachedCall::setThis):
(JSC::CachedCall::setArgument):

  • interpreter/CallFrameClosure.h:

(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::entryCheck):
(JSC::JSStack::pushFrame):
(JSC::JSStack::popFrame):

  • interpreter/ProtoCallFrame.cpp: Added.

(JSC::ProtoCallFrame::init):

  • interpreter/ProtoCallFrame.h: Added.

(JSC::ProtoCallFrame::codeBlock):
(JSC::ProtoCallFrame::setCodeBlock):
(JSC::ProtoCallFrame::setScope):
(JSC::ProtoCallFrame::setCallee):
(JSC::ProtoCallFrame::argumentCountIncludingThis):
(JSC::ProtoCallFrame::argumentCount):
(JSC::ProtoCallFrame::setArgumentCountIncludingThis):
(JSC::ProtoCallFrame::setPaddedArgsCount):
(JSC::ProtoCallFrame::clearCurrentVPC):
(JSC::ProtoCallFrame::setThisValue):
(JSC::ProtoCallFrame::setArgument):

  • jit/JITCode.cpp:

(JSC::JITCode::execute):

  • jit/JITCode.h:
  • jit/JITOperations.cpp:
  • jit/JITStubs.h:
  • jit/JITStubsMSVC64.asm:
  • jit/JITStubsX86.h:
  • llint/LLIntOffsetsExtractor.cpp:
  • llint/LLIntThunks.h:
  • llint/LowLevelInterpreter.asm:
  • llint/LowLevelInterpreter32_64.asm:
  • llint/LowLevelInterpreter64.asm:
  • runtime/ArgList.h:

(JSC::ArgList::data):

  • runtime/JSArray.cpp:

(JSC::AVLTreeAbstractorForArrayCompare::compare_key_key):

  • runtime/StringPrototype.cpp:

(JSC::replaceUsingRegExpSearch):

8:13 AM Changeset in webkit [160093] by commit-queue@webkit.org
  • 2 edits
    2 adds in trunk/Tools

Style checker for .messages.in files (WTF:: prefix)
https://bugs.webkit.org/show_bug.cgi?id=125142

Patch by Tamas Gergely <tgergely.u-szeged@partner.samsung.com> on 2013-12-04
Reviewed by Anders Carlsson.

A new style checker for .messages.in files, that checks for the use of WTF::
prefix in these files. (Also checks for tabs as these files were previously
handled as text files.)

  • Scripts/webkitpy/style/checker.py:

(CheckerDispatcher._create_checker):

New checker is returned for .messages.in files.

  • Scripts/webkitpy/style/checkers/messagesin.py: Added. The new style checker class.

(MessagesInChecker):
(MessagesInChecker.init):
(MessagesInChecker.check):
(MessagesInChecker.check_WTF_prefix):

  • Scripts/webkitpy/style/checkers/messagesin_unittest.py: Added. Unit test for the new style checker class.

(MessagesInCheckerStyleTestCase):
(test_checker):
(test_checker.error_handler_for_test):
(MessagesInCheckerTestCase):
(MessagesInCheckerTestCase.test_init):
(MessagesInCheckerTestCase.test_init.error_handler_for_test):

6:43 AM Changeset in webkit [160092] by commit-queue@webkit.org
  • 14 edits in trunk/Source/JavaScriptCore

Remove stdio.h from JSC files.
https://bugs.webkit.org/show_bug.cgi?id=125220

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-04
Reviewed by Michael Saboff.

  • interpreter/VMInspector.cpp:
  • jit/JITArithmetic.cpp:
  • jit/JITArithmetic32_64.cpp:
  • jit/JITCall.cpp:
  • jit/JITCall32_64.cpp:
  • jit/JITPropertyAccess.cpp:
  • jit/JITPropertyAccess32_64.cpp:
  • runtime/Completion.cpp:
  • runtime/IndexingType.cpp:
  • runtime/Lookup.h:
  • runtime/Operations.cpp:
  • runtime/Options.cpp:
  • runtime/RegExp.cpp:
6:42 AM Changeset in webkit [160091] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Avoid to add zero offset in BaseIndex.
https://bugs.webkit.org/show_bug.cgi?id=125215

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-04
Reviewed by Michael Saboff.

When using cloop do not generate offsets additions for BaseIndex if the offset is zero.

  • offlineasm/cloop.rb:
5:49 AM Changeset in webkit [160090] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

Style checker requires alphabetical ordering in cmake lists even it contains variable.
https://bugs.webkit.org/show_bug.cgi?id=124918

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

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

(CMakeCheckerTest.test_check):

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

(CMakeChecker._check_list_order):
This will ignore lines with variable substitution.

4:30 AM Changeset in webkit [160089] by commit-queue@webkit.org
  • 4 edits in trunk

Allow --cloop option to work correctly in case of EFL.
https://bugs.webkit.org/show_bug.cgi?id=125217

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-04
Reviewed by Zoltan Herczeg.

  • Source/cmake/OptionsEfl.cmake:
  • Source/cmake/WebKitFeatures.cmake:
  • Source/cmakeconfig.h.cmake:
4:20 AM Changeset in webkit [160088] by Carlos Garcia Campos
  • 1 copy in releases/WebKitGTK/webkit-2.2.3

Tagging the WebKitGTK+ 2.2.3 release

3:54 AM Changeset in webkit [160087] by Carlos Garcia Campos
  • 4 edits in releases/WebKitGTK/webkit-2.2

Unreviewed. Update NEWS and Versions.m4 for 2.2.3 release.

.:

  • Source/autotools/Versions.m4: Bump version numbers.

Source/WebKit/gtk:

  • NEWS: Add release notes.
3:20 AM Changeset in webkit [160086] by commit-queue@webkit.org
  • 3 edits in trunk/Tools

check-webkit-style is wrong about expected format parameter pack rvalue reference arguments
https://bugs.webkit.org/show_bug.cgi?id=124731

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-04
Reviewed by Zoltan Herczeg.

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

(check_spacing):

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

(Cpp11StyleTest.test_rvaule_reference_in_parameter_pack):

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

Remove codecs and os dependencies from filereader.py in webkitpy/style.
https://bugs.webkit.org/show_bug.cgi?id=124719

Although TextFileReader requires a FileSystem it circumvents it in two places!
We should use the FileSystem only and remove codecs and os imports.

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-04
Reviewed by Zoltan Herczeg.

  • Scripts/webkitpy/common/system/filesystem.py:

(FileSystem.open_stdin): Moved from TextFileReader

  • Scripts/webkitpy/style/filereader.py:

(TextFileReader._read_lines): use FileSystem instead of calling codecs.open directly
(TextFileReader._process_directory): use FileSystem instead of calling os.walk directly

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

check-webkit-style should check member initialization indentation.
https://bugs.webkit.org/show_bug.cgi?id=124820

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-04
Reviewed by Zoltan Herczeg.

check-webkit-style should check member initialization indentation
belongs to webkit coding style:
http://www.webkit.org/coding/coding-style.html#punctuation-member-init

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

(check_member_initialization_list): Add new method to check member
initialization list.
(check_style): Add the call of the new method.
(check_language): Move self initialization checking into the new method.
(CppChecker): Add a new category for initialization list.

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

(CppStyleTest.test_runtime_selfinit):
(CppStyleTest.test_deprecated_cast):
(WebKitStyleTest.test_member_initialization_list): Add new testcases for
the new feature.

3:08 AM Changeset in webkit [160083] by commit-queue@webkit.org
  • 8 edits in trunk/Tools

style-bot should reject Committer additions to committers.py
https://bugs.webkit.org/show_bug.cgi?id=107574

Patch by Tamas Gergely <gertom@inf.u-szeged.hu> on 2013-12-04
Reviewed by Zoltan Herczeg.

The style check when executed in non-interactive mode (probably by a
bot) will raise an additional error if the contributors.json file is
modified. Non-interactive mode information is propagated to the
Dispatcher, which creates a special JSON checker for the
contributors.json file.

  • Scripts/webkitpy/style/checker.py:

(check_webkit_style_configuration):
(CheckerDispatcher._create_checker):
(CheckerDispatcher.dispatch):
(StyleProcessorConfiguration.init):
(StyleProcessor.process):

  • Scripts/webkitpy/style/checker_unittest.py:

(CheckerDispatcherSkipTest._assert_should_skip_without_warning):
(CheckerDispatcherDispatchTest.dispatch):
(StyleProcessorConfigurationTest._style_checker_configuration):
(StyleProcessor_EndToEndTest.test_init):
(StyleProcessor_EndToEndTest.test_process):
(StyleProcessor_CodeCoverageTest.MockDispatcher.dispatch):
(StyleProcessor_CodeCoverageTest.setUp):

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

(JSONChecker.line_number_from_json_exception):
(JSONContributorsChecker):
(JSONContributorsChecker.check):

  • Scripts/webkitpy/style/error_handlers_unittest.py:

(DefaultStyleErrorHandlerTest._style_checker_configuration):

  • Scripts/webkitpy/style/optparser.py:

(CommandOptionValues.init):
(ArgumentParser._create_option_parser):
(ArgumentParser.parse):

  • Scripts/webkitpy/tool/commands/upload_unittest.py:

(test_post):
(test_upload):

  • Scripts/webkitpy/tool/steps/checkstyle.py:

(CheckStyle.run):

1:57 AM Changeset in webkit [160082] by commit-queue@webkit.org
  • 8 edits in trunk/Source/JavaScriptCore

Fix !ENABLE(JAVASCRIPT_DEBUGGER) build.
https://bugs.webkit.org/show_bug.cgi?id=125083

Patch by Peter Molnar <pmolnar.u-szeged@partner.samsung.com> on 2013-12-04
Reviewed by Mark Lam.

  • debugger/Debugger.cpp:
  • debugger/Debugger.h:

(JSC::Debugger::Debugger):
(JSC::Debugger::needsOpDebugCallbacks):
(JSC::Debugger::needsExceptionCallbacks):
(JSC::Debugger::detach):
(JSC::Debugger::sourceParsed):
(JSC::Debugger::exception):
(JSC::Debugger::atStatement):
(JSC::Debugger::callEvent):
(JSC::Debugger::returnEvent):
(JSC::Debugger::willExecuteProgram):
(JSC::Debugger::didExecuteProgram):
(JSC::Debugger::didReachBreakpoint):

  • debugger/DebuggerPrimitives.h:
  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_debug):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_debug):

  • llint/LLIntOfflineAsmConfig.h:
  • llint/LowLevelInterpreter.asm:
1:56 AM Changeset in webkit [160081] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebCore

Merge r159314 - [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-11-14
Reviewed by Martin Robinson.

To solve the bug #58309 a cairo subsurface is being used to limit the
source image boundaries.
In many cases, when a cairo subsurface is used for drawing an image,
it occurs an image copy, causing performance penalty. In the case of
the function PlatformContextCairo::drawSurfaceToContext, the image
copy always happens.
So, we should use the subsurface only when it's really necessary.
In cases where we're drawing the whole image, the subsurface is
unnecessary.

The proposed patch avoid the use of subsurfaces when sampling the whole
image.

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

  • platform/graphics/cairo/PlatformContextCairo.cpp:

(WebCore::PlatformContextCairo::drawSurfaceToContext):

1:52 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
1:47 AM Changeset in webkit [160080] by Carlos Garcia Campos
  • 12 edits in releases/WebKitGTK/webkit-2.2/Source

Merge r154819 - [cairo] canvas drawing on itself doesn't work with accelerated canvas
https://bugs.webkit.org/show_bug.cgi?id=118808

Reviewed by Martin Robinson.

Source/WebCore:

When copying an accelerated image, we try to get its dimensions with
cairo_image_surface_get_width/cairo_image_surface_get_height. As
surface is not an image, this returns width and height of 0.

Many other places use cairo_image_surface_get although the surface may
be a gl surface.

This patch fixes those issues by implementing a cairoSurfaceSize
helper that returns the surface size whatever type it is.

It use cairo_surface_create_similar instead of
cairo_image_surface_create in copyCairoImageSurface. It also calls
cairo_paint in encodeImage when a drawing over a black background is
needed.

It copies the surface to an image surface if needed in extractImage.

No new tests. Covered by existing tests.

  • platform/graphics/cairo/BitmapImageCairo.cpp:

(WebCore::BitmapImage::BitmapImage):
(WebCore::BitmapImage::draw):
(WebCore::BitmapImage::checkForSolidColor):

  • platform/graphics/cairo/CairoUtilities.cpp:

(WebCore::copyCairoImageSurface):
(WebCore::cairoSurfaceSize):

  • platform/graphics/cairo/CairoUtilities.h:
  • platform/graphics/cairo/GraphicsContext3DCairo.cpp:

(WebCore::GraphicsContext3D::ImageExtractor::extractImage):

  • platform/graphics/gtk/GdkCairoUtilities.cpp:

(cairoSurfaceToGdkPixbuf):

  • platform/graphics/gtk/GdkCairoUtilities.h:
  • platform/graphics/gtk/ImageBufferGtk.cpp:

(WebCore::encodeImage):

  • platform/graphics/gtk/ImageGtk.cpp:

(WebCore::BitmapImage::getGdkPixbuf):

  • platform/gtk/DragIcon.cpp:

(WebCore::DragIcon::setImage):

Source/WebKit/gtk:

Change cairoImageSurfaceToGdkPixbuf to cairoSurfaceToGdkPixbuf.

  • webkit/webkitfavicondatabase.cpp:

(getIconPixbufSynchronously):

1:30 AM Changeset in webkit [160079] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/JavaScriptCore

Merge r154892 - Cleaning errorDescriptionForValue after r154839
https://bugs.webkit.org/show_bug.cgi?id=120531

Patch by Chris Curtis <chris_curtis@apple.com> on 2013-08-30
Reviewed by Darin Adler.

Changed the assert to ASSERT_NOT_REACHED, now that r154839 has landed. errorDescriptionForValue
can assert again that the parameterized JSValue is !isEmpty().

  • runtime/ExceptionHelpers.cpp:

(JSC::errorDescriptionForValue):

1:27 AM Changeset in webkit [160078] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/JavaScriptCore

Merge r154839 - REGRESSION(r153222, 32-bit): NULL JSValue() seen when running peacekeeper benchmark.
https://bugs.webkit.org/show_bug.cgi?id=120080

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

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emitSlow_op_get_argument_by_val): Revert changes introduced by r153222 in this function.

1:26 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
1:21 AM Changeset in webkit [160077] by Carlos Garcia Campos
  • 2 edits in releases/WebKitGTK/webkit-2.2/Source/WebCore

Merge r159939 - [GTK] Fails to build with freetype 2.5.1
https://bugs.webkit.org/show_bug.cgi?id=125074

Patch by Andres Gomez <Andres Gomez> on 2013-12-02
Reviewed by Carlos Garcia Campos.

FreeType specifies a canonical way of including their own
headers. Now, we are following this recommendation so the
compilation won't be broken again due to an upgrade in FeeType's
including paths.

  • platform/graphics/harfbuzz/HarfBuzzFaceCairo.cpp:
1:18 AM WebKitGTK/2.2.x edited by Carlos Garcia Campos
(diff)
1:14 AM Changeset in webkit [160076] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebCore

Typo fix after r160074 to fix debug builds.

Patch by László Langó <lango@inf.u-szeged.hu> on 2013-12-04
Reviewed by Csaba Osztrogonác.

  • platform/text/BidiResolver.h:

(WebCore::MidpointState::stopIgnoringSpaces):

12:56 AM Changeset in webkit [160075] by Csaba Osztrogonác
  • 72 edits in trunk

[EFL][WK2] Fix build after API::Client changes
https://bugs.webkit.org/show_bug.cgi?id=125206

Patch by Nick Diego Yamane <nick.yamane@openbossa.org> on 2013-12-04
Reviewed by Csaba Osztrogonác.

Source/WebKit2:

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Shared/API/c/WKDeclarationSpecifiers.h:
  • UIProcess/API/C/CoordinatedGraphics/WKView.cpp:

(WKViewSetViewClient):

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

(WKBatteryManagerSetProvider):

  • UIProcess/API/C/WKBatteryManager.h:
  • UIProcess/API/C/WKNetworkInfoManager.cpp:

(WKNetworkInfoManagerSetProvider):

  • UIProcess/API/C/WKNetworkInfoManager.h:
  • UIProcess/API/C/WKTextChecker.cpp:

(WKTextCheckerSetClient):

  • UIProcess/API/C/WKTextChecker.h:
  • UIProcess/API/C/WKVibration.cpp:

(WKVibrationSetProvider):

  • UIProcess/API/C/WKVibration.h:
  • UIProcess/API/C/efl/WKPageEfl.cpp:

(WKPageSetUIPopupMenuClient):

  • UIProcess/API/C/efl/WKPageEfl.h:
  • UIProcess/API/C/gtk/WKFullScreenClientGtk.cpp:

(WKViewSetFullScreenClientGtk):

  • UIProcess/API/C/gtk/WKFullScreenClientGtk.h:
  • UIProcess/API/C/gtk/WKInspectorClientGtk.cpp:

(WKInspectorSetInspectorClientGtk):

  • UIProcess/API/C/gtk/WKInspectorClientGtk.h:
  • UIProcess/API/C/soup/WKSoupRequestManager.cpp:

(WKSoupRequestManagerSetClient):

  • UIProcess/API/C/soup/WKSoupRequestManager.h:
  • UIProcess/API/gtk/WebKitFullscreenClient.cpp:

(attachFullScreenClientToView):

  • UIProcess/API/gtk/WebKitRequestManagerClient.cpp:

(attachRequestManagerClientToContext):

  • UIProcess/API/gtk/WebKitTextChecker.cpp:

(WebKitTextChecker::WebKitTextChecker):

  • UIProcess/API/gtk/WebKitWebInspector.cpp:

(webkitWebInspectorCreate):

  • UIProcess/API/gtk/WebKitWebViewBase.cpp:

(webkitWebViewBaseInitializeFullScreenClient):

  • UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::initializeClient):

  • UIProcess/CoordinatedGraphics/WebView.h:
  • UIProcess/CoordinatedGraphics/WebViewClient.cpp:

(WebKit::WebViewClient::viewNeedsDisplay):
(WebKit::WebViewClient::didChangeContentsSize):
(WebKit::WebViewClient::webProcessCrashed):
(WebKit::WebViewClient::webProcessDidRelaunch):
(WebKit::WebViewClient::didChangeContentsPosition):
(WebKit::WebViewClient::didRenderFrame):
(WebKit::WebViewClient::didCompletePageTransition):
(WebKit::WebViewClient::didChangeViewportAttributes):
(WebKit::WebViewClient::didChangeTooltip):
(WebKit::WebViewClient::didFindZoomableArea):
(WebKit::WebViewClient::doneWithTouchEvent):

  • UIProcess/CoordinatedGraphics/WebViewClient.h:
  • UIProcess/WebBatteryManagerProxy.cpp:

(WebKit::WebBatteryManagerProxy::initializeProvider):

  • UIProcess/WebBatteryManagerProxy.h:
  • UIProcess/WebBatteryProvider.cpp:

(WebKit::WebBatteryProvider::startUpdating):
(WebKit::WebBatteryProvider::stopUpdating):

  • UIProcess/WebBatteryProvider.h:
  • UIProcess/WebInspectorProxy.h:
  • UIProcess/WebNetworkInfoManagerProxy.cpp:

(WebKit::WebNetworkInfoManagerProxy::initializeProvider):

  • UIProcess/WebNetworkInfoManagerProxy.h:
  • UIProcess/WebNetworkInfoProvider.cpp:

(WebKit::WebNetworkInfoProvider::startUpdating):
(WebKit::WebNetworkInfoProvider::stopUpdating):
(WebKit::WebNetworkInfoProvider::bandwidth):
(WebKit::WebNetworkInfoProvider::isMetered):

  • UIProcess/WebNetworkInfoProvider.h:
  • UIProcess/WebPageProxy.h:
  • UIProcess/WebTextChecker.cpp:

(WebKit::WebTextChecker::setClient):

  • UIProcess/WebTextChecker.h:
  • UIProcess/WebTextCheckerClient.cpp:

(WebKit::WebTextCheckerClient::continuousSpellCheckingAllowed):
(WebKit::WebTextCheckerClient::continuousSpellCheckingEnabled):
(WebKit::WebTextCheckerClient::setContinuousSpellCheckingEnabled):
(WebKit::WebTextCheckerClient::grammarCheckingEnabled):
(WebKit::WebTextCheckerClient::setGrammarCheckingEnabled):
(WebKit::WebTextCheckerClient::uniqueSpellDocumentTag):
(WebKit::WebTextCheckerClient::closeSpellDocumentWithTag):
(WebKit::WebTextCheckerClient::checkSpellingOfString):
(WebKit::WebTextCheckerClient::checkGrammarOfString):
(WebKit::WebTextCheckerClient::spellingUIIsShowing):
(WebKit::WebTextCheckerClient::toggleSpellingUIIsShowing):
(WebKit::WebTextCheckerClient::updateSpellingUIWithMisspelledWord):
(WebKit::WebTextCheckerClient::updateSpellingUIWithGrammarString):
(WebKit::WebTextCheckerClient::guessesForWord):
(WebKit::WebTextCheckerClient::learnWord):
(WebKit::WebTextCheckerClient::ignoreWord):

  • UIProcess/WebTextCheckerClient.h:
  • UIProcess/WebVibrationProvider.cpp:

(WebKit::WebVibrationProvider::vibrate):
(WebKit::WebVibrationProvider::cancelVibration):

  • UIProcess/WebVibrationProvider.h:
  • UIProcess/WebVibrationProxy.cpp:

(WebKit::WebVibrationProxy::initializeProvider):

  • UIProcess/WebVibrationProxy.h:
  • UIProcess/efl/BatteryProvider.cpp:

(BatteryProvider::BatteryProvider):

  • UIProcess/efl/NetworkInfoProvider.cpp:

(NetworkInfoProvider::NetworkInfoProvider):

  • UIProcess/efl/PageUIClientEfl.cpp:

(WebKit::PageUIClientEfl::PageUIClientEfl):

  • UIProcess/efl/RequestManagerClientEfl.cpp:

(WebKit::RequestManagerClientEfl::RequestManagerClientEfl):

  • UIProcess/efl/TextCheckerClientEfl.cpp:

(TextCheckerClientEfl::TextCheckerClientEfl):

  • UIProcess/efl/VibrationClientEfl.cpp:

(VibrationClientEfl::VibrationClientEfl):

  • UIProcess/efl/ViewClientEfl.cpp:

(WebKit::ViewClientEfl::ViewClientEfl):

  • UIProcess/efl/WebPageProxyEfl.cpp:

(WebKit::WebPageProxy::initializeUIPopupMenuClient):

  • UIProcess/efl/WebUIPopupMenuClient.cpp:

(WebUIPopupMenuClient::showPopupMenu):
(WebUIPopupMenuClient::hidePopupMenu):

  • UIProcess/efl/WebUIPopupMenuClient.h:
  • UIProcess/gtk/WebFullScreenClientGtk.cpp:

(WebKit::WebFullScreenClientGtk::willEnterFullScreen):
(WebKit::WebFullScreenClientGtk::willExitFullScreen):

  • UIProcess/gtk/WebFullScreenClientGtk.h:
  • UIProcess/gtk/WebInspectorClientGtk.cpp:

(WebKit::WebInspectorClientGtk::openWindow):
(WebKit::WebInspectorClientGtk::didClose):
(WebKit::WebInspectorClientGtk::bringToFront):
(WebKit::WebInspectorClientGtk::inspectedURLChanged):
(WebKit::WebInspectorClientGtk::attach):
(WebKit::WebInspectorClientGtk::detach):
(WebKit::WebInspectorClientGtk::didChangeAttachedHeight):

  • UIProcess/gtk/WebInspectorClientGtk.h:
  • UIProcess/gtk/WebInspectorProxyGtk.cpp:

(WebKit::WebInspectorProxy::initializeInspectorClientGtk):

  • UIProcess/soup/WebSoupRequestManagerClient.cpp:

(WebKit::WebSoupRequestManagerClient::didReceiveURIRequest):
(WebKit::WebSoupRequestManagerClient::didFailToLoadURIRequest):

  • UIProcess/soup/WebSoupRequestManagerClient.h:
  • UIProcess/soup/WebSoupRequestManagerProxy.cpp:

(WebKit::WebSoupRequestManagerProxy::initializeClient):

  • UIProcess/soup/WebSoupRequestManagerProxy.h:

Tools:

  • TestWebKitAPI/Tests/WebKit2/CoordinatedGraphics/WKViewIsActiveSetIsActive.cpp:

(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/efl/WKViewClientWebProcessCallbacks.cpp:

(TestWebKitAPI::setViewClient):

12:29 AM Changeset in webkit [160074] by zoltan@webkit.org
  • 4 edits in trunk/Source/WebCore

Move space-ignoring inline functions into MidpointState
<https://webkit.org/b/124957>

Reviewed by David Hyatt.

Since:

  • The following inline functions were used only with a mandatory LineMidpointState argument: startIgnoringSpaces, stopIgnoringSpaces, ensureLineBoxInsideIgnoredSpaces, deprecatedAddMidpoint.
  • TrailingObjects class uses these functions. Since they're inline in BreakingContextInlineHeaders.h, it's hard to separate TrailingObjects into it's own file. (blocks bug #124956) I made these functions as a member of LineMidpointState, and I also updated the call sites.

No new tests, no behavior change.

  • platform/text/BidiResolver.h:

(WebCore::MidpointState::startIgnoringSpaces):
(WebCore::MidpointState::stopIgnoringSpaces):
(WebCore::MidpointState::ensureLineBoxInsideIgnoredSpaces):
(WebCore::MidpointState::deprecatedAddMidpoint):

  • rendering/RenderBlock.h:
  • rendering/line/BreakingContextInlineHeaders.h:

(WebCore::TrailingObjects::updateMidpointsForTrailingBoxes):
(WebCore::BreakingContext::handleBR):
(WebCore::BreakingContext::handleOutOfFlowPositioned):
(WebCore::shouldSkipWhitespaceAfterStartObject):
(WebCore::BreakingContext::handleEmptyInline):
(WebCore::BreakingContext::handleReplaced):
(WebCore::ensureCharacterGetsLineBox):
(WebCore::BreakingContext::handleText):

Note: See TracTimeline for information about the timeline view.