extended_drag_offer.cc 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. // Copyright 2020 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "components/exo/extended_drag_offer.h"
  5. #include <cstdint>
  6. #include <string>
  7. #include "base/check_op.h"
  8. #include "base/notreached.h"
  9. #include "components/exo/data_offer.h"
  10. #include "components/exo/data_offer_observer.h"
  11. #include "ui/gfx/geometry/vector2d.h"
  12. namespace exo {
  13. ExtendedDragOffer::ExtendedDragOffer(DataOffer* offer, Delegate* delegate)
  14. : offer_(offer), delegate_(delegate) {
  15. DCHECK(offer_);
  16. DCHECK(delegate_);
  17. }
  18. ExtendedDragOffer::~ExtendedDragOffer() {
  19. delegate_->OnDataOfferDestroying();
  20. }
  21. // TODO(crbug.com/1099418): Implement extended-drag Wayland extension.
  22. void ExtendedDragOffer::Swallow(uint32_t serial, const std::string& mime_type) {
  23. NOTIMPLEMENTED();
  24. }
  25. // TODO(crbug.com/1099418): Implement extended-drag Wayland extension.
  26. void ExtendedDragOffer::Unswallow(uint32_t serial,
  27. const std::string& mime_type,
  28. const gfx::Vector2d& offset) {
  29. NOTIMPLEMENTED();
  30. }
  31. void ExtendedDragOffer::OnDataOfferDestroying(DataOffer* offer) {
  32. DCHECK_EQ(offer, offer_);
  33. offer_ = nullptr;
  34. }
  35. } // namespace exo