| OLD | NEW |
| 1 /* | 1 /* |
| 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) | 2 * (C) 1999-2003 Lars Knoll (knoll@kde.org) |
| 3 * Copyright (C) 2004, 2006, 2010, 2012 Apple Inc. All rights reserved. | 3 * Copyright (C) 2004, 2006, 2010, 2012 Apple Inc. All rights reserved. |
| 4 * | 4 * |
| 5 * This library is free software; you can redistribute it and/or | 5 * This library is free software; you can redistribute it and/or |
| 6 * modify it under the terms of the GNU Library General Public | 6 * modify it under the terms of the GNU Library General Public |
| 7 * License as published by the Free Software Foundation; either | 7 * License as published by the Free Software Foundation; either |
| 8 * version 2 of the License, or (at your option) any later version. | 8 * version 2 of the License, or (at your option) any later version. |
| 9 * | 9 * |
| 10 * This library is distributed in the hope that it will be useful, | 10 * This library is distributed in the hope that it will be useful, |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 52 { | 52 { |
| 53 } | 53 } |
| 54 | 54 |
| 55 MediaQuerySet::MediaQuerySet(const MediaQuerySet& o) | 55 MediaQuerySet::MediaQuerySet(const MediaQuerySet& o) |
| 56 : m_queries(o.m_queries.size()) | 56 : m_queries(o.m_queries.size()) |
| 57 { | 57 { |
| 58 for (unsigned i = 0; i < m_queries.size(); ++i) | 58 for (unsigned i = 0; i < m_queries.size(); ++i) |
| 59 m_queries[i] = o.m_queries[i]->copy(); | 59 m_queries[i] = o.m_queries[i]->copy(); |
| 60 } | 60 } |
| 61 | 61 |
| 62 RawPtr<MediaQuerySet> MediaQuerySet::create(const String& mediaString) | 62 MediaQuerySet* MediaQuerySet::create(const String& mediaString) |
| 63 { | 63 { |
| 64 if (mediaString.isEmpty()) | 64 if (mediaString.isEmpty()) |
| 65 return MediaQuerySet::create(); | 65 return MediaQuerySet::create(); |
| 66 | 66 |
| 67 return MediaQueryParser::parseMediaQuerySet(mediaString); | 67 return MediaQueryParser::parseMediaQuerySet(mediaString); |
| 68 } | 68 } |
| 69 | 69 |
| 70 RawPtr<MediaQuerySet> MediaQuerySet::createOffMainThread(const String& mediaStri
ng) | 70 MediaQuerySet* MediaQuerySet::createOffMainThread(const String& mediaString) |
| 71 { | 71 { |
| 72 if (mediaString.isEmpty()) | 72 if (mediaString.isEmpty()) |
| 73 return MediaQuerySet::create(); | 73 return MediaQuerySet::create(); |
| 74 | 74 |
| 75 return MediaQueryParser::parseMediaQuerySet(mediaString); | 75 return MediaQueryParser::parseMediaQuerySet(mediaString); |
| 76 } | 76 } |
| 77 | 77 |
| 78 bool MediaQuerySet::set(const String& mediaString) | 78 bool MediaQuerySet::set(const String& mediaString) |
| 79 { | 79 { |
| 80 RawPtr<MediaQuerySet> result = create(mediaString); | 80 MediaQuerySet* result = create(mediaString); |
| 81 m_queries.swap(result->m_queries); | 81 m_queries.swap(result->m_queries); |
| 82 return true; | 82 return true; |
| 83 } | 83 } |
| 84 | 84 |
| 85 bool MediaQuerySet::add(const String& queryString) | 85 bool MediaQuerySet::add(const String& queryString) |
| 86 { | 86 { |
| 87 // To "parse a media query" for a given string means to follow "the parse | 87 // To "parse a media query" for a given string means to follow "the parse |
| 88 // a media query list" steps and return "null" if more than one media query | 88 // a media query list" steps and return "null" if more than one media query |
| 89 // is returned, or else the returned media query. | 89 // is returned, or else the returned media query. |
| 90 RawPtr<MediaQuerySet> result = create(queryString); | 90 MediaQuerySet* result = create(queryString); |
| 91 | 91 |
| 92 // Only continue if exactly one media query is found, as described above. | 92 // Only continue if exactly one media query is found, as described above. |
| 93 if (result->m_queries.size() != 1) | 93 if (result->m_queries.size() != 1) |
| 94 return true; | 94 return true; |
| 95 | 95 |
| 96 RawPtr<MediaQuery> newQuery = result->m_queries[0].release(); | 96 MediaQuery* newQuery = result->m_queries[0].release(); |
| 97 ASSERT(newQuery); | 97 ASSERT(newQuery); |
| 98 | 98 |
| 99 // If comparing with any of the media queries in the collection of media | 99 // If comparing with any of the media queries in the collection of media |
| 100 // queries returns true terminate these steps. | 100 // queries returns true terminate these steps. |
| 101 for (size_t i = 0; i < m_queries.size(); ++i) { | 101 for (size_t i = 0; i < m_queries.size(); ++i) { |
| 102 MediaQuery* query = m_queries[i].get(); | 102 MediaQuery* query = m_queries[i].get(); |
| 103 if (*query == *newQuery) | 103 if (*query == *newQuery) |
| 104 return true; | 104 return true; |
| 105 } | 105 } |
| 106 | 106 |
| 107 m_queries.append(newQuery.release()); | 107 m_queries.append(newQuery); |
| 108 return true; | 108 return true; |
| 109 } | 109 } |
| 110 | 110 |
| 111 bool MediaQuerySet::remove(const String& queryStringToRemove) | 111 bool MediaQuerySet::remove(const String& queryStringToRemove) |
| 112 { | 112 { |
| 113 // To "parse a media query" for a given string means to follow "the parse | 113 // To "parse a media query" for a given string means to follow "the parse |
| 114 // a media query list" steps and return "null" if more than one media query | 114 // a media query list" steps and return "null" if more than one media query |
| 115 // is returned, or else the returned media query. | 115 // is returned, or else the returned media query. |
| 116 RawPtr<MediaQuerySet> result = create(queryStringToRemove); | 116 MediaQuerySet* result = create(queryStringToRemove); |
| 117 | 117 |
| 118 // Only continue if exactly one media query is found, as described above. | 118 // Only continue if exactly one media query is found, as described above. |
| 119 if (result->m_queries.size() != 1) | 119 if (result->m_queries.size() != 1) |
| 120 return true; | 120 return true; |
| 121 | 121 |
| 122 RawPtr<MediaQuery> newQuery = result->m_queries[0].release(); | 122 MediaQuery* newQuery = result->m_queries[0].release(); |
| 123 ASSERT(newQuery); | 123 ASSERT(newQuery); |
| 124 | 124 |
| 125 // Remove any media query from the collection of media queries for which | 125 // Remove any media query from the collection of media queries for which |
| 126 // comparing with the media query returns true. | 126 // comparing with the media query returns true. |
| 127 bool found = false; | 127 bool found = false; |
| 128 for (size_t i = 0; i < m_queries.size(); ++i) { | 128 for (size_t i = 0; i < m_queries.size(); ++i) { |
| 129 MediaQuery* query = m_queries[i].get(); | 129 MediaQuery* query = m_queries[i].get(); |
| 130 if (*query == *newQuery) { | 130 if (*query == *newQuery) { |
| 131 m_queries.remove(i); | 131 m_queries.remove(i); |
| 132 --i; | 132 --i; |
| 133 found = true; | 133 found = true; |
| 134 } | 134 } |
| 135 } | 135 } |
| 136 | 136 |
| 137 return found; | 137 return found; |
| 138 } | 138 } |
| 139 | 139 |
| 140 void MediaQuerySet::addMediaQuery(RawPtr<MediaQuery> mediaQuery) | 140 void MediaQuerySet::addMediaQuery(MediaQuery* mediaQuery) |
| 141 { | 141 { |
| 142 m_queries.append(mediaQuery); | 142 m_queries.append(mediaQuery); |
| 143 } | 143 } |
| 144 | 144 |
| 145 String MediaQuerySet::mediaText() const | 145 String MediaQuerySet::mediaText() const |
| 146 { | 146 { |
| 147 StringBuilder text; | 147 StringBuilder text; |
| 148 | 148 |
| 149 bool first = true; | 149 bool first = true; |
| 150 for (size_t i = 0; i < m_queries.size(); ++i) { | 150 for (size_t i = 0; i < m_queries.size(); ++i) { |
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 230 } | 230 } |
| 231 | 231 |
| 232 DEFINE_TRACE(MediaList) | 232 DEFINE_TRACE(MediaList) |
| 233 { | 233 { |
| 234 visitor->trace(m_mediaQueries); | 234 visitor->trace(m_mediaQueries); |
| 235 visitor->trace(m_parentStyleSheet); | 235 visitor->trace(m_parentStyleSheet); |
| 236 visitor->trace(m_parentRule); | 236 visitor->trace(m_parentRule); |
| 237 } | 237 } |
| 238 | 238 |
| 239 } // namespace blink | 239 } // namespace blink |
| OLD | NEW |