Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(142)

Side by Side Diff: Source/core/html/HTMLMetaElement.h

Issue 19555002: Translate viewport related meta tags into @viewport descriptors as suggested by the CSS Device Adap… (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * Copyright (C) 2003, 2010 Apple Inc. All rights reserved. 4 * Copyright (C) 2003, 2010 Apple Inc. All rights reserved.
5 * 5 *
6 * This library is free software; you can redistribute it and/or 6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Library General Public 7 * modify it under the terms of the GNU Library General Public
8 * License as published by the Free Software Foundation; either 8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version. 9 * version 2 of the License, or (at your option) any later version.
10 * 10 *
11 * This library is distributed in the hope that it will be useful, 11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Library General Public License for more details. 14 * Library General Public License for more details.
15 * 15 *
16 * You should have received a copy of the GNU Library General Public License 16 * You should have received a copy of the GNU Library General Public License
17 * along with this library; see the file COPYING.LIB. If not, write to 17 * along with this library; see the file COPYING.LIB. If not, write to
18 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 18 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
19 * Boston, MA 02110-1301, USA. 19 * Boston, MA 02110-1301, USA.
20 * 20 *
21 */ 21 */
22 22
23 #ifndef HTMLMetaElement_h 23 #ifndef HTMLMetaElement_h
24 #define HTMLMetaElement_h 24 #define HTMLMetaElement_h
25 25
26 #include "core/css/StyleRule.h"
26 #include "core/html/HTMLElement.h" 27 #include "core/html/HTMLElement.h"
27 28
28 namespace WebCore { 29 namespace WebCore {
29 30
30 class HTMLMetaElement FINAL : public HTMLElement { 31 class HTMLMetaElement FINAL : public HTMLElement {
31 public: 32 public:
32 static PassRefPtr<HTMLMetaElement> create(Document*); 33 static PassRefPtr<HTMLMetaElement> create(Document*);
33 static PassRefPtr<HTMLMetaElement> create(const QualifiedName&, Document*); 34 static PassRefPtr<HTMLMetaElement> create(const QualifiedName&, Document*);
35 ~HTMLMetaElement();
34 36
35 String content() const; 37 String content() const;
36 String httpEquiv() const; 38 String httpEquiv() const;
37 String name() const; 39 String name() const;
38 40
41 CSSStyleSheet* sheet() const { return m_sheet.get(); }
42
39 private: 43 private:
40 HTMLMetaElement(const QualifiedName&, Document*); 44 HTMLMetaElement(const QualifiedName&, Document*);
41 45
46 virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
47 virtual void removedFrom(ContainerNode*) OVERRIDE;
48
49 enum ErrorType {
50 NoError,
51 InvalidPropertySeparatorError,
52 InvalidPropertyError,
53 InvalidValueError,
54 OutOfBoundsValueError,
55 TruncatedValueError,
56 };
57
58 void reportError(ErrorType, const String& property, const String& value);
59
60 typedef void (*PropertyCollector)(HTMLMetaElement*, MutableStylePropertySet* , const String& property, const String& value);
61 static void viewportPropertyCollector(HTMLMetaElement*, MutableStyleProperty Set*, const String& property, const String& value);
62
42 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR IDE; 63 virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERR IDE;
43 virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE; 64 void parseContentAttribute(MutableStylePropertySet*, const String&, Property Collector);
65
66 float parsePositiveNumber(const String& property, const String& value, float minValue, float maxValue);
67 CSSValueID parseViewportValueAsUserZoom(const String& property, const String & value);
68 PassRefPtr<CSSValue> parseViewportValueAsLength(const String& property, cons t String& value);
69 PassRefPtr<CSSValue> parseViewportValueAsZoom(const String& property, const String& value);
70 PassRefPtr<CSSValue> parseViewportValueAsDPI(const String& property, const S tring& value);
71
72 PassRefPtr<StyleRuleBase> parseViewportContent(const String&);
73 PassRefPtr<StyleRuleBase> parseHandheldFriendlyContent(const String&);
74 PassRefPtr<StyleRuleBase> parseMobileOptimizedContent(const String&);
44 75
45 void process(); 76 void process();
77 void addStyleSheetForRule(PassRefPtr<StyleRuleBase>);
78 void removeStyleSheet();
79
80 RefPtr<CSSStyleSheet> m_sheet;
46 }; 81 };
47 82
48 } //namespace 83 } //namespace
49 84
50 #endif 85 #endif
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698