Граф коммитов

51 Коммитов

Автор SHA1 Сообщение Дата
Mats Palmgren e0550b2172 Bug 1689789 part 2 - Use Ceil instead of Truncate the ensure the print surface is large enough for the requested paper size. r=jfkthame
Also, for GTK, request the paper size in millimeter for
millimeter based paper units to avoid depending on GTK's
rounding behavior.

Differential Revision: https://phabricator.services.mozilla.com/D103609
2021-02-06 00:28:29 +00:00
Daniel Holbert 2cedf5494d Bug 1669905 part 2: Add nsIPrintSettings APIs to handle the possibility that pages and sheets may have orthogonal orientation, in pages-per-sheet printouts. r=jfkthame
This patch does three things, all centered around these new APIs:

 (1) Add the APIs themselves -- some nsIPrintSettings methods to reason about
the sheet-orientation being potentially flipped to accomodate 2 and 6
pages-per-sheet.

 (2) Use these new APIs, where appropriate, in places where we previously used
the page-orientation to set up the platform-native print-settings objects and
print-target. Now, we'll use the *sheet* orientation instead of the page
orientation, to be sure we produce the appropriately-oriented platform-native
surfaces.  Also, for symmetry, this patch adds similar logic to the reverse
codepaths, where we update an existing nsIPrintSettings object based on a
platform-native print-settings object.

 (3) Update nsPrintJob's code that informs nsPresContext about the page-size.
This patch makes sure that this code uses the *page* size, rather than the
*sheet* size, in cases where they differ.  (The code that consumes this
nsPresContext::GetPageSize API, e.g. our CSS media-query code, really does want
the page size, not the sheet size.)

Differential Revision: https://phabricator.services.mozilla.com/D100372
2021-01-05 02:24:00 +00:00
Emilio Cobos Álvarez 771dd03229 Bug 1669854 - Add a single pageRanges print setting. r=nordzilla
... which is an array of pairs of ranges, and use it instead of the
existing printRange / startPage / endPage settings.

Differential Revision: https://phabricator.services.mozilla.com/D96093
2020-11-07 16:01:57 +00:00
Jonathan Kew f2b9ae0184 Bug 1667053 - Refactor macOS print settings implementation for clarity. r=jwatt
Rather than wrapping an NSPrintInfo in nsPrintSettingsX, where we then have two
(potentially conflicting) sources of truth about various settings, we treat the
settings in the base nsPrintInfo class as authoritative, and just apply them to
a temporary NSPrintInfo when needed to interact with platform APIs.

Differential Revision: https://phabricator.services.mozilla.com/D92966
2020-10-23 11:07:21 +00:00
Daniel Holbert d2893e70f0 Bug 1631452 part 1: Give nsIPrintSettings a "numPagesPerSheet" attribute. r=TYLin
As noted in the attribute's documentation, we only intend to support a short
list of numeric values. The underlying platform code that reacts to this
attribute (added in a later patch) will screen for whether the provided value
is supported or unsupported, and will gracefully fall back as-needed.

(The corresponding frontend code will probably expose this attribute via a
dropdown widget that only allows users to choose among the supported values, so
there shouldn't really be any way to get an unsupported value into this
attribute anyway.)

Differential Revision: https://phabricator.services.mozilla.com/D86799
2020-10-13 22:55:03 +00:00
Daniel Holbert 675e1e5b28 Bug 1669409: Convert the nsIPrintSettings:kEnableSelectionRB flag into a boolean, since it's the only entry in a bitfield. r=jwatt,emilio
This was the last flag that the PrintOptions bitfield was tracking.

So, this patch is effectively converting that bitfield (and its alias
"PrintOptionsBits") into a new, simpler boolean field named
"isPrintSelectionRBEnabled".

Differential Revision: https://phabricator.services.mozilla.com/D92542
2020-10-07 00:36:51 +00:00
Daniel Holbert 63230729cd Bug 1669375 part 2: Remove code that partially implemented the "print only even/odd pages" feature. r=jwatt
This code looked like it might work, but it seems to have only ever been backed
by per-printer about:config prefs.  I believe we only ever exposed UI for this
feature on Linux, via the native GTK dialog; and even there, the UI doesn't
actually seem to have done anything -- it was never wired up to the actual
implementation of even/odd page-skipping.

Differential Revision: https://phabricator.services.mozilla.com/D92528
2020-10-06 15:33:29 +00:00
Emilio Cobos Álvarez 941e868780 Bug 1668767 - Make "print selection" setting independent of page range. r=jfkthame
It conceptually is, and this will allow to have UI independent of the
page range in bug 140718.

Differential Revision: https://phabricator.services.mozilla.com/D92201
2020-10-02 13:59:48 +00:00
Emilio Cobos Álvarez b94fd775e1 Bug 1668406 - Fix nsIPrintSettings.showMarginGuides. r=jfkthame
So that:

 * It accounts for @page.
 * It is correctly serialized and deserialized over IPC.
 * It's nicer to use.

Depends on D92004

Differential Revision: https://phabricator.services.mozilla.com/D92005
2020-10-01 10:54:18 +00:00
Emilio Cobos Álvarez fbd95bb29e Bug 1668406 - Introduce nsIPrintSettings.honorPageRuleMargins. r=jfkthame
(Doing the obvious)

This should allow the front-end to expose it in one way or another in
bug 1661663.

Differential Revision: https://phabricator.services.mozilla.com/D92004
2020-10-01 13:18:01 +00:00
Jonathan Kew 7fd751e756 Bug 1665904 - Rename paperName to paperId for better clarity (platform). r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D90790
2020-09-19 21:31:05 +00:00
Jonathan Kew b8b3720ae7 Bug 1665901 - Remove (Windows-specific) paperData field, as it now just duplicates the paper id. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D90686
2020-09-18 15:28:46 +00:00
Jonathan Kew e206cf3d9e Bug 1662538 - patch 1 - Make nsIPaper expose a non-localizable .id in addition to a localizable .name attribute. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D90073
2020-09-17 20:05:08 +00:00
Emilio Cobos Álvarez 5ed9da2bf7 Bug 1664205 - Simplify rect getters in nsIPrintSettings. r=jwatt
Differential Revision: https://phabricator.services.mozilla.com/D89778
2020-09-10 15:25:59 +00:00
Erik Nordin 3e0abcedbe Bug 1661823 - Fix Default Print Settings Unwriteable Margins Units r=AlaskanEmily
Print settings stores margin units in TWIPS, but the API expects inches.
This was causing an extra conversion from inches to TWIPS on values that
were already in TWIPS.

Differential Revision: https://phabricator.services.mozilla.com/D88674
2020-08-28 21:53:34 +00:00
Jonathan Watt 0882201445 Bug 1660918. Fix nsIPrintSettings.clone() to copy all members. r=nordzilla
Differential Revision: https://phabricator.services.mozilla.com/D88094
2020-08-24 23:56:55 +00:00
Bob Owen 72fd7de5a6 Bug 1658299 Part 2: Add createDefaultSettings() to nsIPrinter for Windows. r=jwatt,jfkthame
This retrieves the same settings from the printer as
InitPrintSettingsFromPrinter.
There is probably a lot of scope for de-duplication of code here, but I decided
to try and protect the old fallback paths.

Depends on D87125

Differential Revision: https://phabricator.services.mozilla.com/D87604
2020-08-20 23:25:10 +00:00
Erik Nordin b81a2922ac Bug 1658299 - Part 1: Add createDefaultSettings() to nsIPrinter for CUPS r=jwatt,emilio,geckoview-reviewers,owlish
This patch adds a createDefaultSettings() method to nsIPrinter to
initialize a default print settings object specific to that printer.
It implements the functionality for Linux and macOS but adds only stubs
for Windows.

Differential Revision: https://phabricator.services.mozilla.com/D87125
2020-08-20 06:11:08 +00:00
Bogdan Tara 48d00fff60 Backed out changeset ebf8dfa204ea (bug 1658299) for test_printer_default_settings.html failures CLOSED TREE 2020-08-20 05:36:37 +03:00
Erik Nordin 851b8f7c70 Bug 1658299 - Part 1: Add createDefaultSettings() to nsIPrinter for CUPS r=jwatt,emilio,geckoview-reviewers,owlish
This patch adds a createDefaultSettings() method to nsIPrinter to
initialize a default print settings object specific to that printer.
It implements the functionality for Linux and macOS but adds only stubs
for Windows.

Differential Revision: https://phabricator.services.mozilla.com/D87125
2020-08-20 00:23:59 +00:00
Jonathan Kew d64fbb6b0b Bug 1631460 - Create a boolean showMarginGuides attribute on nsIPrintSettings. r=dholbert
Differential Revision: https://phabricator.services.mozilla.com/D84158
2020-07-20 17:39:12 +00:00
Simon Giesecke cb0734d274 Bug 1613985 - Use default for equivalent-to-default constructors/destructors in widget. r=jmathies
Differential Revision: https://phabricator.services.mozilla.com/D66012

