Index: win8/metro_driver/ime/input_scope.cc |
diff --git a/win8/metro_driver/ime/input_scope.cc b/win8/metro_driver/ime/input_scope.cc |
deleted file mode 100644 |
index 43c85bfc30aefd4558cc423d18934142e9997101..0000000000000000000000000000000000000000 |
--- a/win8/metro_driver/ime/input_scope.cc |
+++ /dev/null |
@@ -1,88 +0,0 @@ |
-// Copyright 2013 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 "win8/metro_driver/ime/input_scope.h" |
- |
-#include <atlbase.h> |
-#include <atlcom.h> |
- |
-#include "base/logging.h" |
-#include "base/macros.h" |
-#include "ui/base/win/atl_module.h" |
- |
-namespace metro_driver { |
-namespace { |
- |
-// An implementation of ITfInputScope interface. |
-// This implementation only covers ITfInputScope::GetInputScopes since built-in |
-// on-screen keyboard on Windows 8+ changes its layout depending on the returned |
-// value of this method. |
-// Although other advanced features of ITfInputScope such as phase list or |
-// regex support might be useful for IMEs or on-screen keyboards in future, |
-// no IME seems to be utilizing such features as of Windows 8.1. |
-class ATL_NO_VTABLE InputScopeImpl |
- : public CComObjectRootEx<CComMultiThreadModel>, |
- public ITfInputScope { |
- public: |
- InputScopeImpl() {} |
- |
- BEGIN_COM_MAP(InputScopeImpl) |
- COM_INTERFACE_ENTRY(ITfInputScope) |
- END_COM_MAP() |
- |
- void Initialize(const std::vector<InputScope>& input_scopes) { |
- input_scopes_ = input_scopes; |
- } |
- |
- private: |
- // ITfInputScope overrides: |
- STDMETHOD(GetInputScopes)(InputScope** input_scopes, UINT* count) override { |
- if (!count || !input_scopes) |
- return E_INVALIDARG; |
- *input_scopes = static_cast<InputScope*>( |
- CoTaskMemAlloc(sizeof(InputScope) * input_scopes_.size())); |
- if (!input_scopes) { |
- *count = 0; |
- return E_OUTOFMEMORY; |
- } |
- std::copy(input_scopes_.begin(), input_scopes_.end(), *input_scopes); |
- *count = static_cast<UINT>(input_scopes_.size()); |
- return S_OK; |
- } |
- STDMETHOD(GetPhrase)(BSTR** phrases, UINT* count) override { |
- return E_NOTIMPL; |
- } |
- STDMETHOD(GetRegularExpression)(BSTR* regexp) override { |
- return E_NOTIMPL; |
- } |
- STDMETHOD(GetSRGS)(BSTR* srgs) override { |
- return E_NOTIMPL; |
- } |
- STDMETHOD(GetXML)(BSTR* xml) override { |
- return E_NOTIMPL; |
- } |
- |
- // Data which ITfInputScope::GetInputScopes should return. |
- std::vector<InputScope> input_scopes_; |
- |
- DISALLOW_COPY_AND_ASSIGN(InputScopeImpl); |
-}; |
- |
-} // namespace |
- |
-base::win::ScopedComPtr<ITfInputScope> |
-CreteInputScope(const std::vector<InputScope>& input_scopes) { |
- ui::win::CreateATLModuleIfNeeded(); |
- CComObject<InputScopeImpl>* object = NULL; |
- HRESULT hr = CComObject<InputScopeImpl>::CreateInstance(&object); |
- if (FAILED(hr)) { |
- LOG(ERROR) << "CComObject<InputScopeImpl>::CreateInstance failed. hr = " |
- << hr; |
- return base::win::ScopedComPtr<ITfInputScope>(); |
- } |
- object->Initialize(input_scopes); |
- return base::win::ScopedComPtr<ITfInputScope>(object); |
-} |
- |
-} // namespace metro_driver |