Re: [webkit-dev] HbbTV support within Webkit

2012-10-10 Thread Mark Toller
Hi,

HbbTV and OIPF specifications are available to download from the HbbTV and
OIPF sites:

http://www.hbbtv.org/pages/about_hbbtv/specification.php
http://www.oipf.tv/specifications

The closed standard is the CE-HTML standard, which is referenced by OIPF.
The portions of CE-HTML used by HbbTV and OIPF are essentially a profile of
W3C standards and the AV Control plugin.

We're currently looking at our changes to identify areas that can be
delivered back which can provide benefit to Webkit without causing any
additional maintenance overhead. 

What we would like to see initially is Webkit based browsers (Chrome,
Safari, Minibrowser, etc) actually load HbbTV pages instead of asking the
user to download the content - this would indirectly benefit the end goal of
Webkit (to get everyone to support standard W3C/HTML5)... As you can
imagine, most application authors are web developers, and do not necessarily
have experience with HbbTV, OIPF or CE-HTML, so they use the standard
W3C/HTML5/XHTML constructs they are familiar with, except for the TV
specific API's or plugins. More often than not, they'll write their
application so that it can also run on a PC browser, because they have far
better debugging facilities than TVs! However, as soon as the application is
signalled correctly with an HbbTV or CE-HTML mime type, most browsers then
just ask to download the page. Also, many test with a browser in 'HTML'
mode, and not the stricter 'XHTML' mode.

Regards,

Mark.

-Original Message-
From: aba...@gmail.com [mailto:aba...@gmail.com] On Behalf Of Adam Barth
Sent: 08 October 2012 19:36
To: Mark Toller
Cc: webkit-dev@lists.webkit.org
Subject: Re: [webkit-dev] HbbTV support within Webkit

From your message, it sounds like HbbTV is still not an open standard.
 I'm skeptical that we should support closed standards in WebKit.

Adam


On Mon, Oct 8, 2012 at 7:11 AM, Mark Toller mark.tol...@samsung.com wrote:
 Hi,



 I'd like to ask the Webkit developers their opinion on providing some
 support for HbbTV [1] within Webkit. Hybrid Broadcast Broadband TV or
 HbbTV, is a major new pan-European initiative aimed at harmonising the
 broadcast and broadband delivery of entertainment to the end consumer
 through connected TVs and set-top boxes.  The HbbTV standard is proving to
 be very popular, TVs and STBs supporting HbbTV are shipping in huge
numbers
 throughout Europe.  HbbTV is built on top of OIPF [2], which in turn is
 based on portions of CE-HTML [3].



 Our lab, Samsung Electronics Research Institute (SERI), has been heavily
 involved in HbbTV and our current solution is based on Webkit. We would
like
 to provide our changes back to the community.



 I know that support requests for CE-HTML have been briefly touched upon in
 the past. As I understand it, the main objection to providing support
within
 WebKit is that the CE-HTML specification is not freely available, and thus
 restricts the number of developers who can fully understand it and
therefore
 provide fixes / support.



 In reality, much of the CE-HTML specification simply profiles which parts
of
 the W3C standard behaviour are mandatory, optional and/or recommended.
OIPF
 then profiles CE-HTML (dropping some requirements, extending others to
match
 W3C/HTML5), HbbTV profiles out even more of CE-HTML.



 Other parts of OIPF and CE-HTML do not need to be implemented within
Webkit
 itself. Some can be implemented as object plugins (e.g. AV Control and
local
 video), while others, such as the JavaScript classes required, can be
 inserted into the JavaScriptCore at runtime.



 What I propose is to provide the basic support required within Webkit in
 order to at least load the XHTML portions of HbbTV applications and
provide
 the correct key handling to drive them. In order to provide 'full' HbbTV
 support, implementations would need to provide the plugins and additional
 JavaScript classes to complete the picture.



 For instance, by simply adding support for the document mime type handling
 of application/vnd.hbbtv.xhtml+xml and application/ce-html+xml, many HbbTV
 applications will load and display the main page, and several will also
 correctly navigate around the application correctly.



 Regards,



 Mark.



 [1] Hybrid Broadcast Broadband TV - http://www.hbbtv.org/

 [2] Open IPTV Forum - http://www.oipf.tv/

 [3] CEA, CEA-2014-A, Web-based Protocol Framework for Remote User
Interface
 on UPnP Networks and the Internet (Web4CE)






 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo/webkit-dev


___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] HbbTV support within Webkit

2012-10-10 Thread Kenneth Rohde Christiansen
Hi,

I still don't get it. CE-HTML is a closed standard and not something
we ever want in WebKit as we are pushing HTML5/Living Standard.

I understand that you need some execution and security model, but
apart from that I don't see why you don't aim at supporting HTML5
instead of some custom dialect that is moving in another direction
that they rest of the industry. Even with the System Applications
working group [1], which Samsung is co-chairing, the execution and
security model will get solved with proper participation.

Also the need for using XHTML isn't that big anymore, now that HTML5
defines how to actually parse the document.

Cheers
Kenneth

[1] http://www.w3.org/2012/05/sysapps-wg-charter.html



On Wed, Oct 10, 2012 at 9:26 AM, Mark Toller mark.tol...@samsung.com wrote:
 Hi,

 HbbTV and OIPF specifications are available to download from the HbbTV and
 OIPF sites:

 http://www.hbbtv.org/pages/about_hbbtv/specification.php
 http://www.oipf.tv/specifications

 The closed standard is the CE-HTML standard, which is referenced by OIPF.
 The portions of CE-HTML used by HbbTV and OIPF are essentially a profile of
 W3C standards and the AV Control plugin.

 We're currently looking at our changes to identify areas that can be
 delivered back which can provide benefit to Webkit without causing any
 additional maintenance overhead.

 What we would like to see initially is Webkit based browsers (Chrome,
 Safari, Minibrowser, etc) actually load HbbTV pages instead of asking the
 user to download the content - this would indirectly benefit the end goal of
 Webkit (to get everyone to support standard W3C/HTML5)... As you can
 imagine, most application authors are web developers, and do not necessarily
 have experience with HbbTV, OIPF or CE-HTML, so they use the standard
 W3C/HTML5/XHTML constructs they are familiar with, except for the TV
 specific API's or plugins. More often than not, they'll write their
 application so that it can also run on a PC browser, because they have far
 better debugging facilities than TVs! However, as soon as the application is
 signalled correctly with an HbbTV or CE-HTML mime type, most browsers then
 just ask to download the page. Also, many test with a browser in 'HTML'
 mode, and not the stricter 'XHTML' mode.

 Regards,

 Mark.

 -Original Message-
 From: aba...@gmail.com [mailto:aba...@gmail.com] On Behalf Of Adam Barth
 Sent: 08 October 2012 19:36
 To: Mark Toller
 Cc: webkit-dev@lists.webkit.org
 Subject: Re: [webkit-dev] HbbTV support within Webkit

 From your message, it sounds like HbbTV is still not an open standard.
  I'm skeptical that we should support closed standards in WebKit.

 Adam


 On Mon, Oct 8, 2012 at 7:11 AM, Mark Toller mark.tol...@samsung.com wrote:
 Hi,



 I'd like to ask the Webkit developers their opinion on providing some
 support for HbbTV [1] within Webkit. Hybrid Broadcast Broadband TV or
 HbbTV, is a major new pan-European initiative aimed at harmonising the
 broadcast and broadband delivery of entertainment to the end consumer
 through connected TVs and set-top boxes.  The HbbTV standard is proving to
 be very popular, TVs and STBs supporting HbbTV are shipping in huge
 numbers
 throughout Europe.  HbbTV is built on top of OIPF [2], which in turn is
 based on portions of CE-HTML [3].



 Our lab, Samsung Electronics Research Institute (SERI), has been heavily
 involved in HbbTV and our current solution is based on Webkit. We would
 like
 to provide our changes back to the community.



 I know that support requests for CE-HTML have been briefly touched upon in
 the past. As I understand it, the main objection to providing support
 within
 WebKit is that the CE-HTML specification is not freely available, and thus
 restricts the number of developers who can fully understand it and
 therefore
 provide fixes / support.



 In reality, much of the CE-HTML specification simply profiles which parts
 of
 the W3C standard behaviour are mandatory, optional and/or recommended.
 OIPF
 then profiles CE-HTML (dropping some requirements, extending others to
 match
 W3C/HTML5), HbbTV profiles out even more of CE-HTML.



 Other parts of OIPF and CE-HTML do not need to be implemented within
 Webkit
 itself. Some can be implemented as object plugins (e.g. AV Control and
 local
 video), while others, such as the JavaScript classes required, can be
 inserted into the JavaScriptCore at runtime.



 What I propose is to provide the basic support required within Webkit in
 order to at least load the XHTML portions of HbbTV applications and
 provide
 the correct key handling to drive them. In order to provide 'full' HbbTV
 support, implementations would need to provide the plugins and additional
 JavaScript classes to complete the picture.



 For instance, by simply adding support for the document mime type handling
 of application/vnd.hbbtv.xhtml+xml and application/ce-html+xml, many HbbTV
 applications will load and display the main page, and several 

Re: [webkit-dev] HbbTV support within Webkit

2012-10-10 Thread Glenn Adams
On Wed, Oct 10, 2012 at 3:50 PM, Kenneth Rohde Christiansen 
kenneth.christian...@gmail.com wrote:

 Hi,

 I still don't get it. CE-HTML is a closed standard and not something
 we ever want in WebKit as we are pushing HTML5/Living Standard.


Just to provide some additional input. CE-HMTL, more formally known as
CEA-2014, is *not* a closed standard. It is available to anyone who wishes
to pay CEA for a copy. In that respect, it is no different from ISO/ITU
standards that sometimes cost money to obtain a copy.



 I understand that you need some execution and security model, but
 apart from that I don't see why you don't aim at supporting HTML5
 instead of some custom dialect that is moving in another direction
 that they rest of the industry. Even with the System Applications
 working group [1], which Samsung is co-chairing, the execution and
 security model will get solved with proper participation.

 Also the need for using XHTML isn't that big anymore, now that HTML5
 defines how to actually parse the document.


Rather than delving deeper into this proposal, I would suggest the original
commenter should make some very specific technical proposals (accompanied
by actual patches) that may satisfy his requirements, instead of simply
propose support for the higher level notion of this profile. The merit of
such individual technical proposals (patches) can be evaluated on a case by
case basis, as is the case with other features proposed for addition to WK.

Regards, Glenn
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


[webkit-dev] x32 support of JavaScriptCore

2012-10-10 Thread Xian, Yuqiang
Hi,

As you may already know there's a new x32 ABI - a 32-bit psABI for x86-64 with 
32-bit pointer size. It tries to leverage the advantage of more registers and 
IP relative addressing from x64 and the advantage of smaller memory footprint 
from IA32. You can find more details of the x32 ABI here: 
https://sites.google.com/site/x32abi/.

The Linux kernel supports x32 since 3.4, and the commonly used development 
tools and libraries are getting in the x32 support. Also more details about 
current status is available in the above link.

Now back to WebKit. In theory most part of the WebKit code should be fine (or 
require less efforts) to support x32, if they're pure C++ code and can be 
compiled with the x32 toolchain. The major challenge is the JIT compiler in the 
JavaScript engine (and the low level interpreter) and some hand-written 
assembly code. So I'm currently working on enabling the x32 support of 
JavaScriptCore, the WebKit JavaScript engine, to try to remove the major 
obstacle. My current status is that I have enabled the baseline JIT, the DFG 
JIT and the Yarr JIT on x32 - it passes all the JavaScriptCore tests and the 3 
major benchmarks.

I'm posting this message in order to seek for some advices on how we should 
have our work shared to more people. I understand that it's not very 
appropriate to try to get it into current WebKit trunk considering current x32 
support status in major systems and the lack of maintenance in upstream, but we 
want to keep it synchronized with the newest changes of the WebKit code. So is 
it possible for us to maintain the code in a separate branch hosted at the 
WebKit server?

Any suggestions are appreciated.

Thanks, -Yuqiang
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Discussing bug 98539 - Refactor resource loading to allow for out-of-process loading and memory caching

