d80c517658f5048491b7bf27da25246a297ab50b: Backed out changeset 65cf36aa783f (bug 1352115) for bustage
Carsten "Tomcat" Book <cbook@mozilla.com> - Wed, 12 Apr 2017 16:58:55 +0200 - rev 352686
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
Backed out changeset 65cf36aa783f (bug 1352115) for bustage
d73a295b36529125c7c35d7773be1e75ee91fd4a: Bug 977177 - Invalidate the page-icon image cache when necessary. r=adw
Marco Bonardo <mbonardo@mozilla.com> - Fri, 31 Mar 2017 17:03:25 +0200 - rev 352685
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
Bug 977177 - Invalidate the page-icon image cache when necessary. r=adw Remove page-icon entries when the icon changes, so that we start showing the new content. Also adds an SVG page-icon test. MozReview-Commit-ID: 10MIOvwbQ20
42df4b3da073981a53a34ef817cbd74f54938887: Bug 977177 - Don't expire root domain icons with history, and don't associate pages to them. r=adw
Marco Bonardo <mbonardo@mozilla.com> - Thu, 30 Mar 2017 15:16:41 +0200 - rev 352684
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
Bug 977177 - Don't expire root domain icons with history, and don't associate pages to them. r=adw Root domain icons should be retained as far as possible, and only expired when a domain is removed from the database. We do that through the moz_hosts trigger. Additionally, since we return root domain icons without the need for a direct association, we can save a lot of database space and performance by not storing associations at all for root domain icons. This has some downsides, since we don't exactly know if the page was really associated with that root icon or not, but the perf gains are far superior. Note that we still create associations during migration, since it would be too expensive to examine every single url to figure out if it's a root domain icon. MozReview-Commit-ID: 3mlfcOV8ixC
5311e5ac3b4ba2c20a2a782c81045364c60c50dc: Bug 977177 - Add favicons.sqlite to profile related lists. r=adw,jmaher
Marco Bonardo <mbonardo@mozilla.com> - Thu, 30 Mar 2017 13:08:05 +0200 - rev 352683
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
Bug 977177 - Add favicons.sqlite to profile related lists. r=adw,jmaher MozReview-Commit-ID: HkYpXQ0UFmd
864e72c601565c39ef23bc73186098b485c528c0: Bug 977177 - Split ico files into native frames. r=adw
Marco Bonardo <mbonardo@mozilla.com> - Tue, 28 Mar 2017 17:30:28 +0200 - rev 352682
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
Bug 977177 - Split ico files into native frames. r=adw When optimizing an ico file, split it into its single resources and pick only the sizes we care about. This also de-dupes same size resources. The migration path doesn't split ico files, since it's a performance hot path and we should try to reduce the I/O load at that time. The worst case is that some icons may not look that much crisp until the next page reload. Note that while the "resource" naming would be more appropriate for ico files, compared to "frame" that is more appropriate for animations, the patch still uses the frame name, cause it's far less generic and can be more easily associated with the concept of a graphical asset. Regardless, it's not exposed in any public API. MozReview-Commit-ID: 3vrGXzJDfjX
62f3fc3cb3514a28a07a176d00e1d69db17ef47b: bug 977177 - Fallback to the root domain icon. r=adw
Marco Bonardo <mbonardo@mozilla.com> - Tue, 28 Mar 2017 11:50:53 +0200 - rev 352681
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
bug 977177 - Fallback to the root domain icon. r=adw When an icon for a specific page is not available, try to fallback for the root domain icon. This is valid for both getFaviconUrlForPage and getFaviconDataforPage, as well as the page-icon: protocol. MozReview-Commit-ID: JC4cx1PAY38
60002894a42bb3dba812099aae662d6dd190942f: Bug 977177 - Expire old page to icon relations to avoid serving deprecated icons. r=adw
Marco Bonardo <mbonardo@mozilla.com> - Thu, 16 Mar 2017 14:51:03 +0100 - rev 352680
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
Bug 977177 - Expire old page to icon relations to avoid serving deprecated icons. r=adw Inserting new payloads for a page should expire old ones, otherwise if the page should change favicons, we'd retain old associations forever. At the same time, setting multiple payloads for a page should keep working. MozReview-Commit-ID: 2y1XLUiKAQo
4a0770d810dc9d165ebb2bc501540dab3d1b1144: Bug 977177 - Add size ref fragment to icon protocols. r=adw
Marco Bonardo <mbonardo@mozilla.com> - Wed, 15 Mar 2017 16:08:28 +0100 - rev 352679
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
Bug 977177 - Add size ref fragment to icon protocols. r=adw Both page-icon: and moz-anno:favicon: should support a simple #size=NNN ref fragment to allow consumers to request a specific sized icon (if available). The service will do its best to satisfy the request, but it's not guaranteed. If no size hint is found, it will default to the biggest icon payload available. It's currently not possible to test the fragment on moz-anno:favicon: since that requires imagelib support to extract payloads from ico files. Thus a test will be added at a later time. MozReview-Commit-ID: G221MKY7rfs
90d755bcbb92247ecc3333d5b90063240e8e0533: Bug 977177 - Update favicons API consumers. r=adw
Marco Bonardo <mbonardo@mozilla.com> - Wed, 28 Sep 2016 16:14:30 +0200 - rev 352678
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
Bug 977177 - Update favicons API consumers. r=adw Updates consumers to the new behavior. Some consumers are changed to use the "page-icon:" protocol, since it's not trivial to join the icons table and get a single result out of it. In most cases the join would return multiple results since a page can have multiple icon payloads. These consumers for now will return the biggest payload, bug 1347532 will fix some of them to properly pass a #size=NN fragment. Note that, even before, these were just "moz-anno:favicon:" uris, and the payload had to be fetched from the database. Some other consumers for now just fallback to the largest payload, by passing 0 to GetFaviconURLForPage. The favicon optimization still happens on the main-thread, bug 1346139 will handle that problem. Most of the changes involve handling the modified IconData objects, that now retain an array of payloads, rather than just one. But note that .ico files are not yet split into single frames, due to imagelib missing APIs that will be handled in bug 1337402. The other changes involve fixing queries to properly join with the new tables. Finally, note that thanks to the FOREIGN KEYS support, removing from moz_icons or moz_pages_w_icons will also remove relations from moz_icons_to_pages. The system only supports square icons, so icons are resized based on their larger side. This doesn't include new tests, those will be in a following changeset. MozReview-Commit-ID: JUkpquhpS8y
942aa1533e08a4373e8f0fdb87db786bd61cb2a4: Bug 977177 - Move favicons to a separate store. r=adw
Marco Bonardo <mbonardo@mozilla.com> - Mon, 14 Nov 2016 16:22:46 +0100 - rev 352677
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
Bug 977177 - Move favicons to a separate store. r=adw This patch moves favicons blobs to a separate database names favicons.sqlite. The dabatase is then ATTACHED to the main Places connection, so that its tables can be used as if they were all part of the same database. The favicons.database contains 3 tables: 1. moz_pages_w_icons This is the way to join with moz_places, through page_url_hash and page_url. We are not using the place id to avoid possible mismatches between places.sqlite and favicons.sqlite. This way the database is "portable" and reusable even if places.sqlite changes. 2. moz_icons Contains icons payloads, each payload can either be an SVG or a PNG. These are the only stored formats, any other format is rescaled and converted to PNG. ICO files are split into single frames and stored as multiple PNGs. SVG are distinguishable through width == UINT16_MAX In future the table will also contain mask-icon color for SVG and average color for PNGs. The fixed_icon_url_hash is "fixed" to allow quickly fetch root icons, that means icons like "domain/favicon.ico" that can also be reused for any page under that domain. 3. moz_icons_to_pages This is the relation table between icons and pages. Each page can have multiple icons, each icon can be used by multiple pages. There is a FOREIGN_KEY constraint between this (child) table and icons or pages (parents), so that it's not possible to insert non-existing ids in this table, and if an entry is removed from a parent table, the relation will be automatically removed from here. Note though that removing from the relation table won't remove from the parent tables. Since the relations are now many-many, it's no more possible to simply join places with the icons table and obtain a single icon, thus it's suggested that consumers go through the "page-icon" protocol. The migration process from the old favicons table is async and interruptible, it will be restarted along with the favicons service until the temp preference places.favicons.convertPayloads is set to true. MozReview-Commit-ID: CUCoL9smRyt
550323ea0dc566308f969a918b7fa17e08d9c7e2: servo: Merge #16198 - Fix windows glutin keydown (from jonathandturner:fix_windows_gluten_keydown); r=jdm
Jonathan Turner <jturner@mozilla.com> - Wed, 12 Apr 2017 08:09:50 -0500 - rev 352676
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
servo: Merge #16198 - Fix windows glutin keydown (from jonathandturner:fix_windows_gluten_keydown); r=jdm <!-- Please describe your changes on the following line: --> This fixes #12937 where keypresses arrive in a one-off fashion, effectively delaying each keystroke. This PR is based heavily on @codec-abc's https://github.com/servo/servo/pull/16193 PR, with some further fixes and cleanup. From the original PR comments: > There are 2 types of events associated with keyboard: Key event (up or down) and Character Input. > > * A character is not necessary created one a key is pressed (like the home key). > * A character may be created only using a combination of several key. For example, using a Qwerty International layout you have to type ` then e to get é. The first key press on ` will create no character. > * In servo, we currently merge the 2 events together, meaning that we store a Character Input event in a field to fire a single event later on when we get a Key event. > > The order of events seems to be system dependent. For example, let's say that we type the A key on a Qwerty Layout. In Linux and MacOs we will get this: > > * Character Input for character A > * Key down event with virtual key code of the key A > * Key up event with virtual key code of the key A > > while in Windows we get: > > * Key down event with virtual key code of the key A > * Character Input for character A > * Key up event with virtual key code of the key A > > It seems that glutin make no attempt to reorder the event to make the order independent of the Operating System. I think it would be easier for Servo if it were handled by the library. This fix is a stopgap for the current state of glutin. We may want to look into a deeper fix in the future. For now, this is hopefully adequate solution until a more permanent one can be found. This is the last remaining issue for the Windows nightly blockers meta-issue https://github.com/servo/servo/issues/12125 --- <!-- 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] These changes fix #12937 (github issue number if applicable). <!-- Either: --> - [ ] There are tests for these changes OR - [X] These changes do not require tests because they are around Windows keyboard eventing. <!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.--> <!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. --> Source-Repo: https://github.com/servo/servo Source-Revision: 4c851925fbbd8446f6bfc36ff6836e9b24ad635b
8c2707a5fff1949f3b553cf6d1cf877fec8db84a: servo: Merge #16063 - Avoid panics for empty or multibyte image usemap (from methyl:image-usemap-panics); r=nox
Lucjan Suski <lucjansuski@gmail.com> - Wed, 12 Apr 2017 07:34:27 -0500 - rev 352675
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
servo: Merge #16063 - Avoid panics for empty or multibyte image usemap (from methyl:image-usemap-panics); r=nox <!-- Please describe your changes on the following line: --> Some check were added to make sure we can call `split_at` with no risk of panics (when value is empty or the first char is multibyte). --- <!-- 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] These changes fix #15883 (github issue number if applicable). - [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. --> Source-Repo: https://github.com/servo/servo Source-Revision: 69eda6a60cece433e91d4bc578e94d8d5dfc9544
471e702569e704f6523d2d1261926f2d09f10c3a: servo: Merge #16381 - stylo: Bug 1343753 - Use ComputedValues while updating transitions in Gecko (from BorisChiou:stylo/transition/use_computed_values); r=manishearth
Boris Chiou <boris.chiou@gmail.com> - Wed, 12 Apr 2017 07:00:20 -0500 - rev 352674
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
servo: Merge #16381 - stylo: Bug 1343753 - Use ComputedValues while updating transitions in Gecko (from BorisChiou:stylo/transition/use_computed_values); r=manishearth These are interdependent patches of Bug 1343753. We want to use ComputedValues and AnimationValues to start/update/stop the transitions. --- <!-- 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] These changes fix Bug 1343753. - [X] These changes do not require tests because we have tests in Gecko already. Source-Repo: https://github.com/servo/servo Source-Revision: e817666859f381648e41b690a7e35ad22cf48bbe
5f2f55783a46656219987f0d9febfe39cdff9993: servo: Merge #16380 - Some small fixes for stylo (from upsuper:small-fixes); r=Manishearth
Xidorn Quan <me@upsuper.org> - Wed, 12 Apr 2017 06:24:47 -0500 - rev 352673
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
servo: Merge #16380 - Some small fixes for stylo (from upsuper:small-fixes); r=Manishearth Source-Repo: https://github.com/servo/servo Source-Revision: 528302a300bb375dc2f1d6dd30858d6fc5d95354
67b5c2f3011b069495cd47411ea2cfe49dd6d45d: Bug 1350525 - Storage Inspector should trim port from hosts for cookies r=pbro
Michael Ratcliffe <mratcliffe@mozilla.com> - Tue, 11 Apr 2017 17:09:40 +0100 - rev 352672
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
Bug 1350525 - Storage Inspector should trim port from hosts for cookies r=pbro MozReview-Commit-ID: FfsfiXTt96o
bb3978c4c32cf3397229fceb7977e809fb720431: Bug 1355823: Update reftest expectations for @page + length units. r=emilio
Emilio Cobos Álvarez <emilio@crisal.io> - Wed, 12 Apr 2017 22:04:34 +0800 - rev 352671
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
Bug 1355823: Update reftest expectations for @page + length units. r=emilio MozReview-Commit-ID: KerKHb8hKMa
65cf36aa783feff7044fb1445f14c3ab3ce99343: Bug 1352115 - Adding missing probes to Histograms.json; r=bsmedberg
Patrick Brosset <pbrosset@mozilla.com> - Mon, 10 Apr 2017 16:02:53 +0200 - rev 352670
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
Bug 1352115 - Adding missing probes to Histograms.json; r=bsmedberg MozReview-Commit-ID: 31ePe33TdfO
b01f44c896b2472b154a48c68cf343ae2289d6bd: Bug 1349828 Smooth scroller of <scrollbox> should not try to scroll to outside of the range r=mstange
Masayuki Nakano <masayuki@d-toybox.com> - Mon, 10 Apr 2017 19:56:40 +0900 - rev 352669
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
Bug 1349828 Smooth scroller of <scrollbox> should not try to scroll to outside of the range r=mstange The scroll destination of the smooth scroller of <scrollbox> can be outside of the actual scrollable range. Therefore, it doesn't make scroll slower even when the end appears. This patch makes the destination always in the scrollable range. MozReview-Commit-ID: CfEGzhG7Jh7
9590ce12459ca99802b5658c295098ca501867b1: Bug 1354275 - Fix handling of Array() throwing in Ion r=jandem
Ted Campbell <tcampbell@mozilla.com> - Mon, 10 Apr 2017 10:40:47 -0400 - rev 352668
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
Bug 1354275 - Fix handling of Array() throwing in Ion r=jandem MozReview-Commit-ID: 4bwSYSmvLUV
20e5eed17b2e3be9e329d164fac3a3dc7ece9227: Bug 1355799 - load webide preferences for devtools as addon;r=ochameau
Julian Descottes <jdescottes@mozilla.com> - Wed, 12 Apr 2017 14:57:22 +0200 - rev 352667
Push 89122 by kwierso@gmail.com at Thu, 13 Apr 2017 01:24:36 +0000
Bug 1355799 - load webide preferences for devtools as addon;r=ochameau MozReview-Commit-ID: 6nYDBjuO2Lp
(0) -300000 -100000 -30000 -10000 -3000 -1000 -300 -100 -50 -20 +20 +50 +100 +300 +1000 +3000 +10000 +30000 +100000 tip