Timeline



Oct 13, 2013:

10:58 PM Changeset in webkit [157387] by Darin Adler
  • 18 edits in trunk

Deprecate or remove deleteAllValues functions; there are only a few call sites left
https://bugs.webkit.org/show_bug.cgi?id=122738

Reviewed by Anders Carlsson.

Source/WebCore:

  • platform/blackberry/CookieMap.cpp:

(WebCore::CookieMap::deleteAllCookiesAndDomains):

  • platform/network/blackberry/rss/RSSParserBase.cpp:

(WebCore::RSSFeed::clear):

  • platform/win/WCDataObject.cpp:

(WebCore::WCDataObject::~WCDataObject):
Renamed deleteAllValues to deprecatedDeleteAllValues.

Source/WebKit/blackberry:

  • WebKitSupport/InPageSearchManager.cpp:

(BlackBerry::WebKit::InPageSearchManager::cancelPendingScopingEffort):
Renamed deleteAllValues to deprecatedDeleteAllValues.

Source/WebKit2:

  • Shared/Plugins/NPRemoteObjectMap.cpp:

(WebKit::NPRemoteObjectMap::pluginDestroyed): Renamed deleteAllValues to
deprecatedDeleteAllValues.

Source/WTF:

  • wtf/Deque.h: Deleted deleteAllValues.
  • wtf/HashMap.h: Ditto.
  • wtf/HashSet.h: Ditto.
  • wtf/ListHashSet.h: Ditto.
  • wtf/Vector.h: Renamed deleteAllValues to deprecatedDeleteAllValues.

Tools:

  • DumpRenderTree/win/DRTDataObject.cpp:

(DRTDataObject::~DRTDataObject):

  • DumpRenderTree/win/UIDelegate.cpp:

(DRTUndoStack::~DRTUndoStack):
(DRTUndoStack::clear):
Renamed deleteAllValues to deprecatedDeleteAllValues.

  • Scripts/do-webcore-rename: Updated to perform this rename, as is traditional.
10:02 PM Changeset in webkit [157386] by ap@apple.com
  • 3 edits in trunk/Tools

build.webkit.org/dashboard incorrectly shows interrupted builds as green
https://bugs.webkit.org/show_bug.cgi?id=122732

Reviewed by Tim Hatcher.

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

(BuildbotIteration.prototype.update): Removed a special case for status 4 (EXCEPTION).
I don't see it occur any time in recent history, but judging from what happens for
status 5 (RETRY), we can just finish this function normally.
Record overall text description for iteration as BuildbotIteration.text.

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

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus): If an iteration is a failure,
but no tests failed, make it yellow, and use buildbot-provided description for it.

5:11 PM Changeset in webkit [157385] by weinig@apple.com
  • 104 edits in trunk/Source/WebCore

Merge NODE_TYPE_CASTS and ELEMENT_TYPE_CASTS
https://bugs.webkit.org/show_bug.cgi?id=122735

Reviewed by Antti Koivisto.

NODE_TYPE_CASTS and ELEMENT_TYPE_CASTS are identical. Let them become one
with one another.

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

Uncrashify Document::head() too. (Why am I even awake?)

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

REGRESSION(r157381): Make Document::body() crash less when there is no documentElement.

Unreviewed.

1:45 PM Changeset in webkit [157382] by fpizlo@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

FTL OSR exit should perform zero extension on values smaller than 64-bit
https://bugs.webkit.org/show_bug.cgi?id=122688

Reviewed by Gavin Barraclough.

In the DFG we usually make the simplistic assumption that a 32-bit value in a 64-bit
register will have zeros on the high bits. In the few cases where the high bits are
non-zero, the DFG sort of tells us this explicitly.

But when working with llvm.webkit.stackmap, it doesn't work that way. Consider we might
emit LLVM IR like:

%2 = trunc i64 %1 to i32
stuff %2
call @llvm.webkit.stackmap(...., %2)

LLVM may never actually emit a truncation instruction of any kind. And that's great - in
many cases it won't be needed, like if 'stuff %2' is a 32-bit op that ignores the high
bits anyway. Hence LLVM may tell us that %2 is in the register that still had the value
from before truncation, and that register may have garbage in the high bits.

This means that on our end, if we want a 32-bit value and we want that value to be
zero-extended, we should zero-extend it ourselves. This is pretty easy and should be
cheap, so we should just do it and not make it a requirement that LLVM does it on its
end.

This makes all tests pass with JSC_ftlOSRExitUsesStackmap=true.

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStubWithOSRExitStackmap):

  • ftl/FTLValueFormat.cpp:

(JSC::FTL::reboxAccordingToFormat):

12:21 PM Changeset in webkit [157381] by Darin Adler
  • 3 edits in trunk/Source/WebCore

Rewrite Document::body and Document::head in modern style, way clearer and shorter
https://bugs.webkit.org/show_bug.cgi?id=122717

Reviewed by Andreas Kling.

  • dom/Document.cpp:

(WebCore::Document::body): Use iterator to make this way easier to read.
(WebCore::Document::head): Ditto.

  • html/HTMLTagNames.in: Added generateTypeHelpers for body and head.
12:17 PM Changeset in webkit [157380] by mrowe@apple.com
  • 5 edits
    5 copies in trunk

Roll depsHHHHChangeLogs.

11:52 AM Changeset in webkit [157379] by berto@igalia.com
  • 2 edits in trunk/LayoutTests

Unreviewed GTK gardening.

  • platform/gtk-wk2/TestExpectations:

Add bug number to the failing animation tests.

11:39 AM Changeset in webkit [157378] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

RenderLayerBacking should have RenderLayer& backpointer.
<https://webkit.org/b/122731>

Reviewed by Anders Carlsson.

RenderLayerBacking is always owned by a RenderLayer and so should
store its backpointer in a reference.

10:26 AM Changeset in webkit [157377] by commit-queue@webkit.org
  • 4 edits in trunk/LayoutTests

Removing input-file-entries.html from TestExpectation
https://bugs.webkit.org/show_bug.cgi?id=122674

Patch by Santosh Mahto <santosh.ma@samsung.com> on 2013-10-13
Reviewed by Anders Carlsson.

input-file-entries.html has been removed in
changeset 156692. so removing references to this file.

  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
  • platform/wk2/TestExpectations:
10:10 AM Changeset in webkit [157376] by andersca@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Try to fix the Lion build.

  • Configurations/JavaScriptCore.xcconfig:
9:15 AM Changeset in webkit [157375] by Darin Adler
  • 52 edits in trunk/Source/WebCore

Make element predicates and type casts work more consistently on more types
https://bugs.webkit.org/show_bug.cgi?id=122718

Reviewed by Antti Koivisto.

  • dom/ContainerNodeAlgorithms.cpp:

(WebCore::assertConnectedSubrameCountIsConsistent):

  • dom/ContainerNodeAlgorithms.h:

(WebCore::ChildFrameDisconnector::collectFrameOwners):
Updated for name change.

  • dom/Document.cpp:

(WebCore::Document::adoptNode): Use a reference instead of a pointer.
(WebCore::Document::dispatchFullScreenChangeOrErrorEvent): Updated for
typecast name change and also to cast a reference, since we don't overload
for pointers.
(WebCore::Document::updateHoverActiveState): Ditto.

  • dom/Element.h: Made the isElementOfType functions take references instead

of pointers. Also use const in the type template argument. These changes go
hand in hand with the changes in the generated code and all the classes.
Also use a bit of nullptr.

  • dom/ElementIterator.h:

(WebCore::findElementAncestorOfType): Got rid of the ElementTypeWithConst
naming since this works with or without const. Added const to the call site
for isElementOfType, because it works that way now.

  • dom/ElementTraversal.h:

(WebCore::Traversal::firstChildTemplate): Add const to the type when calling
isElementOfType. Along with the corresponding changes, this makes these
templates work for const types.
(WebCore::Traversal::lastChildTemplate): Ditto.
(WebCore::Traversal::firstWithinTemplate): Ditto.
(WebCore::Traversal::lastWithinTemplate): Ditto.
(WebCore::Traversal::nextTemplate): Ditto.
(WebCore::Traversal::previousTemplate): Ditto.
(WebCore::Traversal::nextSiblingTemplate): Ditto.
(WebCore::Traversal::previousSiblingTemplate): Ditto.
(WebCore::Traversal::nextSkippingChildrenTemplate): Ditto.

  • dom/Node.cpp:

(WebCore::Node::handleLocalEvents): Check isElementNode and then call the
isDisabledFormControl member function, since we no longer have a helper that
takes a node.
(WebCore::Node::willRespondToMouseMoveEvents): Ditto.
(WebCore::Node::willRespondToMouseClickEvents): Ditto.
(WebCore::Node::willRespondToTouchEvents): Ditto.

  • dom/PseudoElement.h: Use some nullptr. Added an isPseudoElement function

that the ELEMENT_TYPE_CASTS macro can use, and also used that macro to make
the toPseudoElement functions instead of a hand-written local variant.

  • dom/make_names.pl:

(printTypeHelpers): Added unimplemented versions of the element predicate
functions that return void to catch unnecessary runtime checks of types
that are already known at compile time. Added assertions to the pointer
overloads of the predicates. Maybe later we can delete them. Added const
to the isElementOf template arguments to make these work with both const
and non-const. Put overloads in a consistent order, most specific class
first, then less specific. Changed isElementOfType to take references
rather than pointers.

  • editing/Editor.cpp:

(WebCore::Editor::selectionForCommand): Updated to pass a reference.
(WebCore::Editor::setBaseWritingDirection): Ditto.
(WebCore::findFirstMarkable): Ditto.

  • html/FormAssociatedElement.h: Tweaked a comment.
  • html/HTMLBodyElement.cpp:

(WebCore::HTMLBodyElement::insertedInto): Updated for name change and to
pass a reference.

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::translate): Removed FIXME and const_cast since the
problem is fixed.
(WebCore::HTMLElement::directionality): Use a reference.

  • html/HTMLElement.h: Use const in the type of the isElementOfType functions.

Use references for all the arguments, not pointers.

  • html/HTMLFieldSetElement.cpp:

(WebCore::HTMLFieldSetElement::refreshElementsIfNeeded): Use documentVersion
instead of docVersion for local variable name. Use elementDescendants instead
of elementTraversal.
(WebCore::HTMLFieldSetElement::length): Use length instead of len for name.

  • html/HTMLFormControlElement.h: Put predicates into the standard format and

did them on single lines. Added ELEMENT_TYPE_CASTS so we get standard casts.

  • html/HTMLFrameElementBase.h: Ditto.
  • html/HTMLFrameOwnerElement.h: Ditto, but changed the name to match the class,

so it's now isHTMLFrameOwnerElement and toHTMLFrameOwnerElement.

  • html/HTMLLabelElement.cpp:

(WebCore::nodeAsSupportedLabelableElement): Updated to use references.

  • html/HTMLMediaElement.h: Put predicates into the standard format and did

them on single lines. Added ELEMENT_TYPE_CASTS so we get standard casts.

  • html/HTMLPlugInElement.h: Ditto. Also marked isPluginElement FINAL.
  • html/HTMLPlugInImageElement.h: Ditto.
  • html/HTMLTableCellElement.cpp: Removed old hand-written cast functions.
  • html/HTMLTableCellElement.h: Did same predicate and ELEMENT_TYPE_CASTS

changes. Also fixed up the ordering of functions in the class.

  • html/HTMLTextFormControlElement.cpp:

(WebCore::enclosingTextFormControl): Updated to use references and nullptr.

  • html/HTMLTextFormControlElement.h: Did same predicate and ELEMENT_TYPE_CASTS.
  • html/HTMLTrackElement.cpp:

(WebCore::HTMLTrackElement::removedFrom): Call isHTMLMediaElement by its new name.

  • html/LabelableElement.h: Did same predicate and ELEMENT_TYPE_CASTS.
  • html/track/WebVTTElement.h: Made isWebVTTElement private. Changed the argument

type of setLanguage to const AtomicString& to avoid excess reference count churn.
Did the predicate and type casts thing.

  • loader/archive/cf/LegacyWebArchive.cpp:

(WebCore::LegacyWebArchive::create): Update for name changes and use references.

  • mathml/MathMLElement.h: Did same predicate and ELEMENT_TYPE_CASTS.
  • page/FocusController.cpp:

(WebCore::FocusController::findFocusableElementDescendingDownIntoFrameDocument):
(WebCore::FocusController::advanceFocusInDocumentOrder):

  • page/PageSerializer.cpp:

(WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
Update for name change.

  • platform/Pasteboard.h: Removed unneeded forward declaration.
  • rendering/RenderWidget.h: Updated for name change.
  • rendering/svg/RenderSVGResourceFilter.cpp:

(WebCore::RenderSVGResourceFilter::buildPrimitives): Use element iterator
and nullptr.

  • svg/SVGAElement.cpp:

(WebCore::SVGAElement::defaultEventHandler): Update for name changes.

  • svg/SVGAnimateElement.cpp:

(WebCore::isSVGAnimateElement): Moved here since we don't want to inline such
a long list of tag names.

  • svg/SVGAnimateElement.h: Marked a lot more virtual functions OVERRIDE.

Did predicate and ELEMENT_TYPE_CASTS changes, but did not make the predicate
be inlined.

  • svg/SVGElement.h: Did predicate and ELEMENT_TYPE_CASTS changes.
  • svg/SVGFilterPrimitiveStandardAttributes.h: Ditto.
  • svg/SVGGradientElement.cpp:

(WebCore::isSVGGradientElement): Moved here since we don't want to inline
the two tag names.

  • svg/SVGGradientElement.h: Did predicate and ELEMENT_TYPE_CASTS changes.
  • svg/SVGGraphicsElement.h: Ditto.
  • svg/SVGImageElement.cpp:

(WebCore::SVGImageElement::SVGImageElement): Took out assertion, since it
was asserting the class of the obejct we just created.

  • svg/SVGPolyElement.cpp:

(WebCore::isSVGPolyElement): Moved here since we don't want to inline the
two tag names.

  • svg/SVGPolyElement.h: Did predicate and ELEMENT_TYPE_CASTS changes.
  • svg/SVGTextContentElement.h: Ditto.
  • svg/animation/SVGSMILElement.cpp:

(WebCore::SVGSMILElement::connectConditions): Update for name changes,
to use references and nullptr, and to get rid of a non-helpful local.

  • svg/animation/SVGSMILElement.h: Added a virtual function to check if a

given SVGElement is an SVGSMILElement so we don't have to check a long list
of tag names instead. Also did the predicate and ELEMENT_TYPE_CASTS changes.

  • testing/Internals.cpp:

(WebCore::Internals::visiblePlaceholder): Updated to use references.

9:12 AM Changeset in webkit [157374] by andersca@apple.com
  • 3 edits in trunk/Source/WTF

Change callOnMainThread to take an std::function
https://bugs.webkit.org/show_bug.cgi?id=122698

Reviewed by Darin Adler.

This will let us pass anything that can be converted to an std::function (including lambdas and
WTF::Function objects) to callOnMainThread.

  • wtf/MainThread.cpp:

(WTF::callOnMainThread):

  • wtf/MainThread.h:
9:00 AM Changeset in webkit [157373] by Antti Koivisto
  • 13 edits in trunk/Source/WebCore

Text::renderer() should return RenderText
https://bugs.webkit.org/show_bug.cgi?id=122729

Reviewed by Andreas Kling.

Tighten typing.

8:57 AM Changeset in webkit [157372] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Devirtualize RenderView::viewRect().
<https://webkit.org/b/122730>

Reviewed by Antti Koivisto.

There's no need for viewRect() to be a virtual RenderObject function.
The single call site that didn't already access it through RenderView
can just go via view().

8:56 AM Changeset in webkit [157371] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Move setPseudoStyle() to RenderImage (from RenderElement.)
<https://webkit.org/b/122726>

Reviewed by Antti Koivisto.

Only RenderImages ever use setPseudoStyle() so move it there and
remove the non-image codepath.

8:04 AM Changeset in webkit [157370] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

CTTE: RenderSlider always has an HTMLInputElement.
<https://webkit.org/b/122728>

Reviewed by Anders Carlsson.

This renderer is never anonymous and always has a corresponding
HTMLInputElement. Tighten this up by having the constructor take
the element by reference, and override element() with a stronger
return type.

7:46 AM Changeset in webkit [157369] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Remove two unused AX functions for getting a FrameView*.
<https://webkit.org/b/122724>

Reviewed by Anders Carlsson.

6:26 AM Changeset in webkit [157368] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Add traverseNextSkippingChildren to ElementIterators
https://bugs.webkit.org/show_bug.cgi?id=122727

Reviewed by Andreas Kling.

Also switch some code using ElementTraversal over to iterators.

4:39 AM Changeset in webkit [157367] by Antti Koivisto
  • 11 edits in trunk/Source/WebCore

Rename InlineBox::remove() to removeFromParent
https://bugs.webkit.org/show_bug.cgi?id=122725

Reviewed by Andreas Kling.

Also make it clear from the code that all InlineTextBoxes have behavesLikeText set.

4:05 AM Changeset in webkit [157366] by Antti Koivisto
  • 11 edits in trunk/Source/WebCore

Make absoluteQuads/Rects functions return Vectors
https://bugs.webkit.org/show_bug.cgi?id=122722

Reviewed by Andreas Kling.

  • dom/Document.cpp:

(WebCore::Document::adjustFloatQuadsForScrollAndAbsoluteZoomAndFrameScale):
(WebCore::Document::adjustFloatRectForScrollAndAbsoluteZoomAndFrameScale):

Take RenderStyle instead of RenderObject

  • dom/Document.h:
  • dom/Element.cpp:

(WebCore::Element::getClientRects):
(WebCore::Element::getBoundingClientRect):

  • dom/Range.cpp:

(WebCore::Range::textRects):
(WebCore::Range::textQuads):
(WebCore::Range::getBorderAndTextQuads):

Adapt to the changes.

  • rendering/RenderObject.h:


Removed unnecessary adjustFloatQuad/RectForAbsoluteZoom functions, inline code to
adjustFloatQuads/RectForScrollAndAbsoluteZoomAndFrameScale.

  • rendering/RenderText.cpp:

(WebCore::RenderText::absoluteRects):
(WebCore::RenderText::absoluteRectsForRange):
(WebCore::RenderText::absoluteQuadsClippedToEllipsis):
(WebCore::RenderText::absoluteQuads):
(WebCore::RenderText::absoluteQuadsForRange):

  • rendering/RenderText.h:
  • rendering/RenderTextLineBoxes.cpp:

(WebCore::RenderTextLineBoxes::absoluteRects):
(WebCore::RenderTextLineBoxes::absoluteRectsForRange):
(WebCore::RenderTextLineBoxes::absoluteQuads):
(WebCore::RenderTextLineBoxes::absoluteQuadsForRange):

  • rendering/RenderTextLineBoxes.h:


Use return value instead of an out-arg, except for the virtual versions.

4:01 AM Changeset in webkit [157365] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

LiveNodeList: rootNode() and document() should return references.
<https://webkit.org/b/122720>

Reviewed by Antti Koivisto.

Tighten up this code a bit by having rootNode() and document()
return references. Also replaced some handwritten traversal
with a call to Node::lastDescendant().

3:59 AM Changeset in webkit [157364] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Document::createRenderTree() should assert that there is no arena.
<https://webkit.org/b/122723>

Reviewed by Antti Koivisto.

Calling createRenderTree() with a RenderArena already in place would
be a programming error.

3:16 AM Changeset in webkit [157363] by akling@apple.com
  • 13 edits
    5 deletes in trunk/Source

Remove dead ENABLE(CUSTOM_ELEMENTS) code.
<https://webkit.org/b/122721>

Reviewed by Antti Koivisto.

There are no ports building with this flag since April and the code
has bitrotted since. Remove it for now. If someone wants to resurrect
the feature someday, getting back to this point is trivial.

2:39 AM Changeset in webkit [157362] by Antti Koivisto
  • 10 edits in trunk/Source/WebCore

Move absoluteRects/Quads to RenderTextLineBoxes
https://bugs.webkit.org/show_bug.cgi?id=122706

Reviewed by Andreas Kling.

  • rendering/RenderTextLineBoxes.cpp:

(WebCore::RenderTextLineBoxes::absoluteRects):
(WebCore::RenderTextLineBoxes::absoluteRectsForRange):
(WebCore::RenderTextLineBoxes::absoluteQuads):
(WebCore::RenderTextLineBoxes::absoluteQuadsForRange):

These move.

(WebCore::RenderTextLineBoxes::selectionRectForRange):
(WebCore::RenderTextLineBoxes::setSelectionState):

Also moved a few smaller functions.

2:02 AM Changeset in webkit [157361] by akling@apple.com
  • 9 edits in trunk/Source

Remove dead code hiding behind ENABLE(TOUCH_EVENT_TRACKING).
<https://webkit.org/b/122719>

Reviewed by Antti Koivisto.

Nobody is building with this flag, and it has broken-looking code
behind it anyway. Nuke from orbit.

12:17 AM Changeset in webkit [157360] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

RenderLayer: Check SVG bit instead of element namespace in isTransparent().
<https://webkit.org/b/118171>

Reviewed by Darin Adler.

Replace the (virtual) namespaceURI() check with an isSVGElement() bit check.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::isTransparent):

12:08 AM Changeset in webkit [157359] by ap@apple.com
  • 12 edits in trunk/Tools

Remove Chromium specific code from flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=122714

Reviewed by Sam Weinig.

Also removed code related to GPU tests and virtual suites.
"Fallbacks map" was chromium only too, not sure why they needed special handling there.

  • TestResultServer/model/jsonresults_unittest.py:
  • TestResultServer/static-dashboards/builders.js:
  • TestResultServer/static-dashboards/dashboard_base.js:
  • TestResultServer/static-dashboards/flakiness_dashboard.html:
  • TestResultServer/static-dashboards/flakiness_dashboard.js:
  • TestResultServer/static-dashboards/flakiness_dashboard_tests.css:
  • TestResultServer/static-dashboards/flakiness_dashboard_unittests.js:
  • TestResultServer/static-dashboards/history.js:
  • TestResultServer/static-dashboards/loader.js:
  • TestResultServer/static-dashboards/ui.js:
  • TestResultServer/templates/uploadform.html:

Oct 12, 2013:

11:55 PM Changeset in webkit [157358] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Use nullptr in Document.cpp
https://bugs.webkit.org/show_bug.cgi?id=122715

Reviewed by Sam Weinig.

  • dom/Document.cpp:

(WebCore::widgetForElement):
(WebCore::Document::Document):
(WebCore::Document::~Document):
(WebCore::Document::dropChildren):
(WebCore::Document::getElementByAccessKey):
(WebCore::Document::doctype):
(WebCore::Document::createElement):
(WebCore::Document::createElementNS):
(WebCore::Document::registerElement):
(WebCore::Document::createCDATASection):
(WebCore::Document::createProcessingInstruction):
(WebCore::Document::createEntityReference):
(WebCore::Document::importNode):
(WebCore::Document::adoptNode):
(WebCore::Document::webkitGetNamedFlows):
(WebCore::Document::elementFromPoint):
(WebCore::Document::caretRangeFromPoint):
(WebCore::Document::setTitle):
(WebCore::Document::removeTitle):
(WebCore::Document::view):
(WebCore::Document::page):
(WebCore::Document::settings):
(WebCore::Document::createNodeIterator):
(WebCore::Document::createTreeWalker):
(WebCore::Document::updateStyleIfNeeded):
(WebCore::Document::styleForElementIgnoringPendingStylesheets):
(WebCore::Document::disconnectFromFrame):
(WebCore::Document::destroyRenderTree):
(WebCore::Document::existingAXObjectCache):
(WebCore::Document::axObjectCache):
(WebCore::Document::scriptableDocumentParser):
(WebCore::Document::body):
(WebCore::Document::head):
(WebCore::Document::processBaseElement):
(WebCore::Document::findUnsafeParentScrollPropagationBoundary):
(WebCore::Document::cloneNode):
(WebCore::Document::styleResolverChanged):
(WebCore::Document::removeFocusedNodeOfSubtree):
(WebCore::Document::setFocusedElement):
(WebCore::Document::getWindowAttributeEventListener):
(WebCore::Document::createEvent):
(WebCore::Document::getOverrideStyle):
(WebCore::Document::ownerElement):
(WebCore::Document::setInPageCache):
(WebCore::Document::parentDocument):
(WebCore::Document::createAttributeNS):
(WebCore::Document::initSecurityContext):
(WebCore::Document::resetHiddenFocusElementTimer):
(WebCore::Document::getCSSCanvasContext):
(WebCore::Document::enqueuePopstateEvent):
(WebCore::Document::takeAnyMediaCanStartListener):
(WebCore::Document::requestFullScreenForElement):
(WebCore::Document::webkitExitFullscreen):
(WebCore::Document::webkitWillEnterFullScreenForElement):
(WebCore::Document::webkitDidExitFullScreenForElement):
(WebCore::Document::fullScreenRendererDestroyed):
(WebCore::Document::webkitPointerLockElement):
(WebCore::Document::seamlessParentIFrame):
(WebCore::Document::loader):
(WebCore::eventTargetElementForDocument):
(WebCore::nearestCommonHoverAncestor):
(WebCore::Document::ensureTemplateDocument):
Use nullptr in many places we were using 0.

11:54 PM Changeset in webkit [157357] by Darin Adler
  • 17 edits in trunk/Source

Get rid of the toHTMLElement helper for casting FormAssociatedElement to HTMLElement
https://bugs.webkit.org/show_bug.cgi?id=122713

Reviewed by Sam Weinig.

Source/WebCore:

Since we are using the function name toHTMLElement for casting to an HTMLElement
from a Node or Element, it's awkward to also use it for a quite different type of
type conversion on a FormAssociatedElement. We already have an asHTMLElement member
function, so lets use that.

  • html/DOMFormData.cpp:

(WebCore::DOMFormData::DOMFormData): Use references instead of pointers, and
asHTMLElement instead of toHTMLElement.

  • html/FormAssociatedElement.cpp: Made FormAttributeTargetObserver FINAL, made

its private inheritance explicit, made its constructor public so we can use it
with make_unique and got rid of its creation function. Also use reference instead
of a pointer.
(WebCore::FormAssociatedElement::FormAssociatedElement): Use nullptr.
(WebCore::FormAssociatedElement::~FormAssociatedElement): Ditto.
(WebCore::FormAssociatedElement::didMoveToNewDocument): Use asHTMLElement instead
of toHTMLElement and use a reference instead of a pointer.
(WebCore::FormAssociatedElement::insertedInto): Ditto.
(WebCore::FormAssociatedElement::removedFrom): Ditto.
(WebCore::FormAssociatedElement::formRemovedFromTree): Ditto.
(WebCore::FormAssociatedElement::resetFormOwner): Ditto.
(WebCore::FormAssociatedElement::formAttributeChanged): Ditto.
(WebCore::FormAssociatedElement::customError): Ditto.
(WebCore::FormAssociatedElement::resetFormAttributeTargetObserver): Use make_unique
instead of create here.
(WebCore::FormAssociatedElement::name): Use asHTMLElement.
(WebCore::FormAttributeTargetObserver::FormAttributeTargetObserver): Ditto.
(WebCore::FormAttributeTargetObserver::idTargetChanged): Updated since m_element is
now a reference.

  • html/FormAssociatedElement.h: Removed some unneeded class declarations.

Made isFormAssociatedElement const. Use std::unique_ptr instead of OwnPtr.

  • html/FormNamedItem.h: Made asHTMLElement return a reference, and overloaded it

for both const and non-const. Made isFormAssociatedElement const.

  • html/HTMLFormControlElement.h: Updated for FormNamedItem changes. Removed an

unneeded class declaration.

  • html/HTMLFormControlsCollection.cpp:

(WebCore::HTMLFormControlsCollection::virtualItemAfter): Use references, asHTMLElement,
and nullptr.
(WebCore::firstNamedItem): Ditto.
(WebCore::HTMLFormControlsCollection::namedItem): Ditto.
(WebCore::HTMLFormControlsCollection::updateNameCache): Ditto.

  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::validateInteractively): Use asHTMLElement and references.
(WebCore::HTMLFormElement::getTextFieldValues): Ditto.
(WebCore::HTMLFormElement::formElementIndexWithFormAttribute): Ditto.
(WebCore::HTMLFormElement::formElementIndex): Ditto.
(WebCore::HTMLFormElement::assertItemCanBeInPastNamesMap): Ditto.
(WebCore::HTMLFormElement::elementFromPastNamesMap): Ditto, and nullptr.

  • html/HTMLImageElement.h: Updated for FormNamedItem changes.
  • html/HTMLObjectElement.h: Ditto.
  • loader/FormSubmission.cpp:

(WebCore::FormSubmission::create): Use asHTMLElement and references.

Source/WebKit/blackberry:

  • WebKitSupport/InputHandler.cpp:

(BlackBerry::WebKit::InputHandler::updateFormState): Use asHTMLElement.

Source/WebKit/mac:

  • WebView/WebHTMLRepresentation.mm:

(-[WebHTMLRepresentation elementWithName:inForm:]): Use asHTMLElement.
(-[WebHTMLRepresentation controlsInForm:]): Ditto.

Source/WebKit/win:

  • WebFrame.cpp:

(WebFrame::controlsInForm): Use asHTMLElement.

11:32 PM Changeset in webkit [157356] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Use nullptr instead of 0 in TreeScope.cpp
https://bugs.webkit.org/show_bug.cgi?id=122711

Reviewed by Andreas Kling.

  • dom/TreeScope.cpp:

(WebCore::TreeScope::TreeScope):
(WebCore::TreeScope::~TreeScope):
(WebCore::TreeScope::clearDocumentScope):
(WebCore::TreeScope::getElementById):
(WebCore::TreeScope::getAllElementsById):
(WebCore::TreeScope::getElementByName):
(WebCore::TreeScope::ancestorInThisScope):
(WebCore::TreeScope::getImageMap):
(WebCore::nodeFromPoint):
(WebCore::TreeScope::labelElementForId):
(WebCore::TreeScope::getSelection):
(WebCore::TreeScope::findAnchor):
(WebCore::focusedFrameOwnerElement):
(WebCore::TreeScope::focusedElement):
(WebCore::commonTreeScope):
Use a lot more nullptr, and also rewrite one while loop as a for loop.

11:03 PM Changeset in webkit [157355] by Darin Adler
  • 3 edits in trunk/Source/WebCore

Remove the not-much-used isShadowHost function from Element.h
https://bugs.webkit.org/show_bug.cgi?id=122710

Reviewed by Andreas Kling.

  • dom/Element.h: Removed isShadowHost, which just checks if shadowRoot is null.
  • page/FocusController.cpp:

(WebCore::FocusNavigationScope::focusNavigationScopeOwnedByShadowHost): Added
individual assertions instead of just asserting isShadowHost.
(WebCore::FocusNavigationScope::focusNavigationScopeOwnedByIFrame): Broke an
assertion with && in it into two assertions.
(WebCore::hasCustomFocusLogic): Changed argument type to be Element& and take
a reference instead of a pointer.
(WebCore::isNonFocusableShadowHost): Made arguments references instead of pointers.
Replaced isShadowHost check with a direct check of whether shadowRoot returns null
or not, which seems nearly as clear.
(WebCore::isFocusableShadowHost): Ditto.
(WebCore::adjustedTabIndex): Ditto.
(WebCore::shouldVisit): Ditto.
(WebCore::FocusController::findFocusableElementDescendingDownIntoFrameDocument):
Updated for changes above.
(WebCore::FocusController::advanceFocusInDocumentOrder): Ditto. Also some nullptr.
(WebCore::FocusController::findFocusableElementAcrossFocusScope): Ditto.
(WebCore::FocusController::findFocusableElementRecursively): Ditto.
(WebCore::FocusController::findElementWithExactTabIndex): Ditto.
(WebCore::nextElementWithGreaterTabIndex): Ditto.
(WebCore::previousElementWithLowerTabIndex): Ditto.
(WebCore::FocusController::nextFocusableElement): Ditto.
(WebCore::FocusController::previousFocusableElement): Ditto.

10:42 PM Changeset in webkit [157354] by Darin Adler
  • 10 edits in trunk/Source/WebCore

Move querySelector from Node to ContainerNode and use references instead of pointers
https://bugs.webkit.org/show_bug.cgi?id=122709

Reviewed by Anders Carlsson.

  • dom/ContainerNode.cpp:

(WebCore::ContainerNode::querySelector): Moved here from Node. Pass a reference instead
of a pointer to SelectorQuery. Changed return types to RefPtr and raw pointer instead of
PassRefPtr.
(WebCore::ContainerNode::querySelectorAll): Ditto.

  • dom/ContainerNode.h: Added the new functions.
  • dom/Element.cpp:

(WebCore::Element::webkitMatchesSelector): Use && instead of an if statement and a reference rather than
a pointer.

  • dom/Node.cpp: Sorted includes, removed SelectorQuery.h, removed the querySelector functions.

(WebCore::Node::ownerDocument): Use document instead of doc and nullptr instead of 0.

  • dom/Node.h: Removed the querySelector functions.
  • dom/SelectorQuery.cpp:

(WebCore::SelectorDataList::selectorMatches): Take references instead of pointers.
(WebCore::SelectorDataList::matches): Ditto.
(WebCore::SelectorDataList::queryAll): Return a RefPtr instead of PassRefPtr.
(WebCore::SelectorDataList::queryFirst): Ditto. Also use nullptr.
(WebCore::selectorForIdLookup): Take references instead of pointers.
(WebCore::isTreeScopeRoot): Ditto.
(WebCore::SelectorDataList::executeFastPathForIdSelector): Ditto.
(WebCore::isSingleTagNameSelector): Ditto.
(WebCore::elementsForLocalName): Ditto. Also use iterators instead of traversal.
(WebCore::anyElement): Ditto.
(WebCore::SelectorDataList::executeSingleTagNameSelectorData): Ditto.
(WebCore::isSingleClassNameSelector): Ditto.
(WebCore::SelectorDataList::executeSingleClassNameSelectorData): Ditto.
(WebCore::SelectorDataList::executeSingleSelectorData): Ditto.
(WebCore::SelectorDataList::executeSingleMultiSelectorData): Ditto.
(WebCore::SelectorDataList::execute): Ditto.
(WebCore::SelectorQueryCache::add): Ditto.

  • dom/SelectorQuery.h: Update to use ContainerNode, references, and RefPtr and raw pointers

rather than PassRefPtr.

  • dom/TreeScope.cpp:

(WebCore::TreeScope::getElementById): Use nullptr instead of 0.
(WebCore::TreeScope::getAllElementsById): Ditto.
(WebCore::TreeScope::getElementByName): Ditto.
(WebCore::TreeScope::ancestorInThisScope): Ditto.

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::assertNode): Use nullptr instead of 0.
(WebCore::InspectorDOMAgent::assertDocument): Ditto.
(WebCore::InspectorDOMAgent::assertElement): Ditto. Also use isElementNode instead of nodeType.
(WebCore::InspectorDOMAgent::assertEditableNode): Use nullptr instead of 0.
(WebCore::InspectorDOMAgent::assertEditableElement): Ditto.
(WebCore::InspectorDOMAgent::getDocument): Use document instead of doc.
(WebCore::InspectorDOMAgent::querySelector): Changed to pass a ContainerNode.
(WebCore::InspectorDOMAgent::querySelectorAll): Ditto.

