18e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project/*
28e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 1999-2003 Lars Knoll (knoll@kde.org)
38e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *               1999 Waldo Bastian (bastian@kde.org)
48e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *               2001 Andreas Schlapbach (schlpbch@iam.unibe.ch)
58e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *               2001-2003 Dirk Mueller (mueller@kde.org)
68e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Copyright (C) 2002, 2006, 2008 Apple Inc. All rights reserved.
78e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
88e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This library is free software; you can redistribute it and/or
98e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * modify it under the terms of the GNU Library General Public
108e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * License as published by the Free Software Foundation; either
118e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * version 2 of the License, or (at your option) any later version.
128e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
138e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * This library is distributed in the hope that it will be useful,
148e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * but WITHOUT ANY WARRANTY; without even the implied warranty of
158e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
168e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Library General Public License for more details.
178e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project *
188e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * You should have received a copy of the GNU Library General Public License
198e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * along with this library; see the file COPYING.LIB.  If not, write to
208e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
218e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project * Boston, MA 02110-1301, USA.
228e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project */
238e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
248e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "config.h"
258e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include "StyleList.h"
268e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
278e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project#include <wtf/PassRefPtr.h>
288e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
298e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectnamespace WebCore {
308e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
318e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid StyleList::append(PassRefPtr<StyleBase> child)
328e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
338e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    StyleBase* c = child.get();
348e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    m_children.append(child);
358e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    c->insertedIntoParent();
368e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
378e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
388e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid StyleList::insert(unsigned position, PassRefPtr<StyleBase> child)
398e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
408e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    StyleBase* c = child.get();
418e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (position >= length())
428e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        m_children.append(child);
438e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    else
448e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        m_children.insert(position, child);
458e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    c->insertedIntoParent();
468e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
478e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
488e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Projectvoid StyleList::remove(unsigned position)
498e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project{
508e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    if (position >= length())
518e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project        return;
528e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project    m_children.remove(position);
538e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
548e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project
558e35f3cfc7fba1d1c829dc557ebad6409cbe16a2The Android Open Source Project}
56