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

Side by Side Diff: third_party/WebKit/Source/web/WebPluginContainerImpl.cpp

Issue 1817693002: Support edge-inclusive intersections in mapToVisibleRectInAncestorSpace (Closed) Base URL: https://chromium.googlesource.com/chromium/src@intersection-observer-idle-callback
Patch Set: compiler warning fix Created 4 years, 9 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2009 Google Inc. All rights reserved. 2 * Copyright (C) 2009 Google Inc. All rights reserved.
3 * Copyright (C) 2014 Opera Software ASA. All rights reserved. 3 * Copyright (C) 2014 Opera Software ASA. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are 6 * modification, are permitted provided that the following conditions are
7 * met: 7 * met:
8 * 8 *
9 * * Redistributions of source code must retain the above copyright 9 * * Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 925 matching lines...) Expand 10 before | Expand all | Expand 10 after
936 LayoutView* rootView = m_element->document().view()->layoutView(); 936 LayoutView* rootView = m_element->document().view()->layoutView();
937 while (rootView->frame()->ownerLayoutObject()) 937 while (rootView->frame()->ownerLayoutObject())
938 rootView = rootView->frame()->ownerLayoutObject()->view(); 938 rootView = rootView->frame()->ownerLayoutObject()->view();
939 939
940 LayoutBox* box = toLayoutBox(ownerElement->layoutObject()); 940 LayoutBox* box = toLayoutBox(ownerElement->layoutObject());
941 941
942 // Plugin frameRects are in absolute space within their frame. 942 // Plugin frameRects are in absolute space within their frame.
943 FloatRect frameRectInOwnerElementSpace = box->absoluteToLocalQuad(FloatRect( frameRect()), UseTransforms).boundingBox(); 943 FloatRect frameRectInOwnerElementSpace = box->absoluteToLocalQuad(FloatRect( frameRect()), UseTransforms).boundingBox();
944 944
945 LayoutRect unclippedAbsoluteRect(frameRectInOwnerElementSpace); 945 LayoutRect unclippedAbsoluteRect(frameRectInOwnerElementSpace);
946 box->mapToVisibleRectInAncestorSpace(rootView, unclippedAbsoluteRect, nullpt r); 946 box->mapToVisibleRectInAncestorSpace(rootView, unclippedAbsoluteRect, nullpt r, false);
947 947
948 // The frameRect is already in absolute space of the local frame to the plug in. 948 // The frameRect is already in absolute space of the local frame to the plug in.
949 windowRect = frameRect(); 949 windowRect = frameRect();
950 // Map up to the root frame. 950 // Map up to the root frame.
951 LayoutRect layoutWindowRect = 951 LayoutRect layoutWindowRect =
952 LayoutRect(m_element->document().view()->layoutView()->localToAbsoluteQu ad(FloatQuad(FloatRect(frameRect())), TraverseDocumentBoundaries).boundingBox()) ; 952 LayoutRect(m_element->document().view()->layoutView()->localToAbsoluteQu ad(FloatQuad(FloatRect(frameRect())), TraverseDocumentBoundaries).boundingBox()) ;
953 // Finally, adjust for scrolling of the root frame, which the above does not take into account. 953 // Finally, adjust for scrolling of the root frame, which the above does not take into account.
954 layoutWindowRect.moveBy(-rootView->viewRect().location()); 954 layoutWindowRect.moveBy(-rootView->viewRect().location());
955 windowRect = pixelSnappedIntRect(layoutWindowRect); 955 windowRect = pixelSnappedIntRect(layoutWindowRect);
956 956
(...skipping 20 matching lines...) Expand all
977 // frame view. 977 // frame view.
978 computeClipRectsForPlugin(m_element, windowRect, clipRect, unobscuredRec t); 978 computeClipRectsForPlugin(m_element, windowRect, clipRect, unobscuredRec t);
979 } 979 }
980 getPluginOcclusions(m_element, this->parent(), frameRect(), cutOutRects); 980 getPluginOcclusions(m_element, this->parent(), frameRect(), cutOutRects);
981 // Convert to the plugin position. 981 // Convert to the plugin position.
982 for (size_t i = 0; i < cutOutRects.size(); i++) 982 for (size_t i = 0; i < cutOutRects.size(); i++)
983 cutOutRects[i].move(-frameRect().x(), -frameRect().y()); 983 cutOutRects[i].move(-frameRect().x(), -frameRect().y());
984 } 984 }
985 985
986 } // namespace blink 986 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698