Ryohei Ikegami
b07c3adca9
Fix comment for ChildWebContentsTracker
2017-04-12 12:20:53 +09:00
Kevin Sawicki
e7b679ead6
Add IsEmpty helper and remove GetInstance public usage
2017-04-11 09:09:17 -07:00
Kevin Sawicki
da5d7d72b0
Add GetWindows helper that returns a vector
2017-04-11 09:09:17 -07:00
Kevin Sawicki
0883a9f966
Use CloseAllWindows helper
2017-04-11 09:09:17 -07:00
Kevin Sawicki
8311aa667c
Add DestroyAllWindows helper that uses vector copy
2017-04-11 09:09:17 -07:00
Cheng Zhao
c59ef0efc5
Enable per-monitor DPI
2017-04-11 15:17:15 +09:00
Kevin Sawicki
8a324a9375
Bump v1.6.6
2017-04-07 09:01:28 -07:00
Ryohei Ikegami
34ed1a9ef8
Track child web contents
2017-04-06 12:15:27 +09:00
Ryohei Ikegami
526086d900
Improve RootWebContentsTracker
2017-04-06 11:37:21 +09:00
Ales Pergl
73e3fd01eb
Fixed a couple of failing debug checks when calling Chromium APIs
2017-04-05 14:45:46 +02:00
Ryohei Ikegami
b683584859
Add better comments to ShouldCreateNewSiteInstance
2017-04-05 18:16:10 +09:00
Ryohei Ikegami
cbdd52e43b
Always create new SiteInstance on root WebContents
2017-04-05 17:51:17 +09:00
Ryohei Ikegami
90852c665d
Pass RenderFrameHost to ShouldCreateNewSiteInstance
2017-04-05 13:47:02 +09:00
Kevin Sawicki
6a22c6645e
Guard against missing popover identifier
2017-04-04 13:51:39 -07:00
Kevin Sawicki
9c73c991d7
Use const references for params
2017-04-04 13:51:39 -07:00
Samuel Attard
bea56bbdc8
Update as per feedback
2017-04-04 13:51:38 -07:00
Samuel Attard
2fd62d090a
Allow items to be assigned to multiple popovers
2017-04-04 13:51:33 -07:00
Samuel Attard
f05dfc74da
Store parent popover in popover touch bar items
2017-04-04 13:51:13 -07:00
Kevin Sawicki
7f8e490839
Take const reference
2017-04-04 12:50:41 -07:00
Kevin Sawicki
d596d85288
🎨
2017-04-04 12:50:41 -07:00
Kevin Sawicki
df0f468dea
Add escapeKeyReplacementItemIdentifier forward declaration
2017-04-04 12:50:41 -07:00
Samuel Attard
60cc862031
Make everything pointer like
2017-04-04 12:50:41 -07:00
Samuel Attard
4d6b0fc01b
Add a method to set the escape identifier on the touch bar
2017-04-04 12:50:41 -07:00
Kevin Sawicki
3e9014c371
Merge pull request #9099 from electron/certificate-trust
...
macOS: Add certificate trust API
2017-04-04 11:17:09 -07:00
joshaber
146e1ed3ce
Don't pass the result through
...
It's meaningless on macOS, at least.
2017-04-04 09:21:15 -04:00
Ryohei Ikegami
61fa8693d2
Merge branch 'master' into native-window-open
2017-04-04 20:54:37 +09:00
Ryohei Ikegami
e7b9b4b1a5
Always create new site instance
2017-04-04 20:54:10 +09:00
Ryohei Ikegami
3eab5df4a4
Revert "Reuse site instance only on window.open"
...
This reverts commit 4d61d071b2
.
2017-04-04 13:48:17 +09:00
joshaber
8d465234e4
Appease our linty overlords
2017-04-03 21:40:46 -04:00
joshaber
2badfbe04f
Remove the intermediate function
2017-04-03 21:22:37 -04:00
joshaber
b3e865a478
Fix some style things
2017-04-03 21:22:14 -04:00
Ryohei Ikegami
24fedb2e20
No extra linebreak
2017-04-04 09:40:38 +09:00
Ryohei Ikegami
4a7eec8f2d
Pass app path as command line argument
2017-04-04 09:36:01 +09:00
joshaber
74c0cbddae
Linebreak to keep the linter happy
2017-04-03 16:07:02 -04:00
joshaber
b8ff4666c8
Remove stale includes
2017-04-03 15:48:47 -04:00
joshaber
06643e525a
Const ref that message
2017-04-03 15:28:44 -04:00
joshaber
11f5c942ce
Conditionalize
2017-04-03 15:25:09 -04:00
joshaber
bcecba20e6
Fix indentation
2017-04-03 15:09:24 -04:00
joshaber
4ffaf2cd99
Remove old unnecssary change on app
2017-04-03 15:09:04 -04:00
joshaber
6e89cb9d7c
Move it into dialog
2017-04-03 15:05:24 -04:00
joshaber
4bbbcd093b
Handle the callback and cleanup properly
2017-04-03 14:01:48 -04:00
joshaber
1ed443ea29
Do the callback & release dance
2017-04-03 13:21:44 -04:00
Kevin Sawicki
f5a75c4e87
Merge pull request #9076 from electron/cleanup-cpp
...
Cleanup cpp codebase
2017-04-03 08:30:08 -07:00
Haojian Wu
34a91434aa
Remove extra spaces.
2017-04-01 22:01:29 +02:00
joshaber
4f3d3557cc
Notify that the cert changed
2017-03-31 21:51:29 -04:00
Kevin Sawicki
a724b6555f
Bump v1.6.5
2017-03-31 12:10:09 -07:00
Kevin Sawicki
08db63c3cc
Only define NSWindowTabbingModeDisallowed on pre-10.12
2017-03-31 11:28:55 -07:00
Haojian Wu
8ae91682cb
Lines should be <= 80 characters.
2017-03-31 20:09:13 +02:00
joshaber
16cc79354c
Errrrybody's a scoped_refptr now
2017-03-31 13:53:42 -04:00
joshaber
653b2d15c3
Expose the certificate trust panel as part of app
2017-03-30 17:25:55 -04:00
joshaber
64369cd07f
Show a certificate trust panel
2017-03-30 17:25:44 -04:00
Haojian Wu
328cf4789b
Should override the virtual destructor.
2017-03-30 23:19:43 +02:00
Haojian Wu
e8abee9ca9
Replace C-style casts with static_cast.
2017-03-30 23:05:47 +02:00
Haojian Wu
ff745e1a82
Use prefix increment in for loops.
2017-03-30 22:56:21 +02:00
Haojian Wu
8d8c7ce6ad
Correct type cast.
2017-03-30 22:53:20 +02:00
Kevin Sawicki
42300ae58e
Make tabbing identifier var local
2017-03-30 13:47:11 -07:00
Kevin Sawicki
c8b992fa39
Remove 10.12 check handled by respondsToSelector
2017-03-30 13:46:34 -07:00
Haojian Wu
1b9780035c
Remove redundant calls to smart pointer's get method.
2017-03-30 22:22:40 +02:00
Haojian Wu
d425b63b0d
NULL => nullptr
2017-03-30 22:12:14 +02:00
Haojian Wu
00693ba075
Replace "size()" with "empty()".
2017-03-30 21:59:18 +02:00
Haojian Wu
6ef3be23fd
Avoid copy in for range loop.
2017-03-30 21:56:28 +02:00
Tony Ganch
bd935b213f
Fix compilation against macOS 10.10 SDK
2017-03-30 15:13:49 +02:00
Haojian Wu
5f724e57bc
Avoid unnecessary copy of parameters.
2017-03-29 22:06:07 +02:00
Haojian Wu
99293dd57f
Fix namespace comments.
2017-03-29 20:47:41 +02:00
Tony Ganch
a7565f0d57
Enable native tabs on macOS
2017-03-29 13:51:39 +02:00
Tony Ganch
9e02c60e22
Revert "Disable Show Tab Bar menu item on macOS Sierrra"
...
This reverts commit 24b9313958
.
2017-03-29 13:50:56 +02:00
Tony Ganch
ed76e03730
Revert "Add forward declaration of NSWindow.allowsAutomaticWindowTabbing"
...
This reverts commit 770a3509cf
.
2017-03-29 13:50:56 +02:00
Kevin Sawicki
4441d557a2
Merge pull request #9007 from electron/net_redirect_patch
...
net: allow controlling redirects
2017-03-28 09:31:05 -07:00
Kevin Sawicki
03b2167f6c
Merge pull request #9001 from electron/net_source_stream_error_patch
...
net: catch source stream creation failure for content encoding
2017-03-28 09:24:18 -07:00
deepak1556
3ae62615f4
net: allow controlling redirects
2017-03-28 18:46:21 +05:30
Ryohei Ikegami
37c4569982
Use GetBoolean directly
2017-03-28 20:00:33 +09:00
Cheng Zhao
637bdc239b
Merge pull request #8923 from electron/geolocation_request_context_patch
...
browser: Create separate request context for geolocation service.
2017-03-27 22:45:46 -07:00
Kevin Sawicki
b1275a8ef0
Merge pull request #8984 from hansenzhang/display-menuitem-label
...
Fix '&' not showing in MenuItem label
2017-03-27 09:47:50 -07:00
deepak1556
93b444eef9
net: catch source stream creation failure for content encoding
2017-03-23 23:36:05 +05:30
Ryohei Ikegami
6f9dbd4e04
Merge branch 'master' into native-window-open
2017-03-24 00:11:43 +09:00
Kevin Sawicki
46aed5ff6f
Bump v1.6.4
2017-03-22 09:16:08 -07:00
Cheng Zhao
e539129db2
Merge pull request #8852 from electron/web-worker-hook
...
Add Node.js integration to WebWorker
2017-03-22 09:01:42 -07:00
Hansen Zhang
426563a843
#8881 - Display '&' in MenuItem label
2017-03-22 11:52:25 -04:00
deepak1556
4ab2c92418
CommonWebContentsDelegate::DestroyWebContents => ResetManagedWebContents
2017-03-22 07:30:36 +05:30
Ryohei Ikegami
4d61d071b2
Reuse site instance only on window.open
2017-03-21 10:41:49 +09:00
Cheng Zhao
99d3fce3c7
node::Environment should be destroyed before AtomBindings
...
The shutdown code may still uses the APIs provieded by AtomBindings.
2017-03-20 13:01:28 -07:00
Cheng Zhao
a49af26e39
Add nodeIntegrationInWorker option
2017-03-20 12:52:46 -07:00
Cheng Zhao
e496e18f6e
Make Archive thread safe
2017-03-20 12:52:46 -07:00
Cheng Zhao
c068285ff8
AtomBindings should not use default uv loop
2017-03-20 12:52:46 -07:00
Cheng Zhao
b467c3939e
Add a new type of NodeBindings
2017-03-20 12:52:45 -07:00
Ryohei Ikegami
f3ce93f1bb
Fix C++ style
2017-03-19 18:24:05 +09:00
Ryohei Ikegami
2c7343293a
Allow window.open on native-window-open enabled
2017-03-19 17:47:26 +09:00
Ryohei Ikegami
a1f9a45276
Use native window.open implementation
2017-03-19 17:41:20 +09:00
Ryohei Ikegami
054ba7a964
Add AtomBrowserClient::IsRendererUsesNativeWindowOpen
2017-03-19 17:25:45 +09:00
Ryohei Ikegami
f7935b429a
Add WebContentsPreferences::IsNativeWindowOpenEnabled
2017-03-19 17:12:25 +09:00
deepak1556
72adbf7a2f
destroy guest webcontents before embedder
2017-03-19 10:25:13 +05:30
deepak1556
16f9754445
Create separate request context for geolocation service.
...
* Geolocation service cannot hold reference to browser context,
since it is destroyed at the end of everything and this will
confuse the shutdown path of browser context.
* Geolocation service run on its own thread.
2017-03-19 01:11:55 +05:30
Kevin Sawicki
da0d0e7aac
Merge pull request #8910 from electron/touchbar-scrubber
...
Touchbar NSScrubber
2017-03-16 09:10:59 -07:00
Kevin Sawicki
e98ac94d51
🎨
2017-03-15 11:22:31 -07:00
Kevin Sawicki
f41db87e47
Use NSZeroRect for scrubber frame
2017-03-15 09:45:50 -07:00
Kevin Sawicki
466c39ed19
Use icon for consistency with other touch bar APIs
2017-03-15 09:33:11 -07:00
Kevin Sawicki
6175ee05e2
Remove unneeded long cast
2017-03-14 13:59:29 -07:00
Kevin Sawicki
8b7675baee
Add more forward declarations for scrubber APIs
2017-03-14 13:57:39 -07:00
Samuel Attard
a55cddaa53
Add more options
2017-03-14 18:57:57 +11:00
deepak1556
15e2b2335f
address review comments
2017-03-14 00:26:27 +05:30
deepak1556
d022d108a3
Dont intercept pdf request for subframes
...
Will not work without OOPIF support
2017-03-14 00:26:27 +05:30
deepak1556
4381e0895f
propagate zoom changes to pdf plugin
2017-03-14 00:26:27 +05:30
deepak1556
eda413861a
update spec
2017-03-14 00:26:27 +05:30
deepak1556
b28e686228
code cleanup
2017-03-14 00:26:27 +05:30
deepak1556
5a8e522526
StreamManager class is no longer required.
...
Stream lifetime is managed by webui
2017-03-14 00:26:27 +05:30
deepak1556
c982af991d
request for pdf resource from the webui
2017-03-14 00:26:27 +05:30
Cheng Zhao
422b7acece
Do not store resource_path as FilePath
...
On Windows the path value returned by PathWithoutParams also uses "/" as
separator, so there is no need to use the FilePath class.
2017-03-14 00:26:27 +05:30
Cheng Zhao
cca1db47ee
Print error when path is not found
2017-03-14 00:26:27 +05:30
deepak1556
528853efbf
handle reload api call from pdf ui
2017-03-14 00:26:27 +05:30
deepak1556
6987e3ecd0
check if target stream is intercepted for correct request
2017-03-14 00:26:27 +05:30
deepak1556
b9710532e1
update api changes
2017-03-14 00:26:27 +05:30
deepak1556
a4400dc549
add basic spec
2017-03-14 00:26:27 +05:30
deepak1556
3aba23b471
view_id=>stream_id and add some code comments.
2017-03-14 00:26:27 +05:30
deepak1556
e90fd1444f
move constants to atom_constants.h
2017-03-14 00:26:27 +05:30
deepak1556
671a8a2cd6
address review comments
2017-03-14 00:26:27 +05:30
deepak1556
cc09b9ac7d
BINDINGS_POLICY_WEB_UI is not required
2017-03-14 00:26:27 +05:30
Paul Betts
846d516584
Get us compiling on macOS
2017-03-14 00:26:27 +05:30
Paul Betts
8580a34f9f
Get us compiling on Win32
2017-03-14 00:26:27 +05:30
deepak1556
c15f6af892
fix crash when pdf viewer is reloaded
2017-03-14 00:25:59 +05:30
deepak1556
ddc2e0df71
code cleanup
2017-03-14 00:25:59 +05:30
deepak1556
de7dcdedba
setup strings for ui
2017-03-14 00:25:59 +05:30
deepak1556
0c7bb72891
listen to ipc messages from plugin to perform SaveAs op
2017-03-14 00:25:59 +05:30
deepak1556
fd8c450ef3
move pdfviewer ui data source to separate file
2017-03-14 00:25:59 +05:30
deepak1556
945e26750e
manage the lifetime of streams created
2017-03-14 00:25:59 +05:30
deepak1556
0ab37da785
replace redundant mimetype helper with net utility
2017-03-14 00:25:59 +05:30
deepak1556
578b717b5f
fix cpplint error
2017-03-14 00:25:59 +05:30
deepak1556
c4dd2f4f56
add pdf webui as submodule
2017-03-14 00:25:59 +05:30
deepak1556
3c90fabab7
update pdf ui to work with webui
2017-03-14 00:25:59 +05:30
deepak1556
41c1623824
handle more messages from webui
2017-03-14 00:25:59 +05:30
deepak1556
a2db14476a
create webui message handler
2017-03-14 00:25:59 +05:30
deepak1556
8a2b9c893e
initialize webui with message handlers
2017-03-14 00:25:59 +05:30
deepak1556
be480fb634
import pdf ui
2017-03-14 00:25:59 +05:30
deepak1556
fdd574cea5
browser: implement pdf renderer as webui
2017-03-14 00:25:59 +05:30
Kevin Sawicki
268dd1a6c2
Remove unneeded include
2017-03-13 11:15:36 -07:00
Kevin Sawicki
e52ece1a1e
Implement NSScrubberDataSource in AtomTouchBar
2017-03-13 11:06:41 -07:00
Kevin Sawicki
4f31a5c452
Fix duplicate protocol method declaration
2017-03-13 10:39:42 -07:00
Kevin Sawicki
d7f458d232
Add protocol methods
2017-03-13 10:31:51 -07:00
Kevin Sawicki
2fe21ecdd0
🎨
2017-03-13 10:28:30 -07:00
Kevin Sawicki
37c9d76cd5
Take const references
2017-03-13 10:25:30 -07:00
Kevin Sawicki
634bd7b17f
Add NSScrubber forward declarations
2017-03-13 10:07:48 -07:00
Samuel Attard
a85ae27d68
Fix linting
2017-03-13 11:00:10 +11:00
Samuel Attard
25a231fc50
Initial NSScrubber implementation
2017-03-13 10:51:12 +11:00
Kevin Sawicki
5b1d5b39a2
Set automatic via else block
2017-03-10 10:11:56 -08:00
Kevin Sawicki
3349e32196
Verify selectedIndex to prevent NSRangeException
2017-03-10 10:09:18 -08:00
Kevin Sawicki
458e4be77c
Add forward declaration for 10.12 API
2017-03-10 09:53:47 -08:00
Samuel Attard
1c027c526b
Add segmented control implementation
2017-03-10 17:40:39 +11:00
Kevin Sawicki
14e8e463b3
Merge pull request #8864 from electron/zoom_controller_webview_patch
...
browser: track origin zoom with HostZoomMap
2017-03-09 11:27:34 -08:00
John Kleinschmidt
d5a658bbe4
Fixed pass by reference and added spec
2017-03-08 22:06:26 -05:00
John Kleinschmidt
1c2a78a896
Add WebRTCIPPolicy setting to webContents and webview
...
Resolves #8777
Code to set and get the policy come from the muon framework code:
https://github.com/brave/muon/blob/master/atom/browser/api/atom_api_web_
contents.cc#L1324...L1343
2017-03-08 10:15:48 -05:00
deepak1556
b5cfa2e92d
track host zoom levels with HostZoomMap
2017-03-08 19:03:43 +05:30
Kevin Sawicki
e0260d6f53
Bump v1.6.3
2017-03-07 09:49:39 -08:00
Kevin Sawicki
f549bda9fc
Merge pull request #8799 from nitsakh/baseURLForDataURL
...
Support base URL option to loadURL for data URLs
2017-03-06 10:25:53 -08:00
Kevin Sawicki
886b47e713
Merge pull request #8724 from electron/defer_load_url
...
webContents: defer url load when there is a pending navigation entry
2017-03-06 10:18:36 -08:00
Kevin Sawicki
479af3c9e2
Merge pull request #8678 from liusy182/download-item
...
only emit `download-item done` event once
2017-03-06 10:11:22 -08:00
Cheng Zhao
aaa8e81cd4
Merge pull request #8811 from electron/clean-node-on-exit
...
Clean up node Environment on exit
2017-03-06 20:36:59 +09:00
deepak1556
e936143da2
listen for browser initiated pending nav entries too
2017-03-06 00:21:52 +05:30
deepak1556
dead1ae1ba
webContents: defer url load when there is a pending navigation entry
2017-03-06 00:10:46 +05:30
Kevin Sawicki
4d6c779839
identList -> identifiers
2017-03-03 15:28:32 -08:00
Kevin Sawicki
b879872317
Always set properties in update calls
2017-03-03 15:24:32 -08:00
Kevin Sawicki
2680ee9f8f
Add support for setting TouchBarLabel text color
2017-03-03 15:14:51 -08:00
Kevin Sawicki
9f323104e7
Remove unused include
2017-03-03 14:11:09 -08:00
Kevin Sawicki
edebb32014
Drop nullable for consistency
2017-03-03 14:07:59 -08:00
Kevin Sawicki
ca2898a60e
Check that window responds to touchBar selector for pre-10.12.1 compat
2017-03-03 14:00:39 -08:00
Kevin Sawicki
002369576f
Add initial touch bar docs
2017-03-03 14:00:39 -08:00
Kevin Sawicki
ce12dcd3b4
Add live popover icon property
2017-03-03 14:00:39 -08:00
Kevin Sawicki
a34f9d3583
Support icon property to match MenuItem
2017-03-03 14:00:39 -08:00
Kevin Sawicki
506b42b563
🎨
2017-03-03 14:00:39 -08:00
Kevin Sawicki
ecc0478e3c
Match Popover casing in macOS APIs
2017-03-03 14:00:39 -08:00
Kevin Sawicki
d1edd80ef8
Use NSTouchBar itemForIdentifier to lookup existing item
2017-03-03 14:00:39 -08:00
Kevin Sawicki
93bbe8e70b
Use device NS colors consistently
2017-03-03 14:00:39 -08:00
Kevin Sawicki
70d61869a5
Use array to create empty NSMutableArray
2017-03-03 14:00:39 -08:00
Kevin Sawicki
5fe3ac60fa
Check that atom_touch_bar_ is set
2017-03-03 14:00:39 -08:00
Kevin Sawicki
708ed9d1cd
Store ordered settings in AtomTouchBar
2017-03-03 14:00:39 -08:00
Kevin Sawicki
5f9e9d4b36
Add move live updating properties
2017-03-03 14:00:39 -08:00
Kevin Sawicki
61aa9bbff4
Add support for spacer items
2017-03-03 14:00:39 -08:00
Kevin Sawicki
f153d08297
Support setting the initial/available colors
2017-03-03 14:00:39 -08:00
Kevin Sawicki
51f1c5a557
Use SetTouchBar withe empty vector instead of DestroyTouchBar
2017-03-03 14:00:39 -08:00
Kevin Sawicki
347d472841
Remove unused clear method
2017-03-03 14:00:39 -08:00
Kevin Sawicki
b959f782f6
Rename instance variable maps
2017-03-03 14:00:39 -08:00
Kevin Sawicki
ec500b2852
Use scoped_nsobject to match Chrome implementation
2017-03-03 14:00:38 -08:00
Kevin Sawicki
812beb240b
Remove unneeded includes
2017-03-03 14:00:38 -08:00
Kevin Sawicki
823b3baed0
Use vector of dictionaries instead of mate::Arguments
2017-03-03 14:00:38 -08:00
Kevin Sawicki
98f5858b11
Initial support for dynamic properties
2017-03-03 14:00:38 -08:00
Kevin Sawicki
cbb6f8c33e
Store event listeners in each TouchBar class
2017-03-03 14:00:38 -08:00
Kevin Sawicki
1972e2eff9
Update renamed variable
2017-03-03 14:00:38 -08:00
Kevin Sawicki
28f2a4951b
touch_bar_helper_ -> atom_touch_bar_
2017-03-03 14:00:38 -08:00
Kevin Sawicki
b39b49a15a
Rename to touch_bar_helper_ to differentiate from touchBar property
2017-03-03 14:00:38 -08:00
Kevin Sawicki
14ef5c5957
Reset helper when makeTouchBar is called
2017-03-03 14:00:38 -08:00
Kevin Sawicki
ca29ec0101
Use reference
2017-03-03 14:00:38 -08:00
Kevin Sawicki
f297ba987e
touchBarFromMutatableArray -> touchBarFromItemIdentifiers
2017-03-03 14:00:38 -08:00
Kevin Sawicki
b30f7c3c94
Use std::string ctor
2017-03-03 14:00:38 -08:00
Kevin Sawicki
8500538793
Use base::SysUTF8ToNSString helper
2017-03-03 14:00:38 -08:00
Kevin Sawicki
cf7cd1f32b
hasTBDict -> hasItemWithID
2017-03-03 14:00:38 -08:00
Kevin Sawicki
48515d9ecc
Ignore objective-c header lint
2017-03-03 14:00:38 -08:00
Kevin Sawicki
b632cdd37d
Extract helper class to encapsulate touch bar items
2017-03-03 14:00:38 -08:00
Kevin Sawicki
1b5149ae7a
Few memory and scope tweaks
2017-03-03 14:00:38 -08:00
Kevin Sawicki
b16d649819
Use skia color helpers
2017-03-03 14:00:38 -08:00
Kevin Sawicki
69638a399c
Make touchBar readwrite/nullable
2017-03-03 14:00:38 -08:00
Kevin Sawicki
52905ae9b3
Get compiling against 10.10 SDK
2017-03-03 14:00:38 -08:00
Kevin Sawicki
2a00bb30c5
Use new NativeWindowObserver helper
2017-03-03 14:00:38 -08:00