Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(239)

Unified Diff: plugins/update/npapi/npfunction_host.cc

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « plugins/update/npapi/npfunction_host.h ('k') | plugins/update/npapi/npfunction_host_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: plugins/update/npapi/npfunction_host.cc
diff --git a/plugins/update/npapi/npfunction_host.cc b/plugins/update/npapi/npfunction_host.cc
deleted file mode 100644
index 19426cb453242401b12ad37d021c8811f3a42827..0000000000000000000000000000000000000000
--- a/plugins/update/npapi/npfunction_host.cc
+++ /dev/null
@@ -1,151 +0,0 @@
-// Copyright 2010 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// ========================================================================
-
-#include "omaha/plugins/update/npapi/npfunction_host.h"
-
-#include "omaha/base/debug.h"
-#include "omaha/base/utils.h"
-#include "omaha/plugins/update/npapi/variant_utils.h"
-
-namespace omaha {
-
-typedef CComObject<NpFunctionHost> CComNpFuncHost;
-typedef scoped_any<CComNpFuncHost*, close_release_com, null_t> scoped_host;
-
-HRESULT NpFunctionHost::Create(NPP npp, NPObject* npobj, IDispatch** host) {
- ASSERT1(npobj);
- ASSERT1(host);
-
- if (!npobj || !host) {
- return E_INVALIDARG;
- }
-
- // Create the host and hand off the NPObject to it.
- scoped_host comobj;
- HRESULT hr = CComNpFuncHost::CreateInstance(address(comobj));
- if (FAILED(hr)) {
- return hr;
- }
- get(comobj)->AddRef();
-
- comobj->npp_ = npp;
- comobj->obj_ = npobj;
- NPN_RetainObject(npobj);
-
- return comobj->QueryInterface(host);
-}
-
-STDMETHODIMP NpFunctionHost::GetTypeInfoCount(UINT* pctinfo) {
- if (pctinfo == NULL) {
- return E_INVALIDARG;
- }
- *pctinfo = 0;
- return S_OK;
-}
-
-STDMETHODIMP NpFunctionHost::GetTypeInfo(UINT iTInfo,
- LCID lcid,
- ITypeInfo** ppTInfo) {
- UNREFERENCED_PARAMETER(iTInfo);
- UNREFERENCED_PARAMETER(lcid);
- UNREFERENCED_PARAMETER(ppTInfo);
-
- return E_NOTIMPL;
-}
-
-STDMETHODIMP NpFunctionHost::GetIDsOfNames(REFIID riid,
- LPOLESTR* rgszNames,
- UINT cNames,
- LCID lcid,
- DISPID* rgDispId) {
- UNREFERENCED_PARAMETER(riid);
- UNREFERENCED_PARAMETER(rgszNames);
- UNREFERENCED_PARAMETER(cNames);
- UNREFERENCED_PARAMETER(lcid);
- UNREFERENCED_PARAMETER(rgDispId);
-
- return E_NOTIMPL;
-}
-
-STDMETHODIMP NpFunctionHost::Invoke(DISPID dispIdMember,
- REFIID riid,
- LCID lcid,
- WORD wFlags,
- DISPPARAMS* pDispParams,
- VARIANT* pVarResult,
- EXCEPINFO* pExcepInfo,
- UINT* puArgErr) {
- UNREFERENCED_PARAMETER(dispIdMember);
- UNREFERENCED_PARAMETER(riid);
- UNREFERENCED_PARAMETER(lcid);
- UNREFERENCED_PARAMETER(pExcepInfo);
- UNREFERENCED_PARAMETER(puArgErr);
-
- if (wFlags != DISPATCH_METHOD) {
- return DISP_E_MEMBERNOTFOUND;
- }
-
- uint32_t num_args = 0;
- scoped_array<NPVariant> arguments;
- if (pDispParams) {
- // Javascript doesn't officially support named args, so the current
- // implementation ignores any named args that are supplied. However,
- // you can cast a function object to a string and it will hold the
- // argument names as used in the function definition. Thus, if we
- // need to support named arguments in the future, we may be able to
- // get the argument names indirectly using NPN_Evaluate() and emulate.
- if (pDispParams->cNamedArgs != 0) {
- return DISP_E_NONAMEDARGS;
- }
- if (pDispParams->cArgs != 0) {
- num_args = pDispParams->cArgs;
- arguments.reset(new NPVariant[num_args]);
- for (uint32_t i = 0; i < num_args; ++i) {
- // Arguments are stored in rgvarg in reverse order.
- VariantToNPVariant(npp_,
- pDispParams->rgvarg[num_args - 1 - i],
- &arguments[i]);
- }
- }
- }
-
- NPVariant retval;
- VOID_TO_NPVARIANT(retval);
-
- bool result = NPN_InvokeDefault(npp_,
- obj_,
- arguments.get(),
- num_args,
- &retval);
- if (result && pVarResult) {
- NPVariantToVariant(npp_, retval, pVarResult);
- }
- NPN_ReleaseVariantValue(&retval);
-
- return result ? S_OK : E_FAIL;
-}
-
-void NpFunctionHost::FinalRelease() {
- ASSERT1(obj_);
- if (obj_) {
- NPN_ReleaseObject(obj_);
- obj_ = NULL;
- }
-}
-
-NpFunctionHost::NpFunctionHost() : npp_(NULL), obj_(NULL) {}
-
-} // namespace omaha
-
« no previous file with comments | « plugins/update/npapi/npfunction_host.h ('k') | plugins/update/npapi/npfunction_host_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698