Re: [webkit-dev] Using "auto <function()> -> returnType" breaks prepare-ChangeLog

2017-07-28 Thread Sam Weinig


> On Jul 28, 2017, at 11:13 AM, Maciej Stachowiak  wrote:
> 
> 
> 
>> On Jul 28, 2017, at 10:58 AM, Sam Weinig > > wrote:
>> 
>> 
>> 
>>> On Jul 28, 2017, at 10:31 AM, JF Bastien >> > wrote:
>>> 
>>> 
>>> 
 On Jul 28, 2017, at 10:29, Sam Weinig > wrote:
 
 For some generic programming, this form can be dramatically shorter:
 
 e.g. 
 
 template>>> KeyTraitsArg, typename MappedTraitsArg>
 template
 ALWAYS_INLINE auto HashMap::inlineAdd(K&& key, V&& value) -> AddResult
 {
 return m_impl.template add>(std::forward(key), std::forward(value));
 }
 
 vs.
 
 template>>> KeyTraitsArg, typename MappedTraitsArg>
 template
 ALWAYS_INLINE typename HashMap::AddResult HashMap::inlineAdd(K&& key, V&& value)
 {
 return m_impl.template add>(std::forward(key), std::forward(value));
 }
 
 It is also the only format available for lambdas, so people are probably 
 getting used to it.
 
 Not sure it’s worth it to avoid it.
>>> 
>>> Agreed.
>>> 
>>> That being said, I’m not volunteering to fix the parser’s handling of 
>>> lambdas. At that point we should really consider using clang’s AST.
>> 
>> I absolutely agree. For this and the style checker, it’s probably time to 
>> migrate to clang tooling.
> 
> Using a real parser is probably a good idea at some point.
> 
> But I am not sure it's necessary for prepare-ChangeLog to know about the 
> boundaries for lambdas. It's goal is to list all named functions that the 
> local changes have modified. For modifications to the body or signature of a 
> lambda, naming the function that contains the lambda is probably the most 
> useful option. I think that already works as expected.
> 

I didn’t mean to imply that we should have lambdas in ChangeLogs, only that 
people were probably getting used to that syntax. Sorry for the confusion.

-Sam

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


Re: [webkit-dev] Using "auto <function()> -> returnType" breaks prepare-ChangeLog

2017-07-28 Thread Maciej Stachowiak


> On Jul 28, 2017, at 10:58 AM, Sam Weinig  wrote:
> 
> 
> 
>> On Jul 28, 2017, at 10:31 AM, JF Bastien > > wrote:
>> 
>> 
>> 
>>> On Jul 28, 2017, at 10:29, Sam Weinig >> > wrote:
>>> 
>>> For some generic programming, this form can be dramatically shorter:
>>> 
>>> e.g. 
>>> 
>>> template>> KeyTraitsArg, typename MappedTraitsArg>
>>> template
>>> ALWAYS_INLINE auto HashMap>> MappedTraitsArg>::inlineAdd(K&& key, V&& value) -> AddResult
>>> {
>>> return m_impl.template add>> HashFunctions>>(std::forward(key), std::forward(value));
>>> }
>>> 
>>> vs.
>>> 
>>> template>> KeyTraitsArg, typename MappedTraitsArg>
>>> template
>>> ALWAYS_INLINE typename HashMap>> MappedTraitsArg>::AddResult HashMap>> KeyTraitsArg, MappedTraitsArg>::inlineAdd(K&& key, V&& value)
>>> {
>>> return m_impl.template add>> HashFunctions>>(std::forward(key), std::forward(value));
>>> }
>>> 
>>> It is also the only format available for lambdas, so people are probably 
>>> getting used to it.
>>> 
>>> Not sure it’s worth it to avoid it.
>> 
>> Agreed.
>> 
>> That being said, I’m not volunteering to fix the parser’s handling of 
>> lambdas. At that point we should really consider using clang’s AST.
> 
> I absolutely agree. For this and the style checker, it’s probably time to 
> migrate to clang tooling.

Using a real parser is probably a good idea at some point.

But I am not sure it's necessary for prepare-ChangeLog to know about the 
boundaries for lambdas. It's goal is to list all named functions that the local 
changes have modified. For modifications to the body or signature of a lambda, 
naming the function that contains the lambda is probably the most useful 
option. I think that already works as expected.

Regards,
Maciej



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


Re: [webkit-dev] Using "auto <function()> -> returnType" breaks prepare-ChangeLog

2017-07-28 Thread Sam Weinig


> On Jul 28, 2017, at 10:57 AM, Brady Eidson  wrote:
> 
>> 
>> On Jul 28, 2017, at 10:29 AM, Sam Weinig > > wrote:
>> 
>> For some generic programming, this form can be dramatically shorter:
>> 
>> e.g. 
>> 
>> template> KeyTraitsArg, typename MappedTraitsArg>
>> template
>> ALWAYS_INLINE auto HashMap> MappedTraitsArg>::inlineAdd(K&& key, V&& value) -> AddResult
>> {
>> return m_impl.template add> HashFunctions>>(std::forward(key), std::forward(value));
>> }
>> 
>> vs.
>> 
>> template> KeyTraitsArg, typename MappedTraitsArg>
>> template
>> ALWAYS_INLINE typename HashMap> MappedTraitsArg>::AddResult HashMap> KeyTraitsArg, MappedTraitsArg>::inlineAdd(K&& key, V&& value)
>> {
>> return m_impl.template add> HashFunctions>>(std::forward(key), std::forward(value));
>> }
> 
> In this example, yes it is notably shorter.
> 
> But neither of these definitions are remotely readable without puttin' on 
> your thinkin' cap.
> 
>> It is also the only format available for lambdas, so people are probably 
>> getting used to it.
> 
> Lambdas don't have the problem of prepare-ChangeLog completely missing edits 
> to a member function
> 
>> Not sure it’s worth it to avoid it.
> 
> My request was to be aware of this while prepare-ChangeLog was broken for 
> this case.
> Seems like that's almost fixed. :)

Oh ok. I thought you were proposing a ban.

- Sam

> 
> ~Brady
> 
>> 
>> - Sam
>> 
>>> On Jul 27, 2017, at 11:06 PM, Brady Eidson >> > wrote:
>>> 
>>> I just noticed this tonight. When a change is made to one of these 
>>> functions, prepare-ChangeLog doesn't log the functions that changed.
>>> 
>>> I have a question and a request.
>>> 
>>> Question:
>>> 
>>> The functions in question where I noticed this:
>>> auto WebURLSchemeTask::didComplete(const ResourceError& error) -> 
>>> ExceptionType
>>> 
>>> Would normally be written as:
>>> WebURLSchemeTask::ExceptionType WebURLSchemeTask::didComplete(const 
>>> ResourceError& error)
>>> 
>>> Is there some actual value to using this syntax other than… being 
>>> syntactically different, and being just a little shorter?
>>> 
>>> Request:
>>> 
>>> Until we fix prepare-ChangeLog, and unless there is some great advantage to 
>>> this syntax that I'm not aware of… it's hold off on using it more.
>>> 
>>> Thanks,
>>> ~Brady
>>> ___
>>> webkit-dev mailing list
>>> webkit-dev@lists.webkit.org 
>>> https://lists.webkit.org/mailman/listinfo/webkit-dev 
>>> 
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Using "auto <function()> -> returnType" breaks prepare-ChangeLog

2017-07-28 Thread JF Bastien


> On Jul 28, 2017, at 10:58, Sam Weinig  wrote:
> 
> 
> 
>> On Jul 28, 2017, at 10:31 AM, JF Bastien > > wrote:
>> 
>> 
>> 
>>> On Jul 28, 2017, at 10:29, Sam Weinig >> > wrote:
>>> 
>>> For some generic programming, this form can be dramatically shorter:
>>> 
>>> e.g. 
>>> 
>>> template>> KeyTraitsArg, typename MappedTraitsArg>
>>> template
>>> ALWAYS_INLINE auto HashMap>> MappedTraitsArg>::inlineAdd(K&& key, V&& value) -> AddResult
>>> {
>>> return m_impl.template add>> HashFunctions>>(std::forward(key), std::forward(value));
>>> }
>>> 
>>> vs.
>>> 
>>> template>> KeyTraitsArg, typename MappedTraitsArg>
>>> template
>>> ALWAYS_INLINE typename HashMap>> MappedTraitsArg>::AddResult HashMap>> KeyTraitsArg, MappedTraitsArg>::inlineAdd(K&& key, V&& value)
>>> {
>>> return m_impl.template add>> HashFunctions>>(std::forward(key), std::forward(value));
>>> }
>>> 
>>> It is also the only format available for lambdas, so people are probably 
>>> getting used to it.
>>> 
>>> Not sure it’s worth it to avoid it.
>> 
>> Agreed.
>> 
>> That being said, I’m not volunteering to fix the parser’s handling of 
>> lambdas. At that point we should really consider using clang’s AST.
> 
> I absolutely agree. For this and the style checker, it’s probably time to 
> migrate to clang tooling.

I think you misspelled “volunteer”.


