Timeline


and

09/22/14: Today

09:53 Changeset [173839] by commit-queue@webkit.org
  • 7 edits
    3 adds in trunk

Simple ES6 feature: Number constructor extras
https://bugs.webkit.org/show_bug.cgi?id=131707

Patch by Diego Pino Garcia <dpino@igalia.com> on 2014-09-22
Reviewed by Darin Adler.

Source/JavaScriptCore:

  • runtime/CommonIdentifiers.h: Added new identifiers.
  • runtime/NumberConstructor.cpp:

(JSC::NumberConstructor::getOwnPropertySlot):
(JSC::NumberConstructor::isFunction): Added.
(JSC::numberConstructorEpsilonValue): Added.
(JSC::numberConstructorNegInfinity): Added.
(JSC::numberConstructorPosInfinity): Added.
(JSC::numberConstructorMaxValue): Added.
(JSC::numberConstructorMinValue): Added.
(JSC::numberConstructorMaxSafeInteger): Added.
(JSC::numberConstructorMinSafeInteger): Added.
(JSC::numberConstructorFuncIsFinite): Added.
(JSC::numberConstructorFuncIsInteger): Added.
(JSC::numberConstructorFuncIsNaN): Added.
(JSC::numberConstructorFuncIsSafeInteger): Added.

  • runtime/NumberConstructor.h:

LayoutTests:

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/number-constructor-expected.txt: Added.
  • js/number-constructor.html: Added.
  • js/script-tests/Object-getOwnPropertyNames.js:
  • js/script-tests/number-constructor.js: Added.
08:51 Changeset [173838] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

Update HTMLMediaElement logging
https://bugs.webkit.org/show_bug.cgi?id=136991

Reviewed by Alexey Proskuryakov.

No new tests, only logging was changed.

  • html/HTMLMediaElement.cpp:

(WebCore::HTMLMediaElement::HTMLMediaElement):
(WebCore::HTMLMediaElement::~HTMLMediaElement):
(WebCore::HTMLMediaElement::parseAttribute):

08:34 Changeset [173837] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

FTL should store the four bytes of the cell header using a 32-bit store rather than four 8-bit stores
https://bugs.webkit.org/show_bug.cgi?id=136992

Reviewed by Sam Weinig.

LLVM ought to be able to do this optimization for us given how the code was written, but
any such lower-level attempts to optimize this would get into trouble with the weird
object materialization logic I'll be introducing in bug 136330. So, this brings the
merging of the byte stores into the FTL lowering so that we can control it explicitly.

  • ftl/FTLAbstractHeap.h:

(JSC::FTL::AbstractHeap::changeParent):

  • ftl/FTLAbstractHeapRepository.cpp:

(JSC::FTL::AbstractHeapRepository::AbstractHeapRepository):

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

(JSC::FTL::LowerDFGToLLVM::allocateCell):

08:00 Changeset [173836] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r173631): It broke the !ENABLE(VIDEO) build
https://bugs.webkit.org/show_bug.cgi?id=136946

Reviewed by Jer Noble.

No new tests required, no new functionality.

  • page/DragController.cpp:

(WebCore::DragController::startDrag):

07:47 Changeset [173835] by mihnea@adobe.com
  • 6 edits in trunk/Source/WebCore

[CSSRegions] Use nullptr in regions code
https://bugs.webkit.org/show_bug.cgi?id=137001

Reviewed by Andrei Bucur.

No new tests as no new functionality is introduced.

  • dom/DOMNamedFlowCollection.cpp:

(WebCore::DOMNamedFlowCollection::item):
(WebCore::DOMNamedFlowCollection::namedItem):

  • dom/NamedFlowCollection.cpp:

(WebCore::NamedFlowCollection::flowByName):

  • dom/WebKitNamedFlow.cpp:

(WebCore::WebKitNamedFlow::WebKitNamedFlow):

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::getLayerListForRegion):
(WebCore::RenderFlowThread::regionForCompositedLayer):
(WebCore::RenderFlowThread::regionAtBlockOffset):
(WebCore::RenderFlowThread::mapFromFlowToRegion):
(WebCore::RenderFlowThread::firstRegion):
(WebCore::RenderFlowThread::lastRegion):
(WebCore::RenderFlowThread::currentActiveRenderBox):

  • rendering/RenderNamedFlowThread.cpp:

(WebCore::RenderNamedFlowThread::nextRendererForElement):

04:20 Changeset [173834] by carlosgc@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.6/Tools

Merge r173832 - [GTK] Test /webkit2/WebKitWebView/can-show-mime-type fails if evince browser plugin is installed
https://bugs.webkit.org/show_bug.cgi?id=136998

Reviewed by Philippe Normand.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(testWebViewCanShowMIMEType): Remove the check of PDF as
unsupported MIME type.

04:19 WebKitGTK/2.6.x edited by carlosgc@webkit.org
(diff)
04:19 Changeset [173833] by carlosgc@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore/platform/gtk/po

Merge r173831 - [kn] Kannada Translation for webkit - Updated
https://bugs.webkit.org/show_bug.cgi?id=116941

Patch by Shankar Prasad <svenkate@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.

  • kn.po:
04:15 Changeset [173832] by carlosgc@webkit.org
  • 2 edits in trunk/Tools

[GTK] Test /webkit2/WebKitWebView/can-show-mime-type fails if evince browser plugin is installed
https://bugs.webkit.org/show_bug.cgi?id=136998

Reviewed by Philippe Normand.

  • TestWebKitAPI/Tests/WebKit2Gtk/TestWebKitWebView.cpp:

(testWebViewCanShowMIMEType): Remove the check of PDF as
unsupported MIME type.

04:11 WebKitGTK/2.6.x edited by berto@igalia.com
(diff)
04:10 Changeset [173831] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[kn] Kannada Translation for webkit - Updated
https://bugs.webkit.org/show_bug.cgi?id=116941

Patch by Shankar Prasad <svenkate@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.

  • kn.po:
03:40 Changeset [173830] by carlosgc@webkit.org
  • 7 edits
    2 adds in releases/WebKitGTK/webkit-2.6

Merge r173806 - [CSS Regions] Assertion failure and null dereference crash when using animations and regions
https://bugs.webkit.org/show_bug.cgi?id=136918

Reviewed by Andrei Bucur.

Source/WebCore:

In some situations, for instance when an image has an attached animation, the style change caused by the animation
triggers a geometry update for the backing store associated with the image's layer. This may occur before
the layout for the image has finished.

Moreover, if the image in such situation - having a composited layer - is displayed in a region,
sicne the layout did not finish yet, the mappings between the layers of the elements collected in the named flow
and the regions associated with the named flow are not updated and cannot be used.

Therefore in those situations, we have to bail out early and use these mappings only after the layout has finished.

This patch also changes RenderLayerBacking method updateAfterDescendents -> updateAfterDescendants.

Test: fast/regions/animated-image-in-region.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::cachedRegionForCompositedLayer):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateAfterDescendants):

  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):

LayoutTests:

  • fast/regions/animated-image-in-region-expected.txt: Added.
  • fast/regions/animated-image-in-region.html: Added.
03:34 Changeset [173829] by carlosgc@webkit.org
  • 4 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r173800 - Fix post-mortem nits for r173724
https://bugs.webkit.org/show_bug.cgi?id=136986

Reviewed by Darin Adler.

Fix post-mortem nits for r173724.

No new tests, no behavior change.

  • editing/EditingStyle.cpp:

(WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue):
(WebCore::HTMLFontSizeEquivalent::attributeValueAsCSSValue):
Use nullptr instead of 0.

  • editing/SplitElementCommand.cpp:

(WebCore::SplitElementCommand::doUnapply):
Use getIdAttribute() / setIdAttribute().

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::computePreferredLogicalWidths):
Use fastHasAttribute() for nowrap and do an early return to avoid
calling styleOrColLogicalWidth() if the nowrap attribute is missing.

03:32 Changeset [173828] by carlosgc@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/JavaScriptCore

Merge r173787 - Leak of mallocs under StructureSet::OutOfLineList::create
https://bugs.webkit.org/show_bug.cgi?id=136970

Reviewed by Filip Pizlo.

addOutOfLine should free the old list when expanding the capacity.

  • bytecode/StructureSet.cpp:

(JSC::StructureSet::addOutOfLine):

03:29 Changeset [173827] by carlosgc@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore

Merge r173767 - REGRESSION(r173464): It broke the !ENABLE(PICTURE_SIZES) build
https://bugs.webkit.org/show_bug.cgi?id=136942

Reviewed by Simon Fraser.

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute):

03:01 WebKitGTK/2.6.x edited by carlosgc@webkit.org
(diff)
02:56 Changeset [173826] by carlosgc@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore/platform/gtk/po

Merge r173824 - [l10n] [mr] WebKitGTK+ Marathi Translations
https://bugs.webkit.org/show_bug.cgi?id=136979

Patch by Sandeep Shedmake <sandeep.shedmake@gmail.com> on 2014-09-22
Reviewed by Philippe Normand.

  • mr.po:
02:53 Changeset [173825] by carlosgc@webkit.org
  • 2 edits in trunk/Tools

Unreviewed. Fix WebKitGTKTranslations rule in watchlist.

In r145081 GTK+ translations were moved from Source/WebKit/gtk/po/
to Source/WebCore/platform/gtk/po/ but the rule was not updated.

  • Scripts/webkitpy/common/config/watchlist: Use

Source/WebCore/platform/gtk/po/ as directory to watch for
WebKitGTKTranslations rule and add berto and myself to the list of
watchers.

02:48 Changeset [173824] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[l10n] [mr] WebKitGTK+ Marathi Translations
https://bugs.webkit.org/show_bug.cgi?id=136979

Patch by Sandeep Shedmake <sandeep.shedmake@gmail.com> on 2014-09-22
Reviewed by Philippe Normand.

  • mr.po:
02:47 WebKitGTK/2.6.x edited by berto@igalia.com
(diff)
02:42 Changeset [173823] by carlosgc@webkit.org
  • 6 edits
    4 adds in releases/WebKitGTK/webkit-2.6

Merge r173809 - [GStreamer] Cannot play Vimeo video
https://bugs.webkit.org/show_bug.cgi?id=134969

Reviewed by Sergio Villar Senin.

Source/WebCore:

Ensure the GStreamer HTTP source element also sends cookies when
it's sending its requests. Some streaming platforms such as Vimeo
do server-side cookie checks on incoming requests before serving
media data.

Test: http/tests/media/hls/video-cookie.html

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcStart): Set first-party cookie URL to the request so
the ResourceLoader properly sets cookies in the HTTP request.

LayoutTests:

New test for a HLS stream enforcing a specific cookie before
serving its fragments, like Vimeo does.

  • http/tests/media/hls/video-cookie-expected.txt: Added.
  • http/tests/media/hls/video-cookie.html: Added.
  • http/tests/media/resources/hls/playlist-with-cookie.m3u8: Added.
  • http/tests/media/resources/hls/sub-playlist-with-cookie.php: Added.
  • http/tests/media/resources/video-cookie-check-cookie.php:
  • platform/gtk/TestExpectations: Marked test as slow, as the other

HLS test.

02:41 WebKitGTK/2.6.x edited by carlosgc@webkit.org
(diff)
02:37 Changeset [173822] by carlosgc@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore/platform/gtk/po

Merge r173815 - [l10n] Updated Polish translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=136976

Patch by Piotr Drąg <piotrdrag@gmail.com> on 2014-09-22
Reviewed by Philippe Normand.

  • pl.po:
02:36 Changeset [173821] by carlosgc@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore/platform/gtk/po

Merge r173814 - [l10n] Updated Hebrew translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=136678

Patch by Yosef Or Boczko <yoseforb@gnome.org> on 2014-09-22
Reviewed by Philippe Normand.

  • he.po:
02:36 WebKitGTK/2.6.x edited by carlosgc@webkit.org
(diff)
02:35 Changeset [173820] by carlosgc@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore/platform/gtk/po

Merge r173813 - Webkit Tamil translations updated
https://bugs.webkit.org/show_bug.cgi?id=136816

Patch by Shantha kumar <shantha.thamizh@gmail.com> on 2014-09-22
Reviewed by Philippe Normand.

  • ta.po:
02:34 Changeset [173819] by carlosgc@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore/platform/gtk/po

Merge r173812 - [as] Updated Assamese translations of WebKitGtk+
https://bugs.webkit.org/show_bug.cgi?id=136908

Patch by Nilamdyuti Goswami <ngoswami@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.

  • as.po:
02:33 Changeset [173818] by carlosgc@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore/platform/gtk/po

Merge r173811 - Odia (or_IN) translation for webkit
https://bugs.webkit.org/show_bug.cgi?id=136920

Patch by Manoj Kumar Giri <mgiri@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.

  • or.po:
02:32 Changeset [173817] by carlosgc@webkit.org
  • 2 edits in releases/WebKitGTK/webkit-2.6/Source/WebCore/platform/gtk/po

Merge r173810 - Webkit Gujarati Translations
https://bugs.webkit.org/show_bug.cgi?id=136525

Patch by Sweta Kothari <swkothar@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.

  • gu.po:
02:29 WebKitGTK/2.6.x edited by carlosgc@webkit.org
(diff)
02:29 WebKitGTK/2.6.x edited by carlosgc@webkit.org
(diff)
01:51 Changeset [173816] by ryuan.choi@gmail.com
  • 2 edits in trunk/Tools

Fix syntaxError in watchlist since r173594
https://bugs.webkit.org/show_bug.cgi?id=136996

Reviewed by Philippe Normand.

  • Scripts/webkitpy/common/config/watchlist: Removed unnecessary comma.
01:44 WebKitGTK/2.6.x edited by philn@igalia.com
(diff)
01:41 WebKitGTK/2.6.x edited by berto@igalia.com
(diff)
01:36 Changeset [173815] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[l10n] Updated Polish translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=136976

Patch by Piotr Drąg <piotrdrag@gmail.com> on 2014-09-22
Reviewed by Philippe Normand.

  • pl.po:
01:34 Changeset [173814] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[l10n] Updated Hebrew translation of WebKitGTK+
https://bugs.webkit.org/show_bug.cgi?id=136678

Patch by Yosef Or Boczko <yoseforb@gnome.org> on 2014-09-22
Reviewed by Philippe Normand.

  • he.po:
01:33 Changeset [173813] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

Webkit Tamil translations updated
https://bugs.webkit.org/show_bug.cgi?id=136816

Patch by Shantha kumar <shantha.thamizh@gmail.com> on 2014-09-22
Reviewed by Philippe Normand.

  • ta.po:
01:32 Changeset [173812] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

[as] Updated Assamese translations of WebKitGtk+
https://bugs.webkit.org/show_bug.cgi?id=136908

Patch by Nilamdyuti Goswami <ngoswami@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.

  • as.po:
01:30 Changeset [173811] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

Odia (or_IN) translation for webkit
https://bugs.webkit.org/show_bug.cgi?id=136920

Patch by Manoj Kumar Giri <mgiri@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.

  • or.po:
01:28 Changeset [173810] by berto@igalia.com
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

Webkit Gujarati Translations
https://bugs.webkit.org/show_bug.cgi?id=136525

Patch by Sweta Kothari <swkothar@redhat.com> on 2014-09-22
Reviewed by Philippe Normand.

  • gu.po:
01:15 Changeset [173809] by philn@webkit.org
  • 6 edits
    4 adds in trunk

[GStreamer] Cannot play Vimeo video
https://bugs.webkit.org/show_bug.cgi?id=134969

Reviewed by Sergio Villar Senin.

Source/WebCore:

Ensure the GStreamer HTTP source element also sends cookies when
it's sending its requests. Some streaming platforms such as Vimeo
do server-side cookie checks on incoming requests before serving
media data.

