https://bugs.webkit.org/show_bug.cgi?id=36745

Patch by Thomas Zander <t.zander@nokia.com> on 2010-03-29
Reviewed by Simon Hausmann.

[Qt] Fix def file builds with Qt 4.7.

Switched to using DEF_FILE, which is the official variable.

* WebCore.pro: Use DEF_FILE

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56714 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Make it possible to build using both Windows and Linux for Symbian
https://bugs.webkit.org/show_bug.cgi?id=36748

Patch by Thomas Zander <t.zander@nokia.com> on 2010-03-29
Reviewed by Simon Hausmann.

* WebCore.pro: don't assume Windows buildsystem is the only one
and exclude the windows-only setters from the linux builds.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56715 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Page Cache does not work on Android with V8
https://bugs.webkit.org/show_bug.cgi?id=36665

Patch by Andrei Popescu <andreip@google.com> on 2010-03-29
Reviewed by Adam Barth.

No new tests, existing tests should suffice, this is platform code.

This implementation simply saves the context and the global object
just before the frame is navigated to a new url. At restore time,
the global object is reattached to the context and the context
is attached to the window shell of the frame.

Note that isolated worlds are not taken into account in any way,
as Android does not use them.

* bindings/v8/ScriptCachedFrameData.cpp: Added.
(WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
(WebCore::ScriptCachedFrameData::domWindow):
(WebCore::ScriptCachedFrameData::~ScriptCachedFrameData):
(WebCore::ScriptCachedFrameData::restore):
(WebCore::ScriptCachedFrameData::clear):
* bindings/v8/ScriptCachedFrameData.h:
* bindings/v8/V8DOMWindowShell.cpp:
(WebCore::V8DOMWindowShell::setContext):
* bindings/v8/V8DOMWindowShell.h:



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56716 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Platform specific expected file added for tests introduced in r56655,
because they pass. Compared to png file and Mac expected file.

Reviewed by Kenneth Rohde Christiansen.

* platform/qt/fast/table/table-background-expected.checksum: Added.
* platform/qt/fast/table/table-background-expected.png: Added.
* platform/qt/fast/table/table-background-expected.txt: Added.
* platform/qt/fast/table/table-cell-border-draws-on-top-of-col-background-expected.checksum: Added.
* platform/qt/fast/table/table-cell-border-draws-on-top-of-col-background-expected.png: Added.
* platform/qt/fast/table/table-cell-border-draws-on-top-of-col-background-expected.txt: Added.
* platform/qt/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.checksum: Added.
* platform/qt/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.png: Added.
* platform/qt/fast/table/table-cell-border-draws-on-top-of-col-group-background-expected.txt: Added.
* platform/qt/fast/table/table-cell-border-draws-on-top-of-row-background-expected.checksum: Added.
* platform/qt/fast/table/table-cell-border-draws-on-top-of-row-background-expected.png: Added.
* platform/qt/fast/table/table-cell-border-draws-on-top-of-row-background-expected.txt: Added.
* platform/qt/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.checksum: Added.
* platform/qt/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.png: Added.
* platform/qt/fast/table/table-cell-border-draws-on-top-of-row-group-background-expected.txt: Added.
* platform/qt/fast/table/table-cell-overrides-row-background-expected.checksum: Added.
* platform/qt/fast/table/table-cell-overrides-row-background-expected.png: Added.
* platform/qt/fast/table/table-cell-overrides-row-background-expected.txt: Added.
* platform/qt/fast/table/table-col-background-expected.checksum: Added.
* platform/qt/fast/table/table-col-background-expected.png: Added.
* platform/qt/fast/table/table-col-background-expected.txt: Added.
* platform/qt/fast/table/table-col-group-background-expected.checksum: Added.
* platform/qt/fast/table/table-col-group-background-expected.png: Added.
* platform/qt/fast/table/table-col-group-background-expected.txt: Added.
* platform/qt/fast/table/table-col-group-col-span-background-expected.checksum: Added.
* platform/qt/fast/table/table-col-group-col-span-background-expected.png: Added.
* platform/qt/fast/table/table-col-group-col-span-background-expected.txt: Added.
* platform/qt/fast/table/table-col-group-span-background-expected.checksum: Added.
* platform/qt/fast/table/table-col-group-span-background-expected.png: Added.
* platform/qt/fast/table/table-col-group-span-background-expected.txt: Added.
* platform/qt/fast/table/table-col-span-background-expected.checksum: Added.
* platform/qt/fast/table/table-col-span-background-expected.png: Added.
* platform/qt/fast/table/table-col-span-background-expected.txt: Added.
* platform/qt/fast/table/table-row-background-expected.checksum: Added.
* platform/qt/fast/table/table-row-background-expected.png: Added.
* platform/qt/fast/table/table-row-background-expected.txt: Added.
* platform/qt/fast/table/table-row-background-left-50px-expected.checksum: Added.
* platform/qt/fast/table/table-row-background-left-50px-expected.png: Added.
* platform/qt/fast/table/table-row-background-left-50px-expected.txt: Added.
* platform/qt/fast/table/table-row-background-right-100percent-expected.checksum: Added.
* platform/qt/fast/table/table-row-background-right-100percent-expected.png: Added.
* platform/qt/fast/table/table-row-background-right-100percent-expected.txt: Added.
* platform/qt/fast/table/table-row-background-right-50px-expected.checksum: Added.
* platform/qt/fast/table/table-row-background-right-50px-expected.png: Added.
* platform/qt/fast/table/table-row-background-right-50px-expected.txt: Added.
* platform/qt/fast/table/table-row-group-background-expected.checksum: Added.
* platform/qt/fast/table/table-row-group-background-expected.png: Added.
* platform/qt/fast/table/table-row-group-background-expected.txt: Added.
* platform/qt/fast/table/table-row-group-background-positioned-expected.checksum: Added.
* platform/qt/fast/table/table-row-group-background-positioned-expected.png: Added.
* platform/qt/fast/table/table-row-group-background-positioned-expected.txt: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56717 268f45cc-cd09-0410-ab3c-d52691b4dbfc
WebCore: Implement flattening for iframes.

Reviewed by Antti Koivisto.

Refactoring of frameset flattening code to reuse it for
iframe flattening.

Tests: fast/frames/flattening/iframe-flattening-simple.html

* WebCore.base.exp:
* page/FrameView.cpp:
(WebCore::FrameView::layout):
(WebCore::FrameView::scheduleRelayout):
* page/Settings.cpp:
(WebCore::Settings::Settings):
(WebCore::Settings::setFrameFlatteningEnabled):
* page/Settings.h:
(WebCore::Settings::frameFlatteningEnabled):
* rendering/RenderFrame.cpp:
* rendering/RenderFrame.h:
* rendering/RenderFrameSet.cpp:
(WebCore::RenderFrameSet::flattenFrameSet):
* rendering/RenderFrameSet.h:
* rendering/RenderPart.cpp:
(WebCore::RenderPart::layoutWithFlattening):
* rendering/RenderPart.h:
* rendering/RenderPartObject.cpp:
(WebCore::RenderPartObject::flattenFrame):
(WebCore::RenderPartObject::calcHeight):
(WebCore::RenderPartObject::calcWidth):
(WebCore::RenderPartObject::layout):
* rendering/RenderPartObject.h:

WebKit/mac: Change method name due to it dealing with both flattening
of frame sets and inner frames.

Reviewed by Antti Koivisto.

* WebView/WebPreferenceKeysPrivate.h:
* WebView/WebPreferences.mm:
(+[WebPreferences initialize]):
(-[WebPreferences isFrameFlatteningEnabled]):
(-[WebPreferences setFrameFlatteningEnabled:]):
* WebView/WebPreferencesPrivate.h:
* WebView/WebView.mm:
(-[WebView _preferencesChangedNotification:]):

WebKit/qt: Change due to renaming of frame flattening setting.

Reviewed by Antti Koivisto.

* Api/qwebpage.cpp:
(qt_drt_setFrameFlatteningEnabled):
* Api/qwebsettings.cpp:
(QWebSettingsPrivate::apply):
* symbian/eabi/QtWebKitu.def:

WebKit/win: Change method name due to it dealing with both flattening
of frame sets and inner frames.

Reviewed by Antti Koivisto.

* Interfaces/IWebPreferencesPrivate.idl:
* WebPreferenceKeysPrivate.h:
* WebPreferences.cpp:
(WebPreferences::initializeDefaultSettings):
(WebPreferences::isFrameFlatteningEnabled):
(WebPreferences::setFrameFlatteningEnabled):
* WebPreferences.h:
* WebView.cpp:
(WebView::notifyPreferencesChanged):

WebKitTools: Renaming of frame flattening LayoutTestController method
to setFrameFlatteningEnabled(bool)

Reviewed by Antti Koivisto.

* DumpRenderTree/LayoutTestController.cpp:
(setFrameFlatteningEnabledCallback):
(LayoutTestController::staticFunctions):
* DumpRenderTree/LayoutTestController.h:
* DumpRenderTree/gtk/LayoutTestControllerGtk.cpp:
(LayoutTestController::setFrameFlatteningEnabled):
* DumpRenderTree/mac/DumpRenderTree.mm:
(resetDefaultsToConsistentValues):
* DumpRenderTree/mac/LayoutTestControllerMac.mm:
(LayoutTestController::setFrameFlatteningEnabled):
* DumpRenderTree/qt/DumpRenderTreeQt.cpp:
(WebCore::WebPage::resetSettings):
* DumpRenderTree/qt/LayoutTestControllerQt.cpp:
(LayoutTestController::setFrameFlatteningEnabled):
* DumpRenderTree/qt/LayoutTestControllerQt.h:
* DumpRenderTree/win/DumpRenderTree.cpp:
(resetDefaultsToConsistentValues):
* DumpRenderTree/win/LayoutTestControllerWin.cpp:
(LayoutTestController::setFrameFlatteningEnabled):
* DumpRenderTree/wx/LayoutTestControllerWx.cpp:
(LayoutTestController::setFrameFlatteningEnabled):

LayoutTests: Add new iframe flattening test and change existing frameset
flattening tests to use the new LayoutTestController method.

Reviewed by Antti Koivisto.

       * fast/frames/flattening/frameset-flattening-advanced.html:
* fast/frames/flattening/frameset-flattening-grid.html:
* fast/frames/flattening/frameset-flattening-simple.html:
* fast/frames/flattening/frameset-flattening-subframe-resize.html:
* fast/frames/flattening/frameset-flattening-subframesets.html:
* fast/frames/flattening/iframe-flattening-simple.html: Added.
* platform/qt/fast/frames/flattening/iframe-flattening-simple-expected.txt: Added.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56718 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Shadowbuilds of WebCore with Qt on Symbian fails.

Patch by Thomas Zander <t.zander@nokia.com> on 2010-03-29
Reviewed by Simon Hausmann.

https://bugs.webkit.org/show_bug.cgi?id=36749

Doing a 'make sis' expects the dll in the libdir, so place it
there. This fixes out-of-source building to always put the dll
in the expected dir.

* WebCore.pro: Fix for shadow builds inside Qt.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56719 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rubber-stamped by Kenneth Rohde Christiansen.

Add support for iframe flattening
https://bugs.webkit.org/show_bug.cgi?id=36662

* platform/mac/fast/frames/flattening/frameset-flattening-subframe-resize-expected.txt: updated after r56718.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56720 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] unit tests don't compile inside of Qt

