mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-08 19:04:45 +00:00
Bug 1540357 - Fix implicit int conversions in dom/canvas's layout/* includes. r=dholbert
nsUnicodeProperties.h includes into ICU, which has implicit int truncation, so quarantine this include out of problematic headers. Depends on D25498 Differential Revision: https://phabricator.services.mozilla.com/D25499 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
69072e8b95
commit
373563b0ec
@ -25,6 +25,7 @@
|
||||
#include "nsNodeInfoManager.h"
|
||||
#include "nsContentCreatorFunctions.h"
|
||||
#include "nsContentUtils.h"
|
||||
#include "nsUnicodeProperties.h"
|
||||
#include "mozilla/EventStates.h"
|
||||
#include "nsTextNode.h"
|
||||
#include "nsTextFrame.h"
|
||||
|
@ -287,7 +287,7 @@ class WritingMode {
|
||||
// and hypothetical) values. But this is fine; we only need to
|
||||
// distinguish between vertical and horizontal in
|
||||
// PhysicalAxisForLogicalAxis.
|
||||
int wm = mWritingMode & eOrientationMask;
|
||||
const auto wm = static_cast<uint8_t>(mWritingMode & eOrientationMask);
|
||||
return PhysicalAxisForLogicalAxis(wm, aAxis);
|
||||
}
|
||||
|
||||
@ -362,8 +362,8 @@ class WritingMode {
|
||||
if (IsBlock(aSide)) {
|
||||
static_assert(eOrientationMask == 0x01 && eBlockFlowMask == 0x04,
|
||||
"unexpected mask values");
|
||||
int wm = ((mWritingMode & eBlockFlowMask) >> 1) |
|
||||
(mWritingMode & eOrientationMask);
|
||||
const auto wm = static_cast<uint8_t>(((mWritingMode & eBlockFlowMask) >> 1) |
|
||||
(mWritingMode & eOrientationMask));
|
||||
return PhysicalSideForBlockAxis(wm, GetEdge(aSide));
|
||||
}
|
||||
|
||||
|
@ -12,10 +12,20 @@
|
||||
#include "nsStyleStruct.h"
|
||||
#include "nsTextFragment.h"
|
||||
#include "nsUnicharUtils.h"
|
||||
#include "nsUnicodeProperties.h"
|
||||
#include <algorithm>
|
||||
|
||||
using namespace mozilla;
|
||||
|
||||
// static
|
||||
bool nsTextFrameUtils::IsSpaceCombiningSequenceTail(const char16_t* aChars,
|
||||
int32_t aLength) {
|
||||
return aLength > 0 &&
|
||||
(mozilla::unicode::IsClusterExtender(aChars[0]) ||
|
||||
(IsBidiControl(aChars[0]) &&
|
||||
IsSpaceCombiningSequenceTail(aChars + 1, aLength - 1)));
|
||||
}
|
||||
|
||||
static bool IsDiscardable(char16_t ch, nsTextFrameUtils::Flags* aFlags) {
|
||||
// Unlike IS_DISCARDABLE, we don't discard \r. \r will be ignored by
|
||||
// gfxTextRun and discarding it would force us to copy text in many cases of
|
||||
|
@ -9,7 +9,6 @@
|
||||
|
||||
#include "gfxSkipChars.h"
|
||||
#include "nsBidiUtils.h"
|
||||
#include "nsUnicodeProperties.h"
|
||||
|
||||
class nsIContent;
|
||||
struct nsStyleText;
|
||||
@ -83,12 +82,7 @@ class nsTextFrameUtils {
|
||||
* controls).
|
||||
*/
|
||||
static bool IsSpaceCombiningSequenceTail(const char16_t* aChars,
|
||||
int32_t aLength) {
|
||||
return aLength > 0 &&
|
||||
(mozilla::unicode::IsClusterExtender(aChars[0]) ||
|
||||
(IsBidiControl(aChars[0]) &&
|
||||
IsSpaceCombiningSequenceTail(aChars + 1, aLength - 1)));
|
||||
}
|
||||
int32_t aLength);
|
||||
static bool IsSpaceCombiningSequenceTail(const uint8_t* aChars,
|
||||
int32_t aLength) {
|
||||
return false;
|
||||
|
@ -78,7 +78,7 @@ class nsStyleUtil {
|
||||
*/
|
||||
static uint8_t FloatToColorComponent(float aAlpha) {
|
||||
NS_ASSERTION(0.0 <= aAlpha && aAlpha <= 1.0, "out of range");
|
||||
return NSToIntRound(aAlpha * 255);
|
||||
return static_cast<uint8_t>(NSToIntRound(aAlpha * 255));
|
||||
}
|
||||
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user