Unreviewed, rolling out r120854.
http://trac.webkit.org/changeset/120854
https://bugs.webkit.org/show_bug.cgi?id=89604

Broke Chromium WebKit Linux (dbg) (Requested by arv on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-20

* Target.pri:
* UseV8.cmake:
* WebCore.gypi:
* bindings/scripts/CodeGeneratorJS.pm:
(GenerateHeader):
(GenerateImplementation):
* bindings/scripts/CodeGeneratorV8.pm:
(GenerateHeader):
(GenerateNamedConstructorCallback):
(GenerateImplementation):
* bindings/scripts/IDLAttributes.txt:
* bindings/scripts/test/V8/V8Float64Array.cpp:
(WebCore):
* bindings/scripts/test/V8/V8Float64Array.h:
(V8Float64Array):
* bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestActiveDOMObject.h:
(V8TestActiveDOMObject):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
(V8TestCustomNamedGetter):
* bindings/scripts/test/V8/V8TestEventConstructor.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestEventConstructor.h:
(V8TestEventConstructor):
* bindings/scripts/test/V8/V8TestEventTarget.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestEventTarget.h:
(V8TestEventTarget):
* bindings/scripts/test/V8/V8TestException.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestException.h:
(V8TestException):
* bindings/scripts/test/V8/V8TestInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestInterface.h:
(V8TestInterface):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
(V8TestMediaQueryListListener):
* bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestNamedConstructor.h:
(V8TestNamedConstructor):
* bindings/scripts/test/V8/V8TestNode.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestNode.h:
(V8TestNode):
* bindings/scripts/test/V8/V8TestObj.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestObj.h:
(V8TestObj):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
(WebCore):
* bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
(V8TestSerializedScriptValueInterface):
* bindings/v8/NPV8Object.cpp:
(WebCore::npObjectTypeInfo):
* bindings/v8/V8GCController.cpp:
(WebCore::GrouperVisitor::visitDOMWrapper):
* bindings/v8/WrapperTypeInfo.h:
(WebCore):
(WrapperTypeInfo):
* bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
(WebCore):
(WebCore::toV8):
* bindings/v8/custom/V8DOMStringMapCustom.cpp:
(WebCore::toV8):
(WebCore):
* bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
(WebCore):
(WebCore::toV8):
* bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
(WebCore):
* bindings/v8/custom/V8NamedNodeMapCustom.cpp:
(WebCore::toV8):
(WebCore):
* bindings/v8/custom/V8StyleSheetCustom.cpp:
(WebCore::toV8):
* bindings/v8/custom/V8TextTrackListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
(WebCore):
(WebCore::toV8):
* css/CSSStyleSheet.idl:
* css/StyleSheet.idl:
* dom/DOMStringMap.idl:
* dom/NamedNodeMap.idl:
* html/DOMTokenList.idl:
* html/track/TextTrackList.idl:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120866 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Unreviewed, rolling out r120821.
http://trac.webkit.org/changeset/120821
https://bugs.webkit.org/show_bug.cgi?id=89605

It made duplicated reviewer entries (Requested by Ossy on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2012-06-20

* Scripts/webkitpy/common/checkout/changelog.py:
(ChangeLog.set_reviewer):
* Scripts/webkitpy/common/checkout/changelog_unittest.py:
(test_set_reviewer):
(test_set_short_description_and_bug_url):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120867 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Move m_listsInvalidatedAtDocument from NodeListsNodeData to Document
https://bugs.webkit.org/show_bug.cgi?id=89603

Reviewed by Andreas Kling.

Moved the variable. m_listsInvalidatedAtDocument is never used in non-Document nodes
so it was just wasting memory space.

* dom/Document.cpp:
(WebCore::Document::registerDynamicSubtreeNodeList):
(WebCore::Document::unregisterDynamicSubtreeNodeList):
(WebCore):
(WebCore::Document::clearNodeListCaches):
* dom/Document.h:
(Document):
* dom/DynamicNodeList.h:
(DynamicSubtreeNodeList):
* dom/Node.cpp:
(WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
(WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
(WebCore):
(WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): RadioNodeList
is invalidated at document level. No need to invalidate it again here.
(WebCore::NodeListsNodeData::isEmpty):
* dom/NodeRareData.h:
(NodeListsNodeData):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120868 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Let XCode have its own way.

* WebCore.xcodeproj/project.pbxproj:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120869 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Computed style tests are a maintenance burden on the project
https://bugs.webkit.org/show_bug.cgi?id=87991

Reviewed by Eric Seidel.

Convert computed-style.html, computed-style-without-renderer.html and getComputedStyle-basic.xhtml
to use a whitelist of properties rather than a blacklist. The whitelist includes all properties
that are supported based on the checked in results so all ports can share the same values. Adding
new properties won't cause these tests to be rebaselined.

* fast/css/getComputedStyle/computed-style-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer-expected.txt:
* fast/css/getComputedStyle/computed-style-without-renderer.html: Remove indenting and use a fixed
width for the middle div so we don't get fractional pixel values for ports with fractional pixel
values enabled.
* fast/css/getComputedStyle/computed-style.html:
* fast/css/getComputedStyle/resources/property-names.js: Whitelist of common CSS properties.
* platform/chromium-linux-x86/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/chromium-linux/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/chromium-mac-leopard/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
* platform/chromium-mac-leopard/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/chromium-mac-snowleopard/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/chromium-mac/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
* platform/chromium-mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
* platform/chromium-mac/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/chromium-win-vista/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/chromium-win-xp/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/chromium-win/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
* platform/chromium-win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
* platform/chromium-win/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/gtk/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
* platform/gtk/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/mac/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
* platform/mac/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
* platform/mac/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/qt/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
* platform/qt/svg/css/getComputedStyle-basic-expected.png: Removed.
* platform/qt/svg/css/getComputedStyle-basic-expected.txt: Removed.
* platform/win/fast/css/getComputedStyle/computed-style-expected.txt: Removed.
* platform/win/fast/css/getComputedStyle/computed-style-without-renderer-expected.txt: Removed.
* svg/css/getComputedStyle-basic-expected.txt:
* svg/css/getComputedStyle-basic.xhtml:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120870 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Unreviewed gardening, skip new failing tests.

* platform/qt/Skipped:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120873 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Add a != operator to ViewportArguments
https://bugs.webkit.org/show_bug.cgi?id=87505

Reviewed by Antonio Gomes.
Patch by Jacky Jiang  <zhajiang@rim.com>

Source/WebCore:

Add a != operator to ViewportArguments for convenience.

* dom/ViewportArguments.h:
(ViewportArguments):
(WebCore::ViewportArguments::operator!=):

Source/WebKit/blackberry:

Use != operator of ViewportArguments.

* Api/WebPage.cpp:
(BlackBerry::WebKit::WebPagePrivate::setLoadState):
(BlackBerry::WebKit::WebPagePrivate::setViewportSize):
* Api/WebViewportArguments.cpp:
(BlackBerry::WebKit::WebViewportArguments::operator!=):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120874 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Fixed typos in the change log.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120875 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Account for device scale factor when creating image for dragging.
https://bugs.webkit.org/show_bug.cgi?id=89489

Patch by Varun Jain <varunjain@chromium.org> on 2012-06-20
Reviewed by Adam Barth.

.:

* ManualTests/chromium/drag-image-accounts-for-device-scale.html: Added.

Source/WebCore:

Manual Test: ManualTests/chromium/drag-image-accounts-for-device-scale.html

* page/Frame.cpp:
(WebCore::Frame::nodeImage):
(WebCore::Frame::dragImageForSelection):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120876 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[chromium] Support mobile device rotation resizing
https://bugs.webkit.org/show_bug.cgi?id=86819

Patch by Alexandre Elias <aelias@google.com> on 2012-06-20
Reviewed by Adam Barth.

Resizes on a mobile device are caused either by rotation or
on-screen-keyboard bringup, and need different treatment to remain
naturally laid out, scaled and scrolled without disorienting the user.

* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::resize):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120877 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<http://webkit.org/b/89606> Teach run-safari and debug-safari to work with a Safari.app that has entitlements

Reviewed by Dan Bernstein.

* Scripts/webkitdirs.pm:
(executableHasEntitlements):
(safariPathFromSafariBundle):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120878 268f45cc-cd09-0410-ab3c-d52691b4dbfc
<rdar://problem/11653784> and https://bugs.webkit.org/show_bug.cgi?id=89590
showModalDialog message handling is flaky in WebKit2

Because RunLoop::performWork() swaps the function queue to a temporary Vector before calling
the functions an inner run-loop - such as we see with running a modal dialog - does not have
a change to handle any of the functions that were queued after the WebPageProxy::RunModal message.

By servicing the functions in the queue one at a time we can give the RunLoop a chance to pick up
where it left off if RunLoop::performWork is re-entered.

To guarantee RunLoop::performWork is re-entered to handle those functions we also need to signal
its source before entering the modal run loop so our RunLoop is woken up.

Reviewed by Darin Adler.

Source/WebCore:

* WebCore.exp.in:
* platform/RunLoop.cpp:
(WebCore::RunLoop::performWork): Take the first function off the queue one at a time so subsequent
  functions remain in the queue and can be handled by an inner modal run loop.
* platform/RunLoop.h:
(RunLoop): Change the function queue to be a Deque to efficiently support "takeFirst"

Source/WebKit2:

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::wakeUpRunLoop): Added so the WebPageProxy can signal the runloop to be woken up
  before it enters the modal dialog run loop.
* Platform/CoreIPC/Connection.h:

* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::runModal): Call wakeUpRunLoop() before entering the modal dialog run loop.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120879 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Perform hit-test from correct frame in isRectTopmost()
https://bugs.webkit.org/show_bug.cgi?id=89492

Patch by Raymes Khoury <raymes@chromium.org> on 2012-06-20
Reviewed by Levi Weintraub.

Hit-testing was being performed from the main frame, which gave the
incorrect result if the plugin was in a different frame.

* src/WebPluginContainerImpl.cpp:
(WebKit::WebPluginContainerImpl::isRectTopmost):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120881 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Web Inspector: persist timeline panel overview mode
https://bugs.webkit.org/show_bug.cgi?id=88711

Reviewed by Pavel Feldman.

- replace all internal methods of switching to a new mode of TimelineOverviewPane with setMode();
- make current mode a persistent setting;

* inspector/front-end/TimelineOverviewPane.js:
(WebInspector.TimelineOverviewPane):
(WebInspector.TimelineOverviewPane.prototype.setMode):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120882 268f45cc-cd09-0410-ab3c-d52691b4dbfc
internals.settings.setDeviceScaleFactor doesn't work for WebKit2 and must be removed
https://bugs.webkit.org/show_bug.cgi?id=89274

Reviewed by James Robinson.

Source/WebCore: 

Using this window.internals API causes the apple-mac port to ASSERT in
WebKit2 because WebKit2 keeps a copy of this state in the UI process.
When a test uses this internals API, the WebCore state gets out of sync
with the state in the UI process.

Tests should use setBackingScaleFactor instead.

* testing/InternalSettings.cpp:
(WebCore):
* testing/InternalSettings.h:
(InternalSettings):
* testing/InternalSettings.idl:

LayoutTests: 

* fast/hidpi/device-scale-factor-paint.html:


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120883 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/WebCore: Moving cookieEnabled/setCookieEnabled from Page to Settings.
https://bugs.webkit.org/show_bug.cgi?id=89545

Patch by Garret Kelly <gdk@chromium.org> on 2012-06-20
Reviewed by Adam Barth.

* dom/Document.cpp:
(WebCore::Document::cookie):
(WebCore::Document::setCookie):
* page/Navigator.cpp:
(WebCore::Navigator::cookieEnabled):
* page/Page.h:
(Page):
* page/Settings.cpp:
(WebCore::Settings::Settings):
* page/Settings.h:
(WebCore::Settings::setCookieEnabled):
(WebCore::Settings::cookieEnabled):
(Settings):
* platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
(WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime):

Source/WebKit/chromium: Moving cookieEnabled/setCookieEnabled from Page to Settings, and
exposing through WebSettings.
https://bugs.webkit.org/show_bug.cgi?id=89545

Patch by Garret Kelly <gdk@chromium.org> on 2012-06-20
Reviewed by Adam Barth.

* public/WebSettings.h:
* src/WebSettingsImpl.cpp:
(WebKit::WebSettingsImpl::setCookieEnabled):
* src/WebSettingsImpl.h:
(WebSettingsImpl):

Source/WebKit/mac: Moving cookieEnabled/setCookieEnabled from Page to Settings.
https://bugs.webkit.org/show_bug.cgi?id=89545

Patch by Garret Kelly <gdk@chromium.org> on 2012-06-20
Reviewed by Adam Barth.

* WebView/WebView.mm:
(-[WebView _cookieEnabled]):
(-[WebView _setCookieEnabled:]):

Source/WebKit/win: Moving cookieEnabled/setCookieEnabled from Page to Settings.
https://bugs.webkit.org/show_bug.cgi?id=89545

Patch by Garret Kelly <gdk@chromium.org> on 2012-06-20
Reviewed by Adam Barth.

* WebView.cpp:
(WebView::setCookieEnabled):
(WebView::cookieEnabled):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120885 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Functions on global objects should be specializable
https://bugs.webkit.org/show_bug.cgi?id=89615

Reviewed by Oliver Hunt.
        
I tested to see if this brought back the bug in https://bugs.webkit.org/show_bug.cgi?id=33343,
and it didn't. Bug 33343 was the reason why we disabled global object function specialization
to begin with. So I'm guessing this is safe.

* runtime/JSGlobalObject.cpp:
(JSC::JSGlobalObject::init):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120886 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Shadow][Editing] Selection will break editing boundaries in Shadow DOM.
https://bugs.webkit.org/show_bug.cgi?id=89075

