Commit graph

84 commits

Author SHA1 Message Date
Fernando Jiménez Moreno
6aaf5806b1 OfflineAudioContext 2018-07-30 14:23:48 +02:00
Fernando Jiménez Moreno
acb03603b6 Fire AudioScheduledSourceNode.onended when playback stops 2018-07-30 14:23:46 +02:00
Emilio Cobos Álvarez
9bb72139e4
atoms: Add scroll-position as a static atom.
That way we avoid cfg churn in WillChange stuff.
2018-06-02 12:19:32 +02:00
Gregory Terzian
427eaed535 beforeunload and unload infrastructure 2018-05-05 19:14:36 +08:00
Connor Brewster
e7ef9cfb30 Make session history aware of URLs 2018-04-24 15:13:11 -05:00
Connor Brewster
17bd80a7b1 Implement history state 2018-04-16 10:21:15 -05:00
Fabrice Desré
3dd015b2d9 Fire the pageshow event at the end of the page load r=jdm 2018-03-06 07:24:24 -08:00
Bastien Orivel
4b16ff7236 Bump string_cache, html5ever and xml5ever 2017-12-07 20:37:38 +01:00
Jon Leighton
5ff4dc078a Remove support for <input type=datetime>
It has been removed from the spec: https://github.com/whatwg/html/issues/336

See also https://github.com/servo/servo/pull/19471#pullrequestreview-80711878
2017-12-07 12:56:23 +01:00
Jon Leighton
05bfb8d07a Expand InputType to cover all possible types
This came out of a conversation with nox in IRC:
https://mozilla.logbot.info/servo/20171201#c13946454-c13946594

The code I was working on which motivated this change is here:
https://github.com/servo/servo/pull/19461

Previously, InputType::Text was used to represent several different
values of the type attribute on an input element.

If an input element doesn't have a type attribute, or its type attribute
doesn't contain a recognised value, then the input's type defaults to
"text".

Before this change, there were a number of checks in the code which
directly looked at the type attribute. If those checks matched against
the value "text", then they were potentially buggy, since an input with
type=invalid should also behave like an input with type=text.

Rather than have every conditional which cares about the input type also
have to deal with invalid input types, we can convert the type attribute
to an InputType enum once, and then match against the enum.

A secondary benefit is that the compiler can tell us whether we've
missed branches in a match expression. While working on this I
discovered that the HTMLInputElement::value_mode() method misses a case
for inputs with type=hidden (this resulted in a failing WPT test
passing).

I've also implemented the Default trait for InputType, so we now only
have one place in the code which knows that InputType::Text is the
default, where previously there were several.
2017-12-06 21:11:39 +01:00
Bastien Orivel
05c4e08d58 Add a sanitize_value implementation for the color input
I had to change the test a little bit to avoid some failures due to
color and text both having a sanitizedValue which was making the test
use the first assertion instead of the second one in some cases.

The sanitize_value implementation is pretty simple, we iterate over the
content and checks that the content is 7 characters long, that the first
character is a `#` and then that all the following characters are
hexadecimal. If all those requirements are met, we lowercase the
content, otherwise we put `#000000` in it.
2017-11-22 22:36:21 +01:00
Matt Brubeck
c169f52b25 Use env::var_os to read paths from the environment
This avoids unnecessary UTF-8 validation on OsStrings that we just pass
back to the OS.
2017-10-20 09:03:21 -07:00
Nicholas Nethercote
4506f0d30c Replace all uses of the heapsize crate with malloc_size_of.
Servo currently uses `heapsize`, but Stylo/Gecko use `malloc_size_of`.
`malloc_size_of` is better -- it handles various cases that `heapsize` does not
-- so this patch changes Servo to use `malloc_size_of`.

This patch makes the following changes to the `malloc_size_of` crate.

- Adds `MallocSizeOf` trait implementations for numerous types, some built-in
  (e.g. `VecDeque`), some external and Servo-only (e.g. `string_cache`).

- Makes `enclosing_size_of_op` optional, because vanilla jemalloc doesn't
  support that operation.

