Changeset 40837 in webkit
- Timestamp:
- Feb 10, 2009 3:42:44 PM (15 years ago)
- Location:
- trunk
- Files:
-
- 10 added
- 17 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r40814 r40837 1 2009-02-08 Sam Weinig <sam@webkit.org> 2 3 Reviewed by David Hyatt. 4 5 Tests for https://bugs.webkit.org/show_bug.cgi?id=15897 6 Please implement getBoundingClientRect and getClientRects 7 <rdar://problem/6139669> 8 9 * fast/dom/Window/window-properties-expected.txt: 10 * fast/dom/domListEnumeration-expected.txt: 11 * fast/dom/getBoundingClientRect-expected.txt: Added. 12 * fast/dom/getBoundingClientRect.html: Added. 13 * fast/dom/getClientRects-expected.txt: Added. 14 * fast/dom/getClientRects.html: Added. 15 * fast/dom/resources/domListEnumeration.js: 16 * fast/js/global-constructors-expected.txt: 17 1 18 2009-02-10 Feng Qian <feng@chromium.org> 2 19 -
trunk/LayoutTests/fast/dom/Window/window-properties-expected.txt
r40672 r40837 365 365 window.CharacterData.prototype.replaceData [function] 366 366 window.CharacterData.prototype.substringData [function] 367 window.ClientRect [object ClientRectConstructor] 368 window.ClientRect.prototype [object ClientRectPrototype] 369 window.ClientRectList [object ClientRectListConstructor] 370 window.ClientRectList.prototype [object ClientRectListPrototype] 371 window.ClientRectList.prototype.item [function] 367 372 window.Clipboard [object ClipboardConstructor] 368 373 window.Clipboard.prototype [object ClipboardPrototype] … … 609 614 window.Element.prototype.getAttributeNode [function] 610 615 window.Element.prototype.getAttributeNodeNS [function] 616 window.Element.prototype.getBoundingClientRect [function] 617 window.Element.prototype.getClientRects [function] 611 618 window.Element.prototype.getElementsByClassName [function] 612 619 window.Element.prototype.getElementsByTagName [function] -
trunk/LayoutTests/fast/dom/domListEnumeration-expected.txt
r35401 r40837 33 33 34 34 [object HTMLFormElement] 35 PASS resultArray.length is 1 2835 PASS resultArray.length is 130 36 36 PASS resultArray[0].i is '0' 37 37 PASS resultArray[0].item is document.getElementsByTagName('select')[0] … … 42 42 43 43 [object HTMLSelectElement] 44 PASS resultArray.length is 13 344 PASS resultArray.length is 135 45 45 PASS resultArray[0].i is '0' 46 46 PASS resultArray[0].item is document.getElementsByTagName('option')[0] -
trunk/LayoutTests/fast/dom/resources/domListEnumeration.js
r35396 r40837 131 131 var htmlFormElement = document.getElementsByTagName('form')[0]; 132 132 resultArray = iterateList(htmlFormElement); 133 shouldBe("resultArray.length", "1 28");133 shouldBe("resultArray.length", "130"); 134 134 shouldBe("resultArray[0].i", "'0'"); 135 135 shouldBe("resultArray[0].item", "document.getElementsByTagName('select')[0]"); … … 142 142 var htmlSelectElement = document.getElementsByTagName('select')[0]; 143 143 resultArray = iterateList(htmlSelectElement); 144 shouldBe("resultArray.length", "13 3");144 shouldBe("resultArray.length", "135"); 145 145 shouldBe("resultArray[0].i", "'0'"); 146 146 shouldBe("resultArray[0].item", "document.getElementsByTagName('option')[0]"); -
trunk/LayoutTests/fast/js/global-constructors-expected.txt
r39927 r40837 24 24 PASS CanvasRenderingContext2D.toString() is '[object CanvasRenderingContext2DConstructor]' 25 25 PASS CharacterData.toString() is '[object CharacterDataConstructor]' 26 PASS ClientRect.toString() is '[object ClientRectConstructor]' 27 PASS ClientRectList.toString() is '[object ClientRectListConstructor]' 26 28 PASS Clipboard.toString() is '[object ClipboardConstructor]' 27 29 PASS Comment.toString() is '[object CommentConstructor]' -
trunk/WebCore/ChangeLog
r40836 r40837 1 2009-02-10 Sam Weinig <sam@webkit.org> 2 3 Reviewed by David Hyatt. 4 5 Fix for https://bugs.webkit.org/show_bug.cgi?id=15897 6 Please implement getBoundingClientRect and getClientRects 7 <rdar://problem/6139669> 8 9 Cursory implementation of Element.getBoundingClientRect and 10 Element.getClientRects. Adds necessary infrastructure classes 11 ClientRect and ClientRectList. 12 13 Tests: fast/dom/getBoundingClientRect.html 14 fast/dom/getClientRects.html 15 16 * DerivedSources.make: 17 * GNUmakefile.am: 18 * WebCore.pro: 19 * WebCore.vcproj/WebCore.vcproj: 20 * WebCore.xcodeproj/project.pbxproj: 21 * WebCoreSources.bkl: 22 * dom/ClientRect.cpp: Added. 23 (WebCore::ClientRect::ClientRect): 24 * dom/ClientRect.h: Added. 25 (WebCore::ClientRect::create): 26 (WebCore::ClientRect::top): 27 (WebCore::ClientRect::right): 28 (WebCore::ClientRect::bottom): 29 (WebCore::ClientRect::left): 30 (WebCore::ClientRect::width): 31 (WebCore::ClientRect::height): 32 * dom/ClientRect.idl: Added. 33 * dom/ClientRectList.cpp: Added. 34 (WebCore::ClientRectList::ClientRectList): 35 (WebCore::ClientRectList::~ClientRectList): 36 (WebCore::ClientRectList::length): 37 (WebCore::ClientRectList::item): 38 * dom/ClientRectList.h: Added. 39 (WebCore::ClientRectList::create): 40 * dom/ClientRectList.idl: Added. 41 * dom/Element.cpp: 42 (WebCore::Element::getClientRects): 43 (WebCore::Element::getBoundingClientRect): 44 * dom/Element.h: 45 * dom/Element.idl: 46 * page/DOMWindow.idl: 47 * rendering/RenderInline.cpp: 48 (WebCore::RenderInline::absoluteRects): 49 (WebCore::RenderInline::absoluteQuads): 50 1 51 2009-02-10 David Hyatt <hyatt@apple.com> 2 52 -
trunk/WebCore/DerivedSources.make
r40672 r40837 68 68 CanvasRenderingContext2D \ 69 69 CharacterData \ 70 ClientRect \ 71 ClientRectList \ 70 72 Clipboard \ 71 73 Comment \ -
trunk/WebCore/GNUmakefile.am
r40796 r40837 103 103 WebCore/dom/CDATASection.idl \ 104 104 WebCore/dom/CharacterData.idl \ 105 WebCore/dom/ClientRect.idl \ 106 WebCore/dom/ClientRectList.idl \ 105 107 WebCore/dom/Clipboard.idl \ 106 108 WebCore/dom/Comment.idl \ … … 548 550 WebCore/dom/ClassNodeList.cpp \ 549 551 WebCore/dom/ClassNodeList.h \ 552 WebCore/dom/ClientRect.cpp \ 553 WebCore/dom/ClientRect.h \ 554 WebCore/dom/ClientRectList.cpp \ 555 WebCore/dom/ClientRectList.h \ 550 556 WebCore/dom/Clipboard.cpp \ 551 557 WebCore/dom/Clipboard.h \ -
trunk/WebCore/WebCore.pro
r40793 r40837 266 266 dom/Attr.idl \ 267 267 dom/CharacterData.idl \ 268 dom/ClientRect.idl \ 269 dom/ClientRectList.idl \ 268 270 dom/Clipboard.idl \ 269 271 dom/CDATASection.idl \ … … 564 566 dom/ClassNames.cpp \ 565 567 dom/ClassNodeList.cpp \ 568 dom/ClientRect.cpp \ 569 dom/ClientRectList.cpp \ 566 570 dom/Clipboard.cpp \ 567 571 dom/ClipboardEvent.cpp \ -
trunk/WebCore/WebCore.vcproj/WebCore.vcproj
r40793 r40837 617 617 </File> 618 618 <File 619 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSClientRect.h" 620 > 621 </File> 622 <File 623 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSClientRectList.h" 624 > 625 </File> 626 <File 619 627 RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\JSCSSVariablesRule.h" 620 628 > … … 11064 11072 <File 11065 11073 RelativePath="..\dom\ClassNodeList.h" 11074 > 11075 </File> 11076 <File 11077 RelativePath="..\dom\ClientRect.cpp" 11078 > 11079 <FileConfiguration 11080 Name="Release_PGO|Win32" 11081 > 11082 <Tool 11083 Name="VCCLCompilerTool" 11084 WholeProgramOptimization="true" 11085 /> 11086 </FileConfiguration> 11087 </File> 11088 <File 11089 RelativePath="..\dom\ClientRect.h" 11090 > 11091 </File> 11092 <File 11093 RelativePath="..\dom\ClientRectList.cpp" 11094 > 11095 <FileConfiguration 11096 Name="Release_PGO|Win32" 11097 > 11098 <Tool 11099 Name="VCCLCompilerTool" 11100 WholeProgramOptimization="true" 11101 /> 11102 </FileConfiguration> 11103 </File> 11104 <File 11105 RelativePath="..\dom\ClientRectList.h" 11066 11106 > 11067 11107 </File> -
trunk/WebCore/WebCore.xcodeproj/project.pbxproj
r40793 r40837 4102 4102 BCBFB53C0DCD29CF0019B3E5 /* JSDOMWindowShell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCBFB53A0DCD29CF0019B3E5 /* JSDOMWindowShell.cpp */; }; 4103 4103 BCBFB53D0DCD29CF0019B3E5 /* JSDOMWindowShell.h in Headers */ = {isa = PBXBuildFile; fileRef = BCBFB53B0DCD29CF0019B3E5 /* JSDOMWindowShell.h */; settings = {ATTRIBUTES = (Private, ); }; }; 4104 BCC0657D0F3CE1B700CD2D87 /* ClientRect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC065770F3CE1B700CD2D87 /* ClientRect.cpp */; }; 4105 BCC0657E0F3CE1B700CD2D87 /* ClientRect.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC065780F3CE1B700CD2D87 /* ClientRect.h */; }; 4106 BCC0657F0F3CE1B700CD2D87 /* ClientRect.idl in Resources */ = {isa = PBXBuildFile; fileRef = BCC065790F3CE1B700CD2D87 /* ClientRect.idl */; }; 4107 BCC065800F3CE1B700CD2D87 /* ClientRectList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC0657A0F3CE1B700CD2D87 /* ClientRectList.cpp */; }; 4108 BCC065810F3CE1B700CD2D87 /* ClientRectList.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC0657B0F3CE1B700CD2D87 /* ClientRectList.h */; }; 4109 BCC065820F3CE1B700CD2D87 /* ClientRectList.idl in Resources */ = {isa = PBXBuildFile; fileRef = BCC0657C0F3CE1B700CD2D87 /* ClientRectList.idl */; }; 4110 BCC065870F3CE2A700CD2D87 /* JSClientRect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC065830F3CE2A700CD2D87 /* JSClientRect.cpp */; }; 4111 BCC065880F3CE2A700CD2D87 /* JSClientRect.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC065840F3CE2A700CD2D87 /* JSClientRect.h */; }; 4112 BCC065890F3CE2A700CD2D87 /* JSClientRectList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC065850F3CE2A700CD2D87 /* JSClientRectList.cpp */; }; 4113 BCC0658A0F3CE2A700CD2D87 /* JSClientRectList.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC065860F3CE2A700CD2D87 /* JSClientRectList.h */; }; 4104 4114 BCC438780E886CC700533DD5 /* JSHTMLInputElementCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCC438770E886CC700533DD5 /* JSHTMLInputElementCustom.cpp */; }; 4105 4115 BCC573350D695BBE006EF517 /* DOMProgressEvent.h in Headers */ = {isa = PBXBuildFile; fileRef = BCC573330D695BBE006EF517 /* DOMProgressEvent.h */; }; … … 8885 8895 BCBFB53A0DCD29CF0019B3E5 /* JSDOMWindowShell.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSDOMWindowShell.cpp; sourceTree = "<group>"; }; 8886 8896 BCBFB53B0DCD29CF0019B3E5 /* JSDOMWindowShell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSDOMWindowShell.h; sourceTree = "<group>"; }; 8897 BCC065770F3CE1B700CD2D87 /* ClientRect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ClientRect.cpp; sourceTree = "<group>"; }; 8898 BCC065780F3CE1B700CD2D87 /* ClientRect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClientRect.h; sourceTree = "<group>"; }; 8899 BCC065790F3CE1B700CD2D87 /* ClientRect.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ClientRect.idl; sourceTree = "<group>"; }; 8900 BCC0657A0F3CE1B700CD2D87 /* ClientRectList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ClientRectList.cpp; sourceTree = "<group>"; }; 8901 BCC0657B0F3CE1B700CD2D87 /* ClientRectList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ClientRectList.h; sourceTree = "<group>"; }; 8902 BCC0657C0F3CE1B700CD2D87 /* ClientRectList.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ClientRectList.idl; sourceTree = "<group>"; }; 8903 BCC065830F3CE2A700CD2D87 /* JSClientRect.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSClientRect.cpp; sourceTree = "<group>"; }; 8904 BCC065840F3CE2A700CD2D87 /* JSClientRect.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSClientRect.h; sourceTree = "<group>"; }; 8905 BCC065850F3CE2A700CD2D87 /* JSClientRectList.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSClientRectList.cpp; sourceTree = "<group>"; }; 8906 BCC065860F3CE2A700CD2D87 /* JSClientRectList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSClientRectList.h; sourceTree = "<group>"; }; 8887 8907 BCC438770E886CC700533DD5 /* JSHTMLInputElementCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSHTMLInputElementCustom.cpp; sourceTree = "<group>"; }; 8888 8908 BCC573330D695BBE006EF517 /* DOMProgressEvent.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DOMProgressEvent.h; sourceTree = "<group>"; }; … … 12186 12206 isa = PBXGroup; 12187 12207 children = ( 12208 BCC065830F3CE2A700CD2D87 /* JSClientRect.cpp */, 12209 BCC065840F3CE2A700CD2D87 /* JSClientRect.h */, 12210 BCC065850F3CE2A700CD2D87 /* JSClientRectList.cpp */, 12211 BCC065860F3CE2A700CD2D87 /* JSClientRectList.h */, 12212 930705D709E0C9B700B17FE4 /* JSCounter.cpp */, 12213 930705D909E0C9BF00B17FE4 /* JSCounter.h */, 12188 12214 BC46C1F00C0DDC8F0020CFC3 /* JSCSSCharsetRule.cpp */, 12189 12215 BC46C1F10C0DDC8F0020CFC3 /* JSCSSCharsetRule.h */, … … 12216 12242 BC686C7A0E0C330100DE8A08 /* JSCSSVariablesRule.cpp */, 12217 12243 BC686C7B0E0C330100DE8A08 /* JSCSSVariablesRule.h */, 12218 930705D709E0C9B700B17FE4 /* JSCounter.cpp */,12219 930705D909E0C9BF00B17FE4 /* JSCounter.h */,12220 12244 BC3C39B40C0D3D8D005F4D7A /* JSMediaList.cpp */, 12221 12245 BC3C39B50C0D3D8D005F4D7A /* JSMediaList.h */, 12222 BC3452550D7E02850016574A /* JSRGBColor.lut.h */,12223 12246 BCFE2F0F0C1B58370020235F /* JSRect.cpp */, 12224 12247 BCFE2F100C1B58370020235F /* JSRect.h */, 12248 BC3452550D7E02850016574A /* JSRGBColor.lut.h */, 12225 12249 BCE013980C0BEF180043860A /* JSStyleSheet.cpp */, 12226 12250 BCE013990C0BEF180043860A /* JSStyleSheet.h */, … … 14487 14511 F523D30A02DE4476018635CA /* XMLTokenizer.h */, 14488 14512 54C50F7A0E801DF3009832A0 /* XMLTokenizerLibxml2.cpp */, 14513 BCC065770F3CE1B700CD2D87 /* ClientRect.cpp */, 14514 BCC065780F3CE1B700CD2D87 /* ClientRect.h */, 14515 BCC065790F3CE1B700CD2D87 /* ClientRect.idl */, 14516 BCC0657A0F3CE1B700CD2D87 /* ClientRectList.cpp */, 14517 BCC0657B0F3CE1B700CD2D87 /* ClientRectList.h */, 14518 BCC0657C0F3CE1B700CD2D87 /* ClientRectList.idl */, 14489 14519 ); 14490 14520 path = dom; … … 16721 16751 93309E1E099E64920056E581 /* visible_units.h in Headers */, 16722 16752 BC96DB430F3A880E00573CB3 /* RenderBoxModelObject.h in Headers */, 16753 BCC0657E0F3CE1B700CD2D87 /* ClientRect.h in Headers */, 16754 BCC065810F3CE1B700CD2D87 /* ClientRectList.h in Headers */, 16755 BCC065880F3CE2A700CD2D87 /* JSClientRect.h in Headers */, 16756 BCC0658A0F3CE2A700CD2D87 /* JSClientRectList.h in Headers */, 16723 16757 2E3AC84E0F3D06D100633F04 /* WorkerContextProxy.h in Headers */, 16724 16758 2E3AC8500F3D06F700633F04 /* WorkerObjectProxy.h in Headers */, … … 16839 16873 1AB1AE7A0C051FDE00139F4F /* zoomInCursor.png in Resources */, 16840 16874 1AB1AE7B0C051FDE00139F4F /* zoomOutCursor.png in Resources */, 16875 BCC0657F0F3CE1B700CD2D87 /* ClientRect.idl in Resources */, 16876 BCC065820F3CE1B700CD2D87 /* ClientRectList.idl in Resources */, 16841 16877 ); 16842 16878 runOnlyForDeploymentPostprocessing = 0; … … 18703 18739 93309E1D099E64920056E581 /* visible_units.cpp in Sources */, 18704 18740 BC96DB460F3A882200573CB3 /* RenderBoxModelObject.cpp in Sources */, 18741 BCC0657D0F3CE1B700CD2D87 /* ClientRect.cpp in Sources */, 18742 BCC065800F3CE1B700CD2D87 /* ClientRectList.cpp in Sources */, 18743 BCC065870F3CE2A700CD2D87 /* JSClientRect.cpp in Sources */, 18744 BCC065890F3CE2A700CD2D87 /* JSClientRectList.cpp in Sources */, 18705 18745 A883DF270F3D045D00F19BF6 /* VisibleSelection.cpp in Sources */, 18706 18746 ); -
trunk/WebCore/WebCoreSources.bkl
r40798 r40837 230 230 DerivedSources/WebCore/JSCanvasRenderingContext2D.cpp 231 231 DerivedSources/WebCore/JSCharacterData.cpp 232 DerivedSources/WebCore/JSClientRect.cpp 233 DerivedSources/WebCore/JSClientRectList.cpp 232 234 DerivedSources/WebCore/JSClipboard.cpp 233 235 DerivedSources/WebCore/JSComment.cpp … … 393 395 dom/ClassNames.cpp 394 396 dom/ClassNodeList.cpp 397 dom/ClientRect.cpp 398 dom/ClientRectList.cpp 395 399 dom/Clipboard.cpp 396 400 dom/ClipboardEvent.cpp -
trunk/WebCore/dom/Element.cpp
r40793 r40837 30 30 #include "CSSStyleSelector.h" 31 31 #include "CString.h" 32 #include "ClientRect.h" 33 #include "ClientRectList.h" 32 34 #include "Document.h" 33 35 #include "Editor.h" … … 45 47 #include "PlatformString.h" 46 48 #include "RenderBlock.h" 49 #include "SVGNames.h" 47 50 #include "SelectionController.h" 48 51 #include "TextIterator.h" … … 412 415 return adjustForAbsoluteZoom(rend->scrollHeight(), rend); 413 416 return 0; 417 } 418 419 PassRefPtr<ClientRectList> Element::getClientRects() const 420 { 421 document()->updateLayoutIgnorePendingStylesheets(); 422 423 RenderBoxModelObject* renderBoxModelObject = this->renderBoxModelObject(); 424 if (!renderBoxModelObject) 425 return ClientRectList::create(); 426 427 // FIXME: Handle SVG elements. 428 // FIXME: Handle table/inline-table with a caption. 429 430 Vector<FloatQuad> quads; 431 renderBoxModelObject->absoluteQuads(quads); 432 return ClientRectList::create(quads); 433 } 434 435 PassRefPtr<ClientRect> Element::getBoundingClientRect() const 436 { 437 document()->updateLayoutIgnorePendingStylesheets(); 438 RenderBoxModelObject* renderBoxModelObject = this->renderBoxModelObject(); 439 if (!renderBoxModelObject) 440 return ClientRect::create(); 441 442 Vector<FloatQuad> quads; 443 renderBoxModelObject->absoluteQuads(quads); 444 445 if (quads.isEmpty()) 446 return ClientRect::create(); 447 448 IntRect result = quads[0].enclosingBoundingBox(); 449 for (size_t i = 1; i < quads.size(); ++i) 450 result.unite(quads[i].enclosingBoundingBox()); 451 452 return ClientRect::create(result); 414 453 } 415 454 -
trunk/WebCore/dom/Element.h
r40370 r40837 37 37 class ElementRareData; 38 38 class IntSize; 39 class ClientRect; 40 class ClientRectList; 39 41 40 42 class Element : public ContainerNode { … … 83 85 int scrollHeight(); 84 86 87 PassRefPtr<ClientRectList> getClientRects() const; 88 PassRefPtr<ClientRect> getBoundingClientRect() const; 89 85 90 void removeAttribute(const String& name, ExceptionCode&); 86 91 void removeAttributeNS(const String& namespaceURI, const String& localName, ExceptionCode&); -
trunk/WebCore/dom/Element.idl
r40672 r40837 1 1 /* 2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved.2 * Copyright (C) 2006, 2007, 2009 Apple Inc. All rights reserved. 3 3 * Copyright (C) 2006 Samuel Weinig <sam.weinig@gmail.com> 4 4 * … … 110 110 raises(DOMException); 111 111 112 #if !defined(LANGUAGE_COM) 112 113 // ElementTraversal API 113 #if !defined(LANGUAGE_COM)114 114 readonly attribute Element firstElementChild; 115 115 readonly attribute Element lastElementChild; … … 117 117 readonly attribute Element nextElementSibling; 118 118 readonly attribute unsigned long childElementCount; 119 #endif 120 121 #if defined(LANGUAGE_JAVASCRIPT) 122 // CSSOM View Module API 123 ClientRectList getClientRects(); 124 ClientRect getBoundingClientRect(); 119 125 #endif 120 126 -
trunk/WebCore/page/DOMWindow.idl
r39699 r40837 380 380 attribute MimeTypeArrayConstructor MimeTypeArray; 381 381 382 attribute ClientRectConstructor ClientRect; 383 attribute ClientRectListConstructor ClientRectList; 384 382 385 #if ENABLE_DOM_STORAGE 383 386 attribute StorageConstructor Storage; -
trunk/WebCore/rendering/RenderInline.cpp
r40835 r40837 422 422 rects.append(IntRect(tx + curr->xPos(), ty + curr->yPos(), curr->width(), curr->height())); 423 423 424 for (RenderObject* curr = firstChild(); curr; curr = curr->nextSibling()) {425 if (curr->isBox()) {426 RenderBox* box = toRenderBox(curr);427 curr->absoluteRects(rects, tx + box->x(), ty + box->y(), false);428 } else429 curr->absoluteRects(rects, tx, ty, false);430 }431 432 424 if (continuation() && topLevel) { 433 425 if (continuation()->isBox()) { … … 449 441 } 450 442 451 for (RenderObject* curr = firstChild(); curr; curr = curr->nextSibling()) {452 if (!curr->isText())453 curr->absoluteQuads(quads, false);454 }455 456 443 if (continuation() && topLevel) 457 444 continuation()->absoluteQuads(quads, topLevel);
Note: See TracChangeset
for help on using the changeset viewer.