Commit Graph

570400 Commits

Author SHA1 Message Date
Valentin Gosu
d935b3968a Bug 1415205 - Add nsIURIMutator interface and nsIURI.mutate() r=bagder
MozReview-Commit-ID: 8TYtcLUGRPc

--HG--
extra : rebase_source : 7deeb367424056f3e86bf42e77326bf1414a809a
2017-11-20 16:10:03 +01:00
Cameron McCormack
1dbd7f57c6 Bug 1418245 - Move @-moz-document matching function out of css::DocumentRule. r=TYLin
MozReview-Commit-ID: 81dCiFosF0V

--HG--
extra : rebase_source : 9852380c896530538e2b5b1415513cedb4b2e5e1
2017-11-17 17:31:22 +08:00
Daosheng Mu
204ca9c9df Bug 1415762 - Cancel VRListener task when CompositorVsyncScheduler is going to destroy; r=dvander
MozReview-Commit-ID: CB5JrDGZTu1

--HG--
extra : rebase_source : 4a6f65f4aaf2c11f2dad1a471f0cb219470f1dbe
2017-11-13 11:33:33 +08:00
Alexandre Poirot
3d64658419 Bug 1399242 - Prevent console react updates while console isn't visible. r=nchevobbe
MozReview-Commit-ID: A6NGLbiuyTE

--HG--
extra : rebase_source : 9f58d6e2ed6be3fb31de276e536158efa4cdd5ce
2017-10-09 20:14:34 +02:00
Alexandre Poirot
fb08f4c098 Bug 1399242 - Ensure firing visibilitychange event and set document.visibiltyState attribute when hidding devtools panels. r=gregtatum
MozReview-Commit-ID: Gh6jp4KEZkX

--HG--
extra : rebase_source : 2125a8ceb5e235b1db525cfec9bc3268e1edce54
2017-10-09 20:16:01 +02:00
Alexandre Poirot
e89a6b8d04 Bug 1399242 - Add DAMP test to track performance of background panels. r=nchevobbe
MozReview-Commit-ID: JwZaa3AA0iN

--HG--
extra : rebase_source : 91a2fc3003bc191a4408c5671f49094a7b2ec504
2017-10-24 02:38:21 -07:00
Alexandre Poirot
e8f24cc6ab Bug 1411889 - Record netmonitor reload time. r=Honza
MozReview-Commit-ID: EwXuODxvm8B

--HG--
extra : rebase_source : 5e9d82f268f1c0f7423e6839d051766c3adb6702
2017-11-16 01:37:46 -08:00
Michael Wilson
4e69e9cedb servo: Merge #19195 - style: :dir() pseudo class now represented by enum (from wilsoniya:issue-16840); r=emilio
`:dir()` pseudo class param now represented as enum variants.

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #16840
- [X] There are tests for these changes

Source-Repo: https://github.com/servo/servo
Source-Revision: 006202732f0bd8d2239bdd51898380bdbe0f0f1a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e9778d171eef1db2ebbf52b99d3255d50b2a60ec
2017-11-21 02:56:49 -06:00
Ting-Yu Lin
c75cfab816 servo: Merge #19312 - style: Use ComputedUrl instead of SpecifiedUrl in conversion.rs (from aethanyc:use-computedurl); r=heycam
In stylo, ComputedUrl and SpecifiedUrl happen to be the same. However, using
ComputedUrl can make code clearer that conversion.rs is for converting
computed values between gecko and servo types.

Source-Repo: https://github.com/servo/servo
Source-Revision: b74e71fdd1b20b66e59f4ccefb0706f89c789d0a

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : a38a7082be57b9435da370e6d84bd7499c35ad5c
2017-11-21 01:39:44 -06:00
Alexandre Poirot
08419a75f3 Bug 1372115 - Prevent exception in network monitor when JS file is loaded throught the bytecode cache. r=Honza
MozReview-Commit-ID: 5w6Bj9213ba

--HG--
extra : rebase_source : 13b4ff6ca93066c9e029e1c326353962407a12ec
2017-11-15 06:12:09 -08:00
Masayuki Nakano
c06378ebc9 Bug 1413181 - part 13: HTMLEditRules::MaybeSplitAncestorsForInsert() should be able to return a DOM point in text node r=m_kato
HTMLEditRules::MaybeSplitAncestorsForInsert() may be called with a point in a
text and it needs to return given split point as is.  Additionally, the given
point may be in a text node.  So, it may not be represented with an
nsCOMPtr<nsIContent>.