> - Sam
> 
>> 
>> 
>>> - Sam
>>> 
 On Jul 27, 2017, at 11:06 PM, Brady Eidson > wrote:
 
 I just noticed this tonight. When a change is made to one of these 
 functions, prepare-ChangeLog doesn't log the functions that changed.
 
 I have a question and a request.
 
 Question:
 
 The functions in question where I noticed this:
 auto WebURLSchemeTask::didComplete(const ResourceError& error) -> 
 ExceptionType
 
 Would normally be written as:
 WebURLSchemeTask::ExceptionType WebURLSchemeTask::didComplete(const 
 ResourceError& error)
 
 Is there some actual value to using this syntax other than… being 
 syntactically different, and being just a little shorter?
 
 Request:
 
 Until we fix prepare-ChangeLog, and unless there is some great advantage 
 to this syntax that I'm not aware of… it's hold off on using it more.
 
 Thanks,
 ~Brady
 ___
 webkit-dev mailing list
 webkit-dev@lists.webkit.org 
 https://lists.webkit.org/mailman/listinfo/webkit-dev 
 
>>> 
>>> ___
>>> webkit-dev mailing list
>>> webkit-dev@lists.webkit.org 
>>> https://lists.webkit.org/mailman/listinfo/webkit-dev 
>>> 
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev


Re: [webkit-dev] Using "auto <function()> -> returnType" breaks prepare-ChangeLog

2017-07-28 Thread Sam Weinig


> On Jul 28, 2017, at 10:31 AM, JF Bastien  wrote:
> 
> 
> 
>> On Jul 28, 2017, at 10:29, Sam Weinig > > wrote:
>> 
>> For some generic programming, this form can be dramatically shorter:
>> 
>> e.g. 
>> 
>> template> KeyTraitsArg, typename MappedTraitsArg>
>> template
>> ALWAYS_INLINE auto HashMap> MappedTraitsArg>::inlineAdd(K&& key, V&& value) -> AddResult
>> {
>> return m_impl.template add> HashFunctions>>(std::forward(key), std::forward(value));
>> }
>> 
>> vs.
>> 
>> template> KeyTraitsArg, typename MappedTraitsArg>
>> template
>> ALWAYS_INLINE typename HashMap> MappedTraitsArg>::AddResult HashMap> KeyTraitsArg, MappedTraitsArg>::inlineAdd(K&& key, V&& value)
>> {
>> return m_impl.template add> HashFunctions>>(std::forward(key), std::forward(value));
>> }
>> 
>> It is also the only format available for lambdas, so people are probably 
>> getting used to it.
>> 
>> Not sure it’s worth it to avoid it.
> 
> Agreed.
> 
> That being said, I’m not volunteering to fix the parser’s handling of 
> lambdas. At that point we should really consider using clang’s AST.

I absolutely agree. For this and the style checker, it’s probably time to 
migrate to clang tooling.

- Sam

> 
> 
>> - Sam
>> 
>>> On Jul 27, 2017, at 11:06 PM, Brady Eidson >> > wrote:
>>> 
>>> I just noticed this tonight. When a change is made to one of these 
>>> functions, prepare-ChangeLog doesn't log the functions that changed.
>>> 
>>> I have a question and a request.
>>> 
>>> Question:
>>> 
>>> The functions in question where I noticed this:
>>> auto WebURLSchemeTask::didComplete(const ResourceError& error) -> 
>>> ExceptionType
>>> 
>>> Would normally be written as:
>>> WebURLSchemeTask::ExceptionType WebURLSchemeTask::didComplete(const 
>>> ResourceError& error)
>>> 
>>> Is there some actual value to using this syntax other than… being 
>>> syntactically different, and being just a little shorter?
>>> 
>>> Request:
>>> 
>>> Until we fix prepare-ChangeLog, and unless there is some great advantage to 
>>> this syntax that I'm not aware of… it's hold off on using it more.
>>> 
>>> Thanks,
>>> ~Brady
>>> ___
>>> webkit-dev mailing list
>>> webkit-dev@lists.webkit.org 
>>> https://lists.webkit.org/mailman/listinfo/webkit-dev 
>>> 
>> 
>> ___
>> webkit-dev mailing list
>> webkit-dev@lists.webkit.org 
>> https://lists.webkit.org/mailman/listinfo/webkit-dev

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


Re: [webkit-dev] Using "auto <function()> -> returnType" breaks prepare-ChangeLog

2017-07-28 Thread Brady Eidson

