Commit graph

25 commits

Author SHA1 Message Date
Haojian Wu
5a5c92ad2d Add remote debugging support. 2014-07-30 22:19:05 +08:00
Cheng Zhao
a866718b49 Initialize ProxyResolverV8 at very early phrase.
In atom-shell we need to ensure node environment is initialized after the
ProxyResolverV8 has been initialized.
2014-07-28 15:28:38 +08:00
Cheng Zhao
8bf3e084f1 Interface of ProxyResolverV8 has changed. 2014-07-27 11:27:04 +00:00
Cheng Zhao
bb87492897 No more need to init aura::Env. 2014-07-27 11:27:04 +00:00
Cheng Zhao
8d3f615e61 win: Setup font. 2014-07-12 19:46:26 +08:00
Cheng Zhao
739b352de6 Only init WMState on Linux. 2014-07-09 20:06:31 +08:00
Cheng Zhao
81d31b1d49 Remove Windows's devtools implementation. 2014-07-09 10:37:54 +08:00
Cheng Zhao
7a196933bb views: Don't leak ViewsDelegate. 2014-07-09 10:26:01 +08:00
Cheng Zhao
da5daecb1d Initialize aura environment. 2014-07-09 10:26:01 +08:00
Cheng Zhao
02f52f7e20 Allow override BrowserMainParts::InitProxyResolverV8. 2014-07-09 10:26:01 +08:00
Cheng Zhao
8f3546ed30 Initialize screen for aura. 2014-07-09 10:26:01 +08:00
Cheng Zhao
bad7b95ed7 Add ViewsDelegate, required when using views::Widget on aura. 2014-07-09 10:26:01 +08:00
Cheng Zhao
48ed03eb39 Initialize Linux UI. 2014-07-09 10:26:01 +08:00
Cheng Zhao
d4e81da19a Make BrowserMainParts's overrides available on all platforms. 2014-07-09 10:26:01 +08:00
Adam Roben
6bae1f4b44 Set up a native screen on Windows
This is needed to prevent a crash inside aura::WindowTreeHost::InitCompositor.
2014-07-07 13:53:24 -04:00
Cheng Zhao
0a1f756ca6 Use "ProxyResolverV8" instead of "SystemProxyResolver" as proxy service.
SystemProxyResolver is untested and could cause random crashes.
2013-12-05 02:56:28 -08:00
Adam Roben
a35a57c3c4 Fix cpplint errors in browser_main_parts.cc 2013-11-17 17:51:19 -05:00
Adam Roben
ae1e26bddd Fix a hang on quit when application cache is used
If you navigated to a page that used the HTML Application Cache, you'd see a
hang on quit with a backtrace like so:

