diff options
Diffstat (limited to 'WebCore/platform')
4 files changed, 8 insertions, 14 deletions
diff --git a/WebCore/platform/android/GeolocationServiceAndroid.cpp b/WebCore/platform/android/GeolocationServiceAndroid.cpp index 61043fb..7f7d58e 100644 --- a/WebCore/platform/android/GeolocationServiceAndroid.cpp +++ b/WebCore/platform/android/GeolocationServiceAndroid.cpp @@ -111,6 +111,9 @@ void GeolocationServiceAndroid::stopUpdating() // new position from the system service when a request is first made. m_lastPosition = 0; m_lastError = 0; + // remove the pending timer + if (m_timer.isActive()) + m_timer.stop(); } void GeolocationServiceAndroid::suspend() @@ -155,7 +158,7 @@ void GeolocationServiceAndroid::timerFired(Timer<GeolocationServiceAndroid>* tim ASSERT(m_lastPosition || m_lastError); if (m_lastPosition) positionChanged(); - else + else if (m_lastError) errorOccurred(); } diff --git a/WebCore/platform/graphics/android/GraphicsLayerAndroid.cpp b/WebCore/platform/graphics/android/GraphicsLayerAndroid.cpp index 3571a49..fa4a180 100644 --- a/WebCore/platform/graphics/android/GraphicsLayerAndroid.cpp +++ b/WebCore/platform/graphics/android/GraphicsLayerAndroid.cpp @@ -115,7 +115,6 @@ GraphicsLayerAndroid::GraphicsLayerAndroid(GraphicsLayerClient* client) : m_needsNotifyClient(false), m_haveContents(false), m_haveImage(false), - m_hasFixedLayers(false), m_translateX(0), m_translateY(0), m_currentTranslateX(0), @@ -254,13 +253,6 @@ void GraphicsLayerAndroid::updateFixedPosition() offsetFromRenderer().width(), offsetFromRenderer().height(), w, h); - - GraphicsLayerAndroid* rootGraphicsLayer = this; - - while (rootGraphicsLayer->parent()) - rootGraphicsLayer = static_cast<GraphicsLayerAndroid*>(rootGraphicsLayer->parent()); - - rootGraphicsLayer->setHasFixedLayers(true); } } diff --git a/WebCore/platform/graphics/android/GraphicsLayerAndroid.h b/WebCore/platform/graphics/android/GraphicsLayerAndroid.h index d0347a7..25f70b4 100644 --- a/WebCore/platform/graphics/android/GraphicsLayerAndroid.h +++ b/WebCore/platform/graphics/android/GraphicsLayerAndroid.h @@ -121,9 +121,6 @@ public: void sendImmediateRepaint(); LayerAndroid* contentLayer() { return m_contentLayer; } - bool hasFixedLayers() const { return m_hasFixedLayers; } - void setHasFixedLayers(bool val) { m_hasFixedLayers = val; } - static int instancesCount(); private: @@ -142,8 +139,6 @@ private: bool m_haveContents; bool m_haveImage; - bool m_hasFixedLayers; - float m_translateX; float m_translateY; float m_currentTranslateX; diff --git a/WebCore/platform/graphics/android/ImageSourceAndroid.cpp b/WebCore/platform/graphics/android/ImageSourceAndroid.cpp index fa1794c..06455d2 100644 --- a/WebCore/platform/graphics/android/ImageSourceAndroid.cpp +++ b/WebCore/platform/graphics/android/ImageSourceAndroid.cpp @@ -215,8 +215,12 @@ void ImageSource::setURL(const String& url) // we only animate small GIFs for now, to save memory // also, we only support this in Japan, hence the Emoji check static bool should_use_animated_gif(int width, int height) { +#ifdef ANDROID_LARGE_MEMORY_DEVICE + return true; +#else return EmojiFont::IsAvailable() && width <= 32 && height <= 32; +#endif } #endif |