Reviewed by Antti Koivisto.

Source/WebCore:

At the shadow boundary, some styles (e.g. user-modify, text-decoration) cannot be inherited
from the shadow host. However, when style property cache is used, such styles are wrongly
inherited from the cache.

So this patch makes not to use cache for inehrited styles at the shadow boundary.

Tests: editing/shadow/breaking-editing-boundary-with-table.html
       editing/shadow/contenteditable-propagation-at-shadow-boundary.html

* css/StyleResolver.cpp:
(WebCore::StyleResolver::collectMatchingRulesForList):

LayoutTests:

Test cases to confirm that (1) selection does not break editing boundary,
and (2) content-editable is not propagated from shadow host to shadow DOM.

Actually a patch for Bug 88514 contains a test for (2), but it is not enough.

* editing/shadow/breaking-editing-boundary-with-table.html: Added.
* editing/shadow/contenteditable-propagation-at-shadow-boundary.html: Added.


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120887 268f45cc-cd09-0410-ab3c-d52691b4dbfc
IndexedDB: Remove redundant IDBObjectStore.delete() overloads
https://bugs.webkit.org/show_bug.cgi?id=89587

Reviewed by Darin Fisher.

Source/WebCore:

The IDBObjectStore.delete(IDBKey) overload can delegate to the delete(IDBKeyRange)
overload. Also cleaned up redundant checks in related overloads.

