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
Adam Roben
a922d8a529
Update for libchromiumcontent repo transfer
2013-05-14 09:26:40 -04:00
Adam Roben
de9b0a008b
Fix script/bootstrap
...
* vendor/libchromiumcontent 588f368...e70a88f (1):
> Make script/download work when we're a submodule
2013-05-14 08:31:10 -04:00
Adam Roben
46c887b62d
Rewrite script/build in Python
...
The script is still Mac-specific, but this will make it easier to add
Windows support later.
2013-05-13 18:59:03 -04:00
Adam Roben
c29074ff94
Rewrite script/boostrap in Python
...
This is the first step toward supporting Windows.
2013-05-13 18:59:03 -04:00
Adam Roben
0526aa45e7
Update libchromiumcontent to get its Python scripts
...
* vendor/libchromiumcontent 3f6f01c...588f368 (17):
> Merge pull request #8 from aroben/menu-controller
> Merge pull request #6 from aroben/shell_dialogs
> Fix typo in script/create-dist
> Merge pull request #5 from aroben/python
> Add libtest_support_chromiumcontent.a
> Build and distribute libgtest.a
> Stop trying to compile SQLitePersistentCookieStore separately
> Update to latest Chromium trunk revision
> Merge pull request #4 from aroben/atom
> Actually compile the base/prefs code
> Export symbols from base/prefs
> Compile and export SQLitePersistentCookieStore
> Export webkit/plugins headers
> Export skia/ext headers
> Export ui/surface headers, too
> Export Skia symbols from libchromiumcontent
> Update to match chrome/trunk
2013-05-13 18:58:44 -04:00
Cheng Zhao
082f88ed3c
frontend_host_ should be destructed after devtools_web_contents_.
2013-05-01 22:00:20 +08:00
Adam Roben
676e92e322
Fix crashes when dragging links
...
Turns out we needed to implement ContentClient::GetNativeImageNamed, which is
called to get the default drag image.
2013-04-26 22:49:58 -04:00
Adam Roben
73d467d657
Turn off C++ exceptions
...
We weren't using them anyway, and don't intend to. This matches Chromium.
2013-04-26 14:13:45 -04:00
Adam Roben
6908eecd0c
Allow embedders to specify extra .pak files
2013-04-26 11:04:51 -04:00
Adam Roben
3b879a6178
Allow embedders to provide their own ContentClient subclass
2013-04-24 18:30:47 -04:00
Adam Roben
c27ac79969
Update to latest libchromiumcontent
...
* vendor/libchromiumcontent 4ae397b...d5cef3b (1):
> Add libtest_support_chromiumcontent.a
2013-04-24 15:56:43 -04:00
Adam Roben
94d7b383c5
Fix DCHECK() assertion in BrowserClient
2013-04-24 10:54:53 -04:00
Adam Roben
48878af0db
Let embedders add their own protocol handlers
2013-04-23 15:50:17 -04:00
Adam Roben
67081a64b0
Pull in latest libchromiumcontent to get gtest
...
* vendor/libchromiumcontent 0d607ee...4ae397b (1):
> Build and distribute libgtest.a
2013-04-23 13:27:29 -04:00
Cheng Zhao
a5e1c46674
💄
2013-04-22 20:41:58 +08:00
Cheng Zhao
082aa61870
InspectableWebContents should be able to accept existing WebContents.
2013-04-20 13:24:45 +08: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
0b5ab8e43d
Size dev tools correctly when starting out docked to the right
2013-04-16 21:06:07 -04:00
Adam Roben
d9df9bcf47
Send focus/blur events when an InspectableWebContents's window gains/loses focus
...
We listen for key window chages and inform content::RenderWidgetHostView as
appropriate.
2013-04-09 15:11:16 -04:00
Adam Roben
3c513d6ae8
Remember where the dev tools were docked between launches
2013-04-08 13:53:53 -04:00
Adam Roben
a2a2cd1936
Add preferences support for embedding applications
...
Applications can use brightray::BrowserContext::prefs to get access to
preferences that are persisted between launches.
brightray::BrowserContext::RegisterPrefs must be used to register preferences
before they're accessed.
Updated libchromiumcontent to pull in preferences support.
* vendor/libchromiumcontent 3944c1c...b6a0d85 (2):
> Actually compile the base/prefs code
> Export symbols from base/prefs
2013-04-08 13:53:42 -04:00
Adam Roben
5db043f7d4
Strip whitespace from the application name in the user agent
...
Having whitespace in the application name makes the user agent hard to parse.
2013-04-08 12:42:50 -04:00
Adam Roben
d2c04779e4
Include the application's version number in the user agent string
2013-04-08 12:41:30 -04:00
Adam Roben
3cef0dd98c
Allow embedders to provide their own BrowserContext implementation
2013-04-01 20:10:00 -04:00
Adam Roben
080d9f59e9
Implement Notification.close()
2013-03-29 09:36:07 -04:00
Adam Roben
dde3c3f78f
Make NotificationID more useful
2013-03-29 09:23:10 -04:00
Adam Roben
e59c549e62
Fire a click
event when a notification is clicked
2013-03-29 09:02:40 -04:00
Adam Roben
c1463f9799
Don't fire the show
event until the notification is actually shown
2013-03-29 08:59:21 -04:00
Adam Roben
e592f3ffa1
Add CreateUserNotification helper function
2013-03-29 08:32:00 -04:00
Adam Roben
08f393437e
Show notifications even when the app is focused
...
It's a little icky to be taking over global state (NSUserNotificationCenter's
delegate) like this, but until we have evidence that it gets in someone's way
it's the pragmatic thing to do.
2013-03-28 18:09:04 -04:00
Adam Roben
651ab18a21
Turn NotificationPresenter into an abstract base class
...
This will allow us to have Mac-specific member variables without a bunch of
ifdefs.
2013-03-28 18:03:58 -04:00
Adam Roben
3c41af84a1
Move notification-related code into a new NotificationPresenter class
2013-03-28 17:50:07 -04:00
Adam Roben
1328c85eef
Fire a show
event when a notification is shown
2013-03-28 17:50:07 -04:00
Adam Roben
0893253188
Add bare-bones HTML notifications support
...
Calling Notification.show() now works. But Notification.close() does nothing,
and none of the notification's events fire.
2013-03-28 17:50:07 -04:00
Adam Roben
1a1fecf423
Bump the base SDK and deployment target to 10.8
...
This required working around an incompatibility in base/mac/foundation_util.h.
2013-03-28 17:50:07 -04:00
Adam Roben
e4e4cb6ec4
Allow embedders to customize the deployment target and base SDK
2013-03-28 15:56:35 -04:00
Adam Roben
93d9b61215
Allow overriding MainDelegate::BasicStartupComplete
2013-03-28 12:34:49 -04:00
Adam Roben
fa9a1d7b35
Support undocking the devtools view into its own window
2013-03-27 12:35:01 -04:00
Adam Roben
c22d1cca79
Support docking the devtools on the right side of the window
2013-03-27 11:20:21 -04:00
Adam Roben
001d0197de
Make the devtools close button work
2013-03-27 11:20:21 -04:00
Adam Roben
d20ecc0e2b
Merge InspectableWebContentsImpl and DevToolsFrontend
...
While this prevents clients from easily implementing their own devtools
windows, it gives us much easier control over the devtools experience.
2013-03-27 11:20:15 -04:00
Adam Roben
881a203b57
Fix double-delete of BrowserMainParts
...
The caller of BrowserClient::CreateBrowserMainParts handles destroying the
BrowserMainParts instance we return.
2013-03-27 08:55:54 -04:00
Adam Roben
90691e394f
Fix lifetime management of URLRequestContextGetter
...
I noticed this bug while adding persistent cookie storage.
2013-03-27 08:55:54 -04:00
Adam Roben
4fc0fed081
Persist cookies to disk
...
We use Chrome's SQLitePersistentCookieStore to save cookies to a file called
"Cookies" within the application support directory.
Fixes #5 .
2013-03-27 08:55:38 -04:00
Adam Roben
115eef52a3
Update libchromiumcontent
...
* vendor/libchromiumcontent cf87e4d...3944c1c (1):
> Compile and export SQLitePersistentCookieStore
2013-03-26 16:30:32 -04:00
Adam Roben
3d3b989806
Update libchromiumcontent to pull in more headers
...
* vendor/libchromiumcontent 9152595...cf87e4d (1):
> Export webkit/plugins headers
2013-03-25 12:53:30 -04:00
Adam Roben
5120887571
Update libchromiumcontent to pull in more headers
2013-03-25 12:28:30 -04:00
Adam Roben
5c0323cf23
Allow overwriting vendor/download/libchromiumcontent when its version changes
2013-03-25 12:23:37 -04:00
Adam Roben
3cda49b894
Update to latest libchromiumcontent
2013-03-21 15:18:25 -04:00
Adam Roben
909b3cd18f
Stop disabling the sandbox
...
Now that we have the resources bundle hooked up correctly, the sandbox
functions just fine.
Fixes #4 .
2013-03-14 14:01:12 -04:00
Adam Roben
4ca59ba279
Make keyboard shortcuts work when the dev tools are focused
...
We just pass unhandled key events from dev tools along to the main
WebContentsDelegate.
Part of #2 .
2013-03-14 13:50:21 -04:00
Adam Roben
be6d990a97
Make keyboard shortcuts work on Mac
...
When the renderer doesn't handle a key event, we pass it off to the main menu
to see if it can handle it.
Part of #2 .
2013-03-14 13:50:15 -04:00
Adam Roben
561fc9a342
Fix a NSSplitView leak
2013-03-14 13:06:58 -04:00
Adam Roben
4bff7a592a
Enforce better header hygiene
...
Apple recommends disabling ALWAYS_SEARCH_USER_PATHS, so we now do. And we also
disable USE_HEADER_MAP to match other platforms more closely.
2013-03-14 13:06:17 -04:00
Adam Roben
fe35a92de5
Get the linen background painting during elastic scrolling
...
We weren't setting the location of the resource bundle correctly in the
renderer process. It turns out base::mac::OuterBundle() returns the helper
app's bundle in the renderer process. So now we have MainApplicationBundle() to
give us the bundle of the main app.
2013-03-14 13:05:01 -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
e1b5e5e1bf
Store the disk cache in an app-specific location
...
We deduce the name of the application from the CFBundleName of the .app bundle
and use a path based on that. Similar logic should be implementable for other
platforms.
Fixes #3 .
2013-03-13 16:45:00 -04:00
Adam Roben
65dd011fa3
Use Google-style header guards everywhere
2013-03-13 15:42:16 -04:00
Adam Roben
e451d92121
Initial commit
2013-03-13 15:31:24 -04:00