Monday, January 31, 2011

Week 04 updates on QtWebKit stable branches (v2.1 and v2.1.x)

QtWebKit 2.1 is quite stable and no more changes are planned. It'll probably be released next week or so. The work is now focused on QtWebKit-2.1.x, which will have HTML5 multimedia features.

As mentioned in the previous post, the qtwebkit-2.2 branch has been removed. Please use the new qtwebkit-2.1.x branch.


Release notes for qtwebkit-2.1.x-week04
Changes since last week, when the 2.2 branch was renamed.
9 bugs, 10 commits

Bugs fixed / Tasks done:
  • #35427: [Qt] Missing default controls for media element when loaded as stand alone document
  • #45613: [Qt] Fix http/tests/navigation/reload-subframe-object.html
  • #45643: [Qt] Don't add empty strings to list of supported image MIME types
  • #48134: Keyboard events generated using event.initKeyboardEvent() are different from the real key press
  • #48446: Wrong parameter when getting MIME type from extension
  • #51543: [Qt] Add fullscreen media control button for html video
  • #52057: setContentEditable with invalid string should throw exception
  • #52059: setContentEditable should be case insensitive
  • #52822: [Qt] Clean up the Media Controls CSS for Qt
Commits added or cherry-picked:
  • 053ac13: Set QtWebKit version to 4.8.1
  • 1f0a7be: [Qt] Fix http/tests/navigation/reload-subframe-object.html
  • 495f6f1: [Qt] Don't add empty strings to list of supported image MIME types
  • 5454ae3: 2010-10-27 Crystal Zhang <haizhang@rim.com>
  • 56db691: setContentEditable with invalid string should throw exception.
  • 7174385: Fix layout tests related to setContentEditable
  • 8a14b20: Should use eventSender for simulating keyboard events instead of using js
  • 1835fc6: [Qt] Fix missing default controls for stand-alone media elements
  • 7623b93: Clean up the Media Controls CSS for Qt
  • 138dcb6: [Qt] Add fullscreen media control button for html video

Monday, January 24, 2011

Week 03 updates on QtWebKit stable branches (v2.1 and v2.2)

Firt of all, there are some news regarding QtWebKit-2.2: it'll be an update to the QtWebKit-2.1 series, thus it'll be renamed to QtWebKit-2.1.x. Assuming no intermediary releases are made (e.g.: security updates), it'll probably be released as the 2.1.1 version.

Since the change was announced just today, this weekly tag will still be named qtwebkit-2.2-weekXX and the branch will stay as qtwebkit-2.2, but by the end of this week the qtwebkit-2.2 branch will be renamed to "qtwebkit-2.1.x". Once 2.1.0 is released the branch will be incorporated into the current qtwebkit-2.1 branch.

The tags will also change to include the minor version, thus being named 2.1.0-[...] and 2.1.x-[...].

QtWebKit-2.1.0
Changes from qtwebkit-2.1-week02 to qtwebkit-2.1-week03:
1 commit

Bugs fixed / Tasks done:
  • None
Commits added or cherry-picked:
  • b22b52c: Add a Tools --> WebKitTools symlink

QtWebKit-2.2 (will be renamed to qtwebkit-2.1.x)
Release Notes for qtwebkit-2.2-week03 - Changes since qtwebkit-2.2-week02
23 bugs, 33 commits

The bulk of the HTML5 video work has been cherry-picked or backported from trunk during this week, so there's an unusual number of bugs and commits included in this release:

Bugs fixed / Tasks done:
  • #36663: Rename QTKit based media engine class name
  • #37591: HTML5 "video" tag with poster frame defined "flashes" right before movie displays
  • #42087: Don’t handle empty URL attributes specially in reflection, even in cases such as <img src="">
  • #42897: Inserting a <source> element should immediately set networkState to NETWORK_NO_SOURCE.
  • #43702: <video> element does not resize correctly
  • #43923: HTMLMediaElement::prepareForLoad should cancel current plug-in proxy media player
  • #44013: HTMLMediaElement should delay document load event
  • #44343: Media element canPlayType("application/octet-stream") not handled correctly
  • #44370: Media engine should not be asked to open all urls
  • #44577: HTMLMediaElement.canPlayType must be case insensitive for MIME type.
  • #44743: Crash reloading fast/events/tabindex-focus-blur-all.html test
  • #44985: canPlayType("application/octet-stream") must return ""
  • #45263: Add mediaPlayerPlaybackStateChanged to MediaPlayerClient
  • #45264: Implement MediaPlayerPrivate::platformMedia() for the Qt port
  • #45306: Media elements should derive from ActiveDOMObjects
  • #45694: 'seeking' event should always fire
  • #46777: CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent
  • #47073: REGRESSION (r68774): It made fast/events/tabindex-focus-blur-all.html crash
  • #50419: [Qt] QWebPage sends out a RequestSoftwareInputPanel event incorrectly in particular case
  • #51249: [Qt] Extend the Platform Plugin to support full screen video handler
  • #51957: Provide test cases for testing contentEditable DOM attribute
  • #52056: contentEditable attribute should be "inherit" if missing
  • #52906: [Qt] fast/backgrounds/svg-as-mask.html fails
Commits added or cherry-picked:
  • b22b52c: Add a Tools --> WebKitTools symlink
  • 6cc7b07: Don't handle empty URL attributes specially in reflection, even in cases such as <img src="">
  • 787fad8: HTML5 "video" tag with poster frame defined "flashes" right before movie displays
  • 68a63b1: 2010-08-09 Eric Carlson <eric.carlson@apple.com>
  • 1cc3120: Inserting a <source> element should immediately set networkState to NETWORK_NO_SOURCE.
  • 6a0dc57: HTMLMediaElement::prepareForLoad should cancel current plug-in proxy media player
  • 59e84a0: [Qt] Pre-roll media when loading media elements
  • e57b468: [Qt] Add media element support for preload=none
  • ad95a28: Restore intrinsic size of video elements after loading poster
  • f8fc17d: Media element canPlayType("application/octet-stream") not handled correctly
  • 0386972: Media engine should not be asked to open all urls
  • c7a1663: HTMLMediaElement.canPlayType must be case insensitive for MIME type.
  • 4733735: 2010-08-26 Eric Carlson <eric.carlson@apple.com>
  • 7f9cf48: Crash reloading fast/events/tabindex-focus-blur-all.html test
  • 92301c0: canPlayType("application/octet-stream") must return ""
  • e5e1392: Media elements should derive from ActiveDOMObjects
  • c8a799f: Implement MediaPlayerPrivate::platformMedia() for the Qt port
  • b9014dd: Add mediaPlayerPlaybackStateChanged to MediaPlayerClient
  • d7a0127: 'seeking' event should always fire
  • 600bc9b: [Qt] Rename MediaPlayerPrivate to MediaPlayerPrivateQt/Phonon
  • 3ceb8b3: [Qt] Rename member variable in MediaPlayerPrivateQt
  • 9211999: CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent
  • 10ee6dd: Minor cleanup of MediaPlayerPrivateQt
  • 156a8bb: [Qt] Ensure that the media player backend does not leave any resources around
  • 67e978d: [Qt] Ensure we always report a valid size for the video
  • 4b4d061: [Qt] Disconnect signals before destroying MediaPlayerPrivateQt
  • 6ac72a2: [Qt] Extend the Platform Plugin to support full screen video handler
  • 1dc9233: [Qt] fast/backgrounds/svg-as-mask.html fails
  • 3a5ef1b: CRASH at WebCore::HTMLSourceElement::scheduleErrorEvent
  • 13c4ed2: Added test contents for contentEditable DOM attribute.
  • 402b427: 2011-01-19 Chang Shu <chang.shu@nokia.com>
  • c7d6b63: [Qt] QWebPage sends out a RequestSoftwareInputPanel event

Tuesday, January 18, 2011

Week 02 updates on QtWebKit stable branches (v2.1 and v2.2)

QtWebKit-2.1 is in release candidate state and had two commits since last week, to remove an unwanted feature which was still there: TransformAction event (the implementation is non-standard and since it's not required at the moment, we better not publish it).

QtWebKit-2.2 is following its course, with a standard bunch of commits added and several more expected in the coming weeks.

Detailed status below:

QtWebKit-2.1
Changes from qtwebkit-2.1-week01 to qtwebkit-2.1-week02:
2 commits

Bugs fixed / Tasks done:
  • None \o/
Commits added or cherry-picked:
  • 28a3ff1: Remove TransformActionEvent support (1/2)
  • 6248c65: Remove TransformActionEvent support (2/2) 


QtWebKit-2.2
Changes from qtwebkit-2.2-week01 to qtwebkit-2.2-week02:
5 bugs, 9 commits

Bugs fixed / Tasks done:
  • #30179: [Qt] Need a way to inform the application when a Netscape plugin is created or deleted.
  • #51879: [Symbian] Adobe flash Lite plugin on Symbian needs null window quirk
  • #52213: [Qt] Need to provide plugin coordinates to windowless plugins on symbian
  • #52252: [Qt] Use a black background color for the video element on Qt Mobile
  • #52315: [Qt] Use a big central media play control button for video element
Commits added or cherry-picked:
  • a32c088: 2011-01-10 Leonid Ebril <leonid.ebril@nokia.com>
  • f3f39d4: [Qt] Provide plugin coordinates to windowless plugins on Symbian.
  • 28a3ff1: Remove TransformActionEvent support (1/2)
  • 6248c65: Remove TransformActionEvent support (2/2)
  • b92afdd: [Qt] Use a black background color for the video element on Qt Mobile
  • ff08dd9: [Qt] Use a big central media play control button for video element
  • e94a2d3: [Qt] Need a way to inform the application when a Netscape plugin is created.
  • 415a230: [Qt] Fix build problem introduced by http://trac.webkit.org/changeset/75713

Monday, January 10, 2011

Updates on QtWebKit stable branches (v2.1 and v2.2)

QtWebKit-2.1 is basically in RC state, without any pending critical bugs for the moment.

QtWebKit-2.2 is under stabilization, with a relativelly long list of release-critical bugs still to be fixed.

Below the reports from the previous week. Please note that qtwebkit-2.1 is contantly merged into qtwebkit-2.2, so some bugs/commits appear on both lists:


QtWebKit-2.1
Changes from qtwebkit-2.1-week51/52 to qtwebkit-2.1-week01:
1 bugs, 2 commits

Bugs fixed / Tasks done:
  • #51464: [Qt] document.getElementById(...) doesn't return the right object in combination with QGraphicsWidget
Commits added or cherry-picked:
  • 56678c1: [Qt] document.getElementById(...) doesn't return the right object in combination with QGraphicsWidget
  • 14f4ce2: Update .def file for symbian winscw

QtWebKit-2.2
Changes from qtwebkit-2.2-week52 to qtwebkit-2.2-week01:
3 bugs, 6 commits

Bugs fixed / Tasks done:
  • #42968: Browser is failing 16 baseline test from Selector API Test Suite
  • #51133: Provide an interface to force using fullscreen mediaplayer
  • #51464: [Qt] document.getElementById(...) doesn't return the right object in combination with QGraphicsWidget
Commits added or cherry-picked:
  • 6f4a70e: Provide an interface to require using fullscreen mediaplayer
  • 26e1be3: Provide an interface to require using fullscreen mediaplayer
  • 8c22a83: Browser is failing 16 baseline test from Selector API Test Suite
  • 56678c1: [Qt] document.getElementById(...) doesn't return the right object in combination with QGraphicsWidget
  • 14f4ce2: Update .def file for symbian winscw

Tuesday, January 4, 2011

WebKit repositories

Here's a cheat sheet for all the WebKit repositories.

SVN: http://svn.webkit.org/repository/webkit. This is always the latest and greatest WebKit code since SVN is the version control used for WebKit code. To checkout trunk, you would do 'svn co http://svn.webkit.org/repository/webkit/trunk'.

Git mirror at webkit.org: git://git.webkit.org/WebKit.git. This git repository is a mirror of the svn repository. If you work with the Qt/WebKit port, you should _not_ choose this (for reasons explained below).

Git mirror at Gitorious.org: git@gitorious.org:webkit/webkit.git. This git repository is a mirror of the svn repository. The difference is that the author/committer names in the commits are "cleaned" up. For example, in the webkit.org's repo it might say 'girish@forwardbias.in@268f45cc-cd09-0410-ab3c-d52691b4dbfc'. In gitorious' repo, this is cleaned up as 'girish@forwardbias.in. As a result of this cleanup, the repository sha1's of gitorious and webkit.org _don't_ match. This mirror is run by Tor Arne. If it is not up to date for some reason, you now know whom to poke.

qtwebkit at gitorious.org: git://gitorious.org/+qtwebkit-developers/webkit/qtwebkit.git. This is the QtWebKit repository. The releases are essentially branches created from the gitorious.org mirror with patches/hot fixes applied. These patches may not have yet landed upstream. And the commits might be in a different order. Since, qtwebkit is branch off gitorious.org, QtWebKit developers would find working with the gitorious.org easier. If you fetch gitorious.org mirror often, you will have lesser objects to fetch to keep qtwebkit uptodate (as opposed to webkit.org git mirror which has nothing in common with qtwebkit).

My usual git-svn workflow:
git fetch webkit-gitorious (get git-svn commits)
git update-ref refs/remotes/trunk webkit-gitorious/master (change the trunk)
git svn rebase (makes git-svn update the svn<->sha1 mapping)