1/*
2 * Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies)
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 * Library General Public License for more details.
13 *
14 * You should have received a copy of the GNU Library General Public License
15 * along with this library; see the file COPYING.LIB.  If not, write to
16 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
18 */
19
20#include "config.h"
21#include "CSSBorderImage.h"
22
23namespace WebCore {
24
25PassRefPtr<CSSValueList> createBorderImageValue(PassRefPtr<CSSValue> image, PassRefPtr<CSSValue> imageSlice, PassRefPtr<CSSValue> borderSlice,
26                                                PassRefPtr<CSSValue> outset, PassRefPtr<CSSValue> repeat)
27{
28    RefPtr<CSSValueList> list = CSSValueList::createSpaceSeparated();
29    if (image)
30        list->append(image);
31
32    if (borderSlice || outset) {
33        RefPtr<CSSValueList> listSlash = CSSValueList::createSlashSeparated();
34        if (imageSlice)
35            listSlash->append(imageSlice);
36
37        if (borderSlice)
38            listSlash->append(borderSlice);
39
40        if (outset)
41            listSlash->append(outset);
42
43        list->append(listSlash);
44    } else if (imageSlice)
45        list->append(imageSlice);
46    if (repeat)
47        list->append(repeat);
48    return list.release();
49}
50
51} // namespace WebCore
52