The current browser pause/resume logic uses an integer count to track
the pause/resume behavior, which is mostly working fine in phone. The interger
count is usually 0 when browser is paused, and its value is usually 1
when the browser is resumed and will trigger any delayed timer.
But in tablet, where tabs can be easily created/switched/deleted, this
logic will not work well and sometimes cause resources timers get stuck.
For example, in case multiple tabs are created, and you reload one of the
tabs, when it's almost finished, switch to another tab, and hit home or power
button, at this point of time, the browser will be suspended at
Controller.java::onPause, hence the integer count will be 0; but since
the other tab is also finished after the pause, the current logic at
Controller.java::onPageFinished will call pause timer again, which will make
the integer count to be -1. Before the time the browser is resumed, it's very
possible some tabs will have some resources, such as images/flashs,
scheduled to be loaded, these will be in delayed timer in
ResourceLoadScheduler.cpp's m_requestTimer.
Now when the browser is resumed, the integer count will be 0, which will not
trigger delayed timer. Then all the new timers will be stuck as well since
old timers are not executed yet.
The fix is to simplify the pause/resume logic by just using a boolean variable
instead of error-prone integer counting.
issue: 4177932
Change-Id: Id10af9298c7be1f82222d0b94c34c5dc68403630
ApnContext and DC were not disassociated when force
"cleanUpConnection" was called. Causing the setup
request was not happening if applyNewStatus() was
the trigger.
Change-Id: I6d73a53edb72bb9ab4ebb92fffd06e6fe1f0c4aa
Make sure to disconnect the link when RIL reported link property change
which could cause connectivity issue. (i.e. IP address)
Change-Id: I6601ef53e4561bdc7d2760d00e134b8431512cb2
Additional deactivate cause so RIL could take intelligent action
on data stall occurrence if necessary.
Change-Id: Iae4accda879efb5679085c518117617fb16631c3
* commit 'f483ed90401d63b7317f823fcac10315146d3072':
Change measurement of effective screen height for PopupWindow now that DisplayMetrics reports it without system decorations.
* commit 'bdc26dc34a5d848883d5acdee62f5b4403e8fe04':
Change measurement of effective screen height for PopupWindow now that DisplayMetrics reports it without system decorations.
Change I2b737efa6092ad1254c8dc25840ec429f5c6e882 brought side
effect that retry count is reset at every setup.
Change-Id: I6f20d2e82110b2873ff5acbb60a747fd11c09c60
* commit 'd1735ef91af201ff140f8d954dd07eff80836d20':
Use proper type for oob variable in register_agent. Without this change the BluetoothEventLoop crashes on my armv5 arch board.
LayoutLib: Fix issue where <include> with no layout params wouldn't display.
The issue is that the layout params from the root element of the included
layout should be used but this failed because loading the layout params
from the <include> tag didn't throw a RuntimeException in our modified
code (BridgeTypedArray).
Because we don't want to throw exception in general we only throw it
when reading the layout params of an include node which is pretty crappy,
but works for now.
Change-Id: I83ccf956e8b476f34dfc9a70aebae2288d53746e
* commit '4b41df613db19c5fe1d8c0d05ef314326fd3f95b':
Use proper type for oob variable in register_agent. Without this change the BluetoothEventLoop crashes on my armv5 arch board.