Extension SW: Add filtered event listener support.
The primary change is to send worker information to EventRouter::Add/RemoveFilteredEventListener. EventRouter creates worker specific event listeners when worker information is present (identified by a base::Optional param). The other changes are: - Added the ability to call MakeLazy() on service worker specific event listeners. - Since routing id matching is not done deliberately on service worker filtered events, added routing id retrieving function GetRoutingIDForFilteredEvents() to ScriptContext. An end-to-end browsertest with webNavigation API to exercise event filters was also added. IPC changes: This CL adds an optional param to Add/RemoveFilteredListener. The presence of this param denotes that the listener being added/removed belongs to an extension service worker. And the value of the param (ExtensionHostMsg_ServiceWorkerIdentifier) contains the identifying bits of a service worker. The absence of this param indicates that the message is for vanilla (non service worker) extension event listeners. Bug: 721147 Change-Id: I2ff3c26db54ae1e1fd7d10b8afcb277d382e83c2 Reviewed-on: https://chromium-review.googlesource.com/666222 Commit-Queue: Istiaque Ahmed <lazyboy@chromium.org> Reviewed-by:Tom Sepez <tsepez@chromium.org> Reviewed-by:
Devlin <rdevlin.cronin@chromium.org> Cr-Commit-Position: refs/heads/master@{#503298}
Showing
Please register or sign in to comment