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

Side by Side Diff: extensions/renderer/script_injection_manager.cc

Issue 2471553003: Fix content script injection not working with PlzNavigate because of different navigation timings. (Closed)
Patch Set: review comments Created 4 years, 1 month 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/renderer/script_injection_manager.h" 5 #include "extensions/renderer/script_injection_manager.h"
6 6
7 #include <memory> 7 #include <memory>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/auto_reset.h" 10 #include "base/auto_reset.h"
(...skipping 430 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 if (params.host_id.type() == HostID::EXTENSIONS) { 441 if (params.host_id.type() == HostID::EXTENSIONS) {
442 injection_host = ExtensionInjectionHost::Create(params.host_id.id()); 442 injection_host = ExtensionInjectionHost::Create(params.host_id.id());
443 if (!injection_host) 443 if (!injection_host)
444 return; 444 return;
445 } else if (params.host_id.type() == HostID::WEBUI) { 445 } else if (params.host_id.type() == HostID::WEBUI) {
446 injection_host.reset( 446 injection_host.reset(
447 new WebUIInjectionHost(params.host_id)); 447 new WebUIInjectionHost(params.host_id));
448 } 448 }
449 449
450 std::unique_ptr<ScriptInjection> injection(new ScriptInjection( 450 std::unique_ptr<ScriptInjection> injection(new ScriptInjection(
451 std::unique_ptr<ScriptInjector>( 451 std::unique_ptr<ScriptInjector>(new ProgrammaticScriptInjector(params)),
452 new ProgrammaticScriptInjector(params, render_frame)),
453 render_frame, std::move(injection_host), 452 render_frame, std::move(injection_host),
454 static_cast<UserScript::RunLocation>(params.run_at), 453 static_cast<UserScript::RunLocation>(params.run_at),
455 activity_logging_enabled_)); 454 activity_logging_enabled_));
456 455
457 FrameStatusMap::const_iterator iter = frame_statuses_.find(render_frame); 456 FrameStatusMap::const_iterator iter = frame_statuses_.find(render_frame);
458 UserScript::RunLocation run_location = 457 UserScript::RunLocation run_location =
459 iter == frame_statuses_.end() ? UserScript::UNDEFINED : iter->second; 458 iter == frame_statuses_.end() ? UserScript::UNDEFINED : iter->second;
460 459
461 ScriptsRunInfo scripts_run_info(render_frame, run_location); 460 ScriptsRunInfo scripts_run_info(render_frame, run_location);
462 TryToInject(std::move(injection), run_location, &scripts_run_info); 461 TryToInject(std::move(injection), run_location, &scripts_run_info);
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
502 ScriptsRunInfo scripts_run_info(injection->render_frame(), 501 ScriptsRunInfo scripts_run_info(injection->render_frame(),
503 UserScript::RUN_DEFERRED); 502 UserScript::RUN_DEFERRED);
504 ScriptInjection::InjectionResult res = injection->OnPermissionGranted( 503 ScriptInjection::InjectionResult res = injection->OnPermissionGranted(
505 &scripts_run_info); 504 &scripts_run_info);
506 if (res == ScriptInjection::INJECTION_BLOCKED) 505 if (res == ScriptInjection::INJECTION_BLOCKED)
507 running_injections_.push_back(std::move(injection)); 506 running_injections_.push_back(std::move(injection));
508 scripts_run_info.LogRun(activity_logging_enabled_); 507 scripts_run_info.LogRun(activity_logging_enabled_);
509 } 508 }
510 509
511 } // namespace extensions 510 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698