Therefore, we need to add new member, EditorDOMPoint, to SplitNodeResult and
when MaybeSplitAncestorsForInsert() needs to return the given point as is,
it should use it.

Note that if the methods which return SplitNodeResult split some nodes actually,
the left node and/or the right node may be removed from the DOM tree.  In this
case, EditorDOMPoint cannot store such orphan node.  Therefore, we cannot
make mNextNode nor mPreviousNode EditorDOMPoint.

MozReview-Commit-ID: LwH8RZzkrmT

--HG--
extra : rebase_source : a5ae2328bef3d887c0bf4e1b9c4a4247b93a4ac0
2017-11-19 11:05:26 +09:00
Masayuki Nakano
7537ae3755 Bug 1413181 - part 12: Redesign and rename HTMLEditRules::SplitAsNeeded() r=m_kato
Now, we can make HTMLEditRules::SplitAsNeeded() use |SplitNodeResult| as its
result and |const EditorRawDOMPoint&| as specifying start of the deepest right
node.  Then, the implementation becomes simpler.

And I think that we should rename it to MaybeSplitAncestorsForInsert().

Additionally, this patch makes it stop calling
EditorBase::IsDescendantOfEditorRoot() and HTMLEditor::GetActiveEditingHost()
because they are really expensive.  Instead, it should check if the given start
point of the deepest right node is in active editing host before the loop and
if the loop reaches editing host.

MozReview-Commit-ID: KKpj5uyT2J

--HG--
extra : rebase_source : 0c9e9e9e28505b0fb5752e1cd4d42f64d22af3e7
2017-11-17 16:03:11 +09:00
Masayuki Nakano
02038d75da Bug 1413181 - part 11: Create AutoEditorDOMPointOffsetInvalidator stack class for automatically invalidate offset of EditorDOMPoint r=m_kato
In the following patch, we need to invalidate offset a lot of places after
splitting nodes.  Therefore, there should be a helper stack class before that.

MozReview-Commit-ID: BgijAU7OizU

--HG--
extra : rebase_source : 520f29dacdffe5f7137ba7f11b289241b5fbface
2017-11-17 17:00:56 +09:00
Masayuki Nakano
419273aff1 Bug 1413181 - part 10: Redesign EditorBase::SplitNodeDeep() r=m_kato
First of all, this patches fixes a bug of EditorBase::CreateNode().  It takes
|EditorRawDOMPoint&| but it should be |const EditorRawDOMPoint&| for making
callers can specify temporary instances.

Next, this patch creates |SplitNodeResult| stack class for result of
EditorBase::SplitNodeDeep().  SplitNodeDeep() needs to return previous node
and next node of split point.  They are called as left node and right node,
but these calls are really different term usage.  Therefore, this patch names:

aOutLeftNode -> SplitNodeResult::GetPreviousNode()
aOutRightNode -> SplitNodeResult::GetNextNode()

and also declares SplitNodeResult::GetLeftNode() and
SplitNodeResult::GetRightNode() which are same meaning as left/right node of
other splitting methods.

Additionally, of course, this patch makes SplitNodeDeep() use
|const EditorRawDOMPoint&| to receive the start point of right node.

MozReview-Commit-ID: FnJpeKgtzm4

--HG--
extra : rebase_source : 3829e5528ef837b13fed305e0df1dbbf00e02a07
2017-11-16 12:09:57 +09:00
Masayuki Nakano
f9e1aa29a0 Bug 1413181 - part 9: Make EditorBase::SplitNodeDeep() use EditorDOMPoint in the loop r=m_kato
Make the loop in EditorBase::SplitNodeDeep() use EditorDOMPoint for making the
code simpler.

MozReview-Commit-ID: 3do3rWV4eIh

--HG--
extra : rebase_source : 480a5b5b133d8a735bda6ddec07e4edf9ef34035
2017-11-13 16:44:58 +09:00
Masayuki Nakano
ebd9a98d13 Bug 1413181 - part 8: Merge two if blocks in the loop of EditorBase::SplitNodeDeep() r=m_kato
Now, we can merge two if blocks in the loop of EditorBase::SplitNodeDeep() and
get rid of |didSplit| variable.

MozReview-Commit-ID: LJZHF6x2GLR

--HG--
extra : rebase_source : 5f58508f6fc0928236252670c85383a13200fc2c
2017-11-13 15:51:56 +09:00
Masayuki Nakano
d8cfeab3e4 Bug 1413181 - part 7: EditorBase::SplitNodeDeep() should stop splitting orphan node if it meets an orphan node before meeting the most ancestor node to be split r=m_kato
This doesn't change any meaning of the loop.

It is a bug if the loop meets orphan node before meeting the most ancestor
node to be split which is given as aNode.  So, we can check it before trying
to split it.

MozReview-Commit-ID: 1TD7WHCoZh1

--HG--
extra : rebase_source : 17b8d7b3db458e29fb52be5cedb900560e1b70a4
2017-11-13 15:38:23 +09:00
Masayuki Nakano
bf54c638b2 Bug 1413181 - part 6: Rename mozilla::EditorBase::EmptyContainers enum class to mozilla::SplitAtEdges for making its values clearer r=m_kato
EmptyContainers::yes and EmptyContainers::no are not so clear name what they
mean.

They means whether NodeSplitDeep() creates or won't create empty nodes when
split point is at start edge or end edge of an element.

This patch renames them to SplitAtEdges::eDoNotCreateEmptyContainer and
SplitAtEdges::eAllowToCreateEmptyContainer and make
HTMLEditor::InsertNodeAtPoint() use it instead of an bool argument.

Additionally, the argument of NodeSplitDeep() is now not optional because
this difference is really important when you read around the callers.

MozReview-Commit-ID: 9hpMRkVDvCg

--HG--
extra : rebase_source : ee892361d66c9c9c5ed45ee9d3321474257ac417
2017-11-13 14:35:16 +09:00
Masayuki Nakano
d94b3f0152 Bug 1413181 - part 5: HTMLEditRules::SplitParagraph() should take EditorRawDOMPoint instead of a set of container node and offset r=m_kato
Although, we need to make WSRunObject::PrepareToSplitAcrossBlocks() in
another bug, we should do it now for making HTMLEditRules::ReturnInParagraph()
implementation simpler.

MozReview-Commit-ID: AoMYqAEgCaV

--HG--
extra : rebase_source : cdfb16379f4ecab2a2694aeb283edd111fc81e95
2017-11-16 13:26:58 +09:00
Masayuki Nakano
11db05dbea Bug 1413181 - part 4: Redesign nsIEditActionListener::DidSplitNode() r=m_kato
nsIEditActionListner::DidSplitNode() takes 4 arguments, the right node,
old offset in the old right node before splitting, the new left node and
nsresult.

Computing offset for this doesn't make sense because it's always same as
the length of the left node.  Additionally, nobody currently use nsersult.
So, we can get rid of it now.

Fortunately, nobody including comm-central and BlueGriffon implements
WillSplitNode().  So, we can get rid of it.  However, removing interface
method should be done in a follow up bug.  So, we can remove offset computation
in EditorBase::SplitNode() completely in the future.

MozReview-Commit-ID: JWj34SjBNJh

--HG--
extra : rebase_source : f0e1ed0e466dc8217c1a0ab1722790883a7efd1f
2017-11-13 23:52:16 +09:00
Masayuki Nakano
070ede0cf4 Bug 1413181 - part 3: EditorBase::CreateTxnForSplitNode() and EditorBase::SplitNode() should take EditorRawDOMPoint to specify the start of right node r=m_kato
EditorBase::CreateTxnForSplitNode() and EditorBase::SplitNode() takes a set of
container and offset in it for specifying a point to split.

Instead, they should take EditorRawDOMPoint for specifying start of right node.

MozReview-Commit-ID: 5VwS8oudzIT

--HG--
extra : rebase_source : 727948e5cf95f0713019f57ae9a007b85569fa56
2017-11-12 11:30:30 +09:00
Masayuki Nakano
9f55e71184 Bug 1413181 - part 2: SplitNodeTransaction should store start of existing right node with RangeBoundary r=m_kato
Make SplitNodeTransaction stores start of existing right node (which will be
split) instead of split point as a pair of the right node and offset in it.

MozReview-Commit-ID: 2DIpJGSuNaC

--HG--
extra : rebase_source : 13949bdddc30c59462e7fea7fadf29f015ab8d3a
2017-11-12 09:27:19 +09:00
Masayuki Nakano
1e31c0d7b6 Bug 1413181 - part 1: Redesign EditorBase::SplitNodeImpl() with EditorDOMPoint r=m_kato
EditorBaseSplitNodeImpl() should be clean up with EditorDOMPoint which should
be an argument to point the first point of right node (existing split node).

