Platform/Layout/Printing and fragmentation: Difference between revisions

From MozillaWiki
Jump to navigation Jump to search
(Update bugzilla query)
No edit summary
Line 25: Line 25:
<bugzilla>
<bugzilla>
     {
     {
         "component": ["Print Preview", "Printing: Output", "Printing: Setup", "Printing"],
         "component": ["Print Preview", "Printing: Output", "Printing: Setup", "Printing", "PDF Viewer"],
         "whiteboard": "[frag2020]"
         "whiteboard": "[frag2020]"
     }
     }
Line 34: Line 34:
<bugzilla>
<bugzilla>
     {
     {
         "component": ["Print Preview", "Printing: Output", "Printing: Setup", "Printing"],
         "component": ["Print Preview", "Printing: Output", "Printing: Setup", "Printing", "PDF Viewer"],
         "whiteboard": "[print2020]"
         "whiteboard": "[print2020]"
     }
     }
</bugzilla>
</bugzilla>

Revision as of 21:32, 2 March 2020

This page provides information about our efforts in 2020 to improve the platform parts of printing and fragmentation in Firefox. Given how closely linked the frondend and platform parts of printing are, this will inevitably involve some frontend work too.

Rationale

Support for printing in Firefox has historically been poorly maintained, and is currently in a dismal state compared to other browsers. There are two main areas for improvement:

  • Printing UX: Firefox’s printing UI/UX lacks consistency and is complicated and confusing compared to the competition. Print settings are displayed differently across operating systems, different methods of accessing printing lead to different dialogs, and print preview is not displayed by default on macOS.
  • Printing output: There is a significantly-sized backlog of user-reported bugs related to print output (for both printing devices and PDF export). Some of these bugs include cases where printing fails completely, several pages are missing, or the printed layout is just incorrect.

OSX is a popular platform among web developers and designers. It is important we provide a means for testing web content accessibility in OSX. Historically, our OSX support has been plagued with performance issues, but we can still provide a good benchmark for developers to test with. After we reach API completeness, we will do a second pass to optimize the experience for VoiceOver users and assure the performance is optimal and comparable to other browsers.

Milestone One (2020 H1)

Fragmentation

To be pulled from "Milestone Next" below.

Printing

To be pulled from "Milestone Next" below.

Milestone Next (2020 H2+)

Fragmentation

Full Query
ID Summary Priority Status
179135 top:auto blocks with position:absolute misplaced when printing P3 NEW
267029 Absolutely positioned elements all print on first page, and the ones that don't fit aren't shown P2 RESOLVED
649802 Abspos with margin gets progressively skinnier on each printed page -- RESOLVED
1250348 Tall <iframe> elements are truncated at page boundaries (instead of being split across pages, like tall images are) P3 NEW
1318856 when printing a tall image (or SVG graphic), it is truncated rather than split across pages -- NEW
1344992 Lost printing content if specify the position:absolute and transform style. -- RESOLVED
1417615 [Layout] Content truncated when printing a page containing a CSS grid with large row P3 RESOLVED
1468369 abs.pos. element immediately after a forced page break does not render P3 NEW
1479119 Long images cut off after first page when printing P3 RESOLVED
1520749 Fails to print all slides from Remark.js slideshow P3 RESOLVED
1569436 Butterick’s Practical Typography doesn't print to PDF correctly (abspos hypothetical position on non-first page not working properly) P3 NEW
1574684 www.specsavers.co.uk doesn't fully print P3 RESOLVED
1606540 printing problem when fragmenting tables P3 RESOLVED
1633936 Add telemetry to determine how much content is clipped during printing P3 NEW
1648903 Printing A4 pages with abspos precisely-measured abspos content is faulty P3 NEW
1665214 When "slicing" printing-improvement preserves overflow from a clipped line-box or grid row, shift down the line or grid row on the next page to leave space for the expected overflow P1 RESOLVED
1674682 Content overlap when fragmenting with fixed height content P3 UNCONFIRMED
1680728 Yahoo search page background-image is shifted/clipped in Print Preview, if WebRender is enabled (with "background-attachment: fixed") P3 NEW
1681079 Print preview should override the position of right aligned page elements on print selection P4 NEW

19 Total; 10 Open (52.63%); 9 Resolved (47.37%); 0 Verified (0%);


Printing