2012-10-10 Thread Adam Barth
On Wed, Oct 10, 2012 at 12:04 AM, Maciej Stachowiak m...@apple.com wrote:
 On Oct 9, 2012, at 1:50 PM, Adam Barth aba...@webkit.org wrote:
 That raises the question of what the cache-size to hit-rate curve
 looks like.  I don't think that's something we've ever measured for
 the MemoryCache, but it would be interesting to know, for example,
 whether increasing the cache size by 4% increases the cache hit rate
 by more or less than 4%.

 My guess is that frequency of hits on given cache items approximately follows 
 a power law distribution, and therefore increasing cache size gives 
 diminishing returns. The question you raise is ceratainly an interesting one 
 to study to determine the optimum cache size, and to revisit when 
 improvements are made to cache efficiency.

 But with respect to the proposed improvement under discussion:

 If you imagine this as a curve with hit rate on the Y axis and cache size 
 required to achieve that hit rate on the X axis, then the potential 
 improvement under discussion would shift the curve down (assuming the 4% 
 redundancy level holds across the typical user's working set). In economic 
 terms, you can think of this as shifting the supply curve down (more hit rate 
 can be supplied at any given cost in memory), rather than movement along the 
 supply curve. Which is pretty good for you regardless of your demand curve 
 (your willingness to pay memory use for cache hit rate).

Yes, but depending on the slope of the curve, you can be introducing
all this complexity for, e.g., a 1% increase in the cache hit rate.

Adam
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Transformations precision: double - float

2012-10-10 Thread Gabor Rapcsanyi

Hello!

That was a long time ago and there were no objections so I made a bug 
for the further discussions and patches:

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

Regards,
  Gabor


What CPU executes single precision floating point values at the same speed as 
double precision?

Here's a benchmark from NASA giving a comparison of single vs. double precision 
performance for one of their simulations. 
https://modelingguru.nasa.gov/docs/DOC-1664.

Single precision maps better to GPU backends, and CPU's SIMD computations than 
double. Unless there's something in the spec requiring double precision it 
makes sense to move away from double precision throughout WebKit.

It's fairly trivial to make SIMD types that can have CPU architecture specific 
implementations. As an example of how to do this in the wild there's the Sony 
vectormath library that's present in the Bullet Physics Library.
http://bullet.svn.sourceforge.net/viewvc/bullet/trunk/Extras/vectormathlibrary/include/vectormath/.

As Kui noted the TransformationMatrix is a hotspot that could be helped by 
SIMD. Making the solution generic enough to target multiple architectures using 
SIMD should help the performance on all the platforms.

Don

-Original Message-
From: webkit-dev-boun...@lists.webkit.org 
[mailto:webkit-dev-boun...@lists.webkit.org] On Behalf Of Simon Fraser
Sent: Monday, May 21, 2012 10:35 AM
To: Zoltan Herczeg
Cc: webkit-dev@lists.webkit.org
Subject: Re: [webkit-dev] Transformations precision: double - float

TransformationMatrix started out as floats, then got changed to doubles in 
http://trac.webkit.org/changeset/40761

This was done because on most hardware there is no penalty for using doubles 
over floats, and provided a better match with our system APIs that used doubles.

I'd prefer to take a forward-looking stance here, and assume that in time 
hardware will catch up.

Simon

On May 21, 2012, at 4:04 AM, Zoltan Herczeg wrote:


Hi,

is there any reason why the transformations in WebKit use doubles? We
could optimize some functions further with ARM SIMD if they would be
floats. Is there any objection to make them float if the change would
have no other side effects except some rounding because of the lower precision?

Regards,
Zoltan


___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Discussing bug 98539 - Refactor resource loading to allow for out-of-process loading and memory caching

2012-10-10 Thread Maciej Stachowiak

On Oct 10, 2012, at 8:49 AM, Adam Barth aba...@webkit.org wrote:

 On Wed, Oct 10, 2012 at 12:04 AM, Maciej Stachowiak m...@apple.com wrote:
 On Oct 9, 2012, at 1:50 PM, Adam Barth aba...@webkit.org wrote:
 That raises the question of what the cache-size to hit-rate curve
 looks like.  I don't think that's something we've ever measured for
 the MemoryCache, but it would be interesting to know, for example,
 whether increasing the cache size by 4% increases the cache hit rate
 by more or less than 4%.
 
 My guess is that frequency of hits on given cache items approximately 
 follows a power law distribution, and therefore increasing cache size gives 
 diminishing returns. The question you raise is ceratainly an interesting one 
 to study to determine the optimum cache size, and to revisit when 
 improvements are made to cache efficiency.
 
 But with respect to the proposed improvement under discussion:
 
 If you imagine this as a curve with hit rate on the Y axis and cache size 
 required to achieve that hit rate on the X axis, then the potential 
 improvement under discussion would shift the curve down (assuming the 4% 
 redundancy level holds across the typical user's working set). In economic 
 terms, you can think of this as shifting the supply curve down (more hit 
 rate can be supplied at any given cost in memory), rather than movement 
 along the supply curve. Which is pretty good for you regardless of your 
 demand curve (your willingness to pay memory use for cache hit rate).
 
 Yes, but depending on the slope of the curve, you can be introducing
 all this complexity for, e.g., a 1% increase in the cache hit rate.

If that's the slope, and someone (e.g. a vendor) doesn't like that tradeoff, 
they could take a 4% reduction in the cache size instead. (The curve is almost 
surely nonlinear so we're really talking about marginal slope at a given 
pre-existing cache size.) That's what I meant about shifting the curve down. It 
only fails to be worth it if neither a 4% reduction in the memory used by the 
cache nor the equivalent hit rate improvement nor any combination in between 
are worth it. The availability of the speed tradeoff can't make the change less 
worthwhile than if it was just a straight memory use reduction. I would be 
highly surprised if anyone sincerely finds it not worth it on either basis, 
particularly in case of vendors who target mobile devices with limited memory.

Regards,
Maciej

___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Discussing bug 98539 - Refactor resource loading to allow for out-of-process loading and memory caching

2012-10-10 Thread Geoffrey Garen
 My guess is that frequency of hits on given cache items approximately follows 
 a power law distribution, and therefore increasing cache size gives 
 diminishing returns.

FWIW, a few years back I did some in-depth data gathering on this score using 
real world websites. I found that, for encoded data, hit rate in the cache 
increased exponentially as cache size increased up to ~4MB, increased linearly 
as cache size increased above ~4MB, and increased not at all as cache size 
increased above ~100MB (since all resources that were eligible for caching and 
not expired were already in the cache). My guess is that the inflection points 
in the graph have moved out to ~8MB or ~16MB in the past few years.

Note that these numbers do not correspond precisely to WebCore cache sizes, 
since the WebCore cache size includes both encoded and decoded data.

Of course, the precise hit rates you'll see depend on the content you're 
browsing, and it's possible to hand-craft content that shows benefits up to 
arbitrarily large cache sizes, or shows no benefits down to arbitrarily small 
cache sizes. 

Geoff
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] x32 support of JavaScriptCore

2012-10-10 Thread Kenneth Rohde Christiansen
Hi,

I don't think another branch on webkit.org will help you much; then
you can as well have a branch anywhere.

If you want this code to be well tested and maintained, you need to
get it upstream (through all the review process) and promise that you
have resources to keep maintaining it. It will also be an advantage if
we can get a buildbot running this exact configuration, so that others
can make sure they don't break your code.

I think that whether the community will accept it upstream depends
much about your commitment and the quality of the code, as well as how
well you interact with the community during the reviews.

Which port of WebKit is you currently using for testing?

Cheers
Kenneth


On Wed, Oct 10, 2012 at 5:02 PM, Xian, Yuqiang yuqiang.x...@intel.com wrote:
 Hi,



 As you may already know there’s a new x32 ABI – a 32-bit psABI for x86-64
 with 32-bit pointer size. It tries to leverage the advantage of more
 registers and IP relative addressing from x64 and the advantage of smaller
 memory footprint from IA32. You can find more details of the x32 ABI here:
 https://sites.google.com/site/x32abi/.



 The Linux kernel supports x32 since 3.4, and the commonly used development
 tools and libraries are getting in the x32 support. Also more details about
 current status is available in the above link.



 Now back to WebKit. In theory most part of the WebKit code should be fine
 (or require less efforts) to support x32, if they’re pure C++ code and can
 be compiled with the x32 toolchain. The major challenge is the JIT compiler
 in the JavaScript engine (and the low level interpreter) and some
 hand-written assembly code. So I’m currently working on enabling the x32
 support of JavaScriptCore, the WebKit JavaScript engine, to try to remove
 the major obstacle. My current status is that I have enabled the baseline
 JIT, the DFG JIT and the Yarr JIT on x32 – it passes all the JavaScriptCore
 tests and the 3 major benchmarks.



 I’m posting this message in order to seek for some advices on how we should
 have our work shared to more people. I understand that it’s not very
 appropriate to try to get it into current WebKit trunk considering current
 x32 support status in major systems and the lack of maintenance in upstream,
 but we want to keep it synchronized with the newest changes of the WebKit
 code. So is it possible for us to maintain the code in a separate branch
 hosted at the WebKit server?



 Any suggestions are appreciated.



 Thanks, -Yuqiang


 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org
 http://lists.webkit.org/mailman/listinfo/webkit-dev




-- 
Kenneth Rohde Christiansen
Senior Engineer, WebKit, Qt, EFL
Phone  +45 4093 0598 / E-mail kenneth at webkit.org

﹆﹆﹆
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-dev