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

Unified Diff: Source/web/WebFrameImpl.cpp

Issue 104433003: Attach a WebLayer to a frame element for out-of-process iframes. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Removed unnecessary #include Created 7 years 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 side-by-side diff with in-line comments
Download patch
Index: Source/web/WebFrameImpl.cpp
diff --git a/Source/web/WebFrameImpl.cpp b/Source/web/WebFrameImpl.cpp
index 10805151cae5733c820f851c3f9890237a31ca69..f4c00cf58b151548ebbfa3609523dbd8746e412f 100644
--- a/Source/web/WebFrameImpl.cpp
+++ b/Source/web/WebFrameImpl.cpp
@@ -188,6 +188,7 @@
#include "public/platform/WebFileSystem.h"
#include "public/platform/WebFloatPoint.h"
#include "public/platform/WebFloatRect.h"
+#include "public/platform/WebLayer.h"
#include "public/platform/WebPoint.h"
#include "public/platform/WebRect.h"
#include "public/platform/WebSize.h"
@@ -555,6 +556,18 @@ WebVector<WebIconURL> WebFrameImpl::iconURLs(int iconTypesMask) const
return WebVector<WebIconURL>();
}
+void WebFrameImpl::setWebLayer(WebLayer* webLayer)
+{
+ if (frame() && frame()->ownerElement()) {
+ if (frame()->ownerElement()->platformLayer())
+ GraphicsLayer::unregisterContentsLayer(frame()->ownerElement()->platformLayer());
+ if (webLayer)
+ GraphicsLayer::registerContentsLayer(webLayer);
+ frame()->ownerElement()->setPlatformLayer(webLayer);
+ frame()->ownerElement()->setNeedsStyleRecalc(WebCore::SubtreeStyleChange, WebCore::StyleChangeFromRenderer);
+ }
+}
+
WebSize WebFrameImpl::scrollOffset() const
{
FrameView* view = frameView();

Powered by Google App Engine
This is Rietveld 408576698