Re: [webkit-dev] LayoutTests results fallback graph

2011-07-12 Thread Dirk Pranke
On Tue, Jul 12, 2011 at 9:01 PM, Adam Barth  wrote:
> On Tue, Jul 12, 2011 at 8:34 PM, Ryosuke Niwa  wrote:
>> On Tue, Jul 12, 2011 at 8:19 PM, Dirk Pranke  wrote:
>>>
>>> Hum. I take it back ... it still wouldn't be a tree, since
>>> chromium-mac-leopard would fall back to chromium-mac-snowleopard, then
>>> mac-leopard, but chromium-mac-snow-leopard would fall back to
>>> mac-snowleopard (giving chromium-mac-snowleopard two parents). And it
>>> looks like chromium-mac-leopard picks up 3,494 baselines from
>>> mac-leopard :(.
>>
>> Can we create chromium-mac and move everything that's shared between
>> chromium-mac-leopard and chromium-mac-snowleopard there?
>> It seems wrong for chromium-mac-leopard to fallback to
>> chromium-mac-snowleopard.
>
> This somewhat surprising fallback strategy is common across ports.
> The "why" is explained on this wiki page:
>
> http://trac.webkit.org/wiki/LayoutTestsSearchPath
>

In addition, we do actually have a 'chromium-mac'; we don't have a
'chromium-mac-snowleopard'. I think I mixed that in my mind while
typing this with the apple mac ports, where there are mac-leopard,
mac-sl, and mac ports (the latter representing lion/future).

Once Lion ships, chromium will undoubtedly add a chromium-mac-snowleopard dir.

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


Re: [webkit-dev] LayoutTests results fallback graph

2011-07-12 Thread Adam Barth
On Tue, Jul 12, 2011 at 8:34 PM, Ryosuke Niwa  wrote:
> On Tue, Jul 12, 2011 at 8:19 PM, Dirk Pranke  wrote:
>>
>> Hum. I take it back ... it still wouldn't be a tree, since
>> chromium-mac-leopard would fall back to chromium-mac-snowleopard, then
>> mac-leopard, but chromium-mac-snow-leopard would fall back to
>> mac-snowleopard (giving chromium-mac-snowleopard two parents). And it
>> looks like chromium-mac-leopard picks up 3,494 baselines from
>> mac-leopard :(.
>
> Can we create chromium-mac and move everything that's shared between
> chromium-mac-leopard and chromium-mac-snowleopard there?
> It seems wrong for chromium-mac-leopard to fallback to
> chromium-mac-snowleopard.

This somewhat surprising fallback strategy is common across ports.
The "why" is explained on this wiki page:

http://trac.webkit.org/wiki/LayoutTestsSearchPath

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


Re: [webkit-dev] LayoutTests results fallback graph

2011-07-12 Thread Ryosuke Niwa
On Tue, Jul 12, 2011 at 8:19 PM, Dirk Pranke  wrote:
>
> Hum. I take it back ... it still wouldn't be a tree, since
> chromium-mac-leopard would fall back to chromium-mac-snowleopard, then
> mac-leopard, but chromium-mac-snow-leopard would fall back to
> mac-snowleopard (giving chromium-mac-snowleopard two parents). And it
> looks like chromium-mac-leopard picks up 3,494 baselines from
> mac-leopard :(.
>

Can we create chromium-mac and move everything that's shared between
chromium-mac-leopard and chromium-mac-snowleopard there?

It seems wrong for chromium-mac-leopard to fallback to
chromium-mac-snowleopard.

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


Re: [webkit-dev] LayoutTests results fallback graph

2011-07-12 Thread Dirk Pranke
On Tue, Jul 12, 2011 at 8:05 PM, Dirk Pranke  wrote:
> On Mon, Jul 11, 2011 at 11:52 AM, Dirk Pranke  wrote:
>> On Mon, Jul 11, 2011 at 10:46 AM, Adam Barth  wrote:
>>> On Mon, Jul 11, 2011 at 12:30 AM, Maciej Stachowiak  wrote:
 On Jul 10, 2011, at 12:11 PM, Adam Barth wrote:
> On Sun, Jul 10, 2011 at 12:01 PM, James Robinson  
> wrote:
>> On Jul 10, 2011 10:53 AM, "Adam Barth"  wrote:
>>> Hi webkit-dev,
>>>
>>> In trying to understand how our LayoutTest results system works, I've
>>> created a digram of the fallback graph among the various
>>> platform-specific directories:
>>> https://docs.google.com/drawings/d/1z65SKkWrD4Slm6jobIphHwwRADyUtjOAxwGBVKBY8Kc/edit?hl=en_US
>>>
>>> Unfortunately, the fallback graph is not a tree, as one might imagine
>>> initially.  I'd like to propose two small changes, which will
>>> hopefully make the system more sensible globally.  I'm happy to do all
>>> the work required to make these changes:
>>>
>>> 1) The "win" port should fall back either to "all" (the platform
>>> independent results) or to "mac," but not to "mac-snowleopard", as it
>>> does currently.  (I slightly prefer "all", but "mac" would also be
>>> fine with me.)
>>>
>>> 2) The "chromium" port should fall back directly to "all" rather than
>>> taking a detour through various Apple-maintained ports, as it does
>>> currently.
>>>
>>> These changes have the following virtues:
>>>
>>> A) The resulting fallback graph will be a tree, making the fallback
>>> graph easier to understand for both humans and automated tools.
>>> B) The Chromium port will behave more like the other ports (e.g., GTK
>>> and Qt), rather than being a parasite on Apple-maintained ports.
>>>
>>> These changes might increase the number of image baselines we store in
>>> the tree for "chromium-mac"-derived ports (because there will be fewer
>>> redundant fallback paths), but I expect that cost to be relatively
>>> small because essentially every port has different image baselines
>>> anyway
>>
>> Could you measure this? I suspect that not falling back on the mac pixel
>> results will mean checking in a few thousand more pngs, but that's just a
>> guess.
>
> That seems possible:
>
> abarth@quadzen:~/git/webkit/LayoutTests/platform/chromium-mac$ find .
> -name "*.png" | wc -l
>     900
> abarth@quadzen:~/git/webkit/LayoutTests/platform/mac$ find . -name
> "*.png" | wc -l
>    6688
> abarth@quadzen:~/git/webkit/LayoutTests/platform/chromium-win$ find .
> -name "*.png" | wc -l
>    5988
> abarth@quadzen:~/git/webkit/LayoutTests/platform/chromium-linux$ find
> . -name "*.png" | wc -l
>    5731

 Adding thousands more PNGs would be unfortunate, especially if a 
 significant number of them are going to be rolled over frequently.
