|
37 | 37 | LaunchServicesDatabaseObserver::LaunchServicesDatabaseObserver(NetworkProcess&)
|
38 | 38 | {
|
39 | 39 | #if HAVE(LSDATABASECONTEXT) && !HAVE(SYSTEM_CONTENT_LS_DATABASE)
|
40 |
| - m_observer = [LSDatabaseContext.sharedDatabaseContext addDatabaseChangeObserver4CyberKit:^(xpc_object_t change) { |
| 40 | + if (![LSDatabaseContext.sharedDatabaseContext respondsToSelector:@selector(addDatabaseChangeObserver4WebKit:)]) |
| 41 | + return; |
| 42 | + m_observer = [LSDatabaseContext.sharedDatabaseContext addDatabaseChangeObserver4WebKit:^(xpc_object_t change) { |
41 | 43 | auto message = adoptOSObject(xpc_dictionary_create(nullptr, nullptr, 0));
|
42 | 44 | xpc_dictionary_set_string(message.get(), XPCEndpoint::xpcMessageNameKey, LaunchServicesDatabaseXPCConstants::xpcUpdateLaunchServicesDatabaseMessageName);
|
43 | 45 | xpc_dictionary_set_value(message.get(), LaunchServicesDatabaseXPCConstants::xpcLaunchServicesDatabaseKey, change);
|
|
75 | 77 |
|
76 | 78 | }).get()];
|
77 | 79 | #elif HAVE(LSDATABASECONTEXT)
|
78 |
| - RetainPtr<id> observer = [LSDatabaseContext.sharedDatabaseContext addDatabaseChangeObserver4CyberKit:^(xpc_object_t change) { |
| 80 | + if (![LSDatabaseContext.sharedDatabaseContext respondsToSelector:@selector(addDatabaseChangeObserver4WebKit:)]) { |
| 81 | + auto message = adoptOSObject(xpc_dictionary_create(nullptr, nullptr, 0)); |
| 82 | + xpc_dictionary_set_string(message.get(), XPCEndpoint::xpcMessageNameKey, LaunchServicesDatabaseXPCConstants::xpcUpdateLaunchServicesDatabaseMessageName); |
| 83 | + xpc_connection_send_message(connection.get(), message.get()); |
| 84 | + return; |
| 85 | + } |
| 86 | + |
| 87 | + RetainPtr<id> observer = [LSDatabaseContext.sharedDatabaseContext addDatabaseChangeObserver4WebKit:^(xpc_object_t change) { |
79 | 88 | auto message = adoptOSObject(xpc_dictionary_create(nullptr, nullptr, 0));
|
80 | 89 | xpc_dictionary_set_string(message.get(), XPCEndpoint::xpcMessageNameKey, LaunchServicesDatabaseXPCConstants::xpcUpdateLaunchServicesDatabaseMessageName);
|
81 | 90 | xpc_dictionary_set_value(message.get(), LaunchServicesDatabaseXPCConstants::xpcLaunchServicesDatabaseKey, change);
|
82 | 91 |
|
83 | 92 | xpc_connection_send_message(connection.get(), message.get());
|
84 | 93 | }];
|
85 | 94 |
|
86 |
| - [LSDatabaseContext.sharedDatabaseContext removeDatabaseChangeObserver4CyberKit:observer.get()]; |
| 95 | + [LSDatabaseContext.sharedDatabaseContext removeDatabaseChangeObserver4WebKit:observer.get()]; |
87 | 96 | #else
|
88 | 97 | auto message = adoptOSObject(xpc_dictionary_create(nullptr, nullptr, 0));
|
89 | 98 | xpc_dictionary_set_string(message.get(), XPCEndpoint::xpcMessageNameKey, LaunchServicesDatabaseXPCConstants::xpcUpdateLaunchServicesDatabaseMessageName);
|
|
94 | 103 | LaunchServicesDatabaseObserver::~LaunchServicesDatabaseObserver()
|
95 | 104 | {
|
96 | 105 | #if HAVE(LSDATABASECONTEXT) && !HAVE(SYSTEM_CONTENT_LS_DATABASE)
|
97 |
| - [LSDatabaseContext.sharedDatabaseContext removeDatabaseChangeObserver4CyberKit:m_observer.get()]; |
| 106 | + [LSDatabaseContext.sharedDatabaseContext removeDatabaseChangeObserver4WebKit:m_observer.get()]; |
98 | 107 | #endif
|
99 | 108 | }
|
100 | 109 |
|
|
0 commit comments