In many places we were using bounds to calculate an objects dimensions but that obviously doesn't work when an object is rotated e.g.
{F588303}
Also, we were using `getBoxQuads()`, which gives the co-ordinates of the translated object. We were then applying the transform matrix to the canvas even though the coordinates came from the object **after** it was already transformed.
Anyhow, now we get the dimensions of objects as if they are not transformed and then apply the transformation matrix, which gives a great result every time.
Differential Revision: https://phabricator.services.mozilla.com/D9805
--HG--
extra : moz-landing-system : lando
When Selection is NOT collapsed, we remove selected content. Therefore,
web apps don't need to know range information of user operation. However, web
apps may want to know direction of the operation (backward or forward). E.g.,
web apps may just mark selected range as "deleted" and move caret before or
after the range.
Therefore, when computed EditAction is eDeleteWordBackward or
eDeleteToBeginningOfSoftLine, we should use eDeleteBackward instead. When it
is eDeleteWordForward or eDeleteToEndOfSoftLine, we should use eDeleteForward
instead.
Note that only on Windows, we follow behavior of richtext control (and Word).
That is, Ctrl + Backspace/Delete collapse from start of selected range to
start/end of current word. I.e., collapsing Selection to start first and
removing to start or end of current word is Windows's standard behavior.
Currently, we do this in DeleteSelectionAsSubAction() but every caller
specifies eNone to aDirection except DeleteSelectionAsAction(). So, we can
move this before re-computing EditAction in DeleteSelectionAsAction().
Differential Revision: https://phabricator.services.mozilla.com/D10992
--HG--
extra : moz-landing-system : lando
So that we don't generate anymore unnecessary change hints in
RestyleManager::AddLayerChangesForAnimation for the layer has no corresponding
animations.
Depends on D11105
Differential Revision: https://phabricator.services.mozilla.com/D11106
--HG--
extra : moz-landing-system : lando
This makes it easier to read these flags from JIT code. The patch also splits
them in MutableFlags and ImmutableFlags, this should let us simplify XDR and
CopyScript in the future.
Differential Revision: https://phabricator.services.mozilla.com/D10735
--HG--
extra : moz-landing-system : lando
Also uses JS_DefinePropertyById instead of JS_SetPropertyById because it's more natural.
Differential Revision: https://phabricator.services.mozilla.com/D11094
--HG--
extra : moz-landing-system : lando
This patch re-enables the new behavior of bug 1479964, to set keyCode or
charCode of keypress event whose value is zero to the other's non-zero value.
However, some web apps are still broken with the new behavior. Therefore,
this patch adds a blacklist to keep using our legacy behavior in some specific
web apps.
Note that Google Docs, Gmail and Remember The Milk are reported as broken.
However, I don't see any broken shortcut with Gmail. Therefore, this patch
adds only Google Docs and Remeber The Milk into the blacklist.
Differential Revision: https://phabricator.services.mozilla.com/D10322
--HG--
extra : moz-landing-system : lando
At first, I wanted it is better to call DebuggerServer.destroy() when
`devtools.debugger.remote-enabled` will set to false. Likewise, call
DebuggerServer.init() in case of true. But, because DebuggerServer.init() is
called by various context such as RemoteDebugger, restoring is difficult after
destroying. In this patch, simply, we make avoiding to call
DebuggerServer.closeAllListener() from inside of ServerSocketConnection.
Depends on D10864
Differential Revision: https://phabricator.services.mozilla.com/D10865
--HG--
extra : moz-landing-system : lando
Yet another approach. In the previous D9889 approach, both DebuggerSerever and
SocketServerListener retain the connections duplicately, it will be possible to
be difficult for the management. In this approach, only DebuggerSerever retains
the connections, then when ServerSocketListener was removed, removes the
connections as well that were linked the ServerSocketListener.
Differential Revision: https://phabricator.services.mozilla.com/D10864
--HG--
extra : moz-landing-system : lando
This gets rid of an unnecessary allocation.
Differential Revision: https://phabricator.services.mozilla.com/D11066
--HG--
extra : rebase_source : 138c808d78e666e55242bf142269d77fb065d7a6
extra : histedit_source : de8f5f4566cb886e155bce1a22e36f40af7b26f7
All remaining code paths hardcode true here, we can remove this argument.
It wasn't clear to me how this could ever be null before this series. The
only case I could find is that DoFakeShow might be called with a null
RenderFrameChild, but that code is gone now.
Differential Revision: https://phabricator.services.mozilla.com/D11063
--HG--
extra : rebase_source : 872d78ae1b46b0651bc4e109786f4d0d332859c2
extra : histedit_source : 40719e865f2243f90618deba5261124a260ba974
This commit removes all destruction code for RenderFrameParent to be handled by
TabParent. It's important that we remove the layer mapping in ActorDestroy to
prevent a race condition where the TabChild isn't fully destroyed yet and
sends a LayerTransaction constructor to the compositor and hits an
assertion.
Differential Revision: https://phabricator.services.mozilla.com/D11062
--HG--
extra : rebase_source : 61df2cfa3867617c39805883c06649624fffa518
extra : histedit_source : a810303ec335b4ab064dbd56b4652ea4c66deaad
SetRenderFrame() can be implemented in terms of InitRenderFrame(). I'm not sure if
the call to MaybeShow() is necessary, but to be conservative I've moved it into
the window.open path which might need it. BrowserElementParent shouldn't need it
because nsFrameLoader::SetRemoteFrame will call Show().
Differential Revision: https://phabricator.services.mozilla.com/D11061
--HG--
extra : rebase_source : 7d5defc113d107bf77296f1a0a4f7e7dad910db6
extra : histedit_source : 397121af3a86ed3820f055292a8622d3e0bea2b5
We should just have the parent handle initialization here. This lets us
cut down on the information we have to pipe around and simplifies our
amount of code paths.
Differential Revision: https://phabricator.services.mozilla.com/D11060
--HG--
extra : rebase_source : d6c52cb81c7deceb34ad6813d2a55f779d3a1a7d
extra : histedit_source : 4e5a24206e4b8142f2ee788a18c2e186969acfd7
This commit removes the PRenderFrame protocol, while keeping the same ordering
and semantics of graphics IPC initialization.
To do this, some messages are added to PBrowser to simulate the constructor
and destructor of PRenderFrame. Messages that expected a nullable PRenderFrame
are updated to get a boolean instead.
One tricky area is the destruction of PRenderFrame. I've tried to keep it the
same as much as possible, but it's possible it might be slightly semantically
different than IPDL destruction. Destruction will be touched up in a later
patch, so I'm not too concerned.
Differential Revision: https://phabricator.services.mozilla.com/D11057
--HG--
extra : rebase_source : bb8a7896bb4aefb6e9957d8808b755fa76cc00ed
extra : histedit_source : 6377819a946b5b6bc18b15f748229360e42a6f3a
This field is in addition to the existing process type fields we already have:
- profile.threads[i].processType contains the string for the GeckoProcessType.
- profile.threads[i].name contains the ThreadInfo name.
Differential Revision: https://phabricator.services.mozilla.com/D10549
--HG--
extra : moz-landing-system : lando
No one uses nsISpellChecker, so let's get rid of nsISpellChecker.
Depends on D10993
Differential Revision: https://phabricator.services.mozilla.com/D10994
--HG--
extra : moz-landing-system : lando
When creating an instance of nsISpellChecker, we always use
mozSpellChecker::Create. So we should use mozSpellChecker directly instead of
nsISpellChecker.
Differential Revision: https://phabricator.services.mozilla.com/D10993
--HG--
extra : moz-landing-system : lando
I suspect that the root cause of bug 1502182 is that we try to create multiple
readwrite stores on a given database at the same time, and that we don't wait
for databases to fully close before reopening them. I don't think any of the
benefits of closing IndexedDB databases apply to Normandy, and I don't think it
is a significant cost to simply keep them open.
Differential Revision: https://phabricator.services.mozilla.com/D10629
--HG--
extra : moz-landing-system : lando