>>>
>>> I wouldn't expect a significant number of them to change frequently.
>>>
 What are the concrete benefits of the fallback graph being a tree?
>>>
>>> There are two main benefits:
>>>
>>> 1) A tree is much easier to understand than a rats nest of interwoven
>>> fallback paths.  Today, the graph is close to a tree so it's possible
>>> for experts to understand how things work, but if we continue to add
>>> non-transitive paths, the situation will quickly spiral out of
>>> control.  For folks who aren't experts about how the system works
>>> today, I doubt they could correctly predict the consequence of certain
>>> actions.  One of my short-term goals is to make managing the expecte
>>> results easier, which is why I'm interested in having the system be
>>> understandable to non-experts.
>>>
>>> 2) Without a tree structure, it's difficult to compute the optimum
>>> assignments of expected results to directories.  With a tree
>>> structure, it's very easy.  If all the children of a node have the
>>> same result, you can delete the result at the children and promote it
>>> to the parent.  That reasoning is false for our current fallback
>>> graph.  The correct rule for when you can promote a result instead
>>> requires reasoning over all paths (of which, of course, there are
>>> exponentially many).
>>>
>>
>> I'm not sure I understand in what sense you're using the word
>> "optimum" here. Normally I would define it as "fewest overall
>> baselines in the tree". Using my definition, it seems possible that
>> having multiple "parents" could result in fewer baselines. Example: if
>> chromium-mac is allowed to fallback on chromium, then mac, then "all"
>> (rather than just chromium then "all" or mac then "all") you may need
>> fewer total baselines
>>
>> Of course, I'm not sure that "fewest overall baselines" is in fact the
>> goal we should be shooting for. I definitely agree that a tree is
>> easier to understand. This of course is the same debate as single
>> inheritance vs. multiple ... 

Re: [webkit-dev] LayoutTests results fallback graph

2011-07-12 Thread Dirk Pranke
On Mon, Jul 11, 2011 at 11:52 AM, Dirk Pranke  wrote:
> On Mon, Jul 11, 2011 at 10:46 AM, Adam Barth  wrote:
>> On Mon, Jul 11, 2011 at 12:30 AM, Maciej Stachowiak  wrote:
>>> On Jul 10, 2011, at 12:11 PM, Adam Barth wrote:
 On Sun, Jul 10, 2011 at 12:01 PM, James Robinson  wrote:
> On Jul 10, 2011 10:53 AM, "Adam Barth"  wrote:
>> Hi webkit-dev,
>>
>> In trying to understand how our LayoutTest results system works, I've
>> created a digram of the fallback graph among the various
>> platform-specific directories:
>> https://docs.google.com/drawings/d/1z65SKkWrD4Slm6jobIphHwwRADyUtjOAxwGBVKBY8Kc/edit?hl=en_US
>>
>> Unfortunately, the fallback graph is not a tree, as one might imagine
>> initially.  I'd like to propose two small changes, which will
>> hopefully make the system more sensible globally.  I'm happy to do all
>> the work required to make these changes:
>>
>> 1) The "win" port should fall back either to "all" (the platform
>> independent results) or to "mac," but not to "mac-snowleopard", as it
>> does currently.  (I slightly prefer "all", but "mac" would also be
>> fine with me.)
>>
>> 2) The "chromium" port should fall back directly to "all" rather than
>> taking a detour through various Apple-maintained ports, as it does
>> currently.
>>
>> These changes have the following virtues:
>>
>> A) The resulting fallback graph will be a tree, making the fallback
>> graph easier to understand for both humans and automated tools.
>> B) The Chromium port will behave more like the other ports (e.g., GTK
>> and Qt), rather than being a parasite on Apple-maintained ports.
>>
>> These changes might increase the number of image baselines we store in
>> the tree for "chromium-mac"-derived ports (because there will be fewer
>> redundant fallback paths), but I expect that cost to be relatively
>> small because essentially every port has different image baselines
>> anyway
>
> Could you measure this? I suspect that not falling back on the mac pixel
> results will mean checking in a few thousand more pngs, but that's just a
> guess.

 That seems possible:

 abarth@quadzen:~/git/webkit/LayoutTests/platform/chromium-mac$ find .
 -name "*.png" | wc -l
     900
 abarth@quadzen:~/git/webkit/LayoutTests/platform/mac$ find . -name
 "*.png" | wc -l
    6688
 abarth@quadzen:~/git/webkit/LayoutTests/platform/chromium-win$ find .
 -name "*.png" | wc -l
    5988
 abarth@quadzen:~/git/webkit/LayoutTests/platform/chromium-linux$ find
 . -name "*.png" | wc -l
    5731
>>>
>>> Adding thousands more PNGs would be unfortunate, especially if a 
>>> significant number of them are going to be rolled over frequently.
>>
>> I wouldn't expect a significant number of them to change frequently.
>>
>>> What are the concrete benefits of the fallback graph being a tree?
>>
>> There are two main benefits:
>>
>> 1) A tree is much easier to understand than a rats nest of interwoven
>> fallback paths.  Today, the graph is close to a tree so it's possible
>> for experts to understand how things work, but if we continue to add
>> non-transitive paths, the situation will quickly spiral out of
>> control.  For folks who aren't experts about how the system works
>> today, I doubt they could correctly predict the consequence of certain
>> actions.  One of my short-term goals is to make managing the expecte
>> results easier, which is why I'm interested in having the system be
>> understandable to non-experts.
>>
>> 2) Without a tree structure, it's difficult to compute the optimum
>> assignments of expected results to directories.  With a tree
>> structure, it's very easy.  If all the children of a node have the
>> same result, you can delete the result at the children and promote it
>> to the parent.  That reasoning is false for our current fallback
>> graph.  The correct rule for when you can promote a result instead
>> requires reasoning over all paths (of which, of course, there are
>> exponentially many).
>>
>
> I'm not sure I understand in what sense you're using the word
> "optimum" here. Normally I would define it as "fewest overall
> baselines in the tree". Using my definition, it seems possible that
> having multiple "parents" could result in fewer baselines. Example: if
> chromium-mac is allowed to fallback on chromium, then mac, then "all"
> (rather than just chromium then "all" or mac then "all") you may need
> fewer total baselines
>
> Of course, I'm not sure that "fewest overall baselines" is in fact the
> goal we should be shooting for. I definitely agree that a tree is
> easier to understand. This of course is the same debate as single
> inheritance vs. multiple ... multiple may reduce the total lines of
> code, but be harder to understand
>
> NRWT has nearly all of the code needed to make it easy to evaluate
> what the tota

Re: [webkit-dev] Followup to the WML discussion

2011-07-12 Thread Alexey Proskuryakov

12.07.2011, в 16:42, Luke Macpherson написал(а):

> As a follow-up to this question, should Webkit support WCSS now that
> WML has been removed?


There was an IRC discussion of that a few months ago, which hasn't been 
captured in the bug. WCSS is also apparently needed for XHTML-MP, which we 
haven't removed support for (yet?)

- WBR, Alexey Proskuryakov

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


Re: [webkit-dev] Followup to the WML discussion

2011-07-12 Thread Darin Adler
On Jul 12, 2011, at 4:42 PM, Luke Macpherson wrote:

> As a follow-up to this question, should Webkit support WCSS now that WML has 
> been removed?

Seems an obvious no.

-- Darin

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


Re: [webkit-dev] Remote Debugging v8 - Android

2011-07-12 Thread Glan Thomas
Hi Steve,We would +1 for this feature in Android (and iOS too).--GlanOn Jul 7, 2011, at 6:11 AM, Steve Block wrote:You need to check with Android port owners on whether they intend to enableINSPECTOR in their builds and expose remote debugging capabilities.I'm afraid we have no plans right now to enable this feature.Steve-- Google UK LimitedRegistered Office: Belgrave House, 76 Buckingham Palace Road, London SW1W 9TQRegistered in England Number: 3977902___webkit-dev mailing listwebkit-dev@lists.webkit.orghttp://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
Glan ThomasSr. Front-end Engineerg...@tapulous.comhttp://tapulous.com/ 

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


Re: [webkit-dev] Followup to the WML discussion

2011-07-12 Thread Luke Macpherson
As a follow-up to this question, should Webkit support WCSS now that
WML has been removed?

There has been a patch sitting around for a while waiting to do this here:
https://bugs.webkit.org/show_bug.cgi?id=59786

On Sun, Apr 24, 2011 at 6:22 PM, Adam Barth  wrote:
> Hi webkit-dev,
>
> To make progress on the question of whether to remove support for WML,
> I sent an informal poll the the WebKit reviewers mailing list.  (In
> the interests of transparency, I've included the full text of the
> email below.)  The poll contained a single question:
>
> 1. Should WebKit support WML?
> A) Yes, WebKit should continue to support WML behind ENABLE(WML)
> B) No, WebKit should remove support for WML
>
> 17 reviewers responded to the poll, and all 17 chose option (B).
>
> This poll is not a binding vote in any way, but, based on this
> information, I recommend that we remove support for WML.
>
> Thanks,
> Adam
>
>
> -- Forwarded message --
> From: Adam Barth 
> Date: Wed, Apr 20, 2011 at 1:58 PM
> Subject: Poll about removing WML
> To: webkit-reviewers
>
>
> Hi webkit-reviewers,
>
> There's been some discussion on webkit-dev recently about whether we
> should remove support for WML.  To get a sense for how the project
> leadership feels about removing support for WML, I've created a simple
> one-question poll:
>
> http://www.surveymonkey.com/s/xxx
>
> If you have an opinion about whether WebKit should support WML, please
> take a minute to fill out the poll.  (If you don't have an opinion,
> please feel free to ignore the poll.)
>
> This poll is not a binding vote in any way.  I'd just like to
> informally gather some data on how folks who are deeply involved with
> the project feel about this feature.
>
> I'll send out the results of the poll to webkit-dev on Sunday morning
> (in advance of the WebKit meeting).
>
> Thanks everyone,
> Adam
> ___
> 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


Re: [webkit-dev] Slow idioms with WTF::String

2011-07-12 Thread Rob Buis
Hi Yong,

On 12 July 2011 18:10, Yong Li  wrote:
> Another slow case is converting a const C string to WTF::String every
> time. For example,
>
>    return (m_httpHeaderFields.contains("If-Match") ||
>            m_httpHeaderFields.contains("If-Modified-Since") ||
>            m_httpHeaderFields.contains("If-None-Match") ||
>            m_httpHeaderFields.contains("If-Range") ||
>            m_httpHeaderFields.contains("If-Unmodified-Since"));
>
> This function creates 5 Strings (calls fastMalloc 5 times), and also
> calculates the hash key 5 times, and then throws them away.

In this case, the code already indicates it is not optimal:

HTTPHeaderMap.h:
// Alternate accessors that are faster than converting the char* to
AtomicString first.
bool contains(const char*) const;

Also this converting can probably be fixed by using
DEFINE_STATIC_LOCAL(AtomicString,...).
Cheers,

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


Re: [webkit-dev] Slow idioms with WTF::String

2011-07-12 Thread Yong Li
How about using RopeImpl as JSString does to boost operator+=? Not
sure how bad it affects simple strings. Then another idea is to
introduce a LargeString implemented with ropes for special purposes
like parsers.

Another slow case is converting a const C string to WTF::String every
time. For example,

return (m_httpHeaderFields.contains("If-Match") ||
m_httpHeaderFields.contains("If-Modified-Since") ||
m_httpHeaderFields.contains("If-None-Match") ||
m_httpHeaderFields.contains("If-Range") ||
m_httpHeaderFields.contains("If-Unmodified-Since"));

This function creates 5 Strings (calls fastMalloc 5 times), and also
calculates the hash key 5 times, and then throws them away.

2011/7/12 Darin Adler :
> Hi folks.
>
> The key to fast use of WTF::String is to avoid creating temporary 
> WTF::StringImpl objects or temporary copies of string data.
>
> With the latest enhancements to WTF::String, here are the preferred fast ways 
> to build a new string:
>
>    - A single expression with the + operator and arguments of type 
> WTF::String, char, UChar, const char*, const UChar*, Vector, and 
> WTF::AtomicString.
>    - A call to the WTF::makeString function.
>    - An expression that uses a single function on the string, or uses the + 
> operator exactly once, or the += operator with the types it supports directly.
>    - WTF::StringBuilder, in cases where the logic to compute the pieces of 
> the string has complex branching logic or requires a loop.
>
> Here are acceptable, but not preferred ways to build a new string:
>
>    - Building up a Vector followed by WTF::String::adopt. I believe 
> StringBuilder is always better, so we should probably retire this idiom.
>
> Inefficient ways to build a new string include any uses of more than one of 
> the following:
>
>    - WTF::String::append.
>    - The += operator.
>
> There are other operations that modify the WTF::String; none of those are 
> efficient if the string in question is then modified further.
>
>    - WTF::String::insert.
>    - WTF::String::replace.
>
> In addition, there are quite a few operations that return a WTF::String, and 
> none of those are efficient if the string in question is then modified 
> further.
>
>    - WTF::String::number.
>    - WTF::String::substring.
>    - WTF::String::left.
>    - WTF::String::right.
>    - WTF::String::lower.
>    - WTF::String::upper.
>    - WTF::String::stripWhiteSpace.
>    - WTF::String::simplifyWhiteSpace.
>    - WTF::String::removeCharacters.
>    - WTF::String::foldCase.
>    - WTF::String::format.
>    - WTF::String::fromUTF8.
>
> One reason I bring this up is that if we wanted to make combinations of these 
> more efficient, we might be able to use techniques similar to those used in 
> StringOperators.h to make it so the entire result string is built at one 
> time, eliminating unnecessary copies of the string characters and 
> intermediate StringImpl objects on the heap.
>
> It would be interesting to find out how often the inefficient idioms are 
> used. Until recently, there was no significantly better alternative to the 
> inefficient idioms, so it’s highly likely we have them in multiple places.
>
> A quick grep showed me inefficient uses of += in 
> XMLDocumentParser::handleError and XPath::FunTranslate::evaluate, 
> parseRFC822HeaderFields, InspectorStyleSheet::addRule, drawElementTitle in 
> DOMNodeHighlighter.cpp, WebKitCSSTransformValue::cssText, 
> CSSSelector::selectorText, CSSPrimitiveValue::cssText, 
> CSSBorderImageValue::cssText, and CSSParser::createKeyframeRule.
>
> I would not be surprised if at least some of these will show up immediately 
> with the right kind of performance test. The CSS parsing and serialization 
> functions seem almost certain to be measurably slow.
>
> I’m looking for two related things:
>
>    1) A clean way to find and root out uses of the inefficient idioms that we 
> can work on together as a team.
>
>     2) Some ways to further refine WTF::String so it’s harder to “use it 
> wrong”. I don’t have any immediate steps in mind, but one possibility would 
> be to remove functions that are usually part of poorly-performing idioms, 
> pushing WebKit programmers subtly in the direction of operations that don’t 
> build intermediate strings.
>
>    -- Darin
>
> ___
> 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


Re: [webkit-dev] Unverified cert: Allow wss:// if user has accepted https:// warning? (WebKit Bug 41419)

2011-07-12 Thread Mossman, Paul (Paul)

I apologize for the confusion.  Thank you Alexey and Darin for your guidance. 

I've filed ID# 9761774 at http://bugreport.apple.com.

Cheers.

-Paul


> -Original Message-
> From: Alexey Proskuryakov [mailto:a...@webkit.org] 
> Sent: July 12, 2011 2:25 PM
> To: Mossman, Paul (Paul)
> Cc: webkit-dev Development
> Subject: Re: [webkit-dev] Unverified cert: Allow wss:// if 
> user has accepted https:// warning? (WebKit Bug 41419)
> 
> 
> 12.07.2011, в 11:15, Mossman, Paul (Paul) написал(а):
> 
> > On a related note, we've found that as of iOS 4.3.3 Mobile 
> Safari will also not play .wav files under the same 
> conditions.  (Unverified SSL cert, manually accepted by the 
> user.)  The error is:
> > 
> >"The Movie cannot be played."
> > 
> > I've updated ID# 9697244 at http://bugreport.apple.com.
> 
> Please file a new bug at http://bugreport.apple.com for that 
> issue. It's always easier to mark bugs as duplicates than to 
> split them if we want to make such adjustments later.
> 
> - WBR, Alexey Proskuryakov
> 
> 
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev


Re: [webkit-dev] wav file question

2011-07-12 Thread Darin Adler
On Jul 12, 2011, at 11:15 AM, Mossman, Paul (Paul) wrote:

> But can anyone see a good reason why a browser would refuse to play a .wav 
> file, but happily render .html, .jpg, .css, etc?

This is not an appropriate question for webkit-dev as it is not a question 
about the development of WebKit.

A good place to get answers about this are in the iOS Dev Center and Safari Dev 
Center.

Generally speaking, media playback on webpages has to be user-initiated in iOS. 
This is covered in various Apple documentation, such as Safari HTML5 Audio and 
Video Guide, but typically that concentrates on the  element rather than 
directly loading a wav file.

But please don’t ask followup questions about this on this mailing list, since 
it’s off topic for the list.

-- Darin

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


Re: [webkit-dev] Unverified cert: Allow wss:// if user has accepted https:// warning? (WebKit Bug 41419)

2011-07-12 Thread Alexey Proskuryakov

12.07.2011, в 11:15, Mossman, Paul (Paul) написал(а):

> On a related note, we've found that as of iOS 4.3.3 Mobile Safari will also 
> not play .wav files under the same conditions.  (Unverified SSL cert, 
> manually accepted by the user.)  The error is:
> 
>"The Movie cannot be played."
> 
> I've updated ID# 9697244 at http://bugreport.apple.com.

Please file a new bug at http://bugreport.apple.com for that issue. It's always 
easier to mark bugs as duplicates than to split them if we want to make such 
adjustments later.

- WBR, Alexey Proskuryakov

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


