Commit graph

22099 commits

Author SHA1 Message Date
Cheng Zhao
26d6df7852 Handle keyboard events with AtomEventProcessingWindow.
Some system events like cmd+` will be handled by it automatically.
2013-04-12 20:31:15 +08:00
Cheng Zhao
f62b00eaac Fix devtools. 2013-04-12 16:41:15 +08:00
Cheng Zhao
f5e74e1b65 AtomBrowserMainParts is platform-independent now. 2013-04-12 15:57:17 +08:00
Cheng Zhao
af94c434ac use AtomEventProcessingWindow as native window. 2013-04-12 15:53:29 +08:00
Cheng Zhao
3391370857 Steal ChromeEventProcessingWindow from chrome.
Chromium has done quite a lot of low level works for us, steal them to
ease our lives.
2013-04-12 15:24:36 +08:00
Cheng Zhao
c27cbaaaf9 Implement generic native window class. 2013-04-12 15:04:46 +08:00
Cheng Zhao
a915cf2e81 Initial empty browser. 2013-04-12 10:14:23 +08:00
Cheng Zhao
6ef8875b1e Add submodules. 2013-04-11 20:38:29 +08: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