Bug 65419 - REGRESSION:culledInlineAbsoluteRects needs to translate a 0,0 point to absolute coordinates so that the top left position is accurate.
Summary: REGRESSION:culledInlineAbsoluteRects needs to translate a 0,0 point to absolu...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 528+ (Nightly build)
Hardware: All Unspecified
: P2 Normal
Assignee: Enrica Casucci
URL:
Keywords: InRadar
Depends on: 65453
Blocks:
  Show dependency treegraph
 
Reported: 2011-07-30 16:22 PDT by Enrica Casucci
Modified: 2011-08-01 01:43 PDT (History)
6 users (show)

See Also:


Attachments
Patch (7.66 KB, patch)
2011-07-30 16:32 PDT, Enrica Casucci
mitz: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Enrica Casucci 2011-07-30 16:22:33 PDT
Make sure that culledInlineAbsoluteRect still does
a translation of a 0,0 point to absolute coordinates so that the top left position is
accurate.

The equivalent bug for culledInlineAbsoluteQuads has already been fixed. 
https://bugs.webkit.org/show_bug.cgi?id=60040
Comment 1 Enrica Casucci 2011-07-30 16:25:45 PDT
<rdar://problem/9408862>
Comment 2 Enrica Casucci 2011-07-30 16:32:17 PDT
Created attachment 102444 [details]
Patch
Comment 3 mitz 2011-07-30 16:40:15 PDT
Comment on attachment 102444 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=102444&action=review

> Source/WebCore/ChangeLog:8
> +        This bug fixes a regression introduced in r83075.

I think you mean “this patch”

> Source/WebCore/testing/Internals.h:40
>  class Document;
>  class Element;
>  class Node;
> +class ClientRect;

Please keep these in ASCII order.

> Source/WebCore/testing/Internals.h:64
>  
> +    PassRefPtr<ClientRect> boundingBox(Element*, ExceptionCode&);

We need a newline before the private: label.

> Source/WebCore/testing/Internals.idl:41
> +        ClientRect boundingBox(in Element element) raises(DOMException);

and maybe a newline above this

> LayoutTests/fast/inline/skipped-whitespace-boundingBox.html:10
> +    //var rect = document.getElementById('test').getBoundingClientRect();

No need for this comment :)
Comment 4 Enrica Casucci 2011-07-30 16:52:02 PDT
http://trac.webkit.org/changeset/92059
Comment 5 Adam Barth 2011-07-30 20:40:08 PDT
This patch appears to have broken fast/css/outline-auto-empty-rects.html on Chromium Mac:

http://test-results.appspot.com/dashboards/flakiness_dashboard.html#showExpectations=true&tests=fast%2Fcss%2Foutline-auto-empty-rects.html
Comment 6 Daniel Bates 2011-07-30 22:34:37 PDT
This patch broke the Windows Debug and Release build bots:

[[
...
4>Linking...
4>WebCoreTestSupport.lib(JSInternals.obj) : error LNK2019: unresolved external symbol "class JSC::JSValue __cdecl WebCore::toJS(class JSC::ExecState *,class WebCore::JSDOMGlobalObject *,class WebCore::ClientRect *)" (?toJS@WebCore@@YA?AVJSValue@JSC@@PAVExecState@3@PAVJSDOMGlobalObject@1@PAVClientRect@1@@Z) referenced in function "__int64 __fastcall WebCore::jsInternalsPrototypeFunctionBoundingBox(class JSC::ExecState *)" (?jsInternalsPrototypeFunctionBoundingBox@WebCore@@YI_JPAVExecState@JSC@@@Z)
4>WebCoreTestSupport.lib(Internals.obj) : error LNK2019: unresolved external symbol "private: __thiscall WebCore::ClientRect::ClientRect(void)" (??0ClientRect@WebCore@@AAE@XZ) referenced in function "public: static class WTF::PassRefPtr<class WebCore::ClientRect> __cdecl WebCore::ClientRect::create(void)" (?create@ClientRect@WebCore@@SA?AV?$PassRefPtr@VClientRect@WebCore@@@WTF@@XZ)
4>WebCoreTestSupport.lib(Internals.obj) : error LNK2019: unresolved external symbol "private: __thiscall WebCore::ClientRect::ClientRect(class WebCore::IntRect const &)" (??0ClientRect@WebCore@@AAE@ABVIntRect@1@@Z) referenced in function "public: static class WTF::PassRefPtr<class WebCore::ClientRect> __cdecl WebCore::ClientRect::create(class WebCore::IntRect const &)" (?create@ClientRect@WebCore@@SA?AV?$PassRefPtr@VClientRect@WebCore@@@WTF@@ABVIntRect@2@@Z)
4>WebCoreTestSupport.lib(Internals.obj) : error LNK2019: unresolved external symbol "public: class WebCore::IntRect __thiscall WebCore::RenderObject::absoluteBoundingBoxRect(bool)" (?absoluteBoundingBoxRect@RenderObject@WebCore@@QAE?AVIntRect@2@_N@Z) referenced in function "public: class WTF::PassRefPtr<class WebCore::ClientRect> __thiscall WebCore::Internals::boundingBox(class WebCore::Element *,int &)" (?boundingBox@Internals@WebCore@@QAE?AV?$PassRefPtr@VClientRect@WebCore@@@WTF@@PAVElement@2@AAH@Z)
4>WebCoreTestSupport.lib(Internals.obj) : error LNK2019: unresolved external symbol "public: void __thiscall WebCore::Document::updateLayoutIgnorePendingStylesheets(void)" (?updateLayoutIgnorePendingStylesheets@Document@WebCore@@QAEXXZ) referenced in function "public: class WTF::PassRefPtr<class WebCore::ClientRect> __thiscall WebCore::Internals::boundingBox(class WebCore::Element *,int &)" (?boundingBox@Internals@WebCore@@QAE?AV?$PassRefPtr@VClientRect@WebCore@@@WTF@@PAVElement@2@AAH@Z)
]]
(http://build.webkit.org/builders/Windows%20Release%20%28Build%29/builds/19341/steps/compile-webkit/logs/stdio)
Comment 7 mitz 2011-07-30 22:56:48 PDT
Build fix attempt in r92070.
Comment 8 Daniel Bates 2011-07-30 23:17:02 PDT
For completeness, the GTK bots have also been failing since this patch landed; complaining about a missing cairo.h, weird. See bug #65426 for more details.
Comment 9 Daniel Bates 2011-07-31 00:44:57 PDT
(In reply to comment #4)
> http://trac.webkit.org/changeset/92059

This change also broke the WinCairo Debug build.

Committed build fix attempt in <http://trac.webkit.org/changeset/92078>.
Comment 10 Daniel Bates 2011-07-31 01:29:34 PDT
(In reply to comment #9)
> (In reply to comment #4)
> > http://trac.webkit.org/changeset/92059
> 
> This change also broke the WinCairo Debug build.
> 
> Committed build fix attempt in <http://trac.webkit.org/changeset/92078>.

Committed some more fixes in <http://trac.webkit.org/changeset/92079>. I needed to add the missing symbols to WebKit2CFLite.def to fix the build. Previously I only added them to WebKit_Cairo.def and WebKit_Cairo_debug.def, but this was insufficient. Are WebKit_Cairo.def and WebKit_Cairo_debug.def still used?

I left the changes to WebKit_Cairo.def and WebKit_Cairo_debug.def made in <http://trac.webkit.org/changeset/92078> in the tree. It's pretty late and I'm tired. I'll look into this some more tomorrow.  If these changes aren't needed then feel free to rollout <http://trac.webkit.org/changeset/92078>. 

CC'ing Brent Fulgham who may have some insight.
Comment 11 Daniel Bates 2011-07-31 02:04:05 PDT
(In reply to comment #8)
> For completeness, the GTK bots have also been failing since this patch landed; complaining about a missing cairo.h, weird. See bug #65426 for more details.

Fixed in <http://trac.webkit.org/changeset/92081>.