Test: http/tests/media/hls/video-cookie.html

  • platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:

(webKitWebSrcStart): Set first-party cookie URL to the request so
the ResourceLoader properly sets cookies in the HTTP request.

LayoutTests:

New test for a HLS stream enforcing a specific cookie before
serving its fragments, like Vimeo does.

  • http/tests/media/hls/video-cookie-expected.txt: Added.
  • http/tests/media/hls/video-cookie.html: Added.
  • http/tests/media/resources/hls/playlist-with-cookie.m3u8: Added.
  • http/tests/media/resources/hls/sub-playlist-with-cookie.php: Added.
  • http/tests/media/resources/video-cookie-check-cookie.php:
  • platform/gtk/TestExpectations: Marked test as slow, as the other

HLS test.

00:51 Changeset [173808] by mihnea@adobe.com
  • 2 edits in trunk/Source/WebCore

Leverage RenderLayerBacking::renderer() instead of m_owningLayer.renderer()
https://bugs.webkit.org/show_bug.cgi?id=136954

Reviewed by Darin Adler.

No new tests just refactoring.

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateCompositedBounds):
(WebCore::RenderLayerBacking::updateDirectlyCompositedBackgroundImage):
(WebCore::RenderLayerBacking::paintIntoLayer):

00:20 Changeset [173807] by commit-queue@webkit.org
  • 6 edits in trunk/Source/WTF

Eliminate redundant PtrHash specializations
https://bugs.webkit.org/show_bug.cgi?id=136990

Patch by Sam Weinig <sam@webkit.org> on 2014-09-22
Reviewed by Darin Adler.

Now that we have IsSmartPtr, we can eliminate all the specializations
of PtrHash that we had (for RefPtr, OwnPtr, RetainPtr, and std::unique_ptr)
and instead just have one that uses GetPtrHelper.

No changes of behavior intended.

  • wtf/GetPtr.h:

Remove unnecessary const_cast that Darin noticed.

  • wtf/HashFunctions.h:

(WTF::PtrHash::hash): Deleted.
(WTF::PtrHash::equal): Deleted.
(WTF::PtrHash<RefPtr<P>>::hash): Deleted.
(WTF::PtrHash<RefPtr<P>>::equal): Deleted.
Specialize PtrHash based on whether the type is a smart pointer, and use GetPtrHelper
to implement the smart pointer specialized variant.

  • wtf/HashMap.h:

Remove include of GetPtr.h that is now included by HashFunctions.h

  • wtf/OwnPtr.h:

(WTF::PtrHash<OwnPtr<P>>::hash): Deleted.
(WTF::PtrHash<OwnPtr<P>>::equal): Deleted.
Remove unnecessary specialization of PtrHash.

  • wtf/RetainPtr.h:

(WTF::PtrHash<RetainPtr<P>>::hash): Deleted.
(WTF::PtrHash<RetainPtr<P>>::equal): Deleted.
Specialize IsSmartPointer for RetainPtr and remove the then unnecessary specialization of PtrHash.
(This is already tested in the API test WTF/cf/RetainPtrHashing).

00:08 Changeset [173806] by mihnea@adobe.com
  • 7 edits
    2 adds in trunk

[CSS Regions] Assertion failure and null dereference crash when using animations and regions
https://bugs.webkit.org/show_bug.cgi?id=136918

Reviewed by Andrei Bucur.

Source/WebCore:

In some situations, for instance when an image has an attached animation, the style change caused by the animation
triggers a geometry update for the backing store associated with the image's layer. This may occur before
the layout for the image has finished.

Moreover, if the image in such situation - having a composited layer - is displayed in a region,
sicne the layout did not finish yet, the mappings between the layers of the elements collected in the named flow
and the regions associated with the named flow are not updated and cannot be used.

Therefore in those situations, we have to bail out early and use these mappings only after the layout has finished.

This patch also changes RenderLayerBacking method updateAfterDescendents -> updateAfterDescendants.

Test: fast/regions/animated-image-in-region.html

  • rendering/RenderFlowThread.cpp:

(WebCore::RenderFlowThread::cachedRegionForCompositedLayer):

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::calculateClipRects):

  • rendering/RenderLayerBacking.cpp:

(WebCore::RenderLayerBacking::updateAfterDescendants):

  • rendering/RenderLayerBacking.h:
  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
(WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
(WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):

LayoutTests:

  • fast/regions/animated-image-in-region-expected.txt: Added.
  • fast/regions/animated-image-in-region.html: Added.

09/21/14: Yesterday

23:58 Changeset [173805] by saambarati1@gmail.com
  • 5 edits in trunk/Source

Web Inspector: fix TypeSet hierarchy in TypeTokenView
https://bugs.webkit.org/show_bug.cgi?id=136982

Reviewed by Joseph Pecoraro.

Source/JavaScriptCore:

TypeSet was computing the set of type booleans in the Inspector::Protocol::Runtime::TypeSet
object incorrectly because it was calling TypeSet::doesTypeConformTo(T) which checks if the
type set has only been of type T. It now checks '(m_seenTypes & T) != TypeNothing' to see
if type T is in the set of seen types, but not the entire set itself.

  • runtime/TypeSet.cpp:

(JSC::TypeSet::inspectorTypeSet):

Source/WebInspectorUI:

The protocol object representation of TypeSet was being computed
incorrectly in JSC::TypeSet. This patch fixes that problem
and also asserts that the type information that the Web Inspector
receives is not empty.

  • UserInterface/Models/TypeSet.js:

(WebInspector.TypeSet):

  • UserInterface/Views/TypeTokenView.js:

(WebInspector.TypeTokenView.prototype._displayTypeName):

22:59 BadContent edited by ossy@webkit.org
add one more spammer (diff)
20:51 Changeset [173804] by cdumez@apple.com
  • 167 edits in trunk/Source

Generate Element casting helper functions
https://bugs.webkit.org/show_bug.cgi?id=136839

Reviewed by Darin Adler.

Source/WebCore:

Generate Element casting helper functions instead of requiring explicit
use of NODE_TYPE_CASTS() macro. Casting is now done using the following
form: downcast<HTMLDivElement>(), instead of toHTMLDivElement().

The previous form (i.e. toHTMLDivElement()) is still supported for now
by generating macros that convert these calls into the new form, until
the code base is ported to the new casting helpers.

The plan is also to use is<HTMLDivElement>() instead of
isHTMLDivElement() for consistency but this was not changed in this
patch to avoid blowing up the size.

This CL also updates the way we convert a JSValue into an
implementation pointer. Instead of using toHTMLDivElement(), which
looked like a cast, we now use JSHTMLDivElement::toWrapped(). This
avoids conflicting with the toXXXElement() macros and makes it
clearer this is not a simple cast.

No new tests, no behavior change.

  • Modules/plugins/QuickTimePluginReplacement.mm:

(WebCore::QuickTimePluginReplacement::installReplacement):

  • WebCore.exp.in:
  • bindings/js/JSAudioBufferSourceNodeCustom.cpp:

(WebCore::JSAudioBufferSourceNode::setBuffer):

  • bindings/js/JSBlobCustom.cpp:

(WebCore::constructJSBlob):

  • bindings/js/JSCommandLineAPIHostCustom.cpp:

(WebCore::JSCommandLineAPIHost::getEventListeners):
(WebCore::JSCommandLineAPIHost::databaseId):
(WebCore::JSCommandLineAPIHost::storageId):

  • bindings/js/JSDOMFormDataCustom.cpp:

(WebCore::toHTMLFormElementOrNull):
(WebCore::constructJSDOMFormData):
(WebCore::JSDOMFormData::append):
(WebCore::toHTMLFormElement): Deleted.

  • bindings/js/JSDOMStringListCustom.cpp:

(WebCore::JSDOMStringList::toWrapped):
(WebCore::toDOMStringList): Deleted.

  • bindings/js/JSDOMWindowCustom.cpp:

(WebCore::JSDOMWindow::toWrapped):
(WebCore::toDOMWindow): Deleted.

  • bindings/js/JSDictionary.cpp:

(WebCore::JSDictionary::convertValue):

  • bindings/js/JSDocumentCustom.cpp:

(WebCore::JSDocument::createTouchList):

  • bindings/js/JSEventTargetCustom.cpp:

(WebCore::JSEventTarget::toWrapped):
(WebCore::toEventTarget): Deleted.

  • bindings/js/JSExceptionBase.cpp:

(WebCore::toExceptionBase):

  • bindings/js/JSHTMLMediaElementCustom.cpp:

(WebCore::JSHTMLMediaElement::setController):

  • bindings/js/JSHTMLOptionsCollectionCustom.cpp:

(WebCore::JSHTMLOptionsCollection::add):
(WebCore::JSHTMLOptionsCollection::remove):

  • bindings/js/JSHTMLSelectElementCustom.cpp:

(WebCore::JSHTMLSelectElement::remove):
(WebCore::selectIndexSetter):

  • bindings/js/JSInspectorFrontendHostCustom.cpp:

(WebCore::JSInspectorFrontendHost::showContextMenu):

  • bindings/js/JSMessageEventCustom.cpp:

(WebCore::handleInitMessageEvent):

  • bindings/js/JSMessagePortCustom.cpp:

(WebCore::fillMessagePortArray):

  • bindings/js/JSNodeCustom.cpp:

(WebCore::JSNode::insertBefore):
(WebCore::JSNode::replaceChild):
(WebCore::JSNode::removeChild):
(WebCore::JSNode::appendChild):

  • bindings/js/JSNodeFilterCustom.cpp:

(WebCore::JSNodeFilter::toWrapped):
(WebCore::toNodeFilter): Deleted.

  • bindings/js/JSSubtleCryptoCustom.cpp:

(WebCore::JSSubtleCrypto::encrypt):
(WebCore::JSSubtleCrypto::decrypt):
(WebCore::JSSubtleCrypto::sign):
(WebCore::JSSubtleCrypto::verify):
(WebCore::JSSubtleCrypto::exportKey):
(WebCore::JSSubtleCrypto::wrapKey):
(WebCore::JSSubtleCrypto::unwrapKey):

  • bindings/js/JSWebGLRenderingContextCustom.cpp:

(WebCore::JSWebGLRenderingContext::getAttachedShaders):
(WebCore::JSWebGLRenderingContext::getProgramParameter):
(WebCore::JSWebGLRenderingContext::getShaderParameter):
(WebCore::JSWebGLRenderingContext::getUniform):
(WebCore::dataFunctionf):
(WebCore::dataFunctioni):
(WebCore::dataFunctionMatrix):

  • bindings/js/JSXMLHttpRequestCustom.cpp:

(WebCore::JSXMLHttpRequest::send):

  • bindings/js/SerializedScriptValue.cpp:

(WebCore::CloneSerializer::dumpIfTerminal):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):
(GenerateParametersCheck):
(JSValueToNative):

  • bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:

(WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
(WebCore::JSTestActiveDOMObject::toWrapped):
(WebCore::toTestActiveDOMObject): Deleted.

  • bindings/scripts/test/JS/JSTestActiveDOMObject.h:
  • bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:

(WebCore::JSTestCustomNamedGetter::toWrapped):
(WebCore::toTestCustomNamedGetter): Deleted.

  • bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
  • bindings/scripts/test/JS/JSTestEventConstructor.cpp:

(WebCore::JSTestEventConstructor::toWrapped):
(WebCore::toTestEventConstructor): Deleted.

  • bindings/scripts/test/JS/JSTestEventConstructor.h:
  • bindings/scripts/test/JS/JSTestEventTarget.cpp:

(WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
(WebCore::JSTestEventTarget::toWrapped):
(WebCore::toTestEventTarget): Deleted.

  • bindings/scripts/test/JS/JSTestEventTarget.h:
  • bindings/scripts/test/JS/JSTestException.cpp:

(WebCore::JSTestException::toWrapped):
(WebCore::toTestException): Deleted.

  • bindings/scripts/test/JS/JSTestException.h:
  • bindings/scripts/test/JS/JSTestGenerateIsReachable.cpp:

(WebCore::JSTestGenerateIsReachable::toWrapped):
(WebCore::toTestGenerateIsReachable): Deleted.

  • bindings/scripts/test/JS/JSTestGenerateIsReachable.h:
  • bindings/scripts/test/JS/JSTestInterface.cpp:

(WebCore::setJSTestInterfaceImplementsNode):
(WebCore::setJSTestInterfaceSupplementalNode):
(WebCore::jsTestInterfacePrototypeFunctionImplementsMethod2):
(WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
(WebCore::JSTestInterface::toWrapped):
(WebCore::toTestInterface): Deleted.

  • bindings/scripts/test/JS/JSTestInterface.h:
  • bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:

(WebCore::JSTestMediaQueryListListener::toWrapped):
(WebCore::toTestMediaQueryListListener): Deleted.

  • bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
  • bindings/scripts/test/JS/JSTestNamedConstructor.cpp:

(WebCore::JSTestNamedConstructor::toWrapped):
(WebCore::toTestNamedConstructor): Deleted.

  • bindings/scripts/test/JS/JSTestNamedConstructor.h:
  • bindings/scripts/test/JS/JSTestNondeterministic.cpp:

(WebCore::JSTestNondeterministic::toWrapped):
(WebCore::toTestNondeterministic): Deleted.

  • bindings/scripts/test/JS/JSTestNondeterministic.h:
  • bindings/scripts/test/JS/JSTestObj.cpp:

(WebCore::setJSTestObjTestObjAttr):
(WebCore::setJSTestObjXMLObjAttr):
(WebCore::setJSTestObjWithScriptExecutionContextAttribute):
(WebCore::setJSTestObjWithScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
(WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
(WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
(WebCore::setJSTestObjMutablePoint):
(WebCore::setJSTestObjImmutablePoint):
(WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionByteMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionOctetMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionLongMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
(WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
(WebCore::jsTestObjPrototypeFunctionOverloadedMethod8):
(WebCore::jsTestObjPrototypeFunctionConvert1):
(WebCore::jsTestObjPrototypeFunctionConvert2):
(WebCore::jsTestObjPrototypeFunctionConvert4):
(WebCore::jsTestObjPrototypeFunctionConvert5):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithSequence):
(WebCore::jsTestObjPrototypeFunctionStrictFunctionWithArray):
(WebCore::jsTestObjPrototypeFunctionVariadicNodeMethod):
(WebCore::JSTestObj::toWrapped):
(WebCore::toTestObj): Deleted.

  • bindings/scripts/test/JS/JSTestObj.h:
  • bindings/scripts/test/JS/JSTestOverloadedConstructors.cpp:

(WebCore::JSTestOverloadedConstructorsConstructor::constructJSTestOverloadedConstructors3):
(WebCore::JSTestOverloadedConstructors::toWrapped):
(WebCore::toTestOverloadedConstructors): Deleted.

  • bindings/scripts/test/JS/JSTestOverloadedConstructors.h:
  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:

(WebCore::JSTestSerializedScriptValueInterface::toWrapped):
(WebCore::toTestSerializedScriptValueInterface): Deleted.

  • bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
  • bindings/scripts/test/JS/JSTestTypedefs.cpp:

(WebCore::jsTestTypedefsPrototypeFunctionMethodWithSequenceArg):
(WebCore::jsTestTypedefsPrototypeFunctionCallWithSequenceThatRequiresInclude):
(WebCore::JSTestTypedefs::toWrapped):
(WebCore::toTestTypedefs): Deleted.

  • bindings/scripts/test/JS/JSTestTypedefs.h:
  • bindings/scripts/test/JS/JSattribute.cpp:

(WebCore::JSattribute::toWrapped):
(WebCore::toattribute): Deleted.

  • bindings/scripts/test/JS/JSattribute.h:
  • bindings/scripts/test/JS/JSreadonly.cpp:

(WebCore::JSreadonly::toWrapped):
(WebCore::toreadonly): Deleted.

  • bindings/scripts/test/JS/JSreadonly.h:
  • dom/Element.h:

(WebCore::downcast):

  • dom/make_names.pl:

(printTypeHelpers):

  • html/HTMLAnchorElement.h:
  • html/HTMLAreaElement.h:
  • html/HTMLAudioElement.h:
  • html/HTMLBaseElement.h:
  • html/HTMLBodyElement.h:
  • html/HTMLCanvasElement.h:
  • html/HTMLDataListElement.h:
  • html/HTMLDetailsElement.h:
  • html/HTMLDivElement.h:
  • html/HTMLEmbedElement.h:
  • html/HTMLFieldSetElement.h:
  • html/HTMLFormElement.h:
  • html/HTMLFrameElement.h:
  • html/HTMLFrameSetElement.h:
  • html/HTMLHtmlElement.h:
  • html/HTMLIFrameElement.h:
  • html/HTMLImageElement.h:
  • html/HTMLInputElement.h:
  • html/HTMLLabelElement.h:
  • html/HTMLLegendElement.h:
  • html/HTMLLinkElement.h:
  • html/HTMLMapElement.h:
  • html/HTMLMarqueeElement.h:
  • html/HTMLMetaElement.h:
  • html/HTMLMeterElement.h:
  • html/HTMLOListElement.h:
  • html/HTMLObjectElement.h:
  • html/HTMLOptGroupElement.h:
  • html/HTMLOptionElement.h:
  • html/HTMLParamElement.h:
  • html/HTMLProgressElement.h:
  • html/HTMLScriptElement.h:
  • html/HTMLSelectElement.h:
  • html/HTMLSourceElement.h:
  • html/HTMLStyleElement.h:
  • html/HTMLSummaryElement.h:
  • html/HTMLTableCaptionElement.h:
  • html/HTMLTableElement.h:
  • html/HTMLTableRowElement.h:
  • html/HTMLTemplateElement.h:
  • html/HTMLTextAreaElement.h:
  • html/HTMLTitleElement.h:
  • html/HTMLTrackElement.h:
  • html/HTMLVideoElement.h:
  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::scriptValueAsNode):

  • mathml/MathMLMencloseElement.h:
  • svg/SVGAltGlyphDefElement.h:
  • svg/SVGAltGlyphElement.h:
  • svg/SVGAltGlyphItemElement.h:
  • svg/SVGAnimateMotionElement.h:
  • svg/SVGAnimateTransformElement.h:
  • svg/SVGCircleElement.h:
  • svg/SVGClipPathElement.h:
  • svg/SVGCursorElement.h:
  • svg/SVGEllipseElement.h:
  • svg/SVGFEDistantLightElement.h:
  • svg/SVGFEFuncAElement.h:
  • svg/SVGFEFuncBElement.h:
  • svg/SVGFEFuncGElement.h:
  • svg/SVGFEFuncRElement.h:
  • svg/SVGFEMergeNodeElement.h:
  • svg/SVGFEPointLightElement.h:
  • svg/SVGFESpotLightElement.h:
  • svg/SVGFilterElement.h:
  • svg/SVGFontElement.h:
  • svg/SVGFontFaceElement.h:
  • svg/SVGFontFaceNameElement.h:
  • svg/SVGFontFaceSrcElement.h:
  • svg/SVGFontFaceUriElement.h:
  • svg/SVGForeignObjectElement.h:
  • svg/SVGGlyphElement.h:
  • svg/SVGGlyphRefElement.h:
  • svg/SVGHKernElement.h:
  • svg/SVGImageElement.h:
  • svg/SVGLineElement.h:
  • svg/SVGLinearGradientElement.h:
  • svg/SVGMPathElement.h:
  • svg/SVGMarkerElement.h:
  • svg/SVGMaskElement.h:
  • svg/SVGMissingGlyphElement.h:
  • svg/SVGPathElement.h:
  • svg/SVGPatternElement.h:
  • svg/SVGPolygonElement.h:
  • svg/SVGPolylineElement.h:
  • svg/SVGRadialGradientElement.h:
  • svg/SVGRectElement.h:
  • svg/SVGSVGElement.h:
  • svg/SVGScriptElement.h:
  • svg/SVGStopElement.h:
  • svg/SVGStyleElement.h:
  • svg/SVGTextElement.h:
  • svg/SVGTextPathElement.h:
  • svg/SVGTitleElement.h:
  • svg/SVGUseElement.h:
  • svg/SVGVKernElement.h:
  • svg/SVGViewElement.h:

Source/WebKit:

Update some of the exported symbols on Windows for functions that were
renamed.

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

Source/WebKit/mac:

Use JSXXX::toWrapped() instead of toXXX() function.

  • DOM/WebDOMOperations.mm:
  • WebView/WebView.mm:

(-[WebView _notificationIDForTesting:]):

Source/WebKit/win:

Use JSXXX::toWrapped() instead of toXXX() function.

  • WebView.cpp:

(WebView::elementFromJS):

Source/WebKit2:

Use JSXXX::toWrapped() instead of toXXX() function.

  • WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:

(WebKit::InjectedBundleNodeHandle::getOrCreate):

  • WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:

(WebKit::InjectedBundleRangeHandle::getOrCreate):

  • WebProcess/InjectedBundle/InjectedBundle.cpp:

(WebKit::InjectedBundle::webNotificationID):

20:42 Changeset [173803] by saambarati1@gmail.com
  • 3 edits in trunk/Source/WebInspectorUI

Web Inspector: unlocalized 'many' string in type profiler inline bubble
https://bugs.webkit.org/show_bug.cgi?id=136980

Reviewed by Timothy Hatcher.

Generate the localizable string for the type profiler's "many" inline bubble.

  • Localizations/en.lproj/localizedStrings.js:
  • UserInterface/Views/TypeTokenView.js:
17:31 Changeset [173802] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit/mac

Leak: WebNotificationPrivate ObjC leaks seen on leaks bot
https://bugs.webkit.org/show_bug.cgi?id=136972

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-09-21
Reviewed by Darin Adler.

  • WebView/WebNotification.h:
  • WebView/WebNotification.mm:

(-[WebNotification initWithCoreNotification:notificationID:]):
Switch to RetainPtr and adopt into _private to ensure when we are
deallocated that _private will get deallocated.

17:24 Changeset [173801] by weinig@apple.com
  • 15 edits
    1 move
    1 add in trunk

Make possible HashSet<std::unique_ptr<>>
https://bugs.webkit.org/show_bug.cgi?id=136166

Reviewed by Darin Adler.

Source/WTF:

  • wtf/GetPtr.h:

(WTF::getPtr):
(WTF::GetPtrHelper<std::unique_ptr<T>>::getPtr):
Make specializing GetPtrHelper a bit cleaner (you don't have to put
IsSmartPtr<T>::value everywhere any more) and add specializations for
std::unique_ptr.

  • wtf/HashFunctions.h:

(WTF::PtrHash<std::unique_ptr<P>>):
Add specialization for PtrHash for std::unique_ptr and set it as the DefaultHash
for it as well.

  • wtf/HashMap.h:
  • wtf/HashSet.h:

Add overloads of find(), contains(), remove(), take() (and get() for HashMap) for "smart pointers" that
take the raw pointer type as the parameter. These use SFINAE to make themselves only available
when the IsSmartPtr<KeyType>::value is true.

  • wtf/HashTraits.h:

Override constructDeletedValue() and isDeletedValue() in the std::unique_ptr specialization
since the default implementation depends on the type having a constructor that takes a HashTableDeletedValue
and function named isHashTableDeletedValue().

  • wtf/OwnPtr.h:

(WTF::OwnPtr::OwnPtr):
(WTF::OwnPtr::isHashTableDeletedValue):
(WTF::OwnPtr::hashTableDeletedValue):
Add HashTableDeletedValue constructor/functions to allow the constructDeletedValue() and isDeletedValue()
hash traits to work.

(WTF::PtrHash<OwnPtr<P>>::hash):
(WTF::PtrHash<OwnPtr<P>>::equal):
Add specialization for PtrHash for OwnPtr and set it as the DefaultHash
for it as well.

  • wtf/Ref.h:

Update for the less verbose GetPtrHelper specialization.

Tools:

  • TestWebKitAPI/Tests/WTF/CopyMoveCounter.h: Removed.
  • TestWebKitAPI/Counters.cpp: Added.
  • TestWebKitAPI/Counters.h: Copied from Tools/TestWebKitAPI/Tests/WTF/CopyMoveCounter.h.

Move the CopyMoveCounter helper from CopyMoveCounter.h to Counters.h, and add a ConstructorDestructorCounter
helper to the mix as well. Add Counters.cpp to allow for the global variables to be used in more than one
translation unit.

  • TestWebKitAPI/TestWebKitAPI.xcodeproj/project.pbxproj:

Add new files.

  • TestWebKitAPI/Tests/WTF/HashMap.cpp:

Add tests for using std::unique_ptr and OwnPtr as the key's of a HashMap.

  • TestWebKitAPI/Tests/WTF/HashSet.cpp:

Add tests for using std::unique_ptr and OwnPtr as the values of a HashSet.

17:18 Changeset [173800] by cdumez@apple.com
  • 4 edits in trunk/Source/WebCore

Fix post-mortem nits for r173724
https://bugs.webkit.org/show_bug.cgi?id=136986

Reviewed by Darin Adler.

Fix post-mortem nits for r173724.

No new tests, no behavior change.

  • editing/EditingStyle.cpp:

(WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue):
(WebCore::HTMLFontSizeEquivalent::attributeValueAsCSSValue):
Use nullptr instead of 0.

  • editing/SplitElementCommand.cpp:

(WebCore::SplitElementCommand::doUnapply):
Use getIdAttribute() / setIdAttribute().

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::computePreferredLogicalWidths):
Use fastHasAttribute() for nowrap and do an early return to avoid
calling styleOrColLogicalWidth() if the nowrap attribute is missing.

16:52 Changeset [173799] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

Structure should have a method for concurrently getting all of the property map entries, and this method shouldn't involve copy-paste
https://bugs.webkit.org/show_bug.cgi?id=136983

Reviewed by Mark Hahnenberg.

  • runtime/PropertyMapHashTable.h:

(JSC::PropertyMapEntry::PropertyMapEntry): Moved PropertyMapEntry struct to Structure.h so that Structure can refer to it.

  • runtime/Structure.cpp:

(JSC::Structure::getConcurrently): Switch to using the new forEachPropertyConcurrently() method.
(JSC::Structure::getPropertiesConcurrently): The subject of this patch. It will be useful for object allocation sinking (bug 136330).
(JSC::Structure::dump): Switch to using the new forEachPropertyConcurrently() method.

  • runtime/Structure.h:

(JSC::PropertyMapEntry::PropertyMapEntry): Moved from PropertyMapHashTable.h.

  • runtime/StructureInlines.h:

(JSC::Structure::forEachPropertyConcurrently): Capture this very common concurrent structure iteration pattern into a template method.

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

run-webkit-tests should count tests submitted as absolute paths once
https://bugs.webkit.org/show_bug.cgi?id=136848

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-09-21
Reviewed by Darin Adler.

  • Scripts/webkitpy/port/base.py:

(Port._expanded_paths): In case of absolute path, do not search for platform specific tests.

12:18 Changeset [173797] by fpizlo@apple.com
  • 16 edits in trunk/Source/JavaScriptCore

Structure::getConcurrently() doesn't need to take a VM& argument.

Rubber stamped by Dan Bernstein.

Removed the extra argument, and then removed similar arguments from other methods until
I could build successfully again. It turned out that many methods took a VM& argument
just for calling getConcurrently().

  • bytecode/CodeBlock.cpp:

(JSC::dumpStructure):
(JSC::dumpChain):
(JSC::CodeBlock::printGetByIdCacheStatus):
(JSC::CodeBlock::printPutByIdCacheStatus):

  • bytecode/ComplexGetStatus.cpp:

(JSC::ComplexGetStatus::computeFor):

  • bytecode/GetByIdStatus.cpp:

(JSC::GetByIdStatus::computeFromLLInt):
(JSC::GetByIdStatus::computeForStubInfo):
(JSC::GetByIdStatus::computeFor):

  • bytecode/GetByIdStatus.h:
  • bytecode/PutByIdStatus.cpp:

(JSC::PutByIdStatus::computeFromLLInt):
(JSC::PutByIdStatus::computeForStubInfo):
(JSC::PutByIdStatus::computeFor):

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

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGConstantFoldingPhase.cpp:

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

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::isStringPrototypeMethodSane):

  • runtime/IntendedStructureChain.cpp:

(JSC::IntendedStructureChain::mayInterceptStoreTo):

  • runtime/IntendedStructureChain.h:
  • runtime/Structure.cpp:

(JSC::Structure::getConcurrently):

  • runtime/Structure.h:
  • runtime/StructureInlines.h:

(JSC::Structure::getConcurrently):

11:26 Changeset [173796] by fpizlo@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed, speculative build fix.

If you use typed arrays, you gotta include runtime/TypedArrayInlines.h.

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

09/20/14:

14:52 Changeset [173795] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

FTL OSRExit construction should be based on methods that return ExitValues rather than methods that add ExitValues to OSRExit
https://bugs.webkit.org/show_bug.cgi?id=136978

Reviewed by Dean Jackson.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::buildExitArguments):
(JSC::FTL::LowerDFGToLLVM::exitValueForNode):
(JSC::FTL::LowerDFGToLLVM::exitArgument):
(JSC::FTL::LowerDFGToLLVM::addExitArgumentForNode): Deleted.
(JSC::FTL::LowerDFGToLLVM::tryToSetConstantExitArgument): Deleted.
(JSC::FTL::LowerDFGToLLVM::addExitArgument): Deleted.

11:45 Changeset [173794] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

FTL OSR exit should do reboxing and value recovery in the same pass
https://bugs.webkit.org/show_bug.cgi?id=136977

Reviewed by Oliver Hunt.

It's conceptually simpler to have all of the logic in one place. After the
recover-and-rebox loop is done, all of the exit values are in the form that the baseline
JIT would want them to be in; the only remaining task is to move them into the right
place on the stack after we do all of the necessary stack adjustments.

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStub):

10:59 Changeset [173793] by fpizlo@apple.com
  • 12 edits in trunk/Source/JavaScriptCore

StorageAccessData should be referenced in a sensible way
https://bugs.webkit.org/show_bug.cgi?id=136963

Reviewed and rubber stamped by Michael Saboff.

  • dfg/DFGAbstractInterpreterInlines.h:

(JSC::DFG::AbstractInterpreter<AbstractStateType>::executeEffects):

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::handleGetByOffset):
(JSC::DFG::ByteCodeParser::handlePutByOffset):
(JSC::DFG::ByteCodeParser::handlePutById):

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize):

  • dfg/DFGConstantFoldingPhase.cpp:

(JSC::DFG::ConstantFoldingPhase::emitGetByOffset):
(JSC::DFG::ConstantFoldingPhase::emitPutByOffset):

  • dfg/DFGGraph.cpp:

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

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

(JSC::DFG::Node::convertToGetByOffset):
(JSC::DFG::Node::convertToPutByOffset):
(JSC::DFG::Node::storageAccessData):
(JSC::DFG::Node::storageAccessDataIndex): Deleted.

  • dfg/DFGSafeToExecute.h:

(JSC::DFG::safeToExecute):

  • dfg/DFGSpeculativeJIT32_64.cpp:

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

  • dfg/DFGSpeculativeJIT64.cpp:

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

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::compileGetByOffset):
(JSC::FTL::LowerDFGToLLVM::compilePutByOffset):

