[webkit-dev] Fwd: [whatwg] More HTML Editing Commands questions

2011-05-18 Thread Ryosuke Niwa
Is this a bug?

-- Forwarded message --
From: Boris Zbarsky 
Date: Wed, May 18, 2011 at 7:32 PM
Subject: Re: [whatwg] More HTML Editing Commands questions
To: wha...@lists.whatwg.org


On 5/18/11 6:57 PM, Tim Down wrote:

> On 18 May 2011 19:32, Aryeh Gregor  wrote:
>
>> Another argument against wrapping whitespace is that it can have an
>>>
>>> unwelcome visual effect if, for example, the wrapping elements have a
>>> CSS border applied.
>>>
>>
>> Borders only apply to boxes, and collapsed whitespace generates no
>> boxes, so it will generate no border.  Nor backgrounds, margins,
>> padding, etc.
>>
>
> That may be what the CSS spec says
>

The collapsed whitespace generates no box, but the inline element sure
generates a box per spec.  And that box can have padding, borders, margins,
the works.  Aryeh, I suggest actually trying this in your favorite browser.
 Just make sure to not use a WebKit-based one, since WebKit is buggy here.
 Any Presto, Trident, or Gecko-based browser should do the trick, on the
other hand.  Minimal testcase:





That should give you a nice yellow box about 10px wide and 10px + (default
font size) high with a green border around it.

Note that the presence or absence of whitespace is completely irrelevant
here; the rendering is the same if the whitespace is deleted except in
WebKit, which suddenly renders like every other browser if you delete the
whitespace.  Buggy, like I said.


 I'm not sure why.  DOM mutation events in their current form (i.e.,
>> synchronous) should work, no?  And if the selection change event is
>> not synchronous, you might not be able to use it anyway, because maybe
>> by the time the handler runs all sorts of changes happened
>>
>
That can happen even if it's synchronous.

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


Re: [webkit-dev] EFL builder is sick

2011-05-18 Thread Gyuyoung Kim
Hello Geoff,

Thank you for your bug filing. I fixed it yesterday.

Thanks,
gyuyoung

> Hi folks.
> 
> The EFL builder is sick.
> 
> I've filed https://bugs.webkit.org/show_bug.cgi?id=61018 explaining how to
> fix it, but I'm just not familiar enough with the EFL build system to do
> so myself.
> 
> If there are any EFL experts out there, could you please have a look?
> 
> Thanks,
> Geoff

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


Re: [webkit-dev] Why vendor-specific attributes in CSS3 parsing engine?

2011-05-18 Thread Brady Duga
Done: https://bugs.webkit.org/show_bug.cgi?id=61096

On Wed, May 18, 2011 at 9:36 AM, Simon Fraser wrote:

> The best way to move forward would be to file a bug requesting that the
> prefixes be removed.
>
> Simon
>
>
> On May 18, 2011, at 9:31 AM, Brady Duga wrote:
>
> Though, in this case, the spec is at CR and has been since 2009. Is there
> an additional process to removing the vendor prefixes for WebKit? So, are
> they still there because no one bothered to remove them, or because the
> consensus is they should remain for some reason?
>
> --Brady
>
> On Wed, May 18, 2011 at 7:36 AM, Simon Fraser wrote:
>
>> On May 18, 2011, at 6:36 AM, Sabri Aurrelia wrote:
>>
>> > Why does webkit not provide support for native CSS3 attributes in its
>> parsing engine where those attributes clearly coincide with most other
>> browsers' attributes -and- the Candidate Recommendations set forth by W3?
>> >
>> > Let me put it this way:  What is the purpose of every browser having
>> their own nearly-identically named attributes that take the same arguments,
>> which are also the same as the attributes set forth in the Candidate
>> Recommendation?
>> >
>> > What makes -webkit-column-gap and -moz-column-gap and column-gap
>> different from each other aside from the name, and if that's true, why is
>> there even a name difference?
>> >
>> > Is it a waiting game?  Or is it possible to take the initiative and
>> adopt early the attributes recommended?  Is there too much risk involved in
>> early adoption even where there's already nearly complete consensus among
>> vendors?
>>
>> Vendor prefixes remain on new properties until the draft spec that
>> describes them reaches Candidate Recommendation status.
>>
>> A Google search for "CSS3 vendor prefix" will turn up lots of discussion
>> on the www-style mailing list about this.
>>
>> Simon
>>
>> ___
>> 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] Large Source Reorganizations By External WebKit Ports

