Расширение Chrome: (DOM) API-интерфейс отладчика больше не работает

Наше расширение для Chrome больше не работает правильно, начиная с версии 37.0.2062.103 (раньше оно работало правильно в версии Chrome 36.0.1985.143).

В частности, API-интерфейс отладчика перестал работать у нас, когда мы используем DOMDebugger. См. прикрепленный код: (background.js)

chrome.tabs.onUpdated.addListener(function(tabId,changeInfo,tab){
    if( changeInfo.status == "loading"  && tab.active){
        var debugId = {tabId:tabId};
        chrome.debugger.attach(debugId, '1.0', function() {
            chrome.debugger.sendCommand(debugId, 'Debugger.enable', {}, function() {
                chrome.debugger.sendCommand(debugId, "DOMDebugger.setEventListenerBreakpoint", {'eventName':'click'},
                    function(result) {
                        console.log('registering click');
                    });
            });
        });
    }
});
chrome.debugger.onEvent.addListener(onEvent);
function onEvent(debuggeeId, method,params) {
    if(method=="Debugger.paused"){
        console.log('DONE!');
    }
};

Расширение успешно запускает отладчик. получаем желтую ленту отладчика. Мы также видим сообщение «registering click» в консоли. аргумент результата — пустой объект {} (строка 8). Однако при нажатии на кнопку, у которой есть прослушиватель событий щелчка, ничего не происходит.

Раньше работало без проблем.


person Amit Levin    schedule 10.09.2014    source источник
comment
Похоже, вы также должны зарегистрировать проблему на crbug.com и добавить ссылку на нее здесь.   -  person Xan    schedule 10.09.2014


Ответы (1)


Похоже, он регрессировал с https://codereview.chromium.org/305753005. Теперь нужно вызвать «DOM.enable», чтобы он заработал. На стороне Chrome мы должны неявно включить домен DOM в setEventListenerBreakpoint для обратной совместимости. К сожалению, он уже втиснут в стабильную версию.

person pavel.feldman    schedule 10.09.2014
comment
Есть ли ошибка по этому поводу? Если да, добавьте ссылку на него. - person Xan; 11.09.2014