| Index: third_party/WebKit/WebCore/rendering/RenderListBox.cpp
 | 
| ===================================================================
 | 
| --- third_party/WebKit/WebCore/rendering/RenderListBox.cpp	(revision 9391)
 | 
| +++ third_party/WebKit/WebCore/rendering/RenderListBox.cpp	(working copy)
 | 
| @@ -579,6 +579,29 @@
 | 
|          m_vBar->setValue(index);
 | 
|  }
 | 
|  
 | 
| +bool RenderListBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& result, int x, int y, int tx, int ty, HitTestAction hitTestAction)
 | 
| +{
 | 
| +    if (!RenderBlock::nodeAtPoint(request, result, x, y, tx, ty, hitTestAction))
 | 
| +        return false;
 | 
| +    const Vector<HTMLElement*>& listItems = static_cast<HTMLSelectElement*>(node())->listItems();
 | 
| +    int size = numItems();
 | 
| +    tx += this->x();
 | 
| +    ty += this->y();
 | 
| +    for (int i = 0; i < size; ++i) {
 | 
| +        if (itemBoundingBoxRect(tx, ty, i).contains(x, y)) {
 | 
| +            if (HTMLElement* node = listItems[i]) {
 | 
| +                result.setInnerNode(node);
 | 
| +                if (!result.innerNonSharedNode())
 | 
| +                    result.setInnerNonSharedNode(node);
 | 
| +                result.setLocalPoint(IntPoint(x - tx, y - ty));
 | 
| +                break;
 | 
| +            }
 | 
| +        }
 | 
| +    }
 | 
| +
 | 
| +    return true;
 | 
| +}
 | 
| +
 | 
|  IntRect RenderListBox::controlClipRect(int tx, int ty) const
 | 
|  {
 | 
|      IntRect clipRect = contentBoxRect();
 | 
| 
 |