chromium/third_party/blink/renderer/core/html/html_slot_element.cc

/*
 * Copyright (C) 2015 Google Inc. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 *
 *     * Redistributions of source code must retain the above copyright
 * notice, this list of conditions and the following disclaimer.
 *     * Redistributions in binary form must reproduce the above
 * copyright notice, this list of conditions and the following disclaimer
 * in the documentation and/or other materials provided with the
 * distribution.
 *     * Neither the name of Google Inc. nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#include "third_party/blink/renderer/core/html/html_slot_element.h"

#include "base/containers/adapters.h"
#include "base/containers/contains.h"
#include "third_party/blink/renderer/bindings/core/v8/v8_assigned_nodes_options.h"
#include "third_party/blink/renderer/core/css/style_change_reason.h"
#include "third_party/blink/renderer/core/css/style_engine.h"
#include "third_party/blink/renderer/core/dom/events/event.h"
#include "third_party/blink/renderer/core/dom/flat_tree_node_data.h"
#include "third_party/blink/renderer/core/dom/mutation_observer.h"
#include "third_party/blink/renderer/core/dom/node_computed_style.h"
#include "third_party/blink/renderer/core/dom/node_traversal.h"
#include "third_party/blink/renderer/core/dom/shadow_root.h"
#include "third_party/blink/renderer/core/dom/slot_assignment.h"
#include "third_party/blink/renderer/core/dom/text.h"
#include "third_party/blink/renderer/core/dom/whitespace_attacher.h"
#include "third_party/blink/renderer/core/frame/web_feature.h"
#include "third_party/blink/renderer/core/html_names.h"
#include "third_party/blink/renderer/core/probe/core_probes.h"
#include "third_party/blink/renderer/core/style/computed_style.h"
#include "third_party/blink/renderer/platform/instrumentation/use_counter.h"

namespace blink {

namespace {
constexpr size_t kLCSTableSizeLimit =;
}

HTMLSlotElement::HTMLSlotElement(Document& document)
    :{}

// static
AtomicString HTMLSlotElement::NormalizeSlotName(const AtomicString& name) {}

// static
const AtomicString& HTMLSlotElement::UserAgentDefaultSlotName() {}

// static
const AtomicString& HTMLSlotElement::UserAgentCustomAssignSlotName() {}

const HeapVector<Member<Node>>& HTMLSlotElement::AssignedNodes() const {}

namespace {

HeapVector<Member<Node>> CollectFlattenedAssignedNodes(
    const HTMLSlotElement& slot) {}

}  // namespace

const HeapVector<Member<Node>> HTMLSlotElement::FlattenedAssignedNodes() {}

const HeapVector<Member<Node>> HTMLSlotElement::AssignedNodesForBinding(
    const AssignedNodesOptions* options) {}

const HeapVector<Member<Element>> HTMLSlotElement::AssignedElements() {}

const HeapVector<Member<Element>> HTMLSlotElement::AssignedElementsForBinding(
    const AssignedNodesOptions* options) {}

void HTMLSlotElement::assign(HeapVector<Member<V8UnionElementOrText>>& js_nodes,
                             ExceptionState&) {}

void HTMLSlotElement::Assign(const HeapVector<Member<Node>>& nodes) {}

void HTMLSlotElement::Assign(Node* node) {}

void HTMLSlotElement::AppendAssignedNode(Node& host_child) {}

void HTMLSlotElement::ClearAssignedNodes() {}

void HTMLSlotElement::ClearAssignedNodesAndFlatTreeChildren() {}

void HTMLSlotElement::UpdateFlatTreeNodeDataForAssignedNodes() {}

void HTMLSlotElement::DetachDisplayLockedAssignedNodesLayoutTreeIfNeeded() {}

void HTMLSlotElement::RecalcFlatTreeChildren() {}

void HTMLSlotElement::DispatchSlotChangeEvent() {}

AtomicString HTMLSlotElement::GetName() const {}

void HTMLSlotElement::AttachLayoutTreeForSlotChildren(AttachContext& context) {}

void HTMLSlotElement::DetachLayoutTree(bool performing_reattach) {}

void HTMLSlotElement::RebuildDistributedChildrenLayoutTrees(
    WhitespaceAttacher& whitespace_attacher) {}

void HTMLSlotElement::AttributeChanged(
    const AttributeModificationParams& params) {}

// When the result of `SupportsAssignment()` changes, the behavior of a
// <slot> element for ancestors with dir=auto changes.
void HTMLSlotElement::UpdateDirAutoAncestorsForSupportsAssignmentChange() {}

Node::InsertionNotificationRequest HTMLSlotElement::InsertedInto(
    ContainerNode& insertion_point) {}

void HTMLSlotElement::RemovedFrom(ContainerNode& insertion_point) {}

void HTMLSlotElement::RecalcStyleForSlotChildren(
    const StyleRecalcChange change,
    const StyleRecalcContext& style_recalc_context) {}

void HTMLSlotElement::NotifySlottedNodesOfFlatTreeChangeByDynamicProgramming(
    const HeapVector<Member<Node>>& old_slotted,
    const HeapVector<Member<Node>>& new_slotted) {}

void HTMLSlotElement::NotifySlottedNodesOfFlatTreeChange(
    const HeapVector<Member<Node>>& old_slotted,
    const HeapVector<Member<Node>>& new_slotted) {}

void HTMLSlotElement::DidSlotChangeAfterRemovedFromShadowTree() {}

void HTMLSlotElement::DidSlotChangeAfterRenaming() {}

void HTMLSlotElement::NotifySlottedNodesOfFlatTreeChangeNaive(
    const HeapVector<Member<Node>>& old_assigned_nodes,
    const HeapVector<Member<Node>>& new_assigned_nodes) {}

void HTMLSlotElement::SetShadowRootNeedsAssignmentRecalc() {}

void HTMLSlotElement::DidSlotChange(SlotChangeType slot_change_type) {}

void HTMLSlotElement::CheckFallbackAfterInsertedIntoShadowTree() {}

void HTMLSlotElement::CheckFallbackAfterRemovedFromShadowTree() {}

bool HTMLSlotElement::HasSlotableChild() const {}

void HTMLSlotElement::EnqueueSlotChangeEvent() {}

bool HTMLSlotElement::HasAssignedNodesSlow() const {}

void HTMLSlotElement::ChildrenChanged(const ChildrenChange& change) {}

bool HTMLSlotElement::CalculateAndAdjustAutoDirectionality() {}

void HTMLSlotElement::Trace(Visitor* visitor) const {}

}  // namespace blink