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
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
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
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
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