12012-02-16 Jongseok Yang <js45.yang@samsung.com>
2
3 Implement the interface for media capture panel to support HTML Media Capture
4 https://bugs.webkit.org/show_bug.cgi?id=63062
5
6 Reviewed by NOBODY (OOPS!).
7
8 Add "capture" attribute for HTML Media Capture.
9
10 Implement the interface "runCapturePanel()" to run the specific picker for camera, camcorder
11 and microphone. Each platform can run the capture panel implementing runCapturePanel() in
12 ChromeClient.
13
14 Implement MediaCaptureChooser that inherits from FileChooser. It is used for media capture
15 interface "runCapturePanel()". Each platform will decide what to launch using "captureType()"
16 in MediaCaptureChooser class.
17
18 FileChooserClient::determineCaptureType is used to define the operation for the interactions
19 between the capture attribute and the accept attribute.
20
21 No new tests because it is expected just to launch the specific capture panel and other behavior for input element is unchanged.
22
23 * Configurations/FeatureDefines.xcconfig:
24 * GNUmakefile.am:
25 * html/FileInputType.cpp:
26 (WebCore::FileInputType::handleDOMActivateEvent):
27 * html/HTMLAttributeNames.in:
28 * html/HTMLInputElement.cpp:
29 (WebCore):
30 (WebCore::HTMLInputElement::capture):
31 * html/HTMLInputElement.h:
32 (HTMLInputElement):
33 * html/HTMLInputElement.idl:
34 * loader/EmptyClients.h:
35 (EmptyChromeClient):
36 (WebCore::EmptyChromeClient::runCapturePanel):
37 * page/Chrome.cpp:
38 (WebCore):
39 (WebCore::Chrome::runCapturePanel):
40 * page/Chrome.h:
41 (WebCore):
42 (Chrome):
43 * page/ChromeClient.h:
44 (WebCore):
45 (ChromeClient):
46 * platform/FileChooser.cpp:
47 (WebCore):
48 (WebCore::FileChooserClient::newMediaCaptureChooser):
49 (WebCore::FileChooserClient::determineCaptureType):
50 (WebCore::MediaCaptureChooser::create):
51 (WebCore::MediaCaptureChooser::~MediaCaptureChooser):
52 (MediaCaptureNames):
53 (WebCore::MediaCaptureNames::camera):
54 (WebCore::MediaCaptureNames::camcorder):
55 (WebCore::MediaCaptureNames::microphone):
56 (WebCore::MediaCaptureNames::filesystem):
57 * platform/FileChooser.h:
58 (WebCore):
59 (FileChooserClient):
60 (FileChooser):
61 (WebCore::FileChooser::FileChooser):
62 (MediaCaptureChooser):
63 (WebCore::MediaCaptureChooser::captureType):
64 (WebCore::MediaCaptureChooser::MediaCaptureChooser):
65 (MediaCaptureNames):
66 * platform/MIMETypeRegistry.cpp:
67 (WebCore::initializeSupportedImageMIMETypes):
68 (WebCore):
69 (WebCore::initializeSupportedCaptureMIMETypes):
70 (WebCore::MIMETypeRegistry::isSupportedCaptureMIMEType):
71 * platform/MIMETypeRegistry.h:
72 (MIMETypeRegistry):
73