WebKit-https.git
8 years ago[EFL] Add ewk_network.cpp|h files.
gyuyoung.kim@samsung.com [Tue, 19 Jul 2011 15:26:16 +0000 (15:26 +0000)]
[EFL] Add ewk_network.cpp|h files.
https://bugs.webkit.org/show_bug.cgi?id=63315

Source/WebCore:

Enable setOnLine(bool) on EFL port as well as Android and Chromium.

Reviewed by Antonio Gomes.

* platform/network/NetworkStateNotifier.cpp:
* platform/network/NetworkStateNotifier.h:

Source/WebKit/efl:

ewk_network.cpp|h files are added to ewk in order to support APIs related to networking.
In addition, ewk_network_state_notifier_online_set() is added to ewk_network.cpp in order
to notify NetworkStateNotifier of network status.

Reviewed by Antonio Gomes.

* CMakeListsEfl.txt:
* ewk/EWebKit.h:
* ewk/ewk_network.cpp: Added.
(ewk_network_proxy_uri_set):
(ewk_network_proxy_uri_get):
(ewk_network_state_notifier_online_set):
* ewk/ewk_network.h:
* ewk/ewk_settings.cpp:
* ewk/ewk_settings.h:

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

8 years ago[GTK] Google Calendar thinks we're mobile
kov@webkit.org [Tue, 19 Jul 2011 14:49:38 +0000 (14:49 +0000)]
[GTK] Google Calendar thinks we're mobile
https://bugs.webkit.org/show_bug.cgi?id=63994

Patch by Gustavo Noronha Silva  <gns@gnome.org> on 2011-07-11
Reviewed by Xan Lopez.

Further special-case Google Calendar, for it thinks WebKit+Linux
means mobile, so we also have to spoof the OS.

* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::userAgent): use the new WebKitGTK+
private API that centralizes the logic now.
* tests/testwebsettings.c: Add tests to make sure the Google
special-cases only apply for the expected domains and when quirks
special-casing is enabled.
(test_non_quirky_user_agents):
(test_webkit_web_settings_user_agent):
* webkit/webkitwebsettings.cpp:
(webkitUserAgent): make it static.
(safariUserAgent): returns a fake Safari in Mac OS X User-Agent.
(initializeDomainsList): moved from FrameLoaderClientGtk.
(isGoogleDomain):ditto.
(isGoogleCalendar): ditto.
(userAgentForURL): ditto.
(webkitWebSettingsUserAgentForUri): centralize the whole
user agent spoofing logic in this new private API that can be used
by the browser to know what's going to happen for a specific URI
and also allows our API testing.
* webkit/webkitwebsettingsprivate.h:

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

8 years agoWeb Inspector: implement import/export for timeline data.
loislo@chromium.org [Tue, 19 Jul 2011 13:45:04 +0000 (13:45 +0000)]
Web Inspector: implement import/export for timeline data.
https://bugs.webkit.org/show_bug.cgi?id=64601

Reviewed by Yury Semikhatsky.

Source/WebCore:

Test: inspector/timeline/timeline-load.html

* English.lproj/localizedStrings.js:
* inspector/InspectorFrontendHost.cpp:
(WebCore::FrontendMenuProvider::contextMenuItemSelected):
* inspector/front-end/TimelinePanel.js:
(WebInspector.TimelinePanel):
(WebInspector.TimelinePanel.prototype._createFileSelector):
(WebInspector.TimelinePanel.prototype._contextMenu):
(WebInspector.TimelinePanel.prototype._exportToFile):
(WebInspector.TimelinePanel.prototype._importFromFile):
(WebInspector.TimelinePanel.prototype._addRecordToTimeline):
(WebInspector.TimelinePanel.prototype._clearPanel):
(WebInspector.TimelineModel):
(WebInspector.TimelineModel.prototype._addRecord):
(WebInspector.TimelineModel.prototype._importNextChunk):
(WebInspector.TimelineModel.prototype._importFromFile):
(WebInspector.TimelineModel.prototype._importFromFile.onError):
(WebInspector.TimelineModel.prototype._exportToFile):
(WebInspector.TimelineModel.prototype._reset):
* inspector/front-end/utilities.js:
():

LayoutTests:

* inspector/timeline/timeline-load-expected.txt: Added.
* inspector/timeline/timeline-load.html: Added.

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

8 years agoAdd missing expected file after r91191
loki@webkit.org [Tue, 19 Jul 2011 13:11:32 +0000 (13:11 +0000)]
Add missing expected file after r91191

* platform/qt/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.txt: Added.

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

8 years agoWeb Inspector: Rename agentIdentifierPrefix to processId, move out from page agent...
vsevik@chromium.org [Tue, 19 Jul 2011 13:02:19 +0000 (13:02 +0000)]
Web Inspector: Rename agentIdentifierPrefix to processId, move out from page agent and make static.
https://bugs.webkit.org/show_bug.cgi?id=64729

Reviewed by Pavel Feldman.

Source/WebCore:

* CMakeLists.txt:
* GNUmakefile.list.am:
* WebCore.gypi:
* WebCore.pro:
* WebCore.vcproj/WebCore.vcproj:
* WebCore.xcodeproj/project.pbxproj:
* inspector/IdentifiersFactory.cpp: Added.
(WebCore::IdentifiersFactory::createIdentifier):
* inspector/IdentifiersFactory.h: Added.
(WebCore::IdentifiersFactory::setProcessId):
* inspector/InspectorController.cpp:
(WebCore::InspectorController::setProcessId):
* inspector/InspectorController.h:
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::frameId):
(WebCore::InspectorPageAgent::loaderId):
* inspector/InspectorPageAgent.h:

Source/WebKit/chromium:

* public/WebDevToolsAgent.h:
* src/WebDevToolsAgentImpl.cpp:
(WebKit::WebDevToolsAgentImpl::setAgentIdentifierPrefix):
(WebKit::WebDevToolsAgentImpl::setProcessId):
* src/WebDevToolsAgentImpl.h:

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

8 years agoFix microphone icon placement in speech input control for dir=rtl.
jeremy@chromium.org [Tue, 19 Jul 2011 12:22:20 +0000 (12:22 +0000)]
Fix microphone icon placement in speech input control for dir=rtl.
https://bugs.webkit.org/show_bug.cgi?id=64668

Reviewed by Dimitri Glazkov.

Source/WebCore:

Modify default stylesheet to propagate dir=rtl from the outer input
control to the shadow DOM container.  This makes the microphone
icon appear on the left for dir=rtl, which is the desired behavior.

Test: fast/speech/speech-bidi-rendering.html

* css/html.css:
(input[x-webkit-speech][dir=rtl]::-webkit-textfield-decoration-container):

LayoutTests:

Added test that verifies placement of microphone icon for dir=rtl.

* fast/speech/speech-bidi-rendering.html: Added.
* platform/mac/fast/speech/speech-bidi-rendering-expected.png: Added.
* platform/mac/fast/speech/speech-bidi-rendering-expected.txt: Added.

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

8 years ago[Qt][WK2] Make QDesktopWebView::navigationAction method usable in QML.
alexis.menard@openbossa.org [Tue, 19 Jul 2011 11:06:42 +0000 (11:06 +0000)]
[Qt][WK2] Make QDesktopWebView::navigationAction method usable in QML.
https://bugs.webkit.org/show_bug.cgi?id=64690

Make the API usable with QML by declaring what's needed
with the macros.

Reviewed by Benjamin Poulain.

* UIProcess/API/qt/qdesktopwebview.h:

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

8 years ago[EFL] Account for the invalid pointer case in WebCore::screenRect()
commit-queue@webkit.org [Tue, 19 Jul 2011 10:24:16 +0000 (10:24 +0000)]
[EFL] Account for the invalid pointer case in WebCore::screenRect()
https://bugs.webkit.org/show_bug.cgi?id=64543

Patch by Raphael Kubo da Costa <kubo@profusion.mobi> on 2011-07-19
Reviewed by Antonio Gomes.

Fix a regression introduced in r88245: it assumes the pointer passed
to screenRect() is always valid.
fast/frames/crash-removed-iframe.html proves this is not always true,
so we need to do some sanity check on the pointer before using it.
No new tests as this has been caught by the current test suite.

* platform/efl/PlatformScreenEfl.cpp:
(WebCore::screenRect):

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

8 years agoUnreviewed. Edit Chromium test expectation for http/tests/websocket/tests/hybi/reserv...
yutak@chromium.org [Tue, 19 Jul 2011 09:51:16 +0000 (09:51 +0000)]
Unreviewed. Edit Chromium test expectation for http/tests/websocket/tests/hybi/reserved-opcodes.html.

* platform/chromium/test_expectations.txt:

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

8 years agonew-run-webkit-tests should support --leaks
eric@webkit.org [Tue, 19 Jul 2011 09:25:46 +0000 (09:25 +0000)]
new-run-webkit-tests should support --leaks
https://bugs.webkit.org/show_bug.cgi?id=63832

Reviewed by Dirk Pranke.

This may not be sufficient to actually transition over the leaks bot,
but this is a huge step in the right direction.

I had to make parse-malloc-history understand being passed more than
one file (to avoid the silly cat | nonsense in old-run-webkit-tests).

I removed some dead code relating to previous iterations of our crash detection.

I created a new class "LeakDetector" to encapsulate all this logic.
Eventually we should consider pulling that class out of mac.py and
sharing with other ports.  However given that ORWT has had
--leaks support on Mac for almost 7 years and no other port has added
it, leaves me to believe we're in no rush to move LeakDetector.

I've tested --leaks locally.  I suspect there are more bugs to shake out
but it seems to work well enough to start.

I also added support for --guard-malloc, but have not tested it much.  It
should be viewed as experimental at this time.

I also fixed various os.path uses to self._filesystem as I was reading
through the various files to understand how best to fix this bug.

* Scripts/old-run-webkit-tests:
(parseLeaksandPrintUniqueLeaks):
* Scripts/parse-malloc-history:
(main):
* Scripts/webkitpy/common/system/crashlogs.py:
* Scripts/webkitpy/layout_tests/controllers/manager.py:
* Scripts/webkitpy/layout_tests/controllers/worker.py:
* Scripts/webkitpy/layout_tests/port/base.py:
* Scripts/webkitpy/layout_tests/port/chromium_win.py:
* Scripts/webkitpy/layout_tests/port/gtk.py:
* Scripts/webkitpy/layout_tests/port/mac.py:
* Scripts/webkitpy/layout_tests/port/mac_unittest.py:
* Scripts/webkitpy/layout_tests/port/server_process.py:
* Scripts/webkitpy/layout_tests/port/webkit.py:
* Scripts/webkitpy/layout_tests/run_webkit_tests.py:

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

8 years agoPatch by Robin Qiu <robin.qiu@torchmobile.com.cn> on 2011-07-19
commit-queue@webkit.org [Tue, 19 Jul 2011 09:21:01 +0000 (09:21 +0000)]
Patch by Robin Qiu <robin.qiu@torchmobile.com.cn> on 2011-07-19
Reviewed by Antonio Gomes.

ScrollBar should initialize current position in constructor.
https://bugs.webkit.org/show_bug.cgi?id=39284

When ScrollBar is created, m_currentPos should be initialized to
m_scrollableArea's current scrollPosition. Because scrollbars may
be created after the content of m_scrollableArea has been scrolled.

Source/WebCore:

Test: scrollbars/scrollbar-initial-position.html

* platform/Scrollbar.cpp:
(WebCore::Scrollbar::Scrollbar):

LayoutTests:

* scrollbars/scrollbar-initial-position-expected.png: Added.
* scrollbars/scrollbar-initial-position-expected.txt: Added.
* scrollbars/scrollbar-initial-position.html: Added.

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

8 years agoWebSocket: Implement hybi framing
yutak@chromium.org [Tue, 19 Jul 2011 08:57:29 +0000 (08:57 +0000)]
WebSocket: Implement hybi framing
https://bugs.webkit.org/show_bug.cgi?id=64522

Reviewed by Kent Tamura.

Source/WebCore:

Implement WebSocket framing protocol which is mainly described in
<http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-4> and
<http://tools.ietf.org/html/draft-ietf-hybi-thewebsocketprotocol-10#section-6>.

Hybi protocol introduces a new frame format which is drastically different from
the old one. Notable differences are:
- Binary data support.
- Fragmentation support: a single message can be fragmented to multiple frames.
- Ping-pong support.
- Masking: frame content of a client must be masked to prevent cross-protocol attacks.

This patch covers the following features:
- Send a pong frame when a ping frame is received.
- Receive fragmented frames.
- Receive masked frames. (Servers do not have to mask frames, but they may if they wish.)

The following features are NOT implemented yet:
- Send or receive binary messages.
- Send a ping message.
- Send fragmented frames. (It is unclear whether this is necessary.)
- Rewrite the frame content by WebSocket protocol extensions (like frame compression).

New tests: http/tests/websocket/tests/hybi/broken-utf8.html
           http/tests/websocket/tests/hybi/fragmented-control-frame.html
           http/tests/websocket/tests/hybi/fragmented-frames.html
           http/tests/websocket/tests/hybi/interleaved-fragments.html
           http/tests/websocket/tests/hybi/long-control-frame.html
           http/tests/websocket/tests/hybi/masked-frames.html
           http/tests/websocket/tests/hybi/pong.html
           http/tests/websocket/tests/hybi/reserved-bits.html
           http/tests/websocket/tests/hybi/reserved-opcodes.html
           http/tests/websocket/tests/hybi/too-long-payload.html

* websockets/WebSocketChannel.cpp:
(WebCore::WebSocketChannel::WebSocketChannel):
(WebCore::WebSocketChannel::send):
The original content of send() was moved to a private method sendFrameHixie76().
(WebCore::WebSocketChannel::fail):
Stop handling incoming data after the WebSocket connection is failed.
It was unclear to me whether we should do the same thing for hixie-76 connection;
for now, I kept the original behavior.
(WebCore::WebSocketChannel::processBuffer):
(WebCore::WebSocketChannel::resumeTimerFired):
(WebCore::WebSocketChannel::startClosingHandshake):
(WebCore::WebSocketChannel::closingTimerFired):
(WebCore::WebSocketChannel::parseFrame):
(WebCore::WebSocketChannel::processFrame):
(WebCore::WebSocketChannel::processFrameHixie76):
(WebCore::WebSocketChannel::sendFrame):
(WebCore::WebSocketChannel::sendFrameHixie76):
* websockets/WebSocketChannel.h:
(WebCore::WebSocketChannel::isNonControlOpCode):
(WebCore::WebSocketChannel::isControlOpCode):
(WebCore::WebSocketChannel::isReservedOpCode):

LayoutTests:

Fix existing tests so they match the new frame format, and add tests for the new frame types
and error conditions related to the new frame format.

Unskip hybi tests on mac, win and chromium. Other ports (wk2, qt and gtk) still skip these tests
because they do not support changing the value of "WebKitHixie76WebSocketProtocolEnabled"
preference key via layoutTestController.overridePreferences() yet.

