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

Unified Diff: content/public/app/content_main_delegate.h

Issue 19957002: Run the later parts of startup as UI thread tasks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Run the later parts of startup as UI thread tasks - patch for Yaron's comments Created 7 years, 5 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: content/public/app/content_main_delegate.h
diff --git a/content/public/app/content_main_delegate.h b/content/public/app/content_main_delegate.h
index 9b94b98d46c8a38886cfa2774040724c104afc2f..8919304a66bdd44c309704b8ff139c3b1425a1b8 100644
--- a/content/public/app/content_main_delegate.h
+++ b/content/public/app/content_main_delegate.h
@@ -9,6 +9,7 @@
#include "build/build_config.h"
#include "content/common/content_export.h"
+#include "content/public/common/startup_task_runner.h"
namespace content {
@@ -21,6 +22,7 @@ struct MainFunctionParams;
class CONTENT_EXPORT ContentMainDelegate {
public:
+ ContentMainDelegate() {}
virtual ~ContentMainDelegate() {}
// Tells the embedder that the absolute basic startup has been done, i.e.
@@ -46,6 +48,17 @@ class CONTENT_EXPORT ContentMainDelegate {
// Called right before the process exits.
virtual void ProcessExiting(const std::string& process_type) {}
+ // Call with true to allow the creation of a sequence of UI thread tasks to
+ // initialize the content layer. If not called, or called with false, content
+ // layer initialization must be completed in a single UI task.
+ // If called with true it is an implementation choice whether initialization
+ // requires multiple UI thread tasks.
+ virtual void EnableIncrementalStartup(bool enable) {};
+
+ // Set an observer to inform higher layers of startup progress
+ virtual void SetStartupObserver(
+ scoped_ptr<StartupTaskRunner::Observer> observer);
jam 2013/07/24 06:45:24 here and above: ContentMainDelegate is an interfac
aberent 2013/07/26 20:36:54 Done. I have rethought how I configure the startup
+
#if defined(OS_MACOSX) && !defined(OS_IOS)
// Returns true if the process registers with the system monitor, so that we
// can allocate an IO port for it before the sandbox is initialized. Embedders
@@ -82,6 +95,11 @@ class CONTENT_EXPORT ContentMainDelegate {
virtual ContentPluginClient* CreateContentPluginClient();
virtual ContentRendererClient* CreateContentRendererClient();
virtual ContentUtilityClient* CreateContentUtilityClient();
+
+ StartupTaskRunner::Observer* GetStartupObserver();
+
+ private:
+ scoped_ptr<StartupTaskRunner::Observer> startup_observer_;
};
} // namespace content

Powered by Google App Engine
This is Rietveld 408576698