Changeset 159908 in webkit
- Timestamp:
- Dec 1, 2013 7:36:12 PM (10 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 9 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r159906 r159908 1 2013-12-01 Sam Weinig <sam@webkit.org> 2 3 Give UserMessageEncoders WebProcessProxy reference (like the decoders already have) 4 https://bugs.webkit.org/show_bug.cgi?id=125053 5 6 Reviewed by Dan Bernstein. 7 8 - Give the UserMessageEncoders a process reference. 9 - Switch UserMessageDecoders to storing a process reference, rather than pointer. 10 11 * Shared/UserMessageCoders.h: 12 * Shared/mac/ObjCObjectGraphCoders.h: 13 * Shared/mac/ObjCObjectGraphCoders.mm: 14 * UIProcess/WebConnectionToWebProcess.cpp: 15 * UIProcess/WebContext.cpp: 16 * UIProcess/WebContextUserMessageCoders.h: 17 * UIProcess/WebPageProxy.cpp: 18 * WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h: 19 1 20 2013-12-01 Sam Weinig <sam@webkit.org> 2 21 -
trunk/Source/WebKit2/Shared/UserMessageCoders.h
r159765 r159908 72 72 class UserMessageEncoder { 73 73 public: 74 bool baseEncode(CoreIPC::ArgumentEncoder& encoder, API::Object::Type& type) const74 bool baseEncode(CoreIPC::ArgumentEncoder& encoder, const Owner& coder, API::Object::Type& type) const 75 75 { 76 76 if (!m_root) { … … 87 87 encoder << static_cast<uint64_t>(array->size()); 88 88 for (size_t i = 0; i < array->size(); ++i) 89 encoder << Owner( array->at(i));89 encoder << Owner(coder, array->at(i)); 90 90 return true; 91 91 } … … 99 99 for (; it != end; ++it) { 100 100 encoder << it->key; 101 encoder << Owner( it->value.get());101 encoder << Owner(coder, it->value.get()); 102 102 } 103 103 return true; … … 150 150 case API::Object::Type::RenderLayer: { 151 151 WebRenderLayer* renderLayer = static_cast<WebRenderLayer*>(m_root); 152 encoder << Owner( renderLayer->renderer());152 encoder << Owner(coder, renderLayer->renderer()); 153 153 encoder << renderLayer->isReflection(); 154 154 encoder << renderLayer->isClipping(); … … 156 156 encoder << static_cast<uint32_t>(renderLayer->compositingLayerType()); 157 157 encoder << renderLayer->absoluteBoundingBox(); 158 encoder << Owner( renderLayer->negativeZOrderList());159 encoder << Owner( renderLayer->normalFlowList());160 encoder << Owner( renderLayer->positiveZOrderList());158 encoder << Owner(coder, renderLayer->negativeZOrderList()); 159 encoder << Owner(coder, renderLayer->normalFlowList()); 160 encoder << Owner(coder, renderLayer->positiveZOrderList()); 161 161 return true; 162 162 } … … 166 166 encoder << renderObject->elementTagName(); 167 167 encoder << renderObject->elementID(); 168 encoder << Owner( renderObject->elementClassNames());168 encoder << Owner(coder, renderObject->elementClassNames()); 169 169 encoder << renderObject->absolutePosition(); 170 170 encoder << renderObject->frameRect(); 171 encoder << Owner( renderObject->children());171 encoder << Owner(coder, renderObject->children()); 172 172 return true; 173 173 } -
trunk/Source/WebKit2/Shared/mac/ObjCObjectGraphCoders.h
r159765 r159908 39 39 class WebContextObjCObjectGraphEncoder { 40 40 public: 41 explicit WebContextObjCObjectGraphEncoder(ObjCObjectGraph* );41 explicit WebContextObjCObjectGraphEncoder(ObjCObjectGraph*, WebProcessProxy&); 42 42 void encode(CoreIPC::ArgumentEncoder&) const; 43 43 44 44 private: 45 45 ObjCObjectGraph* m_objectGraph; 46 WebProcessProxy& m_process; 46 47 }; 47 48 48 49 class WebContextObjCObjectGraphDecoder { 49 50 public: 50 explicit WebContextObjCObjectGraphDecoder(RefPtr<ObjCObjectGraph>&, WebProcessProxy *);51 explicit WebContextObjCObjectGraphDecoder(RefPtr<ObjCObjectGraph>&, WebProcessProxy&); 51 52 static bool decode(CoreIPC::ArgumentDecoder&, WebContextObjCObjectGraphDecoder&); 52 53 53 54 private: 54 55 RefPtr<ObjCObjectGraph>& m_objectGraph; 55 WebProcessProxy *m_process;56 WebProcessProxy& m_process; 56 57 }; 57 58 … … 59 60 class InjectedBundleObjCObjectGraphEncoder { 60 61 public: 61 explicit InjectedBundleObjCObjectGraphEncoder(ObjCObjectGraph* );62 explicit InjectedBundleObjCObjectGraphEncoder(ObjCObjectGraph*, WebProcess&); 62 63 void encode(CoreIPC::ArgumentEncoder&) const; 63 64 64 65 private: 65 66 ObjCObjectGraph* m_objectGraph; 67 WebProcess& m_process; 66 68 }; 67 69 68 70 class InjectedBundleObjCObjectGraphDecoder { 69 71 public: 70 explicit InjectedBundleObjCObjectGraphDecoder(RefPtr<ObjCObjectGraph>&, WebProcess *);72 explicit InjectedBundleObjCObjectGraphDecoder(RefPtr<ObjCObjectGraph>&, WebProcess&); 71 73 static bool decode(CoreIPC::ArgumentDecoder&, InjectedBundleObjCObjectGraphDecoder&); 72 74 73 75 private: 74 76 RefPtr<ObjCObjectGraph>& m_objectGraph; 75 WebProcess *m_process;77 WebProcess& m_process; 76 78 }; 77 79 -
trunk/Source/WebKit2/Shared/mac/ObjCObjectGraphCoders.mm
r159877 r159908 92 92 class ObjCObjectGraphEncoder { 93 93 public: 94 bool baseEncode(CoreIPC::ArgumentEncoder& encoder, WebKitNSType& type) const94 bool baseEncode(CoreIPC::ArgumentEncoder& encoder, const Owner& coder, WebKitNSType& type) const 95 95 { 96 96 if (!m_root) { … … 118 118 119 119 for (NSUInteger i = 0; i < size; ++i) 120 encoder << Owner( [array objectAtIndex:i]);120 encoder << Owner(coder, [array objectAtIndex:i]); 121 121 return true; 122 122 } … … 130 130 NSArray *values = [dictionary allValues]; 131 131 for (NSUInteger i = 0; i < size; ++i) { 132 encoder << Owner( [keys objectAtIndex:i]);133 encoder << Owner( [values objectAtIndex:i]);132 encoder << Owner(coder, [keys objectAtIndex:i]); 133 encoder << Owner(coder, [values objectAtIndex:i]); 134 134 } 135 135 … … 269 269 typedef ObjCObjectGraphEncoder<WebContextObjCObjectGraphEncoderImpl> Base; 270 270 271 explicit WebContextObjCObjectGraphEncoderImpl(id root) 272 : Base(root) 271 explicit WebContextObjCObjectGraphEncoderImpl(id root, WebProcessProxy& process) 272 : Base(root) 273 , m_process(process) 274 { 275 } 276 277 WebContextObjCObjectGraphEncoderImpl(const WebContextObjCObjectGraphEncoderImpl& userMessageEncoder, id root) 278 : Base(root) 279 , m_process(userMessageEncoder.m_process) 273 280 { 274 281 } … … 277 284 { 278 285 WebKitNSType type = NullType; 279 if (baseEncode(encoder, type))286 if (baseEncode(encoder, *this, type)) 280 287 return; 281 288 … … 290 297 case WKTypeRefWrapperType: { 291 298 WKTypeRefWrapper *wrapper = static_cast<WKTypeRefWrapper *>(m_root); 292 encoder << WebContextUserMessageEncoder(toImpl(wrapper.object) );299 encoder << WebContextUserMessageEncoder(toImpl(wrapper.object), m_process); 293 300 break; 294 301 } … … 299 306 } 300 307 } 308 309 private: 310 WebProcessProxy& m_process; 301 311 }; 302 312 … … 306 316 typedef ObjCObjectGraphDecoder<WebContextObjCObjectGraphDecoderImpl> Base; 307 317 308 WebContextObjCObjectGraphDecoderImpl(RetainPtr<id>& root, WebProcessProxy *process)318 WebContextObjCObjectGraphDecoderImpl(RetainPtr<id>& root, WebProcessProxy& process) 309 319 : Base(root) 310 320 , m_process(process) … … 339 349 return false; 340 350 341 WebPageProxy* webPage = coder.m_process ->webPage(pageID);351 WebPageProxy* webPage = coder.m_process.webPage(pageID); 342 352 if (!webPage) 343 353 coder.m_root = [NSNull null]; … … 363 373 364 374 private: 365 WebProcessProxy *m_process;375 WebProcessProxy& m_process; 366 376 }; 367 377 … … 373 383 typedef ObjCObjectGraphEncoder<InjectedBundleObjCObjectGraphEncoderImpl> Base; 374 384 375 explicit InjectedBundleObjCObjectGraphEncoderImpl(id root) 376 : Base(root) 385 explicit InjectedBundleObjCObjectGraphEncoderImpl(id root, WebProcess& process) 386 : Base(root) 387 , m_process(process) 388 { 389 } 390 391 explicit InjectedBundleObjCObjectGraphEncoderImpl(const InjectedBundleObjCObjectGraphEncoderImpl& encoder, id root) 392 : Base(root) 393 , m_process(encoder.m_process) 377 394 { 378 395 } … … 381 398 { 382 399 WebKitNSType type = NullType; 383 if (baseEncode(encoder, type))400 if (baseEncode(encoder, *this, type)) 384 401 return; 385 402 … … 402 419 } 403 420 } 421 422 private: 423 WebProcess& m_process; 404 424 }; 405 425 … … 408 428 typedef ObjCObjectGraphDecoder<InjectedBundleObjCObjectGraphDecoderImpl> Base; 409 429 410 InjectedBundleObjCObjectGraphDecoderImpl(RetainPtr<id>& root, WebProcess *process)430 InjectedBundleObjCObjectGraphDecoderImpl(RetainPtr<id>& root, WebProcess& process) 411 431 : Base(root) 412 432 , m_process(process) … … 441 461 return false; 442 462 443 WebPage* webPage = coder.m_process ->webPage(pageID);463 WebPage* webPage = coder.m_process.webPage(pageID); 444 464 if (!webPage) 445 465 coder.m_root = [NSNull null]; … … 465 485 466 486 private: 467 WebProcess *m_process;487 WebProcess& m_process; 468 488 }; 469 489 … … 471 491 // Adaptors 472 492 473 WebContextObjCObjectGraphEncoder::WebContextObjCObjectGraphEncoder(ObjCObjectGraph* objectGraph )493 WebContextObjCObjectGraphEncoder::WebContextObjCObjectGraphEncoder(ObjCObjectGraph* objectGraph, WebProcessProxy& process) 474 494 : m_objectGraph(objectGraph) 495 , m_process(process) 475 496 { 476 497 } … … 478 499 void WebContextObjCObjectGraphEncoder::encode(CoreIPC::ArgumentEncoder& encoder) const 479 500 { 480 encoder << WebContextObjCObjectGraphEncoderImpl(m_objectGraph->rootObject() );481 } 482 483 WebContextObjCObjectGraphDecoder::WebContextObjCObjectGraphDecoder(RefPtr<ObjCObjectGraph>& objectGraph, WebProcessProxy *process)501 encoder << WebContextObjCObjectGraphEncoderImpl(m_objectGraph->rootObject(), m_process); 502 } 503 504 WebContextObjCObjectGraphDecoder::WebContextObjCObjectGraphDecoder(RefPtr<ObjCObjectGraph>& objectGraph, WebProcessProxy& process) 484 505 : m_objectGraph(objectGraph) 485 506 , m_process(process) … … 498 519 } 499 520 500 InjectedBundleObjCObjectGraphEncoder::InjectedBundleObjCObjectGraphEncoder(ObjCObjectGraph* objectGraph )521 InjectedBundleObjCObjectGraphEncoder::InjectedBundleObjCObjectGraphEncoder(ObjCObjectGraph* objectGraph, WebProcess& process) 501 522 : m_objectGraph(objectGraph) 523 , m_process(process) 502 524 { 503 525 } … … 505 527 void InjectedBundleObjCObjectGraphEncoder::encode(CoreIPC::ArgumentEncoder& encoder) const 506 528 { 507 encoder << InjectedBundleObjCObjectGraphEncoderImpl(m_objectGraph->rootObject() );508 } 509 510 InjectedBundleObjCObjectGraphDecoder::InjectedBundleObjCObjectGraphDecoder(RefPtr<ObjCObjectGraph>& objectGraph, WebProcess *process)529 encoder << InjectedBundleObjCObjectGraphEncoderImpl(m_objectGraph->rootObject(), m_process); 530 } 531 532 InjectedBundleObjCObjectGraphDecoder::InjectedBundleObjCObjectGraphDecoder(RefPtr<ObjCObjectGraph>& objectGraph, WebProcess& process) 511 533 : m_objectGraph(objectGraph) 512 534 , m_process(process) -
trunk/Source/WebKit2/UIProcess/WebConnectionToWebProcess.cpp
r159765 r159908 53 53 void WebConnectionToWebProcess::encodeMessageBody(CoreIPC::ArgumentEncoder& encoder, API::Object* messageBody) 54 54 { 55 encoder << WebContextUserMessageEncoder(messageBody );55 encoder << WebContextUserMessageEncoder(messageBody, *m_process); 56 56 } 57 57 58 58 bool WebConnectionToWebProcess::decodeMessageBody(CoreIPC::ArgumentDecoder& decoder, RefPtr<API::Object>& messageBody) 59 59 { 60 WebContextUserMessageDecoder messageBodyDecoder(messageBody, m_process);60 WebContextUserMessageDecoder messageBodyDecoder(messageBody, *m_process); 61 61 return decoder.decode(messageBodyDecoder); 62 62 } -
trunk/Source/WebKit2/UIProcess/WebContext.cpp
r159903 r159908 595 595 if (!injectedBundleInitializationUserData) 596 596 injectedBundleInitializationUserData = m_injectedBundleInitializationUserData; 597 process->send(Messages::WebProcess::InitializeWebProcess(parameters, WebContextUserMessageEncoder(injectedBundleInitializationUserData.get() )), 0);597 process->send(Messages::WebProcess::InitializeWebProcess(parameters, WebContextUserMessageEncoder(injectedBundleInitializationUserData.get(), *process)), 0); 598 598 599 599 if (WebPreferences::anyPageGroupsAreUsingPrivateBrowsing()) … … 609 609 610 610 messageData.encode(message.first); 611 messageData.encode(WebContextUserMessageEncoder(message.second.get() ));611 messageData.encode(WebContextUserMessageEncoder(message.second.get(), *process)); 612 612 process->send(Messages::WebProcess::PostInjectedBundleMessage(CoreIPC::DataReference(messageData.buffer(), messageData.bufferSize())), 0); 613 613 } … … 785 785 } 786 786 787 // FIXME: Return early if the message body contains any references to WKPageRefs/WKFrameRefs etc. since they're local to a process.788 789 CoreIPC::ArgumentEncoder messageData;790 messageData.encode(messageName);791 messageData.encode(WebContextUserMessageEncoder(messageBody));792 793 for (size_t i = 0; i < m_processes.size(); ++i)794 m_processes[i]->send(Messages::WebProcess::PostInjectedBundleMessage(CoreIPC::DataReference(messageData.buffer(), messageData.bufferSize())), 0);787 for (auto process : m_processes) { 788 // FIXME: Return early if the message body contains any references to WKPageRefs/WKFrameRefs etc. since they're local to a process. 789 CoreIPC::ArgumentEncoder messageData; 790 messageData.encode(messageName); 791 messageData.encode(WebContextUserMessageEncoder(messageBody, *process.get())); 792 793 process->send(Messages::WebProcess::PostInjectedBundleMessage(CoreIPC::DataReference(messageData.buffer(), messageData.bufferSize())), 0); 794 } 795 795 } 796 796 … … 956 956 String messageName; 957 957 RefPtr<API::Object> messageBody; 958 WebContextUserMessageDecoder messageBodyDecoder(messageBody, WebProcessProxy::fromConnection(connection));958 WebContextUserMessageDecoder messageBodyDecoder(messageBody, *WebProcessProxy::fromConnection(connection)); 959 959 if (!decoder.decode(messageName)) 960 960 return; … … 980 980 // FIXME: We should probably encode something in the case that the arguments do not decode correctly. 981 981 982 WebProcessProxy* process = WebProcessProxy::fromConnection(connection); 983 982 984 String messageName; 983 985 RefPtr<API::Object> messageBody; 984 WebContextUserMessageDecoder messageBodyDecoder(messageBody, WebProcessProxy::fromConnection(connection));986 WebContextUserMessageDecoder messageBodyDecoder(messageBody, *process); 985 987 if (!decoder.decode(messageName)) 986 988 return; … … 990 992 RefPtr<API::Object> returnData; 991 993 didReceiveSynchronousMessageFromInjectedBundle(messageName, messageBody.get(), returnData); 992 replyEncoder->encode(WebContextUserMessageEncoder(returnData.get() ));994 replyEncoder->encode(WebContextUserMessageEncoder(returnData.get(), *process)); 993 995 return; 994 996 } -
trunk/Source/WebKit2/UIProcess/WebContextUserMessageCoders.h
r159765 r159908 46 46 typedef UserMessageEncoder<WebContextUserMessageEncoder> Base; 47 47 48 explicit WebContextUserMessageEncoder(API::Object* root )48 explicit WebContextUserMessageEncoder(API::Object* root, WebProcessProxy& process) 49 49 : Base(root) 50 , m_process(process) 51 { 52 } 53 54 WebContextUserMessageEncoder(const WebContextUserMessageEncoder& userMessageEncoder, API::Object* root) 55 : Base(root) 56 , m_process(userMessageEncoder.m_process) 50 57 { 51 58 } … … 54 61 { 55 62 API::Object::Type type = API::Object::Type::Null; 56 if (baseEncode(encoder, type))63 if (baseEncode(encoder, *this, type)) 57 64 return; 58 65 … … 76 83 case API::Object::Type::ObjCObjectGraph: { 77 84 ObjCObjectGraph* objectGraph = static_cast<ObjCObjectGraph*>(m_root); 78 encoder << WebContextObjCObjectGraphEncoder(objectGraph );85 encoder << WebContextObjCObjectGraphEncoder(objectGraph, m_process); 79 86 break; 80 87 } … … 85 92 } 86 93 } 94 95 private: 96 WebProcessProxy& m_process; 87 97 }; 88 98 … … 96 106 typedef UserMessageDecoder<WebContextUserMessageDecoder> Base; 97 107 98 WebContextUserMessageDecoder(RefPtr<API::Object>& root, WebProcessProxy *process)108 WebContextUserMessageDecoder(RefPtr<API::Object>& root, WebProcessProxy& process) 99 109 : Base(root) 100 110 , m_process(process) … … 122 132 if (!decoder.decode(pageID)) 123 133 return false; 124 coder.m_root = coder.m_process ->webPage(pageID);134 coder.m_root = coder.m_process.webPage(pageID); 125 135 break; 126 136 } … … 129 139 if (!decoder.decode(frameID)) 130 140 return false; 131 coder.m_root = coder.m_process ->webFrame(frameID);141 coder.m_root = coder.m_process.webFrame(frameID); 132 142 break; 133 143 } … … 157 167 158 168 private: 159 WebProcessProxy *m_process;169 WebProcessProxy& m_process; 160 170 }; 161 171 -
trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp
r159903 r159908 607 607 if (createdExtension) 608 608 m_process->willAcquireUniversalFileReadSandboxExtension(); 609 m_process->send(Messages::WebPage::LoadURL(url, sandboxExtensionHandle, WebContextUserMessageEncoder(userData )), m_pageID);609 m_process->send(Messages::WebPage::LoadURL(url, sandboxExtensionHandle, WebContextUserMessageEncoder(userData, process())), m_pageID); 610 610 m_process->responsivenessTimer()->start(); 611 611 } … … 622 622 if (createdExtension) 623 623 m_process->willAcquireUniversalFileReadSandboxExtension(); 624 m_process->send(Messages::WebPage::LoadURLRequest(urlRequest->resourceRequest(), sandboxExtensionHandle, WebContextUserMessageEncoder(userData )), m_pageID);624 m_process->send(Messages::WebPage::LoadURLRequest(urlRequest->resourceRequest(), sandboxExtensionHandle, WebContextUserMessageEncoder(userData, process())), m_pageID); 625 625 m_process->responsivenessTimer()->start(); 626 626 } … … 649 649 SandboxExtension::createHandle(resourceDirectoryPath, SandboxExtension::ReadOnly, sandboxExtensionHandle); 650 650 m_process->assumeReadAccessToBaseURL(resourceDirectoryURL); 651 m_process->send(Messages::WebPage::LoadURL(fileURL, sandboxExtensionHandle, WebContextUserMessageEncoder(userData )), m_pageID);651 m_process->send(Messages::WebPage::LoadURL(fileURL, sandboxExtensionHandle, WebContextUserMessageEncoder(userData, process())), m_pageID); 652 652 m_process->responsivenessTimer()->start(); 653 653 } … … 659 659 660 660 m_process->assumeReadAccessToBaseURL(baseURL); 661 m_process->send(Messages::WebPage::LoadData(data->dataReference(), MIMEType, encoding, baseURL, WebContextUserMessageEncoder(userData )), m_pageID);661 m_process->send(Messages::WebPage::LoadData(data->dataReference(), MIMEType, encoding, baseURL, WebContextUserMessageEncoder(userData, process())), m_pageID); 662 662 m_process->responsivenessTimer()->start(); 663 663 } … … 669 669 670 670 m_process->assumeReadAccessToBaseURL(baseURL); 671 m_process->send(Messages::WebPage::LoadHTMLString(htmlString, baseURL, WebContextUserMessageEncoder(userData )), m_pageID);671 m_process->send(Messages::WebPage::LoadHTMLString(htmlString, baseURL, WebContextUserMessageEncoder(userData, process())), m_pageID); 672 672 m_process->responsivenessTimer()->start(); 673 673 } … … 684 684 685 685 m_process->assumeReadAccessToBaseURL(baseURL); 686 m_process->send(Messages::WebPage::LoadAlternateHTMLString(htmlString, baseURL, unreachableURL, WebContextUserMessageEncoder(userData )), m_pageID);686 m_process->send(Messages::WebPage::LoadAlternateHTMLString(htmlString, baseURL, unreachableURL, WebContextUserMessageEncoder(userData, process())), m_pageID); 687 687 m_process->responsivenessTimer()->start(); 688 688 } … … 693 693 reattachToWebProcess(); 694 694 695 m_process->send(Messages::WebPage::LoadPlainTextString(string, WebContextUserMessageEncoder(userData )), m_pageID);695 m_process->send(Messages::WebPage::LoadPlainTextString(string, WebContextUserMessageEncoder(userData, process())), m_pageID); 696 696 m_process->responsivenessTimer()->start(); 697 697 } … … 702 702 reattachToWebProcess(); 703 703 704 m_process->send(Messages::WebPage::LoadWebArchiveData(webArchiveData->dataReference(), WebContextUserMessageEncoder(userData )), m_pageID);704 m_process->send(Messages::WebPage::LoadWebArchiveData(webArchiveData->dataReference(), WebContextUserMessageEncoder(userData, process())), m_pageID); 705 705 m_process->responsivenessTimer()->start(); 706 706 } … … 823 823 { 824 824 RefPtr<API::Object> userData; 825 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());825 WebContextUserMessageDecoder messageDecoder(userData, process()); 826 826 if (!decoder.decode(messageDecoder)) 827 827 return; … … 2076 2076 2077 2077 RefPtr<API::Object> userData; 2078 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2078 WebContextUserMessageDecoder messageDecoder(userData, process()); 2079 2079 if (!decoder.decode(messageDecoder)) 2080 2080 return; … … 2096 2096 { 2097 2097 RefPtr<API::Object> userData; 2098 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2098 WebContextUserMessageDecoder messageDecoder(userData, process()); 2099 2099 if (!decoder.decode(messageDecoder)) 2100 2100 return; … … 2115 2115 { 2116 2116 RefPtr<API::Object> userData; 2117 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2117 WebContextUserMessageDecoder messageDecoder(userData, process()); 2118 2118 if (!decoder.decode(messageDecoder)) 2119 2119 return; … … 2146 2146 { 2147 2147 RefPtr<API::Object> userData; 2148 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2148 WebContextUserMessageDecoder messageDecoder(userData, process()); 2149 2149 if (!decoder.decode(messageDecoder)) 2150 2150 return; … … 2183 2183 { 2184 2184 RefPtr<API::Object> userData; 2185 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2185 WebContextUserMessageDecoder messageDecoder(userData, process()); 2186 2186 if (!decoder.decode(messageDecoder)) 2187 2187 return; … … 2196 2196 { 2197 2197 RefPtr<API::Object> userData; 2198 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2198 WebContextUserMessageDecoder messageDecoder(userData, process()); 2199 2199 if (!decoder.decode(messageDecoder)) 2200 2200 return; … … 2214 2214 { 2215 2215 RefPtr<API::Object> userData; 2216 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2216 WebContextUserMessageDecoder messageDecoder(userData, process()); 2217 2217 if (!decoder.decode(messageDecoder)) 2218 2218 return; … … 2234 2234 { 2235 2235 RefPtr<API::Object> userData; 2236 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2236 WebContextUserMessageDecoder messageDecoder(userData, process()); 2237 2237 if (!decoder.decode(messageDecoder)) 2238 2238 return; … … 2254 2254 { 2255 2255 RefPtr<API::Object> userData; 2256 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2256 WebContextUserMessageDecoder messageDecoder(userData, process()); 2257 2257 if (!decoder.decode(messageDecoder)) 2258 2258 return; … … 2272 2272 { 2273 2273 RefPtr<API::Object> userData; 2274 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2274 WebContextUserMessageDecoder messageDecoder(userData, process()); 2275 2275 if (!decoder.decode(messageDecoder)) 2276 2276 return; … … 2285 2285 { 2286 2286 RefPtr<API::Object> userData; 2287 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2287 WebContextUserMessageDecoder messageDecoder(userData, process()); 2288 2288 if (!decoder.decode(messageDecoder)) 2289 2289 return; … … 2298 2298 { 2299 2299 RefPtr<API::Object> userData; 2300 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2300 WebContextUserMessageDecoder messageDecoder(userData, process()); 2301 2301 if (!decoder.decode(messageDecoder)) 2302 2302 return; … … 2308 2308 { 2309 2309 RefPtr<API::Object> userData; 2310 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2310 WebContextUserMessageDecoder messageDecoder(userData, process()); 2311 2311 if (!decoder.decode(messageDecoder)) 2312 2312 return; … … 2321 2321 { 2322 2322 RefPtr<API::Object> userData; 2323 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2323 WebContextUserMessageDecoder messageDecoder(userData, process()); 2324 2324 if (!decoder.decode(messageDecoder)) 2325 2325 return; … … 2334 2334 { 2335 2335 RefPtr<API::Object> userData; 2336 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2336 WebContextUserMessageDecoder messageDecoder(userData, process()); 2337 2337 if (!decoder.decode(messageDecoder)) 2338 2338 return; … … 2347 2347 { 2348 2348 RefPtr<API::Object> userData; 2349 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2349 WebContextUserMessageDecoder messageDecoder(userData, process()); 2350 2350 if (!decoder.decode(messageDecoder)) 2351 2351 return; … … 2371 2371 { 2372 2372 RefPtr<API::Object> userData; 2373 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2373 WebContextUserMessageDecoder messageDecoder(userData, process()); 2374 2374 if (!decoder.decode(messageDecoder)) 2375 2375 return; … … 2410 2410 { 2411 2411 RefPtr<API::Object> userData; 2412 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2412 WebContextUserMessageDecoder messageDecoder(userData, process()); 2413 2413 if (!decoder.decode(messageDecoder)) 2414 2414 return; … … 2430 2430 { 2431 2431 RefPtr<API::Object> userData; 2432 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2432 WebContextUserMessageDecoder messageDecoder(userData, process()); 2433 2433 if (!decoder.decode(messageDecoder)) 2434 2434 return; … … 2469 2469 { 2470 2470 RefPtr<API::Object> userData; 2471 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2471 WebContextUserMessageDecoder messageDecoder(userData, process()); 2472 2472 if (!decoder.decode(messageDecoder)) 2473 2473 return; … … 2484 2484 { 2485 2485 RefPtr<API::Object> userData; 2486 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2486 WebContextUserMessageDecoder messageDecoder(userData, process()); 2487 2487 if (!decoder.decode(messageDecoder)) 2488 2488 return; … … 2577 2577 { 2578 2578 RefPtr<API::Object> userData; 2579 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());2579 WebContextUserMessageDecoder messageDecoder(userData, process()); 2580 2580 if (!decoder.decode(messageDecoder)) 2581 2581 return; … … 3050 3050 void WebPageProxy::postMessageToInjectedBundle(const String& messageName, API::Object* messageBody) 3051 3051 { 3052 process().send(Messages::WebPage::PostInjectedBundleMessage(messageName, WebContextUserMessageEncoder(messageBody )), m_pageID);3052 process().send(Messages::WebPage::PostInjectedBundleMessage(messageName, WebContextUserMessageEncoder(messageBody, process())), m_pageID); 3053 3053 } 3054 3054 … … 3121 3121 { 3122 3122 RefPtr<API::Object> userData; 3123 WebContextUserMessageDecoder messageDecoder(userData, &m_process.get());3123 WebContextUserMessageDecoder messageDecoder(userData, process()); 3124 3124 if (!decoder.decode(messageDecoder)) 3125 3125 return; -
trunk/Source/WebKit2/WebProcess/InjectedBundle/InjectedBundleUserMessageCoders.h
r159765 r159908 49 49 typedef UserMessageEncoder<InjectedBundleUserMessageEncoder> Base; 50 50 51 InjectedBundleUserMessageEncoder(API::Object* root) 51 InjectedBundleUserMessageEncoder(API::Object* root) 52 : Base(root) 53 { 54 } 55 56 InjectedBundleUserMessageEncoder(const InjectedBundleUserMessageEncoder&, API::Object* root) 52 57 : Base(root) 53 58 { … … 57 62 { 58 63 API::Object::Type type = API::Object::Type::Null; 59 if (baseEncode(encoder, type))64 if (baseEncode(encoder, *this, type)) 60 65 return; 61 66 … … 79 84 case API::Object::Type::ObjCObjectGraph: { 80 85 ObjCObjectGraph* objectGraph = static_cast<ObjCObjectGraph*>(m_root); 81 encoder << InjectedBundleObjCObjectGraphEncoder(objectGraph );86 encoder << InjectedBundleObjCObjectGraphEncoder(objectGraph, WebProcess::shared()); 82 87 break; 83 88 } … … 143 148 case API::Object::Type::ObjCObjectGraph: { 144 149 RefPtr<ObjCObjectGraph> objectGraph; 145 InjectedBundleObjCObjectGraphDecoder objectGraphDecoder(objectGraph, &WebProcess::shared());150 InjectedBundleObjCObjectGraphDecoder objectGraphDecoder(objectGraph, WebProcess::shared()); 146 151 if (!decoder.decode(objectGraphDecoder)) 147 152 return false;
Note: See TracChangeset
for help on using the changeset viewer.