http://b/issue?id=2053685. This is a tricky one. When Browser is restarted,
we may get first layout even before viewport tag is parsed. This is rare,
but it happens to Google Reader site. So we need to setup the viewport explicitly
if it happens after first layout. There is a pairing webkit change.
http://b/issue?id=2054131. When Google talk is loaded, it goes through an auth
redirect site which means first layout is called with standardLoad as false.
In this case, even the final site uses viewport tag to get mobile experience,
the intermediate one doesn't. To make sure most of the mobile sites, who
define their viewport width as device width, work correctly, we always update
the mRestoreState when we set viewport.
http://b/issue?id=2054121. When Browser is first started or restarted, the
mCurrentViewWidth is 0 as we don't know the WebView's width yet. As we can't
send VIEW_SIZE_CHANGED message directly, we reset WebView's mLastWidthSent
so that VIEW_SIZE_CHANGED will be sent from WebView when it's width is available.
Decode the url before passing down to the local loaders since they do not decode
the url themselves. This was creating a crash on youtube.com since the data url
was percent-encoded and failing to parse from base64.
Requires a corresponding change to external/webkit. We were previously
letting WebTextView handle clicks, determine the change in selection,
and pass that down to webkit. This sometimes resulted in a different
placement of the caret if the WebTextView and the webkit-rendered
textfield did not line up exactly. Now, we pass the click directly
to webkit, which determines the new selection and passes that info
back to the WebTextView. This also has the benefit of letting
the WebTextView reflect changes in the selection that originated from
webkit. Also remove some unused parameters.
* changes:
Improve Browser performance by 1-2%. To address domain sanity bug, http://b/issue?id=1022797, we decoded/encoded the url for each request. As the url can be long, getBytes() and String.init are taking 1.5% in nytimes.com and 2.4% in cnn.com. By doing a simple URL encoding test, we can shave 1-2 secs thread time during loading.
http://b/issue?id=1022797, we decoded/encoded the url for each request. As
the url can be long, getBytes() and String.init are taking 1.5% in nytimes.com
and 2.4% in cnn.com. By doing a simple URL encoding test, we can shave 1-2
secs thread time during loading.
1. Added a setting to control whether a page is loaded with overview mode;
2. If there is no viewport metag tag, a page will be loaded in the viewport
at least 800px wide.
3. When we adjust zoom scale in the overview mode, don't use animation.
4. When zoom out to close to min zoom scale, switch to overview mode. So double
tap will always have visual feedback unless it is mobile site.
Hide the apis until this is a well-tested feature. The url is reported rather
than the actual icon since it may never be used. The apple-touch-icon is meant
for shortcuts on the home screen.
Make setContentScrollBy return a boolean.
Necessary so that a caller of setContentScrollBy in WebView.cpp
can find out whether the page scrolled. Requires a change in
external/webkit/
On the first tap down, send a message to rebuild the nav
cache so that double taps have a better chance of having
some alignment information to work with.
Also, pass scale information to getBlockLeftEdge to
restrict the alignment search
Requires a change to external/webkit. Set ImeActions for textfields,
depending on the existence of other textfields on the page, and
react accordingly.