Full Query
ID Summary Priority Status
231068 new Page Header or Footer Option -- just Date (no Time) -- NEW
454059 Creating PDF of web page: hyperlinks are lost. P2 RESOLVED
659715 Consider preserving scroll position of iframes & other scrolled regions when printing P3 NEW
1249214 Scale canvas passed to mozPrintCallback to match printer resolution P3 NEW
1432651 Disentangle RemotePrintJobChild from nsPrintSettings, and kill off nsPrintSession P2 RESOLVED
1444078 Printing to 300x600 dpi label printer is half width P2 UNCONFIRMED
1657896 Print selection from BBC articles is sometimes missing the first letter of the selection -- NEW
1657906 Text is displayed as cut-off in both print preview and print job's output for a specific bbc article -- NEW
1657973 Support generation of tagged (accessible) PDFs P3 NEW
1658558 [ARM] Pages with various formats are not printed completely (several letters are arbitrarily missing) P2 NEW
1660223 Crash in [@ gtk_printer_get_name] P3 VERIFIED
1660921 Clone scroll positions in print documents P3 RESOLVED
1662934 Investigate if there is a better way to fix double-scaled printing on macOS P3 NEW
1663556 Crash in [@ nsFrameLoader::MaybeCreateDocShell] P3 RESOLVED
1663911 Crash in [@ initializeNonMetaClass] P3 RESOLVED
1664253 Try not creating a PrintTarget for print preview. -- NEW
1664413 Printing doesn't use current session cookies when in private mode -- RESOLVED
1664860 The footer is cut off in Landscape mode when on paper on Windows 7 (with specific printers) P2 NEW
1665837 Button-text on network error pages is hard to read (dark-on-dark) when printed P3 NEW
1666677 Printing hidden frame causes tab crash in Firefox 80, and "An error occurred while printing" error in 81 & newer if you're using legacy print dialog -- RESOLVED
1666825 Online bank statement page not printing correctly (at Smile Bank UK) -- RESOLVED
1668400 Optimization: avoid needless reflow for page-range changes -- NEW
1669365 BUG REPORT 81.0.1 (64 BIT) Firefox does not permit printing to any installed PDF app. Will not work with NuancePDF or native PDF in Windows. P2 RESOLVED
1669815 Remove now-useless "aInRange" outparam from nsPrintJob::PrintPage (and simplify nsPagePrintTimer::StartTimer() which consumes it?) -- RESOLVED
1669910 Firefox draws the header/footer at the extreme edge of writeable area, which can lead to clipped header/footer in some situations (e.g. if printer lies about printable region, or if user prints to PDF and then prints that PDF to a physical printer) -- NEW
1670645 Printing the source page is extremely slow P2 RESOLVED
1670887 Print selection (context menu) images on some of the top sites are broken in print preview P2 NEW
1673147 Print Problem on EPSON LX-310 After Update 82.0 P1 RESOLVED
1673248 PDF prints boxes where there is a space on macOS with Canon printer P2 RESOLVED
1674390 printing action changed and dont work well like last. -- RESOLVED
1679041 Firefox doesn't allow page layout area to be inflated with negative @page margins -- NEW
1681183 Tab-modal print dialog's "Margins: None" option should allow users to print with page margins actually set to 0, regardless of unwriteable area -- RESOLVED
1681206 @page margin:0 seems to be special and does not behave the same as margin:0.01px w.r.t. non-printable areas P3 NEW
1681214 Users' print-dialog margin choices aren't respected, if the content uses "@page { margin: ... }" -- RESOLVED
1683317 Output copies are doubled for a specific document P3 NEW
1683558 Scaling pages in print preview is not applied on the actual print -- RESOLVED
1695647 Printing to a paused printer on macOS silently does nothing P3 NEW
1704178 Remove dead printing code that can't be executed in a tab-modal-printing world -- RESOLVED
1328072 [UX] [e10s] print preview opens print preview instead of showing alert like non-e10s (if printer was't found) -- NEW
1631440 [meta] Platform support for the new print preview design P1 NEW
1651654 Black pages on Print preview for icq.com page P3 NEW
1654497 "Cannot print this document yet..." dialog no longer appears, when printing mid load. P3 NEW
1657489 Zooming print preview in new print UI flickers, clamps at 100% P2 NEW
1660474 Table border in Print Preview cut-off when window is narrower P3 NEW
1661121 Linked tiles at https://www.mozilla.org/en-US/ can be hovered / dragged *in print preview mode* P3 NEW
1661623 Text with high contrast mode in print preview is hard to read -- NEW
1661691 ctrl+wheel zoom on print preview is unreliable P2 NEW
1662135 New print preview UI very janky scrolling documents with multiple pages P2 RESOLVED
1662302 Assertion failure: child->IsDocument(), at src/dom/base/Document.cpp:12176 P3 NEW
1662367 print preview shouldn't reuse previously used page format for PDFs, initially always portrait used, even for landscape PDFs P2 NEW
1662373 Print Preview of PDF - swapping to landscape mode shows only part of a page -- NEW
1662534 Headers/footers don't appear when saving to PDF with margins set to None P2 NEW
1663672 Print preview is blurry with a certain configuration P2 NEW
1668208 Save to PDF's print preview cuts off content in vertical frames test page P3 NEW
1668769 User can interact with some links in print preview P3 NEW
1669191 Crash in [@ OOM | unknown | NS_ABORT_OOM | PLDHashTable::Add | gfxFontGroup::BuildFontList] P2 RESOLVED
1669263 Sometimes, tab-modal Print Preview briefly flashes a higher-zoom version of the document, when you've made a small change to a print setting -- NEW
1669469 No draggable action should be allowed in print preview P3 NEW
1669647 The background of a certain iframe is not steady in Print preview -- NEW
1670287 Elements not supported by Cairo appear in Print Preview despite not appearing in Print output P2 NEW
1670638 [Reader View] Borders are not displayed in print preview P3 NEW
1674365 Improve print preview for printers with very long potential pages, for example receipt printers. P3 NEW
1676188 Cross origin iframe’s content is not displayed while using window.print() with fission enabled P2 RESOLVED
1679123 [mac] Print preview - focus ring shown in preview on part of page -- NEW
1679153 Buttons from about:sessionrestore disappear when deselecting Print Backgrounds in Print Preview -- NEW
1679392 GIF file fails to render sometimes while changing orientation or scale settings P4 RESOLVED
1679397 Print preview repainting at small scales looks fuzzy -- NEW
1679405 [Windows] System dialog opens after trying to save the file with “Save to PDF” -- RESOLVED
1680153 Scrolling is janky with the pages per sheet option -- NEW
1680728 Yahoo search page background-image is shifted/clipped in Print Preview, if WebRender is enabled (with "background-attachment: fixed") P3 NEW
1681284 Some animations are played inside the Print preview P3 NEW
1689211 Print problems after auto-update to 85 on Windows 7 32-bit PC -- RESOLVED
1558907 Open the print progress dialog from the frontend instead of the core printing code P3 RESOLVED
1632275 Print to PDF should add the file to the Downloads list, otherwise these file are very hard for users to find P3 NEW
1657733 Audit tests that only run with print.tab_modal.enabled=false P2 RESOLVED
1658285 Print preview gets closed if the tab is moved to a new window P3 NEW
1658414 Print sheet does not have a way to add a printer P2 NEW
1658446 print preview: 'Scale' value should be shown/labeled as percentage ['%'] P3 NEW
1658749 Middle Click scroll is not working correctly in new Print Preview P2 RESOLVED
1659782 Move the print preview browser into print.html P3 RESOLVED
1660111 [meta] Add automated tests for new print dialog P2 RESOLVED
1660468 [RTL] When a scrollbar is present in new Print UI options sidebar, changing an option from a dropdown will cause the next clicked dropdowns to appear misaligned with their `select` P3 NEW
1660520 Setting margins to 0.1 actually sets them to 0.100000001490116 (at least on Windows) P3 NEW
1660638 Please provide feature of Zoom-In/Out and tool button for print image in new print preview dialog P2 NEW
1660929 Prepopulate the system print dialog with all settings selected in the tab modal print preview doorhanger P3 NEW
1661663 Popular sites prevent the print preview Margins menu from working (users need a way to override @page margins) P2 RESOLVED
1661719 Changes made inside the new Print modal are kept for the old UI as well P3 NEW
1661751 Firefox print dialog doesn't get past throbber & "Preparing Preview", starting in Firefox 80 -- RESOLVED
1662239 Multiple redundant paper size entries returned in the paperList P3 NEW
1662786 No longer have the ability to cancel or monitor print progress (Implement some sort of print queue user interface) P2 NEW
1663005 If "save to pdf" is selected printer, try to copy over as many current settings as possible to the system dialog. P2 NEW
1663019 Print headers and footers & Print Backgrounds options are available for pdf documents P3 RESOLVED
1663366 [Mac] Tab-modal print UI uses old dropdown menu appearance P3 VERIFIED
1663436 No longer able to change header/footer strings, even via "Print using system dialog..." escape hatch P3 RESOLVED
1663712 Explore fetching and caching printer information before users initiate printing -- ASSIGNED
1663801 Only call saveSettingsToPrefs in the frontend code when the user actually prints P3 RESOLVED
1664415 Unexpected title for error-message dialog on a Print operation P3 ASSIGNED
1668043 It should not be possible to interact with the tab content (e.g. using find-in-page) while tab-modal Print UI is open P3 NEW
1668072 opening print dialog opens it behind already open HTTP auth prompt, should be on top P3 NEW
1668453 Scroll print preview on PgUp/PgDown/Home/End when they would otherwise do nothing P3 NEW
1668794 [Linux] Paper size naming shows an additional “Borderless” after every option P3 RESOLVED
1668855 ctrl + +/- zooms the underlying page, not print preview P2 NEW
1669467 Print preview - tapping left-right should select between Portrait-Landscape options instead of scrolling between the options P4 NEW
1669699 Space height inconsistency after error messages inside the new Print modal P3 NEW
1669904 Stop using PrintUtils.getPrintSettings in the new printing UI P2 NEW
1670027 Print selection is disabled inside the system modal if the print preview destination was set to “Save to PDF” P2 VERIFIED
1670037 Get rid of the DeferredTask code in print.js P2 NEW
1670110 Consider moving the "Paper size" field outside the collapsed-by-default "More settings" section P2 NEW
1670135 Add user interface to allow users to collate their printouts when printing multiple copies P2 NEW
1670871 Limit the number suggested inside the margins warning message to two decimals P3 VERIFIED
1670912 [macOS] Increase/Decrease buttons are different in Print Preview P3 NEW
1673908 Overextended Paper size dropdown at fullscreen exit for Foxit option (version <10 ) P3 NEW
1675462 Print preview - Swapping from Scale to Fit To page and repeating with invalid scale should reset to previous valid value instead of 100 P3 NEW
1675474 Two OS print modals can be triggered at the same time P3 NEW
1677327 Add 'Save PDF' option in modal print dialog on macOS P4 NEW
1678319 Print preview displays the webpage in Portrait mode for several Destinations while the Landscape option is active and opens the old System dialog on print/save P2 RESOLVED
1678586 The Selection radio button from the system dialog panel is disabled if the system dialog was opened before the print preview finished loading P3 NEW
1678982 Clicking in the middle of the Scale arrows increases the scale while having a caret displayed P4 NEW
1678983 Print Preview - disable scale carets when values reach max or min values accordingly P5 NEW
1679389 Max scale values are different between new and system modal P3 NEW
1679515 Low Ink/toner levels notification should be displayed on the new modal as well P3 NEW
1679535 Most of the new Print modal options are inaccessible on destination change if previously a print action was made using Foxit reader with the old modal P5 RESOLVED
1681908 Print Preview - adjust sheet indicator focus ring so it doesn't falsely show as being of a bigger size than button/needed P3 NEW
1681941 Tooltips on sheet indicator buttons are not shown for the second hover action if the sheet indicator focus is not removed P3 VERIFIED
1688597 Canceling the file picker while printing an about local page locally blocks the print preview in a “Printing…” state P5 NEW
1691381 The paginator’s “first page” and “last page” buttons extremities are transparent when shrinking the browser window P3 NEW
1691420 Consider making the preview have initial focus instead of the destination. P2 NEW
1693069 When users choose "Customised" as their "Pages", automatically focus the range field P3 RESOLVED
1693989 PDF content gets clipped when printing, if it's too close to page edge (with no way to shrink to fit printable area) P3 NEW
1695645 "Sheets of paper" does not update when selecting "Print on both sides" P3 VERIFIED
1712104 Add a preference 'print.prefer_system_dialog' to allow printing directly via the system print dialog P3 VERIFIED
1140929 Have nsPrintJob not block on modal nested event loop for print settings P2 RESOLVED
1521655 [meta] Support client-side printing in Google Docs and GSuite (Google Workspace) P1 RESOLVED
1558588 Remove the code that opens the print progress dialog from the core printing code P2 RESOLVED
1569247 [meta] Adding new telemetry printing-related probes P3 NEW
1615908 Consider saving only one set of print settings (instead of per-printer settings) P2 NEW
1621136 Write some firefox-source-docs.mozilla.org documentation for printing P3 ASSIGNED
1639844 Provide access to the native printer resolution through nsIPaper P3 NEW
1640533 Audit whether MOZ_CAN_RUN_SCRIPT annotations for nsPrintJob functions are correct/necessary or not -- NEW
1651112 [meta] Expose printer specific information using nsIPrinterList and nsIPrinter to support the new printing UI P2 NEW
1657854 Only allow nsPrinterList objects to be created in the main process on all platforms. P2 RESOLVED
1658076 Add collation support to nsIPrintSettings P2 NEW
1658394 Add per-paper-size duplex information for CUPS printers P5 NEW
1660602 Profile janky rendering of print preview documents P2 RESOLVED
1660885 Make nsIPrinterList::GetNamedOrDefaultPrinter always return a printer, if any are available P3 ASSIGNED
1660905 Add nsIPrinter::CheckConnection to determine if a printer can be reached P2 ASSIGNED
1660997 Deduplicate out common code in nsPrintSettingsWin::InitWithInitializer and nsPrintSettingsWin::CopyFromNative P2 NEW
1661294 Retrieve Native Resolution (DPI/PPI) Information For nsIPrinter P5 NEW
1661706 Crash in [@ initializeAndMaybeRelock] P3 RESOLVED
1662471 Pref `print.always_print_silent` sometimes silently does nothing P2 ASSIGNED
1662626 Investigate whether the platform printing code is compatible with scaling > 100% P3 NEW
1663129 Crash in [@ mozalloc_abort | moz_xmalloc | NS_NewDOMEvent] -- RESOLVED
1663290 Consider making afterprint event fire after spinning the event loop -- NEW
1663623 Assertion failure: !chan (Why is there a document channel?), at toolkit/components/windowwatcher/nsWindowWatcher.cpp:1016 -- NEW
1663629 Crash in [@ g_sequence_iter_get_sequence] P3 RESOLVED
1663702 Make nsFrameLoader::Print support cancellation and progress reporting P2 NEW
1663753 Add telemetry to measure the time platform printing code takes to create/update/scroll print/preview documents P2 NEW
1664469 Get rid of nsPrintData P3 NEW
1664489 Print preview telemetry for the legacy UI is broken P3 RESOLVED
1664782 Return the paper list directly from nsPrinterListBase::GetFallbackPaperList without using a Promise P3 NEW
1666914 Printer Paper Size Mismatch -- RESOLVED
1666937 Lazily add mDNS/Bonjour/Avahi printers to the print UI on CUPS platforms (missing printers) P2 NEW
1667260 Document exactly what settings the nsIPrintSettings returned by nsIPrinter.createDefaultSettings has set P2 NEW
1668210 Prevent print settings being saved to unprefixed prefs on non-Android P2 RESOLVED
1668813 On Ubuntu, the Color Mode dropdown is not locked to Black&White for B&W printers P3 NEW
1669329 [mac] Scaling value is not reflected in native print dialog P3 NEW
1669385 Replace nsIPrintSettings.paperWidth/paperHeight/paperSizeUnit with a single setter P2 NEW
1669762 Rename some attributes in nsIWebBrowserPrint.idl with s/page/sheet/ -- NEW
1674155 [macOS] Print preview displays wrong paper size if several steps are performed P2 RESOLVED
1676828 [macOS 11] Default printer settings are different than of the other os's P3 NEW
1684952 Print jobs with complex print ranges will always print the pages in ascending order, even if the user's range has them in some other order P4 NEW
1685476 Print selection via context menu & via the new modal is not reflected inside the system dialog -- NEW
1695552 macOS Printer Status Icon -- NEW
1722063 MacOS - New Firefox Modal Print Dialogue Does Not Support Dynamic Airprint Printers P2 RESOLVED
1785279 Combine mCreatedForPrintPreview, mIsDoingPrinting and mIsCreatingPrintPreview P3 NEW
844090 landscape pdfs are printed portrait with pdf.js P3 RESOLVED
1282045 print pdf with both orientations P3 RESOLVED

177 Total; 117 Open (66.1%); 53 Resolved (29.94%); 7 Verified (3.95%);