WebKit Bugzilla
New
Browse
Search+
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
116345
Add a way to pass WebKit2 WKTypeRefs in Objective-C style user data messages
https://bugs.webkit.org/show_bug.cgi?id=116345
Summary
Add a way to pass WebKit2 WKTypeRefs in Objective-C style user data messages
Sam Weinig
Reported
2013-05-17 13:09:22 PDT
Add a way to pass WebKit2 WKTypeRefs in Objective-C style user data messages
Attachments
Patch
(13.87 KB, patch)
2013-05-17 13:15 PDT
,
Sam Weinig
andersca
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Sam Weinig
Comment 1
2013-05-17 13:15:26 PDT
Created
attachment 202143
[details]
Patch
Sam Weinig
Comment 2
2013-05-18 15:41:08 PDT
Committed
r150343
: <
http://trac.webkit.org/changeset/150343
>
Ryosuke Niwa
Comment 3
2013-05-18 16:11:08 PDT
This patch caused a build failure on ML 32-bit build:
http://build.webkit.org/builders/Apple%20MountainLion%20Release%20%2832-bit%20Build%29/builds/400/steps/compile-webkit/logs/stdio
CompileC /Volumes/Data/slave/mountainlion-32bit-release/build/WebKitBuild/WebKit2.build/Release/WebKit2.build/Objects-normal/i386/WKTypeRefWrapper.o UIProcess/API/mac/WKTypeRefWrapper.mm normal i386 objective-c++ com.apple.compilers.llvm.clang.1_0.compiler cd /Volumes/Data/slave/mountainlion-32bit-release/build/Source/WebKit2 setenv LANG en_US.US-ASCII /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -x objective-c++ -arch i386 -fmessage-length=0 -std=gnu++11 -stdlib=libc++ -fobjc-gc -Wno-trigraphs -fno-exceptions -fno-rtti -fpascal-strings -Os -Werror -Wno-missing-field-initializers -Wmissing-prototypes -Wreturn-type -Wno-implicit-atomic-properties -Wno-receiver-is-weak -Wnon-virtual-dtor -Wno-overloaded-virtual -Wno-exit-time-destructors -Wformat -Wno-missing-braces -Wparentheses -Wswitch -Wno-unused-function -Wno-unused-label -Wno-unused-parameter -Wunused-variable -Wunused-value -Wno-empty-body -Wno-uninitialized -Wno-unknown-pragmas -Wno-shadow -Wno-four-char-constants -Wno-conversion -Wno-constant-conversion -Wno-int-conversion -Wno-enum-conversion -Wsign-compare -Wno-shorten-64-to-32 -Wnewline-eof -Wno-selector -Wno-strict-selector-match -Wno-undeclared-selector -Wno-deprecated-implementations -Wno-c++11-extensions -DNDEBUG -DENABLE_3D_RENDERING -DENABLE_BLOB -DENABLE_CANVAS_PATH -DENABLE_CHANNEL_MESSAGING -DENABLE_CSS_BOX_DECORATION_BREAK -DENABLE_CSS_EXCLUSIONS -DENABLE_CSS_FILTERS -DENABLE_CSS_REGIONS -DENABLE_CSS_SHADERS -DENABLE_CSS_COMPOSITING -DENABLE_CSS_STICKY_POSITION -DENABLE_CSS_TRANSFORMS_ANIMATIONS_UNPREFIXED -DENABLE_CURSOR_VISIBILITY -DENABLE_DASHBOARD_SUPPORT -DENABLE_DETAILS_ELEMENT -DENABLE_DOM4_EVENTS_CONSTRUCTOR -DENABLE_FILTERS -DENABLE_FULLSCREEN_API -DENABLE_GEOLOCATION -DENABLE_HIDDEN_PAGE_DOM_TIMER_THROTTLING -DENABLE_ICONDATABASE -DENABLE_IFRAME_SEAMLESS -DENABLE_JAVASCRIPT_DEBUGGER -DENABLE_LEGACY_CSS_VENDOR_PREFIXES -DENABLE_LEGACY_NOTIFICATIONS -DENABLE_LEGACY_VENDOR_PREFIXES -DENABLE_LEGACY_WEB_AUDIO -DENABLE_MATHML -DENABLE_METER_ELEMENT -DENABLE_MOUSE_CURSOR_SCALE -DENABLE_NOTIFICATIONS -DENABLE_PAGE_VISIBILITY_API -DENABLE_PDFKIT_PLUGIN -DENABLE_PROGRESS_ELEMENT -DENABLE_REQUEST_ANIMATION_FRAME -DENABLE_SHARED_WORKERS -DENABLE_SPEECH_SYNTHESIS -DENABLE_SQL_DATABASE -DENABLE_SVG -DENABLE_SVG_FONTS -DENABLE_USERSELECT_ALL -DENABLE_VIDEO -DENABLE_VIDEO_TRACK -DENABLE_WEBGL -DENABLE_WEB_AUDIO -DENABLE_WEB_SOCKETS -DENABLE_WORKERS -DENABLE_XHR_TIMEOUT -DENABLE_XSLT -DFRAMEWORK_NAME=WebKit2 -fasm-blocks -fstrict-aliasing -Wprotocol -Wdeprecated-declarations -Winvalid-offsetof -mmacosx-version-min=10.8 -g -fvisibility=hidden -fvisibility-inlines-hidden -fno-threadsafe-statics -Wno-sign-conversion -I/Volumes/Data/slave/mountainlion-32bit-release/build/WebKitBuild/WebKit2.build/Release/WebKit2.build/WebKit2.hmap -I/Volumes/Data/slave/mountainlion-32bit-release/build/WebKitBuild/Release/include -I/Volumes/Data/slave/mountainlion-32bit-release/build/WebKitBuild/Release/usr/local/include -I/Volumes/Data/slave/mountainlion-32bit-release/build/WebKitBuild/Release/WebCore.framework/PrivateHeaders/ForwardingHeaders -I/Volumes/Data/slave/mountainlion-32bit-release/build/WebKitBuild/Release/WebCore.framework/PrivateHeaders/icu -I/Volumes/Data/slave/mountainlion-32bit-release/build/WebKitBuild/Release/DerivedSources/WebKit2 -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include -I/Volumes/Data/slave/mountainlion-32bit-release/build/WebKitBuild/WebKit2.build/Release/WebKit2.build/DerivedSources/i386 -I/Volumes/Data/slave/mountainlion-32bit-release/build/WebKitBuild/WebKit2.build/Release/WebKit2.build/DerivedSources -Wall -Wextra -Wchar-subscripts -Wextra-tokens -Wformat-security -Winit-self -Wmissing-format-attribute -Wmissing-noreturn -Wno-unused-parameter -Wpacked -Wpointer-arith -Wredundant-decls -Wundef -Wwrite-strings -Wexit-time-destructors -Wglobal-constructors -Wtautological-compare -F/Volumes/Data/slave/mountainlion-32bit-release/build/WebKitBuild/Release -F/Volumes/Data/slave/mountainlion-32bit-release/build/WebKitBuild/Release -F/System/Library/Frameworks/ApplicationServices.framework/Frameworks -F/System/Library/Frameworks/Carbon.framework/Frameworks -F/System/Library/Frameworks/Quartz.framework/Frameworks -F/System/Library/Frameworks/CoreServices.framework/Frameworks -include /Volumes/Data/slave/mountainlion-32bit-release/build/WebKitBuild/PrecompiledHeaders/WebKit2Prefix-epchccwddwrjhoffqzlrkhsyounq/WebKit2Prefix.h -MMD -MT dependencies -MF /Volumes/Data/slave/mountainlion-32bit-release/build/WebKitBuild/WebKit2.build/Release/WebKit2.build/Objects-normal/i386/WKTypeRefWrapper.d --serialize-diagnostics /Volumes/Data/slave/mountainlion-32bit-release/build/WebKitBuild/WebKit2.build/Release/WebKit2.build/Objects-normal/i386/WKTypeRefWrapper.dia -c /Volumes/Data/slave/mountainlion-32bit-release/build/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm -o /Volumes/Data/slave/mountainlion-32bit-release/build/WebKitBuild/WebKit2.build/Release/WebKit2.build/Objects-normal/i386/WKTypeRefWrapper.o /Volumes/Data/slave/mountainlion-32bit-release/build/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm:31:12: error: cannot find interface declaration for 'WKTypeRefWrapper' @interface WKTypeRefWrapper () { ^ /Volumes/Data/slave/mountainlion-32bit-release/build/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm:37:17: error: cannot find interface declaration for 'WKTypeRefWrapper' [-Werror] @implementation WKTypeRefWrapper ^ /Volumes/Data/slave/mountainlion-32bit-release/build/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm:41:13: error: 'WKTypeRefWrapper' cannot use 'super' because it is a root class self = [super init]; ^ /Volumes/Data/slave/mountainlion-32bit-release/build/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm:45:5: error: use of undeclared identifier '_object'; did you mean 'object'? _object = object; ^~~~~~~ object /Volumes/Data/slave/mountainlion-32bit-release/build/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm:39:33: note: 'object' declared here - (id)initWithObject:(WKTypeRef)object ^ /Volumes/Data/slave/mountainlion-32bit-release/build/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm:45:13: error: explicitly assigning a variable of type 'WKTypeRef' (aka 'const void *') to itself [-Werror,-Wself-assign] _object = object; ~~~~~~~ ^ ~~~~~~ /Volumes/Data/slave/mountainlion-32bit-release/build/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm:52:12: error: use of undeclared identifier '_object'; did you mean 'object'? return _object.get(); ^~~~~~~ object /Volumes/Data/slave/mountainlion-32bit-release/build/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm:39:33: note: 'object' declared here - (id)initWithObject:(WKTypeRef)object ^ /Volumes/Data/slave/mountainlion-32bit-release/build/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm:52:12: error: reference to local variable 'object' declared in enclosing context return _object.get(); ^ /Volumes/Data/slave/mountainlion-32bit-release/build/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm:39:33: note: 'object' declared here - (id)initWithObject:(WKTypeRef)object ^ /Volumes/Data/slave/mountainlion-32bit-release/build/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm:52:19: error: member reference base type 'WKTypeRef' (aka 'const void *') is not a structure or union return _object.get(); ~~~~~~~^~~~ /Volumes/Data/slave/mountainlion-32bit-release/build/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm:37:17: error: class 'WKTypeRefWrapper' defined without specifying a base class [-Werror,-Wobjc-root-class] @implementation WKTypeRefWrapper ^ /Volumes/Data/slave/mountainlion-32bit-release/build/Source/WebKit2/UIProcess/API/mac/WKTypeRefWrapper.mm:37:33: note: add a super class to fix this problem @implementation WKTypeRefWrapper ^ : NSObject
Sam Weinig
Comment 4
2013-05-18 17:07:02 PDT
I fixed that in
https://trac.webkit.org/r150345
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug