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

Side by Side Diff: chrome/renderer/extensions/dispatcher.cc

Issue 190663012: Run ContentMain in a browser_test's browser process. This removes duplication of code in the browse… (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: try to fix android by restoring old path just for it Created 6 years, 9 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 | Annotate | Revision Log
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 "chrome/renderer/extensions/dispatcher.h" 5 #include "chrome/renderer/extensions/dispatcher.h"
6 6
7 #include "base/callback.h" 7 #include "base/callback.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/debug/alias.h" 9 #include "base/debug/alias.h"
10 #include "base/json/json_reader.h" 10 #include "base/json/json_reader.h"
(...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 IPC_MESSAGE_UNHANDLED(handled = false) 512 IPC_MESSAGE_UNHANDLED(handled = false)
513 IPC_END_MESSAGE_MAP() 513 IPC_END_MESSAGE_MAP()
514 514
515 return handled; 515 return handled;
516 } 516 }
517 517
518 void Dispatcher::WebKitInitialized() { 518 void Dispatcher::WebKitInitialized() {
519 // For extensions, we want to ensure we call the IdleHandler every so often, 519 // For extensions, we want to ensure we call the IdleHandler every so often,
520 // even if the extension keeps up activity. 520 // even if the extension keeps up activity.
521 if (is_extension_process_) { 521 if (is_extension_process_) {
522 forced_idle_timer_.Start(FROM_HERE, 522 forced_idle_timer_.reset(new base::RepeatingTimer<content::RenderThread>);
523 forced_idle_timer_->Start(FROM_HERE,
523 base::TimeDelta::FromMilliseconds(kMaxExtensionIdleHandlerDelayMs), 524 base::TimeDelta::FromMilliseconds(kMaxExtensionIdleHandlerDelayMs),
524 RenderThread::Get(), &RenderThread::IdleHandler); 525 RenderThread::Get(), &RenderThread::IdleHandler);
525 } 526 }
526 527
527 // Initialize host permissions for any extensions that were activated before 528 // Initialize host permissions for any extensions that were activated before
528 // WebKit was initialized. 529 // WebKit was initialized.
529 for (std::set<std::string>::iterator iter = active_extension_ids_.begin(); 530 for (std::set<std::string>::iterator iter = active_extension_ids_.begin();
530 iter != active_extension_ids_.end(); ++iter) { 531 iter != active_extension_ids_.end(); ++iter) {
531 const Extension* extension = extensions_.GetByID(*iter); 532 const Extension* extension = extensions_.GetByID(*iter);
532 CHECK(extension); 533 CHECK(extension);
533 } 534 }
534 535
535 EnableCustomElementWhiteList(); 536 EnableCustomElementWhiteList();
536 537
537 is_webkit_initialized_ = true; 538 is_webkit_initialized_ = true;
538 } 539 }
539 540
540 void Dispatcher::IdleNotification() { 541 void Dispatcher::IdleNotification() {
541 if (is_extension_process_) { 542 if (is_extension_process_) {
542 // Dampen the forced delay as well if the extension stays idle for long 543 // Dampen the forced delay as well if the extension stays idle for long
543 // periods of time. 544 // periods of time.
544 int64 forced_delay_ms = std::max( 545 int64 forced_delay_ms = std::max(
545 RenderThread::Get()->GetIdleNotificationDelayInMs(), 546 RenderThread::Get()->GetIdleNotificationDelayInMs(),
546 kMaxExtensionIdleHandlerDelayMs); 547 kMaxExtensionIdleHandlerDelayMs);
547 forced_idle_timer_.Stop(); 548 forced_idle_timer_->Stop();
548 forced_idle_timer_.Start(FROM_HERE, 549 forced_idle_timer_->Start(FROM_HERE,
549 base::TimeDelta::FromMilliseconds(forced_delay_ms), 550 base::TimeDelta::FromMilliseconds(forced_delay_ms),
550 RenderThread::Get(), &RenderThread::IdleHandler); 551 RenderThread::Get(), &RenderThread::IdleHandler);
551 } 552 }
552 } 553 }
553 554
554 void Dispatcher::OnRenderProcessShutdown() { 555 void Dispatcher::OnRenderProcessShutdown() {
555 v8_schema_registry_.reset(); 556 v8_schema_registry_.reset();
557 forced_idle_timer_.reset();
556 } 558 }
557 559
558 void Dispatcher::OnSetFunctionNames( 560 void Dispatcher::OnSetFunctionNames(
559 const std::vector<std::string>& names) { 561 const std::vector<std::string>& names) {
560 function_names_.clear(); 562 function_names_.clear();
561 for (size_t i = 0; i < names.size(); ++i) 563 for (size_t i = 0; i < names.size(); ++i)
562 function_names_.insert(names[i]); 564 function_names_.insert(names[i]);
563 } 565 }
564 566
565 void Dispatcher::OnSetSystemFont(const std::string& font_family, 567 void Dispatcher::OnSetSystemFont(const std::string& font_family,
(...skipping 1131 matching lines...) Expand 10 before | Expand all | Expand 10 after
1697 } 1699 }
1698 1700
1699 void Dispatcher::ClearPortData(int port_id) { 1701 void Dispatcher::ClearPortData(int port_id) {
1700 // Only the target port side has entries in |port_to_tab_id_map_|. If 1702 // Only the target port side has entries in |port_to_tab_id_map_|. If
1701 // |port_id| is a source port, std::map::erase() will just silently fail 1703 // |port_id| is a source port, std::map::erase() will just silently fail
1702 // here as a no-op. 1704 // here as a no-op.
1703 port_to_tab_id_map_.erase(port_id); 1705 port_to_tab_id_map_.erase(port_id);
1704 } 1706 }
1705 1707
1706 } // namespace extensions 1708 } // namespace extensions
OLDNEW
« no previous file with comments | « chrome/renderer/extensions/dispatcher.h ('k') | chrome/renderer/media/cast_session_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698