Reviewed by Tor Arne Vestbø.

https://bugs.webkit.org/show_bug.cgi?id=36756

* tests/tests.pri: Don't do the target substitution inside Qt and find the sources
through VPATH instead of relying on the location of the .pro file exclusively.

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56721 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Rubber-stamped by Kenneth Rohde Christiansen.

Add support for iframe flattening
https://bugs.webkit.org/show_bug.cgi?id=36662

* platform/mac/fast/frames/flattening/iframe-flattening-simple-expected.txt: Added.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56722 268f45cc-cd09-0410-ab3c-d52691b4dbfc
https://bugs.webkit.org/show_bug.cgi?id=36703
Timer restart loop during page loading
        
Reviewed by Kenneth Rohde Christiansen.

Fix regression introduced in http://trac.webkit.org/changeset/54526. 
Restarting the request timer unconditionally from the timer callback is a bad idea. 
Instead, start the timer when a non-cached request completes.

* loader/loader.cpp:
(WebCore::Loader::Host::nonCacheRequestComplete):
(WebCore::Loader::Host::servePendingRequests):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56723 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Do not generate INSTALLS for webkit when building inside Qt.
Qt will do this for us.

Reviewed by Simon Hausmann.

* WebCore.pro:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56724 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Use the -l syntax for linking against JavaScriptCore on Windows.
This allow qmake to extract dependencies correctly when generating VS
solutions.

