This requires renaming the existing nsIntRegion::RectIterator as
nsIntRegion::OldRectIterator to make way for the new nsIntRegion::RectIterator.
This doesn't require many knock-on changes because most existing uses of
that type use the nsIntRegionRectIterator typedef.
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.
This also holds the resolution in the print settings, so that we can start to
remove the access to the native Windows print devices in the child process.
We will now search for distributions in the following folders:
* 1) Data distributions (APK or OTA):
* 1.1) <dataDir>/distribution/<mcc>/<mnc> - For bundled distributions for specific network providers
* 1.2) <dataDir>/distribution/<mcc> - For bundled distributions for specific countries
* 1.3) <dataDir>/distribution/default - For bundled distributions with no matching mcc/mnc
* 1.4) <dataDir>/distribution - Default non-bundled distribution
* 2) System distributions:
* 2.1) /system/<package>/distribution/<mcc>/<mnc> - For bundled distributions for specific network providers
* 2.2) /system/<package>/distribution/<mcc> - For bundled distributions for specific countries
* 2.3) /system/<package>/distribution/default - For bundled distributions with no matching mcc/mnc
* 2.4) /system/<package>/distribution - Default non-bundled system distribution
With APZC supporting multiple nsWindows, this patch removes some
obsolete APZ code, including the previous implementation of
NativePanZoomController native methods in AndroidJNI.cpp, and the
various static members of nsWindow.
This patch adds a way to attach a particular NativePanZoomController
instance held by LayerView to a particular nsWindow instance. Because
LayerView already calls GLController.SetLayerClient during
initialization, this patch renames it to attachToJava and modifies it to
accept an additional NPZC parameter. In the new AttachToJava
implementation, we create or reuse a NPZCSupport object and associate it
with the NPZC instance.
This patch adds the NPZCSupport class to nsWindow and use it to
implement the NPZC native methods that were implemented in
AndroidJNI.cpp. For HandleMotionEvent, the code also includes a portion
from AndroidJavaWrapper::MakeMultitouchEvent.
This patch adds specializations of jni::Ref for primitive arrays like
IntArray and FloatArray, so that the arrays can be accessed through the
GetElement, GetElements, and Length members.
This patch turns NativePanZoomController's MotionEvent handler into a
native method, and it adds the WrapForJNI annotations to all native
methods so that bindings will be automatically generated for them.
This patch removes dozens of ToUnknown/FromUnknown conversions and doesn't add
any new ones, which is nice. It also removes UntypedDevPixelsToCocoaPoints(),
which is no longer needed.