10:01 PM Changeset in webkit [157353] by Darin Adler
  • 8 edits in trunk/Source/WebCore

Move code to find elements in slider shadow tree into RangeInputType class, since it creates that tree
https://bugs.webkit.org/show_bug.cgi?id=122708

Reviewed by Anders Carlsson.

  • accessibility/AccessibilitySlider.cpp:

(WebCore::AccessibilitySliderThumb::elementRect): Use HTMLInputElement::sliderThumbElement
to find the thumb, rather than using the sliderThumbElementOf function.

  • html/InputType.h: Use nullptr instead of 0. Tweak formatting a bit.
  • html/RangeInputType.cpp:

(WebCore::RangeInputType::handleMouseDownEvent): Use typedSliderThumbElement function.
(WebCore::RangeInputType::handleTouchEvent): Ditto.
(WebCore::RangeInputType::createShadowSubtree): Fixed assertion to match the code below.
(WebCore::RangeInputType::sliderTrackElement): Moved next to the createShadowSubtree function
since it is finding an element in that subtree. Changed to do the work here instead of calling
a function in another file.
(WebCore::RangeInputType::typedSliderThumbElement): Added. Finds the slider thumb element,
and returns it as a reference with a specific type.
(WebCore::RangeInputType::sliderThumbElement): Changed to call typedSliderThumbElement, loosening
the type, and returning a pointer Changed to call typedSliderThumbElement, loosening
the type, and returning a pointer.
(WebCore::RangeInputType::minOrMaxAttributeChanged): Use typedSliderThumbElement.
(WebCore::RangeInputType::setValue): Ditto.
(WebCore::RangeInputType::listAttributeTargetChanged): Ditto.

  • html/RangeInputType.h: Marked the class FINAL. Tweaked formatting a bit.

Added the typedSliderThumbElement function.

  • html/shadow/SliderThumbElement.cpp:

(WebCore::SliderThumbElement::setPositionFromPoint): Call the HTMLInputElement::sliderTrackElement
function instead of having the input element's shadow subtree hierarchy hard-coded here.
(WebCore::SliderThumbElement::cloneElementWithoutAttributesAndChildren): Moved here from the header,
since it's a virtual function that won't be inlined.

  • html/shadow/SliderThumbElement.h: Removed unneeded forward declarations. Made more virtual

functions private and added more OVERRIDE. Removed the toSliderThumbElement, sliderThumbElementOf,
and sliderTrackElementOf functions.

  • rendering/RenderSlider.cpp:

(WebCore::RenderSlider::layout): Use HTMLInputElement::sliderThumbElement.
(WebCore::RenderSlider::inDragMode): Ditto.

10:00 PM Changeset in webkit [157352] by Darin Adler
  • 11 edits
    1 delete in trunk/Source/WebCore

Remove unneeded extra memory allocation and indirection for ValidityState
https://bugs.webkit.org/show_bug.cgi?id=122705

Reviewed by Anders Carlsson.

  • CMakeLists.txt: Removed ValidityState.cpp.
  • GNUmakefile.list.am: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • html/FormAssociatedElement.cpp: Removed ValidityState.h include and the

FormAssociatedElement::validity function. That function is now an inline
in the ValidityState.h header.

  • html/FormAssociatedElement.h: Added badInput function, the only function

from the ValidityState interface that was not already present here. Removed
m_validityState.

  • html/HTMLFormControlElement.cpp: Removed include of ValidityState.h.

(WebCore::HTMLFormControlElement::isValidFormControlElement): Use the valid
function directly instead of indirectly through the validity state.
(WebCore::HTMLFormControlElement::setNeedsValidityCheck): Ditto.

  • html/ValidityState.cpp: Removed.
  • html/ValidityState.h: Removed the body of the ValidityState class and

made it effectively a "typedef" for FormAssociatedElement. It's actually
a derived class that adds no members, which is not quite right but will
work just fine for this.
(WebCore::FormAssociatedElement::validity): Implemented; just returns the
FormAssociatedElement, which the bindings expose as a ValidityState.

  • html/ValidityState.idl: Use SkipVTableValidation instead of

ImplementationLacksVTable because FormAssociatedElement does have a vtable.

9:05 PM Changeset in webkit [157351] by aroben@webkit.org
  • 2 edits in trunk/Source/WebKit/mac

WebViews inside OS X screen savers have large caches, but should not
https://bugs.webkit.org/show_bug.cgi?id=122604

We use WebCacheModelDocumentViewer by default for apps linked against
modern WebKit, and WebCacheModelDocumentBrowser for apps linked
against legacy WebKit. ScreenSaverEngine.app doesn't link against
WebKit at all, and thus falls into the legacy case by accident because
NSVersionOfLinkTimeLibrary("WebKit") returns -1.

But WebViews inside screen savers are almost certainly not being used
as browsers, so this large-ish cache specified by
WebCacheModelDocumentBrowser is wasteful. This is likely true for all
apps that don't directly link against WebKit, so now we use
WebCacheModelDocumentViewer by default for those apps.

Reviewed by Darin Adler.

  • WebView/WebPreferences.mm:

(cacheModelForMainBundle): Use WebCacheModelDocumentViewer by default
for apps that don't link against WebKit directly. Also converted to
use @autoreleasepool {} and early returns while I was in here.

6:18 PM Changeset in webkit [157350] by Darin Adler
  • 10 edits in trunk/Source/WebCore

Rename toParentMediaElement to parentMediaElement, since it's not a type cast
https://bugs.webkit.org/show_bug.cgi?id=122707

Reviewed by Eric Carlson.

  • accessibility/AccessibilityMediaControls.cpp:

(WebCore::AccessibilityMediaControlsContainer::controllingVideoElement): Call the
function by its new name, and also remove unnecessary type casting.

  • html/shadow/MediaControlElementTypes.cpp:

(WebCore::parentMediaElement): Renamed from toParentMediaElement. Changed to use
nullptr. Removed an unnecessary null check.

  • html/shadow/MediaControlElementTypes.h: Renamed from toParentMediaElement.

Changed the argument to the RenderObject overload to be a reference rather than
a pointer since it doesn't handle null.

  • html/shadow/MediaControlElements.cpp:

(WebCore::MediaControlClosedCaptionsTrackListElement::defaultEventHandler):
(WebCore::MediaControlClosedCaptionsTrackListElement::updateDisplay):
(WebCore::MediaControlClosedCaptionsTrackListElement::rebuildTrackListMenu):
(WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
(WebCore::MediaControlTextTrackContainerElement::updateDisplay):
(WebCore::MediaControlTextTrackContainerElement::updateTimerFired):
(WebCore::MediaControlTextTrackContainerElement::clearTextTrackRepresentation):
(WebCore::MediaControlTextTrackContainerElement::updateSizes):
(WebCore::MediaControlTextTrackContainerElement::createTextTrackRepresentationImage):
Updated to use the new name. Also use nullptr.

  • html/shadow/MediaControlsBlackBerry.cpp:

(WebCore::MediaControlFullscreenFullscreenButtonElement::defaultEventHandler):
Updated to use the new name.

  • platform/blackberry/RenderThemeBlackBerry.cpp:

(WebCore::determineFullScreenMultiplier):
(WebCore::RenderThemeBlackBerry::adjustMediaControlStyle):
(WebCore::RenderThemeBlackBerry::paintMediaPlayButton):
(WebCore::RenderThemeBlackBerry::paintMediaRewindButton):
(WebCore::RenderThemeBlackBerry::paintMediaMuteButton):
(WebCore::RenderThemeBlackBerry::paintMediaFullscreenButton):
(WebCore::RenderThemeBlackBerry::paintMediaSliderTrack):
(WebCore::RenderThemeBlackBerry::paintMediaVolumeSliderTrack):
Updated to use the new name.

  • platform/efl/RenderThemeEfl.cpp:

(WebCore::RenderThemeEfl::paintMediaSliderTrack):
Updated to use the new name.

  • platform/gtk/RenderThemeGtk.cpp:

(WebCore::RenderThemeGtk::paintMediaSliderTrack):
(WebCore::RenderThemeGtk::paintMediaVolumeSliderTrack):
Updated to use the new name.

  • rendering/RenderMediaControls.cpp:

(WebCore::RenderMediaControls::paintMediaControlsPart):
Call the function by its new name and with a reference instead of a pointer.

3:33 PM Changeset in webkit [157349] by Antti Koivisto
  • 6 edits in trunk/Source/WebCore

Move positionForPoint to RenderTextLineBoxes
https://bugs.webkit.org/show_bug.cgi?id=122703

Reviewed by Andreas Kling.

3:23 PM Changeset in webkit [157348] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

Remove unused ScrollingCoordinator hooks.
<https://webkit.org/b/122701>

Reviewed by Anders Carlsson.

Remove leftover ScrollingCoordinator hooks that were only used
by the Chromium port.

2:14 PM Changeset in webkit [157347] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

[Soup] The NeverDestroyed<std::unique_ptr<NetworkStorageSession>> variable in defaultSession() should be static
https://bugs.webkit.org/show_bug.cgi?id=122700

Reviewed by Anders Carlsson.

  • platform/network/soup/NetworkStorageSessionSoup.cpp:

(WebCore::defaultSession): The NeverDestroyed variable should be static to avoid its reinitialization every time
the function is called. This was exposed by r157337 and should fix the subsequent crashes.

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

Move line dirtying code to RenderTextLineBoxes
https://bugs.webkit.org/show_bug.cgi?id=122699

Reviewed by Andreas Kling.

  • rendering/RenderTextLineBoxes.cpp:

(WebCore::RenderTextLineBoxes::removeAllFromParent):

Also moved the removal loop.

(WebCore::RenderTextLineBoxes::dirtyAll):
(WebCore::RenderTextLineBoxes::dirtyRange):

11:40 AM Changeset in webkit [157345] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Move more code to RenderTextLineBoxes
https://bugs.webkit.org/show_bug.cgi?id=122697

Reviewed by Andreas Kling.

  • rendering/RenderTextLineBoxes.cpp:

(WebCore::RenderTextLineBoxes::boundingBox):
(WebCore::RenderTextLineBoxes::visualOverflowBoundingBox):
(WebCore::RenderTextLineBoxes::hasRenderedText):
(WebCore::RenderTextLineBoxes::caretMinOffset):
(WebCore::RenderTextLineBoxes::caretMaxOffset):

Moved these.

11:34 AM Changeset in webkit [157344] by ap@apple.com
  • 8 edits in trunk/Source

Add a feature define for SubtleCrypto
https://bugs.webkit.org/show_bug.cgi?id=122683

Reviewed by Anders Carlsson.

Source/JavaScriptCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebCore:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit/mac:

  • Configurations/FeatureDefines.xcconfig:

Source/WebKit2:

  • Configurations/FeatureDefines.xcconfig:
11:26 AM Changeset in webkit [157343] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Generate tighter isFooElement() functions for HTML elements.
<https://webkit.org/b/122696>

Reviewed by Antti Koivisto.

Specialize HTML element type checking helpers to only compare the
localName and not the fully qualified tag name.

11:16 AM Changeset in webkit [157342] by akling@apple.com
  • 27 edits in trunk/Source

Replace static cast ASSERTs with ASSERT_WITH_SECURITY_IMPLICATION
https://bugs.webkit.org/show_bug.cgi?id=120803

Patch by Jessica Pease <jessica_n_pease@apple.com> on 2013-09-27
Reviewed by Andreas Kling.

No new tests because we're just changing assertions.

Source/WebCore:

  • accessibility/AccessibilityMockObject.h:

(WebCore::toAccessibilityMockObject):

  • bindings/js/JSCanvasRenderingContextCustom.cpp:

(WebCore::toJS):

  • bindings/js/ScheduledAction.cpp:

(WebCore::ScheduledAction::execute):

  • css/CSSGradientValue.cpp:

(WebCore::CSSGradientValue::image):

  • css/DeprecatedStyleBuilder.cpp:

(WebCore::ApplyPropertyTextUnderlinePosition::applyValue):

  • dom/Element.cpp:

(WebCore::Element::elementRareData):
(WebCore::Element::synchronizeAttribute):

  • dom/FocusEvent.h:

(WebCore::toFocusEvent):

  • dom/MouseEvent.h:

(WebCore::toMouseEvent):

  • dom/Node.cpp:

(WebCore::Node::rareData):

  • dom/StyledElement.cpp:

(WebCore::StyledElement::ensureMutableInlineStyle):

  • dom/TouchEvent.h:

(WebCore::toTouchEvent):

  • editing/CompositeEditCommand.h:

(WebCore::toCompositeEditCommand):

  • html/HTMLObjectElement.cpp:

(WebCore::HTMLObjectElement::shouldAllowQuickTimeClassIdQuirk):

  • html/track/AudioTrack.h:

(WebCore::toAudioTrack):

  • html/track/TextTrack.h:

(WebCore::toTextTrack):

  • html/track/VideoTrack.h:

(WebCore::toVideoTrack):

  • inspector/InspectorCSSAgent.cpp:

(WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):

  • loader/cache/CachedResourceClientWalker.h:

(WebCore::CachedResourceClientWalker::next):

  • page/FrameView.h:

(WebCore::toFrameView):

  • rendering/InlineBox.cpp:

(WebCore::InlineBox::root):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlock::createLineBoxesFromBidiRuns):

  • rendering/svg/SVGPathData.cpp:

(WebCore::updatePathFromEllipseElement):
(WebCore::updatePathFromLineElement):
(WebCore::updatePathFromPolygonElement):
(WebCore::updatePathFromPolylineElement):

  • workers/WorkerMessagingProxy.cpp:

(WebCore::WorkerMessagingProxy::startWorkerGlobalScope):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::document):

Source/WebKit2:

  • Shared/Plugins/NPObjectProxy.h:

(WebKit::NPObjectProxy::toNPObjectProxy):

  • WebProcess/Plugins/Netscape/NPJSObject.h:

(WebKit::NPJSObject::toNPJSObject):

11:03 AM Changeset in webkit [157341] by akling@apple.com
  • 27 edits in trunk/Source

Replace bounds checking ASSERTs with ASSERT_WITH_SECURITY_IMPLICATION
https://bugs.webkit.org/show_bug.cgi?id=120893

Patch by Jessica Pease <jessica_n_pease@apple.com> on 2013-09-06
Reviewed by Darin Adler.

Source/WebCore:

  • Modules/indexeddb/IDBKeyPath.cpp:

(WebCore::IDBKeyPathLexer::lex):

  • Modules/indexeddb/IDBLevelDBCoding.cpp:

(WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):

  • bindings/js/JSCSSStyleDeclarationCustom.cpp:

(WebCore::cssPropertyIDForJSCSSPropertyName):

  • css/CSSFontSelector.cpp:

(WebCore::compareFontFaces):

  • css/CSSParser.cpp:

(WebCore::CSSParser::rewriteSpecifiers):

  • html/HTMLCollection.cpp:

(WebCore::traverseMatchingElementsForwardToOffset):
(WebCore::LiveNodeListBase::traverseChildNodeListForwardToOffset):
(WebCore::HTMLCollection::traverseForwardToOffset):

  • html/HTMLFontElement.cpp:

(WebCore::parseFontSize):

  • html/parser/HTMLParserIdioms.cpp:

(WebCore::parseHTMLIntegerInternal):
(WebCore::parseHTMLNonNegativeIntegerInternal):

  • inspector/InspectorStyleSheet.h:

(WebCore::InspectorStyleProperty::setRawTextFromStyleDeclaration):

  • platform/graphics/StringTruncator.cpp:

(WebCore::centerTruncateToBuffer):
(WebCore::rightTruncateToBuffer):
(WebCore::truncateString):

  • platform/graphics/TextRun.h:

(WebCore::TextRun::subRun):

  • platform/text/BidiRunList.h:

(WebCore::::reverseRuns):

  • rendering/svg/SVGInlineTextBox.cpp:

(WebCore::SVGInlineTextBox::selectionRectForTextFragment):
(WebCore::SVGInlineTextBox::mapStartEndPositionsIntoFragmentCoordinates):

  • rendering/svg/SVGTextChunkBuilder.cpp:

(WebCore::SVGTextChunkBuilder::buildTextChunks):

  • rendering/svg/SVGTextLayoutEngine.cpp:

(WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics):

  • rendering/svg/SVGTextQuery.cpp:

(WebCore::SVGTextQuery::mapStartEndPositionsIntoFragmentCoordinates):

  • svg/SVGAnimationElement.cpp:

(WebCore::SVGAnimationElement::currentValuesForValuesAnimation):

  • svg/SVGPathByteStreamSource.h:

(WebCore::SVGPathByteStreamSource::readType):

Source/WebKit2:

  • Shared/Plugins/PluginQuirks.h:

(WebKit::PluginQuirks::add):

Source/WTF:

  • wtf/BumpPointerAllocator.h:

(WTF::BumpPointerPool::ensureCapacity):
(WTF::BumpPointerPool::alloc):
(WTF::BumpPointerPool::ensureCapacityCrossPool):

  • wtf/FastMalloc.cpp:

(WTF::TCMalloc_ThreadCache::CreateCacheIfNecessary):

  • wtf/StringPrintStream.cpp:

(WTF::StringPrintStream::increaseSize):

  • wtf/dtoa/utils.h:

(WTF::double_conversion::BufferReference::SubBufferReference):

  • wtf/text/WTFString.cpp:

(WTF::String::fromUTF8):

10:41 AM Changeset in webkit [157340] by Antti Koivisto
  • 9 edits
    2 adds in trunk/Source/WebCore

Factor line box code from RenderText to a class
https://bugs.webkit.org/show_bug.cgi?id=122694

Reviewed by Andreas Kling.

Create RenderTextLineBoxes and move some line box specific code there.

8:15 AM Changeset in webkit [157339] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

Fix potential register trampling in JIT since r157313.
https://bugs.webkit.org/show_bug.cgi?id=122691

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

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

7:51 AM Changeset in webkit [157338] by Antti Koivisto
  • 5 edits in trunk/Source/WebCore

Replace RenderText::renderedTextLength with hasRenderedText
https://bugs.webkit.org/show_bug.cgi?id=122693

Reviewed by Andreas Kling.

7:15 AM Changeset in webkit [157337] by Darin Adler
  • 37 edits in trunk/Source

Use unique_ptr instead of delete in a few places
https://bugs.webkit.org/show_bug.cgi?id=122639

Reviewed by Anders Carlsson.

Source/WebCore:

  • Modules/webdatabase/DatabaseBackendBase.cpp:

(WebCore::guidToDatabaseMap): Use NeverDestroyed instead of DEFINE_STATIC_LOCAL.
(WebCore::guidForOriginAndName): Ditto.
(WebCore::DatabaseBackendBase::DatabaseBackendBase): Removed unneeded initialization
of m_guid, which is set in the body of the constructor explicitly anyway. Use emptyString.
Use unique_ptr for the values in the map. Use the add idiom instead of the get/set idiom.
(WebCore::DatabaseBackendBase::closeDatabase): Use the find/remove idiom instead of the
get/remove idiom.
(WebCore::DatabaseBackendBase::performOpenAndVerify): Use auto here to avoid having to
use the map type by name.

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::CachedFont): Don't initialize m_fontData to 0; unique_ptr will do that.
(WebCore::CachedFont::~CachedFont): Don't delete m_fontData. unique_ptr will do that.
(WebCore::CachedFont::ensureCustomFontData): Add a get.
(WebCore::CachedFont::allClientsRemoved): Don't delete m_fontData. Use nullptr instead of 0.

  • loader/cache/CachedFont.h: Changed m_fontData to a unique_ptr.
  • platform/graphics/BitmapImage.cpp:

(WebCore::BitmapImage::BitmapImage): Don't initialize m_frameTimer to 0; unique_ptr will do that.
(WebCore::BitmapImage::startAnimation): Use make_unique to create the timer.
(WebCore::BitmapImage::stopAnimation): Don't delete m_frameTimer. Use nullptr instead of 0.

  • platform/graphics/BitmapImage.h: Changed m_FrameTimer to a unique_ptr.
  • platform/graphics/cg/BitmapImageCG.cpp:

(WebCore::BitmapImage::BitmapImage): Don't initialize m_frameTimer to 0; unique_ptr will do that.

  • platform/graphics/mac/FontCustomPlatformData.cpp:

(WebCore::FontCustomPlatformData::~FontCustomPlatformData): Don't call CGFontRelease on m_cgFont.
(WebCore::FontCustomPlatformData::fontPlatformData): Use get on m_cgFont.
(WebCore::createFontCustomPlatformData): Use nullptr instead of 0, and make_unique instead of new.

  • platform/graphics/mac/FontCustomPlatformData.h: Chnaged m_cgFont to be a RetainPtr, and the

return value from createFontCustomPlatformData to be a unique_ptr.

  • platform/graphics/blackberry/FontCustomPlatformData.h:
  • platform/graphics/blackberry/FontCustomPlatformDataBlackBerry.cpp:

(WebCore::createFontCustomPlatformData):

  • platform/graphics/cairo/BitmapImageCairo.cpp:

(WebCore::BitmapImage::BitmapImage):

  • platform/graphics/cairo/FontCustomPlatformData.h:
  • platform/graphics/cg/BitmapImageCG.cpp:

(WebCore::BitmapImage::BitmapImage):

  • platform/graphics/freetype/FontCustomPlatformDataFreeType.cpp:

(WebCore::createFontCustomPlatformData):

  • platform/graphics/win/FontCustomPlatformData.cpp:

(WebCore::createFontCustomPlatformData):

  • platform/graphics/win/FontCustomPlatformData.h:
  • platform/graphics/win/FontCustomPlatformDataCairo.cpp:

(WebCore::createFontCustomPlatformData):

  • platform/graphics/wince/FontCustomPlatformData.cpp:

(WebCore::createFontCustomPlatformData):

  • platform/graphics/wince/FontCustomPlatformData.h:

Same thing on all the other platforms.

  • platform/network/NetworkStorageSession.h: Changed return value of createPrivateBrowsingSession

to a unique_ptr, and made constructors public.

  • platform/network/cf/NetworkStorageSessionCFNet.cpp:

(WebCore::NetworkStorageSession::createPrivateBrowsingSession): Use make_unique.

  • platform/network/soup/NetworkStorageSessionSoup.cpp:

(WebCore::defaultSession):
(WebCore::NetworkStorageSession::defaultStorageSession):
(WebCore::NetworkStorageSession::createPrivateBrowsingSession):
(WebCore::NetworkStorageSession::switchToNewTestingSession):
Same thing on all the other platforms.

Source/WebKit/mac:

  • History/WebHistory.mm:

(-[WebHistoryPrivate init]): Use make_unique.
(-[WebHistoryPrivate dealloc]): Don't delete.
(-[WebHistoryPrivate finalize]): Don't delete.
(-[WebHistoryPrivate data]): Use get.

  • WebCoreSupport/WebFrameNetworkingContext.mm:

(privateSession): Use NeverDestroyed here instead of a raw pointer.
(WebFrameNetworkingContext::ensurePrivateBrowsingSession): Use the
new function instead of direct global variable access.
(WebFrameNetworkingContext::destroyPrivateBrowsingSession): Ditto.
(WebFrameNetworkingContext::storageSession): Ditto.

  • WebView/WebFrame.mm:

(-[WebFramePrivate dealloc]): Don't delete.
(-[WebFramePrivate finalize]): Don't delete.
(-[WebFrame _attachScriptDebugger]): Use make_unique.
(-[WebFrame _detachScriptDebugger]): Don't delete.

  • WebView/WebFrameInternal.h: Use unique_ptr.

Source/WebKit/win:

  • WebCoreSupport/WebFrameNetworkingContext.cpp:

(privateSession):
(identifierBase):
(WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
(WebFrameNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
(WebFrameNetworkingContext::ensurePrivateBrowsingSession):
(WebFrameNetworkingContext::destroyPrivateBrowsingSession):
(WebFrameNetworkingContext::storageSession):

Source/WebKit2:

  • NetworkProcess/mac/RemoteNetworkingContext.mm:

(WebKit::privateBrowsingStorageSession): Use NeverDestroyed and unique_ptr.
(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession): Use std::move.

  • Shared/Downloads/DownloadManager.cpp:

(WebKit::DownloadManager::startDownload): Use std::move. Also add instead of set.
(WebKit::DownloadManager::convertHandleToDownload): Ditto.
(WebKit::DownloadManager::downloadFinished): Don't delete.

  • Shared/Downloads/DownloadManager.h: Changed m_downloads to hold unique_ptr instead

of raw pointers.

  • Shared/SandboxExtension.h: Use std::unique_ptr for m_data.
  • Shared/mac/SandboxExtensionMac.mm:

(WebKit::SandboxExtension::HandleArray::HandleArray): Don't initialize m_data to 0.
(WebKit::SandboxExtension::HandleArray::~HandleArray): Don't delete m_data.
(WebKit::SandboxExtension::HandleArray::allocate): Use make_unique to allocate m_data.

  • WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:

(WebKit::privateSession): Use NeverDestroyed and unique_ptr.
(WebKit::identifierBase): Use NeverDestroyed.
(WebKit::WebFrameNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
Updated to use the above.
(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession): Ditto.
(WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession): Ditto.
(WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts): Ditto.
(WebKit::WebFrameNetworkingContext::storageSession): Ditto.

  • WebProcess/WebCoreSupport/soup/WebFrameNetworkingContext.cpp:

(WebKit::privateSession):
(WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
(WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
(WebKit::WebFrameNetworkingContext::storageSession):
(WebKit::WebFrameNetworkingContext::webFrameLoaderClient):
More of the same.

3:06 AM Changeset in webkit [157336] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Make LayoutState not arena-allocated.
<https://webkit.org/b/122649>

Reviewed by Antti Koivisto.

Let RenderView own a singly-linked chain of LayoutState objects
managed by unique_ptr.

2:25 AM Changeset in webkit [157335] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[sh4] Add missing spaces in JITStubsSH4.h
https://bugs.webkit.org/show_bug.cgi?id=122690

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-10-12
Reviewed by Andreas Kling.

  • jit/JITStubsSH4.h: Space between string concatenation is mandatory with C++11
2:19 AM Changeset in webkit [157334] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[sh4] Add missing test32 implementation in macro assembler.
https://bugs.webkit.org/show_bug.cgi?id=122689

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-10-12
Reviewed by Andreas Kling.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::test32):

2:15 AM Changeset in webkit [157333] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Make RenderLayer not arena-allocated.
<https://webkit.org/b/87523>

Reviewed by Antti Koivisto.

Let RenderLayerModelObject store its RenderLayer in a unique_ptr.
Layers are relatively low-volume objects and this looks neutral
on our performance tests.

Re-landing this since the original commit exposed a problem with
the destruction order. This pattern:

m_someRenderer->destroy();
m_someRenderer = nullptr;

..is different from what we get with unique_ptr, which clears
the pointer storage before calling the destructor.
I believe that the new order is strictly better as it removes
one path to accessing an object that is undergoing destruction.

The exposed bug was in RLC::fixedRootBackgroundLayerChanged()
where we were dereferencing the RenderView's layer() without
checking, despite it being called below ~RenderLayer.

Oct 11, 2013:

11:03 PM Changeset in webkit [157332] by zoltan@webkit.org
  • 2 edits in trunk/Source/WebCore

Move firstPositiveWidth/adjustLogicalLineTop functions where they're actually used
https://bugs.webkit.org/show_bug.cgi?id=122685

Reviewed by Darin Adler.

I'm working on the refactoring of RenderBlockLineLayout, progress tracked under bug #121261. For the better readability, I moved
firstPositiveWidth and adjustLogicalLineTop functions above pushShapeContentOverflowBelowTheContentBox, where these're actually used.

No new tests, no behavior change.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::firstPositiveWidth):
(WebCore::adjustLogicalLineTop):

9:52 PM Changeset in webkit [157331] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Extract an iterator/resolver class from calculateAdjustedNodes
https://bugs.webkit.org/show_bug.cgi?id=122687

Reviewed by Darin Adler.

Extracted EventRelatedNodeResolver out of calculateAdjustedNodes and replaced calls to calculateAdjustedNodes
in updateTouchListsInEventPath and setRelatedTarget by the use of this newly added class.

  • dom/EventContext.h: Added some helper functions to TouchEventContext so that updateTouchListsInEventPath

could obtain respective TouchList* without having to hard-code the name.

  • dom/EventDispatcher.cpp:

(WebCore::EventRelatedNodeResolver::EventRelatedNodeResolver): Added.
(WebCore::EventRelatedNodeResolver::moveToParentOrShadowHost): Extracted from calculateAdjustedNodes.
(WebCore::EventPath::updateTouchListsInEventPath): Updated to use EventRelatedNodeResolver. Also made this
a member function of EventPath.
(WebCore::EventPath::updateTouchLists): Removed local Vectors to TouchList now that updateTouchListsInEventPath
can obtain TouchList* on demand.
(WebCore::EventPath::setRelatedTarget): Upsed to use EventRelatedNodeResolver.

9:16 PM Changeset in webkit [157330] by Darin Adler
  • 53 edits in trunk/Source

Change most call sites to call ICU directly instead of through WTF::Unicode
https://bugs.webkit.org/show_bug.cgi?id=122635

Reviewed by Alexey Proskuryakov.

Source/JavaScriptCore:

  • parser/Lexer.cpp:

(JSC::isNonLatin1IdentStart): Take a UChar since that's what the only caller wants to pass.
Use U_GET_GC_MASK instead of WTF::Unicode::category.
(JSC::isNonLatin1IdentPart): Ditto.

  • parser/Lexer.h:

(JSC::Lexer::isWhiteSpace): Use u_charType instead of WTF::Unicode::isSeparatorSpace.

  • runtime/JSFunction.cpp: Removed "using namespace" for WTF::Unicode, this will no longer

compile since this doesn't include anything that defines that namespace.

  • runtime/JSGlobalObjectFunctions.cpp:

(JSC::isStrWhiteSpace): Use u_charType instead of WTF::Unicode::isSeparatorSpace.

  • yarr/YarrInterpreter.cpp:

(JSC::Yarr::ByteCompiler::atomPatternCharacter): Use u_tolower and u_toupper instead of
Unicode::toLower and Unicode::toUpper. Also added some assertions since this code assumes
it can convert any UChar to lowercase or uppercase in another UChar, with no risk of needing
a UChar32 for the result. I guess that's probably true, but it would be good to know in a
debug build if not.

Source/WebCore:

  • Modules/indexeddb/IDBKeyPath.cpp:

(isIdentifierStartCharacter): Use U_GET_GC_MASK instead of WTF::Unicode::category.
(isIdentifierCharacter): Ditto.

  • css/CSSParser.cpp:

(WebCore::makeLower): Use u_tolower instead of WTF::Unicode::toLower.
Also assert the character fits in a UChar.

  • dom/Document.cpp:

(WebCore::isValidNameStart): Use U_GET_GC_MASK instead of WTF::Unicode::category,
and u_getIntPropertyValue instead of WTF::Unicode::decompositionType.
(WebCore::isValidNamePart): Ditto.
(WebCore::canonicalizedTitle): Ditto.

  • editing/Editor.cpp:

(WebCore::Editor::insertTextWithoutSendingTextEvent): Use u_isPunct instead of
WTF::Unicode::isPunct.

  • editing/TextIterator.cpp:

(WebCore::SearchBuffer::append): Use u_strFoldCase instead of WTF::Unicode::foldCase.

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::directionality): Use UCharDirection instead of
WTF::Unicode::Direction.

  • html/HTMLSelectElement.cpp:

(WebCore::HTMLSelectElement::defaultEventHandler): Use u_isprint instead of
WTF::Unicode::isPrintableChar.

  • html/TypeAhead.cpp:

(WebCore::stripLeadingWhiteSpace): Use u_charDirection instead of
WTF::Unicode::direction.

  • html/track/TextTrackCue.cpp:

(WebCore::isCueParagraphSeparator): Use u_charType instead of
WTF::Unicode::category.
(WebCore::TextTrackCue::determineTextDirection): Use u_charDirection instead of
WTF::Unicode::direction.

  • page/ContextMenuController.cpp:

(WebCore::selectionContainsPossibleWord): Use U_GET_GC_MASK instead of
WTF::Unicode::category.

  • platform/graphics/Font.cpp:

(WebCore::Font::canReceiveTextEmphasis): Ditto.

  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::glyphDataAndPageForCharacter): Use u_toupper instead of
WTF::Unicode::toUpper. Use u_charMirror instead of WTF::Unicode::mirroredChar.

  • platform/graphics/GraphicsContext.cpp:

(WebCore::TextRunIterator::direction): Use u_charDirection instead of
WTF::Unicode::direction.

  • platform/graphics/SVGGlyph.cpp:

(WebCore::charactersWithArabicForm): Use ublock_getCode instead of
WTF::Unicode::isArabicChar.

  • platform/graphics/SurrogatePairAwareTextIterator.cpp:

(WebCore::SurrogatePairAwareTextIterator::normalizeVoicingMarks): Use
u_getCombiningClass instead of WTF::Unicode::combiningClass.

  • platform/graphics/WidthIterator.cpp:

(WebCore::WidthIterator::advanceInternal): Use u_toupper instead of
WTF::Unicode::toUpper.

  • platform/graphics/mac/ComplexTextController.cpp:

(WebCore::ComplexTextController::collectComplexTextRuns): Added some
assertions about the user of u_toupper and tweaked coding style a bit.

  • platform/text/BidiContext.cpp:

(WebCore::BidiContext::createUncached): Use UCharDirection instead of
WTF::Unicode::Direction.
(WebCore::BidiContext::create): Ditto.
(WebCore::copyContextAndRebaselineLevel): Ditto.

  • platform/text/BidiContext.h:

(WebCore::BidiContext::dir): Ditto.
(WebCore::BidiContext::BidiContext): Ditto.

  • platform/text/BidiResolver.h:

(WebCore::BidiStatus::BidiStatus): Ditto.
(WebCore::BidiEmbedding::BidiEmbedding): Ditto.
(WebCore::BidiEmbedding::direction): Ditto.
(WebCore::BidiCharacterRun::BidiCharacterRun): Ditto.
(WebCore::BidiResolver::BidiResolver): Ditto.
(WebCore::BidiResolver::setLastDir): Ditto.
(WebCore::BidiResolver::setLastStrongDir): Ditto.
(WebCore::BidiResolver::setEorDir): Ditto.
(WebCore::BidiResolver::dir): Ditto.
(WebCore::BidiResolver::setDir): Ditto.
(WebCore::BidiResolver::appendRun): Ditto.
(WebCore::BidiResolver::embed): Ditto.
(WebCore::BidiResolver::checkDirectionInLowerRaiseEmbeddingLevel): Ditto.
(WebCore::BidiResolver::lowerExplicitEmbeddingLevel): Ditto.
(WebCore::BidiResolver::raiseExplicitEmbeddingLevel): Ditto.
(WebCore::BidiResolver::commitExplicitEmbedding): Ditto.
(WebCore::BidiResolver::updateStatusLastFromCurrentDirection): Ditto.
(WebCore::BidiResolver::createBidiRunsForLine): Ditto.

  • platform/text/SegmentedString.h:

(WebCore::SegmentedString::advanceAndASSERTIgnoringCase): Use u_foldCase
instead of WTF::Unicode::foldCase.

  • platform/text/TextBoundaries.cpp:

(WebCore::findNextWordFromIndex): Use u_isalnum instead of
WTF::Unicode::isAlphanumeric.

  • platform/text/TextBoundaries.h:

(WebCore::requiresContextForWordBoundary): Use u_getIntPropertyValue directly
instead of WTF::Unicode::requiresComplexContextForWordBreaking.

  • platform/text/mac/TextBoundaries.mm: Removed explicit use of WTF::Unicode,

which was unneeded and also will no longer compile.

  • rendering/BidiRun.h:

(WebCore::BidiRun::BidiRun): Use UCharDirection instead of WTF::Unicode::Direction.

  • rendering/InlineFlowBox.h: Ditto.
  • rendering/InlineIterator.h:

(WebCore::embedCharFromDirection): Ditto.
(WebCore::notifyObserverWillExitObject): Ditto.
(WebCore::InlineIterator::direction): Ditto.
(WebCore::IsolateTracker::embed): Ditto.
(WebCore::InlineBidiResolver::appendRun): Ditto.

  • rendering/RenderBlock.cpp:

(WebCore::isPunctuationForFirstLetter): Use U_GET_GC_MASK instead of
WTF::Unicode::category.

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::determineDirectionality): Use u_charDirection instead of
WTF::Unicode::direction.
(WebCore::RenderBlockFlow::handleTrailingSpaces): Ditto.
(WebCore::statusWithDirection): Ditto.
(WebCore::LineBreaker::nextSegmentBreak): Use U_GET_GC_MASK instead of
WTF::Unicode::category.

  • rendering/RenderListMarker.cpp:

