Moves nsSidebar.js to toolkit and makes it just pass messages to chrome for each
API call. MainProcessSingleton listens for those messages and passes the call
along to the search service.
Combines the validation code into the same function and takes the opportunity to
support relative URLs too.
Adds a bunch of tests for these web APIs.
Also fixes:
Bug 518929: Implement window.external APIs in core code
Bug 530847: Remove Fennec's nsISidebar implementation once that code is moved into the core
Bug 517720: Adding a search engine using relative URIs is not supported
--HG--
rename : browser/components/sidebar/nsSidebar.js => toolkit/components/search/nsSidebar.js
extra : rebase_source : 3e9caa49383e78e73e5f111ff09fb063f2cfa7c0
The popup gets closed when native events trigger rollup. This is before the any
mousedown event reaches the DOM so it is difficult to detect the case where it
was a click on the magnifying glass icon that closed the popup. Here a field
is added to the popup that is set to true when rollup is triggered and false
on the next tick of the event loop which will be after the mousedown event
reaches the DOM. This allows us to detect the case and ignore the click on the
magnifying glass.
--HG--
extra : rebase_source : 521d024b33011d0f501a5cd6a1317363f585ffed
showHistoryPopup in autocomplete.xml always sets consumeoutsideclicks to true
so we have to override that when the popup is actually opened.
The test here isn't a very good one. For some reason the events generated by
EventUtils aren't consumed regardless of consumeoutsideclicks, I'm not sure
there is a great way to test this automatically.
--HG--
extra : rebase_source : 1e413c645cc0445089f0214a6d3b68365b47ca80
The data reporting notification was over-complicated. It wasn't
displayed for +24hr after first run and it had a weird, non-required
policy around what constituted acceptance of the policy.
The notification is now shown shortly after first startup.
The logic around "notification accepted" has been greatly simplified by
rolling it into "notification shown." Where we once were checking
whether the notification has been "accepted," we now check whether it
has been displayed. The overly complicated logic around the implicit
acceptance of the policy has also been removed.
The end result is the code for managing the state of the notification is
greatly simplified.
The data reporting notification was over-complicated. It wasn't
displayed for +24hr after first run and it had a weird, non-required
policy around what constituted acceptance of the policy.
The notification is now shown shortly after first startup.
The logic around "notification accepted" has been greatly simplified by
rolling it into "notification shown." Where we once were checking
whether the notification has been "accepted," we now check whether it
has been displayed. The overly complicated logic around the implicit
acceptance of the policy has also been removed.
The end result is the code for managing the state of the notification is
greatly simplified.
--HG--
extra : rebase_source : 808efdf1edd103552f6aa10b5c4309b64e514773
extra : amend_source : e4252e6a850a348d1b5aca733121dd07cbc6a70a
extra : histedit_source : 10ec20a07677674a8c9a705a3ffb4dc46a22b890%2Ca9442934d5964f16e9ad1101b786b4d094ac228d