Reviewed by Simon Hausmann.

* JavaScriptCore.pri:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56725 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-03-29  Marcus Bulach  <bulach@chromium.org>

        Reviewed by Jeremy Orlow.

        https://bugs.webkit.org/show_bug.cgi?id=36315

        Remove obsolete Geolocation::m_currentPosition
        (follow up on https://bugs.webkit.org/show_bug.cgi?id=30676)

        * page/Geolocation.cpp:
        (WebCore::Geolocation::positionChanged):
        (WebCore::Geolocation::makeSuccessCallbacks):
        * page/Geolocation.h:
        * platform/chromium/GeolocationServiceChromium.cpp:
        (WebCore::GeolocationServiceChromium::GeolocationServiceChromium):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56726 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-03-29  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector should highlight when clicking a node's closing tag
        https://bugs.webkit.org/show_bug.cgi?id=16258

        LayoutTests:
        * inspector/elements-panel-limited-children.html:

        WebCore:
        * inspector/front-end/ElementsTreeOutline.js:
        (WebInspector.ElementsTreeOutline.prototype.set suppressRevealAndSelect):
        (WebInspector.ElementsTreeOutline.prototype.revealAndSelectNode):
        (WebInspector.ElementsTreeOutline.prototype._keyDown):
        (WebInspector.ElementsTreeOutline.prototype._onmousemove):
        (WebInspector.ElementsTreeElement):
        (WebInspector.ElementsTreeElement.prototype.showChild):
        (WebInspector.ElementsTreeElement.prototype.onpopulate):
        (WebInspector.ElementsTreeElement.prototype.updateChildren):
        (WebInspector.ElementsTreeElement.prototype.insertChildElement):
        (WebInspector.ElementsTreeElement.prototype.moveChild):
        (WebInspector.ElementsTreeElement.prototype._updateChildren):
        (WebInspector.ElementsTreeElement.prototype.onexpand):
        (WebInspector.ElementsTreeElement.prototype.oncollapse):
        (WebInspector.ElementsTreeElement.prototype.onselect):
        (WebInspector.ElementsTreeElement.prototype.ondblclick):
        ():



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56727 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-03-29  Jochen Eisinger  <jochen@chromium.org>

        Reviewed by Darin Fisher.

        Pass a WebFrame to WebFrameClient::allowDatabase instead of a WebSecurityOrigin
        https://bugs.webkit.org/show_bug.cgi?id=36743

        * public/WebFrameClient.h:
        (WebKit::WebFrameClient::allowDatabase):
        * src/DatabaseObserver.cpp:
        (WebCore::DatabaseObserver::canEstablishDatabase):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56728 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-03-29  Patrick Gansterer  <paroga@paroga.com>

        Reviewed by Darin Adler.

        Corrected name of (u)int64_t compile time assert.
        https://bugs.webkit.org/show_bug.cgi?id=36739

        int64_t_is_four_bytes -> int64_t_is_eight_bytes

        * os-win32/stdint.h:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56729 268f45cc-cd09-0410-ab3c-d52691b4dbfc
[Qt] Fix build break introduced in r56724.

Reviewed by nobody, build fix.

* WebCore.pro:

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56730 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-03-29  Kenneth Rohde Christiansen  <kenneth@webkit.org>

        Reviewed by Antti Koivisto.

        Use 'Mobile Safari' instead of 'Safari' on mobile Qt platforms.

        * Api/qwebpage.cpp:
        (QWebPage::userAgentForUrl):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56731 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-03-29  Alexander Pavlov  <apavlov@chromium.org>

        Reviewed by Pavel Feldman.

        Web Inspector: Cover the Audits panel with tests
        https://bugs.webkit.org/show_bug.cgi?id=36613

        LayoutTests:
        * inspector/audits-panel-functional-expected.txt: Added.
        * inspector/audits-panel-functional.html: Added.
        * inspector/resources/audits-script1.js: Added.
        (foo1):
        * inspector/resources/audits-script2.js: Added.
        (foo2):
        * inspector/resources/audits-script3.js: Added.
        (foo3):

        WebCore:
        * English.lproj/localizedStrings.js:
        * inspector/front-end/AuditResultView.js:
        (WebInspector.AuditResultView):
        (WebInspector.AuditCategoryResultPane.ruleSorter):
        (WebInspector.AuditCategoryResultPane):
        * inspector/front-end/AuditRules.js:
        (WebInspector.AuditRules.GzipRule.prototype.doRun):
        (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
        (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
        * inspector/front-end/AuditsPanel.js:
        (WebInspector.AuditRuleResult.linkifyDisplayName):
        (WebInspector.AuditRuleResult.resourceDomain):
        (WebInspector.AuditRuleResult.prototype.addURL):
        * inspector/front-end/inspector.js:
        (WebInspector.displayNameForURL):



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@56732 268f45cc-cd09-0410-ab3c-d52691b4dbfc
2010-03-29  Joseph Pecoraro  <joepeck@webkit.org>

        Reviewed by Darin Adler.

        Test for Ensuring Pseudo Class's are Respected on Dynamic Changes
        https://bugs.webkit.org/show_bug.cgi?id=36765

        This tests elements affected by a CSS pseudo class selector is updated
        after a dynamic DOM change.

        * fast/css/dynamic-pseudo-class-expected.txt: Added.
        * fast/css/dynamic-pseudo-class.html: Added.

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