Commit 06536dde authored by jimmy gong's avatar jimmy gong Committed by Commit Bot

Revert "Make CupsPrintersManager a CrosNetworkConfigObserver"

This reverts commit 56118b17.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Make CupsPrintersManager a CrosNetworkConfigObserver
> 
> - CupsPrinterManager will now detect for network changes.
> - Previously, when the network changes CupsPrintersManager would
>   wait until ZeroConfDetector updates with new printers.
> - This resulted in a small time frame in which CupsPrintersManager
>   would still retain stale printers from the previous network.
> - This fixes that bug by clearing the all printers upon a network
>   change, ensuring only new printers are populated.
> 
> Bug: 779602
> Test: unittests, end to end manual
> Change-Id: I0efe9e0a2252378bca178dc4b6dcea4da6baa978
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1764677
> Commit-Queue: jimmy gong <jimmyxgong@chromium.org>
> Reviewed-by: Zentaro Kavanagh <zentaro@chromium.org>
> Reviewed-by: Bailey Berro <baileyberro@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#693364}

TBR=zentaro@chromium.org,baileyberro@chromium.org,jimmyxgong@chromium.org

Change-Id: I1a5ca385c7babae571722722890276efe9b65dd4
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 779602
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1785897
Commit-Queue: Bailey Berro <baileyberro@chromium.org>
Reviewed-by: default avatarBailey Berro <baileyberro@chromium.org>
Cr-Commit-Position: refs/heads/master@{#693386}
parent 18732d83
...@@ -7,7 +7,6 @@ ...@@ -7,7 +7,6 @@
#include <map> #include <map>
#include <utility> #include <utility>
#include "ash/public/cpp/network_config_service.h"
#include "base/bind.h" #include "base/bind.h"
#include "base/observer_list.h" #include "base/observer_list.h"
#include "base/optional.h" #include "base/optional.h"
...@@ -28,20 +27,16 @@ ...@@ -28,20 +27,16 @@
#include "chrome/browser/chromeos/printing/zeroconf_printer_detector.h" #include "chrome/browser/chromeos/printing/zeroconf_printer_detector.h"
#include "chrome/browser/profiles/profile.h" #include "chrome/browser/profiles/profile.h"
#include "chrome/common/pref_names.h" #include "chrome/common/pref_names.h"
#include "chromeos/services/network_config/public/mojom/cros_network_config.mojom.h"
#include "components/policy/policy_constants.h" #include "components/policy/policy_constants.h"
#include "components/pref_registry/pref_registry_syncable.h" #include "components/pref_registry/pref_registry_syncable.h"
#include "components/prefs/pref_member.h" #include "components/prefs/pref_member.h"
#include "components/prefs/pref_service.h" #include "components/prefs/pref_service.h"
#include "mojo/public/cpp/bindings/remote.h"
namespace chromeos { namespace chromeos {
namespace { namespace {
class CupsPrintersManagerImpl class CupsPrintersManagerImpl : public CupsPrintersManager,
: public CupsPrintersManager, public SyncedPrintersManager::Observer {
public SyncedPrintersManager::Observer,
public chromeos::network_config::mojom::CrosNetworkConfigObserver {
public: public:
// Identifiers for each of the underlying PrinterDetectors this // Identifiers for each of the underlying PrinterDetectors this
// class observes. // class observes.
...@@ -72,14 +67,6 @@ class CupsPrintersManagerImpl ...@@ -72,14 +67,6 @@ class CupsPrintersManagerImpl
// Add the |auto_usb_printer_configurer_| as an observer. // Add the |auto_usb_printer_configurer_| as an observer.
AddObserver(&auto_usb_printer_configurer_); AddObserver(&auto_usb_printer_configurer_);
ash::GetNetworkConfigService(
remote_cros_network_config_.BindNewPipeAndPassReceiver());
chromeos::network_config::mojom::CrosNetworkConfigObserverPtr observer_ptr;
cros_network_config_observer_receiver_.Bind(
mojo::MakeRequest(&observer_ptr));
remote_cros_network_config_->AddObserver(std::move(observer_ptr));
// Prime the printer cache with the saved and enterprise printers. // Prime the printer cache with the saved and enterprise printers.
printers_.ReplacePrintersInClass( printers_.ReplacePrintersInClass(
PrinterClass::kSaved, synced_printers_manager_->GetSavedPrinters()); PrinterClass::kSaved, synced_printers_manager_->GetSavedPrinters());
...@@ -239,27 +226,6 @@ class CupsPrintersManagerImpl ...@@ -239,27 +226,6 @@ class CupsPrintersManagerImpl
NotifyObservers({PrinterClass::kEnterprise}); NotifyObservers({PrinterClass::kEnterprise});
} }
// mojom::CrosNetworkConfigObserver implementation.
void OnActiveNetworksChanged(
std::vector<chromeos::network_config::mojom::NetworkStatePropertiesPtr>
networks) override {
// Clear the network detected printers when the active network changes.
// This ensures that connecting to a new network will give us only newly
// detected printers.
ClearNetworkDetectedPrinters();
}
// mojom::CrosNetworkConfigObserver implementation.
void OnNetworkStateChanged(
chromeos::network_config::mojom::NetworkStatePropertiesPtr /* network */)
override {}
// mojom::CrosNetworkConfigObserver implementation.
void OnNetworkStateListChanged() override {}
// mojom::CrosNetworkConfigObserver implementation.
void OnDeviceStateListChanged() override {}
// Callback for PrinterDetectors. // Callback for PrinterDetectors.
void OnPrintersFound( void OnPrintersFound(
int detector_id, int detector_id,
...@@ -476,13 +442,6 @@ class CupsPrintersManagerImpl ...@@ -476,13 +442,6 @@ class CupsPrintersManagerImpl
PrinterConfigurer::SetupFingerprint(printer); PrinterConfigurer::SetupFingerprint(printer);
} }
// Resets all network detected printer lists.
void ClearNetworkDetectedPrinters() {
zeroconf_detections_.clear();
ResetNearbyPrintersLists();
}
SEQUENCE_CHECKER(sequence_); SEQUENCE_CHECKER(sequence_);
// Source lists for detected printers. // Source lists for detected printers.
...@@ -493,10 +452,6 @@ class CupsPrintersManagerImpl ...@@ -493,10 +452,6 @@ class CupsPrintersManagerImpl
SyncedPrintersManager* const synced_printers_manager_; SyncedPrintersManager* const synced_printers_manager_;
ScopedObserver<SyncedPrintersManager, SyncedPrintersManager::Observer> ScopedObserver<SyncedPrintersManager, SyncedPrintersManager::Observer>
synced_printers_manager_observer_; synced_printers_manager_observer_;
mojo::Remote<chromeos::network_config::mojom::CrosNetworkConfig>
remote_cros_network_config_;
mojo::Receiver<chromeos::network_config::mojom::CrosNetworkConfigObserver>
cros_network_config_observer_receiver_{this};
std::unique_ptr<PrinterDetector> usb_detector_; std::unique_ptr<PrinterDetector> usb_detector_;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment