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

Timeline



Sep 1, 2013:

11:36 PM Changeset in webkit [154949] by ap@apple.com
  • 9 edits
    4 adds in trunk

[WK2][Mac] Drag and drop tests interfere with user's UI
https://bugs.webkit.org/show_bug.cgi?id=120538

Reviewed by Dan Bernstein.

This makes running WebKit2 regression tests locally more viable. The patch doesn't
fix drag and drop tests to work as expected, I posted some thought about that in
<https://bugs.webkit.org/show_bug.cgi?id=68552>.

  • WebKitTestRunner/EventSenderProxy.h: (WTR::EventSenderProxy::position):
  • WebKitTestRunner/TestController.h: (WTR::TestController::eventSenderProxy): Expose a way to get current mouse position from anywhere in WKTR code.
  • WebKitTestRunner/WebKitTestRunner.xcodeproj/project.pbxproj: Added new files.
  • WebKitTestRunner/mac/EventSenderProxy.mm: (WTR::EventSenderProxy::mouseUp): Copied a FIXME comment from DumpRenderTree.
  • WebKitTestRunner/mac/PlatformWebViewMac.mm: (-[TestRunnerWKView dragImage:at:offset:event:pasteboard:source:slideBack:]): Override drag initiation, using a custom NSDraggingInfo implementation.
  • WebKitTestRunner/mac/TestControllerMac.mm: (WTR::TestController::platformInitialize): Replace NSEvent with a custom class.
  • WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.h: Added.
  • WebKitTestRunner/mac/WebKitTestRunnerDraggingInfo.mm: Added.
  • WebKitTestRunner/mac/WebKitTestRunnerEvent.h: Added.
  • WebKitTestRunner/mac/WebKitTestRunnerEvent.mm: Added. Largely a copy of DumpRenderTree classes, modified to not use global variables. We should consider making these variables static in EventSenderProxy though, as it's strange that mouse state in WKTR is reset between tests without WebKit ever being told about that.
9:53 PM Changeset in webkit [154948] by krit@webkit.org
  • 8 edits
    9 adds in trunk

Source/WebCore: Add 'edgeMode' attribute to SVGFEGaussianBlur
https://bugs.webkit.org/show_bug.cgi?id=120582

Add 'edgeMode' attribute to the SVGFEGaussianBlur element. This attribute
allows users to define the behavior on edges with the values 'none' where
pixel values outside the input image are treated as transparent black. (The
current blurring behavior.) 'duplicate' which repeats the values on the
nearest edge and 'warp', which takes the pixel of the opposite site of
the input image.
Beside the attribute, this patch implements the behavior of 'duplicate'.

http://dev.w3.org/fxtf/filters/#feGaussianBlurEdgeModeAttribute

Reviewed by Rob Buis.

Tests: svg/dynamic-updates/SVGFEGaussianBlurElement-dom-edgeMode-attr.html

svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-edgeMode-prop.html
svg/filters/svg-gaussianblur-edgeMode-duplicate-expected.svg
svg/filters/svg-gaussianblur-edgeMode-duplicate.svg

  • platform/graphics/filters/FEGaussianBlur.cpp:

(WebCore::FEGaussianBlur::FEGaussianBlur):
(WebCore::FEGaussianBlur::create):
(WebCore::FEGaussianBlur::edgeMode):
(WebCore::FEGaussianBlur::setEdgeMode):
(WebCore::boxBlur):
(WebCore::FEGaussianBlur::platformApplyGeneric):
(WebCore::FEGaussianBlur::determineAbsolutePaintRect):

  • platform/graphics/filters/FEGaussianBlur.h:
  • rendering/FilterEffectRenderer.cpp:

(WebCore::FilterEffectRenderer::build):

  • svg/SVGFEGaussianBlurElement.cpp:

(WebCore::SVGFEGaussianBlurElement::SVGFEGaussianBlurElement):
(WebCore::SVGFEGaussianBlurElement::isSupportedAttribute):
(WebCore::SVGFEGaussianBlurElement::parseAttribute):
(WebCore::SVGFEGaussianBlurElement::svgAttributeChanged):
(WebCore::SVGFEGaussianBlurElement::build):

  • svg/SVGFEGaussianBlurElement.h:
  • svg/SVGFEGaussianBlurElement.idl:

LayoutTests: Add edgeMode attribtue.

Add 'edgeMode' attribute to SVGFEGaussianBlur
https://bugs.webkit.org/show_bug.cgi?id=120582

Added DOM and SVGDOM tests for the attribute 'edgeMode'.
Also added a reftest to test edgeMode='duplicate'.

Reviewed by Rob Buis.

  • platform/mac/svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-edgeMode-prop-expected.png: Added.
  • svg/dynamic-updates/SVGFEGaussianBlurElement-dom-edgeMode-attr-expected.txt: Added.
  • svg/dynamic-updates/SVGFEGaussianBlurElement-dom-edgeMode-attr.html: Added.
  • svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-edgeMode-prop-expected.txt: Added.
  • svg/dynamic-updates/SVGFEGaussianBlurElement-svgdom-edgeMode-prop.html: Added.
  • svg/dynamic-updates/script-tests/SVGFEGaussianBlurElement-dom-edgeMode-attr.js: Added.

(repaintTest):

  • svg/dynamic-updates/script-tests/SVGFEGaussianBlurElement-svgdom-edgeMode-prop.js: Added.

(repaintTest):

  • svg/filters/svg-gaussianblur-edgeMode-duplicate-expected.svg: Added.
  • svg/filters/svg-gaussianblur-edgeMode-duplicate.svg: Added.
1:04 PM Changeset in webkit [154947] by akling@apple.com
  • 9 edits in trunk/Source/WebCore

EventHandler::m_frame should be a Frame&.
<https://webkit.org/b/120580>

Reviewed by Darin Adler.

EventHandler is tied to the lifetime of its frame, so let m_frame be a Frame&.
A handful of null checks and assertions removed.

12:23 PM Changeset in webkit [154946] by Darin Adler
  • 2 edits in trunk/Source/WebCore

Fix a mistake in my recent pasteboard/editor refactoring that was causing tests to fail.

  • editing/mac/EditorMac.mm:

(WebCore::getImage): One place this said cachedImage but it should have said tentativeCachedImage.

12:12 PM Changeset in webkit [154945] by Darin Adler
  • 6 edits in trunk/Source/WebCore

HitTestResult should have innerNonSharedElement
https://bugs.webkit.org/show_bug.cgi?id=120579

Reviewed by Andreas Kling.

  • editing/Editor.cpp:

(WebCore::Editor::copyImage): Call HitTestResult member function version of
innerNonSharedElement instead of a local function that does it.

  • page/Chrome.cpp:

(WebCore::Chrome::setToolTip): Use innerNonSharedElement instead of getting
the node and checking if it's an input element. Also added some missing braces.

  • page/EventHandler.cpp:

(WebCore::EventHandler::selectClosestWordFromHitTestResult): Use targetNode for
local variables instead of innerNode to match the HitTestResult function name.
(WebCore::EventHandler::selectClosestWordOrLinkFromMouseEvent): Ditto.
(WebCore::EventHandler::handleMousePressEventTripleClick): Ditto.
(WebCore::EventHandler::handleMousePressEventSingleClick): Ditto.
(WebCore::EventHandler::handleMousePressEvent): Ditto.

  • rendering/HitTestResult.cpp:

(WebCore::HitTestResult::innerElement): Rewrote so there there is no loop.
(WebCore::HitTestResult::innerNonSharedElement): Ditto.

  • rendering/HitTestResult.h: Added innerNonSharedElement. Generally speaking,

we'd like to avoid using Node unless there is some real need.

10:12 AM Changeset in webkit [154944] by calvaris@igalia.com
  • 7 edits
    2 adds in trunk

Volume slider value should be 0 when audio is muted
https://bugs.webkit.org/show_bug.cgi?id=120553

Reviewed by Eric Carlson.

Source/WebCore:

Fixed the problem of showing a non empty slider when audio is
muted.

Test: media/volume-bar-empty-when-muted.html.

  • html/shadow/MediaControls.cpp:

(WebCore::MediaControls::reset): Use setSliderVolume.
(WebCore::MediaControls::changedVolume): Use setSliderVolume.
(WebCore::MediaControls::setSliderVolume): Added to set the volume
to 0 when muted and to its value otherwise.

  • html/shadow/MediaControls.h: Added setSliderVolume.
  • html/shadow/MediaControlsApple.cpp:

(WebCore::MediaControlsApple::reset): Used setSliderVolume and
setFullscreenSliderVolume.
(WebCore::MediaControlsApple::changedVolume): Used
setFullscreenSliderVolume.
(WebCore::MediaControlsApple::setFullscreenSliderVolume): Added to
set the volume to 0 when muted and to its value otherwise.

  • html/shadow/MediaControlsApple.h: Added setFullscreenSliderVolume
  • html/shadow/MediaControlsBlackBerry.cpp:

(WebCore::MediaControlsBlackBerry::reset): Used setSliderVolume.

LayoutTests:

Added test to check if the volume slider value is 0 when the
element is muted even if volume is set to something else.

  • media/volume-bar-empty-when-muted-expected.txt: Added.
  • media/volume-bar-empty-when-muted.html: Added.
7:57 AM Changeset in webkit [154943] by akling@apple.com
  • 12 edits in trunk/Source/WebCore

Give EditCommand a protected Frame& getter.
<https://webkit.org/b/120574>

Reviewed by Darin Adler.

EditCommand is only created for documents that are attached to a Frame,
we already ASSERTed as much in the EditCommand constructor.

This patch adds a "Frame& EditCommand::frame()" helper, so EditCommand
and its subclasses don't have to fumble around with pointers.

6:53 AM Changeset in webkit [154942] by commit-queue@webkit.org
  • 11 edits in trunk/LayoutTests

Web Inspector: A little more test cleanup
https://bugs.webkit.org/show_bug.cgi?id=120575

Patch by Joseph Pecoraro <Joseph Pecoraro> on 2013-09-01
Reviewed by Timothy Hatcher.

Give tests names and remove unnecessary script type attributes.

  • inspector-protocol/debugger/removeBreakpoint-expected.txt:
  • inspector-protocol/debugger/removeBreakpoint.html:
  • inspector-protocol/debugger/setBreakpoint-autoContinue-expected.txt:
  • inspector-protocol/debugger/setBreakpoint-autoContinue.html:
  • inspector-protocol/debugger/setBreakpoint-column-expected.txt:
  • inspector-protocol/debugger/setBreakpoint-column.html:
  • inspector-protocol/debugger/setBreakpoint-condition-expected.txt:
  • inspector-protocol/debugger/setBreakpoint-condition.html:
  • inspector-protocol/debugger/setBreakpoint-expected.txt:
  • inspector-protocol/debugger/setBreakpoint.html:
4:23 AM Changeset in webkit [154941] by calvaris@igalia.com
  • 6 edits in trunk/LayoutTests

Fixed typo in media/video-volume-slider.html
https://bugs.webkit.org/show_bug.cgi?id=120578

Unreviewed.

  • media/video-volume-slider.html: Fixed typo.
  • platform/gtk/media/video-volume-slider-expected.png:
  • platform/gtk/media/video-volume-slider-expected.txt:
  • platform/mac/media/video-volume-slider-expected.png:
  • platform/mac/media/video-volume-slider-expected.txt: New

baselines.

3:33 AM Changeset in webkit [154940] by Antti Koivisto
  • 13 edits
    1 add in trunk/Source/WebCore

Add element ancestor iterator
https://bugs.webkit.org/show_bug.cgi?id=120563

Reviewed by Andreas Kling.

This patch adds ancestor iterators. They iterate over elements parent chain up to the root.

To iterate over Element ancestors:

auto ancestors = elementAncestors(this);
for (auto it = ancestors.begin(), end = ancestors.end(); it != end; ++it) {

Element& element = *it;
...

To iterate over Element ancestors including the current element:

auto lineage = elementLineage(this);
for (auto it = lineage.begin(), end = lineage.end(); it != end; ++it) {

Element& element = *it;
...


To iterate over ancestors of a specific Element subclass:

auto htmlAncestors = ancestorsOfType<HTMLElement>(this);
for (auto it = htmlAncestors.begin(), end = htmlAncestors.end(); it != end; ++it) {

HTMLElement& htmlElement = *it;
...


To iterate over ancestors of a specific Element subclass including the current element:

auto htmlLineage = lineageOfType<HTMLElement>(this);
for (auto it = htmlLineage.begin(), end = htmlLineage.end(); it != end; ++it) {

HTMLElement& htmlElement = *it;
...


The patch also uses the new types in a few places.

  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/AccessibilityNodeObject.cpp:

(WebCore::AccessibilityNodeObject::mouseButtonListener):
(WebCore::AccessibilityNodeObject::labelForElement):

  • dom/ElementAncestorIterator.h: Added.

(WebCore::::ElementAncestorIterator):
(WebCore::::operator):
(WebCore::::ElementAncestorConstIterator):
(WebCore::::ElementAncestorIteratorAdapter):
(WebCore::::begin):
(WebCore::::end):
(WebCore::::ElementAncestorConstIteratorAdapter):
(WebCore::elementLineage):
(WebCore::elementAncestors):
(WebCore::ancestorsOfType):

  • dom/ElementIterator.h:

(WebCore::findElementAncestorOfType):
(WebCore::::traverseAncestor):
(WebCore::=):

  • html/HTMLElement.cpp:

(WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):

  • html/HTMLFieldSetElement.h:

(WebCore::isHTMLFieldSetElement):
(WebCore::HTMLFieldSetElement):

  • html/HTMLFrameSetElement.cpp:

(WebCore::HTMLFrameSetElement::findContaining):

  • html/HTMLFrameSetElement.h:

(WebCore::HTMLFrameSetElement):

  • html/HTMLInputElement.h:

(WebCore::isHTMLInputElement):
(WebCore::toHTMLInputElement):

  • html/HTMLLegendElement.cpp:

(WebCore::HTMLLegendElement::associatedControl):

Aug 31, 2013:

11:26 PM Changeset in webkit [154939] by Darin Adler
  • 7 edits in trunk/Source/WebCore

Refactor URL and image writing so layer-violating parts are in Editor, not Pasteboard (Mac-only at first)
https://bugs.webkit.org/show_bug.cgi?id=120573

Reviewed by Andreas Kling.

  • editing/Editor.cpp:

(WebCore::Editor::copy): Use writeImageToPasteboard instead of Pasteboard::writeImage on Mac.
(WebCore::Editor::copyURL): Use writeURLToPasteboard instead of Pasteboard::writeURL on Mac.
(WebCore::innerNonSharedElement): Added. Used in copyImage.
(WebCore::Editor::copyImage): Use innerNonSharedElement instead of innerNonSharedNode.
Use writeImageToPasteboard instead of Pasteboard::writeImage on Mac.

  • editing/Editor.h: Add new functions, writeURLToPasteboard and writeImageToPasteboard,

both Mac-only for now.

  • editing/mac/EditorMac.mm:

(WebCore::Editor::pasteWithPasteboard): Removed unneeded "m_frame.editor()" round trip that
was left behind in this function.
(WebCore::getImage): Added. Helper used by writeImageToPasteboard.
(WebCore::Editor::writeURLToPasteboard): Added. Sets up PasteboardURL and then calls
Pasteboard::write with it.
(WebCore::Editor::writeImageToPasteboard): Added. Sets up PasteboardImage and then calls
Pasteboard::write with it.

  • page/DragController.cpp:

(WebCore::DragController::startDrag): Use Editor::writeURLToPasteboard instead of
Pasteboard::writeURL on Mac.

  • platform/Pasteboard.h: Added PasteboardURL and PasteboardImage structures.

Declare write functions for PasteboardWebContent, PasteboardURL, and PasteboardImage.
Guard writeURL and writeImage with !PLATFORM(MAC).

  • platform/mac/PasteboardMac.mm:

(WebCore::writeURLForTypes): Changed this to take a PasteboardURL.
(WebCore::Pasteboard::write): Renamed writeURL and writeImage to this. Refactor both
to take PasteboardURL and PasteboardImage arguments.
(WebCore::fileWrapper): Renamed from fileWrapperForImage since the fact that this is
for an image is now clear from its argument, a PasteboardImage.
(WebCore::writeFileWrapperAsRTFDAttachment): Changed this function to use early return.

10:30 PM Changeset in webkit [154938] by akling@apple.com
  • 69 edits in trunk/Source/WebCore

EditCommand constructors should take Document&.
<https://webkit.org/b/120566>

Reviewed by Darin Adler.

Let EditCommand's and all subclass constructors take Document& instead of Document*.
EditCommand::document() now returns a Document&.

Added Editor::document() which returns Editor::frame().document() after asserting
that it's non-null, to make passing a Document& from Editor functions easier.

10:29 PM Changeset in webkit [154937] by akling@apple.com
  • 42 edits in trunk/Source/WebCore

Make more use of toRenderFoo(RenderObject&) cast helpers.
<https://webkit.org/b/120565>

Reviewed by Darin Adler.

To make amends for putting ugly toRenderFoo(&renderer) casts everywhere,
here's a patch that switches a bunch of code over to using reference-based casts.

I removed pointer-based casts altogether for these renderers:

  • RenderBR
  • RenderCombineText
  • RenderListMarker
  • RenderVideo
  • RenderView
10:04 PM Changeset in webkit [154936] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebCore

warning: unused parameter ‘renderingMode' in ImageBufferCairo.cpp:94
https://bugs.webkit.org/show_bug.cgi?id=120543

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

Fixing warning by adding ASSERT_UNUSED.

  • platform/graphics/cairo/ImageBufferCairo.cpp:

(WebCore::ImageBuffer::ImageBuffer):

7:02 PM Changeset in webkit [154935] by fpizlo@apple.com
  • 13 edits in trunk/Source/JavaScriptCore

CodeBlock refactoring broke profile dumping
https://bugs.webkit.org/show_bug.cgi?id=120551

Reviewed by Michael Saboff.

Fix the bug, and did a big clean-up of how Executable returns CodeBlocks. A lot
of the problems we have with code like CodeBlock::baselineVersion() is that we
were trying *way too hard* to side-step the fact that Executable can't return a
CodeBlock*. Previously it could only return CodeBlock&, so if it didn't have a
CodeBlock yet, you were screwed. And if you didn't know, or weren't sure, if it
did have a CodeBlock, you were really going to have a bad time. Also it really
bugs me that the methods were called generatedBytecode(). In all other contexts
if you ask for a CodeBlock, then method to call is codeBlock(). So I made all
of those changes.

  • bytecode/CodeBlock.cpp:

(JSC::CodeBlock::baselineVersion):
(JSC::ProgramCodeBlock::replacement):
(JSC::EvalCodeBlock::replacement):
(JSC::FunctionCodeBlock::replacement):
(JSC::CodeBlock::globalObjectFor):

  • bytecode/CodeOrigin.cpp:

(JSC::InlineCallFrame::hash):

  • dfg/DFGOperations.cpp:
  • interpreter/Interpreter.cpp:

(JSC::Interpreter::execute):
(JSC::Interpreter::executeCall):
(JSC::Interpreter::executeConstruct):
(JSC::Interpreter::prepareForRepeatCall):

  • jit/JITCode.h:

(JSC::JITCode::isExecutableScript):
(JSC::JITCode::isLowerTier):

  • jit/JITStubs.cpp:

(JSC::lazyLinkFor):
(JSC::DEFINE_STUB_FUNCTION):

  • llint/LLIntSlowPaths.cpp:

(JSC::LLInt::traceFunctionPrologue):
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
(JSC::LLInt::setUpCall):

  • runtime/ArrayPrototype.cpp:

(JSC::isNumericCompareFunction):

  • runtime/CommonSlowPaths.h:

(JSC::CommonSlowPaths::arityCheckFor):

  • runtime/Executable.cpp:

(JSC::ScriptExecutable::installCode):

  • runtime/Executable.h:

(JSC::EvalExecutable::codeBlock):
(JSC::ProgramExecutable::codeBlock):
(JSC::FunctionExecutable::eitherCodeBlock):
(JSC::FunctionExecutable::codeBlockForCall):
(JSC::FunctionExecutable::codeBlockForConstruct):
(JSC::FunctionExecutable::codeBlockFor):

  • runtime/FunctionExecutableDump.cpp:

(JSC::FunctionExecutableDump::dump):

5:21 PM Changeset in webkit [154934] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

warning: unused parameter point and area in EwkView.cpp:1390
https://bugs.webkit.org/show_bug.cgi?id=120545

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

  • UIProcess/API/efl/EwkView.cpp:

(EwkView::didFindZoomableArea): Added UNUSED_PARAM.

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

Fix typo in r154931 that caused assertions in continuation tests.

  • rendering/InlineFlowBox.cpp:

(WebCore::InlineFlowBox::paint):

2:05 PM Changeset in webkit [154932] by rwlbuis@webkit.org
  • 4 edits in trunk

XMLSerializer-attribute-namespace-prefix-conflicts can't produce reliable results
https://bugs.webkit.org/show_bug.cgi?id=120490

Reviewed by Ryosuke Niwa.

Source/WebCore:

Retain the key of the namespaces map by using AtomicString as key instead of AtomicStringImpl*.

  • editing/MarkupAccumulator.h:

LayoutTests:

Unskip these previously failing tests.

11:34 AM Changeset in webkit [154931] by akling@apple.com
  • 42 edits in trunk/Source/WebCore

InlineBox::renderer() and pals should return references.
<https://webkit.org/b/120562>

Reviewed by Antti Koivisto.

Make InlineBox::renderer() and its friends return references instead of pointers.
Every box always has a renderer, so this clears up any ambiguity, and a number of
weird assertions in SVG code.

Made InlineBox::m_renderer private so subclasses have to go through renderer().
The next step will be to replace renderer() with tightly-typed accessors where
applicable (e.g InlineTextBox's renderer is always a RenderText.)

Also added reference versions of these RenderObject casts:

  • toRenderBox()
  • toRenderBlock()
  • toRenderInline()
  • toRenderSVGInlineText()
8:18 AM Changeset in webkit [154930] by commit-queue@webkit.org
  • 2 edits in trunk/Source/WebKit2

Remove unused variable in LayerTreeHost
https://bugs.webkit.org/show_bug.cgi?id=118950

Patch by Jae Hyun Park <jae.park@company100.net> on 2013-08-31
Reviewed by Anders Carlsson.

m_waitingForUIProcess has been renamed to m_isWaitingForRenderer as of
r152183, and it is a private variable in CoordinatedLayerTreeHost. Thus,
we don't need m_waitingForUIProcess in LayerTreeHost.

  • WebProcess/WebPage/LayerTreeHost.h:
7:14 AM Changeset in webkit [154929] by akling@apple.com
  • 4 edits in trunk/Source/WebCore

PostAttachCallbackDisabler should take a ContainerNode&.
<https://webkit.org/b/120560>

Reviewed by Antti Koivisto.

Let PostAttachCallbackDisabler take a reference and remove an ugly assertion.

  • dom/ContainerNode.h:

(WebCore::PostAttachCallbackDisabler::PostAttachCallbackDisabler):
(WebCore::PostAttachCallbackDisabler::~PostAttachCallbackDisabler):

  • dom/Document.cpp:

(WebCore::Document::recalcStyle):

  • style/StyleResolveTree.cpp:

(WebCore::Style::attachRenderTree):

7:12 AM Changeset in webkit [154928] by Antti Koivisto
  • 28 edits
    2 moves in trunk/Source/WebCore

Rename ChildIterator -> ElementChildIterator, DescendantIterator -> ElementDescendantIterator
https://bugs.webkit.org/show_bug.cgi?id=120561

Reviewed by Andreas Kling.

New names are more descriptive and consistent. They also put related iterator files close by in file lists.
The types are always used with auto so longer names don't make them any clumsier to use.

For simplicity included all Element iterator types from ElementIterator.h so it is the only file that has
to be included by the clients.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • accessibility/AccessibilityNodeObject.cpp:
  • accessibility/AccessibilityRenderObject.cpp:
  • accessibility/AccessibilityTable.cpp:
  • css/CSSFontFaceSource.cpp:
  • dom/ChildIterator.h: Removed.
  • dom/DescendantIterator.h: Removed.
  • dom/Document.cpp:
  • dom/ElementChildIterator.h: Copied from Source/WebCore/dom/ChildIterator.h.

(WebCore::::ElementChildIterator):
(WebCore::::operator):
(WebCore::::ElementChildConstIterator):
(WebCore::::ElementChildIteratorAdapter):
(WebCore::::begin):
(WebCore::::end):
(WebCore::::ElementChildConstIteratorAdapter):
(WebCore::elementChildren):
(WebCore::childrenOfType):

  • dom/ElementDescendantIterator.h: Copied from Source/WebCore/dom/DescendantIterator.h.

(WebCore::::ElementDescendantIterator):
(WebCore::::operator):
(WebCore::::ElementDescendantConstIterator):
(WebCore::::ElementDescendantIteratorAdapter):
(WebCore::::begin):
(WebCore::::end):
(WebCore::::ElementDescendantConstIteratorAdapter):
(WebCore::elementDescendants):
(WebCore::descendantsOfType):

  • dom/ElementIterator.h:
  • dom/Node.cpp:
  • dom/TreeScope.cpp:
  • editing/ApplyStyleCommand.cpp:
  • editing/markup.cpp:
  • html/HTMLAppletElement.cpp:
  • html/HTMLFieldSetElement.cpp:
  • html/HTMLLabelElement.cpp:
  • html/HTMLMapElement.cpp:
  • html/HTMLMediaElement.cpp:
  • html/HTMLObjectElement.cpp:
  • loader/PlaceholderDocument.cpp:
  • rendering/FilterEffectRenderer.cpp:
  • style/StyleResolveTree.cpp:
  • svg/SVGElement.cpp:
  • svg/SVGSVGElement.cpp:
  • svg/animation/SMILTimeContainer.cpp:
  • svg/graphics/SVGImage.cpp:
7:07 AM Changeset in webkit [154927] by akling@apple.com
  • 3 edits in trunk/Source/WebCore

Don't do document style recalc unless there's a RenderView.
<https://webkit.org/b/120558>

Reviewed by Antti Koivisto.

There's no sense in computing style for a Document that has no RenderView.
Checking this before continuing also lets us know that there's a Frame & FrameView
present, simplifying some things later on.

  • dom/Document.cpp:

(WebCore::Document::recalcStyle):

  • style/StyleResolveForDocument.cpp:

(WebCore::Style::resolveForDocument):

6:04 AM Changeset in webkit [154926] by Antti Koivisto
  • 7 edits
    1 move
    1 add in trunk/Source/WebCore

Add common base for element iterators
https://bugs.webkit.org/show_bug.cgi?id=120557

Reviewed by Andreas Kling.

Add ElementIterator and use it as the base for child and descendant iterators. The only difference is the definition of operator++.

Also renamed DescendantIteratorAssertions to ElementIteratorAssertions.

  • GNUmakefile.list.am:
  • Target.pri:
  • WebCore.vcxproj/WebCore.vcxproj:
  • WebCore.xcodeproj/project.pbxproj:
  • dom/ChildIterator.h:

(WebCore::::ChildIterator):
(WebCore::::operator):
(WebCore::::ChildConstIterator):
(WebCore::::begin):
(WebCore::::end):

  • dom/DescendantIterator.h:

(WebCore::::DescendantIterator):
(WebCore::::operator):
(WebCore::::DescendantConstIterator):

  • dom/DescendantIteratorAssertions.h: Removed.
  • dom/ElementIterator.h: Added.

(WebCore::::ElementIterator):
(WebCore::::traverseNext):
(WebCore::::traversePrevious):
(WebCore::::traverseNextSibling):
(WebCore::::traversePreviousSibling):
(WebCore::::operator):
(WebCore::=):
(WebCore::::ElementConstIterator):

  • dom/ElementIteratorAssertions.h: Copied from Source/WebCore/dom/DescendantIteratorAssertions.h.

(WebCore::ElementIteratorAssertions::ElementIteratorAssertions):
(WebCore::ElementIteratorAssertions::domTreeHasMutated):
(WebCore::ElementIteratorAssertions::dropEventDispatchAssertion):

Note: See TracTimeline for information about the timeline view.