• 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
add-binding-expected.txt 1.84 KB