Commit Graph

23324 Commits

Author SHA1 Message Date
Emilio Cobos Álvarez
f0d07cb595 Bug 1443966: Add missing include for nsIContent::IsInChromeDocument. r=dholbert
Also mark the function properly as inline.

MozReview-Commit-ID: GJDVLsyfuLN

--HG--
extra : rebase_source : 8dd0b44fa4305dc55b8a0887b2e97453c4c2dfb6
2018-03-08 00:59:25 +01:00
shindli
c2506585bc Merge mozilla-central to autoland. a=merge CLOSED TREE
--HG--
rename : devtools/client/shared/frame-script-utils.js => devtools/client/shared/test/frame-script-utils.js
rename : devtools/client/framework/test/shared-head.js => devtools/client/shared/test/shared-head.js
rename : devtools/client/framework/test/shared-redux-head.js => devtools/client/shared/test/shared-redux-head.js
2018-03-08 02:26:38 +02:00
shindli
568f98c908 Merge inbound to mozilla-central. a=merge 2018-03-08 02:20:08 +02:00
Sotaro Ikeda
5e1a7f84b4 Bug 1441498 - Protect mCompositorVsyncDispatcher by lock. r=kats
mCompositorVsyncDispatcher is created and destroyed on main thread. But it is
accessed from Compositor thread or VSyncBridge thread. To avoid race condition
between main thread and Compositor thread/VSyncBridge thread,
mCompositorVsyncDispatcher needs to be protected by lock.
2018-03-07 10:53:05 -05:00
Xidorn Quan
492ca3e3e2 Bug 1443397 - Modernize several rect and region related functions in Windows widget to use typed types. r=jimm
Mostly just convert nsInt{Rect,Region} to LayoutDeviceInt{Rect,Region}.

One exception is to change the parameter of nsWindow::OnResize from
nsIntRect to LayoutDeviceIntSize, because it really only needs that.

MozReview-Commit-ID: 963Mzd5Wed6

--HG--
extra : rebase_source : efae039d26feb98a3591a7cd46c30ce4f052d70b
2018-03-06 17:20:41 +11:00
Kartikaya Gupta
45d31fa895 Bug 1442627 - Stop exporting APZCTreeManager.h in mozilla/layers/. r=botond
MozReview-Commit-ID: GC5fSWOYtF5

--HG--
extra : rebase_source : e2dfe679595bf9208e082699a99375cd509b66e3
2018-03-06 10:25:39 -05:00
Rob Wu
7b7f160bef Bug 335545 - Add test to verify that overflowing clipboard data survives r=mstange
I accidentally broke the ability to retrieve a big string from the
clipboard, and there was no test that failed. So this provides a new
test that does the following:

1. Store a big string in a nsTransferable.
2. Copy it to the clipboard.
3. Create a new nsTransferable, initialize with small data.
4. Populate the nsTransferable with (big) data from the clipboard.
5. Populate the nsTransferable with small data.

After each step, the test checks whether the transferable holds the
expected data and length, and (on non-Windows) checks that the big
data is backed by a file, and small data is not.

MozReview-Commit-ID: 9yuXZxVqD6R

--HG--
extra : rebase_source : 6cec638c59e8ce5a18adbb642779c1dcd457cc5b
2018-02-25 19:08:12 +01:00
Rob Wu
877c911eae Bug 335545 - Make DataStruct non-copyable r=mstange
DataStruct cannot safely be copied if its mCacheFD member is set.
Currently there is no code for this case, but to avoid problems later,
mark the copy and assignment constructors private and delete them.

A move-constructor was added to compensate for the deleted copy
constructor. nsTransferable::AddDataFlavor uses this new constructor
instead of the previous implicit default copy constructor.

MozReview-Commit-ID: 3N5xjFXOUKB

--HG--
extra : rebase_source : dc609f20c7048b3630fa99fe2deef3f5be155334
2018-02-25 17:36:08 +01:00
Rob Wu
57cfe68440 Bug 335545 - Count FD instead of looking for clipboardcache in test_bug1123480.xul r=mstange
- Count open file descriptors instead of testing the existence of a file
  (because the clipboard is now only reachable through file descriptors,
  and not through a file path).