MozReview-Commit-ID: DN0yHm9G9yT

--HG--
extra : rebase_source : 256b4e2125e831b7be9e5c4aefc6f04c80e3c1f5
2017-11-12 08:38:56 +09:00
Timothy Guan-tin Chien
a2128b4cba Bug 1419277 - Follow-up, remove old & duplicate fonts from macOS default r=m_kato
Given that we only support macOS >= 10.9 nowadays, we don't need
to consider fallbacks on old systems anymore.

Removing LiHei Pro & LiSong Pro because they are old.
Removing STSong & STHeiti because they are simply old font names aliased to new Songti/Heiti SC.

MozReview-Commit-ID: BNYBjXCpQOr

--HG--
extra : rebase_source : 4c19607d183ac4033c8bdc05bd05b92c906a5e9d
2017-11-21 13:43:36 +08:00
Timothy Guan-tin Chien
f093ba24c0 Bug 1419277 - Set Songti TC/SC as default zh-{CN/HK/TW} font in release r=m_kato
MozReview-Commit-ID: 4TUNSFK0Fu9

--HG--
extra : rebase_source : c615125ba0e773c46f584c7a9c07e7344b33a46b
2017-11-21 13:39:00 +08:00
Emilio Cobos Álvarez
4061ff0e69 Bug 1417781: Consider style structs as not equal if visited styles on them are changed. r=heycam
This change should be also fine for the Gecko callers, but please double-check.

MozReview-Commit-ID: 5ZntHeBt5wC

--HG--
extra : rebase_source : d623693f690e933ccc67881795b3e4f5289e9fa4
2017-11-21 00:53:51 +01:00
Patrick Brosset
827ce5b328 Bug 1405288 - Remove pickColorFromPage actor method check from then inspector r=ochameau
This method was added in bug 1262439 last year, and shipped with FF50.
We support all the way back to the latest ESR (52 now).
So let's remove the backward compat code for this method.

MozReview-Commit-ID: LUL7FFWWC5M

--HG--
extra : rebase_source : 27969faff9e8827e23ff570addfde5c06fb57c97
2017-10-19 11:20:57 +02:00
Patrick Brosset
b66f6388b1 Bug 1405288 - Remove scrollIntoView actor method check from the inspector r=ochameau
The scrollIntoView actor method was added in bug 901250 3 years ago and
shipped with FF 40.
We support all the way back to the latest ESR (52 now).
So let's drop this backward compat check code.

MozReview-Commit-ID: 5FKRpiOXfzd

--HG--
extra : rebase_source : 4c3b0850750081a87b77bc1b85d7a2e852f58c82
2017-10-19 11:12:23 +02:00
Patrick Brosset
896c0325ae Bug 1405288 - Remove duplicateNode actor method check from the inspector r=ochameau
This method was added in bug 1208864 2 years ago and shipped with Firefox 44.
We support all the way to the latest ESR, which now is 52.
So let's remove this backward compat code.

MozReview-Commit-ID: AdTU63Oehi4

--HG--
extra : rebase_source : 481f768101212db1f363c9b5204f7654aaea5208
2017-10-19 11:05:10 +02:00
Patrick Brosset
040582886a Bug 1405288 - Remove resolveRelativeURL actor method check from the inspector r=ochameau
The resolveRelativeURL actor method was added in bug 921102 which shipped
with Firefox 40.
This was 3 years ago, and well older than the latest current ESR (52), which
is the latest version we support.

MozReview-Commit-ID: 5X5czLP5v2E

--HG--
extra : rebase_source : 7c1ee2c2a78151eb94ef1f1bacff6396d3ceb24e
2017-10-19 10:57:30 +02:00
Tiberius Oros
f2f6232ff6 Merge mozilla-central to mozilla-autoland r=merge a=merge on a CLOSED TREE 2017-11-21 12:16:13 +02:00
Tiberius Oros
797c93d81f Merge inbound to mozilla-central r=merge a=merge 2017-11-21 11:55:23 +02:00
Tiberius Oros
6b0d30658a Backed out changeset edf2b70d2f01 (bug 1408182)for failing in devtools/client/netmonitor/test/browser_net_copy_params.js r=backout on a CLOSED TREE 2017-11-21 11:46:50 +02:00
Cameron McCormack
c4a2859c9e Bug 1418899 - Followup speculative Windows build fix. (CLOSED TREE) 2017-11-21 17:11:40 +08:00
Munro Mengjue Chiang
7afd6261d5 Bug 1418871 - release RWLock before return if CreateCapabilityMap failed. r=jib
MozReview-Commit-ID: 7wPGf4Dxjq5

