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

Unified Diff: Source/core/html/HTMLOptGroupElement.h

Issue 347773002: Implement select listbox using shadow DOM (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 6 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/html/HTMLOptGroupElement.h
diff --git a/Source/core/html/HTMLOptGroupElement.h b/Source/core/html/HTMLOptGroupElement.h
index a6674e0784ec591a8e18c857fade24a529f30bd5..78a2ddddf4ce69ae89211144ff862a979add6b9f 100644
--- a/Source/core/html/HTMLOptGroupElement.h
+++ b/Source/core/html/HTMLOptGroupElement.h
@@ -32,21 +32,24 @@ class HTMLSelectElement;
class HTMLOptGroupElement FINAL : public HTMLElement {
public:
- DECLARE_NODE_FACTORY(HTMLOptGroupElement);
+ static PassRefPtrWillBeRawPtr<HTMLOptGroupElement> create(Document&);
+ virtual void trace(Visitor*) OVERRIDE;
virtual bool isDisabledFormControl() const OVERRIDE;
HTMLSelectElement* ownerSelectElement() const;
String groupLabelText() const;
+ LayoutUnit groupLabelHeight() const;
bool isDisplayNone() const;
+ void updateView();
private:
explicit HTMLOptGroupElement(Document&);
virtual bool rendererIsFocusable() const OVERRIDE;
virtual void parseAttribute(const QualifiedName&, const AtomicString&) OVERRIDE;
- virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE { return false; }
+ virtual bool rendererIsNeeded(const RenderStyle&) OVERRIDE;
virtual void attach(const AttachContext& = AttachContext()) OVERRIDE;
virtual void detach(const AttachContext& = AttachContext()) OVERRIDE;
@@ -54,13 +57,18 @@ private:
virtual void accessKeyAction(bool sendMouseEvents) OVERRIDE;
- // <optgroup> never has a renderer so we manually manage a cached style.
+ // <optgroup> might not have a renderer so we manually manage a cached style.
void updateNonRenderStyle();
virtual RenderStyle* nonRendererStyle() const OVERRIDE;
virtual PassRefPtr<RenderStyle> customStyleForRenderer() OVERRIDE;
+ virtual void didAddUserAgentShadowRoot(ShadowRoot&) OVERRIDE;
+ virtual InsertionNotificationRequest insertedInto(ContainerNode*) OVERRIDE;
+ virtual void didNotifySubtreeInsertionsToDocument() OVERRIDE;
void recalcSelectOptions();
+ void updateGroupLabel();
+ RawPtrWillBeMember<HTMLDivElement> m_groupLabelElement;
RefPtr<RenderStyle> m_style;
};

Powered by Google App Engine
This is Rietveld 408576698