void PopupBoxObject::SetConstraintRect(dom::DOMRectReadOnly& aRect) { nsMenuPopupFrame *menuPopupFrame = do_QueryFrame(GetFrame(false)); if (menuPopupFrame) { menuPopupFrame->SetOverrideConstraintRect( LayoutDeviceIntRect(aRect.Left(), aRect.Top(), aRect.Width(), aRect.Height())); } }
already_AddRefed<DOMQuad> ConvertRectFromNode(nsINode* aTo, dom::DOMRectReadOnly& aRect, const GeometryNode& aFrom, const dom::ConvertCoordinateOptions& aOptions, ErrorResult& aRv) { CSSPoint points[4]; double x = aRect.X(), y = aRect.Y(), w = aRect.Width(), h = aRect.Height(); points[0] = CSSPoint(x, y); points[1] = CSSPoint(x + w, y); points[2] = CSSPoint(x + w, y + h); points[3] = CSSPoint(x, y + h); TransformPoints(aTo, aFrom, 4, points, aOptions, aRv); if (aRv.Failed()) { return nullptr; } RefPtr<DOMQuad> result = new DOMQuad(aTo->GetParentObject().mObject, points); return result.forget(); }