From 36599f24c5271b253c53a406d32c42a09f34571d Mon Sep 17 00:00:00 2001 From: Makoto Kato Date: Fri, 22 Jul 2016 14:40:42 +0900 Subject: [PATCH] Bug 1288616 - Part 2. Remove unused ANativeWindow_fromSurfaceTexture and android_SurfaceTexture_getNativeWindow. r=snorp MozReview-Commit-ID: 40rPBLzoLPO --HG-- extra : rebase_source : 4ab9b4a45610df1be14c764a9927f78cc2d0a4a9 extra : histedit_source : 6f6821be672f77c57352355390eab6b0ab909ce1 --- widget/android/AndroidBridge.cpp | 13 -- widget/android/AndroidBridge.h | 1 - widget/android/android/StrongPointer.h | 239 ------------------------- widget/android/moz.build | 1 - 4 files changed, 254 deletions(-) delete mode 100644 widget/android/android/StrongPointer.h diff --git a/widget/android/AndroidBridge.cpp b/widget/android/AndroidBridge.cpp index 6b7b1e1e8062..aac716ccb5d9 100644 --- a/widget/android/AndroidBridge.cpp +++ b/widget/android/AndroidBridge.cpp @@ -36,7 +36,6 @@ #include "mozilla/dom/ScreenOrientation.h" #include "nsIDOMWindowUtils.h" #include "nsIDOMClientRect.h" -#include "StrongPointer.h" #include "mozilla/ClearOnShutdown.h" #include "nsPrintfCString.h" #include "NativeJSContainer.h" @@ -70,9 +69,6 @@ class AndroidRefable { void decStrong(void* thing) { } }; -// This isn't in AndroidBridge.h because including StrongPointer.h there is gross -static android::sp (*android_SurfaceTexture_getNativeWindow)(JNIEnv* env, jobject surfaceTexture) = nullptr; - jclass AndroidBridge::GetClassGlobalRef(JNIEnv* env, const char* className) { // First try the default class loader. @@ -728,20 +724,11 @@ AndroidBridge::OpenGraphicsLibraries() ANativeWindow_getWidth = (int (*)(void*))dlsym(handle, "ANativeWindow_getWidth"); ANativeWindow_getHeight = (int (*)(void*))dlsym(handle, "ANativeWindow_getHeight"); - // This is only available in Honeycomb and ICS. It was removed in Jelly Bean - ANativeWindow_fromSurfaceTexture = (void* (*)(JNIEnv*, jobject))dlsym(handle, "ANativeWindow_fromSurfaceTexture"); - mHasNativeWindowAccess = ANativeWindow_fromSurface && ANativeWindow_release; ALOG_BRIDGE("Successfully opened libandroid.so, have native window access? %d", mHasNativeWindowAccess); } - // We need one symbol from here on Jelly Bean - handle = dlopen("libandroid_runtime.so", RTLD_LAZY | RTLD_LOCAL); - if (handle) { - android_SurfaceTexture_getNativeWindow = (android::sp (*)(JNIEnv*, jobject))dlsym(handle, "_ZN7android38android_SurfaceTexture_getNativeWindowEP7_JNIEnvP8_jobject"); - } - if (mHasNativeWindowAccess) return; diff --git a/widget/android/AndroidBridge.h b/widget/android/AndroidBridge.h index 1d019e1e30e8..61b6b4c40741 100644 --- a/widget/android/AndroidBridge.h +++ b/widget/android/AndroidBridge.h @@ -400,7 +400,6 @@ protected: int (* AndroidBitmap_unlockPixels)(JNIEnv *env, jobject bitmap); void* (*ANativeWindow_fromSurface)(JNIEnv *env, jobject surface); - void* (*ANativeWindow_fromSurfaceTexture)(JNIEnv *env, jobject surfaceTexture); void (*ANativeWindow_release)(void *window); int (*ANativeWindow_setBuffersGeometry)(void *window, int width, int height, int format); diff --git a/widget/android/android/StrongPointer.h b/widget/android/android/StrongPointer.h deleted file mode 100644 index ca79fdfa4d9a..000000000000 --- a/widget/android/android/StrongPointer.h +++ /dev/null @@ -1,239 +0,0 @@ -/* - * Copyright (C) 2005 The Android Open Source Project - * - * 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. - */ - - -/************************************************************************* - * - * WARNING: EVERYTHING HERE IS NEUTERED - * - * The only reason we need this is to be able to call - * android_SurfaceTexture_getNativeWindow, which returns a - * android::sp. Therefore, we need the definition of - * android::sp (below) in order to get the pointer out. All of the actual - * ref management stuff is commented out by Mozilla. Do not try to use this - * for anything real. - */ - -#ifndef ANDROID_STRONG_POINTER_H -#define ANDROID_STRONG_POINTER_H - -#include -#include -#include - -// --------------------------------------------------------------------------- -namespace android { - -class TextOutput; -TextOutput& printStrongPointer(TextOutput& to, const void* val); - -template class wp; - -// --------------------------------------------------------------------------- - -#define COMPARE(_op_) \ -inline bool operator _op_ (const sp& o) const { \ - return m_ptr _op_ o.m_ptr; \ -} \ -inline bool operator _op_ (const T* o) const { \ - return m_ptr _op_ o; \ -} \ -template \ -inline bool operator _op_ (const sp& o) const { \ - return m_ptr _op_ o.m_ptr; \ -} \ -template \ -inline bool operator _op_ (const U* o) const { \ - return m_ptr _op_ o; \ -} \ -inline bool operator _op_ (const wp& o) const { \ - return m_ptr _op_ o.m_ptr; \ -} \ -template \ -inline bool operator _op_ (const wp& o) const { \ - return m_ptr _op_ o.m_ptr; \ -} - -// --------------------------------------------------------------------------- - -template -class sp -{ -public: - inline sp() : m_ptr(0) { } - - sp(T* other); - sp(const sp& other); - template sp(U* other); - template sp(const sp& other); - - ~sp(); - - // Assignment - - sp& operator = (T* other); - sp& operator = (const sp& other); - - template sp& operator = (const sp& other); - template sp& operator = (U* other); - - //! Special optimization for use by ProcessState (and nobody else). - void force_set(T* other); - - // Reset - - void clear(); - - // Accessors - - inline T& operator* () const { return *m_ptr; } - inline T* operator-> () const { return m_ptr; } - inline T* get() const { return m_ptr; } - - // Operators - - COMPARE(==) - COMPARE(!=) - COMPARE(>) - COMPARE(<) - COMPARE(<=) - COMPARE(>=) - -private: - template friend class sp; - template friend class wp; - void set_pointer(T* ptr); - T* m_ptr; -}; - -#undef COMPARE - -template -TextOutput& operator<<(TextOutput& to, const sp& val); - -// --------------------------------------------------------------------------- -// No user serviceable parts below here. - -template -sp::sp(T* other) -: m_ptr(other) - { - //if (other) other->incStrong(this); - } - -template -sp::sp(const sp& other) -: m_ptr(other.m_ptr) - { - //if (m_ptr) m_ptr->incStrong(this); - } - -template template -sp::sp(U* other) : m_ptr(other) -{ - //if (other) ((T*)other)->incStrong(this); -} - -template template -sp::sp(const sp& other) -: m_ptr(other.m_ptr) - { - //if (m_ptr) m_ptr->incStrong(this); - } - -template -sp::~sp() -{ - //if (m_ptr) m_ptr->decStrong(this); -} - -template -sp& sp::operator = (const sp& other) { - T* otherPtr(other.m_ptr); - /* - if (otherPtr) otherPtr->incStrong(this); - if (m_ptr) m_ptr->decStrong(this); - */ - m_ptr = otherPtr; - return *this; -} - -template -sp& sp::operator = (T* other) -{ - /* - if (other) other->incStrong(this); - if (m_ptr) m_ptr->decStrong(this); - */ - m_ptr = other; - return *this; -} - -template template -sp& sp::operator = (const sp& other) -{ - T* otherPtr(other.m_ptr); - /* - if (otherPtr) otherPtr->incStrong(this); - if (m_ptr) m_ptr->decStrong(this); - */ - m_ptr = otherPtr; - return *this; -} - -template template -sp& sp::operator = (U* other) -{ - /* - if (other) ((T*)other)->incStrong(this); - if (m_ptr) m_ptr->decStrong(this); - */ - m_ptr = other; - return *this; -} - -template -void sp::force_set(T* other) -{ - //other->forceIncStrong(this); - m_ptr = other; -} - -template -void sp::clear() -{ - if (m_ptr) { - m_ptr->decStrong(this); - m_ptr = 0; - } -} - -template -void sp::set_pointer(T* ptr) { - m_ptr = ptr; -} - -template -inline TextOutput& operator<<(TextOutput& to, const sp& val) -{ - return printStrongPointer(to, val.get()); -} - -}; // namespace android - -// --------------------------------------------------------------------------- - -#endif // ANDROID_STRONG_POINTER_H diff --git a/widget/android/moz.build b/widget/android/moz.build index c5d52912f0a7..6f4e36ec86ef 100644 --- a/widget/android/moz.build +++ b/widget/android/moz.build @@ -58,7 +58,6 @@ LOCAL_INCLUDES += [ '/netwerk/base', '/netwerk/cache', '/widget', - '/widget/android/android', ] CXXFLAGS += ['-Wno-error=shadow']