Re: [webkit-dev] Unverified cert: Allow wss:// if user has accepted https:// warning? (WebKit Bug 41419)

2011-07-12 Thread Mossman, Paul (Paul)
Hi all,

On a related note, we've found that as of iOS 4.3.3 Mobile Safari will also not 
play .wav files under the same conditions.  (Unverified SSL cert, manually 
accepted by the user.)  The error is:

"The Movie cannot be played."

I've updated ID# 9697244 at http://bugreport.apple.com.

But can anyone see a good reason why a browser would refuse to play a .wav 
file, but happily render .html, .jpg, .css, etc?

-Paul


> -Original Message-
> From: webkit-dev-boun...@lists.webkit.org 
> [mailto:webkit-dev-boun...@lists.webkit.org] On Behalf Of 
> Mossman, Paul (Paul)
> Sent: June 29, 2011 1:33 PM
> To: Adam Barth
> Cc: webkit-dev@lists.webkit.org
> Subject: Re: [webkit-dev] Unverified cert: Allow wss:// if 
> user has accepted https:// warning? (WebKit Bug 41419)
> 
> 
> Thanks Adam!
> 
> I've filed an Enhancement with Apple: Bug ID# 9697244.
> 
> -Paul
> 
> 
> > -Original Message-
> > From: aba...@gmail.com [mailto:aba...@gmail.com] On Behalf Of Adam 
> > Barth
> > Sent: June 28, 2011 1:28 PM
> > To: Mossman, Paul (Paul)
> > Cc: webkit-dev@lists.webkit.org
> > Subject: Re: [webkit-dev] Unverified cert: Allow wss:// if user has 
> > accepted https:// warning? (WebKit Bug 41419)
> > 
> > This isn't a WebKit issue.  It's an issue for the embedding 
> > application.  You'll need to file a bug with the relevant browser 
> > vendor.  For Apple, you can use https://bugreport.apple.com/ or 
> > Chromium, you can use http://new.crbug.com/
> > 
> > Good luck!
> > Adam
> > 
> > 
> > On Tue, Jun 28, 2011 at 8:39 AM, Mossman, Paul (Paul) 
> >  wrote:
> > > Hi all,
> > >
> > >
> > >
> > > I originally sent this to webkit-help, but I probably should have 
> > > posted it here instead.
> > >
> > >
> > >
> > > I'd like to request an alternate resolution to the 
> following issue:
> > >
> > > https://bugs.webkit.org/show_bug.cgi?id=41419 We 
> should log the 
> > > reason when a secure wss WebSocket connection could not be
> > established
> > >
> > >     (was: Secure wss WebSocket connections cannot be
> > established)
> > >
> > > Consider an example https://appliance.example.com, which uses a 
> > > self-signed SSL certificate.  iOS Safari will warn the user:
> > >
> > >   Cannot Verify Server Identify
> > >
> > >   Safari can't verify the identity of
> > "appliance.example.com".
> > >
> > >   Would you like to continue anyway?
> > >
> > >
> > >
> > >   Cancel / Details   /   Continue
> > >
> > >
> > >
> > > The user chooses to "Continue".  Safari then trusts the 
> identity of 
> > > "appliance.example.com", and proceeds.  The resulting HTML
> > may spawn
> > > additional https:// requests, which will also proceed.
> > >
> > > Suppose though that a wss:// connection to
> > "appliance.example.com" is
> > > initiated.  As issue 41419 states, this will fail in Safari
> > and WebKit
> > > (r87480.)
> > >
> > > Chrome on the other hand, consider the user's acceptance of the 
> > > server's identity as valid for both wss:// and https://
> > connection.
> > > This seems reasonable.  The user accepted the server's
> > identity, with
> > > no caveat on the protocol.
> > >
> > > Can this behaviour be implemented in WebKit as the
> > resolution to issue
> > > 41419?
> > >
> > >
> > >
> > > -Paul
> > >
> > > paulmoss...@avaya.com
> > >
> > > ___
> > > 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


Re: [webkit-dev] Slow idioms with WTF::String

2011-07-12 Thread Darin Adler
On Jul 12, 2011, at 10:31 AM, Darin Fisher wrote:

> On Tue, Jul 12, 2011 at 10:25 AM, Darin Adler  wrote:
> 
>> I would not be surprised if at least some of these will show up immediately 
>> with the right kind of performance test. The CSS parsing and serialization 
>> functions seem almost certain to be measurably slow.
> 
>> I’m looking for two related things:
>> 
>>1) A clean way to find and root out uses of the inefficient idioms that 
>> we can work on together as a team.
>> 
>> 2) Some ways to further refine WTF::String so it’s harder to “use it 
>> wrong”. I don’t have any immediate steps in mind, but one possibility would 
>> be to remove functions that are usually part of poorly-performing idioms, 
>> pushing WebKit programmers subtly in the direction of operations that don’t 
>> build intermediate strings.
> 
> This thread resonates very deeply with me (idioms that make it hard to write 
> slow code == pure goodness), but I suspect we really ought to build 
> performance tests to help support these improvements. It is easy to put a lot 
> of energy into optimizing code that provides no measurable benefit :-/