(WebCore::RenderListMarker::paint): Use u_charDirection instead of
WTF::Unicode::direction.

  • rendering/RenderMenuList.cpp:

(WebCore::RenderMenuList::adjustInnerStyle): Use UCharDirection instead of
WTF::Unicode::Direction.

  • rendering/RenderText.cpp:

(WebCore::makeCapitalized): Use u_totile instead of WTF::Unicode::toTitleCase.
Also added a comment about the fact that we need to use u_strToTitle instead.

  • rendering/RootInlineBox.cpp:

(WebCore::RootInlineBox::lineBreakBidiStatus): Use UCharDirection instead of
WTF::Unicode::Direction.

  • svg/SVGFontData.cpp:

(WebCore::SVGFontData::createStringWithMirroredCharacters): Use u_charMirror
instead of WTF::Unicode::mirroredChar.

  • xml/XPathParser.cpp:

(WebCore::XPath::charCat): Use U_GET_GC_MASK instead of WTF::Unicode::category.

  • platform/graphics/win/UniscribeController.cpp:

(WebCore::UniscribeController::advance):

  • platform/win/PopupMenuWin.cpp:

(WebCore::PopupMenuWin::paint):

  • platform/win/WebCoreTextRenderer.cpp:

(WebCore::isOneLeftToRightRun):
More of the same for Windows.

Source/WTF:

  • wtf/text/StringHash.h:

(WTF::CaseFoldingHash::foldCase): Use u_foldCase instead of WTF::Unicode::foldCase.
(WTF::CaseFoldingHash::hash): Added an overload for a StringImpl& because why not.

  • wtf/text/StringImpl.cpp:

(WTF::StringImpl::lower): Use u_tolower rather than WTF::Unicode::toLower. Also added
an assertion to check that the lowercase version is also part of Latin-1. If this
is not guaranteed it would be good to know in a debug build at least. Use u_strToLower
rather than WTF::Unicode::toLower. Also removed #if USE(ICU_UNICODE) around the
locale-specific version.
(WTF::StringImpl::upper): Use u_toupper and u_strToUpper, as above.
(WTF::StringImpl::foldCase): Use u_tolower and u_strFoldCase, as above.
(WTF::equalIgnoringCase): Use u_foldCase instead of WTF::Unicode::foldCase.
(WTF::StringImpl::defaultWritingDirection): Use u_charDirection and UCharDirection
instead of WTF::Unicode::direction and WTF::Unicode::Direction.

  • wtf/text/StringImpl.h:

(WTF::equalIgnoringCase): Use u_memcasecmp instead of WTF::Unicode::umemcasecmp.
(WTF::isSpaceOrNewline): Use u_charDirection instead of WTF::Unicode::direction.

  • wtf/text/WTFString.h:

(WTF::String::defaultWritingDirection): Use UCharDirection instead of WTF::Unicode::Direction.

  • wtf/unicode/icu/UnicodeIcu.h: Removed almost everything.
  • wtf/unicode/wchar/UnicodeWchar.cpp: Tried to do the right thing in this file, but

I did not actually compile it. Also, the implementations here aren't really sufficient
to make WebKit work broadly. There are many things that just aren't working with this
implementation, such as parsing that uses u_charType to figure out which characters are valid.
(unorm_normalize): Added.
(u_charDirection): Added.
(u_charMirror): Added.
(u_charType): Added.
(u_getCombiningClass): Added.
(u_getIntPropertyValue): Added.
(u_memcasecmp): Added.
(convertWithFunction): Changed to work with ICU-style status code instead of error bool.
(u_strFoldCase): Added.
(u_strToLower): Added.
(u_strToUpper): Added.

  • wtf/unicode/wchar/UnicodeWchar.h: Ditto. Later this file should just be named like the

real ICU headers so the code can include it the same way it would ICU. But that will be
in a future patch.

7:21 PM Changeset in webkit [157329] by commit-queue@webkit.org
  • 7 edits
    3 adds in trunk

DFG: Add JIT support for LogicalNot(String/StringIdent)
https://bugs.webkit.org/show_bug.cgi?id=122627

Patch by Nadav Rotem <nrotem@apple.com> on 2013-10-11
Reviewed by Filip Pizlo.

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGFixupPhase.cpp:

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

  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileStringZeroLength):

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

(JSC::DFG::SpeculativeJIT::compileLogicalNot):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compileLogicalNot):

7:05 PM Changeset in webkit [157328] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Dramatically simplify calculateAdjustedNodes
https://bugs.webkit.org/show_bug.cgi?id=122680

Reviewed by Antti Koivisto.

Without insertion points, we never have to worry about entering a shadow DOM we've already climbed out of.
Deleted the logic to deal with insertion points in calculateAdjustedNodes accordingly.

  • dom/EventDispatcher.cpp:

(WebCore::EventPath::EventPath):
(WebCore::calculateAdjustedNodes):
(WebCore::updateTouchListsInEventPath):
(WebCore::EventPath::updateTouchLists):
(WebCore::EventPath::setRelatedTarget):

6:35 PM Changeset in webkit [157327] by fpizlo@apple.com
  • 5 edits in trunk/Source/JavaScriptCore

sunspider-1.0/math-spectral-norm.js.dfg-eager occasionally fails with Trap 5 (i.e int $3)
https://bugs.webkit.org/show_bug.cgi?id=122462

Reviewed by Mark Hahnenberg.

This fixes two bugs, both of which led to GetByVal on Int32 trapping because the
array no longer had Int32 shape but the check wasn't executed:

1) We weren't snapshotting the structures of mustHandleValues. This led to an awesome

race where if a mustHandleValue JSValue's structure changed on the main thread
between runs of the AI, the AI would contradict each other and things would just
get corrupted in funny ways.


2) The constant folder has a long standing bug! It will fold a node to a constant if

the AI proved it to be a constant. But it's possible that the original node also
proved things about the constant's structure. In that case "folding" to a
JSConstant actually loses information since JSConstant doesn't guarantee anything
about a constant's structure. There are various things we could do here to ensure
that a folded constant's structure doesn't change, and that if it does, we
deoptimize the code. But for now we can just make this sound by disabling folding
in this pathological case.

  • dfg/DFGConstantFoldingPhase.cpp:

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

  • dfg/DFGGraph.cpp:

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

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

(JSC::DFG::InPlaceAbstractState::initialize):

6:33 PM Changeset in webkit [157326] by fpizlo@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Fix handling of indirect stackmap locations in FTL OSR exit
https://bugs.webkit.org/show_bug.cgi?id=122666

Reviewed by Mark Hahnenberg.

With this change, the llvm.webkit.stackmap-based OSR exit only fails one test, down from
five tests previously.

  • ftl/FTLLocation.cpp:

(JSC::FTL::Location::gpr): It's OK to call this method when kind() == Indirect, so asserting that isGPR() is wrong; change to assert that involvesGPR().
(JSC::FTL::Location::restoreInto): Stack-related registers aren't saved to the scratch buffer, so use them directly.

  • ftl/FTLLocation.h: Add comment about requirements for stack layout.
  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStubWithOSRExitStackmap): Make enough room on the stack so that saveAllRegisters() has a scratchpad to save things to. Without this, saveAllRegisters() may clobber a spilled value.

6:22 PM Changeset in webkit [157325] by ryuan.choi@samsung.com
  • 2 edits in trunk/LayoutTests

Unreviewed EFL gardening.

Unskip tests that are already passing.

  • platform/efl-wk2/TestExpectations:
5:43 PM Changeset in webkit [157324] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

[Windows] Fix for fast/xpath test regressions caused by r157205.
https://bugs.webkit.org/show_bug.cgi?id=122658.

Reviewed by Darin Adler.

  • xml/XPathStep.h:

(WebCore::XPath::Step::NodeTest::NodeTest):
(WebCore::XPath::Step::NodeTest::operator=):
We were incorrectly setting the predicate list to null instead of the predicate list of the NodeTest being passed in.

4:09 PM Changeset in webkit [157323] by timothy@apple.com
  • 13 edits in trunk

Remove preference support for picking the old Web Inspector.
https://bugs.webkit.org/show_bug.cgi?id=122655

Reviewed by Alexey Proskuryakov.

Source/WebKit/mac:

  • WebCoreSupport/WebInspectorClient.mm:

(WebInspectorFrontendClient::localizedStringsURL):
(-[WebInspectorWindowController inspectorPagePath]):

Source/WebKit2:

  • Shared/WebPreferencesStore.h:
  • UIProcess/API/C/WKPreferences.cpp:
  • UIProcess/API/C/WKPreferencesPrivate.h:
  • UIProcess/mac/WebInspectorProxyMac.mm:

(WebKit::WebInspectorProxy::inspectorPageURL):
(WebKit::WebInspectorProxy::inspectorBaseURL):

  • WebProcess/WebPage/WebInspector.cpp:

(WebKit::WebInspector::WebInspector):

  • WebProcess/WebPage/WebInspector.h:
  • WebProcess/WebPage/mac/WebInspectorMac.mm:

(WebKit::WebInspector::localizedStringsURL):

  • WebProcess/WebPage/mac/WebPageMac.mm:

(WebKit::WebPage::platformPreferencesDidChange):

Tools:

  • WebKitTestRunner/TestController.cpp:

(WTR::TestController::resetStateToConsistentValues):

3:59 PM Changeset in webkit [157322] by fpizlo@apple.com
  • 2 edits in trunk/Tools

Fix 64-bit build on everything but Windows.

Rubber stamped by Brent Fulgham.

  • Scripts/webkitdirs.pm:

(argumentsForConfiguration):

3:45 PM Changeset in webkit [157321] by ap@apple.com
  • 2 edits in trunk/Tools

Touch a file to see how auto-update works.

Rubber-stamped by Tim Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/BuildbotTestResults.js:
3:12 PM Changeset in webkit [157320] by beidson@apple.com
  • 6 edits
    3 adds in trunk/Source/WebKit2

Lay the groundwork for a multi-process aware Indexed DB implementation in WebKit2.
https://bugs.webkit.org/show_bug.cgi?id=122675

Reviewed by Alexey Proskuryakov.

  • CMakeLists.txt:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/IndexedDB/WebIDBFactoryBackend.cpp: Added.

(WebKit::WebIDBFactoryBackend::WebIDBFactoryBackend):
(WebKit::WebIDBFactoryBackend::~WebIDBFactoryBackend):
(WebKit::WebIDBFactoryBackend::getDatabaseNames):
(WebKit::WebIDBFactoryBackend::open):
(WebKit::WebIDBFactoryBackend::deleteDatabase):

  • WebProcess/IndexedDB/WebIDBFactoryBackend.h: Added.

(WebKit::WebIDBFactoryBackend::create):

  • WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:

(WebKit::WebPlatformStrategies::createIDBFactoryBackend): Return a WebIDBFactoryBackend.

2:14 PM Changeset in webkit [157319] by andersca@apple.com
  • 19 edits
    1 delete in trunk/Source/WebKit2

Remove ENABLE(GESTURE_EVENTS) from WebKit2
https://bugs.webkit.org/show_bug.cgi?id=122673

Reviewed by Ryosuke Niwa.

  • Shared/WebEvent.h:
  • Shared/WebEventConversion.cpp:
  • Shared/WebEventConversion.h:
  • Shared/WebGestureEvent.cpp: Removed.
  • Shared/mac/WebEventFactory.h:
  • Shared/mac/WebEventFactory.mm:
  • UIProcess/API/mac/PageClientImpl.h:
  • UIProcess/API/mac/PageClientImpl.mm:
  • UIProcess/API/mac/WKView.mm:

(-[WKView viewDidMoveToWindow]):

  • UIProcess/PageClient.h:
  • UIProcess/WebPageProxy.cpp:

(WebKit::WebPageProxy::didReceiveEvent):
(WebKit::WebPageProxy::resetStateAfterProcessExited):

  • UIProcess/WebPageProxy.h:
  • WebKit2.xcodeproj/project.pbxproj:
  • WebProcess/WebPage/EventDispatcher.cpp:
  • WebProcess/WebPage/EventDispatcher.h:
  • WebProcess/WebPage/EventDispatcher.messages.in:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/WebPage.h:
2:01 PM Changeset in webkit [157318] by zoltan@webkit.org
  • 2 edits in trunk/Source/WebCore

[CSS Shapes] Use the floatingObject's logical coordinates to determine its size in computeLogicalLocationForFloat
https://bugs.webkit.org/show_bug.cgi?id=122663

Reviewed by David Hyatt.

Covered by existing float tests in fast/shapes/shape-inside.
I'll add additional tests in bug #122664.

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::computeLogicalLocationForFloat):

12:18 PM Changeset in webkit [157317] by commit-queue@webkit.org
  • 7 edits in trunk/Source/JavaScriptCore

Unreviewed, rolling out r157307.
http://trac.webkit.org/changeset/157307
https://bugs.webkit.org/show_bug.cgi?id=122671

Many assertion failures (Requested by ap on #webkit).

  • jit/ThunkGenerators.cpp:

(JSC::arrayIteratorNextThunkGenerator):

  • jit/ThunkGenerators.h:
  • runtime/ArrayIteratorPrototype.cpp:

(JSC::ArrayIteratorPrototype::finishCreation):
(JSC::createIteratorResult):
(JSC::arrayIteratorPrototypeNext):

  • runtime/Intrinsic.h:
  • runtime/JSArrayIterator.cpp:

(JSC::JSArrayIterator::finishCreation):

  • runtime/VM.cpp:

(JSC::thunkGeneratorForIntrinsic):

12:16 PM Changeset in webkit [157316] by andersca@apple.com
  • 17 edits
    3 deletes in trunk/Source

Remove gesture event support from WebCore
https://bugs.webkit.org/show_bug.cgi?id=122650

Reviewed by Ryosuke Niwa.

Source/WebCore:

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/GestureEvent.cpp: Removed.
  • dom/GestureEvent.h: Removed.
  • dom/Node.cpp:
  • dom/Node.h:
  • page/EventHandler.cpp:

(WebCore::EventHandler::EventHandler):
(WebCore::EventHandler::clear):
(WebCore::EventHandler::sendContextMenuEventForKey):

  • page/EventHandler.h:
  • platform/PlatformGestureEvent.h: Removed.
  • platform/Scrollbar.cpp:
  • platform/Scrollbar.h:
  • platform/mac/PlatformEventFactoryMac.h:
  • platform/mac/PlatformEventFactoryMac.mm:

Source/WTF:

  • wtf/FeatureDefines.h:
  • wtf/nix/FeatureDefinesNix.h:
12:15 PM Changeset in webkit [157315] by gns@gnome.org
  • 3 edits in trunk/LayoutTests

Unreviewed gardening. Rebaseline after 157292.

  • platform/gtk/editing/unsupported-content/table-delete-001-expected.txt:
  • platform/gtk/editing/unsupported-content/table-delete-003-expected.txt:
12:04 PM Changeset in webkit [157314] by timothy_horton@apple.com
  • 5 edits in trunk/Source/WebCore

Remove some dead code from PlatformCALayer*
https://bugs.webkit.org/show_bug.cgi?id=122641

Reviewed by Anders Carlsson.

Remove some unused getters from PlatformCALayer and its implementations.

No new tests, just removing dead code.

  • platform/graphics/ca/PlatformCALayer.h:
  • platform/graphics/ca/mac/PlatformCALayerMac.mm:
  • platform/graphics/ca/win/PlatformCALayerWin.cpp:
12:03 PM Changeset in webkit [157313] by mark.lam@apple.com
  • 14 edits in trunk/Source/JavaScriptCore

Transition op_new_* JITStubs to JIT operations.
https://bugs.webkit.org/show_bug.cgi?id=122460.

Reviewed by Michael Saboff.

Also:

  • Removed the redundant operationNewFunctionExpression(). It is identical to operationNewFunctionNoCheck().
  • Sorted JIT operation signature keys in the comment in JITOperations.h.
  • Removed the unused returnValue2Register definition for X86_64.
  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compileNewFunctionExpression):

  • jit/CCallHelpers.h:

(JSC::CCallHelpers::setupArgumentsWithExecState):

  • jit/JIT.h:
  • jit/JITInlines.h:

(JSC::JIT::callOperation):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emitSlow_op_new_object):
(JSC::JIT::emit_op_new_func):
(JSC::JIT::emit_op_new_func_exp):
(JSC::JIT::emit_op_new_array):
(JSC::JIT::emit_op_new_array_with_size):
(JSC::JIT::emit_op_new_array_buffer):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emitSlow_op_new_object):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • jit/JITStubs.cpp:
  • jit/JITStubs.h:
  • jit/JSInterfaceJIT.h:
11:59 AM Changeset in webkit [157312] by ap@apple.com
  • 2 edits in trunk/Tools

LeaksViewer fails to present recent results list if current build is still updating svn
https://bugs.webkit.org/show_bug.cgi?id=122670

Fixed an obvious mistake in the previous patch.

  • BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/RecentBuildsLoader.js:

(RecentBuildsLoader.prototype.start):

11:56 AM Changeset in webkit [157311] by ap@apple.com
  • 2 edits in trunk/Tools

LeaksViewer fails to present recent results list if current build is still updating svn
https://bugs.webkit.org/show_bug.cgi?id=122670

Reviewed by Adam Roben.

  • BuildSlaveSupport/build.webkit.org-config/public_html/LeaksViewer/RecentBuildsLoader.js:

(RecentBuildsLoader.prototype.start): Skip builds that don't have an svn revision yet.

11:50 AM Changeset in webkit [157310] by aroben@webkit.org
  • 6 edits in trunk/Source

Confusing CGImageRef memory management in ImageBuffer::copyImage
https://bugs.webkit.org/show_bug.cgi?id=122605

Source/WebCore:

BitmapImage::create was adopting the CGImage passed into it, which
resulted in some strange contortions in ImageBuffer::copyImage that
made it look like it was leaking CGImages, when in fact it was just
relying on BitmapImage to adopt the extra references.

BitmapImage::create now retains the passed-in CGImage, and I updated
the two callers to it to expect that (one here, one in WebKit2). I
also changed ImageBuffer::copyNativeImage to return a RetainPtr to
reduce the number of adoptCF()s needed and make it harder to make
programming mistakes.

Reviewed by Simon Fraser.

No new tests because this is just a code cleanup.

  • platform/graphics/ImageBuffer.h: Changed copyNativeImage to return a

RetainPtr<CGImageRef.

  • platform/graphics/cg/BitmapImageCG.cpp:

(WebCore::BitmapImage::BitmapImage): Adopt the passed-in CGImage,
since we're taking ownership of it. (We release it in
FrameData::clear.)

  • platform/graphics/cg/ImageBufferCG.cpp:

(WebCore::ImageBuffer::copyImage): Updated for copyNativeImage's new
return type and to take into account BitmapImage::create's new
retaining semantics. This makes this function not have to be so clever
about retain counts.

(WebCore::ImageBuffer::copyNativeImage): Changed to return a
RetainPtr<CGImageRef>.

(WebCore::ImageBuffer::draw):
(WebCore::ImageBuffer::clip):
(WebCore::ImageBuffer::putByteArray):
(WebCore::ImageBuffer::toDataURL):
Updated for changes to copyNativeImage.

Source/WebKit2:

Reviewed by Simon Fraser.

  • Shared/cg/ShareableBitmapCG.cpp:

(WebKit::ShareableBitmap::createImage): BitmapImage::create now
retains the passed-in CGImage, so we don't need to dance around it
anymore. Also changed to use nullptr instead of 0 while I was in here.

11:01 AM Changeset in webkit [157309] by betravis@adobe.com
  • 5 edits
    6 adds in trunk

[CSS Shapes] Shape-Image-Threshold should be animatable
https://bugs.webkit.org/show_bug.cgi?id=122622

Reviewed by Darin Adler.

Source/WebCore:

Make the shape-image-threshold property respond to dynamic changes
made through JS or CSS animations. Responding to changes made to
shape-image-threshold is handled in RenderBox::updateShapeOutsideInfoAfterStyleChange,
while CSSPropertyAnimation.cpp adds the property to the list of
animatable properties.

Tests: fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-image-threshold.html

fast/shapes/shape-outside-floats/shape-outside-shape-image-threshold-animation.html

  • page/animation/CSSPropertyAnimation.cpp:

(WebCore::CSSPropertyAnimationWrapperMap::CSSPropertyAnimationWrapperMap): Add
shape-image-threshold to the list of animatable properties.

  • rendering/RenderBox.cpp:

(WebCore::RenderBox::styleDidChange): updateShapeOutsideInfoAfterStyleChange
needs to take two RenderStyle arguments to compare multiple shape properties,
rather than just the shape-outside property.
(WebCore::RenderBox::updateShapeOutsideInfoAfterStyleChange): Compare
shape-image-threshold values to see if they changed, and invalidate the layout
if necessary.

  • rendering/RenderBox.h:

LayoutTests:

Adding tests for dynamically changing shape-image threshold via JS and CSS
animations. Included are some SVG resources used as the shape image sources.

  • fast/shapes/resources/svg-shape-002.svg: Added.
  • fast/shapes/resources/svg-shape-003.svg: Added.
  • fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-image-threshold-expected.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-dynamic-shape-image-threshold.html: Added.
  • fast/shapes/shape-outside-floats/shape-outside-shape-image-threshold-animation-expected.txt: Added.
  • fast/shapes/shape-outside-floats/shape-outside-shape-image-threshold-animation.html: Added.
10:57 AM Changeset in webkit [157308] by Brent Fulgham
  • 3 edits in trunk/Source/WebCore

Unreviewed gardening. Remove a Windows work-around that is not needed.

  • dom/Range.cpp:

(WebCore::rangeOfContents): Move implementation back to source file.

  • dom/Range.h: Remove inline I added to work around a compiler bug.
10:30 AM Changeset in webkit [157307] by oliver@apple.com
  • 7 edits in trunk/Source/JavaScriptCore

Separate out array iteration intrinsics
https://bugs.webkit.org/show_bug.cgi?id=122656

Reviewed by Michael Saboff.

Separate out the intrinsics for key and values iteration
of arrays.

This requires moving moving array iteration into the iterator
instance, rather than the prototype, but this is essentially
unobservable so we'll live with it for now.

  • jit/ThunkGenerators.cpp:

(JSC::arrayIteratorNextThunkGenerator):
(JSC::arrayIteratorNextKeyThunkGenerator):
(JSC::arrayIteratorNextValueThunkGenerator):

  • jit/ThunkGenerators.h:
  • runtime/ArrayIteratorPrototype.cpp:

(JSC::ArrayIteratorPrototype::finishCreation):

  • runtime/Intrinsic.h:
  • runtime/JSArrayIterator.cpp:

(JSC::JSArrayIterator::finishCreation):
(JSC::createIteratorResult):
(JSC::arrayIteratorNext):
(JSC::arrayIteratorNextKey):
(JSC::arrayIteratorNextValue):
(JSC::arrayIteratorNextGeneric):

  • runtime/VM.cpp:

(JSC::thunkGeneratorForIntrinsic):

9:54 AM Changeset in webkit [157306] by commit-queue@webkit.org
  • 5 edits in trunk/Source/WebCore

Unreviewed, rolling out r157297.
http://trac.webkit.org/changeset/157297
https://bugs.webkit.org/show_bug.cgi?id=122651

Caused crashes on multiple platform/mac-wk2/tiled-drawing
tests (Requested by ap on #webkit).

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::operator new):
(WebCore::RenderLayer::operator delete):
(WebCore::RenderLayer::destroy):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerModelObject.cpp:

(WebCore::RenderLayerModelObject::RenderLayerModelObject):
(WebCore::RenderLayerModelObject::destroyLayer):
(WebCore::RenderLayerModelObject::ensureLayer):

  • rendering/RenderLayerModelObject.h:

(WebCore::RenderLayerModelObject::layer):

9:53 AM Changeset in webkit [157305] by Bem Jones-Bey
  • 3 edits
    24 adds in trunk/LayoutTests

[CSS Shapes] New positioning model: Negative margins
https://bugs.webkit.org/show_bug.cgi?id=118090

Reviewed by Darin Adler.

Tests for shape-outside with negative margins:

negative top margin
negative left margin
negative right margin
negative bottom margin
negative top margin vertical right-left writing mode
negative left margin vertical right-left writing mode
negative right margin vertical right-left writing mode
negative bottom margin vertical right-left writing mode
negative top margin vertical left-right writing mode
negative left margin vertical left-right writing mode
negative right margin vertical left-right writing mode
negative bottom margin vertical left-right writing mode

  • csswg/contributors/adobe/submitted/shapes/shape-outside/resources/w3c-import.log:
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-010-expected.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-010.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-011-expected.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-011.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-012-expected.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-012.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-013-expected.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-013.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-014-expected.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-014.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-015-expected.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-015.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-016-expected.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-016.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-017-expected.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-017.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-018-expected.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-018.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-019-expected.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-019.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-020-expected.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-020.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-021-expected.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-021.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/w3c-import.log:
9:51 AM Changeset in webkit [157304] by commit-queue@webkit.org
  • 2 edits
    1 add in trunk/LayoutTests

[EFL] Added new accessibility expectation after r154697
https://bugs.webkit.org/show_bug.cgi?id=122646

Unreviewed EFL gardening

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-10-11

  • platform/efl-wk2/TestExpectations:
  • platform/efl/accessibility/aria-checkbox-sends-notification-expected.txt: Added.
9:46 AM Changeset in webkit [157303] by Brent Fulgham
  • 2 edits in trunk/Tools

Unreviewed build fix for --64-bit target.

  • Scripts/webkitdirs.pm:

(argumentsForConfiguration): Use 'isWin64' test, since @ARGV value may have
been removed by this point.
(hasArgument): Remove unused temporary.

9:34 AM Changeset in webkit [157302] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Fix build.

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::translate): Do a const_cast when creating the
lineage, since it doesn't yet work with const pointers.

8:26 AM Changeset in webkit [157301] by akling@apple.com
  • 4 edits in trunk/Source/JavaScriptCore

Pass VM instead of ExecState to JSGenericTypedArrayViewPrototype.
<https://webkit.org/b/122632>

Reviewed by Sam Weinig.

This code was only using the ExecState to find the VM.

8:07 AM Changeset in webkit [157300] by Darin Adler
  • 4 edits in trunk/Source/WebCore

Do a bit of optimization and cleanup in the HTMLElement class
https://bugs.webkit.org/show_bug.cgi?id=122640

Reviewed by Andreas Kling.

  • html/HTMLElement.cpp:

(WebCore::unicodeBidiAttributeForDirAuto): Take a reference.
(WebCore::HTMLElement::collectStyleForPresentationAttribute): Pass one.
(WebCore::mergeWithNextTextNode): Take a reference to a Text node instead
of a PassRefPtr to a Node. Also removed unnecessary check of parentNode.
Also update to new calling convention for mergeWithNextTextNode.
(WebCore::HTMLElement::setOuterHTML): Use parentElement instead of
parentNode, since Antti says that's the future, and either will work here.
Also use nullptr.
(WebCore::HTMLElement::textToFragment): Fix indentation and use nullptr.
(WebCore::HTMLElement::setOuterText): Use a RefPtr for the parent here,
since otherwise there is no guarantee it survives. Also use nullptr and
update to new calling convention for mergeWithNextTextNode.
(WebCore::HTMLElement::insertAdjacent): Use nullptr.
(WebCore::HTMLElement::insertAdjacentElement): Use nullptr.
(WebCore::contextElementForInsertion): Use nullptr.
(WebCore::HTMLElement::contentEditable): Use ASCIILiteral.
(WebCore::HTMLElement::setContentEditable): Use AtomicString::ConstructFromLiteral.
(WebCore::HTMLElement::draggable): Use fastGetAttribute.
(WebCore::HTMLElement::setDraggable): Use AtomicString::ConstructFromLiteral.
(WebCore::HTMLElement::setSpellcheck): Use AtomicString::ConstructFromLiteral.
(WebCore::HTMLElement::click): Use nullptr.
(WebCore::HTMLElement::accessKeyAction): Use nullptr.
(WebCore::HTMLElement::title): Use fastGetAttribute.
(WebCore::HTMLElement::translateAttributeMode): Use fastGetAttribute, isNull,
and isEmpty.
(WebCore::HTMLElement::translate): Use parentElement and toHTMLElement.
Use early-continue style instead of nesting the whole loop body inside an if.
(WebCore::setHasDirAutoFlagRecursively): Use nullptr.
(WebCore::HTMLElement::hasDirectionAuto): Use isNull.
(WebCore::HTMLElement::directionality): Use nullptr.
(WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged): Use nullptr.
(WebCore::HTMLElement::addHTMLLengthToStyle): Use longer variable names.

  • html/HTMLTableCellElement.cpp:

(WebCore::HTMLTableCellElement::abbr): Use fastGetAttribute.
(WebCore::HTMLTableCellElement::axis): Ditto.
(WebCore::HTMLTableCellElement::headers): Ditto.
(WebCore::HTMLTableCellElement::scope): Ditto.

  • html/HTMLTableColElement.cpp:

(WebCore::HTMLTableColElement::width): Ditto.

2:44 AM Changeset in webkit [157299] by dino@apple.com
  • 8 edits in trunk

Source/WebCore: Use after free in WebCore::DisplayRefreshMonitorClient::fireDisplayRefreshIfNeeded
https://bugs.webkit.org/show_bug.cgi?id=121033

Patch by Darin Adler <Darin Adler> on 2013-10-10
Reviewed by Dean Jackson.

For safe iteration, use a set rather than a vector, and remove the clients from
the set if they are removed during iteration.

Test: fast/animation/request-animation-frame-remove-client.html

  • platform/graphics/DisplayRefreshMonitor.cpp:

(WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor): Initialize the
m_clientsToBeNotified pointer to null.
(WebCore::DisplayRefreshMonitor::removeClient): If there is a m_clientsToBeNotified
set, remove from it as well as the real m_clients set.
(WebCore::DisplayRefreshMonitor::displayDidRefresh): Use a HashSet instead of a
vector for the copy of the clients set we iterate.

  • platform/graphics/DisplayRefreshMonitor.h: Moved some of the BlackBerry-specific

part of this out of the header. Added a new HashSet pointer, m_clientsToBeNotified,
to be used to remove clients during the notification process. Also added a FIXME.

  • platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp: Moved the

DisplayAnimationClient class in here.

LayoutTests: Use after free in WebCore::DisplayRefreshMonitorClient::fireDisplayRefreshIfNeeded
http://webkit.org/b/121033

Update test to indicate it no longer crashes.

  • TestExpectations: Mark test as passing.
  • fast/animation/request-animation-frame-remove-client-expected.txt:
  • fast/animation/request-animation-frame-remove-client.html:
2:43 AM Changeset in webkit [157298] by dino@apple.com
  • 4 edits
    2 adds in trunk

Use after free in WebCore::DisplayRefreshMonitorClient::fireDisplayRefreshIfNeeded
http://webkit.org/b/121033

Reviewed by Darin Adler.

Source/WebCore:

Add an ASSERT to detect if an animation client will be removed
during the callback dispatch.

Test: fast/animation/request-animation-frame-remove-client.html

  • platform/graphics/DisplayRefreshMonitor.cpp:

(WebCore::DisplayRefreshMonitor::displayDidRefresh):

LayoutTests:

Test that assertion fires if you try to remove potential client while in a
animation dispatch.

  • TestExpectations: Mark test as crashing.
  • fast/animation/request-animation-frame-remove-client-expected.txt: Added.
  • fast/animation/request-animation-frame-remove-client.html: Added.
2:39 AM Changeset in webkit [157297] by akling@apple.com
  • 5 edits in trunk/Source/WebCore

Make RenderLayer not arena-allocated.
<https://webkit.org/b/87523>

Reviewed by Antti Koivisto.

Let RenderLayerModelObject store its RenderLayer in a unique_ptr.
Layers are relatively low-volume objects and this looks neutral
on our performance tests.

1:35 AM Changeset in webkit [157296] by Alan Bujtas
  • 11 edits in trunk

REGRESSION (r155607): Javascript site does not load visually on panerabread.com
https://bugs.webkit.org/show_bug.cgi?id=122461

Reviewed by Simon Fraser.

Do not modify the composited layer backing's internal layer structure directly
when the clipping behaviour changes.

When we directly create/destroy RenderLayerBacking::m_ancestorClippingLayer to
reflect the new clipping state, other, depending layers need updating. In order to
not to corrupt the internal hierarchy, mark the compositing layers dirty and let
the normal updating mechanism take care of creating/destroying the ancestor layers.

Source/WebCore:

Existing tests are extended.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::checkIfDescendantClippingContextNeedsUpdate):
(WebCore::RenderLayer::styleChanged):

  • rendering/RenderLayer.h:
  • rendering/RenderLayerBacking.h:

LayoutTests:

  • compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
  • compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants.html:
  • compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
  • compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2.html:
  • platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants-expected.txt:
  • platform/mac/compositing/overflow/clipping-behaviour-change-is-not-propagated-to-descendants2-expected.txt:
1:26 AM Changeset in webkit [157295] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[sh4] Fix build after r157209.
https://bugs.webkit.org/show_bug.cgi?id=122643

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-10-11
Reviewed by Ryosuke Niwa.

  • assembler/MacroAssemblerSH4.h: Add framePointerRegister declaration.
  • assembler/SH4Assembler.h: Add firstRegister() declaration.

