Bug 27180 - Cleanup DOM Storage dependencies.
Summary: Cleanup DOM Storage dependencies.
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: All All
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks: 27181
  Show dependency treegraph
 
Reported: 2009-07-11 13:23 PDT by Jeremy Orlow
Modified: 2009-07-15 15:56 PDT (History)
6 users (show)

See Also:


Attachments
patch 1 (13.68 KB, patch)
2009-07-11 13:47 PDT, Jeremy Orlow
bfulgham: review-
Details | Formatted Diff | Diff
rev 2 (13.73 KB, patch)
2009-07-12 07:22 PDT, Jeremy Orlow
bfulgham: review-
Details | Formatted Diff | Diff
Windows build failure output. (22.46 KB, application/x-webarchive)
2009-07-14 13:42 PDT, Brent Fulgham
no flags Details
rev 3 (13.77 KB, patch)
2009-07-14 19:34 PDT, Jeremy Orlow
fishd: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jeremy Orlow 2009-07-11 13:23:49 PDT
DOM Storage has some really bad dependencies.  Most of these are simply because of destructors or constructors.  There's also a lot of file included that could otherwise just be declared.  Clean this stuff up.

This will allow things like StorageAreaSync to take a StorageAreaImpl* (as it should) rather than a StorageArea* which previously weren't possible because the dependencies were such a tangled mess.
Comment 1 Jeremy Orlow 2009-07-11 13:47:08 PDT
Created attachment 32617 [details]
patch 1
Comment 2 Darin Adler 2009-07-11 15:11:42 PDT
Comment on attachment 32617 [details]
patch 1

r=me

Having the reference counter be a friend class and a private destructor does seem slightly tighter than our usual reference counting idiom, which is good.

If it was me I wouldn't call these "really bad dependencies" or say "such a tangled mess" -- I would intend say something factual about how many extra includes there are and let the reader decide how bad it was.
Comment 3 Jeremy Orlow 2009-07-12 07:22:29 PDT
Created attachment 32625 [details]
rev 2

Cleaned up the ChangeLog wording.

Ready to be landed, I think.
Comment 4 David Kilzer (:ddkilzer) 2009-07-14 09:25:31 PDT
Comment on attachment 32625 [details]
rev 2

Yes, this may be landed.  Technically, the lander should use Darin Adler's r+, not mine.   I'm just confirming the ChangeLog update. :)
Comment 5 Darin Adler 2009-07-14 09:39:05 PDT
Comment on attachment 32625 [details]
rev 2

I'll set the review flag again just for clarity.
Comment 6 Brent Fulgham 2009-07-14 12:37:21 PDT
Landed in http://trac.webkit.org/changeset/45864.
Comment 7 Brent Fulgham 2009-07-14 13:41:30 PDT
This patch broke the Windows build due to Visual Studio complaints about the template friend declaration.

Reverted in http://trac.webkit.org/changeset/45866.

I'm attaching the error log for review.
Comment 8 Brent Fulgham 2009-07-14 13:42:07 PDT
Created attachment 32732 [details]
Windows build failure output.
Comment 9 David Kilzer (:ddkilzer) 2009-07-14 15:14:45 PDT
Comment on attachment 32732 [details]
Windows build failure output.

See also:

http://build.webkit.org/builders/Windows%20Release%20%28Build%29/builds/2762/steps/compile-webkit/logs/stdio/text
Comment 10 Brent Fulgham 2009-07-14 16:10:12 PDT
Marking patches r- to remove from the application queue.
Comment 11 Jeremy Orlow 2009-07-14 19:34:09 PDT
Created attachment 32759 [details]
rev 3

Removed the fancy private destructor stuff.  It's not that important.
Comment 12 Jeremy Orlow 2009-07-14 20:35:07 PDT
I guess my original comment was overly terse.

I'm very sorry the first patch had issues building on visual studio.  This time I built it on windows and on mac, and everything seemed good.

The only thing that changed is that I moved all the destructors back to being public and took out the friend statements.

This patch should be ready to land.  (Yes, famous last words.  :-)
Comment 13 Darin Fisher (:fishd, Google) 2009-07-15 15:25:02 PDT
Comment on attachment 32759 [details]
rev 3

r=me
Comment 14 Darin Fisher (:fishd, Google) 2009-07-15 15:56:42 PDT
Landed as http://trac.webkit.org/changeset/45954