08:34 Changeset [173792] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Option+Click on CSS url(...) should jump to resource view
https://bugs.webkit.org/show_bug.cgi?id=136965

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-09-20
Reviewed by Timothy Hatcher.

  • UserInterface/Views/CodeMirrorAdditions.js:

When parsing CSS url(...) tokens, the contents of url(...)
are a "string" type, not "atom".

09/19/14:

23:49 Changeset [173791] by jer.noble@apple.com
  • 4 edits in trunk/Source/WebCore

[EME][Mac] Support secure proof of key release in the com.apple.fps.2_0 keysystem.
https://bugs.webkit.org/show_bug.cgi?id=136898

Reviewed by Eric Carlson.

Add support for proof of key release to the CDM by supporting a new "mime" type called
"keyrelease". When a session of type "keyrelease" is created, the initData is the server
certificate, the keyMessage contains the first stored proof of key release if present,
and closing the session will remove that proof from storage.

  • platform/graphics/avfoundation/CDMPrivateMediaSourceAVFObjC.mm:

(WebCore::CDMPrivateMediaSourceAVFObjC::supportsKeySystemAndMimeType):

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

(WebCore::CDMSessionMediaSourceAVFObjC::CDMSessionMediaSourceAVFObjC):
(WebCore::CDMSessionMediaSourceAVFObjC::generateKeyRequest):
(WebCore::CDMSessionMediaSourceAVFObjC::releaseKeys):
(WebCore::sessionStorageDirectory):
(WebCore::CDMSessionMediaSourceAVFObjC::update):
(WebCore::CDMSessionMediaSourceAVFObjC::generateKeyReleaseMessage):

23:02 Changeset [173790] by jer.noble@apple.com
  • 3 edits in trunk/Source/WebCore

[Media][Mac] Buffered range slides around as you resize a window
https://bugs.webkit.org/show_bug.cgi?id=136960

Reviewed by Dean Jackson.

Rather than using a canvas as the background image for the timeline slider, use a generated SVG image
to represent the buffered ranges.

  • Modules/mediacontrols/mediaControlsApple.css:

(audio::-webkit-media-controls-timeline):

  • Modules/mediacontrols/mediaControlsApple.js:

(Controller.prototype.createControls):
(Controller.prototype.updateProgress):

22:46 Changeset [173789] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

JSStringRef leak on the leaks bot allocation under selectTextWithCriteriaCallback
https://bugs.webkit.org/show_bug.cgi?id=136974

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-09-19
Reviewed by Chris Fleizach.

  • DumpRenderTree/AccessibilityUIElement.cpp:

(selectTextWithCriteriaCallback):
Be sure to release the string if it was allocated.

20:07 Changeset [173788] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit2

WebContent crash in WebKit::WebPage::expandedRangeFromHandle
https://bugs.webkit.org/show_bug.cgi?id=136969

Reviewed by David Kilzer.

The crash was caused by m_currentBlockSelection and frame.selection().selection().toNormalizedRange()
both being null and the subsequent lines of code assuming currentRange to be not null.

Replace the assertion by an early exit since the range could be null here.

In the future, we should figure out if there are other things we need to do in addition
to checking the nullity when this race condition is hit.

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::computeExpandAndShrinkThresholdsForHandle):

20:01 Changeset [173787] by rniwa@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Leak of mallocs under StructureSet::OutOfLineList::create
https://bugs.webkit.org/show_bug.cgi?id=136970

Reviewed by Filip Pizlo.

addOutOfLine should free the old list when expanding the capacity.

  • bytecode/StructureSet.cpp:

(JSC::StructureSet::addOutOfLine):

19:44 Changeset [173786] by ap@apple.com
  • 2 edits in trunk/Tools

build.webkit.org/dashboard: Pending builds don't show up when there is a commit with no comments
https://bugs.webkit.org/show_bug.cgi?id=136966

Reviewed by Daniel Bates.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/Trac.js:

(Trac.prototype._convertCommitInfoElementToObject): Tolerate these horrible commits.

19:33 Changeset [173785] by gyuyoung.kim@samsung.com
  • 6 edits
    2 adds in trunk

[CoordinatedGraphics][EFL] window.scrollTo(x, y) doesn't work when fixed layout is enabled
https://bugs.webkit.org/show_bug.cgi?id=136917

Reviewed by Darin Adler.

Source/WebCore:

When fixed layout is enabled, scrollTo doesn't work on EFL port with coordinated graphics.
Since updateScrollbars() doesn't update scroll position when delegatesScrolling() is enabled.
To fix this issue, EFL port should update scroll position based on WK2 port. This patch
update scroll position in FrameView::requestScrollPositionUpdate() as Mac port.

TestWebKitAPI: Tools/TestWebKitAPI/Tests/WebKit2/efl/WKViewScrollTo

  • page/FrameView.cpp:

(WebCore::FrameView::requestScrollPositionUpdate):

Tools:

Added WKViewScrollTo.cpp and scrollTo.html to test this issue.

  • TestWebKitAPI/PlatformEfl.cmake:
  • TestWebKitAPI/Tests/WebKit2/efl/WKViewScrollTo.cpp: Added.

(TestWebKitAPI::didFinishLoadForFrame):
(TestWebKitAPI::TEST):

  • TestWebKitAPI/Tests/WebKit2/efl/scrollTo.html: Added.
18:10 Changeset [173784] by bfulgham@apple.com
  • 11 edits
    4 adds in trunk

Latching in iframes is not working as expected
https://bugs.webkit.org/show_bug.cgi?id=136729
<rdar://problem/18370549>

Reviewed by Simon Fraser.

Source/WebCore:

Test: platform/mac/fast/scrolling/scrolling-iframe-100pct.html

Correct latching behavior by moving the concept of latching from the event handler to the main frame.
The event handlers are per-document, and can improperly latch to the iframe element (rather than the
scrollable content of the iframe) resulting in incorrect behavior.

Also move the wheel event delta tracking to the main frame, as this is similarly "top-level" in nature.

  • WebCore.vcxproj/WebCore.vcxproj: Add new LatchedState class.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • page/EventHandler.cpp:

(WebCore::EventHandler::EventHandler): Update constructor after moving some members to the new
LatchedState object.
(WebCore::EventHandler::clear): Call 'clear' on the LatchedState class.
(WebCore::EventHandler::platformRecordWheelEvent): Update for new LatchedState class.
(WebCore::EventHandler::handleWheelEvent): Ditto.
(WebCore::EventHandler::clearLatchedState): Ditto.
(WebCore::EventHandler::defaultWheelEventHandler): Ditto.

  • page/EventHandler.h:
  • page/LatchedState.cpp: Added.

(WebCore::LatchedState::LatchedState):
(WebCore::LatchedState::~LatchedState):
(WebCore::LatchedState::clear):
(WebCore::LatchedState::setWheelEventElement):
(WebCore::LatchedState::setWidgetIsLatched):
(WebCore::LatchedState::setPreviousWheelScrolledElement):
(WebCore::LatchedState::setScrollableContainer):

  • page/LatchedState.h: Added.

(WebCore::LatchedState::wheelEventElement):
(WebCore::LatchedState::frame):
(WebCore::LatchedState::setFrame):
(WebCore::LatchedState::widgetIsLatched):
(WebCore::LatchedState::previousWheelScrolledElement):
(WebCore::LatchedState::scrollableContainer):
(WebCore::LatchedState::startedGestureAtScrollLimit):
(WebCore::LatchedState::setStartedGestureAtScrollLimit):

  • page/MainFrame.cpp:

(WebCore::MainFrame::MainFrame): Update for new members (LatchedState and WheelEventDeltaTracker)

  • page/MainFrame.h:
  • page/mac/EventHandlerMac.mm:

(WebCore::EventHandler::platformPrepareForWheelEvents): Use mainFrame-located latching information.
(WebCore::EventHandler::platformRecordWheelEvent): Use mainFrame-located wheel event delta tracking.
(WebCore::EventHandler::platformCompleteWheelEvent): Make sure to use the latched frame as well as
the latched element so that events get routed properly.
(WebCore::EventHandler::platformCompletePlatformWidgetWheelEvent): Update for new mainFrame
location for latched state information.

LayoutTests:

  • platform/mac/fast/scrolling/scroll-iframe-webkit1-latching-bug-expected.txt: Added.
  • platform/mac/fast/scrolling/scroll-iframe-webkit1-latching-bug.html: Added.
17:11 Changeset [173783] by cdumez@apple.com
  • 4 edits in trunk/Source/WebCore

Minimize virtual function calls in MarkupAccumulator
https://bugs.webkit.org/show_bug.cgi?id=136957

Reviewed by Benjamin Poulain.

This patch minimizes the number of virtual function calls in
MarkupAccumulator by:

  • De-virtualizing MarkupAccumulator::appendString(), which is never overridden
  • Having MarkupAccumulator::appendEndTag() virtual function take an Element in argument instead of a Node, as it only applies to Element. Also add a non-virtual overload that takes a Node in argument and that does the isElementNode() check so that we don't need to explicitly do the check at each call site.

No new tests, no behavior change.

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::appendEndTag):
(WebCore::MarkupAccumulator::shouldSelfClose):
(WebCore::MarkupAccumulator::appendEndMarkup):

  • editing/MarkupAccumulator.h:

(WebCore::MarkupAccumulator::appendEndTag):

  • page/PageSerializer.cpp:

(WebCore::SerializerMarkupAccumulator::appendEndTag):

17:05 Changeset [173782] by psolanki@apple.com
  • 2 edits in trunk/Source/WebCore

[iOS] ASSERTION FAILED: WTF::isMainThread() in WebCore::memoryCache() when using WebKit1
https://bugs.webkit.org/show_bug.cgi?id=136962
<rdar://problem/18342344>

Reviewed by Geoffrey Garen.

The disk cache monitor callback code was being executed on the main thread. This is wrong
when the web thread is being used in WebKit1 on iOS. The code needs to run on the web
thread. Use WebThreadRun to dispatch the block to the web thread. This works for WebKit2 as
well since when web thread is not being used, WebThreadRun invokes the block directly.

  • loader/cocoa/DiskCacheMonitorCocoa.mm:

(WebCore::DiskCacheMonitor::DiskCacheMonitor):

16:10 Changeset [173781] by matthew_hanson@apple.com
  • 5 edits in branches/safari-600.1.17-branch/Source

Versioning.

16:08 Changeset [173780] by matthew_hanson@apple.com
  • 1 copy in tags/Safari-600.1.17.2

New Tag.

16:05 Changeset [173779] by matthew_hanson@apple.com
  • 1 edit in branches/safari-600.1.17-branch/WebKitLibraries/ChangeLog

Correct Radar to <rdar://problem/18375370>

16:04 Changeset [173778] by matthew_hanson@apple.com
  • 2 edits in branches/safari-600.1.17-branch/WebKitLibraries

Merge r173768. <rdar://problem/173768>

15:59 Changeset [173777] by jer.noble@apple.com
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix; pass duration into the lambda.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationChanged):

15:30 Changeset [173776] by dino@apple.com
  • 15 edits in trunk/Source

Multithreaded WebGL is a bad idea - remove it
https://bugs.webkit.org/show_bug.cgi?id=136964
<rdar://problem/18399858>

Reviewed by Brent Fulgham.

Source/WebCore:

We should not allow multithreaded GL access. Remove the
feature.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::create):

  • page/Settings.in:
  • platform/graphics/GraphicsContext3D.h:

(WebCore::GraphicsContext3D::Attributes::Attributes):

  • platform/graphics/mac/GraphicsContext3DMac.mm:

(WebCore::GraphicsContext3D::GraphicsContext3D):

Source/WebKit/mac:

Remove the setting to allow multithreaded WebGL.

  • WebView/WebPreferenceKeysPrivate.h:
  • WebView/WebPreferences.mm:

(+[WebPreferences initialize]):
(-[WebPreferences multithreadedWebGLEnabled]): Deleted.
(-[WebPreferences setMultithreadedWebGLEnabled:]): Deleted.

  • WebView/WebPreferencesPrivate.h:
  • WebView/WebView.mm:

(-[WebView _preferencesChanged:]):

Source/WebKit2:

Remove the setting to allow multithreaded WebGL.

  • Shared/WebPreferencesDefinitions.h:
  • UIProcess/API/C/WKPreferences.cpp:

(WKPreferencesSetMultithreadedWebGLEnabled): Deleted.
(WKPreferencesGetMultithreadedWebGLEnabled): Deleted.

  • UIProcess/API/C/WKPreferencesRefPrivate.h:
  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::updatePreferences):

15:20 Changeset [173775] by dburkart@apple.com
  • 5 edits in branches/Safari-600.1.4.10-branch/Source

Bump versioning

14:41 Changeset [173774] by dburkart@apple.com
  • 1 move in tags/Safari-600.1.4.11.9

Fix tag name typo

14:39 Changeset [173773] by dburkart@apple.com
  • 1 copy in tags/safari-600.1.4.11.9

Tagging 600.1.4.11.9

14:25 Changeset [173772] by dburkart@apple.com
  • 2 edits in branches/safari-600.1.4.11-branch/Source/WebKit2

Merge r173722. <rdar://problem/18389146>

13:53 Changeset [173771] by eric.carlson@apple.com
  • 2 edits in trunk/Source/WebCore

[MSE][Mac] work around AVSampleBufferRenderSynchronizer early callbacks
https://bugs.webkit.org/show_bug.cgi?id=136958

Reviewed by Jer Noble.

No new tests, we have been unable to come up with a test case that reproduces
this issue reliably.

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

(WebCore::MediaPlayerPrivateMediaSourceAVFObjC::durationChanged): Set the synchronizer

time to duration when the duration time observer is called early. Add more logging.

13:26 Changeset [173770] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

CSS JIT: allocate the minimum required register count in debug
https://bugs.webkit.org/show_bug.cgi?id=136933

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-19
Reviewed by Andreas Kling.

It is hard to catch bugs of minimumRegisterRequirements() because every CPU has a different
number of registers available by default.

This patch aims at improving testing by creating artificial register pressure when running
in debug. When running in debug, we no longer allocate all the available registers right away.
Instead, we allocate just enough to satisfy minimumRegisterRequirements().

The expectation with this is that under-allocation would be detected quicker since they would
crash debug builds.

  • cssjit/RegisterAllocator.h:

(WebCore::RegisterAllocator::RegisterAllocator):
(WebCore::RegisterAllocator::reserveCallerSavedRegisters):
(WebCore::RegisterAllocator::availableRegisterCount): Deleted.

  • cssjit/SelectorCompiler.cpp:

(WebCore::SelectorCompiler::SelectorCodeGenerator::generateSelectorChecker):

13:26 Changeset [173769] by benjamin@webkit.org
  • 3 edits in trunk/Source/WebCore

Add a size check for CSSSelector
https://bugs.webkit.org/show_bug.cgi?id=136882

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-19
Reviewed by Christophe Dumez.

  • css/CSSSelector.cpp:
13:19 Changeset [173768] by bfulgham@apple.com
  • 2 edits in trunk/WebKitLibraries

[Win] Turn off SSE Instructions for 32-bit Builds
https://bugs.webkit.org/show_bug.cgi?id=136959
<rdar://problem/18375370>

Reviewed by Dean Jackson.

  • win/tools/vsprops/common.props: Conditionally exclude the enhanced (SSE) instruction

set when building for 32-bit Windows. Otherwise, continue using SSE.

11:48 Changeset [173767] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r173464): It broke the !ENABLE(PICTURE_SIZES) build
https://bugs.webkit.org/show_bug.cgi?id=136942

Reviewed by Simon Fraser.

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::parseAttribute):

11:43 Changeset [173766] by simon.fraser@apple.com
  • 9 edits in trunk/Source

Provide a default argument for the most commonly used HitTestRequest variant
https://bugs.webkit.org/show_bug.cgi?id=136653

Reviewed by Darin Adler.

