OSDN Git Service

am 3c54ece0: am 5dc34a85: activeDocumentLoader() causes crash in WebCoreFrameBridge.cpp
[android-x86/external-webkit.git] / WebCore / css / CSSFunctionValue.cpp
1 /*
2  * Copyright (C) 2008 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. ``AS IS'' AND ANY
14  * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
17  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
18  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
19  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
20  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
21  * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
23  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 
24  */
25
26 #include "config.h"
27 #include "CSSFunctionValue.h"
28 #include "CSSValueList.h"
29
30 namespace WebCore {
31
32 CSSFunctionValue::CSSFunctionValue(CSSParserFunction* function)
33 {
34     m_name = function->name;
35     if (function->args)
36         m_args = CSSValueList::createFromParserValueList(function->args);
37 }
38
39 CSSFunctionValue::~CSSFunctionValue()
40 {
41 }
42
43 String CSSFunctionValue::cssText() const
44 {
45     String result = m_name; // Includes the '('
46     if (m_args)
47         result += m_args->cssText();
48     result += ")";
49     return result;
50 }
51
52 CSSParserValue CSSFunctionValue::parserValue() const
53 {
54     CSSParserValue val;
55     val.id = 0;
56     val.isInt = false;
57     val.unit = CSSParserValue::Function;
58     val.function = new CSSParserFunction;
59     val.function->name.characters = const_cast<UChar*>(m_name.characters());
60     val.function->name.length = m_name.length();
61     val.function->args = m_args ? m_args->createParserValueList() : 0;
62     return val;
63 }
64
65 }