[webkit-dev] Implementing CSS3 Paged Media Margin Boxes
Simon Fraser
simon.fraser at apple.com
Tue May 1 11:16:07 PDT 2012
Dave Hyatt is interested in doing more Paged Media stuff.
Any work in this area should be preceded by a conversation with Dave.
Simon
On Apr 27, 2012, at 11:47 AM, Eric Seidel wrote:
> Ref-tests did not exist in WebKit when I last looked at this. I added
> pdf printing tests, only to realize that pdfs include user/machine
> information and thus are useless for x-machine testing.
>
> If our ref-test mechanism works for large pages that could work well.
> :) With printing tests you'll want to be able to test taht page 27
> has the right number and that it was laid out on the 4th printed page,
> etc. :)
>
> On Fri, Apr 27, 2012 at 10:29 AM, Milian Wolff <milian.wolff at kdab.com> wrote:
>> On Friday 27 April 2012 10:08:13 Eric Seidel wrote:
>>> When I last looked at the page media stuff (long ago). The problem
>>> was mostly going to be testing. We don't have a good way to do
>>> printing tests right now in WebKit.
>>
>> Someone in the webkit community introduced me to the idea of reftests, which
>> seem to be a viable option for proper printing tests. I think of something
>> like the following that should work since we know the pixel dimensions of a
>> printed page in our unit tests to be 800x600:
>>
>> // @page margin test
>> <html>
>> <head>
>> <style>
>> * { margin:0; padding:0; }
>> @page { margin: 10px; }
>> div { width: 800px; height: 600px; background: green; }
>> </style>
>> </head>
>> <body>
>> <div>should have a 10px margin</div>
>> </body>
>> </head>
>> </html>
>>
>> // alternative
>> <html>
>> <head>
>> <style>
>> * { margin:0; padding:0; }
>> div { width: 780px; height: 580px; margin: 10px; }
>> </style>
>> </head>
>> <body>
>> <div>should have a 10px margin</div>
>> </body>
>> </head>
>> </html>
>>
>> Now both versions can be "printed" to PNG similar to what the existing
>> LayoutTestController.setPrinting() does. The resulting two platform specific
>> images can be compared and should match - if not, something went wrong.
>>
>> Am I missing something, is the above impractical?
>>
>> Cheers
>>
>>> On Fri, Apr 27, 2012 at 7:22 AM, Milian Wolff <milian.wolff at kdab.com> wrote:
>>>> Hey all,
>>>>
>>>> I would like to work on the CSS3 Paged Media support, esp. the margin
>>>> boxes. I'm studying the code for some time now and would welcome it if
>>>> someone could assist me in figuring out what needs to be done...
>>>>
>>>> First up, I think I should tackle the missing support in the parser, i.e.
>>>> solving the FIXME in CSSParser::createMarginAtRule. I found that
>>>> CSSFontFaceRule looks similar and could write some code based on that. A
>>>> few questions arise now:
>>>>
>>>> a) For the unit tests (probably not only there) I need to have a special
>>>> margin-at CSSRule for cssText(). I'll probably be able to copy most of the
>>>> stuff again, but where in the build system do I have to add these new
>>>> files?
>>>>
>>>> b) What CSSRule::Type should the above have? WEBKIT_MARGINAT_RULE at the
>>>> end (hence value 11)?. I could not find an official IDL proposal that
>>>> includes the margin at rules.
>>>>
>>>> c) These margin-at rules can only occur inside a page rule, and I need to
>>>> access them from somewhere - what is the suggested path to take here?
>>>> create StyleRulePage::setMarginRules or similar? Or reuse stuff from
>>>> StyleRuleBlock?
>>>>
>>>> d) When I have some partial patch ready, where could I get input? Should I
>>>> attach it to a bug report (I've opened
>>>> https://bugs.webkit.org/show_bug.cgi?id=85062 for that purpose)
>>>>
>>>> f) I see that there are files like JSCSSFontFaceRuleCustom.cpp - what do I
>>>> need to do there to get the new MediaAtRule accessible from JavaScript?
>>>>
>>>> Bye
>>>> --
>>>> Milian Wolff | milian.wolff at kdab.com | Software Engineer
>>>> KDAB (Deutschland) GmbH&Co KG, a KDAB Group company
>>>> Tel. Germany +49-30-521325470, Sweden (HQ) +46-563-540090
>>>> KDAB - Qt Experts - Platform-independent software solutions
>>>>
>>>> _______________________________________________
>>>> webkit-dev mailing list
>>>> webkit-dev at lists.webkit.org
>>>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>> --
>> Milian Wolff | milian.wolff at kdab.com | Software Engineer
>> KDAB (Deutschland) GmbH&Co KG, a KDAB Group company
>> Tel. Germany +49-30-521325470, Sweden (HQ) +46-563-540090
>> KDAB - Qt Experts - Platform-independent software solutions
>>
>> _______________________________________________
>> webkit-dev mailing list
>> webkit-dev at lists.webkit.org
>> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
>>
> _______________________________________________
> webkit-dev mailing list
> webkit-dev at lists.webkit.org
> http://lists.webkit.org/mailman/listinfo.cgi/webkit-dev
More information about the webkit-dev
mailing list