Make the default HitTestRequest flags be ReadOnly | Active | DisallowShadowContent
and change call sites using the default flags to use a HitTestRequest temporary.

Source/WebCore:

  • dom/TreeScope.cpp:

(WebCore::nodeFromPoint):

  • editing/FrameSelection.cpp:

(WebCore::FrameSelection::contains):

  • page/DragController.cpp:

(WebCore::elementUnderMouse):

  • page/EventHandler.cpp:

(WebCore::EventHandler::handleMouseDraggedEvent):
(WebCore::EventHandler::handleMousePressEvent):

  • rendering/HitTestRequest.h:

(WebCore::HitTestRequest::HitTestRequest):

Source/WebKit2:

  • WebProcess/WebPage/ViewGestureGeometryCollector.cpp:

(WebKit::ViewGestureGeometryCollector::collectGeometryForSmartMagnificationGesture):

  • WebProcess/WebPage/ios/WebPageIOS.mm:

(WebKit::WebPage::dynamicViewportSizeUpdate):

11:33 Changeset [173765] by cdumez@apple.com
  • 20 edits in trunk/Source

Allow DOM methods to return references instead of pointers
https://bugs.webkit.org/show_bug.cgi?id=136931

Source/WebCore:

Reviewed by Sam Weinig.

It is common practice in WebKit to have methods return a reference
instead of a pointer if the pointer can never be null. However, this
unfortunately did not work for DOM methods (functions called by JS
bindings). This prevented further refactoring.

This patch brings support for having DOM methods to return references
instead of pointers when the pointer cannot be null. The generated
bindings were calling WTF::getPtr() on the pointer type returned by
the implementation already (in case it was a smart pointer type).
This patch leverages this by having WTF::getPtr() convert reference
arguments into raw pointers.

This patch also updates a few DOM methods on Document and Element
classes to return a reference instead of a pointer, to test the change.
There are likely more DOM methods that can be updated though.

No new tests, no behavior change.

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::classList):

  • bindings/js/JSDOMBinding.h:

(WTF::getPtr): Deleted.

  • dom/Document.cpp:

(WebCore::Document::implementation):
(WebCore::Document::webkitGetNamedFlows):
(WebCore::Document::namedFlows):
(WebCore::Document::setXMLVersion):
(WebCore::Document::setXMLStandalone):
(WebCore::Document::securityPolicy):
(WebCore::Document::styleSheets):

  • dom/Document.h:

(WebCore::Document::timing):

  • dom/Element.cpp:

(WebCore::Element::classList):
(WebCore::Element::dataset):

  • dom/Element.h:
  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlPanelElement::setPosition):
(WebCore::MediaControlPanelElement::resetPosition):
(WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):

  • html/track/VTTRegion.cpp:

(WebCore::VTTRegion::displayLastTextTrackCueBox):
(WebCore::VTTRegion::willRemoveTextTrackCueBox):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::getAllStyleSheets):
(WebCore::InspectorCSSAgent::getNamedFlowCollection):

  • page/PerformanceTiming.cpp:

(WebCore::PerformanceTiming::documentTiming):

  • rendering/FlowThreadController.cpp:

(WebCore::FlowThreadController::ensureRenderFlowThreadWithName):

Source/WTF:

Add support for having WTF::getPtr() transform reference arguments
into raw pointers so that DOM methods can now return references when
appropriate and so that the generated bindings code can handle this
via WTF::getPtr().

This patch had to alter the way getPtr() was overloaded for smart
pointer types so that we don't call &p on smart pointers but p.get().
This was needed because the new WTF::getPtr(T&) was being called for
RefPtr<T> arguments instead of the getPtr(const RefPtr<T>&) overload.
This was addressed using traits and template specialization to
distinguish WTF smart pointers from other types.

Reviewed by Sam Weinig.

  • wtf/GetPtr.h:

(WTF::getPtr):

  • wtf/OwnPtr.h:

(WTF::getPtr): Deleted.

  • wtf/PassOwnPtr.h:

(WTF::getPtr): Deleted.

  • wtf/PassRefPtr.h:

(WTF::getPtr): Deleted.

  • wtf/Ref.h:
  • wtf/RefPtr.h:

(WTF::getPtr): Deleted.

  • wtf/gobject/GRefPtr.h:

(WTF::getPtr): Deleted.

11:15 Changeset [173764] by jer.noble@apple.com
  • 1 edit
    2 adds in trunk/LayoutTests

Videos with controls enabled never receive 'dragstart' events.
https://bugs.webkit.org/show_bug.cgi?id=136837

Reviewed by Sam Weinig.

  • media/video-controls-drag-expected.txt: Added.
  • media/video-controls-drag.html: Added.
11:10 Changeset [173763] by dbates@webkit.org
  • 22 edits in trunk

Always assume internal SDK when building configuration Production
https://bugs.webkit.org/show_bug.cgi?id=136925
<rdar://problem/18362399>

Reviewed by Dan Bernstein.

Source/bmalloc:

  • Configurations/Base.xcconfig:

Source/JavaScriptCore:

As a side effect of this change we will always enable ENABLE_TOUCH_EVENTS, ENABLE_IOS_{GESTURE, TOUCH}_EVENTS,
and ENABLE_XSLT when either building configuration Production or building with the Internal SDK.

  • Configurations/Base.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/Base.xcconfig:

Source/WebCore:

As a side effect of this change we will always enable ENABLE_TOUCH_EVENTS, ENABLE_IOS_{GESTURE, TOUCH}_EVENTS,
and ENABLE_XSLT when either building configuration Production or building with the Internal SDK.

  • Configurations/Base.xcconfig:

Source/WebInspectorUI:

  • Configurations/DebugRelease.xcconfig: Also move #include of HaveInternalSDK.xcconfig from DebugRelease.xcconfig

to Base.xcconfig so as to be consistent with the format of other Base.xcconfig/DebugRelease.xcconfig files
(e.g. Source/WebCore/Configurations/Base.xcconfig and Source/WebCore/Configurations/DebugRelease.xcconfig).

Source/WebKit/mac:

As a side effect of this change we will always enable ENABLE_TOUCH_EVENTS, ENABLE_IOS_{GESTURE, TOUCH}_EVENTS,
and ENABLE_XSLT when either building configuration Production or building with the Internal SDK.

  • Configurations/Base.xcconfig:

Source/WebKit2:

As a side effect of this change we will always enable ENABLE_TOUCH_EVENTS, ENABLE_IOS_{GESTURE, TOUCH}_EVENTS,
and ENABLE_XSLT when either building configuration Production or building with the Internal SDK.

  • Configurations/Base.xcconfig:

Source/WTF:

  • Configurations/Base.xcconfig:

Tools:

  • DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
  • MiniBrowser/Configurations/DebugRelease.xcconfig:
  • TestWebKitAPI/Configurations/DebugRelease.xcconfig:
  • WebKitTestRunner/Configurations/DebugRelease.xcconfig:
11:04 Changeset [173762] by simon.fraser@apple.com
  • 3 edits in trunk/Source/WebKit2

Fix the Mac Mavericks build. Only iOS cares about fencing.

  • Platform/mac/LayerHostingContext.h:
  • Platform/mac/LayerHostingContext.mm:
10:47 Changeset [173761] by commit-queue@webkit.org
  • 9 edits
    3 adds in trunk

Simple ES6 feature:String prototype additions
https://bugs.webkit.org/show_bug.cgi?id=131704

Patch by Diego Pino Garcia <dpino@igalia.com> on 2014-09-19
Reviewed by Darin Adler.

Source/JavaScriptCore:

  • runtime/StringPrototype.cpp:

(JSC::StringPrototype::finishCreation):
(JSC::stringProtoFuncStartsWith): Added.
(JSC::stringProtoFuncEndsWith): Added.
(JSC::stringProtoFuncContains): Added.

Source/WTF:

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::find):
(WTF::equalInner): Added.
(WTF::StringImpl::startsWith): Add implementation that supports
'startOffset' parameter.
(WTF::StringImpl::endsWith): Add implementation that supports
'endOffset' parameter.

  • wtf/text/StringImpl.h:
  • wtf/text/WTFString.h:

(WTF::String::contains): Modify current implementation to allow
setting a startOffset, 0 by default.
(WTF::String::startsWith):
(WTF::String::endsWith):

LayoutTests:

Test ES6 functions: string.startsWith(), string.endsWith() and
string.contains().

  • js/Object-getOwnPropertyNames-expected.txt:
  • js/script-tests/Object-getOwnPropertyNames.js:
  • js/script-tests/string-contains.js: Added.

(stringToSearchIn.toString):
(startOffset.valueOf):
(matchString.toString):
(endOffset.valueOf):

  • js/string-contains-expected.txt: Added.
  • js/string-contains.html: Added.
10:38 Changeset [173760] by commit-queue@webkit.org
  • 13 edits
    1 move
    1 add
    10 deletes in trunk

WTR and DRT didReceiveAuthenticationChallengeInFrame should print messages consistently
https://bugs.webkit.org/show_bug.cgi?id=136847

Tools:

Added protection space host and port logging to WTR didReceiveAuthenticationChallengeInFrame.

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-09-19
Reviewed by Alexey Proskuryakov.

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::didReceiveAuthenticationChallengeInFrame):

LayoutTests:

Updated WK2 expected.txt files according new logging of didReceiveAuthenticationChallengeInFrame.
Factorized efl/gtk platform specific expected files as WK2 expected files.

Patch by Youenn Fablet <youenn.fablet@crf.canon.fr> on 2014-09-19
Reviewed by Alexey Proskuryakov.

  • platform/gtk/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt: Removed.
  • platform/gtk/http/tests/loading/basic-credentials-sent-automatically-expected.txt: Removed.
  • platform/gtk/http/tests/media/video-auth-expected.txt: Removed.
  • platform/gtk/http/tests/misc/401-alternative-content-expected.txt: Removed.
  • platform/gtk/http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin-expected.txt: Removed.
  • platform/gtk/http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin-expected.txt: Removed.
  • platform/gtk/http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url-expected.txt: Removed.
  • platform/gtk/http/tests/security/401-logout/401-logout-expected.txt: Removed.
  • platform/gtk/http/tests/xmlhttprequest/failed-auth-expected.txt: Removed.
  • platform/gtk/http/tests/xmlhttprequest/remember-bad-password-expected.txt: Removed.
  • platform/wk2/http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials-expected.txt:
  • platform/wk2/http/tests/loading/basic-auth-resend-wrong-credentials-expected.txt:
  • platform/wk2/http/tests/loading/basic-credentials-sent-automatically-expected.txt:
  • platform/wk2/http/tests/media/video-auth-expected.txt: Renamed from LayoutTests/platform/efl/http/tests/media/video-auth-expected.txt.
  • platform/wk2/http/tests/misc/401-alternative-content-expected.txt:
  • platform/wk2/http/tests/misc/authentication-redirect-1/authentication-sent-to-redirect-cross-origin-expected.txt:
  • platform/wk2/http/tests/misc/authentication-redirect-2/authentication-sent-to-redirect-same-origin-expected.txt:
  • platform/wk2/http/tests/misc/authentication-redirect-4/authentication-sent-to-redirect-same-origin-url-expected.txt:
  • platform/wk2/http/tests/security/401-logout/401-logout-expected.txt:
  • platform/wk2/http/tests/xmlhttprequest/failed-auth-expected.txt:
  • platform/wk2/http/tests/xmlhttprequest/remember-bad-password-expected.txt:
09:36 Changeset [173759] by carlosgc@webkit.org
  • 1 copy in releases/WebKitGTK/webkit-2.5.90

WebKitGTK+ 2.5.90

09:31 Changeset [173758] by carlosgc@webkit.org
  • 4 edits in releases/WebKitGTK/webkit-2.6

Unreviewed. Update OptionsGTK.cmake and NEWS for 2.5.90 release.

.:

  • Source/cmake/OptionsGTK.cmake: Bump version numbers.

Source/WebKit2:

  • gtk/NEWS: Add release notes for 2.5.90.
09:01 Changeset [173757] by carlosgc@webkit.org
  • 4 edits in releases/WebKitGTK/webkit-2.6

Merge r173755 - [GTK] Missing inspector files in the tarball
https://bugs.webkit.org/show_bug.cgi?id=136952

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

  • PlatformGTK.cmake: Use APPEND instead of GLOB to add individual

and generated files to the list of inspector files.

Tools:

  • gtk/manifest.txt: Add

Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js
to the tarball.

09:00 Changeset [173756] by carlosgc@webkit.org
  • 6 edits
    55 adds in releases/WebKitGTK/webkit-2.6

Merge r173753 - Webkitgtk 2.5.3: tarball contains APPLE LICENSE file - stating not distributable
https://bugs.webkit.org/show_bug.cgi?id=136632

Reviewed by Gustavo Noronha Silva.

Source/WebInspectorUI:

Add free icons for the GTK port. These icons are from the GNOME
project, some of them adapted by Andres Gomez for the inspector.
This is only a subset of the icons, since we still don't have a
free replacement for all of them, but at least it makes the
inspector kind of usable.

  • UserInterface/Images/gtk/AUTHORS: Added.
  • UserInterface/Images/gtk/BackArrow.svg: Added.
  • UserInterface/Images/gtk/BreakpointActionAdd.svg: Added.
  • UserInterface/Images/gtk/BreakpointActionRemove.svg: Added.
  • UserInterface/Images/gtk/BreakpointButton.svg: Added.
  • UserInterface/Images/gtk/BreakpointInactiveButton.svg: Added.
  • UserInterface/Images/gtk/Breakpoints.svg: Added.
  • UserInterface/Images/gtk/COPYING: Added.
  • UserInterface/Images/gtk/Close.svg: Added.
  • UserInterface/Images/gtk/CloseWhite.svg: Added.
  • UserInterface/Images/gtk/ContentFlow.svg: Added.
  • UserInterface/Images/gtk/Crosshair.svg: Added.
  • UserInterface/Images/gtk/DOMCharacterData.svg: Added.
  • UserInterface/Images/gtk/DOMComment.svg: Added.
  • UserInterface/Images/gtk/DOMDocument.svg: Added.
  • UserInterface/Images/gtk/DOMDocumentType.svg: Added.
  • UserInterface/Images/gtk/DOMElement.svg: Added.
  • UserInterface/Images/gtk/DOMNode.svg: Added.
  • UserInterface/Images/gtk/DOMTextNode.svg: Added.
  • UserInterface/Images/gtk/DOMTree.svg: Added.
  • UserInterface/Images/gtk/DisclosureTriangleSmallClosed.svg: Added.
  • UserInterface/Images/gtk/DisclosureTriangleSmallOpen.svg: Added.
  • UserInterface/Images/gtk/DisclosureTriangleTinyClosed.svg: Added.
  • UserInterface/Images/gtk/DisclosureTriangleTinyOpen.svg: Added.
  • UserInterface/Images/gtk/DockBottom.svg: Added.
  • UserInterface/Images/gtk/DockRight.svg: Added.
  • UserInterface/Images/gtk/DocumentCSS.png: Added.
  • UserInterface/Images/gtk/DocumentCSS@2x.png: Added.
  • UserInterface/Images/gtk/DocumentFont.png: Added.
  • UserInterface/Images/gtk/DocumentFont@2x.png: Added.
  • UserInterface/Images/gtk/DocumentGeneric.png: Added.
  • UserInterface/Images/gtk/DocumentGeneric@2x.png: Added.
  • UserInterface/Images/gtk/DocumentImage.png: Added.
  • UserInterface/Images/gtk/DocumentImage@2x.png: Added.
  • UserInterface/Images/gtk/DocumentJS.png: Added.
  • UserInterface/Images/gtk/DocumentJS@2x.png: Added.
  • UserInterface/Images/gtk/DocumentMarkup.png: Added.
  • UserInterface/Images/gtk/DocumentMarkup@2x.png: Added.
  • UserInterface/Images/gtk/DownloadArrow.svg: Added.
  • UserInterface/Images/gtk/Error.svg: Added.
  • UserInterface/Images/gtk/Errors.svg: Added.
  • UserInterface/Images/gtk/ErrorsEnabled.svg: Added.
  • UserInterface/Images/gtk/EventListener.svg: Added.
  • UserInterface/Images/gtk/Exception.svg: Added.
  • UserInterface/Images/gtk/FilterFieldGlyph.svg: Added.
  • UserInterface/Images/gtk/FolderGeneric.png: Added.
  • UserInterface/Images/gtk/FolderGeneric@2x.png: Added.
  • UserInterface/Images/gtk/ForwardArrow.svg: Added.
  • UserInterface/Images/gtk/Function.svg: Added.
  • UserInterface/Images/gtk/GoToArrow.svg: Added.
  • UserInterface/Images/gtk/Resources.svg: Added.
  • UserInterface/Images/gtk/SortIndicatorDownArrow.svg: Added.
  • UserInterface/Images/gtk/SortIndicatorUpArrow.svg: Added.
  • UserInterface/Images/gtk/UpDownArrows.svg: Added.