- For `HashSet`/`HashMap`, falls back to a computed estimate when
  `enclosing_size_of_op` isn't available.

- Adds an extern "C" `malloc_size_of` function that does the actual heap
  measurement; this is based on the same functions from the `heapsize` crate.

This patch makes the following changes elsewhere.

- Converts all the uses of `heapsize` to instead use `malloc_size_of`.

- Disables the "heapsize"/"heap_size" feature for the external crates that
  provide it.

- Removes the `HeapSizeOf` implementation from `hashglobe`.

- Adds `ignore` annotations to a few `Rc`/`Arc`, because `malloc_size_of`
  doesn't derive those types, unlike `heapsize`.
2017-10-18 22:20:37 +11:00
Anthony Ramine
62c73b61b7 Do not NIH queueing a task to fire an event in htmlmediaelement 2017-09-04 16:14:04 +02:00
Anthony Ramine
6168e898c1 Alphabetically sort the damn atom list 2017-09-04 12:06:59 +02:00
Brad Werth
557ffa979d Rework MediaType to be an atom-based struct instead of an enum.
MozReview-Commit-ID: 1Tfrs9PBkhA
2017-08-09 13:25:30 -07:00
Nathan Froyd
2a689d66e9 remove workspace key for components/atoms
Cargo will already traverse up the directory hierarchy to find an
appropriate workspace, so we don't need to specify anything here.  This
change brings components/atoms/Cargo.toml in line with other Cargo.toml
files in the tree.
2017-07-27 11:49:26 -04:00
Bastien Orivel
76d8573393 Bump serde to 1.0 2017-06-16 13:31:18 +02:00
Simon Sapin
5bccf98aa4 ID and class selectors are ASCII case-insensitive in quirks mode.
https://bugzilla.mozilla.org/show_bug.cgi?id=1363778
2017-06-12 23:33:53 +02:00
Simon Sapin
0ff64bdc59 Allow 'decimal' and 'none' in <counter-style-name>
… other than in `@counter-style`.
2017-04-26 13:04:27 +09:00
Emilio Cobos Álvarez
1b51324b66
Update string-cache. 2017-04-07 13:38:40 +02:00
Anthony Ramine
fe3f4ff0c2 Update serde to 0.9 (fixes #15325) 2017-02-18 21:09:46 +01:00
Zakor Gyula
5287cd3bea Bluetooth Permission API integration 2017-02-13 14:58:06 +01:00
Anthony Ramine
9c87cb7e26 Kill beforescriptexecute and afterscriptexecute (fixes #12446) 2017-01-14 16:16:53 +01:00
Ravi Shankar
5f0b3bd53c Fire 'input' event after 'keypress' in input and textarea elements 2016-12-27 15:57:34 +05:30
Zakor Gyula
6e02cb2eb9 refactor Connect/Disconnect calls 2016-12-22 15:49:29 +01:00
Simon Sapin
58d452fa4e Use PropertyId instead of Atom for CSSStyleDeclaration::get_computed_style 2016-12-09 17:06:50 -10:00
Jansen Jan
55f0e56224 Add support for fullscreen #10102 2016-12-09 11:45:50 +01:00
bors-servo
2c05bf3c42 Auto merge of #14387 - szeged:event-target, r=jdm
Add event target for bluetooth

<!-- Please describe your changes on the following line: -->
Add support for event listeners in webbluetooth.
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] There are tests for these changes

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/14387)
<!-- Reviewable:end -->
2016-11-28 22:13:31 -08:00
Attila Dusnoki
d9c7ffb5b3 Add event target for bluetooth 2016-11-28 10:49:49 +01:00
Anthony Ramine
dfb35db6d3 Move to Cargo workspaces 2016-11-28 09:44:20 +01:00
Corey Farwell
54e490a3c8 Add more event names to atom list; use more atom macros. 2016-11-06 11:03:14 -05:00
Corey Farwell
f447040ea9 Migrate EventTarget event firing functions to use Atoms.
This allows us to utilize more `atom` macros.
2016-11-03 17:04:30 -04:00
Simon Sapin
53b638c0e2 Update to string-cache 0.3 2016-11-03 16:23:05 +01:00