| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2011, Google Inc. All rights reserved. | 2 * Copyright (c) 2011, 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 368 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 379 // displayed exactly the same width as the select box. | 379 // displayed exactly the same width as the select box. |
| 380 listBox()->setBaseWidth(max(controlSize.width() - borderSize * 2, 0)); | 380 listBox()->setBaseWidth(max(controlSize.width() - borderSize * 2, 0)); |
| 381 | 381 |
| 382 listBox()->updateFromElement(); | 382 listBox()->updateFromElement(); |
| 383 | 383 |
| 384 // We set the selected item in updateFromElement(), and disregard the | 384 // We set the selected item in updateFromElement(), and disregard the |
| 385 // index passed into this function (same as Webkit's PopupMenuWin.cpp) | 385 // index passed into this function (same as Webkit's PopupMenuWin.cpp) |
| 386 // FIXME: make sure this is correct, and add an assertion. | 386 // FIXME: make sure this is correct, and add an assertion. |
| 387 // ASSERT(popupWindow(popup)->listBox()->selectedIndex() == index); | 387 // ASSERT(popupWindow(popup)->listBox()->selectedIndex() == index); |
| 388 | 388 |
| 389 // Save and convert the controlPosition to main window coords. | 389 // Save and convert the controlPosition to main window coords. Each point is
converted separately |
| 390 m_controlPosition = controlPosition; | 390 // to window coordinates because the control could be in a transformed webvi
ew and then each point |
| 391 IntPoint delta = v->contentsToWindow(IntPoint()); | 391 // would be transformed by a different delta. |
| 392 m_controlPosition.move(delta.x(), delta.y()); | 392 m_controlPosition.setP1(v->contentsToWindow(IntPoint(controlPosition.p1().x(
), controlPosition.p1().y()))); |
| 393 m_controlPosition.setP2(v->contentsToWindow(IntPoint(controlPosition.p2().x(
), controlPosition.p2().y()))); |
| 394 m_controlPosition.setP3(v->contentsToWindow(IntPoint(controlPosition.p3().x(
), controlPosition.p3().y()))); |
| 395 m_controlPosition.setP4(v->contentsToWindow(IntPoint(controlPosition.p4().x(
), controlPosition.p4().y()))); |
| 396 |
| 393 m_controlSize = controlSize; | 397 m_controlSize = controlSize; |
| 394 | 398 |
| 395 // Position at (0, 0) since the frameRect().location() is relative to the | 399 // Position at (0, 0) since the frameRect().location() is relative to the |
| 396 // parent WebWidget. | 400 // parent WebWidget. |
| 397 setFrameRect(IntRect(IntPoint(), controlSize)); | 401 setFrameRect(IntRect(IntPoint(), controlSize)); |
| 398 showPopup(v); | 402 showPopup(v); |
| 399 } | 403 } |
| 400 | 404 |
| 401 IntRect PopupContainer::refresh(const IntRect& targetControlRect) | 405 IntRect PopupContainer::refresh(const IntRect& targetControlRect) |
| 402 { | 406 { |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 452 | 456 |
| 453 String PopupContainer::getSelectedItemToolTip() | 457 String PopupContainer::getSelectedItemToolTip() |
| 454 { | 458 { |
| 455 // We cannot use m_popupClient->selectedIndex() to choose tooltip message, | 459 // We cannot use m_popupClient->selectedIndex() to choose tooltip message, |
| 456 // because the selectedIndex() might return final selected index, not | 460 // because the selectedIndex() might return final selected index, not |
| 457 // hovering selection. | 461 // hovering selection. |
| 458 return listBox()->m_popupClient->itemToolTip(listBox()->m_selectedIndex); | 462 return listBox()->m_popupClient->itemToolTip(listBox()->m_selectedIndex); |
| 459 } | 463 } |
| 460 | 464 |
| 461 } // namespace WebCore | 465 } // namespace WebCore |
| OLD | NEW |