(JSC::SH4Assembler::firstRegister):

Oct 10, 2013:

11:41 PM Changeset in webkit [157294] by rniwa@webkit.org
  • 4 edits in trunk/Source/WebCore

Make EventPath private to EventDispatcher.cpp
https://bugs.webkit.org/show_bug.cgi?id=122638

Reviewed by Darin Adler.

Move the declaration of EventPath into EventDispatcher.cpp since EventPath is only used in this file.
Also make EventDispatcher a namespace since it is never instantiated since r157250.

  • dom/EventDispatcher.cpp:

(WebCore::EventPath::isEmpty):
(WebCore::EventPath::size):
(WebCore::EventPath::contextAt):
(WebCore::EventPath::lastContextIfExists):

  • dom/EventDispatcher.h:
  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::willDispatchEvent):

11:37 PM Changeset in webkit [157293] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

FTL shouldn't pass i1's into llvm.webkit.stackmap's
https://bugs.webkit.org/show_bug.cgi?id=122629
<rdar://problem/15203037>

Reviewed by Sam Weinig and Nadav Rotem.

LLVM's stackmap support requires that we only pass operands with legal types (i.e. types
that are hardware-representable). i1, which the FTL previously used for Booleans, is not
legal.

We have two options: either add support in LLVM to legalize stackmap operands, or add
support to the FTL to legalize stackmap operands. It's easier to fix this in FTL, and
that's what this patch does.

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::addExitArgumentForNode):

11:18 PM Changeset in webkit [157292] by commit-queue@webkit.org
  • 8 edits
    2 adds in trunk

contentEditable with "position:relative" paragraphs is buggy
https://bugs.webkit.org/show_bug.cgi?id=33950

Patch by Santosh Mahto <santosh.ma@samsung.com> on 2013-10-10
Reviewed by Darin Adler.

Source/WebCore:

When paragraph is positioned(relative/absolute/fixed) then deleting
that paragraph cause wrong merging of other(below) paragraphs. This is
happening because positioned element is treated as special element and
on deletion complete paragraph element is removed. The ranges become
paragraph. This issue happens when all the content of special element
are deleted. So the merging of paragraph is avoided in this scenario.

Test: editing/deleting/deleting-relative-positioned-special-element.html

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::initializeStartEnd):Avoid merging
block when special candidate are included in deletion range

LayoutTests:

LayoutTests:

Added a testcase to verify that when paragraph is relative positioned
then deleting the all content of paragraph should not incorrectly collapse the
others(below) paragraphs.
And Rebaseline the test expectation.

  • editing/deleting/5546763-expected.txt: Updated.
  • editing/deleting/deleting-relative-positioned-special-element-expected.txt: Added.
  • editing/deleting/deleting-relative-positioned-special-element.html: Added.
  • editing/unsupported-content/table-delete-001.html: Adjusted to dump

as markup.

  • editing/unsupported-content/table-delete-003.html: Adjusted to dump

as markup.

Below tests had wrong cursor position previously now corrected and
both expected file has been changed to markup dump.

  • platform/mac/editing/unsupported-content/table-delete-001-expected.txt:
  • platform/mac/editing/unsupported-content/table-delete-003-expected.txt:
11:17 PM Changeset in webkit [157291] by ap@apple.com
  • 3 edits in trunk/LayoutTests

Layout Test fast/css/font-face-download-error.html is flaky
https://bugs.webkit.org/show_bug.cgi?id=122636

Reviewed by Darin Adler.

  • fast/css/font-face-download-error-expected.txt: TEST COMPLETE is now printed

after the test is complete.

  • fast/css/font-face-download-error.html: Changed to properly wait for fonts to load.

Also, updated to use a proper async test implementation.

11:16 PM Changeset in webkit [157290] by commit-queue@webkit.org
  • 6 edits
    2 adds in trunk

Track controls show metadata and chapter tracks
https://bugs.webkit.org/show_bug.cgi?id=122468

Patch by Brendan Long <b.long@cablelabs.com> on 2013-10-10
Reviewed by Darin Adler.

Source/WebCore:

Test: media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html

  • page/CaptionUserPreferences.cpp:

(WebCore::CaptionUserPreferences::sortedTrackListForMenu): Only show captions, descriptions and subtitles in the track controls.

LayoutTests:

Add a test to make sure we don't show metadata and chapter tracks in the track controls.

  • media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles-expected.txt: Added.
  • media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html: Added.
  • platform/efl/TestExpectations: Skip, uses caption button, not track menu.
  • platform/mac/TestExpectations: Skip, track menu tests all fail on Mac.
  • platform/win/TestExpectations: Same.
9:55 PM Changeset in webkit [157289] by bw80.lee@samsung.com
  • 4 edits
    3 adds in trunk/Source/WebKit2

[EFL][WK2] Separate dispatch context from WorkQueue.
https://bugs.webkit.org/show_bug.cgi?id=115332

Reviewed by Anders Carlsson.

Refactor WorkQueue to prevent dangling workqueue access.

Previously, the WorkQueue class had all context about dispatch.
WorkQueue had dispatch item queue and socket event handler,
and those were accessed on the work queue thread through WorkQueue
instance.

With reference countable WorkQueue concept, this implementation
complicates handling workqueue ref-counting and causes dangling
workqueue access problem.

To make it easy to handle WorkQueue reference count and to prevent
dangling access problem, DispatchQueue class is added to handle
dispatch tasks, and the WorkQueue instance and DispatchQueue thread
will have the reference count of the DispatchQueue instance to prevent
dangling access.

  • Platform/WorkQueue.h:
  • Platform/efl/DispatchQueueEfl.cpp: Added.

(DispatchQueue::ThreadContext::start):
(DispatchQueue::ThreadContext::ThreadContext):
(DispatchQueue::ThreadContext::function):
(DispatchQueue::create):
(DispatchQueue::DispatchQueue):
(DispatchQueue::~DispatchQueue):
(DispatchQueue::dispatch):
(DispatchQueue::stopThread):
(DispatchQueue::setSocketEventHandler):
(DispatchQueue::clearSocketEventHandler):
(DispatchQueue::performWork):
(DispatchQueue::performTimerWork):
(DispatchQueue::performFileDescriptorWork):
(DispatchQueue::insertTimerWorkItem):
(DispatchQueue::dispatchQueueThread):
(DispatchQueue::wakeUpThread):
(DispatchQueue::getNextTimeOut):

  • Platform/efl/DispatchQueueEfl.h: Added.
  • Platform/efl/DispatchQueueWorkItemEfl.h: Added.

(WorkItem::create):
(WorkItem::dispatch):
(WorkItem::WorkItem):
(TimerWorkItem::create):
(TimerWorkItem::expirationTimeSeconds):
(TimerWorkItem::hasExpired):
(TimerWorkItem::TimerWorkItem):

  • Platform/efl/WorkQueueEfl.cpp:

(WorkQueue::platformInitialize):
(WorkQueue::platformInvalidate):
(WorkQueue::registerSocketEventHandler):
(WorkQueue::unregisterSocketEventHandler):
(WorkQueue::dispatch):
(WorkQueue::dispatchAfterDelay):

  • PlatformEfl.cmake:
8:56 PM Changeset in webkit [157288] by rniwa@webkit.org
  • 14 edits
    2 deletes in trunk/Source/WebCore

EventContext should be used only in EventDispatcher.cpp
https://bugs.webkit.org/show_bug.cgi?id=122631

Reviewed by Anders Carlsson.

Merged WindowEventContext into EventDispatcher. Moved the code to avoid dispatching load event on
window into dispatchEventInDOM so that WindowEventContext's constructor doesn't need Event.

Also replaced DOMWindow, Node, and EventPath arguments to InspectorInstrumentation::willDispatchEvent
by a single boolean indicating whether window, the origin, or the event path has an event listener.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/DOMAllInOne.cpp:
  • dom/EventDispatcher.cpp:

(WebCore::WindowEventContext::window): Moved from WindowEventContext.
(WebCore::WindowEventContext::target): Ditto.
(WebCore::WindowEventContext::WindowEventContext): Ditto; removed the code to avoid dispatching load
event on window since that's checked in dispatchEventInDOM now.
(WebCore::WindowEventContext::handleLocalEvents): Ditto.
(WebCore::dispatchEventInDOM): Avoid calling handleLocalEvent on a load event with WindowEventContext.
(WebCore::EventDispatcher::dispatchEvent): Pass a boolean to indicate whether window, the origin, or
the event path contains any event listener to InspectorInstrumentation::willDispatchEvent to hide
EventPath from the inspector code.

  • dom/EventDispatcher.h:
  • dom/Node.cpp:
  • dom/Node.h:
  • dom/WindowEventContext.cpp: Removed.
  • dom/WindowEventContext.h: Removed.
  • inspector/InspectorDOMAgent.cpp:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::willDispatchEventImpl):

  • inspector/InspectorInstrumentation.h:

(WebCore::InspectorInstrumentation::willDispatchEvent):

8:51 PM Changeset in webkit [157287] by Darin Adler
  • 2 edits in trunk/Source/WebCore

REGRESSION (r157205?): Leaks in XPath
https://bugs.webkit.org/show_bug.cgi?id=122609

Reviewed by Andreas Kling.

  • xml/XPathGrammar.y: Fixed warnings by adding missing "$$ = $1" to various rules.

Added local unique_ptr for NodeTest and ArgumentList in three rules, so they
won't be leaked.

8:37 PM Changeset in webkit [157286] by gyuyoung.kim@samsung.com
  • 5 edits in trunk/Source/WebCore

Add toSVGColor|Paint() to cleanup static_cast<>, and use it
https://bugs.webkit.org/show_bug.cgi?id=122630

Reviewed by Andreas Kling.

SVGColor and SVGPaint can't use CSS_VALUE_TYPE_CASTS(), this cl adds
toSVGColor() and toSVGPaint() manually. Those functions will help to
detect bad type cast.

  • css/CSSValue.cpp:

(WebCore::CSSValue::cssText):
(WebCore::CSSValue::destroy):
(WebCore::CSSValue::cloneForCSSOM):

  • css/SVGCSSStyleSelector.cpp:

(WebCore::StyleResolver::applySVGProperty):

  • svg/SVGColor.h:

(WebCore::toSVGColor):

  • svg/SVGPaint.h:

(WebCore::toSVGPaint):

6:47 PM Changeset in webkit [157285] by akling@apple.com
  • 11 edits
    2 deletes in trunk/Source/WebCore

Kill WebCore::BindingState.
<https://webkit.org/b/122606>

Reviewed by Darin Adler.

Just use JSC::ExecState directly instead.

6:47 PM Changeset in webkit [157284] by kov@webkit.org
  • 2 edits in trunk/Tools

webkit-patch failure-reason has a quite low limit for 'too many failures'
https://bugs.webkit.org/show_bug.cgi?id=122556

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-10-10
Reviewed by Darin Adler.

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

(FailureReason._explain_failures_for_builder): adjust the number of too many failures
to match what the layout test runners use these days.

6:41 PM Changeset in webkit [157283] by kov@webkit.org
  • 2 edits in trunk/Tools

webkit-patch failure-reason should allow specifying failures one is interested in
https://bugs.webkit.org/show_bug.cgi?id=122554

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-10-10
Reviewed by Darin Adler.

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

(FailureReason):
(FailureReason._explain_failures_for_builder): keep track of explained failures and drop out of the
loop if the ones we're interested in been explained.
(FailureReason._done_explaining): check the failures we're interested in have been explained, if any.
(FailureReason.execute): initialize failures to explain and the explained set.

6:14 PM Changeset in webkit [157282] by rniwa@webkit.org
  • 17 edits
    2 deletes in trunk/Source/WebCore

Remove EventRetargeter.h/cpp
https://bugs.webkit.org/show_bug.cgi?id=122625

Reviewed by Anders Carlsson.

Merged the remaining contents of EventRetargeter.h and EventRetargter.cpp into EventDispatcher.cpp.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • Modules/indieui/UIRequestEvent.cpp:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/DOMAllInOne.cpp:
  • dom/Event.cpp:
  • dom/Event.h:
  • dom/EventDispatcher.cpp:

(WebCore::eventTargetRespectingTargetRules):
(WebCore::shouldEventCrossShadowBoundary):
(WebCore::nodeOrHostIfPseudoElement):
(WebCore::EventPath::EventPath):
(WebCore::buildRelatedNodeMap):
(WebCore::addRelatedNodeForUnmapedTreeScopes):
(WebCore::calculateAdjustedNodes):
(WebCore::updateTouchListsInEventPath):
(WebCore::EventPath::updateTouchLists):
(WebCore::EventPath::setRelatedTarget):

  • dom/EventRetargeter.cpp: Removed.
  • dom/EventRetargeter.h: Removed.
  • dom/FocusEvent.cpp:
  • dom/GestureEvent.h:
  • dom/KeyboardEvent.h:
  • dom/MouseEvent.cpp:
  • dom/MouseEvent.h:
  • dom/TouchEvent.cpp:
  • dom/UIEvent.cpp:
  • dom/WheelEvent.cpp:
5:51 PM Changeset in webkit [157281] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebKit

Windows build fix attempt.

  • WebKit.vcxproj/WebKitExportGenerator/WebKitExports.def.in:
5:40 PM Changeset in webkit [157280] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebCore

Making the base implementation of isAudioStreamSource, in MediaStreamSource, return the correct value
https://bugs.webkit.org/show_bug.cgi?id=122612

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-10-10
Reviewed by Jer Noble.

There is no reason for this implementation, in the base class, to always return false
if we already have the information about the type of the source.

No new tests needed.

  • Modules/webaudio/MediaStreamAudioSource.h:
  • platform/mediastream/MediaStreamSource.h:

(WebCore::MediaStreamSource::isAudioStreamSource):

5:30 PM Changeset in webkit [157279] by Simon Fraser
  • 2 edits in trunk/Source/WebKit/mac

Always force layout before flushing compositing layers
https://bugs.webkit.org/show_bug.cgi?id=122626

Reviewed by Tim Horton.

[m_webView _flushCompositingChanges] only actually flushes compositing
layers if the FrameView does not need layout (FrameView::flushCompositingStateForThisFrame()
returns in this case). In this situation, flushLayers() does actually try
to force a layout, but on some platforms it's possible for something else
to dirty layout before the runloop observer fires again. This can result
in flushLayers() never actually managing to flush, which stalls visual
updates.

Fix by always calling -viewWillDraw (which updates layout) before flushing
layers. This now matches WebKit2 behavior.

  • WebView/WebView.mm:

(LayerFlushController::flushLayers):

5:17 PM Changeset in webkit [157278] by timothy@apple.com
  • 1 edit
    431 deletes in trunk/Source/WebCore

Web Inspector: Remove the old front-end from WebKit.

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

  • inspector/front-end/AceTextEditor.js: Removed.
  • inspector/front-end/AdvancedSearchController.js: Removed.
  • inspector/front-end/ApplicationCacheItemsView.js: Removed.
  • inspector/front-end/ApplicationCacheModel.js: Removed.
  • inspector/front-end/AuditCategories.js: Removed.
  • inspector/front-end/AuditController.js: Removed.
  • inspector/front-end/AuditFormatters.js: Removed.
  • inspector/front-end/AuditLauncherView.js: Removed.
  • inspector/front-end/AuditResultView.js: Removed.
  • inspector/front-end/AuditRules.js: Removed.
  • inspector/front-end/AuditsPanel.js: Removed.
  • inspector/front-end/BottomUpProfileDataGridTree.js: Removed.
  • inspector/front-end/BreakpointManager.js: Removed.
  • inspector/front-end/BreakpointsSidebarPane.js: Removed.
  • inspector/front-end/CPUProfileView.js: Removed.
  • inspector/front-end/CSSMetadata.js: Removed.
  • inspector/front-end/CSSNamedFlowCollectionsView.js: Removed.
  • inspector/front-end/CSSNamedFlowView.js: Removed.
  • inspector/front-end/CSSSelectorProfileView.js: Removed.
  • inspector/front-end/CSSStyleModel.js: Removed.
  • inspector/front-end/CallStackSidebarPane.js: Removed.
  • inspector/front-end/CanvasProfileView.js: Removed.
  • inspector/front-end/Checkbox.js: Removed.
  • inspector/front-end/CodeMirrorTextEditor.js: Removed.
  • inspector/front-end/Color.js: Removed.
  • inspector/front-end/CompilerScriptMapping.js: Removed.
  • inspector/front-end/ConsoleMessage.js: Removed.
  • inspector/front-end/ConsoleModel.js: Removed.
  • inspector/front-end/ConsolePanel.js: Removed.
  • inspector/front-end/ConsoleView.js: Removed.
  • inspector/front-end/ContentProvider.js: Removed.
  • inspector/front-end/ContentProviderBasedProjectDelegate.js: Removed.
  • inspector/front-end/ContentProviders.js: Removed.
  • inspector/front-end/ContextMenu.js: Removed.
  • inspector/front-end/CookieItemsView.js: Removed.
  • inspector/front-end/CookieParser.js: Removed.
  • inspector/front-end/CookiesTable.js: Removed.
  • inspector/front-end/DOMAgent.js: Removed.
  • inspector/front-end/DOMBreakpointsSidebarPane.js: Removed.
  • inspector/front-end/DOMCountersGraph.js: Removed.
  • inspector/front-end/DOMExtension.js: Removed.
  • inspector/front-end/DOMPresentationUtils.js: Removed.
  • inspector/front-end/DOMStorage.js: Removed.
  • inspector/front-end/DOMStorageItemsView.js: Removed.
  • inspector/front-end/DOMSyntaxHighlighter.js: Removed.
  • inspector/front-end/DataGrid.js: Removed.
  • inspector/front-end/Database.js: Removed.
  • inspector/front-end/DatabaseQueryView.js: Removed.
  • inspector/front-end/DatabaseTableView.js: Removed.
  • inspector/front-end/DebuggerModel.js: Removed.
  • inspector/front-end/DebuggerScriptMapping.js: Removed.
  • inspector/front-end/DefaultScriptMapping.js: Removed.
  • inspector/front-end/DefaultTextEditor.js: Removed.
  • inspector/front-end/Dialog.js: Removed.
  • inspector/front-end/DirectoryContentView.js: Removed.
  • inspector/front-end/DockController.js: Removed.
  • inspector/front-end/Drawer.js: Removed.
  • inspector/front-end/ElementsPanel.js: Removed.
  • inspector/front-end/ElementsPanelDescriptor.js: Removed.
  • inspector/front-end/ElementsTreeOutline.js: Removed.
  • inspector/front-end/EmptyView.js: Removed.
  • inspector/front-end/EventListenersSidebarPane.js: Removed.
  • inspector/front-end/ExtensionAPI.js: Removed.
  • inspector/front-end/ExtensionAuditCategory.js: Removed.
  • inspector/front-end/ExtensionPanel.js: Removed.
  • inspector/front-end/ExtensionRegistryStub.js: Removed.
  • inspector/front-end/ExtensionServer.js: Removed.
  • inspector/front-end/ExtensionView.js: Removed.
  • inspector/front-end/FileContentView.js: Removed.
  • inspector/front-end/FileManager.js: Removed.
  • inspector/front-end/FileMapping.js: Removed.
  • inspector/front-end/FileSystemMapping.js: Removed.
  • inspector/front-end/FileSystemModel.js: Removed.
  • inspector/front-end/FileSystemProjectDelegate.js: Removed.
  • inspector/front-end/FileSystemView.js: Removed.
  • inspector/front-end/FileUtils.js: Removed.
  • inspector/front-end/FilteredItemSelectionDialog.js: Removed.
  • inspector/front-end/FlameChart.js: Removed.
  • inspector/front-end/FontView.js: Removed.
  • inspector/front-end/GoToLineDialog.js: Removed.
  • inspector/front-end/HAREntry.js: Removed.
  • inspector/front-end/HandlerRegistry.js: Removed.
  • inspector/front-end/HeapSnapshot.js: Removed.
  • inspector/front-end/HeapSnapshotDataGrids.js: Removed.
  • inspector/front-end/HeapSnapshotGridNodes.js: Removed.
  • inspector/front-end/HeapSnapshotLoader.js: Removed.
  • inspector/front-end/HeapSnapshotProxy.js: Removed.
  • inspector/front-end/HeapSnapshotView.js: Removed.
  • inspector/front-end/HeapSnapshotWorker.js: Removed.
  • inspector/front-end/HeapSnapshotWorkerDispatcher.js: Removed.
  • inspector/front-end/HelpScreen.js: Removed.
  • inspector/front-end/ImageView.js: Removed.
  • inspector/front-end/Images/addIcon.png: Removed.
  • inspector/front-end/Images/applicationCache.png: Removed.
  • inspector/front-end/Images/back.png: Removed.
  • inspector/front-end/Images/breakpointBorder.png: Removed.
  • inspector/front-end/Images/breakpointConditionalBorder.png: Removed.
  • inspector/front-end/Images/breakpointConditionalCounterBorder.png: Removed.
  • inspector/front-end/Images/breakpointCounterBorder.png: Removed.
  • inspector/front-end/Images/checker.png: Removed.
  • inspector/front-end/Images/closeButtons.png: Removed.
  • inspector/front-end/Images/cookie.png: Removed.
  • inspector/front-end/Images/database.png: Removed.
  • inspector/front-end/Images/databaseTable.png: Removed.
  • inspector/front-end/Images/debuggerContinue.png: Removed.
  • inspector/front-end/Images/debuggerPause.png: Removed.
  • inspector/front-end/Images/debuggerStepInto.png: Removed.
  • inspector/front-end/Images/debuggerStepOut.png: Removed.
  • inspector/front-end/Images/debuggerStepOver.png: Removed.
  • inspector/front-end/Images/deleteIcon.png: Removed.
  • inspector/front-end/Images/disclosureTriangleSmallDown.png: Removed.
  • inspector/front-end/Images/disclosureTriangleSmallDownBlack.png: Removed.
  • inspector/front-end/Images/disclosureTriangleSmallDownWhite.png: Removed.
  • inspector/front-end/Images/disclosureTriangleSmallRight.png: Removed.
  • inspector/front-end/Images/disclosureTriangleSmallRightBlack.png: Removed.
  • inspector/front-end/Images/disclosureTriangleSmallRightDown.png: Removed.
  • inspector/front-end/Images/disclosureTriangleSmallRightDownBlack.png: Removed.
  • inspector/front-end/Images/disclosureTriangleSmallRightDownWhite.png: Removed.
  • inspector/front-end/Images/disclosureTriangleSmallRightWhite.png: Removed.
  • inspector/front-end/Images/domain.png: Removed.
  • inspector/front-end/Images/errorIcon.png: Removed.
  • inspector/front-end/Images/errorMediumIcon.png: Removed.
  • inspector/front-end/Images/errorRedDot.png: Removed.
  • inspector/front-end/Images/fileSystem.png: Removed.
  • inspector/front-end/Images/forward.png: Removed.
  • inspector/front-end/Images/frame.png: Removed.
  • inspector/front-end/Images/glossyHeader.png: Removed.
  • inspector/front-end/Images/glossyHeaderPressed.png: Removed.
  • inspector/front-end/Images/glossyHeaderSelected.png: Removed.
  • inspector/front-end/Images/glossyHeaderSelectedPressed.png: Removed.
  • inspector/front-end/Images/goArrow.png: Removed.
  • inspector/front-end/Images/graphLabelCalloutLeft.png: Removed.
  • inspector/front-end/Images/graphLabelCalloutRight.png: Removed.
  • inspector/front-end/Images/indexedDB.png: Removed.
  • inspector/front-end/Images/indexedDBIndex.png: Removed.
  • inspector/front-end/Images/indexedDBObjectStore.png: Removed.
  • inspector/front-end/Images/localStorage.png: Removed.
  • inspector/front-end/Images/namedFlowOverflow.png: Removed.
  • inspector/front-end/Images/navigatorShowHideButton.png: Removed.
  • inspector/front-end/Images/paneAddButtons.png: Removed.
  • inspector/front-end/Images/paneBottomGrow.png: Removed.
  • inspector/front-end/Images/paneBottomGrowActive.png: Removed.
  • inspector/front-end/Images/paneElementStateButtons.png: Removed.
  • inspector/front-end/Images/paneFilterButtons.png: Removed.
  • inspector/front-end/Images/paneGrowHandleLine.png: Removed.
  • inspector/front-end/Images/paneRefreshButtons.png: Removed.
  • inspector/front-end/Images/paneSettingsButtons.png: Removed.
  • inspector/front-end/Images/popoverArrows.png: Removed.
  • inspector/front-end/Images/popoverBackground.png: Removed.
  • inspector/front-end/Images/profileGroupIcon.png: Removed.
  • inspector/front-end/Images/profileIcon.png: Removed.
  • inspector/front-end/Images/profileSmallIcon.png: Removed.
  • inspector/front-end/Images/profilesSilhouette.png: Removed.
  • inspector/front-end/Images/programCounterBorder.png: Removed.
  • inspector/front-end/Images/radioDot.png: Removed.
  • inspector/front-end/Images/regionEmpty.png: Removed.
  • inspector/front-end/Images/regionFit.png: Removed.
  • inspector/front-end/Images/regionOverset.png: Removed.
  • inspector/front-end/Images/resourceCSSIcon.png: Removed.
  • inspector/front-end/Images/resourceDocumentIcon.png: Removed.
  • inspector/front-end/Images/resourceDocumentIconSmall.png: Removed.
  • inspector/front-end/Images/resourceJSIcon.png: Removed.
  • inspector/front-end/Images/resourcePlainIcon.png: Removed.
  • inspector/front-end/Images/resourcePlainIconSmall.png: Removed.
  • inspector/front-end/Images/resourcesSizeGraphIcon.png: Removed.
  • inspector/front-end/Images/resourcesTimeGraphIcon.png: Removed.
  • inspector/front-end/Images/scriptsSilhouette.png: Removed.
  • inspector/front-end/Images/searchNext.png: Removed.
  • inspector/front-end/Images/searchPrev.png: Removed.
  • inspector/front-end/Images/searchSmallBlue.png: Removed.
  • inspector/front-end/Images/searchSmallBrightBlue.png: Removed.
  • inspector/front-end/Images/searchSmallGray.png: Removed.
  • inspector/front-end/Images/searchSmallWhite.png: Removed.
  • inspector/front-end/Images/segment.png: Removed.
  • inspector/front-end/Images/segmentEnd.png: Removed.
  • inspector/front-end/Images/segmentHover.png: Removed.
  • inspector/front-end/Images/segmentHoverEnd.png: Removed.
  • inspector/front-end/Images/segmentSelected.png: Removed.
  • inspector/front-end/Images/segmentSelectedEnd.png: Removed.
  • inspector/front-end/Images/sessionStorage.png: Removed.
  • inspector/front-end/Images/spinner.gif: Removed.
  • inspector/front-end/Images/spinnerActive.gif: Removed.
  • inspector/front-end/Images/spinnerActiveSelected.gif: Removed.
  • inspector/front-end/Images/spinnerInactive.gif: Removed.
  • inspector/front-end/Images/spinnerInactiveSelected.gif: Removed.
  • inspector/front-end/Images/splitviewDimple.png: Removed.
  • inspector/front-end/Images/splitviewDividerBackground.png: Removed.
  • inspector/front-end/Images/statusbarButtonGlyphs.png: Removed.
  • inspector/front-end/Images/statusbarButtonGlyphs2x.png: Removed.
  • inspector/front-end/Images/statusbarResizerHorizontal.png: Removed.
  • inspector/front-end/Images/statusbarResizerVertical.png: Removed.
  • inspector/front-end/Images/successGreenDot.png: Removed.
  • inspector/front-end/Images/thumbActiveHoriz.png: Removed.
  • inspector/front-end/Images/thumbActiveVert.png: Removed.
  • inspector/front-end/Images/thumbHoriz.png: Removed.
  • inspector/front-end/Images/thumbHoverHoriz.png: Removed.
  • inspector/front-end/Images/thumbHoverVert.png: Removed.
  • inspector/front-end/Images/thumbVert.png: Removed.
  • inspector/front-end/Images/tickMark.png: Removed.
  • inspector/front-end/Images/timelineHollowPillBlue.png: Removed.
  • inspector/front-end/Images/timelineHollowPillGray.png: Removed.
  • inspector/front-end/Images/timelineHollowPillGreen.png: Removed.
  • inspector/front-end/Images/timelineHollowPillOrange.png: Removed.
  • inspector/front-end/Images/timelineHollowPillPurple.png: Removed.
  • inspector/front-end/Images/timelineHollowPillRed.png: Removed.
  • inspector/front-end/Images/timelineHollowPillYellow.png: Removed.
  • inspector/front-end/Images/timelinePillBlue.png: Removed.
  • inspector/front-end/Images/timelinePillGray.png: Removed.
  • inspector/front-end/Images/timelinePillGreen.png: Removed.
  • inspector/front-end/Images/timelinePillOrange.png: Removed.
  • inspector/front-end/Images/timelinePillPurple.png: Removed.
  • inspector/front-end/Images/timelinePillRed.png: Removed.
  • inspector/front-end/Images/timelinePillYellow.png: Removed.
  • inspector/front-end/Images/toolbarIcons.png: Removed.
  • inspector/front-end/Images/toolbarIconsSmall.png: Removed.
  • inspector/front-end/Images/toolbarItemSelected.png: Removed.
  • inspector/front-end/Images/trackHoriz.png: Removed.
  • inspector/front-end/Images/trackVert.png: Removed.
  • inspector/front-end/Images/treeDownTriangleBlack.png: Removed.
  • inspector/front-end/Images/treeDownTriangleWhite.png: Removed.
  • inspector/front-end/Images/treeRightTriangleBlack.png: Removed.
  • inspector/front-end/Images/treeRightTriangleWhite.png: Removed.
  • inspector/front-end/Images/treeUpTriangleBlack.png: Removed.
  • inspector/front-end/Images/treeUpTriangleWhite.png: Removed.
  • inspector/front-end/Images/userInputIcon.png: Removed.
  • inspector/front-end/Images/userInputPreviousIcon.png: Removed.
  • inspector/front-end/Images/userInputResultIcon.png: Removed.
  • inspector/front-end/Images/warningIcon.png: Removed.
  • inspector/front-end/Images/warningMediumIcon.png: Removed.
  • inspector/front-end/Images/warningOrangeDot.png: Removed.
  • inspector/front-end/Images/warningsErrors.png: Removed.
  • inspector/front-end/IndexedDBModel.js: Removed.
  • inspector/front-end/IndexedDBViews.js: Removed.
  • inspector/front-end/InspectElementModeController.js: Removed.
  • inspector/front-end/InspectorBackend.js: Removed.
  • inspector/front-end/InspectorBackendCommands.qrc: Removed.
  • inspector/front-end/InspectorFrontendAPI.js: Removed.
  • inspector/front-end/InspectorFrontendHostStub.js: Removed.
  • inspector/front-end/InspectorView.js: Removed.
  • inspector/front-end/IsolatedFileSystem.js: Removed.
  • inspector/front-end/IsolatedFileSystemManager.js: Removed.
  • inspector/front-end/JSHeapSnapshot.js: Removed.
  • inspector/front-end/JavaScriptFormatter.js: Removed.
  • inspector/front-end/JavaScriptSourceFrame.js: Removed.
  • inspector/front-end/KeyboardShortcut.js: Removed.
  • inspector/front-end/Linkifier.js: Removed.
  • inspector/front-end/LiveEditSupport.js: Removed.
  • inspector/front-end/MemoryStatistics.js: Removed.
  • inspector/front-end/MetricsSidebarPane.js: Removed.
  • inspector/front-end/NativeBreakpointsSidebarPane.js: Removed.
  • inspector/front-end/NativeHeapSnapshot.js: Removed.
  • inspector/front-end/NativeMemoryGraph.js: Removed.
  • inspector/front-end/NavigatorOverlayController.js: Removed.
  • inspector/front-end/NavigatorView.js: Removed.
  • inspector/front-end/NetworkItemView.js: Removed.
  • inspector/front-end/NetworkLog.js: Removed.
  • inspector/front-end/NetworkManager.js: Removed.
  • inspector/front-end/NetworkPanel.js: Removed.
  • inspector/front-end/NetworkPanelDescriptor.js: Removed.
  • inspector/front-end/NetworkRequest.js: Removed.
  • inspector/front-end/NetworkUISourceCodeProvider.js: Removed.
  • inspector/front-end/Object.js: Removed.
  • inspector/front-end/ObjectPopoverHelper.js: Removed.
  • inspector/front-end/ObjectPropertiesSection.js: Removed.
  • inspector/front-end/OverridesView.js: Removed.
  • inspector/front-end/OverviewGrid.js: Removed.
  • inspector/front-end/Panel.js: Removed.
  • inspector/front-end/PanelEnablerView.js: Removed.
  • inspector/front-end/ParsedURL.js: Removed.
  • inspector/front-end/Placard.js: Removed.
  • inspector/front-end/Popover.js: Removed.
  • inspector/front-end/PresentationConsoleMessageHelper.js: Removed.
  • inspector/front-end/ProfileDataGridTree.js: Removed.
  • inspector/front-end/ProfileLauncherView.js: Removed.
  • inspector/front-end/ProfilesPanel.js: Removed.
  • inspector/front-end/ProfilesPanelDescriptor.js: Removed.
  • inspector/front-end/Progress.js: Removed.
  • inspector/front-end/ProgressIndicator.js: Removed.
  • inspector/front-end/PropertiesSection.js: Removed.
  • inspector/front-end/PropertiesSidebarPane.js: Removed.
  • inspector/front-end/RawSourceCode.js: Removed.
  • inspector/front-end/RemoteObject.js: Removed.
  • inspector/front-end/RequestCookiesView.js: Removed.
  • inspector/front-end/RequestHTMLView.js: Removed.
  • inspector/front-end/RequestHeadersView.js: Removed.
  • inspector/front-end/RequestJSONView.js: Removed.
  • inspector/front-end/RequestPreviewView.js: Removed.
  • inspector/front-end/RequestResponseView.js: Removed.
  • inspector/front-end/RequestTimingView.js: Removed.
  • inspector/front-end/RequestView.js: Removed.
  • inspector/front-end/Resource.js: Removed.
  • inspector/front-end/ResourceScriptMapping.js: Removed.
  • inspector/front-end/ResourceTreeModel.js: Removed.
  • inspector/front-end/ResourceType.js: Removed.
  • inspector/front-end/ResourceUtils.js: Removed.
  • inspector/front-end/ResourceView.js: Removed.
  • inspector/front-end/ResourceWebSocketFrameView.js: Removed.
  • inspector/front-end/ResourcesPanel.js: Removed.
  • inspector/front-end/RevisionHistoryView.js: Removed.
  • inspector/front-end/RuntimeModel.js: Removed.
  • inspector/front-end/SASSSourceMapping.js: Removed.
  • inspector/front-end/ScopeChainSidebarPane.js: Removed.
  • inspector/front-end/Script.js: Removed.
  • inspector/front-end/ScriptFormatter.js: Removed.
  • inspector/front-end/ScriptFormatterWorker.js: Removed.
  • inspector/front-end/ScriptSnippetModel.js: Removed.
  • inspector/front-end/ScriptsNavigator.js: Removed.
  • inspector/front-end/ScriptsPanel.js: Removed.
  • inspector/front-end/ScriptsPanelDescriptor.js: Removed.
  • inspector/front-end/ScriptsSearchScope.js: Removed.
  • inspector/front-end/SearchController.js: Removed.
  • inspector/front-end/Section.js: Removed.
  • inspector/front-end/Settings.js: Removed.
  • inspector/front-end/SettingsScreen.js: Removed.
  • inspector/front-end/ShortcutsScreen.js: Removed.
  • inspector/front-end/ShowMoreDataGridNode.js: Removed.
  • inspector/front-end/SidebarOverlay.js: Removed.
  • inspector/front-end/SidebarPane.js: Removed.
  • inspector/front-end/SidebarTreeElement.js: Removed.
  • inspector/front-end/SidebarView.js: Removed.
  • inspector/front-end/SimpleWorkspaceProvider.js: Removed.
  • inspector/front-end/SnippetJavaScriptSourceFrame.js: Removed.
  • inspector/front-end/SnippetStorage.js: Removed.
  • inspector/front-end/SoftContextMenu.js: Removed.
  • inspector/front-end/SourceCSSTokenizer.js: Removed.
  • inspector/front-end/SourceCSSTokenizer.re2js: Removed.
  • inspector/front-end/SourceFrame.js: Removed.
  • inspector/front-end/SourceHTMLTokenizer.js: Removed.
  • inspector/front-end/SourceHTMLTokenizer.re2js: Removed.
  • inspector/front-end/SourceJavaScriptTokenizer.js: Removed.
  • inspector/front-end/SourceJavaScriptTokenizer.re2js: Removed.
  • inspector/front-end/SourceMap.js: Removed.
  • inspector/front-end/SourceMapping.js: Removed.
  • inspector/front-end/SourceTokenizer.js: Removed.
  • inspector/front-end/Spectrum.js: Removed.
  • inspector/front-end/SplitView.js: Removed.
  • inspector/front-end/StatusBarButton.js: Removed.
  • inspector/front-end/StyleSheetOutlineDialog.js: Removed.
  • inspector/front-end/StylesSidebarPane.js: Removed.
  • inspector/front-end/StylesSourceMapping.js: Removed.
  • inspector/front-end/SuggestBox.js: Removed.
  • inspector/front-end/TabbedEditorContainer.js: Removed.
  • inspector/front-end/TabbedPane.js: Removed.
  • inspector/front-end/TestController.js: Removed.
  • inspector/front-end/TextEditor.js: Removed.
  • inspector/front-end/TextEditorHighlighter.js: Removed.
  • inspector/front-end/TextEditorModel.js: Removed.
  • inspector/front-end/TextPrompt.js: Removed.
  • inspector/front-end/TextUtils.js: Removed.
  • inspector/front-end/TimelineFrameController.js: Removed.
  • inspector/front-end/TimelineGrid.js: Removed.
  • inspector/front-end/TimelineManager.js: Removed.
  • inspector/front-end/TimelineModel.js: Removed.
  • inspector/front-end/TimelineOverviewPane.js: Removed.
  • inspector/front-end/TimelinePanel.js: Removed.
  • inspector/front-end/TimelinePanelDescriptor.js: Removed.
  • inspector/front-end/TimelinePresentationModel.js: Removed.
  • inspector/front-end/Toolbar.js: Removed.
  • inspector/front-end/TopDownProfileDataGridTree.js: Removed.
  • inspector/front-end/UISourceCode.js: Removed.
  • inspector/front-end/UISourceCodeFrame.js: Removed.
  • inspector/front-end/UIString.js: Removed.
  • inspector/front-end/UIUtils.js: Removed.
  • inspector/front-end/UglifyJS/parse-js.js: Removed.
  • inspector/front-end/UserAgentSupport.js: Removed.
  • inspector/front-end/UserMetrics.js: Removed.
  • inspector/front-end/View.js: Removed.
  • inspector/front-end/ViewportControl.js: Removed.
  • inspector/front-end/WatchExpressionsSidebarPane.js: Removed.
  • inspector/front-end/WebKit.qrc: Removed.
  • inspector/front-end/WorkerManager.js: Removed.
  • inspector/front-end/WorkersSidebarPane.js: Removed.
  • inspector/front-end/Workspace.js: Removed.
  • inspector/front-end/ace/LICENSE.txt: Removed.
  • inspector/front-end/ace/ace.js: Removed.
  • inspector/front-end/ace/acedevtools.css: Removed.
  • inspector/front-end/ace/mode_css.js: Removed.
  • inspector/front-end/ace/mode_html.js: Removed.
  • inspector/front-end/ace/mode_javascript.js: Removed.
  • inspector/front-end/ace/theme_textmate.js: Removed.
  • inspector/front-end/auditsPanel.css: Removed.
  • inspector/front-end/breadcrumbList.css: Removed.
  • inspector/front-end/breakpointsList.css: Removed.
  • inspector/front-end/buildSystemOnly.js: Removed.
  • inspector/front-end/canvasProfiler.css: Removed.
  • inspector/front-end/cm/LICENSE: Removed.
  • inspector/front-end/cm/closebrackets.js: Removed.
  • inspector/front-end/cm/cmdevtools.css: Removed.
  • inspector/front-end/cm/codemirror.css: Removed.
  • inspector/front-end/cm/codemirror.js: Removed.
  • inspector/front-end/cm/css.js: Removed.
  • inspector/front-end/cm/htmlmixed.js: Removed.
  • inspector/front-end/cm/javascript.js: Removed.
  • inspector/front-end/cm/matchbrackets.js: Removed.
  • inspector/front-end/cm/xml.js: Removed.
  • inspector/front-end/cssNamedFlows.css: Removed.
  • inspector/front-end/dataGrid.css: Removed.
  • inspector/front-end/dialog.css: Removed.
  • inspector/front-end/elementsPanel.css: Removed.
  • inspector/front-end/externs.js: Removed.
  • inspector/front-end/filteredItemSelectionDialog.css: Removed.
  • inspector/front-end/flameChart.css: Removed.
  • inspector/front-end/heapProfiler.css: Removed.
  • inspector/front-end/helpScreen.css: Removed.
  • inspector/front-end/indexedDBViews.css: Removed.
  • inspector/front-end/inspector.css: Removed.
  • inspector/front-end/inspector.html: Removed.
  • inspector/front-end/inspector.js: Removed.
  • inspector/front-end/inspectorCommon.css: Removed.
  • inspector/front-end/inspectorSyntaxHighlight.css: Removed.
  • inspector/front-end/jsdifflib.js: Removed.
  • inspector/front-end/navigatorView.css: Removed.
  • inspector/front-end/networkLogView.css: Removed.
  • inspector/front-end/networkPanel.css: Removed.
  • inspector/front-end/panelEnablerView.css: Removed.
  • inspector/front-end/popover.css: Removed.
  • inspector/front-end/profilesPanel.css: Removed.
  • inspector/front-end/resourceView.css: Removed.
  • inspector/front-end/resourcesPanel.css: Removed.
  • inspector/front-end/revisionHistory.css: Removed.
  • inspector/front-end/scriptsPanel.css: Removed.
  • inspector/front-end/sidebarPane.css: Removed.
  • inspector/front-end/spectrum.css: Removed.
  • inspector/front-end/splitView.css: Removed.
  • inspector/front-end/tabbedPane.css: Removed.
  • inspector/front-end/test-runner.html: Removed.
  • inspector/front-end/textEditor.css: Removed.
  • inspector/front-end/textPrompt.css: Removed.
  • inspector/front-end/timelinePanel.css: Removed.
  • inspector/front-end/treeoutline.js: Removed.
  • inspector/front-end/utilities.js: Removed.