--HG--
extra : moz-landing-system : lando
2020-03-16 10:56:57 +00:00
Bogdan Tara c60fd3fdd2 Backed out 4 changesets (bug 1613985) for causing build bustages CLOSED TREE
Backed out changeset fba0caac746c (bug 1613985)
Backed out changeset 8605d7a19107 (bug 1613985)
Backed out changeset 41e858fbf235 (bug 1613985)
Backed out changeset 847433cf1e0a (bug 1613985)
2020-03-16 12:41:41 +02:00
Simon Giesecke 2d961c08ab Bug 1613985 - Use default for equivalent-to-default constructors/destructors in widget. r=jmathies
Differential Revision: https://phabricator.services.mozilla.com/D66012

--HG--
extra : moz-landing-system : lando
2020-03-16 09:14:12 +00:00
Jonathan Watt 098392f093 Bug 1552785. Remove internal code for various frameset printing behaviors. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D33624

--HG--
extra : rebase_source : 336e87a05970895684602c9db3e5222918f861c8
extra : source : 98fbf1ed617549496036099b5aee333aa6b29925
2019-05-21 16:01:34 +01:00
Jonathan Watt cb54619aa0 Bug 1553324. Remove nsIPrintSettings.printFrameTypeUsage. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D32068

--HG--
extra : rebase_source : 939cce38c90a39bd002f95e71e1de94a62f895e1
extra : amend_source : 1be783028096f61145727492fa3c3f41e363c205
2019-05-13 16:30:20 +01:00
Jonathan Watt 9e65e136ab Bug 1549541. Remove nsPrintSettingsImpl mPrintPreview. r=bobowen
Differential Revision: https://phabricator.services.mozilla.com/D30092

--HG--
extra : rebase_source : c327911dae841d77d844c857368819d3fe30ecfb
extra : amend_source : 29c289bf9ea1bf9cf027efffb2a942d39d816d5c
2019-04-10 10:41:13 +01:00
Sylvestre Ledru e226046cb8 Bug 1547143 - Format the tree: Be prescriptive with the pointer style (left) r=Ehsan
# ignore-this-changeset

Depends on D28954

Differential Revision: https://phabricator.services.mozilla.com/D28956

--HG--
extra : moz-landing-system : lando
2019-05-01 08:47:10 +00:00
Haik Aftandilian ec23270654 Bug 1319116 - Part 2 - "Cancel" reverts header and footer settings to defaults r=jwatt
On Mac, don't attempt to save print settings after the user cancels out of the print dialog.

Differential Revision: https://phabricator.services.mozilla.com/D23889

--HG--
extra : moz-landing-system : lando
2019-04-01 14:42:24 +00:00
Sylvestre Ledru 265e672179 Bug 1511181 - Reformat everything to the Google coding style r=ehsan a=clang-format
# ignore-this-changeset

--HG--
extra : amend_source : 4d301d3b0b8711c4692392aa76088ba7fd7d1022
2018-11-30 11:46:48 +01:00
Andi-Bogdan Postelnicu 8cc8f8b517 Bug 1453795 - Widget - Initialize member fields in classes/ structures. r=jimm
--HG--
extra : rebase_source : 594fe9396c450401fab4c17e81a3333124f27f58
2018-06-15 17:48:51 +03:00
Sebastian Hengst 0819f35e51 Backed out 4 changesets (bug 525063) on request from Andi. a=backout
Backed out changeset 516c4fb1e4b8 (bug 525063)
Backed out changeset 6ff8aaef2866 (bug 525063)
Backed out changeset bf13e4103150 (bug 525063)
Backed out changeset d7d2f08e051c (bug 525063)
2018-04-13 16:01:28 +03:00
Tristan Bourvon a3a77c0312 Bug 525063 - Initialize uninitialized class attributes in m-c. r=ehsan 2018-04-10 21:11:02 +02:00
Jonathan Watt f38fde0cc7 Bug 144114 part 3 - Clean up the headers of the nsPrintSettingsService subclasses. r=bobowen
* * *
[mq]: dtor

MozReview-Commit-ID: 8ghrXxeKiHF
2017-12-19 11:05:37 +00:00
Jonathan Watt f9157dfa53 Bug 144114 part 2 - Rename nsPrintOptions and its subclasses to nsPrintSettingsService*. r=bobowen
MozReview-Commit-ID: HQSmyrMBdS8
2017-12-19 10:42:15 +00:00
Nicholas Nethercote c0a1cf9b49 Bug 1407103 - Convert wstring attributes to AString in widget/nsIPrint*.idl. r=bobowen.
This avoids a lot of mismatches between nsAString and char16_t*, thus removing
many getter_Copies() and ToNewUnicode() and get() calls, and generally making
things simpler.

