Commit Graph

692 Commits

Author SHA1 Message Date
Michael Tremel
c916c5bfeb servo: Merge #6506 - notify_darwin should trap import errors (from mt2d2:darwin_notification_imports); r=metajack
notify_darwin should trap import errors and should provide the useful package name for the user to install. Fix for issue #6479.

Source-Repo: https://github.com/servo/servo
Source-Revision: 3df35c2f42d7224560837a9ef63400e0e16829bf
2015-06-28 11:05:36 -06:00
Jesse Ruderman
9db4ce6377 servo: Merge #6478 - Add space between sentences (from jruderman:patch-1); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: ec205555282ce7ce5ff0cdd25ff47b6c0960313e
2015-06-26 16:36:10 -06:00
Michael Wu
ae3ff6be00 servo: Merge #6150 - Upgrade to Spidermonkey 39 (from servo:smupgrade3); r=mbrubeck
> Here it is.
>
> ~~There's two major things that are unfinished here:~~
> - ~~Dealing with the unroot_must_root lint. I'm not sure about the value of this lint with the new rooting API.~~ Done.
> - ~~Updating the Cargo.locks to point to the new SM and SM binding.~~ Done.
>
> I also included my fixes for the rust update, but these will disappear in a rebase. A rust update is necessary to support calling `Drop` on `Heap<T>` correctly when `Heap<T>` is inside a `Rc<T>`. Otherwise `&self` points to the wrong location.
>
> Incremental GC is disabled here. I'm not sure how to deal with the incremental barriers so that's left for later.
>
> Generational GC works. SM doesn't work without it.
>
> The biggest change here is to the rooting API. `Root` was made movable, and `Temporary` and `JSRef` was removed. Movable `Root`s means there's no need for `Temporary`, and `JSRef`s aren't needed generally since it can be assumed that being able to obtain a reference to a dom object means it's already rooted. References have their lifetime bound to the Roots that provided them. DOM objects that haven't passed through `reflect_dom_object` don't need to be rooted, and DOM objects that have passed through `reflect_dom_object` can't be obtained without being rooted through `native_from_reflector_jsmanaged` or `JS::<T>::root()`.
>
> Support for `Heap<T>` ended up messier than I expected. It's split into two commits, but only because it's a bit difficult to fold them together. Supporting `Heap<T>` properly requires that that `Heap::<T>::set()` be called on something that won't move. I removed the Copy and Clone trait from `Heap<T>` so `Cell` can't hold `Heap<T>` - only `UnsafeCell` can hold it.
>
> `CallbackObject` is a bit tricky - I moved all callbacks into `Rc<T>` in order to make sure that the pointer inside to a `*mut JSObject` doesn't move. This is necessary for supporting `Heap<T>`.
>
> `RootedCollectionSet` is very general purpose now. Anything with `JSTraceable` can be rooted by `RootedCollectionSet`/`RootedTraceable`. Right now, `RootedTraceable` is only used to hold down dom objects before they're fully attached to their reflector. I had to make a custom mechanism to dispatch the trace call - couldn't figure out how to get trait objects working for this case.
>
> This has been tested with the following zeal settings:
>
> GC after every allocation
> JS_GC_ZEAL=2,1
>
> GC after every 100 allocations (important for catching use-after-free bugs)
> JS_GC_ZEAL=2,100
>
> Verify pre barriers
> JS_GC_ZEAL=4,1
>
> Verify post barriers
> JS_GC_ZEAL=11,1

Source-Repo: https://github.com/servo/servo
Source-Revision: e7808c526c348fea5e3b48af70b7f1a066652097
2015-06-19 16:46:55 -06:00
Jack Moffitt
3c2edf76c4 servo: Merge #6306 - Use Cargo's target directory sharing (from metajack:shared-target-dir); r=mbrubeck
This speeds up `./mach build --dev` followed by `./mach build-cef` by
25%. When rust-lang/cargo#497 is fixed, this speedup will increase
dramatically.

Source-Repo: https://github.com/servo/servo
Source-Revision: d6263c9b6e969fde4c644034e684a39d68667ad9
2015-06-15 13:08:14 -06:00
Francesc Bautista
5aba0eb119 servo: Merge #6360 - Fix #6315 Set default render mode on tests to cpu (from fbau123:6315-tests-default-cpu-mode); r=Ms2ger
#6315

Set 'mach test-ref' default render mode to cpu and added a cli argument to 'mach test' to be able to select the render-mode, also renamed the 'kind' argument from 'test-ref' to '--render-mode' for coherence with reftest.rs

Source-Repo: https://github.com/servo/servo
Source-Revision: bedfa74b1f66a87dac00c46ac6560fa012f033d9
2015-06-14 03:14:00 -06:00
Matt Brubeck
29630a98bf servo: Merge #6285 - Better command-line error handling (from mbrubeck:nofile); r=metajack
* Don't hang silently when passed a non-existant file.
* Fix uncaught exception in `mach run` when Servo fails.

Source-Repo: https://github.com/servo/servo
Source-Revision: 9b5a01e0455dde921b57d8e802e4554418477d8f
2015-06-04 15:53:11 -05:00
Corey Farwell
f5288dcad8 servo: Merge #6279 - Add flake8 to the tidy process for Python files (from frewsxcv:flake8); r=jdm
Fixes #6236

Also included in this commit are the changes need to make flake8 pass
for the existing python file

Source-Repo: https://github.com/servo/servo
Source-Revision: ccfe29d8f284dedc0101045d574a98fb1f69aa62
2015-06-04 10:41:36 -05:00
Corey Farwell
e6ffdd2239 servo: Merge #6278 - Pass release/dev arguments to command function for jQuery update (from frewsxcv:patch-3); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 907c051bd1d59621449a399ccf6845b617bdff9d
2015-06-03 18:30:08 -05:00
Corey Farwell
fe64f1f685 servo: Merge #6274 - Run tidy everything in the tree, remove directory whitelist (from frewsxcv:tidy-all-the-things); r=metajack
After #6268 merged, I found out that everything in the tree currently
passes the tidy checker.

---------------

It is worth pointing out that I personally do not know if this is a feature wanted by others. Once I noticed everything was already tidy, I decided to open this PR to start the conversation (if any). I am not convinced this is really a Good Thing, so my feelings would not get hurt if this was closed immediately.

Source-Repo: https://github.com/servo/servo
Source-Revision: 055182dae1d895ba2422e3da85c20a9a64beea71
2015-06-03 11:12:34 -05:00
Corey Farwell
047a07ab93 servo: Merge #6268 - Tidy files in python/, fix issues brought up by tidy (from frewsxcv:tidy-python); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 9aa1d932828d15f6590816c638af1e3f451130a4
2015-06-03 08:04:11 -05:00
Brian Anderson
fca471d6ef servo: Merge #6267 - Support a system root with correct on-disk directory layout (from brson:system-rust); r=SimonSapin
The existing code for setting up the environment assumes that
the directory layout containing rust and cargo conforms to the
one used by rust-installer's tarballs. This makes overriding
the system root awkward for simple cases where I want to test
my own build directly from the rust build directory. This
patch just adds a second path to PATH and LD_LIBRARY_PATH
to accomodate both disk layouts.

Conflicts:
	python/servo/command_base.py

Source-Repo: https://github.com/servo/servo
Source-Revision: 2e93ae7f76f9ceb6733352cfd0e16ab478f1d0a3
2015-06-03 01:54:00 -05:00
Corey Farwell
701f61d27c servo: Merge #6260 - Remove trailing whitespace on Python files (from frewsxcv:trailing); r=SimonSapin
Trailing whitespace was found using flake8

This is working towards making flake8 part of the tidy process: #6236

Source-Repo: https://github.com/servo/servo
Source-Revision: 93f09b88c4f316804d13deaadac8ee91afedfb3b
2015-06-02 13:47:01 -05:00
ringmaster101
82c6ed3afa servo: Merge #6246 - Ensure installed git version is above 1.8.1 [Bug #5637] (from frewsxcv:git-version-check); r=nox
Versions of git before 1.8.1 do not support git submodule --recursive sync
This commit makes update_submodules() exit with an error message if the version is <1.8.1