Test: storage/indexeddb/deleted-objects.html

* Modules/indexeddb/IDBCursorBackendImpl.cpp:
(WebCore::IDBCursorBackendImpl::deleteFunction): Call keyRange variant instead.
* Modules/indexeddb/IDBIndex.cpp:
(WebCore::IDBIndex::get): Remove redundant deleted/invalid IDBKey checks.
(WebCore::IDBIndex::getKey): Remove redundant deleted/invalid IDBKey checks.
* Modules/indexeddb/IDBKeyRange.cpp: Null IDBKeys are not acceptable; currently
not passed in by any callers.
(WebCore::IDBKeyRange::only):
(WebCore::IDBKeyRange::lowerBound):
(WebCore::IDBKeyRange::upperBound):
(WebCore::IDBKeyRange::bound):
* Modules/indexeddb/IDBObjectStore.cpp:
(WebCore::IDBObjectStore::get): Was missing deleted check in IDBKeyRange overload.
Removed redundant checks in IDBKey overload.
(WebCore::IDBObjectStore::deleteFunction): Delegate to IDBKeyRange overload.
* Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Remove IDBKey overload.
* Modules/indexeddb/IDBObjectStoreBackendImpl.h: Remove IDBKey overload.
(IDBObjectStoreBackendImpl):
* Modules/indexeddb/IDBObjectStoreBackendInterface.h: Remove IDBKey overload.

