diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2012-10-22 15:40:17 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@digia.com> | 2012-10-22 15:40:17 +0200 |
commit | 43a42f108af6bcbd91f2672731c3047c26213af1 (patch) | |
tree | 7fa092e5f5d873c72f2486a70e26be26f7a38bec /Source/WebKit/chromium/src | |
parent | d9cf437c840c6eb7417bdd97e6c40979255d3158 (diff) | |
download | qtwebkit-43a42f108af6bcbd91f2672731c3047c26213af1.tar.gz |
Imported WebKit commit 302e7806bff028bd1167a1ec7c86a1ee00ecfb49 (http://svn.webkit.org/repository/webkit/trunk@132067)
New snapshot that fixes build without QtWidgets
Diffstat (limited to 'Source/WebKit/chromium/src')
-rw-r--r-- | Source/WebKit/chromium/src/InspectorClientImpl.cpp | 6 | ||||
-rw-r--r-- | Source/WebKit/chromium/src/InspectorClientImpl.h | 1 | ||||
-rw-r--r-- | Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp | 22 | ||||
-rw-r--r-- | Source/WebKit/chromium/src/InspectorFrontendClientImpl.h | 4 | ||||
-rw-r--r-- | Source/WebKit/chromium/src/LocalizedStrings.cpp | 7 | ||||
-rw-r--r-- | Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp | 24 | ||||
-rw-r--r-- | Source/WebKit/chromium/src/WebDevToolsAgentImpl.h | 1 | ||||
-rw-r--r-- | Source/WebKit/chromium/src/WebFrameImpl.cpp | 2 | ||||
-rw-r--r-- | Source/WebKit/chromium/src/WebKit.cpp | 2 | ||||
-rw-r--r-- | Source/WebKit/chromium/src/WebPagePopupImpl.cpp | 9 | ||||
-rw-r--r-- | Source/WebKit/chromium/src/WebPagePopupImpl.h | 1 | ||||
-rw-r--r-- | Source/WebKit/chromium/src/WebSettingsImpl.cpp | 17 | ||||
-rw-r--r-- | Source/WebKit/chromium/src/WebSettingsImpl.h | 5 | ||||
-rw-r--r-- | Source/WebKit/chromium/src/WebViewImpl.cpp | 11 |
14 files changed, 81 insertions, 31 deletions
diff --git a/Source/WebKit/chromium/src/InspectorClientImpl.cpp b/Source/WebKit/chromium/src/InspectorClientImpl.cpp index 402b8695c..f8020ef0b 100644 --- a/Source/WebKit/chromium/src/InspectorClientImpl.cpp +++ b/Source/WebKit/chromium/src/InspectorClientImpl.cpp @@ -169,6 +169,12 @@ void InspectorClientImpl::getAllocatedObjects(HashSet<const void*>& set) agent->getAllocatedObjects(set); } +void InspectorClientImpl::dumpUncountedAllocatedObjects(const HashMap<const void*, size_t>& map) +{ + if (WebDevToolsAgentImpl* agent = devToolsAgent()) + agent->dumpUncountedAllocatedObjects(map); +} + void InspectorClientImpl::willProcessTask() { InspectorInstrumentation::willProcessTask(m_inspectedWebView->page()); diff --git a/Source/WebKit/chromium/src/InspectorClientImpl.h b/Source/WebKit/chromium/src/InspectorClientImpl.h index 9e1ea370e..34de35a09 100644 --- a/Source/WebKit/chromium/src/InspectorClientImpl.h +++ b/Source/WebKit/chromium/src/InspectorClientImpl.h @@ -79,6 +79,7 @@ public: virtual bool supportsFrameInstrumentation(); virtual void getAllocatedObjects(HashSet<const void*>&); + virtual void dumpUncountedAllocatedObjects(const HashMap<const void*, size_t>&); private: // WebThread::TaskObserver diff --git a/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp b/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp index 763c85da8..fcfa25f9c 100644 --- a/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp +++ b/Source/WebKit/chromium/src/InspectorFrontendClientImpl.cpp @@ -103,19 +103,15 @@ void InspectorFrontendClientImpl::closeWindow() m_client->closeWindow(); } -void InspectorFrontendClientImpl::requestAttachWindow() -{ - m_client->requestDockWindow(); -} - -void InspectorFrontendClientImpl::requestDetachWindow() -{ - m_client->requestUndockWindow(); -} - -void InspectorFrontendClientImpl::requestSetDockSide(const String& side) -{ - m_client->requestSetDockSide(side); +void InspectorFrontendClientImpl::requestSetDockSide(DockSide side) +{ + String sideString = "undocked"; + switch (side) { + case DOCKED_TO_RIGHT: sideString = "right"; break; + case DOCKED_TO_BOTTOM: sideString = "bottom"; break; + case UNDOCKED: sideString = "undocked"; break; + } + m_client->requestSetDockSide(sideString); } void InspectorFrontendClientImpl::changeAttachedWindowHeight(unsigned) diff --git a/Source/WebKit/chromium/src/InspectorFrontendClientImpl.h b/Source/WebKit/chromium/src/InspectorFrontendClientImpl.h index 55e57e696..72f8d68b6 100644 --- a/Source/WebKit/chromium/src/InspectorFrontendClientImpl.h +++ b/Source/WebKit/chromium/src/InspectorFrontendClientImpl.h @@ -62,9 +62,7 @@ public: virtual void bringToFront(); virtual void closeWindow(); - virtual void requestAttachWindow(); - virtual void requestDetachWindow(); - virtual void requestSetDockSide(const String&); + virtual void requestSetDockSide(DockSide); virtual void changeAttachedWindowHeight(unsigned); virtual void openInNewTab(const String& url); diff --git a/Source/WebKit/chromium/src/LocalizedStrings.cpp b/Source/WebKit/chromium/src/LocalizedStrings.cpp index 0cc8e00eb..4ef239c6f 100644 --- a/Source/WebKit/chromium/src/LocalizedStrings.cpp +++ b/Source/WebKit/chromium/src/LocalizedStrings.cpp @@ -268,14 +268,9 @@ String placeholderForYearField() return query(WebLocalizedString::PlaceholderForYearField); } -String monthFormatInLDML() -{ - return query(WebLocalizedString::MonthFormatInLDML); -} - String weekFormatInLDML() { - return query(WebLocalizedString::WeekFormatInLDML); + return query(WebLocalizedString::WeekFormatTemplate); } #endif diff --git a/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp b/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp index 7f362036b..5c25ff64e 100644 --- a/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp +++ b/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp @@ -462,12 +462,13 @@ void WebDevToolsAgentImpl::getAllocatedObjects(HashSet<const void*>& set) CountingVisitor() : m_totalObjectsCount(0) { } + virtual bool visitObject(const void* ptr) { ++m_totalObjectsCount; return true; } - size_t totalObjectsCount() + size_t totalObjectsCount() const { return m_totalObjectsCount; } @@ -488,7 +489,7 @@ void WebDevToolsAgentImpl::getAllocatedObjects(HashSet<const void*>& set) , m_pointers(new const void*[maxObjectsCount]) { } - ~PointerCollector() + virtual ~PointerCollector() { delete[] m_pointers; } @@ -531,6 +532,25 @@ void WebDevToolsAgentImpl::getAllocatedObjects(HashSet<const void*>& set) } } +void WebDevToolsAgentImpl::dumpUncountedAllocatedObjects(const HashMap<const void*, size_t>& map) +{ + class InstrumentedObjectSizeProvider : public WebDevToolsAgentClient::InstrumentedObjectSizeProvider { + public: + InstrumentedObjectSizeProvider(const HashMap<const void*, size_t>& map) : m_map(map) { } + virtual size_t objectSize(const void* ptr) const + { + HashMap<const void*, size_t>::const_iterator i = m_map.find(ptr); + return i == m_map.end() ? 0 : i->value; + } + + private: + const HashMap<const void*, size_t>& m_map; + }; + + InstrumentedObjectSizeProvider provider(map); + m_client->dumpUncountedAllocatedObjects(&provider); +} + void WebDevToolsAgentImpl::dispatchOnInspectorBackend(const WebString& message) { inspectorController()->dispatchMessageFromFrontend(message); diff --git a/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h b/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h index 6a9663127..a5061cf49 100644 --- a/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h +++ b/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h @@ -106,6 +106,7 @@ public: virtual void autoZoomPageToFitWidth(); virtual void getAllocatedObjects(HashSet<const void*>&); + virtual void dumpUncountedAllocatedObjects(const HashMap<const void*, size_t>&); int hostId() { return m_hostId; } diff --git a/Source/WebKit/chromium/src/WebFrameImpl.cpp b/Source/WebKit/chromium/src/WebFrameImpl.cpp index ff4a0b44c..98bec3aba 100644 --- a/Source/WebKit/chromium/src/WebFrameImpl.cpp +++ b/Source/WebKit/chromium/src/WebFrameImpl.cpp @@ -2271,7 +2271,7 @@ void WebFrameImpl::createFrameView() WebViewImpl* webView = viewImpl(); bool isMainFrame = webView->mainFrameImpl()->frame() == frame(); - frame()->createView(webView->size(), Color::white, webView->isTransparent(), webView->fixedLayoutSize(), isMainFrame ? webView->isFixedLayoutModeEnabled() : 0); + frame()->createView(webView->size(), Color::white, webView->isTransparent(), webView->fixedLayoutSize(), IntRect(), isMainFrame ? webView->isFixedLayoutModeEnabled() : 0); if (webView->shouldAutoResize() && isMainFrame) frame()->view()->enableAutoSizeMode(true, webView->minAutoSize(), webView->maxAutoSize()); diff --git a/Source/WebKit/chromium/src/WebKit.cpp b/Source/WebKit/chromium/src/WebKit.cpp index e357f28e4..243d08e62 100644 --- a/Source/WebKit/chromium/src/WebKit.cpp +++ b/Source/WebKit/chromium/src/WebKit.cpp @@ -31,6 +31,7 @@ #include "config.h" #include "WebKit.h" +#include "ImageDecodingStore.h" #include "LayoutTestSupport.h" #include "Logging.h" #include "MutationObserver.h" @@ -165,6 +166,7 @@ void shutdown() } #endif s_webKitPlatformSupport = 0; + WebCore::ImageDecodingStore::shutdown(); Platform::shutdown(); WebPrerenderingSupport::shutdown(); } diff --git a/Source/WebKit/chromium/src/WebPagePopupImpl.cpp b/Source/WebKit/chromium/src/WebPagePopupImpl.cpp index e4808fd70..078ae7e86 100644 --- a/Source/WebKit/chromium/src/WebPagePopupImpl.cpp +++ b/Source/WebKit/chromium/src/WebPagePopupImpl.cpp @@ -142,6 +142,7 @@ bool PagePopupFeaturesClient::isEnabled(Document*, ContextFeatures::FeatureType WebPagePopupImpl::WebPagePopupImpl(WebWidgetClient* client) : m_widgetClient(client) + , m_closing(false) { ASSERT(client); } @@ -259,7 +260,7 @@ bool WebPagePopupImpl::handleCharEvent(const WebKeyboardEvent&) #if ENABLE(GESTURE_EVENTS) bool WebPagePopupImpl::handleGestureEvent(const WebGestureEvent& event) { - if (!m_page || !m_page->mainFrame() || !m_page->mainFrame()->view()) + if (m_closing || !m_page || !m_page->mainFrame() || !m_page->mainFrame()->view()) return false; Frame& frame = *m_page->mainFrame(); return frame.eventHandler()->handleGestureEvent(PlatformGestureEventBuilder(frame.view(), event)); @@ -268,12 +269,14 @@ bool WebPagePopupImpl::handleGestureEvent(const WebGestureEvent& event) bool WebPagePopupImpl::handleInputEvent(const WebInputEvent& event) { + if (m_closing) + return false; return PageWidgetDelegate::handleInputEvent(m_page.get(), *this, event); } bool WebPagePopupImpl::handleKeyEvent(const PlatformKeyboardEvent& event) { - if (!m_page->mainFrame() || !m_page->mainFrame()->view()) + if (m_closing || !m_page->mainFrame() || !m_page->mainFrame()->view()) return false; return m_page->mainFrame()->eventHandler()->keyEvent(event); } @@ -302,7 +305,9 @@ void WebPagePopupImpl::closePopup() m_page->setGroupName(String()); m_page->mainFrame()->loader()->stopAllLoaders(); m_page->mainFrame()->loader()->stopLoading(UnloadEventPolicyNone); + DOMWindowPagePopup::uninstall(m_page->mainFrame()->document()->domWindow()); } + m_closing = true; // m_widgetClient might be 0 because this widget might be already closed. if (m_widgetClient) { // closeWidgetSoon() will call this->close() later. diff --git a/Source/WebKit/chromium/src/WebPagePopupImpl.h b/Source/WebKit/chromium/src/WebPagePopupImpl.h index cf2bbba78..34b4794bd 100644 --- a/Source/WebKit/chromium/src/WebPagePopupImpl.h +++ b/Source/WebKit/chromium/src/WebPagePopupImpl.h @@ -94,6 +94,7 @@ private: OwnPtr<WebCore::Page> m_page; OwnPtr<PagePopupChromeClient> m_chromeClient; WebCore::PagePopupClient* m_popupClient; + bool m_closing; friend class WebPagePopup; friend class PagePopupChromeClient; diff --git a/Source/WebKit/chromium/src/WebSettingsImpl.cpp b/Source/WebKit/chromium/src/WebSettingsImpl.cpp index 988c5e66b..a667bedf5 100644 --- a/Source/WebKit/chromium/src/WebSettingsImpl.cpp +++ b/Source/WebKit/chromium/src/WebSettingsImpl.cpp @@ -32,6 +32,7 @@ #include "WebSettingsImpl.h" #include "FontRenderingMode.h" +#include "ImageDecodingStore.h" #include "Settings.h" #include <public/WebString.h> #include <public/WebURL.h> @@ -55,6 +56,8 @@ WebSettingsImpl::WebSettingsImpl(Settings* settings) , m_applyDefaultDeviceScaleFactorInCompositor(false) , m_gestureTapHighlightEnabled(true) , m_autoZoomFocusedNodeToLegibleScale(false) + , m_deferredImageDecodingEnabled(false) + , m_doubleTapToZoomEnabled(false) , m_defaultTileSize(WebSize(256, 256)) , m_maxUntiledLayerSize(WebSize(512, 512)) { @@ -264,6 +267,11 @@ void WebSettingsImpl::setPageCacheSupportsPlugins(bool pageCacheSupportsPlugins) m_settings->setPageCacheSupportsPlugins(pageCacheSupportsPlugins); } +void WebSettingsImpl::setDoubleTapToZoomEnabled(bool doubleTapToZoomEnabled) +{ + m_doubleTapToZoomEnabled = doubleTapToZoomEnabled; +} + void WebSettingsImpl::setDownloadableBinaryFontsEnabled(bool enabled) { m_settings->setDownloadableBinaryFontsEnabled(enabled); @@ -480,6 +488,15 @@ void WebSettingsImpl::setDeferred2dCanvasEnabled(bool enabled) m_settings->setDeferred2dCanvasEnabled(enabled); } +void WebSettingsImpl::setDeferredImageDecodingEnabled(bool enabled) +{ + if (!m_deferredImageDecodingEnabled && enabled) + ImageDecodingStore::initializeOnMainThread(); + if (m_deferredImageDecodingEnabled && !enabled) + ImageDecodingStore::shutdown(); + m_deferredImageDecodingEnabled = enabled; +} + void WebSettingsImpl::setAcceleratedCompositingForFixedPositionEnabled(bool enabled) { m_settings->setAcceleratedCompositingForFixedPositionEnabled(enabled); diff --git a/Source/WebKit/chromium/src/WebSettingsImpl.h b/Source/WebKit/chromium/src/WebSettingsImpl.h index 1169c31cf..74968c4f6 100644 --- a/Source/WebKit/chromium/src/WebSettingsImpl.h +++ b/Source/WebKit/chromium/src/WebSettingsImpl.h @@ -78,9 +78,11 @@ public: virtual void setDefaultTextEncodingName(const WebString&); virtual void setDefaultTileSize(WebSize); virtual void setDeferred2dCanvasEnabled(bool); + virtual void setDeferredImageDecodingEnabled(bool); virtual void setDeveloperExtrasEnabled(bool); virtual void setDeviceSupportsMouse(bool); virtual void setDeviceSupportsTouch(bool); + virtual void setDoubleTapToZoomEnabled(bool); virtual void setDownloadableBinaryFontsEnabled(bool); virtual void setEditableLinkBehaviorNeverLive(); virtual void setEditingBehavior(EditingBehavior); @@ -165,6 +167,7 @@ public: bool applyPageScaleFactorInCompositor() const; bool autoZoomFocusedNodeToLegibleScale() const { return m_autoZoomFocusedNodeToLegibleScale; } bool gestureTapHighlightEnabled() { return m_gestureTapHighlightEnabled; } + bool doubleTapToZoomEnabled() { return m_doubleTapToZoomEnabled; } WebSize defaultTileSize() const { return m_defaultTileSize; } WebSize maxUntiledLayerSize() const { return m_maxUntiledLayerSize; } @@ -178,6 +181,8 @@ private: bool m_applyDefaultDeviceScaleFactorInCompositor; bool m_gestureTapHighlightEnabled; bool m_autoZoomFocusedNodeToLegibleScale; + bool m_deferredImageDecodingEnabled; + bool m_doubleTapToZoomEnabled; WebSize m_defaultTileSize; WebSize m_maxUntiledLayerSize; }; diff --git a/Source/WebKit/chromium/src/WebViewImpl.cpp b/Source/WebKit/chromium/src/WebViewImpl.cpp index d6bf94b96..9f2a845dd 100644 --- a/Source/WebKit/chromium/src/WebViewImpl.cpp +++ b/Source/WebKit/chromium/src/WebViewImpl.cpp @@ -679,6 +679,7 @@ bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event) m_linkHighlight->startHighlightAnimationIfNeeded(); break; case WebInputEvent::GestureTap: + case WebInputEvent::GestureLongPress: // If a link highlight is active, kill it. m_linkHighlight.clear(); break; @@ -774,10 +775,12 @@ bool WebViewImpl::handleGestureEvent(const WebGestureEvent& event) break; } case WebInputEvent::GestureDoubleTap: - m_client->cancelScheduledContentIntents(); - animateZoomAroundPoint(WebPoint(event.x, event.y), DoubleTap); - eventSwallowed = true; - break; + if (m_webSettings->doubleTapToZoomEnabled()) { + m_client->cancelScheduledContentIntents(); + animateZoomAroundPoint(WebPoint(event.x, event.y), DoubleTap); + eventSwallowed = true; + break; + } case WebInputEvent::GestureScrollBegin: case WebInputEvent::GesturePinchBegin: m_client->cancelScheduledContentIntents(); |