Closed Bug 849307 Opened 11 years ago Closed 11 years ago

Error Using HTMLCanvasElement in webidl Dictionary

Categories

(Core :: DOM: Core & HTML, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla22

People

(Reporter: bdahl, Assigned: bzbarsky)

References

(Blocks 2 open bugs)

Details

Attachments

(2 files)

Attached patch webidl changes (deleted) — Splinter Review
Error before adding #include "nsAutoPtr.h" in BindingsDeclarations.h

make[6]: *** [CanvasRenderingContext2DBinding.o] Error 1
In file included from /Users/bdahl/projects/mozilla-central/obj-x86_64-apple-darwin11.4.2/dom/bindings/WebGLRenderingContextBinding.cpp:3:
In file included from /Users/bdahl/projects/mozilla-central/js/xpconnect/wrappers/AccessCheck.h:11:
In file included from ../../dist/include/jsapi.h:16:
In file included from ../../dist/include/mozilla/RangedPtr.h:16:
../../dist/include/mozilla/Util.h:132:18: error: implicit instantiation of undefined template 'nsRefPtr<mozilla::dom::HTMLCanvasElement>'
      char bytes[sizeof(T)];
                 ^
../../dist/include/mozilla/Util.h:134:7: note: in instantiation of member class 'mozilla::AlignedStorage2<nsRefPtr<mozilla::dom::HTMLCanvasElement>>::U' requested here
    } u;
      ^
../../dist/include/mozilla/Util.h:154:24: note: in instantiation of template class 'mozilla::AlignedStorage2<nsRefPtr<mozilla::dom::HTMLCanvasElement>>' requested here
    AlignedStorage2<T> storage;
                       ^
../../dist/include/mozilla/dom/BindingDeclarations.h:265:12: note: in instantiation of template class 'mozilla::Maybe<nsRefPtr<mozilla::dom::HTMLCanvasElement>>' requested here
  Maybe<T> mImpl;
           ^
./CanvasRenderingContext2DBinding.h:104:57: note: in instantiation of template class 'mozilla::dom::Optional<nsRefPtr<mozilla::dom::HTMLCanvasElement>>' requested here
  Optional< nsRefPtr<mozilla::dom::HTMLCanvasElement> > mImage;
                                                        ^
../../dist/include/nsTArray.h:246:26: note: template is declared here
template <class T> class nsRefPtr;



Error after adding #include "nsAutoPtr.h":

In file included from /Users/bdahl/projects/mozilla-central/obj-x86_64-apple-darwin11.4.2/dom/bindings/RegisterBindings.cpp:1:
In file included from ./AudioBufferBinding.h:7:
In file included from ../../dist/include/mozilla/dom/BindingDeclarations.h:23:
../../dist/include/nsAutoPtr.h:880:20: error: member access into incomplete type 'mozilla::dom::HTMLCanvasElement'
            mRawPtr->Release();
                   ^
../../dist/include/mozilla/Util.h:161:40: note: in instantiation of member function 'nsRefPtr<mozilla::dom::HTMLCanvasElement>::~nsRefPtr' requested here
    ~Maybe() { if (constructed) asT().~T(); }
                                       ^
../../dist/include/mozilla/dom/BindingDeclarations.h:219:7: note: in instantiation of member function 'mozilla::Maybe<nsRefPtr<mozilla::dom::HTMLCanvasElement> >::~Maybe' requested here
class Optional
      ^
./CanvasRenderingContext2DBinding.h:23:7: note: forward declaration of 'mozilla::dom::HTMLCanvasElement'
class HTMLCanvasElement;
      ^
Blocks: 829803
For future reference, you want to cc me and Peter on bindings issues...

In any case, the C++ include setup strikes again.  ;)
Assignee: nobody → bzbarsky
Whiteboard: [need review]
Attachment #723811 - Flags: review?(peterv) → review+
https://hg.mozilla.org/integration/mozilla-inbound/rev/083ae059a5f1
Flags: in-testsuite?
Whiteboard: [need review]
Target Milestone: --- → mozilla22
https://hg.mozilla.org/mozilla-central/rev/083ae059a5f1
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Component: DOM → DOM: Core & HTML
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: