Commit 298a3011 authored by Ryan Hunt's avatar Ryan Hunt
Browse files

Bug 1556548 - Make RenderFrame an internal detail to BrowserParent. r=mattwoodrow,farre

Code outside of BrowserParent should just get the LayersId from a getter
and not worry about RenderFrame.

Differential Revision: https://phabricator.services.mozilla.com/D33562

--HG--
extra : rebase_source : 63f9f9680a7cb16a18d9e56999e02a124aa63429
extra : source : e86839ca63260b09184755c98890fa8abf371530
extra : histedit_source : 34333f5f78ecf9b4f3e12c6175a6e81724a41fb2
parent 5cd2b5b1
Loading
Loading
Loading
Loading
+2 −9
Original line number Diff line number Diff line
@@ -89,7 +89,6 @@
#include "mozilla/dom/SessionStoreListener.h"
#include "mozilla/gfx/CrossProcessPaint.h"
#include "mozilla/jsipc/CrossProcessObjectWrappers.h"
#include "mozilla/layout/RenderFrame.h"
#include "mozilla/ServoCSSParser.h"
#include "mozilla/ServoStyleSet.h"
#include "nsGenericHTMLFrameElement.h"
@@ -2713,7 +2712,7 @@ bool nsFrameLoader::TryRemoteBrowserInternal() {
  // The remoteType can be queried by asking the message manager instead.
  ownerElement->UnsetAttr(kNameSpaceID_None, nsGkAtoms::RemoteType, false);

  // Now that browserParent is set, we can initialize the RenderFrame
  // Now that browserParent is set, we can initialize graphics
  browserParent->InitRendering();

  MaybeUpdatePrimaryBrowserParent(eBrowserParentChanged);
@@ -2813,13 +2812,7 @@ BrowserBridgeChild* nsFrameLoader::GetBrowserBridgeChild() const {

mozilla::layers::LayersId nsFrameLoader::GetLayersId() const {
  MOZ_ASSERT(mIsRemoteFrame);
  if (auto* browserParent = GetBrowserParent()) {
    return browserParent->GetRenderFrame()->GetLayersId();
  }
  if (auto* browserBridgeChild = GetBrowserBridgeChild()) {
    return browserBridgeChild->GetLayersId();
  }
  return mozilla::layers::LayersId{};
  return mRemoteBrowser->GetLayersId();
}

void nsFrameLoader::ActivateRemoteFrame(ErrorResult& aRv) {
+0 −5
Original line number Diff line number Diff line
@@ -74,10 +74,6 @@ class StructuredCloneData;
namespace ipc {
class MessageChannel;
}  // namespace ipc

namespace layout {
class RenderFrame;
}  // namespace layout
}  // namespace mozilla

#if defined(MOZ_WIDGET_GTK)
@@ -101,7 +97,6 @@ class nsFrameLoader final : public nsStubMutationObserver,
  typedef mozilla::dom::BrowserParent BrowserParent;
  typedef mozilla::dom::BrowserBridgeChild BrowserBridgeChild;
  typedef mozilla::dom::BrowsingContext BrowsingContext;
  typedef mozilla::layout::RenderFrame RenderFrame;

 public:
  // Called by Frame Elements to create a new FrameLoader.
+1 −6
Original line number Diff line number Diff line
@@ -14,12 +14,7 @@ class nsPIDOMWindowOuter;
class nsIControllers;
class nsIController;
class nsINode;

namespace mozilla {
namespace dom {
class BrowserParent;
}  // namespace dom
}  // namespace mozilla
class nsIRemoteTab;

#define NS_IWINDOWROOT_IID                           \
  {                                                  \
+2 −10
Original line number Diff line number Diff line
@@ -98,14 +98,8 @@ nsresult BrowserBridgeParent::Init(const nsString& aPresentationURL,
  mBrowserParent->SetOwnerElement(Manager()->GetOwnerElement());
  mBrowserParent->InitRendering();

  RenderFrame* rf = mBrowserParent->GetRenderFrame();
  if (NS_WARN_IF(!rf)) {
    MOZ_ASSERT(false, "No RenderFrame");
    return NS_ERROR_FAILURE;
  }

  // Send the newly created layers ID back into content.
  Unused << SendSetLayersId(rf->GetLayersId());
  Unused << SendSetLayersId(mBrowserParent->GetLayersId());
  return NS_OK;
}

@@ -128,11 +122,9 @@ void BrowserBridgeParent::Destroy() {
IPCResult BrowserBridgeParent::RecvShow(const ScreenIntSize& aSize,
                                        const bool& aParentIsActive,
                                        const nsSizeMode& aSizeMode) {
  RenderFrame* rf = mBrowserParent->GetRenderFrame();
  if (!rf->AttachLayerManager()) {
  if (!mBrowserParent->AttachLayerManager()) {
    MOZ_CRASH();
  }

  Unused << mBrowserParent->SendShow(aSize, mBrowserParent->GetShowInfo(),
                                     aParentIsActive, aSizeMode);
  return IPC_OK();
+1 −1
Original line number Diff line number Diff line
@@ -36,7 +36,7 @@ BrowserHost* BrowserHost::GetFrom(nsIRemoteTab* aRemoteTab) {
}

mozilla::layers::LayersId BrowserHost::GetLayersId() const {
  return mRoot->GetRenderFrame()->GetLayersId();
  return mRoot->GetLayersId();
}

BrowsingContext* BrowserHost::GetBrowsingContext() const {
Loading