2011-05-18 Thread Darin Fisher
On Wed, May 18, 2011 at 2:35 PM, Ojan Vafai  wrote:

> On Wed, May 18, 2011 at 2:25 PM, Brent Fulgham  wrote:
>
>> Hi Peter,
>>
>> On Wed, May 18, 2011 at 2:09 PM, Peter Kasting 
>> wrote:
>> >> Google used this same approach with their Chromium port, the side
>> effects of
>> >> which find us in year two (or three?) of the effort to merge those
>> >> changes back into the core WebKit archive.
>> >
>> > Um, what?  The Chromium port is fully upstreamed and has been for some
>> time.
>> >  I'm not sure what you're saying here.  We are not forked and in fact
>> have
>> > no support for building Chromium with anything other than upstream
>> WebKit.
>>
>> I admit that statement was a bit hyperbolic; however the Chromium
>> source base was significantly reorganized when it was a 'secret'
>> project, and took a lot of time to get in sync.  I'm wondering why
>> Google, EA, and others have felt the need to do so.
>>
>> Note that there are still things that are not fully merged:  e.g.,
>> FontPlatformData is still largely forked from the mainline
>> implementation (e.g., arbitrarily different names for members).
>
>
> AFAIK, Chromium didn't actively reorganize the source tree. The source tree
> changed out from under us while we were still a private project. This is
> just a natural side effect of not being part of the mainline source tree.
> Stuff moves around (and it should!) as it makes sense to structure the files
> differently.
>
> Chromium's tree not tracking the move is just oversight in some cases.
>
> Ojan
>


we also learned some lessons the hard way.  i wish we had created a webkit
API from day one, to help insulate webcore better from chrome.  we did
create a layer of insulation (called webkit/glue), but it was way too
squishy and not kept clean.  it was a bit painful to untangle that into a
proper API.

we also didn't go with a vendor branch approach in the beginning.  instead,
we maintained forked files in a mirror tree, which just did not scale as the
number of forked files grew (due to V8 integration mainly).  but yeah,
things like the creation of FrameLoader really caused us to spin our wheels!
;-)

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


Re: [webkit-dev] Large Source Reorganizations By External WebKit Ports

2011-05-18 Thread Ojan Vafai
On Wed, May 18, 2011 at 2:25 PM, Brent Fulgham  wrote:

> Hi Peter,
>
> On Wed, May 18, 2011 at 2:09 PM, Peter Kasting 
> wrote:
> >> Google used this same approach with their Chromium port, the side
> effects of
> >> which find us in year two (or three?) of the effort to merge those
> >> changes back into the core WebKit archive.
> >
> > Um, what?  The Chromium port is fully upstreamed and has been for some
> time.
> >  I'm not sure what you're saying here.  We are not forked and in fact
> have
> > no support for building Chromium with anything other than upstream
> WebKit.
>
> I admit that statement was a bit hyperbolic; however the Chromium
> source base was significantly reorganized when it was a 'secret'
> project, and took a lot of time to get in sync.  I'm wondering why
> Google, EA, and others have felt the need to do so.
>
> Note that there are still things that are not fully merged:  e.g.,
> FontPlatformData is still largely forked from the mainline
> implementation (e.g., arbitrarily different names for members).


AFAIK, Chromium didn't actively reorganize the source tree. The source tree
changed out from under us while we were still a private project. This is
just a natural side effect of not being part of the mainline source tree.
Stuff moves around (and it should!) as it makes sense to structure the files
differently.

Chromium's tree not tracking the move is just oversight in some cases.

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


Re: [webkit-dev] Large Source Reorganizations By External WebKit Ports

2011-05-18 Thread Brent Fulgham
Hi Peter,