Source/WebKit/chromium:

* public/WebIDBObjectStore.h: Add note to remove overload when Chromium is updated.
(WebIDBObjectStore):
* src/IDBObjectStoreBackendProxy.cpp: Delete IDBKey overload.
* src/IDBObjectStoreBackendProxy.h: Delete IDBKey overload.
(IDBObjectStoreBackendProxy):
* src/WebIDBObjectStoreImpl.cpp: Delete IDBKey overload.
* src/WebIDBObjectStoreImpl.h: Delete IDBKey overload.
(WebIDBObjectStoreImpl):

LayoutTests:

* storage/indexeddb/deleted-objects-expected.txt:
* storage/indexeddb/resources/deleted-objects.js: Test IDBKeyRange overloads.
(openDatabase.request.onsuccess.request.onsuccess):
(openDatabase.request.onsuccess):
(openDatabase):


git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120888 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Chromium] Damage tracker is not used without partial swap, causing valid render passes to be removed
https://bugs.webkit.org/show_bug.cgi?id=89589

Patch by Zeev Lieber <zlieber@chromium.org> on 2012-06-20
Reviewed by Adrienne Walker.

Source/WebCore:

When not using partial swap, the CCDamageTracker was not used, and
its m_currentDamageRect was always empty. As a result,
CCLayerTreeHostImpl was thinking no content was changed and was
removing more textures than needed. Fixed this by turning on
CCDamageTracker usage even if not using partial swap, but
overwriting the rootScissorRect with viewport rect if required.

Added unit tests to exercise this scenario.

* platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
(WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):

Source/WebKit/chromium:

Added unit tests to check surface texture caching when partial
swap is not used.

* tests/CCLayerTreeHostImplTest.cpp:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@120889 268f45cc-cd09-0410-ab3c-d52691b4dbfc