⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Timeline



Jul 3, 2011:

10:59 PM Changeset in webkit [90352] by barraclough@apple.com
  • 10 edits in trunk/Source/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=63879
Reduce code duplication for op_jless, op_jlesseq, op_jnless, op_jnlesseq.

Reviewed by Sam Weinig.

There is a lot of copy & paste code here; we can reduce duplication by making
a shared implementation.

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::branch32):
(JSC::MacroAssembler::commute):

  • Make these function platform agnostic.
  • assembler/MacroAssemblerX86Common.h:
    • Moved branch32/commute up to MacroAssembler.
  • jit/JIT.h:

(JSC::JIT::emit_op_loop_if_lesseq):
(JSC::JIT::emitSlow_op_loop_if_lesseq):

  • Add an implementation matching that for op_loop_if_less, which just calls op_jless.
  • jit/JITArithmetic.cpp:

(JSC::JIT::emit_op_jless):
(JSC::JIT::emit_op_jlesseq):
(JSC::JIT::emit_op_jnless):
(JSC::JIT::emit_op_jnlesseq):
(JSC::JIT::emitSlow_op_jless):
(JSC::JIT::emitSlow_op_jlesseq):
(JSC::JIT::emitSlow_op_jnless):
(JSC::JIT::emitSlow_op_jnlesseq):

  • Common implmentations of these methods for JSVALUE64 & JSVALUE32_64.

(JSC::JIT::emit_compareAndJump):
(JSC::JIT::emit_compareAndJumpSlow):

  • Internal implmementation of jless etc for JSVALUE64.
  • jit/JITArithmetic32_64.cpp:

(JSC::JIT::emit_compareAndJump):
(JSC::JIT::emit_compareAndJumpSlow):

  • Internal implmementation of jless etc for JSVALUE32_64.
  • jit/JITOpcodes.cpp:
  • jit/JITOpcodes32_64.cpp:
  • jit/JITStubs.cpp:
  • jit/JITStubs.h:
    • Remove old implementation of emit_op_loop_if_lesseq.
10:56 PM Changeset in webkit [90351] by dominicc@chromium.org
  • 5 edits in trunk

2011-07-03 Dominic Cooney <dominicc@chromium.org>

The value property of an indeterminate progress element should be zero
https://bugs.webkit.org/show_bug.cgi?id=63861

Reviewed by Kent Tamura.

Updates test result, and adds a test for setting value < 0.

  • fast/dom/HTMLProgressElement/script-tests/set-progress-properties.js:
  • fast/dom/HTMLProgressElement/set-progress-properties-expected.txt:

2011-07-03 Dominic Cooney <dominicc@chromium.org>

The value property of an indeterminate progress element should be zero
https://bugs.webkit.org/show_bug.cgi?id=63861

Reviewed by Kent Tamura.

Test: fast/dom/HTMLProgressElement/set-progress-properties.html

  • html/HTMLProgressElement.cpp: (WebCore::HTMLProgressElement::value):
10:20 PM Changeset in webkit [90350] by yutak@chromium.org
  • 8 edits in trunk/LayoutTests

2011-07-03 Yuta Kitamura <yutak@chromium.org>

Reviewed by Kent Tamura.

WebSocket: pywebsocket handlers should raise exception to abort the connection
https://bugs.webkit.org/show_bug.cgi?id=63794

pywebsocket automatically sends handshake response when web_socket_do_extra_handshake()
finishes, and starts closing handshake (sends a close frame and waits for client's response)
after web_socket_transfer_data() exits. To stop this behavior, a handler must raise an
exception.

Some of our handlers send broken handshake in web_socket_do_extra_handshake(). If this handler
function exits without raising an exception, pywebsocket automatically sends another handshake
response, which is not really necessary. Normally this extra handshake message is not a problem,
because the client does not read any data beyond the end of the first (broken) handshake if
the client is working correctly. However, if the client erroneously accepts the first handshake,
it will be hard to diagnose the problem because of the extra message. The same can happen for
web_socket_transfer_data().

Generally, pywebsocket handlers should raise an exception if they do not want to send any more
data. However, this fact has been overlooked in past changes, and handlers in many tests exit
normally where they should raise an exception. This change fix these errors.

  • http/tests/websocket/tests/bad-handshake-crash_wsh.py:
  • http/tests/websocket/tests/frame-length-overflow_wsh.py:
  • http/tests/websocket/tests/handshake-fail-by-maxlength_wsh.py: Do not need to cycle until disconnection.
  • http/tests/websocket/tests/handshake-fail-by-no-connection-header_wsh.py:
  • http/tests/websocket/tests/handshake-fail-by-no-cr_wsh.py:
  • http/tests/websocket/tests/handshake-fail-by-no-upgrade-header_wsh.py:
  • http/tests/websocket/tests/long-invalid-header_wsh.py: Some ports (Chromium) intercept handshake messages and do not pass server's response to WebCore until they find the end of handshake response (i.e. "\r\n\r\n" and 16-byte data). If the handler aborts the connection without sending this end-of-response marker, entire response is ignored, which causes the test to fail.
8:54 PM Changeset in webkit [90349] by tkent@chromium.org
  • 7 edits
    3 deletes in trunk

2011-07-03 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r90347.
http://trac.webkit.org/changeset/90347
https://bugs.webkit.org/show_bug.cgi?id=63886

Build breaks on Leopard, Chromium-win, WinCairo, and WinCE.
(Requested by tkent on #webkit).

  • fast/js/number-toString-expected.txt:

2011-07-03 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r90347.
http://trac.webkit.org/changeset/90347
https://bugs.webkit.org/show_bug.cgi?id=63886

Build breaks on Leopard, Chromium-win, WinCairo, and WinCE.
(Requested by tkent on #webkit).

  • JavaScriptCore.xcodeproj/project.pbxproj:
  • runtime/BigInteger.h: Removed.
  • runtime/NumberPrototype.cpp: (JSC::numberProtoFuncToPrecision): (JSC::numberProtoFuncToString):
  • runtime/Uint16WithFraction.h: Removed.
  • wtf/MathExtras.h:

2011-07-03 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r90347.
http://trac.webkit.org/changeset/90347
https://bugs.webkit.org/show_bug.cgi?id=63886

Build breaks on Leopard, Chromium-win, WinCairo, and WinCE.
(Requested by tkent on #webkit).

  • DumpRenderTree/ForwardingHeaders/wtf/StdLibExtras.h: Removed.
7:01 PM Changeset in webkit [90348] by dbates@webkit.org
  • 3 edits in trunk/Tools

2011-07-03 Daniel Bates <dbates@webkit.org>

Import Checkout in scm_unittests.py and logging in svn.py to fix
Python missing global variable errors

Rubber-stamped by Adam Barth.

  • Scripts/webkitpy/common/checkout/scm/scm_unittest.py: Import Checkout.
  • Scripts/webkitpy/common/checkout/scm/svn.py: Import logging.
3:27 PM Changeset in webkit [90347] by barraclough@apple.com
  • 7 edits
    3 adds in trunk

Reviewed by Sam Weinig.

https://bugs.webkit.org/show_bug.cgi?id=16652
Firefox and JavaScriptCore differ in Number.toString(integer)

Source/JavaScriptCore:

Our arbitrary radix (2..36) toString conversion is inaccurate.
This is partly because it uses doubles to perform math that requires
higher accuracy, and partly becasue it does not attempt to correctly
detect where to terminate, instead relying on a simple 'epsilon'.

  • runtime/NumberPrototype.cpp:

(JSC::decomposeDouble):

  • helper function to extract sign, exponent, mantissa from IEEE doubles.

(JSC::Uint16WithFraction::Uint16WithFraction):

  • helper class, u16int with infinite precision fraction, used to convert the fractional part of the number to a string.

(JSC::Uint16WithFraction::operator*=):

  • Multiply by a uint16.

(JSC::Uint16WithFraction::operator<):

  • Compare two Uint16WithFractions.

(JSC::Uint16WithFraction::floorAndSubtract):

  • Extract the integer portion of the number, and subtract it (clears the integer portion).

(JSC::Uint16WithFraction::comparePoint5):

  • Compare to 0.5.

(JSC::Uint16WithFraction::sumGreaterThanOne):

  • Passed a second Uint16WithFraction, returns true if the result of adding the two values would be greater than one.

(JSC::Uint16WithFraction::isNormalized):

  • Used by ASSERTs to consistency check internal representation.

(JSC::BigInteger::BigInteger):

  • helper class, unbounded integer value, used to convert the integer part of the number to a string.

(JSC::BigInteger::divide):

  • Divide this value through by a uint32.

(JSC::BigInteger::operator!):

  • test for zero.

(JSC::toStringWithRadix):

  • Performs number to string conversion, with the given radix (2..36).

(JSC::numberProtoFuncToString):

  • Changed to use toStringWithRadix.

Tools:

Added forwarding header.

  • DumpRenderTree/ForwardingHeaders/wtf/StdLibExtras.h: Added.

LayoutTests:

Our arbitrary radix (2..36) toString conversion is inaccurate.
This is partly because it uses doubles to perform math that requires
higher accuracy, and partly becasue it does not attempt to correctly
detect where to terminate, instead relying on a simple 'epsilon'.

  • fast/js/number-toString-expected.txt:
    • Update expected results from FAIL to PASS.
1:34 PM Changeset in webkit [90346] by robert@webkit.org
  • 4 edits
    8 adds in trunk

2011-07-03 Robert Hogan <robert@webkit.org>

Restore scroll position on page reloads scheduled by <meta http-equiv="refresh" content="XX"/>
https://bugs.webkit.org/show_bug.cgi?id=62482

If a <meta http-equiv="refresh"> directive schedules a page reload rather than
a redirect restore the scroll position after the reload. Do the same on location.reload().

Reviewed by Adam Barth.

  • http/tests/navigation/scrollstate-after-http-equiv-refresh-expected.txt: Added.
  • http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier-2-expected.txt: Added.
  • http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier-2.html: Added.
  • http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier-expected.txt: Added.
  • http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier.html: Added.
  • http/tests/navigation/scrollstate-after-http-equiv-refresh.html: Added.
  • http/tests/navigation/scrollstate-after-location-reload-expected.txt: Added.
  • http/tests/navigation/scrollstate-after-location-reload.html: Added.

2011-07-03 Robert Hogan <robert@webkit.org>

Restore scroll position on page reloads scheduled by <meta http-equiv="refresh" content="XX"/>
https://bugs.webkit.org/show_bug.cgi?id=62482

If a <meta http-equiv="refresh"> directive schedules a page reload rather than
a redirect restore the scroll position after the reload. Do the same on location.reload().

Reviewed by Adam Barth.

Tests: http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier-2.html

http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier.html
http/tests/navigation/scrollstate-after-http-equiv-refresh.html
http/tests/navigation/scrollstate-after-location-reload.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadURL): Only make the load FrameLoadTypeSame if it has not already been set as FrameLoadTypeReload*. FrameLoadTypeReload* loads are set through http-equiv refreshes, manual reloads, or location.reload() and honour the user's scroll position in the frame. A FrameLoadTypeSame is for when the frame is loading the same page again, e.g. by clicking a link.
  • loader/NavigationScheduler.cpp: (WebCore::ScheduledRedirect::fire): Tell FrameLoader::changeLocation() if this is a reload.
1:22 PM Changeset in webkit [90345] by krit@webkit.org
  • 4 edits
    3 adds in trunk

2011-07-03 Dirk Schulze <krit@webkit.org>

SVGAnimateTransform accumulate=sum restarts on every repeat
https://bugs.webkit.org/show_bug.cgi?id=63876

Reviewed by Nikolas Zimmermann.


Test accumulate=sum on SVGAnimateTransform. The animation shouldn't start with initial value
on every repeat for accumulation.

  • svg/animations/script-tests/svgtransform-animation-1.js: Added. (sample1): (sample2): (sample3): (executeTest):
  • svg/animations/svgtransform-animation-1-expected.txt: Added.
  • svg/animations/svgtransform-animation-1.html: Added.

2011-07-03 Dirk Schulze <krit@webkit.org>

SVGAnimateTransform accumulate=sum restarts on every repeat
https://bugs.webkit.org/show_bug.cgi?id=63876

Reviewed by Nikolas Zimmermann.


We applied transforms from previous animation repeats to a transform list. The problem is, that we calculated the current
transform based on the percentage of the current repeat count. This causes an animation starting from scale level 0
on every repeat. Now I add the repeat count to the current percentage, so that the distance calculation starts from 100% on
the first repeat, from 200% on the second and so on.

Test: svg/animations/svgtransform-animation-1.html

  • svg/SVGAnimateTransformElement.cpp: (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
11:29 AM Changeset in webkit [90344] by commit-queue@webkit.org
  • 4 edits
    8 deletes in trunk

2011-07-03 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r90342.
http://trac.webkit.org/changeset/90342
https://bugs.webkit.org/show_bug.cgi?id=63875

Newly added tests fail on Mac, GTK, and Win7 (Requested by
abarth on #webkit).

  • http/tests/navigation/scrollstate-after-http-equiv-refresh-expected.txt: Removed.
  • http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier-2-expected.txt: Removed.
  • http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier-2.html: Removed.
  • http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier-expected.txt: Removed.
  • http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier.html: Removed.
  • http/tests/navigation/scrollstate-after-http-equiv-refresh.html: Removed.
  • http/tests/navigation/scrollstate-after-location-reload-expected.txt: Removed.
  • http/tests/navigation/scrollstate-after-location-reload.html: Removed.

2011-07-03 Sheriff Bot <webkit.review.bot@gmail.com>

Unreviewed, rolling out r90342.
http://trac.webkit.org/changeset/90342
https://bugs.webkit.org/show_bug.cgi?id=63875

Newly added tests fail on Mac, GTK, and Win7 (Requested by
abarth on #webkit).

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadURL):
  • loader/NavigationScheduler.cpp:
10:42 AM Changeset in webkit [90343] by robert@webkit.org
  • 2 edits in trunk/LayoutTests

2011-07-03 Robert Hogan <robert@webkit.org>

Skip Qt platform-specific test after r90341
https://bugs.webkit.org/show_bug.cgi?id=45455

Unreviewed, skip test.

The Skipped list needs the platform-specific path of the test.

  • platform/qt/Skipped:
10:27 AM Changeset in webkit [90342] by robert@webkit.org
  • 4 edits
    8 adds in trunk

2011-07-03 Robert Hogan <robert@webkit.org>

Restore scroll position on page reloads scheduled by <meta http-equiv="refresh" content="XX"/>
https://bugs.webkit.org/show_bug.cgi?id=62482

If a <meta http-equiv="refresh"> directive schedules a page reload rather than
a redirect restore the scroll position after the reload. Do the same on location.reload().

Reviewed by Adam Barth.

  • http/tests/navigation/scrollstate-after-http-equiv-refresh-expected.txt: Added.
  • http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier-2-expected.txt: Added.
  • http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier-2.html: Added.
  • http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier-expected.txt: Added.
  • http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier.html: Added.
  • http/tests/navigation/scrollstate-after-http-equiv-refresh.html: Added.
  • http/tests/navigation/scrollstate-after-location-reload-expected.txt: Added.
  • http/tests/navigation/scrollstate-after-location-reload.html: Added.

2011-07-03 Robert Hogan <robert@webkit.org>

Restore scroll position on page reloads scheduled by <meta http-equiv="refresh" content="XX"/>
https://bugs.webkit.org/show_bug.cgi?id=62482

If a <meta http-equiv="refresh"> directive schedules a page reload rather than
a redirect restore the scroll position after the reload. Do the same on location.reload().

Reviewed by Adam Barth.

Tests: http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier-2.html

http/tests/navigation/scrollstate-after-http-equiv-refresh-fragment-identifier.html
http/tests/navigation/scrollstate-after-http-equiv-refresh.html
http/tests/navigation/scrollstate-after-location-reload.html

  • loader/FrameLoader.cpp: (WebCore::FrameLoader::loadURL): Only make the load FrameLoadTypeSame if it has not already been set as FrameLoadTypeReload*. FrameLoadTypeReload* loads are set through http-equiv refreshes, manual reloads, or location.reload() and honour the user's scroll position in the frame. A FrameLoadTypeSame is for when the frame is loading the same page again, e.g. by clicking a link.
  • loader/NavigationScheduler.cpp: (WebCore::ScheduledRedirect::fire): Tell FrameLoader::changeLocation() if this is a reload.
10:14 AM Changeset in webkit [90341] by robert@webkit.org
  • 15 edits
    6 adds in trunk

2011-04-02 Robert Hogan <robert@webkit.org>

Reviewed by Benjamin Poulain.

[Qt] Support third-party cookie policy for Qt clients

Add a new test and move third-party cookie tests to 'pending
unskipping' for when bots move to 4.8.

See also: http://gitorious.org/qt/qt/merge_requests/1205

(commit 154402f56dcf8303a6ce601a52215226af8d31ba)

http://bugreports.qt.nokia.com/browse/QTBUG-13601

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

  • platform/qt/http/tests/cookies/strict-third-party-cookie-blocking.html: Added.
  • platform/qt/http/tests/cookies/strict-third-party-cookie-blocking-expected.txt: Added. This test is a stricter version of third-party-cookie-relaxing.html with the expected behaviour that all third-party cookies are blocked.
  • platform/qt/Skipped: Prepare tests for unskipping on Qt-4.8.
  • platform/qt/http/tests/cookies/third-party-cookie-relaxing-expected.txt: Added. Qt returns cookie lists in a different order from other ports.

2011-04-02 Robert Hogan <robert@webkit.org>

Reviewed by Benjamin Poulain.

[Qt] Support third-party cookie policy for Qt clients
https://bugs.webkit.org/show_bug.cgi?id=45455

Identifying third-party cookies is facilitated by API new to QUrl from
Qt 4.8: QUrl::topLevelDomain(). This API uses the Mozilla public suffix
list to determine the top-level registry-controlled domain of the Url.

See also: http://gitorious.org/qt/qt/merge_requests/1205

(commit 154402f56dcf8303a6ce601a52215226af8d31ba)

http://bugreports.qt.nokia.com/browse/QTBUG-13601

Test: http/tests/cookies/strict-third-party-cookie-blocking.html

  • WebCore.pro:
  • platform/network/qt/ResourceRequestQt.cpp: (WebCore::ResourceRequest::toNetworkRequest):
  • platform/qt/CookieJarQt.cpp: (WebCore::setCookies): (WebCore::cookies):
  • platform/qt/ThirdPartyCookiesQt.cpp: Added. (WebCore::cookieJar): (WebCore::isFirstPartyCookie): (WebCore::cookieAllowed): (WebCore::allowThirdPartyCookies):
  • platform/qt/ThirdPartyCookiesQt.h: Added.

2011-04-02 Robert Hogan <robert@webkit.org>

Reviewed by Benjamin Poulain.

[Qt] Support third-party cookie policy for Qt clients

This adds new API to QWebSettings that allows clients to
select one of three third-party cookie blocking policies:

AlwaysAllowThirdPartyCookies
AlwaysBlockThirdPartyCookies
AllowThirdPartyWithExistingCookies

The first two are self-explanatory, the third mimics Safari's
default behaviour of permitting third-party cookies when the user
already has cookies from the third-party site. This was
introduced to allow third-party cookie blocking to play well with
facebook sharing etc. AlwaysAllowThirdPartyCookies is the default.

There is scope for adding an 'exceptions' list API and clients would
struggle to implement it themselves given the paucity of information
available from setCookiesForUrl().

See also: http://gitorious.org/qt/qt/merge_requests/1205

(commit 154402f56dcf8303a6ce601a52215226af8d31ba)

http://bugreports.qt.nokia.com/browse/QTBUG-13601

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

  • Api/qwebsettings.cpp: (QWebSettings::QWebSettings): (QWebSettings::setThirdPartyCookiePolicy): (QWebSettings::thirdPartyCookiePolicy):
  • Api/qwebsettings.h:

2011-04-02 Robert Hogan <robert@webkit.org>

Reviewed by Benjamin Poulain.

[Qt] Support third-party cookie policy for Qt clients
https://bugs.webkit.org/show_bug.cgi?id=45455

  • DumpRenderTree/qt/LayoutTestControllerQt.cpp: (LayoutTestController::reset): (LayoutTestController::setAlwaysAcceptCookies): (LayoutTestController::setAlwaysBlockCookies):
  • DumpRenderTree/qt/LayoutTestControllerQt.h:
8:58 AM Changeset in webkit [90340] by vsevik@chromium.org
  • 6 edits in trunk

2011-07-03 Vsevolod Vlasov <vsevik@chromium.org>

Reviewed by Alexey Proskuryakov.

Web Inspector: Preflight OPTIONS requests are not shown on network panel for asynchronous XHRs.
https://bugs.webkit.org/show_bug.cgi?id=63712

  • http/tests/inspector/network-preflight-options-expected.txt:
  • http/tests/inspector/network-preflight-options.html:

2011-07-03 Vsevolod Vlasov <vsevik@chromium.org>

Reviewed by Alexey Proskuryakov.

Web Inspector: Preflight OPTIONS requests are not shown on network panel for asynchronous XHRs.
https://bugs.webkit.org/show_bug.cgi?id=63712

Added InspectorInstrumentation calls to preflight OPTIONS requests callbacks in DocumentThreadableLoader.

  • loader/DocumentThreadableLoader.cpp: (WebCore::DocumentThreadableLoader::DocumentThreadableLoader): (WebCore::DocumentThreadableLoader::didReceiveResponse): (WebCore::DocumentThreadableLoader::didReceiveData): (WebCore::DocumentThreadableLoader::didFinishLoading): (WebCore::DocumentThreadableLoader::didFail): (WebCore::DocumentThreadableLoader::loadRequest):
  • loader/DocumentThreadableLoader.h:
8:51 AM Changeset in webkit [90339] by robert@webkit.org
  • 1 edit
    3 adds in trunk/LayoutTests

2011-07-03 Robert Hogan <robert@webkit.org>

Add platform-specific results after r90338

Unreviewed, add platform-specific results for new rendertree test.
https://bugs.webkit.org/show_bug.cgi?id=30355

http://trac.webkit.org/changeset/90338

  • platform/gtk/plugins/mouse-click-plugin-clears-selection-expected.txt: Added.
  • platform/qt-mac/plugins/mouse-click-plugin-clears-selection-expected.txt: Added.
  • plugins/mouse-click-plugin-clears-selection-expected.txt: Added.
8:04 AM Changeset in webkit [90338] by robert@webkit.org
  • 6 edits
    3 adds in trunk

2011-06-23 Robert Hogan <robert@webkit.org>

Reviewed by Simon Hausmann.

[Qt] Windowless Plugins : <input> cursor blinks even after transferring focus to plugin
https://bugs.webkit.org/show_bug.cgi?id=30355

Unfortunately this has to be a rendertree test, as there is no rendertext way of
determining if a selection is still highlighted.

  • platform/chromium/plugins/mouse-click-plugin-clears-selection-expected.txt: Added.
  • platform/qt/plugins/mouse-click-plugin-clears-selection-expected.txt: Added.
  • plugins/mouse-click-plugin-clears-selection.html: Added.

2011-06-23 Robert Hogan <robert@webkit.org>

Reviewed by Simon Hausmann.

[Qt] Windowless Plugins : <input> cursor blinks even after transferring focus to plugin
https://bugs.webkit.org/show_bug.cgi?id=30355

Test: plugins/mouse-click-plugin-clears-selection.html

PluginView needs to use page->focusController()->setFocusedNode() when focusing a plugin
in order to clear the FrameSelection in the currently focused node. In its platform-specific
code Chromium already does this (WebPluginContainerImpl.cpp).

  • WebCore.exp.in: Add symbol for FocusController::setFocusedNode
  • plugins/PluginView.cpp: (WebCore::PluginView::focusPluginElement): Using FocusController::setFocusedNode() makes

the call to FocusController:setFocusedFrame() and Document::setFocusedNode()
redundant, since it calls both.

2011-06-23 Robert Hogan <robert@webkit.org>

Reviewed by Simon Hausmann.

[Qt] Windowless Plugins : <input> cursor blinks even after transferring focus to plugin
https://bugs.webkit.org/show_bug.cgi?id=30355

PluginView needs to use page->focusController()->setFocusedNode() when focusing a plugin
in order to clear the FrameSelection in the currently focused node. In its platform-specific
code Chromium already does this (WebPluginContainerImpl.cpp).

  • WebProcess/Plugins/PluginView.cpp: (WebCore::PluginView::focusPluginElement): Using FocusController::setFocusedNode() makes

the call to FocusController:setFocusedFrame() redundant, since the
former calls it.

4:09 AM Changeset in webkit [90337] by abarth@webkit.org
  • 3 edits
    1 move
    1 add in trunk/Tools

2011-07-03 Adam Barth <abarth@webkit.org>

Factor ReflectionHandler out of the rebaseline server. Just code motion.

  • Scripts/webkitpy/tool/commands/rebaselineserver.py:
  • Scripts/webkitpy/tool/servers/rebaselineserver.py:
  • Scripts/webkitpy/tool/servers/reflectionhandler.py: Added.
3:45 AM Changeset in webkit [90336] by abarth@webkit.org
  • 2 edits
    6 moves
    5 adds in trunk/Tools

2011-07-03 Adam Barth <abarth@webkit.org>

Move the rebaseline server out of the commands package and into the
(new) servers package. This patch prepares for refactoring this code
to share server infrastructure with the (forthcoming) garden-o-matic
command.

  • Scripts/webkitpy/tool/commands/rebaselineserver.py:
  • Scripts/webkitpy/tool/servers/init.py: Added.
  • Scripts/webkitpy/tool/servers/data/rebaselineserver/loupe.js:
  • Scripts/webkitpy/tool/servers/data/rebaselineserver/main.css:
  • Scripts/webkitpy/tool/servers/data/rebaselineserver/queue.js:
  • Scripts/webkitpy/tool/servers/rebaselineserver.py: Added.

Jul 2, 2011:

9:02 PM Changeset in webkit [90335] by mihaip@chromium.org
  • 2 edits in trunk/LayoutTests

2011-07-02 Mihai Parparita <mihaip@chromium.org>

Remove failing expectation for fast/events/panScroll-click-hyperlink.html
(Chromium still doesn't pass the test, since it doesn't have pan
scrolling enabled, but r90235 added failing expectations for the Windows
port, which Chromium Win and Linux pick up)

Also remove flaky expectations for some tests that have not failed as
far back as the flakiness dashboard has data for.

  • platform/chromium/test_expectations.txt:
7:26 PM Changeset in webkit [90334] by mjs@apple.com
  • 6 edits in trunk/PerformanceTests/SunSpider

2011-07-02 Maciej Stachowiak <mjs@apple.com>

Update SunSpider versioning to 1.0
https://bugs.webkit.org/show_bug.cgi?id=63870

Reviewed by Dan Bernstein.

  • hosted/sunspider.html:
  • hosted/versions.html:
  • resources/driver-TEMPLATE.html:
  • resources/results-TEMPLATE.html:
  • sunspider:
6:35 PM Changeset in webkit [90333] by mjs@apple.com
  • 3 edits in trunk/PerformanceTests/SunSpider

2011-07-02 Maciej Stachowiak <mjs@apple.com>

Sunspider 0.9.1 harness doesn't actually close() its test documents
https://bugs.webkit.org/show_bug.cgi?id=47045

Reviewed by Daniel Bates.

  • hosted/versions.html:
  • resources/driver-TEMPLATE.html:
6:19 PM Changeset in webkit [90332] by andersca@apple.com
  • 3 edits in trunk/Source/WebKit2

Have another go at fixing the Windows build.

  • WebProcess/Plugins/Netscape/NetscapePlugin.h:
  • WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:

(WebKit::NetscapePlugin::containingWindow):
(WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
(WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):

6:15 PM Changeset in webkit [90331] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

2011-07-02 Anders Carlsson <andersca@apple.com>

Null out the plug-in controller after destroying the plug-in.
https://bugs.webkit.org/show_bug.cgi?id=63869

Reviewed by Maciej Stachowiak.

  • PluginProcess/PluginControllerProxy.cpp: (WebKit::PluginControllerProxy::destroy): Call destroyPlugin.
  • WebProcess/Plugins/Plugin.cpp: (WebKit::Plugin::destroyPlugin): Call destroy and null out the plug-in controller.
  • WebProcess/Plugins/Plugin.h: Add destroyPlugin, make destroy private.
  • WebProcess/Plugins/PluginView.cpp: (WebKit::PluginView::~PluginView): Call destroyPlugin.
5:57 PM Changeset in webkit [90330] by andersca@apple.com
  • 2 edits in trunk/LayoutTests

Update skipped list.

  • platform/wk2/Skipped:
5:51 PM Changeset in webkit [90329] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix Windows build for real.

  • WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:

(WebKit::NetscapePlugin::containingWindow):
(WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
(WebKit::NetscapePlugin::platformPaint):
(WebKit::NetscapePlugin::platformHandleMouseEvent):

4:55 PM Changeset in webkit [90328] by andersca@apple.com
  • 5 edits in trunk/Source/WebKit2

2011-07-02 Anders Carlsson <andersca@apple.com>

Implement NPN_PluginThreadAsyncCall
https://bugs.webkit.org/show_bug.cgi?id=63868

Reviewed by Dan Bernstein.

  • WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp: (WebKit::NPN_PluginThreadAsyncCall): Call NetscapePlugin::pluginThreadAsyncCall.
  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp: (WebKit::NetscapePlugin::pluginThreadAsyncCall): Schedule a work item to call the function on the main run loop.

(WebKit::NetscapePlugin::handlePluginThreadAsyncCall):
If the plug-in is still running, run the function.

  • WebProcess/Plugins/Netscape/NetscapePlugin.h: Add new member function.
  • WebProcess/Plugins/Plugin.h: Make plug-in inherit from ThreadSafeRefCounted since plug-ins can potentially ref the plug-in from other threads.
4:41 PM Changeset in webkit [90327] by andersca@apple.com
  • 2 edits in trunk/Source/WebKit2

Fix Windows build.

  • WebProcess/Plugins/Netscape/win/NetscapePluginWin.cpp:

(WebKit::NetscapePlugin::containingWindow):
(WebKit::NetscapePlugin::scheduleWindowedGeometryUpdate):
(WebKit::NetscapePlugin::platformPaint):
(WebKit::NetscapePlugin::platformHandleMouseEvent):
(WebKit::NetscapePlugin::platformHandleMouseEnterEvent):
(WebKit::NetscapePlugin::platformHandleMouseLeaveEvent):

4:40 PM Changeset in webkit [90326] by andersca@apple.com
  • 8 edits in trunk/Source/WebKit2

2011-07-02 Anders Carlsson <andersca@apple.com>

Move the plug-in controller member variable up to the shared Plugin base class
https://bugs.webkit.org/show_bug.cgi?id=63867

Reviewed by Sam Weinig.

  • WebProcess/Plugins/Netscape/NetscapePlugin.cpp: (WebKit::NetscapePlugin::NetscapePlugin): Remove m_pluginController.

(WebKit::NetscapePlugin::invalidate):
(WebKit::NetscapePlugin::userAgent):
(WebKit::NetscapePlugin::loadURL):
(WebKit::NetscapePlugin::setStatusbarText):
(WebKit::NetscapePlugin::evaluate):
(WebKit::NetscapePlugin::isPrivateBrowsingEnabled):
(WebKit::NetscapePlugin::windowScriptNPObject):
(WebKit::NetscapePlugin::pluginElementNPObject):
(WebKit::NetscapePlugin::tryToShortCircuitInvoke):
(WebKit::NetscapePlugin::cancelStreamLoad):
(WebKit::NetscapePlugin::isAcceleratedCompositingEnabled):
(WebKit::NetscapePlugin::proxiesForURL):
(WebKit::NetscapePlugin::cookiesForURL):
(WebKit::NetscapePlugin::setCookiesForURL):
(WebKit::NetscapePlugin::getAuthenticationInfo):
Use controller() instead of m_pluginController.

(WebKit::NetscapePlugin::initialize):
This doesn't take a PluginController parameter anymore.

(WebKit::NetscapePlugin::destroy):
No need to null out the plug-in controller.

  • WebProcess/Plugins/Netscape/NetscapePlugin.h: Remove m_pluginController member variable.
  • WebProcess/Plugins/Netscape/mac/NetscapePluginMac.mm: (WebKit::NetscapePlugin::compositingRenderServerPort): (WebKit::NetscapePlugin::platformSetFocus): (WebKit::NetscapePlugin::windowFocusChanged): Use controller() instead of m_pluginController.


  • WebProcess/Plugins/Plugin.cpp: (WebKit::Plugin::Plugin): Initialize m_pluginController.

(WebKit::Plugin::initialize):
New function that initializes the plug-in controller and then calls the real
virtual initialize member function.

  • WebProcess/Plugins/Plugin.h: Add m_pluginController member variable and a new initialize virtual member function that doesn't take a PluginController parameter. Make the "old" initialize member function set up the plug-in controller.

(WebKit::Plugin::controller):
This is now a simple getter.

  • WebProcess/Plugins/PluginProxy.cpp: (WebKit::PluginProxy::PluginProxy): Remove m_pluginController.

(WebKit::PluginProxy::pluginProcessCrashed):
Use controller(), remove a bogus null check.

(WebKit::PluginProxy::initialize):
This doesn't take a PluginController parameter now.

(WebKit::PluginProxy::destroy):
No need to null out the plug-in controller member variable.

(WebKit::PluginProxy::loadURL):
(WebKit::PluginProxy::proxiesForURL):
(WebKit::PluginProxy::cookiesForURL):
(WebKit::PluginProxy::setCookiesForURL):
(WebKit::PluginProxy::getAuthenticationInfo):
(WebKit::PluginProxy::windowNPObjectID):
(WebKit::PluginProxy::getPluginElementNPObject):
(WebKit::PluginProxy::evaluate):
(WebKit::PluginProxy::cancelStreamLoad):
(WebKit::PluginProxy::cancelManualStreamLoad):
(WebKit::PluginProxy::setStatusbarText):
(WebKit::PluginProxy::setComplexTextInputEnabled):
(WebKit::PluginProxy::update):
Use controller() instead of m_pluginController.


  • WebProcess/Plugins/PluginProxy.h: Remove m_pluginController.
4:20 PM Changeset in webkit [90325] by mihaip@chromium.org
  • 2 edits in trunk/LayoutTests

2011-07-02 Mihai Parparita <mihaip@chromium.org>

Remove Chromium Leopard failing expectations for two tests (fast/dom/
HTMLMeterElement/meter-writing-mode.html and fast/images/
imagemap-focus-ring-zoom.html) sice they pass now. Fix bug links.

  • platform/chromium/test_expectations.txt:
4:08 PM Changeset in webkit [90324] by barraclough@apple.com
  • 9 edits in trunk/Source/JavaScriptCore

https://bugs.webkit.org/show_bug.cgi?id=63866
DFG JIT - implement instanceof

Reviewed by Sam Weinig.

Add ops CheckHasInstance & InstanceOf to implement bytecodes
op_check_has_instance & op_instanceof. This is an initial
functional implementation, performance is a wash. We can
follow up with changes to fuse the InstanceOf node with
a subsequant branch, as we do with other comparisons.

  • dfg/DFGByteCodeParser.cpp:

(JSC::DFG::ByteCodeParser::parseBlock):

  • dfg/DFGJITCompiler.cpp:

(JSC::DFG::JITCompiler::jitAssertIsCell):

  • dfg/DFGJITCompiler.h:

(JSC::DFG::JITCompiler::jitAssertIsCell):

  • dfg/DFGNode.h:
  • dfg/DFGNonSpeculativeJIT.cpp:

(JSC::DFG::NonSpeculativeJIT::compile):

  • dfg/DFGOperations.cpp:
  • dfg/DFGOperations.h:
  • dfg/DFGSpeculativeJIT.cpp:

(JSC::DFG::SpeculativeJIT::compile):

2:59 PM Changeset in webkit [90323] by mihaip@chromium.org
  • 2 edits in trunk/LayoutTests

2011-07-02 Mihai Parparita <mihaip@chromium.org>

Meant to actually remove expectations in r90322, not just comment them
out.

  • platform/chromium/test_expectations.txt:
2:57 PM Changeset in webkit [90322] by mihaip@chromium.org
  • 2 edits
    8 adds in trunk/LayoutTests

2011-07-02 Mihai Parparita <mihaip@chromium.org>

Add Chromium Mac Snow Leopard baselines for editing/selection/vertical*
since the regular Mac baselines can't be used due to single-pixel
differences in character rendering (presumably caused by 32-bit vs.
64-bit binaries).

  • platform/chromium-mac/editing/selection/vertical-lr-ltr-extend-line-backward-br-expected.png: Added.
  • platform/chromium-mac/editing/selection/vertical-lr-ltr-extend-line-forward-br-expected.png: Added.
  • platform/chromium-mac/editing/selection/vertical-rl-ltr-extend-line-backward-br-expected.png: Added.
  • platform/chromium-mac/editing/selection/vertical-rl-ltr-extend-line-backward-p-expected.png: Added.
  • platform/chromium-mac/editing/selection/vertical-rl-ltr-extend-line-backward-wrap-expected.png: Added.
  • platform/chromium-mac/editing/selection/vertical-rl-ltr-extend-line-forward-br-expected.png: Added.
  • platform/chromium-mac/editing/selection/vertical-rl-ltr-extend-line-forward-p-expected.png: Added.
  • platform/chromium-mac/editing/selection/vertical-rl-ltr-extend-line-forward-wrap-expected.png: Added.
  • platform/chromium/test_expectations.txt:
2:12 PM Changeset in webkit [90321] by mjs@apple.com
  • 2 edits in trunk/PerformanceTests/SunSpider

Not Reviewed.

Fix obviou typo in previous commit.

  • tests/sunspider-1.0/bitops-bitwise-and.js:
2:11 PM Changeset in webkit [90320] by mihaip@chromium.org
  • 2 edits
    2 deletes in trunk/LayoutTests

2011-07-02 Mihai Parparita <mihaip@chromium.org>

Chromium expectations update:

  • Add failing expectation for fast/css/last-of-type-pseudo-class.html, which fails in debug only.
  • Remove Chromium-specific baselines for fast/js/reserved-words.html, the test now passes with the regular baselines.
  • platform/chromium-mac/fast/js/reserved-words-expected.txt: Removed.
  • platform/chromium-win/fast/js/reserved-words-expected.txt: Removed.
  • platform/chromium/test_expectations.txt:
2:09 PM Changeset in webkit [90319] by mjs@apple.com
  • 5 edits in trunk/PerformanceTests/SunSpider

2011-07-02 Maciej Stachowiak <mjs@apple.com>

Reviewed by Anders Carlsson.

SunSpider: all four bitops benchmarks can be replaced with NOP
https://bugs.webkit.org/show_bug.cgi?id=38446

  • tests/sunspider-1.0/bitops-3bit-bits-in-byte.js: (TimeFunc): Save the result.
  • tests/sunspider-1.0/bitops-bits-in-byte.js: (TimeFunc): Save the result.
  • tests/sunspider-1.0/bitops-bitwise-and.js: More explicitly save the results.
  • tests/sunspider-1.0/bitops-nsieve-bits.js: (sieve): Save the result.
1:57 PM Changeset in webkit [90318] by mjs@apple.com
  • 2 edits in trunk/PerformanceTests/SunSpider

2011-07-02 Maciej Stachowiak <mjs@apple.com>

SunSpider: string-validate-input.js uses an undeclared variable named 'name', which is a DOM API
https://bugs.webkit.org/show_bug.cgi?id=60937

Reviewed by Dan Bernstein.

  • tests/sunspider-1.0/string-validate-input.js: (doTest): Rename the variable to username
1:45 PM Changeset in webkit [90317] by mjs@apple.com
  • 2 edits in trunk/PerformanceTests/SunSpider

2011-07-02 Maciej Stachowiak <mjs@apple.com>

Reviewed by Darin Adler.

SunSpider: The main function of math-cordic is dead code
https://bugs.webkit.org/show_bug.cgi?id=63863


Try to prevent math-cordic from being eliminated as dead code or
compiled down to a constant.

  • tests/sunspider-1.0/math-cordic.js: (cordicsincos): (cordic):
10:26 AM Changeset in webkit [90316] by mrowe@apple.com
  • 2 edits in trunk/WebKitLibraries

Update the header file too.

  • WebKitSystemInterface.h:
9:25 AM Changeset in webkit [90315] by mrowe@apple.com
  • 3 edits
    1 add in trunk/WebKitLibraries

Update WebKitSystemInterface binaries.

  • libWebKitSystemInterfaceLeopard.a:
  • libWebKitSystemInterfaceLion.a: Added.
  • libWebKitSystemInterfaceSnowLeopard.a:
3:46 AM Changeset in webkit [90314] by tkent@chromium.org
  • 2 edits
    1 delete in trunk/LayoutTests

[GTK] Update expectation of fast/forms/input-file-re-render.html
https://bugs.webkit.org/show_bug.cgi?id=49245

  • platform/gtk/fast/forms/input-file-re-render-expected.png: Remove a stale image.
  • platform/gtk/fast/forms/input-file-re-render-expected.txt:
Note: See TracTimeline for information about the timeline view.