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

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

Issue 2202493002: NOT FOR REVIEW: Fullscreen WIP (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 4 years, 1 month 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 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "web/WebRemoteFrameImpl.h" 5 #include "web/WebRemoteFrameImpl.h"
6 6
7 #include "core/dom/Fullscreen.h" 7 #include "core/dom/Fullscreen.h"
8 #include "core/dom/RemoteSecurityContext.h" 8 #include "core/dom/RemoteSecurityContext.h"
9 #include "core/dom/SecurityContext.h" 9 #include "core/dom/SecurityContext.h"
10 #include "core/frame/FrameView.h" 10 #include "core/frame/FrameView.h"
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after
489 } 489 }
490 } 490 }
491 491
492 bool WebRemoteFrameImpl::isIgnoredForHitTest() const { 492 bool WebRemoteFrameImpl::isIgnoredForHitTest() const {
493 HTMLFrameOwnerElement* owner = frame()->deprecatedLocalOwner(); 493 HTMLFrameOwnerElement* owner = frame()->deprecatedLocalOwner();
494 if (!owner || !owner->layoutObject()) 494 if (!owner || !owner->layoutObject())
495 return false; 495 return false;
496 return owner->layoutObject()->style()->pointerEvents() == PE_NONE; 496 return owner->layoutObject()->style()->pointerEvents() == PE_NONE;
497 } 497 }
498 498
499 void WebRemoteFrameImpl::willEnterFullscreen() { 499 void WebRemoteFrameImpl::willEnterFullscreen() {}
500 // This should only ever be called when the FrameOwner is local.
501 HTMLFrameOwnerElement* ownerElement =
502 toHTMLFrameOwnerElement(frame()->owner());
503
504 // Call requestFullscreen() on |ownerElement| to make it the provisional
505 // fullscreen element in FullscreenController, and to prepare
506 // fullscreenchange events that will need to fire on it and its (local)
507 // ancestors. The events will be triggered if/when fullscreen is entered.
508 //
509 // Passing |forCrossProcessAncestor| to requestFullscreen is necessary
510 // because:
511 // - |ownerElement| will need :-webkit-full-screen-ancestor style in
512 // addition to :-webkit-full-screen.
513 // - there's no need to resend the ToggleFullscreen IPC to the browser
514 // process.
515 //
516 // TODO(alexmos): currently, this assumes prefixed requests, but in the
517 // future, this should plumb in information about which request type
518 // (prefixed or unprefixed) to use for firing fullscreen events.
519 Fullscreen::from(ownerElement->document())
520 .requestFullscreen(*ownerElement, Fullscreen::PrefixedRequest,
521 true /* forCrossProcessAncestor */);
522 }
523 500
524 WebRemoteFrameImpl::WebRemoteFrameImpl(WebTreeScopeType scope, 501 WebRemoteFrameImpl::WebRemoteFrameImpl(WebTreeScopeType scope,
525 WebRemoteFrameClient* client) 502 WebRemoteFrameClient* client)
526 : WebRemoteFrame(scope), 503 : WebRemoteFrame(scope),
527 m_frameClient(RemoteFrameClientImpl::create(this)), 504 m_frameClient(RemoteFrameClientImpl::create(this)),
528 m_client(client), 505 m_client(client),
529 m_selfKeepAlive(this) {} 506 m_selfKeepAlive(this) {}
530 507
531 } // namespace blink 508 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/web/WebPluginContainerImpl.cpp ('k') | third_party/WebKit/Source/web/tests/WebFrameTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698