mirror of
https://github.com/roytam1/palemoon27.git
synced 2026-05-26 14:18:48 +00:00
import change from rmottola/Arctic-Fox:
- Bug 1138527 part 1 - Make ruby annotations have the same font inflation as its containing ruby frame. (088bbf5bc) - Bug 1138527 part 2 - Reftest for application of font inflation to ruby. (41ae8c811) - Bug 1097468 - Part1: expose |homescreen-webapps-manage| in Apps.webidl (b182f49b7) - Bug 1097468 - Part 2: test for permission |homescreen-webapps-manage|. (1b097c139) - Bug 943537 - In the GeckoContentController interface, take the modifiers for tap events in 'widget modifier' format rather than 'DOM modifier' format (4b7de6b31) - Bug 943537 - Handle modifiers on tap events in RemoteContentController and ChromeProcessController. (2bbe91961) - Bug 1130455 - Remove the ScrollingBehavior code to propagate APZ and use gfxPrefs instead. (09a0c8e61) - Bug 1139258 - Use ScreenIntSize in PBrowser::Show/UpdateDimensions (2189f8921) - Bug 1139575 - Don't set the fast motion flag on multitouch blocks. (5155bfd13) - Bug 1137267 - Enable event-regions automatically when APZ is enabled, and allow the APZ code to assume event-regions are enabled always. (29d7e7d1c) - Bug 1137267 - Remove unneeded flags to track touch listeners and touch caret. (cb6cc1139) - Bug 1036967 - Use ScaleFactors2D instead of ScaleFactor where appropriate in APZ and surrounding code. (09ce986a9) - Bug 1036967 - Remove ScaleFactor::ScaleFactor(float, float). (87d13024c) - Bug 1036967 - Followup to fix debug logging. (d01fca6e4) - Bug 1036967 - Follow-up to fix debug logging. (776b4b65e) - Bug 1149060. Fix dev pixels per CSS pixel and presshell resolution layer dumping after bug 1036967. (6d26e4d3c) - Bug 1130982 - Reftest for this bug. (00bff9489) - Bug 1130982 - Ensure the clip rect is appropriately adjusted for multi-framemetrics layers. (211d15a4d) - Bug 1130982 - Fix a reftest so an element that's supposed to be scrollable actually is. (71dc992e2) - Bug 1130982 - With multi-FrameMetrics on APZ platforms, do not apply clips to scroll ports of frames other than the bottom-most one on the layout side. (4d9342324) - Fix APZ using incorrect scroll wheel deltas. (bug 1141728) (cad854639) - Bug 1139675 - Update JS callers of nsIDOMWindowUtils.setResolution and getResolution in accessibility code. (28dffc78d) - Bug 1136914 - Don't lose scale from parent document when descending into subdocument. (0d3cef358) - Bug 1139283 - Move some properties from nsStyleDisplay to nsStylePosition. (ff61201ae) - Bug 1125767. Centralize code into nsStylePosition::IsFixedPosContainingBlock. (f256191f4) - temporary override -> MOZ_OVERRIDE again (ed8caa82d) - Bug 1139675 - Add a couple of operator overloads to BaseSize. (a214c0eab) - Bug 927995 - Handle antialias+preserveDrawingBuffer properly. (9ceaf6d0a) - Bug 1142926 - Only notify the docshell of state changes when moving in and out of a transforming state across all APZCs. (153054d1e) - Bug 1116806: Enable dom.ipc.plugins.asyncInit by default; (bf0e3464d) - Bug 1143789. Remove unnecessary cast to BasicLayerManager. (fd30ade6c)
This commit is contained in:
@@ -752,8 +752,8 @@ public:
|
||||
// using this state.
|
||||
nsFrameState mAdditionalStateBits;
|
||||
|
||||
// When working with the -moz-transform property, we want to hook
|
||||
// the abs-pos and fixed-pos lists together, since transformed
|
||||
// When working with the transform and filter properties, we want to hook
|
||||
// the abs-pos and fixed-pos lists together, since such
|
||||
// elements are fixed-pos containing blocks. This flag determines
|
||||
// whether or not we want to wire the fixed-pos and abs-pos lists
|
||||
// together.
|
||||
@@ -1063,8 +1063,7 @@ nsFrameConstructorState::PushAbsoluteContainingBlock(nsContainerFrame* aNewAbsol
|
||||
* we're a transformed element.
|
||||
*/
|
||||
mFixedPosIsAbsPos = aPositionedFrame &&
|
||||
(aPositionedFrame->StyleDisplay()->HasTransform(aPositionedFrame) ||
|
||||
aPositionedFrame->StyleDisplay()->HasPerspectiveStyle());
|
||||
aPositionedFrame->StylePosition()->IsFixedPosContainingBlock(aPositionedFrame);
|
||||
|
||||
if (aNewAbsoluteContainingBlock) {
|
||||
aNewAbsoluteContainingBlock->MarkAsAbsoluteContainingBlock();
|
||||
@@ -2037,7 +2036,7 @@ nsCSSFrameConstructor::ConstructTable(nsFrameConstructorState& aState,
|
||||
|
||||
// Mark the table frame as an absolute container if needed
|
||||
newFrame->AddStateBits(NS_FRAME_CAN_HAVE_ABSPOS_CHILDREN);
|
||||
if (display->IsPositioned(newFrame)) {
|
||||
if (display->IsAbsPosContainingBlock(newFrame)) {
|
||||
aState.PushAbsoluteContainingBlock(newFrame, newFrame, absoluteSaveState);
|
||||
}
|
||||
NS_ASSERTION(aItem.mAnonChildren.IsEmpty(),
|
||||
@@ -2080,7 +2079,7 @@ MakeTablePartAbsoluteContainingBlockIfNeeded(nsFrameConstructorState& aState
|
||||
// However, in this case flag serves the additional purpose of indicating that
|
||||
// the frame was registered with its table frame. This allows us to avoid the
|
||||
// overhead of unregistering the frame in most cases.
|
||||
if (aDisplay->IsPositioned(aFrame)) {
|
||||
if (aDisplay->IsAbsPosContainingBlock(aFrame)) {
|
||||
aFrame->AddStateBits(NS_FRAME_CAN_HAVE_ABSPOS_CHILDREN);
|
||||
aState.PushAbsoluteContainingBlock(aFrame, aFrame, aAbsSaveState);
|
||||
nsTableFrame::RegisterPositionedTablePart(aFrame);
|
||||
@@ -2622,7 +2621,7 @@ nsCSSFrameConstructor::ConstructDocElementFrame(Element* aDocEle
|
||||
mDocElementContainingBlock),
|
||||
mDocElementContainingBlock, styleContext,
|
||||
&contentFrame, frameItems,
|
||||
display->IsPositioned(contentFrame) ? contentFrame : nullptr,
|
||||
display->IsAbsPosContainingBlock(contentFrame) ? contentFrame : nullptr,
|
||||
nullptr);
|
||||
newFrame = frameItems.FirstChild();
|
||||
NS_ASSERTION(frameItems.OnlyChild(), "multiple root element frames");
|
||||
@@ -3107,7 +3106,7 @@ nsCSSFrameConstructor::ConstructSelectFrame(nsFrameConstructorState& aState,
|
||||
// Notify combobox that it should use the listbox as it's popup
|
||||
comboBox->SetDropDown(listFrame);
|
||||
|
||||
NS_ASSERTION(!listFrame->IsPositioned(),
|
||||
NS_ASSERTION(!listFrame->IsAbsPosContaininingBlock(),
|
||||
"Ended up with positioned dropdown list somehow.");
|
||||
NS_ASSERTION(!listFrame->IsFloating(),
|
||||
"Ended up with floating dropdown list somehow.");
|
||||
@@ -3262,7 +3261,7 @@ nsCSSFrameConstructor::ConstructFieldSetFrame(nsFrameConstructorState& aState,
|
||||
nsFrameItems childItems;
|
||||
|
||||
blockFrame->AddStateBits(NS_FRAME_CAN_HAVE_ABSPOS_CHILDREN);
|
||||
if (fieldsetFrame->IsPositioned()) {
|
||||
if (fieldsetFrame->IsAbsPosContaininingBlock()) {
|
||||
aState.PushAbsoluteContainingBlock(blockFrame, fieldsetFrame, absoluteSaveState);
|
||||
}
|
||||
|
||||
@@ -3824,7 +3823,9 @@ nsCSSFrameConstructor::ConstructFrameFromItemInternal(FrameConstructionItem& aIt
|
||||
|
||||
// If we need to create a block formatting context to wrap our
|
||||
// kids, do it now.
|
||||
const nsStylePosition* position = styleContext->StylePosition();
|
||||
const nsStyleDisplay* maybeAbsoluteContainingBlockDisplay = display;
|
||||
const nsStylePosition* maybeAbsoluteContainingBlockPosition = position;
|
||||
nsIFrame* maybeAbsoluteContainingBlock = newFrame;
|
||||
nsIFrame* possiblyLeafFrame = newFrame;
|
||||
if (bits & FCDATA_CREATE_BLOCK_WRAPPER_FOR_ALL_KIDS) {
|
||||
@@ -3891,7 +3892,7 @@ nsCSSFrameConstructor::ConstructFrameFromItemInternal(FrameConstructionItem& aIt
|
||||
// Now figure out whether newFrame or outerFrame should be the
|
||||
// absolute container.
|
||||
auto outerDisplay = outerSC->StyleDisplay();
|
||||
if (outerDisplay->IsPositioned(outerFrame)) {
|
||||
if (outerDisplay->IsAbsPosContainingBlock(outerFrame)) {
|
||||
maybeAbsoluteContainingBlockDisplay = outerDisplay;
|
||||
maybeAbsoluteContainingBlock = outerFrame;
|
||||
innerFrame->AddStateBits(NS_FRAME_CAN_HAVE_ABSPOS_CHILDREN);
|
||||
@@ -3934,9 +3935,7 @@ nsCSSFrameConstructor::ConstructFrameFromItemInternal(FrameConstructionItem& aIt
|
||||
// make the inner the containing block.
|
||||
if ((maybeAbsoluteContainingBlockDisplay->IsAbsolutelyPositionedStyle() ||
|
||||
maybeAbsoluteContainingBlockDisplay->IsRelativelyPositionedStyle() ||
|
||||
(maybeAbsoluteContainingBlockDisplay->HasTransformStyle() &&
|
||||
cb->IsFrameOfType(nsIFrame::eSupportsCSSTransforms)) ||
|
||||
maybeAbsoluteContainingBlockDisplay->HasPerspectiveStyle()) &&
|
||||
maybeAbsoluteContainingBlockPosition->IsFixedPosContainingBlock(cb)) &&
|
||||
!cb->IsSVGText()) {
|
||||
nsContainerFrame* cf = static_cast<nsContainerFrame*>(cb);
|
||||
aState.PushAbsoluteContainingBlock(cf, cf, absoluteSaveState);
|
||||
@@ -4790,7 +4789,7 @@ nsCSSFrameConstructor::ConstructScrollableBlockWithConstructor(
|
||||
ConstructBlock(aState, scrolledContentStyle->StyleDisplay(), content,
|
||||
newFrame, newFrame, scrolledContentStyle,
|
||||
&scrolledFrame, blockItem,
|
||||
aDisplay->IsPositioned(newFrame) ? newFrame : nullptr,
|
||||
aDisplay->IsAbsPosContainingBlock(newFrame) ? newFrame : nullptr,
|
||||
aItem.mPendingBinding);
|
||||
|
||||
MOZ_ASSERT(blockItem.OnlyChild() == scrolledFrame,
|
||||
@@ -4847,7 +4846,7 @@ nsCSSFrameConstructor::ConstructNonScrollableBlockWithConstructor(
|
||||
aState.GetGeometricParent(aDisplay, aParentFrame),
|
||||
aParentFrame, styleContext, &newFrame,
|
||||
aFrameItems,
|
||||
aDisplay->IsPositioned(newFrame) ? newFrame : nullptr,
|
||||
aDisplay->IsAbsPosContainingBlock(newFrame) ? newFrame : nullptr,
|
||||
aItem.mPendingBinding);
|
||||
return newFrame;
|
||||
}
|
||||
@@ -6108,10 +6107,9 @@ nsCSSFrameConstructor::GetAbsoluteContainingBlock(nsIFrame* aFrame,
|
||||
// the correct containing block (the scrolledframe) in that case.
|
||||
// If we're looking for a fixed-pos containing block and the frame is
|
||||
// not transformed, skip it.
|
||||
if (!frame->IsPositioned() ||
|
||||
if (!frame->IsAbsPosContaininingBlock() ||
|
||||
(aType == FIXED_POS &&
|
||||
!frame->StyleDisplay()->HasTransform(frame) &&
|
||||
!frame->StyleDisplay()->HasPerspectiveStyle())) {
|
||||
!frame->StylePosition()->IsFixedPosContainingBlock(frame))) {
|
||||
continue;
|
||||
}
|
||||
nsIFrame* absPosCBCandidate = frame;
|
||||
|
||||
Reference in New Issue
Block a user