1. 01 Jun, 2018 2 commits
    • Alexey Kozyatinskiy's avatar
      Reland "[inspector] added Runtime.installBinding method" · 5cb11a17
      Alexey Kozyatinskiy authored
      This is a reland of 49c4ac77
      
      Original change's description:
      > [inspector] added Runtime.installBinding method
      >
      > A lot of different clients use console.debug as a message channel from
      > page to protocol client. console.debug is a little slow and not
      > designed for this use case.
      >
      > This CL introduces new method: Runtime.installBinding. This method
      > installs binding function by given name on global object on each
      > inspected context including any context created later.
      > Binding function takes exactly one string argument. Each time when
      > binding function is called, Runtime.bindingCalled notification is
      > triggered and includes passed payload.
      >
      > Binding function survives page reload and reinstalled right after
      > console object is setup. So installed binding can be used inside
      > script added by Page.addScriptToEvaluateOnNewDocument so client may do
      > something like:
      > Runtime.installBinding({name: 'send'});
      > Page.addScriptToEvaluateOnNewDocument({source: 'console.debug = send'});
      > .. navigate page ..
      >
      > In microbenchmark this function is ~4.6 times faster then
      > console.debug.
      >
      > R=lushnikov@chromium.org,pfeldman@chromium.org
      >
      > Bug: none
      > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      > Change-Id: I3e0e231dde9d45116709d248f6e9e7ec7037e8e3
      > Reviewed-on: https://chromium-review.googlesource.com/1077662
      > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53462}
      
      TBR=dgozman@chromium.org
      
      Bug: none
      Change-Id: I58d053581a86f15338dea621498058b7b75c7c85
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      Reviewed-on: https://chromium-review.googlesource.com/1081833Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53479}
      5cb11a17
    • Sergiy Byelozyorov's avatar
      Revert "[inspector] added Runtime.installBinding method" · 7bd8b1c0
      Sergiy Byelozyorov authored
      This reverts commit 49c4ac77.
      
      Reason for revert: breaks linux_chromium_rel_ng when rolling into Chromium: https://ci.chromium.org/p/chromium/builders/luci.chromium.try/linux_chromium_rel_ng/107377
      
      Original change's description:
      > [inspector] added Runtime.installBinding method
      > 
      > A lot of different clients use console.debug as a message channel from
      > page to protocol client. console.debug is a little slow and not
      > designed for this use case.
      > 
      > This CL introduces new method: Runtime.installBinding. This method
      > installs binding function by given name on global object on each
      > inspected context including any context created later.
      > Binding function takes exactly one string argument. Each time when
      > binding function is called, Runtime.bindingCalled notification is
      > triggered and includes passed payload.
      > 
      > Binding function survives page reload and reinstalled right after
      > console object is setup. So installed binding can be used inside
      > script added by Page.addScriptToEvaluateOnNewDocument so client may do
      > something like:
      > Runtime.installBinding({name: 'send'});
      > Page.addScriptToEvaluateOnNewDocument({source: 'console.debug = send'});
      > .. navigate page ..
      > 
      > In microbenchmark this function is ~4.6 times faster then
      > console.debug.
      > 
      > R=​lushnikov@chromium.org,pfeldman@chromium.org
      > 
      > Bug: none
      > Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      > Change-Id: I3e0e231dde9d45116709d248f6e9e7ec7037e8e3
      > Reviewed-on: https://chromium-review.googlesource.com/1077662
      > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      > Reviewed-by: Dmitry Gozman <dgozman@chromium.org>
      > Cr-Commit-Position: refs/heads/master@{#53462}
      
      TBR=dgozman@chromium.org,lushnikov@chromium.org,pfeldman@chromium.org,kozyatinskiy@chromium.org
      
      Change-Id: I1ebafd42db01d8a6435d58386f2c667b92db12f1
      No-Presubmit: true
      No-Tree-Checks: true
      No-Try: true
      Bug: none
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      Reviewed-on: https://chromium-review.googlesource.com/1082311Reviewed-by: 's avatarSergiy Byelozyorov <sergiyb@chromium.org>
      Commit-Queue: Sergiy Byelozyorov <sergiyb@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53470}
      7bd8b1c0
  2. 31 May, 2018 1 commit
    • Alexey Kozyatinskiy's avatar
      [inspector] added Runtime.installBinding method · 49c4ac77
      Alexey Kozyatinskiy authored
      A lot of different clients use console.debug as a message channel from
      page to protocol client. console.debug is a little slow and not
      designed for this use case.
      
      This CL introduces new method: Runtime.installBinding. This method
      installs binding function by given name on global object on each
      inspected context including any context created later.
      Binding function takes exactly one string argument. Each time when
      binding function is called, Runtime.bindingCalled notification is
      triggered and includes passed payload.
      
      Binding function survives page reload and reinstalled right after
      console object is setup. So installed binding can be used inside
      script added by Page.addScriptToEvaluateOnNewDocument so client may do
      something like:
      Runtime.installBinding({name: 'send'});
      Page.addScriptToEvaluateOnNewDocument({source: 'console.debug = send'});
      .. navigate page ..
      
      In microbenchmark this function is ~4.6 times faster then
      console.debug.
      
      R=lushnikov@chromium.org,pfeldman@chromium.org
      
      Bug: none
      Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel
      Change-Id: I3e0e231dde9d45116709d248f6e9e7ec7037e8e3
      Reviewed-on: https://chromium-review.googlesource.com/1077662
      Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
      Reviewed-by: 's avatarDmitry Gozman <dgozman@chromium.org>
      Cr-Commit-Position: refs/heads/master@{#53462}
      49c4ac77