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

Timeline



Dec 6, 2009:

11:53 PM Changeset in webkit [51754] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2009-12-06 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

Add an API for uploading results files to StatusBot
https://bugs.webkit.org/show_bug.cgi?id=32210

Add Content-Type: plain/text which was forgotten
from the previous commit when I landed with land-patches
instead of land-diff.

  • QueueStatusServer/queue_status.py:
11:45 PM Changeset in webkit [51753] by eric@webkit.org
  • 2 edits in trunk/WebKitTools

2009-12-06 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

Add an API for uploading results files to StatusBot
https://bugs.webkit.org/show_bug.cgi?id=32210

  • Scripts/modules/statusbot.py:
11:42 PM Changeset in webkit [51752] by eric@webkit.org
  • 3 edits in trunk/WebKitTools

2009-12-06 Eric Seidel <eric@webkit.org>

Reviewed by Adam Barth.

Status Server needs a way to handle uploaded results
https://bugs.webkit.org/show_bug.cgi?id=32209

  • QueueStatusServer/queue_status.py: Add a ShowResults (results/*) command
  • QueueStatusServer/update_status.html: Add file upload.
11:06 PM Changeset in webkit [51751] by hamaji@chromium.org
  • 2 edits in trunk/BugsSite

2009-12-06 Shinichiro Hamaji <hamaji@chromium.org>

Unreviewed. Revert r51748.

Bugzilla should show images in git patches
https://bugs.webkit.org/show_bug.cgi?id=31395

  • PrettyPatch/PrettyPatch.rb:
10:42 PM Changeset in webkit [51750] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

2009-12-06 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

[bzt] BuildAttachment should not check the builders
https://bugs.webkit.org/show_bug.cgi?id=32207

This is code that got copied here by accident when the class was created.

  • Scripts/modules/commands/download.py:
10:42 PM Changeset in webkit [51749] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

2009-12-06 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

[bzt] Make LandingSequence.update aware of ports
https://bugs.webkit.org/show_bug.cgi?id=32208

This is required to make build work on the Chromium port because
Chromium has a custom update-webkit.

  • Scripts/modules/landingsequence.py:
10:42 PM Changeset in webkit [51748] by hamaji@chromium.org
  • 2 edits in trunk/BugsSite

2009-12-06 Shinichiro Hamaji <shinichiro.hamaji@gmail.com>

Reviewed by David Kilzer.

Bugzilla should show images in git patches
https://bugs.webkit.org/show_bug.cgi?id=31395

Show images in git patches using git-apply.

  • PrettyPatch/PrettyPatch.rb:
9:20 PM Changeset in webkit [51747] by abarth@webkit.org
  • 4 edits in trunk/WebKitTools

2009-12-06 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Add early warning system commands to bugzilla-tool.

  • Scripts/bugzilla-tool:
  • Scripts/modules/landingsequence.py:
  • Scripts/modules/webkitport.py:
9:11 PM Changeset in webkit [51746] by abarth@webkit.org
  • 2 edits
    1 add in trunk/WebKitTools

2009-12-06 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

[bzt] Implement Qt EarlyWarningSystem and Chromium EarlyWarningSystem
https://bugs.webkit.org/show_bug.cgi?id=32205

  • Scripts/modules/commands/early_warning_system.py: Added.
  • Scripts/modules/commands/queues.py:
7:27 PM Changeset in webkit [51745] by mitz@apple.com
  • 2 edits in trunk/WebKitTools

REGRESSION (r51728): update-webkit fails when the current directory is
not inside a Subversion working copy
https://bugs.webkit.org/show_bug.cgi?id=32204

Reviewed by Adele Peterson.

  • Scripts/update-webkit: Invoke isSVN() in the correct working

directory.

6:45 PM Changeset in webkit [51744] by eric@webkit.org
  • 5 edits in trunk/LayoutTests

2009-12-06 Kent Tamura <tkent@chromium.org>

Reviewed by Darin Adler.

Improve portability and readability of table-percent-height* tests.
https://bugs.webkit.org/show_bug.cgi?id=31858

The purpose of these tests is to confirm that an element with
height:N% inside a table cell has non-zero height. We don't need
to check concrete pixel sizes of form controls.

This updates the tests so that they check heights are non-zero and
75% heights are same as corresponding 100% heights or actually 75%.

  • fast/replaced/table-percent-height-expected.txt:
  • fast/replaced/table-percent-height-text-controls-expected.txt:
  • fast/replaced/table-percent-height-text-controls.html:
  • fast/replaced/table-percent-height.html:
6:19 PM Changeset in webkit [51743] by ukai@chromium.org
  • 6 edits
    8 adds in trunk/LayoutTests

2009-12-06 Fumitoshi Ukai <ukai@chromium.org>

Reviewed by Alexey Proskuryakov.

Add tests for cross-origin WebSocket usage
https://bugs.webkit.org/show_bug.cgi?id=32055

  • websocket/tests/cross-origin-expected.txt: Added.
  • websocket/tests/cross-origin.html: Added.
  • websocket/tests/fixed-origin_wsh.py: Added.
  • websocket/tests/handshake-fail-by-cross-origin-expected.txt: Added.
  • websocket/tests/handshake-fail-by-cross-origin.html: Added.
  • websocket/tests/origin-test_wsh.py: Added.
  • websocket/tests/script-tests/cross-origin.js: Added.
  • websocket/tests/script-tests/frame-length-longer-than-buffer.js:
  • websocket/tests/script-tests/frame-length-skip.js:
  • websocket/tests/script-tests/handshake-error.js:
  • websocket/tests/script-tests/handshake-fail-by-cross-origin.js: Added.
  • websocket/tests/script-tests/simple.js:
  • websocket/tests/simple-expected.txt:
5:09 PM Changeset in webkit [51742] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

2009-12-06 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

[bzt] Rename AbstractTryQueue to AbstractReviewQueue
https://bugs.webkit.org/show_bug.cgi?id=32202

  • Scripts/modules/commands/queues.py:
9:40 AM Changeset in webkit [51741] by eric@webkit.org
  • 3 edits in trunk/WebKit/haiku

2009-12-06 Maxime Simon <Maxime Simon>

Reviewed by Adam Barth.

Build fix. Add in FrameLoaderClientHaiku the declaration of three functions introduced in r51644.

  • WebCoreSupport/FrameLoaderClientHaiku.cpp: (WebCore::FrameLoaderClientHaiku::dispatchDidPushStateWithinPage): (WebCore::FrameLoaderClientHaiku::dispatchDidReplaceStateWithinPage): (WebCore::FrameLoaderClientHaiku::dispatchDidPopStateWithinPage):
  • WebCoreSupport/FrameLoaderClientHaiku.h:
3:37 AM Changeset in webkit [51740] by oliver@apple.com
  • 2 edits in trunk/WebCore

texImage2D pixel junk for transparency
https://bugs.webkit.org/show_bug.cgi?id=32188

Reviewed by Maciej Stachowiak

Use kCGBlendModeCopy when drawing an image to the intermediate context
used to create a GL texture.

No test as we don't currently have any mechanism to retrieve pixel data
from the webgl context.

2:30 AM Changeset in webkit [51739] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

Not reviewed, build fix.

Actually tested 64-bit *and* 32-bit build this time.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_loop_if_false):

2:09 AM Changeset in webkit [51738] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

Not reviewed, build fix.

Really really fix 64-bit build for prior patch (actually tested this time).

  • jit/JITOpcodes.cpp:

(JSC::JIT::emit_op_loop_if_false):
(JSC::JIT::emitSlow_op_loop_if_false):

1:57 AM Changeset in webkit [51737] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

Not reviewed, build fix.

Really fix 64-bit build for prior patch.

  • jit/JITArithmetic.cpp:

(JSC::JIT::emitSlow_op_jless):

1:51 AM Changeset in webkit [51736] by mjs@apple.com
  • 2 edits in trunk/JavaScriptCore

Not reviewed, build fix.

Fix 64-bit build for prior patch.

  • jit/JITOpcodes.cpp:

(JSC::JIT::emitSlow_op_loop_if_less):

1:42 AM Changeset in webkit [51735] by mjs@apple.com
  • 17 edits in trunk

2009-12-05 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.

conway benchmark spends half it's time in op_less (jump fusion fails)
https://bugs.webkit.org/show_bug.cgi?id=32190

<1% speedup on SunSpider and V8
2x speedup on "conway" benchmark


Two optimizations:

1) Improve codegen for logical operators &&,
and ! in a condition context


When generating code for combinations of &&,
and !, in a

condition context (i.e. in an if statement or loop condition), we
used to produce a value, and then separately jump based on its
truthiness. Now we pass the false and true targets in, and let the
logical operators generate jumps directly. This helps in four
ways:

a) Individual clauses of a short-circuit logical operator can now
jump directly to the then or else clause of an if statement (or to
the top or exit of a loop) instead of jumping to a jump.


b) It used to be that jump fusion with the condition of the first
clause of a logical operator was inhibited, because the register
was ref'd to be used later, in the actual condition jump; this no
longer happens since a jump straight to the final target is
generated directly.

c) It used to be that jump fusion with the condition of the second
clause of a logical operator was inhibited, because there was a
jump target right after the second clause and before the actual
condition jump. But now it's no longer necessary for the first
clause to jump there so jump fusion is not blocked.

d) We avoid generating excess mov statements in some cases.


As a concrete example this source:


if (!((x < q && y < q)
(t < q && z < q))) {

...

}


Used to generate this bytecode:


[ 34] less r1, r-15, r-19
[ 38] jfalse r1, 7(->45)
[ 41] less r1, r-16, r-19
[ 45] jtrue r1, 14(->59)
[ 48] less r1, r-17, r-19
[ 52] jfalse r1, 7(->59)
[ 55] less r1, r-18, r-19
[ 59] jtrue r1, 17(->76)


And now generates this bytecode (also taking advantage of the second optimization below):


[ 34] jnless r-15, r-19, 8(->42)
[ 38] jless r-16, r-19, 26(->64)
[ 42] jnless r-17, r-19, 8(->50)
[ 46] jless r-18, r-19, 18(->64)


Note the jump fusion and the fact that there's less jump
indirection - three of the four jumps go straight to the target
clause instead of indirecting through another jump.


2) Implement jless opcode to take advantage of the above, since we'll now often generate
a less followed by a jtrue where fusion is not forbidden.


  • parser/Nodes.h: (JSC::ExpressionNode::hasConditionContextCodegen): Helper function to determine whether a node supports special conditional codegen. Return false as this is the default. (JSC::ExpressionNode::emitBytecodeInConditionContext): Assert not reached - only really defined for nodes that do have conditional codegen. (JSC::UnaryOpNode::expr): Add const version. (JSC::LogicalNotNode::hasConditionContextCodegen): Returne true only if subexpression supports it. (JSC::LogicalOpNode::hasConditionContextCodegen): Return true.
  • parser/Nodes.cpp: (JSC::LogicalNotNode::emitBytecodeInConditionContext): Implemented - just swap the true and false targets for the child node. (JSC::LogicalOpNode::emitBytecodeInConditionContext): Implemented - handle jumps directly, improving codegen quality. Also handles further nested conditional codegen. (JSC::ConditionalNode::emitBytecode): Use condition context codegen when available. (JSC::IfNode::emitBytecode): ditto (JSC::IfElseNode::emitBytecode): ditto (JSC::DoWhileNode::emitBytecode): ditto (JSC::WhileNode::emitBytecode): ditto (JSC::ForNode::emitBytecode): ditto
  • bytecode/Opcode.h:
  • Added loop_if_false opcode - needed now that falsey jumps can be backwards.
  • Added jless opcode to take advantage of new fusion opportunities.
  • bytecode/CodeBlock.cpp: (JSC::CodeBlock::dump): Handle above.
  • bytecompiler/BytecodeGenerator.cpp: (JSC::BytecodeGenerator::emitJumpIfTrue): Add peephole for less + jtrue ==> jless. (JSC::BytecodeGenerator::emitJumpIfFalse): Add handling of backwrds falsey jumps.
  • bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::emitNodeInConditionContext): Wrapper to handle tracking of overly deep expressions etc.
  • interpreter/Interpreter.cpp: (JSC::Interpreter::privateExecute): Implement the two new opcodes (loop_if_false, jless).
  • jit/JIT.cpp: (JSC::JIT::privateCompileMainPass): Implement JIT support for the two new opcodes. (JSC::JIT::privateCompileSlowCases): ditto
  • jit/JIT.h:
  • jit/JITArithmetic.cpp: (JSC::JIT::emit_op_jless): (JSC::JIT::emitSlow_op_jless): ditto (JSC::JIT::emitBinaryDoubleOp): ditto
  • jit/JITOpcodes.cpp: (JSC::JIT::emitSlow_op_loop_if_less): ditto (JSC::JIT::emit_op_loop_if_false): ditto (JSC::JIT::emitSlow_op_loop_if_false): ditto
  • jit/JITStubs.cpp:
  • jit/JITStubs.h: (JSC::):

2009-12-05 Maciej Stachowiak <mjs@apple.com>

Reviewed by Oliver Hunt.

conway benchmark spends half it's time in op_less (jump fusion fails)
https://bugs.webkit.org/show_bug.cgi?id=32190

  • fast/js/codegen-loops-logical-nodes-expected.txt:
  • fast/js/script-tests/codegen-loops-logical-nodes.js: Update to test some newly sensitive cases of codegen that were not already covered.

Dec 5, 2009:

5:50 PM Changeset in webkit [51734] by kov@webkit.org
  • 11 edits in trunk

WebCore

2009-12-03 Philippe Normand <pnormand@igalia.com>

Reviewed by Gustavo Noronha.

Advertize audio/ogg correctly and refactored mime-type cache
building.

[GTK] Recognize oga as audio/ogg
https://bugs.webkit.org/show_bug.cgi?id=31990

Test: media/media-can-play-ogg.html

  • platform/graphics/gtk/MediaPlayerPrivateGStreamer.cpp: (WebCore::mimeTypeCache):

LayoutTests

2009-12-05 Philippe Normand <pnormand@igalia.com>

Reviewed by Gustavo Noronha.

New test for video.canPlayType and ogg containers.

[GTK] Recognize oga as audio/ogg
https://bugs.webkit.org/show_bug.cgi?id=31990

  • media/media-can-play-ogg-expected.txt: Added.
  • media/media-can-play-ogg.html: Added.
  • platform/mac-leopard/Skipped:
  • platform/mac-snowleopard/Skipped:
  • platform/mac-tiger/Skipped:
  • platform/mac/Skipped:
  • platform/qt-mac/Skipped:
  • platform/qt-win/Skipped:
  • platform/qt/Skipped:
  • platform/win/Skipped:
4:30 PM Changeset in webkit [51733] by eric@webkit.org
  • 7 edits
    1 add in trunk/WebKitSite

2009-12-05 Chris Jerdonek <chris.jerdonek@gmail.com>

Reviewed by Darin Adler.

Refactored web site documentation so that advice to add
WebKitTools/Scripts to your shell path does not appear
on multiple pages.

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

  • building/build.html:
  • building/checkout.html:
  • building/run.html:
  • coding/coding-style.html:
  • coding/contributing.html:
  • coding/scripts.html: Added.
  • quality/testing.html:
3:59 PM Changeset in webkit [51732] by ap@apple.com
  • 2 edits in trunk/WebCore

Reviewed by Eric Seidel.

https://bugs.webkit.org/show_bug.cgi?id=32175
REGRESSION: websocket/tests/url-parsing.html is crashing on Leopard Bot

  • platform/network/cf/SocketStreamHandleCFNet.cpp: (WebCore::SocketStreamHandle::readStreamCallback): Call platformClose() to unschedule both streams, guaranteeing that there will be no callbacks after SocketStreamHandle is destroyed. (WebCore::SocketStreamHandle::writeStreamCallback): Edited a comment a bit.
3:44 PM Changeset in webkit [51731] by mitz@apple.com
  • 1 edit
    1 move in trunk/LayoutTests

Rubber-stamped by Mark Rowe.

Disabled a test because it puts the WebView into compositing mode,
which remains in effect for all subsequent repaint tests, causing them
to fail because DumpRenderTree always forces a full repaint when
generating the image of a WebView that is in compositing mode.

  • fast/repaint/block-selection-gap-in-composited-layer.html: Removed.
  • fast/repaint/block-selection-gap-in-composited-layer.html.disabled: Copied from LayoutTests/fast/repaint/block-selection-gap-in-composited-layer.html.
1:55 PM Changeset in webkit [51730] by abarth@webkit.org
  • 3 edits in trunk/WebKitTools

2009-12-05 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

[bzt] Implement ChromiumPort
https://bugs.webkit.org/show_bug.cgi?id=32182

  • Scripts/modules/webkitport.py:
  • Scripts/modules/webkitport_unittest.py:
1:54 PM Changeset in webkit [51729] by abarth@webkit.org
  • 6 edits in trunk/WebKitTools

2009-12-05 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

Move update-webkit into BuildSteps
https://bugs.webkit.org/show_bug.cgi?id=32181

We need to move update-webkit out of SCM.py because SCM isn't supposed to know
that WebKit exists. The proper place for the knowledge of the existence of
update-webkit is in WebKitPort because some ports have specialized update
scripts (analogous to build-webkit).

  • Scripts/modules/buildsteps.py:
  • Scripts/modules/commands/download.py:
  • Scripts/modules/landingsequence.py:
  • Scripts/modules/scm.py:
  • Scripts/modules/webkitport.py:
1:54 PM Changeset in webkit [51728] by abarth@webkit.org
  • 2 edits in trunk/WebKitTools

2009-12-05 Adam Barth <abarth@webkit.org>

Reviewed by Eric Seidel.

update-webkit should call git svn rebase and resolve-ChangeLogs -f
https://bugs.webkit.org/show_bug.cgi?id=27162

Teach update-webkit about Git. I didn't add the call to
resolve-ChangeLogs -f because sometimes that script goes bananas. We
can iterate from here, however.

  • Scripts/update-webkit:
9:50 AM Changeset in webkit [51727] by abarth@webkit.org
  • 3 edits
    2 adds in trunk

2009-12-05 Adam Langley <agl@google.com>

Reviewed by Adam Barth.

Check that a CSS format() argument is of a valid type.

https://bugs.webkit.org/show_bug.cgi?id=31815
http://code.google.com/p/chromium/issues/detail?id=28582

  • fast/css/url-format-non-string-expected.txt: Added
  • fast/css/url-format-non-string.html: Added.

2009-12-05 Adam Langley <agl@google.com>

Reviewed by Adam Barth.

Check that a CSS format() argument is of a valid type.

https://bugs.webkit.org/show_bug.cgi?id=31815
http://code.google.com/p/chromium/issues/detail?id=28582

Test: fast/css/url-format-non-string.html

  • css/CSSParser.cpp: (WebCore::CSSParser::parseFontFaceSrc):
8:56 AM Changeset in webkit [51726] by kov@webkit.org
  • 2 edits in trunk/WebKit/gtk

Reviewed by Xan Lopez.

Use a better URI for the unreachable test. localhost:80 is very
likely to be open.

  • tests/testwebdatasource.c:

(load_finished_unreachable_cb):
(test_webkit_web_data_source_unreachable_uri):

7:35 AM Changeset in webkit [51725] by kov@webkit.org
  • 2 edits in trunk

2009-12-05 Vincent Untz <vuntz@gnome.org>

Reviewed by Gustavo Noronha.

Fixes race for builds with introspection enabled, and parallel
make.

  • GNUmakefile.am:
Note: See TracTimeline for information about the timeline view.