Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(142)

Side by Side Diff: extensions/browser/api/web_request/web_request_api.cc

Issue 2002763003: webRequest: reliably determine tabId (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@webRequest-testing-unload
Patch Set: Use FrameData + fix comments Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "extensions/browser/api/web_request/web_request_api.h" 5 #include "extensions/browser/api/web_request/web_request_api.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <algorithm> 9 #include <algorithm>
10 #include <memory> 10 #include <memory>
(...skipping 583 matching lines...) Expand 10 before | Expand all | Expand 10 after
594 rules_registries_.erase(key); 594 rules_registries_.erase(key);
595 } 595 }
596 596
597 std::unique_ptr<WebRequestEventDetails> 597 std::unique_ptr<WebRequestEventDetails>
598 ExtensionWebRequestEventRouter::CreateEventDetails( 598 ExtensionWebRequestEventRouter::CreateEventDetails(
599 const net::URLRequest* request, 599 const net::URLRequest* request,
600 int extra_info_spec) { 600 int extra_info_spec) {
601 std::unique_ptr<WebRequestEventDetails> event_details( 601 std::unique_ptr<WebRequestEventDetails> event_details(
602 new WebRequestEventDetails(request, extra_info_spec)); 602 new WebRequestEventDetails(request, extra_info_spec));
603 603
604 int render_frame_id = -1;
605 int render_process_id = -1;
606 int tab_id = -1;
607 ExtensionApiFrameIdMap::FrameData frame_data;
608 if (content::ResourceRequestInfo::GetRenderFrameForRequest(
609 request, &render_process_id, &render_frame_id) &&
610 ExtensionApiFrameIdMap::Get()->GetCachedFrameDataOnIO(
611 render_process_id, render_frame_id, &frame_data)) {
612 tab_id = frame_data.tab_id;
613 }
614 event_details->SetInteger(keys::kTabIdKey, tab_id);
615 return event_details; 604 return event_details;
616 } 605 }
617 606
618 int ExtensionWebRequestEventRouter::OnBeforeRequest( 607 int ExtensionWebRequestEventRouter::OnBeforeRequest(
619 void* browser_context, 608 void* browser_context,
620 const InfoMap* extension_info_map, 609 const InfoMap* extension_info_map,
621 net::URLRequest* request, 610 net::URLRequest* request,
622 const net::CompletionCallback& callback, 611 const net::CompletionCallback& callback,
623 GURL* new_url) { 612 GURL* new_url) {
624 if (ShouldHideEvent(browser_context, extension_info_map, request)) 613 if (ShouldHideEvent(browser_context, extension_info_map, request))
(...skipping 1670 matching lines...) Expand 10 before | Expand all | Expand 10 after
2295 // Continue gracefully. 2284 // Continue gracefully.
2296 RunSync(); 2285 RunSync();
2297 } 2286 }
2298 2287
2299 bool WebRequestHandlerBehaviorChangedFunction::RunSync() { 2288 bool WebRequestHandlerBehaviorChangedFunction::RunSync() {
2300 helpers::ClearCacheOnNavigation(); 2289 helpers::ClearCacheOnNavigation();
2301 return true; 2290 return true;
2302 } 2291 }
2303 2292
2304 } // namespace extensions 2293 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698