diff --git a/docs/design_doc/mac_version.md b/docs/design_doc/mac_version.md index d29312680..7e9b2a008 100644 --- a/docs/design_doc/mac_version.md +++ b/docs/design_doc/mac_version.md @@ -26,7 +26,7 @@ IMKInputServer handles all of the connection between applications, and invokes IMKInputController. The IMKit.framework configurations are in Info.plist of the client application. -You'll see the GoogleJapaneseInputController class name in mac/Info.plist. +You'll see the MozcImkInputController class name in mac/Info.plist. ## Communication with converter diff --git a/src/mac/Info.plist b/src/mac/Info.plist index 6cf80e840..e5cf33ccb 100644 --- a/src/mac/Info.plist +++ b/src/mac/Info.plist @@ -180,11 +180,11 @@ InputMethodConnectionName ${PRODUCT_NAME}_1_Connection InputMethodServerControllerClass - GoogleJapaneseInputController + MozcImkInputController InputMethodServerDelegateClass - GoogleJapaneseInputController + MozcImkInputController InputMethodServerDataSourceClass - GoogleJapaneseInputController + MozcImkInputController LSBackgroundOnly 1 LSUIElement diff --git a/src/mac/main.mm b/src/mac/main.mm index 5e955ab5e..ad7cafb49 100644 --- a/src/mac/main.mm +++ b/src/mac/main.mm @@ -72,7 +72,7 @@ int main(int argc, char *argv[]) { NSString *rendererConnectionName = @kProductPrefix "_Renderer_Connection"; RendererReceiver *rendererReceiver = [[RendererReceiver alloc] initWithName:rendererConnectionName]; - [GoogleJapaneseInputController setGlobalRendererReceiver:rendererReceiver]; + [MozcImkInputController setGlobalRendererReceiver:rendererReceiver]; // Start the converter server at this time explicitly to prevent the // slow-down of the response for initial key event. diff --git a/src/mac/mozc_imk_input_controller.h b/src/mac/mozc_imk_input_controller.h index b7e7a9c8a..825ca28e2 100644 --- a/src/mac/mozc_imk_input_controller.h +++ b/src/mac/mozc_imk_input_controller.h @@ -45,13 +45,13 @@ #include "protocol/renderer_command.pb.h" #include "renderer/renderer_interface.h" -/** GoogleJapaneseInputController is a subclass of |IMKInputController|, which holds a connection +/** MozcImkInputController is a subclass of |IMKInputController|, which holds a connection * from a client application to the mozc server (Japanese IME server) on the machine. * * For the detail of IMKInputController itself, see the ADC document * http://developer.apple.com/documentation/Cocoa/Reference/IMKInputController_Class/ */ -@interface GoogleJapaneseInputController : IMKInputController { +@interface MozcImkInputController : IMKInputController { @private /** Instance variables are all strong references. */ @@ -268,3 +268,10 @@ - (BOOL)fillSurroundingContext:(mozc::commands::Context *)context client:(id)client; @end + +/** GoogleJapaneseInputController is an alias of MozcImkInputController for backward compatibility. + * This will be removed in the future when all clients are migrated to the new name and performed + * relogin at least once. + */ +@interface GoogleJapaneseInputController : MozcImkInputController {} +@end diff --git a/src/mac/mozc_imk_input_controller.mm b/src/mac/mozc_imk_input_controller.mm index 2af37fb38..14e5dd6ad 100644 --- a/src/mac/mozc_imk_input_controller.mm +++ b/src/mac/mozc_imk_input_controller.mm @@ -178,7 +178,7 @@ bool CanSurroundingText(absl::string_view bundle_id) { } } // namespace -@implementation GoogleJapaneseInputController +@implementation MozcImkInputController #pragma mark accessors for testing @synthesize keyCodeMap = keyCodeMap_; @synthesize yenSignCharacter = yenSignCharacter_; @@ -621,10 +621,10 @@ bool CanSurroundingText(absl::string_view bundle_id) { #pragma mark Mozc Server methods #pragma mark IMKServerInput Protocol -// Currently GoogleJapaneseInputController uses handleEvent:client: +// Currently MozcImkInputController uses handleEvent:client: // method to handle key events. It does not support inputText:client: // nor inputText:key:modifiers:client:. -// Because GoogleJapaneseInputController does not use IMKCandidates, +// Because MozcImkInputController does not use IMKCandidates, // the following methods are not needed to implement: // candidates // @@ -967,3 +967,7 @@ bool CanSurroundingText(absl::string_view bundle_id) { gRendererReceiver = rendererReceiver; } @end + +// An alias of MozcImkInputController for backward compatibility. +@implementation GoogleJapaneseInputController +@end diff --git a/src/mac/mozc_imk_input_controller_test.mm b/src/mac/mozc_imk_input_controller_test.mm index 225e475a3..71e2de228 100644 --- a/src/mac/mozc_imk_input_controller_test.mm +++ b/src/mac/mozc_imk_input_controller_test.mm @@ -237,7 +237,7 @@ class MockRenderer : public renderer::RendererInterface { commands::RendererCommand called_command_; }; -class GoogleJapaneseInputControllerTest : public testing::Test { +class MozcImkInputControllerTest : public testing::Test { protected: void SetUp() override { mock_server_ = [[MockIMKServer alloc] init]; @@ -261,7 +261,7 @@ class GoogleJapaneseInputControllerTest : public testing::Test { } void SetUpController() { - controller_ = [[GoogleJapaneseInputController alloc] initWithServer:mock_server_ + controller_ = [[MozcImkInputController alloc] initWithServer:mock_server_ delegate:nil client:mock_client_]; controller_.imkClientForTest = mock_client_; @@ -284,7 +284,7 @@ class GoogleJapaneseInputControllerTest : public testing::Test { MockClient *mock_client_; const MockRenderer *mock_renderer_; - GoogleJapaneseInputController *controller_; + MozcImkInputController *controller_; private: MockIMKServer *mock_server_; @@ -368,7 +368,7 @@ NSTimeInterval GetDoubleTapInterval() { return kDoubleTapInterval; } -BOOL SendKeyEvent(unsigned short keyCode, GoogleJapaneseInputController *controller, +BOOL SendKeyEvent(unsigned short keyCode, MozcImkInputController *controller, MockClient *client) { // tap Kana-key NSEvent *kanaKeyEvent = [NSEvent keyEventWithType:NSEventTypeKeyDown @@ -384,7 +384,7 @@ BOOL SendKeyEvent(unsigned short keyCode, GoogleJapaneseInputController *control return [controller handleEvent:kanaKeyEvent client:client]; } -TEST_F(GoogleJapaneseInputControllerTest, UpdateComposedString) { +TEST_F(MozcImkInputControllerTest, UpdateComposedString) { // If preedit is nullptr, it still calls setMarkedText, with an empty string. NSMutableAttributedString *expected = [[NSMutableAttributedString alloc] initWithString:@""]; [controller_ updateComposedString:nullptr]; @@ -423,14 +423,14 @@ TEST_F(GoogleJapaneseInputControllerTest, UpdateComposedString) { << [[NSString stringWithFormat:@"expected:%@ actual:%@", expected, actual] UTF8String]; } -TEST_F(GoogleJapaneseInputControllerTest, ClearCandidates) { +TEST_F(MozcImkInputControllerTest, ClearCandidates) { [controller_ clearCandidates]; EXPECT_EQ(mock_renderer_->counter_ExecCommand(), 1); // After clearing candidates, the candidate window has to be invisible. EXPECT_FALSE(mock_renderer_->CalledCommand().visible()); } -TEST_F(GoogleJapaneseInputControllerTest, UpdateCandidates) { +TEST_F(MozcImkInputControllerTest, UpdateCandidates) { // When output is null, same as ClearCandidate [controller_ updateCandidates:nullptr]; // Run the runloop so "delayedUpdateCandidates" can be called @@ -490,7 +490,7 @@ TEST_F(GoogleJapaneseInputControllerTest, UpdateCandidates) { EXPECT_FALSE(rendererCommand.visible()); } -TEST_F(GoogleJapaneseInputControllerTest, OpenLink) { +TEST_F(MozcImkInputControllerTest, OpenLink) { EXPECT_EQ(gOpenURLCount, 0); [controller_ openLink:[NSURL URLWithString:@"http://www.example.com/"]]; // openURL is invoked @@ -504,7 +504,7 @@ TEST_F(GoogleJapaneseInputControllerTest, OpenLink) { EXPECT_EQ(gOpenURLCount, 1); } -TEST_F(GoogleJapaneseInputControllerTest, SwitchModeToDirect) { +TEST_F(MozcImkInputControllerTest, SwitchModeToDirect) { // setup the IME status controller_.mode = commands::HIRAGANA; commands::Preedit preedit; @@ -528,7 +528,7 @@ TEST_F(GoogleJapaneseInputControllerTest, SwitchModeToDirect) { EXPECT_FALSE(controller_.rendererCommand.visible()); } -TEST_F(GoogleJapaneseInputControllerTest, SwitchMode) { +TEST_F(MozcImkInputControllerTest, SwitchMode) { // When a mode changes from DIRECT, it should invoke "ON" command beforehand. EXPECT_CALL(*mock_mozc_client_, SendKeyWithContext(HasSpecialKey(commands::KeyEvent::ON), _, NotNull())) @@ -557,7 +557,7 @@ TEST_F(GoogleJapaneseInputControllerTest, SwitchMode) { EXPECT_EQ(controller_.mode, commands::HALF_KATAKANA); } -TEST_F(GoogleJapaneseInputControllerTest, SwitchDisplayMode) { +TEST_F(MozcImkInputControllerTest, SwitchDisplayMode) { EXPECT_TRUE(mock_client_.selectedMode.empty()); EXPECT_EQ(controller_.mode, commands::DIRECT); [controller_ switchDisplayMode]; @@ -565,7 +565,7 @@ TEST_F(GoogleJapaneseInputControllerTest, SwitchDisplayMode) { EXPECT_EQ(mock_client_.selectedMode, "com.apple.inputmethod.Roman"); // Does not change the display mode for MS Word. See - // GoogleJapaneseInputController.mm for the detailed information. + // MozcImkInputController.mm for the detailed information. ResetClientBundleIdentifier(@"com.microsoft.Word"); [controller_ switchMode:commands::HIRAGANA client:mock_client_]; EXPECT_EQ(controller_.mode, commands::HIRAGANA); @@ -575,7 +575,7 @@ TEST_F(GoogleJapaneseInputControllerTest, SwitchDisplayMode) { EXPECT_EQ(mock_client_.selectedMode, "com.apple.inputmethod.Roman"); } -TEST_F(GoogleJapaneseInputControllerTest, commitText) { +TEST_F(MozcImkInputControllerTest, commitText) { controller_.replacementRange = NSMakeRange(0, 1); [controller_ commitText:"foo" client:mock_client_]; @@ -585,7 +585,7 @@ TEST_F(GoogleJapaneseInputControllerTest, commitText) { EXPECT_EQ([controller_ replacementRange].location, NSNotFound); } -TEST_F(GoogleJapaneseInputControllerTest, handleConfig) { +TEST_F(MozcImkInputControllerTest, handleConfig) { // Does not support multiple-calculation config::Config config; config.set_preedit_method(config::Config::KANA); @@ -602,7 +602,7 @@ TEST_F(GoogleJapaneseInputControllerTest, handleConfig) { << [mock_client_.overriddenLayout UTF8String]; } -TEST_F(GoogleJapaneseInputControllerTest, DoubleTapKanaReconvert) { +TEST_F(MozcImkInputControllerTest, DoubleTapKanaReconvert) { // tap (short) tap -> emit undo command controller_.mode = commands::HIRAGANA; @@ -629,7 +629,7 @@ TEST_F(GoogleJapaneseInputControllerTest, DoubleTapKanaReconvert) { EXPECT_THAT(actual_command, Text("bcd")); } -TEST_F(GoogleJapaneseInputControllerTest, DoubleTapKanaUndo) { +TEST_F(MozcImkInputControllerTest, DoubleTapKanaUndo) { // tap (short) tap -> emit undo command controller_.mode = commands::HIRAGANA; @@ -652,7 +652,7 @@ TEST_F(GoogleJapaneseInputControllerTest, DoubleTapKanaUndo) { EXPECT_EQ(SendKeyEvent(kVK_JIS_Kana, controller_, mock_client_), YES); } -TEST_F(GoogleJapaneseInputControllerTest, DoubleTapKanaUndoTimeOver) { +TEST_F(MozcImkInputControllerTest, DoubleTapKanaUndoTimeOver) { // tap (long) tap -> don't emit undo command controller_.mode = commands::HIRAGANA; @@ -670,7 +670,7 @@ TEST_F(GoogleJapaneseInputControllerTest, DoubleTapKanaUndoTimeOver) { EXPECT_EQ(SendKeyEvent(kVK_JIS_Kana, controller_, mock_client_), YES); } -TEST_F(GoogleJapaneseInputControllerTest, SingleAndDoubleTapKanaUndo) { +TEST_F(MozcImkInputControllerTest, SingleAndDoubleTapKanaUndo) { // tap (long) tap (short) tap -> emit once controller_.mode = commands::HIRAGANA; @@ -699,7 +699,7 @@ TEST_F(GoogleJapaneseInputControllerTest, SingleAndDoubleTapKanaUndo) { EXPECT_EQ(SendKeyEvent(kVK_JIS_Kana, controller_, mock_client_), YES); } -TEST_F(GoogleJapaneseInputControllerTest, TripleTapKanaUndo) { +TEST_F(MozcImkInputControllerTest, TripleTapKanaUndo) { // tap (short) tap (short) tap -> emit twice controller_.mode = commands::HIRAGANA; @@ -729,7 +729,7 @@ TEST_F(GoogleJapaneseInputControllerTest, TripleTapKanaUndo) { EXPECT_EQ(SendKeyEvent(kVK_JIS_Kana, controller_, mock_client_), YES); } -TEST_F(GoogleJapaneseInputControllerTest, QuadrupleTapKanaUndo) { +TEST_F(MozcImkInputControllerTest, QuadrupleTapKanaUndo) { // tap (short) tap (short) tap (short) tap -> emit thrice controller_.mode = commands::HIRAGANA; @@ -764,7 +764,7 @@ TEST_F(GoogleJapaneseInputControllerTest, QuadrupleTapKanaUndo) { EXPECT_EQ(SendKeyEvent(kVK_JIS_Kana, controller_, mock_client_), YES); } -TEST_F(GoogleJapaneseInputControllerTest, DoubleTapEisuCommitRawText) { +TEST_F(MozcImkInputControllerTest, DoubleTapEisuCommitRawText) { // Send Eisu-key. // Because of special hack for Eisu/Kana keys, it returns YES. EXPECT_EQ(SendKeyEvent(kVK_JIS_Eisu, controller_, mock_client_), YES); @@ -780,7 +780,7 @@ TEST_F(GoogleJapaneseInputControllerTest, DoubleTapEisuCommitRawText) { EXPECT_EQ(SendKeyEvent(kVK_JIS_Eisu, controller_, mock_client_), YES); } -TEST_F(GoogleJapaneseInputControllerTest, fillSurroundingContext) { +TEST_F(MozcImkInputControllerTest, fillSurroundingContext) { [mock_client_ setAttributedString:[[NSAttributedString alloc] initWithString:@"abcde"]]; mock_client_.expectedRange = NSMakeRange(2, 1); commands::Context context; diff --git a/src/renderer/mac/CandidateController.mm b/src/renderer/mac/CandidateController.mm index eac336370..4f4993e57 100644 --- a/src/renderer/mac/CandidateController.mm +++ b/src/renderer/mac/CandidateController.mm @@ -202,7 +202,7 @@ void CandidateController::AlignWindows() { command_.preedit_rectangle().right() - command_.preedit_rectangle().left(), command_.preedit_rectangle().bottom() - command_.preedit_rectangle().top()); // The origin point of command_.preedit_rectangle() is the left-top of the - // base screen which is set in GoogleJapaneseInputController. It is + // base screen which is set in MozcImkInputController. It is // unnecessary calculation but to support older version of GoogleJapaneseInput // process we should not change it. So we minus the height of the screen here. mozc::Rect preedit_rect(mozc::Point(command_.preedit_rectangle().left(), @@ -211,7 +211,7 @@ void CandidateController::AlignWindows() { // This is a hacky way to check vertical writing. // TODO(komatsu): We should use the return value of attributesForCharacterIndex - // in GoogleJapaneseInputController.mm as a proper way. + // in MozcImkInputController as a proper way. const bool is_vertical = (preedit_size.height < preedit_size.width); // Expand the rect size to make a margin to the candidate window. diff --git a/src/renderer/mac/CandidateView.h b/src/renderer/mac/CandidateView.h index abe5b7ed3..ad3d66764 100644 --- a/src/renderer/mac/CandidateView.h +++ b/src/renderer/mac/CandidateView.h @@ -73,7 +73,7 @@ enum COLUMN_TYPE { // setCandidates: sets the candidates to be rendered. - (void)setCandidates:(const mozc::commands::Candidates *)candidates; -// setController: sets the reference of GoogleJapaneseInputController. +// setController: sets the reference of MozcImkInputController. // It will be used when mouse clicks. It doesn't take ownerships of // |controller|. - (void)setSendCommandInterface:(mozc::client::SendCommandInterface *)command_sender;