Source/WebKit2:

  • PlatformGTK.cmake: Use only the icons from the gtk directory since they are free.

Tools:

  • gtk/generate-inspector-gresource-manifest.py: Use an alias for

the gtk icons.

  • gtk/manifest.txt: Only include the free icons in the tarball.
08:59 WebKitGTK/2.6.x edited by carlosgc@webkit.org
(diff)
08:58 Changeset [173755] by carlosgc@webkit.org
  • 4 edits in trunk

[GTK] Missing inspector files in the tarball
https://bugs.webkit.org/show_bug.cgi?id=136952

Reviewed by Gustavo Noronha Silva.

Source/WebKit2:

  • PlatformGTK.cmake: Use APPEND instead of GLOB to add individual

and generated files to the list of inspector files.

Tools:

  • gtk/manifest.txt: Add

Source/WebInspectorUI/Localizations/en.lproj/localizedStrings.js
to the tarball.

08:48 Changeset [173754] by cdumez@apple.com
  • 4 edits in trunk/Source/WebCore

Optimize MarkupAccumulator::appendText()
https://bugs.webkit.org/show_bug.cgi?id=136935

Reviewed by Benjamin Poulain.

MarkupAccumulator::appendText() was calling the generic appendNodeValue()
method to append the text. appendNodeValue() supports any kind of Node and
thus calls the Node::nodeValue() virtual function.

Since appendText() is the only caller to appendNodeValue(), this patch
inlines the code in appendText() and makes it specific to Text Node, and
thus more efficient. The code now calls CharacterData::data() instead of
the Node::nodeValue() virtual function. This patch also updates
CharacterData::data() to return a const reference to avoid copying the
return value.

No new tests, no behavior change.

  • dom/CharacterData.h:

(WebCore::CharacterData::data):

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::appendText):
(WebCore::MarkupAccumulator::appendNodeValue): Deleted.

  • editing/MarkupAccumulator.h:
08:40 Changeset [173753] by carlosgc@webkit.org
  • 6 edits
    55 adds in trunk

Webkitgtk 2.5.3: tarball contains APPLE LICENSE file - stating not distributable
https://bugs.webkit.org/show_bug.cgi?id=136632

Reviewed by Gustavo Noronha Silva.

Source/WebInspectorUI:

Add free icons for the GTK port. These icons are from the GNOME
project, some of them adapted by Andres Gomez for the inspector.
This is only a subset of the icons, since we still don't have a
free replacement for all of them, but at least it makes the
inspector kind of usable.

  • UserInterface/Images/gtk/AUTHORS: Added.
  • UserInterface/Images/gtk/BackArrow.svg: Added.
  • UserInterface/Images/gtk/BreakpointActionAdd.svg: Added.
  • UserInterface/Images/gtk/BreakpointActionRemove.svg: Added.
  • UserInterface/Images/gtk/BreakpointButton.svg: Added.
  • UserInterface/Images/gtk/BreakpointInactiveButton.svg: Added.
  • UserInterface/Images/gtk/Breakpoints.svg: Added.
  • UserInterface/Images/gtk/COPYING: Added.
  • UserInterface/Images/gtk/Close.svg: Added.
  • UserInterface/Images/gtk/CloseWhite.svg: Added.
  • UserInterface/Images/gtk/ContentFlow.svg: Added.
  • UserInterface/Images/gtk/Crosshair.svg: Added.
  • UserInterface/Images/gtk/DOMCharacterData.svg: Added.
  • UserInterface/Images/gtk/DOMComment.svg: Added.
  • UserInterface/Images/gtk/DOMDocument.svg: Added.
  • UserInterface/Images/gtk/DOMDocumentType.svg: Added.
  • UserInterface/Images/gtk/DOMElement.svg: Added.
  • UserInterface/Images/gtk/DOMNode.svg: Added.
  • UserInterface/Images/gtk/DOMTextNode.svg: Added.
  • UserInterface/Images/gtk/DOMTree.svg: Added.
  • UserInterface/Images/gtk/DisclosureTriangleSmallClosed.svg: Added.
  • UserInterface/Images/gtk/DisclosureTriangleSmallOpen.svg: Added.
  • UserInterface/Images/gtk/DisclosureTriangleTinyClosed.svg: Added.
  • UserInterface/Images/gtk/DisclosureTriangleTinyOpen.svg: Added.
  • UserInterface/Images/gtk/DockBottom.svg: Added.
  • UserInterface/Images/gtk/DockRight.svg: Added.
  • UserInterface/Images/gtk/DocumentCSS.png: Added.
  • UserInterface/Images/gtk/DocumentCSS@2x.png: Added.
  • UserInterface/Images/gtk/DocumentFont.png: Added.
  • UserInterface/Images/gtk/DocumentFont@2x.png: Added.
  • UserInterface/Images/gtk/DocumentGeneric.png: Added.
  • UserInterface/Images/gtk/DocumentGeneric@2x.png: Added.
  • UserInterface/Images/gtk/DocumentImage.png: Added.
  • UserInterface/Images/gtk/DocumentImage@2x.png: Added.
  • UserInterface/Images/gtk/DocumentJS.png: Added.
  • UserInterface/Images/gtk/DocumentJS@2x.png: Added.
  • UserInterface/Images/gtk/DocumentMarkup.png: Added.
  • UserInterface/Images/gtk/DocumentMarkup@2x.png: Added.
  • UserInterface/Images/gtk/DownloadArrow.svg: Added.
  • UserInterface/Images/gtk/Error.svg: Added.
  • UserInterface/Images/gtk/Errors.svg: Added.
  • UserInterface/Images/gtk/ErrorsEnabled.svg: Added.
  • UserInterface/Images/gtk/EventListener.svg: Added.
  • UserInterface/Images/gtk/Exception.svg: Added.
  • UserInterface/Images/gtk/FilterFieldGlyph.svg: Added.
  • UserInterface/Images/gtk/FolderGeneric.png: Added.
  • UserInterface/Images/gtk/FolderGeneric@2x.png: Added.
  • UserInterface/Images/gtk/ForwardArrow.svg: Added.
  • UserInterface/Images/gtk/Function.svg: Added.
  • UserInterface/Images/gtk/GoToArrow.svg: Added.
  • UserInterface/Images/gtk/Resources.svg: Added.
  • UserInterface/Images/gtk/SortIndicatorDownArrow.svg: Added.
  • UserInterface/Images/gtk/SortIndicatorUpArrow.svg: Added.
  • UserInterface/Images/gtk/UpDownArrows.svg: Added.

Source/WebKit2:

  • PlatformGTK.cmake: Use only the icons from the gtk directory since they are free.

Tools:

  • gtk/generate-inspector-gresource-manifest.py: Use an alias for

the gtk icons.

  • gtk/manifest.txt: Only include the free icons in the tarball.
03:39 WebKitGTK/2.6.x created by carlosgc@webkit.org
03:23 Changeset [173752] by carlosgc@webkit.org
  • 1 copy in releases/WebKitGTK/webkit-2.6

Branch WebKitGTK+ for 2.6

02:21 Changeset [173751] by carlosgc@webkit.org
  • 4 edits in trunk

[GTK] generate-inspector-gresource-manifest.py should receive the list of files from the makefile
https://bugs.webkit.org/show_bug.cgi?id=136943

Reviewed by Philippe Normand.

Source/WebKit2:

  • PlatformGTK.cmake: Fix the inspector file list and pass it to

the generate-inspector-gresource-manifest.py script.

Tools:

Update the script to receive the list of files from the command
line instead of scanning the given directories.

  • gtk/generate-inspector-gresource-manifest.py:

(get_filenames): Convert filenames to use relative paths.
(find_all_files_in_directory): Deleted.
(find_all_files_in_directory.select_file): Deleted.

09/18/14:

23:58 Changeset [173750] by commit-queue@webkit.org
  • 2 edits in trunk/Tools

[EFL][WK2] Minibrowser : Support Zoom on Control key + scroll
https://bugs.webkit.org/show_bug.cgi?id=136739

Patch by Tanay C <tanay.c@samsung.com> on 2014-09-18
Reviewed by Gyuyoung Kim.

  • MiniBrowser/efl/main.c: Add support for zoom on control key + mouse scroll

(on_mouse_wheel): Modified.

23:51 Changeset [173749] by carlosgc@webkit.org
  • 11 edits in trunk

[GTK] Dot not allow to create delete-on-destroy GMainLoopSources
https://bugs.webkit.org/show_bug.cgi?id=136923

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

  • platform/gtk/GtkDragAndDropHelper.cpp:

(WebCore::GtkDragAndDropHelper::handleDragLeave): Use GMainLoopSource::scheduleAndDeleteOnDestroy().

Source/WebKit2:

  • Platform/gtk/WorkQueueGtk.cpp:

(WorkQueue::dispatch): Use GMainLoopSource::scheduleAndDeleteOnDestroy().
(WorkQueue::dispatchAfter): Use GMainLoopSource::scheduleAfterDelayAndDeleteOnDestroy().

Source/WTF:

We have several asserts to ensure that delete-on-destroy sources
are not misused, like not scheduling socket sources on a
delete-on-destroy GMainLoopSource or not allowing to cancel them
before they have been dispatched. It's better to ensure all those
things at compile time, using static methods to schedule sources
creating a delete-on-destroy GMainLoopSource that is not returned
to the user.

  • wtf/gobject/GMainLoopSource.cpp:

(WTF::GMainLoopSource::create): Private static method to create a
delete-on-destroy GMainLoopSource.
(WTF::GMainLoopSource::cancelWithoutLocking): Return early in case
of delete-on-destroy source, since they can't be cancelled.
(WTF::GMainLoopSource::schedule): Remove assertion to ensure
socket sources are not scheduled on a delete-on-destroy GMainLoopSource.
(WTF::GMainLoopSource::scheduleAndDeleteOnDestroy):
(WTF::GMainLoopSource::scheduleAfterDelayAndDeleteOnDestroy):
(WTF::GMainLoopSource::createAndDeleteOnDestroy): Deleted.

  • wtf/gobject/GMainLoopSource.h:
  • wtf/gtk/MainThreadGtk.cpp:

(WTF::scheduleDispatchFunctionsOnMainThread): Use GMainLoopSource::scheduleAndDeleteOnDestroy()

  • wtf/gtk/RunLoopGtk.cpp:

(WTF::RunLoop::wakeUp): Ditto.

Tools:

  • TestWebKitAPI/Tests/WTF/gobject/GMainLoopSource.cpp:

(TestWebKitAPI::TEST): Use the new API that doesn't allow to use
the source.

21:41 Changeset [173748] by ryuan.choi@gmail.com
  • 16 edits in trunk/Source/WebKit2

[EFL][CoordinatedGraphics] Remove setBackgroundColor message
https://bugs.webkit.org/show_bug.cgi?id=136824

Reviewed by Gyuyoung Kim.

CoordinatedGraphics used setBackgroundColor() to draw the background of contents
although tiles are not ready.

This patch removes setBackgroundColor() and uses pageExtendedBackgroundColor()
which provides similar functionality.

  • UIProcess/API/efl/EwkView.cpp:

Enables or disables WKPageSetBackgroundExtendsBeyondPage to use pageExtendedBackgroundColor()
(EwkView::EwkView):
(EwkView::setBackgroundColor):

  • UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::CoordinatedGraphicsScene):
(WebCore::CoordinatedGraphicsScene::paintToCurrentGLContext): Passed pageExtendedBackgroundColor.
(WebCore::CoordinatedGraphicsScene::paintToGraphicsContext): Ditto.
(WebCore::CoordinatedGraphicsScene::setBackgroundColor): Deleted.

  • UIProcess/CoordinatedGraphics/CoordinatedGraphicsScene.h:

(WebCore::CoordinatedGraphicsScene::setDrawsBackground): Deleted.

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:

(WebKit::CoordinatedLayerTreeHostProxy::setBackgroundColor): Deleted.

  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
  • UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.messages.in:
  • UIProcess/CoordinatedGraphics/WebView.cpp:

(WebKit::WebView::paintToCurrentGLContext):

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::pageExtendedBackgroundColorDidChange):
Refactored to use const reference for the Color parameter.

  • UIProcess/WebPageProxy.h:
  • UIProcess/efl/WebViewEfl.cpp:

(WebKit::WebViewEfl::paintToCairoSurface):

  • WebProcess/WebCoreSupport/WebChromeClient.cpp:

(WebKit::WebChromeClient::pageExtendedBackgroundColorDidChange):
Added PLATFORM(EFL) to pass PageExtendedBackgroundColorDidChange message.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::setBackgroundColor): Deleted.

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
  • WebProcess/WebPage/LayerTreeHost.h:

(WebKit::LayerTreeHost::setBackgroundColor): Deleted.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::mainFrameDidLayout):

18:55 Changeset [173747] by dburkart@apple.com
  • 1 copy in tags/Safari-600.1.4.10.1

Tagging

18:47 Changeset [173746] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

[Windows] Media tests all fail because they cannot find localized strings.

  • rendering/RenderThemeSafari.cpp:

(WebCore::RenderThemeSafari::mediaControlsScript):
Make sure to use localized strings files in RenderThemeSafari.

18:37 Changeset [173745] by dburkart@apple.com
  • 2 edits in branches/Safari-600.1.4.10-branch/Source/WebKit2

Merge r172989

18:21 Changeset [173744] by dburkart@apple.com
  • 5 edits in branches/Safari-600.1.4.10-branch/Source

Bumping versioning

18:01 Changeset [173743] by simon.fraser@apple.com
  • 3 edits in trunk/Source/WebCore

Remove generator/yield terminology in RenderInline's GeneratorContext
https://bugs.webkit.org/show_bug.cgi?id=119278

Reviewed by Sam Weinig.

Get rid of the icky Generator/yield syntax used for collecting rects in RenderInline.
Just replace the operator() with an explicit addRect().

Also some drive-by nullptr cleanup, and removing default arguments from
addChildIgnoringContinuation() calls.

  • rendering/RenderInline.cpp:

(WebCore::RenderInline::willBeDestroyed):
(WebCore::RenderInline::styleDidChange):
(WebCore::RenderInline::splitInlines):
(WebCore::RenderInline::addChildToContinuation):
(WebCore::RenderInline::generateLineBoxRects):
(WebCore::RenderInline::generateCulledLineBoxRects):

  • rendering/RenderInline.h:
16:57 Changeset [173742] by dburkart@apple.com
  • 1 copy in branches/Safari-600.1.4.10-branch

Creating 600.1.4.10 branch

16:40 Changeset [173741] by commit-queue@webkit.org
  • 10 edits in trunk/Source

