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

Side by Side Diff: third_party/WebKit/WebCore/rendering/RenderListBox.cpp

Issue 21184: WebKit merge 40722:40785 (part 1) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 11 years, 10 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 * This file is part of the select element renderer in WebCore. 2 * This file is part of the select element renderer in WebCore.
3 * 3 *
4 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved. 4 * Copyright (C) 2006, 2007, 2008 Apple Inc. All rights reserved.
5 * 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/) 5 * 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo bile.com/)
6 * 6 *
7 * Redistribution and use in source and binary forms, with or without 7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions 8 * modification, are permitted provided that the following conditions
9 * are met: 9 * are met:
10 * 10 *
(...skipping 561 matching lines...) Expand 10 before | Expand all | Expand 10 after
572 { 572 {
573 // Determine an index and scroll to it. 573 // Determine an index and scroll to it.
574 int index = newTop / itemHeight(); 574 int index = newTop / itemHeight();
575 if (index < 0 || index >= numItems() || index == m_indexOffset) 575 if (index < 0 || index >= numItems() || index == m_indexOffset)
576 return; 576 return;
577 m_indexOffset = index; 577 m_indexOffset = index;
578 if (m_vBar) 578 if (m_vBar)
579 m_vBar->setValue(index); 579 m_vBar->setValue(index);
580 } 580 }
581 581
582 bool RenderListBox::nodeAtPoint(const HitTestRequest& request, HitTestResult& re sult, int x, int y, int tx, int ty, HitTestAction hitTestAction)
583 {
584 if (!RenderBlock::nodeAtPoint(request, result, x, y, tx, ty, hitTestAction))
585 return false;
586 const Vector<HTMLElement*>& listItems = static_cast<HTMLSelectElement*>(node ())->listItems();
587 int size = numItems();
588 tx += this->x();
589 ty += this->y();
590 for (int i = 0; i < size; ++i) {
591 if (itemBoundingBoxRect(tx, ty, i).contains(x, y)) {
592 if (HTMLElement* node = listItems[i]) {
593 result.setInnerNode(node);
594 if (!result.innerNonSharedNode())
595 result.setInnerNonSharedNode(node);
596 result.setLocalPoint(IntPoint(x - tx, y - ty));
597 break;
598 }
599 }
600 }
601
602 return true;
603 }
604
582 IntRect RenderListBox::controlClipRect(int tx, int ty) const 605 IntRect RenderListBox::controlClipRect(int tx, int ty) const
583 { 606 {
584 IntRect clipRect = contentBoxRect(); 607 IntRect clipRect = contentBoxRect();
585 clipRect.move(tx, ty); 608 clipRect.move(tx, ty);
586 return clipRect; 609 return clipRect;
587 } 610 }
588 611
589 bool RenderListBox::isActive() const 612 bool RenderListBox::isActive() const
590 { 613 {
591 Page* page = document()->frame()->page(); 614 Page* page = document()->frame()->page();
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
635 m_vBar->styleChanged(); 658 m_vBar->styleChanged();
636 659
637 #if ENABLE(DASHBOARD_SUPPORT) 660 #if ENABLE(DASHBOARD_SUPPORT)
638 // Force an update since we know the scrollbars have changed things. 661 // Force an update since we know the scrollbars have changed things.
639 if (document()->hasDashboardRegions()) 662 if (document()->hasDashboardRegions())
640 document()->setDashboardRegionsDirty(true); 663 document()->setDashboardRegionsDirty(true);
641 #endif 664 #endif
642 } 665 }
643 666
644 } // namespace WebCore 667 } // namespace WebCore
OLDNEW
« no previous file with comments | « third_party/WebKit/WebCore/rendering/RenderListBox.h ('k') | third_party/WebKit/WebCore/rendering/RenderObject.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698