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

Unified Diff: chrome/browser/extensions/api/web_navigation/web_navigation_api.cc

Issue 2724433002: Remove the retargeting notification (Closed)
Patch Set: Remove comments in safe browsing tests Created 3 years, 10 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/extensions/api/web_navigation/web_navigation_api.cc
diff --git a/chrome/browser/extensions/api/web_navigation/web_navigation_api.cc b/chrome/browser/extensions/api/web_navigation/web_navigation_api.cc
index 2616a7568fdc8c527ef4d9ac2a9c7525f9942436..90ef18aacc06450c48d23d89f4a88256bf19147f 100644
--- a/chrome/browser/extensions/api/web_navigation/web_navigation_api.cc
+++ b/chrome/browser/extensions/api/web_navigation/web_navigation_api.cc
@@ -12,7 +12,6 @@
#include "chrome/browser/extensions/api/web_navigation/web_navigation_api_helpers.h"
#include "chrome/browser/extensions/extension_tab_util.h"
#include "chrome/browser/profiles/profile.h"
-#include "chrome/browser/tab_contents/retargeting_details.h"
#include "chrome/browser/ui/browser.h"
#include "chrome/browser/ui/browser_list.h"
#include "chrome/common/extensions/api/web_navigation.h"
@@ -76,9 +75,6 @@ WebNavigationEventRouter::WebNavigationEventRouter(Profile* profile)
: profile_(profile), browser_tab_strip_tracker_(this, this, nullptr) {
CHECK(registrar_.IsEmpty());
registrar_.Add(this,
- chrome::NOTIFICATION_RETARGETING,
- content::NotificationService::AllSources());
- registrar_.Add(this,
chrome::NOTIFICATION_TAB_ADDED,
content::NotificationService::AllSources());
registrar_.Add(this,
@@ -121,14 +117,6 @@ void WebNavigationEventRouter::Observe(
const content::NotificationSource& source,
const content::NotificationDetails& details) {
switch (type) {
- case chrome::NOTIFICATION_RETARGETING: {
- Profile* profile = content::Source<Profile>(source).ptr();
- if (profile->GetOriginalProfile() == profile_) {
- Retargeting(
- content::Details<const RetargetingDetails>(details).ptr());
- }
- break;
- }
case chrome::NOTIFICATION_TAB_ADDED:
TabAdded(content::Details<content::WebContents>(details).ptr());
@@ -143,40 +131,40 @@ void WebNavigationEventRouter::Observe(
}
}
-void WebNavigationEventRouter::Retargeting(const RetargetingDetails* details) {
- if (details->source_render_frame_id == 0)
+void WebNavigationEventRouter::RecordNewWebContents(
+ content::WebContents* source_web_contents,
+ int source_render_process_id,
+ int source_render_frame_id,
+ GURL target_url,
+ content::WebContents* target_web_contents,
+ bool not_yet_in_tabstrip) {
+ if (source_render_frame_id == 0)
return;
WebNavigationTabObserver* tab_observer =
- WebNavigationTabObserver::Get(details->source_web_contents);
+ WebNavigationTabObserver::Get(source_web_contents);
if (!tab_observer) {
// If you hit this DCHECK(), please add reproduction steps to
// http://crbug.com/109464.
- DCHECK(GetViewType(details->source_web_contents) != VIEW_TYPE_TAB_CONTENTS);
+ DCHECK(GetViewType(source_web_contents) != VIEW_TYPE_TAB_CONTENTS);
return;
}
const FrameNavigationState& frame_navigation_state =
tab_observer->frame_navigation_state();
content::RenderFrameHost* frame_host = content::RenderFrameHost::FromID(
- details->source_render_process_id, details->source_render_frame_id);
+ source_render_process_id, source_render_frame_id);
if (!frame_navigation_state.CanSendEvents(frame_host))
return;
// If the WebContents isn't yet inserted into a tab strip, we need to delay
// the extension event until the WebContents is fully initialized.
- if (details->not_yet_in_tabstrip) {
- pending_web_contents_[details->target_web_contents] =
- PendingWebContents(details->source_web_contents,
- frame_host,
- details->target_web_contents,
- details->target_url);
+ if (not_yet_in_tabstrip) {
+ pending_web_contents_[target_web_contents] = PendingWebContents(
+ source_web_contents, frame_host, target_web_contents, target_url);
} else {
helpers::DispatchOnCreatedNavigationTarget(
- details->source_web_contents,
- details->target_web_contents->GetBrowserContext(),
- frame_host,
- details->target_web_contents,
- details->target_url);
+ source_web_contents, target_web_contents->GetBrowserContext(),
+ frame_host, target_web_contents, target_url);
}
}
@@ -384,7 +372,8 @@ void WebNavigationTabObserver::DidOpenRequestedURL(
const content::Referrer& referrer,
WindowOpenDisposition disposition,
ui::PageTransition transition,
- bool started_from_context_menu) {
+ bool started_from_context_menu,
+ bool renderer_initiated) {
if (!navigation_state_.CanSendEvents(source_render_frame_host))
return;
@@ -398,11 +387,16 @@ void WebNavigationTabObserver::DidOpenRequestedURL(
disposition != WindowOpenDisposition::OFF_THE_RECORD)
return;
- helpers::DispatchOnCreatedNavigationTarget(web_contents(),
- new_contents->GetBrowserContext(),
- source_render_frame_host,
- new_contents,
- url);
+ WebNavigationAPI* api = WebNavigationAPI::GetFactoryInstance()->Get(
+ web_contents()->GetBrowserContext());
+ WebNavigationEventRouter* router = api->web_navigation_event_router_.get();
+ if (!router)
+ return;
+
+ router->RecordNewWebContents(web_contents(),
+ source_render_frame_host->GetProcess()->GetID(),
+ source_render_frame_host->GetRoutingID(), url,
+ new_contents, renderer_initiated);
}
void WebNavigationTabObserver::WebContentsDestroyed() {

Powered by Google App Engine
This is Rietveld 408576698