Bug 93400 - Improve RenderObject.h compile time - split CachedImage and CachedImageClient
Summary: Improve RenderObject.h compile time - split CachedImage and CachedImageClient
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-07 14:57 PDT by nbhargava
Modified: 2012-08-08 12:37 PDT (History)
11 users (show)

See Also:


Attachments
Patch (10.76 KB, patch)
2012-08-07 15:00 PDT, nbhargava
no flags Details | Formatted Diff | Diff
Patch for landing (11.79 KB, patch)
2012-08-07 15:31 PDT, nbhargava
no flags Details | Formatted Diff | Diff
Patch for landing (12.23 KB, patch)
2012-08-07 16:03 PDT, nbhargava
no flags Details | Formatted Diff | Diff
Patch for landing (12.25 KB, patch)
2012-08-07 16:55 PDT, nbhargava
no flags Details | Formatted Diff | Diff
Patch for landing (12.25 KB, patch)
2012-08-07 16:57 PDT, nbhargava
no flags Details | Formatted Diff | Diff
Patch for landing (12.70 KB, patch)
2012-08-07 17:32 PDT, nbhargava
no flags Details | Formatted Diff | Diff
Patch for landing (13.15 KB, patch)
2012-08-08 09:33 PDT, nbhargava
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description nbhargava 2012-08-07 14:57:26 PDT
Improve RenderObject.h compile time - split CachedImage and CachedImageClient
Comment 1 nbhargava 2012-08-07 15:00:31 PDT
Created attachment 157016 [details]
Patch
Comment 2 Eric Seidel (no email) 2012-08-07 15:12:22 PDT
Comment on attachment 157016 [details]
Patch

HOT DAMN!  I look forward to more of these!
Comment 3 nbhargava 2012-08-07 15:31:48 PDT
Created attachment 157021 [details]
Patch for landing
Comment 4 WebKit Review Bot 2012-08-07 15:52:43 PDT
Comment on attachment 157021 [details]
Patch for landing

Attachment 157021 [details] did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13453383
Comment 5 nbhargava 2012-08-07 16:03:33 PDT
Created attachment 157033 [details]
Patch for landing
Comment 6 WebKit Review Bot 2012-08-07 16:08:16 PDT
Attachment 157033 [details] did not pass style-queue:

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCor..." exit_code: 1
Source/WebCore/css/CSSImageSetValue.cpp:31:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 15 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 7 Nico Weber 2012-08-07 16:52:17 PDT
Comment on attachment 157033 [details]
Patch for landing

cq- for

Failed to run "['Tools/Scripts/check-webkit-style', '--diff-files', u'Source/WebCore/ChangeLog', u'Source/WebCor..." exit_code: 1
Source/WebCore/css/CSSImageSetValue.cpp:31:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 15 files

Easy to fix at least.
Comment 8 nbhargava 2012-08-07 16:55:13 PDT
Created attachment 157045 [details]
Patch for landing
Comment 9 nbhargava 2012-08-07 16:57:21 PDT
Created attachment 157046 [details]
Patch for landing
Comment 10 Build Bot 2012-08-07 17:31:12 PDT
Comment on attachment 157046 [details]
Patch for landing

Attachment 157046 [details] did not pass win-ews (win):
Output: http://queues.webkit.org/results/13459013
Comment 11 nbhargava 2012-08-07 17:32:51 PDT
Created attachment 157054 [details]
Patch for landing
Comment 12 Early Warning System Bot 2012-08-07 18:29:12 PDT
Comment on attachment 157054 [details]
Patch for landing

Attachment 157054 [details] did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13448791
Comment 13 Early Warning System Bot 2012-08-07 18:36:45 PDT
Comment on attachment 157054 [details]
Patch for landing

Attachment 157054 [details] did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13451616
Comment 14 nbhargava 2012-08-08 09:33:48 PDT
Created attachment 157237 [details]
Patch for landing
Comment 15 WebKit Review Bot 2012-08-08 10:54:44 PDT
Comment on attachment 157237 [details]
Patch for landing

Clearing flags on attachment: 157237

Committed r125051: <http://trac.webkit.org/changeset/125051>
Comment 16 WebKit Review Bot 2012-08-08 10:54:50 PDT
All reviewed patches have been landed.  Closing bug.
Comment 17 Dean Jackson 2012-08-08 11:35:33 PDT
This broke the Mac builds.


CompileC "/Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore~obj/WebCore.build/WebCore.build/Objects-normal/i386/ClipboardMac.o" platform/mac/ClipboardMac.mm normal i386 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler
    cd /Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore
    setenv LANG en_US.US-ASCII
    /usr/bin/clang -x objective-c++ -arch i386 -fmessage-length=0 -fdiagnostics-print-source-range-info -fdiagnostics-show-category=id -fdiagnostics-parseable-fixits -stdlib=libc++ -fobjc-gc -Wno-trigraphs -fno-exceptions -fno-rtti -fpascal-strings -O2 -Werror -Wmissing-prototypes -Wno-return-type -Wnon-virtual-dtor -Wparentheses -Wswitch -Wno-unused-parameter -Wno-unused-variable -Wunused-value -Wsign-compare -Wno-shorten-64-to-32 -Wnewline-eof -Wno-arc-abi -Wno-c++0x-extensions -DNDEBUG -DENABLE_3D_RENDERING -DENABLE_BLOB -DENABLE_CHANNEL_MESSAGING -DENABLE_CSS_BOX_DECORATION_BREAK -DENABLE_CSS_EXCLUSIONS -DENABLE_CSS_FILTERS -DENABLE_CSS_REGIONS -DENABLE_CSS_SHADERS -DENABLE_CSS_STICKY_POSITION -DENABLE_CSS3_FLEXBOX -DENABLE_DASHBOARD_SUPPORT -DENABLE_DETAILS_ELEMENT -DENABLE_FILTERS -DENABLE_FULLSCREEN_API -DENABLE_GEOLOCATION -DENABLE_HIGH_DPI_CANVAS -DENABLE_ICONDATABASE -DENABLE_IFRAME_SEAMLESS -DENABLE_JAVASCRIPT_DEBUGGER -DENABLE_LEGACY_CSS_VENDOR_PREFIXES -DENABLE_MATHML -DENABLE_METER_ELEMENT -DENABLE_MUTATION_OBSERVERS -DENABLE_PROGRESS_ELEMENT -DENABLE_REQUEST_ANIMATION_FRAME -DENABLE_SHARED_WORKERS -DENABLE_SQL_DATABASE -DENABLE_SVG -DENABLE_SVG_DOM_OBJC_BINDINGS -DENABLE_SVG_FONTS -DENABLE_TEXT_NOTIFICATIONS_ONLY -DENABLE_VIDEO -DENABLE_VIDEO_TRACK -DENABLE_WEBGL -DENABLE_WEB_AUDIO -DENABLE_WEB_SOCKETS -DENABLE_WIDGET_REGION -DENABLE_WORKERS -DENABLE_XSLT -DWEBKIT_VERSION_MIN_REQUIRED=WEBKIT_VERSION_LATEST -fasm-blocks -Wno-deprecated-declarations -mmacosx-version-min=10.7 -gdwarf-2 -fvisibility-inlines-hidden -fno-threadsafe-statics -Wno-sign-conversion "-DIBOutlet=__attribute__((iboutlet))" "-DIBOutletCollection(ClassName)=__attribute__((iboutletcollection(ClassName)))" "-DIBAction=void)__attribute__((ibaction)" "-I/Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore~obj/WebCore.build/WebCore.build/WebCore.hmap" "-I/Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore~sym/BuiltProducts/include" -I/Volumes/Data/slave/lion-production-archive/build/build-Production/SafariRoot/usr/local/include -IForwardingHeaders -Iicu -I/usr/include/libxslt -I/usr/include/libxml2 "-I/Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore~sym/BuiltProducts/DerivedSources/WebCore" "-I/Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore~sym/BuiltProducts/usr/local/include" "-I/Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore~obj/WebCore.build/WebCore.build/DerivedSources/i386" "-I/Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore~obj/WebCore.build/WebCore.build/DerivedSources" -Wall -Wextra -Wcast-qual -Wchar-subscripts -Wextra-tokens -Wformat=2 -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wshorten-64-to-32 -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare "-F/Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore~sym/BuiltProducts" -F/Volumes/Data/slave/lion-production-archive/build/build-Production/SafariRoot/System/Library/Frameworks -F/Volumes/Data/slave/lion-production-archive/build/build-Production/SafariRoot/System/Library/Frameworks/WebKit.framework/Versions/A/Frameworks -F/Volumes/Data/slave/lion-production-archive/build/build-Production/SafariRoot/System/Library/PrivateFrameworks -F/System/Library/Frameworks/Carbon.framework/Frameworks -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks -F/System/Library/Frameworks/CoreServices.framework/Frameworks -F/System/Library/PrivateFrameworks -isystem/Volumes/Data/slave/lion-production-archive/build/build-Production/builditSharedHdrDstroot/usr/include -isystem/Volumes/Data/slave/lion-production-archive/build/build-Production/builditSharedHdrDstroot/usr/lib/include -isystem/Volumes/Data/slave/lion-production-archive/build/build-Production/builditSharedHdrDstroot/usr/local/include -isystem/Volumes/Data/slave/lion-production-archive/build/build-Production/builditSharedHdrDstroot/usr/local/lib/include -include "/Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore~obj/Caches/SharedPrecompiledHeaders/WebCorePrefix-gcddgdqzvhfuuaduweovpratnmht/WebCorePrefix.h" -MMD -MT dependencies -MF "/Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore~obj/WebCore.build/WebCore.build/Objects-normal/i386/ClipboardMac.d" -c /Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore/platform/mac/ClipboardMac.mm -o "/Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore~obj/WebCore.build/WebCore.build/Objects-normal/i386/ClipboardMac.o"
In file included from /Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore/platform/mac/ClipboardMac.mm:27:
/Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore/platform/mac/ClipboardMac.h:40:47:{40:40-40:64}: error: base class has incomplete type [2]
 class ClipboardMac : public Clipboard, public CachedImageClient {
                                        ~~~~~~~^~~~~~~~~~~~~~~~~
/Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore/svg/graphics/SVGImageCache.h:34:7: note: forward declaration of 'WebCore::CachedImageClient'
 class CachedImageClient;
       ^
/Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore/platform/mac/ClipboardMac.mm:345:39:{345:39-345:43}: error: cannot initialize a parameter of type 'WebCore::CachedResourceClient *' with an rvalue of type 'WebCore::ClipboardMac *' [2]
             m_dragImage->removeClient(this);
                                       ^~~~
/Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore/loader/cache/CachedResource.h:117:44: note: passing argument to parameter here [2]
     void removeClient(CachedResourceClient*);
                                            ^
/Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore/platform/mac/ClipboardMac.mm:348:36:{348:36-348:40}: error: cannot initialize a parameter of type 'WebCore::CachedResourceClient *' with an rvalue of type 'WebCore::ClipboardMac *' [2]
             m_dragImage->addClient(this);
                                    ^~~~
/Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore/loader/cache/CachedResource.h:116:41: note: passing argument to parameter here [2]
     void addClient(CachedResourceClient*);
                                         ^
In file included from /Volumes/Data/slave/lion-production-archive/build/build-Production/SafariRoot/usr/local/include/wtf/RefPtr.h:28:
In file included from /Volumes/Data/slave/lion-production-archive/build/build-Production/SafariRoot/usr/local/include/wtf/VectorTraits.h:25:
In file included from /Volumes/Data/slave/lion-production-archive/build/build-Production/SafariRoot/usr/local/include/wtf/Vector.h:30:
In file included from /Volumes/Data/slave/lion-production-archive/build/build-Production/SafariRoot/usr/local/include/wtf/text/StringImpl.h:31:
In file included from /Volumes/Data/slave/lion-production-archive/build/build-Production/SafariRoot/usr/local/include/wtf/text/WTFString.h:29:
In file included from /Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore/platform/text/PlatformString.h:28:
In file included from /Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore/loader/cache/CachedResource.h:28:
In file included from /Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore/loader/cache/CachedImage.h:26:
In file included from /Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore/platform/mac/ClipboardMac.h:29:
In file included from /Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore/platform/mac/ClipboardMac.mm:27:
/Volumes/Data/slave/lion-production-archive/build/build-Production/SafariRoot/usr/local/include/wtf/PassRefPtr.h:65:67:{65:73-65:84}: error: cannot initialize a member subobject of type 'WebCore::Clipboard *' with an rvalue of type 'WebCore::ClipboardMac *' [2]
         template<typename U> PassRefPtr(const PassRefPtr<U>& o) : m_ptr(o.leakRef()) { }
                                                                   ^     ~~~~~~~~~~~
/Volumes/Data/slave/lion-production-archive/build/build-Production/WebCore.roots/WebCore/platform/mac/ClipboardMac.mm:52:12: note: in instantiation of function template specialization 'WTF::PassRefPtr<WebCore::Clipboard>::PassRefPtr<WebCore::ClipboardMac>' requested here [2]
     return ClipboardMac::create(DragAndDrop, dragData->pasteboardName(), policy, dragData->containsFiles() ? ClipboardMac::DragAndDropFiles : ClipboardMac::DragAndDropData, frame);
            ^
4 errors generated.
Comment 18 Dean Jackson 2012-08-08 11:36:59 PDT
http://trac.webkit.org/changeset/125057
Comment 19 Dean Jackson 2012-08-08 11:57:11 PDT
And http://trac.webkit.org/changeset/125063
Comment 20 Dean Jackson 2012-08-08 12:34:41 PDT
And one more http://trac.webkit.org/changeset/125074
Comment 21 Eric Seidel (no email) 2012-08-08 12:36:59 PDT
Thanks Dean!
Comment 22 Eric Seidel (no email) 2012-08-08 12:37:41 PDT
Sadly the mac-ews is veeeery behind atm.  We should ask Lucas to turn off running tests until he gets more hardware. :)