5:07 PM Changeset in webkit [157277] by rniwa@webkit.org
  • 2 edits in trunk/LayoutTests

Add failing expectations to some tests on Mac Lion.

  • platform/mac-lion/TestExpectations:
5:05 PM Changeset in webkit [157276] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit/win

Fix build.

  • Interfaces/WebKit.idl:

Oops, didn't mean to remove the uuid for WebURLResponse.

5:05 PM Changeset in webkit [157275] by commit-queue@webkit.org
  • 7 edits
    2 deletes in trunk

Web Inspector: Remove the old front-end from WebKit
https://bugs.webkit.org/show_bug.cgi?id=122295

Patch by Marcelo Morais <m.morais@samsung.com> on 2013-10-10
Reviewed by Timothy Hatcher.

.:

  • Source/PlatformGTK.cmake: Removed. This file was using files from the

old inspector, not needed anymore.

Source/WebCore:

Updating the project files to remove all references from the old
inspector front-end.

  • WebCore.vcxproj/WebCore.vcxproj: Removed the references for the old

inspector front-end.

  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • inspector/compile-front-end.py: Removed.

Source/WebKit:

  • PlatformBlackBerry.cmake: Removed the references for the old

inspector front-end.

5:01 PM Changeset in webkit [157274] by ryuan.choi@samsung.com
  • 3 edits in trunk/Source/WebCore

Unreviewed build fix with ENABLE_DEVICE_ORIENTATION after r157215

Now, impl() return reference instead of a pointer.

  • bindings/js/JSDeviceMotionEventCustom.cpp:

(WebCore::JSDeviceMotionEvent::acceleration):
(WebCore::JSDeviceMotionEvent::accelerationIncludingGravity):
(WebCore::JSDeviceMotionEvent::rotationRate):
(WebCore::JSDeviceMotionEvent::interval):
(WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):

  • bindings/js/JSDeviceOrientationEventCustom.cpp:

(WebCore::JSDeviceOrientationEvent::alpha):
(WebCore::JSDeviceOrientationEvent::beta):
(WebCore::JSDeviceOrientationEvent::gamma):
(WebCore::JSDeviceOrientationEvent::absolute):
(WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):

4:56 PM Changeset in webkit [157273] by commit-queue@webkit.org
  • 10 edits
    1 add in trunk

[MediaStream API] update MediaStream object to match spec
https://bugs.webkit.org/show_bug.cgi?id=121939

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-10-10
Reviewed by Jer Noble.

Source/WebCore:

Test: fast/mediastream/MediaStream-clone.html

  • Modules/mediastream/MediaStream.cpp:

(WebCore::MediaStream::MediaStream):
(WebCore::MediaStream::ended):
(WebCore::MediaStream::clone):
(WebCore::MediaStream::cloneMediaStreamTrackVector):
(WebCore::MediaStream::contextDestroyed):
(WebCore::MediaStream::scheduledEventTimerFired):

  • Modules/mediastream/MediaStream.h:
  • Modules/mediastream/MediaStream.idl:

LayoutTests:

  • TestExpectations:
  • fast/mediastream/MediaStream-add-remove-tracks-expected.txt:
  • fast/mediastream/MediaStream-add-remove-tracks.html:
  • fast/mediastream/MediaStream-clone.html: Added.
  • fast/mediastream/MediaStreamConstructor-expected.txt:
  • fast/mediastream/MediaStreamConstructor.html:
4:51 PM Changeset in webkit [157272] by Beth Dakin
  • 2 edits in trunk/Source/WebCore

Calling setUsePresentationValue on MountainLion results in unrecognized selector
warnings
https://bugs.webkit.org/show_bug.cgi?id=122624

Reviewed by Tim Horton.

Only call setUsePresentationValue if the scrollbar supports updates on a secondary
thread.

  • platform/mac/ScrollAnimatorMac.mm:

(-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):

4:34 PM Changeset in webkit [157271] by roger_fong@apple.com
  • 2 edits in trunk/Source/WebCore

Validate uniform input when setting texture sampler uniforms.
https://bugs.webkit.org/show_bug.cgi?id=122610.

Reviewed by Dean Jackson.

Covered by Khronos Conformance Suite 1.0.2.
Specifically, conformance/uniforms/uniform-samplers-test.html.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::uniform1i):
(WebCore::WebGLRenderingContext::uniform1iv):

4:31 PM Changeset in webkit [157270] by Seokju Kwon
  • 2 edits in trunk/Source/WebCore

Unreviewed build fix after r157250

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent):

4:20 PM Changeset in webkit [157269] by commit-queue@webkit.org
  • 22 edits in trunk/Source/WebInspectorUI

Web Inspector: content views and managers should save/restore view state.
https://bugs.webkit.org/show_bug.cgi?id=122546

To restore the same content view and sidebars when re-opening the
inspector, a cookie is saved whenever a new content view is shown
in the main content browser. Previously, this cookie was created
and restored using navigation sidebar-specific logic. This has two
major flaws: non-default sidebars for a represented object are not
restored correctly; and it centralizes storage of view-specific
state such as subview selections.

This patch adds ContentView methods for saving a key for the
view's represented object, and saving/restoring any view-specific
state as the view is shown. The 'type' field of the cookie
specifies the manager which deserializes the cookie into a
represented object.

Patch by Brian J. Burg <Brian Burg> on 2013-10-10
Reviewed by Timothy Hatcher.

  • UserInterface/ApplicationCacheFrameContentView.js:

(WebInspector.ApplicationCacheFrameContentView):
(WebInspector.ApplicationCacheFrameContentView.prototype.saveToCookie):
(WebInspector.ApplicationCacheFrameContentView.prototype._maybeUpdate):
(WebInspector.ApplicationCacheFrameContentView.prototype._updateStatus):
(WebInspector.ApplicationCacheFrameContentView.prototype.updateStatus):
(WebInspector.ApplicationCacheFrameContentView.prototype._updateCallback):

  • UserInterface/ApplicationCacheManager.js:

(WebInspector.ApplicationCacheManager.prototype.networkStateUpdated):
(WebInspector.ApplicationCacheManager.prototype.applicationCacheStatusUpdated):
(WebInspector.ApplicationCacheManager.prototype.):
(WebInspector.ApplicationCacheManager.prototype.requestApplicationCache):
(WebInspector.ApplicationCacheManager.prototype.objectForCookie):
(WebInspector.ApplicationCacheManager.prototype._manifestForFrameLoaded):
(WebInspector.ApplicationCacheManager.prototype._framesWithManifestsLoaded):
(WebInspector.ApplicationCacheManager.prototype._frameManifestUpdated):

  • UserInterface/BackForwardEntry.js:

(WebInspector.BackForwardEntry):
(WebInspector.BackForwardEntry.prototype._restoreFromCookie):

  • UserInterface/ContentBrowser.js:

(WebInspector.ContentBrowser.prototype.showContentViewForRepresentedObject):
(WebInspector.ContentBrowser.prototype.showContentView):

  • UserInterface/ContentView.js:

(WebInspector.ContentView.prototype.saveToCookie):
(WebInspector.ContentView.prototype.restoreFromCookie):

  • UserInterface/ContentViewContainer.js:

(WebInspector.ContentViewContainer.prototype.showContentView):

  • UserInterface/CookieStorageContentView.js:

(WebInspector.CookieStorageContentView.prototype.update):
(WebInspector.CookieStorageContentView.prototype.saveToCookie):
(WebInspector.CookieStorageContentView.prototype._rebuildTable):
(WebInspector.CookieStorageContentView.prototype._filterCookies):

  • UserInterface/DOMStorageContentView.js:

(WebInspector.DOMStorageContentView.prototype.saveToCookie):

  • UserInterface/DatabaseContentView.js:

(WebInspector.DatabaseContentView.prototype.saveToCookie):
(WebInspector.DatabaseContentView.prototype._messagesClicked):

  • UserInterface/DatabaseTableContentView.js:

(WebInspector.DatabaseTableContentView):
(WebInspector.DatabaseTableContentView.prototype.saveToCookie):

  • UserInterface/FrameContentView.js:

(WebInspector.FrameContentView.prototype.saveToCookie):
(WebInspector.FrameContentView.prototype.restoreFromCookie):

  • UserInterface/FrameResourceManager.js:

(WebInspector.FrameResourceManager.prototype.objectForCookie):

  • UserInterface/InstrumentSidebarPanel.js:

(WebInspector.InstrumentSidebarPanel):
(WebInspector.InstrumentSidebarPanel.prototype.showTimeline):
(WebInspector.InstrumentSidebarPanel.prototype.shown):
(WebInspector.InstrumentSidebarPanel.prototype._timelinesTreeElementSelected):

  • UserInterface/Main.js:

(WebInspector.loaded):
(WebInspector.contentLoaded):
(WebInspector.openURL):
(WebInspector._updateCurrentContentViewCookie):
(WebInspector._showContentViewForCookie.lastAttemptToRestoreFromCookie):
(WebInspector._showContentViewForCookie):
(WebInspector._resolveAndShowPendingContentViewCookie.delayedWork):
(WebInspector._resolveAndShowPendingContentViewCookie):
(WebInspector.elementDragStart):
(WebInspector.elementDragEnd):
(WebInspector.createMessageTextView):
(WebInspector.linkifyStringAsFragment):

  • UserInterface/NavigationSidebarPanel.js:
  • UserInterface/ResourceClusterContentView.js:

(WebInspector.ResourceClusterContentView.prototype.saveToCookie):
(WebInspector.ResourceClusterContentView.prototype.restoreFromCookie):

  • UserInterface/ResourceSidebarPanel.js:

(WebInspector.ResourceSidebarPanel.prototype.showSourceCode):
(WebInspector.ResourceSidebarPanel.prototype._mainFrameDidChange):
(WebInspector.ResourceSidebarPanel.prototype._domStorageObjectWasAdded):
(WebInspector.ResourceSidebarPanel.prototype._databaseWasAdded):
(WebInspector.ResourceSidebarPanel.prototype._cookieStorageObjectWasAdded):
(WebInspector.ResourceSidebarPanel.prototype._frameManifestAdded):

  • UserInterface/ScriptContentView.js:

(WebInspector.ScriptContentView.prototype.saveToCookie):
(WebInspector.ScriptContentView.prototype.restoreFromCookie):

  • UserInterface/StorageManager.js:

(WebInspector.StorageManager.prototype.findMatchingObjectInArray):
(WebInspector.StorageManager.prototype.objectForCookie):

  • UserInterface/TimelineManager.js:

(WebInspector.TimelineManager):
(WebInspector.TimelineManager.prototype.get timelines):
(WebInspector.TimelineManager.prototype.objectForCookie):

  • UserInterface/TimelinesContentView.js:

(WebInspector.TimelinesContentView.prototype.saveToCookie):
(WebInspector.TimelinesContentView.prototype.restoreFromCookie):
(WebInspector.TimelinesContentView.prototype._makeColumnScopeBar):

4:17 PM Changeset in webkit [157268] by commit-queue@webkit.org
  • 8 edits
    1 add in trunk

Create MediaStream object with ended attribute set if all tracks that are being used on its creation are ended
https://bugs.webkit.org/show_bug.cgi?id=122358

Patch by Thiago de Barros Lacerda <thiago.lacerda@openbossa.org> on 2013-10-10
Reviewed by Jer Noble.

Source/WebCore:

Spec tells that if all tracks that belongs to a new MediaStream object being created are ended,
then the ended attribute of this MediaStream must be set to true.
http://www.w3.org/TR/mediacapture-streams/#widl-MediaStream-ended

Since there is no port supporting MediaStream yet, we are skipping this test for now.

Test: fast/mediastream/MediaStream-construct-with-ended-tracks.html

  • Modules/mediastream/MediaStream.cpp:

(WebCore::createFromSourceVectors):
(WebCore::MediaStream::create):

  • Modules/webaudio/MediaStreamAudioDestinationNode.cpp:

(WebCore::MediaStreamAudioDestinationNode::MediaStreamAudioDestinationNode):

  • platform/mediastream/MediaStreamDescriptor.cpp:

(WebCore::MediaStreamDescriptor::create):
(WebCore::MediaStreamDescriptor::MediaStreamDescriptor):

  • platform/mediastream/MediaStreamDescriptor.h:
  • platform/mock/MockMediaStreamCenter.cpp:

(WebCore::MockMediaStreamCenter::createMediaStream):

LayoutTests:

Since there is no port supporting MediaStream yet, we are skipping this test for now.

  • TestExpectations:
  • fast/mediastream/MediaStream-construct-with-ended-tracks.html: Added.
4:16 PM Changeset in webkit [157267] by oliver@apple.com
  • 13 edits in trunk

Further improve ArrayIterator performance
https://bugs.webkit.org/show_bug.cgi?id=122575

Reviewed by Mark Hahnenberg.

Source/JavaScriptCore:

Add an assembly thunk for ArrayIterator.@@next so that we
can avoid marshalling costs when iterating arrays.

  • jit/SpecializedThunkJIT.h:

(JSC::SpecializedThunkJIT::SpecializedThunkJIT):
(JSC::SpecializedThunkJIT::loadSpecificClassArgument):

  • jit/ThunkGenerators.cpp:

(JSC::arrayIteratorNextThunkGenerator):

  • jit/ThunkGenerators.h:
  • runtime/ArrayIteratorPrototype.cpp:

(JSC::ArrayIteratorPrototype::finishCreation):

  • runtime/Intrinsic.h:
  • runtime/JSArrayIterator.h:

(JSC::JSArrayIterator::offsetOfIterationKind):
(JSC::JSArrayIterator::offsetOfIteratedObject):
(JSC::JSArrayIterator::offsetOfNextIndex):

  • runtime/JSCJSValue.h:

(JSC::JSValue::offsetOfPayload):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::reset):

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::iteratorResultStructureOffset):

  • runtime/VM.cpp:

(JSC::thunkGeneratorForIntrinsic):

LayoutTests:

Add a few new tests to make sure the new asm thunk correctly
handles non-arrays.

  • js/array-iterators-expected.txt:
  • js/script-tests/array-iterators.js:
4:10 PM Changeset in webkit [157266] by msaboff@apple.com
  • 17 edits in trunk

transition cti_op_* methods returning int to JIT operations.
https://bugs.webkit.org/show_bug.cgi?id=122563

Reviewed by Oliver Hunt.

Moved serveral operationCompare* functions from DFGOperations to JITOperations as well as changing
dfgConvertJSValueToBoolean to operationConvertJSValueToBoolean so that they can be shared with the baseline JIT.
Added JITOperation operationHasProperty(). Added needed callOperation helpers and transitioned baseline JIT code
to use the new operations.

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

(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitBranch):

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compileLogicalNot):
(JSC::DFG::SpeculativeJIT::emitBranch):

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

(JSC::JIT::emitSlow_op_jless):
(JSC::JIT::emitSlow_op_jlesseq):
(JSC::JIT::emitSlow_op_jgreater):
(JSC::JIT::emitSlow_op_jgreatereq):
(JSC::JIT::emitSlow_op_jnless):
(JSC::JIT::emitSlow_op_jnlesseq):
(JSC::JIT::emitSlow_op_jngreater):
(JSC::JIT::emitSlow_op_jngreatereq):
(JSC::JIT::emit_compareAndJumpSlow):

  • jit/JITArithmetic32_64.cpp:

(JSC::JIT::emit_compareAndJumpSlow):

  • jit/JITInlines.h:

(JSC::JIT::callOperation):

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_next_pname):
(JSC::JIT::emitSlow_op_jfalse):
(JSC::JIT::emitSlow_op_jtrue):
(JSC::JIT::emitSlow_op_eq):
(JSC::JIT::emitSlow_op_neq):

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emitSlow_op_jfalse):
(JSC::JIT::emitSlow_op_jtrue):
(JSC::JIT::emitSlow_op_eq):
(JSC::JIT::emitSlow_op_neq):
(JSC::JIT::emit_op_next_pname):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • jit/JITStubs.cpp:
  • jit/JITStubs.h:
4:05 PM Changeset in webkit [157265] by aestes@apple.com
  • 16 edits
    2 adds in trunk

Add SPI for telling WebKit to prefer pictograph glyphs over monochrome ones
https://bugs.webkit.org/show_bug.cgi?id=122608

Reviewed by Dan Bernstein.

Based on patches by Dan Bernstein.

Source/WebCore:

Test: fonts/font-fallback-prefers-pictographs.html

Created a mechanism to append a font to the end of a font's fallback
list, before the system fallback list. This mechanism is used when
Settings::fontFallbackPrefersPictographs() is true to insert a
pictograph font ahead of a monochrome one from the system fallback list.

  • WebCore.exp.in: Moved

ZN7WebCore8Settings33setFontFallbackPrefersPictographsEb outside of
an iOS platform guard.

  • css/CSSFontSelector.cpp:

(WebCore::CSSFontSelector::fallbackFontDataCount): Retuned 1 if
pictograph fonts are preferred.
(WebCore::CSSFontSelector::getFallbackFontData): Returned the
pictograph font's FontData if it is preferred.

  • css/CSSFontSelector.h:
  • page/Settings.cpp:

(WebCore::Settings::Settings): Initialized
m_fontFallbackPrefersPictographs to false.
(WebCore::Settings::setFontFallbackPrefersPictographs): Set
m_fontFallbackPrefersPictographs and called
Page::setNeedsRecalcStyleInAllFrames().

  • page/Settings.h:

(WebCore::Settings::fontFallbackPrefersPictographs):

  • platform/graphics/FontGlyphs.cpp:

(WebCore::FontGlyphs::realizeFontDataAt): Realized the selector's
fallback font if necessary.

  • platform/graphics/FontSelector.h:
  • style/StyleResolveTree.cpp:

(WebCore::Style::resolveTree): Removed iOS platform guards.

  • testing/InternalSettings.cpp:

(WebCore::InternalSettings::setFontFallbackPrefersPictographs): Set the
corresponding WebCore::Setting.

  • testing/InternalSettings.h: Defined an internal setting for the test.
  • testing/InternalSettings.idl: Ditto.

Source/WebKit/mac:

  • WebView/WebView.mm:

(-[WebView _setFontFallbackPrefersPictographs:]): Called
WebCore::Settings::setFontFallbackPrefersPictographs().

  • WebView/WebViewPrivate.h:

LayoutTests:

  • fonts/font-fallback-prefers-pictographs-expected.html: Added.
  • fonts/font-fallback-prefers-pictographs.html: Added.
3:57 PM Changeset in webkit [157264] by fpizlo@apple.com
  • 24 edits
    2 adds in trunk/Source/JavaScriptCore

OSR exit using llvm.webkit.stackmap should pass more tests
https://bugs.webkit.org/show_bug.cgi?id=122518

Reviewed by Mark Hahnenberg.

  • Make the X86Assembler capable of dealing with all XMM registers.


  • Make the StackMaps code on WebKit's side capable of dealing with XMM registers.


  • Factor out most of the smarts of StackMaps::Location into a self-contained object. Previously you needed both StackMaps::Location and a StackMaps reference to do most things since the Location might have referred to a constant. Now you can just get a self-contained Location object.


  • Fix a bug where OSR exit generation thunk generator was assuming that the call frame register is already in argumentGPR0. In the future, the call frame will just be the machine FP and we won't have to do anything special. But for now the "call frame" is just a normal value in LLVM IR and may end up in any register. Make the OSR exit generation thunk generator polymorphic over the call frame argument's Location.


  • Move the stuff that depends on the polymorphic OSR exit generation thunk generator into the finalizer, since generating and linking one of those thunks requires a cache flush and we need to do that on the main thread.
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/ARMv7Assembler.h:

(JSC::ARMv7Assembler::firstRegister):
(JSC::ARMv7Assembler::lastRegister):
(JSC::ARMv7Assembler::firstFPRegister):
(JSC::ARMv7Assembler::lastFPRegister):

  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::firstFPRegister):
(JSC::AbstractMacroAssembler::lastFPRegister):

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::nextFPRegister):

  • assembler/MacroAssemblerARMv7.h:
  • assembler/MacroAssemblerX86Common.h:
  • assembler/X86Assembler.h:

(JSC::X86Assembler::firstFPRegister):
(JSC::X86Assembler::lastFPRegister):

  • dfg/DFGDriver.cpp:

(JSC::DFG::compileImpl):

  • ftl/FTLCompile.cpp:

(JSC::FTL::fixFunctionBasedOnStackMaps):

  • ftl/FTLExitThunkGenerator.cpp:

(JSC::FTL::ExitThunkGenerator::emitThunk):
(JSC::FTL::ExitThunkGenerator::emitThunks):

  • ftl/FTLJITFinalizer.cpp:

(JSC::FTL::JITFinalizer::finalizeFunction):

  • ftl/FTLJITFinalizer.h:
  • ftl/FTLLink.cpp:

(JSC::FTL::link):

  • ftl/FTLLocation.cpp: Added.

(JSC::FTL::Location::forStackmaps):
(JSC::FTL::Location::dump):
(JSC::FTL::Location::involvesGPR):
(JSC::FTL::Location::isGPR):
(JSC::FTL::Location::gpr):
(JSC::FTL::Location::isFPR):
(JSC::FTL::Location::fpr):
(JSC::FTL::Location::restoreInto):
(WTF::printInternal):

  • ftl/FTLLocation.h: Added.

(JSC::FTL::Location::Location):
(JSC::FTL::Location::forRegister):
(JSC::FTL::Location::forIndirect):
(JSC::FTL::Location::forConstant):
(JSC::FTL::Location::kind):
(JSC::FTL::Location::hasDwarfRegNum):
(JSC::FTL::Location::dwarfRegNum):
(JSC::FTL::Location::hasOffset):
(JSC::FTL::Location::offset):
(JSC::FTL::Location::hasConstant):
(JSC::FTL::Location::constant):
(JSC::FTL::Location::operator!):
(JSC::FTL::Location::isHashTableDeletedValue):
(JSC::FTL::Location::operator==):
(JSC::FTL::Location::hash):
(JSC::FTL::LocationHash::hash):
(JSC::FTL::LocationHash::equal):

  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::LowerDFGToLLVM::linkOSRExitsAndCompleteInitializationBlocks):

  • ftl/FTLSaveRestore.cpp:

(JSC::FTL::bytesForFPRs):
(JSC::FTL::requiredScratchMemorySizeInBytes):
(JSC::FTL::offsetOfFPR):
(JSC::FTL::saveAllRegisters):
(JSC::FTL::restoreAllRegisters):

  • ftl/FTLSaveRestore.h:
  • ftl/FTLStackMaps.cpp:

(JSC::FTL::StackMaps::Location::restoreInto):

  • ftl/FTLStackMaps.h:
  • ftl/FTLState.h:
  • ftl/FTLThunks.cpp:

(JSC::FTL::osrExitGenerationWithoutStackMapThunkGenerator):
(JSC::FTL::osrExitGenerationWithStackMapThunkGenerator):

  • ftl/FTLThunks.h:

(JSC::FTL::generateIfNecessary):
(JSC::FTL::Thunks::getOSRExitGenerationThunk):

  • runtime/VM.cpp:

(JSC::VM::VM):

  • runtime/VM.h:
3:56 PM Changeset in webkit [157263] by andersca@apple.com
  • 9 edits
    4 deletes in trunk/Source/WebKit

Remove WebScrollBar
https://bugs.webkit.org/show_bug.cgi?id=122623

Reviewed by Brent Fulgham.

Source/WebKit:

Remove files from VS projects.

  • WebKit.vcxproj/Interfaces/Interfaces.vcxproj:
  • WebKit.vcxproj/Interfaces/Interfaces.vcxproj.filters:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj:
  • WebKit.vcxproj/WebKit/WebKit.vcxproj.filters:

Source/WebKit/win:

WebScrollBar isn't used by anyone, remove it.

  • ForEachCoClass.h:
  • Interfaces/IWebScrollBarDelegatePrivate.idl: Removed.
  • Interfaces/IWebScrollBarPrivate.idl: Removed.
  • Interfaces/WebKit.idl:
  • WebKitClassFactory.cpp:

(WebKitClassFactory::CreateInstance):

  • WebScrollBar.cpp: Removed.
  • WebScrollBar.h: Removed.
3:39 PM Changeset in webkit [157262] by fpizlo@apple.com
  • 5 edits in trunk

Tools: Make sure that DataTypes.h is in the binary drop.

Rubber stamped by Michael Saboff.

  • Scripts/export-llvm-build:

WebKitLibraries: Update the binary drops to the latest version of LLVM, built without -fvisibility=hidden
now that we have soft linking. Also include DataTypes.h in the drop.

Rubber stamped by Michael Saboff.

  • LLVMIncludesMountainLion.tar.bz2:
  • LLVMLibrariesMountainLion.tar.bz2:
3:27 PM Changeset in webkit [157261] by Beth Dakin
  • 2 edits in trunk/Source/WebKit/win

Build fix after http://trac.webkit.org/changeset/157253

  • WebScrollBar.h:
3:19 PM Changeset in webkit [157260] by fpizlo@apple.com
  • 24 edits
    16 adds
    2 deletes in trunk

FTL: Soft-link LLVM as a workaround for LLVM's static initializers and exit-time destructors
https://bugs.webkit.org/show_bug.cgi?id=122566

Source/JavaScriptCore:

Reviewed by Mark Rowe.

The JSC project now builds a libllvmForJSC.dylib. If FTL is enabled, this
gets copied into JavaScriptCore.framework/Versions/A/Libraries. JSC will
load the dylib by finding it using NSBundle APIs and then doing dlopen().
That will only happen lazily, when something happens that requires LLVM.

This mostly takes care of LLVM static initialization overhead by deferring
it until it's really needed.

This takes care of LLVM's exit-time destructors because inside
libllvmForJSC.dylib, we override cxa_atexit.

  • Configurations/JavaScriptCore.xcconfig:
  • Configurations/LLVMForJSC.xcconfig: Added.
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • dfg/DFGPlan.cpp:

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

  • disassembler/LLVMDisassembler.cpp:

(JSC::tryToDisassembleWithLLVM):

  • ftl/FTLAbbreviatedTypes.h:
  • ftl/FTLAbbreviations.h:

(JSC::FTL::voidType):
(JSC::FTL::int1Type):
(JSC::FTL::int8Type):
(JSC::FTL::int16Type):
(JSC::FTL::int32Type):
(JSC::FTL::int64Type):
(JSC::FTL::intPtrType):
(JSC::FTL::floatType):
(JSC::FTL::doubleType):
(JSC::FTL::pointerType):
(JSC::FTL::structType):
(JSC::FTL::functionType):
(JSC::FTL::typeOf):
(JSC::FTL::mdKindID):
(JSC::FTL::mdString):
(JSC::FTL::mdNode):
(JSC::FTL::setMetadata):
(JSC::FTL::addFunction):
(JSC::FTL::setLinkage):
(JSC::FTL::setFunctionCallingConv):
(JSC::FTL::getParam):
(JSC::FTL::constInt):
(JSC::FTL::constReal):
(JSC::FTL::constIntToPtr):
(JSC::FTL::constBitCast):
(JSC::FTL::appendBasicBlock):
(JSC::FTL::insertBasicBlock):
(JSC::FTL::buildPhi):
(JSC::FTL::addIncoming):
(JSC::FTL::buildAlloca):
(JSC::FTL::buildAdd):
(JSC::FTL::buildSub):
(JSC::FTL::buildMul):
(JSC::FTL::buildDiv):
(JSC::FTL::buildRem):
(JSC::FTL::buildNeg):
(JSC::FTL::buildFAdd):
(JSC::FTL::buildFSub):
(JSC::FTL::buildFMul):
(JSC::FTL::buildFDiv):
(JSC::FTL::buildFRem):
(JSC::FTL::buildFNeg):
(JSC::FTL::buildAnd):
(JSC::FTL::buildOr):
(JSC::FTL::buildXor):
(JSC::FTL::buildShl):
(JSC::FTL::buildAShr):
(JSC::FTL::buildLShr):
(JSC::FTL::buildNot):
(JSC::FTL::buildLoad):
(JSC::FTL::buildStore):
(JSC::FTL::buildSExt):
(JSC::FTL::buildZExt):
(JSC::FTL::buildFPToSI):
(JSC::FTL::buildFPToUI):
(JSC::FTL::buildSIToFP):
(JSC::FTL::buildUIToFP):
(JSC::FTL::buildIntCast):
(JSC::FTL::buildFPCast):
(JSC::FTL::buildIntToPtr):
(JSC::FTL::buildPtrToInt):
(JSC::FTL::buildBitCast):
(JSC::FTL::buildICmp):
(JSC::FTL::buildFCmp):
(JSC::FTL::buildCall):
(JSC::FTL::setTailCall):
(JSC::FTL::buildExtractValue):
(JSC::FTL::buildSelect):
(JSC::FTL::buildBr):
(JSC::FTL::buildCondBr):
(JSC::FTL::buildSwitch):
(JSC::FTL::addCase):
(JSC::FTL::buildRet):
(JSC::FTL::buildUnreachable):
(JSC::FTL::dumpModule):
(JSC::FTL::verifyModule):

  • ftl/FTLCompile.cpp:

(JSC::FTL::compile):

  • ftl/FTLFail.cpp:

(JSC::FTL::fail):

  • ftl/FTLJITCode.h:
  • ftl/FTLJITFinalizer.h:
  • ftl/FTLLink.cpp:
  • ftl/FTLLowerDFGToLLVM.cpp:

(JSC::FTL::LowerDFGToLLVM::lower):

  • ftl/FTLOutput.cpp:

(JSC::FTL::Output::Output):
(JSC::FTL::Output::~Output):

  • ftl/FTLOutput.h:

(JSC::FTL::Output::appendTo):

  • ftl/FTLState.cpp:

(JSC::FTL::State::State):
(JSC::FTL::State::~State):

  • ftl/WebKitLLVMLibraryAnchor.cpp: Removed.
  • jsc.cpp:

(jscmain):

  • llvm: Added.
  • llvm/InitializeLLVM.cpp: Added.

(JSC::initializeLLVM):

  • llvm/InitializeLLVM.h: Added.
  • llvm/InitializeLLVMMac.mm: Added.

(JSC::initializeLLVMImpl):

  • llvm/InitializeLLVMPOSIX.cpp: Added.

(JSC::initializeLLVMPOSIX):

  • llvm/InitializeLLVMPOSIX.h: Added.
  • llvm/LLVMAPI.cpp: Added.
  • llvm/LLVMAPI.h: Added.
  • llvm/LLVMAPIFunctions.h: Added.
  • llvm/LLVMHeaders.h: Added.
  • llvm/library: Added.
  • llvm/library/LLVMAnchor.cpp: Added.
  • llvm/library/LLVMExports.cpp: Added.

(initializeAndGetJSCLLVMAPI):

  • llvm/library/LLVMOverrides.cpp: Added.

(cxa_atexit):

  • llvm/library/config_llvm.h: Added.
  • runtime/InitializeThreading.cpp:

(JSC::initializeThreadingOnce):

  • runtime/Options.h:

Source/WTF:

Reviewed by Mark Rowe.

Remove all LLVM stuff from WTF since to get LLVM you need to soft-link and it's
entirely the responsibility of JSC to do that.

Also fixed an export goof that I found after fixing the weak thingy script in JSC.

  • WTF.xcodeproj/project.pbxproj:
  • wtf/LLVMHeaders.h: Removed.
  • wtf/text/CString.h:

(WTF::CStringHash::hash):

Tools:

Reviewed by Mark Rowe.

  • Scripts/configure-llvm:
3:16 PM Changeset in webkit [157259] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Add timeout annotation to gtk-wk2-specific expectation for
editing/spelling/spellcheck-paste.html.

  • platform/gtk-wk2/TestExpectations:
3:03 PM Changeset in webkit [157258] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

currentThis and currentArguments crash if called from outside a callback
https://bugs.webkit.org/show_bug.cgi?id=122620

Reviewed by Filip Pizlo.

The documentation for these methods claims that they will return nil if called
from somewhere other than an API callback, but currently they both crash.

  • API/JSContext.mm:

(+[JSContext currentThis]):
(+[JSContext currentArguments]):

  • API/tests/testapi.mm:
3:00 PM Changeset in webkit [157257] by fpizlo@apple.com
  • 1 edit in trunk/Source/JavaScriptCore/ChangeLog

Fix changelog entry order.

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

CallbackData unnecessarily caches the JSValue for currentThis
https://bugs.webkit.org/show_bug.cgi?id=122616

Patch by Mark Hahnenberg <mhahnenberg@apple.com> on 2013-10-10
Reviewed by Oliver Hunt.

CallbackData implements its own version of caching the JSValue* for the JSValueRef it stores.
+[JSValue valueWithJSValueRef:inContext:] already does caching, thus obviating the need for
CallbackData to do its own caching.

  • API/JSContext.mm:

(+[JSContext currentThis]):
(-[JSContext beginCallbackWithData:thisValue:argumentCount:arguments:]):
(-[JSContext endCallbackWithData:]):

  • API/JSContextInternal.h:
2:50 PM Changeset in webkit [157255] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Remove unused attribute in CoordinatedTile class
https://bugs.webkit.org/show_bug.cgi?id=122619

Patch by Sergio Correia <Sergio Correia> on 2013-10-10
Reviewed by Noam Rosenthal.

No new tests, covered by existing ones.

  • platform/graphics/texmap/coordinated/CoordinatedTile.h: Remove

m_localBuffer.

2:47 PM Changeset in webkit [157254] by Csaba Osztrogonác
  • 5 edits
    5 adds in trunk/Source/WebKit2

[WK2][Soup] Add platform specific stubs for NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=110115

Reviewed by Carlos Garcia Campos.

Original patch by Balazs Kelemen <kbalazs@webkit.org> and Kwang Yul Seo <skyul@company100.net>.

  • CMakeLists.txt:
  • GNUmakefile.am:
  • GNUmakefile.list.am:
  • NetworkProcess/gtk/NetworkProcessSoup.cpp: Added.

(WebKit::NetworkProcess::platformInitializeNetworkProcess):
(WebKit::NetworkProcess::platformSetCacheModel):
(WebKit::NetworkProcess::allowSpecificHTTPSCertificateForHost):
Stubs.
(WebKit::NetworkProcess::clearCacheForAllOrigins):
(WebKit::NetworkProcess::platformTerminate):

  • NetworkProcess/soup/NetworkResourceLoadSchedulerSoup.cpp: Added.

(WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost):
Added platform default based on the comment in ResourceRequestSoup.cpp.

  • UIProcess/Network/soup/NetworkProcessProxySoup.cpp: Added.

(WebKit::NetworkProcessProxy::platformGetLaunchOptions):
Stub.

  • UIProcess/soup/WebContextSoup.cpp: Added.

(WebKit::WebContext::platformInitializeNetworkProcess):
Stub.

2:44 PM Changeset in webkit [157253] by Beth Dakin
  • 28 edits in trunk/Source

Scrollbars are updated on the main thread rather than the scrolling thread
(causing scroll bars not to appear/update quickly in some cases)
https://bugs.webkit.org/show_bug.cgi?id=122585
-and corresponding-
<rdar://problem/10710775>

Reviewed by Simon Fraser.

Source/WebCore:

This patch does a few things in order to allow scrollbars to be updated on the
scrolling thread:

  1. This patch adds the ability to know if the lower-level APIs necessary to get

this to work right are available, AND if the content is actually capable of taking
advantage of this feature. This is currently implemented as
Scrollbar::supportsUpdateOnSecondaryThread() which makes use of a new
ScrollableArea function called updatesScrollLayerPositionOnMainThread()

  1. To update on the scrolling thread, the scrolling tree needs to know about the

ScrollbarPainters.

  1. Once it knows about them, it should update the presentation value whenever the

layer position changes.

  1. Presentation value is basically the same thing as double value. There is a bit

of code we maintain currently to compute that. This patch moves that code to a
static function on ScrollableArea that can be called from both the main thread and
the scrolling thread.

  1. ScrollbarPainter API needs to know about the layers we have created for the

vertical and horizontal scrollbars, then they will use those layers and the
presentation value that we set on the scrolling thread to move the layers around.

This is part of #1 above.

  • page/FrameView.cpp:

(WebCore::FrameView::updatesScrollLayerPositionOnMainThread):

  • page/FrameView.h:

This is part of #2. ScrollingStateScrollingNodes now have vertical and horizontal
ScrollbarPainters for Mac only.

  • page/scrolling/ScrollingStateScrollingNode.cpp:

(WebCore::ScrollingStateScrollingNode::ScrollingStateScrollingNode):

  • page/scrolling/ScrollingStateScrollingNode.h:

(WebCore::ScrollingStateScrollingNode::verticalScrollbarPainter):
(WebCore::ScrollingStateScrollingNode::horizontalScrollbarPainter):

Also part of #2. Make sure to set the ScrollbarPainters for scrolling nodes when
appropriate.

  • page/scrolling/mac/ScrollingCoordinatorMac.h:
  • page/scrolling/mac/ScrollingCoordinatorMac.mm:

(WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):

Implement this function that was just stubbed out before. This is part of #5 in
that is will allow the ScrollbarPainter API to know about any layer changes.
(WebCore::ScrollingCoordinatorMac::scrollableAreaScrollbarLayerDidChange):

Back to #2, making sure we properly set the ScrollbarPainters to send over to the
scrolling thread.
(WebCore::ScrollingCoordinatorMac::setScrollbarPaintersForNode):

  • page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:

(WebCore::ScrollingStateScrollingNode::setScrollbarPainters):

This code achieves #3. It uses new ScrollbarPainter API to adjust the position of
the scrollbars from the scrolling thread.

  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.h:
  • page/scrolling/mac/ScrollingTreeScrollingNodeMac.mm:

(WebCore::ScrollingTreeScrollingNodeMac::ScrollingTreeScrollingNodeMac):
(WebCore::ScrollingTreeScrollingNodeMac::updateBeforeChildren):
(WebCore::ScrollingTreeScrollingNodeMac::setScrollLayerPosition):

This is for #5. ScrollbarPainter needs to know about our scrollbar layers.

  • platform/ScrollAnimator.h:

(WebCore::ScrollAnimator::verticalScrollbarLayerDidChange):
(WebCore::ScrollAnimator::horizontalScrollbarLayerDidChange):

  • platform/ScrollableArea.cpp:

(WebCore::ScrollableArea::verticalScrollbarLayerDidChange):
(WebCore::ScrollableArea::horizontalScrollbarLayerDidChange):

This is for #4. This code computes the scrollbar’s value and current overhang
amount.
(WebCore::ScrollableArea::computeScrollbarValueAndOverhang):

  • platform/ScrollableArea.h:

(WebCore::ScrollableArea::layerForHorizontalScrollbar):
(WebCore::ScrollableArea::layerForVerticalScrollbar):
(WebCore::ScrollableArea::layerForScrolling):

This is for #1. We need to know if we have the ability to update scrollbars on a
different thread. We can do that only on certain versions of the OS, only when
threaded scrolling is enabled, and only when the current page is actually using
the scrolling thread to scroll.

  • platform/Scrollbar.cpp:

(WebCore::Scrollbar::supportsUpdateOnSecondaryThread):

  • platform/Scrollbar.h:
  • platform/ScrollbarThemeClient.h:

New ScrollbarPainter APIs.

  • platform/mac/NSScrollerImpDetails.h:

This is for #5, letting the ScrollbarPainter API know about the layers.

  • platform/mac/ScrollAnimatorMac.h:
  • platform/mac/ScrollAnimatorMac.mm:

(-[WebScrollbarPainterDelegate layer]):
(-[WebScrollbarPainterDelegate convertRectToLayer:]):
(-[WebScrollbarPainterDelegate shouldUseLayerPerPartForScrollerImp:]):

Before we kick off a scroll animation, set the current painting characteristics so
they are up-to-date in case we are scrolling on the scrolling thread.
(-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
(-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
(-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
(WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
(WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
(WebCore::ScrollAnimatorMac::verticalScrollbarLayerDidChange):
(WebCore::ScrollAnimatorMac::horizontalScrollbarLayerDidChange):

Only paint the scrollbars through ScrollbarThemeMac if they are NOT being updated
by the scrolling thread.

  • platform/mac/ScrollbarThemeMac.h:
  • platform/mac/ScrollbarThemeMac.mm:

(WebCore::ScrollbarThemeMac::setCurrentPaintCharacteristics):
(WebCore::scrollbarPainterPaint):
(WebCore::ScrollbarThemeMac::paint):

Back to #1.

  • rendering/RenderLayer.cpp:

(WebCore::RenderLayer::updatesScrollLayerPositionOnMainThread):

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

(WebCore::RenderLayerCompositor::updateOverflowControlsLayers):

  • rendering/RenderListBox.h:

Source/WebKit2:

New pure virtual function.

  • WebProcess/Plugins/PDF/PDFPlugin.h:
2:34 PM Changeset in webkit [157252] by Brent Fulgham
  • 6 edits in trunk/Source/WebCore

[Win] Unreviewed build fix after r157228

The changes in r157228 trigger a bug in VS2010. This patch works around the compiler bug
to allow this platform to build.

  • dom/Range.cpp: Move implementation to header file.
  • dom/Range.h: Inline the method.
  • page/DOMWindow.cpp:

(WebCore::DOMWindow::open): Add stub method (with pointer arguments) to call the real
method with references.

  • page/DOMWindow.h: Declare stub method taking pointer arguments to avoid compiler bug.
  • testing/Internals.cpp:

(WebCore::Internals::openDummyInspectorFrontend): Use work-around method when building under
the buggy version of Visual Studio.

2:34 PM Changeset in webkit [157251] by Csaba Osztrogonác
  • 4 edits
    1 move
    2 adds in trunk/Source/WebKit2

[WK2] Port RemoteNetworkingContext for Soup
https://bugs.webkit.org/show_bug.cgi?id=110097

Reviewed by Darin Adler.

Original patch by Balazs Kelemen <kbalazs@webkit.org> and Kwang Yul Seo <skyul@company100.net>.

This should be a cross-platform interface so I lifted the header from
the mac directory. Removed mac specific arguments from constructor,
added setters instead. Moved platform things behind ifdefs and added
Soup specific bits.

The following things were fixed by Csaba Osztrogonác:

  • solved conflicts in project.pbxproj
  • removed the change in the non-existent SyncNetworkResourceLoader.cpp
  • marked RemoteNetworkingContext class as FINAL
  • reordered the members for platform specific initialization
  • added initializers to m_needsSiteSpecificQuirks and m_localFileContentSniffingEnabled members on PLATFORM(MAC)
  • NetworkProcess/NetworkResourceLoader.cpp:

(WebKit::NetworkResourceLoader::start):

  • NetworkProcess/RemoteNetworkingContext.h: Renamed from Source/WebKit2/NetworkProcess/mac/RemoteNetworkingContext.h.

(WebKit::RemoteNetworkingContext::create):
(WebKit::RemoteNetworkingContext::RemoteNetworkingContext):
(WebKit::RemoteNetworkingContext::setNeedsSiteSpecificQuirks):
(WebKit::RemoteNetworkingContext::setLocalFileContentSniffingEnabled):

  • NetworkProcess/mac/RemoteNetworkingContext.mm:
  • NetworkProcess/soup/RemoteNetworkingContextSoup.cpp: Added.

(WebKit::RemoteNetworkingContext::~RemoteNetworkingContext):
(WebKit::RemoteNetworkingContext::isValid):
(WebKit::RemoteNetworkingContext::initiatingPageID):
(WebKit::RemoteNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
(WebKit::RemoteNetworkingContext::ensurePrivateBrowsingSession):
(WebKit::RemoteNetworkingContext::destroyPrivateBrowsingSession):
(WebKit::RemoteNetworkingContext::storageSession):
(WebKit::RemoteNetworkingContext::privateBrowsingSession):

  • WebKit2.xcodeproj/project.pbxproj:
2:11 PM Changeset in webkit [157250] by rniwa@webkit.org
  • 3 edits in trunk/Source/WebCore

Make all functions of EventDispatcher static
https://bugs.webkit.org/show_bug.cgi?id=122591

Reviewed by Antti Koivisto.

Now that EventDispatchMediator is gone, we don't have to have an EventDispatcher object.
Turn EventDispatcher into an empty class with a bunch of static functions.

We can convert it to a namespace or whatever later.

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchSimulatedClick):
(WebCore::EventDispatcher::dispatchEvent):

  • dom/EventDispatcher.h:
1:50 PM Changeset in webkit [157249] by mhahnenberg@apple.com
  • 3 edits in trunk/Source/JavaScriptCore

CallbackData unnecessarily caches the JSValue for currentThis
https://bugs.webkit.org/show_bug.cgi?id=122616

Reviewed by Oliver Hunt.

CallbackData implements its own version of caching the JSValue* for the JSValueRef it stores.
+[JSValue valueWithJSValueRef:inContext:] already does caching, thus obviating the need for
CallbackData to do its own caching.

  • API/JSContext.mm:

(+[JSContext currentThis]):
(-[JSContext beginCallbackWithData:thisValue:argumentCount:arguments:]):
(-[JSContext endCallbackWithData:]):

  • API/JSContextInternal.h:
1:42 PM Changeset in webkit [157248] by commit-queue@webkit.org
  • 14 edits in trunk/Source

Convert some OwnPtr/PassOwnPtr in CoordinatedGraphics code to std::unique_ptr's
https://bugs.webkit.org/show_bug.cgi?id=122614

Patch by Sergio Correia <Sergio Correia> on 2013-10-10
Reviewed by Anders Carlsson.

Source/WebCore:

No new tests, covered by existing ones.

  • platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:

(WebCore::CompositingCoordinator::paintToSurface):
(WebCore::CompositingCoordinator::releaseInactiveAtlasesTimerFired):

  • platform/graphics/texmap/coordinated/CompositingCoordinator.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
(WebCore::CoordinatedGraphicsLayer::createBackingStore):
(WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
(WebCore::CoordinatedGraphicsLayer::purgeBackingStores):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:
  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.cpp:

(WebCore::CoordinatedGraphicsScene::createLayer):
(WebCore::CoordinatedGraphicsScene::deleteLayer):
(WebCore::CoordinatedGraphicsScene::ensureRootLayer):
(WebCore::CoordinatedGraphicsScene::purgeGLResources):

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsScene.h:
  • platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.cpp:

(WebCore::ThreadSafeCoordinatedSurface::ThreadSafeCoordinatedSurface):

  • platform/graphics/texmap/coordinated/ThreadSafeCoordinatedSurface.h:
  • platform/graphics/texmap/coordinated/UpdateAtlas.cpp:

(WebCore::UpdateAtlas::buildLayoutIfNeeded):
(WebCore::UpdateAtlas::didSwapBuffers):

  • platform/graphics/texmap/coordinated/UpdateAtlas.h:

(WebCore::UpdateAtlas::isInUse):

Source/WebKit2:

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:

(WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):

  • WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
1:15 PM Changeset in webkit [157247] by roger_fong@apple.com
  • 4 edits in trunk/Source/WebCore

Store uniform type information in WebGLUniformationLocation.
https://bugs.webkit.org/show_bug.cgi?id=122607.

Reviewed by Dean Jackson.

Covered by Khronos Conformance Suite 1.0.2.

  • html/canvas/WebGLRenderingContext.cpp:

(WebCore::WebGLRenderingContext::getUniform):
(WebCore::WebGLRenderingContext::getUniformLocation):

  • html/canvas/WebGLUniformLocation.cpp:

(WebCore::WebGLUniformLocation::create):
(WebCore::WebGLUniformLocation::WebGLUniformLocation):
(WebCore::WebGLUniformLocation::type):

  • html/canvas/WebGLUniformLocation.h:
1:05 PM Changeset in webkit [157246] by commit-queue@webkit.org
  • 14 edits in trunk/LayoutTests

Web Inspector: Remove the old front-end from WebKit
https://bugs.webkit.org/show_bug.cgi?id=122295

Patch by Marcelo Morais <m.morais@samsung.com> on 2013-10-10
Reviewed by Timothy Hatcher.

Skipping the tests of the old Inspector UI for all ports.

  • TestExpectations:
  • platform/efl-wk1/TestExpectations:
  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
  • platform/gtk-wk1/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/mac-lion/TestExpectations:
  • platform/mac-wk2/TestExpectations:
  • platform/mac/TestExpectations:
  • platform/win-xp/TestExpectations:
  • platform/win/TestExpectations:
  • platform/wincairo/TestExpectations:
  • platform/wk2/TestExpectations:
1:05 PM Changeset in webkit [157245] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

REGRESSION(r157203): WebKit crashes after dispatching gesture event
https://bugs.webkit.org/show_bug.cgi?id=122615

Reviewed by Anders Carlsson.

Don't release the event until the end of the function where we call member functions on it.

  • dom/Node.cpp:

(WebCore::Node::dispatchGestureEvent):

1:04 PM Changeset in webkit [157244] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Unreviewed, roll out r157193. It broke some builds.

1:02 PM Changeset in webkit [157243] by Csaba Osztrogonác
  • 2 edits in trunk/Source/WebKit2

generate-message-receiver.py can't handle nested #ifs
https://bugs.webkit.org/show_bug.cgi?id=121877

Reviewed by Alexey Proskuryakov.

  • Scripts/webkit2/parser.py:

(parse): Exit early until proper fix instead of generating buggy output.

12:49 PM Changeset in webkit [157242] by rniwa@webkit.org
  • 5 edits in trunk/Source/WebCore

Move the rest of EventRetargeter functions to EventPath
https://bugs.webkit.org/show_bug.cgi?id=122586

Reviewed by Andreas Kling.

Moved the rest of EventRetargeter functiosn either static local or EventPath member functions.

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchScopedEvent):
(WebCore::EventDispatcher::dispatch):
(WebCore::EventDispatcher::dispatchEventPostProcess):

  • dom/EventDispatcher.h:
  • dom/EventRetargeter.cpp:

(WebCore::EventPath::EventPath):
(WebCore::calculateAdjustedNodes): Made static local. Also takes const EventPath and returns the size
to which EventPath should be shrunk; this allows us to remove EventPath::shrink.
(WebCore::updateTouchListsInEventPath): Moved and renamed from EventRetargeter::adjustTouchList.
(WebCore::EventPath::updateTouchLists): Moved and renamed from EventRetargeter::adjustForTouchEvent.
(WebCore::EventPath::setRelatedTarget): Moved.

  • dom/EventRetargeter.h:

(WebCore::eventTargetRespectingTargetRules): Renamed from EventRetargeter::eventTargetRespectingTargetRules.

12:48 PM Changeset in webkit [157241] by mrowe@apple.com
  • 33 edits in trunk

<rdar://problem/13341666> WebKit should always build against an SDK.

Have all projects default to building against the OS X Internal SDK for the Production
configuration. For the Debug and Release configurations, look for UseInternalSDK.xcconfig
to determine whether the OS X Internal SDK should be used. If not, use the normal OS X SDK.

Reviewed by Dan Bernstein.

Source/JavaScriptCore:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:

Source/ThirdParty:

  • gtest/xcode/Config/General.xcconfig:
  • gtest/xcode/Config/ProductionProject.xcconfig:

Source/ThirdParty/ANGLE:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:

Source/WebCore:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:

Source/WebInspectorUI:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:

Source/WebKit/mac:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:

Source/WebKit2:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:

Source/WTF:

  • Configurations/Base.xcconfig:
  • Configurations/DebugRelease.xcconfig:

Tools:

  • DumpRenderTree/mac/Configurations/Base.xcconfig:
  • DumpRenderTree/mac/Configurations/DebugRelease.xcconfig:
  • MiniBrowser/Configurations/Base.xcconfig:
  • MiniBrowser/Configurations/DebugRelease.xcconfig:
  • TestWebKitAPI/Configurations/Base.xcconfig:
  • TestWebKitAPI/Configurations/DebugRelease.xcconfig:
  • WebKitTestRunner/Configurations/Base.xcconfig:
  • WebKitTestRunner/Configurations/DebugRelease.xcconfig:
12:43 PM Changeset in webkit [157240] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

[CoordinatedGraphics][CSS Shaders] marshal color and matrix custom filter parameters
https://bugs.webkit.org/show_bug.cgi?id=117904

Correctly encode and decode the "matrix" and "color" custom filter parameter types.
No port currently enables this code, however with this change the relevant layout tests now pass when enabled in EFL.
Patch by Ralph Thomas <ralpht@gmail.com> on 2013-10-10
Reviewed by Noam Rosenthal.

  • Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:

(CoreIPC::::encode):
(CoreIPC::::decode):

12:25 PM Changeset in webkit [157239] by mrowe@apple.com
  • 4 edits in trunk/Source

Source/JavaScriptCore: <rdar://problem/13871507> JavaScriptCore fails to build with C++ 98 conformance changes

Reviewed by Andreas Kling.

  • heap/VTableSpectrum.cpp:

(JSC::VTableSpectrum::dump): strrchr returns a const char* when passed one.
Update the type of the local variable to accommodate that.

Source/WebKit2: <rdar://problem/13871522> WebKit2 fails to build with C++ 98 conformance changes

Reviewed by Andreas Kling.

  • Shared/mac/SandboxExtensionMac.mm:

(WebKit::resolveSymlinksInPath): strrchr returns a const char* when passed one.
Update the type of the local variable to accommodate that.

12:22 PM Changeset in webkit [157238] by hmuller@adobe.com
  • 4 edits in trunk/Source

[CSS Shapes] clampToUnsigned() should return unsigned, not int
https://bugs.webkit.org/show_bug.cgi?id=122601

Source/WebCore:

Reviewed by Andreas Kling.

Corrected the return type for clampToUnsigned() in MathExtras.h. It's now unsigned.
No new tests since this is just an internal refactoring of existing code.

  • rendering/shapes/RasterShape.cpp:

(WebCore::RasterShape::marginIntervals): Use the redefined clampToUnsigned method.

Source/WTF:

Corrected the return type for clampToUnsigned() in MathExtras.h. It's now unsigned.

Reviewed by Andreas Kling.

  • wtf/MathExtras.h:

(clampToUnsigned):

11:24 AM Changeset in webkit [157237] by berto@igalia.com
  • 4 edits in trunk/LayoutTests

Unreviewed gardening.

Move the tests that only fail in wk1 to their file, and unskip the
ones that are passing in all cases.

  • platform/gtk-wk1/TestExpectations:
  • platform/gtk-wk2/TestExpectations:
  • platform/gtk/TestExpectations:
11:22 AM Changeset in webkit [157236] by Bem Jones-Bey
  • 13 edits
    7 copies
    1 add in trunk

[CSS Shapes] New positioning model: Shape cropped to margin box
https://bugs.webkit.org/show_bug.cgi?id=118092

Reviewed by Alexandru Chiculita.

Source/WebCore:

Clip the shape to the margin box when it extends out the left or right
edges. Also added a few local variables to make the code easier to
read.

Tests: csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-ref.html

csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-004.html
csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-005.html
csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-006.html

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):

LayoutTests:

Add tests for shapes that extend out left/right of the margin box.

Fix polygon and image threshold tests so that they have a large enough
margin box so the shape isn't clipped.

Also update some of the top/bottom tests to have a better reference,
they should be more likely to break if the implementation fails now.

  • csswg/contributors/adobe/submitted/shapes/shape-outside/resources/w3c-import.log:
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-expected.html:
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-ref-expected.html: Copied from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003.html.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-ref.html: Copied from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003.html.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001.html:
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003-expected.html:
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003.html:
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-004-expected.html: Copied from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-expected.html.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-004.html: Copied from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003.html.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-005-expected.html: Copied from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-expected.html.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-005.html: Copied from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003.html.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-006-expected.html: Copied from LayoutTests/csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-expected.html.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-006.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-000.html:
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-001.html:
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-polygon-002.html:
  • csswg/contributors/adobe/submitted/shapes/shape-outside/w3c-import.log:
  • fast/shapes/shape-outside-floats/shape-outside-floats-image-threshold-001.html:
11:20 AM Changeset in webkit [157235] by dbates@webkit.org
  • 6 edits in trunk/Source/WebCore

Avoid resizing the internal buffer of SharedBuffer when creating a PurgeableBuffer
https://bugs.webkit.org/show_bug.cgi?id=122516

Reviewed by Darin Adler.

Currently when we create a PurgeableBuffer from a SharedBuffer we may
resize the internal buffer of the SharedBuffer so that it can fit the
concatenated contents of all of its segments before copying this
internal buffer to the internal buffer of the PurgeableBuffer. Instead,
we can avoid resizing the internal buffer of SharedBuffer by allocating
a PurgeableBuffer and then copying the internal buffer of SharedBuffer
and its segments directly into it.

  • platform/PurgeableBuffer.h:

(WebCore::PurgeableBuffer::createUninitialized): Add inline implementation
when building with ENABLE_PURGEABLE_MEMORY disabled.

  • platform/SharedBuffer.cpp:

(WebCore::SharedBuffer::createPurgeableBuffer): Implemented in terms of
SharedBuffer::{copyBufferAndClear, createUninitialized}().
(WebCore::SharedBuffer::copyBufferAndClear): Added.
(WebCore::SharedBuffer::buffer): Moved logic to copy segments/data array to
SharedBuffer::copyBufferAndClear() and modified this function to use it.

  • platform/SharedBuffer.h:
  • platform/cf/SharedBufferCF.cpp:

(WebCore::SharedBuffer::copyBufferAndClear): Renamed; formerly called SharedBuffer::copyDataArrayAndClear.

  • platform/mac/PurgeableBufferMac.cpp:

(WebCore::allocatePurgeableBuffer): Added.
(WebCore::PurgeableBuffer::createUninitialized): Added.
(WebCore::PurgeableBuffer::create): Moved logic to allocate a purgeable buffer into
PurgeableBuffer::createUninitialized() and modified this function to use it.

11:20 AM Changeset in webkit [157234] by mhahnenberg@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

Objective-C API: blocks aren't callable via 'new'
https://bugs.webkit.org/show_bug.cgi?id=122561

Reviewed by Oliver Hunt.

Currently the only way for clients to vend new native objects to JavaScript code
is via factory methods in the form of exported class methods or blocks. Blocks can
be called like normal functions from JavaScript code, but they cannot be invoked
with 'new'. This would give a simple way for clients to expose constructor-like
behavior to their JavaScript code.

This patch adds the ability for blocks to be invoked as if they were a constructor.
Blocks invoked as constructors are required to return an object. If the block doesn't
return an object then an error is thrown. The 'this' object is not provided to the
block and must be created within the block itself.

This patch also unifies the native 'construct' callback used in both the C and Obj-C
APIs under the APICallbackFunction struct, similar to how we unified the 'call' callback
between ObjCCallbackFunction and JSCallbackFunction before.

This patch also adds tests to make sure that different blocks generate objects that
correctly behave when queried with instanceof. It also makes sure that the correct
JS exception is thrown when a block fails to return an object.

  • API/APICallbackFunction.h:

(JSC::APICallbackFunction::call):
(JSC::APICallbackFunction::construct):

  • API/JSCallbackConstructor.cpp:

(JSC::JSCallbackConstructor::getConstructData):

  • API/JSCallbackConstructor.h:

(JSC::JSCallbackConstructor::constructCallback):

  • API/JSCallbackFunction.h:

(JSC::JSCallbackFunction::functionCallback):

  • API/ObjCCallbackFunction.h:

(JSC::ObjCCallbackFunction::functionCallback):
(JSC::ObjCCallbackFunction::constructCallback):

  • API/ObjCCallbackFunction.mm:

(JSC::objCCallbackFunctionCallAsConstructor):
(JSC::ObjCCallbackFunction::ObjCCallbackFunction):
(JSC::ObjCCallbackFunction::create):
(JSC::ObjCCallbackFunction::getConstructData):

  • API/tests/testapi.mm:
11:14 AM Changeset in webkit [157233] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. plugins/document-open.html will some times timeout.

  • platform/gtk-wk2/TestExpectations:
10:54 AM Changeset in webkit [157232] by kov@webkit.org
  • 2 edits in trunk/Tools

Unreviewed gardening, the inspector protocol timeouts are also affecting TestInspectorServer.

  • Scripts/run-gtk-tests:

(TestRunner): skip TestInspectorServer.

10:41 AM Changeset in webkit [157231] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: VoiceOver speaking too much when group elements with tabindex=-1 are used
https://bugs.webkit.org/show_bug.cgi?id=122574

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Tests: accessibility/negative-tabindex-does-not-expose-label.html

Elements that expose tabindex=-1 are being identified as generic focusable elements for accessibility.
Which among other things, determines whether to create an accessible name for the object.
This has the negative effect of causing VoiceOver to speak way too much information when navigating inside
a <div> with this attribute.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::visibleText):
(WebCore::AccessibilityNodeObject::title):

LayoutTests:

  • accessibility/negative-tabindex-does-not-expose-label-expected.txt: Added.
  • accessibility/negative-tabindex-does-not-expose-label.html: Added.
10:39 AM Changeset in webkit [157230] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Remove custom finalizer for Node JS wrappers.
<https://webkit.org/b/122603>

Reviewed by Geoff Garen.

Node can just use the auto-generated finalizer, the custom one was
identical to what the generator would output.

9:38 AM Changeset in webkit [157229] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

Remove duplicate entry for editing/spelling/spellcheck-paste.html.

  • platform/gtk/TestExpectations:
9:31 AM Changeset in webkit [157228] by akling@apple.com
  • 11 edits in trunk/Source/WebCore

CTTE: activeDOMWindow() and firstDOMWindow() should return references.
<https://webkit.org/b/122598>

Reviewed by Anders Carlsson.

Now that wrappers vend references to their WebCore objects, follow
up and make these two return references as well.

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

[ATK] Missing checks in returnIfWebKitAccessibleIsInvalid
https://bugs.webkit.org/show_bug.cgi?id=122600

Patch by Mario Sanchez Prada <mario.prada@samsung.com> on 2013-10-10
Reviewed by Chris Fleizach.

Check that the AccessibilityObject associated to the ATK wrapper
is not NULL and contains a valid reference to the document before
calling AccessibilityObject::updateBackingStore().

  • accessibility/atk/WebKitAccessibleUtil.h: Add extra checks.
8:43 AM Changeset in webkit [157226] by akling@apple.com
  • 6 edits in trunk/Source/WebCore

Clean up JSDOMWindowShell a little.
<https://webkit.org/b/122599>

Reviewed by Anders Carlsson.

  • Have impl() return a DOMWindow& instead of a pointer.
  • Store the DOMWrapperWorld in a Ref instead of a RefPtr.
  • Reuse TRY_TO_UNWRAP_WITH_INTERFACE in EventTarget bindings.
8:35 AM Changeset in webkit [157225] by Csaba Osztrogonác
  • 12 edits in trunk/Source/WebKit2

Buildfix for non Mac platforms with enabled NetworkProcess
https://bugs.webkit.org/show_bug.cgi?id=121793

Reviewed by Anders Carlsson.

  • Shared/ShareableResource.cpp:
  • Shared/ShareableResource.h:
  • Shared/WebResourceBuffer.cpp:
  • Shared/WebResourceBuffer.h:
  • WebKit2Prefix.h:
  • WebProcess/Network/NetworkProcessConnection.cpp:
  • WebProcess/Network/NetworkProcessConnection.h:
  • WebProcess/Network/NetworkProcessConnection.messages.in:
  • WebProcess/Network/WebResourceLoader.cpp:
  • WebProcess/Network/WebResourceLoader.h:
  • WebProcess/Network/WebResourceLoader.messages.in:
8:01 AM Changeset in webkit [157224] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Make XPathGrammar.y bison3-friendly again after r157205
https://bugs.webkit.org/show_bug.cgi?id=122595

Patch by Sergio Correia <Sergio Correia> on 2013-10-10
Reviewed by Anders Carlsson.

No new tests, build fix.

  • xml/XPathGrammar.y: Replace YYLEX_PARAM with %lex-param, as the

former was removed in bison3.

7:51 AM Changeset in webkit [157223] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

SVGUseElement: Use iterative traversal to find disallowed elements.
<https://webkit.org/b/122596>

Reviewed by Antti Koivisto.

Rewrote subtreeContainsDisallowedElement() in SVGUseElement.cpp to
use iterative traversal with descendantsOfType<Element> instead of
recursing through the tree.

6:55 AM Changeset in webkit [157222] by akling@apple.com
  • 14 edits in trunk/Source/WebCore

Move RenderObject::layout() to RenderElement.
<https://webkit.org/b/122537>

Reviewed by Antti Koivisto.

RenderText will ASSERT_NOT_REACHED() in its layout(), so move this
to RenderElement. This allows us to use the fast firstChild()
instead of virtual dispatch.

The needsLayout() bit remains on RenderObject for now. Moving that
to RenderElement is a far more involved change.

6:42 AM Changeset in webkit [157221] by Chris Fleizach
  • 3 edits
    2 adds in trunk

AX: Crash at WebCore::accessibleNameForNode when visiting Facebook
https://bugs.webkit.org/show_bug.cgi?id=122572

Reviewed by Mario Sanchez Prada.

Source/WebCore:

Test: accessibility/aria-labeled-with-hidden-node.html

Handle the case where aria-labelledby references a non-rendered node.

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::accessibleNameForNode):

LayoutTests:

  • accessibility/aria-labeled-with-hidden-node-expected.txt: Added.
  • accessibility/aria-labeled-with-hidden-node.html: Added.
6:39 AM Changeset in webkit [157220] by berto@igalia.com
  • 2 edits in trunk/LayoutTests

Unreviewed gardening.

dom/xhtml/level2/html/HTMLInputElement20.xhtml no longer crashes.

  • platform/gtk/TestExpectations:
6:29 AM Changeset in webkit [157219] by zandobersek@gmail.com
  • 2 edits in trunk/Source/WebCore

REGRESSION(r157210): Crashes in WebCore::ScopedEventQueue::dispatchEvent for platforms using GCC
https://bugs.webkit.org/show_bug.cgi?id=122592

Reviewed by Gustavo Noronha Silva.

  • dom/ScopedEventQueue.cpp:

(WebCore::ScopedEventQueue::dispatchEvent): When calling EventDispatcher::dispatchEvent(), the GCC-compiled code
first creates a copy of the PassRefPtr<Event> object that's being passed into the method call. The copy will be used
in that method while the original is left with a null pointer. Only after that is the original queried for its pointer
while trying to get the Event's target, resulting in a crash due to calling the Event::target() on a null pointer.
To avoid it, pass a naked Event pointer to the method call. This will create a new PassRefPtr object without nullifying
the original one.

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

[GTK] Provide search functionality to MiniBrowser
https://bugs.webkit.org/show_bug.cgi?id=117631

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

Adds a search bar to MiniBrowser with the minimum functionality
and a new button to the toolbar for showing the new search
bar. Typical keyboard shortcuts are also added.

  • MiniBrowser/gtk/BrowserSearchBar.c: Added.

(doSearch):
(searchNext):
(searchPrevious):
(searchCloseButtonClickedCallback):
(searchEntryMenuIconPressedCallback):
(searchEntryClearIconReleasedCallback):
(searchEntryChangedCallback):
(searchEntryActivatedCallback):
(searchPrevButtonClickedCallback):
(searchNextButtonClickedCallback):
(searchMenuCheckButtonToggledCallback):
(browser_search_bar_init):
(browserSearchBarFinalize):
(browser_search_bar_class_init):
(browser_search_bar_new):
(browser_search_bar_add_accelerators):
(browser_search_bar_open):
(browser_search_bar_close):

  • MiniBrowser/gtk/BrowserSearchBar.h: Added.
  • MiniBrowser/gtk/BrowserWindow.c:

(webViewEnterFullScreen): Closes new search bar.
(webViewLeaveFullScreen): Opens new search bar if previously
visible.
(searchCallback): Added. Shows and hides the new search bar.
(browser_window_init): Added search button to the toolbar.
(browserWindowConstructed): Creates the new search bar.

  • MiniBrowser/gtk/GNUmakefile.am: Added new files to compilation.
5:27 AM Changeset in webkit [157217] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore/platform/gtk/po

Webkit - Updated Tamil translation
https://bugs.webkit.org/show_bug.cgi?id=120520

Patch by Shantha kumar <shkumar@redhat.com> on 2013-10-10
Reviewed by Gustavo Noronha Silva.

  • ta.po: updated.
5:19 AM Changeset in webkit [157216] by akling@apple.com
  • 13 edits in trunk/Source/WebCore

Use more Element iterators in SVG code.
<http://webkit.org/b/121127>

Reviewed by Antti Koivisto.

Use childrenOfType to iterate over only SVGElement (or even more
specific) children in a bunch of places.

Also auto-generate type helpers for SVGElement and SVGStopElement.

5:01 AM Changeset in webkit [157215] by akling@apple.com
  • 141 edits in trunk/Source

JS DOM wrappers' impl() functions should return references.
<https://webkit.org/b/122497>

Reviewed by Antti Koivisto.

JS DOM wrappers always have a corresponding WebCore object during
their lifetime, so make impl() return a reference.

4:17 AM Changeset in webkit [157214] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

Fix debug build after r157210
https://bugs.webkit.org/show_bug.cgi?id=122593

Patch by Sergio Correia <Sergio Correia> on 2013-10-10
Reviewed by Andreas Kling.

No new tests, build fix.

  • dom/EventContext.cpp:

(WebCore::TouchEventContext::handleLocalEvents): Fix ASSERT, now that
event is a reference instead of a pointer.

4:16 AM Changeset in webkit [157213] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Tighten some renderer access in Document.
<https://webkit.org/b/121865>

Reviewed by Antti Koivisto.

A bit of Node/Element and RenderObject/RenderElement tightening.

3:49 AM Changeset in webkit [157212] by akling@apple.com
  • 10 edits in trunk/Source

rangeOfContents() should take a Node&.
<https://webkit.org/b/122438>

Reviewed by Darin Adler.

All callers of rangeOfContents() either have a Node& already,
or do some kind of null-checking before calling it.

1:38 AM Changeset in webkit [157211] by svillar@igalia.com
  • 19 edits
    5 adds in trunk

[CSS Grid Layout] Implement support for grid-template
https://bugs.webkit.org/show_bug.cgi?id=103313

Reviewed by Dean Jackson.

Source/WebCore:

Based on Blink r153427, r155199 and r155712 by <jchaffraix@chromium.org>

Test: fast/css-grid-layout/grid-template-get-set.html

Recognize, parse, store and return properly the value of
grid-template. It required some extra parsing code because the
specs mandates to check that the defined grid areas are indeed
rectangular. Named grid areas are still not fully supported, will
be done in a follow up patch.

As validating involves building the grid areas a new CSSValue was
added to hold the computed value. Note that we have to track the
explicit size of the named grid areas as the named grid areas
(".") are not tracked in our HashMap of grid areas.

This change also involves moving GridCoordinate and GridSpan to a
separate file in order to share the code that describes the grid
area coordinates.

  • CMakeLists.txt: Added new files to the build.
  • GNUmakefile.list.am: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj: Ditto.
  • WebCore.vcxproj/WebCore.vcxproj.filters: Ditto.
  • WebCore.xcodeproj/project.pbxproj: Ditto.
  • css/CSSComputedStyleDeclaration.cpp:

(WebCore::ComputedStyleExtractor::propertyValue):

  • css/CSSGridTemplateValue.cpp: Added.

(WebCore::CSSGridTemplateValue::CSSGridTemplateValue):
(WebCore::stringForPosition):
(WebCore::CSSGridTemplateValue::customCSSText):

  • css/CSSGridTemplateValue.h: Added.

(WebCore::CSSGridTemplateValue::create):
(WebCore::CSSGridTemplateValue::~CSSGridTemplateValue):
(WebCore::CSSGridTemplateValue::gridAreaMap):
(WebCore::CSSGridTemplateValue::rowCount):
(WebCore::CSSGridTemplateValue::columnCount):
(WebCore::toCSSGridTemplateValue):

  • css/CSSParser.cpp:

(WebCore::CSSParser::parseValue):
(WebCore::CSSParser::parseGridTemplate): create the grid areas and
validate that they define rectangular sections.

  • css/CSSParser.h:
  • css/CSSPropertyNames.in: Added -webkit-grid-template.
  • css/CSSValue.cpp:

(WebCore::CSSValue::equals): add support for the new CSSGridTemplateValue.
(WebCore::CSSValue::cssText): Ditto.
(WebCore::CSSValue::destroy): Ditto.

  • css/CSSValue.h:

(WebCore::CSSValue::isGridTemplateValue):

  • css/StyleResolver.cpp:

(WebCore::StyleResolver::applyProperty):

  • rendering/RenderGrid.cpp:

(WebCore::RenderGrid::cachedGridCoordinate): Replaced RenderGrid::GridSpan by WebCore::GridSpan.
(WebCore::RenderGrid::resolveGridPositionsFromAutoPlacementPosition): Ditto.
(WebCore::RenderGrid::resolveGridPositionsFromStyle): Ditto.
(WebCore::RenderGrid::resolveGridPositionAgainstOppositePosition): Ditto.
(WebCore::RenderGrid::resolveNamedGridLinePositionAgainstOppositePosition): Ditto.
(WebCore::RenderGrid::resolveRowStartColumnStartNamedGridLinePositionAgainstOppositePosition): Ditto.
(WebCore::RenderGrid::resolveRowEndColumnEndNamedGridLinePositionAgainstOppositePosition): Ditto.

  • rendering/RenderGrid.h: Took GridSpan and GridCoordinate out.
  • rendering/style/GridCoordinate.h: Added.

(WebCore::GridSpan::create):
(WebCore::GridSpan::GridSpan):
(WebCore::GridSpan::operator==):
(WebCore::GridCoordinate::GridCoordinate):
(WebCore::GridCoordinate::operator==):
(WebCore::GridCoordinate::operator!=):

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

(WebCore::StyleGridData::StyleGridData):

  • rendering/style/StyleGridData.h:

(WebCore::StyleGridData::operator==):

LayoutTests:

From Blink r153427, r155199 and r155712 by <jchaffraix@chromium.org>

Added a test to verify that we properly recognize, parse, store
and return the value of grid-template.

  • fast/css-grid-layout/grid-template-get-set-expected.txt: Added.
  • fast/css-grid-layout/grid-template-get-set.html: Added.
1:19 AM Changeset in webkit [157210] by rniwa@webkit.org
  • 14 edits in trunk/Source/WebCore

Make EventDispatcher::dispatch comprehensible
https://bugs.webkit.org/show_bug.cgi?id=122588

Reviewed by Andreas Kling.

Merged EventDispatcher::dispatchEventAtCapturing, EventDispatcher::dispatchEventAtTarget,
EventDispatcher::dispatchEventAtBubbling, and EventDispatcher::dispatchEventPostProcess into EventDispatcher::dispatch,
and extracted static local callDefaultEventHandlersInTheBubblingOrder and dispatchEventInDOM out of it.

Also made handleLocalEvents of subclasses of EventContext and Node take Event& instead of Event*.

  • dom/EventContext.cpp: The following functions now take Event& instead of Event*.

(WebCore::EventContext::handleLocalEvents):
(WebCore::MouseOrFocusEventContext::handleLocalEvents):
(WebCore::TouchEventContext::handleLocalEvents):

  • dom/EventContext.h:
  • dom/EventDispatcher.cpp:

(WebCore::callDefaultEventHandlersInTheBubblingOrder): Extracted from EventDispatcher::dispatchEventPostProcess,
which is now merged into EventDispatcher::dispatch.
(WebCore::dispatchEventInDOM): Extracted out of EventDispatcher::dispatch, EventDispatcher::dispatchEventAtCapturing,
EventDispatcher::dispatchEventAtTarget and EventDispatcher::dispatchEventAtBubbling. This function is responsible for
dispatching the event for capturing, at the target, and then bubbling through the event path chain.
(WebCore::EventDispatcher::dispatch): EventDispatcher::dispatchEventPostProcess got merged into this. The calls to
dispatchEventAtCapturing, dispatchEventAtTarget, and dispatchEventAtBubbling are replaced by a single call to
dispatchEventInDOM.

  • dom/EventDispatcher.h:
  • dom/FocusEvent.h:

(WebCore::toFocusEvent): Added the version that takes a reference.

  • dom/MouseEvent.h:

(WebCore::toMouseEvent): Ditto.

  • dom/TouchEvent.h:

(WebCore::toTouchEvent): Ditto.

  • dom/Node.cpp:

(WebCore::Node::handleLocalEvents): Now takes Event& instead of Event*.

  • dom/Node.h:
  • dom/WindowEventContext.cpp:

(WebCore::WindowEventContext::handleLocalEvents): Ditto.

  • dom/WindowEventContext.h:
  • html/HTMLFormElement.cpp:

(WebCore::HTMLFormElement::handleLocalEvents): Ditto.

  • html/HTMLFormElement.h:
1:16 AM HaikuWebkit created by pulkomandy@gmail.com
1:03 AM WikiStart edited by pulkomandy@gmail.com
(diff)

Oct 9, 2013:

9:24 PM Changeset in webkit [157209] by fpizlo@apple.com
  • 27 edits
    4 adds in trunk/Source/JavaScriptCore

FTL should be able to do simple OSR exits using llvm.webkit.stackmap
https://bugs.webkit.org/show_bug.cgi?id=122538

Reviewed by Oliver Hunt.

This gives the FTL the ability to OSR exit using the llvm.webkit.stackmap intrinsic.

  • The FTL compiles all OSR exit calls as calls to llvm.webkit.stackmap with a unique ID, passing a requested size that is big enough for own jump replacement.


  • After LLVM compilation, we parse the new LLVM stackmap section.


  • For all llvm.webkit.stackmaps that we used for OSR exits, we do a jumpReplacement, which targets exit thunks that we generate.


  • If an exit thunk fires, it causes JSC to compile an exit off-ramp that uses a combination of the JSC-internal OSR exit accounting (FTL::ExitValue and friends) and LLVM stackmap's accounting of where data actually ended up (register, indirect, constant) to reconstruct bytecode state.


This still has shortcomings; for example it cannot handle XMM or YMM registers. Handling
YMM registers will require adding some basic YMM support to our assemblers - really we
just need the ability to move a YMM's value into a GPR.

This patch preserves all of the old, intrinsic-less, FTL OSR exit support. Hence it
manages to pass all existing FTL tests even despite its incompleteness. I think that's
the right way to go since this is already a big patch, and anyway it would be great to
keep the intrinsic-less FTL OSR exit support so long as the LLVM side of this hasn't
landed.

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • assembler/AbstractMacroAssembler.h:

(JSC::AbstractMacroAssembler::firstRegister):
(JSC::AbstractMacroAssembler::lastRegister):

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::isStackRelated):
(JSC::MacroAssembler::firstRealRegister):
(JSC::MacroAssembler::nextRegister):
(JSC::MacroAssembler::secondRealRegister):

  • assembler/MacroAssemblerX86Common.h:
  • assembler/X86Assembler.h:

(JSC::X86Assembler::firstRegister):
(JSC::X86Assembler::lastRegister):

  • dfg/DFGPlan.cpp:

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

  • ftl/FTLCArgumentGetter.cpp:

(JSC::FTL::CArgumentGetter::loadNextAndBox):

  • ftl/FTLCArgumentGetter.h:

(JSC::FTL::CArgumentGetter::loadNextDoubleIntoGPR):

  • ftl/FTLCompile.cpp:

(JSC::FTL::mmAllocateCodeSection):
(JSC::FTL::mmAllocateDataSection):
(JSC::FTL::dumpDataSection):
(JSC::FTL::fixFunctionBasedOnStackMaps):
(JSC::FTL::compile):

  • ftl/FTLExitThunkGenerator.cpp:

(JSC::FTL::ExitThunkGenerator::emitThunk):
(JSC::FTL::ExitThunkGenerator::emitThunks):

  • ftl/FTLExitThunkGenerator.h:
  • ftl/FTLExitValue.h:

(JSC::FTL::ExitValue::isInJSStackSomehow):
(JSC::FTL::ExitValue::valueFormat):

  • ftl/FTLFail.cpp:

(JSC::FTL::fail):

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

(JSC::FTL::generateExitThunks):
(JSC::FTL::LowerDFGToLLVM::LowerDFGToLLVM):
(JSC::FTL::LowerDFGToLLVM::appendOSRExit):
(JSC::FTL::LowerDFGToLLVM::emitOSRExitCall):
(JSC::FTL::LowerDFGToLLVM::linkOSRExitsAndCompleteInitializationBlocks):

  • ftl/FTLOSRExit.h:
  • ftl/FTLOSRExitCompilationInfo.h:

(JSC::FTL::OSRExitCompilationInfo::OSRExitCompilationInfo):

  • ftl/FTLOSRExitCompiler.cpp:

(JSC::FTL::compileStubWithOSRExitStackmap):
(JSC::FTL::compileStubWithoutOSRExitStackmap):
(JSC::FTL::compileFTLOSRExit):

  • ftl/FTLSaveRestore.cpp: Added.

(JSC::FTL::bytesForGPRs):
(JSC::FTL::requiredScratchMemorySizeInBytes):
(JSC::FTL::offsetOfGPR):
(JSC::FTL::saveAllRegisters):
(JSC::FTL::restoreAllRegisters):

  • ftl/FTLSaveRestore.h: Added.
  • ftl/FTLStackMaps.cpp: Added.

(JSC::FTL::readObject):
(JSC::FTL::StackMaps::Constant::parse):
(JSC::FTL::StackMaps::Constant::dump):
(JSC::FTL::StackMaps::Location::parse):
(JSC::FTL::StackMaps::Location::dump):
(JSC::FTL::StackMaps::Location::involvesGPR):
(JSC::FTL::StackMaps::Location::isGPR):
(JSC::FTL::StackMaps::Location::gpr):
(JSC::FTL::StackMaps::Location::restoreInto):
(JSC::FTL::StackMaps::Record::parse):
(JSC::FTL::StackMaps::Record::dump):
(JSC::FTL::StackMaps::parse):
(JSC::FTL::StackMaps::dump):
(JSC::FTL::StackMaps::dumpMultiline):
(JSC::FTL::StackMaps::getRecordMap):
(WTF::printInternal):

  • ftl/FTLStackMaps.h: Added.
  • ftl/FTLState.h:
  • ftl/FTLThunks.cpp:

(JSC::FTL::osrExitGenerationThunkGenerator):

  • ftl/FTLValueFormat.cpp:

(JSC::FTL::reboxAccordingToFormat):

  • ftl/FTLValueFormat.h:
  • runtime/DataView.cpp:

(JSC::DataView::create):

  • runtime/DataView.h:

(JSC::DataView::read):

  • runtime/Options.h:
9:24 PM Changeset in webkit [157208] by fpizlo@apple.com
  • 4 edits in trunk/Source/WTF

FTL should be able to do simple OSR exits using llvm.webkit.stackmap
https://bugs.webkit.org/show_bug.cgi?id=122538

Reviewed by Oliver Hunt.

  • wtf/PrintStream.cpp:

(WTF::printInternal):

  • wtf/PrintStream.h:
  • wtf/RefCountedArray.h:

(WTF::RefCountedArray::byteSize):

8:26 PM Changeset in webkit [157207] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Another build fix after r157204.

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatch):