I think we are in agreement.

I think my “I would not be surprised if these show up with the right kind of 
performance test” comment wasn’t direct enough.

-- Darin

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


Re: [webkit-dev] Slow idioms with WTF::String

2011-07-12 Thread Ryosuke Niwa
Excited to see WTF::String getting easier to use efficiently!

On Tue, Jul 12, 2011 at 10:25 AM, Darin Adler  wrote:
>
> I would not be surprised if at least some of these will show up immediately
> with the right kind of performance test. The CSS parsing and serialization
> functions seem almost certain to be measurably slow.


Yes indeed.  Serialization code is very inefficient now.

On Tue, Jul 12, 2011 at 10:25 AM, Darin Adler  wrote:
>
> Here are acceptable, but not preferred ways to build a new string:
>
>- Building up a Vector followed by WTF::String::adopt. I believe
> StringBuilder is always better, so we should probably retire this idiom.
>
> Inefficient ways to build a new string include any uses of more than one of
> the following:
>
>- WTF::String::append.
>- The += operator.
>

MarkupAccumulator and StyledMarkupAccumulator do exactly this.

MarkupAccumulator have many appendX member functions where X is the name of
a node type.  When one of those functions is called, it'll create a
Vector which is passed around helper functions to build up the
serialization for the node.  The Vector is then adopted as String and
put into a Vector.   The resultant vector is aggregated as one giant
String at the end.

It seems like the solution here is to use StringBuilder?

StyledMarkupAccumulator is somewhat tricker to make efficient because it'll
reverse the order of Strings in Vector when aggregating the vector.
 Since we wouldn't know the last String (the first substring to appear in
the final serialization) at the beginning, we can't use StringBuilder.

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


Re: [webkit-dev] Slow idioms with WTF::String

2011-07-12 Thread Darin Fisher
On Tue, Jul 12, 2011 at 10:25 AM, Darin Adler  wrote:

> Hi folks.
>
> The key to fast use of WTF::String is to avoid creating temporary
> WTF::StringImpl objects or temporary copies of string data.
>
> With the latest enhancements to WTF::String, here are the preferred fast
> ways to build a new string:
>
>- A single expression with the + operator and arguments of type
> WTF::String, char, UChar, const char*, const UChar*, Vector, and
> WTF::AtomicString.
>- A call to the WTF::makeString function.
>- An expression that uses a single function on the string, or uses the +
> operator exactly once, or the += operator with the types it supports
> directly.
>- WTF::StringBuilder, in cases where the logic to compute the pieces of
> the string has complex branching logic or requires a loop.
>
> Here are acceptable, but not preferred ways to build a new string:
>
>- Building up a Vector followed by WTF::String::adopt. I believe
> StringBuilder is always better, so we should probably retire this idiom.
>
> Inefficient ways to build a new string include any uses of more than one of
> the following:
>
>- WTF::String::append.
>- The += operator.
>
> There are other operations that modify the WTF::String; none of those are
> efficient if the string in question is then modified further.
>
>- WTF::String::insert.
>- WTF::String::replace.
>
> In addition, there are quite a few operations that return a WTF::String,
> and none of those are efficient if the string in question is then modified
> further.
>
>- WTF::String::number.
>- WTF::String::substring.
>- WTF::String::left.
>- WTF::String::right.
>- WTF::String::lower.
>- WTF::String::upper.
>- WTF::String::stripWhiteSpace.
>- WTF::String::simplifyWhiteSpace.
>- WTF::String::removeCharacters.
>- WTF::String::foldCase.
>- WTF::String::format.
>- WTF::String::fromUTF8.
>
> One reason I bring this up is that if we wanted to make combinations of
> these more efficient, we might be able to use techniques similar to those
> used in StringOperators.h to make it so the entire result string is built at
> one time, eliminating unnecessary copies of the string characters and
> intermediate StringImpl objects on the heap.
>
> It would be interesting to find out how often the inefficient idioms are
> used. Until recently, there was no significantly better alternative to the
> inefficient idioms, so it’s highly likely we have them in multiple places.
>
> A quick grep showed me inefficient uses of += in
> XMLDocumentParser::handleError and XPath::FunTranslate::evaluate,
> parseRFC822HeaderFields, InspectorStyleSheet::addRule, drawElementTitle in
> DOMNodeHighlighter.cpp, WebKitCSSTransformValue::cssText,
> CSSSelector::selectorText, CSSPrimitiveValue::cssText,
> CSSBorderImageValue::cssText, and CSSParser::createKeyframeRule.
>
> I would not be surprised if at least some of these will show up immediately
> with the right kind of performance test. The CSS parsing and serialization
> functions seem almost certain to be measurably slow.
>
> I’m looking for two related things:
>
>1) A clean way to find and root out uses of the inefficient idioms that
> we can work on together as a team.
>
> 2) Some ways to further refine WTF::String so it’s harder to “use it
> wrong”. I don’t have any immediate steps in mind, but one possibility would
> be to remove functions that are usually part of poorly-performing idioms,
> pushing WebKit programmers subtly in the direction of operations that don’t
> build intermediate strings.
>
>-- Darin
>
>

