Bug 31161 - Allow custom memory allocation control for the part of loader directory in WebCore
Summary: Allow custom memory allocation control for the part of loader directory in We...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebCore Misc. (show other bugs)
Version: 528+ (Nightly build)
Hardware: PC All
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-05 04:18 PST by Zoltan Horvath
Modified: 2009-11-10 11:24 PST (History)
1 user (show)

See Also:


Attachments
proposed patch (6.56 KB, patch)
2009-11-05 04:20 PST, Zoltan Horvath
eric: review-
commit-queue: commit-queue-
Details | Formatted Diff | Diff
updated proposed patch (5.97 KB, patch)
2009-11-10 00:51 PST, Zoltan Horvath
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Zoltan Horvath 2009-11-05 04:18:51 PST
Inherits the following classes from Noncopyable because these are instantiated by 'new' and these are no need to be copyable:                                    
            
class Request - WebCore/loader/loader.cpp:100                                     
struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164            
class IconDatabaseClient - WebCore/loader/icon/IconDatabase.cpp:89                
class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121
class ApplicationCacheHost -  WebCore/loader/DocumentLoader.cpp:151                     
class ImageEventSender - WebCore/loader/ImageLoader.cpp:54                              
struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169                            

Inherits ThreadableLoaderClient class from Noncopyable because (its child class)        
MainThreadBridge is instantiated by 'new' in                                            
WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable.              

ThreadableLoaderClient's inheriting has been changed to public.
Comment 1 Zoltan Horvath 2009-11-05 04:20:37 PST
Created attachment 42555 [details]
proposed patch
Comment 2 WebKit Commit Bot 2009-11-09 06:57:41 PST
Comment on attachment 42555 [details]
proposed patch

Rejecting patch 42555 from commit-queue.

Failed to run "WebKitTools/Scripts/build-webkit" exit_code: 1
Last 500 characters of output:
el/Projects/build/WebKit.build/Release/WebKit.build/Objects-normal/i386/WebIconDatabase.o /Users/eseidel/Projects/CommitQueue/WebKit/mac/Misc/WebIconDatabase.mm normal i386 objective-c++ com.apple.compilers.gcc.4_2
	Distributed-CompileC /Users/eseidel/Projects/build/WebKit.build/Release/WebKit.build/Objects-normal/i386/WebIconDatabaseClient.o /Users/eseidel/Projects/CommitQueue/WebKit/mac/WebCoreSupport/WebIconDatabaseClient.mm normal i386 objective-c++ com.apple.compilers.gcc.4_2
(2 failures)
Comment 3 Eric Seidel (no email) 2009-11-09 17:00:53 PST
Comment on attachment 42555 [details]
proposed patch

I'm not sure exactly the build error, but looks like this patch will need further modification before it can be committed.
Comment 4 Zoltan Horvath 2009-11-10 00:51:05 PST
Created attachment 42850 [details]
updated proposed patch

I rechecked it on MAC, I'm not familiar with the mm-files yet, so I removed class IconDatabaseClient inheriting from the patch. I'll file it separately. Now, it works properly.
Comment 5 Zoltan Horvath 2009-11-10 11:06:04 PST
Comment on attachment 42850 [details]
updated proposed patch

> Index: WebCore/ChangeLog
> ===================================================================
> --- WebCore/ChangeLog	(revision 50723)
> +++ WebCore/ChangeLog	(working copy)
> @@ -1,3 +1,35 @@
> +2009-11-10  Zoltan Horvath  <zoltan@webkit.org>
> +
> +        Reviewed by NOBODY (OOPS!).
> +
> +        Allow custom memory allocation control for the part of loader directory in WebCore
> +        https://bugs.webkit.org/show_bug.cgi?id=31161
> +
> +        Inherits the following classes from Noncopyable because these are instantiated
> +        by 'new' and these are no need to be copyable:
> +
> +        class Request - WebCore/loader/loader.cpp:100
> +        struct ScheduledRedirection - WebCore/loader/RedirectScheduler.cpp:164
> +        class ApplicationCacheStorage - WebCore/loader/appcache/ApplicationCacheStorage.cpp:1121
> +        class ApplicationCacheHost -  WebCore/loader/DocumentLoader.cpp:151
> +        class ImageEventSender - WebCore/loader/ImageLoader.cpp:54
> +        struct ProgressItem - WebCore/loader/ProgressTracker.cpp:169
> +
> +        Inherits ThreadableLoaderClient class from Noncopyable because (its child class) 
> +        MainThreadBridge is instantiated by 'new' in 
> +        WebCore/loader/WorkerThreadableLoader.cpp:59 it is no need to be copyable.
> +
> +        ThreadableLoaderClient's inheriting has been changed to public.
> +
> +        * loader/ImageLoader.cpp:
> +        * loader/ProgressTracker.cpp:
> +        * loader/RedirectScheduler.cpp:
> +        * loader/Request.h:
> +        * loader/ThreadableLoaderClient.h:
> +        * loader/WorkerThreadableLoader.h:
> +        * loader/appcache/ApplicationCacheHost.h:
> +        * loader/appcache/ApplicationCacheStorage.h:
> +
>  2009-11-09  Dirk Schulze  <krit@webkit.org>
>  
>          Reviewed by Oliver Hunt.
> Index: WebCore/loader/ImageLoader.cpp
> ===================================================================
> --- WebCore/loader/ImageLoader.cpp	(revision 50723)
> +++ WebCore/loader/ImageLoader.cpp	(working copy)
> @@ -31,7 +31,7 @@
>  
>  namespace WebCore {
>  
> -class ImageEventSender {
> +class ImageEventSender : public Noncopyable {
>  public:
>      ImageEventSender(const AtomicString& eventType);
>  
> Index: WebCore/loader/ProgressTracker.cpp
> ===================================================================
> --- WebCore/loader/ProgressTracker.cpp	(revision 50723)
> +++ WebCore/loader/ProgressTracker.cpp	(working copy)
> @@ -47,7 +47,7 @@ static const double finalProgressValue =
>  
>  static const int progressItemDefaultEstimatedLength = 1024 * 16;
>  
> -struct ProgressItem {
> +struct ProgressItem : Noncopyable {
>      ProgressItem(long long length) 
>          : bytesReceived(0)
>          , estimatedLength(length) { }
> Index: WebCore/loader/RedirectScheduler.cpp
> ===================================================================
> --- WebCore/loader/RedirectScheduler.cpp	(revision 50723)
> +++ WebCore/loader/RedirectScheduler.cpp	(working copy)
> @@ -44,7 +44,7 @@
>  
>  namespace WebCore {
>  
> -struct ScheduledRedirection {
> +struct ScheduledRedirection : Noncopyable {
>      enum Type { redirection, locationChange, historyNavigation, formSubmission };
>  
>      const Type type;
> Index: WebCore/loader/Request.h
> ===================================================================
> --- WebCore/loader/Request.h	(revision 50723)
> +++ WebCore/loader/Request.h	(working copy)
> @@ -30,7 +30,7 @@ namespace WebCore {
>      class CachedResource;
>      class DocLoader;
>  
> -    class Request {
> +    class Request : public Noncopyable {
>      public:
>          Request(DocLoader*, CachedResource*, bool incremental, bool skipCanLoadCheck, bool sendResourceLoadCallbacks);
>          ~Request();
> Index: WebCore/loader/ThreadableLoaderClient.h
> ===================================================================
> --- WebCore/loader/ThreadableLoaderClient.h	(revision 50723)
> +++ WebCore/loader/ThreadableLoaderClient.h	(working copy)
> @@ -36,7 +36,7 @@ namespace WebCore {
>      class ResourceError;
>      class ResourceResponse;
>  
> -    class ThreadableLoaderClient {
> +    class ThreadableLoaderClient : public Noncopyable {
>      public:
>          virtual void didSendData(unsigned long long /*bytesSent*/, unsigned long long /*totalBytesToBeSent*/) { }
>  
> Index: WebCore/loader/WorkerThreadableLoader.h
> ===================================================================
> --- WebCore/loader/WorkerThreadableLoader.h	(revision 50723)
> +++ WebCore/loader/WorkerThreadableLoader.h	(working copy)
> @@ -94,7 +94,7 @@ namespace WebCore {
>          //    thread do "ThreadableLoaderClientWrapper::ref" (automatically inside of the cross thread copy
>          //    done in createCallbackTask), so the ThreadableLoaderClientWrapper instance is there until all
>          //    tasks are executed.
> -        class MainThreadBridge : ThreadableLoaderClient {
> +        class MainThreadBridge : public ThreadableLoaderClient {
>          public:
>              // All executed on the worker context's thread.
>              MainThreadBridge(PassRefPtr<ThreadableLoaderClientWrapper>, WorkerLoaderProxy&, const String& taskMode, const ResourceRequest&, const ThreadableLoaderOptions&);
> Index: WebCore/loader/appcache/ApplicationCacheHost.h
> ===================================================================
> --- WebCore/loader/appcache/ApplicationCacheHost.h	(revision 50723)
> +++ WebCore/loader/appcache/ApplicationCacheHost.h	(working copy)
> @@ -57,7 +57,7 @@ namespace WebCore {
>      class ApplicationCacheStorage;
>  #endif
>  
> -    class ApplicationCacheHost {
> +    class ApplicationCacheHost : public Noncopyable {
>      public:
>          // The Status numeric values are specified in the HTML5 spec.
>          enum Status {
> Index: WebCore/loader/appcache/ApplicationCacheStorage.h
> ===================================================================
> --- WebCore/loader/appcache/ApplicationCacheStorage.h	(revision 50723)
> +++ WebCore/loader/appcache/ApplicationCacheStorage.h	(working copy)
> @@ -44,7 +44,7 @@ class KURL;
>  template <class T>
>  class StorageIDJournal;
>  
> -class ApplicationCacheStorage {
> +class ApplicationCacheStorage : public Noncopyable {
>  public:
>      void setCacheDirectory(const String&);
>      const String& cacheDirectory() const;
Comment 6 WebKit Commit Bot 2009-11-10 11:24:29 PST
Comment on attachment 42850 [details]
updated proposed patch

Clearing flags on attachment: 42850

Committed r50748: <http://trac.webkit.org/changeset/50748>
Comment 7 WebKit Commit Bot 2009-11-10 11:24:33 PST
All reviewed patches have been landed.  Closing bug.