https://github.com/servo/servo/issues/5637

--------------------

This was originally written by @ringmaster101. The commit was cherry-picked by @frewsxcv and modified to address the comments brought up in #5648

Source-Repo: https://github.com/servo/servo
Source-Revision: 2fb8d31b0619a749256dfcd7c241f4b96e1a6d46
2015-06-01 18:18:21 -05:00
Glenn Watson
eec1669064 servo: Merge #6201 - Add jQuery test runner and mach integration (from glennw:jquery-runner); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: 713f18a58d9ba39d0f2cd1cc987774a28a9035ee
2015-05-31 21:20:57 -05:00
Corey Farwell
73fa804025 servo: Merge #6232 - DRY submodule updating by utilizing existing update-submodules command (from frewsxcv:update-submodules-dry); r=jdm
This might allow us to merge #5648

Source-Repo: https://github.com/servo/servo
Source-Revision: 1d19338a93348c4e817a0b1619dc236881ba18f6
2015-05-31 20:40:21 -05:00
Corey Farwell
00968c717d servo: Merge #6234 - Clarify Python version checking conditional (from frewsxcv:patch-2); r=metajack
Source-Repo: https://github.com/servo/servo
Source-Revision: ce3debbc82e14523657974d1f6110e22272a178e
2015-05-31 19:08:45 -05:00
Corey Farwell
9ca5d58dca servo: Merge #6235 - Remove unused imports in the Python files (from frewsxcv:rm-python-unused-imports); r=metajack
Found using flake8

Source-Repo: https://github.com/servo/servo
Source-Revision: cdc0b88f6984b7cb395a98a59e4829eb62b1e451
2015-05-31 18:28:29 -05:00
Corey Farwell
3d43073796 servo: Merge #6174 - Reduce max line length from 150 to 120 characters (from frewsxcv:cleanup-long-lines); r=SimonSapin
Part of https://github.com/servo/servo/issues/6041

Source-Repo: https://github.com/servo/servo
Source-Revision: 542519ebfd073662bc9421ac5fa0aa01ebc0d6fe
2015-05-24 18:27:26 -05:00
r0e
9135f0812f servo: Merge #6136 - forces user to update cargo packages individually or enable flag to update all packages (from r0e:master); r=mbrubeck
Fixes issue #6112
update-cargo and cargo-update both require that the user specifies the "-p" flag along with a specified package OR specify the "-a" flag to update all packages.

Let me know if this is not the right functionality.

Source-Repo: https://github.com/servo/servo
Source-Revision: c981e9b2e36d4428cd3d55c7f2073f398251e777
2015-05-19 14:39:23 -05:00
Matt Brubeck
47c4b4b5d7 servo: Merge #6068 - Make "mach run -d" an alias for "mach run --dev" (from mbrubeck:run-d); r=jdm
(And the same for `rr-record`.) For consistency with `mach build`.

Source-Repo: https://github.com/servo/servo
Source-Revision: 24635a4bcaec2e0033e1c178bf6f6bd3bead8942
2015-05-15 10:25:29 -05:00
Jinank Jain
2130dac541 servo: Merge #6052 - Fixed #6048 (from jinankjain:Bug#6048); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 7040453358624f41e86a8dc52e5f8bc887a8be37
2015-05-14 15:51:45 -05:00
Jinank Jain
59ab94ecc1 servo: Merge #6038 - Add --dev option to mach build (from mbrubeck:jinankjain-Bug#5933); r=mbrubeck
Require either `--dev` or `--release`, unless a default build.mode is set in `.servobuild`.  This is @jinankjain's patch from #5965, rebased onto master.  It is already reviewed, and only waiting for servo/saltfs#28 to be deployed.