This thread resonates very deeply with me (idioms that make it hard to write
slow code == pure goodness), but I suspect we really ought to build
performance tests to help support these improvements.  It is easy to put a
lot of energy into optimizing code that provides no measurable benefit :-/

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


[webkit-dev] Slow idioms with WTF::String

2011-07-12 Thread Darin Adler
Hi folks.

The key to fast use of WTF::String is to avoid creating temporary 
WTF::StringImpl objects or temporary copies of string data.

With the latest enhancements to WTF::String, here are the preferred fast ways 
to build a new string:

- A single expression with the + operator and arguments of type 
WTF::String, char, UChar, const char*, const UChar*, Vector, and 
WTF::AtomicString.
- A call to the WTF::makeString function.
- An expression that uses a single function on the string, or uses the + 
operator exactly once, or the += operator with the types it supports directly.
- WTF::StringBuilder, in cases where the logic to compute the pieces of the 
string has complex branching logic or requires a loop.

Here are acceptable, but not preferred ways to build a new string:

- Building up a Vector followed by WTF::String::adopt. I believe 
StringBuilder is always better, so we should probably retire this idiom.

Inefficient ways to build a new string include any uses of more than one of the 
following:

- WTF::String::append.
- The += operator.

There are other operations that modify the WTF::String; none of those are 
efficient if the string in question is then modified further.

- WTF::String::insert.
- WTF::String::replace.

In addition, there are quite a few operations that return a WTF::String, and 
none of those are efficient if the string in question is then modified further.

- WTF::String::number.
- WTF::String::substring.
- WTF::String::left.
- WTF::String::right.
- WTF::String::lower.
- WTF::String::upper.
- WTF::String::stripWhiteSpace.
- WTF::String::simplifyWhiteSpace.
- WTF::String::removeCharacters.
- WTF::String::foldCase.
- WTF::String::format.
- WTF::String::fromUTF8.

One reason I bring this up is that if we wanted to make combinations of these 
more efficient, we might be able to use techniques similar to those used in 
StringOperators.h to make it so the entire result string is built at one time, 
eliminating unnecessary copies of the string characters and intermediate 
StringImpl objects on the heap.

It would be interesting to find out how often the inefficient idioms are used. 
Until recently, there was no significantly better alternative to the 
inefficient idioms, so it’s highly likely we have them in multiple places.

A quick grep showed me inefficient uses of += in XMLDocumentParser::handleError 
and XPath::FunTranslate::evaluate, parseRFC822HeaderFields, 
InspectorStyleSheet::addRule, drawElementTitle in DOMNodeHighlighter.cpp, 
WebKitCSSTransformValue::cssText, CSSSelector::selectorText, 
CSSPrimitiveValue::cssText, CSSBorderImageValue::cssText, and 
CSSParser::createKeyframeRule.

I would not be surprised if at least some of these will show up immediately 
with the right kind of performance test. The CSS parsing and serialization 
functions seem almost certain to be measurably slow.

I’m looking for two related things:

1) A clean way to find and root out uses of the inefficient idioms that we 
can work on together as a team.

 2) Some ways to further refine WTF::String so it’s harder to “use it 
wrong”. I don’t have any immediate steps in mind, but one possibility would be 
to remove functions that are usually part of poorly-performing idioms, pushing 
WebKit programmers subtly in the direction of operations that don’t build 
intermediate strings.

-- Darin

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


Re: [webkit-dev] PSA: Removing support for Apache 1.3 in WebKit

2011-07-12 Thread Adam Roben
On Jul 11, 2011, at 9:33 PM, Eric Seidel wrote:

> Eventually we might transition the cygwin port to Apache2

https://bugs.webkit.org/show_bug.cgi?id=22517 discusses this a little bit.

-Adam

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


Re: [webkit-dev] msys support/WinCE support

2011-07-12 Thread Eric Seidel
Thank you.  Will do.

On Mon, Jul 11, 2011 at 11:10 PM, Patrick Gansterer  wrote:
> On Mon, 11 Jul 2011 21:30:44 -0700, Brent Fulgham 
> wrote:
>>> Is the WinCE port still active?
>>
>> I don't know about your other questions, but Patrick Gansterer (paroga)
>> maintains the WinCE port.  I believe it is active.
>
> Correct, I still maintain the WinCE port and provide the buildbot for it.
>
>> There is code in old-run-webkit-tests attempting to support "msys"
>> configurations.  (Which appears to be used by the WinCE port?)
>
> WinCE port does not use any testing scripts at the moment. :-(
>
>> Is this an active configuration?  Or can we remove "msys" support when
>> transitioning to new-run-webkit-tests.
>
> Feel free to remove all WinCE code of it.
>
> - Patrick
>
>
>
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev