[Webkit-unassigned] [Bug 63482] Allow non-main thread text drawing in ICU ports

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Jun 27 16:08:31 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=63482





--- Comment #10 from Joseph Pecoraro <joepeck at webkit.org>  2011-06-27 16:08:31 PST ---
(In reply to comment #9)
> (From update of attachment 98808 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=98808&action=review
> 
> > Source/WebCore/platform/ThreadGlobalData.cpp:90
> > +    return *m_lineBreakIteratorPool.get();
> 
> No need for the .get() here.

Okay.

> > Source/WebCore/platform/ThreadGlobalData.h:80
> > +        OwnPtr<LineBreakIteratorPool> m_lineBreakIteratorPool;
> 
> I think you still need to set this to nullptr in destroy().

I thought about this, but decided it was best to keep this as is. If I cleared
the pool object inside of destroy it doesn't mean much if the object will
be recreated on access (because of the lazy loading). Also, the sharedPool
code never expects a null value and OwnPtr guarantees this whether or not
the destroy() happened or not.

Clearing this in destroy would likely mean:

  - no more lazy loading or state so we don't want to create after we are destroyed
  - handle a possible null value in sharedPool()?

Even the current approach has a possible issue where the GlobalData's could
deconstruct a LayerPool that was returned from sharedPool(). Clearing it earlier
in destroy() would make this slightly more possible.

Does either approach sound better to you?

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list