--HG--
extra : rebase_source : 1bb561a454f4a26d0d8f40aa1efef7aaab1fe572
2017-11-20 15:04:42 +08:00
Nicholas Nethercote
633725db69 Bug 1418467 - Privatize PrefHashEntry::m{Default,User}Value. r=glandium
MozReview-Commit-ID: 9Fzaf4ifF0N

--HG--
extra : rebase_source : 739933d801bfa7dc4580f5d1bd3c81e5d3f07c2e
2017-11-18 07:40:01 +11:00
Nicholas Nethercote
00d85378fb Bug 1418467 - Add PrefHashEntry::SetValue(). r=glandium
It's a horrible method, but the horribleness was pre-existing. I hope to make
it nicer in a follow-up bug.

MozReview-Commit-ID: 3tMTEeBNVax

--HG--
extra : rebase_source : b21d80ed6468b7c22689df64c1ae1bdda49a2a06
2017-11-18 07:38:24 +11:00
Nicholas Nethercote
48a1e0788f Bug 1418467 - Partly move value getting into PrefHashEntry. r=glandium
MozReview-Commit-ID: 4ouh3XFxPZr

--HG--
extra : rebase_source : d71c1db9a979bbd9fc8b1e0ed385e04b7cdb27cb
2017-11-18 07:28:29 +11:00
Nicholas Nethercote
ce0ad5b0c0 Bug 1418467 - Add PrefHashEntry::UserValueToStringForSaving(). r=glandium
This moves part of pref_savePrefs() into PrefHashEntry.

This requires moving StrEscape() higher up to avoid a forward declaration.

Note that clang-format insists on indenting an unrelated comment, I don't know
why.

MozReview-Commit-ID: 7gww3r7t9y4

--HG--
extra : rebase_source : 63f19bb2c556cc806cc6ce43e70ac6c95e6d67bc
2017-11-18 07:27:06 +11:00
Nicholas Nethercote
236478c605 Bug 1418467 - Move pref_ValueChanged() into PrefValue. r=glandium
And invert its sense, renaming as Equals(), because that is easier to think
about.

The patch also reorders some conditions so that
HasDefaultValue()/HasUserValue() is tested before Equals(). This isn't strictly
necessary, but it reads better.

MozReview-Commit-ID: JeGrevDwqKz

--HG--
extra : rebase_source : 575758e11d7e66226fe196f92f2dd355b1444d1d
2017-11-18 07:19:42 +11:00
JW Wang
c5401dfc03 Bug 1418213 - always run MediaCacheStream::NotifyDataReceived() off the main thread. r=bechen,gerald
MozReview-Commit-ID: GBQ0lEf8rVI

--HG--
extra : rebase_source : cbcd69dd220c06e2e1cc0d12e33d23ce2f4e21ef
extra : intermediate-source : 9e304fc5f5ee0b4d44f0e54a4cb2a6a9fe90979d
extra : source : 1b29a7cde3c40ba3a35ee19eee63ad68e6d12176
2017-11-15 17:56:10 +08:00
Cameron McCormack
0a20585745 Bug 1418899 - Part 4: Move image layer filling function out of nsRuleNode. r=cjku
MozReview-Commit-ID: 2FXGFEkpIKE

--HG--
extra : rebase_source : 280c85f0e53e6426289580a345685898888ed266
2017-11-20 13:53:58 +08:00
Cameron McCormack
630cd9c74f Bug 1418899 - Part 3: Use a single image layer array filling function. r=cjku
We were accidentally using the background one for the mask layers list anyway,
and I don't think the overhead of filling the arrays for the two properties
mask layers don't use is a problem.

MozReview-Commit-ID: 7LDiYGrnUd5

--HG--
extra : rebase_source : 573d70e0e8c4d110ca6da2846e6fd2887b1fded2
2017-11-20 13:44:22 +08:00
Cameron McCormack
3991f1ba0d Bug 1418899 - Part 2: Move some font-related static methods out of nsRuleNode. r=TYLin
MozReview-Commit-ID: 3l9L6bHr0PJ

