Skip to content

Commit 0f233ac

Browse files
committed
fix(popup): clear active interception when clear recorded data
Fix #149
1 parent 479bd37 commit 0f233ac

File tree

5 files changed

+24
-9
lines changed

5 files changed

+24
-9
lines changed

app/background/background.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ class BackgroundWorker {
126126
this.data[this.currentTab].enabled = false;
127127
store.dispatch(toggleListeningRequests(tabId, false));
128128
};
129+
129130
clearData = (tabId: number) => {
130131
this.data[this.currentTab].requests = [];
131132
this.updateBadgeText(tabId, 0);

app/containers/Popup.tsx

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -76,9 +76,8 @@ export class Popup extends React.Component<POPUP_PROPS & DispatchProps, {}> {
7676
this.props.clearFields(this.props.currentTab);
7777
};
7878

79-
handleCheckedRequests = (requests: Array<chrome.webRequest.WebRequestDetails>): void => {
80-
console.log("handleCheckedRequests :: ", this.props.currentTab, requests);
81-
MessageService.interceptChecked(this.props.currentTab, requests);
79+
handleCheckedRequests = (): void => {
80+
MessageService.interceptChecked(this.props.currentTab);
8281
};
8382

8483
disableInterceptor = (tabId: number): void => {

app/content/content.ts

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ export interface contentType {
1717
[contentType: number]: string;
1818
}
1919
interface selectedReqs {
20-
interceptEnabledForTab: boolean;
20+
interceptEnabledForTab?: boolean;
2121
checkedTabRecords: any;
2222
requestsToIntercept: Array<chrome.webRequest.WebRequestBodyDetails>;
23-
tabId: number;
23+
tabId?: number;
2424
}
2525
export type GenericCallbackWithoutParams = () => void;
2626
class Intercept {
@@ -35,11 +35,25 @@ class Intercept {
3535
startMessageListener = () => {
3636
this.store.ready().then(() => {
3737
chrome.runtime.onMessage.addListener(request => {
38-
this.interceptSelected(request.message, request.tabId);
38+
switch (request.message) {
39+
case "CLEAR_DATA":
40+
this.clearAll();
41+
break;
42+
43+
default:
44+
this.interceptSelected(request.message, request.tabId);
45+
}
3946
});
4047
});
4148
};
4249

50+
clearAll = () => {
51+
this.runInterceptor({
52+
requestsToIntercept: [],
53+
checkedTabRecords: []
54+
});
55+
};
56+
4357
interceptSelected = (message: string, tabId: number) => {
4458
const presentState = this.store.getState().rootReducer.tabRecord[tabId];
4559
if (!presentState) {

app/message_service.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ export function disableLogging(tabId: number) {
1111

1212
export function clearData(tabId: number) {
1313
chrome.runtime.sendMessage({ message: "CLEAR_DATA", tabId });
14+
chrome.tabs.sendMessage(tabId, { message: "CLEAR_DATA" });
1415
}
1516

16-
export function interceptChecked(tabId: number, requests: Array<any>) {
17+
export function interceptChecked(tabId: number) {
1718
chrome.tabs.sendMessage(tabId, {
1819
message: "INTERCEPT_CHECKED",
19-
requestsToIntercept: requests,
2020
tabId
2121
});
2222
}

app/reducers/rootReducer.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -126,7 +126,8 @@ export const reducer = (state = INITIAL_POPUP_STATE, action: Action) => {
126126
});
127127
case actionType.CLEAR_REQUESTS:
128128
return extendTabRecords(state, action.payload, {
129-
requests: []
129+
requests: [],
130+
requestRecords: {}
130131
});
131132
case actionType.TOGGLE_CHECKBOX:
132133
return extendTabRecords(state, action.payload, {

0 commit comments

Comments
 (0)