Index: win8/metro_driver/ime/text_service.cc |
diff --git a/win8/metro_driver/ime/text_service.cc b/win8/metro_driver/ime/text_service.cc |
index 11356199339424f0cee5fa84c9e063276fe65c5f..6eec40fb74a17005c59e1815c139a74da74e4e3e 100644 |
--- a/win8/metro_driver/ime/text_service.cc |
+++ b/win8/metro_driver/ime/text_service.cc |
@@ -176,7 +176,7 @@ class EventSink { |
: cookie_(cookie), |
source_(source) {} |
~EventSink() { |
- if (!source_ || cookie_ != TF_INVALID_COOKIE) |
+ if (!source_.get() || cookie_ != TF_INVALID_COOKIE) |
return; |
source_->UnadviseSink(cookie_); |
cookie_ = TF_INVALID_COOKIE; |
@@ -218,7 +218,7 @@ scoped_ptr<EventSink> CreateTextEditSink(ITfContext* context, |
class DocumentBinding { |
public: |
~DocumentBinding() { |
- if (!document_manager_) |
+ if (!document_manager_.get()) |
return; |
document_manager_->Pop(TF_POPF_ALL); |
} |
@@ -244,7 +244,7 @@ class DocumentBinding { |
scoped_refptr<TextStore> text_store; |
if (!use_null_text_store) { |
text_store = TextStore::Create(window_handle, input_scopes, delegate); |
- if (!text_store) { |
+ if (!text_store.get()) { |
LOG(ERROR) << "Failed to create TextStore."; |
return scoped_ptr<DocumentBinding>(); |
} |
@@ -266,20 +266,20 @@ class DocumentBinding { |
// If null-TextStore is used or |input_scopes| looks like a password field, |
// set special properties to tell IMEs to be disabled. |
if ((use_null_text_store || IsPasswordField(input_scopes)) && |
- !InitializeDisabledContext(context, client_id)) { |
+ !InitializeDisabledContext(context.get(), client_id)) { |
LOG(ERROR) << "InitializeDisabledContext failed."; |
return scoped_ptr<DocumentBinding>(); |
} |
scoped_ptr<EventSink> text_edit_sink; |
if (!use_null_text_store) { |
- text_edit_sink = CreateTextEditSink(context, text_store); |
+ text_edit_sink = CreateTextEditSink(context.get(), text_store.get()); |
if (!text_edit_sink) { |
LOG(ERROR) << "CreateTextEditSink failed."; |
return scoped_ptr<DocumentBinding>(); |
} |
} |
- hr = document_manager->Push(context); |
+ hr = document_manager->Push(context.get()); |
if (FAILED(hr)) { |
LOG(ERROR) << "ITfDocumentMgr::Push failed. hr = " << hr; |
return scoped_ptr<DocumentBinding>(); |
@@ -290,9 +290,7 @@ class DocumentBinding { |
text_edit_sink.Pass())); |
} |
- ITfDocumentMgr* document_manager() const { |
- return document_manager_; |
- } |
+ ITfDocumentMgr* document_manager() const { return document_manager_.get(); } |
scoped_refptr<TextStore> text_store() const { |
return text_store_; |
@@ -326,7 +324,7 @@ class TextServiceImpl : public TextService, |
thread_manager_(thread_manager) { |
DCHECK_NE(TF_CLIENTID_NULL, client_id); |
DCHECK(window_handle != NULL); |
- DCHECK(thread_manager_); |
+ DCHECK(thread_manager_.get()); |
} |
virtual ~TextServiceImpl() { |
thread_manager_->Deactivate(); |
@@ -339,8 +337,8 @@ class TextServiceImpl : public TextService, |
VLOG(0) << "|current_document_| is NULL due to the previous error."; |
return; |
} |
- TextStore* text_store = current_document_->text_store(); |
- if (!text_store) |
+ scoped_refptr<TextStore> text_store = current_document_->text_store(); |
+ if (!text_store.get()) |
return; |
text_store->CancelComposition(); |
} |
@@ -479,15 +477,13 @@ CreateTextService(TextServiceDelegate* delegate, HWND window_handle) { |
LOG(ERROR) << "ITfThreadMgr::Activate failed. hr = " << hr; |
return scoped_ptr<TextService>(); |
} |
- if (!InitializeSentenceMode(thread_manager, client_id)) { |
+ if (!InitializeSentenceMode(thread_manager.get(), client_id)) { |
LOG(ERROR) << "InitializeSentenceMode failed."; |
thread_manager->Deactivate(); |
return scoped_ptr<TextService>(); |
} |
- return scoped_ptr<TextService>(new TextServiceImpl(thread_manager, |
- client_id, |
- window_handle, |
- delegate)); |
+ return scoped_ptr<TextService>(new TextServiceImpl( |
+ thread_manager.get(), client_id, window_handle, delegate)); |
} |
} // namespace metro_driver |