8:19 PM Changeset in webkit [157206] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix after r157204.

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatch):

7:46 PM Changeset in webkit [157205] by Darin Adler
  • 22 edits in trunk/Source/WebCore

Use unique_ptr instead of deleteAllValues in XPath
https://bugs.webkit.org/show_bug.cgi?id=121082

Reviewed by Anders Carlsson.

  • dom/Attr.h: Made the namespaceURI function public so it can be called by

code in XPath. Since the class is FINAL, calls won't do virtual dispatch.

  • xml/XPathExpression.cpp:

(WebCore::XPathExpression::XPathExpression): Added. Use std::move.
(WebCore::XPathExpression::createExpression): Use the new Parser::parseStatement
and more std::move.
(WebCore::XPathExpression::~XPathExpression): Removed now-unneeded delete.

  • xml/XPathExpression.h: Removed unused create function. Use std::unique_ptr.
  • xml/XPathExpressionNode.cpp:

(WebCore::XPath::Expression::evaluationContext): Use NeverDestroyed instead of
DEFINE_STATIC_LOCAL.
(WebCore::XPath::Expression::setSubexpressions): Added. Used to set all the
subexpressions at once rather than adding one at a time.

  • xml/XPathExpressionNode.h: Use plain unsigned instead of unsigned long.

Eliminated the ParseNode class, used only by the parser to delete objects,
which we now do with %destructor. Made more functions protected. Fixed the
capitalization of the word "subexpression". Made m_subexpressions be a Vector
of std::unique_ptr.

  • xml/XPathFunctions.cpp: Marked all the classes FINAL and all their virtual

functions OVERRIDE. Reduced some of the boilerplate.
(WebCore::XPath::Function::setArguments): Passed in the name so we don't have
to store the function names in all the function objects.
(WebCore::XPath::FunId::evaluate): Use std::move instead of Value::adopt.
(WebCore::XPath::FunLocalName::evaluate): Use emptyString instead of "".
(WebCore::XPath::FunNamespaceURI::evaluate): Ditto.
(WebCore::XPath::FunName::evaluate): Ditto.
(WebCore::XPath::FunSubstringBefore::evaluate): Ditto.
(WebCore::XPath::FunSubstringAfter::evaluate): Ditto.
(WebCore::XPath::FunSubstring::evaluate): Ditto.
(WebCore::XPath::FunLang::evaluate): Use Value(false) so we can make the
constructor that takes a boolean explicit.
(WebCore::XPath::FunFalse::evaluate): Ditto.
(WebCore::XPath::populateFunctionMap): Changed idiom slightly to match other
maps we set up.
(WebCore::XPath::Function::create): Refactored createFunction into three
member functions of this name.

  • xml/XPathFunctions.h: Made all the Function members private or protected

except for Function::create.

  • xml/XPathGrammar.y: Changed the parser to use a reference instead of

a pointer, and to pass the reference through to yylex as well. Break up
the union into pieces and add %destructor as needed to make sure everything
gets deallocated if parsing fails. Added a new top level rule "Top" so that
we would not try to set the parse result multiple times during parsing.
Call setParseResult instead of setting m_topExpr directly. Use std::unique_ptr
to adopt pointers from the union. Removed all the register/unregister calls
that used to be used to manage storage. Also changed the four different node
types to be separate tokens instead of using string matching at this level
for them.

  • xml/XPathNodeSet.cpp:

(WebCore::XPath::NodeSet::sort): Removed const_cast since m_isSorted and
m_nodes are now both marked mutable. Also set m_isSorted after sorting; this
was an oversight that hurt performance before.
(WebCore::XPath::NodeSet::traversalSort): Ditto.
(WebCore::XPath::NodeSet::firstNode): Use nullptr.
(WebCore::XPath::NodeSet::anyNode): Ditto.

  • xml/XPathNodeSet.h: Removed unneeded extra includes. Removed the

WTF_MAKE_FAST_ALLOCATED for NodeSet since we never allocate these on the heap.
Added a constructor that takes a single node. Deleted the swap function, since
we now move instead of swap. Deleted the append function that takes a raw Node*,
since calling the PassRefPtr<Node> overload does the same thing. Removed the
unused reverse function. Marked both m_isSorted and m_nodes mutable so the
sort function can be const.

  • xml/XPathParser.cpp: Moved the Token struct in here instead of the header.

(WebCore::XPath::populateAxisNamesMap):Renamed to match our normal naming scheme,
and changed to use add instead of set, use WTF_ARRAY_LENGTH, and not use a typedef.
(WebCore::XPath::parseAxisName): Related style changes, including renaming to
better reflect the way this works with a boolean.
(WebCore::XPath::Parser::nextTokenInternal): Updated to call parseAxisName,
and to produce four separate tokens for the four node type functions.
(WebCore::XPath::Parser::nextToken): Renamed local variable.
(WebCore::XPath::Parser::Parser): Made this a real constructor that takes arguments
and initializes all the fields. Deleted the unneeded reset function.
(WebCore::XPath::Parser::lex): Changed to take an argument of an appropriate type
instead of casting from void*. Also changed the string code to leak a StringImpl,
which is now what the grammar code expects.
(WebCore::XPath::Parser::expandQualifiedName): Renamed from expandQName. Changed
to set m_sawNamespaceError instead of relying on code in the grammar to do it.
(WebCore::XPath::Parser::parseStatement): Removed most of the code in this function.
Changed to a much simpler model. Also made this a static member function so it
takes care of creating the parser itself and does not need to call reset. Also
changed return value to be a std::unique_ptr to make ownership more clear.

  • xml/XPathParser.h: Added a declaration of YYSTYPE. Removed unneeded forward

declarations and moved Token into the cpp file. Deleted most public functions,
leaving only parseStatement, the entry point, and the three functions needed by
the grammar, lex, expandQualifiedName, and setParseResult.

  • xml/XPathPath.cpp:

(WebCore::XPath::Filter::Filter): Move in the arguments instead of copying them.
(WebCore::XPath::Filter::evaluate): Updated for name and type changes.
(WebCore::XPath::LocationPath::LocationPath): Ditto.
(WebCore::XPath::LocationPath::evaluate): Ditto. Also use std::move instead of
Value::adopt and instead of swap.
(WebCore::XPath::LocationPath::appendStep): Changed to take ownership of a
unique_ptr.
(WebCore::XPath::LocationPath::prependStep): Ditto. Renamed from insertFirstStep.
(WebCore::XPath::Path::Path): Move in the arguments.

  • xml/XPathPath.h: Removed unneeded includes. Changed arugument types to use

std::unique_ptr to pass ownership in. Added override to all virtual functions.
Changed data members to use std::unique_ptr.

  • xml/XPathPredicate.cpp:

(WebCore::XPath::StringExpression::StringExpression): Use move.
(WebCore::XPath::Negative::Negative): Added.
(WebCore::XPath::Negative::evaluate): Updated for name changes.
(WebCore::XPath::NumericOp::NumericOp): Use move.
(WebCore::XPath::NumericOp::evaluate): Tweak formatting.
(WebCore::XPath::EqTestOp::EqTestOp): Use move.
(WebCore::XPath::EqTestOp::evaluate): Updated for name changes.
(WebCore::XPath::LogicalOp::LogicalOp): Use move.
(WebCore::XPath::LogicalOp::shortCircuitOn): Made shorter.
(WebCore::XPath::LogicalOp::evaluate): Updated for name changes.
(WebCore::XPath::Union::Union): Added.
(WebCore::XPath::Union::evaluate): Updated for name changes.
(WebCore::XPath::evaluatePredicate): Updated for name changes, to use
ASCIILiteral, and to be a free function that takes an expression.
(WebCore::XPath::predicateIsContextPositionSensitive): Added.
Replaces the Predicate::isContextPositionSensitive function.

  • xml/XPathPredicate.h: Made all the classes FINAL and added a lot of OVERRIDE.

Added a constructor for Negative and Union. Got rid of the Predicate class and
instead provided two functions that operate on an Expression.

  • xml/XPathStep.cpp:

(WebCore::XPath::Step::Step): Use move instea dof copying.
(WebCore::XPath::Step::~Step): Removed calls to deleteAllValues.
(WebCore::XPath::Step::optimize): Use move instead of swap and copy. Also
operate directly on the data members of the node test instead of using functions
that just return references to those data members.
(WebCore::XPath::optimizeStepPair): Use references instead of pointers, move
instead of swap, and early return instead of nested if statements.
(WebCore::XPath::Step::predicatesAreContextListInsensitive): Use references.
(WebCore::XPath::Step::evaluate): Use references instead of pointers and move
instead of swap.
(WebCore::XPath::nodeMatchesBasicTest): Use references instead of pointers and
more specific types when possible.
(WebCore::XPath::nodeMatches): Ditto.
(WebCore::XPath::Step::nodesInAxis): Use references instead of pointers. Added
braces to match style. Use words instead of letters for local variable names.

  • xml/XPathStep.h: Make almost everything in NodeTest private since callers

just set these up and Step is what actually uses them. Changed the predicate
vectors to be vectors of Predicate instead of Predicate*, since a Predicate
is just a wrapper around a single std::unique_ptr<Expression>. Changed to use
move instead of copy when making a Step and to use references instead of pointers.

  • xml/XPathValue.cpp: Use std::numeric_limits explicitly instead of using using.

Got rid of Value::adopt.
(WebCore::XPath::Value::toNodeSet): Use NeverDestroyed instead of DEFINE_STATE_LOCAL.
Updated for name changes.
(WebCore::XPath::Value::modifiableNodeSet): Ditto.
(WebCore::XPath::Value::toBoolean): Ditto.
(WebCore::XPath::Value::toNumber): Ditto.
(WebCore::XPath::Value::toString): Ditto. Use ASCIILiteral.

  • xml/XPathValue.h: Moved ValueData class inside the Value class and renamed

it Value::Data. Removed fancy trick that avoids turning pointers into bool, and
just take the risk. Made many, but not all, of the Value constructors explicit
since we normally are explicit at call sites. Removed unneeded unsigned long
overload of the constructor. Changed the NodeSet version of the constructor to
use std::move and use that instead of AdoptTag.

6:59 PM Changeset in webkit [157204] by rniwa@webkit.org
  • 2 edits in trunk/Source/WebCore

Build fix. Add back the missing call to EventRetargeter::adjustForTouchEvent.

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatch):

6:44 PM Changeset in webkit [157203] by rniwa@webkit.org
  • 20 edits
    2 deletes in trunk/Source/WebCore

EventDispatchMediator is goner
https://bugs.webkit.org/show_bug.cgi?id=122581

Reviewed by Antti Koivisto.

Killed the death.

  • CMakeLists.txt:
  • GNUmakefile.list.am:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.vcxproj/WebCore.vcxproj.filters:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/DOMAllInOne.cpp:
  • dom/Element.cpp:

(WebCore::Element::dispatchWheelEvent):
(WebCore::Element::dispatchKeyEvent):
(WebCore::Element::dispatchFocusEvent):
(WebCore::Element::dispatchBlurEvent):

  • dom/EventDispatchMediator.cpp: Removed.
  • dom/EventDispatchMediator.h: Removed.
  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent):
(WebCore::EventDispatcher::dispatchScopedEvent):

  • dom/EventDispatcher.h:
  • dom/KeyboardEvent.h:
  • dom/MouseEvent.h:
  • dom/Node.cpp:

(WebCore::Node::dispatchScopedEvent):
(WebCore::Node::dispatchEvent):
(WebCore::Node::dispatchGestureEvent):
(WebCore::Node::dispatchTouchEvent):
(WebCore::Node::dispatchUIRequestEvent):

  • dom/Node.h:
  • dom/ScopedEventQueue.cpp:

(WebCore::ScopedEventQueue::~ScopedEventQueue):
(WebCore::ScopedEventQueue::enqueueEvent):
(WebCore::ScopedEventQueue::dispatchAllEvents):
(WebCore::ScopedEventQueue::dispatchEvent):

  • dom/ScopedEventQueue.h:
  • dom/TouchEvent.cpp:
  • dom/TouchEvent.h:
  • dom/UIEvent.h:
  • dom/WheelEvent.h:
6:37 PM Changeset in webkit [157202] by akling@apple.com
  • 2 edits in trunk/Source/WebCore

Kill some RenderObject::firstChildSlow/lastChildSlow usage.
<https://webkit.org/b/122582>

Reviewed by Antti Koivisto.

Use tighter typing in some random places to flush out unnecessary use
of virtual first/last child getters on RenderObject.

There are more of these opportunities, but I left them untouched to
avoid snowballing this patch.

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

webkit-patch failure-reason fails with UnicodeDecodeError when name has non-ascii characters
https://bugs.webkit.org/show_bug.cgi?id=122552

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-10-09
Reviewed by Darin Adler.

  • Scripts/webkitpy/common/checkout/commitinfo.py:

(CommitInfo.blame_string): ensure objects are made into unicode strings, not regular ones that
will cause UnicodeDecodeError for non-ascii characters.

6:23 PM Changeset in webkit [157200] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Fix some bad paths in the Xcode project
https://bugs.webkit.org/show_bug.cgi?id=122583

Reviewed by Mark Rowe.

Fix paths for some storage quota-related files, and remove
reference to mediaControlsQuickTime.css which was removed in r156546.

  • WebCore.xcodeproj/project.pbxproj:
6:17 PM Changeset in webkit [157199] by Alexandru Chiculita
  • 7 edits
    16 adds in trunk

Web Inspector: [CSS Regions] Display the correct fragment boxes for content inside flow threads
https://bugs.webkit.org/show_bug.cgi?id=122291

Reviewed by Timothy Hatcher.

Source/WebCore:

Tests: inspector/elements/highlight-regions-flow-horiz-bt.html

inspector/elements/highlight-regions-flow-transform-horiz-bt.html
inspector/elements/highlight-regions-flow-transform-vert-lr.html
inspector/elements/highlight-regions-flow-transform-vert-rl.html
inspector/elements/highlight-regions-flow-transform.html
inspector/elements/highlight-regions-flow-vert-lr.html
inspector/elements/highlight-regions-flow-vert-rl.html
inspector/elements/highlight-regions-flow.html

Nodes inside a RenderFlowThread can be split across multiple regions. This patch adds the required
code to compute "fragments" for each region. Each fragment will display its own label.

There are a couple of changes:

  1. The node highlight object now has a "scroll" property to hold the main view's scroll offset.
  2. There's a "fragment" array to get a list of quads for each renderer fragment. Renderers outside

