AU: Full proxy support
This CL Introduces a new proxy resolver that queries Chrome browser
for all URLs. This means the updater now works with Proxy
AutoConfiguration (PAC) files and automatic proxy detection.
BUG=chromium-os:9478
TEST=performed update, unittests
Review URL: http://codereview.chromium.org/6594025
Change-Id: I2c169aec06109e3eabc4011e0b536685dfd13f79
diff --git a/mock_dbus_interface.h b/mock_dbus_interface.h
index c817109..781b3f3 100644
--- a/mock_dbus_interface.h
+++ b/mock_dbus_interface.h
@@ -37,19 +37,70 @@
GType var_arg3,
GType var_arg4, gchar** var_arg5,
GType var_arg6, GArray** var_arg7));
+ MOCK_METHOD10(ProxyCall, gboolean(DBusGProxy* proxy,
+ const char* method,
+ GError** error,
+ GType var_arg1, const char* var_arg2,
+ GType var_arg3, const char* var_arg4,
+ GType var_arg5, const char* var_arg6,
+ GType var_arg7));
+
+ MOCK_METHOD1(ConnectionGetConnection, DBusConnection*(DBusGConnection* gbus));
+
+ MOCK_METHOD3(DbusBusAddMatch, void(DBusConnection* connection,
+ const char* rule,
+ DBusError* error));
+
+ MOCK_METHOD4(DbusConnectionAddFilter, dbus_bool_t(
+ DBusConnection* connection,
+ DBusHandleMessageFunction function,
+ void* user_data,
+ DBusFreeFunction free_data_function));
+
+ MOCK_METHOD3(DbusConnectionRemoveFilter, void(
+ DBusConnection* connection,
+ DBusHandleMessageFunction function,
+ void* user_data));
+
+ MOCK_METHOD3(DbusMessageIsSignal, dbus_bool_t(DBusMessage* message,
+ const char* interface,
+ const char* signal_name));
+
+ MOCK_METHOD9(DbusMessageGetArgs, dbus_bool_t(
+ DBusMessage* message,
+ DBusError* error,
+ GType var_arg1, char** var_arg2,
+ GType var_arg3, char** var_arg4,
+ GType var_arg5, char** var_arg6,
+ GType var_arg7));
// Since gmock only supports mocking functions up to 10 args, we
// take the 11-arg function we'd like to mock, drop the last arg
// and call the 10-arg version. Dropping the last arg isn't ideal,
// but this is a lot better than nothing.
gboolean ProxyCall(DBusGProxy* proxy,
- const char* method,
- GError** error,
- GType var_arg1, const char* var_arg2,
- GType var_arg3,
- GType var_arg4, gchar** var_arg5,
- GType var_arg6, GArray** var_arg7,
- GType var_arg8) {
+ const char* method,
+ GError** error,
+ GType var_arg1, const char* var_arg2,
+ GType var_arg3,
+ GType var_arg4, gchar** var_arg5,
+ GType var_arg6, GArray** var_arg7,
+ GType var_arg8) {
+ return ProxyCall(proxy,
+ method,
+ error,
+ var_arg1, var_arg2,
+ var_arg3,
+ var_arg4, var_arg5,
+ var_arg6, var_arg7);
+ }
+ gboolean ProxyCall(DBusGProxy* proxy,
+ const char* method,
+ GError** error,
+ GType var_arg1, const char* var_arg2,
+ GType var_arg3, const char* var_arg4,
+ GType var_arg5, const char* var_arg6,
+ GType var_arg7, GType var_arg8) {
return ProxyCall(proxy,
method,
error,