Index: ui/base/window_open_disposition_enum_traits.h |
diff --git a/ui/base/window_open_disposition_enum_traits.h b/ui/base/window_open_disposition_enum_traits.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..7e29d321b2bf8699f1de3af125c18145c6d83477 |
--- /dev/null |
+++ b/ui/base/window_open_disposition_enum_traits.h |
@@ -0,0 +1,83 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#include "base/logging.h" |
+#include "mojo/public/cpp/bindings/enum_traits.h" |
+#include "ui/base/window_open_disposition.h" |
+#include "ui/base/window_open_disposition.mojom.h" |
+ |
+namespace mojo { |
+ |
+template <> |
+struct EnumTraits<ui::mojom::WindowOpenDisposition, WindowOpenDisposition> { |
+ static ui::mojom::WindowOpenDisposition ToMojom( |
+ WindowOpenDisposition disposition) { |
+ switch (disposition) { |
+ case WindowOpenDisposition::UNKNOWN: |
+ return ui::mojom::WindowOpenDisposition::UNKNOWN; |
+ case WindowOpenDisposition::CURRENT_TAB: |
+ return ui::mojom::WindowOpenDisposition::CURRENT_TAB; |
+ case WindowOpenDisposition::SINGLETON_TAB: |
+ return ui::mojom::WindowOpenDisposition::SINGLETON_TAB; |
+ case WindowOpenDisposition::NEW_FOREGROUND_TAB: |
+ return ui::mojom::WindowOpenDisposition::NEW_FOREGROUND_TAB; |
+ case WindowOpenDisposition::NEW_BACKGROUND_TAB: |
+ return ui::mojom::WindowOpenDisposition::NEW_BACKGROUND_TAB; |
+ case WindowOpenDisposition::NEW_POPUP: |
+ return ui::mojom::WindowOpenDisposition::NEW_POPUP; |
+ case WindowOpenDisposition::NEW_WINDOW: |
+ return ui::mojom::WindowOpenDisposition::NEW_WINDOW; |
+ case WindowOpenDisposition::SAVE_TO_DISK: |
+ return ui::mojom::WindowOpenDisposition::SAVE_TO_DISK; |
+ case WindowOpenDisposition::OFF_THE_RECORD: |
+ return ui::mojom::WindowOpenDisposition::OFF_THE_RECORD; |
+ case WindowOpenDisposition::IGNORE_ACTION: |
+ return ui::mojom::WindowOpenDisposition::IGNORE_ACTION; |
+ default: |
+ NOTREACHED(); |
+ return ui::mojom::WindowOpenDisposition::UNKNOWN; |
+ } |
+ } |
+ |
+ static bool FromMojom(ui::mojom::WindowOpenDisposition disposition, |
+ WindowOpenDisposition* out) { |
+ switch (disposition) { |
+ case ui::mojom::WindowOpenDisposition::UNKNOWN: |
+ *out = WindowOpenDisposition::UNKNOWN; |
+ return true; |
+ case ui::mojom::WindowOpenDisposition::CURRENT_TAB: |
+ *out = WindowOpenDisposition::CURRENT_TAB; |
+ return true; |
+ case ui::mojom::WindowOpenDisposition::SINGLETON_TAB: |
+ *out = WindowOpenDisposition::SINGLETON_TAB; |
+ return true; |
+ case ui::mojom::WindowOpenDisposition::NEW_FOREGROUND_TAB: |
+ *out = WindowOpenDisposition::NEW_FOREGROUND_TAB; |
+ return true; |
+ case ui::mojom::WindowOpenDisposition::NEW_BACKGROUND_TAB: |
+ *out = WindowOpenDisposition::NEW_BACKGROUND_TAB; |
+ return true; |
+ case ui::mojom::WindowOpenDisposition::NEW_POPUP: |
+ *out = WindowOpenDisposition::NEW_POPUP; |
+ return true; |
+ case ui::mojom::WindowOpenDisposition::NEW_WINDOW: |
+ *out = WindowOpenDisposition::NEW_WINDOW; |
+ return true; |
+ case ui::mojom::WindowOpenDisposition::SAVE_TO_DISK: |
+ *out = WindowOpenDisposition::SAVE_TO_DISK; |
+ return true; |
+ case ui::mojom::WindowOpenDisposition::OFF_THE_RECORD: |
+ *out = WindowOpenDisposition::OFF_THE_RECORD; |
+ return true; |
+ case ui::mojom::WindowOpenDisposition::IGNORE_ACTION: |
+ *out = WindowOpenDisposition::IGNORE_ACTION; |
+ return true; |
+ default: |
+ NOTREACHED(); |
+ return false; |
+ } |
+ } |
+}; |
+ |
+} // namespace mojo |