--HG--
extra : rebase_source : 4d60e21f70a0e8b7a54b009ca6f5d6c2c90a80bd
2017-11-20 12:43:21 +08:00
Cameron McCormack
d8a0eb82de Bug 1418899 - Part 1: Remove some unused method declarations on nsRuleNode. r=TYLin
MozReview-Commit-ID: FOBOjJRJCea

--HG--
extra : rebase_source : ff3bf2cccf2ec21bdbaf61c8112ee97bc3306bfe
2017-11-20 13:09:16 +08:00
Cameron McCormack
6d13847e3c servo: Merge #19313 - style: Update layer filling function call in Gecko glue (from heycam:layer-filling); r=CJKu
This is the (small) Servo part of https://bugzilla.mozilla.org/show_bug.cgi?id=1418899, reviewed there by CJKu.

Source-Repo: https://github.com/servo/servo
Source-Revision: bdb2cacad9036f1ff6ef452fffe4a50339ec721d

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c74f55a80eae93e12c66d7681d755480874c887a
2017-11-21 00:19:00 -06:00
James Teh
fb7c94c665 Bug 1416986 part 4: AccessibleHandler: Don't fall through to the proxy for IAccessibleHyperlink. r=aklotz
The handler's implementation of IAHyperlink just forwards calls through to the proxy.
However, it exists because we want the cache to be used when a hyperlink is retrieved.
When querying from the handler to IAHyperlink, we should use the same implementation.
This is mostly about consistency/correctness, especially as we're increasing complexity.

MozReview-Commit-ID: AwYibrFzUyf

--HG--
extra : rebase_source : 3d8f33639190a4220a21d0a6eeac401829d8345c
2017-11-15 12:32:52 +10:00
James Teh
ff41c00a3e Bug 1416986 part 3: AccessibleHandler: Avoid cross-process QI calls for interfaces which we know don't exist. r=aklotz
The proxy manager caches interfaces marshaled in the payload and returns them on QI without a cross-process call.
However, it doesn't know about interfaces which don't exist.
We can determine this from the payload, since interfaces which don't exist will have a null pointer.
We use this information to avoid querying the proxy in this case.

MozReview-Commit-ID: FnzDetmTiPP

--HG--
extra : rebase_source : 076ce714a69d3883a149487e5f9235ff495eedd0
2017-11-15 12:28:45 +10:00
James Teh
aebc388fb6 Bug 1416986 part 2: Include interfaces the client is likely to request in the accessible handler payload. r=aklotz
Now that virtual buffers have to render across processes, we want to eliminate as many cross-process calls as possible.
This includes QueryInterface calls, since buffers query for several interfaces on every node they visit.
To avoid these cross-process QI calls, we include interfaces clients are likely to request in the handler payload.
This way, they get marshaled in the single call used to retrieve the object.

This patch does the following:

1. Passes the interceptor when building the payload.
We need this so we can get interceptors for other interfaces.

2. Splits the payload into two main parts: a static part and a dynamic part.
The (new) static part contains the interface pointers. The dynamic part contains the rest.
This is necessary because the refresh call cannot pass the interceptor, but the interceptor is needed to build the static part.
Also, re-building the static part is pointless when refreshing.

3. Includes the interface pointers in the payload (BuildStaticIA2Data).
The pointers also have to be cleaned up after marshaling.

4. Releases the interface pointers in the handler after the payload is received.
We do this because they're aggregated by the proxy manager as they're unmarshaled.

MozReview-Commit-ID: 6VRLMNScgwW

--HG--
extra : rebase_source : 249589643b7a69e870962ea55a44849bf03a2693
2017-11-15 12:18:18 +10:00
James Teh
980e6321f7 Bug 1416986 part 1: Allow an mscom Handler to signal that it knows an interface is definitely not available. r=aklotz
If QueryHandlerInterface returns E_NOINTERFACE, the proxy will be queried for the interface.
However, the handler might know that the interface is definitely not available and could thus avoid a pointless cross-process call.
To facilitate this, the handler can now return S_FALSE to signal that the proxy should not be queried, thus immediately returning E_NOINTERFACE to the client.

MozReview-Commit-ID: 4RtBsA9BTOV

--HG--
extra : rebase_source : 4b0dcb16c469361c1944b24568ceb83fd0ac09c1
2017-11-15 09:59:44 +10:00