WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
[patch]
Patch
bug-83889-20120423132636.patch (text/plain), 2.74 KB, created by
Takashi Sakamoto
on 2012-04-23 13:26:37 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
Takashi Sakamoto
Created:
2012-04-23 13:26:37 PDT
Size:
2.74 KB
patch
obsolete
>Subversion Revision: 114923 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index a90b02802b6d5f41843bc72aa4f2d9978616477c..f5246e1ad7697125c0a810a9a4cdf4704d6a08fa 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,25 @@ >+2012-04-23 Takashi Sakamoto <tasak@google.com> >+ >+ Crash in WebKit!WebCore::RenderBoxModelObject::paddingLeft+0x5c. >+ https://bugs.webkit.org/show_bug.cgi?id=83889 >+ >+ RenderScrollbar creates RenderScrollbarPart without any parent >+ renderers. However, if the scrollbar has percent padding styles, >+ non-null parent renderer is required. So after creating/destroying >+ RenderScrllbarPart instances, set owningRenderer(creating)/0 >+ (destroying) as its parent renderer. >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ No new tests. >+ >+ * rendering/RenderScrollbar.cpp: >+ (WebCore::RenderScrollbar::updateScrollbarPart): >+ Added setParent after creating/destroying RenderScrollbarPart. >+ * rendering/RenderScrollbarPart.cpp: >+ Made RenderScollbar friend, because setParent is protected and >+ RenderScrollbar is not inherited from class RenderObject. >+ > 2012-04-23 Kentaro Hara <haraken@chromium.org> > > [V8][Refactoring] Remove V8Proxy::toV8() >diff --git a/Source/WebCore/rendering/RenderScrollbar.cpp b/Source/WebCore/rendering/RenderScrollbar.cpp >index 0c50c0d39518af4cf08794e63de706da066fb6ef..893f1507d6015db385cd53c2bad65f3e8790dc8c 100644 >--- a/Source/WebCore/rendering/RenderScrollbar.cpp >+++ b/Source/WebCore/rendering/RenderScrollbar.cpp >@@ -268,9 +268,11 @@ void RenderScrollbar::updateScrollbarPart(ScrollbarPart partType, bool destroy) > RenderScrollbarPart* partRenderer = m_parts.get(partType); > if (!partRenderer && needRenderer) { > partRenderer = new (owningRenderer()->renderArena()) RenderScrollbarPart(owningRenderer()->document(), this, partType); >+ partRenderer->setParent(owningRenderer()); > m_parts.set(partType, partRenderer); > } else if (partRenderer && !needRenderer) { > m_parts.remove(partType); >+ partRenderer->setParent(0); > partRenderer->destroy(); > partRenderer = 0; > } >diff --git a/Source/WebCore/rendering/RenderScrollbarPart.h b/Source/WebCore/rendering/RenderScrollbarPart.h >index fba180e0f363f2d5d539df73eabab4ae9e213ce4..f481f5a2c8883a8edd1d719bab6e8d916dd0c7f5 100644 >--- a/Source/WebCore/rendering/RenderScrollbarPart.h >+++ b/Source/WebCore/rendering/RenderScrollbarPart.h >@@ -35,6 +35,8 @@ class RenderScrollbar; > > class RenderScrollbarPart : public RenderBlock { > public: >+ friend class RenderScrollbar; >+ > RenderScrollbarPart(Node*, RenderScrollbar* = 0, ScrollbarPart = NoPart); > virtual ~RenderScrollbarPart(); >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 83889
:
137080
|
138138
|
138208
|
138412
|
138690
|
139084
|
139601
|
139602
|
139764
|
140471
|
140901