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