Bug 1513379 - Only check pending source statuses once. r=bhackett

Differential Revision: https://phabricator.services.mozilla.com/D20871

--HG--
extra : moz-landing-system : lando
This commit is contained in:
Jason Laster 2019-02-22 23:29:32 +00:00
parent 6e598cb224
commit 4c4b5b5f3b
4 changed files with 16 additions and 21 deletions

View File

@ -68,6 +68,14 @@ function loadSourceMaps(sources: Source[]) {
);
await sourceQueue.flush();
// We would like to sync breakpoints after we are done
// loading source maps as sometimes generated and original
// files share the same paths.
for (const source of sources) {
dispatch(checkPendingBreakpoints(source.id));
}
return flatten(sourceList);
};
}
@ -211,23 +219,18 @@ export function newSource(source: Source) {
export function newSources(sources: Source[]) {
return async ({ dispatch, getState }: ThunkArgs) => {
const newSources = sources.filter(
source => !getSource(getState(), source.id)
);
dispatch({ type: "ADD_SOURCES", sources });
for (const source of sources) {
for (const source of newSources) {
dispatch(checkSelectedSource(source.id));
}
// We would like to restore the blackboxed state
// after loading all states to make sure the correctness.
dispatch(restoreBlackBoxedSources(sources));
dispatch(loadSourceMaps(sources)).then(() => {
// We would like to sync breakpoints after we are done
// loading source maps as sometimes generated and original
// files share the same paths.
for (const source of sources) {
dispatch(checkPendingBreakpoints(source.id));
}
});
dispatch(restoreBlackBoxedSources(newSources));
dispatch(loadSourceMaps(newSources));
};
}

View File

@ -33,12 +33,10 @@ if (isDevelopment()) {
pref("devtools.debugger.end-panel-collapsed", false);
pref("devtools.debugger.start-panel-size", 300);
pref("devtools.debugger.end-panel-size", 300);
pref("devtools.debugger.tabs", "[]");
pref("devtools.debugger.tabsBlackBoxed", "[]");
pref("devtools.debugger.ui.editor-wrapping", false);
pref("devtools.debugger.ui.framework-grouping-on", true);
pref("devtools.debugger.pending-selected-location", "{}");
pref("devtools.debugger.pending-breakpoints", "{}");
pref("devtools.debugger.expressions", "[]");
pref("devtools.debugger.file-search-case-sensitive", false);
pref("devtools.debugger.file-search-whole-word", false);
@ -91,10 +89,8 @@ export const prefs = new PrefsHelper("devtools", {
startPanelSize: ["Int", "debugger.start-panel-size"],
endPanelSize: ["Int", "debugger.end-panel-size"],
frameworkGroupingOn: ["Bool", "debugger.ui.framework-grouping-on"],
tabs: ["Json", "debugger.tabs", []],
tabsBlackBoxed: ["Json", "debugger.tabsBlackBoxed", []],
pendingSelectedLocation: ["Json", "debugger.pending-selected-location", {}],
pendingBreakpoints: ["Json", "debugger.pending-breakpoints", {}],
expressions: ["Json", "debugger.expressions", []],
fileSearchCaseSensitive: ["Bool", "debugger.file-search-case-sensitive"],
fileSearchWholeWord: ["Bool", "debugger.file-search-whole-word"],

View File

@ -505,9 +505,7 @@ function clearDebuggerPreferences() {
Services.prefs.clearUserPref("devtools.debugger.pause-on-exceptions");
Services.prefs.clearUserPref("devtools.debugger.pause-on-caught-exceptions");
Services.prefs.clearUserPref("devtools.debugger.ignore-caught-exceptions");
Services.prefs.clearUserPref("devtools.debugger.tabs");
Services.prefs.clearUserPref("devtools.debugger.pending-selected-location");
Services.prefs.clearUserPref("devtools.debugger.pending-breakpoints");
Services.prefs.clearUserPref("devtools.debugger.expressions");
Services.prefs.clearUserPref("devtools.debugger.call-stack-visible");
Services.prefs.clearUserPref("devtools.debugger.scopes-visible");

View File

@ -39,10 +39,8 @@ pref("devtools.debugger.start-panel-collapsed", false);
pref("devtools.debugger.end-panel-collapsed", false);
pref("devtools.debugger.start-panel-size", 300);
pref("devtools.debugger.end-panel-size", 300);
pref("devtools.debugger.tabs", "[]");
pref("devtools.debugger.tabsBlackBoxed", "[]");
pref("devtools.debugger.pending-selected-location", "{}");
pref("devtools.debugger.pending-breakpoints", "{}");
pref("devtools.debugger.expressions", "[]");
pref("devtools.debugger.event-listener-breakpoints", "[]");
pref("devtools.debugger.file-search-case-sensitive", false);