1 : //
2 : // Automatically generated by ipdlc.
3 : // Edit at your own risk
4 : //
5 :
6 : #ifndef PContentChild_h
7 : #define PContentChild_h
8 :
9 : #include "mozilla/dom/PContent.h"
10 : namespace mozilla {
11 : namespace dom {
12 : class PAudioChild;
13 : } // namespace dom
14 : } // namespace mozilla
15 :
16 : namespace mozilla {
17 : namespace dom {
18 : class PBrowserChild;
19 : } // namespace dom
20 : } // namespace mozilla
21 :
22 : namespace mozilla {
23 : namespace dom {
24 : class PCrashReporterChild;
25 : } // namespace dom
26 : } // namespace mozilla
27 :
28 : namespace mozilla {
29 : namespace dom {
30 : class PExternalHelperAppChild;
31 : } // namespace dom
32 : } // namespace mozilla
33 :
34 : namespace mozilla {
35 : namespace hal_sandbox {
36 : class PHalChild;
37 : } // namespace hal_sandbox
38 : } // namespace mozilla
39 :
40 : namespace mozilla {
41 : namespace dom {
42 : class PMemoryReportRequestChild;
43 : } // namespace dom
44 : } // namespace mozilla
45 :
46 : namespace mozilla {
47 : namespace net {
48 : class PNeckoChild;
49 : } // namespace net
50 : } // namespace mozilla
51 :
52 : namespace mozilla {
53 : namespace dom {
54 : namespace sms {
55 : class PSmsChild;
56 : } // namespace sms
57 : } // namespace dom
58 : } // namespace mozilla
59 :
60 : namespace mozilla {
61 : namespace dom {
62 : class PStorageChild;
63 : } // namespace dom
64 : } // namespace mozilla
65 :
66 : namespace mozilla {
67 : namespace ipc {
68 : class PTestShellChild;
69 : } // namespace ipc
70 : } // namespace mozilla
71 :
72 : #ifdef DEBUG
73 : #include "prenv.h"
74 : #endif // DEBUG
75 : #include "base/id_map.h"
76 : #include "mozilla/ipc/RPCChannel.h"
77 :
78 :
79 : namespace mozilla {
80 : namespace dom {
81 : class PStorageChild;
82 : } // namespace dom
83 : } // namespace mozilla
84 :
85 :
86 : namespace mozilla {
87 : namespace dom {
88 : class PBrowserChild;
89 : } // namespace dom
90 : } // namespace mozilla
91 :
92 :
93 : namespace mozilla {
94 : namespace dom {
95 : class PExternalHelperAppChild;
96 : } // namespace dom
97 : } // namespace mozilla
98 :
99 :
100 : namespace mozilla {
101 : namespace ipc {
102 : class PTestShellChild;
103 : } // namespace ipc
104 : } // namespace mozilla
105 :
106 :
107 : namespace mozilla {
108 : namespace dom {
109 : class PAudioChild;
110 : } // namespace dom
111 : } // namespace mozilla
112 :
113 :
114 : namespace mozilla {
115 : namespace dom {
116 : class PMemoryReportRequestChild;
117 : } // namespace dom
118 : } // namespace mozilla
119 :
120 :
121 : namespace mozilla {
122 : namespace dom {
123 : class PCrashReporterChild;
124 : } // namespace dom
125 : } // namespace mozilla
126 :
127 :
128 : namespace mozilla {
129 : namespace dom {
130 : namespace sms {
131 : class PSmsChild;
132 : } // namespace sms
133 : } // namespace dom
134 : } // namespace mozilla
135 :
136 :
137 : namespace mozilla {
138 : namespace hal_sandbox {
139 : class PHalChild;
140 : } // namespace hal_sandbox
141 : } // namespace mozilla
142 :
143 :
144 : namespace mozilla {
145 : namespace net {
146 : class PNeckoChild;
147 : } // namespace net
148 : } // namespace mozilla
149 :
150 : namespace mozilla {
151 : namespace dom {
152 :
153 :
154 : class /*NS_ABSTRACT_CLASS*/ PContentChild :
155 : protected mozilla::ipc::RPCChannel::RPCListener,
156 : protected mozilla::ipc::IProtocolManager<mozilla::ipc::RPCChannel::RPCListener>
157 : {
158 : friend class mozilla::dom::PStorageChild;
159 :
160 : friend class mozilla::dom::PBrowserChild;
161 :
162 : friend class mozilla::dom::PExternalHelperAppChild;
163 :
164 : friend class mozilla::ipc::PTestShellChild;
165 :
166 : friend class mozilla::dom::PAudioChild;
167 :
168 : friend class mozilla::dom::PMemoryReportRequestChild;
169 :
170 : friend class mozilla::dom::PCrashReporterChild;
171 :
172 : friend class mozilla::dom::sms::PSmsChild;
173 :
174 : friend class mozilla::hal_sandbox::PHalChild;
175 :
176 : friend class mozilla::net::PNeckoChild;
177 :
178 : protected:
179 : typedef mozilla::ipc::ActorHandle ActorHandle;
180 : typedef mozilla::dom::StorageClone StorageClone;
181 : typedef mozilla::dom::StorageConstructData StorageConstructData;
182 : typedef mozilla::dom::FontListEntry FontListEntry;
183 : typedef mozilla::ipc::Shmem Shmem;
184 : typedef IPC::URI URI;
185 : typedef IPC::Permission Permission;
186 : typedef mozilla::null_t null_t;
187 : typedef mozilla::dom::NativeThreadId NativeThreadId;
188 : typedef mozilla::dom::PAudioChild PAudioChild;
189 : typedef mozilla::dom::PBrowserChild PBrowserChild;
190 : typedef mozilla::dom::PCrashReporterChild PCrashReporterChild;
191 : typedef mozilla::dom::PExternalHelperAppChild PExternalHelperAppChild;
192 : typedef mozilla::hal_sandbox::PHalChild PHalChild;
193 : typedef mozilla::dom::PMemoryReportRequestChild PMemoryReportRequestChild;
194 : typedef mozilla::net::PNeckoChild PNeckoChild;
195 : typedef mozilla::dom::sms::PSmsChild PSmsChild;
196 : typedef mozilla::dom::PStorageChild PStorageChild;
197 : typedef mozilla::ipc::PTestShellChild PTestShellChild;
198 : typedef base::ProcessId ProcessId;
199 : typedef mozilla::ipc::ProtocolId ProtocolId;
200 : typedef mozilla::ipc::Transport Transport;
201 : typedef mozilla::ipc::TransportDescriptor TransportDescriptor;
202 :
203 : typedef PContent::State State;
204 :
205 : virtual bool
206 : RecvPBrowserConstructor(
207 : PBrowserChild* actor,
208 : const PRUint32& chromeFlags);
209 : virtual bool
210 : RecvPMemoryReportRequestConstructor(PMemoryReportRequestChild* actor);
211 : virtual bool
212 : RecvPTestShellConstructor(PTestShellChild* actor);
213 : virtual bool
214 : RecvRegisterChrome(
215 : const InfallibleTArray<ChromePackage>& packages,
216 : const InfallibleTArray<ResourceMapping>& resources,
217 : const InfallibleTArray<OverrideMapping>& overrides,
218 : const nsCString& locale) = 0;
219 : virtual bool
220 : RecvSetOffline(const bool& offline) = 0;
221 : virtual bool
222 : RecvNotifyVisited(const URI& uri) = 0;
223 : virtual bool
224 : RecvPreferenceUpdate(const PrefTuple& pref) = 0;
225 : virtual bool
226 : RecvClearUserPreference(const nsCString& prefName) = 0;
227 : virtual bool
228 : RecvNotifyAlertsObserver(
229 : const nsCString& topic,
230 : const nsString& data) = 0;
231 : virtual bool
232 : RecvGeolocationUpdate(const GeoPosition& somewhere) = 0;
233 : virtual bool
234 : RecvAddPermission(const Permission& permission) = 0;
235 : virtual bool
236 : RecvDeviceMotionChanged(
237 : const long& type,
238 : const double& x,
239 : const double& y,
240 : const double& z) = 0;
241 : virtual bool
242 : RecvScreenSizeChanged(const gfxIntSize& size) = 0;
243 : virtual bool
244 : RecvFlushMemory(const nsString& reason) = 0;
245 : virtual bool
246 : RecvGarbageCollect() = 0;
247 : virtual bool
248 : RecvCycleCollect() = 0;
249 : virtual bool
250 : RecvActivateA11y() = 0;
251 : virtual bool
252 : RecvAppInfo(
253 : const nsCString& version,
254 : const nsCString& buildID) = 0;
255 : virtual bool
256 : RecvSetID(const PRUint64& id) = 0;
257 : virtual bool
258 : RecvAsyncMessage(
259 : const nsString& aMessage,
260 : const nsString& aJSON) = 0;
261 : virtual PBrowserChild*
262 : AllocPBrowser(const PRUint32& chromeFlags) = 0;
263 : virtual bool
264 : DeallocPBrowser(PBrowserChild* actor) = 0;
265 : virtual PMemoryReportRequestChild*
266 : AllocPMemoryReportRequest() = 0;
267 : virtual bool
268 : DeallocPMemoryReportRequest(PMemoryReportRequestChild* actor) = 0;
269 : virtual PTestShellChild*
270 : AllocPTestShell() = 0;
271 : virtual bool
272 : DeallocPTestShell(PTestShellChild* actor) = 0;
273 : virtual PAudioChild*
274 : AllocPAudio(
275 : const PRInt32& aNumChannels,
276 : const PRInt32& aRate,
277 : const PRInt32& aFormat) = 0;
278 : virtual bool
279 : DeallocPAudio(PAudioChild* actor) = 0;
280 : virtual PCrashReporterChild*
281 : AllocPCrashReporter(
282 : const NativeThreadId& tid,
283 : const PRUint32& processType) = 0;
284 : virtual bool
285 : DeallocPCrashReporter(PCrashReporterChild* actor) = 0;
286 : virtual PHalChild*
287 : AllocPHal() = 0;
288 : virtual bool
289 : DeallocPHal(PHalChild* actor) = 0;
290 : virtual PNeckoChild*
291 : AllocPNecko() = 0;
292 : virtual bool
293 : DeallocPNecko(PNeckoChild* actor) = 0;
294 : virtual PSmsChild*
295 : AllocPSms() = 0;
296 : virtual bool
297 : DeallocPSms(PSmsChild* actor) = 0;
298 : virtual PStorageChild*
299 : AllocPStorage(const StorageConstructData& data) = 0;
300 : virtual bool
301 : DeallocPStorage(PStorageChild* actor) = 0;
302 : virtual PExternalHelperAppChild*
303 : AllocPExternalHelperApp(
304 : const URI& uri,
305 : const nsCString& aMimeContentType,
306 : const nsCString& aContentDisposition,
307 : const bool& aForceSave,
308 : const PRInt64& aContentLength,
309 : const URI& aReferrer) = 0;
310 : virtual bool
311 : DeallocPExternalHelperApp(PExternalHelperAppChild* actor) = 0;
312 :
313 : virtual void
314 : ActorDestroy(ActorDestroyReason why);
315 :
316 : virtual void
317 : ProcessingError(Result code);
318 : virtual bool
319 : ShouldContinueFromReplyTimeout();
320 : virtual void
321 : EnteredCxxStack();
322 : virtual void
323 : ExitedCxxStack();
324 : virtual void
325 : EnteredCall();
326 : virtual void
327 : ExitedCall();
328 :
329 : public:
330 : typedef IPC::Message Message;
331 : typedef mozilla::ipc::RPCChannel Channel;
332 : typedef mozilla::ipc::RPCChannel::RPCListener ChannelListener;
333 : typedef base::ProcessHandle ProcessHandle;
334 : typedef mozilla::ipc::AsyncChannel AsyncChannel;
335 : typedef mozilla::ipc::SharedMemory SharedMemory;
336 : typedef mozilla::ipc::Trigger Trigger;
337 :
338 : public:
339 : PContentChild();
340 :
341 : virtual ~PContentChild();
342 :
343 : bool
344 : Open(
345 : Channel::Transport* aTransport,
346 : ProcessHandle aOtherProcess,
347 : MessageLoop* aThread = 0,
348 : AsyncChannel::Side aSide = Channel::Unknown);
349 :
350 : bool
351 : Open(
352 : AsyncChannel* aChannel,
353 : MessageLoop* aMessageLoop,
354 : AsyncChannel::Side aSide = Channel::Unknown);
355 :
356 : void
357 : Close();
358 :
359 : void
360 : SetReplyTimeoutMs(int32 aTimeoutMs);
361 :
362 : void
363 : ManagedPAudioChild(InfallibleTArray<PAudioChild*>& aArr) const;
364 : const InfallibleTArray<PAudioChild*>&
365 : ManagedPAudioChild() const;
366 :
367 : void
368 : ManagedPBrowserChild(InfallibleTArray<PBrowserChild*>& aArr) const;
369 : const InfallibleTArray<PBrowserChild*>&
370 : ManagedPBrowserChild() const;
371 :
372 : void
373 : ManagedPCrashReporterChild(InfallibleTArray<PCrashReporterChild*>& aArr) const;
374 : const InfallibleTArray<PCrashReporterChild*>&
375 : ManagedPCrashReporterChild() const;
376 :
377 : void
378 : ManagedPExternalHelperAppChild(InfallibleTArray<PExternalHelperAppChild*>& aArr) const;
379 : const InfallibleTArray<PExternalHelperAppChild*>&
380 : ManagedPExternalHelperAppChild() const;
381 :
382 : void
383 : ManagedPHalChild(InfallibleTArray<PHalChild*>& aArr) const;
384 : const InfallibleTArray<PHalChild*>&
385 : ManagedPHalChild() const;
386 :
387 : void
388 : ManagedPMemoryReportRequestChild(InfallibleTArray<PMemoryReportRequestChild*>& aArr) const;
389 : const InfallibleTArray<PMemoryReportRequestChild*>&
390 : ManagedPMemoryReportRequestChild() const;
391 :
392 : void
393 : ManagedPNeckoChild(InfallibleTArray<PNeckoChild*>& aArr) const;
394 : const InfallibleTArray<PNeckoChild*>&
395 : ManagedPNeckoChild() const;
396 :
397 : void
398 : ManagedPSmsChild(InfallibleTArray<PSmsChild*>& aArr) const;
399 : const InfallibleTArray<PSmsChild*>&
400 : ManagedPSmsChild() const;
401 :
402 : void
403 : ManagedPStorageChild(InfallibleTArray<PStorageChild*>& aArr) const;
404 : const InfallibleTArray<PStorageChild*>&
405 : ManagedPStorageChild() const;
406 :
407 : void
408 : ManagedPTestShellChild(InfallibleTArray<PTestShellChild*>& aArr) const;
409 : const InfallibleTArray<PTestShellChild*>&
410 : ManagedPTestShellChild() const;
411 :
412 : PContent::State
413 : state();
414 :
415 : PAudioChild*
416 : SendPAudioConstructor(
417 : const PRInt32& aNumChannels,
418 : const PRInt32& aRate,
419 : const PRInt32& aFormat);
420 :
421 : PAudioChild*
422 : SendPAudioConstructor(
423 : PAudioChild* actor,
424 : const PRInt32& aNumChannels,
425 : const PRInt32& aRate,
426 : const PRInt32& aFormat);
427 :
428 : PCrashReporterChild*
429 : SendPCrashReporterConstructor(
430 : const NativeThreadId& tid,
431 : const PRUint32& processType);
432 :
433 : PCrashReporterChild*
434 : SendPCrashReporterConstructor(
435 : PCrashReporterChild* actor,
436 : const NativeThreadId& tid,
437 : const PRUint32& processType);
438 :
439 : PHalChild*
440 : SendPHalConstructor();
441 :
442 : PHalChild*
443 : SendPHalConstructor(PHalChild* actor);
444 :
445 : PNeckoChild*
446 : SendPNeckoConstructor();
447 :
448 : PNeckoChild*
449 : SendPNeckoConstructor(PNeckoChild* actor);
450 :
451 : PSmsChild*
452 : SendPSmsConstructor();
453 :
454 : PSmsChild*
455 : SendPSmsConstructor(PSmsChild* actor);
456 :
457 : PStorageChild*
458 : SendPStorageConstructor(const StorageConstructData& data);
459 :
460 : PStorageChild*
461 : SendPStorageConstructor(
462 : PStorageChild* actor,
463 : const StorageConstructData& data);
464 :
465 : bool
466 : SendStartVisitedQuery(const URI& uri);
467 :
468 : bool
469 : SendVisitURI(
470 : const URI& uri,
471 : const URI& referrer,
472 : const PRUint32& flags);
473 :
474 : bool
475 : SendSetURITitle(
476 : const URI& uri,
477 : const nsString& title);
478 :
479 : bool
480 : SendShowFilePicker(
481 : const PRInt16& mode,
482 : const PRInt16& selectedType,
483 : const bool& addToRecentDocs,
484 : const nsString& title,
485 : const nsString& defaultFile,
486 : const nsString& defaultExtension,
487 : const InfallibleTArray<nsString>& filters,
488 : const InfallibleTArray<nsString>& filterNames,
489 : InfallibleTArray<nsString>* files,
490 : PRInt16* retValue,
491 : nsresult* result);
492 :
493 : bool
494 : SendLoadURIExternal(const URI& uri);
495 :
496 : bool
497 : SendReadPrefsArray(InfallibleTArray<PrefTuple>* retValue);
498 :
499 : bool
500 : SendReadFontList(InfallibleTArray<FontListEntry>* retValue);
501 :
502 : bool
503 : SendSyncMessage(
504 : const nsString& aMessage,
505 : const nsString& aJSON,
506 : InfallibleTArray<nsString>* retval);
507 :
508 : bool
509 : SendShowAlertNotification(
510 : const nsString& imageUrl,
511 : const nsString& title,
512 : const nsString& text,
513 : const bool& textClickable,
514 : const nsString& cookie,
515 : const nsString& name);
516 :
517 : PExternalHelperAppChild*
518 : SendPExternalHelperAppConstructor(
519 : const URI& uri,
520 : const nsCString& aMimeContentType,
521 : const nsCString& aContentDisposition,
522 : const bool& aForceSave,
523 : const PRInt64& aContentLength,
524 : const URI& aReferrer);
525 :
526 : PExternalHelperAppChild*
527 : SendPExternalHelperAppConstructor(
528 : PExternalHelperAppChild* actor,
529 : const URI& uri,
530 : const nsCString& aMimeContentType,
531 : const nsCString& aContentDisposition,
532 : const bool& aForceSave,
533 : const PRInt64& aContentLength,
534 : const URI& aReferrer);
535 :
536 : bool
537 : SendAddGeolocationListener();
538 :
539 : bool
540 : SendRemoveGeolocationListener();
541 :
542 : bool
543 : SendAddDeviceMotionListener();
544 :
545 : bool
546 : SendRemoveDeviceMotionListener();
547 :
548 : bool
549 : SendConsoleMessage(const nsString& message);
550 :
551 : bool
552 : SendScriptError(
553 : const nsString& message,
554 : const nsString& sourceName,
555 : const nsString& sourceLine,
556 : const PRUint32& lineNumber,
557 : const PRUint32& colNumber,
558 : const PRUint32& flags,
559 : const nsCString& category);
560 :
561 : bool
562 : SendReadPermissions(InfallibleTArray<Permission>* permissions);
563 :
564 : bool
565 : SendGetIndexedDBDirectory(nsString* directory);
566 :
567 : bool
568 : SendSetClipboardText(
569 : const nsString& text,
570 : const PRInt32& whichClipboard);
571 :
572 : bool
573 : SendGetClipboardText(
574 : const PRInt32& whichClipboard,
575 : nsString* text);
576 :
577 : bool
578 : SendEmptyClipboard();
579 :
580 : bool
581 : SendClipboardHasText(bool* hasText);
582 :
583 : bool
584 : SendGetSystemColors(
585 : const PRUint32& colorsCount,
586 : InfallibleTArray<PRUint32>* colors);
587 :
588 : bool
589 : SendGetIconForExtension(
590 : const nsCString& aFileExt,
591 : const PRUint32& aIconSize,
592 : InfallibleTArray<PRUint8>* bits);
593 :
594 : bool
595 : SendGetShowPasswordSetting(bool* showPassword);
596 :
597 : bool
598 : SendAsyncMessage(
599 : const nsString& aMessage,
600 : const nsString& aJSON);
601 :
602 : virtual int32
603 : Register(ChannelListener* aRouted);
604 : virtual int32
605 : RegisterID(
606 : ChannelListener* aRouted,
607 : int32 aId);
608 : virtual ChannelListener*
609 : Lookup(int32 aId);
610 : virtual void
611 : Unregister(int32 aId);
612 : virtual void
613 : RemoveManagee(
614 : int32 aProtocolId,
615 : ChannelListener* aListener);
616 : virtual Shmem::SharedMemory*
617 : CreateSharedMemory(
618 : size_t aSize,
619 : Shmem::SharedMemory::SharedMemoryType type,
620 : bool unsafe,
621 : Shmem::id_t* aId);
622 : virtual bool
623 : AdoptSharedMemory(
624 : Shmem::SharedMemory* segment,
625 : Shmem::id_t* aId);
626 : virtual Shmem::SharedMemory*
627 : LookupSharedMemory(Shmem::id_t aId);
628 : virtual bool
629 : IsTrackingSharedMemory(Shmem::SharedMemory* segment);
630 : virtual bool
631 : DestroySharedMemory(Shmem& aShmem);
632 : virtual ProcessHandle
633 : OtherProcess() const;
634 : virtual AsyncChannel*
635 : GetIPCChannel();
636 :
637 : virtual Result
638 : OnMessageReceived(const Message& __msg);
639 :
640 : virtual Result
641 : OnMessageReceived(
642 : const Message& __msg,
643 : Message*& __reply);
644 :
645 : virtual Result
646 : OnCallReceived(
647 : const Message& __msg,
648 : Message*& __reply);
649 :
650 : void
651 : OnProcessingError(Result code);
652 :
653 : bool
654 : OnReplyTimeout();
655 :
656 : void
657 : OnEnteredCxxStack();
658 : void
659 : OnExitedCxxStack();
660 : void
661 : OnEnteredCall();
662 : void
663 : OnExitedCall();
664 : bool
665 : IsOnCxxStack() const;
666 : void
667 : FlushPendingRPCQueue();
668 :
669 : void
670 : OnChannelClose();
671 :
672 : void
673 : OnChannelError();
674 :
675 : void
676 : OnChannelConnected(int32 pid);
677 :
678 : // Methods for managing shmem
679 : bool
680 : AllocShmem(
681 : size_t aSize,
682 : Shmem::SharedMemory::SharedMemoryType aType,
683 : Shmem* aMem);
684 :
685 : bool
686 : AllocUnsafeShmem(
687 : size_t aSize,
688 : Shmem::SharedMemory::SharedMemoryType aType,
689 : Shmem* aMem);
690 :
691 : bool
692 : AdoptShmem(
693 : Shmem& aMem,
694 : Shmem* aOutMem);
695 :
696 : bool
697 : DeallocShmem(Shmem& aMem);
698 :
699 : void
700 : ProcessNativeEventsInRPCCall();
701 :
702 : private:
703 : virtual void
704 : FatalError(const char* const msg) const;
705 :
706 : void
707 : DestroySubtree(ActorDestroyReason why);
708 :
709 : void
710 : DeallocSubtree();
711 :
712 : void
713 : DeallocShmems();
714 :
715 : template<typename T>
716 : void
717 0 : Write(
718 : const T& __v,
719 : Message* __msg)
720 : {
721 0 : IPC::WriteParam(__msg, __v);
722 0 : }
723 :
724 : template<typename T>
725 : bool
726 0 : Read(
727 : T* __v,
728 : const Message* __msg,
729 : void** __iter)
730 : {
731 0 : return IPC::ReadParam(__msg, __iter, __v);
732 : }
733 :
734 : void
735 : Write(
736 : const StorageConstructData& __v,
737 : Message* __msg);
738 :
739 : bool
740 : Read(
741 : StorageConstructData* __v,
742 : const Message* __msg,
743 : void** __iter) NS_WARN_UNUSED_RESULT;
744 :
745 : void
746 : Write(
747 : const StorageClone& __v,
748 : Message* __msg);
749 :
750 : bool
751 : Read(
752 : StorageClone* __v,
753 : const Message* __msg,
754 : void** __iter) NS_WARN_UNUSED_RESULT;
755 :
756 : void
757 : Write(
758 : PStorageChild* __v,
759 : Message* __msg,
760 : bool __nullable);
761 :
762 : bool
763 : Read(
764 : PStorageChild** __v,
765 : const Message* __msg,
766 : void** __iter,
767 : bool __nullable) NS_WARN_UNUSED_RESULT;
768 :
769 : void
770 : Write(
771 : PBrowserChild* __v,
772 : Message* __msg,
773 : bool __nullable);
774 :
775 : bool
776 : Read(
777 : PBrowserChild** __v,
778 : const Message* __msg,
779 : void** __iter,
780 : bool __nullable) NS_WARN_UNUSED_RESULT;
781 :
782 : void
783 : Write(
784 : PExternalHelperAppChild* __v,
785 : Message* __msg,
786 : bool __nullable);
787 :
788 : bool
789 : Read(
790 : PExternalHelperAppChild** __v,
791 : const Message* __msg,
792 : void** __iter,
793 : bool __nullable) NS_WARN_UNUSED_RESULT;
794 :
795 : void
796 : Write(
797 : const FontListEntry& __v,
798 : Message* __msg);
799 :
800 : bool
801 : Read(
802 : FontListEntry* __v,
803 : const Message* __msg,
804 : void** __iter) NS_WARN_UNUSED_RESULT;
805 :
806 : void
807 : Write(
808 : PTestShellChild* __v,
809 : Message* __msg,
810 : bool __nullable);
811 :
812 : bool
813 : Read(
814 : PTestShellChild** __v,
815 : const Message* __msg,
816 : void** __iter,
817 : bool __nullable) NS_WARN_UNUSED_RESULT;
818 :
819 : void
820 : Write(
821 : PAudioChild* __v,
822 : Message* __msg,
823 : bool __nullable);
824 :
825 : bool
826 : Read(
827 : PAudioChild** __v,
828 : const Message* __msg,
829 : void** __iter,
830 : bool __nullable) NS_WARN_UNUSED_RESULT;
831 :
832 : void
833 : Write(
834 : PMemoryReportRequestChild* __v,
835 : Message* __msg,
836 : bool __nullable);
837 :
838 : bool
839 : Read(
840 : PMemoryReportRequestChild** __v,
841 : const Message* __msg,
842 : void** __iter,
843 : bool __nullable) NS_WARN_UNUSED_RESULT;
844 :
845 : void
846 : Write(
847 : PCrashReporterChild* __v,
848 : Message* __msg,
849 : bool __nullable);
850 :
851 : bool
852 : Read(
853 : PCrashReporterChild** __v,
854 : const Message* __msg,
855 : void** __iter,
856 : bool __nullable) NS_WARN_UNUSED_RESULT;
857 :
858 : void
859 : Write(
860 : PSmsChild* __v,
861 : Message* __msg,
862 : bool __nullable);
863 :
864 : bool
865 : Read(
866 : PSmsChild** __v,
867 : const Message* __msg,
868 : void** __iter,
869 : bool __nullable) NS_WARN_UNUSED_RESULT;
870 :
871 : void
872 : Write(
873 : const InfallibleTArray<FontListEntry>& __v,
874 : Message* __msg);
875 :
876 : bool
877 : Read(
878 : InfallibleTArray<FontListEntry>* __v,
879 : const Message* __msg,
880 : void** __iter) NS_WARN_UNUSED_RESULT;
881 :
882 : void
883 : Write(
884 : PHalChild* __v,
885 : Message* __msg,
886 : bool __nullable);
887 :
888 : bool
889 : Read(
890 : PHalChild** __v,
891 : const Message* __msg,
892 : void** __iter,
893 : bool __nullable) NS_WARN_UNUSED_RESULT;
894 :
895 : void
896 : Write(
897 : PNeckoChild* __v,
898 : Message* __msg,
899 : bool __nullable);
900 :
901 : bool
902 : Read(
903 : PNeckoChild** __v,
904 : const Message* __msg,
905 : void** __iter,
906 : bool __nullable) NS_WARN_UNUSED_RESULT;
907 :
908 : Channel mChannel;
909 : IDMap<ChannelListener> mActorMap;
910 : int32 mLastRouteId;
911 : ProcessHandle mOtherProcess;
912 : IDMap<Shmem::SharedMemory> mShmemMap;
913 : Shmem::id_t mLastShmemId;
914 : State mState;
915 : // Sorted by pointer value
916 : InfallibleTArray<PAudioChild*> mManagedPAudioChild;
917 : // Sorted by pointer value
918 : InfallibleTArray<PBrowserChild*> mManagedPBrowserChild;
919 : // Sorted by pointer value
920 : InfallibleTArray<PCrashReporterChild*> mManagedPCrashReporterChild;
921 : // Sorted by pointer value
922 : InfallibleTArray<PExternalHelperAppChild*> mManagedPExternalHelperAppChild;
923 : // Sorted by pointer value
924 : InfallibleTArray<PHalChild*> mManagedPHalChild;
925 : // Sorted by pointer value
926 : InfallibleTArray<PMemoryReportRequestChild*> mManagedPMemoryReportRequestChild;
927 : // Sorted by pointer value
928 : InfallibleTArray<PNeckoChild*> mManagedPNeckoChild;
929 : // Sorted by pointer value
930 : InfallibleTArray<PSmsChild*> mManagedPSmsChild;
931 : // Sorted by pointer value
932 : InfallibleTArray<PStorageChild*> mManagedPStorageChild;
933 : // Sorted by pointer value
934 : InfallibleTArray<PTestShellChild*> mManagedPTestShellChild;
935 : };
936 :
937 :
938 : } // namespace dom
939 : } // namespace mozilla
940 :
941 : #if 0
942 :
943 : //-----------------------------------------------------------------------------
944 : // Skeleton implementation of abstract actor class
945 :
946 : // Header file contents
947 : namespace mozilla {
948 : namespace dom {
949 : class ContentChild :
950 : public PContentChild
951 : {
952 : virtual bool
953 : RecvRegisterChrome(
954 : const InfallibleTArray<ChromePackage>& packages,
955 : const InfallibleTArray<ResourceMapping>& resources,
956 : const InfallibleTArray<OverrideMapping>& overrides,
957 : const nsCString& locale);
958 :
959 : virtual bool
960 : RecvSetOffline(const bool& offline);
961 :
962 : virtual bool
963 : RecvNotifyVisited(const URI& uri);
964 :
965 : virtual bool
966 : RecvPreferenceUpdate(const PrefTuple& pref);
967 :
968 : virtual bool
969 : RecvClearUserPreference(const nsCString& prefName);
970 :
971 : virtual bool
972 : RecvNotifyAlertsObserver(
973 : const nsCString& topic,
974 : const nsString& data);
975 :
976 : virtual bool
977 : RecvGeolocationUpdate(const GeoPosition& somewhere);
978 :
979 : virtual bool
980 : RecvAddPermission(const Permission& permission);
981 :
982 : virtual bool
983 : RecvDeviceMotionChanged(
984 : const long& type,
985 : const double& x,
986 : const double& y,
987 : const double& z);
988 :
989 : virtual bool
990 : RecvScreenSizeChanged(const gfxIntSize& size);
991 :
992 : virtual bool
993 : RecvFlushMemory(const nsString& reason);
994 :
995 : virtual bool
996 : RecvGarbageCollect();
997 :
998 : virtual bool
999 : RecvCycleCollect();
1000 :
1001 : virtual bool
1002 : RecvActivateA11y();
1003 :
1004 : virtual bool
1005 : RecvAppInfo(
1006 : const nsCString& version,
1007 : const nsCString& buildID);
1008 :
1009 : virtual bool
1010 : RecvSetID(const PRUint64& id);
1011 :
1012 : virtual bool
1013 : RecvAsyncMessage(
1014 : const nsString& aMessage,
1015 : const nsString& aJSON);
1016 :
1017 : virtual PBrowserChild*
1018 : AllocPBrowser(const PRUint32& chromeFlags);
1019 :
1020 : virtual bool
1021 : DeallocPBrowser(PBrowserChild* actor);
1022 :
1023 : virtual PMemoryReportRequestChild*
1024 : AllocPMemoryReportRequest();
1025 :
1026 : virtual bool
1027 : DeallocPMemoryReportRequest(PMemoryReportRequestChild* actor);
1028 :
1029 : virtual PTestShellChild*
1030 : AllocPTestShell();
1031 :
1032 : virtual bool
1033 : DeallocPTestShell(PTestShellChild* actor);
1034 :
1035 : virtual PAudioChild*
1036 : AllocPAudio(
1037 : const PRInt32& aNumChannels,
1038 : const PRInt32& aRate,
1039 : const PRInt32& aFormat);
1040 :
1041 : virtual bool
1042 : DeallocPAudio(PAudioChild* actor);
1043 :
1044 : virtual PCrashReporterChild*
1045 : AllocPCrashReporter(
1046 : const NativeThreadId& tid,
1047 : const PRUint32& processType);
1048 :
1049 : virtual bool
1050 : DeallocPCrashReporter(PCrashReporterChild* actor);
1051 :
1052 : virtual PHalChild*
1053 : AllocPHal();
1054 :
1055 : virtual bool
1056 : DeallocPHal(PHalChild* actor);
1057 :
1058 : virtual PNeckoChild*
1059 : AllocPNecko();
1060 :
1061 : virtual bool
1062 : DeallocPNecko(PNeckoChild* actor);
1063 :
1064 : virtual PSmsChild*
1065 : AllocPSms();
1066 :
1067 : virtual bool
1068 : DeallocPSms(PSmsChild* actor);
1069 :
1070 : virtual PStorageChild*
1071 : AllocPStorage(const StorageConstructData& data);
1072 :
1073 : virtual bool
1074 : DeallocPStorage(PStorageChild* actor);
1075 :
1076 : virtual PExternalHelperAppChild*
1077 : AllocPExternalHelperApp(
1078 : const URI& uri,
1079 : const nsCString& aMimeContentType,
1080 : const nsCString& aContentDisposition,
1081 : const bool& aForceSave,
1082 : const PRInt64& aContentLength,
1083 : const URI& aReferrer);
1084 :
1085 : virtual bool
1086 : DeallocPExternalHelperApp(PExternalHelperAppChild* actor);
1087 :
1088 : ContentChild();
1089 : virtual ~ContentChild();
1090 : };
1091 : } // namespace dom
1092 : } // namespace mozilla
1093 :
1094 :
1095 : // C++ file contents
1096 : namespace mozilla {
1097 : namespace dom {
1098 : bool
1099 : ContentChild::RecvRegisterChrome(
1100 : const InfallibleTArray<ChromePackage>& packages,
1101 : const InfallibleTArray<ResourceMapping>& resources,
1102 : const InfallibleTArray<OverrideMapping>& overrides,
1103 : const nsCString& locale)
1104 : {
1105 : return false;
1106 : }
1107 :
1108 : bool
1109 : ContentChild::RecvSetOffline(const bool& offline)
1110 : {
1111 : return false;
1112 : }
1113 :
1114 : bool
1115 : ContentChild::RecvNotifyVisited(const URI& uri)
1116 : {
1117 : return false;
1118 : }
1119 :
1120 : bool
1121 : ContentChild::RecvPreferenceUpdate(const PrefTuple& pref)
1122 : {
1123 : return false;
1124 : }
1125 :
1126 : bool
1127 : ContentChild::RecvClearUserPreference(const nsCString& prefName)
1128 : {
1129 : return false;
1130 : }
1131 :
1132 : bool
1133 : ContentChild::RecvNotifyAlertsObserver(
1134 : const nsCString& topic,
1135 : const nsString& data)
1136 : {
1137 : return false;
1138 : }
1139 :
1140 : bool
1141 : ContentChild::RecvGeolocationUpdate(const GeoPosition& somewhere)
1142 : {
1143 : return false;
1144 : }
1145 :
1146 : bool
1147 : ContentChild::RecvAddPermission(const Permission& permission)
1148 : {
1149 : return false;
1150 : }
1151 :
1152 : bool
1153 : ContentChild::RecvDeviceMotionChanged(
1154 : const long& type,
1155 : const double& x,
1156 : const double& y,
1157 : const double& z)
1158 : {
1159 : return false;
1160 : }
1161 :
1162 : bool
1163 : ContentChild::RecvScreenSizeChanged(const gfxIntSize& size)
1164 : {
1165 : return false;
1166 : }
1167 :
1168 : bool
1169 : ContentChild::RecvFlushMemory(const nsString& reason)
1170 : {
1171 : return false;
1172 : }
1173 :
1174 : bool
1175 : ContentChild::RecvGarbageCollect()
1176 : {
1177 : return false;
1178 : }
1179 :
1180 : bool
1181 : ContentChild::RecvCycleCollect()
1182 : {
1183 : return false;
1184 : }
1185 :
1186 : bool
1187 : ContentChild::RecvActivateA11y()
1188 : {
1189 : return false;
1190 : }
1191 :
1192 : bool
1193 : ContentChild::RecvAppInfo(
1194 : const nsCString& version,
1195 : const nsCString& buildID)
1196 : {
1197 : return false;
1198 : }
1199 :
1200 : bool
1201 : ContentChild::RecvSetID(const PRUint64& id)
1202 : {
1203 : return false;
1204 : }
1205 :
1206 : bool
1207 : ContentChild::RecvAsyncMessage(
1208 : const nsString& aMessage,
1209 : const nsString& aJSON)
1210 : {
1211 : return false;
1212 : }
1213 :
1214 : PBrowserChild*
1215 : ContentChild::AllocPBrowser(const PRUint32& chromeFlags)
1216 : {
1217 : return 0;
1218 : }
1219 :
1220 : bool
1221 : ContentChild::DeallocPBrowser(PBrowserChild* actor)
1222 : {
1223 : return false;
1224 : }
1225 :
1226 : PMemoryReportRequestChild*
1227 : ContentChild::AllocPMemoryReportRequest()
1228 : {
1229 : return 0;
1230 : }
1231 :
1232 : bool
1233 : ContentChild::DeallocPMemoryReportRequest(PMemoryReportRequestChild* actor)
1234 : {
1235 : return false;
1236 : }
1237 :
1238 : PTestShellChild*
1239 : ContentChild::AllocPTestShell()
1240 : {
1241 : return 0;
1242 : }
1243 :
1244 : bool
1245 : ContentChild::DeallocPTestShell(PTestShellChild* actor)
1246 : {
1247 : return false;
1248 : }
1249 :
1250 : PAudioChild*
1251 : ContentChild::AllocPAudio(
1252 : const PRInt32& aNumChannels,
1253 : const PRInt32& aRate,
1254 : const PRInt32& aFormat)
1255 : {
1256 : return 0;
1257 : }
1258 :
1259 : bool
1260 : ContentChild::DeallocPAudio(PAudioChild* actor)
1261 : {
1262 : return false;
1263 : }
1264 :
1265 : PCrashReporterChild*
1266 : ContentChild::AllocPCrashReporter(
1267 : const NativeThreadId& tid,
1268 : const PRUint32& processType)
1269 : {
1270 : return 0;
1271 : }
1272 :
1273 : bool
1274 : ContentChild::DeallocPCrashReporter(PCrashReporterChild* actor)
1275 : {
1276 : return false;
1277 : }
1278 :
1279 : PHalChild*
1280 : ContentChild::AllocPHal()
1281 : {
1282 : return 0;
1283 : }
1284 :
1285 : bool
1286 : ContentChild::DeallocPHal(PHalChild* actor)
1287 : {
1288 : return false;
1289 : }
1290 :
1291 : PNeckoChild*
1292 : ContentChild::AllocPNecko()
1293 : {
1294 : return 0;
1295 : }
1296 :
1297 : bool
1298 : ContentChild::DeallocPNecko(PNeckoChild* actor)
1299 : {
1300 : return false;
1301 : }
1302 :
1303 : PSmsChild*
1304 : ContentChild::AllocPSms()
1305 : {
1306 : return 0;
1307 : }
1308 :
1309 : bool
1310 : ContentChild::DeallocPSms(PSmsChild* actor)
1311 : {
1312 : return false;
1313 : }
1314 :
1315 : PStorageChild*
1316 : ContentChild::AllocPStorage(const StorageConstructData& data)
1317 : {
1318 : return 0;
1319 : }
1320 :
1321 : bool
1322 : ContentChild::DeallocPStorage(PStorageChild* actor)
1323 : {
1324 : return false;
1325 : }
1326 :
1327 : PExternalHelperAppChild*
1328 : ContentChild::AllocPExternalHelperApp(
1329 : const URI& uri,
1330 : const nsCString& aMimeContentType,
1331 : const nsCString& aContentDisposition,
1332 : const bool& aForceSave,
1333 : const PRInt64& aContentLength,
1334 : const URI& aReferrer)
1335 : {
1336 : return 0;
1337 : }
1338 :
1339 : bool
1340 : ContentChild::DeallocPExternalHelperApp(PExternalHelperAppChild* actor)
1341 : {
1342 : return false;
1343 : }
1344 :
1345 : ContentChild::ContentChild()
1346 : {
1347 : MOZ_COUNT_CTOR(ContentChild);
1348 : }
1349 :
1350 : ContentChild::~ContentChild()
1351 : {
1352 : MOZ_COUNT_DTOR(ContentChild);
1353 : }
1354 :
1355 : } // namespace dom
1356 : } // namespace mozilla
1357 : #endif // if 0
1358 :
1359 : #endif // ifndef PContentChild_h
|