* http/tests/websocket/tests/hybi/broken-utf8-expected.txt: Added.
* http/tests/websocket/tests/hybi/broken-utf8.html: Added.
* http/tests/websocket/tests/hybi/broken-utf8_wsh.py: Added.
* http/tests/websocket/tests/hybi/client-close-expected.txt:
* http/tests/websocket/tests/hybi/client-close.html:
The format of a close frame has been changed. Currently, we do not include any payload
in a close frame, thus it must start with "\x88\x80" (see section 4.1 of hybi-10
specification for more details).
* http/tests/websocket/tests/hybi/client-close_wsh.py:
* http/tests/websocket/tests/hybi/fragmented-control-frame-expected.txt: Added.
* http/tests/websocket/tests/hybi/fragmented-control-frame.html: Added.
* http/tests/websocket/tests/hybi/fragmented-control-frame_wsh.py: Added.
* http/tests/websocket/tests/hybi/fragmented-frames-expected.txt: Added.
* http/tests/websocket/tests/hybi/fragmented-frames.html: Added.
* http/tests/websocket/tests/hybi/fragmented-frames_wsh.py: Added.
* http/tests/websocket/tests/hybi/interleaved-fragments-expected.txt: Added.
* http/tests/websocket/tests/hybi/interleaved-fragments.html: Added.
* http/tests/websocket/tests/hybi/interleaved-fragments_wsh.py: Added.
* http/tests/websocket/tests/hybi/long-control-frame-expected.txt: Added.
* http/tests/websocket/tests/hybi/long-control-frame.html: Added.
* http/tests/websocket/tests/hybi/long-control-frame_wsh.py: Added.
* http/tests/websocket/tests/hybi/masked-frames-expected.txt: Added.
* http/tests/websocket/tests/hybi/masked-frames.html: Added.
* http/tests/websocket/tests/hybi/masked-frames_wsh.py: Added.
* http/tests/websocket/tests/hybi/pong-expected.txt: Added.
* http/tests/websocket/tests/hybi/pong.html: Added.
* http/tests/websocket/tests/hybi/pong_wsh.py: Added.
* http/tests/websocket/tests/hybi/reserved-bits-expected.txt: Added.
* http/tests/websocket/tests/hybi/reserved-bits.html: Added.
* http/tests/websocket/tests/hybi/reserved-bits_wsh.py: Added.
* http/tests/websocket/tests/hybi/reserved-opcodes-expected.txt: Added.
* http/tests/websocket/tests/hybi/reserved-opcodes.html: Added.
* http/tests/websocket/tests/hybi/reserved-opcodes_wsh.py: Added.
* http/tests/websocket/tests/hybi/send2_wsh.py:
Send two text frames at once.
* http/tests/websocket/tests/hybi/too-long-payload-expected.txt: Added.
* http/tests/websocket/tests/hybi/too-long-payload.html: Added.
* http/tests/websocket/tests/hybi/too-long-payload_wsh.py: Added.
* platform/chromium/test_expectations.txt:
Derive test expectations of hixie76 tests, because these tests are likely to behave
the same way as hixie76 tests. Will be checked later whether they really do.
* platform/mac/Skipped:
* platform/win/Skipped:

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

8 years ago2011-07-19 Nikolas Zimmermann <nzimmermann@rim.com>
zimmermann@webkit.org [Tue, 19 Jul 2011 08:12:46 +0000 (08:12 +0000)]
2011-07-19  Nikolas Zimmermann  <nzimmermann@rim.com>

        REGRESSION (r88913): Preview in Safari's snippet editor has a fixed height instead of filling the entire pane
        https://bugs.webkit.org/show_bug.cgi?id=64059

        REGRESSION (r88913): <object> has wrong computed height
        https://bugs.webkit.org/show_bug.cgi?id=62769

        Reviewed by Rob Buis.

        Add new layout test in fast/css covering both bugs.
        Update svg/zoom/page results (this is a progression, but the test itself remains broken, see comment inline).

        * fast/css/replaced-element-implicit-size.html: Added.
        * platform/mac/fast/css/replaced-element-implicit-size-expected.png: Added.
        * platform/mac/fast/css/replaced-element-implicit-size-expected.txt: Added.
        * platform/mac/svg/zoom/page/zoom-svg-through-object-with-text-expected.png:
        * platform/mac/svg/zoom/page/zoom-svg-through-object-with-text-expected.txt:

2011-07-19  Nikolas Zimmermann  <nzimmermann@rim.com>

        REGRESSION (r88913): Preview in Safari's snippet editor has a fixed height instead of filling the entire pane
        https://bugs.webkit.org/show_bug.cgi?id=64059

        REGRESSION (r88913): <object> has wrong computed height
        https://bugs.webkit.org/show_bug.cgi?id=62769

        Reviewed by Rob Buis.

        Fix misinterpretation of CSS 2.1 - "10.5 Content height: the 'height' property".
        It says "If the height of the containing block is not specified explicitelz (i.e. it depends on the
        content height), and this element is not absolutely positioned, the value computes to 'auto'".

        Checking whether the containing block height depends on the content height is not equal to checking
        whether the height property is set on the containing block, there are other ways to implicitly specify
        the height by setting top & bottom. Fix that by checking whether the containing block has a height
        property or top & bottom set.

        While I was at it, make computeReplacedLogicalWidth/Height a bit more explicit to make it easier to compare
        the code with the spec quoatations - this doesn't change the functionality only the readability.

        Test: fast/css/replaced-element-implicit-size.html

        * rendering/RenderReplaced.cpp:
        (WebCore::RenderReplaced::computeReplacedLogicalWidth): Cleanup comment, make code more explicit.
        (WebCore::RenderReplaced::logicalHeightIsAuto): Add helper method used by computeReplacedLogicalHeight.
        (WebCore::RenderReplaced::computeReplacedLogicalHeight): Fix height=auto detection.
        * rendering/RenderReplaced.h:

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

8 years agogarden-o-matic should have a "Triage Failures" button for iterating over failures
abarth@webkit.org [Tue, 19 Jul 2011 07:38:05 +0000 (07:38 +0000)]
garden-o-matic should have a "Triage Failures" button for iterating over failures
https://bugs.webkit.org/show_bug.cgi?id=64769

Reviewed by Eric Seidel.

This patch adds some global static state and refactors things a bit so
that we can iterate over all the failures in the details pane.

* Scripts/webkitpy/tool/servers/data/gardeningserver/base.js:
    - Add a generic callback iterator to iterate through a series of
      callbacks. We use this to iterate through the failures we want to
      display the details of.
* Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
    - Add a toolbar for the results summary and change the buttons to
      be real buttons.
* Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
    - Make the detail pane 75% of the window.
    - Make the buttons pretty.
    - Allow the failure type badges to apply to the details pane as well.
* Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
    - Restructure how we bring up the details pane so we can iterate
      through a bunch of failures.
    - Remove the transition between results details because it's
      annoying when you want to click through a bunch of failures.
* Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
    - Add some more structure to the title bar for the results details
      so it's clearer which results we're currently displaying.

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

8 years agogarden-o-matic should live update as conditions change on the buildbot
abarth@webkit.org [Tue, 19 Jul 2011 07:37:01 +0000 (07:37 +0000)]
garden-o-matic should live update as conditions change on the buildbot
https://bugs.webkit.org/show_bug.cgi?id=64646

Reviewed by Eric Seidel.

This patch causes the garden-o-matic display to update every 10 minutes
to show the latest failures.  This patch required a moderately large
refactoring of main.js to make the display incremental instead of
all-at-once.

* Scripts/webkitpy/tool/servers/data/gardeningserver/base.js:
* Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
* Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
* Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:

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

8 years agoSolar Walk app-specific hack accidentally strips stylesheets from the document.
aestes@apple.com [Tue, 19 Jul 2011 05:33:10 +0000 (05:33 +0000)]
Solar Walk app-specific hack accidentally strips stylesheets from the document.
https://bugs.webkit.org/show_bug.cgi?id=64777

Reviewed by Adam Barth.

Solar Walk uses a self-closed title tag in its documents ("<title />").
The HTML5 parser does not recognize this as a valid self-closing tag,
so it treats the remainder of the document as title text.

We work around this in WebKit by injecting a script that calls
document.write() on the contents of document.title, thereby restoring
the contents of the document. Unfortunately this overwrote several
<style> tags that existed before the <title>, thereby causing the
document to not have the intended styling.

Fix this by having the injected script concatenate document.title to
the document instead of overwriting it during document.write(). We can
also take the opportunity to remove document.title since it does not
contain useful information.

* Misc/SolarWalkQuirksUserScript.js:

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

8 years agoFix Chromium test expectations.
rniwa@webkit.org [Tue, 19 Jul 2011 05:04:37 +0000 (05:04 +0000)]
Fix Chromium test expectations.

* platform/chromium/test_expectations.txt:

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

8 years agoREGRESSION(91209?): fast/css/custom-font-xheight.html is failing on Leopard
rniwa@webkit.org [Tue, 19 Jul 2011 04:14:42 +0000 (04:14 +0000)]
REGRESSION(91209?): fast/css/custom-font-xheight.html is failing on Leopard
https://bugs.webkit.org/show_bug.cgi?id=64767

Add a runtime check for font cascading optimization.

It's a constant value in Mac port so hopefully gcc will constant-propagate the value
and eliminate the function altogether.

* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::canSetCascadeListForCustomFont): Added.
(WebCore::FontPlatformData::ctFont):

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

8 years agoChromium test expectation update after r91229.
rniwa@webkit.org [Tue, 19 Jul 2011 04:03:58 +0000 (04:03 +0000)]
Chromium test expectation update after r91229.

* platform/chromium/test_expectations.txt:

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

8 years ago.: [ShadowContentElement] forwarded node should be able to access its hosting content...
morrita@google.com [Tue, 19 Jul 2011 02:55:22 +0000 (02:55 +0000)]
.: [ShadowContentElement] forwarded node should be able to access its hosting content element.
https://bugs.webkit.org/show_bug.cgi?id=64251

Reviewed by Dimitri Glazkov.

Added GTK symbols for new window.internals methods.

* Source/autotools/symbols.filter:

Source/WebCore: [ShadowContentElement] forwarded node should be able to access its hosting content element.
https://bugs.webkit.org/show_bug.cgi?id=64251

Reviewed by Dimitri Glazkov.

- Introduced ShadowInclusionSet to manage included nodes to its includer content element.
  ShadowInclusionSet instance is owned by ShadowRoot.
- Updated the set on inclusion list changes.
- Used the set to retrieve the content element of NodeRenderingContext.

There are also related refactoring and cleanup:
- Renamed NodeRenderingContext::m_contentElement to m_includer
- ShadowContentSelector::m_activeElement is no longer used, thus removed.

Test: fast/dom/shadow/content-element-includer.html

* WebCore.exp.in:
* dom/NodeRenderingContext.cpp:
(WebCore::NodeRenderingContext::NodeRenderingContext):
(WebCore::NodeRenderingContext::nextRenderer):
(WebCore::NodeRenderingContext::previousRenderer):
* dom/NodeRenderingContext.h:
(WebCore::NodeRenderingContext::includer):
* dom/ShadowContentElement.cpp:
(WebCore::removeFromSet):
(WebCore::addToSet):
(WebCore::ShadowContentElement::attach):
(WebCore::ShadowContentElement::detach):
* dom/ShadowContentElement.h:
(WebCore::ShadowInclusionSet::add):
(WebCore::ShadowInclusionSet::remove):
(WebCore::ShadowInclusionSet::isEmpty):
(WebCore::ShadowInclusionSet::Translator::hash):
(WebCore::ShadowInclusionSet::Translator::equal):
(WebCore::ShadowInclusionSet::Hash::hash):
(WebCore::ShadowInclusionSet::Hash::equal):
(WebCore::ShadowInclusionSet::find):
* dom/ShadowContentSelector.cpp:
(WebCore::ShadowContentSelector::ShadowContentSelector):
(WebCore::ShadowContentSelector::selectInclusion):
* dom/ShadowContentSelector.h:
* dom/ShadowRoot.cpp:
(WebCore::ShadowRoot::~ShadowRoot):
(WebCore::ShadowRoot::includerFor):
(WebCore::ShadowRoot::inclusions):
(WebCore::ShadowRoot::ensureInclusions):
* dom/ShadowRoot.h:
(WebCore::toShadowRoot):
* testing/Internals.cpp:
(WebCore::Internals::includerFor):
* testing/Internals.h:
* testing/Internals.idl:

Source/WebKit2: [ShadowContentElement] forwarded node should be able to access its hosting content element.
https://bugs.webkit.org/show_bug.cgi?id=64251

Reviewed by Dimitri Glazkov.

Exported additional symbols for window.internals object.

* win/WebKit2.def:
* win/WebKit2CFLite.def:

LayoutTests: [ShadowContentElement] forwarded node should be able to access its hosting content element.
https://bugs.webkit.org/show_bug.cgi?id=64251

Reviewed by Dimitri Glazkov.

- Added a new test.
- Updated expectations. This change make ShadowContentElement availability on NodeRenderingContext
  more strict. that makes some redundant node disappeared.

* fast/dom/shadow/content-element-includer-expected.txt: Added.
* fast/dom/shadow/content-element-includer.html: Added.
* platform/chromium-win/fast/html/details-nested-2-expected.txt:
* platform/gtk/fast/html/details-nested-2-expected.txt:
* platform/mac/fast/html/details-nested-2-expected.txt:
* platform/qt/fast/html/details-nested-2-expected.txt:

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

8 years agoAdd a failing test expectation for object-prototype-properties.html after r91225.
barraclough@apple.com [Tue, 19 Jul 2011 02:42:52 +0000 (02:42 +0000)]
Add a failing test expectation for object-prototype-properties.html after r91225.

Patch by Ryosuke Niwa <rniwa@webkit.org> on 2011-07-18

* platform/chromium/test_expectations.txt:

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

8 years agoTab Atkins is not in committers.py (as a non-committer)
commit-queue@webkit.org [Tue, 19 Jul 2011 02:25:46 +0000 (02:25 +0000)]
Tab Atkins is not in committers.py (as a non-committer)
https://bugs.webkit.org/show_bug.cgi?id=64770

Patch by Tab Atkins <jackalmage@gmail.com> on 2011-07-18
Reviewed by Eric Seidel.

* Scripts/webkitpy/common/config/committers.py:

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

