blob: 19fdf8b9788f2087fddc08867545ac1393827582 [file] [log] [blame]
hyatt@apple.com9bcbad62011-03-22 19:03:50 +00001/*
2 * Copyright (C) 2011 Apple Inc. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15 * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23 * THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
26#include "config.h"
27#include "CSSLineBoxContainValue.h"
28
abarth@webkit.org956b9c22012-08-29 11:16:48 +000029#include <wtf/text/StringBuilder.h>
hyatt@apple.com9bcbad62011-03-22 19:03:50 +000030
31namespace WebCore {
32
33CSSLineBoxContainValue::CSSLineBoxContainValue(unsigned value)
andreas.kling@nokia.com5fd2a712011-11-07 21:19:45 +000034 : CSSValue(LineBoxContainClass)
35 , m_value(value)
hyatt@apple.com9bcbad62011-03-22 19:03:50 +000036{
37}
38
timothy_horton@apple.comdf4356a2013-09-04 20:13:30 +000039String CSSLineBoxContainValue::customCSSText() const
hyatt@apple.com9bcbad62011-03-22 19:03:50 +000040{
abarth@webkit.org956b9c22012-08-29 11:16:48 +000041 StringBuilder text;
hyatt@apple.com9bcbad62011-03-22 19:03:50 +000042
43 if (m_value & LineBoxContainBlock)
abarth@webkit.org956b9c22012-08-29 11:16:48 +000044 text.appendLiteral("block");
hyatt@apple.com9bcbad62011-03-22 19:03:50 +000045 if (m_value & LineBoxContainInline) {
46 if (!text.isEmpty())
abarth@webkit.org956b9c22012-08-29 11:16:48 +000047 text.append(' ');
48 text.appendLiteral("inline");
hyatt@apple.com9bcbad62011-03-22 19:03:50 +000049 }
50 if (m_value & LineBoxContainFont) {
51 if (!text.isEmpty())
abarth@webkit.org956b9c22012-08-29 11:16:48 +000052 text.append(' ');
53 text.appendLiteral("font");
hyatt@apple.com9bcbad62011-03-22 19:03:50 +000054 }
55 if (m_value & LineBoxContainGlyphs) {
56 if (!text.isEmpty())
abarth@webkit.org956b9c22012-08-29 11:16:48 +000057 text.append(' ');
58 text.appendLiteral("glyphs");
hyatt@apple.com9bcbad62011-03-22 19:03:50 +000059 }
60 if (m_value & LineBoxContainReplaced) {
61 if (!text.isEmpty())
abarth@webkit.org956b9c22012-08-29 11:16:48 +000062 text.append(' ');
63 text.appendLiteral("replaced");
hyatt@apple.com9bcbad62011-03-22 19:03:50 +000064 }
65 if (m_value & LineBoxContainInlineBox) {
66 if (!text.isEmpty())
abarth@webkit.org956b9c22012-08-29 11:16:48 +000067 text.append(' ');
68 text.appendLiteral("inline-box");
hyatt@apple.com9bcbad62011-03-22 19:03:50 +000069 }
hyatt@apple.comc2e15522014-09-03 19:26:38 +000070 if (m_value & LineBoxContainInitialLetter) {
71 if (!text.isEmpty())
72 text.append(' ');
73 text.appendLiteral("initial-letter");
74 }
hyatt@apple.com9bcbad62011-03-22 19:03:50 +000075
abarth@webkit.org956b9c22012-08-29 11:16:48 +000076 return text.toString();
hyatt@apple.com9bcbad62011-03-22 19:03:50 +000077}
78
hyatt@apple.com9bcbad62011-03-22 19:03:50 +000079}