зеркало из https://github.com/mozilla/gecko-dev.git
Backout c048eb7cc728 for checkerboarding regresions
http://graphs.mozilla.org/graph.html#tests=[[175,63,20]]&sel=none&displayrange=7&datatype=running http://graphs.mozilla.org/graph.html#tests=[[201,63,20]]&sel=none&displayrange=7&datatype=running
This commit is contained in:
Родитель
d3e64eabc7
Коммит
0a633c75c0
|
@ -397,6 +397,22 @@ nsAppShell::ProcessNextNativeEvent(bool mayWait)
|
|||
break;
|
||||
}
|
||||
|
||||
case AndroidGeckoEvent::VIEWPORT:
|
||||
case AndroidGeckoEvent::BROADCAST: {
|
||||
|
||||
if (curEvent->Characters().Length() == 0)
|
||||
break;
|
||||
|
||||
nsCOMPtr<nsIObserverService> obsServ =
|
||||
mozilla::services::GetObserverService();
|
||||
|
||||
const NS_ConvertUTF16toUTF8 topic(curEvent->Characters());
|
||||
const nsPromiseFlatString& data = PromiseFlatString(curEvent->CharactersExtra());
|
||||
|
||||
obsServ->NotifyObservers(nsnull, topic.get(), data.get());
|
||||
break;
|
||||
}
|
||||
|
||||
case AndroidGeckoEvent::LOAD_URI: {
|
||||
nsCOMPtr<nsICommandLineRunner> cmdline
|
||||
(do_CreateInstance("@mozilla.org/toolkit/command-line;1"));
|
||||
|
@ -648,7 +664,6 @@ nsAppShell::PostEvent(AndroidGeckoEvent *ae)
|
|||
if (!allowCoalescingNextViewport)
|
||||
mQueuedViewportEvent = nsnull;
|
||||
}
|
||||
|
||||
NotifyNativeEvent();
|
||||
}
|
||||
|
||||
|
|
|
@ -82,7 +82,6 @@ using mozilla::unused;
|
|||
#include "imgIEncoder.h"
|
||||
|
||||
#include "nsStringGlue.h"
|
||||
#include "nsAutoPtr.h"
|
||||
|
||||
using namespace mozilla;
|
||||
using namespace mozilla::widget;
|
||||
|
@ -894,34 +893,6 @@ nsWindow::OnGlobalAndroidEvent(AndroidGeckoEvent *ae)
|
|||
win->mFocus->OnKeyEvent(ae);
|
||||
break;
|
||||
|
||||
case AndroidGeckoEvent::VIEWPORT:
|
||||
case AndroidGeckoEvent::BROADCAST: {
|
||||
if (ae->Characters().Length() == 0)
|
||||
break;
|
||||
|
||||
nsCOMPtr<nsIObserverService> obsServ =
|
||||
mozilla::services::GetObserverService();
|
||||
|
||||
const NS_ConvertUTF16toUTF8 topic(ae->Characters());
|
||||
const nsPromiseFlatString& data = PromiseFlatString(ae->CharactersExtra());
|
||||
|
||||
obsServ->NotifyObservers(nsnull, topic.get(), data.get());
|
||||
|
||||
if (ae->Type() == AndroidGeckoEvent::VIEWPORT) {
|
||||
// We know that we've caused a complete invalidation
|
||||
// and don't want to wait for the refresh driver
|
||||
// to kick off a draw so we start one now.
|
||||
// There are other smaller invalidations for touch hilighting that
|
||||
// happen earlier so we don't necessarily want to have the
|
||||
// refresh driver naively start a paint when we get the first
|
||||
// invalidation.
|
||||
nsIntRect rect(0, 0, win->mBounds.width, win->mBounds.height);
|
||||
nsAutoPtr<AndroidGeckoEvent> event(new AndroidGeckoEvent(AndroidGeckoEvent::DRAW, rect));
|
||||
win->OnDraw(event);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
case AndroidGeckoEvent::DRAW:
|
||||
layers::renderTraceEventStart("Global draw start", "414141");
|
||||
win->OnDraw(ae);
|
||||
|
|
Загрузка…
Ссылка в новой задаче