On Wed, May 18, 2011 at 2:09 PM, Peter Kasting  wrote:
>> Google used this same approach with their Chromium port, the side effects of
>> which find us in year two (or three?) of the effort to merge those
>> changes back into the core WebKit archive.
>
> Um, what?  The Chromium port is fully upstreamed and has been for some time.
>  I'm not sure what you're saying here.  We are not forked and in fact have
> no support for building Chromium with anything other than upstream WebKit.

I admit that statement was a bit hyperbolic; however the Chromium
source base was significantly reorganized when it was a 'secret'
project, and took a lot of time to get in sync.  I'm wondering why
Google, EA, and others have felt the need to do so.

Note that there are still things that are not fully merged:  e.g.,
FontPlatformData is still largely forked from the mainline
implementation (e.g., arbitrarily different names for members).

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


Re: [webkit-dev] Large Source Reorganizations By External WebKit Ports

2011-05-18 Thread Peter Kasting
On Wed, May 18, 2011 at 12:36 PM, Brent Fulgham  wrote:

> Google
> used this same approach with their Chromium port, the side effects of
> which find us in year two (or three?) of the effort to merge those
> changes back into the core WebKit archive.
>

Um, what?  The Chromium port is fully upstreamed and has been for some time.
 I'm not sure what you're saying here.  We are not forked and in fact have
no support for building Chromium with anything other than upstream WebKit.

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


Re: [webkit-dev] JavascriptCore and Multiple Threads

2011-05-18 Thread Geoffrey Garen
Hi Martijn.

> i selected JavascriptCore over the competition because i read that
> it's thread safe.

Yes, with certain restrictions, JavaScriptCore can be used concurrently on 
multiple threads.

> but, i can't get it to work from within threads with crashing.

It's hard to diagnose exactly what's going on without looking at your code, but 
I can give you these general guidelines:

(1) A JSGlobalContextGroup roughly corresponds to a virtual machine or a 
process. Multiple JSGlobalContextGroups can run concurrently on separate OS 
threads. Data cannot be shared between JSGlobalContextGroups.

(2) A JSGlobalContext belongs to a JSGlobalContextGroup, and roughly 
corresponds to a thread or module. Multiple JSGlobalContexts in the same 
JSGlobalContextGroup can shared data. Multiple JSGlobalContexts in the same 
JSGlobalContextGroup cannot run concurrently on separate OS threads, but can 
run with explicit locking on separate OS threads.

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


[webkit-dev] JavascriptCore and Multiple Threads

2011-05-18 Thread Martijn Scheffer
I hope i'm sending this mail to the right address, forgive me if i'm wrong..

i selected JavascriptCore over the competition because i read that
it's thread safe.

but, i can't get it to work from within threads with crashing.

the first version of my test was using one context, created with
JSGlobalContextCreateInGroup , and two threads calling
JSEvaluateScript

the first thread was evaluating this->

for(a = 0; a< 1; a++) {
 print(a)
}

print is simply a function that calls printf.

the second thread was evaluating

for(b = 0; b< 1; b++) {
 print(b)
}

i'm not even accessing the same variable, but it still crashes.

the second version of my test was using one context per thread, part
of the same group, and i got the same result, some ASSERT function
creating a BAD_ACCESS error.

i was really hoping that i could actually have multiple concurrent
scripts accessing the same objects, at the same time (you can never
predict what the developer of the scripts wants to do)

i tried both versions of my tests with boost threads, and with the
threading library built in JavascriptCore 

so i can say i'm a bit disappointed !, what am i doing wrong ? or is
this just impossible ?
in that case, what's all that threading/ locking/ mutex etc code for ?

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


[webkit-dev] Large Source Reorganizations By External WebKit Ports

2011-05-18 Thread Brent Fulgham
I've recently been spending some time reviewing some of the WebKit
port that are not part of the core WebKit archive.  Electronic Arts,
for example, has been very good about making source dumps of their
build of WebKit available (wow -- WebKit on the PS3! :), Playo has
released their sources, and Valve was kind enough to point me at the
version of Chromium they use for their own work.

