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

Side by Side Diff: third_party/WebKit/Source/core/html/HTMLFrameElementBase.h

Issue 1307013004: Propagate scrolling/marginwidth/marginheight property values to child frame. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: content_unittests compile fix Created 5 years, 1 month 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
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 * (C) 2000 Simon Hausmann <hausmann@kde.org> 4 * (C) 2000 Simon Hausmann <hausmann@kde.org>
5 * Copyright (C) 2004, 2006, 2008, 2009 Apple Inc. All rights reserved. 5 * Copyright (C) 2004, 2006, 2008, 2009 Apple Inc. All rights reserved.
6 * 6 *
7 * This library is free software; you can redistribute it and/or 7 * This library is free software; you can redistribute it and/or
8 * modify it under the terms of the GNU Library General Public 8 * modify it under the terms of the GNU Library General Public
9 * License as published by the Free Software Foundation; either 9 * License as published by the Free Software Foundation; either
10 * version 2 of the License, or (at your option) any later version. 10 * version 2 of the License, or (at your option) any later version.
11 * 11 *
12 * This library is distributed in the hope that it will be useful, 12 * This library is distributed in the hope that it will be useful,
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * Library General Public License for more details. 15 * Library General Public License for more details.
16 * 16 *
17 * You should have received a copy of the GNU Library General Public License 17 * You should have received a copy of the GNU Library General Public License
18 * along with this library; see the file COPYING.LIB. If not, write to 18 * along with this library; see the file COPYING.LIB. If not, write to
19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 19 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
20 * Boston, MA 02110-1301, USA. 20 * Boston, MA 02110-1301, USA.
21 * 21 *
22 */ 22 */
23 23
24 #ifndef HTMLFrameElementBase_h 24 #ifndef HTMLFrameElementBase_h
25 #define HTMLFrameElementBase_h 25 #define HTMLFrameElementBase_h
26 26
27 #include "core/html/HTMLFrameOwnerElement.h" 27 #include "core/html/HTMLFrameOwnerElement.h"
28 #include "platform/scroll/ScrollTypes.h"
29 28
30 namespace blink { 29 namespace blink {
31 30
32 class HTMLFrameElementBase : public HTMLFrameOwnerElement { 31 class HTMLFrameElementBase : public HTMLFrameOwnerElement {
33 public: 32 public:
34 ScrollbarMode scrollingMode() const final { return m_scrolling; } 33 bool canContainRangeEndPoint() const final { return false; }
35 34
36 int marginWidth() const { return m_marginWidth; } 35 // FrameOwner overrides:
37 int marginHeight() const { return m_marginHeight; } 36 ScrollbarMode scrollingMode() const override { return m_scrollingMode; }
38 37 int marginWidth() const override { return m_marginWidth; }
39 bool canContainRangeEndPoint() const final { return false; } 38 int marginHeight() const override { return m_marginHeight; }
40 39
41 protected: 40 protected:
42 HTMLFrameElementBase(const QualifiedName&, Document&); 41 HTMLFrameElementBase(const QualifiedName&, Document&);
43 42
44 bool isURLAllowed() const; 43 bool isURLAllowed() const;
45 44
46 void parseAttribute(const QualifiedName&, const AtomicString&) override; 45 void parseAttribute(const QualifiedName&, const AtomicString&) override;
47 InsertionNotificationRequest insertedInto(ContainerNode*) override; 46 InsertionNotificationRequest insertedInto(ContainerNode*) override;
48 void didNotifySubtreeInsertionsToDocument() final; 47 void didNotifySubtreeInsertionsToDocument() final;
49 void attach(const AttachContext& = AttachContext()) override; 48 void attach(const AttachContext& = AttachContext()) override;
50 49
51 // FIXME: Remove this method once we have input routing in the browser 50 // FIXME: Remove this method once we have input routing in the browser
52 // process. See http://crbug.com/339659. 51 // process. See http://crbug.com/339659.
53 void defaultEventHandler(Event*) override; 52 void defaultEventHandler(Event*) override;
54 53
54 void setScrollingMode(ScrollbarMode);
55 void setMarginWidth(int);
56 void setMarginHeight(int);
57
55 private: 58 private:
56 bool supportsFocus() const final; 59 bool supportsFocus() const final;
57 void setFocus(bool) final; 60 void setFocus(bool) final;
58 61
59 bool isURLAttribute(const Attribute&) const final; 62 bool isURLAttribute(const Attribute&) const final;
60 bool hasLegalLinkAttribute(const QualifiedName&) const final; 63 bool hasLegalLinkAttribute(const QualifiedName&) const final;
61 bool isHTMLContentAttribute(const Attribute&) const final; 64 bool isHTMLContentAttribute(const Attribute&) const final;
62 65
63 bool areAuthorShadowsAllowed() const final { return false; } 66 bool areAuthorShadowsAllowed() const final { return false; }
64 67
65 void setLocation(const String&); 68 void setLocation(const String&);
66 void setNameAndOpenURL(); 69 void setNameAndOpenURL();
67 void openURL(bool replaceCurrentItem = true); 70 void openURL(bool replaceCurrentItem = true);
68 71
72 void frameOwnerPropertiesChanged();
73
74 ScrollbarMode m_scrollingMode;
75 int m_marginWidth;
76 int m_marginHeight;
77
69 AtomicString m_URL; 78 AtomicString m_URL;
70 AtomicString m_frameName; 79 AtomicString m_frameName;
71
72 ScrollbarMode m_scrolling;
73
74 int m_marginWidth;
75 int m_marginHeight;
76 }; 80 };
77 81
78 inline bool isHTMLFrameElementBase(const HTMLElement& element) 82 inline bool isHTMLFrameElementBase(const HTMLElement& element)
79 { 83 {
80 return isHTMLFrameElement(element) || isHTMLIFrameElement(element); 84 return isHTMLFrameElement(element) || isHTMLIFrameElement(element);
81 } 85 }
82 86
83 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLFrameElementBase); 87 DEFINE_HTMLELEMENT_TYPE_CASTS_WITH_FUNCTION(HTMLFrameElementBase);
84 88
85 } // namespace blink 89 } // namespace blink
86 90
87 #endif // HTMLFrameElementBase_h 91 #endif // HTMLFrameElementBase_h
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/html/HTMLBodyElement.cpp ('k') | third_party/WebKit/Source/core/html/HTMLFrameElementBase.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698