OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 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 443 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
454 if (!m_textureLayer.isNull()) | 454 if (!m_textureLayer.isNull()) |
455 m_textureLayer.setOpaque(opaque); | 455 m_textureLayer.setOpaque(opaque); |
456 | 456 |
457 if (!m_ioSurfaceLayer.isNull()) | 457 if (!m_ioSurfaceLayer.isNull()) |
458 m_ioSurfaceLayer.setOpaque(opaque); | 458 m_ioSurfaceLayer.setOpaque(opaque); |
459 #endif | 459 #endif |
460 } | 460 } |
461 | 461 |
462 bool WebPluginContainerImpl::isRectTopmost(const WebRect& rect) | 462 bool WebPluginContainerImpl::isRectTopmost(const WebRect& rect) |
463 { | 463 { |
464 Page* page = m_element->document()->page(); | 464 Frame* frame = m_element->document()->frame(); |
465 if (!page) | 465 if (!frame) |
466 return false; | 466 return false; |
467 | 467 |
468 // hitTestResultAtPoint() takes a padding rectangle. | 468 // hitTestResultAtPoint() takes a padding rectangle. |
469 // FIXME: We'll be off by 1 when the width or height is even. | 469 // FIXME: We'll be off by 1 when the width or height is even. |
470 IntRect documentRect(x() + rect.x, y() + rect.y, rect.width, rect.height); | 470 IntRect documentRect(x() + rect.x, y() + rect.y, rect.width, rect.height); |
471 LayoutPoint center = documentRect.center(); | 471 LayoutPoint center = documentRect.center(); |
472 // Make the rect we're checking (the point surrounded by padding rects) cont
ained inside the requested rect. (Note that -1/2 is 0.) | 472 // Make the rect we're checking (the point surrounded by padding rects) cont
ained inside the requested rect. (Note that -1/2 is 0.) |
473 LayoutSize padding((documentRect.width() - 1) / 2, (documentRect.height() -
1) / 2); | 473 LayoutSize padding((documentRect.width() - 1) / 2, (documentRect.height() -
1) / 2); |
474 HitTestResult result = | 474 HitTestResult result = frame->eventHandler()->hitTestResultAtPoint(center, f
alse, false, DontHitTestScrollbars, HitTestRequest::ReadOnly | HitTestRequest::A
ctive, padding); |
475 page->mainFrame()->eventHandler()->hitTestResultAtPoint(center, false, f
alse, DontHitTestScrollbars, HitTestRequest::ReadOnly | HitTestRequest::Active,
padding); | |
476 const HitTestResult::NodeSet& nodes = result.rectBasedTestResult(); | 475 const HitTestResult::NodeSet& nodes = result.rectBasedTestResult(); |
477 if (nodes.size() != 1) | 476 if (nodes.size() != 1) |
478 return false; | 477 return false; |
479 return (nodes.first().get() == m_element); | 478 return (nodes.first().get() == m_element); |
480 } | 479 } |
481 | 480 |
482 void WebPluginContainerImpl::didReceiveResponse(const ResourceResponse& response
) | 481 void WebPluginContainerImpl::didReceiveResponse(const ResourceResponse& response
) |
483 { | 482 { |
484 // Make sure that the plugin receives window geometry before data, or else | 483 // Make sure that the plugin receives window geometry before data, or else |
485 // plugins misbehave. | 484 // plugins misbehave. |
(...skipping 227 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
713 // Take our element and get the clip rect from the enclosing layer and | 712 // Take our element and get the clip rect from the enclosing layer and |
714 // frame view. | 713 // frame view. |
715 clipRect.intersect( | 714 clipRect.intersect( |
716 m_element->document()->view()->windowClipRectForFrameOwner(m_element
, true)); | 715 m_element->document()->view()->windowClipRectForFrameOwner(m_element
, true)); |
717 } | 716 } |
718 | 717 |
719 return clipRect; | 718 return clipRect; |
720 } | 719 } |
721 | 720 |
722 } // namespace WebKit | 721 } // namespace WebKit |
OLD | NEW |