While this transparency is fantastic, I find it depressing that in
most cases these porters chose to significantly rearrange the source
archive.  This makes it difficult to evaluate the changes made to
support various custom features, as well as drastically increasing the
effort required to integrate these ports into WebKit proper.  Google
used this same approach with their Chromium port, the side effects of
which find us in year two (or three?) of the effort to merge those
changes back into the core WebKit archive.

This phenomenon makes me wonder if we have some sort of deficiency in
the layout of the WebKit sources, or the way we specify and link with
various external dependencies, that lead new porters to embark on
these large reorganizations?

I did not find it difficult to work with the existing WebKit layout --
in fact, I find it logical and easy to understand.  And certainly
several other ports (such as the Windows CE, wxWidgets, Haiku, BEOS,
etc.) were able to easily integrate with the existing layout.
However, the existence of these several source variations is a clear
indication that not everyone finds the source base so easy to work
with.

Perhaps if we understood the reasoning behind that led to these
external source reorganizations we could do a better job presenting
suitable API's for porters so that they would not feel the need to
take these drastic steps.

Can any of you external users share the reasons behind your
reorganization efforts?

Thanks,

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


Re: [webkit-dev] Why vendor-specific attributes in CSS3 parsing engine?

2011-05-18 Thread Simon Fraser
The best way to move forward would be to file a bug requesting that the 
prefixes be removed.

Simon

On May 18, 2011, at 9:31 AM, Brady Duga wrote:

> Though, in this case, the spec is at CR and has been since 2009. Is there an 
> additional process to removing the vendor prefixes for WebKit? So, are they 
> still there because no one bothered to remove them, or because the consensus 
> is they should remain for some reason?
> 
> --Brady
> 
> On Wed, May 18, 2011 at 7:36 AM, Simon Fraser  wrote:
> On May 18, 2011, at 6:36 AM, Sabri Aurrelia wrote:
> 
> > Why does webkit not provide support for native CSS3 attributes in its 
> > parsing engine where those attributes clearly coincide with most other 
> > browsers' attributes -and- the Candidate Recommendations set forth by W3?
> >
> > Let me put it this way:  What is the purpose of every browser having their 
> > own nearly-identically named attributes that take the same arguments, which 
> > are also the same as the attributes set forth in the Candidate 
> > Recommendation?
> >
> > What makes -webkit-column-gap and -moz-column-gap and column-gap different 
> > from each other aside from the name, and if that's true, why is there even 
> > a name difference?
> >
> > Is it a waiting game?  Or is it possible to take the initiative and adopt 
> > early the attributes recommended?  Is there too much risk involved in early 
> > adoption even where there's already nearly complete consensus among vendors?
> 
> Vendor prefixes remain on new properties until the draft spec that describes 
> them reaches Candidate Recommendation status.
> 
> A Google search for "CSS3 vendor prefix" will turn up lots of discussion on 
> the www-style mailing list about this.
> 
> Simon
> 
> ___
> 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] Why vendor-specific attributes in CSS3 parsing engine?

2011-05-18 Thread Brady Duga
Though, in this case, the spec is at CR and has been since 2009. Is there an
additional process to removing the vendor prefixes for WebKit? So, are they
still there because no one bothered to remove them, or because the consensus
is they should remain for some reason?

--Brady

On Wed, May 18, 2011 at 7:36 AM, Simon Fraser wrote:

> On May 18, 2011, at 6:36 AM, Sabri Aurrelia wrote:
>
> > Why does webkit not provide support for native CSS3 attributes in its
> parsing engine where those attributes clearly coincide with most other
> browsers' attributes -and- the Candidate Recommendations set forth by W3?
> >
> > Let me put it this way:  What is the purpose of every browser having
> their own nearly-identically named attributes that take the same arguments,
> which are also the same as the attributes set forth in the Candidate
> Recommendation?
> >
> > What makes -webkit-column-gap and -moz-column-gap and column-gap
> different from each other aside from the name, and if that's true, why is
> there even a name difference?
> >
> > Is it a waiting game?  Or is it possible to take the initiative and adopt
> early the attributes recommended?  Is there too much risk involved in early
> adoption even where there's already nearly complete consensus among vendors?
>
> Vendor prefixes remain on new properties until the draft spec that
> describes them reaches Candidate Recommendation status.
>
> A Google search for "CSS3 vendor prefix" will turn up lots of discussion on
> the www-style mailing list about this.
>
> Simon
>
> ___
> 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] Why vendor-specific attributes in CSS3 parsing engine?