Source-Repo: https://github.com/servo/servo
Source-Revision: c0d8488b719ea72e73e435618e015c2f705853cc
2015-05-14 11:26:18 -05:00
Ms2ger
30431efd3c servo: Merge #6044 - Various cleanup (from Ms2ger:cleanup); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 7bda431e61d06113306c3f12d9f4240a58a7d34d
2015-05-14 07:16:42 -05:00
Andreas Tolfsen
13030f59a2 servo: Merge #6039 - Native build finished notifications on Mac OS (from andreastt:native_mac_notifications); r=jdm
Also refactors the notification function to introduce some single
responsibility.

Source-Repo: https://github.com/servo/servo
Source-Revision: 100e2b46916c3a35664e58f908042bcf9b87a83f
2015-05-13 16:11:53 -05:00
andars
8d345dc4a4 servo: Merge #6029 - Add mac support for build notifications (#5582) (from andars:master); r=jdm
Closes #5582

Uses `terminal-notifier` to generate notifications on mac.

Source-Repo: https://github.com/servo/servo
Source-Revision: b3b9deafa7ed87bd0649849f3aa729f21c4ff45d
2015-05-12 22:08:25 -05:00
Matt Brubeck
67fa10af12 servo: Merge #6023 - Add a no-op --dev option to the mach build command (from mbrubeck:dev-nop); r=larsbergstrom
This is part of #5965.  It needs to land before the rest of that PR, so we can land servo/saltfs#28 without breaking automated builds for other PRs. r? @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 3e69bf8cd23caa5b691e42141d1111070ff831f5
2015-05-12 15:39:11 -05:00
Matt Brubeck
4e7b80a81c servo: Merge #5966 - Fail the build if openssl.makefile fails (from mbrubeck:openssl-status); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: e39ed1eaaee96c5754a5ad392940b725bbeee399
2015-05-06 11:58:39 -05:00
Duncan
1dc5e8a7dc servo: Merge #5942 - Suggest how to fix unstable WHATWG links in tidy.py (from duncankl:whatwg-link-suggest); r=jdm
Simplified the checking logic a bit too; only a single match per line and a stricter regex that matches everything in one go.

I tested this against commit 8b08c6f4 and made sure it caught the same problems. Note that tidy doesn't currently check the webidls, so those would have still made it through.

Source-Repo: https://github.com/servo/servo
Source-Revision: 387836c42e2377fc53d51d3404e6b91d170727a8
2015-05-06 05:25:28 -05:00
Manish Goregaokar
2843962e2f servo: Merge #5904 - Fix typo in mach gonk output (from Manishearth:spelling); r=Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 0cb2644210cbefc4cc4d847a80ba6762091706c3
2015-04-30 09:56:50 -05:00
Dhananjay Nakrani
7eb43b374a servo: Merge #5842 - Add a ./mach grep command (from dhananjay92:i5838); r=Manishearth
Solves Issue #5838.

Source-Repo: https://github.com/servo/servo
Source-Revision: ef536372cdf26e5fd2ac7728e76482dc5d702cd0
2015-04-25 12:50:19 -05:00
Matt Brubeck
f88c4784dc servo: Merge #5819 - Change notification threshold from 300s to 30s (from mbrubeck:notify-more); r=jdm
The 300 second threshold was originally from the Gecko/Firefox build system. It doesn't fit Servo builds, which are shorter, and often hover right around the 300 second mark (making the notification unpredictable).

Source-Repo: https://github.com/servo/servo
Source-Revision: 07aa6306f58b5d575a65ebaf5c71f510423ed8ca
2015-04-23 23:24:06 -05:00
Matt Brubeck
57f2f4a9bd servo: Merge #5784 - Set the OPENSSL_STATIC env var for Android builds (from mbrubeck:ssl-static); r=larsbergstrom
Required by the latest version of the openssl-sys build script. Fixes #5145.

r? @larsbergstrom or @glennw