RenderFlowThreads will just have one fragment.

  1. ElementInfo now has two more properties: "regionFlowInfo" (renamed from former flowInfo) and "contentFlowInfo".

If the renderer is a RenderRegion it will have a regionFlowInfo. If the renderer is inside a RenderFlowThread
then it will have a "contentFlowInfo".

  • inspector/InspectorOverlay.cpp:

(WebCore::InspectorOverlay::getHighlight): It should now take a "region" parameter to customize the output for a specific
containing region.
(WebCore::buildObjectForHighlight):
(WebCore::buildObjectForCSSRegionContentClip): We need to know how to clip the fragments inside regions.
(WebCore::buildObjectForRendererFragments): Extracted code from buildObjectForHighlight and added
the new regions lookup code.
(WebCore::buildObjectForElementInfo): Extracted from buildObjectForHighlight.
(WebCore::InspectorOverlay::buildObjectForHighlightedNode):
(WebCore::InspectorOverlay::drawQuadHighlight):

  • inspector/InspectorOverlayPage.css: There can be multiple labels on screen at once, so I've

created the #element-title-template element that we clone for each label. .element-title-container is now
holding all the .element-title elements, so that we can remove them all at once.
(.element-title-container):
(.element-title):
(#element-title-template):
(.tag-name):
(.node-id):
(.class-name):

  • inspector/InspectorOverlayPage.html:
  • inspector/InspectorOverlayPage.js:

(reset):
(_toggleOptionalValue):
(_createElementTitle): Creates an element populated with data read from elementInfo.
(_drawElementTitle): Added code to create more labels for multiple fragments.
(_drawRegionsHighlight):
(_drawFragmentHighlight):
(drawNodeHighlight): Consolidated the scroll property into a canvas.transform.

LayoutTests:

Added tests to check the result of the InspectorOverlay when it inspects nodes inside RenderFlowThreads.

  • http/tests/inspector/elements-test.js:
  • inspector/elements/highlight-regions-flow-expected.txt: Added.
  • inspector/elements/highlight-regions-flow-horiz-bt-expected.txt: Added.
  • inspector/elements/highlight-regions-flow-horiz-bt.html: Added.
  • inspector/elements/highlight-regions-flow-transform-expected.txt: Added.
  • inspector/elements/highlight-regions-flow-transform-horiz-bt-expected.txt: Added.
  • inspector/elements/highlight-regions-flow-transform-horiz-bt.html: Added.
  • inspector/elements/highlight-regions-flow-transform-vert-lr-expected.txt: Added.
  • inspector/elements/highlight-regions-flow-transform-vert-lr.html: Added.
  • inspector/elements/highlight-regions-flow-transform-vert-rl-expected.txt: Added.
  • inspector/elements/highlight-regions-flow-transform-vert-rl.html: Added.
  • inspector/elements/highlight-regions-flow-transform.html: Added.
  • inspector/elements/highlight-regions-flow-vert-lr-expected.txt: Added.
  • inspector/elements/highlight-regions-flow-vert-lr.html: Added.
  • inspector/elements/highlight-regions-flow-vert-rl-expected.txt: Added.
  • inspector/elements/highlight-regions-flow-vert-rl.html: Added.
  • inspector/elements/highlight-regions-flow.html: Added.
5:53 PM Changeset in webkit [157198] by Simon Fraser
  • 2 edits in trunk/Source/WebCore

Layout assertion failure in WebCore::RenderView::paint
https://bugs.webkit.org/show_bug.cgi?id=121925

Reviewed by Tim Horton.

This fixes the assertion seen when running WK2 API tests.

If RenderLayerCompositor::flushPendingLayerChanges() was called before
the root layer was attached, it would set m_shouldFlushOnReattach
to do the flush later, after attaching (bypassing the runloop observer
that updated layout if necessary).

This could cause us to get to a CA commit without having updated
layout, hence the assertion.

Fix by having attachRootLayer() schedule a layer flush, rather than doing
one right away.

  • rendering/RenderLayerCompositor.cpp:

(WebCore::RenderLayerCompositor::attachRootLayer):

5:35 PM Changeset in webkit [157197] by Bem Jones-Bey
  • 9 edits in trunk/Source/WebCore

Move float logical location/dimension methods to RenderBlockFlow
https://bugs.webkit.org/show_bug.cgi?id=122282

Reviewed by David Hyatt.

I recently moved the logical location and dimension methods from
RenderBlock to FloatingObject. This made it so that the methods needed
to take in the horizontal writing mode of the FloatingObject's
container in order to do their thing. When looking into how to fix
this, I came to understand why RenderBlock has methods to determine
the logical location and dimensions of its children, when the children
themselves have those methods: the methods on RenderBlock are for
determining the logical value in the writing mode of that RenderBlock,
and the method on the child is for determining the logical value in
the writing mode of the child.

Since the floating object list has moved from RenderBlock to
RenderBlockFlow, this change moves the logical dimension methods from
FloatingObject to RenderBlockFlow.

No new tests, no new behavior.

  • rendering/FloatingObjects.cpp:

(WebCore::ComputeFloatOffsetAdapter::ComputeFloatOffsetAdapter):
(WebCore::FloatingObjects::FloatingObjects):
(WebCore::::updateOffsetIfNeeded):
(WebCore::::collectIfNeeded):
(WebCore::::getHeightRemaining):

  • rendering/FloatingObjects.h:
  • rendering/LineWidth.cpp:

(WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::clearFloats):
(WebCore::RenderBlockFlow::repaintOverhangingFloats):
(WebCore::RenderBlockFlow::insertFloatingObject):
(WebCore::RenderBlockFlow::removeFloatingObject):
(WebCore::RenderBlockFlow::removeFloatingObjectsBelow):
(WebCore::RenderBlockFlow::computeLogicalLocationForFloat):
(WebCore::RenderBlockFlow::positionNewFloats):
(WebCore::RenderBlockFlow::nextFloatLogicalBottomBelow):
(WebCore::RenderBlockFlow::lowestFloatLogicalBottom):
(WebCore::RenderBlockFlow::addOverhangingFloats):
(WebCore::RenderBlockFlow::hasOverhangingFloat):
(WebCore::RenderBlockFlow::addIntrudingFloats):

  • rendering/RenderBlockFlow.h:

(WebCore::RenderBlockFlow::logicalTopForFloat):
(WebCore::RenderBlockFlow::logicalBottomForFloat):
(WebCore::RenderBlockFlow::logicalLeftForFloat):
(WebCore::RenderBlockFlow::logicalRightForFloat):
(WebCore::RenderBlockFlow::logicalWidthForFloat):
(WebCore::RenderBlockFlow::logicalHeightForFloat):
(WebCore::RenderBlockFlow::logicalSizeForFloat):
(WebCore::RenderBlockFlow::pixelSnappedLogicalTopForFloat):
(WebCore::RenderBlockFlow::pixelSnappedLogicalBottomForFloat):
(WebCore::RenderBlockFlow::pixelSnappedLogicalLeftForFloat):
(WebCore::RenderBlockFlow::pixelSnappedLogicalRightForFloat):
(WebCore::RenderBlockFlow::setLogicalTopForFloat):
(WebCore::RenderBlockFlow::setLogicalLeftForFloat):
(WebCore::RenderBlockFlow::setLogicalHeightForFloat):
(WebCore::RenderBlockFlow::setLogicalWidthForFloat):

  • rendering/RenderBlockLineLayout.cpp:

(WebCore::RenderBlockFlow::adjustLogicalLineTopAndLogicalHeightIfNeeded):
(WebCore::RenderBlockFlow::checkPaginationAndFloatsAtEndLine):
(WebCore::updateSegmentsForShapes):
(WebCore::LineBreaker::nextSegmentBreak):
(WebCore::RenderBlockFlow::positionNewFloatOnLine):

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):

  • rendering/shapes/ShapeOutsideInfo.h:
5:29 PM Changeset in webkit [157196] by rniwa@webkit.org
  • 5 edits in trunk/Source/WebCore

Remove MouseEventDispatchMediator
https://bugs.webkit.org/show_bug.cgi?id=122580

Reviewed by Antti Koivisto.

Removed. Will remove EventDispatchMediator next.

  • dom/Element.cpp:

(WebCore::Element::dispatchMouseEvent):

  • dom/MouseEvent.cpp:
  • dom/MouseEvent.h:
  • dom/Node.cpp:

(WebCore::Node::dispatchEvent):
(WebCore::Node::dispatchTouchEvent):

4:49 PM Changeset in webkit [157195] by rniwa@webkit.org
  • 11 edits in trunk/Source/WebCore

Remove all subclasses of EventDispatchMediator except MouseEventDispatchMediator
https://bugs.webkit.org/show_bug.cgi?id=122579

Reviewed by Antti Koivisto.

Removed UIRequestEventDispatchMediator, GestureEventDispatchMediator, KeyboardEventDispatchMediator,
and WheelEventDispatchMediator. Moved the code in the respective mediateAndDispatchEvent functions
to their respective dispatch*Event functions in Node.cpp and Element.cpp.

  • Modules/indieui/UIRequestEvent.cpp:

(WebCore::UIRequestEvent::eventInterface):

  • Modules/indieui/UIRequestEvent.h:
  • dom/Element.cpp:

(WebCore::deltaMode):
(WebCore::Element::dispatchWheelEvent):
(WebCore::Element::dispatchKeyEvent):

  • dom/GestureEvent.cpp:
  • dom/GestureEvent.h:
  • dom/KeyboardEvent.cpp:
  • dom/KeyboardEvent.h:
  • dom/Node.cpp:

(WebCore::Node::dispatchGestureEvent):
(WebCore::Node::dispatchUIRequestEvent):

  • dom/WheelEvent.cpp:
  • dom/WheelEvent.h:
4:03 PM Changeset in webkit [157194] by ap@apple.com
  • 2 edits in trunk/Tools

Would like a link to dashboard from build.webkit.org main page
https://bugs.webkit.org/show_bug.cgi?id=122577

Reviewed by Tim Hatcher.

  • BuildSlaveSupport/build.webkit.org-config/templates/root.html: Added.
3:57 PM Changeset in webkit [157193] by fpizlo@apple.com
  • 2 edits in trunk/Source/JavaScriptCore

Minor clean-ups in the JSC Xcode project.

Rubber stamped by Mark Rowe.

  • When we copy the jsc binary into the framework, $(BUILT_PRODUCTS_DIR)/JavaScriptCore.framework/Resources/jsc is the *output* file not the input file. The input file is $(BUILT_PRODUCTS_DIR)/jsc.


  • Correct capitalization of "JavaScriptcore.framework" in a comment in a shell script in the project.
3:54 PM Changeset in webkit [157192] by Bem Jones-Bey
  • 7 edits in trunk

[CSS Shapes] Lines that don't intersect shape-outside should ignore both left and right margins
https://bugs.webkit.org/show_bug.cgi?id=122570

Reviewed by Alexandru Chiculita.

Source/WebCore:

Due to an oversight, the left margin on left floats and the right
margin on right floats was having an effect on lines that did not
intersect the shape (but did intersect the margin box of the float).
By the spec, lines that do not intersect the shape should act as if
the float isn't there, so those margins should have no effect on
those lines. This patch fixes this.

No new tests, it is covered by the existing tests now that they have
been fixed to have the proper behavior.

  • rendering/shapes/ShapeOutsideInfo.cpp:

(WebCore::ShapeOutsideInfo::updateDeltasForContainingBlockLine):

LayoutTests:

Update tests to work with the proper behavior for margins. Yes, the
tests were not correct before.

  • csswg/contributors/adobe/submitted/shapes/shape-outside/resources/w3c-import.log:
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-000.html:
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-007.html:
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-margin-009.html:
  • csswg/contributors/adobe/submitted/shapes/shape-outside/w3c-import.log:
  • fast/shapes/shape-outside-floats/shape-outside-floats-different-writing-modes.html:
3:39 PM Changeset in webkit [157191] by Brent Fulgham
  • 2 edits in trunk/Tools

[Win] Check for MathML fonts and warn user if they are missing.
https://bugs.webkit.org/show_bug.cgi?id=122568

Reviewed by Tim Horton.

  • Scripts/webkitdirs.pm:

(checkRequiredSystemConfig): Use common gperf/bison/flex tests, rather than
Windows-specific code I added previously.
(fontExists): Added
(checkInstalledTools): Add check for MathML fonts.

3:32 PM Changeset in webkit [157190] by ap@apple.com
  • 3 edits in trunk/Tools

http://build.webkit.org/dashboard/ doesn't link to webkitpy failures
https://bugs.webkit.org/show_bug.cgi?id=122471

Reviewed by Tim Hatcher.

Added links to webkitpy, webkitperl and bindings-tests results.

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

(Buildbot.prototype.apiTestResultsURLForIteration):
(Buildbot.prototype.webkitpyTestResultsURLForIteration):
(Buildbot.prototype.webkitperlTestResultsURLForIteration):
(Buildbot.prototype.bindingsTestResultsURLForIteration):

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

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):

3:03 PM Changeset in webkit [157189] by ap@apple.com
  • 3 edits in trunk/Tools

Move some functions from WebKitBuildbot to Buildbot class.

Suggested by Tim Hatcher.

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

(Buildbot.prototype.javascriptTestResultsURLForIteration):
(Buildbot.prototype.apiTestResultsURLForIteration):

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

(WebKitBuildbot.prototype.layoutTestResultsURLForIteration):

2:58 PM Changeset in webkit [157188] by ap@apple.com
  • 3 edits in trunk/Tools

Add API tests to the Dashbord page.

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

Patch by Timothy Hatcher <timothy@apple.com> on 2013-10-09
Reviewed by Timothy Hatcher.

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

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):

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

(WebKitBuildbot.prototype.apiTestResultsURLForIteration):

2:56 PM Changeset in webkit [157187] by timothy@apple.com
  • 3 edits in trunk/Tools

Add API tests to the Dashbord page.

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

Reviewed by Timothy Hatcher.

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

(BuildbotTesterQueueView.prototype.update.appendBuilderQueueStatus):

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

(WebKitBuildbot.prototype.apiTestResultsURLForIteration):

2:45 PM Changeset in webkit [157186] by Bem Jones-Bey
  • 5 edits
    8 adds in trunk

[CSS Shapes] Clip shape-outside to the bottom of the margin box
https://bugs.webkit.org/show_bug.cgi?id=122562

Reviewed by Alexandru Chiculita.

Source/WebCore:

The spec says that a shape-outside shape must be clipped to the
margin box. This implements clipping the bottom of the shape to the
bottom of the margin box.

Test: csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-000.html

csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001.html
csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-002.html
csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003.html

  • rendering/RenderBlockFlow.cpp:

(WebCore::RenderBlockFlow::nextFloatLogicalBottomBelow):

LayoutTests:

Test that the shape is properly clipped to the bottom of the float.

  • csswg/contributors/adobe/submitted/shapes/shape-outside/resources/w3c-import.log:
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-000-expected.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-000.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001-expected.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-001.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-002-expected.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-002.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003-expected.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/shape-outside-floats-clipped-003.html: Added.
  • csswg/contributors/adobe/submitted/shapes/shape-outside/w3c-import.log:
2:34 PM Changeset in webkit [157185] by timothy@apple.com
  • 2 edits in trunk/Tools

Attempt to fix faulty Dashboard iteration updating by always rebuilding test result objects.

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

Reviewed by Alexey Proskuryakov.

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

(BuildbotIteration.prototype.update):

2:01 PM Changeset in webkit [157184] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

[CoordinatedGraphics] ASSERTION FAILED: !m_flushingLayers (after r156291)
https://bugs.webkit.org/show_bug.cgi?id=122016

Patch by Sergio Correia <Sergio Correia> on 2013-10-09
Reviewed by Noam Rosenthal.

To prevent calling scheduleLayerFlush() inside flushCompositingState(),
we now only call m_client->notifyFlushRequired() - which will trigger
scheduleLayerFlush() - if we are not already flushing layer changes.

No new tests, covered by existing ones.

  • platform/graphics/texmap/coordinated/CompositingCoordinator.cpp:

(WebCore::CompositingCoordinator::notifyFlushRequired): Check if we
are already flushing layer changes before calling notifyFlushRequired.
(WebCore::CompositingCoordinator::sizeDidChange): Use notifyFlushRequired()
from CompositingCoordinator instead of calling the one from m_client
directly.
(WebCore::CompositingCoordinator::createGraphicsLayer): Ditto.
(WebCore::CompositingCoordinator::detachLayer): Ditto.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::notifyFlushRequired): Added helper
to check whether we are flushing layer changes before calling client()'s
notifyFlushRequired(). It returns a boolean indicating whether it
called the client's method.
(WebCore::CoordinatedGraphicsLayer::didChangeLayerState): Use the
notifyFlushRequired() helper.
(WebCore::CoordinatedGraphicsLayer::didChangeAnimations): Ditto.
(WebCore::CoordinatedGraphicsLayer::didChangeChildren): Ditto.
(WebCore::CoordinatedGraphicsLayer::didChangeFilters): Ditto.
(WebCore::CoordinatedGraphicsLayer::didChangeImageBacking): Ditto.
(WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay): Ditto.
(WebCore::CoordinatedGraphicsLayer::setContentsToCanvas): Ditto.
(WebCore::CoordinatedGraphicsLayer::flushCompositingState): Ditto.
(WebCore::CoordinatedGraphicsLayer::tiledBackingStoreHasPendingTileCreation):Ditto.

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.h:

Declaration of the notifyFlushRequired() helper.

2:00 PM Changeset in webkit [157183] by Chris Fleizach
  • 4 edits
    3 adds in trunk

AX: VoiceOver double speaks all items in <li> nodes
https://bugs.webkit.org/show_bug.cgi?id=122564

Reviewed by Brent Fulgham.

Source/WebCore:

Test: platform/mac/accessibility/native-list-item-should-not-expose-label.html

  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::visibleText):

LayoutTests:

Make a mac specific expectation for listitem-title on Mac.
Make a more directed test for Mac regarding listitem labeling.

  • platform/mac/accessibility/lists-expected.txt:
  • platform/mac/accessibility/listitem-title-expected.txt: Added.
  • platform/mac/accessibility/native-list-item-should-not-expose-label-expected.txt: Added.
  • platform/mac/accessibility/native-list-item-should-not-expose-label.html: Added.
1:44 PM Changeset in webkit [157182] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Many inspector protocol tests are timing out on the bots, unreproducible locally.

  • platform/gtk/TestExpectations:
1:31 PM Changeset in webkit [157181] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. A couple of paste tests began timing out after
http://trac.webkit.org/changeset/156678.

  • platform/gtk/TestExpectations:
1:26 PM Changeset in webkit [157180] by commit-queue@webkit.org
  • 3 edits
    2 adds in trunk

CoordinatedGraphics: Fix integer rounding when computing pixel alignment
https://bugs.webkit.org/show_bug.cgi?id=122565

Patch by Sergio Correia <Sergio Correia> on 2013-10-09
Reviewed by Noam Rosenthal.

Source/WebCore:

Replace roundedIntRect call in computePixelAlignment() with enclosingIntRect,
so that very small rectangles (after content scaling) don't appear to be empty,
creating a crash later.

Test: transforms/3d/general/rotate-45-degrees-long-inner-text-in-dt.html

  • platform/graphics/texmap/coordinated/CoordinatedGraphicsLayer.cpp:

(WebCore::CoordinatedGraphicsLayer::computePixelAlignment):

LayoutTests:

Added test that rotates 45 degrees a very long text in a dt tag that
might crash the browser depending on how it handles the integer
rounding when computing pixel alignment.

  • transforms/3d/general/rotate-45-degrees-long-inner-text-in-dt-expected.txt: Added.
  • transforms/3d/general/rotate-45-degrees-long-inner-text-in-dt.html: Added.
1:22 PM Changeset in webkit [157179] by ap@apple.com
  • 2 edits in trunk/Tools

http://build.webkit.org/dashboard/ links to a wrong jscore-test results page
https://bugs.webkit.org/show_bug.cgi?id=122569

Reviewed by Tim Hatcher.

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

(WebKitBuildbot.prototype.javascriptTestResultsURLForIteration): "actual.html" used
to be produced by the old Mozilla test harness that we don't use any more.

1:15 PM Changeset in webkit [157178] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Set view to active in ViewClientEfl after WebProcess has relaunched
https://bugs.webkit.org/show_bug.cgi?id=118650

Patch by Sergio Correia <Sergio Correia> on 2013-10-09
Reviewed by Noam Rosenthal.

Once WebProcess relaunches, the underlying scene from the view is recreated
and is not active by default, which means it will be in `background'. In
practice, from that point on we are going to get a blank screen, unless we
set it to active.

In the normal flow, the view is set to active during its initialization; this
patch sets it to active also in ViewClientEfl, in the webProcessDidRelaunch
callback.

  • UIProcess/efl/ViewClientEfl.cpp:

(WebKit::ViewClientEfl::webProcessDidRelaunch): Added WKViewSetIsActive call.

1:05 PM Changeset in webkit [157177] by rniwa@webkit.org
  • 14 edits in trunk/Source/WebCore

Rename EventRetargeter::adjustForRelatedTarget to EventPath::setRelatedTarget
https://bugs.webkit.org/show_bug.cgi?id=122539

Reviewed by Darin Adler.

Renamed EventRetargeter::adjustForRelatedTarget to EventPath::setRelatedTarget and got rid of
EventDispatchMediators for focus events. We set the related target inside EventDispatcher's
dispatch via Event::relatedTarget, which is now virtual and overridden by mouse/focus events.

  • dom/Element.cpp: The following functions no longer use FocusEventDispatchMediators.

(WebCore::Element::dispatchFocusInEvent):
(WebCore::Element::dispatchFocusOutEvent):
(WebCore::Element::dispatchFocusEvent):
(WebCore::Element::dispatchBlurEvent):

  • dom/Event.h:

(WebCore::Event::relatedTarget): Added as a virtual function.

  • dom/EventDispatcher.cpp:

(WebCore::EventDispatcher::dispatchEvent): Cache Event*.
(WebCore::EventDispatcher::dispatch): Call setRelatedTargetToPath at the beginning to update
related targets in the path.

  • dom/EventDispatcher.h:
  • dom/EventRetargeter.cpp:

(WebCore::EventPath::EventPath): Initialize m_origin, used in EventPath::setRelatedTarget.
(WebCore::EventRetargeter::adjustTouchList):
(WebCore::EventPath::setRelatedTarget): Renamed from EventRetargeter::adjustForRelatedTarget.
Delegated the nullity checks to callers by taking references instead of pointers.
(WebCore::EventRetargeter::calculateAdjustedNodes):

  • dom/EventRetargeter.h: Removed AdjustedNodes typedef. It's just a Vector of RefPtr<Node>.
  • dom/FocusEvent.cpp: Removed FocusEventDispatchMediators for focus events.
  • dom/FocusEvent.h:
  • dom/MouseEvent.cpp:

(WebCore::MouseEvent::toElement): Cache the related target now that relatedTarget() is virtual.
(WebCore::MouseEvent::fromElement): Ditto.
(WebCore::MouseEventDispatchMediator::mediateAndDispatchEvent): No longer sets the related
targets since that's done in EventDispatcher::dispatch now.

  • dom/MouseEvent.h:
  • dom/Node.cpp: Removed obnoxious Node::dispatchScopedEventDispatchMediator.

(WebCore::Node::dispatchScopedEvent):

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

(WebCore::MediaControlVolumeSliderContainerElement::defaultEventHandler): Cache the related
target in a local variable now that relatedTarget() is virtual.

11:22 AM Changeset in webkit [157176] by msaboff@apple.com
  • 2 edits in trunk/Source/WTF

Change to std::unique_ptr breaks wtf/DataLog.cpp when DATA_LOG_TO_FILE set to 1
https://bugs.webkit.org/show_bug.cgi?id=122557

Reviewed by Filip Pizlo.

Changed the leakPtr() to release().

  • wtf/DataLog.cpp:

(WTF::initializeLogFileOnce):

10:07 AM Changeset in webkit [157175] by commit-queue@webkit.org
  • 3 edits
    1 add in trunk/Tools

Add GTK 64 bits release to the buildbot dashboard
https://bugs.webkit.org/show_bug.cgi?id=122548

Patch by Gustavo Noronha Silva <gustavo.noronha@collabora.com> on 2013-10-09
Reviewed by Darin Adler.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Images/GTK.png: Added.
  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Scripts/WebKitBuildbot.js:

(WebKitBuildbot): add 64 bits release wk2 and wk1 testers.

  • BuildSlaveSupport/build.webkit.org-config/public_html/dashboard/Styles/Main.css:

(table.queue-grid tr.platform.linux-gtk img.logo): use the GTK+ logo in its dashboard line.

10:05 AM Changeset in webkit [157174] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit/win

[Win] BeginPaint should only be called in response to WM_PAINT.
https://bugs.webkit.org/show_bug.cgi?id=122549

Patch by peavo@outlook.com <peavo@outlook.com> on 2013-10-09
Reviewed by Brent Fulgham.

According to the documentation, the Win32 api function BeginPaint should only be called in response to a WM_PAINT message.
Currently, the WebView window procedure might call this function (via WebView::paint(0, 0)) for all types of messages.
Also, there is potential for double drawing. If some message is dispatched before WM_PAINT, WebView::paint(0, 0) will be called.
This call does not validate the area drawn, so later the WM_PAINT will arrive, drawing the same area.
This can be fixed by calling the Win32 function UpdateWindow(), which will do a synchronous window update, and validate the area.

  • WebView.cpp:

(WebView::WebViewWndProc): Use Win32 function UpdateWindow() to draw invalid area.

10:02 AM Changeset in webkit [157173] by commit-queue@webkit.org
  • 2 edits in trunk/Source/JavaScriptCore

[arm] Inverted src and dest FP registers in DFG speculative JIT when using hardfp.
https://bugs.webkit.org/show_bug.cgi?id=122555

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

  • dfg/DFGSpeculativeJIT.h:

(JSC::DFG::SpeculativeJIT::appendCallWithExceptionCheckSetResult):
(JSC::DFG::SpeculativeJIT::appendCallSetResult):

9:47 AM Changeset in webkit [157172] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] Some accessibility tests are failing
https://bugs.webkit.org/show_bug.cgi?id=122553

Unreviewed EFL gardening

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-10-09

  • platform/efl-wk2/TestExpectations:
  • platform/efl/TestExpectations:
9:16 AM Changeset in webkit [157171] by Chris Fleizach
  • 2 edits in trunk/Source/WebCore

AX: VoiceOver does not speak aria-expanded state on iOS
https://bugs.webkit.org/show_bug.cgi?id=122540

Expose aria-pressed state for iOS.

Reviewed by Mario Sanchez Prada.

  • accessibility/ios/WebAccessibilityObjectWrapperIOS.mm:

(-[WebAccessibilityObjectWrapper accessibilityIsExpanded]):

8:33 AM Changeset in webkit [157170] by Carlos Garcia Campos
  • 2 edits in trunk/Source/WebCore

Unreviewed. Update GObject DOM symbols file after r157163.

  • bindings/gobject/webkitdom.symbols:
8:24 AM Changeset in webkit [157169] by commit-queue@webkit.org
  • 2 edits in trunk/Websites/planet.webkit.org

Add Frédéric Wang's blog to the planet
https://bugs.webkit.org/show_bug.cgi?id=122541

Patch by Frédéric Wang <fred.wang@free.fr> on 2013-10-09
Reviewed by Martin Robinson.

  • config.ini: Add my blog to the planet.
8:24 AM Changeset in webkit [157168] by andersca@apple.com
  • 6 edits
    1 delete in trunk/Source/WebCore

Remove RunLoopMac.mm
https://bugs.webkit.org/show_bug.cgi?id=122527

Reviewed by Antti Koivisto.

RunLoop::setUseApplicationRunLoopOnMainRunLoop() is no longer used, so we can just use the run() and stop()
implementations from RunLoopCF.

  • WebCore.exp.in:
  • WebCore.xcodeproj/project.pbxproj:
  • platform/RunLoop.cpp:
  • platform/RunLoop.h:
  • platform/cf/RunLoopCF.cpp:

(WebCore::RunLoop::stop):

  • platform/mac/RunLoopMac.mm: Removed.
7:54 AM Changeset in webkit [157167] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Add timeout as expected result for fast/history/go-back-to-iframe-with-plugin.html,
since it times out sometimes.

  • platform/gtk/TestExpectations:
7:48 AM Changeset in webkit [157166] by kov@webkit.org
  • 2 edits in trunk/LayoutTests

Unreviewed gardening. Add timeout as expected result for mathml/very-large-stretchy-operators.html,
since it times out on the bots.

  • platform/gtk/TestExpectations:
7:16 AM Changeset in webkit [157165] by mario@webkit.org
  • 6 edits
    1 delete in trunk

[ATK] Implement new API in AtkText: atk_text_get_string_at_offset()
https://bugs.webkit.org/show_bug.cgi?id=120638

Reviewed by Gustavo Noronha Silva.

Source/WebCore:

Implemented new atk_text_get_string_at_offset() API, introduced in
ATK 2.9.4 to simplify how text at a given offset is retrieved.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp:

(webkitAccessibleTextGetStringAtOffset): New function implementing
the new API, which basically translates calls to the new API to
calls to the old API using 'at' positions and START boundaries.
(webkitAccessibleTextInterfaceInit): Hook the new function.

Source/WebKit/gtk:

Update ATK unit test to check the new API as well if the version
of ATK is new enough.

  • tests/testatk.c:

(testGetStringFunction): New helper function, to check the new API.
(runGetStringTests): Ditto.
(testWebkitAtkGetStringAtOffset): New unit test, similar to the
one already present to check the old API but focused in the new one.
(testWebkitAtkGetStringAtOffsetNewlines): Ditto.
(testWebkitAtkGetStringAtOffsetTextarea): Ditto.
(testWebkitAtkGetStringAtOffsetTextInput): Ditto.
(testWebkitAtkGetStringAtOffsetWithPreformattedText): Ditto.
(testWebkitAtkGetStringAtOffsetWithSpecialCharacters): Ditto.
(testWebkitAtkGetStringAtOffsetWithWrappedLines): Ditto.
(testWebkitAtkGetStringAtOffsetWithEmbeddedObjects): Ditto.
(testWebkitAtkGetExtents): Add checks for the new API, if possible.
(testWebkitAtkLinksWithInlineImages): Ditto.
(main): Add the new unit tests to check the new API, if possible.

Tools:

  • gtk/jhbuild.modules: Raised ATK and AT-SPI versions to 2.10.0, so we

can check both the old and new APIs to retrieve text at a given offset.

6:29 AM Changeset in webkit [157164] by msaboff@apple.com
  • 13 edits in trunk/Source/JavaScriptCore

Transition call and construct JITStubs to CCallHelper functions
https://bugs.webkit.org/show_bug.cgi?id=122453

Reviewed by Geoffrey Garen.

Transitioned cti_op_call_eval to operationCallEval. Migrated baseline JIT to use the same
call thunks as the DFG. Eliminated all of the "oldStyle" thunks and related functions.

  • bytecode/CallLinkInfo.cpp:

(JSC::CallLinkInfo::unlink):

  • jit/JIT.cpp:

(JSC::JIT::linkFor):
(JSC::JIT::linkSlowCall):

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

(JSC::JIT::compileCallEval):
(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCallSlowCase):
(JSC::JIT::privateCompileClosureCall):

  • jit/JITCall32_64.cpp:

(JSC::JIT::compileCallEval):
(JSC::JIT::compileCallEvalSlowCase):
(JSC::JIT::compileOpCallSlowCase):
(JSC::JIT::privateCompileClosureCall):

  • jit/JITInlines.h:

(JSC::JIT::callOperationWithCallFrameRollbackOnException):

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • jit/JITStubs.cpp:
  • jit/JITStubs.h:
  • jit/ThunkGenerators.cpp:
  • jit/ThunkGenerators.h:
6:07 AM Changeset in webkit [157163] by Carlos Garcia Campos
  • 3 edits in trunk/Source/WebCore

[GTK] mouse wheel events are not considered to be mouse events
https://bugs.webkit.org/show_bug.cgi?id=120648

Reviewed by Gustavo Noronha Silva.

Expose WheelEvent in the GObject DOM bindings API.

  • bindings/gobject/GNUmakefile.am: Add new files to compilation.
  • bindings/gobject/WebKitDOMPrivate.cpp:

(WebKit::wrap): Create a WebKitDOMWheelEvent when the given Event
is a WheelEvent.

5:50 AM Changeset in webkit [157162] by commit-queue@webkit.org
  • 3 edits in trunk/Source/WebKit2

Unreviewed, rolling out r157157.
http://trac.webkit.org/changeset/157157
https://bugs.webkit.org/show_bug.cgi?id=122547

Caused crashes on several bots including gtk, mac-wk2 lion and
mountain lion (Requested by kov on #webkit).

  • Shared/Plugins/NPRemoteObjectMap.cpp:

(WebKit::NPRemoteObjectMap::registerNPObject):
(WebKit::NPRemoteObjectMap::pluginDestroyed):

  • Shared/Plugins/NPRemoteObjectMap.h:
4:21 AM Changeset in webkit [157161] by commit-queue@webkit.org
  • 3 edits in trunk/Source/JavaScriptCore

[sh4] Fix lots of unused parameter warnings.
https://bugs.webkit.org/show_bug.cgi?id=122545

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-10-09
Reviewed by Csaba Osztrogonác.

  • assembler/MacroAssemblerSH4.h:

(JSC::MacroAssemblerSH4::revertJumpReplacementToPatchableBranchPtrWithPatch):

  • assembler/SH4Assembler.h:

(JSC::SH4Assembler::andlImm8r):
(JSC::SH4Assembler::orlImm8r):
(JSC::SH4Assembler::xorlImm8r):
(JSC::SH4Assembler::cmpEqImmR0):
(JSC::SH4Assembler::testlImm8r):
(JSC::SH4Assembler::movwPCReg):
(JSC::SH4Assembler::movwMemReg):
(JSC::SH4Assembler::movbMemReg):
(JSC::SH4Assembler::printInstr):
(JSC::SH4Assembler::printBlockInstr):

4:06 AM Changeset in webkit [157160] by commit-queue@webkit.org
  • 3 edits in trunk/LayoutTests

[EFL] accessibility/table-cells.html is failing
https://bugs.webkit.org/show_bug.cgi?id=122544

Unreviewed EFL gardening

Changed expectations so that they show proper name of the parent (the table)

Patch by Krzysztof Czech <k.czech@samsung.com> on 2013-10-09

  • platform/efl-wk1/accessibility/table-cells-expected.txt:
  • platform/efl-wk2/accessibility/table-cells-expected.txt:
2:16 AM Changeset in webkit [157159] by commit-queue@webkit.org
  • 4 edits in trunk

[sh4] Add sh4 support when building with CMake.
https://bugs.webkit.org/show_bug.cgi?id=122542

Patch by Julien Brianceau <jbriance@cisco.com> on 2013-10-09
Reviewed by Csaba Osztrogonác.

.:

  • CMakeLists.txt:

Source/JavaScriptCore:

  • CMakeLists.txt:
Note: See TracTimeline for information about the timeline view.