2011-05-18 Thread Simon Fraser
On May 18, 2011, at 6:36 AM, Sabri Aurrelia wrote:

> Why does webkit not provide support for native CSS3 attributes in its parsing 
> engine where those attributes clearly coincide with most other browsers' 
> attributes -and- the Candidate Recommendations set forth by W3?
> 
> Let me put it this way:  What is the purpose of every browser having their 
> own nearly-identically named attributes that take the same arguments, which 
> are also the same as the attributes set forth in the Candidate Recommendation?
> 
> What makes -webkit-column-gap and -moz-column-gap and column-gap different 
> from each other aside from the name, and if that's true, why is there even a 
> name difference?
> 
> Is it a waiting game?  Or is it possible to take the initiative and adopt 
> early the attributes recommended?  Is there too much risk involved in early 
> adoption even where there's already nearly complete consensus among vendors?

Vendor prefixes remain on new properties until the draft spec that describes 
them reaches Candidate Recommendation status.

A Google search for "CSS3 vendor prefix" will turn up lots of discussion on the 
www-style mailing list about this.

Simon

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


[webkit-dev] Why vendor-specific attributes in CSS3 parsing engine?

2011-05-18 Thread Sabri Aurrelia
Why does webkit not provide support for native CSS3 attributes in its 
parsing engine where those attributes clearly coincide with most other 
browsers' attributes -and- the Candidate Recommendations set forth by W3?


Let me put it this way:  What is the purpose of every browser having 
their own nearly-identically named attributes that take the same 
arguments, which are also the same as the attributes set forth in the 
Candidate Recommendation?


What makes -webkit-column-gap and -moz-column-gap and column-gap 
different from each other aside from the name, and if that's true, why 
is there even a name difference?


Is it a waiting game?  Or is it possible to take the initiative and 
adopt early the attributes recommended?  Is there too much risk involved 
in early adoption even where there's already nearly complete consensus 
among vendors?


--M.Pemrich

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


Re: [webkit-dev] Question on Inline element

2011-05-18 Thread Eric Seidel
I still don't understand the "problem" here?   The bug you mentioned was
marked invalid.  As far as I can tell our current float behavior is correct.

-eric

On Wed, May 18, 2011 at 12:35 AM, Mustafizur Rahaman
wrote:

> You can see that the  overflows the paragraph in both Firefox and
>> WebKit.  This seems to be caused by the align="left", which I believe
>> implies the CSS style "float: left;".  I suspect that floats do not get
>> counted towards the height of a block, but I'd have to check.  I suspect
>> that if we cleared the float (adding something with style="float: clear")
>> after the  we would see the p (block) expand so that the img did not
>> overflow.
>>
>
> Hi Eric,
>
> You were right. If i make the example as style="float:none", now the
> paragraph area counts for the image area too & below is what I have
> debugged.
>
> When image float=>Inside RenderBlock::layoutRunsAndFloats(), my
> BidiResolver contain the RenderObject for Img. Now when it searches for next
> line break, it finds that the float needs a separate line box (in
> RenderBlock::LineBreaker::skipLeadingWhitespace), therefore it calculates
> the layout for the img in positionNewFloatOnLine() & increment the resolver.
>
> As a result when the calculation reaches in
> RenderBlock::createLineBoxesFromBidiRuns, the BidiRunList I have received
> from the resolver no more contain the image node, therefore the paragraph
> area calculation is only done based on the text it contains.
>
> When Image in NOT float=>As per the above call flow, in
> RenderBlock::LineBreaker::skipLeadingWhitespace, it finds that it does not
> need a separate linebox for img render, therefore it does not increment the
> resolver. So, in RenderBlock::createLineBoxesFromBidiRuns() the BidiRunList
> contain all the children of the paragraph including the image & the text, as
> a result the paragraph area counts for the image area.
>
> So, ther root cause of the problem is when for float image,
> positionNewFloatOnLine() is called, it has to appropriately set the
> paragraph framerect.
>
> Thanks.
>
> On Tue, May 17, 2011 at 11:48 PM, Eric Seidel  wrote:
>
>>
>>
>> On Tue, May 17, 2011 at 4:12 AM, Mustafizur Rahaman <
>> mustaf.h...@gmail.com> wrote:
>>
>>> Hi Eric,
>>>
>>> Thanks for your patient & detailed answer :-) So based on your
>>> explanation, I understand that a paragraph element can contain an image
>>> (inline) & text (inline) element altogether.
>>> Am i correct?
>>>
>>> If that is so, as per my understanding the m_framerect of Renderblock
>>> corresponding to Paragraph element will contain both the image & text
>>> element.
>>> Is this understanding correct?
>>>
>>
>> From RenderBox.h:
>>
>> private:
>>
>> // The width/height of the contents + borders + padding.  The x/y
>> location is relative to our container (which is not always our parent).
>>
>> IntRect m_frameRect;
>>
>> So yes, I would expect that to include the rects of all kids, including
>> the text and image.
>>
>> I wrote the below html to draw a border around the paragraph element, but
>>> the border is drawn around the text element only as can be seen in Safari
>>> browser too, which brings to the conclusion that the framerect calculation
>>> of paragraph element is not taking into consideration the children image
>>> element.
>>> 
>>> 
>>> 
>>> p.one
>>> {
>>> border-style:solid;
>>> border-width:5px;
>>> }
>>> 
>>> 
>>>  >> height="256" align="left">Subscribe
>>> 
>>
>>
>> A slightly modified example:
>> 
>> p { border: 5px solid black; }
>> img { border: 2px solid red }
>> 
>> > align="left">text
>>
>>
>> You can see that the  overflows the paragraph in both Firefox and
>> WebKit.  This seems to be caused by the align="left", which I believe
>> implies the CSS style "float: left;".  I suspect that floats do not get
>> counted towards the height of a block, but I'd have to check.  I suspect
>> that if we cleared the float (adding something with style="float: clear")
>> after the  we would see the p (block) expand so that the img did not
>> overflow.
>>
>>
>>>
>>> I have also debugged the WebKit code & found that while doing layout
>>> calculation for Paragraph element, it goes inside
>>> RenderBlock::layoutInlineChildren==> Inside this we are doing the layout
>>> for each of the children. As per my understanding, the size of paragraph
>>> element would be the largest of its children & I dont see any such
>>> calculation. Could you please suggest where I should look to fix this issue
>>> appropriately?
>>>
>>
>> As far as I can tell, there is no issue to fix. :)  I suggest that you
>> read the CSS 2.1 spec and this will all become much clearer.
>>
>> As to where the height of a block is calculated? I would have to dig
>> around, but I would start with methods like
>> computeContentBoxLogicalHeight The height is going to be calculated as
>> part of layout() through a series of setLogicalHeight(foo) calls I would
>> imagine.
>>
>>
>>> Thanks,
>>> Rahaman
>>>
>>> On Fri, May 13, 20

Re: [webkit-dev] Question on Inline element

2011-05-18 Thread Mustafizur Rahaman
>
> You can see that the  overflows the paragraph in both Firefox and
> WebKit.  This seems to be caused by the align="left", which I believe
> implies the CSS style "float: left;".  I suspect that floats do not get
> counted towards the height of a block, but I'd have to check.  I suspect
> that if we cleared the float (adding something with style="float: clear")
> after the  we would see the p (block) expand so that the img did not
> overflow.
>

Hi Eric,

You were right. If i make the example as style="float:none", now the
paragraph area counts for the image area too & below is what I have
debugged.

