updates from master

This commit is contained in:
Zeke Sikelianos 2017-11-08 19:01:58 -08:00
commit 387ed21f94
9 changed files with 95 additions and 8 deletions

44
Jenkinsfile vendored Normal file
View file

@ -0,0 +1,44 @@
pipeline {
agent none
stages {
stage('Build') {
parallel {
stage('electron-osx-x64') {
agent {
label 'osx'
}
steps {
sh 'script/bootstrap.py --target_arch=x64 --dev'
sh 'npm run lint'
sh 'script/build.py -c D'
sh 'script/test.py --ci --rebuild_native_modules'
}
post {
always {
cleanWs()
}
}
}
stage('electron-mas-x64') {
agent {
label 'osx'
}
environment {
MAS_BUILD = '1'
}
steps {
sh 'script/bootstrap.py --target_arch=x64 --dev'
sh 'npm run lint'
sh 'script/build.py -c D'
sh 'script/test.py --ci --rebuild_native_modules'
}
post {
always {
cleanWs()
}
}
}
}
}
}
}

View file

@ -105,7 +105,6 @@ forums
- [`Atom`](http://atom-slack.herokuapp.com/) channel on Slack - [`Atom`](http://atom-slack.herokuapp.com/) channel on Slack
- [`electron-ru`](https://telegram.me/electron_ru) *(Russian)* - [`electron-ru`](https://telegram.me/electron_ru) *(Russian)*
- [`electron-br`](https://electron-br.slack.com) *(Brazilian Portuguese)* - [`electron-br`](https://electron-br.slack.com) *(Brazilian Portuguese)*
- [`electron-kr`](http://www.meetup.com/electron-kr/) *(Korean)*
- [`electron-jp`](https://electron-jp.slack.com) *(Japanese)* - [`electron-jp`](https://electron-jp.slack.com) *(Japanese)*
- [`electron-tr`](http://electron-tr.herokuapp.com) *(Turkish)* - [`electron-tr`](http://electron-tr.herokuapp.com) *(Turkish)*
- [`electron-id`](https://electron-id.slack.com) *(Indonesia)* - [`electron-id`](https://electron-id.slack.com) *(Indonesia)*

View file

@ -17,7 +17,7 @@
#include "native_mate/constructor.h" #include "native_mate/constructor.h"
#include "native_mate/persistent_dictionary.h" #include "native_mate/persistent_dictionary.h"
@interface AtomTouchBar : NSObject<NSScrubberDelegate, NSScrubberDataSource> { @interface AtomTouchBar : NSObject<NSScrubberDelegate, NSScrubberDataSource, NSScrubberFlowLayoutDelegate> {
@protected @protected
std::vector<mate::PersistentDictionary> ordered_settings_; std::vector<mate::PersistentDictionary> ordered_settings_;
std::map<std::string, mate::PersistentDictionary> settings_; std::map<std::string, mate::PersistentDictionary> settings_;

View file

@ -667,4 +667,40 @@ static NSString* const ImageScrubberItemIdentifier = @"scrubber.image.item";
return itemView; return itemView;
} }
- (NSSize)scrubber:(NSScrubber *)scrubber layout:(NSScrubberFlowLayout *)layout sizeForItemAtIndex:(NSInteger)itemIndex
{
NSInteger width = 50;
NSInteger height = 30;
NSInteger margin = 15;
NSSize defaultSize = NSMakeSize(width, height);
std::string s_id([[scrubber identifier] UTF8String]);
if (![self hasItemWithID:s_id]) return defaultSize;
mate::PersistentDictionary settings = settings_[s_id];
std::vector<mate::PersistentDictionary> items;
if (!settings.Get("items", &items)) return defaultSize;
if (itemIndex >= static_cast<NSInteger>(items.size())) return defaultSize;
mate::PersistentDictionary item = items[itemIndex];
std::string title;
if (item.Get("label", &title)) {
NSSize size = NSMakeSize(CGFLOAT_MAX, CGFLOAT_MAX);
NSRect textRect = [base::SysUTF8ToNSString(title) boundingRectWithSize:size
options:NSStringDrawingUsesLineFragmentOrigin | NSStringDrawingUsesFontLeading
attributes:@{ NSFontAttributeName: [NSFont systemFontOfSize:0]}];
width = textRect.size.width + margin;
} else {
gfx::Image image;
if (item.Get("icon", &image)) {
width = image.AsNSImage().size.width;
}
}
return NSMakeSize(width, height);
}
@end @end

View file

@ -15,7 +15,7 @@
@class NSTouchBar, NSTouchBarItem; @class NSTouchBar, NSTouchBarItem;
@class NSScrubber, NSScrubberItemView, NSScrubberArrangedView, NSScrubberTextItemView, NSScrubberImageItemView, NSScrubberSelectionStyle; @class NSScrubber, NSScrubberItemView, NSScrubberArrangedView, NSScrubberTextItemView, NSScrubberImageItemView, NSScrubberSelectionStyle;
@protocol NSTouchBarDelegate, NSScrubberDelegate, NSScrubberDataSource; @protocol NSTouchBarDelegate, NSScrubberDelegate, NSScrubberDataSource, NSScrubberFlowLayoutDelegate, NSScrubberFlowLayout;
typedef float NSTouchBarItemPriority; typedef float NSTouchBarItemPriority;
static const NSTouchBarItemPriority NSTouchBarItemPriorityHigh = 1000; static const NSTouchBarItemPriority NSTouchBarItemPriorityHigh = 1000;
@ -149,6 +149,9 @@ static const NSTouchBarItemIdentifier NSTouchBarItemIdentifierOtherItemsProxy =
@end @end
@interface NSScrubberFlowLayout: NSObject
@end
@interface NSScrubberSelectionStyle : NSObject<NSCoding> @interface NSScrubberSelectionStyle : NSObject<NSCoding>
@property(class, strong, readonly) NSScrubberSelectionStyle* outlineOverlayStyle; @property(class, strong, readonly) NSScrubberSelectionStyle* outlineOverlayStyle;
@ -229,6 +232,12 @@ static const NSTouchBarItemIdentifier NSTouchBarItemIdentifierOtherItemsProxy =
@end @end
@protocol NSScrubberFlowLayoutDelegate<NSObject>
- (NSSize)scrubber:(NSScrubber *)scrubber layout:(NSScrubberFlowLayout *)layout sizeForItemAtIndex:(NSInteger)itemIndex;
@end
#pragma clang assume_nonnull end #pragma clang assume_nonnull end
#elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_12_1 #elif MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_12_1

View file

@ -322,7 +322,7 @@ It creates a new `BrowserWindow` with native properties as set by the `options`.
* `defaultEncoding` String (optional) - Defaults to `ISO-8859-1`. * `defaultEncoding` String (optional) - Defaults to `ISO-8859-1`.
* `backgroundThrottling` Boolean (optional) - Whether to throttle animations and timers * `backgroundThrottling` Boolean (optional) - Whether to throttle animations and timers
when the page becomes background. This also affects the when the page becomes background. This also affects the
[Page Visibility API][#page-visibility]. Defaults to `true`. [Page Visibility API](#page-visibility). Defaults to `true`.
* `offscreen` Boolean (optional) - Whether to enable offscreen rendering for the browser * `offscreen` Boolean (optional) - Whether to enable offscreen rendering for the browser
window. Defaults to `false`. See the window. Defaults to `false`. See the
[offscreen rendering tutorial](../tutorial/offscreen-rendering.md) for [offscreen rendering tutorial](../tutorial/offscreen-rendering.md) for

View file

@ -87,3 +87,4 @@ Specification][notification-spec], including Cinnamon, Enlightenment, Unity,
GNOME, KDE. GNOME, KDE.
[notification-spec]: https://developer.gnome.org/notification-spec/ [notification-spec]: https://developer.gnome.org/notification-spec/
[app-user-model-id]: https://msdn.microsoft.com/en-us/library/windows/desktop/dd378459(v=vs.85).aspx

View file

@ -12,7 +12,7 @@
"dugite": "^1.45.0", "dugite": "^1.45.0",
"electabul": "~0.0.4", "electabul": "~0.0.4",
"electron-docs-linter": "^2.3.3", "electron-docs-linter": "^2.3.3",
"electron-typescript-definitions": "^1.2.7", "electron-typescript-definitions": "^1.2.10",
"github": "^9.2.0", "github": "^9.2.0",
"husky": "^0.14.3", "husky": "^0.14.3",
"minimist": "^1.2.0", "minimist": "^1.2.0",

View file

@ -1528,9 +1528,7 @@ describe('BrowserWindow module', () => {
}) })
}) })
// FIXME(alexeykuzmin): Temporary disabled to unblock master. describe('document.visibilityState/hidden', () => {
// https://github.com/electron/electron/issues/10988
xdescribe('document.visibilityState/hidden', () => {
beforeEach(() => { w.destroy() }) beforeEach(() => { w.destroy() })
function onVisibilityChange (callback) { function onVisibilityChange (callback) {