summaryrefslogtreecommitdiffstats
path: root/layout/printing
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2020-04-17 05:28:43 -0400
committerMatt A. Tobin <email@mattatobin.com>2020-04-17 05:28:43 -0400
commit940d191ef8b61309f4ea83d0fea77828f361251b (patch)
tree328a57b6d2e2b018343e2c5d20e0602d613f0e19 /layout/printing
parentef689a705ffdd79cdeeca8e68438b4ad6597f38d (diff)
downloadUXP-940d191ef8b61309f4ea83d0fea77828f361251b.tar
UXP-940d191ef8b61309f4ea83d0fea77828f361251b.tar.gz
UXP-940d191ef8b61309f4ea83d0fea77828f361251b.tar.lz
UXP-940d191ef8b61309f4ea83d0fea77828f361251b.tar.xz
UXP-940d191ef8b61309f4ea83d0fea77828f361251b.zip
Bug 1367683 - Optimize initializing nsRange
Tag #1375
Diffstat (limited to 'layout/printing')
-rw-r--r--layout/printing/nsPrintEngine.cpp14
1 files changed, 9 insertions, 5 deletions
diff --git a/layout/printing/nsPrintEngine.cpp b/layout/printing/nsPrintEngine.cpp
index f2db53250..0c455f563 100644
--- a/layout/printing/nsPrintEngine.cpp
+++ b/layout/printing/nsPrintEngine.cpp
@@ -2449,13 +2449,17 @@ CloneRangeToSelection(nsRange* aRange, nsIDocument* aDoc,
NS_ENSURE_TRUE_VOID(newStart && newEnd);
nsCOMPtr<nsINode> newStartNode = do_QueryInterface(newStart);
- NS_ENSURE_TRUE_VOID(newStartNode);
+ nsCOMPtr<nsINode> newEndNode = do_QueryInterface(newEnd);
+ if (NS_WARN_IF(!newStartNode) || NS_WARN_IF(!newEndNode)) {
+ return;
+ }
RefPtr<nsRange> range = new nsRange(newStartNode);
- nsresult rv = range->SetStart(newStartNode, startOffset);
- NS_ENSURE_SUCCESS_VOID(rv);
- rv = range->SetEnd(newEnd, endOffset);
- NS_ENSURE_SUCCESS_VOID(rv);
+ nsresult rv =
+ range->SetStartAndEnd(newStartNode, startOffset, newEndNode, endOffset);
+ if (NS_WARN_IF(NS_FAILED(rv))) {
+ return;
+ }
aSelection->AddRange(range);
}