Skip to content

Commit

Permalink
Initialize content listeners with frame metrics as soon as they are k…
Browse files Browse the repository at this point in the history
…nown
  • Loading branch information
rojkov committed Apr 10, 2014
1 parent eb64581 commit 7f02150
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 4 deletions.
13 changes: 9 additions & 4 deletions embedding/embedlite/embedthread/EmbedLiteViewThreadChild.cpp
Expand Up @@ -594,10 +594,7 @@ EmbedLiteViewThreadChild::RecvUpdateFrame(const FrameMetrics& aFrameMetrics)
mViewResized = false;
}


for (unsigned int i = 0; i < mControllerListeners.Length(); i++) {
mControllerListeners[i]->RequestContentRepaint(metrics);
}
RelayFrameMetrics(metrics);

bool ret = true;
if (sHandleDefaultAZPC.viewport) {
Expand All @@ -607,6 +604,14 @@ EmbedLiteViewThreadChild::RecvUpdateFrame(const FrameMetrics& aFrameMetrics)
return ret;
}

void
EmbedLiteViewThreadChild::RelayFrameMetrics(const FrameMetrics& aFrameMetrics)
{
for (unsigned int i = 0; i < mControllerListeners.Length(); i++) {
mControllerListeners[i]->RequestContentRepaint(aFrameMetrics);
}
}

bool
EmbedLiteViewThreadChild::RecvHandleDoubleTap(const nsIntPoint& aPoint)
{
Expand Down
4 changes: 4 additions & 0 deletions embedding/embedlite/embedthread/EmbedLiteViewThreadChild.h
Expand Up @@ -120,6 +120,10 @@ class EmbedLiteViewThreadChild : public PEmbedLiteViewChild,
friend class EmbedLiteAppService;
friend class EmbedLiteAppThreadChild;

/**
* Relay given frame metrics to listeners subscribed via EmbedLiteAppService
*/
void RelayFrameMetrics(const mozilla::layers::FrameMetrics& aFrameMetrics);
void InitGeckoWindow(const uint32_t& parentId);
EmbedLiteAppThreadChild* AppChild();
void InitEvent(WidgetGUIEvent& event, nsIntPoint* aPoint = nullptr);
Expand Down
4 changes: 4 additions & 0 deletions embedding/embedlite/utils/TabChildHelper.cpp
Expand Up @@ -240,6 +240,8 @@ TabChildHelper::Observe(nsISupports* aSubject,
utils->SetResolution(mLastRootMetrics.mResolution.scale,
mLastRootMetrics.mResolution.scale);
HandlePossibleViewportChange();
// Relay frame metrics to subscribed listeners
mView->RelayFrameMetrics(mLastRootMetrics);
}
}

Expand All @@ -265,6 +267,8 @@ TabChildHelper::HandleEvent(nsIDOMEvent* aEvent)
// This meta data may or may not have been a meta viewport tag. If it was,
// we should handle it immediately.
HandlePossibleViewportChange();
// Relay frame metrics to subscribed listeners
mView->RelayFrameMetrics(mLastRootMetrics);
}

return NS_OK;
Expand Down

0 comments on commit 7f02150

Please sign in to comment.