Improve fullscreen video rotation animation.
https://bugs.webkit.org/show_bug.cgi?id=136870

Patch by Jeremy Jones <jeremyj@apple.com> on 2014-09-18
Reviewed by Simon Fraser.

Source/WebCore:

Instead of setting the frame on the video layer, set position and bounds separately. This allows the position to be synchronized with the rest of the animation.
When using a fencePort to synchronize animations, if the fence times out, pivoting around the center provides a better fallback.

  • platform/ios/WebVideoFullscreenInterfaceAVKit.mm:

(-[WebAVVideoLayer setVideoSublayer:]): added
(-[WebAVVideoLayer videoSublayer]): added
(-[WebAVVideoLayer setBounds:]): set position and bounds insted of frame.
(WebVideoFullscreenInterfaceAVKit::setupFullscreen): use setVideoSublayer

  • platform/ios/WebVideoFullscreenModelVideoElement.mm:

(WebVideoFullscreenModelVideoElement::setVideoFullscreenLayer): set bounds and anchorPoint instead of frame
(WebVideoFullscreenModelVideoElement::setVideoLayerFrame): set bounds instead of frame.

Source/WebKit2:

Remove WKCAContext from LayerHostingContext and use a fencePort to synchronize animation between processes.

  • Platform/mac/LayerHostingContext.h: add setFencePort. Remove WKCAContext.
  • Platform/mac/LayerHostingContext.mm:

(WebKit::LayerHostingContext::createForPort): Remove WKCAContext.
(WebKit::LayerHostingContext::createForExternalHostingProcess): ditto
(WebKit::LayerHostingContext::setRootLayer): ditto
(WebKit::LayerHostingContext::rootLayer): ditto
(WebKit::LayerHostingContext::contextID): ditto
(WebKit::LayerHostingContext::invalidate): ditto
(WebKit::LayerHostingContext::setColorSpace): ditto
(WebKit::LayerHostingContext::colorSpace): ditto
(WebKit::LayerHostingContext::setFencePort): added

  • UIProcess/ios/WebVideoFullscreenManagerProxy.mm:

(WebKit::WebVideoFullscreenManagerProxy::setVideoLayerFrame):

  • WebProcess/ios/WebVideoFullscreenManager.h:
  • WebProcess/ios/WebVideoFullscreenManager.messages.in: add fence port parameter
  • WebProcess/ios/WebVideoFullscreenManager.mm: ditto

(WebKit::WebVideoFullscreenManager::didSetupFullscreen): ditto
(WebKit::WebVideoFullscreenManager::setVideoLayerFrameFenced): ditto

15:58 Changeset [173740] by dino@apple.com
  • 4 edits
    2 adds in trunk/Websites/webkit.org

Expand the srcset demo to have 3x and 4x images.

Unreviewed.

  • demos/srcset/image-1x.png:
  • demos/srcset/image-2x.png:
  • demos/srcset/image-3x.png: Added.
  • demos/srcset/image-4x.png: Added.
  • demos/srcset/index.html:
15:52 Changeset [173739] by mmaxfield@apple.com
  • 2 edits in trunk/Source/WebCore

Text laid out with the SVG -> OTF font converter does not have the same metrics as with the SVG font code path
https://bugs.webkit.org/show_bug.cgi?id=136907

Reviewed by Darin Adler.

There are three things that are causing text laid out with the SVG -> OTF font converter to not have metrics that
measure our existing SVG codepath. They are:

  1. Creating a font with a 0 ascent or descent makes OS X think that something is wrong with the font, and take

a different codepath when trying to parse ascent and descent information. This patch checks for this condition
and sets the ascent/descent to 1 FUnit instead (which is generally much smaller than a pixel).

  1. Our SVG font codepath hardcodes a line gap of 1/10th of the font size for every font. This patch makes the

font converter obey this.

  1. The converter was not allowing for default glyph advances as per the SVG font specification. This patch

does so.

No new tests yet, but they will come soon! I promise!

  • svg/SVGToOTFFontConversion.cpp:

(WebCore::SVGToOTFFontConverter::appendHHEATable):
(WebCore::SVGToOTFFontConverter::SVGToOTFFontConverter):

15:49 Changeset [173738] by dbates@webkit.org
  • 3 edits
    2 adds in trunk

REGRESSION (r168921): SVG elements may be unnecessarily rebuilt
https://bugs.webkit.org/show_bug.cgi?id=136373

Reviewed by David Kilzer.

Source/WebCore:

Fixes an issue where a SVG element may be unnecessarily rebuilt. In particular,
it is unnecessary to rebuild a SVG element that will be removed from the document.

Test: svg/custom/remove-subtree-including-use-with-child-textpath-that-references-earlier-path.html

  • svg/SVGDocumentExtensions.cpp:

(WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget): Modified to remove a SVG element
from the list of elements to be rebuilt.

LayoutTests:

Add a test to ensure that we don't rebuild a SVG element that will be removed from the document.

  • svg/custom/remove-subtree-including-use-with-child-textpath-that-references-earlier-path-expected.txt: Added.
  • svg/custom/remove-subtree-including-use-with-child-textpath-that-references-earlier-path.html: Added.
15:31 Changeset [173737] by simon.fraser@apple.com
  • 2 edits in trunk/Source/WebKit2

Avoid divide by zero when we get an empty rect while snapshotting a node
https://bugs.webkit.org/show_bug.cgi?id=136932
rdar://problem/18383473

Reviewed by Dean Jackson.

renderer()->paintingRootRect() can return an empty rect for some inline configurations,
for example an <a> containing a floated <span>

When this occurs, avoid a divide by zero and return a null snapshot image.

  • WebProcess/WebPage/WebPage.cpp:

(WebKit::WebPage::snapshotNode):

15:06 Changeset [173736] by joepeck@webkit.org
  • 22 edits in trunk/Source

Unreviewed rollout r173731. Broke multiple builds.

Source/JavaScriptCore:

  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::connectFrontend):

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

(Inspector::RemoteInspector::RemoteInspector):
(Inspector::RemoteInspector::setupFailed):
(Inspector::RemoteInspector::start):
(Inspector::RemoteInspector::stopInternal):
(Inspector::RemoteInspector::setupXPCConnectionIfNeeded):
(Inspector::RemoteInspector::xpcConnectionReceivedMessage):
(Inspector::RemoteInspector::xpcConnectionFailed):
(Inspector::RemoteInspector::receivedSetupMessage):
(Inspector::globalAutomaticInspectionState): Deleted.
(Inspector::RemoteInspector::updateDebuggableAutomaticInspectCandidate): Deleted.
(Inspector::RemoteInspector::sendAutomaticInspectionCandidateMessage): Deleted.
(Inspector::RemoteInspector::setupSucceeded): Deleted.
(Inspector::RemoteInspector::waitingForAutomaticInspection): Deleted.
(Inspector::RemoteInspector::receivedAutomaticInspectionConfigurationMessage): Deleted.
(Inspector::RemoteInspector::receivedAutomaticInspectionRejectMessage): Deleted.

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

(Inspector::RemoteInspectorDebuggable::setRemoteDebuggingAllowed):
(Inspector::RemoteInspectorDebuggable::pauseWaitingForAutomaticInspection): Deleted.

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

(Inspector::RemoteInspectorDebuggableConnection::setup):

  • runtime/JSGlobalObjectDebuggable.cpp:

(JSC::JSGlobalObjectDebuggable::connect):
(JSC::JSGlobalObjectDebuggable::pauseWaitingForAutomaticInspection): Deleted.

  • runtime/JSGlobalObjectDebuggable.h:

Source/WebCore:

  • WebCore.exp.in:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::show):

  • inspector/InspectorController.h:
  • page/PageDebuggable.cpp:

(WebCore::PageDebuggable::connect):

  • page/PageDebuggable.h:
  • testing/Internals.cpp:

(WebCore::Internals::openDummyInspectorFrontend):

Source/WTF:

  • wtf/Assertions.cpp:
  • wtf/Assertions.h:
14:59 Changeset [173735] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.11-branch/Source

Versioning.

14:37 Changeset [173734] by bdakin@apple.com
  • 2 edits in trunk/Source/WebCore

ASSERT in RenderBox::instrinsicScrollbarLogicalWidth opening the inspector
https://bugs.webkit.org/show_bug.cgi?id=136929

Reviewed by Simon Fraser.

This is a regression from http://trac.webkit.org/changeset/173668
This code is wrong after that change because it assumes that overflow:scroll will
always have a scrollbar. That is no longer the case. We need to check to make sure
it’s an overflow:scroll that does NOT have overflow:auto behavior.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::instrinsicScrollbarLogicalWidth):

14:32 Changeset [173733] by bshafiei@apple.com
  • 1 copy in tags/Safari-600.1.4.11.8

New tag.

14:26 Changeset [173732] by bshafiei@apple.com
  • 5 edits in branches/safari-600.1.4.11-branch

Merge patch for <rdar://problem/18382131>.

12:47 Changeset [173731] by commit-queue@webkit.org
  • 22 edits in trunk/Source

Web Inspector: Should be able to attach a debugger to a JSContext before anything is executed
https://bugs.webkit.org/show_bug.cgi?id=136893

Patch by Joseph Pecoraro <pecoraro@apple.com> on 2014-09-18
Reviewed by Timothy Hatcher.

Source/JavaScriptCore:

Adds new remote inspector protocol handling for automatic inspection.
Debuggers can signal they have enabled automatic inspection, and
when debuggables are created the current application will pause to
see if the debugger will inspect or decline to inspect the debuggable.

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

(Inspector::globalAutomaticInspectionState):
(Inspector::RemoteInspector::RemoteInspector):
(Inspector::RemoteInspector::start):
When first starting, check the global "is there an auto-inspect" debugger state.
This is necessary so that the current application knows if it should pause or
not when a debuggable is created, even without having connected to webinspectord yet.

(Inspector::RemoteInspector::updateDebuggableAutomaticInspectCandidate):
When a debuggable has enabled remote inspection, take this path to propose
it as an automatic inspection candidate if there is an auto-inspect debugger.

(Inspector::RemoteInspector::sendAutomaticInspectionCandidateMessage):
Send the automatic inspection candidate message.

(Inspector::RemoteInspector::receivedSetupMessage):
(Inspector::RemoteInspector::setupFailed):
(Inspector::RemoteInspector::setupSucceeded):
After attempting to open an inspector, unpause if it was for the
automatic inspection candidate.

(Inspector::RemoteInspector::waitingForAutomaticInspection):
When running a nested runloop, check if we should remain paused.

(Inspector::RemoteInspector::setupXPCConnectionIfNeeded):
If by the time we connect to webinspectord we have a candidate, then
immediately send the candidate message.

(Inspector::RemoteInspector::stopInternal):
(Inspector::RemoteInspector::xpcConnectionFailed):
In error cases, clear our state.

(Inspector::RemoteInspector::xpcConnectionReceivedMessage):
(Inspector::RemoteInspector::receivedAutomaticInspectionConfigurationMessage):
(Inspector::RemoteInspector::receivedAutomaticInspectionRejectMessage):
Update state when receiving new messages.

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

(Inspector::RemoteInspectorDebuggable::setRemoteDebuggingAllowed):
Special case when a debuggable is newly allowed to be debuggable.

(Inspector::RemoteInspectorDebuggable::pauseWaitingForAutomaticInspection):
Run a nested run loop while this is an automatic inspection candidate.

  • inspector/JSGlobalObjectInspectorController.h:
  • inspector/JSGlobalObjectInspectorController.cpp:

(Inspector::JSGlobalObjectInspectorController::JSGlobalObjectInspectorController):
(Inspector::JSGlobalObjectInspectorController::connectFrontend):
When the inspector starts via automatic inspection automatically pause.
We plan on removing this condition by having the frontend signal to the
backend when it is completely initialized.

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

(Inspector::RemoteInspectorDebuggableConnection::setup):
Pass on the flag of whether or not this was automatic inspection.

  • runtime/JSGlobalObjectDebuggable.h:
  • runtime/JSGlobalObjectDebuggable.cpp:

(JSC::JSGlobalObjectDebuggable::connect):
(JSC::JSGlobalObjectDebuggable::pauseWaitingForAutomaticInspection):
When pausing in a JSGlobalObject we need to release the API lock.

Source/WebCore:

Automatic inspection is currently disabled for web pages.
This just updates the interfaces that changed.

  • WebCore.exp.in:
  • inspector/InspectorController.cpp:

(WebCore::InspectorController::connectFrontend):
(WebCore::InspectorController::show):

  • inspector/InspectorController.h:
  • page/PageDebuggable.cpp:

(WebCore::PageDebuggable::connect):

  • page/PageDebuggable.h:
  • testing/Internals.cpp:

(WebCore::Internals::openDummyInspectorFrontend):

Source/WTF:

Currently automatic inspection only happens in processes that have a
debugger attached. That condition may change in the future, but this
function can stand on its own in WTF. It may be useful in the future
to perhaps continue though ASSERTs if you have a debugger attached.

  • wtf/Assertions.cpp:
  • wtf/Assertions.h:
12:36 Changeset [173730] by benjamin@webkit.org
  • 3 edits in trunk/LayoutTests

CSS JIT: The backtracking register can be ignored from the minimumRegisterRequirements
https://bugs.webkit.org/show_bug.cgi?id=136906
rdar://problem/18368294

Patch by Benjamin Poulain <bpoulain@apple.com> on 2014-09-18
Reviewed by Darin Adler.

  • fast/selectors/nth-child-with-backtracking-expected.txt:
  • fast/selectors/nth-child-with-backtracking.html:

The use case is well covered by existing tests. This is updating the backtracking test
with a simpler selector similar to the one in the bug report.

12:33 Changeset [173729] by roger_fong@apple.com
  • 2 edits in trunk/LayoutTests

Don’t skip all the media tests on Windows.

  • platform/win/TestExpectations:
12:12 Changeset [173728] by roger_fong@apple.com
  • 9 edits
    9 adds in trunk/LayoutTests

Unreviewed. Windows rebaselining to account for subpixel layout Part 3.

  • platform/win/css1/box_properties/acid_test-expected.txt: Added.
  • platform/win/fast/block/margin-collapse: Added.
  • platform/win/fast/block/margin-collapse/103-expected.txt: Added.
  • platform/win/fast/css/empty-pseudo-class-expected.txt:
  • platform/win/fast/css/first-child-pseudo-class-expected.txt:
  • platform/win/fast/css/last-child-pseudo-class-expected.txt:
  • platform/win/fast/css/only-child-pseudo-class-expected.txt:
  • platform/win/fast/forms/basic-inputs-expected.txt: Added.
  • platform/win/fast/forms/file/file-input-direction-expected.txt:
  • platform/win/fast/forms/formmove-expected.txt: Added.
  • platform/win/fast/forms/formmove2-expected.txt: Added.
  • platform/win/fast/repaint/reflection-redraw-expected.txt:
  • platform/win/fast/replaced/width100percent-button-expected.txt:
  • platform/win/fast/ruby/bopomofo-expected.txt: Added.
  • platform/win/fast/ruby/bopomofo-letter-spacing-expected.txt: Added.
  • platform/win/fast/ruby/bopomofo-rl-expected.txt: Added.
  • platform/win/fast/table/multiple-captions-display-expected.txt:
11:10 Changeset [173727] by bfulgham@apple.com
  • 2 edits in trunk/Source/ThirdParty

[Win] Unreviewed build fix.

  • gtest/msvc/gtest-md.vcxproj: Make sure we use static linking for gtest on

normal debug build to match the rest of WebKit.

10:36 Changeset [173726] by carlosgc@webkit.org
  • 2 edits in trunk/Source/WebKit2

Incorrect pending API request URL when loading an HTML string
https://bugs.webkit.org/show_bug.cgi?id=136913