- Use a fixed string instead of a random string. The previous way of
  generating a string was non-deterministic, and there was a very small
  chance that the generated string was not large enough to trigger the
  cache-to-disk-mode.

- Use "text/unicode" instead of "text/plain", because JavaScript strings
  use two bytes, not one bytes each.

- The cache file is already created when the Transferable is created, so
  check the cache file after assigning data to the nsITransferable, but
  before copying it to the clipboard.

MozReview-Commit-ID: KOkYOm280Oh

--HG--
extra : rebase_source : 3515ff55a316720b87f2473a1450e5d8304728e8
2018-02-25 17:30:13 +01:00
Rob Wu
ed4e35a109 Bug 335545 - Store clipboard data in memory XOR file r=mstange
Ensure that only DataStruct::mData + mDataLen, XOR
DataStruct::mCacheFD is used.
(Previously it was possible that all of these members were populated,
 which is a waste of memory.)

The effect of this change is visible when SetTransferData is called
multiple times with the same flavor, but with one below the threshold
for storing in-memory, and the other above (=store in a file).

MozReview-Commit-ID: 4UlkKAYsjf

--HG--
extra : rebase_source : 75398f84f039bdf2ff0195342f3db8efbdce6d3d
2017-09-03 03:21:45 +02:00
Rob Wu
1b8a4cf8e6 Bug 335545 - Use nsAnonymousTemporaryFile for clipboard cache r=mstange
The cache file is never directly exposed to consumers of DataStruct,
so it does not make sense to keep the clipboardcache file around
forever.

The only change in this commit is to switch from using a filename to
using a file descriptor. In the destructor, the FD is explicitly closed
(which releases the file data).  nsAnonymousTemporaryFile takes care
of removing the file when the destructor is not called (e.g. crashes).

Previously, the clipboard cache was stored in a file called:
TmpD/clipboardcache-N

As of this commit, the clipboard cache is stored at:
TmpD/mozilla-temp-randomN (macOS and Linux)
TmpD/mozilla-temp-files/mozilla-temp-randomN (Windows)
(see xpcom/io/nsAnonymousTemporaryFile.{h,cpp} for more details)

To verify that these files are really gone:
1. Create a document with 500k+ characters, open it in Firefox.
2. Copy its content - this will trigger the clipboard cache.
3. Look for the open file descriptor of the deleted file:
   ( macOS and Linux: )
   lsof +L1 | grep mozilla-temp
4. Copy anything (under the 500k threshold), or quit/kill Firefox.
5. Repeat step 3 and observe that the number of file descriptors
   has decreased.

MozReview-Commit-ID: 85GlKQrNUl5

--HG--
extra : rebase_source : 6937143639d6a6280ffe8b53b4c2fa4b1e7ef55d
2017-09-03 02:29:10 +02:00
Martin Stransky
ae33d849f9 Bug 1438132 - Don't return false-positive data from clipboard, r=jhorak
MozReview-Commit-ID: 5I9DbpYJ8EL

--HG--
extra : rebase_source : 6b7207cd45b2b6f758f6e882c0829538ca2fe95e
2018-03-01 14:07:15 +01:00
Cosmin Sabou
afd17d1bf7 Merge inbound to mozilla-central. a=merge 2018-03-05 20:12:38 +02:00
sotaro
a765f2b7e0 Bug 1442146 - Fix jiggle during resizing on Windows r=nical 2018-03-05 21:31:02 +09:00
Masayuki Nakano
8ff64d6a33 Bug 1443117 - Restart to dispatch "keypress" event for non-printable keys and key combinations on Nightly and early-Beta until Google fixes related bugs of their web apps r=smaug
We have stopped dispatching "keypress" events for non-printable keys
and key combinations for conforming to UI Events and following the
other browsers.

However, this change hits a serious bugs of Google Docs, Google
Spreadsheets and Gmail.  Until they will fix their bugs, we should
take back the traditional behavior for keeping Nightly usable for
any Nightly testers.