Source-Repo: https://github.com/servo/servo
Source-Revision: 5502b5147f1e539032e6739fe8aa96c495ca2fae
2015-04-21 19:35:44 -05:00
Simon Sapin
d713c2ab5a servo: Merge #5776 - Split the unit tests crate (from servo:split-unit-tests); r=mbrubeck
Closes #5707. (Includes a rebase of it.)
Fixes #5688.

r? @mbrubeck

Source-Repo: https://github.com/servo/servo
Source-Revision: f795440ee3be976d9819b011d4add7ceee3ade1e
2015-04-21 14:06:22 -05:00
Dhananjay Nakrani
e546a3eefc servo: Merge #5747 - [Issue#5730] Make tidy.py check for links to spec pages (from dhananjay92:Issue#5730); r=jdm
This PR does two things.
* Solve Issue #5730
* Refactor `tidy.py` to reduce code duplication.

Source-Repo: https://github.com/servo/servo
Source-Revision: d654eada6f583871bdceade6506631b6b39ebad0
2015-04-21 12:59:39 -05:00
Manish Goregaokar
58c5879e0e servo: Merge #5771 - Alias cargo-update to update-cargo (from Manishearth:cargo-update); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: 3c4ca28a65b7007d25760c762a6723c655a0423f
2015-04-21 09:49:31 -05:00
Ms2ger
9a5eaacd70 servo: Merge #5710 - Retire content tests (from Ms2ger:content); r=saneyuki
Source-Repo: https://github.com/servo/servo
Source-Revision: 53d2432c90ab9ef171dfbef8e22ed3f58fcef8f0
2015-04-16 05:41:56 -05:00
Dhananjay Nakrani
8d2ee0caa9 servo: Merge #5664 - [Issue#5582] Add Desktop Notifications for Long builds (from dhananjay92:DesktopNotif); r=jdm
Supported for Linux & Windows platforms.

If it fails to generate the desktop notification, it simply gives a soft warning on the terminal.

This PR is solving Issue #5582.

Source-Repo: https://github.com/servo/servo
Source-Revision: a13fa9c0c00fe99b5af19d873a9240dce522f16b
2015-04-15 14:46:14 -05:00
Damien
dfa538c56c servo: Merge #5678 - Handle proxies in bootstrap script (from mdamien:patch-1); r=jdm
The urllib version used a `FancyURLOpener` which use urllib. But urllib does not not handle proxies with SSL well.

For example, when adding the proxies to urllib.FancyURLOpener, I got this SSL error:

    IOError: [Errno socket error] [Errno 1] _ssl.c:510: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol

So I switched the function to urllib2.

A better solution would be to use `requests` but I prefer to stay with the "no-dependency" approach.

For example, this was my first solution with `requests`:

```python
def download(desc, src, dst):
    print("Downloading(R) %s..." % desc)
    with open(dst, 'wb') as handle:
        response = requests.get(src, stream=True)

        if not response.ok:
            print("something went wrong downloading %s, :(" % desc)
            sys.exit(1)

        size = int(response.headers['content-length'])
        block_size = 1024
        recved = 0
        for block in response.iter_content(1024):
            recved += len(block)
            pct = recved * 100.0 / size
            print("\rDownloading %s: %5.1f%%" % (desc, pct), end="")
            if not block:
                break
            handle.write(block)
    print()
```

Source-Repo: https://github.com/servo/servo
Source-Revision: 43d476eb2babedac2ab5ab336fbfd6bae9372f16
2015-04-14 10:23:15 -05:00
Simon Sapin
457ec2ede7 servo: Merge #5574 - Move unit tests to their own crates, cut time by 96% (from servo:unit-tests); r=jack
On my laptop, running `./mach test-unit` goes from about 11 minutes to 22 seconds, when run after `./mach build`.

Fix #5291.

