[Attachment Support] Introduce data structures and IPC support for writing promised...
[WebKit-https.git] / Source / WebKit / ChangeLog
1 2018-01-02  Wenson Hsieh  <wenson_hsieh@apple.com>
2
3         [Attachment Support] Introduce data structures and IPC support for writing promised blobs
4         https://bugs.webkit.org/show_bug.cgi?id=181189
5
6         Reviewed by Tim Horton.
7
8         Add IPC support for PromisedBlobInfo and PromisedBlobData. See WebCore/ChangeLog for more detail.
9
10         * Shared/WebCoreArgumentCoders.cpp:
11         (IPC::ArgumentCoder<PromisedBlobData>::encode):
12         (IPC::ArgumentCoder<PromisedBlobData>::decode):
13         (IPC::ArgumentCoder<PromisedBlobInfo>::encode):
14         (IPC::ArgumentCoder<PromisedBlobInfo>::decode):
15         * Shared/WebCoreArgumentCoders.h:
16
17 2018-01-02  Michael Catanzaro  <mcatanzaro@igalia.com>
18
19         REGRESSION(r223253): Broke ResourceLoadStatistics layout tests for non-Cocoa ports
20         https://bugs.webkit.org/show_bug.cgi?id=181231
21
22         Reviewed by Alex Christensen.
23
24         Add new C API for use by WebKitTestRunner.
25
26         * UIProcess/API/C/WKWebsiteDataStoreRef.cpp:
27         (WKWebsiteDataStoreIsStatisticsRegisteredAsSubFrameUnder):
28         (WKWebsiteDataStoreIsStatisticsRegisteredAsRedirectingTo):
29         * UIProcess/API/C/WKWebsiteDataStoreRef.h:
30
31 2018-01-02  Jiewen Tan  <jiewen_tan@apple.com>
32
33         Add a WebAuthentication runtime feature flag
34         https://bugs.webkit.org/show_bug.cgi?id=181220
35         <rdar://problem/36055305>
36
37         Reviewed by Brent Fulgham.
38
39         Renames the CredentialManagement runtime feature flag into WebAuthentication.
40
41         * Shared/WebPreferences.yaml:
42         * UIProcess/API/C/WKPreferences.cpp:
43         (WKPreferencesSetWebAuthenticationEnabled):
44         (WKPreferencesGetWebAuthenticationEnabled):
45         (WKPreferencesSetCredentialManagementEnabled): Deleted.
46         (WKPreferencesGetCredentialManagementEnabled): Deleted.
47         * UIProcess/API/C/WKPreferencesRefPrivate.h:
48         * WebProcess/WebPage/WebPage.cpp:
49         (WebKit::WebPage::updatePreferences):
50
51 2018-01-02  Michael Catanzaro  <mcatanzaro@igalia.com>
52
53         REGRESSION(r226327): [GTK] Plugin process is broken
54         https://bugs.webkit.org/show_bug.cgi?id=181187
55
56         Unreviewed, fix PluginProcessMainUnix after r226327.
57
58         * PluginProcess/unix/PluginProcessMainUnix.cpp:
59
60 2018-01-02  Tim Horton  <timothy_horton@apple.com>
61
62         Fix the build on platforms where UICurrentUserInterfaceIdiomIsPad is defined to false
63         https://bugs.webkit.org/show_bug.cgi?id=181218
64
65         Reviewed by Alex Christensen.
66
67         * Platform/spi/ios/UIKitSPI.h:
68         (currentUserInterfaceIdiomIsPad):
69         * UIProcess/ios/SmartMagnificationController.mm:
70         (WebKit::SmartMagnificationController::didCollectGeometryForSmartMagnificationGesture):
71         * UIProcess/ios/WKContentViewInteraction.mm:
72         (-[WKFormInputSession setAccessoryViewCustomButtonTitle:]):
73         (-[WKContentView _requiresKeyboardWhenFirstResponder]):
74         (-[WKContentView _displayFormNodeInputView]):
75         (-[WKContentView requiresAccessoryView]):
76         (-[WKContentView _updateAccessory]):
77         * UIProcess/ios/forms/WKAirPlayRoutePicker.mm:
78         (-[WKAirPlayRoutePicker show:fromRect:]):
79         * UIProcess/ios/forms/WKFileUploadPanel.mm:
80         (-[WKFileUploadPanel _showPhotoPickerWithSourceType:]):
81         (-[WKFileUploadPanel _presentMenuOptionForCurrentInterfaceIdiom:]):
82         * UIProcess/ios/forms/WKFormInputControl.mm:
83         (-[WKDateTimePicker initWithView:datePickerMode:]):
84         (-[WKFormInputControl initWithView:]):
85         * UIProcess/ios/forms/WKFormSelectControl.mm:
86         (-[WKFormSelectControl initWithView:]):
87         On platforms where UICurrentUserInterfaceIdiomIsPad is defined to false,
88         blocks that conditionally execute based on its value are unreachable.
89         This causes the compiler to complain. Hide it away inside an inline function
90         and make use of that everywhere we used to use the macro.
91
92 2018-01-02  Alex Christensen  <achristensen@webkit.org>
93
94         Remove SVN file accidentally added in r226160
95         https://bugs.webkit.org/show_bug.cgi?id=180934
96
97         * UIProcess/WebPageProxy.cpp.orig: Removed.
98
99 2018-01-02  Alex Christensen  <achristensen@webkit.org>
100
101         Use BlockPtrs and lambdas instead of new/delete to pass parameters to blocks in WebViewImpl::performDragOperation
102         https://bugs.webkit.org/show_bug.cgi?id=180795
103
104         Reviewed by Brent Fulgham.
105
106         * UIProcess/Cocoa/WebViewImpl.mm:
107         (WebKit::WebViewImpl::performDragOperation):
108
109 2018-01-02  Michael Catanzaro  <mcatanzaro@igalia.com>
110
111         [WPE][GTK] Implement the assignment of ProcessIdentifiers to child processes
112         https://bugs.webkit.org/show_bug.cgi?id=181187
113
114         Reviewed by Brady Eidson.
115
116         * Shared/ChildProcess.cpp: Make the ProcessIdentifier mandatory.
117         (WebKit::ChildProcess::initialize):
118         * Shared/unix/ChildProcessMain.cpp: Initialize ChildProcessInitializationParameters with the
119         ProcessIdentifier.
120         (WebKit::ChildProcessMainBase::parseCommandLine):
121         * UIProcess/Launcher/glib/ProcessLauncherGLib.cpp: Copy the ProcessIdentifier from
122         LaunchOptions into argv.
123         (WebKit::ProcessLauncher::launchProcess):
124         * WebProcess/wpe/WebProcessMainWPE.cpp: Expect the WPE socket ID later in the command line.
125
126 2018-01-02  Alex Christensen  <achristensen@webkit.org>
127
128         Use new WebsiteDataStore passed in through decidePolicyForNavigation SPI
129         https://bugs.webkit.org/show_bug.cgi?id=180897
130         <rdar://problem/35535328>
131
132         Reviewed by Brent Fulgham.
133
134         * Shared/WebsitePoliciesData.cpp:
135         (WebKit::WebsitePoliciesData::applyToDocumentLoader):
136         * UIProcess/Cocoa/NavigationState.mm:
137         (WebKit::NavigationState::NavigationClient::decidePolicyForNavigationAction):
138         * UIProcess/WebPageProxy.cpp:
139         (WebKit::WebPageProxy::changeWebsiteDataStore):
140         * UIProcess/WebPageProxy.h:
141         * UIProcess/WebProcessPool.cpp:
142         (WebKit::WebProcessPool::pageBeginUsingWebsiteDataStore):
143         (WebKit::WebProcessPool::pageEndUsingWebsiteDataStore):
144         (WebKit::WebProcessPool::pageAddedToProcess): Deleted.
145         (WebKit::WebProcessPool::pageRemovedFromProcess): Deleted.
146         * UIProcess/WebProcessPool.h:
147         * UIProcess/WebProcessProxy.cpp:
148         (WebKit::WebProcessProxy::addExistingWebPage):
149         (WebKit::WebProcessProxy::removeWebPage):
150         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
151         (WebKit::WebFrameNetworkingContext::ensureWebsiteDataStoreSession):
152
153 2018-01-02  Alex Christensen  <achristensen@webkit.org>
154
155         Only use CookieStorageShim when we aren't using NetworkSession
156         https://bugs.webkit.org/show_bug.cgi?id=180766
157
158         Reviewed by Brent Fulgham.
159
160         * Shared/mac/CookieStorageShim.h:
161         * Shared/mac/CookieStorageShim.mm:
162         * WebProcess/WebProcess.cpp:
163         (WebKit::WebProcess::initializeWebProcess):
164
165 2018-01-02  Alex Christensen  <achristensen@webkit.org>
166
167         Clean up context menu code
168         https://bugs.webkit.org/show_bug.cgi?id=181074
169
170         Reviewed by Brent Fulgham.
171
172         Use Ref instead of RefPtr where possible.
173         Use move semantics instead of copying from const references when possible.
174         Remove dead iOS code.  Reduce allocations.  Add stub for WPE.
175
176         * UIProcess/API/APIContextMenuClient.h:
177         (API::ContextMenuClient::getContextMenuFromProposedMenu):
178         (API::ContextMenuClient::getContextMenuFromProposedMenuAsync):
179         (API::ContextMenuClient::showContextMenu):
180         * UIProcess/API/C/WKPage.cpp:
181         (WKPageSetPageContextMenuClient):
182         * UIProcess/API/gtk/PageClientImpl.cpp:
183         (WebKit::PageClientImpl::createContextMenuProxy):
184         * UIProcess/API/gtk/PageClientImpl.h:
185         * UIProcess/PageClient.h:
186         * UIProcess/WebContextMenuListenerProxy.cpp:
187         (WebKit::WebContextMenuListenerProxy::useContextMenuItems):
188         * UIProcess/WebContextMenuProxy.cpp:
189         (WebKit::WebContextMenuProxy::WebContextMenuProxy):
190         * UIProcess/WebContextMenuProxy.h:
191         * UIProcess/WebPageProxy.cpp:
192         (WebKit::WebPageProxy::showContextMenu):
193         (WebKit::WebPageProxy::internalShowContextMenu): Deleted.
194         * UIProcess/WebPageProxy.h:
195         * UIProcess/gtk/WebContextMenuProxyGtk.cpp:
196         (WebKit::WebContextMenuProxyGtk::showContextMenuWithItems):
197         (WebKit::WebContextMenuProxyGtk::WebContextMenuProxyGtk):
198         * UIProcess/gtk/WebContextMenuProxyGtk.h:
199         (WebKit::WebContextMenuProxyGtk::create):
200         * UIProcess/ios/PageClientImplIOS.h:
201         * UIProcess/ios/PageClientImplIOS.mm:
202         (WebKit::PageClientImpl::createContextMenuProxy): Deleted.
203         * UIProcess/mac/PageClientImplMac.h:
204         * UIProcess/mac/PageClientImplMac.mm:
205         (WebKit::PageClientImpl::createContextMenuProxy):
206         * UIProcess/mac/WebContextMenuProxyMac.h:
207         (WebKit::WebContextMenuProxyMac::create):
208         * UIProcess/mac/WebContextMenuProxyMac.mm:
209         (WebKit::WebContextMenuProxyMac::WebContextMenuProxyMac):
210         (WebKit::WebContextMenuProxyMac::showContextMenuWithItems):
211         (WebKit::WebContextMenuProxyMac::showContextMenu):
212
213 == Rolled over to ChangeLog-2018-01-01 ==