8 years ago2011-07-18 Dean Jackson <dino@apple.com>
dino@apple.com [Tue, 19 Jul 2011 02:21:40 +0000 (02:21 +0000)]
2011-07-18  Dean Jackson  <dino@apple.com>

        https://bugs.webkit.org/show_bug.cgi?id=64742
        Expose WebPreferences for media playback requiring user gestures and inline playback

        Reviewed by Simon Fraser.

        Media playback already tested if it should require user gestures, but
        no setting was ever exposed to clients. Also, some ports only allow media
        playback to be fullscreen, so exposing a new setting for them.

        Two new WebPreferences: MediaPlaybackRequiresUserGesture and
        MediaPlaybackAllowsInline.

    WebCore:

        * html/HTMLMediaElement.cpp:
        (WebCore::HTMLMediaElement::HTMLMediaElement): Examine the new Setting
        for user gestures.
        * page/Settings.cpp:
        (WebCore::Settings::Settings):
        * page/Settings.h: Two new settings.
        (WebCore::Settings::setMediaPlaybackRequiresUserGesture):
        (WebCore::Settings::mediaPlaybackRequiresUserGesture):
        (WebCore::Settings::setMediaPlaybackAllowsInline):
        (WebCore::Settings::mediaPlaybackAllowsInline):

    WebKit/mac:

        * WebView/WebPreferenceKeysPrivate.h:
        * WebView/WebPreferences.mm:
        (+[WebPreferences initialize]):
        (-[WebPreferences mediaPlaybackRequiresUserGesture]):
        (-[WebPreferences setMediaPlaybackRequiresUserGesture:]):
        (-[WebPreferences mediaPlaybackAllowsInline]):
        (-[WebPreferences setMediaPlaybackAllowsInline:]):
        * WebView/WebPreferencesPrivate.h:
        * WebView/WebView.mm:
        (-[WebView _preferencesChanged:]):

    WebKit/win:

        * Interfaces/IWebPreferencesPrivate.idl:
        * WebPreferenceKeysPrivate.h:
        * WebPreferences.cpp:
        (WebPreferences::initializeDefaultSettings):
        (WebPreferences::setMediaPlaybackRequiresUserGesture):
        (WebPreferences::mediaPlaybackRequiresUserGesture):
        (WebPreferences::setMediaPlaybackAllowsInline):
        (WebPreferences::mediaPlaybackAllowsInline):
        * WebPreferences.h:
        * WebView.cpp:
        (WebView::notifyPreferencesChanged):

    WebKit2:

        * Shared/WebPreferencesStore.h:
        * UIProcess/API/C/WKPreferences.cpp:
        (WKPreferencesSetMediaPlaybackRequiresUserGesture):
        (WKPreferencesGetMediaPlaybackRequiresUserGesture):
        (WKPreferencesSetMediaPlaybackAllowsInline):
        (WKPreferencesGetMediaPlaybackAllowsInline):
        * UIProcess/API/C/WKPreferencesPrivate.h:
        * WebProcess/WebPage/WebPage.cpp:
        (WebKit::WebPage::updatePreferences):

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

8 years agoLeopard build fix after r91229.
rniwa@webkit.org [Tue, 19 Jul 2011 01:42:19 +0000 (01:42 +0000)]
Leopard build fix after r91229.

* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::ctFont):

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

8 years agoAdd a failing test expectation for object-prototype-properties.html after r91225.
rniwa@webkit.org [Tue, 19 Jul 2011 01:25:36 +0000 (01:25 +0000)]
Add a failing test expectation for object-prototype-properties.html after r91225.

* platform/chromium/test_expectations.txt:

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

8 years agoREGRESSION(91209?): fast/css/custom-font-xheight.html is failing on Leopard
mitz@apple.com [Tue, 19 Jul 2011 01:21:02 +0000 (01:21 +0000)]
REGRESSION(91209?): fast/css/custom-font-xheight.html is failing on Leopard
https://bugs.webkit.org/show_bug.cgi?id=64767

Reviewed by Sam Weinig.

* platform/graphics/Font.h:
* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::FontPlatformData::ctFont): Undo the cascade list optimization on Leopard for custom
fonts, because adding a cascade list apparently breaks the font.

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

8 years agoRemove drawsUsingCopy now that all ports handle the copying
mdelaney@apple.com [Tue, 19 Jul 2011 00:54:38 +0000 (00:54 +0000)]
Remove drawsUsingCopy now that all ports handle the copying
https://bugs.webkit.org/show_bug.cgi?id=64768

Introduced in https://bugs.webkit.org/show_bug.cgi?id=43507, ImageBuffer::drawsUsingCopy
was used to know whether or not an ImageBuffer should be explicitly copied before being
painted into a context (as was used in HTMLCanvasElement::paint). All platforms now
handle the logic of copying or not in their ImageBuffer::draw() implementations, so
drawsUsingCopy() is no longer needed. This patch removes it.

Reviewed by Dan Bernstein.

No new tests; does not affect behavior.

* html/HTMLCanvasElement.cpp:
(WebCore::HTMLCanvasElement::paint):
* platform/graphics/ImageBuffer.h:
(WebCore::ImageBuffer::isAccelerated):
* platform/graphics/cairo/ImageBufferCairo.cpp:
* platform/graphics/cg/ImageBufferCG.cpp:
* platform/graphics/qt/ImageBufferQt.cpp:
* platform/graphics/skia/ImageBufferSkia.cpp:
* platform/graphics/wince/ImageBufferWinCE.cpp:
* platform/graphics/wx/ImageBufferWx.cpp:

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

8 years agoWeb Inspector: [REGRESSION] Resource preserving fails when frameNavigated event is...
vsevik@chromium.org [Tue, 19 Jul 2011 00:39:02 +0000 (00:39 +0000)]
Web Inspector: [REGRESSION] Resource preserving fails when frameNavigated event is dispatched on NetworkPanel.
https://bugs.webkit.org/show_bug.cgi?id=64748

Reviewed by Pavel Feldman.

* inspector/front-end/NetworkPanel.js:
(WebInspector.NetworkLogView.prototype._frameNavigated):

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

8 years agoDFG JIT does not optimize strict equality as effectively as the old JIT does.
commit-queue@webkit.org [Tue, 19 Jul 2011 00:36:37 +0000 (00:36 +0000)]
DFG JIT does not optimize strict equality as effectively as the old JIT does.
https://bugs.webkit.org/show_bug.cgi?id=64759

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-18
Reviewed by Gavin Barraclough.

This adds a more complete set of strict equality optimizations.  If either
operand is known numeric, then the code reverts to the old style of optimizing
(first try integer comparison).  Otherwise it uses the old JIT's trick of
first simultaneously checking if both operands are either numbers or cells;
if not then a fast path is taken.

* dfg/DFGJITCodeGenerator.cpp:
(JSC::DFG::JITCodeGenerator::nonSpeculativePeepholeStrictEq):
(JSC::DFG::JITCodeGenerator::nonSpeculativeNonPeepholeStrictEq):
(JSC::DFG::JITCodeGenerator::nonSpeculativeStrictEq):
* dfg/DFGJITCodeGenerator.h:
* dfg/DFGNonSpeculativeJIT.cpp:
(JSC::DFG::NonSpeculativeJIT::compile):
* dfg/DFGOperations.cpp:
* dfg/DFGOperations.h:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=64760
barraclough@apple.com [Tue, 19 Jul 2011 00:26:14 +0000 (00:26 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=64760
DFG JIT - Should be able to compile program code.

Reviewed by Geoff Garen.

Add support for op_end, hooks to compile program code in Executable.cpp.

* dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::parseBlock):
    - Add support for op_end
* dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::compileEntry):
(JSC::DFG::JITCompiler::compileBody):
(JSC::DFG::JITCompiler::link):
    - Added, separate out steps of compileFunction.
(JSC::DFG::JITCompiler::compile):
    - Added, compile program code.
(JSC::DFG::JITCompiler::compileFunction):
    - Sections separated out to helper functions.
* dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::JITCompiler):
    - Added m_exceptionCheckCount.