Source-Repo: https://github.com/servo/servo
Source-Revision: 017d1053617f6769d7f355e4a97d52ae67e53d1c
2015-04-07 21:16:49 -05:00
Matt Brubeck
87f6b4930d servo: Merge #5542 - Make mach test-unit a little bit smarter (from mbrubeck:test-unit); r=metajack
Moved from #5512. r? @larsbergstrom or @metajack or @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: bd7e4d661a6402a2b7821aa71aee977206b69925
2015-04-07 11:13:37 -05:00
James Graham
dc61d3492b servo: Better check that required modules are installed
Source-Repo: https://github.com/servo/servo
Source-Revision: e31744e48ee5eecf5dd9412d0b7f7eb7d6488f55
2015-04-03 10:50:37 +01:00
James Graham
c655d64503 servo: Update the README files to reflect the changes to the update procedure.
Source-Repo: https://github.com/servo/servo
Source-Revision: 6b8aaf3c57c930263a4cd22ac9b4803bb26ff110
2015-04-01 13:27:27 +01:00
James Graham
5a37924f77 servo: Add support for running W3C CSS tests.
These are run through the same harness as the web-platform-tests.

Source-Repo: https://github.com/servo/servo
Source-Revision: b2a5225831a8eee3ff596dce2be8dc08df4300a0
2015-03-27 21:23:44 +00:00
James Graham
b926fd1ee6 servo: Make the test-wpt mach command support all the command line arguments of wptrunner.
Also remove the shell script and ensure that default options are set in a single location

Source-Repo: https://github.com/servo/servo
Source-Revision: 2bde318d24a2ecd2698edd108013c138630bec9d
2015-03-27 21:22:40 +00:00
James Graham
0b1489def1 servo: Put a copy of mozlog in the tree.
This is required to import the command line options for the wpt tests from the harness

Source-Repo: https://github.com/servo/servo
Source-Revision: f7ff2aa5584fa16c61f66f35a25de0ceacdd4eb5
2015-03-27 21:13:33 +00:00
Kyle Cesare
b9261b3fed servo: Merge #5405 - Add space in mach command suggestion (from kylc:fix_mach_help_msg); r=Ms2ger
Running `./mach run --release` without a release profile built suggests running `./mach build--release`. This PR adds a space before `--release`.

Source-Repo: https://github.com/servo/servo
Source-Revision: b20cc69a7a30f62fcdfee5c7f5ca61454199d425
2015-03-31 17:15:52 -06:00
Prabhjyot Singh Sodhi
4cd50717da servo: Merge #5039 - Make Tidy check ports/cef and ports/glutin (from psdh:tidy); r=jdm
Fixes #5034

Source-Repo: https://github.com/servo/servo
Source-Revision: 9f3493b5bbfc6f0c40385fb41a32e006092e0f3a
2015-03-31 12:42:56 -06:00
Matt Brubeck
6d7875dcca servo: Merge #5200 - Add an environment variable to override cache-dir (from mbrubeck:cache-dir); r=larsbergstrom
This will be set in servo/saltfs to prevent our buildbot builders from re-downloading the build tools for every build.

r? @larsbergstrom or @metajack or @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: 82f70c5d501a50d914d69bcd3743d81d5aac69d2
2015-03-19 13:57:52 -06:00
Ms2ger
f4ea3a3dd0 servo: Merge #5256 - Upgrade rustc to d3c49d2140fc65e8bb7d7cf25bfe74dda6ce5ecf/rustc-1.0.0-de (from servo:rustup_20150311); r=jdm
...v.

Relies on:
* https://github.com/servo/rust-geom/pull/72
* https://github.com/servo/rust-glx/pull/10
* https://github.com/servo/gleam/pull/15
* https://github.com/servo/rust-mozjs/pull/137
* https://github.com/servo/rust-core-text/pull/35
* https://github.com/servo/rust-io-surface/pull/28

Source-Repo: https://github.com/servo/servo
Source-Revision: 99cf9dbfc107bacb84dfe5afa9539a0ede3beac2
2015-03-18 11:25:00 -06:00
Ms2ger
f9cfa9247c servo: Merge #5146 - Update web-platform-tests (from Ms2ger:wpt_20150304); r=jgraham,Manishearth
Source-Repo: https://github.com/servo/servo
Source-Revision: ff39ae6cb14405360efa171b337b1ae5c414ed0e
2015-03-17 15:24:49 -06:00