Reviewed by Alexey Proskuryakov.

Use about:blank as pending API request URL when the given base URL
is empty, otherwise use the given base URL.

  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::loadHTMLString):

10:15 Changeset [173725] by ossy@webkit.org
  • 3 edits in trunk/Tools

Fix countFailures of RunLLINTCLoopTests and Run32bitJSCTests (II)
https://bugs.webkit.org/show_bug.cgi?id=136856

Reviewed by Darin Adler.

  • BuildSlaveSupport/build.webkit.org-config/master.cfg:

(RunLLINTCLoopTests.countFailures):
(Run32bitJSCTests.countFailures):

  • BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:

(RunLLINTCLoopTestsTest.test_failures):
(RunLLINTCLoopTestsTest.test_failure):
(RunLLINTCLoopTestsTest.test_no_failure):
(Run32bitJSCTestsTest.test_failures):
(Run32bitJSCTestsTest.test_failure):
(Run32bitJSCTestsTest.test_no_failure):

09:52 Changeset [173724] by cdumez@apple.com
  • 52 edits in trunk/Source/WebCore

Use fastHasAttribute() / fastGetAttribute() when possible
https://bugs.webkit.org/show_bug.cgi?id=136900

Reviewed by Benjamin Poulain.

Use fastHasAttribute() / fastGetAttribute() when possible, that is when
the attribute is not SVG-animated or the |style| attribute, to avoid
synchronizing attributes unnecessarily.

Also avoid calling hasAttribute(xxxAttr) then getAttribute(xxxAttr) as
it causes 2 linear searches. It is best to call getAttribute(xxxAttr)
directly and check if it returns the nullAtom.

No new tests, no behavior change. Element::fastAttributeLookupAllowed()
is there as a safety set for debug builds.

  • accessibility/AccessibilityListBoxOption.cpp:

(WebCore::AccessibilityListBoxOption::isEnabled):

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::alternativeTextForWebArea):
(WebCore::AccessibilityNodeObject::hierarchicalLevel):

  • accessibility/AccessibilityObject.cpp:

(WebCore::AccessibilityObject::contentEditableAttributeIsEnabled):

  • dom/Document.cpp:

(WebCore::Document::hasManifest):

  • dom/DocumentOrderedMap.cpp:

(WebCore::keyMatchesLabelForAttribute):

  • dom/DocumentStyleSheetCollection.cpp:

(WebCore::DocumentStyleSheetCollection::collectActiveStyleSheets):

  • dom/Element.cpp:

(WebCore::Element::imageSourceURL):
(WebCore::Element::pseudo):
(WebCore::Element::spellcheckAttributeState):

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):

  • editing/EditingStyle.cpp:

(WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue):
(WebCore::HTMLFontSizeEquivalent::attributeValueAsCSSValue):

  • editing/SplitElementCommand.cpp:

(WebCore::SplitElementCommand::doUnapply):

  • html/HTMLAnchorElement.cpp:

(WebCore::HTMLAnchorElement::draggable):
(WebCore::HTMLAnchorElement::sendPings):

  • html/HTMLAppletElement.cpp:

(WebCore::HTMLAppletElement::updateWidget):

  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::addSubresourceAttributeURLs):

  • html/HTMLButtonElement.cpp:

(WebCore::HTMLButtonElement::value):

  • html/HTMLDocument.cpp:

(WebCore::HTMLDocument::dir):

  • html/HTMLEmbedElement.cpp:

(WebCore::HTMLEmbedElement::imageSourceURL):
(WebCore::HTMLEmbedElement::addSubresourceAttributeURLs):

  • html/HTMLFieldSetElement.cpp:

(WebCore::HTMLFieldSetElement::~HTMLFieldSetElement):
(WebCore::updateFromControlElementsAncestorDisabledStateUnder):
(WebCore::HTMLFieldSetElement::disabledAttributeChanged):
(WebCore::HTMLFieldSetElement::disabledStateChanged):
(WebCore::HTMLFieldSetElement::childrenChanged):
(WebCore::HTMLFieldSetElement::didMoveToNewDocument):

  • html/HTMLFormControlElement.cpp:

(WebCore::HTMLFormControlElement::computeIsDisabledByFieldsetAncestor):

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::action):

  • html/HTMLFrameElement.cpp:

(WebCore::HTMLFrameElement::noResize):

  • html/HTMLFrameElementBase.cpp:

(WebCore::HTMLFrameElementBase::location):

  • html/HTMLHRElement.cpp:

(WebCore::HTMLHRElement::collectStyleForPresentationAttribute):

  • html/HTMLHtmlElement.cpp:

(WebCore::HTMLHtmlElement::insertedByParser):

  • html/HTMLImageElement.cpp:

(WebCore::HTMLImageElement::altText):
(WebCore::HTMLImageElement::alt):
(WebCore::HTMLImageElement::draggable):
(WebCore::HTMLImageElement::src):
(WebCore::HTMLImageElement::addSubresourceAttributeURLs):

  • html/HTMLInputElement.cpp:

(WebCore::HTMLInputElement::finishParsingChildren):
(WebCore::HTMLInputElement::altText):
(WebCore::HTMLInputElement::reset):

  • html/HTMLLabelElement.cpp:

(WebCore::HTMLLabelElement::control):

  • html/HTMLLinkElement.cpp:

(WebCore::HTMLLinkElement::process):
(WebCore::HTMLLinkElement::rel):

  • html/HTMLMetaElement.cpp:

(WebCore::HTMLMetaElement::content):
(WebCore::HTMLMetaElement::httpEquiv):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::imageSourceURL):
(WebCore::HTMLObjectElement::addSubresourceAttributeURLs):

  • html/HTMLOptGroupElement.cpp:

(WebCore::HTMLOptGroupElement::groupLabelText):

  • html/HTMLProgressElement.cpp:

(WebCore::HTMLProgressElement::max):

  • html/HTMLScriptElement.cpp:

(WebCore::HTMLScriptElement::sourceAttributeValue):
(WebCore::HTMLScriptElement::charsetAttributeValue):
(WebCore::HTMLScriptElement::languageAttributeValue):
(WebCore::HTMLScriptElement::forAttributeValue):
(WebCore::HTMLScriptElement::eventAttributeValue):

  • html/HTMLTableCellElement.cpp:

(WebCore::HTMLTableCellElement::addSubresourceAttributeURLs):

  • html/HTMLTableElement.cpp:

(WebCore::HTMLTableElement::rules):
(WebCore::HTMLTableElement::summary):
(WebCore::HTMLTableElement::addSubresourceAttributeURLs):

  • html/HTMLTableSectionElement.cpp:

(WebCore::HTMLTableSectionElement::align):
(WebCore::HTMLTableSectionElement::ch):
(WebCore::HTMLTableSectionElement::vAlign):

  • html/HTMLTextAreaElement.cpp:

(WebCore::HTMLTextAreaElement::maxLength):

  • html/SearchInputType.cpp:

(WebCore::SearchInputType::searchEventsShouldBeDispatched):

  • loader/FormSubmission.cpp:

(WebCore::FormSubmission::create):

  • page/Frame.cpp:

(WebCore::Frame::matchLabelsAgainstElement):

  • page/PageSerializer.cpp:

(WebCore::PageSerializer::serializeFrame):

  • platform/win/PasteboardWin.cpp:

(WebCore::Pasteboard::writeImageToDataObject):

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::altDisplayString):

  • rendering/RenderSearchField.cpp:

(WebCore::RenderSearchField::autosaveName):

  • rendering/RenderTableCell.cpp:

(WebCore::RenderTableCell::computePreferredLogicalWidths):

  • rendering/svg/RenderSVGResourceClipper.cpp:

(WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):

09:32 Changeset [173723] by cdumez@apple.com
  • 15 edits in trunk/Source/WebCore

Have LiveNodeLists / HTMLCollections's elementMatches() take a reference
https://bugs.webkit.org/show_bug.cgi?id=136902

Reviewed by Darin Adler.

Have LiveNodeLists / HTMLCollections's elementMatches() take a reference
in argument instead of a pointer as the Element can never be null.

No new tests, no behavior change.

  • dom/ClassNodeList.h:

(WebCore::ClassNodeList::elementMatches):

  • dom/DocumentOrderedMap.cpp:

(WebCore::keyMatchesWindowNamedItem):
(WebCore::keyMatchesDocumentNamedItem):

  • dom/Element.cpp:

(WebCore::Element::updateNameForDocument):
(WebCore::Element::updateIdForDocument):

  • dom/LiveNodeList.cpp:

(WebCore::LiveNodeList::namedItem):

  • dom/LiveNodeList.h:

(WebCore::CachedLiveNodeList<NodeListType>::collectionBegin):
(WebCore::CachedLiveNodeList<NodeListType>::collectionLast):
(WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseForward):
(WebCore::CachedLiveNodeList<NodeListType>::collectionTraverseBackward):

  • dom/NameNodeList.h:

(WebCore::NameNodeList::elementMatches):

  • dom/TagNodeList.h:

(WebCore::TagNodeList::elementMatches):
(WebCore::HTMLTagNodeList::elementMatches):

  • html/HTMLCollection.cpp:

(WebCore::isMatchingElement):

  • html/HTMLNameCollection.cpp:

(WebCore::WindowNameCollection::elementMatchesIfNameAttributeMatch):
(WebCore::WindowNameCollection::elementMatches):
(WebCore::DocumentNameCollection::elementMatchesIfIdAttributeMatch):
(WebCore::DocumentNameCollection::elementMatchesIfNameAttributeMatch):
(WebCore::DocumentNameCollection::elementMatches):

  • html/HTMLNameCollection.h:
  • html/LabelsNodeList.cpp:

(WebCore::LabelsNodeList::elementMatches):

  • html/LabelsNodeList.h:
  • html/RadioNodeList.cpp:

(WebCore::RadioNodeList::checkElementMatchesRadioNodeListFilter):
(WebCore::RadioNodeList::elementMatches):

  • html/RadioNodeList.h:
09:26 Changeset [173722] by timothy_horton@apple.com
  • 2 edits in trunk/Source/WebKit2

Occasional unreproducible crashes in MessageReceiverMap::dispatchMessage
https://bugs.webkit.org/show_bug.cgi?id=136909
<rdar://problem/17758325>

Reviewed by Anders Carlsson.

  • UIProcess/API/Cocoa/WKWebView.mm:

(-[WKWebView dealloc]):
We're seeing some messages dispatched on the WebContext that end up
attempting to call dispatchMessage on a freed MessageReceiver.
The WKRemoteObjectRegistry message receiver is added to the WebContext
message receiver map, but never removed, despite the WebContext easily
outliving the WKWebView that owns the remote object registry.

09:22 Changeset [173721] by evab.u-szeged@partner.samsung.com
  • 2 edits in trunk/Source/JavaScriptCore

Fix "Tools/Scripts/build-webkit --efl --no-inspector" build
https://bugs.webkit.org/show_bug.cgi?id=136912

Reviewed by Darin Adler.

  • runtime/TypeSet.cpp:

(JSC::TypeSet::leastCommonAncestor):

06:06 Changeset [173720] by zandobersek@gmail.com
  • 5 edits
    1 add in trunk

GMainLoopSource is exposed to race conditions
https://bugs.webkit.org/show_bug.cgi?id=135800

Reviewed by Carlos Garcia Campos.

Source/WTF:

GMainLoopSource objects can be dispatching tasks on one thread
while having a new task scheduled on a different thread. This
can for instance occur in WebKitVideoSink, where the timeout
callback can be called on main thread while at the same time
it is being rescheduled on a different thread (created through
GStreamer).

The initial solution is to use GMutex to prevent parallel data
access from different threads. In the future I plan to look at
the possibility of creating thread-specific GMainLoopSource
objects that wouldn't require the use of GMutex.

GSource, GCancellable and std::function<> objects are now packed
into an internal Context structure. Using the C++11 move semantics
it's simple to, at the time of dispatch, move the current context
out of the GMainLoopSource object in case the dispatch causes a
rescheduling on that same object.

Also added in the Context struct is a new GCancellable. The pointer
of that object is shared with the GMainLoopSource before the Context
is moved out for the callback dispatch. This makes it safe to cancel
or even delete the GMainLoopSource during the dispatch and prevents
use-after-delete on GMainLoopSource once the dispatch is done in
the GMainLoopSource::*Callback() methods.

All the schedule*() methods and the cancelWithoutLocking() method
callers now lock the GMutex to ensure no one else is accessing the
data at that moment. Similar goes for the dispatch methods, but those
do the dispatch and possible destruction duties with the mutex unlocked.
The dispatch can cause rescheduling on the same GMainLoopSource object,
which must not be done with a locked mutex.

  • wtf/gobject/GMainLoopSource.cpp:

(WTF::GMainLoopSource::GMainLoopSource):
(WTF::GMainLoopSource::~GMainLoopSource):
(WTF::GMainLoopSource::cancel):
(WTF::GMainLoopSource::cancelWithoutLocking):
(WTF::GMainLoopSource::scheduleIdleSource):
(WTF::GMainLoopSource::schedule):
(WTF::GMainLoopSource::scheduleTimeoutSource):
(WTF::GMainLoopSource::scheduleAfterDelay):
(WTF::GMainLoopSource::voidCallback):
(WTF::GMainLoopSource::boolCallback):
(WTF::GMainLoopSource::socketCallback):
(WTF::GMainLoopSource::socketSourceCallback):
(WTF::GMainLoopSource::Context::destroySource):
(WTF::GMainLoopSource::reset): Deleted.
(WTF::GMainLoopSource::destroy): Deleted.

  • wtf/gobject/GMainLoopSource.h:

Tools:

Add unit tests for GMainLoopSource.

The tests check correct behavior of GMainLoopSource in various conditions --
from the most simple rescheduling to rescheduling during dispatch, cancelling
or destroying the GMainLoopSource during dispatch, proper destroy callback
dispatching etc.

Scheduling both void (one-time) and bool (repeatable) callbacks is tested.
State of the GMainLoopSource object (either ready, sheduled or active) is
thoroughly tested throughout the lifetime of that object.

Still missing are tests for socket callbacks, which are a bit trickier because
they rely on a GSocket object. The delete-on-destroy GMainLoopSource objects
are also not tested thoroughly, simply because it is at the moment impossible
to test that the objects are actually destroyed when the corresponding source
is finally deleted.

  • TestWebKitAPI/PlatformGTK.cmake:
  • TestWebKitAPI/Tests/WTF/gobject/GMainLoopSource.cpp: Added.

(TestWebKitAPI::GMainLoopSourceTest::GMainLoopSourceTest):
(TestWebKitAPI::GMainLoopSourceTest::~GMainLoopSourceTest):
(TestWebKitAPI::GMainLoopSourceTest::runLoop):
(TestWebKitAPI::GMainLoopSourceTest::delayedFinish):
(TestWebKitAPI::GMainLoopSourceTest::finish):
(TestWebKitAPI::GMainLoopSourceTest::source):
(TestWebKitAPI::TEST):

04:16 Changeset [173719] by carlosgc@webkit.org
  • 4 edits in trunk/Source/WebCore

Remove unused methods from MediaPlayerClient
https://bugs.webkit.org/show_bug.cgi?id=136884

Reviewed by Eric Carlson.

Remove unused methods from MediaPlayerClient that introduce
dependencies on WebCore types.

  • html/HTMLMediaElement.cpp:
  • html/HTMLMediaElement.h:
  • platform/graphics/MediaPlayer.h:

(WebCore::MediaPlayerClient::mediaPlayerOwningDocument): Deleted.
(WebCore::MediaPlayerClient::mediaPlayerHostWindow): Deleted.
(WebCore::MediaPlayerClient::mediaPlayerWindowClipRect): Deleted.

Note: See TracTimeline for information about the timeline view.