Changeset 18338 in webkit
- Timestamp:
- Dec 19, 2006 11:18:26 PM (17 years ago)
- Location:
- trunk
- Files:
-
- 2 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r18336 r18338 1 2006-12-19 Adele Peterson <adele@apple.com> 2 3 Reviewed by Anders. 4 5 Test for <rdar://problem/3824247> Select All works even if -khtml-user-select:none; style is set 6 7 * editing/selection/select-all-user-select-none-expected.txt: Added. 8 * editing/selection/select-all-user-select-none.html: Added. 9 1 10 2006-12-19 Anders Carlsson <acarlsson@apple.com> 2 11 -
trunk/WebCore/ChangeLog
r18336 r18338 1 2006-12-19 Adele Peterson <adele@apple.com> 2 3 Reviewed by Anders. 4 5 - Fix for <rdar://problem/3824247> Select All works even if -khtml-user-select:none; style is set 6 7 Also made user-select:none work on new list boxes, and cleaned up the list box defaultEventHandler. 8 9 Test: editing/selection/select-all-user-select-none.html 10 11 * editing/SelectionController.cpp: (WebCore::SelectionController::selectAll): Make sure canSelect is true on the root renderer. 12 * html/HTMLSelectElement.cpp: 13 (WebCore::HTMLSelectElement::canSelectAll): Check canSelect here. 14 (WebCore::HTMLSelectElement::selectAll): Added nil check for renderer. 15 (WebCore::HTMLSelectElement::defaultEventHandler): Return early if the event has been handled. 16 (WebCore::HTMLSelectElement::listBoxDefaultEventHandler): Check canSelect here. 17 * html/HTMLSelectElement.h: 18 1 19 2006-12-19 Anders Carlsson <acarlsson@apple.com> 2 20 -
trunk/WebCore/editing/SelectionController.cpp
r18332 r18338 1092 1092 1093 1093 Node* root = isContentEditable() ? highestEditableRoot(m_sel.start()) : document->documentElement(); 1094 if (!root->renderer() || !root->renderer()->canSelect()) 1095 return; 1094 1096 Selection newSelection(Selection::selectionFromContentsOfNode(root)); 1095 1097 if (m_frame->shouldChangeSelection(newSelection)) -
trunk/WebCore/html/HTMLSelectElement.cpp
r18261 r18338 356 356 } 357 357 358 bool HTMLSelectElement::canSelectAll() const 359 { 360 return !usesMenuList() && renderer() && renderer()->canSelect(); 361 } 362 358 363 void HTMLSelectElement::selectAll() 359 364 { 360 365 ASSERT(!usesMenuList()); 361 if (! multiple())366 if (!renderer() || !multiple()) 362 367 return; 363 368 … … 552 557 else 553 558 listBoxDefaultEventHandler(evt); 559 560 if (evt->defaultHandled()) 561 return; 554 562 555 563 if (!evt->defaultHandled() && evt->type() == keypressEvent && evt->isKeyboardEvent()) { … … 560 568 typeAheadFind(static_cast<KeyboardEvent*>(evt)); 561 569 evt->setDefaultHandled(); 570 return; 562 571 } 563 572 } … … 630 639 void HTMLSelectElement::listBoxDefaultEventHandler(Event* evt) 631 640 { 632 if (!renderer() )641 if (!renderer() || !renderer()->canSelect()) 633 642 return; 634 643 … … 683 692 updateListBoxSelection(!multiSelect); 684 693 renderer()->repaint(); 694 evt->setDefaultHandled(); 685 695 } 686 696 } else if (evt->type() == mouseupEvent && document()->frame()->eventHandler()->autoscrollRenderer() != renderer()) … … 721 731 722 732 static_cast<RenderListBox*>(renderer())->scrollToRevealElementAtListIndex(endIndex); 733 updateListBoxSelection(deselectOthers); 734 renderer()->repaint(); 735 listBoxOnChange(); 723 736 evt->setDefaultHandled(); 724 updateListBoxSelection(deselectOthers);725 renderer()->repaint();726 727 listBoxOnChange();728 737 } 729 738 } -
trunk/WebCore/html/HTMLSelectElement.h
r18261 r18338 52 52 virtual bool isKeyboardFocusable(KeyboardEvent*) const; 53 53 virtual bool isMouseFocusable() const; 54 virtual bool canSelectAll() const { return !usesMenuList(); }54 virtual bool canSelectAll() const; 55 55 virtual void selectAll(); 56 56
Note: See TracChangeset
for help on using the changeset viewer.