diff options
author | playmobil@google.com <playmobil@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-01-28 00:34:10 +0000 |
---|---|---|
committer | playmobil@google.com <playmobil@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-01-28 00:34:10 +0000 |
commit | 40b3d6d422b21c1a575d6fda4235dee828c083d7 (patch) | |
tree | 8ecf4544ff799750eaa22e055221ea29cbe0ee8e | |
parent | 3c5281026a2bd92b33eb46418b46baec351d99ee (diff) | |
download | chromium_src-40b3d6d422b21c1a575d6fda4235dee828c083d7.zip chromium_src-40b3d6d422b21c1a575d6fda4235dee828c083d7.tar.gz chromium_src-40b3d6d422b21c1a575d6fda4235dee828c083d7.tar.bz2 |
Chrome side of WebKit Merge 40165:40297
Review URL: http://codereview.chromium.org/19603
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8776 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | DEPS | 8 | ||||
-rw-r--r-- | WEBKIT_MERGE_REVISION | 2 | ||||
-rw-r--r-- | webkit/build/WebCore/SConscript | 3 | ||||
-rw-r--r-- | webkit/build/WebCore/WebCore.vcproj | 32 | ||||
-rw-r--r-- | webkit/glue/searchable_form_data.cc | 4 | ||||
-rw-r--r-- | webkit/glue/webframe_impl.cc | 2 | ||||
-rw-r--r-- | webkit/glue/webframeloaderclient_impl.cc | 4 | ||||
-rw-r--r-- | webkit/glue/webframeloaderclient_impl.h | 4 | ||||
-rw-r--r-- | webkit/glue/webplugin_impl.cc | 2 | ||||
-rw-r--r-- | webkit/port/bindings/v8/ScriptCachedFrameData.h (renamed from webkit/port/bindings/v8/ScriptCachedPageData.h) | 10 | ||||
-rw-r--r-- | webkit/port/bindings/v8/v8_custom.cpp | 51 | ||||
-rw-r--r-- | webkit/port/bindings/v8/v8_custom.h | 4 | ||||
-rw-r--r-- | webkit/tools/layout_tests/test_lists/tests_fixable.txt | 27 |
13 files changed, 123 insertions, 30 deletions
@@ -12,7 +12,7 @@ deps = { "http://googletest.googlecode.com/svn/trunk@167", "src/third_party/WebKit": - "/trunk/deps/third_party/WebKit@8753", + "/trunk/deps/third_party/WebKit@8775", "src/third_party/icu38": "/trunk/deps/third_party/icu38@7525", @@ -21,13 +21,13 @@ deps = { "http://v8.googlecode.com/svn/trunk@1177", "src/webkit/data/layout_tests/LayoutTests": - "http://svn.webkit.org/repository/webkit/trunk/LayoutTests@40164", + "http://svn.webkit.org/repository/webkit/trunk/LayoutTests@40297", "src/third_party/WebKit/WebKit": - "http://svn.webkit.org/repository/webkit/trunk/WebKit@40164", + "http://svn.webkit.org/repository/webkit/trunk/WebKit@40297", "src/third_party/WebKit/WebKitLibraries": - "http://svn.webkit.org/repository/webkit/trunk/WebKitLibraries@40164", + "http://svn.webkit.org/repository/webkit/trunk/WebKitLibraries@40297", } diff --git a/WEBKIT_MERGE_REVISION b/WEBKIT_MERGE_REVISION index db0e556..274f04d 100644 --- a/WEBKIT_MERGE_REVISION +++ b/WEBKIT_MERGE_REVISION @@ -1 +1 @@ -http://svn.webkit.org/repository/webkit/trunk@40164
\ No newline at end of file +http://svn.webkit.org/repository/webkit/trunk@40297
\ No newline at end of file diff --git a/webkit/build/WebCore/SConscript b/webkit/build/WebCore/SConscript index fa4d730..04b4326 100644 --- a/webkit/build/WebCore/SConscript +++ b/webkit/build/WebCore/SConscript @@ -130,6 +130,7 @@ input_files = [ '$WEBCORE_DIR/dom/EventTargetNode.cpp', '$WEBCORE_DIR/dom/ExceptionBase.cpp', '$WEBCORE_DIR/dom/ExceptionCode.cpp', + '$WEBCORE_DIR/dom/FormControlElementWithState.cpp', '$WEBCORE_DIR/dom/FormControlElement.cpp', '$WEBCORE_DIR/dom/InputElement.cpp', '$WEBCORE_DIR/dom/KeyboardEvent.cpp', @@ -215,7 +216,6 @@ input_files = [ '$WEBCORE_DIR/editing/MoveSelectionCommand.cpp', '$WEBCORE_DIR/editing/RemoveCSSPropertyCommand.cpp', '$WEBCORE_DIR/editing/RemoveFormatCommand.cpp', - '$WEBCORE_DIR/editing/RemoveNodeAttributeCommand.cpp', '$WEBCORE_DIR/editing/RemoveNodeCommand.cpp', '$WEBCORE_DIR/editing/RemoveNodePreservingChildrenCommand.cpp', '$WEBCORE_DIR/editing/ReplaceSelectionCommand.cpp', @@ -235,6 +235,7 @@ input_files = [ '$WEBCORE_DIR/editing/WrapContentsInDummySpanCommand.cpp', '$WEBCORE_DIR/history/BackForwardListChromium.cpp', + '$WEBCORE_DIR/history/CachedFrame.cpp', '$WEBCORE_DIR/history/CachedPage.cpp', '$WEBCORE_DIR/history/PageCache.cpp', '$WEBCORE_DIR/history/HistoryItem.cpp', diff --git a/webkit/build/WebCore/WebCore.vcproj b/webkit/build/WebCore/WebCore.vcproj index 0e5d893..9e87138 100644 --- a/webkit/build/WebCore/WebCore.vcproj +++ b/webkit/build/WebCore/WebCore.vcproj @@ -287,6 +287,10 @@ > </File> <File + RelativePath="..\..\..\third_party\WebKit\WebCore\page\DOMTimer.h" + > + </File> + <File RelativePath="..\..\..\third_party\WebKit\WebCore\page\DOMWindow.cpp" > </File> @@ -4467,6 +4471,14 @@ > </File> <File + RelativePath="..\..\..\third_party\WebKit\WebCore\dom\FormControlElementWithState.cpp" + > + </File> + <File + RelativePath="..\..\..\third_party\WebKit\WebCore\dom\FormControlElementWithState.h" + > + </File> + <File RelativePath="..\..\..\third_party\WebKit\WebCore\dom\FormControlElement.cpp" > </File> @@ -5159,14 +5171,6 @@ > </File> <File - RelativePath="..\..\..\third_party\WebKit\WebCore\editing\RemoveNodeAttributeCommand.cpp" - > - </File> - <File - RelativePath="..\..\..\third_party\WebKit\WebCore\editing\RemoveNodeAttributeCommand.h" - > - </File> - <File RelativePath="..\..\..\third_party\WebKit\WebCore\editing\RemoveNodeCommand.cpp" > </File> @@ -6047,6 +6051,18 @@ > </File> <File + RelativePath="..\..\..\third_party\WebKit\WebCore\history\CachedFrame.cpp" + > + </File> + <File + RelativePath="..\..\..\third_party\WebKit\WebCore\history\CachedFrame.h" + > + </File> + <File + RelativePath="..\..\..\third_party\WebKit\WebCore\history\CachedFramePlatformData.h" + > + </File> + <File RelativePath="..\..\..\third_party\WebKit\WebCore\history\CachedPage.cpp" > </File> diff --git a/webkit/glue/searchable_form_data.cc b/webkit/glue/searchable_form_data.cc index d8a982c..9b03204 100644 --- a/webkit/glue/searchable_form_data.cc +++ b/webkit/glue/searchable_form_data.cc @@ -38,7 +38,6 @@ using WebCore::HTMLInputElement; using WebCore::HTMLOptionElement; namespace { - // TODO(eseidel): appendString and appendEncodedString do *not* follow Google // style because they are copy/paste from WebKit and will go away as soon as the // WebKit functions are made public. @@ -296,8 +295,7 @@ WebCore::HTMLInputElement* GetTextElement( } // namespace SearchableFormData* SearchableFormData::Create(WebCore::Element* element) { - if (!element->isHTMLElement() || - !static_cast<WebCore::HTMLElement*>(element)->isGenericFormElement()) { + if (!element->isFormControlElement() || !element->isHTMLElement()) { return NULL; } diff --git a/webkit/glue/webframe_impl.cc b/webkit/glue/webframe_impl.cc index ad862c3..fcae8a1 100644 --- a/webkit/glue/webframe_impl.cc +++ b/webkit/glue/webframe_impl.cc @@ -1758,7 +1758,7 @@ bool WebFrameImpl::SetPrintingMode(bool printing, // The document width is well hidden. if (width) { WebCore::RenderObject* obj = frame()->document()->renderer(); - *width = WebCore::RenderBox::toRenderBox(obj)->width(); + *width = WebCore::toRenderBox(obj)->width(); } return true; } diff --git a/webkit/glue/webframeloaderclient_impl.cc b/webkit/glue/webframeloaderclient_impl.cc index e531972..3363485 100644 --- a/webkit/glue/webframeloaderclient_impl.cc +++ b/webkit/glue/webframeloaderclient_impl.cc @@ -1268,11 +1268,11 @@ String WebFrameLoaderClient::userAgent(const KURL& url) { webkit_glue::GetUserAgent(webkit_glue::KURLToGURL(url))); } -void WebFrameLoaderClient::savePlatformDataToCachedPage(WebCore::CachedPage*) { +void WebFrameLoaderClient::savePlatformDataToCachedFrame(WebCore::CachedFrame*) { NOTREACHED() << "Page cache should be disabled"; } -void WebFrameLoaderClient::transitionToCommittedFromCachedPage(WebCore::CachedPage*) { +void WebFrameLoaderClient::transitionToCommittedFromCachedFrame(WebCore::CachedFrame*) { ASSERT_NOT_REACHED(); } diff --git a/webkit/glue/webframeloaderclient_impl.h b/webkit/glue/webframeloaderclient_impl.h index 7fd59dc..e743951 100644 --- a/webkit/glue/webframeloaderclient_impl.h +++ b/webkit/glue/webframeloaderclient_impl.h @@ -151,8 +151,8 @@ class WebFrameLoaderClient : public WebCore::FrameLoaderClient { virtual WebCore::String userAgent(const WebCore::KURL&); - virtual void savePlatformDataToCachedPage(WebCore::CachedPage*); - virtual void transitionToCommittedFromCachedPage(WebCore::CachedPage*); + virtual void savePlatformDataToCachedFrame(WebCore::CachedFrame*); + virtual void transitionToCommittedFromCachedFrame(WebCore::CachedFrame*); virtual void transitionToCommittedForNewPage(); virtual bool canCachePage() const; diff --git a/webkit/glue/webplugin_impl.cc b/webkit/glue/webplugin_impl.cc index 4064a27..4b3cdb7 100644 --- a/webkit/glue/webplugin_impl.cc +++ b/webkit/glue/webplugin_impl.cc @@ -623,7 +623,7 @@ void WebPluginImpl::windowCutoutRects( if (n && n->hasTagName(WebCore::HTMLNames::iframeTag)) { if (!ro->style() || ro->style()->visibility() == WebCore::VISIBLE) { WebCore::IntPoint point = roundedIntPoint(ro->localToAbsolute()); - WebCore::RenderBox* rbox = WebCore::RenderBox::toRenderBox(ro); + WebCore::RenderBox* rbox = WebCore::toRenderBox(ro); WebCore::IntSize size(rbox->width(), rbox->height()); cutouts->append(WebCore::IntRect(point, size)); } diff --git a/webkit/port/bindings/v8/ScriptCachedPageData.h b/webkit/port/bindings/v8/ScriptCachedFrameData.h index f804d65..d6f655d 100644 --- a/webkit/port/bindings/v8/ScriptCachedPageData.h +++ b/webkit/port/bindings/v8/ScriptCachedFrameData.h @@ -34,15 +34,15 @@ // We don't use WebKit's page caching, so this implementation is just a stub. namespace WebCore { - class Page; + class Frame; class DOMWindow; - class ScriptCachedPageData { + class ScriptCachedFrameData { public: - ScriptCachedPageData(Page*) { } - ~ScriptCachedPageData() { } + ScriptCachedFrameData(Frame*) { } + ~ScriptCachedFrameData() { } - void restore(Page*) { } + void restore(Frame*) { } void clear() { } DOMWindow* domWindow() const { return 0; } }; diff --git a/webkit/port/bindings/v8/v8_custom.cpp b/webkit/port/bindings/v8/v8_custom.cpp index 0b2ec6a..52d9469 100644 --- a/webkit/port/bindings/v8/v8_custom.cpp +++ b/webkit/port/bindings/v8/v8_custom.cpp @@ -3262,25 +3262,72 @@ ACCESSOR_GETTER(HTMLInputElementSelectionStart) { v8::Handle<v8::Object> holder = info.Holder(); HTMLInputElement* imp = V8Proxy::DOMWrapperToNode<HTMLInputElement>(holder); - if (!imp->canHaveSelection()) + if (!imp->canHaveSelection()) { + // TODO(playmobil): Add a proper error string. + V8Proxy::ThrowError(V8Proxy::TYPE_ERROR, ""); return v8::Undefined(); + } int v = imp->selectionStart(); return v8::Integer::New(v); } +ACCESSOR_SETTER(HTMLInputElementSelectionStart) { + INC_STATS("DOM.HTMLInputElement.selectionStart._set"); + v8::Handle<v8::Object> holder = info.Holder(); + HTMLInputElement* imp = V8Proxy::DOMWrapperToNode<HTMLInputElement>(holder); + + if (!imp->canHaveSelection()) { + // TODO(playmobil): Add a proper error string. + V8Proxy::ThrowError(V8Proxy::TYPE_ERROR, ""); + } + imp->setSelectionStart(value->Int32Value()); +} + ACCESSOR_GETTER(HTMLInputElementSelectionEnd) { INC_STATS("DOM.HTMLInputElement.selectionEnd._get"); v8::Handle<v8::Object> holder = info.Holder(); HTMLInputElement* imp = V8Proxy::DOMWrapperToNode<HTMLInputElement>(holder); - if (!imp->canHaveSelection()) + if (!imp->canHaveSelection()) { + // TODO(playmobil): Add a proper error string. + V8Proxy::ThrowError(V8Proxy::TYPE_ERROR, ""); return v8::Undefined(); + } int v = imp->selectionEnd(); return v8::Integer::New(v); } +ACCESSOR_SETTER(HTMLInputElementSelectionEnd) { + INC_STATS("DOM.HTMLInputElement.selectionEnd._set"); + v8::Handle<v8::Object> holder = info.Holder(); + HTMLInputElement* imp = V8Proxy::DOMWrapperToNode<HTMLInputElement>(holder); + + if (!imp->canHaveSelection()) { + // TODO(playmobil): Add a proper error string. + V8Proxy::ThrowError(V8Proxy::TYPE_ERROR, ""); + } + imp->setSelectionEnd(value->Int32Value()); +} + +CALLBACK_FUNC_DECL(HTMLInputElementSetSelectionRange) { + INC_STATS("DOM.HTMLInputElement.setSelectionRange"); + v8::Handle<v8::Object> holder = args.Holder(); + HTMLInputElement* imp = V8Proxy::DOMWrapperToNode<HTMLInputElement>(holder); + + if (!imp->canHaveSelection()) { + // TODO(playmobil): Add a proper error string. + V8Proxy::ThrowError(V8Proxy::TYPE_ERROR, ""); + return v8::Undefined(); + } + int start = args[0]->Int32Value(); + int end = args[1]->Int32Value(); + + imp->setSelectionRange(start, end); + return v8::Undefined(); +} + #if ENABLE(SVG) ACCESSOR_GETTER(SVGLengthValue) { diff --git a/webkit/port/bindings/v8/v8_custom.h b/webkit/port/bindings/v8/v8_custom.h index 3d23b26..9dcbc41 100644 --- a/webkit/port/bindings/v8/v8_custom.h +++ b/webkit/port/bindings/v8/v8_custom.h @@ -208,9 +208,13 @@ DECLARE_PROPERTY_ACCESSOR_SETTER(AttrValue) // Customized setter of HTMLOptionsCollection length DECLARE_PROPERTY_ACCESSOR(HTMLOptionsCollectionLength) +DECLARE_CALLBACK(HTMLInputElementSetSelectionRange) + // Customized accessors for HTMLInputElement DECLARE_PROPERTY_ACCESSOR_GETTER(HTMLInputElementSelectionStart) +DECLARE_PROPERTY_ACCESSOR_SETTER(HTMLInputElementSelectionStart) DECLARE_PROPERTY_ACCESSOR_GETTER(HTMLInputElementSelectionEnd) +DECLARE_PROPERTY_ACCESSOR_SETTER(HTMLInputElementSelectionEnd) DECLARE_NAMED_ACCESS_CHECK(Location) DECLARE_INDEXED_ACCESS_CHECK(History) diff --git a/webkit/tools/layout_tests/test_lists/tests_fixable.txt b/webkit/tools/layout_tests/test_lists/tests_fixable.txt index 88b4b11..70bf3f0 100644 --- a/webkit/tools/layout_tests/test_lists/tests_fixable.txt +++ b/webkit/tools/layout_tests/test_lists/tests_fixable.txt @@ -1781,3 +1781,30 @@ LINUX : LayoutTests/tables/mozilla/bugs/bug57828-2.html = FAIL // intermittent failures on the buildbot LINUX : LayoutTests/svg/custom/gradient-stop-style-change.svg = FAIL PASS + +// Merge 40165:40297 -- regressions + LayoutTests/editing/style/smoosh-styles-003.html = FAIL +// I think Hyatt removed support for compact. + LayoutTests/fast/compact/001.html = FAIL + LayoutTests/fast/compact/002.html = FAIL + LayoutTests/fast/compact/003.html = FAIL + LayoutTests/fast/forms/form-hides-table.html = FAIL + LayoutTests/fast/forms/textarea-no-scroll-on-blur.html = FAIL + LayoutTests/fast/loader/null-request-after-willSendRequest.html = FAIL + LayoutTests/fast/repaint/dynamic-table-vertical-alignment-change.html = FAIL + LayoutTests/fast/repaint/inline-color-change.html = FAIL + LayoutTests/fast/runin/001.html = FAIL + LayoutTests/fast/table/form-with-table-style.html = FAIL + LayoutTests/http/tests/misc/SVGFont-delayed-load.html = FAIL + LayoutTests/http/tests/uri/resolve-encoding-relative.html = FAIL + LayoutTests/http/tests/security/originHeader/origin-header-for-post.html = TIMEOUT + LayoutTests/svg/custom/stop-crash.svg = CRASH +MAC WIN : LayoutTests/fast/css/font-face-locally-installed.html = FAIL +MAC WIN : LayoutTests/svg/W3C-SVG-1.1/pservers-grad-10-b.svg = FAIL +MAC WIN : LayoutTests/svg/batik/text/verticalText.svg = FAIL +LINUX WIN : LayoutTests/fast/forms/textarea-scroll-height.html = FAIL +LINUX WIN : LayoutTests/http/tests/security/cross-frame-access-protocol-explicit-domain.html = FAIL +LINUX WIN : LayoutTests/http/tests/security/cross-frame-access-protocol.html = FAIL +LINUX WIN : LayoutTests/http/tests/security/originHeader/origin-header-for-https.html = FAIL +LINUX WIN : chrome/fast/forms/textarea-metrics.html = FAIL +WIN : LayoutTests/plugins/embed-attributes-setting.html = FAIL |