Bug 1488908: Add setter op to HandlerApp proxy. rs=Gijs
authorKris Maglione <maglione.k@gmail.com>
Thu, 06 Sep 2018 16:21:08 -0700
changeset 436038 dcdd547ff76700c4a8aeaee00d645c3a9d3c893a
parent 436037 ef0c065ebe0fc1918816718d45dc7e2a42545b06
child 436039 a4e3bfaefca5764612e436d1e900ca9fa0620bf8
push id34625
push userdvarga@mozilla.com
push dateThu, 13 Sep 2018 02:31:40 +0000
treeherdermozilla-central@51e9e9660b3e [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersGijs
bugs1488908
milestone64.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1488908: Add setter op to HandlerApp proxy. rs=Gijs In the past, these operations seem to have worked by accident, by somehow bypassing the proxy. But as things stand now, set operations set properties on the wrapped object rather than the proxy, causing them to be mostly ignored. Differential Revision: https://phabricator.services.mozilla.com/D5215
uriloader/exthandler/HandlerService.js
--- a/uriloader/exthandler/HandlerService.js
+++ b/uriloader/exthandler/HandlerService.js
@@ -208,16 +208,19 @@ HandlerService.prototype = {
             delete this._handlerInfo;
             return this._handlerInfo = gExternalProtocolService.getProtocolHandlerInfo(type);
           },
         },
         {
           get: function(target, name) {
             return target[name] || target._handlerInfo[name];
           },
+          set: function(target, name, value) {
+            target._handlerInfo[name] = value;
+          },
         },
       );
       handlers.appendElement(handler);
     }
     return handlers.enumerate(Ci.nsIHandlerInfo);
   },
 
   // nsIHandlerService