diff options
Diffstat (limited to 'Source/WebKit/chromium/src')
23 files changed, 170 insertions, 258 deletions
diff --git a/Source/WebKit/chromium/src/AssertMatchingEnums.cpp b/Source/WebKit/chromium/src/AssertMatchingEnums.cpp index 375428923..94985b20c 100644 --- a/Source/WebKit/chromium/src/AssertMatchingEnums.cpp +++ b/Source/WebKit/chromium/src/AssertMatchingEnums.cpp @@ -458,7 +458,7 @@ COMPILE_ASSERT_MATCHING_ENUM(WebView::UserStyleInjectInExistingDocuments, Inject COMPILE_ASSERT_MATCHING_ENUM(WebView::UserStyleInjectInSubsequentDocuments, InjectInSubsequentDocuments); COMPILE_ASSERT_MATCHING_ENUM(WebIDBDatabaseExceptionDataError, IDBDatabaseException::DATA_ERR); -COMPILE_ASSERT_MATCHING_ENUM(WebIDBDatabaseExceptionQuotaError, IDBDatabaseException::QUOTA_ERR); +COMPILE_ASSERT_MATCHING_ENUM(WebIDBDatabaseExceptionQuotaError, IDBDatabaseException::IDB_QUOTA_EXCEEDED_ERR); #if ENABLE(INDEXED_DATABASE) COMPILE_ASSERT_MATCHING_ENUM(WebIDBKey::InvalidType, IDBKey::InvalidType); diff --git a/Source/WebKit/chromium/src/ContextMenuClientImpl.cpp b/Source/WebKit/chromium/src/ContextMenuClientImpl.cpp index 5871f44e1..d400e7c2b 100644 --- a/Source/WebKit/chromium/src/ContextMenuClientImpl.cpp +++ b/Source/WebKit/chromium/src/ContextMenuClientImpl.cpp @@ -290,8 +290,13 @@ PlatformMenuDescription ContextMenuClientImpl::getCustomMenuFromDefaultItems( suggestions.append(descriptions); } } - data.dictionarySuggestions = suggestions; data.misspelledWord = selectMisspelledWord(defaultMenu, selectedFrame); + if (!suggestions.isEmpty()) + data.dictionarySuggestions = suggestions; + else if (m_webView->spellCheckClient()) { + int misspelledOffset, misspelledLength; + m_webView->spellCheckClient()->spellCheck(data.misspelledWord, misspelledOffset, misspelledLength, &data.dictionarySuggestions); + } } } } else if (m_webView->focusedWebCoreFrame()->editor()->isContinuousSpellCheckingEnabled()) { diff --git a/Source/WebKit/chromium/src/EditorClientImpl.cpp b/Source/WebKit/chromium/src/EditorClientImpl.cpp index c004c3fc3..417fe9429 100644 --- a/Source/WebKit/chromium/src/EditorClientImpl.cpp +++ b/Source/WebKit/chromium/src/EditorClientImpl.cpp @@ -90,17 +90,6 @@ void EditorClientImpl::pageDestroyed() void EditorClientImpl::frameWillDetachPage(WebCore::Frame* frame) { - HashSet<WebTextCheckingCompletionImpl*> validRequests; - - for (HashSet<WebTextCheckingCompletionImpl*>::iterator i = m_pendingTextChecks.begin(); - i != m_pendingTextChecks.end(); ++i) { - if (frame->editor()->spellChecker() == (*i)->spellChecker()) - (*i)->invalidate(); - else - validRequests.add(*i); - } - - m_pendingTextChecks.swap(validRequests); } bool EditorClientImpl::shouldShowDeleteInterface(HTMLElement* elem) @@ -752,19 +741,12 @@ void EditorClientImpl::checkSpellingOfString(const UChar* text, int length, *misspellingLength = spellLength; } -void EditorClientImpl::requestCheckingOfString(SpellChecker* sender, const WebCore::TextCheckingRequest& request) +void EditorClientImpl::requestCheckingOfString(WTF::PassRefPtr<WebCore::TextCheckingRequest> request) { - if (!m_webView->spellCheckClient()) - return; - - WebTextCheckingCompletionImpl* completion = new WebTextCheckingCompletionImpl(request.sequence(), sender, this); - m_pendingTextChecks.add(completion); - m_webView->spellCheckClient()->requestCheckingOfText(request.text(), completion); -} - -void EditorClientImpl::didCheckString(WebTextCheckingCompletionImpl* completion) -{ - m_pendingTextChecks.remove(completion); + if (m_webView->spellCheckClient()) { + String text = request->text(); + m_webView->spellCheckClient()->requestCheckingOfText(text, new WebTextCheckingCompletionImpl(request)); + } } String EditorClientImpl::getAutoCorrectSuggestionForMisspelledWord(const String& misspelledWord) diff --git a/Source/WebKit/chromium/src/EditorClientImpl.h b/Source/WebKit/chromium/src/EditorClientImpl.h index 47e8c508f..3ee9ebaaa 100644 --- a/Source/WebKit/chromium/src/EditorClientImpl.h +++ b/Source/WebKit/chromium/src/EditorClientImpl.h @@ -40,7 +40,6 @@ namespace WebCore { class Frame; class HTMLInputElement; -class SpellChecker; } namespace WebKit { @@ -113,12 +112,10 @@ public: virtual void getGuessesForWord(const WTF::String& word, const WTF::String& context, WTF::Vector<WTF::String>& guesses); virtual void willSetInputMethodState(); virtual void setInputMethodState(bool enabled); - virtual void requestCheckingOfString(WebCore::SpellChecker*, const WebCore::TextCheckingRequest&); + virtual void requestCheckingOfString(WTF::PassRefPtr<WebCore::TextCheckingRequest>); virtual WebCore::TextCheckerClient* textChecker() { return this; } - void didCheckString(WebTextCheckingCompletionImpl*); - private: void modifySelection(WebCore::Frame*, WebCore::KeyboardEvent*); @@ -146,8 +143,6 @@ private: SpellCheckForcedOff }; int m_spellCheckThisFieldStatus; - - WTF::HashSet<WebTextCheckingCompletionImpl*> m_pendingTextChecks; }; } // namespace WebKit diff --git a/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp b/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp index c42979ca3..de3f22789 100644 --- a/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp +++ b/Source/WebKit/chromium/src/FrameLoaderClientImpl.cpp @@ -239,7 +239,16 @@ bool FrameLoaderClientImpl::allowRunningInsecureContent(bool enabledPerSettings, return enabledPerSettings; } -bool FrameLoaderClientImpl::shadowDOMAllowed(bool enabledAsRuntimeFeature) +bool FrameLoaderClientImpl::allowShadowDOM(bool enabledAsRuntimeFeature) +{ + WebViewImpl* webview = m_webFrame->viewImpl(); + if (webview && webview->permissionClient()) + return webview->permissionClient()->allowWebComponents(m_webFrame, enabledAsRuntimeFeature); + + return enabledAsRuntimeFeature; +} + +bool FrameLoaderClientImpl::allowStyleScoped(bool enabledAsRuntimeFeature) { WebViewImpl* webview = m_webFrame->viewImpl(); if (webview && webview->permissionClient()) diff --git a/Source/WebKit/chromium/src/FrameLoaderClientImpl.h b/Source/WebKit/chromium/src/FrameLoaderClientImpl.h index f798ac2ef..236a01b65 100644 --- a/Source/WebKit/chromium/src/FrameLoaderClientImpl.h +++ b/Source/WebKit/chromium/src/FrameLoaderClientImpl.h @@ -199,7 +199,8 @@ public: virtual bool allowImage(bool enabledPerSettings, const WebCore::KURL& imageURL); virtual bool allowDisplayingInsecureContent(bool enabledPerSettings, WebCore::SecurityOrigin*, const WebCore::KURL&); virtual bool allowRunningInsecureContent(bool enabledPerSettings, WebCore::SecurityOrigin*, const WebCore::KURL&); - virtual bool shadowDOMAllowed(bool enabledAsRuntimeFeature) OVERRIDE; + virtual bool allowShadowDOM(bool enabledAsRuntimeFeature) OVERRIDE; + virtual bool allowStyleScoped(bool enabledAsRuntimeFeature) OVERRIDE; virtual void didNotAllowScript(); virtual void didNotAllowPlugins(); diff --git a/Source/WebKit/chromium/src/PlatformSupport.cpp b/Source/WebKit/chromium/src/PlatformSupport.cpp index 7cc7f5a6e..b6266fea1 100644 --- a/Source/WebKit/chromium/src/PlatformSupport.cpp +++ b/Source/WebKit/chromium/src/PlatformSupport.cpp @@ -302,92 +302,6 @@ bool PlatformSupport::cookiesEnabled(const Document* document) // File ------------------------------------------------------------------------ -bool PlatformSupport::fileExists(const String& path) -{ - return WebKit::Platform::current()->fileUtilities()->fileExists(path); -} - -bool PlatformSupport::deleteFile(const String& path) -{ - return WebKit::Platform::current()->fileUtilities()->deleteFile(path); -} - -bool PlatformSupport::deleteEmptyDirectory(const String& path) -{ - return WebKit::Platform::current()->fileUtilities()->deleteEmptyDirectory(path); -} - -bool PlatformSupport::getFileMetadata(const String& path, FileMetadata& result) -{ - WebFileInfo webFileInfo; - if (!webKitPlatformSupport()->fileUtilities()->getFileInfo(path, webFileInfo)) - return false; - result.modificationTime = webFileInfo.modificationTime; - result.length = webFileInfo.length; - result.type = static_cast<FileMetadata::Type>(webFileInfo.type); - return true; -} - -String PlatformSupport::directoryName(const String& path) -{ - return WebKit::Platform::current()->fileUtilities()->directoryName(path); -} - -String PlatformSupport::pathByAppendingComponent(const String& path, const String& component) -{ - return WebKit::Platform::current()->fileUtilities()->pathByAppendingComponent(path, component); -} - -bool PlatformSupport::makeAllDirectories(const String& path) -{ - return WebKit::Platform::current()->fileUtilities()->makeAllDirectories(path); -} - -String PlatformSupport::getAbsolutePath(const String& path) -{ - return WebKit::Platform::current()->fileUtilities()->getAbsolutePath(path); -} - -bool PlatformSupport::isDirectory(const String& path) -{ - return WebKit::Platform::current()->fileUtilities()->isDirectory(path); -} - -KURL PlatformSupport::filePathToURL(const String& path) -{ - return WebKit::Platform::current()->fileUtilities()->filePathToURL(path); -} - -PlatformFileHandle PlatformSupport::openFile(const String& path, FileOpenMode mode) -{ - return WebKit::Platform::current()->fileUtilities()->openFile(path, mode); -} - -void PlatformSupport::closeFile(PlatformFileHandle& handle) -{ - WebKit::Platform::current()->fileUtilities()->closeFile(handle); -} - -long long PlatformSupport::seekFile(PlatformFileHandle handle, long long offset, FileSeekOrigin origin) -{ - return WebKit::Platform::current()->fileUtilities()->seekFile(handle, offset, origin); -} - -bool PlatformSupport::truncateFile(PlatformFileHandle handle, long long offset) -{ - return WebKit::Platform::current()->fileUtilities()->truncateFile(handle, offset); -} - -int PlatformSupport::readFromFile(PlatformFileHandle handle, char* data, int length) -{ - return WebKit::Platform::current()->fileUtilities()->readFromFile(handle, data, length); -} - -int PlatformSupport::writeToFile(PlatformFileHandle handle, const char* data, int length) -{ - return WebKit::Platform::current()->fileUtilities()->writeToFile(handle, data, length); -} - #if ENABLE(FILE_SYSTEM) PassOwnPtr<AsyncFileSystem> PlatformSupport::createAsyncFileSystem() { @@ -836,11 +750,6 @@ void PlatformSupport::notifyJSOutOfMemory(Frame* frame) webFrame->client()->didExhaustMemoryAvailableForScript(webFrame); } -bool PlatformSupport::getProcessMemorySize(size_t* privateBytes, size_t* sharedBytes) -{ - return webKitPlatformSupport()->getProcessMemorySize(privateBytes, sharedBytes); -} - int PlatformSupport::screenHorizontalDPI(Widget* widget) { WebWidgetClient* client = toWebWidgetClient(widget); diff --git a/Source/WebKit/chromium/src/WebAccessibilityObject.cpp b/Source/WebKit/chromium/src/WebAccessibilityObject.cpp index f556dbdf4..1eb69d28f 100644 --- a/Source/WebKit/chromium/src/WebAccessibilityObject.cpp +++ b/Source/WebKit/chromium/src/WebAccessibilityObject.cpp @@ -82,9 +82,17 @@ bool WebAccessibilityObject::accessibilityEnabled() return AXObjectCache::accessibilityEnabled(); } -int WebAccessibilityObject::axID() const +bool WebAccessibilityObject::isDetached() const { if (m_private.isNull()) + return true; + + return m_private->isDetached(); +} + +int WebAccessibilityObject::axID() const +{ + if (isDetached()) return -1; m_private->updateBackingStore(); @@ -93,7 +101,7 @@ int WebAccessibilityObject::axID() const WebString WebAccessibilityObject::accessibilityDescription() const { - if (m_private.isNull()) + if (isDetached()) return WebString(); m_private->updateBackingStore(); @@ -102,7 +110,7 @@ WebString WebAccessibilityObject::accessibilityDescription() const WebString WebAccessibilityObject::actionVerb() const { - if (m_private.isNull()) + if (isDetached()) return WebString(); m_private->updateBackingStore(); @@ -111,7 +119,7 @@ WebString WebAccessibilityObject::actionVerb() const bool WebAccessibilityObject::canSetFocusAttribute() const { - if (m_private.isNull()) + if (isDetached()) return false; m_private->updateBackingStore(); @@ -120,7 +128,7 @@ bool WebAccessibilityObject::canSetFocusAttribute() const bool WebAccessibilityObject::canSetValueAttribute() const { - if (m_private.isNull()) + if (isDetached()) return false; m_private->updateBackingStore(); @@ -129,7 +137,7 @@ bool WebAccessibilityObject::canSetValueAttribute() const bool WebAccessibilityObject::isValid() const { - if (m_private.isNull()) + if (isDetached()) return false; m_private->updateBackingStore(); @@ -138,7 +146,7 @@ bool WebAccessibilityObject::isValid() const unsigned WebAccessibilityObject::childCount() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -147,7 +155,7 @@ unsigned WebAccessibilityObject::childCount() const WebAccessibilityObject WebAccessibilityObject::childAt(unsigned index) const { - if (m_private.isNull()) + if (isDetached()) return WebAccessibilityObject(); m_private->updateBackingStore(); @@ -159,7 +167,7 @@ WebAccessibilityObject WebAccessibilityObject::childAt(unsigned index) const WebAccessibilityObject WebAccessibilityObject::firstChild() const { - if (m_private.isNull()) + if (isDetached()) return WebAccessibilityObject(); m_private->updateBackingStore(); @@ -168,7 +176,7 @@ WebAccessibilityObject WebAccessibilityObject::firstChild() const WebAccessibilityObject WebAccessibilityObject::focusedChild() const { - if (m_private.isNull()) + if (isDetached()) return WebAccessibilityObject(); m_private->updateBackingStore(); @@ -181,7 +189,7 @@ WebAccessibilityObject WebAccessibilityObject::focusedChild() const WebAccessibilityObject WebAccessibilityObject::lastChild() const { - if (m_private.isNull()) + if (isDetached()) return WebAccessibilityObject(); m_private->updateBackingStore(); @@ -191,7 +199,7 @@ WebAccessibilityObject WebAccessibilityObject::lastChild() const WebAccessibilityObject WebAccessibilityObject::nextSibling() const { - if (m_private.isNull()) + if (isDetached()) return WebAccessibilityObject(); m_private->updateBackingStore(); @@ -200,7 +208,7 @@ WebAccessibilityObject WebAccessibilityObject::nextSibling() const WebAccessibilityObject WebAccessibilityObject::parentObject() const { - if (m_private.isNull()) + if (isDetached()) return WebAccessibilityObject(); m_private->updateBackingStore(); @@ -210,7 +218,7 @@ WebAccessibilityObject WebAccessibilityObject::parentObject() const WebAccessibilityObject WebAccessibilityObject::previousSibling() const { - if (m_private.isNull()) + if (isDetached()) return WebAccessibilityObject(); m_private->updateBackingStore(); @@ -219,7 +227,7 @@ WebAccessibilityObject WebAccessibilityObject::previousSibling() const bool WebAccessibilityObject::canSetSelectedAttribute() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -228,7 +236,7 @@ bool WebAccessibilityObject::canSetSelectedAttribute() const bool WebAccessibilityObject::isAnchor() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -237,7 +245,7 @@ bool WebAccessibilityObject::isAnchor() const bool WebAccessibilityObject::isAriaReadOnly() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -246,7 +254,7 @@ bool WebAccessibilityObject::isAriaReadOnly() const bool WebAccessibilityObject::isButtonStateMixed() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -255,7 +263,7 @@ bool WebAccessibilityObject::isButtonStateMixed() const bool WebAccessibilityObject::isChecked() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -264,7 +272,7 @@ bool WebAccessibilityObject::isChecked() const bool WebAccessibilityObject::isCollapsed() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -273,7 +281,7 @@ bool WebAccessibilityObject::isCollapsed() const bool WebAccessibilityObject::isControl() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -282,7 +290,7 @@ bool WebAccessibilityObject::isControl() const bool WebAccessibilityObject::isEnabled() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -291,7 +299,7 @@ bool WebAccessibilityObject::isEnabled() const bool WebAccessibilityObject::isFocused() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -300,7 +308,7 @@ bool WebAccessibilityObject::isFocused() const bool WebAccessibilityObject::isHovered() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -309,7 +317,7 @@ bool WebAccessibilityObject::isHovered() const bool WebAccessibilityObject::isIndeterminate() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -318,7 +326,7 @@ bool WebAccessibilityObject::isIndeterminate() const bool WebAccessibilityObject::isLinked() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -327,7 +335,7 @@ bool WebAccessibilityObject::isLinked() const bool WebAccessibilityObject::isLoaded() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -336,7 +344,7 @@ bool WebAccessibilityObject::isLoaded() const bool WebAccessibilityObject::isMultiSelectable() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -345,7 +353,7 @@ bool WebAccessibilityObject::isMultiSelectable() const bool WebAccessibilityObject::isOffScreen() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -354,7 +362,7 @@ bool WebAccessibilityObject::isOffScreen() const bool WebAccessibilityObject::isPasswordField() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -363,7 +371,7 @@ bool WebAccessibilityObject::isPasswordField() const bool WebAccessibilityObject::isPressed() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -372,7 +380,7 @@ bool WebAccessibilityObject::isPressed() const bool WebAccessibilityObject::isReadOnly() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -381,7 +389,7 @@ bool WebAccessibilityObject::isReadOnly() const bool WebAccessibilityObject::isRequired() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -390,7 +398,7 @@ bool WebAccessibilityObject::isRequired() const bool WebAccessibilityObject::isSelected() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -399,7 +407,7 @@ bool WebAccessibilityObject::isSelected() const bool WebAccessibilityObject::isSelectedOptionActive() const { - if (m_private.isNull()) + if (isDetached()) return false; m_private->updateBackingStore(); @@ -408,7 +416,7 @@ bool WebAccessibilityObject::isSelectedOptionActive() const bool WebAccessibilityObject::isVertical() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -417,7 +425,7 @@ bool WebAccessibilityObject::isVertical() const bool WebAccessibilityObject::isVisible() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -426,7 +434,7 @@ bool WebAccessibilityObject::isVisible() const bool WebAccessibilityObject::isVisited() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -435,7 +443,7 @@ bool WebAccessibilityObject::isVisited() const WebString WebAccessibilityObject::accessKey() const { - if (m_private.isNull()) + if (isDetached()) return WebString(); m_private->updateBackingStore(); @@ -444,7 +452,7 @@ WebString WebAccessibilityObject::accessKey() const bool WebAccessibilityObject::ariaHasPopup() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -453,7 +461,7 @@ bool WebAccessibilityObject::ariaHasPopup() const bool WebAccessibilityObject::ariaLiveRegionAtomic() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -462,7 +470,7 @@ bool WebAccessibilityObject::ariaLiveRegionAtomic() const bool WebAccessibilityObject::ariaLiveRegionBusy() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -471,7 +479,7 @@ bool WebAccessibilityObject::ariaLiveRegionBusy() const WebString WebAccessibilityObject::ariaLiveRegionRelevant() const { - if (m_private.isNull()) + if (isDetached()) return WebString(); m_private->updateBackingStore(); @@ -480,7 +488,7 @@ WebString WebAccessibilityObject::ariaLiveRegionRelevant() const WebString WebAccessibilityObject::ariaLiveRegionStatus() const { - if (m_private.isNull()) + if (isDetached()) return WebString(); m_private->updateBackingStore(); @@ -489,7 +497,7 @@ WebString WebAccessibilityObject::ariaLiveRegionStatus() const WebRect WebAccessibilityObject::boundingBoxRect() const { - if (m_private.isNull()) + if (isDetached()) return WebRect(); m_private->updateBackingStore(); @@ -498,7 +506,7 @@ WebRect WebAccessibilityObject::boundingBoxRect() const double WebAccessibilityObject::estimatedLoadingProgress() const { - if (m_private.isNull()) + if (isDetached()) return 0.0; m_private->updateBackingStore(); @@ -507,7 +515,7 @@ double WebAccessibilityObject::estimatedLoadingProgress() const WebString WebAccessibilityObject::helpText() const { - if (m_private.isNull()) + if (isDetached()) return WebString(); m_private->updateBackingStore(); @@ -516,7 +524,7 @@ WebString WebAccessibilityObject::helpText() const int WebAccessibilityObject::headingLevel() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -525,7 +533,7 @@ int WebAccessibilityObject::headingLevel() const int WebAccessibilityObject::hierarchicalLevel() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -534,7 +542,7 @@ int WebAccessibilityObject::hierarchicalLevel() const WebAccessibilityObject WebAccessibilityObject::hitTest(const WebPoint& point) const { - if (m_private.isNull()) + if (isDetached()) return WebAccessibilityObject(); m_private->updateBackingStore(); @@ -552,7 +560,7 @@ WebAccessibilityObject WebAccessibilityObject::hitTest(const WebPoint& point) co WebString WebAccessibilityObject::keyboardShortcut() const { - if (m_private.isNull()) + if (isDetached()) return WebString(); m_private->updateBackingStore(); @@ -581,7 +589,7 @@ WebString WebAccessibilityObject::keyboardShortcut() const bool WebAccessibilityObject::performDefaultAction() const { - if (m_private.isNull()) + if (isDetached()) return false; UserGestureIndicator gestureIndicator(DefinitelyProcessingUserGesture); @@ -592,7 +600,7 @@ bool WebAccessibilityObject::performDefaultAction() const WebAccessibilityRole WebAccessibilityObject::roleValue() const { - if (m_private.isNull()) + if (isDetached()) return WebKit::WebAccessibilityRoleUnknown; m_private->updateBackingStore(); @@ -601,7 +609,7 @@ WebAccessibilityRole WebAccessibilityObject::roleValue() const unsigned WebAccessibilityObject::selectionEnd() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -610,7 +618,7 @@ unsigned WebAccessibilityObject::selectionEnd() const unsigned WebAccessibilityObject::selectionStart() const { - if (m_private.isNull()) + if (isDetached()) return 0; m_private->updateBackingStore(); @@ -619,13 +627,13 @@ unsigned WebAccessibilityObject::selectionStart() const void WebAccessibilityObject::setFocused(bool on) const { - if (!m_private.isNull()) + if (!isDetached()) m_private->setFocused(on); } WebString WebAccessibilityObject::stringValue() const { - if (m_private.isNull()) + if (isDetached()) return WebString(); m_private->updateBackingStore(); @@ -634,7 +642,7 @@ WebString WebAccessibilityObject::stringValue() const WebString WebAccessibilityObject::title() const { - if (m_private.isNull()) + if (isDetached()) return WebString(); m_private->updateBackingStore(); @@ -643,7 +651,7 @@ WebString WebAccessibilityObject::title() const WebAccessibilityObject WebAccessibilityObject::titleUIElement() const { - if (m_private.isNull()) + if (isDetached()) return WebAccessibilityObject(); m_private->updateBackingStore(); @@ -652,7 +660,7 @@ WebAccessibilityObject WebAccessibilityObject::titleUIElement() const WebURL WebAccessibilityObject::url() const { - if (m_private.isNull()) + if (isDetached()) return WebURL(); m_private->updateBackingStore(); @@ -661,7 +669,7 @@ WebURL WebAccessibilityObject::url() const WebString WebAccessibilityObject::valueDescription() const { - if (m_private.isNull()) + if (isDetached()) return WebString(); m_private->updateBackingStore(); @@ -670,7 +678,7 @@ WebString WebAccessibilityObject::valueDescription() const float WebAccessibilityObject::valueForRange() const { - if (m_private.isNull()) + if (isDetached()) return 0.0; m_private->updateBackingStore(); @@ -679,7 +687,7 @@ float WebAccessibilityObject::valueForRange() const float WebAccessibilityObject::maxValueForRange() const { - if (m_private.isNull()) + if (isDetached()) return 0.0; m_private->updateBackingStore(); @@ -688,7 +696,7 @@ float WebAccessibilityObject::maxValueForRange() const float WebAccessibilityObject::minValueForRange() const { - if (m_private.isNull()) + if (isDetached()) return 0.0; m_private->updateBackingStore(); @@ -697,7 +705,7 @@ float WebAccessibilityObject::minValueForRange() const WebNode WebAccessibilityObject::node() const { - if (m_private.isNull()) + if (isDetached()) return WebNode(); m_private->updateBackingStore(); @@ -711,7 +719,7 @@ WebNode WebAccessibilityObject::node() const WebDocument WebAccessibilityObject::document() const { - if (m_private.isNull()) + if (isDetached()) return WebDocument(); m_private->updateBackingStore(); @@ -725,7 +733,7 @@ WebDocument WebAccessibilityObject::document() const bool WebAccessibilityObject::hasComputedStyle() const { - if (m_private.isNull()) + if (isDetached()) return false; Document* document = m_private->document(); @@ -741,7 +749,7 @@ bool WebAccessibilityObject::hasComputedStyle() const WebString WebAccessibilityObject::computedStyleDisplay() const { - if (m_private.isNull()) + if (isDetached()) return WebString(); Document* document = m_private->document(); @@ -761,7 +769,7 @@ WebString WebAccessibilityObject::computedStyleDisplay() const bool WebAccessibilityObject::accessibilityIsIgnored() const { - if (m_private.isNull()) + if (isDetached()) return false; m_private->updateBackingStore(); @@ -770,7 +778,7 @@ bool WebAccessibilityObject::accessibilityIsIgnored() const bool WebAccessibilityObject::lineBreaks(WebVector<int>& result) const { - if (m_private.isNull()) + if (isDetached()) return false; m_private->updateBackingStore(); @@ -794,7 +802,7 @@ bool WebAccessibilityObject::lineBreaks(WebVector<int>& result) const unsigned WebAccessibilityObject::columnCount() const { - if (m_private.isNull()) + if (isDetached()) return false; m_private->updateBackingStore(); @@ -806,7 +814,7 @@ unsigned WebAccessibilityObject::columnCount() const unsigned WebAccessibilityObject::rowCount() const { - if (m_private.isNull()) + if (isDetached()) return false; m_private->updateBackingStore(); diff --git a/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp b/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp index d39ff8af9..6f72f13fd 100644 --- a/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp +++ b/Source/WebKit/chromium/src/WebDevToolsAgentImpl.cpp @@ -560,15 +560,6 @@ void WebDevToolsAgentImpl::evaluateInWebInspector(long callId, const WebString& ic->evaluateForTestInFrontend(callId, script); } -void WebDevToolsAgentImpl::setJavaScriptProfilingEnabled(bool enabled) -{ - InspectorController* ic = inspectorController(); - if (enabled) - ic->enableProfiler(); - else - ic->disableProfiler(); -} - WebString WebDevToolsAgent::inspectorProtocolVersion() { return WebCore::inspectorProtocolVersion(); diff --git a/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h b/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h index 1c8e025e8..edbee1471 100644 --- a/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h +++ b/Source/WebKit/chromium/src/WebDevToolsAgentImpl.h @@ -84,7 +84,6 @@ public: virtual void dispatchOnInspectorBackend(const WebString& message); virtual void inspectElementAt(const WebPoint& point); virtual void evaluateInWebInspector(long callId, const WebString& script); - virtual void setJavaScriptProfilingEnabled(bool); virtual void setProcessId(long); // InspectorClient implementation. diff --git a/Source/WebKit/chromium/src/WebIDBDatabaseError.cpp b/Source/WebKit/chromium/src/WebIDBDatabaseError.cpp index c454b485d..ea580b4dc 100644 --- a/Source/WebKit/chromium/src/WebIDBDatabaseError.cpp +++ b/Source/WebKit/chromium/src/WebIDBDatabaseError.cpp @@ -47,7 +47,7 @@ void WebIDBDatabaseError::assign(const WebIDBDatabaseError& value) void WebIDBDatabaseError::assign(unsigned short code, const WebString& message) { - m_private = IDBDatabaseError::createWithoutOffset(code, message); + m_private = IDBDatabaseError::create(code, message); } void WebIDBDatabaseError::reset() @@ -57,7 +57,7 @@ void WebIDBDatabaseError::reset() unsigned short WebIDBDatabaseError::code() const { - return m_private->code(); + return m_private->idbCode(); } WebString WebIDBDatabaseError::message() const diff --git a/Source/WebKit/chromium/src/WebInputElement.cpp b/Source/WebKit/chromium/src/WebInputElement.cpp index c58e90704..c1453de66 100644 --- a/Source/WebKit/chromium/src/WebInputElement.cpp +++ b/Source/WebKit/chromium/src/WebInputElement.cpp @@ -183,6 +183,11 @@ WebNodeCollection WebInputElement::dataListOptions() const return WebNodeCollection(); } +WebString WebInputElement::localizeValue(const WebString& proposedValue) const +{ + return constUnwrap<HTMLInputElement>()->localizeValue(proposedValue); +} + bool WebInputElement::isSpeechInputEnabled() const { #if ENABLE(INPUT_SPEECH) diff --git a/Source/WebKit/chromium/src/WebInputEventConversion.cpp b/Source/WebKit/chromium/src/WebInputEventConversion.cpp index a45cae102..58df5093b 100644 --- a/Source/WebKit/chromium/src/WebInputEventConversion.cpp +++ b/Source/WebKit/chromium/src/WebInputEventConversion.cpp @@ -441,7 +441,11 @@ WebKeyboardEventBuilder::WebKeyboardEventBuilder(const KeyboardEvent& event) type = WebInputEvent::Char; else return; // Skip all other keyboard events. + modifiers = getWebInputModifiers(event); + if (event.keyLocation() & KeyboardEvent::DOM_KEY_LOCATION_NUMPAD) + modifiers |= WebInputEvent::IsKeyPad; + timeStampSeconds = event.timeStamp() / millisPerSecond; windowsKeyCode = event.keyCode(); diff --git a/Source/WebKit/chromium/src/WebLayer.cpp b/Source/WebKit/chromium/src/WebLayer.cpp index bd022b724..6b1029814 100644 --- a/Source/WebKit/chromium/src/WebLayer.cpp +++ b/Source/WebKit/chromium/src/WebLayer.cpp @@ -38,20 +38,21 @@ #include <public/WebTransformationMatrix.h> using namespace WebCore; +using WebKit::WebTransformationMatrix; namespace { -TransformationMatrix transformationMatrixFromSkMatrix44(const SkMatrix44& matrix) +WebTransformationMatrix transformationMatrixFromSkMatrix44(const SkMatrix44& matrix) { double data[16]; matrix.asColMajord(data); - return TransformationMatrix(data[0], data[1], data[2], data[3], - data[4], data[5], data[6], data[7], - data[8], data[9], data[10], data[11], - data[12], data[13], data[14], data[15]); + return WebTransformationMatrix(data[0], data[1], data[2], data[3], + data[4], data[5], data[6], data[7], + data[8], data[9], data[10], data[11], + data[12], data[13], data[14], data[15]); } -SkMatrix44 skMatrix44FromTransformationMatrix(const TransformationMatrix& matrix) +SkMatrix44 skMatrix44FromTransformationMatrix(const WebTransformationMatrix& matrix) { SkMatrix44 skMatrix; skMatrix.set(0, 0, SkDoubleToMScalar(matrix.m11())); @@ -231,7 +232,7 @@ void WebLayer::setSublayerTransform(const SkMatrix44& matrix) void WebLayer::setSublayerTransform(const WebTransformationMatrix& matrix) { - m_private->setSublayerTransform(matrix.toWebCoreTransform()); + m_private->setSublayerTransform(matrix); } SkMatrix44 WebLayer::sublayerTransform() const @@ -246,7 +247,7 @@ void WebLayer::setTransform(const SkMatrix44& matrix) void WebLayer::setTransform(const WebTransformationMatrix& matrix) { - m_private->setTransform(matrix.toWebCoreTransform()); + m_private->setTransform(matrix); } SkMatrix44 WebLayer::transform() const diff --git a/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp b/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp index 2411d9c79..44e51cd87 100644 --- a/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp +++ b/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp @@ -593,11 +593,9 @@ unsigned WebMediaPlayerClientImpl::totalBytes() const return 0; } -unsigned WebMediaPlayerClientImpl::bytesLoaded() const +bool WebMediaPlayerClientImpl::didLoadingProgress() const { - if (m_webMediaPlayer) - return static_cast<unsigned>(m_webMediaPlayer->bytesLoaded()); - return 0; + return m_webMediaPlayer && m_webMediaPlayer->didLoadingProgress(); } void WebMediaPlayerClientImpl::setSize(const IntSize& size) diff --git a/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h b/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h index 72170f750..0888d5eee 100644 --- a/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h +++ b/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h @@ -122,7 +122,7 @@ public: virtual int dataRate() const; virtual bool totalBytesKnown() const; virtual unsigned totalBytes() const; - virtual unsigned bytesLoaded() const; + virtual bool didLoadingProgress() const; virtual void setSize(const WebCore::IntSize&); virtual void paint(WebCore::GraphicsContext*, const WebCore::IntRect&); virtual void paintCurrentFrameInContext(WebCore::GraphicsContext*, const WebCore::IntRect&); diff --git a/Source/WebKit/chromium/src/WebNotification.cpp b/Source/WebKit/chromium/src/WebNotification.cpp index f6e981d3c..54209fd97 100644 --- a/Source/WebKit/chromium/src/WebNotification.cpp +++ b/Source/WebKit/chromium/src/WebNotification.cpp @@ -36,6 +36,7 @@ #include "Event.h" #include "Notification.h" #include "UserGestureIndicator.h" +#include "WindowFocusAllowedIndicator.h" #include "platform/WebString.h" #include "WebTextDirection.h" @@ -136,8 +137,8 @@ void WebNotification::dispatchCloseEvent(bool /* byUser */) void WebNotification::dispatchClickEvent() { - // Make sure clicks on notifications are treated as user gestures. UserGestureIndicator gestureIndicator(DefinitelyProcessingUserGesture); + WindowFocusAllowedIndicator windowFocusAllowed; dispatchEvent(eventNames().clickEvent); } diff --git a/Source/WebKit/chromium/src/WebSettingsImpl.cpp b/Source/WebKit/chromium/src/WebSettingsImpl.cpp index ffb8c9bfe..c51fffbf7 100644 --- a/Source/WebKit/chromium/src/WebSettingsImpl.cpp +++ b/Source/WebKit/chromium/src/WebSettingsImpl.cpp @@ -118,6 +118,21 @@ void WebSettingsImpl::setDefaultDeviceScaleFactor(int defaultDeviceScaleFactor) m_settings->setDefaultDeviceScaleFactor(defaultDeviceScaleFactor); } +int WebSettingsImpl::defaultDeviceScaleFactor() +{ + return m_settings->defaultDeviceScaleFactor(); +} + +void WebSettingsImpl::setDeviceSupportsTouch(bool deviceSupportsTouch) +{ + m_settings->setDeviceSupportsTouch(deviceSupportsTouch); +} + +bool WebSettingsImpl::deviceSupportsTouch() +{ + return m_settings->deviceSupportsTouch(); +} + void WebSettingsImpl::setApplyDefaultDeviceScaleFactorInCompositor(bool applyDefaultDeviceScaleFactorInCompositor) { m_applyDefaultDeviceScaleFactorInCompositor = applyDefaultDeviceScaleFactorInCompositor; diff --git a/Source/WebKit/chromium/src/WebSettingsImpl.h b/Source/WebKit/chromium/src/WebSettingsImpl.h index 033784039..c28908441 100644 --- a/Source/WebKit/chromium/src/WebSettingsImpl.h +++ b/Source/WebKit/chromium/src/WebSettingsImpl.h @@ -55,9 +55,12 @@ public: virtual void setMinimumFontSize(int); virtual void setMinimumLogicalFontSize(int); virtual void setDefaultDeviceScaleFactor(int); + virtual int defaultDeviceScaleFactor(); virtual void setApplyDefaultDeviceScaleFactorInCompositor(bool); virtual void setFontBoostingEnabled(bool); virtual void setDefaultTextEncodingName(const WebString&); + virtual void setDeviceSupportsTouch(bool); + virtual bool deviceSupportsTouch(); virtual void setJavaScriptEnabled(bool); virtual void setWebSecurityEnabled(bool); virtual void setJavaScriptCanOpenWindowsAutomatically(bool); diff --git a/Source/WebKit/chromium/src/WebTextCheckingCompletionImpl.cpp b/Source/WebKit/chromium/src/WebTextCheckingCompletionImpl.cpp index d7a9be01c..b81ea578b 100644 --- a/Source/WebKit/chromium/src/WebTextCheckingCompletionImpl.cpp +++ b/Source/WebKit/chromium/src/WebTextCheckingCompletionImpl.cpp @@ -52,28 +52,14 @@ static Vector<TextCheckingResult> toCoreResults(const WebVector<WebTextCheckingR void WebTextCheckingCompletionImpl::didFinishCheckingText(const WebVector<WebTextCheckingResult>& results) { - if (m_spellChecker) { - m_spellChecker->didCheckSucceeded(m_identifier, toCoreResults(results)); - m_editorClient->didCheckString(this); - } - + m_request->didSucceed(toCoreResults(results)); delete this; } void WebTextCheckingCompletionImpl::didCancelCheckingText() { - if (m_spellChecker) { - m_spellChecker->didCheckCanceled(m_identifier); - m_editorClient->didCheckString(this); - } - + m_request->didCancel(); delete this; } -void WebTextCheckingCompletionImpl::invalidate() -{ - m_spellChecker = 0; - m_editorClient = 0; -} - } // namespace WebKit diff --git a/Source/WebKit/chromium/src/WebTextCheckingCompletionImpl.h b/Source/WebKit/chromium/src/WebTextCheckingCompletionImpl.h index 06e34addc..cd114132e 100644 --- a/Source/WebKit/chromium/src/WebTextCheckingCompletionImpl.h +++ b/Source/WebKit/chromium/src/WebTextCheckingCompletionImpl.h @@ -31,11 +31,9 @@ #ifndef WebTextCheckingCompletionImpl_h #define WebTextCheckingCompletionImpl_h +#include "TextChecking.h" #include "WebTextCheckingCompletion.h" - -namespace WebCore { -class SpellChecker; -} +#include <wtf/RefPtr.h> namespace WebKit { @@ -43,25 +41,18 @@ class EditorClientImpl; class WebTextCheckingCompletionImpl : public WebTextCheckingCompletion { public: - WebTextCheckingCompletionImpl(int identifier, WebCore::SpellChecker* spellchecker, EditorClientImpl* editorClient) - : m_identifier(identifier) - , m_spellChecker(spellchecker) - , m_editorClient(editorClient) + explicit WebTextCheckingCompletionImpl(WTF::PassRefPtr<WebCore::TextCheckingRequest> request) + : m_request(request) { } - virtual void didFinishCheckingText(const WebVector<WebTextCheckingResult>&); - virtual void didCancelCheckingText(); - - void invalidate(); - WebCore::SpellChecker* spellChecker() const { return m_spellChecker; } + virtual void didFinishCheckingText(const WebVector<WebTextCheckingResult>&) OVERRIDE; + virtual void didCancelCheckingText() OVERRIDE; private: virtual ~WebTextCheckingCompletionImpl() { } - int m_identifier; - WebCore::SpellChecker* m_spellChecker; - EditorClientImpl* m_editorClient; + WTF::RefPtr<WebCore::TextCheckingRequest> m_request; }; } // namespace WebKit diff --git a/Source/WebKit/chromium/src/WebViewImpl.cpp b/Source/WebKit/chromium/src/WebViewImpl.cpp index a8931b120..dacfa152e 100644 --- a/Source/WebKit/chromium/src/WebViewImpl.cpp +++ b/Source/WebKit/chromium/src/WebViewImpl.cpp @@ -1678,8 +1678,9 @@ bool WebViewImpl::handleInputEvent(const WebInputEvent& inputEvent) if (m_doingDragAndDrop) return true; + // Report the event to be NOT processed by WebKit, so that the browser can handle it appropriately. if (m_ignoreInputEvents) - return true; + return false; m_currentInputEvent = &inputEvent; @@ -2955,10 +2956,10 @@ void WebViewImpl::applyAutofillSuggestions( if (!m_autofillPopup) { PopupContainerSettings popupSettings = autofillPopupSettings; - popupSettings.defaultDeviceScaleFactor = - m_page->settings()->defaultDeviceScaleFactor(); + popupSettings.defaultDeviceScaleFactor = settingsImpl()->defaultDeviceScaleFactor(); if (!popupSettings.defaultDeviceScaleFactor) popupSettings.defaultDeviceScaleFactor = 1; + popupSettings.deviceSupportsTouch = settingsImpl()->deviceSupportsTouch(); m_autofillPopup = PopupContainer::create(m_autofillPopupClient.get(), PopupContainer::Suggestion, popupSettings); diff --git a/Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp b/Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp index b82ea52b3..72db521d5 100644 --- a/Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp +++ b/Source/WebKit/chromium/src/gtk/WebInputEventFactory.cpp @@ -79,6 +79,12 @@ void resetClickCountState() gLastClickButton = WebKit::WebMouseEvent::ButtonNone; } +bool isKeyPadKeyval(guint keyval) +{ + // Keypad keyvals all fall into one range. + return keyval >= GDK_KP_Space && keyval <= GDK_KP_9; +} + } // namespace namespace WebKit { @@ -365,7 +371,9 @@ WebKeyboardEvent WebInputEventFactory::keyboardEvent(const GdkEventKey* event) result.setKeyIdentifierFromWindowsKeyCode(); - // FIXME: Do we need to set IsAutoRepeat or IsKeyPad? + // FIXME: Do we need to set IsAutoRepeat? + if (isKeyPadKeyval(event->keyval)) + result.modifiers |= WebInputEvent::IsKeyPad; return result; } |