Backed out changeset a8ca75f3002d (bug 1633985) on request by dev
This commit is contained in:
@@ -266,7 +266,7 @@ void WebRenderImageData::CreateAsyncImageWebRenderCommands(
|
|||||||
// where it will be done when we build the display list for the iframe.
|
// where it will be done when we build the display list for the iframe.
|
||||||
// That happens in AsyncImagePipelineManager.
|
// That happens in AsyncImagePipelineManager.
|
||||||
wr::LayoutRect r = wr::ToLayoutRect(aBounds);
|
wr::LayoutRect r = wr::ToLayoutRect(aBounds);
|
||||||
aBuilder.PushIFrame(r, mPipelineId.ref(),
|
aBuilder.PushIFrame(r, aIsBackfaceVisible, mPipelineId.ref(),
|
||||||
/*ignoreMissingPipelines*/ false);
|
/*ignoreMissingPipelines*/ false);
|
||||||
|
|
||||||
WrBridge()->AddWebRenderParentCommand(
|
WrBridge()->AddWebRenderParentCommand(
|
||||||
|
|||||||
@@ -1315,11 +1315,12 @@ void DisplayListBuilder::PushYCbCrInterleavedImage(
|
|||||||
}
|
}
|
||||||
|
|
||||||
void DisplayListBuilder::PushIFrame(const wr::LayoutRect& aBounds,
|
void DisplayListBuilder::PushIFrame(const wr::LayoutRect& aBounds,
|
||||||
|
bool aIsBackfaceVisible,
|
||||||
PipelineId aPipeline,
|
PipelineId aPipeline,
|
||||||
bool aIgnoreMissingPipeline) {
|
bool aIgnoreMissingPipeline) {
|
||||||
mRemotePipelineIds.AppendElement(aPipeline);
|
mRemotePipelineIds.AppendElement(aPipeline);
|
||||||
wr_dp_push_iframe(mWrState, aBounds, MergeClipLeaf(aBounds),
|
wr_dp_push_iframe(mWrState, aBounds, MergeClipLeaf(aBounds),
|
||||||
mCurrentSpaceAndClipChain.space, aPipeline,
|
aIsBackfaceVisible, &mCurrentSpaceAndClipChain, aPipeline,
|
||||||
aIgnoreMissingPipeline);
|
aIgnoreMissingPipeline);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -541,8 +541,8 @@ class DisplayListBuilder final {
|
|||||||
wr::WrColorRange aColorRange, wr::ImageRendering aFilter,
|
wr::WrColorRange aColorRange, wr::ImageRendering aFilter,
|
||||||
bool aPreferCompositorSurface = false);
|
bool aPreferCompositorSurface = false);
|
||||||
|
|
||||||
void PushIFrame(const wr::LayoutRect& aBounds, wr::PipelineId aPipeline,
|
void PushIFrame(const wr::LayoutRect& aBounds, bool aIsBackfaceVisible,
|
||||||
bool aIgnoreMissingPipeline);
|
wr::PipelineId aPipeline, bool aIgnoreMissingPipeline);
|
||||||
|
|
||||||
// XXX WrBorderSides are passed with Range.
|
// XXX WrBorderSides are passed with Range.
|
||||||
// It is just to bypass compiler bug. See Bug 1357734.
|
// It is just to bypass compiler bug. See Bug 1357734.
|
||||||
|
|||||||
@@ -2546,7 +2546,8 @@ pub extern "C" fn wr_dp_push_iframe(
|
|||||||
state: &mut WrState,
|
state: &mut WrState,
|
||||||
rect: LayoutRect,
|
rect: LayoutRect,
|
||||||
clip: LayoutRect,
|
clip: LayoutRect,
|
||||||
spatial_id: WrSpatialId,
|
_is_backface_visible: bool,
|
||||||
|
parent: &WrSpaceAndClipChain,
|
||||||
pipeline_id: WrPipelineId,
|
pipeline_id: WrPipelineId,
|
||||||
ignore_missing_pipeline: bool,
|
ignore_missing_pipeline: bool,
|
||||||
) {
|
) {
|
||||||
@@ -2555,7 +2556,7 @@ pub extern "C" fn wr_dp_push_iframe(
|
|||||||
state.frame_builder.dl_builder.push_iframe(
|
state.frame_builder.dl_builder.push_iframe(
|
||||||
rect,
|
rect,
|
||||||
clip,
|
clip,
|
||||||
spatial_id.to_webrender(state.pipeline_id),
|
&parent.to_webrender(state.pipeline_id),
|
||||||
pipeline_id,
|
pipeline_id,
|
||||||
ignore_missing_pipeline,
|
ignore_missing_pipeline,
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -83,13 +83,7 @@ impl Example for App {
|
|||||||
sub_bounds,
|
sub_bounds,
|
||||||
ColorF::new(1.0, 0.0, 0.0, 1.0)
|
ColorF::new(1.0, 0.0, 0.0, 1.0)
|
||||||
);
|
);
|
||||||
builder.push_iframe(
|
builder.push_iframe(sub_bounds, sub_bounds, &space_and_clip, sub_pipeline_id, false);
|
||||||
sub_bounds,
|
|
||||||
sub_bounds,
|
|
||||||
space_and_clip.spatial_id,
|
|
||||||
sub_pipeline_id,
|
|
||||||
false,
|
|
||||||
);
|
|
||||||
builder.pop_stacking_context();
|
builder.pop_stacking_context();
|
||||||
builder.pop_reference_frame();
|
builder.pop_reference_frame();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -952,16 +952,14 @@ impl<'a> SceneBuilder<'a> {
|
|||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
let space_and_clip = SpaceAndClipInfo {
|
|
||||||
spatial_id: info.spatial_id,
|
|
||||||
clip_id: ClipId::root(self.scene.root_pipeline_id.unwrap()),
|
|
||||||
};
|
|
||||||
|
|
||||||
let current_offset = self.current_offset(spatial_node_index);
|
let current_offset = self.current_offset(spatial_node_index);
|
||||||
let clip_chain_index = self.add_rect_clip_node(
|
let clip_chain_index = self.add_clip_node(
|
||||||
ClipId::root(iframe_pipeline_id),
|
ClipId::root(iframe_pipeline_id),
|
||||||
&space_and_clip,
|
&info.space_and_clip,
|
||||||
&info.clip_rect.translate(current_offset),
|
ClipRegion::create_for_clip_node_with_local_clip(
|
||||||
|
&info.clip_rect,
|
||||||
|
¤t_offset,
|
||||||
|
),
|
||||||
);
|
);
|
||||||
self.pipeline_clip_chain_stack.push(clip_chain_index);
|
self.pipeline_clip_chain_stack.push(clip_chain_index);
|
||||||
|
|
||||||
@@ -1378,7 +1376,7 @@ impl<'a> SceneBuilder<'a> {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
DisplayItem::Iframe(ref info) => {
|
DisplayItem::Iframe(ref info) => {
|
||||||
let space = self.get_space(&info.spatial_id);
|
let space = self.get_space(&info.space_and_clip.spatial_id);
|
||||||
self.build_iframe(
|
self.build_iframe(
|
||||||
info,
|
info,
|
||||||
space,
|
space,
|
||||||
|
|||||||
@@ -1136,7 +1136,7 @@ impl FilterData {
|
|||||||
pub struct IframeDisplayItem {
|
pub struct IframeDisplayItem {
|
||||||
pub bounds: LayoutRect,
|
pub bounds: LayoutRect,
|
||||||
pub clip_rect: LayoutRect,
|
pub clip_rect: LayoutRect,
|
||||||
pub spatial_id: SpatialId,
|
pub space_and_clip: SpaceAndClipInfo,
|
||||||
pub pipeline_id: PipelineId,
|
pub pipeline_id: PipelineId,
|
||||||
pub ignore_missing_pipeline: bool,
|
pub ignore_missing_pipeline: bool,
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1836,14 +1836,14 @@ impl DisplayListBuilder {
|
|||||||
&mut self,
|
&mut self,
|
||||||
bounds: LayoutRect,
|
bounds: LayoutRect,
|
||||||
clip_rect: LayoutRect,
|
clip_rect: LayoutRect,
|
||||||
spatial_id: di::SpatialId,
|
space_and_clip: &di::SpaceAndClipInfo,
|
||||||
pipeline_id: PipelineId,
|
pipeline_id: PipelineId,
|
||||||
ignore_missing_pipeline: bool
|
ignore_missing_pipeline: bool
|
||||||
) {
|
) {
|
||||||
let item = di::DisplayItem::Iframe(di::IframeDisplayItem {
|
let item = di::DisplayItem::Iframe(di::IframeDisplayItem {
|
||||||
bounds,
|
bounds,
|
||||||
clip_rect,
|
clip_rect,
|
||||||
spatial_id,
|
space_and_clip: *space_and_clip,
|
||||||
pipeline_id,
|
pipeline_id,
|
||||||
ignore_missing_pipeline,
|
ignore_missing_pipeline,
|
||||||
});
|
});
|
||||||
|
|||||||
@@ -1624,7 +1624,10 @@ impl YamlFrameReader {
|
|||||||
dl.push_iframe(
|
dl.push_iframe(
|
||||||
bounds,
|
bounds,
|
||||||
info.clip_rect,
|
info.clip_rect,
|
||||||
info.spatial_id,
|
&SpaceAndClipInfo {
|
||||||
|
spatial_id: info.spatial_id,
|
||||||
|
clip_id: info.clip_id
|
||||||
|
},
|
||||||
pipeline_id,
|
pipeline_id,
|
||||||
ignore
|
ignore
|
||||||
);
|
);
|
||||||
|
|||||||
@@ -162,7 +162,7 @@ class nsDisplayCanvas final : public nsPaintedDisplayItem {
|
|||||||
// the iframe. That happens in WebRenderCompositableHolder.
|
// the iframe. That happens in WebRenderCompositableHolder.
|
||||||
|
|
||||||
wr::LayoutRect r = wr::ToLayoutRect(bounds);
|
wr::LayoutRect r = wr::ToLayoutRect(bounds);
|
||||||
aBuilder.PushIFrame(r, data->GetPipelineId().ref(),
|
aBuilder.PushIFrame(r, !BackfaceIsHidden(), data->GetPipelineId().ref(),
|
||||||
/*ignoreMissingPipelines*/ false);
|
/*ignoreMissingPipelines*/ false);
|
||||||
|
|
||||||
gfx::Matrix4x4 scTransform;
|
gfx::Matrix4x4 scTransform;
|
||||||
|
|||||||
@@ -1445,7 +1445,7 @@ bool nsDisplayRemote::CreateWebRenderCommands(
|
|||||||
contentRect, mFrame->PresContext()->AppUnitsPerDevPixel());
|
contentRect, mFrame->PresContext()->AppUnitsPerDevPixel());
|
||||||
rect += mOffset;
|
rect += mOffset;
|
||||||
|
|
||||||
aBuilder.PushIFrame(mozilla::wr::ToLayoutRect(rect),
|
aBuilder.PushIFrame(mozilla::wr::ToLayoutRect(rect), !BackfaceIsHidden(),
|
||||||
mozilla::wr::AsPipelineId(mLayersId),
|
mozilla::wr::AsPipelineId(mLayersId),
|
||||||
/*ignoreMissingPipelines*/ true);
|
/*ignoreMissingPipelines*/ true);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user