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

Timeline



May 15, 2016:

11:23 PM Changeset in webkit [200938] by fred.wang@free.fr
  • 3 edits in trunk/Source/WebCore

Small removal of useless code for MathML token elements
https://bugs.webkit.org/show_bug.cgi?id=157568

Patch by Frederic Wang <fwang@igalia.com> on 2016-05-15
Reviewed by Darin Adler.

We remove two pieces of code for MathML token elements with unclear purposes and that do not
have any effect on math rendering.

No new tests, behavior is unchanged.

  • css/mathml.css:

(mtext): Deleted. This was probably a hack that is no longer needed with the latest math font
ascent/descent management.

  • mathml/MathMLTextElement.cpp:

(WebCore::MathMLTextElement::createElementRenderer): Deleted. Removing this does not break
the mentioned test.

5:48 PM WebKitGTK/Gardening/Calendar edited by Michael Catanzaro
(diff)
5:47 PM Changeset in webkit [200937] by Michael Catanzaro
  • 2 edits in trunk/LayoutTests

[GTK] Fix some bogus expectations broken by the previous commit

  • platform/gtk/TestExpectations:
5:45 PM WebKitGTK/Gardening/Calendar edited by Michael Catanzaro
(diff)
5:41 PM Changeset in webkit [200936] by Michael Catanzaro
  • 2 edits in trunk/LayoutTests

[GTK] More unreviewed test expectations gardening

  • platform/gtk/TestExpectations:
5:12 PM WebKitGTK/Gardening/Calendar edited by Michael Catanzaro
(diff)
5:10 PM Changeset in webkit [200935] by Michael Catanzaro
  • 2 edits in trunk/LayoutTests

[GTK] More Unreviewed test expectations gardening

  • platform/gtk/TestExpectations:
4:30 PM Changeset in webkit [200934] by Chris Dumez
  • 86 edits
    2 copies in trunk/Source

Use more references in JS wrappers related code
https://bugs.webkit.org/show_bug.cgi?id=157721

Reviewed by Darin Adler.

Source/WebCore:

  • Use more references in JS wrappers related code.
  • Avoid some refcounting churn when using toJSNewlyCreated() and in HTML/SVG elements factories by moving the Ref<> around.
  • Add toJS() / toJSNewlyCreated() implementations for Text, XMLDocument and HTMLDocument. Now that toJSNewlyCreated() takes a Ref<>&& / RefPtr<>&& in, the compiler is no longer able to implicitly use the toJSNewlyCreated() implementation of a parent class for a subclass type (complains about calls being ambiguous). I thought about updating the bindings generator to always generate a toJSNewlyCreated() for all wrapper types (that would call the one on the parent class if the subclass does not have a proper implementation). However this would add some complexity to the bindings generator and it did not seem worth it because [NewObject] and therefore toJSNewlyCreated() is only used for a very limited set of subtypes. I have therefore decided to add the toJS() / toJSNewlyCreated() implementations for the subtypes in question. This also has the benefit of avoiding calling the more complex implementations on Node / Document.
  • CMakeLists.txt:
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSAnimationTimelineCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSAudioContextCustom.cpp:

(WebCore::constructJSAudioContext):

  • bindings/js/JSBindingsAllInOne.cpp:
  • bindings/js/JSBlobCustom.cpp:

(WebCore::constructJSBlob):

  • bindings/js/JSCSSRuleCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSCSSValueCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSDOMBinding.h:

(WebCore::getCachedWrapper):
(WebCore::createWrapper):
(WebCore::wrap):
(WebCore::getExistingWrapper):
(WebCore::createNewWrapper):
(WebCore::toJS):
(WebCore::finiteInt32Value): Deleted.

  • bindings/js/JSDocumentCustom.cpp:

(WebCore::createNewDocumentWrapper):
(WebCore::toJS):
(WebCore::cachedDocumentWrapper):
(WebCore::reportMemoryForFramelessDocument):
(WebCore::toJSNewlyCreated):

  • bindings/js/JSDocumentCustom.h:
  • bindings/js/JSDocumentFragmentCustom.cpp:

(WebCore::createNewDocumentFragmentWrapper):
(WebCore::toJSNewlyCreated):
(WebCore::toJS):

  • bindings/js/JSElementCustom.cpp:

(WebCore::toJSNewlyCreated):

  • bindings/js/JSElementCustom.h:

(WebCore::toJSNewlyCreated):

  • bindings/js/JSEventCustom.cpp:

(WebCore::createNewEventWrapper):
(WebCore::toJS):
(WebCore::toJSNewlyCreated):

  • bindings/js/JSFileCustom.cpp:

(WebCore::constructJSFile):

  • bindings/js/JSHTMLCollectionCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSHTMLDocumentCustom.cpp:

(WebCore::createNewHTMLDocumentWrapper):
(WebCore::toJS):
(WebCore::toJSNewlyCreated):

  • bindings/js/JSHTMLTemplateElementCustom.cpp:

(WebCore::JSHTMLTemplateElement::content):

  • bindings/js/JSImageDataCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSNodeCustom.cpp:

(WebCore::createWrapperInline):
(WebCore::createWrapper):
(WebCore::toJSNewlyCreated):
(WebCore::getOutOfLineCachedWrapper):

  • bindings/js/JSNodeCustom.h:

(WebCore::toJS):

  • bindings/js/JSNodeListCustom.cpp:

(WebCore::createWrapper):
(WebCore::toJSNewlyCreated):

  • bindings/js/JSNodeListCustom.h:

(WebCore::toJS):

  • bindings/js/JSRTCPeerConnectionCustom.cpp:

(WebCore::constructJSRTCPeerConnection):

  • bindings/js/JSRTCSessionDescriptionCustom.cpp:

(WebCore::constructJSRTCSessionDescription):

  • bindings/js/JSSVGPathSegCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSStyleSheetCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSTextCustom.cpp: Copied from Source/WebCore/dom/XMLDocument.idl.

(WebCore::createNewTextWrapper):
(WebCore::toJS):
(WebCore::toJSNewlyCreated):

  • bindings/js/JSTextTrackCueCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSTrackCustom.cpp:

(WebCore::toJS):

  • bindings/js/JSXMLDocumentCustom.cpp: Copied from Source/WebCore/bindings/js/JSDocumentFragmentCustom.cpp.

(WebCore::createNewXMLDocumentWrapper):
(WebCore::toJS):
(WebCore::toJSNewlyCreated):

  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateHeader):
(GenerateImplementation):

  • bindings/scripts/test/JS/*: Rebaseline bindings tests.
  • dom/Element.cpp:

(WebCore::Element::setInnerHTML):

  • dom/Text.idl:
  • dom/XMLDocument.idl:
  • dom/make_names.pl:

(printWrapperFunctions):
(printWrapperFactoryCppFile):
(printWrapperFactoryHeaderFile):

  • editing/MarkupAccumulator.cpp:

(WebCore::MarkupAccumulator::serializeNodesWithNamespaces):

  • html/HTMLDocument.idl:
  • html/HTMLTemplateElement.cpp:

(WebCore::HTMLTemplateElement::content):
(WebCore::HTMLTemplateElement::cloneNodeInternal):

  • html/HTMLTemplateElement.h:
  • html/parser/HTMLConstructionSite.cpp:

(WebCore::insert):
(WebCore::HTMLConstructionSite::insertTextNode):
(WebCore::HTMLConstructionSite::ownerDocumentForCurrentNode):

  • inspector/InspectorDOMAgent.cpp:

(WebCore::InspectorDOMAgent::buildObjectForNode):

  • xml/parser/XMLDocumentParserLibxml2.cpp:

(WebCore::XMLDocumentParser::startElementNs):

Source/WTF:

Add new static_reference_cast() overload that takes a Ref<U>&& in
in order to downcast Ref<> types without causing ref-counting
churn.

  • wtf/Ref.h:

(WTF::static_reference_cast):

4:08 PM Changeset in webkit [200933] by fpizlo@apple.com
  • 8 edits in trunk/Source/JavaScriptCore

DFG::Plan shouldn't read from its VM once it's been cancelled
https://bugs.webkit.org/show_bug.cgi?id=157726

Reviewed by Saam Barati.

Plan::vm was a reference, not a pointer, and so wasn't nulled by Plan::cancel(). So, a
cancelled plan may have a dangling pointer to a VM: we could delete the VM after cancelling
the plan.

Prior to http://trac.webkit.org/changeset/200705, this was probably fine because nobody
would read Plan::vm if the plan was cancelled. But r200705 changed that. It was a hard
regression to spot because usually a cancelled plan will still refer to a valid VM.

This change fixes the regression and makes it a lot easier to spot the regression in the
future. Plan::vm is now a pointer and we null it in Plan::cancel(). Now if you make this
mistake, you will get a crash anytime the Plan is cancelled, not just anytime the plan is
cancelled and the VM gets deleted. Also, it's now very clear what to do when you want to
use Plan::vm on the cancel path: you can null-check vm; if it's null, assume the worst.

Because we null the VM of a cancelled plan, we cannot have Safepoint::vm() return the
plan's VM anymore. That's because when we cancel a plan that is at a safepoint, we use the
safepoint's VM to determine whether this is one of our safepoints *after* the plan is
already cancelled. So, Safepoint now has its own copy of m_vm, and that copy gets nulled
when the Safepoint is cancelled. The Safepoint's m_vm will be nulled moments after Plan's
vm gets nulled (see Worklist::removeDeadPlans(), which has a cancel path for Plans in one
loop and a cancel path for Safepoints in the loop after it).

  • dfg/DFGJITFinalizer.cpp:

(JSC::DFG::JITFinalizer::finalizeCommon):

  • dfg/DFGPlan.cpp:

(JSC::DFG::Plan::Plan):
(JSC::DFG::Plan::computeCompileTimes):
(JSC::DFG::Plan::reportCompileTimes):
(JSC::DFG::Plan::compileInThreadImpl):
(JSC::DFG::Plan::reallyAdd):
(JSC::DFG::Plan::notifyCompiling):
(JSC::DFG::Plan::finalizeWithoutNotifyingCallback):
(JSC::DFG::Plan::cancel):

  • dfg/DFGPlan.h:

(JSC::DFG::Plan::canTierUpAndOSREnter):

  • dfg/DFGSafepoint.cpp:

(JSC::DFG::Safepoint::cancel):
(JSC::DFG::Safepoint::vm):

  • dfg/DFGSafepoint.h:
  • dfg/DFGWorklist.cpp:

(JSC::DFG::Worklist::isActiveForVM):
(JSC::DFG::Worklist::waitUntilAllPlansForVMAreReady):
(JSC::DFG::Worklist::removeAllReadyPlansForVM):
(JSC::DFG::Worklist::rememberCodeBlocks):
(JSC::DFG::Worklist::visitWeakReferences):
(JSC::DFG::Worklist::removeDeadPlans):
(JSC::DFG::Worklist::runThread):

  • ftl/FTLJITFinalizer.cpp:

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

3:13 PM Changeset in webkit [200932] by Darin Adler
  • 3 edits in trunk/Source/WebCore

Something tiny left out of the last patch.

  • WebCore.xcodeproj/project.pbxproj: Allow Xcode to update this file.
  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyInlineStyleChange): Removed unneeded null check; all
code paths already have null checks.

3:12 PM WebKitGTK/Gardening/Calendar edited by Michael Catanzaro
(diff)
3:08 PM Changeset in webkit [200931] by Darin Adler
  • 26 edits in trunk/Source

More CTTE and other cleanups for HTML editing header
https://bugs.webkit.org/show_bug.cgi?id=157722

Reviewed by Chris Dumez.

Source/WebCore:

These changes are mostly things Chris asked for in his review of my last patch
or other related style and small efficiency improvements.

  • using nullptr instead of 0
  • using is<Text> instead of isTextNode and is<> instead of hasTagName
  • changing argument type of functions like editingIgnoresContent to a reference
  • using { } instead of constructor calls for classes like Position
  • using words like position intead of abbreviations like pos
  • using auto rather than explicit types
  • rename functions that return true for HTMLElement to express that in the function names
  • dom/Position.cpp:

(WebCore::nextRenderedEditable): nullptr
(WebCore::previousRenderedEditable): nullptr
(WebCore::Position::Position): is<>, reference
(WebCore::Position::moveToPosition): reference
(WebCore::Position::offsetForPositionAfterAnchor): Added a null assertion and
null check that replaces the one that used to be in lastOffsetForEditing.
(WebCore::Position::parentAnchoredEquivalent): { }, reference
(WebCore::Position::computeNodeBeforePosition): nullptr
(WebCore::Position::computeNodeAfterPosition): nullptr
(WebCore::Position::anchorTypeForLegacyEditingPosition): reference
(WebCore::Position::previous): reference
(WebCore::Position::next): reference
(WebCore::Position::parentEditingBoundary): nullptr
(WebCore::Position::previousCharacterPosition): { }, pos -> position
(WebCore::Position::nextCharacterPosition): { }, pos -> position
(WebCore::endsOfNodeAreVisuallyDistinctPositions): reference
(WebCore::Position::upstream): { }, pos -> position
(WebCore::Position::downstream): { }, pos -> position
(WebCore::Position::rootUserSelectAllForNode): nullptr
(WebCore::Position::isCandidate): auto, reference, is<>
(WebCore::Position::rendersInDifferentPosition): pos -> position, auto, is<>
(WebCore::Position::leadingWhitespacePosition): { }, is<>
(WebCore::Position::trailingWhitespacePosition): { }
(WebCore::Position::getInlineBoxAndOffset): reference
(WebCore::Position::equals): reference, is<>

  • dom/PositionIterator.cpp:

(WebCore::PositionIterator::operator Position): reference
(WebCore::PositionIterator::isCandidate): reference

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): is<>
(WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): is<>, reference
(WebCore::ApplyStyleCommand::removeConflictingInlineStyleFromRun): reference
(WebCore::ApplyStyleCommand::removeInlineStyle): auto, is<>, reference
(WebCore::ApplyStyleCommand::nodeFullySelected): is<>
(WebCore::ApplyStyleCommand::nodeFullyUnselected): is<>
(WebCore::ApplyStyleCommand::splitTextAtStart): is<>
(WebCore::ApplyStyleCommand::splitTextElementAtStart): is<>
(WebCore::ApplyStyleCommand::splitTextElementAtEnd): is<>
(WebCore::ApplyStyleCommand::isValidCaretPositionInTextNode): is<>
(WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): Removed unneeded
is<Element> calls before calling areIdenticalElements.
(WebCore::ApplyStyleCommand::positionToComputeInlineStyleChange): Tightened
up logic for the loop to avoid redundant checks.
(WebCore::ApplyStyleCommand::applyInlineStyleChange): auto

  • editing/CompositeEditCommand.cpp:

(WebCore::CompositeEditCommand::insertNodeAt): reference
(WebCore::CompositeEditCommand::appendNode): reference
(WebCore::CompositeEditCommand::moveParagraphs): isListHTMLElement

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::handleGeneralDelete): reference

  • editing/FormatBlockCommand.cpp: Fixed order of includes.

(WebCore::enclosingBlockToSplitTreeTo): isListHTMLElement

  • editing/InsertParagraphSeparatorCommand.cpp:

(WebCore::InsertParagraphSeparatorCommand::doApply): reference

  • editing/ModifySelectionListLevel.cpp:

(WebCore::getStartEndListChildren): isListHTMLElement
(WebCore::IncreaseSelectionListLevelCommand::doApply):isListHTMLElement
(WebCore::canDecreaseListLevel):isListHTMLElement

  • editing/RemoveNodeCommand.cpp: Removed unneeded include.
  • editing/ReplaceNodeWithSpanCommand.cpp:

(WebCore::ReplaceNodeWithSpanCommand::doApply): Use HTMLSpanElement::create.

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::isInterchangeNewlineNode): is<>, downcast<>
(WebCore::isInterchangeConvertedSpaceSpan): is<>, downcast<>
(WebCore::positionAvoidingPrecedingNodes): pos -> position, reference
(WebCore::ReplaceSelectionCommand::doApply): isListHTMLElement
(WebCore::ReplaceSelectionCommand::insertAsListItems): isListHTMLElement

  • editing/SpellChecker.cpp: Removed unneeded include.
  • editing/TextIterator.cpp:

(WebCore::SimplifiedBackwardsTextIterator::advance): reference

  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::selectionFromContentsOfNode): reference

  • editing/VisibleUnits.cpp:

(WebCore::previousLinePosition): reference
(WebCore::nextLinePosition): reference
(WebCore::findStartOfParagraph): reference
(WebCore::findEndOfParagraph): reference

  • editing/htmlediting.cpp:

(WebCore::canHaveChildrenForEditing): Moved here from header file so we don't
have to include "Text.h". Not critical to inline this.
(WebCore::isAtomicNode): reference
(WebCore::lastOffsetForEditing): reference
(WebCore::stringWithRebalancedWhitespace): Changed to use StringBuilder instead
of Vector<UChar> so this won't turn 8-bit strings into 16-bit strings. Changed
to not use the StringBuilder at all until we encounter a character that needs
to be changed.
(WebCore::isSpecialHTMLElement): Renamed to make it clear that it only can return
true for a Node that is an HTMLElement.
(WebCore::firstInSpecialElement): isSpecialHTMLElement
(WebCore::lastInSpecialElement): isSpecialHTMLElement
(WebCore::isListHTMLElement): Renamed to make it clear that it can only return
true for a Node that is an HTMLElement.
(WebCore::isListItem): isListHTMLElement, is<>
(WebCore::enclosingNodeOfType): p -> position, nullptr
(WebCore::highestEnclosingNodeOfType): p -> position
(WebCore::enclosingListChild): isListHTMLElement, is<>
(WebCore::embeddedSublist): isListHTMLElement
(WebCore::appendedSublist):isListHTMLElement
(WebCore::caretMaxOffset): is<>
(WebCore::caretRendersInsideNode): changed to take a reference
(WebCore::rendererForCaretPainting): reference

  • editing/htmlediting.h: Updated for name changes and type changes above.
  • editing/markup.cpp:

(WebCore::StyledMarkupAccumulator::traverseNodesForSerialization): reference
(WebCore::highestAncestorToWrapMarkup): auto, reference, isListHTMLElement

  • html/HTMLSpanElement.cpp:

(WebCore::HTMLSpanElement::create): Added overload that does not require a tag name.

  • html/HTMLSpanElement.h: Ditto.
  • page/DOMSelection.cpp: Removed unneeded includes.
  • rendering/RenderBox.cpp:

(WebCore::RenderBox::localCaretRect): reference

Source/WebKit/ios:

  • WebCoreSupport/WebFrameIOS.mm:

(-[WebFrame previousUnperturbedDictationResultBoundaryFromPosition:]): auto
(-[WebFrame nextUnperturbedDictationResultBoundaryFromPosition:]): auto

3:05 PM Changeset in webkit [200930] by Michael Catanzaro
  • 1 edit in trunk/LayoutTests/ChangeLog

[GTK] Unreviewed test expectations gardening

3:05 PM Changeset in webkit [200929] by Michael Catanzaro
  • 3 edits in trunk/LayoutTests

[GTK] Unreviewed test expectations gardening

2:11 PM Changeset in webkit [200928] by Yusuke Suzuki
  • 13 edits
    2 adds in trunk/Source/JavaScriptCore

Modernize Intl constructors; using InternalFunction::createSubclassStructure
https://bugs.webkit.org/show_bug.cgi?id=157082

Reviewed by Darin Adler.

Previously, Intl constructors retrieve "prototype" to inherit the "new.target".
At that time, this mis-assumed that getDirect() always returns meaningful JS value.
Actually, it returns an empty value if a property does not exist.

Instead of fixing this assertion, we now use InternalFunction::createSubclassStructure
in Intl constructors. It is modern and preferable way since it can cache the derived
structures in InternalFunction.

This patch also cleans up the workaround in Intl.NumberFormat and Intl.DateTimeFormat.
Those code are largely duplicate. This is now extracted into
constructIntlInstanceWithWorkaroundForLegacyIntlConstructor. This clean up does not
have any behavior changes. They are already tested in LayoutTests/js/intl-datetimeformat
and LayoutTests/js/intl-numberformat.

(JSC::IntlCollator::create):

  • runtime/IntlCollator.h:
  • runtime/IntlCollatorConstructor.cpp:

(JSC::constructIntlCollator):
(JSC::callIntlCollator):

  • runtime/IntlDateTimeFormat.cpp:

(JSC::IntlDateTimeFormat::create):

  • runtime/IntlDateTimeFormat.h:
  • runtime/IntlDateTimeFormatConstructor.cpp:

(JSC::constructIntlDateTimeFormat):
(JSC::callIntlDateTimeFormat):

  • runtime/IntlDateTimeFormatPrototype.cpp:

(JSC::IntlDateTimeFormatPrototypeGetterFormat):
(JSC::IntlDateTimeFormatPrototypeFuncResolvedOptions):

  • runtime/IntlNumberFormat.cpp:

(JSC::IntlNumberFormat::create):

  • runtime/IntlNumberFormat.h:
  • runtime/IntlNumberFormatConstructor.cpp:

(JSC::constructIntlNumberFormat):
(JSC::callIntlNumberFormat):

  • runtime/IntlNumberFormatPrototype.cpp:

(JSC::IntlNumberFormatPrototypeGetterFormat):
(JSC::IntlNumberFormatPrototypeFuncResolvedOptions):

  • runtime/IntlObjectInlines.h: Added.

(JSC::constructIntlInstanceWithWorkaroundForLegacyIntlConstructor):

  • tests/stress/intl-constructors-with-proxy.js: Added.

(shouldBe):
(throw.new.Error.Empty):
(throw.new.Error):
(shouldBe.Empty):

8:36 AM Changeset in webkit [200927] by commit-queue@webkit.org
  • 4 edits in trunk/Source/WebCore

Unreviewed, rolling out r200925.
https://bugs.webkit.org/show_bug.cgi?id=157725

Does not build if MEDIA_SESSION is enabled (Requested by
cdumez_ on #webkit).

Reverted changeset:

"Use new Web IDL dictionary support for
MediaSession.setMetadata()"
https://bugs.webkit.org/show_bug.cgi?id=157711
http://trac.webkit.org/changeset/200925

3:34 AM Changeset in webkit [200926] by fred.wang@free.fr
  • 2 edits in trunk/Websites/planet.webkit.org

Remove Frédéric Wang's blog from the planet
https://bugs.webkit.org/show_bug.cgi?id=157724

Reviewed by Philippe Normand.

  • config.ini: Remove my feed url since my homepage changed and it is included twice after r169566.

May 14, 2016:

4:52 PM Changeset in webkit [200925] by Chris Dumez
  • 4 edits in trunk/Source/WebCore

Use new Web IDL dictionary support for MediaSession.setMetadata()
https://bugs.webkit.org/show_bug.cgi?id=157711

Reviewed by Eric Carlson.

Use new Web IDL dictionary support for MediaSession.setMetadata().

No new tests, no intended Web-exposed behavior change.

  • Modules/mediasession/MediaSession.cpp:

(WebCore::MediaSession::setMetadata):
(WebCore::MediaSession::deactivate): Deleted.

  • Modules/mediasession/MediaSession.h:
  • Modules/mediasession/MediaSession.idl:
3:17 PM Changeset in webkit [200924] by commit-queue@webkit.org
  • 95 edits
    21 deletes in trunk

Remove LegacyProfiler
https://bugs.webkit.org/show_bug.cgi?id=153565

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2016-05-14
Reviewed by Mark Lam.

.:

  • ManualTests/inspector/profiler-test-call.html: Removed.
  • ManualTests/inspector/profiler-test-many-calls-in-the-same-scope.html: Removed.

Source/JavaScriptCore:

JavaScriptCore now provides a sampling profiler and it is enabled
by all ports. Web Inspector switched months ago to using the
sampling profiler and displaying its data. Remove the legacy
profiler, as it is no longer being used by anything other then
console.profile and tests. We will update console.profile's
behavior soon to have new behavior and use the sampling data.

  • API/JSProfilerPrivate.cpp: Removed.
  • API/JSProfilerPrivate.h: Removed.
  • CMakeLists.txt:
  • JavaScriptCore.xcodeproj/project.pbxproj:
  • bytecode/BytecodeList.json:
  • bytecode/BytecodeUseDef.h:

(JSC::computeUsesForBytecodeOffset): Deleted.
(JSC::computeDefsForBytecodeOffset): Deleted.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::dumpBytecode): Deleted.

  • bytecode/UnlinkedFunctionExecutable.cpp:

(JSC::generateUnlinkedFunctionCodeBlock):
(JSC::UnlinkedFunctionExecutable::unlinkedCodeBlockFor):

  • bytecode/UnlinkedFunctionExecutable.h:
  • bytecompiler/BytecodeGenerator.cpp:

(JSC::BytecodeGenerator::BytecodeGenerator):
(JSC::BytecodeGenerator::emitCall):
(JSC::BytecodeGenerator::emitCallVarargs):
(JSC::BytecodeGenerator::emitCallVarargsInTailPosition):
(JSC::BytecodeGenerator::emitConstructVarargs):
(JSC::BytecodeGenerator::emitConstruct):

  • bytecompiler/BytecodeGenerator.h:

(JSC::CallArguments::profileHookRegister): Deleted.
(JSC::BytecodeGenerator::shouldEmitProfileHooks): Deleted.

  • bytecompiler/NodesCodegen.cpp:

(JSC::CallFunctionCallDotNode::emitBytecode):
(JSC::ApplyFunctionCallDotNode::emitBytecode):
(JSC::CallArguments::CallArguments): Deleted.

  • dfg/DFGAbstractInterpreterInlines.h:

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

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock): Deleted.

  • dfg/DFGCapabilities.cpp:

(JSC::DFG::capabilityLevel): Deleted.

  • dfg/DFGClobberize.h:

(JSC::DFG::clobberize): Deleted.

  • dfg/DFGDoesGC.cpp:

(JSC::DFG::doesGC): Deleted.

  • dfg/DFGFixupPhase.cpp:

(JSC::DFG::FixupPhase::fixupNode): Deleted.

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

(JSC::DFG::safeToExecute): Deleted.

  • dfg/DFGSpeculativeJIT32_64.cpp:

(JSC::DFG::SpeculativeJIT::compile): Deleted.

  • dfg/DFGSpeculativeJIT64.cpp:

(JSC::DFG::SpeculativeJIT::compile): Deleted.

  • inspector/InjectedScriptBase.cpp:

(Inspector::InjectedScriptBase::callFunctionWithEvalEnabled):

  • inspector/protocol/Timeline.json:
  • interpreter/Interpreter.cpp:

(JSC::UnwindFunctor::operator()): Deleted.
(JSC::Interpreter::execute): Deleted.
(JSC::Interpreter::executeCall): Deleted.
(JSC::Interpreter::executeConstruct): Deleted.

  • jit/JIT.cpp:

(JSC::JIT::privateCompileMainPass): Deleted.

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

(JSC::JIT::emit_op_profile_will_call): Deleted.
(JSC::JIT::emit_op_profile_did_call): Deleted.

  • jit/JITOpcodes32_64.cpp:

(JSC::JIT::emit_op_profile_will_call): Deleted.
(JSC::JIT::emit_op_profile_did_call): Deleted.

  • jit/JITOperations.cpp:
  • jit/JITOperations.h:
  • jsc.cpp:
  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::LLINT_SLOW_PATH_DECL): Deleted.

  • llint/LLIntSlowPaths.h:
  • llint/LowLevelInterpreter.asm:
  • parser/ParserModes.h:
  • profiler/CallIdentifier.h: Removed.
  • profiler/LegacyProfiler.cpp: Removed.
  • profiler/LegacyProfiler.h: Removed.
  • profiler/Profile.cpp: Removed.
  • profiler/Profile.h: Removed.
  • profiler/ProfileGenerator.cpp: Removed.
  • profiler/ProfileGenerator.h: Removed.
  • profiler/ProfileNode.cpp: Removed.
  • profiler/ProfileNode.h: Removed.
  • profiler/ProfilerJettisonReason.cpp:

(WTF::printInternal): Deleted.

  • profiler/ProfilerJettisonReason.h:
  • runtime/CodeCache.cpp:

(JSC::CodeCache::getGlobalCodeBlock):
(JSC::CodeCache::getProgramCodeBlock):
(JSC::CodeCache::getEvalCodeBlock):
(JSC::CodeCache::getModuleProgramCodeBlock):

  • runtime/CodeCache.h:
  • runtime/Executable.cpp:

(JSC::ScriptExecutable::newCodeBlockFor):

  • runtime/JSGlobalObject.cpp:

(JSC::JSGlobalObject::createProgramCodeBlock):
(JSC::JSGlobalObject::createEvalCodeBlock):
(JSC::JSGlobalObject::createModuleProgramCodeBlock):
(JSC::JSGlobalObject::~JSGlobalObject): Deleted.
(JSC::JSGlobalObject::hasLegacyProfiler): Deleted.

  • runtime/JSGlobalObject.h:

(JSC::JSGlobalObject::supportsLegacyProfiling): Deleted.

  • runtime/Options.h:
  • runtime/VM.cpp:

(JSC::VM::VM): Deleted.
(JSC::SetEnabledProfilerFunctor::operator()): Deleted.
(JSC::VM::setEnabledProfiler): Deleted.

  • runtime/VM.h:

(JSC::VM::enabledProfiler): Deleted.
(JSC::VM::enabledProfilerAddress): Deleted.

Source/WebCore:

  • CMakeLists.txt:
  • DerivedSources.cpp:
  • DerivedSources.make:
  • ForwardingHeaders/profiler/LegacyProfiler.h: Removed.
  • ForwardingHeaders/profiler/Profile.h: Removed.
  • ForwardingHeaders/profiler/ProfileNode.h: Removed.
  • WebCore.xcodeproj/project.pbxproj:
  • bindings/js/JSCustomXPathNSResolver.cpp:
  • bindings/js/JSDOMWindowBase.cpp:

(WebCore::JSDOMWindowBase::supportsLegacyProfiling): Deleted.
(WebCore::JSDOMWindowBase::supportsRichSourceInfo): Deleted.

  • bindings/js/JSDOMWindowBase.h:
  • bindings/js/JSWorkerGlobalScopeBase.cpp:

(WebCore::JSWorkerGlobalScopeBase::supportsLegacyProfiling): Deleted.

  • bindings/js/JSWorkerGlobalScopeBase.h:
  • bindings/js/ScriptCachedFrameData.cpp:
  • bindings/js/ScriptController.cpp:

(WebCore::ScriptController::clearWindowShell): Deleted.

  • bindings/js/ScriptProfile.h: Removed.
  • bindings/js/ScriptProfileNode.h: Removed.
  • bindings/scripts/CodeGeneratorJS.pm:

(AddClassForwardIfNeeded): Deleted.

  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/TestObj.idl:
  • css/CSSParser.cpp:
  • dom/Document.cpp:
  • inspector/InspectorConsoleInstrumentation.h:

(WebCore::InspectorInstrumentation::stopProfiling):

  • inspector/InspectorController.cpp:

(WebCore::InspectorController::InspectorController):
(WebCore::InspectorController::legacyProfilerEnabled): Deleted.
(WebCore::InspectorController::setLegacyProfilerEnabled): Deleted.

  • inspector/InspectorController.h:
  • inspector/InspectorInstrumentation.cpp:

(WebCore::InspectorInstrumentation::stopProfilingImpl):

  • inspector/InspectorInstrumentation.h:
  • inspector/InspectorTimelineAgent.cpp:

(WebCore::InspectorTimelineAgent::startFromConsole):
(WebCore::InspectorTimelineAgent::stopFromConsole):

  • inspector/InspectorTimelineAgent.h:
  • inspector/PageDebuggerAgent.cpp:
  • inspector/PageRuntimeAgent.cpp:
  • inspector/ScriptProfile.idl: Removed.
  • inspector/ScriptProfileNode.idl: Removed.
  • inspector/TimelineRecordFactory.cpp:

(WebCore::buildAggregateCallInfoInspectorObject): Deleted.
(WebCore::buildInspectorObject): Deleted.
(WebCore::buildProfileInspectorObject): Deleted.
(WebCore::TimelineRecordFactory::appendProfile): Deleted.

  • page/DOMWindow.cpp:
  • page/Page.cpp:
  • page/PageConsoleClient.cpp:

(WebCore::PageConsoleClient::profileEnd):
(WebCore::PageConsoleClient::clearProfiles): Deleted.

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

(WebCore::Internals::resetToConsistentState): Deleted.
(WebCore::Internals::consoleProfiles): Deleted.
(WebCore::Internals::setLegacyJavaScriptProfilingEnabled): Deleted.

  • testing/Internals.h:
  • testing/Internals.idl:
  • testing/js/WebCoreTestSupport.cpp:
  • xml/XSLStyleSheetLibxslt.cpp:
  • xml/XSLTProcessorLibxslt.cpp:

Source/WebKit/win:

  • Interfaces/IWebInspector.idl:
  • WebView.cpp:
  • WebInspector.cpp:

(WebInspector::isJavaScriptProfilingEnabled): Deleted.
(WebInspector::setJavaScriptProfilingEnabled): Deleted.

LayoutTests:

  • fast/profiler/anonymous-event-handler-expected.txt: Removed.
  • fast/profiler/anonymous-event-handler.html: Removed.
  • fast/profiler/anonymous-function-called-from-different-contexts-expected.txt: Removed.
  • fast/profiler/anonymous-function-called-from-different-contexts.html: Removed.
  • fast/profiler/anonymous-function-calls-built-in-functions-expected.txt: Removed.
  • fast/profiler/anonymous-function-calls-built-in-functions.html: Removed.
  • fast/profiler/anonymous-function-calls-eval-expected.txt: Removed.
  • fast/profiler/anonymous-function-calls-eval.html: Removed.
  • fast/profiler/anonymous-functions-with-display-names-expected.txt: Removed.
  • fast/profiler/anonymous-functions-with-display-names.html: Removed.
  • fast/profiler/apply-expected.txt: Removed.
  • fast/profiler/apply.html: Removed.
  • fast/profiler/built-in-function-calls-anonymous-expected.txt: Removed.
  • fast/profiler/built-in-function-calls-anonymous.html: Removed.
  • fast/profiler/built-in-function-calls-user-defined-function-expected.txt: Removed.
  • fast/profiler/built-in-function-calls-user-defined-function.html: Removed.
  • fast/profiler/call-expected.txt: Removed.
  • fast/profiler/call-register-leak-expected.txt: Removed.
  • fast/profiler/call-register-leak.html: Removed.
  • fast/profiler/call.html: Removed.
  • fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope-expected.txt: Removed.
  • fast/profiler/calling-the-function-that-started-the-profiler-from-another-scope.html: Removed.
  • fast/profiler/compare-multiple-profiles-expected.txt: Removed.
  • fast/profiler/compare-multiple-profiles.html: Removed.
  • fast/profiler/constructor-expected.txt: Removed.
  • fast/profiler/constructor.html: Removed.
  • fast/profiler/dead-time-expected.txt: Removed.
  • fast/profiler/dead-time.html: Removed.
  • fast/profiler/document-dot-write-expected.txt: Removed.
  • fast/profiler/document-dot-write.html: Removed.
  • fast/profiler/event-handler-expected.txt: Removed.
  • fast/profiler/event-handler.html: Removed.
  • fast/profiler/execution-context-and-eval-on-same-line-expected.txt: Removed.
  • fast/profiler/execution-context-and-eval-on-same-line.html: Removed.
  • fast/profiler/inline-event-handler-expected.txt: Removed.
  • fast/profiler/inline-event-handler.html: Removed.
  • fast/profiler/many-calls-in-the-same-scope-expected.txt: Removed.
  • fast/profiler/many-calls-in-the-same-scope.html: Removed.
  • fast/profiler/multiple-and-different-scoped-anonymous-function-calls-expected.txt: Removed.
  • fast/profiler/multiple-and-different-scoped-anonymous-function-calls.html: Removed.
  • fast/profiler/multiple-and-different-scoped-function-calls-expected.txt: Removed.
  • fast/profiler/multiple-and-different-scoped-function-calls.html: Removed.
  • fast/profiler/multiple-anonymous-functions-called-from-the-same-function-expected.txt: Removed.
  • fast/profiler/multiple-anonymous-functions-called-from-the-same-function.html: Removed.
  • fast/profiler/multiple-frames-expected.txt: Removed.
  • fast/profiler/multiple-frames.html: Removed.
  • fast/profiler/named-functions-with-display-names-expected.txt: Removed.
  • fast/profiler/named-functions-with-display-names.html: Removed.
  • fast/profiler/nested-anonymous-functon-expected.txt: Removed.
  • fast/profiler/nested-anonymous-functon.html: Removed.
  • fast/profiler/nested-start-and-stop-profiler-expected.txt: Removed.
  • fast/profiler/nested-start-and-stop-profiler.html: Removed.
  • fast/profiler/no-execution-context-expected.txt: Removed.
  • fast/profiler/no-execution-context.html: Removed.
  • fast/profiler/one-execution-context-expected.txt: Removed.
  • fast/profiler/one-execution-context.html: Removed.
  • fast/profiler/profile-calls-in-included-file-expected.txt: Removed.
  • fast/profiler/profile-calls-in-included-file.html: Removed.
  • fast/profiler/profile-with-no-title-expected.txt: Removed.
  • fast/profiler/profile-with-no-title.html: Removed.
  • fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting-expected.txt: Removed.
  • fast/profiler/profiling-from-a-nested-location-but-stop-profiling-outside-the-nesting.html: Removed.
  • fast/profiler/profiling-from-a-nested-location-expected.txt: Removed.
  • fast/profiler/profiling-from-a-nested-location.html: Removed.
  • fast/profiler/resources/other-frame.html: Removed.
  • fast/profiler/resources/other-window.html: Removed.
  • fast/profiler/resources/profiler-test-JS-resources.js: Removed.
  • fast/profiler/simple-event-call-expected.txt: Removed.
  • fast/profiler/simple-event-call.html: Removed.
  • fast/profiler/simple-no-level-change-expected.txt: Removed.
  • fast/profiler/simple-no-level-change.html: Removed.
  • fast/profiler/start-and-stop-profiler-multiple-times-expected.txt: Removed.
  • fast/profiler/start-and-stop-profiler-multiple-times.html: Removed.
  • fast/profiler/start-and-stop-profiling-in-the-same-function-expected.txt: Removed.
  • fast/profiler/start-and-stop-profiling-in-the-same-function.html: Removed.
  • fast/profiler/start-but-dont-stop-profiling-expected.txt: Removed.
  • fast/profiler/start-but-dont-stop-profiling.html: Removed.
  • fast/profiler/stop-profiling-after-setTimeout-expected.txt: Removed.
  • fast/profiler/stop-profiling-after-setTimeout.html: Removed.
  • fast/profiler/stop-then-function-call-expected.txt: Removed.
  • fast/profiler/stop-then-function-call.html: Removed.
  • fast/profiler/throw-exception-from-eval-expected.txt: Removed.
  • fast/profiler/throw-exception-from-eval.html-disabled: Removed.
  • fast/profiler/two-execution-contexts-expected.txt: Removed.
  • fast/profiler/two-execution-contexts.html: Removed.
  • fast/profiler/user-defined-function-calls-built-in-functions-expected.txt: Removed.
  • fast/profiler/user-defined-function-calls-built-in-functions.html: Removed.
  • fast/profiler/window-dot-eval-expected.txt: Removed.
  • fast/profiler/window-dot-eval.html: Removed.
  • platform/efl/TestExpectations:
  • platform/gtk/TestExpectations:
  • platform/ios-simulator/TestExpectations:
2:07 PM Changeset in webkit [200923] by rniwa@webkit.org
  • 5 edits
    2 adds in trunk

ToT WebKit doesn't show tooltip on perf dashboard's summary page
https://bugs.webkit.org/show_bug.cgi?id=157705

Reviewed by Darin Adler.

Source/WebCore:

The bug was caused by WebKit doesn't look for the title attribute across shadow boundaries.
Fixed it by using a newly added Node::parentNodeInComposedTree in HitTestResult::title.

Test: fast/shadow-dom/tooltip-on-composed-tree.html

  • dom/Node.cpp:

(WebCore::Node::parentInComposedTree): Added.

  • dom/Node.h:
  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::title): Fixed the bug.
(WebCore::HitTestResult::innerTextIfTruncated): Fixed a related bug when ShowsToolTipOverTruncatedText
is enabled. Unfortunately, there is no machinery to test this feature yet.

LayoutTests:

Added a regression test for finding a tooltip across shadow boundaries.

  • fast/shadow-dom/tooltip-on-composed-tree-expected.txt: Added.
  • fast/shadow-dom/tooltip-on-composed-tree.html: Added.
1:09 PM Changeset in webkit [200922] by Darin Adler
  • 34 edits in trunk/Source

CTTE for the HTML editing header
https://bugs.webkit.org/show_bug.cgi?id=157676

Reviewed by Chris Dumez.

Source/WebCore:

  • accessibility/AXObjectCache.cpp:

(WebCore::AccessibilityReplacedText::postTextStateChangeNotification): Use auto so we have a
change to compile more efficient code using the more specific types returned, rather than
explicitly using a less specific type like Node.
(WebCore::AXObjectCache::startCharacterOffsetOfParagraph): Ditto.

  • accessibility/atk/WebKitAccessibleInterfaceText.cpp: Update for deprecatedIsEditingWhitespace name.
  • dom/Position.cpp:

(WebCore::Position::offsetForPositionAfterAnchor): Update to use a reference instead of a pointer.
(WebCore::Position::next): Ditto.
(WebCore::Position::atFirstEditingPositionForNode): Ditto.
(WebCore::Position::atLastEditingPositionForNode): Ditto.
(WebCore::Position::atStartOfTree): Ditto.
(WebCore::Position::atEndOfTree): Ditto.
(WebCore::Position::upstream): Ditto.
(WebCore::Position::downstream): Ditto.
(WebCore::Position::rendersInDifferentPosition): Ditto.

  • dom/PositionIterator.cpp:

(WebCore::PositionIterator::increment): Ditto.
(WebCore::PositionIterator::decrement): Ditto.
(WebCore::PositionIterator::atEnd): Ditto.
(WebCore::PositionIterator::atEndOfNode): Ditto.

  • editing/AlternativeTextController.cpp:

(WebCore::AlternativeTextController::markPrecedingWhitespaceForDeletedAutocorrectionAfterCommand):
Use new name, deprecatedIsEditingWhitespace.

  • editing/ApplyBlockElementCommand.cpp:

(WebCore::ApplyBlockElementCommand::formatSelection): Use auto (see rationale above).

  • editing/ApplyStyleCommand.cpp:

(WebCore::ApplyStyleCommand::applyBlockStyle): More of the same.
(WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): Ditto.
(WebCore::ApplyStyleCommand::fixRangeAndApplyInlineStyle): Ditto.
(WebCore::ApplyStyleCommand::isValidCaretPositionInTextNode): Ditto.
(WebCore::ApplyStyleCommand::mergeStartWithPreviousIfIdentical): Ditto.
(WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical): Ditto.
(WebCore::ApplyStyleCommand::surroundNodeRangeWithElement): Ditto.

  • editing/BreakBlockquoteCommand.cpp:

(WebCore::BreakBlockquoteCommand::doApply): Ditto.

  • editing/CompositeEditCommand.cpp:

(WebCore::postTextStateChangeNotification): Ditto.
(WebCore::CompositeEditCommand::insertNodeAt): Ditto.
(WebCore::CompositeEditCommand::positionOutsideTabSpan): Ditto.
(WebCore::containsOnlyDeprecatedEditingWhitespace): Ditto.
(WebCore::CompositeEditCommand::shouldRebalanceLeadingWhitespaceFor): Ditto.
(WebCore::CompositeEditCommand::rebalanceWhitespaceAt): Ditto.
(WebCore::CompositeEditCommand::rebalanceWhitespaceOnTextSubstring): Ditto.
(WebCore::CompositeEditCommand::insertNewDefaultParagraphElementAt): Ditto.
(WebCore::CompositeEditCommand::moveParagraphWithClones): Ditto.
(WebCore::CompositeEditCommand::moveParagraphs): Ditto.

  • editing/DeleteSelectionCommand.cpp:

(WebCore::DeleteSelectionCommand::initializeStartEnd): Ditto.
(WebCore::DeleteSelectionCommand::handleGeneralDelete): Ditto.
(WebCore::DeleteSelectionCommand::mergeParagraphs): Ditto.
(WebCore::DeleteSelectionCommand::doApply): Ditto.

  • editing/EditCommand.cpp:

(WebCore::EditCommand::postTextStateChangeNotification): Ditto.

  • editing/EditingStyle.cpp: Ditto.
  • editing/Editor.cpp:

(WebCore::Editor::advanceToNextMisspelling): Ditto.

  • editing/FormatBlockCommand.cpp:

(WebCore::FormatBlockCommand::formatRange): Ditto.

  • editing/IndentOutdentCommand.cpp:

(WebCore::IndentOutdentCommand::outdentParagraph): Ditto.

  • editing/InsertLineBreakCommand.cpp:

(WebCore::InsertLineBreakCommand::doApply): Ditto.

  • editing/InsertListCommand.cpp:

(WebCore::InsertListCommand::fixOrphanedListChild): Ditto.
(WebCore::InsertListCommand::doApplyForSingleParagraph): Ditto.
(WebCore::InsertListCommand::unlistifyParagraph): Ditto.
(WebCore::InsertListCommand::listifyParagraph): Ditto.

  • editing/InsertParagraphSeparatorCommand.cpp:

(WebCore::InsertParagraphSeparatorCommand::doApply): Ditto.

  • editing/InsertTextCommand.cpp:

(WebCore::InsertTextCommand::insertTab): Ditto.

  • editing/ModifySelectionListLevel.cpp:

(WebCore::IncreaseSelectionListLevelCommand::doApply): Ditto.

  • editing/ReplaceSelectionCommand.cpp:

(WebCore::ReplacementFragment::removeUnrenderedNodes): Ditto.
(WebCore::ReplaceSelectionCommand::shouldMerge): Ditto.
(WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): Ditto.
(WebCore::ReplaceSelectionCommand::mergeEndIfNeeded): Ditto.
(WebCore::enclosingInline): Ditto.
(WebCore::ReplaceSelectionCommand::doApply): Ditto.

  • editing/TextIterator.cpp:

(WebCore::maxOffsetIncludingCollapsedSpaces): Ditto.

  • editing/TypingCommand.cpp:

(WebCore::TypingCommand::forwardDeleteKeyPressed): Ditto.

  • editing/VisiblePosition.cpp:

(WebCore::VisiblePosition::honorEditingBoundaryAtOrBefore): Ditto.
(WebCore::VisiblePosition::honorEditingBoundaryAtOrAfter): Ditto.

  • editing/VisibleSelection.cpp:

(WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity): Ditto.
(WebCore::VisibleSelection::adjustSelectionToAvoidCrossingEditingBoundaries): Ditto.

  • editing/VisibleUnits.cpp:

(WebCore::previousRootInlineBoxCandidatePosition): Ditto.
(WebCore::nextRootInlineBoxCandidatePosition): Ditto.
(WebCore::startOfParagraph): Ditto.
(WebCore::endOfParagraph): Ditto.
(WebCore::startOfEditableContent): Ditto.
(WebCore::endOfEditableContent): Ditto.

  • editing/htmlediting.cpp:

(WebCore::highestEditableRoot): Changed return type to ContainerNode. Maybe later could
change it to Element.
(WebCore::lowestEditableAncestor): Changed return type to Element.
(WebCore::isEditableToAccessibility): Use auto.
(WebCore::isRichlyEditablePosition): Ditto.
(WebCore::editableRootForPosition): Ditto.
(WebCore::unsplittableElementForPosition):Ditto.
(WebCore::nextCandidate): Streamline.
(WebCore::nextVisuallyDistinctCandidate): Ditto.
(WebCore::previousCandidate): Ditto.
(WebCore::previousVisuallyDistinctCandidate): Ditto.
(WebCore::firstEditablePositionAfterPositionInRoot): Changed arugment type to
ContainerNode.
(WebCore::lastEditablePositionBeforePositionInRoot): Ditto.
(WebCore::lastOffsetForEditing): Changed argument type to reference.
(WebCore::stringWithRebalancedWhitespace): Optimized the case where the function does
not need to change the string, so it just returns the passed string rather than a copy.
(WebCore::isTableStructureNode): Use auto.
(WebCore::isSpecialElement): Made this function private to the file. Use auto.
(WebCore::firstInSpecialElement): Return an HTMLElement.
(WebCore::lastInSpecialElement): Ditto.
(WebCore::isFirstVisiblePositionInSpecialElement): Made this function private to the file.
(WebCore::positionBeforeContainingSpecialElement): Changed out argument to HTMLElement.
(WebCore::isLastVisiblePositionInSpecialElement): Ditto.
(WebCore::positionAfterContainingSpecialElement): Ditto.
(WebCore::positionOutsideContainingSpecialElement): Ditto.
(WebCore::isFirstPositionAfterTable): Changed return type to Element.
(WebCore::isLastPositionBeforeTable): Ditto.
(WebCore::visiblePositionBeforeNode): Changed argument type to reference.
(WebCore::visiblePositionAfterNode): Ditto.
(WebCore::enclosingElementWithTag): Use auto. Removed special case for null since the
algorithm already handles null correctly.
(WebCore::enclosingNodeOfType): Use auto.
(WebCore::highestEnclosingNodeOfType): Ditto.
(WebCore::highestNodeToRemoveInPruning): Ditto.
(WebCore::enclosingTableCell): Changed return type to Element.
(WebCore::enclosingAnchorElement): Removed special case for null since the algorithm
already handles null correctly.
(WebCore::enclosingList): Use auto.
(WebCore::enclosingListChild): Use auto.
(WebCore::enclosingEmptyListItem): Use auto.
(WebCore::outermostEnclosingList): Use auto.
(WebCore::canMergeLists): Use references and more specific type. Since both elements are
known to be HTMLElement, compare local names instead of using hasTagName.
(WebCore::isRenderedTable): Use auto.
(WebCore::isTableCell): Ditto.
(WebCore::isEmptyTableCell): Ditto.
(WebCore::createBreakElement): Deleted. Callers can use HTMLBRElement directly.
(WebCore::createOrderedListElement): Deleted. Callers can use HTMLOListElement directly.
(WebCore::createUnorderedListElement): Deleted. Callers can use HTMLUListElement directly.
(WebCore::createListItemElement): Deleted. Callers can use HTMLLIElement directly.
(WebCore::isTabSpanNode): Remove redundant checks and did more specific typecast.
(WebCore::isTabSpanTextNode): Removed redundant null checks.
(WebCore::tabSpanNode): Changed return type to HTMLSpanElement.
(WebCore::positionOutsideTabSpan): Deleted. Unused function.
(WebCore::createTabSpanElement): Made one of the overloads private to this file. Use auto.
Changed argument type since we don't need to support null. Moved createEditingTextNode code,
specific to the version without a string into that function rather than the helper function.
(WebCore::isNodeRendered): Changed argument type to a reference.
(WebCore::numEnclosingMailBlockquotes): Streamlined.
(WebCore::isMailBlockquote): Use downcast instead of static_cast.
(WebCore::caretMinOffset): Take a reference instead of a pointer.
(WebCore::caretMaxOffset): Ditto.
(WebCore::selectionForParagraphIteration): Use auto.
(WebCore::indexForVisiblePosition): Ditto.
(WebCore::visiblePositionForIndex): Ditto.
(WebCore::visiblePositionForIndexUsingCharacterIterator): Ditto.
(WebCore::isVisiblyAdjacent): Made this private to this file.
(WebCore::isNodeVisiblyContainedWithin): Changed argument type to a reference.
(WebCore::areIdenticalElements): Changed argument types to references.
(WebCore::adjustedSelectionStartForStyleComputation): Use auto.
(WebCore::isBlockFlowElement): Changed argument type to a reference. Use auto.
(WebCore::deprecatedEnclosingBlockFlowElement): Updated for reference changes.
(WebCore::rendererForCaretPainting): Use auto.

  • editing/htmlediting.h: Use pragma once. Removed unneeded includes and forward declarations.

Removed various non-helpful comments (the sections still don't make sense; not really good to
group functions by their return types). Moved inline functoin bodies to the bottom of the file.
Renamed isWhitespace to deprecatedIsEditingWhitespace.

  • editing/markup.cpp:

(WebCore::createFragmentFromText): Use HTMLBRElement.

  • page/DOMSelection.cpp:

(WebCore::DOMSelection::extend): Updated since caretMaxOffset takes a reference.

Source/WebKit/ios:

  • WebCoreSupport/WebFrameIOS.mm:

(-[WebFrame previousUnperturbedDictationResultBoundaryFromPosition:]): Update since
lastOffsetForEditing takes a reference now. Seems like this code should be in WebCore.
(-[WebFrame nextUnperturbedDictationResultBoundaryFromPosition:]): Ditto.

12:18 PM Changeset in webkit [200921] by mmaxfield@apple.com
  • 9 edits
    2 adds in trunk

Support ArrayBufferViews in the CSS Font Loading API
https://bugs.webkit.org/show_bug.cgi?id=157694
<rdar://problem/25554267>

Source/WebCore:

This patch adds a new mode to CSSFontFaceSource for immediate (ArrayBuffer) data.
Then, FontFace can simply be hooked up to this new mode.

Reviewed by Darin Adler.

Test: fast/text/css-font-loading-arraybuffer.html

  • css/CSSFontFaceSource.cpp:

(WebCore::CSSFontFaceSource::CSSFontFaceSource):
(WebCore::CSSFontFaceSource::font):

  • css/CSSFontFaceSource.h:
  • css/FontFace.cpp:

(WebCore::FontFace::create):

  • loader/cache/CachedFont.cpp:

(WebCore::CachedFont::ensureCustomFontData):
(WebCore::CachedFont::createCustomFontData):
(WebCore::CachedFont::createFont):
(WebCore::CachedFont::platformDataFromCustomData):

  • loader/cache/CachedFont.h:

LayoutTests:

Reviewed by Darin Adler.

  • fast/text/css-font-loading-arraybuffer-expected.txt: Added.
  • fast/text/css-font-loading-arraybuffer.html: Added.
10:56 AM Changeset in webkit [200920] by Chris Dumez
  • 6 edits in trunk/Source/WebCore

[WebIDL] Add support for dictionary members of integer types
https://bugs.webkit.org/show_bug.cgi?id=157703

Reviewed by Darin Adler.

Add support for dictionary members of integer types, including support
for the [Clamp] and [EnforceRange] IDL extended attributes on such
members.

  • bindings/js/JSDOMConvert.h:

(WebCore::convert):
(WebCore::convertOptional):

  • Add the needed template specializations so we can use convertOptional() with integral types.
  • Use std::enable_if so the template specializations meants to be used for floating point types or integral types can only be instantiated for such types.
  • bindings/scripts/CodeGeneratorJS.pm:

(GenerateConversionRuleWithLeadingComma):
(GetIntegerConversionConfiguration):
(JSValueToNative):
Generate the right IntegerConversionConfiguration parameter for convert()
and convertOptional() when converting dictionary members of integral
types

  • bindings/scripts/IDLParser.pm:

(parseDictionaryMember):
Fix bug in the IDL parser where we weren't initializing the extended
attributes for dictionary members.

  • bindings/scripts/test/JS/JSTestObj.cpp:
  • bindings/scripts/test/TestObj.idl:

Add bindings tests coverage.

9:54 AM Changeset in webkit [200919] by Chris Dumez
  • 3 edits in trunk/Source/WebCore

Allocate MacGlyphToPathTranslator / CairoGlyphToPathTranslator on the stack
https://bugs.webkit.org/show_bug.cgi?id=157690

Reviewed by Myles C. Maxfield.

Allocate MacGlyphToPathTranslator / CairoGlyphToPathTranslator on the
stack. We also now use the subclass type for the local variable so it
will bypass the vtable for various virtual function calls (if the compiler
was not already smart enough to figure this out).

  • platform/graphics/cairo/FontCairo.cpp:

(WebCore::FontCascade::dashesForIntersectionsWithRect):

  • platform/graphics/cocoa/FontCascadeCocoa.mm:

(WebCore::FontCascade::dashesForIntersectionsWithRect):

7:59 AM Changeset in webkit [200918] by Nikita Vasilyev
  • 2 edits in trunk/Source/WebInspectorUI

Web Inspector: Empty line shows arrow when hovering over Animation Frame Requested in timeline recording
https://bugs.webkit.org/show_bug.cgi?id=157707

Reviewed by Timothy Hatcher.

  • UserInterface/Views/DataGrid.css:

(.data-grid:not(.variable-height-rows) > .data-container > table.data > tbody > tr > td > div):

Note: See TracTimeline for information about the timeline view.