> On Jul 28, 2017, at 10:29 AM, Sam Weinig  wrote:
> 
> For some generic programming, this form can be dramatically shorter:
> 
> e.g. 
> 
> template KeyTraitsArg, typename MappedTraitsArg>
> template
> ALWAYS_INLINE auto HashMap MappedTraitsArg>::inlineAdd(K&& key, V&& value) -> AddResult
> {
> return m_impl.template add HashFunctions>>(std::forward(key), std::forward(value));
> }
> 
> vs.
> 
> template KeyTraitsArg, typename MappedTraitsArg>
> template
> ALWAYS_INLINE typename HashMap MappedTraitsArg>::AddResult HashMap MappedTraitsArg>::inlineAdd(K&& key, V&& value)
> {
> return m_impl.template add HashFunctions>>(std::forward(key), std::forward(value));
> }

In this example, yes it is notably shorter.

But neither of these definitions are remotely readable without puttin' on your 
thinkin' cap.

> It is also the only format available for lambdas, so people are probably 
> getting used to it.

Lambdas don't have the problem of prepare-ChangeLog completely missing edits to 
a member function

> Not sure it’s worth it to avoid it.

My request was to be aware of this while prepare-ChangeLog was broken for this 
case.
Seems like that's almost fixed. :)

~Brady

> 
> - Sam
> 
>> On Jul 27, 2017, at 11:06 PM, Brady Eidson > > wrote:
>> 
>> I just noticed this tonight. When a change is made to one of these 
>> functions, prepare-ChangeLog doesn't log the functions that changed.
>> 
>> I have a question and a request.
>> 
>> Question:
>> 
>> The functions in question where I noticed this:
>> auto WebURLSchemeTask::didComplete(const ResourceError& error) -> 
>> ExceptionType
>> 
>> Would normally be written as:
>> WebURLSchemeTask::ExceptionType WebURLSchemeTask::didComplete(const 
>> ResourceError& error)
>> 
>> Is there some actual value to using this syntax other than… being 
>> syntactically different, and being just a little shorter?
>> 
>> Request:
>> 
>> Until we fix prepare-ChangeLog, and unless there is some great advantage to 
>> this syntax that I'm not aware of… it's hold off on using it more.
>> 
>> Thanks,
>> ~Brady
>> ___
>> webkit-dev mailing list
>> webkit-dev@lists.webkit.org 
>> https://lists.webkit.org/mailman/listinfo/webkit-dev
> 

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


Re: [webkit-dev] Using "auto <function()> -> returnType" breaks prepare-ChangeLog

2017-07-28 Thread JF Bastien


> On Jul 28, 2017, at 10:29, Sam Weinig  wrote:
> 
> For some generic programming, this form can be dramatically shorter:
> 
> e.g. 
> 
> template KeyTraitsArg, typename MappedTraitsArg>
> template
> ALWAYS_INLINE auto HashMap MappedTraitsArg>::inlineAdd(K&& key, V&& value) -> AddResult
> {
> return m_impl.template add HashFunctions>>(std::forward(key), std::forward(value));
> }
> 
> vs.
> 
> template KeyTraitsArg, typename MappedTraitsArg>
> template
> ALWAYS_INLINE typename HashMap MappedTraitsArg>::AddResult HashMap MappedTraitsArg>::inlineAdd(K&& key, V&& value)
> {
> return m_impl.template add HashFunctions>>(std::forward(key), std::forward(value));
> }
> 
> It is also the only format available for lambdas, so people are probably 
> getting used to it.
> 
> Not sure it’s worth it to avoid it.

Agreed.

That being said, I’m not volunteering to fix the parser’s handling of lambdas. 
At that point we should really consider using clang’s AST.


> - Sam
> 
>> On Jul 27, 2017, at 11:06 PM, Brady Eidson > > wrote:
>> 
>> I just noticed this tonight. When a change is made to one of these 
>> functions, prepare-ChangeLog doesn't log the functions that changed.
>> 
>> I have a question and a request.
>> 
>> Question:
>> 
>> The functions in question where I noticed this:
>> auto WebURLSchemeTask::didComplete(const ResourceError& error) -> 
>> ExceptionType
>> 
>> Would normally be written as:
>> WebURLSchemeTask::ExceptionType WebURLSchemeTask::didComplete(const 
>> ResourceError& error)
>> 
>> Is there some actual value to using this syntax other than… being 
>> syntactically different, and being just a little shorter?
>> 
>> Request:
>> 
>> Until we fix prepare-ChangeLog, and unless there is some great advantage to 
>> this syntax that I'm not aware of… it's hold off on using it more.
>> 
>> Thanks,
>> ~Brady
>> ___
>> webkit-dev mailing list
>> webkit-dev@lists.webkit.org 
>> https://lists.webkit.org/mailman/listinfo/webkit-dev
> 
> ___
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev

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