* runtime/Executable.cpp:
(JSC::tryDFGCompile):
(JSC::tryDFGCompileFunction):
(JSC::ProgramExecutable::compileInternal):
(JSC::FunctionExecutable::compileForCallInternal):
    - Renamed tryDFGCompile to tryDFGCompileFunction, added tryDFGCompile to compile program code.

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=64678
barraclough@apple.com [Tue, 19 Jul 2011 00:25:49 +0000 (00:25 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=64678
Fix bugs in Object.prototype this handling.

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

undefined/null this values should throw TypeErrors, not convert to the global object,
also, to toLocaleString should be calling the ToObject & invoking the object's toString
function, even for values that are already strings.

* runtime/ObjectPrototype.cpp:
(JSC::objectProtoFuncValueOf):
(JSC::objectProtoFuncHasOwnProperty):
(JSC::objectProtoFuncIsPrototypeOf):
(JSC::objectProtoFuncPropertyIsEnumerable):
(JSC::objectProtoFuncToLocaleString):
(JSC::objectProtoFuncToString):

LayoutTests:

* fast/js/resources/js-test-pre.js:
    - Updated harness to not call Object.prototype.toString on undefined.
* fast/js/eval-var-decl-expected.txt:
* fast/js/object-prototype-properties-expected.txt: Added.
* fast/js/object-prototype-properties.html: Added.
* fast/js/object-prototype-toLocaleString-expected.txt
* fast/js/script-tests/eval-var-decl.js:
    - Fix test case, calling hasProperty with undefined as the this value should throw.
* fast/js/script-tests/object-prototype-properties.js: Added.
    - Place for test cases for Object.prototype properties; to being with, check that calling these methods on undefined throws!
* fast/js/script-tests/object-prototype-toLocaleString.js:
    - Added test cases for correct behaviour when this is a string primitive.
* sputnik/Conformance/11_Expressions/11.1_Primary_Expressions/11.1.1_The_this_Keyword/S11.1.1_A2-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.10_String.prototype.match/S15.5.4.10_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.11_String.prototype.replace/S15.5.4.11_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.12_String.prototype.search/S15.5.4.12_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.13_String.prototype.slice/S15.5.4.13_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.14_String.prototype.split/S15.5.4.14_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.15_String.prototype.substring/S15.5.4.15_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.4_String.prototype.charAt/S15.5.4.4_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.5_String.prototype.charCodeAt/S15.5.4.5_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.6_String.prototype.concat/S15.5.4.6_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.7_String.prototype.indexOf/S15.5.4.7_A1_T3-expected.txt:
* sputnik/Conformance/15_Native_Objects/15.5_String/15.5.4/15.5.4.8_String.prototype.lastIndexOf/S15.5.4.8_A1_T3-expected.txt:
    - These test cases are all incorrect. (See https://bugs.ecmascript.org/show_bug.cgi?id=117).
      We were incorrectly passing 15.5.4.11_String.prototype.replace, this should fail, as the others do.
      All the other 15.5.4 tests were failing & are still failing, but now have a better error message.
      S11.1.1_A2 is also invalid, calling toString() passing undefined as this should throw.

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

8 years agoFix a typo.
rniwa@webkit.org [Tue, 19 Jul 2011 00:20:42 +0000 (00:20 +0000)]
Fix a typo.

* platform/chromium/test_expectations.txt:

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

8 years agoPrep work for: Crash under WebPage::platformDragEnded when dragging on Mac
bweinstein@apple.com [Tue, 19 Jul 2011 00:14:48 +0000 (00:14 +0000)]
Prep work for: Crash under WebPage::platformDragEnded when dragging on Mac
https://bugs.webkit.org/show_bug.cgi?id=64766
<rdar://problem/9548174>

Reviewed by Darin Adler.

Add a DragClient function that is called when a drag is ended, and call it from DragController::dragEnded.
This isn't used yet, but will be used by WebKit2 on Mac.

This patch also cleans up style in DragClient.h.

No change in behavior, no tests needed.

* page/DragClient.h:
(WebCore::DragClient::dragEnded): Stub virtual implementation for now, this will be used by
    WebKit2 on Mac.
* page/DragController.cpp:
(WebCore::DragController::dragEnded): Call DragClient::dragEnded.

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

8 years agoAdd Chromium failing expectations for some font tests; failures are tracked by the...
rniwa@webkit.org [Mon, 18 Jul 2011 23:59:48 +0000 (23:59 +0000)]
Add Chromium failing expectations for some font tests; failures are tracked by the bug 64767.

* platform/chromium/test_expectations.txt:

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

8 years agoLoad ToT chromium bots by default in the flakiness dashboard
ojan@chromium.org [Mon, 18 Jul 2011 23:19:06 +0000 (23:19 +0000)]
Load ToT chromium bots by default in the flakiness dashboard
https://bugs.webkit.org/show_bug.cgi?id=64756

Reviewed by Adam Barth.

For now, these are the most useful bots to look at. Eventually,
we may want to load the build.webkit.org bots by default once
most of the bots there upload results.

* TestResultServer/static-dashboards/dashboard_base.js:

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

8 years agoFocus and selection events are not fired when a <select>'s selection
jhoneycutt@apple.com [Mon, 18 Jul 2011 23:16:31 +0000 (23:16 +0000)]
Focus and selection events are not fired when a <select>'s selection
changes
https://bugs.webkit.org/show_bug.cgi?id=64504
<rdar://problem/9319881>

Reviewed by Alice Liu.

Source/WebCore:

Test: platform/win/accessibility/option-element-selection-and-focus-events.html

* accessibility/chromium/AXObjectCacheChromium.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
Add new notification type to the section of unhandled notifications.

* accessibility/AXObjectCache.h:
Declare a new notification, AXMenuListItemSelected.

* accessibility/AccessibilityMenuList.cpp:
(WebCore::AccessibilityMenuList::didUpdateActiveOption):
Tell our child popup that the active option changed, and post a
notification that our value changed.

* accessibility/AccessibilityMenuList.h:
Declare didUpdateActiveOption().

* accessibility/AccessibilityMenuListPopup.cpp:
(WebCore::AccessibilityMenuListPopup::didUpdateActiveOption):
Get the child <option> element that is selected, and fire focus and
selection events for it.

* accessibility/AccessibilityMenuListPopup.h:
Declare didUpdateActiveOption().

* accessibility/win/AXObjectCacheWin.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
Map AXMenuListItemSelected -> EVENT_OBJECT_SELECTION.

* dom/SelectElement.cpp:
(WebCore::SelectElement::setSelectedIndex):
Pass the newly-selected index.

* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::RenderMenuList):
Update the initialization list for the renamed m_lastActiveIndex.
(WebCore::RenderMenuList::setTextFromOption):
A new selection has been made in the popup; call
didUpdateActiveOption().
(WebCore::RenderMenuList::didSetSelectedIndex):
Call didUpdateActiveOption(), passing the index of the newly-selected
<option>.
(WebCore::RenderMenuList::didUpdateActiveOption):
If accessibility is disabled, or if the active option has not changed,
return early. Check whether the option index is in the range of list
items, and assert that the item at that index is an <option> element.
Tell the AccessibilityMenuList for this element that we updated the
active option.

* rendering/RenderMenuList.h:
Updated the declaration of didSetSelectedIndex() to take the selected
index. Declared didUpdateActiveOption(). Renamed m_lastSelectedIndex to
m_lastActiveIndex.

Tools:

* DumpRenderTree/AccessibilityController.h:
Added m_notificationsEventHook for addNotificationListener().
m_allEventsHook will now be used for setLogAccessibilityEvents().

* DumpRenderTree/win/AccessibilityControllerWin.cpp:
(AccessibilityController::AccessibilityController):
Initialize m_notificationsEventHook.
(AccessibilityController::~AccessibilityController):
Turn off logging of all accessibility events. If
m_notificationsEventHook is non-null, unhook it.
(logEventProc):
Add handling of EVENT_OBJECT_SELECTION.
(AccessibilityController::setLogAccessibilityEvents):
If the state of logging is not changing, return early. If we're turning
off logging, unhook m_allEventsHook, and zero it out. Otherwise, add a
hook for all events.
(AccessibilityController::addNotificationListener):
Use m_notificationsEventHook rather than m_allEventsHook.

LayoutTests:

* platform/win/accessibility/option-element-selection-and-focus-events-expected.txt: Added.
* platform/win/accessibility/option-element-selection-and-focus-events.html: Added.

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

8 years agoJSC GC lazy sweep does not inline the common cases of cell destruction.
commit-queue@webkit.org [Mon, 18 Jul 2011 22:55:47 +0000 (22:55 +0000)]
JSC GC lazy sweep does not inline the common cases of cell destruction.
https://bugs.webkit.org/show_bug.cgi?id=64745

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-18
Reviewed by Oliver Hunt.

This inlines the case of JSFinalObject destruction.

* heap/MarkedBlock.cpp:
(JSC::MarkedBlock::lazySweep):

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

8 years agoAdd regression tests for legacy color parsing of valid CSS colors
commit-queue@webkit.org [Mon, 18 Jul 2011 22:49:38 +0000 (22:49 +0000)]
Add regression tests for legacy color parsing of valid CSS colors
https://bugs.webkit.org/show_bug.cgi?id=64576

Patch by Tab Atkins <jackalmage@gmail.com> on 2011-07-18
Reviewed by Simon Fraser.

* fast/dom/attribute-legacy-colors-expected.txt:
* fast/dom/script-tests/attribute-legacy-colors.js:

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

8 years agoInterpreter build-fix
oliver@apple.com [Mon, 18 Jul 2011 22:42:57 +0000 (22:42 +0000)]
Interpreter build-fix

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

8 years agowebkit-patch apply-attachment does not work when not called from the root of the...
commit-queue@webkit.org [Mon, 18 Jul 2011 22:36:24 +0000 (22:36 +0000)]
webkit-patch apply-attachment does not work when not called from the root of the checkout
https://bugs.webkit.org/show_bug.cgi?id=64751

Unreviewed.  Just updating unit test results after bug 64751.

* Scripts/webkitpy/layout_tests/port/chromium_win.py:
* Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:

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

8 years agosimplejson has trouble on chromium-linux
abarth@webkit.org [Mon, 18 Jul 2011 22:27:54 +0000 (22:27 +0000)]
simplejson has trouble on chromium-linux
https://bugs.webkit.org/show_bug.cgi?id=64757

Reviewed by Eric Seidel.

Use the native JSON, if available.

* Scripts/webkitpy/layout_tests/layout_package/json_results_generator.py:

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

8 years agoUnreviewed. Rolled DEPS.
rniwa@webkit.org [Mon, 18 Jul 2011 21:59:36 +0000 (21:59 +0000)]
Unreviewed.  Rolled DEPS.

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-07-18

* DEPS:

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

8 years agoupdate the flakiness dashboard to understand the new platforms/formats in test_expect...
ojan@chromium.org [Mon, 18 Jul 2011 21:51:18 +0000 (21:51 +0000)]
update the flakiness dashboard to understand the new platforms/formats in test_expectations
https://bugs.webkit.org/show_bug.cgi?id=64743

Reviewed by Adam Barth.

The test expectations format changed a long time ago and the flakiness dashboard
was never updated to match.

* TestResultServer/static-dashboards/dashboard_base.js:
* TestResultServer/static-dashboards/flakiness_dashboard.html:
* TestResultServer/static-dashboards/flakiness_dashboard_tests.js:
* TestResultServer/static-dashboards/timeline_explorer.html:

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

8 years ago[SVG] [Chromium]: painting-control-04-f.svg and zero-path-square-cap-rendering.svg...
rniwa@webkit.org [Mon, 18 Jul 2011 21:27:10 +0000 (21:27 +0000)]
[SVG] [Chromium]: painting-control-04-f.svg and zero-path-square-cap-rendering.svg are failing
https://bugs.webkit.org/show_bug.cgi?id=64675

Rebaseline painting-control-04-f.svg since r91191 fixed it.

* platform/chromium-linux/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.png: Added.
* platform/chromium-win/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.png: Added.
* platform/chromium-win/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.txt: Added.
* platform/chromium/test_expectations.txt:

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

8 years agowebkit-patch apply-attachment does not work when not called from the root of the...
commit-queue@webkit.org [Mon, 18 Jul 2011 21:16:45 +0000 (21:16 +0000)]
webkit-patch apply-attachment does not work when not called from the root of the checkout
https://bugs.webkit.org/show_bug.cgi?id=64751

Reviewed by Adam Barth.

Last week I removed a os.chdir in EnsureWorkingDirectoryClean, which
is a step that we run for most commands (as one of the earliest steps).
EnsureWorkingDirectoryClean was incorrectly calling os.chdir to change
the CWD to the checkout root.  This magically made a bunch of otherwise
wrong code work.

When I realized that apply-attachment no longer worked as expected today,
I went and fixed the bug, then realizing that we were not testing
what the cwd was when running various commands.  I fixed our MockExecutive
to always log what the cwd is and fixed a whole bunch of places
where we needed to be setting the cwd.

Hopefully this will solve our cwd problems once and for-all, and webkit-patch
will again correctly work when called from any directory (including outside
of a webkit checkout).

* Scripts/webkitpy/common/checkout/scm/scm_unittest.py:
* Scripts/webkitpy/common/system/executive.py:
* Scripts/webkitpy/common/system/workspace_unittest.py:
* Scripts/webkitpy/layout_tests/port/chromium_win_unittest.py:
* Scripts/webkitpy/layout_tests/port/gtk_unittest.py:
* Scripts/webkitpy/layout_tests/port/mac_unittest.py:
* Scripts/webkitpy/layout_tests/port/qt_unittest.py:
* Scripts/webkitpy/layout_tests/port/webkit_unittest.py:
* Scripts/webkitpy/tool/bot/irc_command.py:
* Scripts/webkitpy/tool/bot/irc_command_unittest.py:
* Scripts/webkitpy/tool/bot/layouttestresultsreader_unittest.py:
* Scripts/webkitpy/tool/commands/download_unittest.py:
* Scripts/webkitpy/tool/commands/earlywarningsystem_unittest.py:
* Scripts/webkitpy/tool/commands/queues.py:
* Scripts/webkitpy/tool/commands/queues_unittest.py:
* Scripts/webkitpy/tool/commands/queuestest.py:
* Scripts/webkitpy/tool/mocktool.py:
* Scripts/webkitpy/tool/servers/gardeningserver.py:
* Scripts/webkitpy/tool/servers/gardeningserver_unittest.py:
* Scripts/webkitpy/tool/steps/build.py:
* Scripts/webkitpy/tool/steps/checkstyle.py:
* Scripts/webkitpy/tool/steps/editchangelog.py:
* Scripts/webkitpy/tool/steps/preparechangelog.py:
* Scripts/webkitpy/tool/steps/preparechangelogforrevert.py:
* Scripts/webkitpy/tool/steps/runtests.py:
* Scripts/webkitpy/tool/steps/steps_unittest.py:
* Scripts/webkitpy/tool/steps/update.py:

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

8 years agoSpecify a cascade list consisting of the last resort font for Core Text
mitz@apple.com [Mon, 18 Jul 2011 21:10:52 +0000 (21:10 +0000)]
Specify a cascade list consisting of the last resort font for Core Text
https://bugs.webkit.org/show_bug.cgi?id=64747

Reviewed by Sam Weinig.

No new tests, because this does not affect behavior.

This prevents Core Text from taking its default, longer fallback list when the primary font does
not include a character. This is OK to do because WebKit never uses the results of Core Text
fallback anyway.

* platform/graphics/cocoa/FontPlatformDataCocoa.mm:
(WebCore::cascadeToLastResortFontDescriptor): Added. Returns a CTFontDescriptor with a cascade
list consisting of the last resort font.
(WebCore::FontPlatformData::ctFont): Changed to include the cascadeToLastResortFontDescriptor
in the returned font.

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

8 years agoDFG JIT does not optimize equal-null comparisons and branches.
commit-queue@webkit.org [Mon, 18 Jul 2011 21:04:51 +0000 (21:04 +0000)]
DFG JIT does not optimize equal-null comparisons and branches.
https://bugs.webkit.org/show_bug.cgi?id=64659

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-18
Reviewed by Gavin Barraclough.

Added a peephole-aware compare-to-null implementation to JITCodeGenerator,
which is used by both the speculative and non-speculative JIT.  Through
the use of the new isNullConstant helper, the two JITs invoke the
nonSpecualtiveCompareNull() helper instead of their regular comparison
helpers when compiling CompareEq.  Through the use of the new isKnownCell
helper, the compare-null code will skip the is-a-cell check if the
speculative JIT had been speculating cell.

* dfg/DFGJITCodeGenerator.cpp:
(JSC::DFG::JITCodeGenerator::isKnownCell):
(JSC::DFG::JITCodeGenerator::nonSpeculativeNonPeepholeCompareNull):
(JSC::DFG::JITCodeGenerator::nonSpeculativePeepholeBranchNull):
(JSC::DFG::JITCodeGenerator::nonSpeculativeCompareNull):
* dfg/DFGJITCodeGenerator.h:
(JSC::DFG::JITCodeGenerator::isNullConstant):
* dfg/DFGNonSpeculativeJIT.cpp:
(JSC::DFG::NonSpeculativeJIT::compile):
* dfg/DFGOperations.cpp:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compile):

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

8 years agoTimer scheduling should be based off the monotonic clock
commit-queue@webkit.org [Mon, 18 Jul 2011 20:38:42 +0000 (20:38 +0000)]
Timer scheduling should be based off the monotonic clock
https://bugs.webkit.org/show_bug.cgi?id=64544

Patch by James Robinson <jamesr@chromium.org> on 2011-07-18
Reviewed by Darin Adler.

Source/JavaScriptCore:

Switches ThreadCondition::timedWait and related utility functions from currentTime() to
monotonicallyIncreasingTime().

Add WTF::monotonicallyIncreasingTime() to list of exported functions so it can be accessed from WebCore/WebKit.

* JavaScriptCore.exp:
* JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
* wtf/ThreadingPthreads.cpp:
(WTF::ThreadCondition::timedWait):
* wtf/ThreadingWin.cpp:
(WTF::absoluteTimeToWaitTimeoutInterval):
* wtf/gtk/ThreadingGtk.cpp:
(WTF::ThreadCondition::timedWait):
* wtf/qt/ThreadingQt.cpp:
(WTF::ThreadCondition::timedWait):

Source/WebCore:

Changes the Timer scheduling logic from using absolute values in terms of currentTime() to using relative
intervals in terms of monotonicallyIncreasingTime().  This provides better standards compliance, compatibility,
and predictability when the system clock is adjusted.

No automated tests since there is no way to modify the system clock from DRT.

* platform/SharedTimer.h:
(WebCore::MainThreadSharedTimer::setFireInterval):
* platform/ThreadTimers.cpp:
(WebCore::ThreadTimers::updateSharedTimer):
(WebCore::ThreadTimers::sharedTimerFiredInternal):
* platform/Timer.cpp:
(WebCore::TimerBase::start):
(WebCore::TimerBase::nextFireInterval):
* platform/android/SharedTimerAndroid.cpp:
(WebCore::setSharedTimerFireInterval):
* platform/brew/SharedTimerBrew.cpp:
(WebCore::setSharedTimerFireInterval):
* platform/chromium/PlatformBridge.h:
* platform/chromium/SharedTimerChromium.cpp:
(WebCore::setSharedTimerFireInterval):
* platform/efl/SharedTimerEfl.cpp:
(WebCore::addNewTimer):
(WebCore::setSharedTimerFireInterval):
* platform/gtk/SharedTimerGtk.cpp:
(WebCore::setSharedTimerFireInterval):
* platform/haiku/SharedTimerHaiku.cpp:
(WebCore::SharedTimerHaiku::start):
(WebCore::setSharedTimerFireInterval):
* platform/mac/SharedTimerMac.mm:
(WebCore::setSharedTimerFireInterval):
* platform/qt/SharedTimerQt.cpp:
(WebCore::SharedTimerQt::start):
(WebCore::setSharedTimerFireInterval):
* platform/win/SharedTimerWin.cpp:
(WebCore::setSharedTimerFireInterval):
* platform/wince/SharedTimerWinCE.cpp:
(WebCore::setSharedTimerFireInterval):
* platform/wx/SharedTimerWx.cpp:
(WebCore::setSharedTimerFireInterval):
* workers/WorkerRunLoop.cpp:
(WebCore::WorkerSharedTimer::setFireInterval):

Source/WebKit/chromium:

Renames setSharedTimerFireTime to setSharedTimerFireInterval to be consistent with WebCore.

* public/WebKitClient.h:
(WebKit::WebKitClient::setSharedTimerFireInterval):
* src/PlatformBridge.cpp:
(WebCore::PlatformBridge::setSharedTimerFireInterval):

Source/WebKit2:

Converts the WebKit2 RunLoop and CoreIPC timeouts to use monotonicallyIncreasingTime().

* Platform/CoreIPC/Connection.cpp:
(CoreIPC::Connection::waitForMessage):
(CoreIPC::Connection::waitForSyncReply):
* Platform/RunLoop.h:

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

8 years agoPatch by Yuzhu Shen <yzshen@chromium.com> on 2011-07-18
commit-queue@webkit.org [Mon, 18 Jul 2011 20:36:31 +0000 (20:36 +0000)]
Patch by Yuzhu Shen <yzshen@chromium.com> on 2011-07-18
Reviewed by James Robinson.

[chromium] WebFontImpl::drawText needs to handle the canvasIsOpaque input.
https://bugs.webkit.org/show_bug.cgi?id=64555

This change handles canvasIsOpaque for the WEBKIT_USING_SKIA case.

* src/WebFontImpl.cpp: handled canvasIsOpaque.
* src/WebFontImpl.h: added method declaration.

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

8 years agoUpdate baseline. rbuis says this is an improvement.
abarth@webkit.org [Mon, 18 Jul 2011 20:16:02 +0000 (20:16 +0000)]
Update baseline.  rbuis says this is an improvement.

* platform/chromium-mac/svg/W3C-SVG-1.1/animate-elem-80-t-expected.txt: Added.

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

8 years ago[chromium] Move a Linux specific test into chromium-linux and rebaseline
tony@chromium.org [Mon, 18 Jul 2011 19:31:02 +0000 (19:31 +0000)]
[chromium] Move a Linux specific test into chromium-linux and rebaseline
https://bugs.webkit.org/show_bug.cgi?id=64632

Reviewed by Ojan Vafai.

Rebaselining per the comment in test_expectations.txt.

* platform/chromium-linux/fast/text/chromium-linux-fontconfig-renderstyle-expected.png: Added.
* platform/chromium-linux/platform/chromium/fast/text/chromium-linux-fontconfig-renderstyle-expected.png: Removed.
* platform/chromium/test_expectations.txt:

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

8 years agoUnreviewed. Fix Windows build. Move static function defaultSessionCookieStorage(...
psolanki@apple.com [Mon, 18 Jul 2011 19:20:55 +0000 (19:20 +0000)]
Unreviewed. Fix Windows build. Move static function defaultSessionCookieStorage() to before
its use in defaultCookieStorage().

* platform/network/cf/CookieStorageCFNet.cpp:
(WebCore::defaultSessionCookieStorage):

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

8 years agoPart of https://bugs.webkit.org/show_bug.cgi?id=63674
psolanki@apple.com [Mon, 18 Jul 2011 18:55:56 +0000 (18:55 +0000)]
Part of https://bugs.webkit.org/show_bug.cgi?id=63674
Get webkit to compile with USE(CFNETWORK) enabled on Mac

Reviewed by David Kilzer.

Get coookie storage code to work with USE(CFNETWORK) enabled on Mac.

No new tests because no change in functionality.

* platform/network/cf/CookieStorageCFNet.cpp:
(WebCore::defaultCookieStorage):
(WebCore::defaultSessionCookieStorage):
* platform/network/cf/ResourceHandleCFNet.cpp:
(WebCore::ResourceHandle::createPrivateBrowsingStorageSession):
* platform/network/mac/CookieStorageMac.mm:

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

8 years agoJSC JIT does not inline GC allocation fast paths
commit-queue@webkit.org [Mon, 18 Jul 2011 18:55:48 +0000 (18:55 +0000)]
JSC JIT does not inline GC allocation fast paths
https://bugs.webkit.org/show_bug.cgi?id=64582

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-18
Reviewed by Oliver Hunt.

This addresses inlining allocation for the easiest-to-allocate cases:
op_new_object and op_create_this.  Inlining GC allocation fast paths
required three changes.  First, the JSGlobalData now saves the vtable
pointer of JSFinalObject, since that's what op_new_object and
op_create_this allocate.  Second, the Heap exposes a reference to
the appropriate SizeClass, so that the JIT may inline accesses
directly to the SizeClass for JSFinalObject allocations.  And third,
the JIT is extended with code to emit inline fast paths for GC
allocation.  A stub call is emitted in the case where the inline fast
path fails.

* heap/Heap.h:
(JSC::Heap::sizeClassFor):
(JSC::Heap::allocate):
* jit/JIT.cpp:
(JSC::JIT::privateCompileSlowCases):
* jit/JIT.h:
* jit/JITInlineMethods.h:
(JSC::JIT::emitAllocateJSFinalObject):
* jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_new_object):
(JSC::JIT::emitSlow_op_new_object):
(JSC::JIT::emit_op_create_this):
(JSC::JIT::emitSlow_op_create_this):
* jit/JITOpcodes32_64.cpp:
(JSC::JIT::emit_op_new_object):
(JSC::JIT::emitSlow_op_new_object):
(JSC::JIT::emit_op_create_this):
(JSC::JIT::emitSlow_op_create_this):
* runtime/JSGlobalData.cpp:
(JSC::JSGlobalData::storeVPtrs):
* runtime/JSGlobalData.h:
* runtime/JSObject.h:
(JSC::JSFinalObject::JSFinalObject):
(JSC::JSObject::offsetOfInheritorID):

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

8 years agoPart of https://bugs.webkit.org/show_bug.cgi?id=63674
psolanki@apple.com [Mon, 18 Jul 2011 18:43:08 +0000 (18:43 +0000)]
Part of https://bugs.webkit.org/show_bug.cgi?id=63674
Get webkit to compile with USE(CFNETWORK) enabled on Mac

Reviewed by David Kilzer.

Source/WebCore:

* WebCore.exp.in:

Source/WebKit/mac:

Create an NSURLDownload from the CF objects that we have.

* Misc/WebDownload.mm:
(-[WebDownload _initWithLoadingCFURLConnection:request:response:delegate:proxy:]):
* Misc/WebDownloadInternal.h:
* WebCoreSupport/WebFrameLoaderClient.mm:
(WebFrameLoaderClient::download):

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

8 years agoIncrease information garden-o-matic information density by switching to a table
abarth@webkit.org [Mon, 18 Jul 2011 18:20:11 +0000 (18:20 +0000)]
Increase information garden-o-matic information density by switching to a table
https://bugs.webkit.org/show_bug.cgi?id=64642

Reviewed by Dimitri Glazkov.

The old layout couldn't handle the large number of failures we had
today.  This patch switches garden-o-matic to a table-based layout,
which can handle many more failures gracefully.  (I expect we'll need
more UI iterations.)

* Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
* Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
* Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
* Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:

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

8 years agogarden-o-matic should be able to determine when compile breaks
abarth@webkit.org [Mon, 18 Jul 2011 18:18:48 +0000 (18:18 +0000)]
garden-o-matic should be able to determine when compile breaks
https://bugs.webkit.org/show_bug.cgi?id=64190

Reviewed by Dimitri Glazkov.

This patch adds a red-ish box to the top of the page whenever there is
a compile error on the bots.  The box automatically opens and closes as
appropriate and links to the waterfall display.  In the future, we
might want to compute a regression range.

* Scripts/webkitpy/tool/servers/data/gardeningserver/config.js:
    - Add the build-only bots to the config.  We use these to check
      whether the build failed, which is faster than waiting for the
      tester bots to cycle.
* Scripts/webkitpy/tool/servers/data/gardeningserver/index.html:
    - Add DOM for the alert bar.
* Scripts/webkitpy/tool/servers/data/gardeningserver/main.css:
    - CSS to support the alert bar.
* Scripts/webkitpy/tool/servers/data/gardeningserver/main.js:
    - Wiring up events to poll the buildbot to see whether compile has
      failed.
* Scripts/webkitpy/tool/servers/data/gardeningserver/results.js:
    - Infrastructure for fetching and parsing the buildbot status JSON
      blob.  This code could be better factored for testability.  :(
* Scripts/webkitpy/tool/servers/data/gardeningserver/ui.js:
    - UI for displaying compile errors.
* Scripts/webkitpy/tool/servers/data/gardeningserver/ui_unittests.js:

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

8 years agoSpeculative fix for Leopard assertions caused by 91095.
barraclough@apple.com [Mon, 18 Jul 2011 18:11:01 +0000 (18:11 +0000)]
Speculative fix for Leopard assertions caused by 91095.

Rubber stamped by Sam Weinig.

* bridge/NP_jsobject.cpp:
(_NPN_Invoke):
    - ensure we pass the window shell, not the global object.

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

8 years ago2011-07-18 Mark Hahnenberg <mhahnenberg@apple.com>
oliver@apple.com [Mon, 18 Jul 2011 17:47:13 +0000 (17:47 +0000)]
2011-07-18  Mark Hahnenberg  <mhahnenberg@apple.com>

        Refactor JSC to replace JSCell::operator new with static create method
        https://bugs.webkit.org/show_bug.cgi?id=64466

        Reviewed by Oliver Hunt (oliver@apple.com) and Darin Adler (darin@apple.com).

        First step in a longer refactoring process to remove the use of
        operator new overloading in order to allocate GC objects and to replace
        this method with static create methods for each individual type of heap-allocated
        JS object.  This particular patch only deals with replacing uses of
        operator new within JSC proper.  Future patches will remove it from the
        parts that interface with the DOM.  Due to the DOM's continued dependence
        on it, operator new has not actually been removed from JSCell.

        * API/JSCallbackConstructor.h:
        (JSC::JSCallbackConstructor::create):
        * API/JSCallbackFunction.h:
        (JSC::JSCallbackFunction::create):
        * API/JSCallbackObject.h:
        (JSC::JSCallbackObject::operator new):
        (JSC::JSCallbackObject::create):
        * API/JSCallbackObjectFunctions.h:
        (JSC::::staticFunctionGetter):
        * API/JSClassRef.cpp:
        (OpaqueJSClass::prototype):
        * API/JSContextRef.cpp:
        * API/JSObjectRef.cpp:
        (JSObjectMake):
        (JSObjectMakeFunctionWithCallback):
        (JSObjectMakeConstructor):
        * JavaScriptCore.exp:
        * JavaScriptCore.vcproj/JavaScriptCore/JavaScriptCore.def:
        * bytecode/CodeBlock.cpp:
        (JSC::CodeBlock::createActivation):
        * bytecompiler/BytecodeGenerator.cpp:
        (JSC::BytecodeGenerator::BytecodeGenerator):
        * bytecompiler/BytecodeGenerator.h:
        (JSC::BytecodeGenerator::makeFunction):
        * bytecompiler/NodesCodegen.cpp:
        (JSC::RegExpNode::emitBytecode):
        * interpreter/Interpreter.cpp:
        (JSC::Interpreter::privateExecute):
        (JSC::Interpreter::retrieveArguments):
        * jit/JITStubs.cpp:
        (JSC::DEFINE_STUB_FUNCTION):
        * jsc.cpp:
        (GlobalObject::create):
        (GlobalObject::GlobalObject):
        (functionRun):
        (jscmain):
        * runtime/Arguments.h:
        (JSC::Arguments::create):
        (JSC::Arguments::createNoParameters):
        * runtime/ArrayConstructor.cpp:
        (JSC::constructArrayWithSizeQuirk):
        * runtime/ArrayConstructor.h:
        (JSC::ArrayConstructor::create):
        * runtime/ArrayPrototype.cpp:
        (JSC::arrayProtoFuncSplice):
        * runtime/ArrayPrototype.h:
        (JSC::ArrayPrototype::create):
        * runtime/BooleanConstructor.cpp:
        (JSC::constructBoolean):
        (JSC::constructBooleanFromImmediateBoolean):
        * runtime/BooleanConstructor.h:
        (JSC::BooleanConstructor::create):
        * runtime/BooleanObject.h:
        (JSC::BooleanObject::create):
        * runtime/BooleanPrototype.h:
        (JSC::BooleanPrototype::create):
        * runtime/DateConstructor.cpp:
        (JSC::constructDate):
        * runtime/DateConstructor.h:
        (JSC::DateConstructor::create):
        * runtime/DateInstance.h:
        (JSC::DateInstance::create):
        * runtime/DatePrototype.h:
        (JSC::DatePrototype::create):
        * runtime/Error.cpp:
        (JSC::createError):
        (JSC::createEvalError):
        (JSC::createRangeError):
        (JSC::createReferenceError):
        (JSC::createSyntaxError):
        (JSC::createTypeError):
        (JSC::createURIError):
        (JSC::StrictModeTypeErrorFunction::create):
        (JSC::createTypeErrorFunction):
        * runtime/ErrorConstructor.h:
        (JSC::ErrorConstructor::create):
        * runtime/ErrorInstance.cpp:
        (JSC::ErrorInstance::ErrorInstance):
        (JSC::ErrorInstance::create):
        * runtime/ErrorInstance.h:
        * runtime/ErrorPrototype.cpp:
        (JSC::ErrorPrototype::ErrorPrototype):
        * runtime/ErrorPrototype.h:
        (JSC::ErrorPrototype::create):
        * runtime/ExceptionHelpers.cpp:
        (JSC::InterruptedExecutionError::InterruptedExecutionError):
        (JSC::InterruptedExecutionError::create):
        (JSC::createInterruptedExecutionException):
        (JSC::TerminatedExecutionError::TerminatedExecutionError):
        (JSC::TerminatedExecutionError::create):
        (JSC::createTerminatedExecutionException):
        * runtime/Executable.cpp:
        (JSC::FunctionExecutable::FunctionExecutable):
        (JSC::FunctionExecutable::fromGlobalCode):
        * runtime/Executable.h:
        (JSC::ExecutableBase::create):
        (JSC::NativeExecutable::create):
        (JSC::ScriptExecutable::ScriptExecutable):
        (JSC::EvalExecutable::create):
        (JSC::ProgramExecutable::create):
        (JSC::FunctionExecutable::create):
        (JSC::FunctionExecutable::make):
        * runtime/FunctionConstructor.cpp:
        (JSC::constructFunctionSkippingEvalEnabledCheck):
        * runtime/FunctionConstructor.h:
        (JSC::FunctionConstructor::create):
        * runtime/FunctionPrototype.cpp:
        (JSC::FunctionPrototype::addFunctionProperties):
        * runtime/FunctionPrototype.h:
        (JSC::FunctionPrototype::create):
        * runtime/GetterSetter.h:
        (JSC::GetterSetter::create):
        * runtime/JSAPIValueWrapper.h:
        (JSC::JSAPIValueWrapper::create):
        (JSC::jsAPIValueWrapper):
        * runtime/JSActivation.cpp:
        (JSC::JSActivation::argumentsGetter):
        * runtime/JSActivation.h:
        (JSC::JSActivation::create):
        * runtime/JSArray.h:
        (JSC::JSArray::create):
        * runtime/JSCell.h:
        (JSC::JSCell::allocateCell):
        * runtime/JSFunction.h:
        (JSC::JSFunction::create):
        * runtime/JSGlobalObject.cpp:
        (JSC::JSGlobalObject::init):
        (JSC::JSGlobalObject::reset):
        * runtime/JSGlobalObject.h:
        (JSC::constructEmptyArray):
        (JSC::constructArray):
        * runtime/JSNotAnObject.h:
        (JSC::JSNotAnObject::create):
        * runtime/JSONObject.h:
        (JSC::JSONObject::create):
        * runtime/JSObject.cpp:
        (JSC::JSObject::defineGetter):
        (JSC::JSObject::defineSetter):
        (JSC::putDescriptor):
        * runtime/JSObject.h:
        (JSC::JSFinalObject::create):
        * runtime/JSPropertyNameIterator.cpp:
        (JSC::JSPropertyNameIterator::create):
        * runtime/JSPropertyNameIterator.h:
        (JSC::JSPropertyNameIterator::create):
        * runtime/JSString.cpp:
        (JSC::JSString::substringFromRope):
        (JSC::JSString::replaceCharacter):
        (JSC::StringObject::create):
        * runtime/JSString.h:
        (JSC::RopeBuilder::JSString):
        (JSC::RopeBuilder::create):
        (JSC::RopeBuilder::createHasOtherOwner):
        (JSC::jsSingleCharacterString):
        (JSC::jsSingleCharacterSubstring):
        (JSC::jsNontrivialString):
        (JSC::jsString):
        (JSC::jsSubstring):
        (JSC::jsOwnedString):
        * runtime/JSValue.cpp:
        (JSC::JSValue::toObjectSlowCase):
        (JSC::JSValue::synthesizeObject):
        (JSC::JSValue::synthesizePrototype):
        * runtime/Lookup.cpp:
        (JSC::setUpStaticFunctionSlot):
        * runtime/MathObject.h:
        (JSC::MathObject::create):
        * runtime/NativeErrorConstructor.cpp:
        (JSC::NativeErrorConstructor::NativeErrorConstructor):
        * runtime/NativeErrorConstructor.h:
        (JSC::NativeErrorConstructor::create):
        * runtime/NativeErrorPrototype.h:
        (JSC::NativeErrorPrototype::create):
        * runtime/NumberConstructor.cpp:
        (JSC::constructWithNumberConstructor):
        * runtime/NumberConstructor.h:
        (JSC::NumberConstructor::create):
        * runtime/NumberObject.cpp:
        (JSC::constructNumber):
        * runtime/NumberObject.h:
        (JSC::NumberObject::create):
        * runtime/NumberPrototype.h:
        (JSC::NumberPrototype::create):
        * runtime/ObjectConstructor.h:
        (JSC::ObjectConstructor::create):
        * runtime/ObjectPrototype.h:
        (JSC::ObjectPrototype::create):
        * runtime/Operations.h:
        (JSC::jsString):
        * runtime/RegExp.cpp:
        (JSC::RegExp::RegExp):
        (JSC::RegExp::createWithoutCaching):
        (JSC::RegExp::create):
        * runtime/RegExp.h:
        * runtime/RegExpCache.cpp:
        (JSC::RegExpCache::lookupOrCreate):
        * runtime/RegExpConstructor.cpp:
        (JSC::RegExpConstructor::arrayOfMatches):
        (JSC::constructRegExp):
        * runtime/RegExpConstructor.h:
        (JSC::RegExpConstructor::create):
        * runtime/RegExpMatchesArray.h:
        (JSC::RegExpMatchesArray::create):
        * runtime/RegExpObject.h:
        (JSC::RegExpObject::create):
        * runtime/RegExpPrototype.cpp:
        (JSC::regExpProtoFuncCompile):
        * runtime/RegExpPrototype.h:
        (JSC::RegExpPrototype::create):
        * runtime/ScopeChain.h:
        (JSC::ScopeChainNode::create):
        (JSC::ScopeChainNode::push):
        * runtime/SmallStrings.cpp:
        (JSC::SmallStrings::createEmptyString):
        (JSC::SmallStrings::createSingleCharacterString):
        * runtime/StringConstructor.cpp:
        (JSC::constructWithStringConstructor):
        * runtime/StringConstructor.h:
        (JSC::StringConstructor::create):
        * runtime/StringObject.h:
        (JSC::StringObject::create):
        * runtime/StringObjectThatMasqueradesAsUndefined.h:
        (JSC::StringObjectThatMasqueradesAsUndefined::create):
        * runtime/StringPrototype.cpp:
        (JSC::stringProtoFuncMatch):
        (JSC::stringProtoFuncSearch):
        * runtime/StringPrototype.h:
        (JSC::StringPrototype::create):
        * runtime/Structure.h:
        (JSC::Structure::create):
        (JSC::Structure::createStructure):
        * runtime/StructureChain.h:
        (JSC::StructureChain::create):

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

8 years ago[Qt] Compiling error in Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp with...
commit-queue@webkit.org [Mon, 18 Jul 2011 17:12:48 +0000 (17:12 +0000)]
[Qt] Compiling error in Source/WebKit/qt/tests/qwebelement/tst_qwebelement.cpp with Qt 4.7 or older
https://bugs.webkit.org/show_bug.cgi?id=64560

Patch by Hui Huang <hui.2.huang@nokia.com> on 2011-07-18
Reviewed by Noam Rosenthal.

* tests/qwebelement/tst_qwebelement.cpp:
(tst_QWebElement::render):

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

8 years ago[Texmap] [Qt] [WK2] Unsync in TextureMapperNode between parent and child lists cause...
commit-queue@webkit.org [Mon, 18 Jul 2011 17:04:50 +0000 (17:04 +0000)]
[Texmap] [Qt] [WK2] Unsync in TextureMapperNode between parent and child lists cause crashes on WK2.
https://bugs.webkit.org/show_bug.cgi?id=62587

Patch by Viatcheslav Ostapenko <ostapenko.viatcheslav@nokia.com> on 2011-07-18
Reviewed by Noam Rosenthal.

Fix unsync between m_parent and m_children list in child and parent texture mapper nodes
in syncCompositingStateSelf.

* platform/graphics/texmap/TextureMapperNode.cpp:
(WebCore::TextureMapperNode::syncCompositingStateSelf):

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

8 years agoStroking of zero-length paths in SVG should change according to erratum
commit-queue@webkit.org [Mon, 18 Jul 2011 17:01:41 +0000 (17:01 +0000)]
Stroking of zero-length paths in SVG should change according to erratum
https://bugs.webkit.org/show_bug.cgi?id=18356

Patch by Rob Buis <rbuis@rim.com> on 2011-07-18
Reviewed by Nikolas Zimmermann.

Source/WebCore:

Do not rely on toolkits to correctly render zero-length path with stroke-linecap=round, render
it ourselves just like for stroke-linecap=square.

* rendering/svg/RenderSVGPath.cpp:
(WebCore::RenderSVGPath::shouldStrokeZeroLengthSubpath):
(WebCore::RenderSVGPath::setupSquareCapPath):

LayoutTests:

* platform/mac/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.png:
* platform/mac/svg/W3C-SVG-1.1-SE/painting-control-04-f-expected.txt:

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

8 years ago[REGRESSION] Value 'none' breaks multiple background-image display
commit-queue@webkit.org [Mon, 18 Jul 2011 16:54:03 +0000 (16:54 +0000)]
[REGRESSION] Value 'none' breaks multiple background-image display
https://bugs.webkit.org/show_bug.cgi?id=59274

Patch by Mihnea Ovidenie <mihnea@adobe.com> on 2011-07-18
Reviewed by Simon Fraser.

When taking fast path for simple color background, we should draw
the background only if it is the last in the list of backgrounds.
Otherwise, it will obscure the previously drawn backgrounds.

Source/WebCore:

Test: fast/backgrounds/background-fast-path-simple-color.html

* rendering/RenderBoxModelObject.cpp:
(WebCore::RenderBoxModelObject::paintFillLayerExtended):

LayoutTests:

* fast/backgrounds/background-fast-path-simple-color-expected.png: Added.
* fast/backgrounds/background-fast-path-simple-color-expected.txt: Added.
* fast/backgrounds/background-fast-path-simple-color.html: Added.

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

8 years ago[Qt] ASSERTION FAILED in ResourceHandle::setDefersLoading causes crash
yi.4.shen@nokia.com [Mon, 18 Jul 2011 16:48:32 +0000 (16:48 +0000)]
[Qt] ASSERTION FAILED in ResourceHandle::setDefersLoading causes crash
https://bugs.webkit.org/show_bug.cgi?id=62808

Source/WebCore:

The assertion in ResourceHandle::setDefersLoading assumes asynchronous
content delivery -- To resume a page, first, its main resource loader
calls setDefersLoading to resume loading the main content; then all the
sub-resource loaders calls setDefersLoading to resume sub-contents.
However, since QNetworkReplyHandler delivers content synchronously,
some new sub-resource loaders get created as soon as the main resource
loader resumed, and all these new sub-resource loaders set their
defersLoading flag to false. Then, the assertion fails for these new
sub-resource loaders when calling setDefersLoading on them. As a fix,
this path makes QNetworkReplyHandler deliver content asynchronously
when its load type is set to SynchronousLoad.

Reviewed by Benjamin Poulain.

Test: loader/load-defer-resume-crash.html

* platform/network/qt/QNetworkReplyHandler.cpp:
(WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals):
* platform/network/qt/QNetworkReplyHandler.h:
(WebCore::QNetworkReplyHandler::setLoadingDeferred):

LayoutTests:

Added a test for the crash occurs when load deferring is turned off.

Reviewed by Benjamin Poulain.

* loader/load-defer-resume-crash-expected.txt: Added.
* loader/load-defer-resume-crash.html: Added.
* loader/resources/images.html: Added.
* platform/chromium/test_expectations.txt: Skip this test since the LayoutTestController::setDefersLoading is not implemented for chromium.

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

8 years agoMake using lowercase parameter names for AppleConnect be a plug-in quirk
andersca@apple.com [Mon, 18 Jul 2011 16:43:27 +0000 (16:43 +0000)]
Make using lowercase parameter names for AppleConnect be a plug-in quirk
https://bugs.webkit.org/show_bug.cgi?id=64638

Reviewed by Sam Weinig.

* Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
(WebKit::NetscapePluginModule::determineQuirks):
Set the WantsLowercaseParameterNames quirk for the AppleConnect plug-in.

* Shared/Plugins/PluginQuirks.h:
Add WantsLowercaseParameterNames quirk.

* WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
(WebKit::NetscapePlugin::initialize):
If the plug-in has the WantsLowercaseParameterNames quirk, convert the parameter
names to lowercase.

* WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
(WebKit::WebFrameLoaderClient::createPlugin):
Remove the code that would convert the parameters here. Also remove the FIXME; plug-in quirks
aren't really the same thing as site-specific quirks.

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

8 years agoAnimationBase asserts if a test tries to pause during the delay phase
commit-queue@webkit.org [Mon, 18 Jul 2011 16:16:17 +0000 (16:16 +0000)]
AnimationBase asserts if a test tries to pause during the delay phase
https://bugs.webkit.org/show_bug.cgi?id=59475

Patch by Young Han Lee <joybro@company100.net> on 2011-07-18
Reviewed by Simon Fraser.

There is no more assertion failure after r90765, but the testcase still fails due to
the miscalculation of the pauseTime. This patch pauses the animation at its startTime
if a test tries to pause it during the delay phase.

Source/WebCore:

Test: transitions/transition-in-delay-phase.html

* page/animation/AnimationBase.cpp:
(WebCore::AnimationBase::freezeAtTime):

LayoutTests:

* transitions/transition-in-delay-phase-expected.txt: Added.
* transitions/transition-in-delay-phase.html: Added.

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

8 years agoUnreviewed; updated chromium test expectations.
senorblanco@chromium.org [Mon, 18 Jul 2011 14:26:19 +0000 (14:26 +0000)]
Unreviewed; updated chromium test expectations.

Remove a passing test from test_expectations.txt.

* platform/chromium/test_expectations.txt:

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

8 years agoUnreviewed; updated chromium test expectations.
senorblanco@chromium.org [Mon, 18 Jul 2011 14:08:04 +0000 (14:08 +0000)]
Unreviewed; updated chromium test expectations.

Remove two tests from test_expectations.txt that have been rebaselined.

* platform/chromium/test_expectations.txt:

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

8 years agoWeb Inspector: Web Inspector: provide unique identifiers for loaders
vsevik@chromium.org [Mon, 18 Jul 2011 14:04:28 +0000 (14:04 +0000)]
Web Inspector: Web Inspector: provide unique identifiers for loaders
https://bugs.webkit.org/show_bug.cgi?id=64599

Reviewed by Pavel Feldman.

* inspector/InspectorInstrumentation.cpp:
(WebCore::InspectorInstrumentation::loaderDetachedFromFrameImpl):
* inspector/InspectorInstrumentation.h:
(WebCore::InspectorInstrumentation::frameDestroyed):
(WebCore::InspectorInstrumentation::loaderDetachedFromFrame):
* inspector/InspectorPageAgent.cpp:
(WebCore::InspectorPageAgent::loaderId):
(WebCore::InspectorPageAgent::loaderDetachedFromFrame):
* inspector/InspectorPageAgent.h:
* loader/DocumentLoader.cpp:
(WebCore::DocumentLoader::detachFromFrame):

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

8 years ago[Qt] Consider QTouchWebPage's transform when scrolling the viewport.
jocelyn.turcotte@nokia.com [Mon, 18 Jul 2011 13:43:55 +0000 (13:43 +0000)]
[Qt] Consider QTouchWebPage's transform when scrolling the viewport.
https://bugs.webkit.org/show_bug.cgi?id=64541

Reviewed by Benjamin Poulain.

Currently the scroll deltas are given to moveBy in page coordinates
which doesn't match when the page view is scalled.
This patch gives the scroll delta to the viewport in it's own coordinates.

* UIProcess/qt/TouchViewInterface.cpp:
(WebKit::TouchViewInterface::panGestureRequestScroll):

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

8 years ago[Qt] Push the new viewport rect to the drawing area after committing the scale.
jocelyn.turcotte@nokia.com [Mon, 18 Jul 2011 13:43:43 +0000 (13:43 +0000)]
[Qt] Push the new viewport rect to the drawing area after committing the scale.
https://bugs.webkit.org/show_bug.cgi?id=64597

Reviewed by Benjamin Poulain.

* UIProcess/qt/TouchViewInterface.cpp:
(WebKit::TouchViewInterface::pinchGestureEnded):

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

8 years ago[Qt] Remove the scale commit timer from QTouchWebPage.
jocelyn.turcotte@nokia.com [Mon, 18 Jul 2011 13:43:30 +0000 (13:43 +0000)]
[Qt] Remove the scale commit timer from QTouchWebPage.
https://bugs.webkit.org/show_bug.cgi?id=64600

Reviewed by Benjamin Poulain.

Since we don't currently need unprepared page view scale changes,
this timer isn't useful.

* UIProcess/API/qt/qtouchwebpage.cpp:
(QTouchWebPage::QTouchWebPage):
(QTouchWebPagePrivate::QTouchWebPagePrivate):
(QTouchWebPagePrivate::commitScaleChange):
* UIProcess/API/qt/qtouchwebpage.h:
* UIProcess/API/qt/qtouchwebpage_p.h:
* UIProcess/qt/TouchViewInterface.cpp:
(WebKit::TouchViewInterface::pinchGestureStarted):

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

8 years agoTiledDrawingArea: map the visibleArea rect from page to tiles coordinates.
jocelyn.turcotte@nokia.com [Mon, 18 Jul 2011 13:43:12 +0000 (13:43 +0000)]
TiledDrawingArea: map the visibleArea rect from page to tiles coordinates.
https://bugs.webkit.org/show_bug.cgi?id=64538

Reviewed by Benjamin Poulain.

TiledDrawingAreaProxy expects its coordinates to be scaled according to
contentsScale. This patch keep the pushed visibleArea as page coordinates
and convert it each time to scaled coordinates in case the contents scale was
changed afterward.
This is a regression introduced in r90750.
Also:
- Rename visibleArea to visibleContentRect
- Remove an unnecessary mapToContents in QTouchWebPageProxy::setVisibleContentRect

* UIProcess/API/qt/qtouchwebpage.cpp:
(QTouchWebPagePrivate::setViewportRect):
* UIProcess/TiledDrawingAreaProxy.cpp:
(WebKit::TiledDrawingAreaProxy::invalidate):
(WebKit::TiledDrawingAreaProxy::setVisibleContentRect):
(WebKit::TiledDrawingAreaProxy::createTiles):
(WebKit::TiledDrawingAreaProxy::visibleRect):
* UIProcess/TiledDrawingAreaProxy.h:
* UIProcess/qt/qtouchwebpageproxy.cpp:
(QTouchWebPageProxy::setVisibleContentRect):
* UIProcess/qt/qtouchwebpageproxy.h:

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

8 years agoWeb Inspector: "Reveal in Elements Panel" is broken.
pfeldman@chromium.org [Mon, 18 Jul 2011 13:18:08 +0000 (13:18 +0000)]
Web Inspector: "Reveal in Elements Panel" is broken.
https://bugs.webkit.org/show_bug.cgi?id=64688

Reviewed by Yury Semikhatsky.

* inspector/front-end/ElementsTreeOutline.js:
(WebInspector.ElementsTreeOutline):
(WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired.focusElement):
(WebInspector.ElementsTreeOutline.prototype._contextMenuEventFired):
(WebInspector.ElementsTreeOutline.prototype.populateContextMenu):

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

8 years agoRemove RenderObject::addLayers second argument
jchaffraix@webkit.org [Mon, 18 Jul 2011 12:40:35 +0000 (12:40 +0000)]
Remove RenderObject::addLayers second argument
https://bugs.webkit.org/show_bug.cgi?id=64649

Reviewed by Benjamin Poulain.

No change in behavior.

The code was always passing |this| as the second argument. Thus just
removed the argument for clarity.

* rendering/RenderObject.h:
* rendering/RenderObject.cpp:
(WebCore::RenderObject::addLayers): Removed the argument, replaced
by |this|.

* rendering/RenderObjectChildList.cpp:
(WebCore::RenderObjectChildList::appendChildNode):
(WebCore::RenderObjectChildList::insertChildNode):
Removed the second argument at those 2 call sites.

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

8 years agoQt rebaselines after r91060 and r91116
loki@webkit.org [Mon, 18 Jul 2011 09:20:16 +0000 (09:20 +0000)]
Qt rebaselines after r91060 and r91116

* platform/qt/fast/dom/Window/window-properties-expected.txt: (r91060)
* platform/qt/fast/dom/error-to-string-stack-overflow-expected.txt: Added (r91116)

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

8 years agoWeb Inspector: do not pause on caught exceptions while typing in the console.
pfeldman@chromium.org [Mon, 18 Jul 2011 09:09:36 +0000 (09:09 +0000)]
Web Inspector: do not pause on caught exceptions while typing in the console.
https://bugs.webkit.org/show_bug.cgi?id=64379

Reviewed by Yury Semikhatsky.

* inspector/Inspector.json:
* inspector/InspectorController.cpp:
(WebCore::InspectorController::InspectorController):
* inspector/InspectorRuntimeAgent.cpp:
(WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
(WebCore::InspectorRuntimeAgent::evaluate):
(WebCore::InspectorRuntimeAgent::setScriptDebugServer):
* inspector/InspectorRuntimeAgent.h:
* inspector/WorkerInspectorController.cpp:
(WebCore::WorkerInspectorController::WorkerInspectorController):
* inspector/front-end/ConsoleView.js:
(WebInspector.ConsoleView.prototype.evalInInspectedWindow):
* inspector/front-end/WatchExpressionsSidebarPane.js:
(WebInspector.WatchExpressionsSection.prototype.update):

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

8 years agoGTK and Qt rebaselines after r91158.
rniwa@webkit.org [Mon, 18 Jul 2011 08:11:51 +0000 (08:11 +0000)]
GTK and Qt rebaselines after r91158.

* platform/gtk/editing/inserting/5058163-1-expected.txt:
* platform/qt/editing/inserting/5058163-1-expected.txt:

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

8 years agoUnreviewed, rolling out r91132 and r91135.
commit-queue@webkit.org [Mon, 18 Jul 2011 07:34:20 +0000 (07:34 +0000)]
Unreviewed, rolling out r91132 and r91135.
http://trac.webkit.org/changeset/91132
http://trac.webkit.org/changeset/91135
https://bugs.webkit.org/show_bug.cgi?id=64681

Broke GTK and Chromium debug bots (Requested by rniwa on
#webkit).

Patch by Sheriff Bot <webkit.review.bot@gmail.com> on 2011-07-18

Source/WebCore:

* accessibility/AXObjectCache.h:
* accessibility/AccessibilityMenuList.cpp:
* accessibility/AccessibilityMenuList.h:
* accessibility/AccessibilityMenuListPopup.cpp:
* accessibility/AccessibilityMenuListPopup.h:
* accessibility/chromium/AXObjectCacheChromium.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
* accessibility/win/AXObjectCacheWin.cpp:
(WebCore::AXObjectCache::postPlatformNotification):
* dom/SelectElement.cpp:
(WebCore::SelectElement::setSelectedIndex):
* rendering/RenderMenuList.cpp:
(WebCore::RenderMenuList::RenderMenuList):
(WebCore::RenderMenuList::setTextFromOption):
(WebCore::RenderMenuList::didSetSelectedIndex):
* rendering/RenderMenuList.h:

Tools:

* DumpRenderTree/AccessibilityController.h:
* DumpRenderTree/win/AccessibilityControllerWin.cpp:
(AccessibilityController::AccessibilityController):
(AccessibilityController::~AccessibilityController):
(logEventProc):
(AccessibilityController::setLogAccessibilityEvents):
(AccessibilityController::addNotificationListener):

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

8 years ago[GTK] Fix selection of elements in a multi select list and remove an unnecessary...
commit-queue@webkit.org [Mon, 18 Jul 2011 06:30:31 +0000 (06:30 +0000)]
[GTK] Fix selection of elements in a multi select list and remove an unnecessary include in WorkQueue
https://bugs.webkit.org/show_bug.cgi?id=64666

Patch by Amruth Raj <amruthraj@motorola.com> on 2011-07-17
Reviewed by Martin Robinson.

* Platform/gtk/WorkQueueGtk.cpp: Remove an include which is no longer required
* Shared/gtk/WebEventFactory.cpp:
(WebKit::modifiersForEvent): Fix an incorrect ASSERT statement
(WebKit::WebEventFactory::createWebMouseEvent): Call the function to determine the modifier keys

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

8 years agoChromium rebaselines after r91158.
rniwa@webkit.org [Mon, 18 Jul 2011 06:24:03 +0000 (06:24 +0000)]
Chromium rebaselines after r91158.

Add failing expectations for tests added in r91125. The failures are tracked by the bug 64675.

Also remove failing expectations for some editing tests tracked by the Chromium issue 89477
because they are now passing.

* platform/chromium-linux/editing/inserting/5058163-1-expected.png:
* platform/chromium-win/editing/inserting/5058163-1-expected.png:
* platform/chromium-win/editing/inserting/5058163-1-expected.txt:
* platform/chromium/test_expectations.txt:

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

8 years ago[EFL] Refactor scheduleDispatchFunctionsOnMainThread to fix crash.
ryuan.choi@samsung.com [Mon, 18 Jul 2011 02:58:46 +0000 (02:58 +0000)]
[EFL] Refactor scheduleDispatchFunctionsOnMainThread to fix crash.
https://bugs.webkit.org/show_bug.cgi?id=64337

Replace ecore_timer_add to Ecore_Pipe.
This is needed because ecore_timer should not be called in a child thread,
but in the main thread.

Reviewed by Antonio Gomes.

* wtf/efl/MainThreadEfl.cpp:
(WTF::pipeObject):
(WTF::monitorDispatchFunctions):
(WTF::initializeMainThreadPlatform):
(WTF::scheduleDispatchFunctionsOnMainThread):

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

8 years agoImplement CSSPropertyCursor in CSSStyleApplyProperty
macpherson@chromium.org [Mon, 18 Jul 2011 01:59:55 +0000 (01:59 +0000)]
Implement CSSPropertyCursor in CSSStyleApplyProperty
https://bugs.webkit.org/show_bug.cgi?id=64432

Reviewed by Dimitri Glazkov.

No new tests / refectoring only.

* css/CSSStyleApplyProperty.cpp:
Add handler for CSSPropertyCursor.
* css/CSSStyleSelector.cpp:
Remove current handler of CSSPropertyCursor.
* css/CSSStyleSelector.h:
Make styleImage and cachedOrPendingFromValue public.

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

8 years agoPatch by Lukasz Slachciak <l.slachciak@samsung.com> on 2011-07-17
commit-queue@webkit.org [Mon, 18 Jul 2011 01:47:28 +0000 (01:47 +0000)]
Patch by Lukasz Slachciak <l.slachciak@samsung.com> on 2011-07-17
Reviewed by Martin Robinson.

 [GTK] [WK2] Fix for getting editor client commands.
 https://bugs.webkit.org/show_bug.cgi?id=63081

 Editor client commands intepretation was incorrect. It was based on the NativeWebKeyboardEvent only.
 In fact EventHandler is generating interpreted events - keypress and keydown. These event types
 are now passed from UIProcess to WebProcess so KeyBindingTranslator can correctly find editor commands.
 Also build break for Debug build was fixed.

* UIProcess/API/gtk/PageClientImpl.cpp: KeyboardEvent type is used for KeyBindingTranslator.
(WebKit::PageClientImpl::getEditorCommandsForKeyEvent): getEditorCommandsForKeyEvent now has additional
parameter describing KeyboardEvent type.
* UIProcess/API/gtk/PageClientImpl.h:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/gtk/WebPageProxyGtk.cpp:
(WebKit::WebPageProxy::getEditorCommandsForKeyEvent): KeyboardEvent type passed to PageClient.
* WebProcess/WebCoreSupport/gtk/WebEditorClientGtk.cpp:
(WebKit::WebEditorClient::getEditorCommandsForKeyEvent): Sync message send with KeyboardEvent type.

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

8 years agoDFG JIT operationCompareEqual does not inline JSValue::equalSlowCaseInline.
commit-queue@webkit.org [Sun, 17 Jul 2011 09:02:26 +0000 (09:02 +0000)]
DFG JIT operationCompareEqual does not inline JSValue::equalSlowCaseInline.
https://bugs.webkit.org/show_bug.cgi?id=64637

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-17
Reviewed by Gavin Barraclough.

* dfg/DFGOperations.cpp:

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

8 years agotest-webkitpy failing with Python 2.5
commit-queue@webkit.org [Sun, 17 Jul 2011 08:57:09 +0000 (08:57 +0000)]
test-webkitpy failing with Python 2.5
https://bugs.webkit.org/show_bug.cgi?id=64594

Patch by Philippe Normand <pnormand@igalia.com> on 2011-07-17
Reviewed by Eric Seidel.

Updated simplejson to version 2.1.6 that fixes an issue when
dumping slashes. Also use cgi.parse_qs instead of the urlparse
version to be compatible with Python2.5. Verified the fix with
test-webkitpy on python 2.5 and python 2.6.

* Scripts/webkitpy/thirdparty/simplejson/README.txt:
* Scripts/webkitpy/thirdparty/simplejson/__init__.py:
* Scripts/webkitpy/thirdparty/simplejson/_speedups.c:
(json_PyOS_string_to_double):
(_convertPyInt_AsSsize_t):
(_convertPyInt_FromSsize_t):
(ascii_escape_char):
(ascii_escape_unicode):
(ascii_escape_str):
(raise_errmsg):
(join_list_unicode):
(join_list_string):
(_build_rval_index_tuple):
(scanstring_str):
(scanstring_unicode):
(py_scanstring):
(py_encode_basestring_ascii):
(scanner_dealloc):
(scanner_traverse):
(scanner_clear):
(_parse_object_str):
(_parse_object_unicode):
(_parse_array_str):
(_parse_array_unicode):
(_parse_constant):
(_match_number_str):
(_match_number_unicode):
(scan_once_str):
(scan_once_unicode):
(scanner_call):
(scanner_new):
(scanner_init):
(encoder_new):
(encoder_init):
(encoder_call):
(_encoded_const):
(encoder_encode_float):
(encoder_encode_string):
(_steal_list_append):
(encoder_listencode_obj):
(encoder_listencode_dict):
(encoder_listencode_list):
(encoder_dealloc):
(encoder_traverse):
(encoder_clear):
(init_speedups):
* Scripts/webkitpy/thirdparty/simplejson/decoder.py:
* Scripts/webkitpy/thirdparty/simplejson/encoder.py:
* Scripts/webkitpy/thirdparty/simplejson/ordered_dict.py: Added.
* Scripts/webkitpy/thirdparty/simplejson/scanner.py:
* Scripts/webkitpy/thirdparty/simplejson/tool.py: Added.
* Scripts/webkitpy/tool/servers/reflectionhandler.py:

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

8 years agoRename ModifierMatcher to SpecificityCalculator.
dglazkov@chromium.org [Sun, 17 Jul 2011 07:38:01 +0000 (07:38 +0000)]
Rename ModifierMatcher to SpecificityCalculator.
https://bugs.webkit.org/show_bug.cgi?id=64660

It's a little longer than before, but it is much clearer.

Reviewed by Adam Barth.

* Scripts/webkitpy/layout_tests/models/test_expectations.py: Renamed and adjusted
    all callsites, also rewrote the comments.
* Scripts/webkitpy/layout_tests/models/test_expectations_unittest.py: Adjusted callsites
    and renamed tests.

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

8 years agohttps://bugs.webkit.org/show_bug.cgi?id=64657
barraclough@apple.com [Sun, 17 Jul 2011 05:04:36 +0000 (05:04 +0000)]
https://bugs.webkit.org/show_bug.cgi?id=64657
Converted this value not preserved when accessed via direct eval.

Reviewed by Oliver Hunt.

Source/JavaScriptCore:

Upon entry into a non-strict function, primitive this values should be boxed as Object types
(or substituted with the global object) - which is done by op_convert_this. However we only
do so where this is used lexically within the function (we omit the conversion op if not).
The problem comes if a direct eval (running within the function's scope) accesses the this
value.

We are safe in the case of a single eval, since the this object will be converted within
callEval, however the converted value is not preserved, and a new wrapper object is allocated
each time eval is invoked. This is inefficient and incorrect, since any changes to the wrapper
object will be lost between eval statements.

* bytecompiler/BytecodeGenerator.cpp:
(JSC::BytecodeGenerator::BytecodeGenerator):
    - If a function uses eval, we always need to convert this.
* interpreter/Interpreter.cpp:
(JSC::Interpreter::execute):
    - Don't convert primitive values here - this is too late!
(JSC::Interpreter::privateExecute):
    - Changed op_convert_this to call new isPrimitive method.
* jit/JITStubs.cpp:
(JSC::DEFINE_STUB_FUNCTION):
    - Changed op_convert_this to call new isPrimitive method.
* runtime/JSCell.h:
(JSC::JSCell::JSValue::isPrimitive):
    - Added JSValue::isPrimitive.
* runtime/JSValue.h:
    - Added JSValue::isPrimitive.

LayoutTests:

Added test case.

* fast/js/read-modify-eval-expected.txt:
* fast/js/script-tests/read-modify-eval.js:
(primitiveThisTest):

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

8 years ago2011-07-16 Daniel Bates <dbates@webkit.org>
dbates@webkit.org [Sun, 17 Jul 2011 04:56:20 +0000 (04:56 +0000)]
2011-07-16  Daniel Bates  <dbates@webkit.org>

        Fix Win Cairo Debug build after <http://trac.webkit.org/changeset/91085>.

        Add stub implementation of scale factor overloaded ShareableBitmap::paint() for
        Cairo WebKit2 port after its usage in changeset <http://trac.webkit.org/changeset/91085>.

        Also add stub implementation for GTK.

        We'll need to actually implement this. See <https://bugs.webkit.org/show_bug.cgi?id=64664>
        and <https://bugs.webkit.org/show_bug.cgi?id=64665> for Cairo and GTK, respectively.

        * Shared/cairo/ShareableBitmapCairo.cpp:
        (WebKit::ShareableBitmap::paint): Added scale-factor variant.
        * Shared/gtk/ShareableBitmapGtk.cpp:
        (WebKit::ShareableBitmap::paint): Added scale-factor variant.

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

8 years ago2011-07-16 Daniel Bates <dbates@webkit.org>
dbates@webkit.org [Sun, 17 Jul 2011 04:21:47 +0000 (04:21 +0000)]
2011-07-16  Daniel Bates  <dbates@webkit.org>

        Fix Qt Linux Release build after changeset <http://trac.webkit.org/changeset/91085>
        (https://bugs.webkit.org/show_bug.cgi?id=64611).

        Stub out scale factor-variant implementation of ShareableBitmap::paint().
        We'll need to implement this. See <https://bugs.webkit.org/show_bug.cgi?id=64663>
        for more details.

        * Shared/qt/ShareableBitmapQt.cpp:
        (WebKit::ShareableBitmap::paint): Added scale-factor variant.

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

8 years ago2011-07-16 Simon Fraser <simon.fraser@apple.com>
simon.fraser@apple.com [Sun, 17 Jul 2011 02:34:10 +0000 (02:34 +0000)]
2011-07-16  Simon Fraser  <simon.fraser@apple.com>

        Add code to attempt to align compositing layers to pixel boundaries when page scale changes
        https://bugs.webkit.org/show_bug.cgi?id=64658

        Reviewed by Dan Bernstein.

        Implemented a new behavior on GraphicsLayerCA which attempts to keep layers pixel
        aligned as page scale changes.

        This requires denoting which layer has the page scale on it (it is assumed to be
        already aligned), via setAppliesPageScale(). We also now pass a scale and offset
        down through the GraphicsLayer commits, which are used to map layer bounds to display
        coordinates for rounding.

        * platform/graphics/GraphicsLayer.h: New flags and getters/setters for pixel alignment,
        and the layer that is the applier of the scale.
        (WebCore::GraphicsLayer::setMaintainsPixelAlignment):
        (WebCore::GraphicsLayer::maintainsPixelAlignment):
        (WebCore::GraphicsLayer::setAppliesPageScale):
        (WebCore::GraphicsLayer::appliesPageScale):

        * platform/graphics/GraphicsLayer.cpp:
        (WebCore::GraphicsLayer::GraphicsLayer): Initialize the new flags.
        (WebCore::GraphicsLayer::backingScaleFactor): Utility method that calls the client if there is one.
        (WebCore::GraphicsLayer::pageScaleFactor): Ditto.

        * platform/graphics/GraphicsLayerClient.h:
        (WebCore::GraphicsLayerClient::backingScaleFactor): Provide default implementation.
        (WebCore::GraphicsLayerClient::pageScaleFactor): Ditto.

        * platform/graphics/ca/GraphicsLayerCA.h: Pass scale and base-relative offset around
        to methods that need to update geometry during commit.
        Some new methods related to pixel alignment.

        * platform/graphics/ca/GraphicsLayerCA.cpp:
        (WebCore::GraphicsLayerCA::computePositionRelativeToBase): For single-layer commits,
        we have to compute the base-relative offset, and whether we're under the layer
        applying the scale by walking up the tree.

        (WebCore::GraphicsLayerCA::syncCompositingStateForThisLayerOnly): Call
        computePositionRelativeToBase() to get scaling parameters for the target layer.

        (WebCore::GraphicsLayerCA::recursiveCommitChanges): Pass flags related to scaling.
        positionRelativeToBase is an offset relative to the ancestor layer known to be pixel
        aligned. affectedByPageScale is true for layers which are descendants of the layer
        which applies the scale.

        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Pass scale and offset.
        (WebCore::GraphicsLayerCA::updateGeometry): Call computePixelAlignment() to get
        pixel-aligned geometry. This only needs to be applied to layers which render content,
        so re-organize the code to use the unchanged layer geometry for the structural layer,
        but to apply the adjusted geometry to the m_layer.

        (WebCore::GraphicsLayerCA::updateStructuralLayer): Pass scale and offset.
        (WebCore::GraphicsLayerCA::ensureStructuralLayer): Ditto.
        (WebCore::GraphicsLayerCA::updateLayerDrawsContent): Ditto.
        (WebCore::GraphicsLayerCA::updateContentsScale): Ditto.
        (WebCore::GraphicsLayerCA::requiresTiledLayer): Ditto.
        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer): Ditto.
        (WebCore::GraphicsLayerCA::setKeepPixelAligned): When set, dirties flags
        for properties that need to be recomputed.
        (WebCore::GraphicsLayerCA::noteChangesForScaleSensitiveProperties):
        (WebCore::isIntegral):
        (WebCore::GraphicsLayerCA::computePixelAlignment): Map our bounds to screen
        scale, round out to an integral rect, then map it back, adding a fudge factor
        so that CA backing stores don't end up being smaller than we expect because
        of integer truncation.

        * rendering/RenderLayerBacking.cpp:
        (WebCore::RenderLayerBacking::createGraphicsLayer): Turn on pixel alignment if
        the compositor says so.
        (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Set the RenderView's
        layer as the one applying the scale, for the main frame.

        * rendering/RenderLayerCompositor.h: New method.
        * rendering/RenderLayerCompositor.cpp:
        (WebCore::RenderLayerCompositor::keepLayersPixelAligned): Master switch for
        pixel alignment. Default to on.
        (WebCore::RenderLayerCompositor::ensureRootLayer): Give the two root-ish layers
        a client so they can ask for page scale if necessary.

2011-07-16  Simon Fraser  <simon.fraser@apple.com>

        Add code to attempt to align compositing layers to pixel boundaries when page scale changes
        https://bugs.webkit.org/show_bug.cgi?id=64658

        Reviewed by Dan Bernstein.

        Removed implementation of pageScaleFactor() now that GraphicsLayerClient has
        a default implementation.

        * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
        * WebProcess/WebPage/ca/LayerTreeHostCA.h:

2011-07-16  Simon Fraser  <simon.fraser@apple.com>

        Add code to attempt to align compositing layers to pixel boundaries when page scale changes
        https://bugs.webkit.org/show_bug.cgi?id=64658

        Reviewed by Dan Bernstein.

        Removed implementations of backingScaleFactor() and pageScaleFactor() now
        that GraphicsLayerClient has default implementations.

        * WebView.h:

2011-07-16  Simon Fraser  <simon.fraser@apple.com>

        Add code to attempt to align compositing layers to pixel boundaries when page scale changes
        https://bugs.webkit.org/show_bug.cgi?id=64658

        Reviewed by Dan Bernstein.

        Removed implementations of backingScaleFactor() and pageScaleFactor() now
        that GraphicsLayerClient has default implementations.

        * src/PageOverlay.cpp:

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

8 years agoDFG JIT compare/branch code emits is-integer tests even when a value is
commit-queue@webkit.org [Sun, 17 Jul 2011 01:47:45 +0000 (01:47 +0000)]
DFG JIT compare/branch code emits is-integer tests even when a value is
definitely not an integer.
https://bugs.webkit.org/show_bug.cgi?id=64654

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-16
Reviewed by Gavin Barraclough.

Added the isKnownNotInteger() method, which returns true if a node is
definitely not an integer and will always fail any is-integer test.  Then
modified the compare and branch code to use this method; if it returns
true then is-int tests are omitted and the compiler always emits a slow
call.

* dfg/DFGJITCodeGenerator.cpp:
(JSC::DFG::JITCodeGenerator::isKnownNotInteger):
(JSC::DFG::JITCodeGenerator::nonSpeculativePeepholeBranch):
(JSC::DFG::JITCodeGenerator::nonSpeculativeNonPeepholeCompare):
(JSC::DFG::JITCodeGenerator::nonSpeculativeCompare):
* dfg/DFGJITCodeGenerator.h:
* dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::compare):

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

8 years ago2011-07-16 Daniel Bates <dbates@webkit.org>
dbates@webkit.org [Sun, 17 Jul 2011 00:46:03 +0000 (00:46 +0000)]
2011-07-16  Daniel Bates  <dbates@webkit.org>

        Attempt to fix the Qt Linux Release build after changeset <http://trac.webkit.org/changeset/91097>
        (https://bugs.webkit.org/show_bug.cgi?id=64615).

        * UIProcess/qt/QtWebPageProxy.cpp:
        (QtWebPageProxy::setCursorHiddenUntilMouseMoves): Added stub method.
        * UIProcess/qt/QtWebPageProxy.h:

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

8 years agoREGRESSION: Pressing return in a particular document sends the cursor to the end...
enrica@apple.com [Sun, 17 Jul 2011 00:33:34 +0000 (00:33 +0000)]
REGRESSION: Pressing return in a particular document sends the cursor to the end of the document.
https://bugs.webkit.org/show_bug.cgi?id=64140
<rdar://problem/9737491>

Source/WebCore:

Inserting a paragraph separator at a break element, inside an inline, generates redundant markup
and moves the selection at the end of the inserted block.
The fix consists in detecting that the insertion point is a break element and simply inserting another
break element. This solves the problem of the wrong final selection and also produces less redundant
markup.

Reviewed by Simon Fraser.

Test: editing/inserting/insert-paragraph-separator-at-break.html

* editing/InsertParagraphSeparatorCommand.cpp:
(WebCore::InsertParagraphSeparatorCommand::doApply): Modified logic for insertion at a break
element.

LayoutTests:

Added new test to cover this case and updated results for one test that now
produces simpler markup.

Reviewed by Simon Fraser.

* editing/inserting/insert-paragraph-separator-at-break-expected.txt: Added.
* editing/inserting/insert-paragraph-separator-at-break.html: Added.
* platform/mac/editing/inserting/5058163-1-expected.txt:

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

8 years agoSubresourceLoader::didReceiveDataArray can crash when calling m_client->didReceiveData()
psolanki@apple.com [Sat, 16 Jul 2011 23:29:29 +0000 (23:29 +0000)]
SubresourceLoader::didReceiveDataArray can crash when calling m_client->didReceiveData()
https://bugs.webkit.org/show_bug.cgi?id=64656
<rdar://problem/9754425>

Reviewed by Alexey Proskuryakov.

* loader/cf/SubresourceLoaderCF.cpp:
(WebCore::SubresourceLoader::didReceiveDataArray): Check for m_client before calling
m_client->didReceiveData().

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

8 years agoDFG speculative JIT has dead code for slow calls for branches.
commit-queue@webkit.org [Sat, 16 Jul 2011 23:14:09 +0000 (23:14 +0000)]
DFG speculative JIT has dead code for slow calls for branches.
https://bugs.webkit.org/show_bug.cgi?id=64653

Patch by Filip Pizlo <fpizlo@apple.com> on 2011-07-16
Reviewed by Gavin Barraclough.

Removed SpeculativeJIT::compilePeepHoleCall.

* dfg/DFGSpeculativeJIT.cpp:
* dfg/DFGSpeculativeJIT.h:

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

8 years ago[Qt] Compilation fails on disabling TextureMapper
commit-queue@webkit.org [Sat, 16 Jul 2011 23:01:46 +0000 (23:01 +0000)]
[Qt] Compilation fails on disabling TextureMapper
https://bugs.webkit.org/show_bug.cgi?id=64408

Fix compilation error due to API name change in GraphicsLayer

Patch by Dinu Jacob <dinu.jacob@nokia.com> on 2011-07-16
Reviewed by Noam Rosenthal.

* platform/graphics/qt/GraphicsLayerQt.cpp:
(WebCore::GraphicsLayerQt::setContentsToBackgroundColor):
* platform/graphics/qt/GraphicsLayerQt.h:

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

8 years agoPart of https://bugs.webkit.org/show_bug.cgi?id=63674
psolanki@apple.com [Sat, 16 Jul 2011 22:59:48 +0000 (22:59 +0000)]
Part of https://bugs.webkit.org/show_bug.cgi?id=63674
Get webkit to compile with USE(CFNETWORK) enabled on Mac

Reviewed by David Kilzer.

New WebKitSystemInterface functions for CFNetwork-based loader.

../../git/opensource/WebKit.git/Source/WebCore:

* WebCore.exp.in:
* platform/mac/WebCoreSystemInterface.h:
* platform/mac/WebCoreSystemInterface.mm:

../../git/opensource/WebKit.git/Source/WebKit/mac:

* WebCoreSupport/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

../../git/opensource/WebKit.git/Source/WebKit2:

* WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
(InitWebCoreSystemInterface):

../../git/opensource/WebKit.git/WebKitLibraries:

* WebKitSystemInterface.h:
* libWebKitSystemInterfaceLeopard.a:
* libWebKitSystemInterfaceLion.a:
* libWebKitSystemInterfaceSnowLeopard.a:

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

8 years agoWork towards determining the cause of frequent crashes due to null frame below
commit-queue@webkit.org [Sat, 16 Jul 2011 22:39:31 +0000 (22:39 +0000)]
Work towards determining the cause of frequent crashes due to null frame below
ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache.
https://bugs.webkit.org/show_bug.cgi?id=62764

Patch by Jessie Berlin <jberlin@apple.com> on 2011-07-16
Reviewed by Darin Adler.

No loads should be going on for a DocumentLoader that has been detached from its frame, but
that appears to be what is happening in this bug.

Add assertions with the hope that someone will run into this while debugging and thereby find
a reproducible case.

* loader/ResourceLoader.cpp:
(WebCore::ResourceLoader::willSendRequest):
(WebCore::ResourceLoader::didSendData):
(WebCore::ResourceLoader::didReceiveResponse):
(WebCore::ResourceLoader::didReceiveData):
(WebCore::ResourceLoader::didFinishLoading):
(WebCore::ResourceLoader::didFail):
(WebCore::ResourceLoader::wasBlocked):
(WebCore::ResourceLoader::cannotShowURL):
(WebCore::ResourceLoader::shouldUseCredentialStorage):
(WebCore::ResourceLoader::willCacheResponse):

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

8 years agoDOMWindow::open performs a security check on a wrong window
commit-queue@webkit.org [Sat, 16 Jul 2011 20:12:51 +0000 (20:12 +0000)]
DOMWindow::open performs a security check on a wrong window
https://bugs.webkit.org/show_bug.cgi?id=64651

Patch by Sergey Glazunov <serg.glazunov@gmail.com> on 2011-07-16
Reviewed by Adam Barth.

Source/WebCore:

Test: http/tests/security/xss-DENIED-window-open-parent.html

* page/DOMWindow.cpp:
(WebCore::DOMWindow::open):

LayoutTests:

* http/tests/security/resources/xss-DENIED-window-open-parent-attacker.html: Added.
* http/tests/security/xss-DENIED-window-open-parent-expected.txt: Added.
* http/tests/security/xss-DENIED-window-open-parent.html: Added.

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