Patrick Reynolds
04b9bd21f8
WIP: builds (but displys nothing) on Linux
2013-11-07 14:02:35 -06: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
2cd6dd791e
Setup devtools in the correct phase.
...
* RegisterDevToolsClientHostFor should be called right after the agent_host and
the frontend host are created.
* SetupDevToolsFrontendClient should be called before the devtools window is
going to start navigation.
2013-10-11 07:17:03 -04:00
Cheng Zhao
9d29c8eb7c
Use the "chrome-devtools://" scheme to open devtools.
2013-10-10 16:56:52 -04:00
Adam Roben
6b9e61c65d
Fix flashing in WebContents we create
...
If the embedding app creates them it's up to them to fix this.
2013-10-10 16:24:22 -04:00
Adam Roben
8ae459e9fa
Work around http://crbug.com/279472 for devtools views
2013-10-10 14:17:30 -04:00
Adam Roben
c0e744db78
Update libchromiumcontent to use Xcode's clang
...
* vendor/libchromiumcontent 759a8d0...21d99bd (1):
> Merge pull request #28 from brightray/xcode-clang
2013-10-09 12:58:36 -04:00
Adam Roben
d06ac20947
Update to latest libchromiumcontent
...
* vendor/libchromiumcontent bfb2d7b...759a8d0 (1):
> Remove googleurl/ from the distribution
2013-10-08 13:20:43 -04:00
Adam Roben
1f1f93465b
Make MediaStreamDevicesController::Accept/Deny public again
...
Clients rely on this.
2013-10-07 17:04:40 -04:00
Adam Roben
b3b4ab2c70
Update ICU header include path
...
I should have done this as part of #30 .
2013-10-07 17:02:35 -04:00
Adam Roben
9165424348
Update ResourceContext for Chrome 30
...
See http://src.chromium.org/viewvc/chrome?view=revision&revision=215991 .
2013-10-07 16:31:58 -04:00
Adam Roben
4d6ee2c416
URLRequestContextStorage::set_http_server_properties takes a scoped_ptr in Chrome 30
...
See http://src.chromium.org/viewvc/chrome?view=revision&revision=212466 .
2013-10-07 16:31:58 -04:00
Adam Roben
d1623535e8
Update browser/media/* for Chrome 30
...
I took the latest versions of these files from chrome/browser/media,
then pared them down to remove all Chrome-isms and uses of UI to prompt
the user about allowing access to devices.
2013-10-07 16:31:58 -04:00
Adam Roben
aa4f991659
Add DevToolsFrontendHostDelegate indexing methods from Chrome 30
...
See http://src.chromium.org/viewvc/chrome?view=revision&revision=215622 .
2013-10-07 16:31:57 -04:00
Adam Roben
4d59060657
BrowserContext::RequestMIDISysExPermission was added in Chrome 30
...
See http://src.chromium.org/viewvc/chrome?view=revision&revision=211437 .
2013-10-07 16:31:57 -04:00
Adam Roben
c1c4344879
BrowserContext::GetSpeechRecognitionPreferences is gone in Chrome 30
...
See http://src.chromium.org/viewvc/chrome?view=revision&revision=210616 .
2013-10-07 16:31:57 -04:00
Adam Roben
eb446fc707
content::BrowserContext::GetPath is a const member function in Chrome 30
...
See http://src.chromium.org/viewvc/chrome?view=revision&revision=211931 .
2013-10-07 16:31:57 -04:00
Adam Roben
64a5ce6e15
Update for move of scoped_nsobject header and namespace
...
See http://src.chromium.org/viewvc/chrome?view=revision&revision=207616 .
2013-10-07 16:31:57 -04:00
Adam Roben
1e99ec9aed
Update #includes for moves of string-related headers
...
See http://src.chromium.org/viewvc/chrome?view=revision&revision=205050 .
2013-10-07 16:31:57 -04:00
Adam Roben
0575987343
Update to Chrome 30
...
* vendor/libchromiumcontent a56056d...bfb2d7b (1):
> Merge pull request #27 from brightray/chrome-30
2013-10-07 16:31:42 -04:00
Adam Roben
8c7de2259b
Update to latest libchromiumcontent
...
* vendor/libchromiumcontent ccec3a4...a56056d (1):
> Stop exporting GURL symbols from test_support_chromiumcontent
2013-08-23 17:30:53 -04:00
Adam Roben
b24d7d7c76
Update utf_string_conversions.h path in another place
2013-08-23 17:01:18 -04:00
Adam Roben
2c030a419d
Update for webkit header moves
2013-08-23 16:56:53 -04:00
Adam Roben
7d3f371b51
Update for move of MessageLoop into base namespace
2013-08-23 16:56:41 -04:00
Adam Roben
4946ec9081
Update for utf_string_conversions.h move in Chrome 29
2013-08-23 16:56:30 -04:00
Adam Roben
7dd1b8195f
Update libchromiumcontent to Chrome 29
...
* vendor/libchromiumcontent 5ffcb39...ccec3a4 (2):
> Merge pull request #25 from brightray/29.0.1547.57
> Switch back to using s3put on Linux
2013-08-23 16:56:05 -04:00
Adam Roben
f17f9d932c
Include gyp as a submodule
...
This makes it so you don't have to install gyp on your system before you
can build.
2013-08-23 07:48:37 -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
1161da6527
Mention that Clang 3.0 is needed on Linux
2013-08-14 08:17:52 -04:00
Adam Roben
9638e3956f
Don't use base::DIR_APP_DATA on Linux
...
It doesn't exist. Instead, match content_shell by putting
application-specific data in $XDG_CONFIG_HOME or ~/.config.
2013-08-14 08:14:54 -04:00
Adam Roben
22ea2073df
Compile as C++11 on Linux
2013-08-14 08:14:54 -04:00
Adam Roben
7f3afbaf3d
Force building with Clang on Linux to get C++11 support
2013-08-14 08:14:54 -04:00
Adam Roben
d27a984378
Define USE_X11 on Linux
2013-08-06 17:29:08 -04:00
Adam Roben
3076781c8a
Build using make on Linux
2013-08-06 17:25:07 -04:00
Adam Roben
b596adc237
Start teaching script/build about Linux
2013-08-06 16:49:59 -04:00
Adam Roben
efad174995
Update libchromiumcontent to get better Linux support
...
* vendor/libchromiumcontent be71317...5ffcb39 (2):
> Delete commented-out code in script/download
> Teach script/download about Linux
2013-08-06 16:43:21 -04:00
Adam Roben
af20c55519
Spew less when script/cibuild fails
2013-08-06 16:42:21 -04:00
Adam Roben
6841801538
Spew less when script/bootstrap fails
2013-08-06 16:39:11 -04:00
Adam Roben
a61fa01c5d
Update libchromiumcontent to get basic Linux support
...
* vendor/libchromiumcontent 33472d4...be71317 (4):
> Merge pull request #24 from brightray/linux
> Fix gyp syntax
> Fix Release linker error on Linux
> Make sure we always apply patches in alphabetical order
2013-07-31 16:27:00 -07:00
Adam Roben
c2623d2bdc
Fix typos
2013-07-31 11:52:21 -07:00
Adam Roben
2595335045
Enable navigator.webkitGetUserMedia()
...
The code came from chrome/browser/media, but was simplified to remove
dependencies on other parts of chrome/ and to always allow the media stream
request.
2013-07-31 11:08:45 -07:00
Adam Roben
bd648ce58f
Put ICU headers on the include path for embedders
2013-07-25 12:31:41 -04:00
Adam Roben
d32a2fbc97
Update libchromiumcontent to get ICU headers
...
* vendor/libchromiumcontent ee4cea0...33472d4 (5):
> Export ICU headers
> When `gclient sync` fails, revert all local changes and try again
> Merge pull request #23 from brightray/chromiumviews_pdb
> Merge pull request #22 from brightray/cygwin2
> Update to Chrome 28.0.1500.71
2013-07-25 12:22:58 -04:00
Adam Roben
56b904947b
Avoid a crash when starting a download by disallowing downloads
...
Chromium crashes when starting a download if a content::DownloadManagerDelegate
is not provided. We now provide a default implementation of
content::DownloadManagerDelegate which disallows all downloads.
2013-07-24 07:56:55 -04:00
Adam Roben
bacf11d53f
Rename the Helper process to Renderer/Plug-In Host/Utility as appropriate
...
This matches Chrome.
2013-07-17 11:04:45 -04:00
Adam Roben
33b574b434
Allow clients to supply their own NetworkDelegate implementation
2013-07-17 10:21:33 -04:00
Adam Roben
09efd19d2f
Update to latest libchromiumcontent
...
* vendor/libchromiumcontent 929f9c9...ee4cea0 (2):
> Merge pull request #21 from brightray/ui_views
> Include all headers from testing/
2013-07-09 07:48:17 -04:00
Adam Roben
29237e21ce
Always build 32-bit in Xcode
...
libchromiumcontent is 32-bit-only, so we need to match.
2013-07-08 12:17:48 -04:00
Cheng Zhao
8e0f5624dd
Some headers are including SkMtrix.h, fix compilation errors for them.
2013-07-05 12:18:34 +08:00
Adam Roben
b17e63d13c
Update libchromiumcontent to be based on Chrome 28
...
* vendor/libchromiumcontent f4f8a7e...929f9c9 (3):
> Merge pull request #19 from brightray/chrome-28
> Merge pull request #18 from brightray/encryptor
> Merge pull request #17 from brightray/cygwin
2013-07-02 10:11:28 -04:00
Cheng Zhao
5e807cffc8
Use abusolute path when linking to external libraries. Fixes #22 .
...
The ninja generator of gyp behaves strangely on the 'libraries' field of link
settings, for example, specifying path to an external library works well on
both xcodebuild and msvc generators, but the ninja generator would link to
the wrong path (it can neither translate relative path correctly, nor convert
the command line parameter to the '-lxxx' form).
The only way to make all generators work on all platforms is to use abusolute
paths for external libraries.
2013-07-02 15:24:24 +08:00
Adam Roben
3d00cded27
Update to latest libchromiumcontent
...
* vendor/libchromiumcontent fc02d93...f4f8a7e (4):
> Include encryptor.lib and its symbols and headers in the distribution
> Build encryptor.lib on Windows
> Revert all changes before building if any unexpected files are modified
> Export headers from cc/
2013-06-06 18:50:55 -04:00
Adam Roben
496b246405
Give BrowserContext subclasses access to GetPath()
2013-06-06 18:50:37 -04:00
Adam Roben
9ad77c4a38
Implement undocked dev tools on Windows
...
DevToolsWindow represents a vanilla top-level window that shows the dev tools.
It uses ui::WindowImpl to implement window functionality, which requires a
newer libchromiumcontent which contains the necessary headers for using that
class, and requires some modifications to brightray.gypi to make WTL's headers
available.
* vendor/libchromiumcontent 2f53a96...fc02d93 (4):
> Export third_party/wtl/include headers
> Export test_support_base.pdb and test_support_content.pdb
> Fix linker errors with test_support_base on Windows
> Fix linker errors with base_prefs_test_support on Windows
2013-06-04 14:33:29 -04:00
Adam Roben
4c9870e753
Fix debug assertion about performing IO on the UI thread
...
We were querying the application's FILEVERSIONINFO every time we needed to
figure out the path for storing BrowserContext data. Now we cache the path the
first time we need it, which is during application initialization and before IO
prohibitions begin.
2013-06-04 14:17:16 -04:00
Cheng Zhao
27d55031f4
Set file and data protocol handler.
2013-06-02 00:25:04 +08:00
Adam Roben
3d12cb2c64
Don't crash when HTML notifications are used on Windows
...
Eventually we'll implement real support for this, but for now not crashing is
more important.
2013-05-31 08:05:14 -04:00
Adam Roben
2582e8561c
Update to Chromium r202921
...
* vendor/libchromiumcontent 0d02a8d...2f53a96 (1):
> Merge pull request #14 from brightray/latest-chromium
2013-05-30 15:07:32 -04:00
Adam Roben
f88634fea5
Pull in libchromiumcontent's Windows test support
...
* vendor/libchromiumcontent 3cbc11e...0d02a8d (1):
> Merge pull request #13 from brightray/windows-test-support
2013-05-29 13:15:29 -04:00
Adam Roben
a24c390318
Use the user-visible version number in our user agent string
...
I.e., use CFBundleShortVersionString instead of CFBundleVersion on OS X and
ProductVersion instead of FileVersion on Windows.
This is generally more useful (although slightly lower granularity) than the
machine-readable version number.
2013-05-28 15:42:52 -04:00
Adam Roben
54419bbbb1
Set the user agent string correctly on Windows
...
We use the main executable's ProductName and FileVersion resources to build the
user agent string.
2013-05-28 15:24:55 -04:00
Adam Roben
70af1f351f
Automatically exclude platform-specific files for all targets
...
This way embedding applications don't have to do this themselves, as long as
they follow our naming conventions.
2013-05-28 14:27:57 -04:00
Adam Roben
427ba96062
Set up linker defaults for Windows
...
These match Chromium's defaults.
2013-05-28 11:56:50 -04:00
Adam Roben
3f40456161
Make our Windows build settings actually take effect
...
We need to put them inside the target_defaults dictionary. Now that these
settings are turned on, we need to ignore some warnings that Chromium ignores.
2013-05-28 11:56:17 -04:00
Adam Roben
37d847c416
Fix linker errors about __imp___CrtDbgReportW
...
We were linking against the release CRT but defining _DEBUG, which should only
be defined when using the debug CRT.
2013-05-28 11:55:25 -04:00
Adam Roben
51cb56e604
Get libchromiumcontent back on master
2013-05-22 16:58:59 -04:00
Adam Roben
cf14f09228
Stub out InspectableWebContentsViewWin
...
This class doesn't implement any devtools behavior yet. Right now it's just a
glorified wrapper around a content::WebContents. But it's enough to show web
content on screen on Windows!
2013-05-22 16:57:32 -04:00
Adam Roben
b970e9d5c3
Only compile HandleKeyboardEvent on Mac
2013-05-22 16:08:40 -04:00
Adam Roben
d54f4e2bdd
Update libchromiumcontent to get icudt.dll
...
* vendor/libchromiumcontent 31efc77...e436974 (2):
> Export icudt.dll for Windows clients
> Export libGLESv2.dll on Windows
2013-05-22 14:04:28 -04:00
Adam Roben
f2909b0d90
Set up the resource bundle on Windows
2013-05-22 14:00:43 -04:00
Adam Roben
3713ea6403
Exclude platform-specific files from other platforms
2013-05-22 14:00:43 -04:00
Adam Roben
1ec7280663
Link against the DLL version of the CRT
...
* vendor/libchromiumcontent 04ccdd8...31efc77 (3):
> Use the DLL version of the CRT
> Generate libchromiumcontent-symbols.zip on Windows
> Fix exporting of WebKit symbols
2013-05-22 14:00:31 -04:00
Adam Roben
18b64f375c
Link client apps against base_static.lib
...
This is required to get base::win::PEImage, which is required by sandboxing
code.
* vendor/libchromiumcontent c973a7c...04ccdd8 (1):
> Export base_static.lib for Windows clients
2013-05-22 13:55:56 -04:00
Adam Roben
6a8ee865f4
Fix linker errors about missing Win32 APIs
2013-05-22 13:55:56 -04:00
Adam Roben
7e03f93dcd
Add a stub application_info_win.cc
2013-05-22 13:55:56 -04:00
Adam Roben
12d01e4fd5
ifdef out a bunch of Mac-specific code
...
This is a hacky solution but helps us deal with other compiler/linker errors.
2013-05-22 13:55:56 -04:00
Adam Roben
12773cff6e
Fix linker errors about missing registry APIs
2013-05-22 13:55:54 -04:00
Adam Roben
2813bef741
Link against sandbox_static.lib
...
* vendor/libchromiumcontent 15ada44...c973a7c (3):
> Create and export sandbox_static.lib for Windows clients
> Export content/app/startup_helper_win.cc to clients
> Rename dist/include to dist/src
2013-05-22 13:55:12 -04:00
Adam Roben
7f463b8962
Give clients access to libchromiumcontent's src directory
...
* vendor/libchromiumcontent 15ada44...65b85bf (2):
> Export content/app/startup_helper_win.cc to clients
> Rename dist/include to dist/src
2013-05-22 13:55:12 -04:00
Adam Roben
4c0765b413
Use __declspec(dllimport) for functions from chromiumcontent.dll
2013-05-22 13:55:11 -04:00
Adam Roben
7b65fe4948
Link against chromiumcontent.dll
...
* vendor/libchromiumcontent 4aae27b...15ada44 (3):
> Include chromiumcontent.dll's import library
> Export sandbox/ headers
> Mention that Python is required to build
2013-05-22 13:55:11 -04:00
Adam Roben
35f4dfe4b0
Add some more default build settings for Windows
2013-05-22 13:55:02 -04:00
Adam Roben
3cf6e5eda2
Make sure dependents can #include "brightray/foo.h"
2013-05-22 13:54:07 -04:00
Adam Roben
f387535eae
Beef up .gitignore
2013-05-22 13:54:07 -04:00
Adam Roben
d6b4e430f8
Update links after move to brightray org
2013-05-21 14:57:52 -04:00
Adam Roben
e531f46a4b
Ignore files created by Visual Studio
2013-05-16 09:16:29 -04:00
Adam Roben
d07c45080d
Don't use range-based for loops
...
VS2010 doesn't support them :-(
2013-05-16 09:15:57 -04:00
Adam Roben
5fa005d5da
Fix Windows build error about passing std::string to base::FilePath::Append
2013-05-16 09:15:56 -04:00
Adam Roben
a6c5cb04f7
Use FILE_PATH_LITERAL to fix build errors
2013-05-16 09:15:56 -04:00
Adam Roben
35199ba31f
MSVC doesn't allow override
on destructors
2013-05-16 09:15:55 -04:00
Adam Roben
ae7331da82
Add some build defaults for Windows
...
These came from Chromium's build/common.gypi file.
2013-05-16 09:15:55 -04:00
Adam Roben
689496afb8
Make sure sk_stdint.h is in the include path
2013-05-16 09:15:54 -04:00
Adam Roben
a5b118ce34
Use MSBuild to build on Windows
2013-05-16 09:15:54 -04:00
Adam Roben
3d83416c04
Ignore .sln/.vcxproj files created by gyp
2013-05-16 09:15:47 -04:00
Adam Roben
fd6e43baf9
Make script/build actually run gyp on Windows
...
We don't yet build, but we're getting closer.
2013-05-16 09:15:05 -04:00
Adam Roben
0dfd5ec320
Ensure consistent line endings in all files
2013-05-16 09:15:05 -04:00
Adam Roben
39f0694cce
Add prerequisites to the README
2013-05-16 09:15:04 -04:00
Adam Roben
90e1370d7f
Update libchromiumcontent for Windows support
...
* vendor/libchromiumcontent e70a88f...4aae27b (2):
> Merge pull request #11 from brightray/windows-build
> Merge pull request #10 from brightray/windows-scripts
2013-05-16 08:54:01 -04:00
Adam Roben
33d4b7398a
Add script/cibuild
...
This just ensures that we can bootstrap and build.
2013-05-14 12:20:50 -04:00