Commit graph

391 commits

Author SHA1 Message Date
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
Cheng Zhao
082f88ed3c frontend_host_ should be destructed after devtools_web_contents_. 2013-05-01 22:00:20 +08: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
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
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
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
3cda49b894 Update to latest libchromiumcontent 2013-03-21 15:18:25 -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
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