When image float=>Inside RenderBlock::layoutRunsAndFloats(), my BidiResolver
contain the RenderObject for Img. Now when it searches for next line break,
it finds that the float needs a separate line box (in
RenderBlock::LineBreaker::skipLeadingWhitespace), therefore it calculates
the layout for the img in positionNewFloatOnLine() & increment the resolver.

As a result when the calculation reaches in
RenderBlock::createLineBoxesFromBidiRuns, the BidiRunList I have received
from the resolver no more contain the image node, therefore the paragraph
area calculation is only done based on the text it contains.

When Image in NOT float=>As per the above call flow, in
RenderBlock::LineBreaker::skipLeadingWhitespace, it finds that it does not
need a separate linebox for img render, therefore it does not increment the
resolver. So, in RenderBlock::createLineBoxesFromBidiRuns() the BidiRunList
contain all the children of the paragraph including the image & the text, as
a result the paragraph area counts for the image area.

So, ther root cause of the problem is when for float image,
positionNewFloatOnLine() is called, it has to appropriately set the
paragraph framerect.

Thanks.

On Tue, May 17, 2011 at 11:48 PM, Eric Seidel  wrote:

>
>
> On Tue, May 17, 2011 at 4:12 AM, Mustafizur Rahaman  > wrote:
>
>> Hi Eric,
>>
>> Thanks for your patient & detailed answer :-) So based on your
>> explanation, I understand that a paragraph element can contain an image
>> (inline) & text (inline) element altogether.
>> Am i correct?
>>
>> If that is so, as per my understanding the m_framerect of Renderblock
>> corresponding to Paragraph element will contain both the image & text
>> element.
>> Is this understanding correct?
>>
>
> From RenderBox.h:
>
> private:
>
> // The width/height of the contents + borders + padding.  The x/y
> location is relative to our container (which is not always our parent).
>
> IntRect m_frameRect;
>
> So yes, I would expect that to include the rects of all kids, including the
> text and image.
>
> I wrote the below html to draw a border around the paragraph element, but
>> the border is drawn around the text element only as can be seen in Safari
>> browser too, which brings to the conclusion that the framerect calculation
>> of paragraph element is not taking into consideration the children image
>> element.
>> 
>> 
>> 
>> p.one
>> {
>> border-style:solid;
>> border-width:5px;
>> }
>> 
>> 
>>  > height="256" align="left">Subscribe
>> 
>
>
> A slightly modified example:
> 
> p { border: 5px solid black; }
> img { border: 2px solid red }
> 
>  align="left">text
>
>
> You can see that the  overflows the paragraph in both Firefox and
> WebKit.  This seems to be caused by the align="left", which I believe
> implies the CSS style "float: left;".  I suspect that floats do not get
> counted towards the height of a block, but I'd have to check.  I suspect
> that if we cleared the float (adding something with style="float: clear")
> after the  we would see the p (block) expand so that the img did not
> overflow.
>
>
>>
>> I have also debugged the WebKit code & found that while doing layout
>> calculation for Paragraph element, it goes inside
>> RenderBlock::layoutInlineChildren==> Inside this we are doing the layout
>> for each of the children. As per my understanding, the size of paragraph
>> element would be the largest of its children & I dont see any such
>> calculation. Could you please suggest where I should look to fix this issue
>> appropriately?
>>
>
> As far as I can tell, there is no issue to fix. :)  I suggest that you read
> the CSS 2.1 spec and this will all become much clearer.
>
> As to where the height of a block is calculated? I would have to dig
> around, but I would start with methods like computeContentBoxLogicalHeight The
> height is going to be calculated as part of layout() through a series of
> setLogicalHeight(foo) calls I would imagine.
>
>
>> Thanks,
>> Rahaman
>>
>> On Fri, May 13, 2011 at 11:25 PM, Eric Seidel  wrote:
>>
>>>
>>>
>>> On Thu, May 12, 2011 at 10:52 PM, Mustafizur Rahaman <
>>> mustaf.h...@gmail.com> wrote:
>>>
 So my question is

- Can a paragraph element contain an image element=> the html spec
does not say NO.

 Yes.  There are two specs at play here.  HTML and CSS. Ignore anything
>>> prior to HTML5 as it was proscriptive rath