Note: the patch removes GetDefaultPrinterNameFromGlobalPrinters() by simply
inlining it at its two callsites, which is easy with the changed types.

--HG--
extra : rebase_source : 9ab9b3694f093fc9b22c7f8e2394a98674d76c11
2017-10-09 10:08:09 +11:00
Tobias Schneider 7fa6b225c8 Bug 1260480 - Remove mozNoMarginBoxes. r=dbaron 2016-04-06 09:53:00 +02:00
Bob Owen 1f36475812 Bug 1257825: Remove checks for paper height and width <= 0 in nsPrintSettings. r=dvander
Also added the check for invalid width / height into nsDeviceContextSpecProxy that was added into nsDeviceContextSpecWin.
2016-03-19 11:07:16 +00:00
Bob Owen 393a50d4dc Bug 1238964 Part 2: Move separate DEVMODE to nsIPrintSettings copying into nsPrintSettingsWin. r=jimm
This also corrects what I think are long standing issues with the mapping to and
from print settings on Windows.
Firstly it only uses the DEVMODE flags to decide what should get stored, in the
old code if paper size was not set, it would then use that possibly invalid
paper size to map to length and width. Paper setting prefs are mapped back if
they were stored or if they have been manually set to something sane.
Secondly it corrects the calculation that was used to convert from millimeters
to tenths of millimeters.
It also gets rid of the paperSizeType field, which was only used on Windows and
doesn't actually make sense according to the DEVMODE documentation as the
dmPaperLength and dmPaperWidth fields override the dmPaperSize, but can in
theory be specified at the same time.
2016-01-12 17:40:07 +00:00
Nathan Froyd 01583602a9 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi

--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Birunthan Mohanathas 7315345693 Bug 1191100 - Remove XPIDL signature comments in .cpp files. r=ehsan
Comment-only so DONTBUILD.
2015-08-04 16:17:36 -07:00
Bobby Holley 97b9240b34 Bug 1188696 - Hoist nsRefPtr.h into MFBT. r=froydnj 2015-07-29 10:44:59 -07:00
Milan Sreckovic 50bc2f0ddc Bug 1019063 - Check for ::CreateDCW failing when printing. r=dvander 2015-06-18 08:18:00 +02:00
Karl Tomlinson 603b1ace02 bug 147419 remove ununsed plexName colorspace resolutionName and downloadFonts r=roc
This was only used to write to and read from otherwise unused preferences.

--HG--
extra : rebase_source : a538569807b8340dae3fe9f0cbfc68334e20ccc9
2015-06-11 09:34:27 +12:00
Karl Tomlinson a19a1f0d0c bug 147419 remove ununsed nsIPrintSettings::printCommand and print_command prefs r=roc
These was used only to write to and read from each other.

--HG--
extra : rebase_source : ef49678652f829fe23611fb2294a22c3ffd91cf1
2015-06-10 18:10:28 +12:00
Mike Conley 1a3aaea52d Bug 1091112 - Serialize nsIPrintSettings options bitfield. r=jimm
--HG--
extra : commitid : Dms9DmIQc6x
extra : rebase_source : 28597e8eb3c7c9e11bf26f611dae21ff96fad968
2015-05-06 15:35:35 -04:00
Olli Pettay aad5b35ad2 Bug 936092, initial DnD support for e10s, r=enndeakin,karlt
--HG--
extra : rebase_source : 070a9902f23d8b47e48ac0f972213815f8e4302c
2015-04-08 21:48:11 +03:00
Ryan VanderMeulen 1b034b250f Backed out changesets 33d37539c4ab and 55524bdeb708 (bug 936092) for suspicion of causing e10s test_bug417418.html asserts on Linux.
CLOSED TREE
2015-04-08 13:52:21 -04:00
Olli Pettay efdecf747e Bug 936092, initial DnD support for e10s, r=enndeakin,karlt
--HG--
extra : rebase_source : f0b1b0fa95dfa5fe16c09ebbc38618cf7c96654f
2015-04-08 18:30:03 +03:00
Nathan Froyd b252a27930 Bug 1142503 - don't use QueryInterface when the compiler can do the cast for us; r=ehsan
Calling QueryInterface with a statically known IID should typically not
be necessary.  In those cases where it's not, the compiler can do the
cast for us, though we have to supply the reference-counting that
QueryInterface would do.

In passing, several redundant null-checks for the result of |new T| have
been deleted.
2015-03-12 09:43:50 -04:00