We add to TaskClusterArtifactFinderMixin the ability to support
normal Buildbot Bridge triggered tasks + tasks that contain the
property 'parent_task_id'.
This allows for tasks to depend on tasks different than the one
they're going to grab artifacts from.
In this patch we support both the traditional approach
plus the new model.
We also add support for native TC tasks where properties.json
is not available. With pure TC tasks we assume
['extra']['locations']['build'] being set and pointing to
the installer artifact.
--HG--
extra : commitid : GKcTU68PAoZ
extra : rebase_source : 6f70be2748000bd85995861bee7a54d0a6a5933b
The goal here is to leave creation stuff mostly for JS, so we can
convert it entirely over to a non-threadsafe cycle-collected version
without breaking any existing C++ users.
I didn't do this for a remaining use in nsGlobalWindow.h to avoid
including nsVariant.h all over the place.
The PDMFactory will run more accurate checks based on the TrackInfo object and will fail to create a decoder if the type is unsupported. So use that instead
The GeckoEditable instance doesn't change for each nsWindow instance.
However, because a GeckoInputConnection is associated with a GeckoView,
when we create a new GeckoView, we need to attach a new
GeckoInputConnection to the existing nsWindow's GeckoEditable. This
patch makes us do that inside nsWindow::Natives::Open by calling
GeckoEditable.OnViewChange.
This patch removes the GeckoEditable code in GeckoAppShell, and make
nsWindow create a GeckoEditable for itself when opening a window.
Instead of calling GeckoAppShell, nsWindow can now call GeckoEditable
methods directly.
InputConnectionHandler really doesn't belong in the gfx package, and
the code to call key event handlers really doesn't belong in LayerView.
This patch refactors things, so that InputConnectionHandler is renamed
to org.mozilla.gecko.InputConnectionListener, and the interface is now
used by GeckoView instead of by LayerView.
We try to generate a C++ constant for static final fields, but that
was failing for inaccessible fields. Now we set the field to be
accessible so that we do end up generating a C++ constant.
Right now, when we generate bindings for Java class A, and we encounter
a Java type B, we generate a corresponding C++ name only if A == B,
otherwise we generate a generic "jni::Object" C++ name. For example,
class Foo {
class Bar {
Foo getFoo(Bar bar);
}
}
In C++, Foo.Bar.getFoo would become,
class Foo {
class Bar {
jni::Object::LocalRef getFoo(Bar::Param bar);
};
};
This patch extends the code generator so that any Java class in the
chain of declared classes gets a corresponding C++ name. The above
example now becomes,
class Foo {
class Bar {
Foo::LocalRef getFoo(Bar::Param bar);
};
};
The PROCESS_OBJECT GeckoEvent is used to set the layer client object in
Gecko once Gecko is done loading. This patch converts it to a native
call in GeckoView.Window.
When we queue native calls in GeckoThread, we try to deduce the
types of the arguments through Object.getClass(). However, there are
cases where this could fail. For example, the argument could be null,
or could be a String instance but the parameter type is really
CharSequence.
This patch introduces a way to optionally include parameter types for
the queued call. When a passed-in argument is a Class instance, it is
treated as the type for the next queued parameter, and the next argument
is treated as the value for the queued parameter. For example,
> // Queue a call with CharSequence parameter, using a String argument.
> GeckoThread.queueNativeCall(..., CharSequence.class, "123");
> // Queue a call with String parameter, using a null argument.
> GeckoThread.queueNativeCall(..., String.class, null);
Deduction is still performed when the type is missing:
> // Queue a call with int, String, and boolean parameter.
> GeckoThread.queueNativeCall(..., 42, "123", true);
> // Queue the same call but with a null argument.
> GeckoThread.queueNativeCall(..., 42, String.class, null, true);
When we added support for finding artifacts from TaskCluster BBB tasks
we added an error for not finding the artifacts either via buildbot properties
or through the TC APIs.
Unfortunately, this error did not take into consideration when mozharness sets
the artifacts through the options --installer-url and --test-url.
We're removing the error as few lines below the error logging is sufficient
to handle all three cases and not raise misleading errors.
--HG--
extra : commitid : 1nxRrdDWutr
extra : histedit_source : b0720a9783cea7cdde9866fd09d5d8847c9c08e3
The conversion is as follows:
- GraphicsFilter::FILTER_NEAREST == gfx::Filter::POINT
- GraphicsFilter::FILTER_GOOD == gfx::Filter::GOOD
- GraphicsFilter::FILTER_BEST == gfx::Filter::LINEAR
Also typedef GraphicsFilter to gfx::Filter; this will be removed in the next
patch.
These changes mean ToFilter() and ThebesFilter() are no longer needed.