Changeset 41576 in webkit
- Timestamp:
- Mar 10, 2009 10:43:58 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r41569 r41576 1 2009-03-10 Simon Fraser <simon.fraser@apple.com> 2 3 Reviewed by Darin Adler 4 5 https://bugs.webkit.org/show_bug.cgi?id=24503 6 7 Test for hitting the cancel button of an absolutely-positioned form 8 control. 9 10 * fast/forms/search-abs-pos-cancel-button-expected.txt: Added. 11 * fast/forms/search-abs-pos-cancel-button.html: Added. 12 1 13 2009-03-10 Beth Dakin <bdakin@apple.com> 2 14 -
trunk/WebCore/ChangeLog
r41573 r41576 1 2009-03-10 Simon Fraser <simon.fraser@apple.com> 2 3 Reviewed by Darin Adler 4 5 https://bugs.webkit.org/show_bug.cgi?id=24503 6 7 Fix hit testing of absolutely positioned single line text controls by 8 ensuring that we set result.innerNode() correctly. If the hit node is 9 a descendant of the inner text element or if it is the <input> itself, 10 then we say we hit the innerTextElement. 11 12 Rename hitInnerTextBlock() to hitInnerTextElement() to match the 13 'innerTextElement' terminology used elsewhere. 14 15 Assert that if renderer()->hitTest() returns false, no-one set 16 result.innerNode(). 17 18 Test: fast/forms/search-abs-pos-cancel-button.html 19 20 * rendering/RenderLayer.cpp: 21 (WebCore::RenderLayer::hitTestContents): 22 * rendering/RenderTextControl.cpp: 23 (WebCore::RenderTextControl::hitInnerTextElement): 24 * rendering/RenderTextControl.h: 25 * rendering/RenderTextControlMultiLine.cpp: 26 (WebCore::RenderTextControlMultiLine::nodeAtPoint): 27 * rendering/RenderTextControlSingleLine.cpp: 28 (WebCore::RenderTextControlSingleLine::nodeAtPoint): 29 1 30 2009-03-10 Antti Koivisto <antti@apple.com> 2 31 -
trunk/WebCore/rendering/RenderLayer.cpp
r41546 r41576 2401 2401 layerBounds.x() - renderBoxX(), 2402 2402 layerBounds.y() - renderBoxY(), 2403 hitTestFilter)) 2403 hitTestFilter)) { 2404 // It's wrong to set innerNode, but then claim that you didn't hit anything. 2405 ASSERT(!result.innerNode()); 2404 2406 return false; 2407 } 2405 2408 2406 2409 // For positioned generated content, we might still not have a -
trunk/WebCore/rendering/RenderTextControl.cpp
r41553 r41576 452 452 } 453 453 454 void RenderTextControl::hitInnerText Block(HitTestResult& result, int xPos, int yPos, int tx, int ty)454 void RenderTextControl::hitInnerTextElement(HitTestResult& result, int xPos, int yPos, int tx, int ty) 455 455 { 456 456 result.setInnerNode(m_innerText.get()); -
trunk/WebCore/rendering/RenderTextControl.h
r40984 r41576 93 93 94 94 void createSubtreeIfNeeded(TextControlInnerElement* innerBlock); 95 void hitInnerText Block(HitTestResult&, int x, int y, int tx, int ty);95 void hitInnerTextElement(HitTestResult&, int x, int y, int tx, int ty); 96 96 void forwardEvent(Event*); 97 97 -
trunk/WebCore/rendering/RenderTextControlMultiLine.cpp
r41385 r41576 85 85 86 86 if (result.innerNode() == node()) 87 hitInnerText Block(result, x, y, tx, ty);87 hitInnerTextElement(result, x, y, tx, ty); 88 88 89 89 return true; -
trunk/WebCore/rendering/RenderTextControlSingleLine.cpp
r41379 r41576 271 271 return false; 272 272 273 if (result.innerNode() != node() && result.innerNode() != innerTextElement()) 274 return false; 275 276 hitInnerTextBlock(result, xPos, yPos, tx, ty); 277 278 if (!m_innerBlock) 273 // If we hit a node inside the inner text element, say that we hit that element, 274 // and if we hit our node (e.g. we're over the border or padding), also say that we hit the 275 // inner text element so that it gains focus. 276 if (result.innerNode()->isDescendantOf(innerTextElement()) || result.innerNode() == node()) 277 hitInnerTextElement(result, xPos, yPos, tx, ty); 278 279 // If we're not a search field, or we already found the results or cancel buttons, we're done. 280 if (!m_innerBlock || result.innerNode() == m_resultsButton || result.innerNode() == m_cancelButton) 279 281 return true; 280 282
Note: See TracChangeset
for help on using the changeset viewer.