Re: [webkit-dev] Using "auto <function()> -> returnType" breaks prepare-ChangeLog

2017-07-28 Thread Sam Weinig
For some generic programming, this form can be dramatically shorter:

e.g. 

template
template
ALWAYS_INLINE auto HashMap::inlineAdd(K&& key, V&& value) -> AddResult
{
return m_impl.template add>(std::forward(key), std::forward(value));
}

vs.

template
template
ALWAYS_INLINE typename HashMap::AddResult HashMap::inlineAdd(K&& key, V&& value)
{
return m_impl.template add>(std::forward(key), std::forward(value));
}

It is also the only format available for lambdas, so people are probably 
getting used to it.

Not sure it’s worth it to avoid it.

- Sam

> On Jul 27, 2017, at 11:06 PM, Brady Eidson  wrote:
> 
> I just noticed this tonight. When a change is made to one of these functions, 
> prepare-ChangeLog doesn't log the functions that changed.
> 
> I have a question and a request.
> 
> Question:
> 
> The functions in question where I noticed this:
> auto WebURLSchemeTask::didComplete(const ResourceError& error) -> 
> ExceptionType
> 
> Would normally be written as:
> WebURLSchemeTask::ExceptionType WebURLSchemeTask::didComplete(const 
> ResourceError& error)
> 
> Is there some actual value to using this syntax other than… being 
> syntactically different, and being just a little shorter?
> 
> Request:
> 
> Until we fix prepare-ChangeLog, and unless there is some great advantage to 
> this syntax that I'm not aware of… it's hold off on using it more.
> 
> Thanks,
> ~Brady
> ___
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev

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


[webkit-dev] iOS IDFA

2017-07-28 Thread Bruno Roggeri
Hi all,
 
As many others working in advertising companies I've been following very 
closely the announcement of Intelligent Tracking Prevention in the upcoming 
Safari 11. I wanted to get your thoughts about aligning the browser with the 
rest of the iOS platform: instead of relying on cookies, how about making the 
IDFA available in the browser ?
 
I see many advantages to this solution:
- It offers simple and global privacy controls to the user, on par with the iOS 
app ecosystem:
- Users may reset their ID at any time from their phone
- They can also easily completely opt out of personalized advertising
- It removes the need for "cookie matching" between advertisers and publishers 
on the web, which is responsible today for a big share of the network overhead
 
Is that something that Apple would consider aligned with the way they want to 
put users in control of their privacy ?
 
I'd be happy to open a bug and post a patch if it helps the conversation 
(especially what should be done in private mode and/or if the users activate 
the DNT option).
Thanks,
Bruno

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


Re: [webkit-dev] Using "auto <function()> -> returnType" breaks prepare-ChangeLog

2017-07-28 Thread JF Bastien
https://bugs.webkit.org/show_bug.cgi?id=174930 


I’ll trade this C++ fix for ES6 functions getting parsed properly too :D

> On Jul 27, 2017, at 23:06, Brady Eidson  wrote:
> 
> I just noticed this tonight. When a change is made to one of these functions, 
> prepare-ChangeLog doesn't log the functions that changed.
> 
> I have a question and a request.
> 
> Question:
> 
> The functions in question where I noticed this:
> auto WebURLSchemeTask::didComplete(const ResourceError& error) -> 
> ExceptionType
> 
> Would normally be written as:
> WebURLSchemeTask::ExceptionType WebURLSchemeTask::didComplete(const 
> ResourceError& error)
> 
> Is there some actual value to using this syntax other than… being 
> syntactically different, and being just a little shorter?
> 
> Request:
> 
> Until we fix prepare-ChangeLog, and unless there is some great advantage to 
> this syntax that I'm not aware of… it's hold off on using it more.
> 
> Thanks,
> ~Brady
> ___
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev

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


[webkit-dev] Using "auto <function()> -> returnType" breaks prepare-ChangeLog

2017-07-28 Thread Brady Eidson
I just noticed this tonight. When a change is made to one of these functions, 
prepare-ChangeLog doesn't log the functions that changed.

I have a question and a request.

Question:

The functions in question where I noticed this:
auto WebURLSchemeTask::didComplete(const ResourceError& error) -> ExceptionType

Would normally be written as:
WebURLSchemeTask::ExceptionType WebURLSchemeTask::didComplete(const 
ResourceError& error)

Is there some actual value to using this syntax other than… being syntactically 
different, and being just a little shorter?

Request:

Until we fix prepare-ChangeLog, and unless there is some great advantage to 
this syntax that I'm not aware of… it's hold off on using it more.

Thanks,
~Brady
___
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev