Commit ce80ad3c authored by Oksana Zhuravlova's avatar Oksana Zhuravlova Committed by Commit Bot

Move logfont_win.mojom and text_direction.mojom from common to base

This change moves logfont_win.mojom from //mojo/common to
//mojo/public/mojom/base and logfont_win.typemap to
//mojo/public/cpp/base, as well as text_direction.mojom and
corresponding files. Unit test for TextDirection was updated and moved
to mojo_unittests.

Bug: 799482
Change-Id: Ib3d8b09d7aa3b7e12d3f66b38dbcea294a28c035
Reviewed-on: https://chromium-review.googlesource.com/971263Reviewed-by: default avatarKen Rockot <rockot@chromium.org>
Reviewed-by: default avatarDaniel Cheng <dcheng@chromium.org>
Commit-Queue: Oksana Zhuravlova <oksamyt@chromium.org>
Cr-Commit-Position: refs/heads/master@{#544843}
parent 5c8e13b1
......@@ -6,7 +6,7 @@ module autofill.mojom;
import "components/autofill/content/common/autofill_types.mojom";
import "mojo/public/mojom/base/string16.mojom";
import "mojo/common/text_direction.mojom";
import "mojo/public/mojom/base/text_direction.mojom";
import "mojo/public/mojom/base/time.mojom";
import "ui/gfx/geometry/mojo/geometry.mojom";
import "url/mojom/url.mojom";
......@@ -116,7 +116,7 @@ interface PasswordManagerDriver {
// associated with |key|. The popup will use |text_direction| for displaying
// text.
ShowPasswordSuggestions(int32 key,
mojo.common.mojom.TextDirection text_direction,
mojo_base.mojom.TextDirection text_direction,
mojo_base.mojom.String16 typed_username,
int32 options, gfx.mojom.RectF bounds);
......@@ -124,14 +124,14 @@ interface PasswordManagerDriver {
// is not secure. The popup will use |text_direction| for displaying
// text. This popup is shown when a password form on a non-secure page is
// autofilled on page load.
ShowNotSecureWarning(mojo.common.mojom.TextDirection text_direction,
ShowNotSecureWarning(mojo_base.mojom.TextDirection text_direction,
gfx.mojom.RectF bounds);
// Instructs the browser to show a suggestion, which will redirect the user to
// the list of all saved passwords. The popup will use |text_direction| for
// displaying text.
ShowManualFallbackSuggestion(mojo.common.mojom.TextDirection text_direction,
ShowManualFallbackSuggestion(mojo_base.mojom.TextDirection text_direction,
gfx.mojom.RectF bounds);
// Instructs the browser to presave the form with generated password.
......
......@@ -4,7 +4,7 @@
module autofill.mojom;
import "mojo/common/text_direction.mojom";
import "mojo/public/mojom/base/text_direction.mojom";
import "mojo/public/mojom/base/time.mojom";
import "mojo/public/mojom/base/string16.mojom";
import "url/mojom/origin.mojom";
......@@ -119,7 +119,7 @@ struct FormFieldData {
bool is_focusable;
bool should_autocomplete;
RoleAttribute role;
mojo.common.mojom.TextDirection text_direction;
mojo_base.mojom.TextDirection text_direction;
array<mojo_base.mojom.String16> option_values;
array<mojo_base.mojom.String16> option_contents;
......
......@@ -5,8 +5,8 @@
#include "components/autofill/content/common/autofill_types_struct_traits.h"
#include "base/i18n/rtl.h"
#include "mojo/common/common_custom_types_struct_traits.h"
#include "mojo/public/cpp/base/string16_mojom_traits.h"
#include "mojo/public/cpp/base/text_direction_mojom_traits.h"
#include "mojo/public/cpp/base/time_mojom_traits.h"
#include "url/mojom/origin_mojom_traits.h"
#include "url/mojom/url_gurl_mojom_traits.h"
......
......@@ -4,7 +4,7 @@
module content.mojom;
import "mojo/common/logfont_win.mojom";
import "mojo/public/mojom/base/logfont_win.mojom";
// Messages sent from child processes to the browser on Windows only. This file
// will not be built on other platforms.
......@@ -13,7 +13,7 @@ interface FontCacheWin {
// OS. This must wait for the browser to finish to guarantee the font has been
// cached. See ChildProcessHost::PreCacheFont() for details.
[Sync]
PreCacheFont(mojo.common.mojom.LOGFONT log_font) => ();
PreCacheFont(mojo_base.mojom.LOGFONT log_font) => ();
// Release the cached fonts.
ReleaseCachedFonts();
......
......@@ -16,16 +16,11 @@ mojom("common_custom_types") {
sources = [
"memory_allocator_dump_cross_process_uid.mojom",
"process_id.mojom",
"text_direction.mojom",
"thread_priority.mojom",
"unguessable_token.mojom",
"values.mojom",
]
if (is_win) {
sources += [ "logfont_win.mojom" ]
}
public_deps = [
"//mojo/public/mojom/base",
]
......
......@@ -3,7 +3,6 @@
// found in the LICENSE file.
#include "mojo/common/common_custom_types_struct_traits.h"
#include "mojo/public/cpp/system/platform_handle.h"
namespace mojo {
......@@ -24,40 +23,6 @@ bool StructTraits<
return true;
}
// static
common::mojom::TextDirection
EnumTraits<common::mojom::TextDirection, base::i18n::TextDirection>::ToMojom(
base::i18n::TextDirection text_direction) {
switch (text_direction) {
case base::i18n::UNKNOWN_DIRECTION:
return common::mojom::TextDirection::UNKNOWN_DIRECTION;
case base::i18n::RIGHT_TO_LEFT:
return common::mojom::TextDirection::RIGHT_TO_LEFT;
case base::i18n::LEFT_TO_RIGHT:
return common::mojom::TextDirection::LEFT_TO_RIGHT;
}
NOTREACHED();
return common::mojom::TextDirection::UNKNOWN_DIRECTION;
}
// static
bool EnumTraits<common::mojom::TextDirection, base::i18n::TextDirection>::
FromMojom(common::mojom::TextDirection input,
base::i18n::TextDirection* out) {
switch (input) {
case common::mojom::TextDirection::UNKNOWN_DIRECTION:
*out = base::i18n::UNKNOWN_DIRECTION;
return true;
case common::mojom::TextDirection::RIGHT_TO_LEFT:
*out = base::i18n::RIGHT_TO_LEFT;
return true;
case common::mojom::TextDirection::LEFT_TO_RIGHT:
*out = base::i18n::LEFT_TO_RIGHT;
return true;
}
return false;
}
// static
common::mojom::ThreadPriority
EnumTraits<common::mojom::ThreadPriority, base::ThreadPriority>::ToMojom(
......
......@@ -5,7 +5,6 @@
#ifndef MOJO_COMMON_COMMON_CUSTOM_TYPES_STRUCT_TRAITS_H_
#define MOJO_COMMON_COMMON_CUSTOM_TYPES_STRUCT_TRAITS_H_
#include "base/i18n/rtl.h"
#include "base/process/process_handle.h"
#include "base/strings/utf_string_conversions.h"
#include "base/trace_event/memory_allocator_dump_guid.h"
......@@ -13,7 +12,6 @@
#include "mojo/common/memory_allocator_dump_cross_process_uid.mojom-shared.h"
#include "mojo/common/mojo_common_export.h"
#include "mojo/common/process_id.mojom-shared.h"
#include "mojo/common/text_direction.mojom-shared.h"
#include "mojo/common/thread_priority.mojom-shared.h"
#include "mojo/common/unguessable_token.mojom-shared.h"
......@@ -52,14 +50,6 @@ struct StructTraits<common::mojom::ProcessIdDataView, base::ProcessId> {
}
};
template <>
struct EnumTraits<common::mojom::TextDirection, base::i18n::TextDirection> {
static common::mojom::TextDirection ToMojom(
base::i18n::TextDirection text_direction);
static bool FromMojom(common::mojom::TextDirection input,
base::i18n::TextDirection* out);
};
template <>
struct EnumTraits<common::mojom::ThreadPriority, base::ThreadPriority> {
static common::mojom::ThreadPriority ToMojom(
......
......@@ -101,21 +101,6 @@ class TestValueImpl : public TestValue {
mojo::Binding<TestValue> binding_;
};
class TestTextDirectionImpl : public TestTextDirection {
public:
explicit TestTextDirectionImpl(TestTextDirectionRequest request)
: binding_(this, std::move(request)) {}
// TestTextDirection:
void BounceTextDirection(base::i18n::TextDirection in,
BounceTextDirectionCallback callback) override {
std::move(callback).Run(in);
}
private:
mojo::Binding<TestTextDirection> binding_;
};
class CommonCustomTypesTest : public testing::Test {
protected:
CommonCustomTypesTest() {}
......@@ -229,21 +214,6 @@ TEST_F(CommonCustomTypesTest, Value) {
ASSERT_EQ(*input, *output);
}
TEST_F(CommonCustomTypesTest, TextDirection) {
base::i18n::TextDirection kTestDirections[] = {base::i18n::LEFT_TO_RIGHT,
base::i18n::RIGHT_TO_LEFT,
base::i18n::UNKNOWN_DIRECTION};
TestTextDirectionPtr ptr;
TestTextDirectionImpl impl(MakeRequest(&ptr));
for (size_t i = 0; i < arraysize(kTestDirections); i++) {
base::i18n::TextDirection direction_out;
ASSERT_TRUE(ptr->BounceTextDirection(kTestDirections[i], &direction_out));
EXPECT_EQ(kTestDirections[i], direction_out);
}
}
} // namespace test
} // namespace common
} // namespace mojo
......@@ -4,7 +4,6 @@
module mojo.common.test;
import "mojo/common/text_direction.mojom";
import "mojo/common/unguessable_token.mojom";
import "mojo/common/values.mojom";
......@@ -24,9 +23,3 @@ interface TestValue {
BounceValue(mojo.common.mojom.Value? in)
=> (mojo.common.mojom.Value? out);
};
interface TestTextDirection {
[Sync]
BounceTextDirection(mojo.common.mojom.TextDirection in)
=> (mojo.common.mojom.TextDirection out);
};
......@@ -3,11 +3,9 @@
# found in the LICENSE file.
typemaps = [
"//mojo/common/logfont_win.typemap",
"//mojo/common/memory_allocator_dump_cross_process_uid.typemap",
"//mojo/common/process_id.typemap",
"//mojo/common/read_only_buffer.typemap",
"//mojo/common/text_direction.typemap",
"//mojo/common/thread_priority.typemap",
"//mojo/common/unguessable_token.typemap",
"//mojo/common/values.typemap",
......
......@@ -38,6 +38,7 @@ component("shared_typemap_traits") {
public_deps = [
":base",
"//base:i18n",
"//mojo/public/mojom/base:base_shared",
]
}
......@@ -52,6 +53,7 @@ source_set("tests") {
"file_unittest.cc",
"ref_counted_memory_unittest.cc",
"string16_unittest.cc",
"text_direction_unittest.cc",
"time_unittest.cc",
"values_unittest.cc",
]
......
......@@ -2,11 +2,11 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
mojom = "//mojo/common/logfont_win.mojom"
mojom = "//mojo/public/mojom/base/logfont_win.mojom"
os_whitelist = [ "win" ]
public_headers = [ "//base/win/windows_full.h" ]
traits_headers = [ "//ipc/ipc_message_utils.h" ]
public_deps = [
"//ipc",
]
type_mappings = [ "mojo.common.mojom.LOGFONT=::LOGFONT" ]
type_mappings = [ "mojo_base.mojom.LOGFONT=::LOGFONT" ]
......@@ -2,11 +2,14 @@
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
mojom = "//mojo/common/text_direction.mojom"
mojom = "//mojo/public/mojom/base/text_direction.mojom"
public_headers = [ "//base/i18n/rtl.h" ]
traits_headers = [ "//mojo/common/common_custom_types_struct_traits.h" ]
traits_headers = [ "//mojo/public/cpp/base/text_direction_mojom_traits.h" ]
sources = [
"//mojo/public/cpp/base/text_direction_mojom_traits.cc",
"//mojo/public/cpp/base/text_direction_mojom_traits.h",
]
public_deps = [
"//base:i18n",
"//mojo/common:struct_traits",
]
type_mappings = [ "mojo.common.mojom.TextDirection=base::i18n::TextDirection" ]
type_mappings = [ "mojo_base.mojom.TextDirection=base::i18n::TextDirection" ]
// Copyright 2018 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 "mojo/public/cpp/base/text_direction_mojom_traits.h"
namespace mojo {
// static
mojo_base::mojom::TextDirection
EnumTraits<mojo_base::mojom::TextDirection, base::i18n::TextDirection>::ToMojom(
base::i18n::TextDirection text_direction) {
switch (text_direction) {
case base::i18n::UNKNOWN_DIRECTION:
return mojo_base::mojom::TextDirection::UNKNOWN_DIRECTION;
case base::i18n::RIGHT_TO_LEFT:
return mojo_base::mojom::TextDirection::RIGHT_TO_LEFT;
case base::i18n::LEFT_TO_RIGHT:
return mojo_base::mojom::TextDirection::LEFT_TO_RIGHT;
}
NOTREACHED();
return mojo_base::mojom::TextDirection::UNKNOWN_DIRECTION;
}
// static
bool EnumTraits<mojo_base::mojom::TextDirection, base::i18n::TextDirection>::
FromMojom(mojo_base::mojom::TextDirection input,
base::i18n::TextDirection* out) {
switch (input) {
case mojo_base::mojom::TextDirection::UNKNOWN_DIRECTION:
*out = base::i18n::UNKNOWN_DIRECTION;
return true;
case mojo_base::mojom::TextDirection::RIGHT_TO_LEFT:
*out = base::i18n::RIGHT_TO_LEFT;
return true;
case mojo_base::mojom::TextDirection::LEFT_TO_RIGHT:
*out = base::i18n::LEFT_TO_RIGHT;
return true;
}
return false;
}
} // namespace mojo
// Copyright 2018 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.
#ifndef MOJO_PUBLIC_CPP_BASE_TEXT_DIRECTION_MOJOM_TRAITS_H_
#define MOJO_PUBLIC_CPP_BASE_TEXT_DIRECTION_MOJOM_TRAITS_H_
#include "base/component_export.h"
#include "base/i18n/rtl.h"
#include "mojo/public/mojom/base/text_direction.mojom-shared.h"
namespace mojo {
template <>
struct COMPONENT_EXPORT(MOJO_BASE_MOJOM)
EnumTraits<mojo_base::mojom::TextDirection, base::i18n::TextDirection> {
static mojo_base::mojom::TextDirection ToMojom(
base::i18n::TextDirection text_direction);
static bool FromMojom(mojo_base::mojom::TextDirection input,
base::i18n::TextDirection* out);
};
} // namespace mojo
#endif // MOJO_PUBLIC_CPP_BASE_TEXT_DIRECTION_MOJOM_TRAITS_H_
// Copyright 2018 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 "mojo/public/cpp/base/text_direction_mojom_traits.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace mojo_base {
namespace text_direction_unittest {
TEST(TextDirectionTest, TextDirection) {
base::i18n::TextDirection kTestDirections[] = {base::i18n::LEFT_TO_RIGHT,
base::i18n::RIGHT_TO_LEFT,
base::i18n::UNKNOWN_DIRECTION};
for (auto direction_in : kTestDirections) {
base::i18n::TextDirection direction_out;
mojo_base::mojom::TextDirection serialized_direction =
mojo::EnumTraits<mojo_base::mojom::TextDirection,
base::i18n::TextDirection>::ToMojom(direction_in);
ASSERT_TRUE((mojo::EnumTraits<
mojo_base::mojom::TextDirection,
base::i18n::TextDirection>::FromMojom(serialized_direction,
&direction_out)));
EXPECT_EQ(direction_in, direction_out);
}
}
} // namespace text_direction_unittest
} // namespace mojo_base
\ No newline at end of file
// Copyright 2018 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.
......
......@@ -11,6 +11,8 @@ typemaps = [
"//mojo/public/cpp/base/file.typemap",
"//mojo/public/cpp/base/ref_counted_memory.typemap",
"//mojo/public/cpp/base/string16.typemap",
"//mojo/public/cpp/base/logfont_win.typemap",
"//mojo/public/cpp/base/text_direction.typemap",
"//mojo/public/cpp/base/time.typemap",
"//mojo/public/cpp/base/values.typemap",
]
......@@ -14,10 +14,15 @@ mojom_component("base") {
"file_path.mojom",
"ref_counted_memory.mojom",
"string16.mojom",
"text_direction.mojom",
"time.mojom",
"values.mojom",
]
if (is_win) {
sources += [ "logfont_win.mojom" ]
}
output_prefix = "mojo_base_mojom"
macro_prefix = "MOJO_BASE_MOJOM"
}
......@@ -2,7 +2,7 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module mojo.common.mojom;
module mojo_base.mojom;
// Native Windows struct. Its typemap only exists for windows builds.
[Native]
......
......@@ -2,11 +2,11 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
module mojo.common.mojom;
module mojo_base.mojom;
// Corresponds to |base::i18n::TextDirection| in base/i18n/rtl.h
enum TextDirection {
UNKNOWN_DIRECTION,
RIGHT_TO_LEFT,
LEFT_TO_RIGHT
};
enum TextDirection {
UNKNOWN_DIRECTION,
RIGHT_TO_LEFT,
LEFT_TO_RIGHT
};
......@@ -15,7 +15,6 @@ mojom("ime") {
]
public_deps = [
"//mojo/common:common_custom_types",
"//mojo/public/mojom/base",
"//ui/events/mojo:interfaces",
"//ui/gfx/geometry/mojo",
......
......@@ -4,7 +4,7 @@
module ui.mojom;
import "mojo/common/text_direction.mojom";
import "mojo/public/mojom/base/text_direction.mojom";
import "mojo/public/mojom/base/string16.mojom";
import "ui/events/mojo/event.mojom";
import "ui/gfx/geometry/mojo/geometry.mojom";
......@@ -119,7 +119,7 @@ struct StartSessionDetails {
// Initial details about |client| required by IMEDriver.
TextInputType text_input_type;
TextInputMode text_input_mode;
mojo.common.mojom.TextDirection text_direction;
mojo_base.mojom.TextDirection text_direction;
int32 text_input_flags;
gfx.mojom.Rect caret_bounds;
};
......
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