summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorplaymobil@google.com <playmobil@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-28 00:34:10 +0000
committerplaymobil@google.com <playmobil@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2009-01-28 00:34:10 +0000
commit40b3d6d422b21c1a575d6fda4235dee828c083d7 (patch)
tree8ecf4544ff799750eaa22e055221ea29cbe0ee8e
parent3c5281026a2bd92b33eb46418b46baec351d99ee (diff)
downloadchromium_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--DEPS8
-rw-r--r--WEBKIT_MERGE_REVISION2
-rw-r--r--webkit/build/WebCore/SConscript3
-rw-r--r--webkit/build/WebCore/WebCore.vcproj32
-rw-r--r--webkit/glue/searchable_form_data.cc4
-rw-r--r--webkit/glue/webframe_impl.cc2
-rw-r--r--webkit/glue/webframeloaderclient_impl.cc4
-rw-r--r--webkit/glue/webframeloaderclient_impl.h4
-rw-r--r--webkit/glue/webplugin_impl.cc2
-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.cpp51
-rw-r--r--webkit/port/bindings/v8/v8_custom.h4
-rw-r--r--webkit/tools/layout_tests/test_lists/tests_fixable.txt27
13 files changed, 123 insertions, 30 deletions
diff --git a/DEPS b/DEPS
index 398b480..d662b96 100644
--- a/DEPS
+++ b/DEPS
@@ -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