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

Side by Side Diff: Source/core/html/shadow/PasswordGeneratorButtonElement.cpp

Issue 23819007: Have Node::document() return a reference instead of a pointer (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebase on master Created 7 years, 3 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) 2012 Google Inc. All rights reserved. 2 * Copyright (C) 2012 Google Inc. All rights reserved.
3 * 3 *
4 * Redistribution and use in source and binary forms, with or without 4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are 5 * modification, are permitted provided that the following conditions are
6 * met: 6 * met:
7 * 7 *
8 * * Redistributions of source code must retain the above copyright 8 * * Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer. 9 * notice, this list of conditions and the following disclaimer.
10 * * Redistributions in binary form must reproduce the above 10 * * Redistributions in binary form must reproduce the above
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
82 } 82 }
83 83
84 void PasswordGeneratorButtonElement::decorate(HTMLInputElement* input) 84 void PasswordGeneratorButtonElement::decorate(HTMLInputElement* input)
85 { 85 {
86 ASSERT(input); 86 ASSERT(input);
87 ShadowRoot* existingRoot; 87 ShadowRoot* existingRoot;
88 ShadowRoot* decorationRoot; 88 ShadowRoot* decorationRoot;
89 getDecorationRootAndDecoratedRoot(input, decorationRoot, existingRoot); 89 getDecorationRootAndDecoratedRoot(input, decorationRoot, existingRoot);
90 ASSERT(decorationRoot); 90 ASSERT(decorationRoot);
91 ASSERT(existingRoot); 91 ASSERT(existingRoot);
92 RefPtr<HTMLDivElement> box = HTMLDivElement::create(input->document()); 92 RefPtr<HTMLDivElement> box = HTMLDivElement::create(&input->document());
93 decorationRoot->appendChild(box); 93 decorationRoot->appendChild(box);
94 box->setInlineStyleProperty(CSSPropertyDisplay, CSSValueFlex); 94 box->setInlineStyleProperty(CSSPropertyDisplay, CSSValueFlex);
95 box->setInlineStyleProperty(CSSPropertyAlignItems, CSSValueCenter); 95 box->setInlineStyleProperty(CSSPropertyAlignItems, CSSValueCenter);
96 ASSERT(existingRoot->childNodeCount() == 1); 96 ASSERT(existingRoot->childNodeCount() == 1);
97 toHTMLElement(existingRoot->firstChild())->setInlineStyleProperty(CSSPropert yFlexGrow, 1.0, CSSPrimitiveValue::CSS_NUMBER); 97 toHTMLElement(existingRoot->firstChild())->setInlineStyleProperty(CSSPropert yFlexGrow, 1.0, CSSPrimitiveValue::CSS_NUMBER);
98 box->appendChild(HTMLShadowElement::create(HTMLNames::shadowTag, input->docu ment())); 98 box->appendChild(HTMLShadowElement::create(HTMLNames::shadowTag, &input->doc ument()));
99 setInlineStyleProperty(CSSPropertyDisplay, CSSValueNone); 99 setInlineStyleProperty(CSSPropertyDisplay, CSSValueNone);
100 box->appendChild(this); 100 box->appendChild(this);
101 } 101 }
102 102
103 inline HTMLInputElement* PasswordGeneratorButtonElement::hostInput() 103 inline HTMLInputElement* PasswordGeneratorButtonElement::hostInput()
104 { 104 {
105 // PasswordGeneratorButtonElement is created only by C++ code, and it is alw ays 105 // PasswordGeneratorButtonElement is created only by C++ code, and it is alw ays
106 // in <input> shadow. 106 // in <input> shadow.
107 return toHTMLInputElement(shadowHost()); 107 return toHTMLInputElement(shadowHost());
108 } 108 }
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
164 { 164 {
165 RefPtr<HTMLInputElement> input = hostInput(); 165 RefPtr<HTMLInputElement> input = hostInput();
166 if (!input || input->isDisabledOrReadOnly() || !event->isMouseEvent()) { 166 if (!input || input->isDisabledOrReadOnly() || !event->isMouseEvent()) {
167 if (!event->defaultHandled()) 167 if (!event->defaultHandled())
168 HTMLDivElement::defaultEventHandler(event); 168 HTMLDivElement::defaultEventHandler(event);
169 return; 169 return;
170 } 170 }
171 171
172 RefPtr<PasswordGeneratorButtonElement> protector(this); 172 RefPtr<PasswordGeneratorButtonElement> protector(this);
173 if (event->type() == eventNames().clickEvent) { 173 if (event->type() == eventNames().clickEvent) {
174 if (Page* page = document()->page()) 174 if (Page* page = document().page())
175 page->chrome().client().openPasswordGenerator(input.get()); 175 page->chrome().client().openPasswordGenerator(input.get());
176 event->setDefaultHandled(); 176 event->setDefaultHandled();
177 } 177 }
178 178
179 if (event->type() == eventNames().mouseoverEvent) { 179 if (event->type() == eventNames().mouseoverEvent) {
180 m_isInHoverState = true; 180 m_isInHoverState = true;
181 updateImage(); 181 updateImage();
182 } 182 }
183 183
184 if (event->type() == eventNames().mouseoutEvent) { 184 if (event->type() == eventNames().mouseoutEvent) {
(...skipping 17 matching lines...) Expand all
202 bool PasswordGeneratorButtonElement::willRespondToMouseClickEvents() 202 bool PasswordGeneratorButtonElement::willRespondToMouseClickEvents()
203 { 203 {
204 const HTMLInputElement* input = hostInput(); 204 const HTMLInputElement* input = hostInput();
205 if (!input->isDisabledOrReadOnly()) 205 if (!input->isDisabledOrReadOnly())
206 return true; 206 return true;
207 207
208 return HTMLDivElement::willRespondToMouseClickEvents(); 208 return HTMLDivElement::willRespondToMouseClickEvents();
209 } 209 }
210 210
211 } // namespace WebCore 211 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/html/shadow/MediaControlsChromium.cpp ('k') | Source/core/html/shadow/PickerIndicatorElement.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698