MozReview-Commit-ID: 9CyEbsFit1S

--HG--
extra : rebase_source : 837288b1fb53121badff4e65094a87cebfe3cfee
2018-03-05 21:12:27 +09:00
Brian Grinstead
1dcca6b84e Bug 1442695 - Remove unused GetScrollbarPressStates method;r=spohl
MozReview-Commit-ID: GA9kzatUKfp

--HG--
extra : rebase_source : e9bc6b16de2b9848d765b9150813a0d844016895
2018-03-02 09:42:55 -08:00
Ciure Andrei
234819650e Merge mozilla-central to autoland. a=merge CLOSED TREE 2018-03-02 12:19:09 +02:00
Adrian Wielgosik
d61c7fbed5 Bug 1441270 - Remove unused WebGL parameter getters. r=jgilbert
MozReview-Commit-ID: 7PqaPG2STUs

--HG--
extra : rebase_source : e24d7534964d15c54c1f8706ad01e17a4e31dd8c
2018-02-26 20:35:12 +01:00
Eugen Sawin
3f082b89d9 Bug 1410456 - Allow OMT access to Android system audio properties. r=esawin
MozReview-Commit-ID: 4YkiuzNkNu5

--HG--
extra : rebase_source : 878486dabb87c8913fbb4c3b4002483158c467d4
2018-02-20 15:37:06 +02:00
Martin Stransky
066945c7bc Bug 1434646 - Titlebar rendering - Place titlebar buttons in GtkBox, r=jhorak
Some themes (Ambiance for instance) uses first-child/last-child css selectors
to style titlebar buttons. Ubuntu Ambiance theme places titlebar buttons closer
by negative margin applied to them.

We put titlebar buttons to GtkBox as well as Gtk+ does and also keep
the button order here to match first-child/last-child selectors. It also means
we must have maximize/restore as one button to keep the correct order.

MozReview-Commit-ID: 9mqljOa4Vu7

--HG--
extra : rebase_source : 9c31a2073d1bb247ce9d0240333143661b8ae4b8
2018-02-23 21:28:37 +01:00
Narcis Beleuzu
1d1a8b086b Backed out changeset 9d1f52cabe41 (bug 1440461) for build bustages on nsWindow.cpp 2018-03-01 05:32:33 +02:00
Martin Stransky
b75128438f Bug 1440461 - Disable titlebar rendering for Linux/Firefox 59, r=glandium
The titlebar rendering on Linux/Gtk+ is recently enabled at Beta59 but with many bugs fixed at Nightly.
Let's disable this feature for Beta / Release 59 and ship it at Firefox 60 where majority of the issues are fixed.

MozReview-Commit-ID: FQL7tNhcvUG

--HG--
extra : rebase_source : 03a495ebc81b5ae5b4093406bd40daf83251343a
2018-02-22 21:56:58 +01:00
Masayuki Nakano
01d9c81bcf Bug 1440189 - part 2: Make test_assign_event_data.html aware of strict keypress event dispatching mode r=smaug
This a remaining issue of bug 1435180. We need to skip keypress event check of
non-printable key operation in the test.

MozReview-Commit-ID: InobZCbrzWL

--HG--
extra : rebase_source : 9f17cd04500f4ef31c3674087188ec6ee157173b
2018-02-26 18:30:29 +09:00
Masayuki Nakano
38c9ff1b63 Bug 1440189 - part 1: Stop dispatching keypress event to the default event group in web content (only Nightly and early Beta) r=smaug
UI Events declares that keypress event should be fired only when the keydown
sequence produces some characters.  For conforming to UI Events and
compatibility with the other browsers, we should stop dispatching keypress
events for non-printable keys.

For getting regression reports, we should enable this new behavior only
on Nightly and early Beta.

MozReview-Commit-ID: 5IIL9huejXH

--HG--
extra : rebase_source : 0abdbe84a50d6fd1b4d52521b92e7513483b197c
2018-01-26 00:16:14 +09:00
Dorel Luca
187eb592e5 Backed out changeset 45ae173a1348 (bug 1418749) for widget leaks on Mochitests 2018-03-02 02:50:08 +02:00
Michael Webster
452cd29c88 Bug 1418749 - widget/gtk: Add a TaskbarProgress implementation for gtk3/x11. r=karlt
https://bugzilla.mozilla.org/show_bug.cgi?id=1418749

This adds support for download progress reporting via the XApp
method currently used in the Cinnamon desktop, by establishing a new
X11 window property to be supported/read by the window manager.

See https://github.com/linuxmint/xapps/blob/master/libxapp/xapp-gtk-window.c,
as well as https://github.com/linuxmint/muffin/commit/39045da0ea06f
for more details.

The property-setting code lives in nsWindow - it's a small and stable
enough chunk that it made more sense to do this than actually depend on
another external library.  As nsWindow is already using x11 calls, this
seemed the safest place for it, without affecting the build.

The TaskbarProgress instance is initialized via the DownloadsTaskbar
js module, and is handed a pointer to the current main window to call
SetProgress on.  Most of the javascript side of this is in line with
how the other platforms are handled.

Without a supporting window manager/desktop environment (currently just
Cinnamon/Muffin 3.6,) the simplest way to observe working behavior is
by calling 'xprop -spy' on the browser window being testing and watching
for updates during a download.

--HG--
extra : rebase_source : 92cbe495ce097b080a9f94ec5312169da9a8648d
2018-02-26 16:40:00 +02:00
Emilio Cobos Álvarez
2988d4e66d Bug 1442207: Remove unneeded arguments to nsIMutationObserver. r=smaug
aDocument is always content->OwnerDoc().
aContainer is always content->GetParent().

Differential Revision: https://phabricator.services.mozilla.com/D664

