chromium/third_party/blink/renderer/core/dom/first_letter_pseudo_element.cc

/*
 * Copyright (C) 1999 Lars Knoll ([email protected])
 *           (C) 1999 Antti Koivisto ([email protected])
 *           (C) 2007 David Smith ([email protected])
 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
 * All rights reserved.
 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Library General Public
 * License as published by the Free Software Foundation; either
 * version 2 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Library General Public License for more details.
 *
 * You should have received a copy of the GNU Library General Public License
 * along with this library; see the file COPYING.LIB.  If not, write to
 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
 * Boston, MA 02110-1301, USA.
 */

#include "third_party/blink/renderer/core/dom/first_letter_pseudo_element.h"

#include "third_party/blink/renderer/core/accessibility/ax_object_cache.h"
#include "third_party/blink/renderer/core/css/resolver/style_resolver.h"
#include "third_party/blink/renderer/core/css/style_change_reason.h"
#include "third_party/blink/renderer/core/css/style_request.h"
#include "third_party/blink/renderer/core/dom/element.h"
#include "third_party/blink/renderer/core/dom/node_computed_style.h"
#include "third_party/blink/renderer/core/layout/generated_children.h"
#include "third_party/blink/renderer/core/layout/layout_object.h"
#include "third_party/blink/renderer/core/layout/layout_object_inlines.h"
#include "third_party/blink/renderer/core/layout/layout_text.h"
#include "third_party/blink/renderer/core/layout/layout_text_fragment.h"
#include "third_party/blink/renderer/core/layout/list/layout_list_item.h"
#include "third_party/blink/renderer/platform/text/text_break_iterator.h"
#include "third_party/blink/renderer/platform/wtf/text/code_point_iterator.h"
#include "third_party/blink/renderer/platform/wtf/text/unicode.h"
#include "third_party/blink/renderer/platform/wtf/text/wtf_string.h"

namespace blink {

namespace {

// CSS 2.1 http://www.w3.org/TR/CSS21/selector.html#first-letter "Punctuation
// (i.e, characters defined in Unicode [UNICODE] in the "open" (Ps), "close"
// (Pe), "initial" (Pi). "final" (Pf) and "other" (Po) punctuation classes),
// that precedes or follows the first letter should be included"
inline bool IsPunctuationForFirstLetter(UChar32 c) {}

bool IsPunctuationForFirstLetter(const String& string, unsigned offset) {}

inline bool IsNewLine(UChar c) {}

inline bool IsSpace(UChar c) {}

inline bool IsSpaceForFirstLetter(UChar c, bool preserve_breaks) {}

bool IsParentInlineLayoutObject(const LayoutObject* layout_object) {}

}  // namespace

unsigned FirstLetterPseudoElement::FirstLetterLength(const String& text,
                                                     bool preserve_breaks,
                                                     Punctuation& punctuation) {}

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

namespace {

LayoutObject* FirstInFlowInlineDescendantForFirstLetter(LayoutObject& parent) {}

}  // namespace

LayoutText* FirstLetterPseudoElement::FirstLetterTextLayoutObject(
    const Element& element) {}

FirstLetterPseudoElement::FirstLetterPseudoElement(Element* parent)
    :{}

FirstLetterPseudoElement::~FirstLetterPseudoElement() {}

void FirstLetterPseudoElement::UpdateTextFragments() {}

void FirstLetterPseudoElement::ClearRemainingTextLayoutObject() {}

void FirstLetterPseudoElement::AttachLayoutTree(AttachContext& context) {}

void FirstLetterPseudoElement::DetachLayoutTree(bool performing_reattach) {}

LayoutObject* FirstLetterPseudoElement::CreateLayoutObject(
    const ComputedStyle& style) {}

const ComputedStyle* FirstLetterPseudoElement::CustomStyleForLayoutObject(
    const StyleRecalcContext& style_recalc_context) {}

void FirstLetterPseudoElement::AttachFirstLetterTextLayoutObjects(
    LayoutText* first_letter_text) {}

Node* FirstLetterPseudoElement::InnerNodeForHitTesting() {}

}  // namespace blink