+     2825 content::ContentMain(int, char const**, content::ContentMainDelegate*)  (in libchromiumcontent.dylib) + 64  [0xb33190]
+       2825 ???  (in libchromiumcontent.dylib)  load address 0x1c9000 + 0x96b261  [0xb34261]
+         2825 ???  (in libchromiumcontent.dylib)  load address 0x1c9000 + 0x96a409  [0xb33409]
+           2825 content::BrowserMain(content::MainFunctionParams const&)  (in libchromiumcontent.dylib) + 200  [0x14290b8]
+             2825 ???  (in libchromiumcontent.dylib)  load address 0x1c9000 + 0x1265426  [0x142e426]
+               2825 content::BrowserMainLoop::~BrowserMainLoop()  (in libchromiumcontent.dylib) + 17  [0x14294a1]
+                 2825 content::BrowserMainLoop::~BrowserMainLoop()  (in libchromiumcontent.dylib) + 357  [0x1429625]
+                     2825 brightray::BrowserMainParts::~BrowserMainParts()  (in ) + 70  [0x68df6]
+                       2825 scoped_ptr<brightray::BrowserContext, base::DefaultDeleter<brightray::BrowserContext> >::~scoped_ptr()  (in ) + 23  [0x68ff7]
+                         2825 scoped_ptr<brightray::BrowserContext, base::DefaultDeleter<brightray::BrowserContext> >::~scoped_ptr()  (in ) + 23  [0x69297]
+                           2825 base::internal::scoped_ptr_impl<brightray::BrowserContext, base::DefaultDeleter<brightray::BrowserContext> >::~scoped_ptr_impl()  (in ) + 23  [0x692b7]
+                             2825 base::internal::scoped_ptr_impl<brightray::BrowserContext, base::DefaultDeleter<brightray::BrowserContext> >::~scoped_ptr_impl()  (in ) + 50  [0x692f2]
+                               2825 base::DefaultDeleter<brightray::BrowserContext>::operator()(brightray::BrowserContext*) const  (in ) + 46  [0x6916e]
+                                   2825 brightray::BrowserContext::~BrowserContext()  (in ) + 127  [0x672bf]
+                                     2825 base::SupportsUserData::~SupportsUserData()  (in libchromiumcontent.dylib) + 57  [0xccc019]
+                                       2825 ???  (in libchromiumcontent.dylib)  load address 0x1c9000 + 0xb03230  [0xccc230]
+                                         2825 ???  (in libchromiumcontent.dylib)  load address 0x1c9000 + 0xb0324e  [0xccc24e]
+                                           2825 ???  (in libchromiumcontent.dylib)  load address 0x1c9000 + 0x14c4239  [0x168d239]
+                                             2825 content::StoragePartitionImpl::~StoragePartitionImpl()  (in libchromiumcontent.dylib) + 17  [0x16899a1]
+                                               2825 content::StoragePartitionImpl::~StoragePartitionImpl()  (in libchromiumcontent.dylib) + 491  [0x1689bab]
+                                                 2825 content::ChromeAppCacheService::DeleteOnCorrectThread() const  (in libchromiumcontent.dylib) + 66  [0x1424f32]
+                                                   2825 content::ChromeAppCacheService::~ChromeAppCacheService()  (in libchromiumcontent.dylib) + 50  [0x1424e32]
+                                                     2825 appcache::AppCacheService::~AppCacheService()  (in libchromiumcontent.dylib) + 301  [0x2b8ad2d]
+                                                       2825 ???  (in libchromiumcontent.dylib)  load address 0x1c9000 + 0x29c9b81  [0x2b92b81]
+                                                         2825 ???  (in libchromiumcontent.dylib)  load address 0x1c9000 + 0x29c9da4  [0x2b92da4]
+                                                           2825 appcache::AppCacheDiskCache::~AppCacheDiskCache()  (in libchromiumcontent.dylib) + 17  [0x2b78c71]
+                                                             2825 appcache::AppCacheDiskCache::~AppCacheDiskCache()  (in libchromiumcontent.dylib) + 135  [0x2b78d17]
+                                                               2825 disk_cache::BackendImpl::~BackendImpl()  (in libchromiumcontent.dylib) + 17  [0x25979a1]
+                                                                 2825 disk_cache::BackendImpl::~BackendImpl()  (in libchromiumcontent.dylib) + 305  [0x2597af1]
+                                                                   2825 base::WaitableEvent::Wait()  (in libchromiumcontent.dylib) + 50  [0xccd942]
+                                                                     2825 base::WaitableEvent::TimedWait(base::TimeDelta const&)  (in libchromiumcontent.dylib) + 347  [0xccdb3b]
+                                                                       2825 base::ConditionVariable::Wait()  (in libchromiumcontent.dylib) + 35  [0xcccbb3]
+                                                                         2825 pthread_cond_wait$UNIX2003  (in libsystem_c.dylib) + 71  [0x964d3089]
+                                                                           2825 _pthread_cond_wait  (in libsystem_c.dylib) + 833  [0x9644d280]
+                                                                             2825 __psynch_cvwait  (in libsystem_kernel.dylib) + 10  [0x94b8e8e2]

BackendImpl was waiting on BrowserThread::CACHE, but that thread had already
been stopped. The solution is to destroy the BrowserContext before threads have
been stopped. We now do this in BrowserMainParts::PostMainMessageLoopRun, which
matches content_shell.
2013-10-23 12:16:25 -04:00
Cheng Zhao
f623ddf7fc Cleanup unused headers, data members and functions. 2013-10-11 07:17:53 -04:00
Cheng Zhao
9d29c8eb7c Use the "chrome-devtools://" scheme to open devtools. 2013-10-10 16:56:52 -04:00
Adam Roben
710d0fc6c5 Make overriding BrowserContext::RegisterPrefs actually work
We were calling it before derived classes' vtables were set up. Now we wait to
call it until the BrowserContext is fully constructed.
2013-08-15 16:07:14 -04:00
Adam Roben
80cb76355c Update to latest libchromiumcontent
* vendor/libchromiumcontent b6a0d85...0d607ee (3):
  > Stop trying to compile SQLitePersistentCookieStore separately
  > Update to latest Chromium trunk revision
  > Merge pull request #4 from aroben/atom
2013-04-17 23:27:53 -04:00
Adam Roben
3cef0dd98c Allow embedders to provide their own BrowserContext implementation 2013-04-01 20:10:00 -04:00
Adam Roben
b2a79856ef Add InspectableWebContents
This class can be used to create a content::WebContents that can be inspected
by the Chrome Dev Tools. This requires embedding applications to copy
content_shell.pak into their resource bundle.

Right now the dev tools are always docked to the bottom of the view; we don't
yet support undocking or changing the docked side.

Fixes #1.
2013-03-14 09:05:42 -04:00
Adam Roben
e451d92121 Initial commit 2013-03-13 15:31:24 -04:00