MozReview-Commit-ID: 4xwPCOnhyIL
2018-03-01 22:45:17 +01:00
Geoff Brown
9af214a4a5 Bug 1441869 - Specify DIGCF_DEVICEINTERFACE when calling SetupDiGetClassDevsW; r=milan 2018-02-28 11:49:09 -07:00
Florian Quèze
6df7549a3e Bug 1433175 - semi-automated indent fix, r=Mossop. 2018-02-28 18:51:34 +01:00
Florian Quèze
c714053d73 Bug 1433175 - scripted patch to replace Components.classes[, Components.interfaces.nsI, Components.utils. and Components.results. with Cc, Ci, Cu and Cr, r=Mossop. 2018-02-28 18:51:33 +01:00
Sebastian Hengst
769222fadf merge mozilla-inbound to mozilla-central. a=merge
--HG--
rename : browser/base/content/tabbrowser.xml => browser/base/content/tabbrowser.js
2018-02-28 12:54:12 +02:00
Bob Owen
76be893aa3 Bug 1396984: When not generally processing native events, do single message pumps instead. r=jimm
We still get occasional messages for the internal OLE Main Thread window.
Also, the PeekMessage call allows internal windows messages to be processed for
things like GDI.
2018-02-14 19:18:47 +00:00
Martin Stransky
6e94e535b0 Bug 1433092 - Add spacing around titlebar buttons, r=jhorak
GtkHeaderBar has property "spacing" which defines space between buttons at titlebar.
Get this property and apply as margin to titlebar buttons when there's more than one.
Also cache this value for furter use at titlebar metrics cache.

MozReview-Commit-ID: J7qAIWEnK4Y

--HG--
extra : rebase_source : 73f0f605444cf4e4ada3da335ff003e9df05c9c4
2018-02-23 10:37:07 +01:00
Jan Horak
2fec7aac11 Bug 1440413 - Use original mouse event position when checking for doubleclick on titlebar; r=stransky
The DispatchEvent can manipulate with the mRefPoint we're later using to check if the
double click happened on the titlebar. We need to save it for later check to avoid
unwanted restore/maximize event when mouse event occurs near top border of any widget.

Also don't handle doubleclick on titlebar when CSD is not enabled.

MozReview-Commit-ID: KjxM1EsT4Lg

--HG--
extra : rebase_source : b880e4d89ebe3546b7ef70e3d94926a628f98598
2018-02-26 16:23:34 +01:00
Emilio Cobos Álvarez
9f26540cc4 Bug 1441547: Make character data change notifications use a const reference for the info parameter. r=smaug
It's not intended to be mutated.

MozReview-Commit-ID: 5nkD1YkidlV

--HG--
extra : rebase_source : 810d429208fa3eaf30e220e77a7d27107cb77346
2018-02-27 15:30:27 +01:00
Tiberius Oros
ba173eb9ee Merge inbound to mozilla-central. a=merge 2018-02-27 00:19:49 +02:00
Narcis Beleuzu
5968b0947f Backed out 10 changesets (bug 1410456) for Android mochitest crashes, e.g. in test_postMessages.html. CLOSED TREE
Backed out changeset 7ec175446efd (bug 1410456)
Backed out changeset 94457911bb24 (bug 1410456)
Backed out changeset 5248a21216ae (bug 1410456)
Backed out changeset f182ab7885db (bug 1410456)
Backed out changeset e482347bdae3 (bug 1410456)
Backed out changeset f7b646045e06 (bug 1410456)
Backed out changeset 6a8ed4bf5d2f (bug 1410456)
Backed out changeset 1a9c687ec277 (bug 1410456)
Backed out changeset 82f6667c6758 (bug 1410456)
Backed out changeset 7bf358e3e01b (bug 1410456)
2018-02-26 15:58:20 +02:00
Eugen Sawin
1561bd419e Bug 1410456 - Allow OMT access to Android system audio properties. r=esawin
MozReview-Commit-ID: 4YkiuzNkNu5

--HG--
extra : rebase_source : 878486dabb87c8913fbb4c3b4002483158c467d4
2018-02-20 15:37:06 +02:00
Jan Horak
b69949883c Bug 1441108 - Don't print warning for less than 1 scaling factor; r=stransky
A lot of "WARNING: Invalid monitor scale: -1" appering for the puppet widget since
fix for bug 1439881 landed. We don't need to print the warning, fallback to 1 is
sufficient enough.

MozReview-Commit-ID: 73BGc8neUmu

--HG--
extra : rebase_source : 74b2a818a29514095b5c56b05966cff5e4e9ba60
2018-02-26 11:44:25 +01:00
Mike Conley
a7df06446a Bug 1434376 - Introduce ChromeOnly window.promiseDocumentFlushed to detect when refresh driver ticks have completed. r=bz
This is particularly useful for knowing when it's safe to query for style and
layout information for a window without causing a synchronous style or layout
flush.

Note that promiseDocumentFlushed was chosen over promiseDidRefresh or promiseRefreshed
to avoid potential confusion with the actual network-level refresh of browsers or
documents.

MozReview-Commit-ID: Am3G9yvSgdN

--HG--
extra : rebase_source : 20bdd2d6f624767d919d95a6601fc1c890aadf10
2018-02-11 20:14:49 -05:00
Andreea Pavel
1aac7df383 Backed out 3 changesets (bug 1434376)for failing browser chrome at browser/base/content/test/performance/browser_urlbar_search_reflows.js on a CLOSED TREE
Backed out changeset b636251b75ab (bug 1434376)
Backed out changeset fccbba9cb959 (bug 1434376)
Backed out changeset b5128504011c (bug 1434376)
2018-02-25 12:44:28 +02:00
Emilio Cobos Álvarez
3eb90874c6 Bug 1432490: followup: Fix mac-only bustage on a CLOSED TREE. r=me
MozReview-Commit-ID: TNquyPQhkL
2018-02-25 02:44:18 +01:00
Mike Conley
24b3c1ade3 Bug 1434376 - Introduce ChromeOnly window.promiseDocumentFlushed to detect when refresh driver ticks have completed. r=bz
This is particularly useful for knowing when it's safe to query for style and
layout information for a window without causing a synchronous style or layout
flush.

Note that promiseDocumentFlushed was chosen over promiseDidRefresh or promiseRefreshed
to avoid potential confusion with the actual network-level refresh of browsers or
documents.

MozReview-Commit-ID: Am3G9yvSgdN

--HG--
extra : rebase_source : 20bdd2d6f624767d919d95a6601fc1c890aadf10
2018-02-11 20:14:49 -05:00
Chris Peterson
203d98bd72 Bug 1330529 - Part 1: Fix PDFium gtest by using absolute path to PDFium DLL. r=jimm
This gtest assumed the current working directory ($OBJDIR/_tests/gtest/) was in the DLL LoadLibrary path. That is no longer true with this bug's patches, so the gtest must specify the absolute path to the PDFium DLL to load it.

MozReview-Commit-ID: 5TXj6A9Tb9w

--HG--
extra : rebase_source : b097ae0c3430767e9ff16632ee96fd8739a902bf
extra : histedit_source : 1f13fa04c29039f8aeae05028d0a20ede5ee794b
2018-02-11 11:58:21 -08:00
Masatoshi Kimura
72e338db1d Bug 1330529 - Followup to fix incorrect file path handling in PDFiumEngineShim. r=cpeterson
--HG--
extra : source : c34487974ac5c649094428ded0f4f982ba78b3d9
2018-02-24 17:22:27 +09:00
Markus Stange
e4fe809278 Bug 1170312 - Don't let the desktop background influence the vibrancy effect's backdrop for context menus. r=spohl
MozReview-Commit-ID: FKLVouZg8ac

--HG--
extra : rebase_source : 6b338186c4a3c6adf02d4311d8b172d0fb31f646
2018-02-22 23:35:33 -05:00
Jan Horak
6958445862 Bug 1439881 - Avoid returning monitor scale 0; r=stransky
Because of rounding errors there's a change that returned monitor scale
is 0. That would lead to SIGFPE because it's later used in division.

MozReview-Commit-ID: 4d7nHaBm4XG

--HG--
extra : rebase_source : d7fb5c64698d1e99afc223d401b30e0eb168fdb4
2018-02-22 13:59:38 +01:00
James Teh
0c2a975587 Bug 1382199: On Windows, prevent the System menu bar from triggering when F10 is released. r=jimm
Windows default behavior will trigger the System menu bar when F10 is released.
Among other things, this causes the System menu bar to appear when a web page overrides the contextmenu event.
We *never* want this default behavior, so eat this key (never pass it to Windows).

MozReview-Commit-ID: 4fWOuj4mWvW

--HG--
extra : rebase_source : 45d38ba19b2f23aca74a60819c7d93af2ffa167d
2018-02-16 12:08:58 +10:00
James Teh
cf9f78f407 Bug 1440527: Remove unused sNtTestAlert from widget/windows/WinUtils.cpp. r=jimm
MozReview-Commit-ID: 3v71m0UdF3U

--HG--
extra : rebase_source : 170674b4f8285b12b687644788d9d9104e84e423
2018-02-23 10:53:18 +10:00
Masayuki Nakano
60854caf9b Bug 1440215 - TSFTextStore::FlushPendingActions() doesn't dispatch eSetSelection event r=m_kato
Although we haven't any bug reports caused by this, this is a really old bug.

When we implement TSFTextStore, we decided to use queue of dispatching
events and flush it when document lock is unlocked.  When we implement the
queue, we got this regression.

When TSFTextStore::SetText() is called with different range from current
selection range, TSFTextStore::SetSelectionInternal() add
PendingAction::SET_SELECTION into the queue first for replacing existing
text or inserting text into different position if there is no composition.
Then, TSFTextStore::InsertTextAtSelectionInternal() inserts text at the new
selection range.

When TSFTextStore::FlushPendingActions() is called after that, eSetSelection
should be dispatched and then, new text is inserted wit a set of composition
events.  However, we forgot to dispatch creating eSetSelection event.

So, this patch just dispatches the event.

MozReview-Commit-ID: Hw8FTB1R5kR

--HG--
extra : rebase_source : 8a119f1f48b167d9423fc89ce0efc722313c3732
2018-02-22 15:30:58 +09:00