5172d621eb9434afb5546c0feca2fbc4df5f3776
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-04-22  Anders Carlsson  <andersca@apple.com>
2
3         Make it easier to extend NetworkResourceLoadParameters
4         https://bugs.webkit.org/show_bug.cgi?id=114992
5
6         Reviewed by Sam Weinig.
7
8         Turn NetworkResourceLoadParameters into a struct which matches all our other parameter classes in WebKit2. Fill in the struct manually
9         instead of having a constructor with 9 parameters.
10
11         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
12         (WebKit::NetworkConnectionToWebProcess::scheduleResourceLoad):
13         (WebKit::NetworkConnectionToWebProcess::performSynchronousLoad):
14         * NetworkProcess/SchedulableLoader.cpp:
15         (WebKit::SchedulableLoader::SchedulableLoader):
16         * Shared/Network/NetworkResourceLoadParameters.cpp:
17         (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
18         (WebKit::NetworkResourceLoadParameters::encode):
19         (WebKit::NetworkResourceLoadParameters::decode):
20         * Shared/Network/NetworkResourceLoadParameters.h:
21         (NetworkResourceLoadParameters):
22         * WebProcess/Network/WebResourceLoadScheduler.cpp:
23         (WebKit::WebResourceLoadScheduler::scheduleLoad):
24         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
25         (WebKit::WebPlatformStrategies::loadResourceSynchronously):
26
27 2013-04-22  Tim Horton  <timothy_horton@apple.com>
28
29         PDFPlugin: Support unlocking encrypted PDFs
30         https://bugs.webkit.org/show_bug.cgi?id=114938
31         <rdar://problem/12872888>
32
33         Reviewed by Alexey Proskuryakov and Oliver Hunt.
34
35         If we try to load an encrypted PDF, we need to provide a sane mechanism
36         through which the user can provide the password. Add a slightly-below-center
37         password field to match PDFKit's normal behavior.
38
39         * WebKit2.xcodeproj/project.pbxproj: Add PDFPluginPasswordField.{h,mm}
40         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add attemptToUnlockWithPassword:
41         * WebProcess/Plugins/PDF/PDFPlugin.h:
42         Add createPasswordEntryForm, attemptToUnlockPDF, m_passwordField.
43         * WebProcess/Plugins/PDF/PDFPlugin.mm:
44         (annotationStyle): Make #annotationContainer a flexbox that centers its contents.
45         This won't affect the normal absolutely-positioned form fields, but the inline
46         password field will be centered vertically and horizontally.
47
48         (WebKit::PDFPlugin::pdfDocumentDidLoad):
49         If the document is locked when loaded, create a password field.
50
51         (WebKit::PDFPlugin::createPasswordEntryForm):
52         Create a PDFPluginPasswordField and attach it to the document.
53
54         (WebKit::PDFPlugin::attemptToUnlockPDF):
55         Try to unlock the PDF with the given password. If this succeeds, remove
56         the password field and relayout the scroll view.
57
58         (WebKit::PDFPlugin::calculateSizes):
59         Make the document 0x0 if it is locked, preventing scrolling.
60
61         (WebKit::PDFPlugin::handleMouseEvent):
62         Don't pass mouse events to PDFLayerController while it is locked,
63         as it has no useful events to provide, and will try to present a
64         dialog asking for the password if we let a click through.
65
66         * WebProcess/Plugins/PDF/PDFPluginAnnotation.h:
67         (WebKit::PDFPluginAnnotation::eventListener): Added.
68         * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
69         (WebKit::PDFPluginAnnotation::handleEvent):
70         Move event-handling code here from PDFPluginAnnotationEventListener::handleEvent
71         so that subclasses can override this instead of having to have their own
72         event listeners (this is also why we now expose eventListener()).
73
74         (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::handleEvent):
75         Forward the event to our owning PDFPluginAnnotation.
76
77         * WebProcess/Plugins/PDF/PDFPluginPasswordField.h: Added.
78         (WebKit::PDFPluginPasswordField::PDFPluginPasswordField):
79         * WebProcess/Plugins/PDF/PDFPluginPasswordField.mm: Added.
80         (WebKit::PDFPluginPasswordField::create):
81         (WebKit::PDFPluginPasswordField::~PDFPluginPasswordField):
82         Unregister for keyup.
83
84         (WebKit::PDFPluginPasswordField::createAnnotationElement):
85         Register for keyup, and set our element's class to "password".
86
87         (WebKit::PDFPluginPasswordField::updateGeometry):
88         Added. Override updateGeometry and do nothing, as the password field
89         has a geometry defined by CSS instead of by the PDF content.
90
91         (WebKit::PDFPluginPasswordField::handleEvent):
92         If the enter/return key is pressed, attempt to unlock the PDF. Also,
93         we do not call either of our superclass' implementations of handleEvent,
94         because blurring the password field should not destroy it, and tabbing
95         between fields has no relevance when there can only be one field.
96
97         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
98         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener):
99         Removed. We now share our superclass' event listener.
100
101         (WebKit::PDFPluginTextAnnotation::textAnnotation): Const.
102         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
103         (WebKit::PDFPluginTextAnnotation::~PDFPluginTextAnnotation):
104         PDFPluginTextAnnotation no longer has its own event listener,
105         so there's nothing left to clear here. Just make sure to unregister
106         our event from PDFPluginAnnotation's shared event listener!
107
108         (WebKit::PDFPluginTextAnnotation::createAnnotationElement):
109         Ensure that we can create a PDFPluginTextAnnotation with a null annotation.
110
111         (WebKit::PDFPluginTextAnnotation::commit): Use value().
112         (WebKit::PDFPluginTextAnnotation::value):
113         Factor retrieving the value of the form control out of commit().
114
115         (WebKit::PDFPluginTextAnnotation::handleEvent):
116         Call up to PDFPluginAnnotation's handler so that defocus destroys the annotation.
117
118 2013-04-22  Anders Carlsson  <andersca@apple.com>
119
120         Slow/beachballing when using the find bar on a page with plug-ins
121         https://bugs.webkit.org/show_bug.cgi?id=114990
122         <rdar://problem/12832313>
123
124         Reviewed by Tim Horton.
125
126         * WebProcess/Plugins/PluginView.cpp:
127         (WebKit::PluginView::notifyWidget):
128         Call shouldCreateTransientPaintingSnapshot().
129
130         (WebKit::PluginView::shouldCreateTransientPaintingSnapshot):
131         Don't create a painting snapshot if we're asked to paint the find indicator.
132
133         * WebProcess/Plugins/PluginView.h:
134         Add new member function.
135
136 2013-04-22  Alexey Proskuryakov  <ap@apple.com>
137
138         <rdar://problem/13334446> [Mac] Tweak sandbox profiles.
139
140         Reviewed by Sam Weinig.
141
142         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
143         * WebProcess/com.apple.WebProcess.sb.in:
144
145 2013-04-22  Anders Carlsson  <andersca@apple.com>
146
147         Don't kill our XPC services in response to memory pressure
148         https://bugs.webkit.org/show_bug.cgi?id=114985
149         <rdar://problem/13229217>
150
151         Reviewed by Mark Rowe.
152
153         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceEntryPoint.h:
154         (WebKit::XPCServiceInitializer):
155         Call xpc_transaction_begin() so we'll never be killed by the kernel when there's memory pressure;
156         we prefer to manage our own lifetime thank you very much!
157
158         * Shared/mac/ChildProcessMac.mm:
159         (WebKit::ChildProcess::platformInitialize):
160         Remove call to disable sudden termination.
161
162 2013-04-22  Alexey Proskuryakov  <ap@apple.com>
163
164         <rdar://problem/13681842> [Mac] Tweak WebProcess sandbox profile to use
165         system-graphics function when available.
166
167         Reviewed by Sam Weinig.
168
169         * WebProcess/com.apple.WebProcess.sb.in:
170
171 2013-04-22  Zan Dobersek  <zdobersek@igalia.com>
172
173         [GTK] Set up libPlatform.la
174         https://bugs.webkit.org/show_bug.cgi?id=114168
175
176         Reviewed by Martin Robinson.
177
178         * GNUmakefile.am: Add the new libPlatform.la library to the libwebkitgtk library. Link the WebKitPluginProcess
179         executable against libPlatform.la as well.
180
181 2013-04-22  Sam Weinig  <sam@webkit.org>
182
183         Hard code plug-in sandbox profile lookup directories and move
184         the profiles to WebKit2.
185
186         Reviewed by Anders Carlsson.
187
188         * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
189         (WebKit::PluginProcessMainDelegate::getExtraInitializationData):
190         * PluginProcess/EntryPoint/mac/XPCService/PluginServiceEntryPoint.mm:
191         (WebKit::PluginServiceInitializerDelegate::getExtraInitializationData):
192         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
193         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
194         Stop passing the sandbox-profile-directory-path to the plug-in process.
195
196         * PluginProcess/mac/PluginProcessMac.mm:
197         (WebKit::loadSandboxProfileForDirectory):
198         (WebKit::loadSandboxProfile):
199         (WebKit::PluginProcess::initializeSandbox):
200         Hard code the plug-in sandbox profile lookup to only look in the WebKit2 bundle
201         and /System/Library/Sandbox/Profiles/.
202
203         * Resources/PlugInSandboxProfiles: Added.
204         Add profiles.
205
206         * WebKit2.xcodeproj/project.pbxproj:
207         Copy the profiles to the bundle.
208
209 2013-04-15  Jer Noble  <jer.noble@apple.com>
210
211         Refactor creation of the full screen window into an (overridable) method.
212         https://bugs.webkit.org/show_bug.cgi?id=110369
213
214         Reviewed by Eric Carlson.
215
216         Add a new WKView method -(NSWindow)createFullScreenWindow which can be overridden
217         by subclasses to provide custom full screen windows to the WKFullScreenWindowController.
218
219         * UIProcess/API/mac/WKView.mm:
220         (-[WKView fullScreenWindowController]):
221         (-[WKView createFullScreenWindow]):
222         * UIProcess/API/mac/WKViewPrivate.h:
223         * UIProcess/mac/WKFullScreenWindowController.mm:
224         (-[WKFullScreenWindowController initWithWindow:]):
225
226 2013-04-22  Carlos Garcia Campos  <cgarcia@igalia.com>
227
228         [GTK] Add webkit_web_context_set_disk_cache_directory to WebKit2 GTK+ API
229         https://bugs.webkit.org/show_bug.cgi?id=111848
230
231         Reviewed by Anders Carlsson.
232
233         This allow applications to set a custom directory for the disk
234         cache.
235
236         * UIProcess/API/gtk/WebKitWebContext.cpp:
237         (webkit_web_context_set_disk_cache_directory):
238         * UIProcess/API/gtk/WebKitWebContext.h:
239         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
240         * UIProcess/API/gtk/tests/TestMain.cpp:
241         (removeNonEmptyDirectory):
242         (main): Use a different temporary disk cache directory for every
243         test.
244
245 2013-04-22  Carlos Garcia Campos  <cgarcia@igalia.com>
246
247         [SOUP] Soup disk cache should respect the diskCacheDirectory from the process initial parameters
248         https://bugs.webkit.org/show_bug.cgi?id=111845
249
250         Reviewed by Anders Carlsson.
251
252         Move the cache initialization to platformInitializeWebProcess() to
253         create the cache using the directory received from the UI
254         process. This allows to add public API to set a different disk
255         cache directory from the UI process.
256
257         * UIProcess/efl/WebContextEfl.cpp:
258         (WebKit::WebContext::platformDefaultDiskCacheDirectory): Return
259         default disk cache directory.
260         * UIProcess/gtk/WebContextGtk.cpp:
261         (WebKit::WebContext::platformDefaultDiskCacheDirectory): Ditto.
262         * WebProcess/efl/WebProcessMainEfl.cpp:
263         (WebKit::WebProcessMainEfl): Remove soup cache initialization.
264         * WebProcess/gtk/WebProcessMainGtk.cpp:
265         (WebKit::WebProcessMainGtk): Ditto.
266         * WebProcess/soup/WebProcessSoup.cpp:
267         (WebKit::WebProcess::platformInitializeWebProcess): Initialize
268         soup cache.
269
270 2013-04-22  Krzysztof Wolanski  <k.wolanski@samsung.com>:
271
272         [WK2] Fix build warning when GESTURE_EVENTS is ON.
273         https://bugs.webkit.org/show_bug.cgi?id=114812
274
275         Reviewed by Andreas Kling.
276
277         Handle GestureSingleTap in the event type switch.
278
279         * WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp:
280         (WebKit::NetscapePlugin::platformHandleMouseEvent):
281
282 2013-04-21  Carlos Garcia Campos  <cgarcia@igalia.com>
283
284         [WebKit2] Plugins without a MIME Type fail to load
285         https://bugs.webkit.org/show_bug.cgi?id=112834
286
287         Reviewed by Benjamin Poulain.
288
289         The problem is that when the plugin is created and the MIME Type
290         is empty, since the MIME Type guessed in the UI process using the
291         plugin extension is not passed to the WebProcess, when the plugin
292         is instantiated, the value of NPMIMEType parameter passed to
293         NPP_New is NULL, and NPERR_INVALID_INSTANCE_ERROR is returned.
294         GetPluginPath message has been renamed to FindPlugin, since it
295         doesn't only return the path but also the new MIME Type and load
296         policy.
297
298         * UIProcess/WebPageProxy.cpp:
299         (WebKit::WebPageProxy::findPlugin): Receive an output newMIMEType
300         parameter that is passed to PluginModuleInfo::findPlugin() so that
301         in case of guessing the MIME Type, the new one is passed back to
302         the WebProcess.
303         * UIProcess/WebPageProxy.h:
304         (WebPageProxy):
305         * UIProcess/WebPageProxy.messages.in:
306         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
307         (WebKit::WebFrameLoaderClient::createPlugin): Pass the MIME Type
308         from the parameters to WebPage::createPlugin.
309         (WebKit::WebFrameLoaderClient::recreatePlugin): Pass a newMIMEType
310         parameter to WebPage::createPlugin.
311         * WebProcess/WebPage/WebPage.cpp:
312         (WebKit::WebPage::createPlugin): Add newMIMEType out parameter and
313         pass it to the FindPlugin message.
314         (WebKit::WebPage::canPluginHandleResponse): Pass newMIMEType to
315         FindPlugin message.
316         * WebProcess/WebPage/WebPage.h:
317         (WebPage):
318
319 2013-04-21  Carlos Garcia Campos  <cgarcia@igalia.com>
320
321         Widget should not depend on AXObjectCache
322         https://bugs.webkit.org/show_bug.cgi?id=114514
323
324         Reviewed by Chris Fleizach.
325
326         Update to API changes.
327
328         * WebProcess/Plugins/PDF/PDFPlugin.mm:
329         (WebKit::PDFPlugin::createScrollbar):
330         * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
331         (WebKit::SimplePDFPlugin::createScrollbar):
332         (WebKit::SimplePDFPlugin::destroyScrollbar):
333
334 2013-04-20  Manuel Rego Casasnovas  <rego@igalia.com>
335
336         [GTK] Fix unit test webkit2/WebKitFindController/hide
337         https://bugs.webkit.org/show_bug.cgi?id=89810
338
339         Reviewed by Carlos Garcia Campos.
340
341         The test had some hacks in order to compare a page with highlighted
342         results after using the find command with the original page. Now it uses
343         the snapshots API that allows to make the test simpler and more
344         reliable.
345
346         * UIProcess/API/gtk/tests/TestMain.h:
347         (Test::cairoSurfacesEqual): Moved helper function to compare two cairo
348         surfaces from TestWebKitWebView.
349         (Test):
350         * UIProcess/API/gtk/tests/TestWebKitFindController.cpp:
351         (testFindControllerHide): Modify test to use snapshots.
352         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
353         (testWebViewSnapshot): Move basic snapshop methods to WebViewTest to
354         share them with TestWebKitFindController test.
355         * UIProcess/API/gtk/tests/WebViewTest.cpp:
356         (WebViewTest::WebViewTest): Initialize cairo surface.
357         (WebViewTest::~WebViewTest): Destroy cairo surface.
358         (onSnapshotReady): Callback to set the cairo surface when the snapshot
359         is ready.
360         (WebViewTest::getSnapshotAndWaitUntilReady): Method that takes a
361         snapshot and returns the cairo surface when it is ready.
362         * UIProcess/API/gtk/tests/WebViewTest.h: Add new method headers and
363         attribute for the cairo surface.
364
365 2013-04-19  Jer Noble  <jer.noble@apple.com>
366
367         Unreviewed, revert r148782. It was not reviewed by a WebKit2 owner.
368
369         * PluginProcess/mac/PluginProcessShim.mm:
370         * Shared/mac/CookieStorageShim.cpp: Removed.
371         * Shared/mac/CookieStorageShim.h: Removed.
372         * Shared/mac/CookieStorageShimLibrary.cpp: Removed.
373         * Shared/mac/CookieStorageShimLibrary.h: Removed.
374         * Shared/mac/DYLDInterpose.h: Removed.
375         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
376         (WebKit::addDYLDEnvironmentAdditions):
377         * WebKit2.xcodeproj/project.pbxproj:
378         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
379         (WebKit::WebContentProcessMainDelegate::doPreInitializationWork):
380         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
381         * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
382         (WebContentServiceInitializer):
383         * WebProcess/WebProcess.cpp:
384         (WebKit::WebProcess::initializeWebProcess):
385         * WebProcess/mac/SecItemShimLibrary.mm:
386         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
387         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
388
389
390 2013-04-19  Jer Noble  <jer.noble@apple.com>
391
392         WWDC session videos don’t play at developer.apple.com
393         https://bugs.webkit.org/show_bug.cgi?id=114858
394
395         Reviewed by Eric Carlson.
396
397         AVFoundation uses CFNetwork to store and retrieve cookies from the global store.
398         However, in the case where network access happens in the NetworkProcess, session
399         cookies are stored in-memory, and are not accessable in the WebProcess. Until such
400         a time as AVFoundation can provide an API which would allow us to provide cookies
401         for a specific request, we will interpose the CFNetwork method which they use to
402         retrieve the cookie string from the cookie store for their pending request.
403
404         Duplicate the previous SecItemShim target to a new, WebProcessShim target. This
405         target includes the SecItemShim functionality, but will add a new shim for cookie
406         retrieval:
407         * Shared/mac/CookieStorageShimLibrary.h: Added
408         (CookieStorageShimCallbacks):
409         * Shared/mac/CookieStorageShimLibrary.cpp: Added.
410         (WebKit::ShimProtector::ShimProtector): A simple stack-based counter class.
411         (WebKit::ShimProtector::~ShimProtector):
412         (WebKit::ShimProtector::count):
413         (WebKit::shimCFHTTPCookieStorageCopyRequestHeaderFieldsForURL): Interpose
414             the CFNetwork call, and pass to the registered callback.
415         (WebKit::WebKitCookieStorageShimInitialize): Register the callbacks.
416
417         Add a helper singleton class which will talk to the shim through the 
418         registered callbacks:
419         * Shared/mac/CookieStorageShim.h: Added
420         (WebKit::CookieStorageShim::CookieStorageShim):
421         * Shared/mac/CookieStorageShim.cpp: Added.
422         (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL): Pass the request
423             over to the NetworkProcess.
424         (WebKit::CookieStorageShim::shared): Simple singleton.
425         (WebKit::CookieStorageShim::initialize): Call the library initializer.
426
427         Initialize the shim only when the WebProcess is delegating network loading
428         to the NetworkProcess:
429         * WebProcess/WebProcess.cpp:
430         (WebKit::WebProcess::initializeWebProcess):
431
432         Rename the WebProcess's shim from SecItemShim -> WebProcessShim:
433         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
434         (WebKit::addDYLDEnvironmentAdditions):
435         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
436         (WebKit::WebContentProcessMainDelegate::doPreInitializationWork):
437         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
438         * WebProcess/EntryPoint/mac/XPCService/WebContentServiceEntryPoint.mm:
439         (WebContentServiceInitializer):
440
441         As the DYLD_INTERPOSE macro is used in multiple files now, put it in its
442         own header:
443         * Shared/mac/DYLDInterpose.h: Added.
444         * PluginProcess/mac/PluginProcessShim.mm:
445         * WebProcess/mac/SecItemShimLibrary.mm:
446
447         Add new files to the project:
448         * WebKit2.xcodeproj/project.pbxproj:
449
450 2013-04-19  Brady Eidson  <beidson@apple.com>
451
452         Add JoinExistingSession to the WebContext XPC.
453         <rdar://problem/13541540> and https://bugs.webkit.org/show_bug.cgi?id=114882
454
455         Reviewed by Sam Weinig.
456
457         This fixes <keygen> and maybe other things.
458
459         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
460         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
461
462 2013-04-19  Martin Robinson  <mrobinson@igalia.com>
463
464         [GTK] JSCore.gir.in has a few problems
465         https://bugs.webkit.org/show_bug.cgi?id=114710
466
467         Reviewed by Philippe Normand.
468
469         * GNUmakefile.am: Updated to reflect new location of JavaScriptCore gir file. Share the
470         same autotools data task as the WebKit1 and JavaScriptCore gir installations.
471
472 2013-04-19  Noam Rosenthal  <noam@webkit.org>
473
474         [Texmap] Implementation for pattern compositing
475         https://bugs.webkit.org/show_bug.cgi?id=109588
476
477         Reviewed by Allan Sandfeld Jensen.
478
479         Serialize the two new properties from CoordinatedGraphicsLayer to CoordinatedGraphicsScene.
480
481         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
482         (CoreIPC::::encode):
483         (CoreIPC::::decode):
484             Encode/decode the new tiling properties.
485
486         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
487         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
488             Enable pattern compositing for coordinated graphics.
489             This is needed since we don't want to enable pattern compositing for
490             WebKit1 yet.
491
492 2013-04-18  Tim Horton  <timothy_horton@apple.com>
493
494         PDFPlugin: Update PDFLayerController's scale factors earlier
495         https://bugs.webkit.org/show_bug.cgi?id=114843
496
497         Reviewed by Simon Fraser.
498
499         Inform PDFLayerController of the initial page/device scale factors so that
500         it renders at the correct scale the first time, instead of first rendering
501         at 1x and then flashing to 2x (on 2x devices).
502
503         * WebProcess/Plugins/PDF/PDFPlugin.mm:
504         (WebKit::PDFPlugin::pdfDocumentDidLoad):
505
506 2013-04-18  Tim Horton  <timothy_horton@apple.com>
507
508         PDFPlugin: Hook up the search-in-Spotlight menu item
509         https://bugs.webkit.org/show_bug.cgi?id=114837
510         <rdar://problem/13583591>
511
512         Reviewed by Mark Rowe.
513
514         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
515         Add performSpotlightSearch: delegate callback.
516
517         * WebProcess/Plugins/PDF/PDFPlugin.h:
518         (WebKit::PDFPlugin::performSpotlightSearch):
519         Add performSpotlightSearch() PDFPlugin method.
520
521         * WebProcess/Plugins/PDF/PDFPlugin.mm:
522         (-[WKPDFLayerControllerDelegate performSpotlightSearch:]): Hand the search string to PDFPlugin.
523         (WebKit::PDFPlugin::performSpotlightSearch): Hand the search string to WebPageProxy.
524
525 2013-04-18  Anders Carlsson  <andersca@apple.com>
526
527         Dispatch local storage events
528         https://bugs.webkit.org/show_bug.cgi?id=114838
529
530         Reviewed by Beth Dakin.
531
532         * UIProcess/Storage/StorageManager.cpp:
533         (WebKit::StorageManager::StorageArea::dispatchEvents):
534         Pass 0 as the storage area ID if the event originally comes from another process.
535
536         * WebProcess/Storage/StorageAreaMap.cpp:
537         (WebKit::StorageAreaMap::dispatchLocalStorageEvent):
538         Gather all the frames for which we want to dispatch events.
539
540 2013-04-18  Anders Carlsson  <andersca@apple.com>
541
542         Use the page group id from the UI process as the local storage namespace ID
543         https://bugs.webkit.org/show_bug.cgi?id=114836
544
545         Reviewed by Beth Dakin.
546
547         The WebCore PageGroup identifier is different across processes, so use the one given to us by the UI process.
548
549         * WebProcess/Storage/StorageNamespaceImpl.cpp:
550         (WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
551         * WebProcess/WebPage/WebPageGroupProxy.h:
552         (WebKit::WebPageGroupProxy::corePageGroup):
553         * WebProcess/WebProcess.cpp:
554         (WebKit::WebProcess::webPageGroup):
555         * WebProcess/WebProcess.h:
556
557 2013-04-18  Tim Horton  <timothy_horton@apple.com>
558
559         Add a synchronous version of WKView endDeferringViewInWindowChanges
560         https://bugs.webkit.org/show_bug.cgi?id=114780
561         <rdar://problem/12821901>
562
563         Reviewed by Simon Fraser.
564
565         Add new WKView SPI, endDeferringViewInWindowChangesSync, which synchronously
566         (though with a 250 ms timeout) does the work required to reparent a WKView
567         without flashing white.
568
569         * UIProcess/API/mac/WKView.mm:
570         (-[WKView beginDeferringViewInWindowChanges]):
571         (-[WKView endDeferringViewInWindowChanges]):
572         Make begin/endDeferringViewInWindowChanges not allow nested deferrals,
573         as we don't need them, and they complicate synchronous-end a lot.
574
575         (-[WKView endDeferringViewInWindowChangesSync]):
576         Add a sync version of endDeferringViewInWindowChanges which waits
577         for DidUpdateInWindowState.
578
579         (-[WKView isDeferringViewInWindowChanges]):
580
581         * UIProcess/API/mac/WKViewPrivate.h: Add endDeferringViewInWindowChangesSync.
582
583         * UIProcess/WebPageProxy.cpp:
584         (WebKit::WebPageProxy::waitForDidUpdateInWindowState):
585         Add waitForDidUpdateInWindowState(), which blocks for
586         250ms or until the WebProcess reparents all of its layers and spins
587         the runloop once, to prevent flashing when parenting a WKView.
588         If we've already timed out waiting for the WebProcess, don't block, as
589         it's probably quite busy and is likely to time out again.
590
591         * UIProcess/WebPageProxy.h:
592         (WebKit::WebPageProxy::isInWindow): Added.
593         (WebKit::WebPageProxy::waitForDidUpdateInWindowState): Added.
594         (WebKit::WebPageProxy::didUpdateInWindowState): Added.
595
596         * UIProcess/WebPageProxy.messages.in: Add DidUpdateInWindowState()
597
598         * WebProcess/WebPage/WebPage.cpp:
599         (WebKit::WebPage::didUpdateInWindowStateTimerFired): Send DidUpdateInWindowState to WebPageProxy.
600         (WebKit::WebPage::setIsInWindow): When setIsInWindow completes, TileController
601         tiles have been reparented, and the TiledCoreAnimationDrawingArea has
602         reconnected the layer tree to the context, start a 0-delay runloop timer
603         to allow painting and layer flushing to finish; when the timer fires,
604         we'll send the UIProcess a DidUpdateInWindowState so it can stop blocking.
605
606         * WebProcess/WebPage/WebPage.h:
607         (WebPage): Add didUpdateInWindowStateTimerFired and m_sendDidUpdateInWindowStateTimer.
608
609 2013-04-18  Anders Carlsson  <andersca@apple.com>
610
611         StorageManager should keep track of local storage namespaces
612         https://bugs.webkit.org/show_bug.cgi?id=114831
613
614         Reviewed by Beth Dakin.
615
616         * UIProcess/Storage/StorageManager.cpp:
617         (StorageManager::StorageArea):
618         Add the local storage namespace, and security origin as member variables.
619
620         (StorageManager::LocalStorageNamespace):
621         New class that represents a local storage namespace.
622
623         (WebKit::StorageManager::StorageArea::~StorageArea):
624         If this storage area belongs to a local storage namespace, notify it that we've been destroyed.
625
626         (WebKit::StorageManager::StorageArea::clone):
627         Assert that we don't have a local storage namespace.
628
629         (WebKit::StorageManager::LocalStorageNamespace::getOrCreateStorageArea):
630         If we already have a storage area for the given security origin, return it. Otherwise, create a new storage area.
631         Note that LocalStorageNamespace does not hold strong references to its StorageArea objects; they are being kept alive
632         by a mapping inside the StorageManager.
633
634         (WebKit::StorageManager::LocalStorageNamespace::didDestroyStorageArea):
635         Remove the storage area from the map. If there are no more areas, remove the namespace from the manager.
636
637         (WebKit::StorageManager::SessionStorageNamespace::getOrCreateStorageArea):
638         StorageArea::create now takes the security origin.
639
640         (WebKit::StorageManager::createLocalStorageMap):
641         Get (or create) the right local storage namespace and then create a storage area.
642
643 2013-04-17  Geoffrey Garen  <ggaren@apple.com>
644
645         Renamed JSGlobalData to VM
646         https://bugs.webkit.org/show_bug.cgi?id=114777
647
648         Reviewed by Phil Pizlo.
649
650         * Shared/linux/WebMemorySamplerLinux.cpp:
651         (WebKit::WebMemorySampler::sampleWebKit):
652         * Shared/mac/WebMemorySampler.mac.mm:
653         (WebKit::WebMemorySampler::sampleWebKit):
654         * WebProcess/InjectedBundle/InjectedBundle.cpp:
655         (WebKit::InjectedBundle::javaScriptObjectsCount):
656         * WebProcess/Plugins/Netscape/JSNPMethod.cpp:
657         (WebKit::JSNPMethod::finishCreation):
658         * WebProcess/Plugins/Netscape/JSNPMethod.h:
659         (WebKit::JSNPMethod::create):
660         (JSNPMethod):
661         (WebKit::JSNPMethod::createStructure):
662         * WebProcess/Plugins/Netscape/JSNPObject.cpp:
663         (WebKit::JSNPObject::JSNPObject):
664         (WebKit::JSNPObject::finishCreation):
665         (WebKit::JSNPObject::callMethod):
666         (WebKit::JSNPObject::callObject):
667         (WebKit::JSNPObject::callConstructor):
668         (WebKit::JSNPObject::put):
669         (WebKit::JSNPObject::deleteProperty):
670         (WebKit::JSNPObject::getOwnPropertyNames):
671         (WebKit::JSNPObject::propertyGetter):
672         * WebProcess/Plugins/Netscape/JSNPObject.h:
673         (WebKit::JSNPObject::create):
674         (WebKit::JSNPObject::createStructure):
675         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
676         (WebKit::NPJSObject::create):
677         (WebKit::NPJSObject::initialize):
678         * WebProcess/Plugins/Netscape/NPJSObject.h:
679         (JSC):
680         (NPJSObject):
681         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
682         (WebKit::NPRuntimeObjectMap::getOrCreateNPObject):
683         (WebKit::NPRuntimeObjectMap::convertJSValueToNPVariant):
684         (WebKit::NPRuntimeObjectMap::evaluate):
685         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
686         (JSC):
687         (NPRuntimeObjectMap):
688         * WebProcess/Plugins/PluginView.cpp:
689         (WebKit::PluginView::windowScriptNPObject):
690         (WebKit::PluginView::pluginElementNPObject):
691         * WebProcess/WebPage/WebPage.cpp:
692         (WebKit::WebPage::runJavaScriptInMainFrame):
693         * WebProcess/WebProcess.cpp:
694         (WebKit::WebProcess::getWebCoreStatistics):
695
696 2013-04-18  Anders Carlsson  <andersca@apple.com>
697
698         Differentiate between creating local storage maps and session storage maps
699         https://bugs.webkit.org/show_bug.cgi?id=114823
700
701         Reviewed by Beth Dakin.
702
703         * UIProcess/Storage/StorageManager.cpp:
704         (WebKit::StorageManager::createLocalStorageMap):
705         (WebKit::StorageManager::createSessionStorageMap):
706         * UIProcess/Storage/StorageManager.h:
707         * UIProcess/Storage/StorageManager.messages.in:
708         * WebProcess/Storage/StorageAreaMap.cpp:
709         (WebKit::StorageAreaMap::StorageAreaMap):
710
711 2013-04-18  Anders Carlsson  <andersca@apple.com>
712
713         StorageAreaMaps should not assume that a zero storage namespace ID is used for local storage
714         https://bugs.webkit.org/show_bug.cgi?id=114822
715
716         Reviewed by Beth Dakin.
717
718         Store the storage type directly in the storage area map.
719
720         * WebProcess/Storage/StorageAreaMap.cpp:
721         (WebKit::StorageAreaMap::StorageAreaMap):
722         * WebProcess/Storage/StorageAreaMap.h:
723         (WebKit::StorageAreaMap::storageType):
724
725 2013-04-18  Anders Carlsson  <andersca@apple.com>
726
727         Begin fleshing out UI side local storage
728         https://bugs.webkit.org/show_bug.cgi?id=114820
729
730         Reviewed by Beth Dakin.
731
732         * WebProcess/Storage/StorageNamespaceImpl.cpp:
733         (WebKit::StorageNamespaceImpl::createLocalStorageNamespace):
734         (WebKit::StorageNamespaceImpl::createSessionStorageNamespace):
735         (WebKit::StorageNamespaceImpl::StorageNamespaceImpl):
736         (WebKit::StorageNamespaceImpl::~StorageNamespaceImpl):
737         * WebProcess/Storage/StorageNamespaceImpl.h:
738         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
739         (WebKit::WebPlatformStrategies::localStorageNamespace):
740
741 2013-04-18  Sam Weinig  <sam@webkit.org>
742
743         Fix spelling I thought I had fixed.
744
745         * UIProcess/API/mac/WKBrowsingContextGroup.mm:
746         (-[WKBrowsingContextGroup initWithIdentifier:]):
747
748 2013-04-18  Sam Weinig  <sam@webkit.org>
749
750         WebKit should not write WKPreferences to app user defaults when using the ObjC API
751         <rdar://problem/13593578>
752         https://bugs.webkit.org/show_bug.cgi?id=114821
753
754         Reviewed by Anders Carlsson.
755
756         * UIProcess/API/mac/WKBrowsingContextGroup.mm:
757         (-[WKBrowsingContextGroup initWithIdentifier:]):
758         Use a identifier-less preferences for the ObjC-API. I think we will probably want this
759         to be the default for the C-API at some point as well, but Safari currently uses this
760         behavior.
761
762 2013-04-17  Anders Carlsson  <andersca@apple.com>
763
764         Change storage factory functions to take a PageGroup and Page respectively
765         https://bugs.webkit.org/show_bug.cgi?id=114776
766
767         Reviewed by Beth Dakin.
768
769         Update for WebCore changes.
770
771         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
772         (WebKit::WebPlatformStrategies::localStorageNamespace):
773         (WebKit::WebPlatformStrategies::sessionStorageNamespace):
774         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
775         (WebPlatformStrategies):
776
777 2013-04-18  Timothy Hatcher  <timothy@apple.com>
778
779         Remove an ASSERT that is causing flakeyness in Debug builds.
780
781         https://webkit.org/b/113020
782
783         Reviewed by Jessie Berlin.
784
785         * UIProcess/WebInspectorProxy.cpp:
786         (WebKit::WebInspectorProxy::open): Removed ASSERT(m_createdInspectorPage).
787
788 2013-04-18  Carlos Garcia Campos  <cgarcia@igalia.com>
789
790         [GTK] Add WebKitWebPage::send-request signal to WebKit2 GTK+ API
791         https://bugs.webkit.org/show_bug.cgi?id=83681
792
793         Reviewed by Anders Carlsson.
794
795         Add WebKitWebPage::send-request signal emitted in willSendRequest
796         callback to allow web process extensions to modify requests before
797         they are sent or cancel the resource load.
798         This patch makes WebKitURIRequest and WebKitURIResponse objects
799         shareable between UI process and web extensions APIs. Since both
800         APIs force single header includes, the WebKitDefines.h header has
801         been split moving the forward declarations specific to the UI
802         process API to a new file WebKitForwardDeclarations.h. This way we
803         can also  share the WebKitDefines.h header and remove the
804         WebKitWebExtensionDefines.h header used in the web extensions API.
805
806         * GNUmakefile.list.am: Add new files to compilation.
807         * UIProcess/API/gtk/WebKitContextMenu.h: Include WebKitForward.h.
808         * UIProcess/API/gtk/WebKitContextMenuItem.h: Ditto.
809         * UIProcess/API/gtk/WebKitDefines.h: Remove forward declarations.
810         * UIProcess/API/gtk/WebKitDownload.h: Include WebKitForward.h.
811         * UIProcess/API/gtk/WebKitFindController.h: Ditto.
812         * UIProcess/API/gtk/WebKitForwardDeclarations.h: Added. Contains
813         the forward declarations moved from WebKitDefines.h.
814         * UIProcess/API/gtk/WebKitPrintOperation.h: Include WebKitForward.h.
815         * UIProcess/API/gtk/WebKitURIRequest.cpp:
816         (webkitURIRequestSetProperty): Use webkit_uri_request_set_uri() to
817         set the new URI.
818         (webkit_uri_request_class_init): Make URI property construct
819         instead of construct-only, since it can be updated once
820         constructed. It should never be NULL, so set default value to
821         about:blank instad of NULL.
822         (webkit_uri_request_set_uri): New public method to set the URI of
823         the WebKitURIRequest.
824         * UIProcess/API/gtk/WebKitURIRequest.h: Allow to include this file
825         from webkit-web-extension.h.
826         * UIProcess/API/gtk/WebKitURIResponse.h: Ditto.
827         * UIProcess/API/gtk/WebKitURISchemeRequest.h: Include
828         WebKitForward.h.
829         * UIProcess/API/gtk/WebKitWebView.h: Ditto.
830         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add
831         webkit_uri_request_set_uri.
832         * UIProcess/API/gtk/tests/TestResources.cpp:
833         (testWebResourceSendRequest):
834         (serverCallback):
835         (beforeAll):
836         * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
837         (sendRequestCallback):
838         (pageCreatedCallback):
839         * UIProcess/API/gtk/webkit2marshal.list:
840         * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.h: Include
841         WebKitDefines.h instead of WebKitWebExtensionDefines.h.
842         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
843         (willSendRequestForFrame): Emit WebKitWebPage::send-request and
844         return early if the load is cancelled.
845         (webkit_web_page_class_init): Add WebKitWebPage::send-request
846         signal.
847         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h: Include
848         WebKitDefines.h instead of WebKitWebExtensionDefines.h.
849         * WebProcess/InjectedBundle/API/gtk/webkit-web-extension.h:
850
851 2013-04-18  Bruno de Oliveira Abinader  <bruno.abinader@basyskom.com>
852
853         [WK2] CoordinatedGraphicsLayerState is a struct, not a class
854         https://bugs.webkit.org/show_bug.cgi?id=108855
855
856         Reviewed by Andreas Kling.
857
858         Fixes the forward declaration which takes CoordinatedGraphicsLayerState
859         as a class.
860
861         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
862         (WebCore):
863
864 2013-04-18  Krzysztof Wolanski  <k.wolanski@samsung.com>:
865
866         [EFL][WK2] Change inadequate return value in method setDone().
867         https://bugs.webkit.org/show_bug.cgi?id=114806
868
869         Reviewed by Andreas Kling.
870
871         Fix possible warning in EFL port: no return statement in function returning non-void.
872         Change return value from bool to void in method setDone().
873
874         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
875         (EWK2UnitTest::CallbackDataTimer::setDone):
876
877 2013-04-18  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
878
879         [WK2][EFL] Text Checker's settings refactor
880         https://bugs.webkit.org/show_bug.cgi?id=111713
881
882         Reviewed by Andreas Kling.
883
884         Use WK2's TextCheckerState object as the store for the text checker settings.
885         It's shared between the client (Ewk API part) and WebProcess (read only).
886         Thanks to it, we don't have to keep any additional structure with
887         the settings on ewk side.
888
889         In the consistency with WKTextChecker C API, move the Ewk's text checker settings APIs
890         to the ewk_text_checker.h/cpp. They're not connected to Ewk_View/Ewk_Settings object to
891         keep them in ewk_setting.h/cpp.
892
893         Introduce a new class to implement WKTextCheckerClient callbacks to call spelling
894         methods through WK2 C API.
895         The main purpose of this change is to detach text checker initialization from ewk_context.
896
897         * PlatformEfl.cmake:
898         Add a new files to the build.
899
900         * UIProcess/API/efl/ewk_context.cpp:
901         (EwkContext::EwkContext):
902         Detach the text checker initialization from context.
903         There might be more than default context.
904         There is one text checker object per application.
905
906         * UIProcess/API/efl/ewk_settings.cpp:
907         * UIProcess/API/efl/ewk_settings.h:
908         Remove the text checker settings.
909
910         * UIProcess/API/efl/ewk_text_checker.cpp:
911         Add the text checker settings to the ewk_text_checker.h/cpp
912
913         (convertLanguagesToEinaList):
914         Add helper function to convert Vector's values to Eina_List.
915
916         (clientCallbacks):
917         Add the client callback responsible for the continuous spell checking
918         setting change to the struct.
919
920         (ewk_text_checker_continuous_spell_checking_enabled_set):
921         Do not call the client's callback responsible for the setting
922         change unless WebKit changes the setting (trough the context
923         'Check Spelling While Typing' option).
924
925         * UIProcess/API/efl/ewk_text_checker.h:
926         Adjust APIs name to the ewk_text_checker syntax.
927         Update the documentation according to the changes.
928
929         * UIProcess/API/efl/ewk_text_checker_private.h:
930         (ClientCallbacks):
931         Move ClientCallbacks structure to TextCheckerClientEfl.
932         The client callbacks (Ewk API) have to be accessible in WKTextCheckerClient callbacks
933         to choose what implementation will be used - the client's (if definied) or Enchant impl.
934
935         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
936         Update the unit tests according to the APIs change.
937         Update the test responsible for the notification about the setting change
938         according to changes in 'ewk_text_checker_continuous_spell_checking_enabled_set'.
939
940         * UIProcess/efl/TextCheckerClientEfl.cpp: Added.
941         Implement WKTextCheckerClient callbacks.
942
943         (TextCheckerClientEfl::TextCheckerClientEfl):
944         (TextCheckerClientEfl::instance):
945         Allow to get and create TextCheckerClientEfl object.
946
947         (TextCheckerClientEfl::isContinuousSpellCheckingEnabled):
948         Get the setting value based on WK2 C API.
949
950         (TextCheckerClientEfl::ensureSpellCheckingLanguage):
951         Load the default languages if user didn't specify any.
952
953         (TextCheckerClientEfl::updateSpellCheckingLanguages):
954         (TextCheckerClientEfl::languagesUpdateTimerFired):
955         (TextCheckerClientEfl::availableSpellCheckingLanguages):
956         (TextCheckerClientEfl::loadedSpellCheckingLanguages):
957         (TextCheckerClientEfl::availableSpellCheckingLanguages):
958         (TextCheckerClientEfl::loadedSpellCheckingLanguages):
959         Provide support for languages.
960
961         (TextCheckerClientEfl::spellCheckingSettingChangeTimerFired):
962         (TextCheckerClientEfl::callContinuousSpellCheckingChangeCallbackAsync):
963         Notify the client about the setting change.
964
965         (TextCheckerClientEfl::isContinuousSpellCheckingEnabledCallback):
966         (TextCheckerClientEfl::setContinuousSpellCheckingEnabledCallback):
967         (TextCheckerClientEfl::uniqueSpellDocumentTagCallback):
968         (TextCheckerClientEfl::closeSpellDocumentWithTagCallback):
969         (TextCheckerClientEfl::checkSpellingOfStringCallback):
970         (TextCheckerClientEfl::guessesForWordCallback):
971         (TextCheckerClientEfl::learnWordCallback):
972         (TextCheckerClientEfl::ignoreWordCallback):
973         WKTextCheckerClient callbacks implementation.
974
975         * UIProcess/efl/TextCheckerClientEfl.h: Added.
976         (TextCheckerClientEfl):
977         (TextCheckerClientEfl::clientCallbacks):
978         Return the client callbacks to be used in ewk_text_checker.cpp.
979
980         * UIProcess/efl/TextCheckerEfl.cpp:
981         (WebKit::TextChecker::state):
982         Initialize the TextCheckerState's members to false.
983
984         (WebKit::TextChecker::setContinuousSpellCheckingEnabled):
985         Set the default language if user didn't specify any.
986         Notify the client about the setting change.
987         This method is called when context menu 'Check Spelling While Typing'
988         option has been toggled.
989
990         (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
991         Set the default language if user didn't specify any.
992         Called by WKTextChecker's API.
993
994 2013-04-18  Manuel Rego Casasnovas  <rego@igalia.com>
995
996         [GTK][WK2] Add WebKitWebPage::webkit_web_page_get_uri to WebKit2 GTK+ API
997         https://bugs.webkit.org/show_bug.cgi?id=111288
998
999         Reviewed by Anders Carlsson.
1000
1001         Add new property URI to WebKitWebPage providing a method
1002         webkit_web_page_get_uri to get it and the signal "notify::uri" to
1003         monitor changes in the URI.
1004
1005         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Include new method in
1006         GTK+ doc.
1007         * UIProcess/API/gtk/tests/TestLoaderClient.cpp:
1008         (testWebPageURI):
1009         (beforeAll):
1010         (afterAll): Add test to check that WebKitWebPage URI matches with
1011         WebKitWebView value. The tests is listening for changes in WebKitWebPage
1012         URI via D-Bus and checks that value is the same than WebKitWebView URI.
1013         It also checks that the order of the URIs in a redirection is right.
1014         When the test finishes the signals are disconnected properly.
1015         * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
1016         (uriChangedCallback):
1017         (pageCreatedCallback): Add new D-Bus signal "URIChanged" connected to
1018         "notify::uri" signal of WebKitWebPage.
1019         * UIProcess/API/gtk/tests/WebKitTestBus.cpp:
1020         (WebKitTestBus::getOrCreateConnection): Rename method connection() to
1021         getOrCreateConnection().
1022         (WebKitTestBus::createProxy): Use the new method name.
1023         * UIProcess/API/gtk/tests/WebKitTestBus.h:
1024         (WebKitTestBus::connection): Add public getter for m_connection.
1025         (WebKitTestBus): Add private method header getOrCreateConnection().
1026         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
1027         (_WebKitWebPagePrivate): Add new URI attribute.
1028         (webkitWebPageSetURI): Method to set the URI and emit the "notify:uri"
1029         signal if it has changed.
1030         (didStartProvisionalLoadForFrame): At this point it use the unreachable
1031         URL from provisional document loader if any. Otherwise, it uses the URL
1032         from provisional document loader.
1033         (didReceiveServerRedirectForProvisionalLoadForFrame): In the case of
1034         redirections it works like for didStartProvisionalLoadForFrame getting
1035         the unreachable URL if any.
1036         (didSameDocumentNavigationForFrame): In this case it gets the URL from
1037         the document loader.
1038         (webkitWebPageGetProperty): Add code related to URI property.
1039         (webkit_web_page_class_init): Add bits related to URI property.
1040         (webkitWebPageCreate): Implement callbacks to monitor URI changes.
1041         (webkit_web_page_get_uri): Return URI attribute.
1042         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h: Add new method
1043         header.
1044
1045 2013-04-18  Xan Lopez  <xan@igalia.com>
1046
1047         [GTK] When the WebProcess crashes, a signal should be emitted
1048         https://bugs.webkit.org/show_bug.cgi?id=105180
1049
1050         Emit a "web-process-crashed" signal when the WebProcess crashes. This
1051         is useful, for example, to show an error page in a web browser
1052         like Chrome does.
1053
1054         Reviewed Carlos Garcia Campos.
1055
1056         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1057         (processDidCrash):
1058         (attachLoaderClientToView):
1059         * UIProcess/API/gtk/WebKitWebContextPrivate.h:
1060         * UIProcess/API/gtk/WebKitWebView.cpp:
1061         (webkit_web_view_class_init):
1062         (webkitWebViewWebProcessCrashed):
1063         * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
1064         (testWebExtensionGetTitle):
1065         (webProcessCrashedCallback):
1066         (testWebKitWebViewProcessCrashed):
1067         (beforeAll):
1068         * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
1069         (methodCallCallback):
1070
1071 2013-04-18  Kenneth Rohde Christiansen  <kenneth@webkit.org>
1072
1073         [EFL][WK2] Add tooltip API to the WKView client
1074         https://bugs.webkit.org/show_bug.cgi?id=111563
1075
1076         Reviewed by Andreas Kling.
1077
1078         Add tooltip to the barebone Tizen C API, and implement
1079         the method so that the EFL API keeps working.
1080
1081         * UIProcess/API/C/efl/WKView.h:
1082         * UIProcess/efl/ViewClientEfl.cpp:
1083         (WebKit::ViewClientEfl::didChangeTooltip):
1084         (WebKit):
1085         (WebKit::ViewClientEfl::ViewClientEfl):
1086         * UIProcess/efl/ViewClientEfl.h:
1087         (ViewClientEfl):
1088         * UIProcess/efl/WebView.cpp:
1089         (WebKit::WebView::toolTipChanged):
1090         * UIProcess/efl/WebViewClient.cpp:
1091         (WebKit::WebViewClient::didChangeTooltip):
1092         (WebKit):
1093         * UIProcess/efl/WebViewClient.h:
1094
1095 2013-04-17  Joone Hur  <joone.hur@intel.com>
1096
1097         [EFL][AC] m_pendingSurfaceResize needs to be guarded by USE(ACCELERATED_COMPOSITING)
1098         https://bugs.webkit.org/show_bug.cgi?id=114770
1099
1100         AC related code is guarded by USE(ACCELERATED_COMPOSITING) in order to build 
1101         WebKitEfl with no-tiled-backing-store(r147792), but m_pendingSurfaceResize is 
1102         not included. This patch allows m_pendingSurfaceResize to be guarded by 
1103         USE(ACCELERATED_COMPOSITING). 
1104
1105         Reviewed by Simon Fraser.
1106
1107         * UIProcess/API/efl/EwkView.cpp:
1108         (EwkView::EwkView):
1109         (EwkView::displayTimerFired):
1110         (EwkView::handleEvasObjectCalculate):
1111         * UIProcess/API/efl/EwkView.h:
1112         (EwkView):
1113
1114 2013-04-17  Anders Carlsson  <andersca@apple.com>
1115
1116         The storage manager should know the local storage directory
1117         https://bugs.webkit.org/show_bug.cgi?id=114765
1118
1119         Reviewed by Beth Dakin.
1120
1121         * UIProcess/Storage/StorageManager.cpp:
1122         (WebKit::StorageManager::create):
1123         (WebKit::StorageManager::setLocalStorageDirectory):
1124         (WebKit::StorageManager::setLocalStorageDirectoryInternal):
1125         * UIProcess/Storage/StorageManager.h:
1126         * UIProcess/WebContext.cpp:
1127         (WebKit::WebContext::WebContext):
1128         (WebKit::WebContext::setLocalStorageDirectory):
1129         * UIProcess/WebContext.h:
1130
1131 2013-04-17  Joone Hur  <joone.hur@intel.com>
1132
1133         [EFL][AC] MiniBrowser starts with a black empty view before painting a web page
1134         https://bugs.webkit.org/show_bug.cgi?id=103745
1135
1136         Reviewed by Kenneth Rohde Christiansen.
1137
1138         Evas paints empty evas objects before rendering a web page, so it shows 
1139         a black empty view for a moment. This patch prevents from painting the empty 
1140         evas objects until a GL surface is ready for rendering.  
1141
1142         * UIProcess/API/efl/EwkView.cpp:
1143         (showEvasObjectsIfNeeded):
1144         (EwkView::displayTimerFired):
1145         (EwkView::handleEvasObjectShow):
1146
1147 2013-04-16  Carlos Garcia Campos  <cgarcia@igalia.com>
1148
1149         [GTK] Add webkit_web_page_get_id() to WebKit2 GTK+ API
1150         https://bugs.webkit.org/show_bug.cgi?id=111938
1151
1152         Reviewed by Anders Carlsson.
1153
1154         Add API to the web extensions API to get the identifier of a web
1155         page.
1156
1157         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add new symbol.
1158         * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
1159         (methodCallCallback): Check the page ID matches the one returned
1160         by webkit_web_page_get_id().
1161         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
1162         (webkit_web_page_get_id):
1163         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.h:
1164
1165 2013-04-16  Anders Carlsson  <andersca@apple.com>
1166
1167         Clone storage namespaces for window.open
1168         https://bugs.webkit.org/show_bug.cgi?id=114703
1169
1170         Reviewed by Sam Weinig.
1171
1172         * UIProcess/Storage/StorageManager.cpp:
1173         (WebKit::StorageManager::StorageArea::clone):
1174         New helper function for cloning a storage area.
1175
1176         (WebKit::StorageManager::StorageArea::setItem):
1177         Correctly handle the copy-on-write feature of StorageMap if it has multiple storage areas pointing to it.
1178
1179         (WebKit::StorageManager::StorageArea::removeItem):
1180         Ditto.
1181
1182         (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
1183         Add cloned storage areas.
1184
1185         * WebProcess/Storage/StorageNamespaceImpl.cpp:
1186         (WebKit::StorageNamespaceImpl::copy):
1187         Create a new session storage namespace for the new page.
1188
1189 2013-04-16  Beth Dakin  <bdakin@apple.com>
1190
1191         Need a new layout milestone to notify bundle clients when the header has been 
1192         flushed
1193         https://bugs.webkit.org/show_bug.cgi?id=114706
1194         -and corresponding-
1195         <rdar://problem/13657284>
1196
1197         Reviewed by Simon Fraser.
1198
1199         Make this new LayoutMilestone private at the API layer. 
1200         * Shared/API/c/WKPageLoadTypes.h:
1201         * Shared/API/c/WKPageLoadTypesPrivate.h: Added.
1202
1203         Handle the new milestone.
1204         * Shared/API/c/WKSharedAPICast.h:
1205         (WebKit::toWKLayoutMilestones):
1206         (WebKit::toLayoutMilestones):
1207
1208         New file to make the milestone private.
1209         * WebKit2.xcodeproj/project.pbxproj:
1210
1211         Add or remove the DidFirstFlushForHeaderLayer millstone based on whether we just 
1212         added or removed a header.
1213         * WebProcess/WebPage/mac/WebPageMac.mm:
1214         (WebKit::WebPage::setHeaderLayerWithHeight):
1215
1216 2013-04-16  Ryosuke Niwa  <rniwa@webkit.org>
1217
1218         Another EFL build fix.
1219
1220         * WebProcess/WebPage/efl/WebPageEfl.cpp:
1221
1222 2013-04-15  Sam Weinig  <sam@webkit.org>
1223
1224         Remove more #includes from Frame.h
1225         https://bugs.webkit.org/show_bug.cgi?id=114642
1226
1227         Reviewed by Anders Carlsson.
1228
1229         * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
1230         * WebProcess/Plugins/PluginView.cpp:
1231         * WebProcess/WebPage/WebFrame.cpp:
1232         * WebProcess/WebPage/gtk/WebPageGtk.cpp:
1233         * WebProcess/WebPage/mac/WebPageMac.mm:
1234         * WebProcess/WebPage/qt/WebPageQt.cpp:
1235
1236 2013-04-16  Timothy Hatcher  <timothy@apple.com>
1237
1238         Make resizing the docked Web Inspector stay in sync with the inspected view.
1239
1240         https://webkit.org/b/114682
1241
1242         Reviewed by Joseph Pecoraro.
1243
1244         * UIProcess/mac/WebInspectorProxyMac.mm:
1245         (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
1246         Disable screen updates to make sure the layers for both views resize in sync.
1247
1248 2013-04-15  Anders Carlsson  <andersca@apple.com>
1249
1250         Remove unneeded headers from ScriptExecutionContext.h
1251         https://bugs.webkit.org/show_bug.cgi?id=114631
1252
1253         Reviewed by Alexey Proskuryakov.
1254
1255         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
1256         * WebProcess/WebPage/PageOverlay.cpp:
1257
1258 2013-04-16  Maciej Stachowiak  <mjs@apple.com>
1259
1260         Remove even yet still more traces of v8
1261         https://bugs.webkit.org/show_bug.cgi?id=114693
1262
1263         Reviewed by Anders Carlsson.
1264
1265         * Scripts/generate-forwarding-headers.pl: Remove v8 from list of platforms.
1266
1267 2013-04-16  Alexey Proskuryakov  <ap@apple.com>
1268
1269         Remove unused AlternativeTextClient::dismissDictationAlternativeUI
1270         https://bugs.webkit.org/show_bug.cgi?id=114598
1271
1272         Reviewed by Ryosuke Niwa.
1273
1274         * UIProcess/API/mac/PageClientImpl.h:
1275         * UIProcess/API/mac/PageClientImpl.mm:
1276         (WebKit::PageClientImpl::dictationAlternatives):
1277         * UIProcess/PageClient.h:
1278         * UIProcess/WebPageProxy.cpp:
1279         * UIProcess/WebPageProxy.h:
1280         * UIProcess/WebPageProxy.messages.in:
1281         * WebProcess/WebCoreSupport/WebAlternativeTextClient.h:
1282         * WebProcess/WebCoreSupport/mac/WebAlternativeTextClient.cpp:
1283
1284 2013-04-16  Claudio Saavedra  <csaavedra@igalia.com>
1285
1286         [GTK][WK2] Add API to retrieve a snapshot from a webview
1287         https://bugs.webkit.org/show_bug.cgi?id=98270
1288
1289         Reviewed by Anders Carlsson.
1290
1291         This adds the GTK+ API necessary to retrieve a snapshot from a
1292         webview asynchronously. The API uses the injected bundle
1293         internally to get the snapshot from the WebProcess.
1294
1295         * UIProcess/API/gtk/WebKitError.cpp:
1296         (webkit_snapshot_error_quark): Add snapshot API related error
1297         quark.
1298         * UIProcess/API/gtk/WebKitError.h: Add snapshot error handling.
1299         * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
1300         (didReceiveWebViewMessageFromInjectedBundle): Handle the new
1301         "DidGetSnapshot" message.
1302         * UIProcess/API/gtk/WebKitPrivate.h: Add SnapshotRegion enum.
1303         * UIProcess/API/gtk/WebKitWebView.cpp:
1304         (_WebKitWebViewPrivate): Add a map for the snapshot results.
1305         (GetSnapshotAsyncData):
1306         (webKitWebViewDidReceiveSnapshot):
1307         (webKitSnapshotRegionToSnapshotRegion): Helper method for casting
1308         the region option enumeration.
1309         (generateSnapshotCallbackID): Method to generate unique callback
1310         ids.
1311         (webkit_web_view_get_snapshot):
1312         (webkit_web_view_get_snapshot_finish): New snapshotting API.
1313         * UIProcess/API/gtk/WebKitWebView.h: Ditto.
1314         * UIProcess/API/gtk/WebKitWebViewPrivate.h: Add the private method
1315         to handle a received snapshot.
1316         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt: Add the new API
1317         bits.
1318         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1319         (cairoSurfacesEqual): Add helper to compare cairo_surface_t
1320         structs.
1321         (testWebViewSnapshot): New test.
1322         (beforeAll): Add the new test.
1323         * UIProcess/API/gtk/tests/WebViewTest.cpp:
1324         (WebViewTest::selectAll): Add method to help test snapshots
1325         including selection.
1326         * UIProcess/API/gtk/tests/WebViewTest.h: Ditto
1327         * WebProcess/InjectedBundle/API/gtk/WebKitWebExtension.cpp:
1328         (didReceiveMessageToPage): Ditto.
1329         (webkitWebExtensionCreate): Register method above.
1330         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
1331         (webkitWebPageDidReceiveMessage): Add this method. It
1332         handles the new message "GetSnapshot".
1333         * WebProcess/InjectedBundle/API/gtk/WebKitWebPagePrivate.h:
1334         Add method above.
1335
1336 2013-04-16  Timothy Hatcher  <timothy@apple.com>
1337
1338         Create full rects for the inspector and inspected views when
1339         adjusting to an inspected view frame change. 
1340
1341         This ensures switching dock sides restores the inspected view
1342         and inspector to fill the parent's bounds.
1343
1344         https://webkit.org/b/114666
1345         rdar://problem/13660796
1346
1347         Reviewed by Joseph Pecoraro.
1348
1349         * UIProcess/mac/WebInspectorProxyMac.mm:
1350         (WebKit::WebInspectorProxy::inspectedViewFrameDidChange):
1351
1352 2013-04-16  Balazs Kelemen  <kbalazs@webkit.org>
1353
1354         Initialize logging channels for web processes
1355         https://bugs.webkit.org/show_bug.cgi?id=114621
1356
1357         Reviewed by Sam Weinig.
1358
1359         Use InitializeWebKit2 for initializing the web and plugin processes.
1360         It handles initializing the logging channels and it's better to have
1361         shared core for this. For the plugin process now we always create
1362         a RunLoop object which is not necessary with the -scanPlugin argument
1363         but it shouldn't be a problem.
1364
1365         * PluginProcess/qt/PluginProcessMainQt.cpp:
1366         (WebKit::PluginProcessMain):
1367         * PluginProcess/unix/PluginProcessMainUnix.cpp:
1368         (WebKit::PluginProcessMainUnix):
1369         * WebProcess/efl/WebProcessMainEfl.cpp:
1370         (WebKit::WebProcessMainEfl):
1371         * WebProcess/gtk/WebProcessMainGtk.cpp:
1372         (WebKit::WebProcessMainGtk):
1373         * WebProcess/qt/WebProcessMainQt.cpp:
1374         (WebKit::WebProcessMainQt):
1375
1376 2013-04-16  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
1377
1378         [EFL][WK2] Add an API for getting context menu item's parent menu
1379         https://bugs.webkit.org/show_bug.cgi?id=107510
1380
1381         Reviewed by Kenneth Rohde Christiansen.
1382
1383         Added parent menu support and API for Ewk_Context_Menu_Item, to
1384         allow selecting context menus using Elementary widgets.
1385         Context menu unit test updated with new function. 
1386
1387         * UIProcess/API/efl/ewk_context_menu.cpp:
1388         (EwkContextMenu::EwkContextMenu):
1389         * UIProcess/API/efl/ewk_context_menu_item.cpp:
1390         (EwkContextMenuItem::EwkContextMenuItem):
1391         (ewk_context_menu_item_parent_menu_get):
1392         * UIProcess/API/efl/ewk_context_menu_item.h:
1393         * UIProcess/API/efl/ewk_context_menu_item_private.h:
1394         (EwkContextMenuItem::create):
1395         (EwkContextMenuItem::parentMenu):
1396         (EwkContextMenuItem::setParentMenu):
1397         (EwkContextMenuItem):
1398         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
1399         (showContextMenu):
1400
1401 2013-04-16  Andreas Kling  <akling@apple.com>
1402
1403         Fix release builds with !LOG_DISABLED.
1404
1405         * Platform/mac/Logging.mac.mm:
1406
1407 2013-04-16  Manuel Rego Casasnovas  <rego@igalia.com>
1408
1409         [GTK][EFL] Remove deprecated libsoup API usage
1410         https://bugs.webkit.org/show_bug.cgi?id=104894
1411
1412         Reviewed by Philippe Normand.
1413
1414         Remove LIBSOUP_USE_UNSTABLE_REQUEST_API and only include
1415         libsoup/soup.h.
1416
1417         * WebProcess/Cookies/soup/WebKitSoupCookieJarSqlite.h:
1418         * WebProcess/efl/WebProcessMainEfl.cpp:
1419         * WebProcess/gtk/WebProcessMainGtk.cpp:
1420         * WebProcess/soup/WebKitSoupRequestGeneric.h:
1421         * WebProcess/soup/WebProcessSoup.cpp:
1422         * WebProcess/soup/WebSoupRequestManager.cpp:
1423         (WebKit::WebSoupRequestManager::registerURIScheme): Remove requester and
1424         use method soup_session_add_feature_by_type().
1425
1426 2013-04-15  Dean Jackson  <dino@apple.com>
1427
1428         Plugins that resize might need to be snapshotted.
1429         https://bugs.webkit.org/show_bug.cgi?id=102157
1430         <rdar://problem/12696259>
1431
1432         Reviewed by Tim Horton.
1433
1434         Allow a running plugin to be snapshotted. All this
1435         means is that we start the snapshot timer again.
1436
1437         * WebProcess/Plugins/PluginView.cpp:
1438         (WebKit::PluginView::beginSnapshottingRunningPlugin): Restart
1439             the timer.
1440         * WebProcess/Plugins/PluginView.h: Virtual method declaration.
1441
1442 2013-04-15  Seokju Kwon  <seokju.kwon@gmail.com>
1443
1444         [EFL][WK2] build fix after r148434
1445         https://bugs.webkit.org/show_bug.cgi?id=114647
1446
1447         Reviewed by Benjamin Poulain.
1448
1449         * UIProcess/API/efl/EwkView.cpp:
1450         (EwkView::showContextMenu):
1451
1452 2013-04-15  Jer Noble  <jer.noble@apple.com>
1453
1454         After switching to another space and back, video races to catch up with audio
1455         https://bugs.webkit.org/show_bug.cgi?id=114634
1456
1457         Reviewed by Tim Horton.
1458
1459         In Mountain Lion and previous, report that a view is "not visible" when its window
1460         is not in the active space. This causes us to notify AVFoundation that its CAImageQueues
1461         will not be serviced and results in not having the "catch up" behavior when returning
1462         to the browser's space.
1463
1464         * UIProcess/API/mac/PageClientImpl.mm:
1465         (WebKit::PageClientImpl::isViewVisible):
1466
1467 2013-04-15  Seulgi Kim  <seulgikim@company100.net>
1468
1469         Schedule rendering at regular interval (60fps)
1470         https://bugs.webkit.org/show_bug.cgi?id=114617
1471
1472         Reviewed by Martin Robinson.
1473
1474         Schedule rendering reguarly regardless of the time taken to render a
1475         frame. Otherwise, next flush delayed by the amount of the rendering
1476         time.
1477
1478         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1479         (WebKit::LayerTreeHostGtk::LayerTreeHostGtk):
1480         (WebKit::LayerTreeHostGtk::layerFlushTimerFired):
1481         (WebKit::LayerTreeHostGtk::flushAndRenderLayers):
1482         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
1483
1484 2013-04-15  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
1485
1486         [EFL][WK2] Use C API in ewk_context_menu
1487         https://bugs.webkit.org/show_bug.cgi?id=109698
1488
1489         Reviewed by Andreas Kling.
1490
1491         EFL port unlike others does not handle context menus inside WebKit but exposes an API:
1492         ewk_context_menu and ewk_context_menu_item, and leaves context menu to application.
1493         Currently EFL port's context menu API uses internal C++ classes, while it should use WK2 C API,
1494         to avoid violating layering.
1495         This patch changes EFL context menu API to use only WK2 C API.
1496
1497         * UIProcess/API/efl/EwkView.cpp:
1498         (EwkView::showContextMenu):
1499         * UIProcess/API/efl/EwkView.h:
1500         (WebKit):
1501         (EwkView):
1502         * UIProcess/API/efl/ewk_context_menu.cpp:
1503         (EwkContextMenu::EwkContextMenu):
1504         (EwkContextMenu::contextMenuItemSelected):
1505         (ewk_context_menu_item_select):
1506         (getWKTagFromEwkAction):
1507         * UIProcess/API/efl/ewk_context_menu_item.cpp:
1508         (EwkContextMenuItem::EwkContextMenuItem):
1509         (getEwkActionFromWKTag):
1510         * UIProcess/API/efl/ewk_context_menu_item.h:
1511         * UIProcess/API/efl/ewk_context_menu_item_private.h:
1512         (EwkContextMenuItem::create):
1513         (EwkContextMenuItem):
1514         * UIProcess/API/efl/ewk_context_menu_private.h:
1515         (EwkContextMenu::create):
1516         (EwkContextMenu):
1517         * UIProcess/efl/ContextMenuClientEfl.cpp:
1518         (showContextMenu):
1519         (hideContextMenu):
1520         (ContextMenuClientEfl::ContextMenuClientEfl):
1521         * UIProcess/efl/ContextMenuClientEfl.h:
1522         (WebKit::ContextMenuClientEfl::view):
1523         * UIProcess/efl/WebContextMenuProxyEfl.cpp:
1524         (WebKit::WebContextMenuProxyEfl::showContextMenu):
1525         (WebKit::WebContextMenuProxyEfl::hideContextMenu):
1526         * UIProcess/efl/WebContextMenuProxyEfl.h:
1527         (WebContextMenuProxyEfl):
1528
1529 2013-04-15  Balazs Kelemen  <kbalazs@webkit.org>
1530
1531         [CoordGfx] Background color should not be part of GraphicsLayerState
1532         https://bugs.webkit.org/show_bug.cgi?id=113785
1533
1534         Reviewed by Andreas Kling.
1535
1536         Page background is independent from layer state, send it to the UI
1537         as soon as possible.
1538
1539         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
1540         (CoreIPC::::encode):
1541         (CoreIPC::::decode):
1542         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1543         (WebKit::CoordinatedLayerTreeHost::setBackgroundColor):
1544
1545 2013-04-15  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
1546
1547         [WK2] Add new callbacks and a function for WebKit2 context menu API
1548         https://bugs.webkit.org/show_bug.cgi?id=111552
1549
1550         Reviewed by Anders Carlsson.
1551
1552         Add contextMenuHide and contextMenuShow callbacks to WKPageContextMenuClient
1553         and WKPageContextMenuSelected API so context menus can be handled outside
1554         WebKit. API version of this client was bumped so older client version still
1555          can be used
1556
1557         * Shared/APIClientTraits.cpp:
1558         (WebKit):
1559         * Shared/APIClientTraits.h:
1560         * UIProcess/API/C/WKPage.cpp:
1561         (WKPageSelectContextMenuItem):
1562         * UIProcess/API/C/WKPage.h:
1563         * UIProcess/API/gtk/WebKitContextMenuClient.cpp:
1564         (attachContextMenuClientToView):
1565         * UIProcess/WebPageContextMenuClient.cpp:
1566         (WebKit::WebPageContextMenuClient::getContextMenuFromProposedMenu):
1567         (WebKit::WebPageContextMenuClient::showContextMenu):
1568         (WebKit):
1569         (WebKit::WebPageContextMenuClient::hideContextMenu):
1570         * UIProcess/WebPageContextMenuClient.h:
1571         (WebPageContextMenuClient):
1572         * UIProcess/WebPageProxy.cpp:
1573         (WebKit::WebPageProxy::internalShowContextMenu):
1574         * UIProcess/efl/ContextMenuClientEfl.cpp:
1575         (ContextMenuClientEfl::ContextMenuClientEfl):
1576
1577 2013-04-14  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1578
1579         [EFL][WK2] Regression(r148274): Broke rendering in the browser
1580         https://bugs.webkit.org/show_bug.cgi?id=114593
1581
1582         Reviewed by Anders Carlsson.
1583
1584         r148274 added a new "didChangeViewportAttributes" callback to
1585         WKView but did not hook it up in ViewClientEfl. This patch
1586         fixes this and makes rendering work again in the browser.
1587
1588         * UIProcess/efl/ViewClientEfl.cpp:
1589         (WebKit::ViewClientEfl::ViewClientEfl):
1590
1591 2013-04-14  Andreas Kling  <akling@apple.com>
1592
1593         Move CSSOM classes to using MutableStylePropertySet over StylePropertySet.
1594         <http://webkit.org/b/114581>
1595
1596         Reviewed by Anders Carlsson.
1597
1598         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1599         (WebKit::WebEditorClient::shouldApplyStyle):
1600
1601 2013-04-14  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1602
1603         Unreviewed build fix for WebKit2 EFL after r148373 due to missing
1604         header includes.
1605
1606         * UIProcess/InspectorServer/efl/WebInspectorServerEfl.cpp:
1607         * UIProcess/efl/InputMethodContextEfl.cpp:
1608
1609 2013-04-13  Sam Weinig  <sam@webkit.org>
1610
1611         Add ObjC API for setting initialization data for the WKWebProcessPlugIn
1612         https://bugs.webkit.org/show_bug.cgi?id=103846
1613
1614         Reviewed by Darin Adler.
1615
1616         * UIProcess/API/mac/WKProcessGroup.h:
1617         Adds a new optional processGroupWillCreateConnectionToWebProcessPlugIn: method for the WKProcessGroupDelegate protocol,
1618         which allows the user to pass (via an autoreleased return value) initialization data to the web process plugin.
1619
1620         * UIProcess/API/mac/WKProcessGroup.mm:
1621         (getInjectedBundleInitializationUserData):
1622         (setUpInectedBundleClient):
1623         (-[WKProcessGroup initWithInjectedBundleURL:]):
1624         (-[WKProcessGroup dealloc]):
1625         Use the existing WKContextInjectedBundleClient infrastructure to pass the initialization data to the bundle
1626         via the new ObjCObjectGraph APIObject.
1627
1628         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
1629         Adds webProcessPlugIn:initializeWithObject: to the WKWebProcessPlugIn protocol, replacing webProcessPlugInInitialize:.
1630
1631         * WebProcess/InjectedBundle/mac/InjectedBundleMac.mm:
1632         (WebKit::InjectedBundle::load):
1633         Pass the initialization data to the web process plugin.
1634
1635 2013-04-13  Sam Weinig  <sam@webkit.org>
1636
1637         Attempt Build Fix.
1638
1639         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
1640
1641 2013-04-12  Sam Weinig  <sam@webkit.org>
1642
1643         Make Frame's ScriptController an OwnPtr and remove the #include
1644         https://bugs.webkit.org/show_bug.cgi?id=114105
1645
1646         Reviewed by Dean Jackson.
1647
1648         * Shared/WebHitTestResult.cpp:
1649         * Shared/WebHitTestResult.h:
1650         * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
1651         * UIProcess/WebContext.h:
1652         * UIProcess/WebPageProxy.h:
1653         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
1654         * WebProcess/InjectedBundle/InjectedBundleDOMWindowExtension.cpp:
1655         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
1656         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
1657         * WebProcess/Plugins/PDF/PDFPlugin.h:
1658         * WebProcess/Plugins/PluginView.cpp:
1659         * WebProcess/Storage/StorageAreaImpl.cpp:
1660         * WebProcess/Storage/StorageAreaMap.cpp:
1661         * WebProcess/WebPage/WebFrame.cpp:
1662         * WebProcess/WebPage/WebPage.cpp:
1663
1664 2013-04-13  Zan Dobersek  <zdobersek@igalia.com>
1665
1666         Unreviewed GTK build fix after r148311.
1667
1668         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1669         (resizeWebKitWebViewBaseFromAllocation): Passing IntSize() as the scroll offset
1670         argument to the DrawingAreaProxy::setSize method.
1671
1672 2013-04-12  Gavin Barraclough  <barraclough@apple.com>
1673
1674         Add private interface to WKView to asynchronously update the drawing area size
1675         https://bugs.webkit.org/show_bug.cgi?id=114549
1676
1677         Reviewed by Simon Fraser.
1678
1679         This will allow a client using the WKView to resize the contents without blocking waiting for the web process to repaint.
1680
1681         * UIProcess/API/mac/WKView.mm:
1682         (-[WKView _setDrawingAreaSize:]):
1683             - if the new size of teh drawing area does not match the frame size, position it according to the contentAnchor.
1684         (-[WKView updateLayer]):
1685             - Don't let a subsequent frame size change block on a prior async resize.
1686         (-[WKView forceAsyncDrawingAreaSizeUpdate:]):
1687             - resize the drawing area asynchronously, even if frame size udpates are disabled.
1688         (-[WKView waitForAsyncDrawingAreaSizeUpdate]):
1689             - wait for asynchronous updates to complete.
1690
1691         * UIProcess/API/mac/WKViewPrivate.h:
1692             - declare new methods.
1693
1694         * UIProcess/DrawingAreaProxy.cpp:
1695         (WebKit):
1696         * UIProcess/DrawingAreaProxy.h:
1697         (DrawingAreaProxy):
1698         (WebKit::DrawingAreaProxy::waitForPossibleGeometryUpdate):
1699         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
1700         (TiledCoreAnimationDrawingAreaProxy):
1701         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
1702         (WebKit::TiledCoreAnimationDrawingAreaProxy::waitForPossibleGeometryUpdate):
1703             - pass timeout for waitForPossibleGeometryUpdate as a parameter.
1704
1705 2013-04-12  Jessie Berlin  <jberlin@apple.com>
1706
1707         32-bit build fix.
1708
1709         * UIProcess/API/mac/WKView.mm:
1710         (-[WKView setFrameSize:]):
1711
1712 2013-04-12  Jeffrey Pfau  <jpfau@apple.com>
1713
1714         Query directly for cache partition names
1715         https://bugs.webkit.org/show_bug.cgi?id=114538
1716
1717         Reviewed by David Kilzer.
1718
1719         Call back into WebKitSystemInterface to ask it for the cache
1720         partition names instead of trying to figure them out.
1721
1722         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
1723         (WebKit::WebResourceCacheManager::getCacheOrigins):
1724         (WebKit):
1725         (WebKit::WebResourceCacheManager::returnCacheOrigins):
1726         * WebProcess/ResourceCache/WebResourceCacheManager.h:
1727         (WebResourceCacheManager):
1728         * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
1729         (WebKit::WebResourceCacheManager::cfURLCacheHostNames):
1730         (WebKit):
1731         (WebKit::WebResourceCacheManager::cfURLCacheHostNamesWithCallback):
1732
1733 2013-04-12  Gavin Barraclough  <barraclough@apple.com>
1734
1735         Build fix - too soon!
1736
1737         * UIProcess/API/mac/WKViewPrivate.h:
1738
1739 2013-04-12  Gavin Barraclough  <barraclough@apple.com>
1740
1741         Build fix - too soon!
1742
1743         * UIProcess/API/mac/WKView.mm:
1744         (-[WKView setFrameSize:]):
1745
1746 2013-04-12  Adenilson Cavalcanti  <cavalcantii@gmail.com>
1747
1748         [WK2] WebPageProxy loadURL() won't work when called just after terminateProcess()
1749         https://bugs.webkit.org/show_bug.cgi?id=110743
1750
1751         Reviewed by Benjamin Poulain.
1752
1753         A call to loadURL() just after terminating WebProcess will fail thanks to
1754         WebPageProxy being in an undefined state since it is in the middle of its own
1755         cleanup after process termination.
1756
1757         To properly fix this, not only WebPageProxy cleanup should be made
1758         at WebProcess termination request, but also WebProcessProxy needs
1759         to only return to its caller after terminating the process and
1760         closing connections. Otherwise, WebPageProxy can even be able to
1761         detect that WebProcess is no longer running, but a call to respawn
1762         the process will fail.
1763
1764         To fix these issues, this patch moves the cleanup code to a shared private function
1765         that is used for both the cases i.e. user termination and real crash. WebProcess
1766         shutdown is done using a new method that ensures that all cleanup was done before
1767         returning.
1768
1769         A last change introduced in this patch is that for user requested termination,
1770         clients are no longer notified of a crash (since it is not a crash).
1771
1772         * UIProcess/WebPageProxy.cpp:
1773         (WebKit::WebPageProxy::terminateProcess):
1774         (WebKit::WebPageProxy::processDidCrash):
1775         (WebKit):
1776         (WebKit::WebPageProxy::resetStateAfterProcessExited):
1777         * UIProcess/WebPageProxy.h:
1778         (WebPageProxy):
1779         * UIProcess/WebProcessProxy.cpp:
1780         (WebKit::WebProcessProxy::userRequestedTerminate):
1781         (WebKit):
1782         * UIProcess/WebProcessProxy.h:
1783         (WebProcessProxy):
1784
1785 2013-04-12  Gavin Barraclough  <barraclough@apple.com>
1786
1787         Add contentAnchor to WKView
1788         http://bugs.webkit.org/show_bug.cgi?id=114469
1789         
1790         Currently if you call setFrameSize: while frame size updates are disabled, or if the geometry
1791         update times out, then the previously rendered page content will be rendered anchored to the
1792         top left corner of the frame.
1793
1794         This is appropriate if the frame is being resized from the bottom right corner. In order to
1795         achieve a more desirable appearance if the frame is being resized from another corner we
1796         should allow the corner at which the content anchors to be specified.
1797
1798         Reviewed by Simon Fraser.
1799
1800         * UIProcess/API/mac/WKView.mm:
1801         (-[WKView setFrameSize:]):
1802             - If the content anchor has been set, then updating the frame size moves the origin within the layer.
1803         (-[WKView _setDrawingAreaSize:]):
1804             - Instruct the drawing area to paint at the correct position within the layer.
1805         (-[WKView _setAcceleratedCompositingModeRootLayer:]):
1806             - If the root layer is cleared this implicitly resets any origin position we had set within it.
1807         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
1808             - initialize new data members.
1809         (-[WKView setContentAnchor:]):
1810         (-[WKView contentAnchor]):
1811             - Accessor implementation for @property contentAnchor.
1812
1813         * UIProcess/API/mac/WKViewPrivate.h:
1814         (NS_ENUM):
1815             - Added WKContentAnchor enum type, and @property contentAnchor.
1816
1817         * UIProcess/DrawingAreaProxy.cpp:
1818         (WebKit::DrawingAreaProxy::setSize):
1819             - Don't suppress geometry updates where the layer poistion has changed.
1820
1821         * UIProcess/DrawingAreaProxy.h:
1822         (DrawingAreaProxy):
1823             - Added m_layerPosition, layerPosition argument to setSize
1824
1825         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
1826         (TiledCoreAnimationDrawingAreaProxy):
1827             - Added m_lastSentLayerPosition
1828
1829         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
1830         (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
1831             - Don't suppress geometry updates where the layer poistion has changed.
1832
1833         (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
1834             - Pass layer position in UpdateGeometry message.
1835
1836         * WebProcess/WebPage/DrawingArea.h:
1837         (WebKit::DrawingArea::updateGeometry):
1838             - Added layerPosition argument to updateGeometry
1839
1840         * WebProcess/WebPage/DrawingArea.messages.in:
1841             - Added layerPosition argument to updateGeometry
1842
1843         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1844         (TiledCoreAnimationDrawingArea):
1845             - Added layerPosition argument to updateGeometry
1846
1847         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1848         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
1849             - Added layerPosition argument to updateGeometry
1850
1851 2013-04-12  Commit Queue  <rniwa@webkit.org>
1852
1853         Unreviewed, rolling out r148296 and r148297.
1854         http://trac.webkit.org/changeset/148296
1855         http://trac.webkit.org/changeset/148297
1856         https://bugs.webkit.org/show_bug.cgi?id=114536
1857
1858         Needs more thought (Requested by ap on #webkit).
1859
1860         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
1861
1862 2013-04-12  Tim Horton  <timothy_horton@apple.com>
1863
1864         REGRESSION (r138858): GIFs don't start playing when they come out of background tabs
1865         https://bugs.webkit.org/show_bug.cgi?id=108864
1866         <rdar://problem/13140489>
1867
1868         Reviewed by Antti Koivisto.
1869
1870         Don't repaint the world when animations resume; instead, FrameView
1871         will cause all animated images to repaint. This line also had no effect for
1872         TiledCoreAnimationDrawingArea, which does not implement setNeedsDisplay.
1873
1874         * WebProcess/WebPage/WebPage.cpp:
1875         (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
1876
1877 2013-04-12  Alexey Proskuryakov  <ap@apple.com>
1878
1879         <rdar://problem/13334446> [Mac] Tweak sandbox profile.
1880
1881         Apply a post-landing review comment.
1882
1883         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
1884
1885 2013-04-12  Alexey Proskuryakov  <ap@apple.com>
1886
1887         <rdar://problem/13334446> [Mac] Tweak sandbox profile.
1888
1889         Reviewed by Jessie Berlin.
1890
1891         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
1892
1893 2013-04-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1894
1895         [GTK] Split GtkAuthenticationDialog in two widgets
1896         https://bugs.webkit.org/show_bug.cgi?id=103644
1897
1898         Reviewed by Xan Lopez.
1899
1900         * GNUmakefile.list.am: Add new files to compilation.
1901         * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp: Removed.
1902         * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h: Removed.
1903         * UIProcess/API/gtk/WebKitAuthenticationDialog.cpp: Added.
1904         (webkitAuthenticationDialogAuthenticate): Use the
1905         AuthenticationChallengeProxy to authenticate and destroy the dialog.
1906         (okButtonClicked): Call webkitAuthenticationDialogAuthenticate()
1907         with the credential.
1908         (cancelButtonClicked): Call
1909         webkitAuthenticationDialogAuthenticate() with a NULL credential to
1910         continue without credential.
1911         (webkitAuthenticationDialogInitialize): Build the UI.
1912         (webkitAuthenticationDialogDraw): Draw a background.
1913         (webkitAuthenticationDialogMap): Grab default button.
1914         (webkitAuthenticationDialogConstructed): Create a GtkStyleContext
1915         with the GtkWindow path to draw the widget background like a real
1916         dialog.
1917         (webkit_authentication_dialog_class_init):
1918         (webkitAuthenticationDialogNew): Create a new
1919         WebKitAuthenticationDialog widget.
1920         * UIProcess/API/gtk/WebKitAuthenticationDialog.h: Added.
1921         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
1922         * UIProcess/API/gtk/WebKitWebView.cpp:
1923         (webkitWebViewHandleAuthenticationChallenge): Create a
1924         WebKitAuthenticationDialog widget and pass add it to the
1925         container.
1926         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
1927         (_WebKitWebViewBasePrivate): Updated to use the widget directly.
1928         (webkitWebViewChildIsInternalWidget): Ditto.
1929         (webkitWebViewBaseAddAuthenticationDialog): Ditto.
1930         (webkitWebViewBaseCancelAuthenticationDialog): Ditto.
1931         (webkitWebViewBaseContainerRemove): Ditto.
1932         (webkitWebViewBaseContainerForall): Ditto.
1933         (resizeWebKitWebViewBaseFromAllocation): Ditto.
1934         (webkitWebViewBaseFocus): Ditto.
1935         (webkitWebViewBaseDestroy): Destroy the auth widget is present.
1936         (webkit_web_view_base_class_init): Add implementation for
1937         GtkWidgetClass::destroy.
1938         * UIProcess/API/gtk/WebKitWebViewBasePrivate.h:
1939
1940 2013-04-12  Carlos Garcia Campos  <cgarcia@igalia.com>
1941
1942         [GTK] Web Process crash when the UI process finishes too early
1943         https://bugs.webkit.org/show_bug.cgi?id=112729
1944
1945         Reviewed by Anders Carlsson.
1946
1947         The problem is when creating the GSocket in the WorkQeue for the
1948         socket descriptor. GLib considers a programmer error to create a
1949         GSocket providing an invalid socket and finishes the process with
1950         g_error(). We are actually providing a valid socket when creating
1951         the GSocket, but it can be invalidated by the worker thread while
1952         the GSocket is being created. This is because
1953         registerEventSourceHandler is called from the main thread and
1954         unregisterEventSourceHandler can be called from the worker
1955         thread. We are currently registering two event handlers, one to
1956         read data from the socket and another one to close the CoreIPC
1957         connection when the socket connection is broken. Every event
1958         source registered uses its own GSocket (even if the file
1959         descriptor is actually the same), so that when the UI process
1960         finishes too early, the first event handler can be executed in the
1961         worker thread, closing the socket descriptor, while the main
1962         thread is creating the GSocket for the second one.
1963         We don't really need to use a separate event handler to monitor
1964         the connection, because GSocket always notifies when condition is
1965         G_IO_HUP and G_IO_ERR even if they haven't been explicitly set in
1966         g_socket_create_source(). We can register socket event sources
1967         differently, providing also a function to be called when the
1968         connection is closed, using a single socket and the same even source.
1969
1970         * Platform/CoreIPC/unix/ConnectionUnix.cpp:
1971         (CoreIPC::Connection::platformInvalidate):
1972         (CoreIPC::Connection::open): Register a single socket event
1973         handler providing also a function to be called when the connection
1974         is closed.
1975         * Platform/WorkQueue.h:
1976         (WorkQueue):
1977         * Platform/gtk/WorkQueueGtk.cpp: The EventSource class has been
1978         split, moving everyting specific to socket event source to a
1979         derived class SocketEventSource.
1980         (WorkQueue::EventSource::EventSource):
1981         (WorkQueue::EventSource::performWork):
1982         (WorkQueue::EventSource::performWorkOnce):
1983         (WorkQueue::EventSource::performWorkOnTermination):
1984         (WorkQueue::EventSource::deleteEventSource):
1985         (WorkQueue::EventSource):
1986         (WorkQueue::SocketEventSource):
1987         (WorkQueue::SocketEventSource::SocketEventSource):
1988         (WorkQueue::SocketEventSource::cancel):
1989         (WorkQueue::SocketEventSource::didClose):
1990         (WorkQueue::SocketEventSource::checkCondition):
1991         (WorkQueue::SocketEventSource::eventCallback):
1992         (WorkQueue::registerSocketEventHandler):
1993         (WorkQueue::unregisterSocketEventHandler):
1994         (WorkQueue::dispatchOnSource):
1995
1996 2013-04-12  Alexey Proskuryakov  <ap@apple.com>
1997
1998         <rdar://problem/13126204> [Mac] Tweak sandbox profile.
1999
2000         Reviewed by Anders Carlsson.
2001
2002         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
2003         * WebProcess/com.apple.WebProcess.sb.in:
2004
2005 2013-04-12  Manuel Rego Casasnovas  <rego@igalia.com>
2006
2007         [GTK][WK2] Add document-loaded signal to WebKitWebPage
2008         https://bugs.webkit.org/show_bug.cgi?id=110614
2009
2010         Reviewed by Carlos Garcia Campos.
2011
2012         Add a new signal document-loaded to WebKitWebPage that will be emitted
2013         when the DOM document has been loaded for the main frame.
2014
2015         * UIProcess/API/gtk/tests/TestWebExtensions.cpp:
2016         (documentLoadedCallback):
2017         (testDocumentLoadedSignal):
2018         (beforeAll): Add test for document-loaded signal.
2019         * UIProcess/API/gtk/tests/WebExtensionTest.cpp:
2020         (documentLoadedCallback):
2021         (pageCreatedCallback):
2022         (methodCallCallback): Add new D-Bus signal DocumentLoaded in order to
2023         test document-loaded signal.
2024         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
2025         (webkit_web_page_class_init):
2026         (webkitWebPageCreate): Add document-loaded signal and emit it when
2027         didFinishDocumentLoadForFrame is called.
2028
2029 2013-04-12  Hanyee Kim  <choco@company100.net>
2030
2031         [GTK] Webkit fails to build webkit2gtk-tests-resources.gresource.
2032         https://bugs.webkit.org/show_bug.cgi?id=114485
2033
2034         Reviewed by Martin Robinson.
2035
2036         Generating webkit2gtk-tests-resources.gresource can be failed due to
2037         the non-existing target directory.
2038         We need to make target directory before generating it.
2039
2040         * UIProcess/API/gtk/tests/GNUmakefile.am:
2041
2042 2013-04-12  Andreas Kling  <akling@apple.com>
2043
2044         REGRESSION(r145869): Right-click on SWF contents displays the context menu at the wrong place.
2045         <http://webkit.org/b/113836>
2046         <rdar://problem/13587624>
2047
2048         Reviewed by Anders "Wesley Crusher" Carlsson.
2049
2050         Mac plugins expect flipped-Y screen coordinates, while DOM APIs speak in unflipped coordinates,
2051         and we were mixing them up in the window frame caching optimization.
2052
2053         Solve this by having the UIProcess send both flipped and unflipped window frames to the WebProcess.
2054         The flipped frame is passed on to plugins, and the unflipped frame is used for window.screenX/Y etc.
2055
2056         * UIProcess/API/mac/WKView.mm:
2057         (-[WKView _updateWindowAndViewFrames]):
2058
2059             No need to retrieve the window frame here as WebPageProxy::windowAndViewFramesChanged() will
2060             always override it anyway.
2061
2062         * UIProcess/mac/WebPageProxyMac.mm:
2063         (WebKit::WebPageProxy::windowAndViewFramesChanged):
2064         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2065         (WebKit::WebChromeClient::windowRect):
2066         * WebProcess/WebPage/WebPage.cpp:
2067         (WebKit::WebPage::windowAndViewFramesChanged):
2068         * WebProcess/WebPage/WebPage.h:
2069         (WebKit::WebPage::windowFrameInUnflippedScreenCoordinates):
2070         * WebProcess/WebPage/WebPage.messages.in:
2071
2072 2013-04-12  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2073
2074         [WK2][EFL] WebView: Add callbacks to the WKViewClient to handle page viewport update
2075         https://bugs.webkit.org/show_bug.cgi?id=110463
2076
2077         Reviewed by Anders Carlsson.
2078
2079         * UIProcess/efl/ViewClientEfl.h:
2080         (ViewClientEfl):
2081         * UIProcess/efl/WebView.cpp:
2082         (WebKit::WebView::didChangeViewportProperties):
2083         * UIProcess/efl/WebViewClient.cpp:
2084         (WebKit::WebViewClient::didChangeViewportAttributes):
2085         (WebKit):
2086         * UIProcess/efl/WebViewClient.h:
2087
2088             Added didChangeViewportAttributes callback to the WKViewClient to
2089             handle page viewport updates.
2090
2091         * CMakeLists.txt:
2092         * Shared/API/c/WKBase.h:
2093         * Shared/APIObject.h:
2094         * UIProcess/API/C/WKAPICast.h:
2095         (WebKit):
2096         * UIProcess/API/C/WKViewportAttributes.cpp: Added.
2097         (WKViewportAttributesGetTypeID):
2098         * UIProcess/API/C/WKViewportAttributes.h: Added.
2099         * UIProcess/API/C/efl/WKView.h:
2100         * UIProcess/WebViewportAttributes.cpp: Added.
2101         (WebKit):
2102         (WebKit::WebViewportAttributes::WebViewportAttributes):
2103         (WebKit::WebViewportAttributes::~WebViewportAttributes):
2104         * UIProcess/WebViewportAttributes.h: Added.
2105         (WebKit):
2106         (WebViewportAttributes):
2107         (WebKit::WebViewportAttributes::create):
2108         (WebKit::WebViewportAttributes::originalAttributes):
2109         (WebKit::WebViewportAttributes::type):
2110
2111             Added WKViewportAttributesRef - WK2 C API object that is wrapping 
2112             WebCore::ViewportAttributes structure and is passed in didChangeViewportAttributes
2113             WKViewClient callback.
2114
2115         * UIProcess/efl/ViewClientEfl.cpp:
2116         (WebKit::ViewClientEfl::didChangeViewportAttributes):
2117         (WebKit):
2118
2119             Added implementaion of didChangeViewportAttributes WKViewClient 
2120             callback so that existing EFL WK2 funtionality is kept.
2121
2122
2123 2013-04-12  Carlos Garcia Campos  <cgarcia@igalia.com>
2124
2125         [GTK] The style of visited links doesn't change in WebKit2
2126         https://bugs.webkit.org/show_bug.cgi?id=112175
2127
2128         Reviewed by Benjamin Poulain.
2129
2130         The problem is that visited links were not tracked by the web
2131         process. There's a web process initial parameter to set whether
2132         web process should track visited links or not and it's disabled by
2133         default.
2134
2135         * UIProcess/gtk/WebContextGtk.cpp:
2136         (WebKit::WebContext::platformInitializeWebProcess): Always set
2137         shouldTrackVisitedLinks to true.
2138
2139 2013-04-11  Tim Horton  <timothy_horton@apple.com>
2140
2141         REGRESSION (r146956): ASSERTion failure: WebKit::WebProcess::pageWillLeaveWindow
2142         https://bugs.webkit.org/show_bug.cgi?id=114481
2143         <rdar://problem/13534784>
2144
2145         Reviewed by Simon Fraser.
2146
2147         Inform the WebProcess of WebPages which are already in a window when created.
2148
2149         * WebProcess/WebPage/WebPage.cpp:
2150         (WebKit::WebPage::WebPage):
2151
2152 2013-04-11  Anders Carlsson  <andersca@apple.com>
2153
2154         Add support for clearing storage areas
2155         https://bugs.webkit.org/show_bug.cgi?id=114479
2156
2157         Reviewed by Beth Dakin.
2158
2159         * UIProcess/Storage/StorageManager.cpp:
2160         (WebKit::StorageManager::StorageArea::StorageArea):
2161         Store the quota size so we can recreate the underlying StorageMap when clearing.
2162         
2163         (WebKit::StorageManager::StorageArea::clear):
2164         Create a new storage map and dispatch events.
2165
2166         (WebKit::StorageManager::clear):
2167         Find the right storage area and call clear.
2168
2169         * UIProcess/Storage/StorageManager.messages.in:
2170         Add Clear message.
2171
2172         * WebProcess/Storage/StorageAreaImpl.cpp:
2173         (WebKit::StorageAreaImpl::clear):
2174         Call the storage map.
2175
2176         * WebProcess/Storage/StorageAreaMap.cpp:
2177         (WebKit::StorageAreaMap::clear):
2178         Reset the cached values and send a clear message.
2179
2180         (WebKit::StorageAreaMap::resetValues):
2181         New helper function.
2182
2183         (WebKit::StorageAreaMap::didClear):
2184         New stub.
2185
2186         * WebProcess/Storage/StorageAreaMap.messages.in:
2187         Add DidClear message.
2188
2189 2013-04-11  Beth Dakin  <bdakin@apple.com>
2190
2191         WebKit should set the header and footer layers' contentsScale when the device 
2192         scale factor changes
2193         https://bugs.webkit.org/show_bug.cgi?id=114471
2194         -and corresponding-
2195         <rdar://problem/13621288>
2196
2197         Reviewed by Simon Fraser.
2198
2199         Update the header and footer contentsScale when the device scale factor has 
2200         changed.
2201
2202         * WebProcess/WebPage/WebPage.cpp:
2203         (WebKit::WebPage::setDeviceScaleFactor):
2204         * WebProcess/WebPage/WebPage.h:
2205         * WebProcess/WebPage/mac/WebPageMac.mm:
2206         (WebKit::WebPage::updateHeaderAndFooterLayersForDeviceScaleChange):
2207
2208 2013-04-11  Anders Carlsson  <andersca@apple.com>
2209
2210         Implement removing storage area items
2211         https://bugs.webkit.org/show_bug.cgi?id=114472
2212
2213         Reviewed by Beth Dakin.
2214
2215         * UIProcess/Storage/StorageManager.cpp:
2216         (StorageManager::StorageArea):
2217         (WebKit::StorageManager::StorageArea::setItem):
2218         Rename connection to sourceConnection.
2219
2220         (WebKit::StorageManager::StorageArea::removeItem):
2221         Remove the item from the map and dispatch events if needed.
2222
2223         (WebKit::StorageManager::removeItem):
2224         Find the right storage area, remove the item and send back a DidRemoveItem message.
2225
2226         * UIProcess/Storage/StorageManager.messages.in:
2227         Add RemoveItem message.
2228
2229         * WebProcess/Storage/StorageAreaImpl.cpp:
2230         (WebKit::StorageAreaImpl::removeItem):
2231         Call StorageAreaMap::removeItem.
2232
2233         * WebProcess/Storage/StorageAreaMap.cpp:
2234         (WebKit::StorageAreaMap::removeItem):
2235         Send a RemoveItem message to the storage manager.
2236         
2237         (WebKit::StorageAreaMap::didRemoveItem):
2238         Add empty stub.
2239
2240         * WebProcess/Storage/StorageAreaMap.messages.in:
2241         Add DidRemoveItem message.
2242
2243 2013-04-11  Tim Horton  <timothy_horton@apple.com>
2244
2245         InjectedBundleNodeHandle::imageForRect doesn't respect device scale factor or highlighting option
2246         https://bugs.webkit.org/show_bug.cgi?id=114466
2247         <rdar://problem/13508513>
2248
2249         Reviewed by Simon Fraser.
2250
2251         Respect the device scale factor when creating the snapshot image.
2252         Clear the snapshot image before drawing into it.
2253         Respect SnapshotOptionsExcludeSelectionHighlighting.
2254
2255         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
2256         (WebKit::imageForRect):
2257
2258 2013-04-11  Commit Queue  <rniwa@webkit.org>
2259
2260         Unreviewed, rolling out r148034, r148052, r148097, and
2261         r148194.
2262         http://trac.webkit.org/changeset/148034
2263         http://trac.webkit.org/changeset/148052
2264         http://trac.webkit.org/changeset/148097
2265         http://trac.webkit.org/changeset/148194
2266         https://bugs.webkit.org/show_bug.cgi?id=114463
2267
2268         broke mutiresolution favicons, among other things (Requested
2269         by thorton on #webkit).
2270
2271         * UIProcess/WebIconDatabase.cpp:
2272         (WebKit::WebIconDatabase::setIconDataForIconURL):
2273         * UIProcess/WebIconDatabase.h:
2274         (WebIconDatabase):
2275         * UIProcess/WebIconDatabase.messages.in:
2276         * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
2277         (WebKit::WebIconDatabaseProxy::setIconDataForIconURL):
2278         * WebProcess/Plugins/PDF/PDFPlugin.mm:
2279         (WebKit::PDFPlugin::destroy):
2280
2281 2013-04-11  Anders Carlsson  <andersca@apple.com>
2282
2283         Implement StorageManager::getValues
2284         https://bugs.webkit.org/show_bug.cgi?id=114461
2285
2286         Reviewed by Beth Dakin.
2287
2288         * UIProcess/Storage/StorageManager.cpp:
2289         (WebKit::StorageManager::StorageArea::items):
2290         (WebKit::StorageManager::getValues):
2291         Return the items from the right storage area.
2292
2293 2013-04-11  Anders Carlsson  <andersca@apple.com>
2294
2295         Clean up related storage areas when a connection is destroyed
2296         https://bugs.webkit.org/show_bug.cgi?id=114459
2297
2298         Reviewed by Beth Dakin.
2299
2300         * UIProcess/Storage/StorageManager.cpp:
2301         (WebKit::StorageManager::processWillCloseConnection):
2302         Dispatch invalidateConnectionInternal on the work queue.
2303         
2304         (WebKit::StorageManager::createStorageMap):
2305         (WebKit::StorageManager::destroyStorageMap):
2306         Rename m_storageAreas to m_storageAreasByConnection.
2307
2308         (WebKit::StorageManager::invalidateConnectionInternal):
2309         Go over all known storage areas and remove this connection as a listener.
2310
2311         (WebKit::StorageManager::findStorageArea):
2312         Rename m_storageAreas to m_storageAreasByConnection.
2313
2314         * UIProcess/Storage/StorageManager.h:
2315         Rename m_storageAreas to m_storageAreasByConnection.
2316
2317 2013-04-11  Anders Carlsson  <andersca@apple.com>
2318
2319         Make StorageAreaMap dispatch session storage events
2320         https://bugs.webkit.org/show_bug.cgi?id=114454
2321
2322         Reviewed by Beth Dakin.
2323
2324         * WebProcess/Storage/StorageAreaMap.cpp:
2325         (WebKit::StorageAreaMap::dispatchStorageEvent):
2326         Depending on the storage area type, call dispatchSessionStorageEvent or dispatchLocalStorageEvent.
2327
2328         (WebKit::StorageAreaMap::dispatchSessionStorageEvent):
2329         Enumerate all the frames in our page and dispatch the event to the relevant ones.
2330
2331         (WebKit::StorageAreaMap::dispatchLocalStorageEvent):
2332         Add empty stub for now.
2333
2334 2013-04-11  Anders Carlsson  <andersca@apple.com>
2335
2336         Implement more logic in StorageAreaMap
2337         https://bugs.webkit.org/show_bug.cgi?id=114451
2338
2339         Reviewed by Alexey Proskuryakov.
2340
2341         * Platform/CoreIPC/HandleMessage.h:
2342         (CoreIPC::callMemberFunction):
2343         Add new overload.
2344
2345         * UIProcess/Storage/StorageManager.cpp:
2346         (WebKit::StorageManager::StorageArea::addListener):
2347         (WebKit::StorageManager::StorageArea::removeListener):
2348         These take storage map IDs.
2349
2350         (WebKit::StorageManager::StorageArea::setItem):
2351         Rename storageAreaID to sourceStorageAreaID.
2352
2353         (WebKit::StorageManager::StorageArea::dispatchEvents):
2354         Remove the code that would not dispatch to the source connection, there may still be storage areas interested in those events.
2355
2356         (WebKit::StorageManager::setItem):
2357         This now takes the source storage area ID.
2358
2359         (WebKit::StorageManager::findStorageArea):
2360         This takes a storage map ID.
2361
2362         * UIProcess/Storage/StorageManager.messages.in:
2363         SetItem now takes the source storage area ID as well.
2364
2365         * WebProcess/Storage/StorageAreaImpl.cpp:
2366         (WebKit::StorageAreaImpl::setItem):
2367         Pass the source frame to StorageAreaMap::setItem.
2368
2369         * WebProcess/Storage/StorageAreaMap.cpp:
2370         (WebKit::StorageAreaMap::StorageAreaMap):
2371         Send CreateStorageMap and add the object as a message receiver.
2372
2373         (WebKit::StorageAreaMap::~StorageAreaMap):
2374         Send DestroyStorageMap and remove the object as a message receiver.
2375
2376         (WebKit::StorageAreaMap::length):
2377         (WebKit::StorageAreaMap::key):
2378         (WebKit::StorageAreaMap::item):
2379         (WebKit::StorageAreaMap::contains):
2380         Load values and forward calls to the storage map.
2381
2382         (WebKit::StorageAreaMap::setItem):
2383         This now takes the source frame as well. Update the local storage map and send a SetItem message.
2384         
2385         (WebKit::StorageAreaMap::loadValuesIfNeeded):
2386         Get the values from the storage manager.
2387
2388         (WebKit::StorageAreaMap::dispatchStorageEvent):
2389         This now takes the source storage area ID.
2390
2391         * WebProcess/Storage/StorageAreaMap.messages.in:
2392         DispatchStorageEvent now takes the source storage area ID.
2393
2394 2013-04-10  Brady Eidson  <beidson@apple.com>
2395
2396         Web/Plugin process deadlock initializing async plugins.
2397         <rdar://problem/13525232> and https://bugs.webkit.org/show_bug.cgi?id=114217
2398
2399         Rubberstamped by Anders Carlsson.
2400
2401         Rollout r147953 and r147968 as we identified other causes for this.
2402
2403         * PluginProcess/WebProcessConnection.cpp:
2404         (WebKit::WebProcessConnection::createPluginAsynchronously):
2405         * WebProcess/Plugins/PluginProxy.messages.in:
2406
2407 2013-04-11  Alexey Proskuryakov  <ap@apple.com>
2408
2409         Remove some ResourceHandle.h includes
2410         https://bugs.webkit.org/show_bug.cgi?id=114416
2411
2412         Reviewed by Ryosuke Niwa.
2413
2414         * WebProcess/Network/NetworkProcessConnection.cpp: Added an include that is now
2415         necessary.
2416
2417 2013-04-11  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2418
2419         [Qt] EventHandler should handle Space and BackSpace 
2420         https://bugs.webkit.org/show_bug.cgi?id=114428
2421
2422         Reviewed by Jocelyn Turcotte.
2423
2424         Remove our own handling of space and backspace.
2425
2426         * WebProcess/WebPage/qt/WebPageQt.cpp:
2427         (WebKit::WebPage::performDefaultBehaviorForKeyEvent):
2428
2429 2013-04-11  Csaba Osztrogonác  <ossy@webkit.org>
2430
2431         Unreviewed Qt buildfixes after r148147, r148148 and r148154.
2432
2433         * DerivedSources.pri:
2434         * Target.pri:
2435
2436 2013-04-10  Zan Dobersek  <zdobersek@igalia.com>
2437
2438         Unreviewed GTK build fix, fixing the WebKit2 build.
2439
2440         * GNUmakefile.list.am:
2441
2442 2013-04-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
2443
2444         [WK2] Build warning in didReceiveMessage() generated by messages.py
2445         https://bugs.webkit.org/show_bug.cgi?id=112513
2446
2447         Reviewed by Anders Carlsson.
2448
2449         Legacy receiver makes -Wunused-parameter build warnings. This patch is to fix them.
2450
2451         * Scripts/webkit2/messages.py:
2452         (generate_message_handler):
2453
2454 2013-04-10  Jaehun Lim  <ljaehun.lim@samsung.com>
2455
2456         [CMAKE] Build fix after StorageArea refactoring
2457         https://bugs.webkit.org/show_bug.cgi?id=114398
2458
2459         Unreviewed build fix.
2460
2461         Change StorageAreaImpl.messages.in with StorageAreaMap.messages.in.
2462         Add StorageAreaMap.cpp in CMakeLists.txt.
2463
2464         * CMakeLists.txt:
2465
2466 2013-04-10  Anders Carlsson  <andersca@apple.com>
2467
2468         Make StorageAreaImpl a wrapper around StorageAreaMap
2469         https://bugs.webkit.org/show_bug.cgi?id=114404
2470
2471         Reviewed by Oliver Hunt.
2472
2473         Prepare for moving all the code that deals with local storage values to StorageAreaMap,
2474         and make StorageAreaImpl a dumb wrapper that simply calls through to the map.
2475
2476         * WebProcess/Storage/StorageAreaImpl.cpp:
2477         (WebKit::StorageAreaImpl::create):
2478         (WebKit::StorageAreaImpl::StorageAreaImpl):
2479         (WebKit::StorageAreaImpl::~StorageAreaImpl):
2480         (WebKit::StorageAreaImpl::storageType):
2481         (WebKit::StorageAreaImpl::length):
2482         (WebKit::StorageAreaImpl::key):
2483         (WebKit::StorageAreaImpl::getItem):
2484         (WebKit::StorageAreaImpl::setItem):
2485         (WebKit::StorageAreaImpl::contains):
2486         * WebProcess/Storage/StorageAreaImpl.h:
2487         (WebKit::StorageAreaImpl::storageAreaID):
2488         * WebProcess/Storage/StorageAreaMap.cpp:
2489         (WebKit::generateStorageMapID):
2490         (WebKit::StorageAreaMap::create):
2491         (WebKit::StorageAreaMap::StorageAreaMap):
2492         (WebKit::StorageAreaMap::storageType):
2493         (WebKit::StorageAreaMap::length):
2494         (WebKit::StorageAreaMap::key):
2495         (WebKit::StorageAreaMap::item):
2496         (WebKit::StorageAreaMap::setItem):
2497         (WebKit::StorageAreaMap::contains):
2498         (WebKit::StorageAreaMap::didSetItem):
2499         (WebKit::StorageAreaMap::dispatchStorageEvent):
2500         * WebProcess/Storage/StorageAreaMap.h:
2501         * WebProcess/Storage/StorageNamespaceImpl.cpp:
2502         (WebKit::StorageNamespaceImpl::storageArea):
2503         * WebProcess/Storage/StorageNamespaceImpl.h:
2504         (StorageNamespaceImpl):
2505
2506 2013-04-10  Anders Carlsson  <andersca@apple.com>
2507
2508         Rename StorageManager messages to refer to the StorageMap instead of the StorageArea
2509         https://bugs.webkit.org/show_bug.cgi?id=114401
2510
2511         Reviewed by Ryosuke Niwa.
2512
2513         * UIProcess/Storage/StorageManager.cpp:
2514         (WebKit::StorageManager::createStorageMap):
2515         (WebKit::StorageManager::destroyStorageMap):
2516         (WebKit::StorageManager::setItem):
2517         * UIProcess/Storage/StorageManager.h:
2518         * UIProcess/Storage/StorageManager.messages.in:
2519         * WebProcess/Storage/StorageAreaImpl.cpp:
2520         (WebKit::StorageAreaImpl::StorageAreaImpl):
2521         (WebKit::StorageAreaImpl::~StorageAreaImpl):
2522
2523 2013-04-10  Benjamin Poulain  <bpoulain@apple.com>
2524
2525         Mass remove all the empty directories
2526
2527         Rubberstamped by Ryosuke Niwa.
2528
2529         * Platform/CoreIPC/gtk: Removed.
2530         * Platform/CoreIPC/qt: Removed.
2531         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32: Removed.
2532         * PluginProcess/EntryPoint/mac/XPCService/PluginService.64: Removed.
2533         * PluginProcess/gtk: Removed.
2534         * Shared/API/c/win: Removed.
2535         * Shared/Plugins/Netscape/win: Removed.
2536         * Shared/cg/win: Removed.
2537         * Shared/win: Removed.
2538         * UIProcess/API/C/win: Removed.
2539         * UIProcess/API/gtk/webkit: Removed.
2540         * UIProcess/Launcher/win: Removed.
2541         * UIProcess/Plugins/gtk: Removed.
2542         * UIProcess/Plugins/win: Removed.
2543         * UIProcess/texmap: Removed.
2544         * UIProcess/win: Removed.
2545         * WebProcess/Authentication/mac: Removed.
2546         * WebProcess/Cookies/efl: Removed.
2547         * WebProcess/Cookies/gtk: Removed.
2548         * WebProcess/Downloads/cf/win: Removed.
2549         * WebProcess/Downloads/cfnet: Removed.
2550         * WebProcess/Downloads/curl: Removed.
2551         * WebProcess/Downloads/efl: Removed.
2552         * WebProcess/Downloads/gtk: Removed.
2553         * WebProcess/Downloads/mac: Removed.
2554         * WebProcess/Downloads/qt: Removed.
2555         * WebProcess/Downloads/soup: Removed.
2556         * WebProcess/FullScreen/gtk: Removed.
2557         * WebProcess/FullScreen/mac: Removed.
2558         * WebProcess/FullScreen/qt: Removed.
2559         * WebProcess/FullScreen/win: Removed.
2560         * WebProcess/InjectedBundle/API/c/win: Removed.
2561         * WebProcess/InjectedBundle/win: Removed.
2562         * WebProcess/KeyValueStorage: Removed.
2563         * WebProcess/Network/CustomProtocols/mac: Removed.
2564         * WebProcess/Plugins/Netscape/gtk: Removed.
2565         * WebProcess/Plugins/Netscape/win: Removed.
2566         * WebProcess/WebCoreSupport/win: Removed.
2567         * WebProcess/WebPage/LayerTreeCoordinator: Removed.
2568         * WebProcess/WebPage/ca/mac: Removed.
2569         * WebProcess/WebPage/ca/win: Removed.
2570         * WebProcess/WebPage/win: Removed.
2571         * WebProcess/win: Removed.
2572         * qt/Resources: Removed.
2573
2574 2013-04-10  Jaehun Lim  <ljaehun.lim@samsung.com>
2575
2576         [CMAKE] Build fix after r148147, r148148
2577         https://bugs.webkit.org/show_bug.cgi?id=114395
2578
2579         Unreviewed build fix.
2580
2581         Use StorageAreaImpl, StorageNamespaceImpl instead of StorageAreaProxy, StorageNamespaceProxy.
2582
2583         * CMakeLists.txt:
2584
2585 2013-04-10  Anders Carlsson  <andersca@apple.com>
2586
2587         Add a stubbed out StorageAreaMap class
2588         https://bugs.webkit.org/show_bug.cgi?id=114392
2589
2590         Reviewed by Andreas Kling.
2591
2592         The intention is that StorageAreaMap is going to take over responsibility for storing the storage values in the
2593         web process, as well as dispatching events. A StorageAreaMap will be shared between multiple StorageAreaImpl objects,
2594         for example if multiple frames with the same origin use local storage.
2595
2596         * DerivedSources.make:
2597         * UIProcess/Storage/StorageManager.cpp:
2598         (WebKit::StorageManager::StorageArea::dispatchEvents):
2599         (WebKit::StorageManager::setItem):
2600         * WebKit2.xcodeproj/project.pbxproj:
2601         * WebProcess/Storage/StorageAreaImpl.cpp:
2602         (WebKit::StorageAreaImpl::StorageAreaImpl):
2603         (WebKit::StorageAreaImpl::~StorageAreaImpl):
2604         * WebProcess/Storage/StorageAreaMap.cpp: Added.
2605         (WebKit):
2606         (WebKit::StorageAreaMap::create):
2607         (WebKit::StorageAreaMap::StorageAreaMap):
2608         (WebKit::StorageAreaMap::~StorageAreaMap):
2609         (WebKit::StorageAreaMap::didSetItem):
2610         (WebKit::StorageAreaMap::dispatchStorageEvent):
2611         * WebProcess/Storage/StorageAreaMap.h: Added.
2612         (WebKit):
2613         (StorageAreaMap):
2614         * WebProcess/Storage/StorageAreaMap.messages.in: Renamed from Source/WebKit2/WebProcess/Storage/StorageAreaImpl.messages.in.
2615
2616 2013-04-10  Anders Carlsson  <andersca@apple.com>
2617
2618         Rename StorageAreaProxy to StorageAreaImpl.
2619
2620         Rubber-stamped by Beth Dakin.
2621
2622         * DerivedSources.make:
2623         * UIProcess/Storage/StorageManager.cpp:
2624         (WebKit::StorageManager::StorageArea::dispatchEvents):
2625         (WebKit::StorageManager::setItem):
2626         * WebKit2.xcodeproj/project.pbxproj:
2627         * WebProcess/Storage/StorageAreaImpl.cpp: Renamed from Source/WebKit2/WebProcess/Storage/StorageAreaProxy.cpp.
2628         * WebProcess/Storage/StorageAreaImpl.h: Renamed from Source/WebKit2/WebProcess/Storage/StorageAreaProxy.h.
2629         * WebProcess/Storage/StorageAreaImpl.messages.in: Renamed from Source/WebKit2/WebProcess/Storage/StorageAreaProxy.messages.in.
2630         * WebProcess/Storage/StorageNamespaceImpl.cpp:
2631         (WebKit::StorageNamespaceImpl::storageArea):
2632         * WebProcess/Storage/StorageNamespaceImpl.h:
2633         (WebKit):
2634         (StorageNamespaceImpl):
2635
2636 2013-04-10  Anders Carlsson  <andersca@apple.com>
2637
2638         Rename StorageNamespaceProxy to StorageNamespaceImpl.
2639
2640         Rubber-stamped by Beth Dakin.
2641
2642         * WebKit2.xcodeproj/project.pbxproj:
2643         * WebProcess/Storage/StorageAreaProxy.cpp:
2644         (WebKit::StorageAreaProxy::create):
2645         (WebKit::StorageAreaProxy::StorageAreaProxy):
2646         * WebProcess/Storage/StorageAreaProxy.h:
2647         (StorageAreaProxy):
2648         * WebProcess/Storage/StorageNamespaceImpl.cpp: Renamed from Source/WebKit2/WebProcess/Storage/StorageNamespaceProxy.cpp.
2649         * WebProcess/Storage/StorageNamespaceImpl.h: Renamed from Source/WebKit2/WebProcess/Storage/StorageNamespaceProxy.h.
2650         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2651         (WebKit::WebPlatformStrategies::sessionStorageNamespace):
2652
2653 2013-04-10  Tim Horton  <timothy_horton@apple.com>
2654
2655         [wk2] Un-pollute TCADA methods with "PageOverlayLayerMap::iterator end"
2656         https://bugs.webkit.org/show_bug.cgi?id=114387
2657
2658         Reviewed by Simon Fraser.
2659
2660         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2661         (WebKit::TiledCoreAnimationDrawingArea::updatePreferences):
2662         (WebKit::TiledCoreAnimationDrawingArea::paintContents):
2663         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
2664         (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
2665         (WebKit::TiledCoreAnimationDrawingArea::mainFrameScrollabilityChanged):
2666         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
2667         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
2668
2669 2013-04-10  Tim Horton  <timothy_horton@apple.com>
2670
2671         [wk2] REGRESSION: Find highlight does not update when the view is resized
2672         https://bugs.webkit.org/show_bug.cgi?id=114382
2673         <rdar://problem/13599797>
2674
2675         Reviewed by Simon Fraser.
2676
2677         Invalidate the page overlays from TiledCoreAnimationDrawingArea::updateGeometry.
2678         This will have no effect if the page overlay hasn't previously asked to be painted
2679         (as drawsContent will remain false on the layer).
2680
2681         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2682         (TiledCoreAnimationDrawingArea): Add invalidateAllPageOverlays.
2683         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2684         (WebKit::TiledCoreAnimationDrawingArea::invalidateAllPageOverlays): Factor this out of didChangeScrollOffsetForAnyFrame.
2685         (WebKit::TiledCoreAnimationDrawingArea::didChangeScrollOffsetForAnyFrame): Call invalidateAllPageOverlays.
2686         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry): Call invalidateAllPageOverlays.
2687
2688 2013-04-10  Beth Dakin  <bdakin@apple.com>
2689
2690         FindBanner matches are offset when the WKView has a header or footer
2691         https://bugs.webkit.org/show_bug.cgi?id=114314
2692         -and corresponding-
2693         <rdar://problem/13522434>
2694
2695         Reviewed by Simon Fraser.
2696
2697         When calculating the matching rects, also adjust to the scroll offset that is  
2698         relative to the Document.
2699         * WebProcess/WebPage/FindController.cpp:
2700         (WebKit::FindController::rectsForTextMatches):
2701
2702 2013-04-10  Tobias Mueller  <tobiasmue@gnome.org>
2703
2704         Fixed build failure in Plugin.h: FloatPoint was not in namespace WebCore
2705
2706         make[1]: *** Waiting for unfinished jobs....
2707         In file included from Source/WebKit2/PluginProcess/PluginCreationParameters.h:31:0,
2708                          from Source/WebKit2/PluginProcess/PluginCreationParameters.cpp:27:
2709         ./Source/WebKit2/WebProcess/Plugins/Plugin.h:268:58: error: 'FloatPoint' in namespace 'WebCore' does not name a type
2710         ./Source/WebKit2/WebProcess/Plugins/Plugin.h:268:77: error: ISO C++ forbids declaration of 'parameter' with no type [-fpermissive]
2711         cc1plus: warning: unrecognized command line option "-Wno-c++11-extensions" [enabled by default]
2712         make[1]: *** [Source/WebKit2/PluginProcess/libwebkit2gtk_3_0_la-PluginCreationParameters.lo] Error 1
2713
2714         It now passes that make target.
2715
2716         https://bugs.webkit.org/show_bug.cgi?id=111862
2717
2718         Reviewed by Darin Adler.
2719
2720         * WebProcess/Plugins/Plugin.h:
2721         (WebCore): Added FloatPoint to the WebCore namespace
2722
2723 2013-04-08  Anders Carlsson  <andersca@apple.com>
2724
2725         Remove unneeded headers from FrameLoader.h
2726         https://bugs.webkit.org/show_bug.cgi?id=114223
2727
2728         Reviewed by Geoffrey Garen.
2729
2730         Include HistoryController.h from WebCore.
2731
2732         * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
2733         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2734         * WebProcess/WebPage/WebPage.cpp:
2735
2736 2013-04-09  Geoffrey Garen  <ggaren@apple.com>
2737
2738         Removed bitrotted TimeoutChecker code
2739         https://bugs.webkit.org/show_bug.cgi?id=114336
2740
2741         Reviewed by Alexey Proskuryakov.
2742
2743         This mechanism hasn't worked for a while.
2744
2745         MarkL is working on a new version of this feature with a distinct
2746         implementation.
2747
2748         * WebProcess/Plugins/Netscape/NPJSObject.cpp:
2749         (WebKit::NPJSObject::construct):
2750         (WebKit::NPJSObject::invoke):
2751         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.cpp:
2752         (WebKit::NPRuntimeObjectMap::evaluate):
2753
2754 2013-04-09  Mark Rowe  <mrowe@apple.com>
2755
2756         <rdar://problem/13617144> WKNavigationData needs to expose the destination of the navigation
2757
2758         Introduce WKNavigationDataCopyNavigationDestinationURL to access the destination of the navigation.
2759
2760         Reviewed by Dan Bernstein.
2761
2762         * UIProcess/API/C/WKNavigationData.cpp:
2763         (WKNavigationDataCopyURL): Add a note about returning the URL from the original request for sake of
2764         backwards-compatibility.
2765         (WKNavigationDataCopyNavigationDestinationURL): Return the URL from our underlying WebNavigationDataStore.
2766         * UIProcess/API/C/WKNavigationData.h:
2767         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2768         (WebKit::WebFrameLoaderClient::updateGlobalHistory): Store the current URL in to the WebNavigationDataStore
2769         object. WKNavigationData can retrieve the value that we were previously storing here via the originalRequest.
2770
2771 2013-04-09  Mark Rowe  <mrowe@apple.com>
2772
2773         <rdar://problem/13617104> WKPageCopySessionState needs to provide more context to the filter callback
2774
2775         Introduce a new value type for WKPageSessionStateFilterCallback that represents the passing
2776         of whole WKBackForwardListItemRefs to the filter callback. This allows clients to consider
2777         more than the original URL of the item when filtering entries from the session state.
2778
2779         Reviewed by Darin Adler.
2780
2781         * UIProcess/API/C/WKPage.cpp:
2782         (WKPageGetSessionBackForwardListItemValueType): Return a static string representing our new value type.
2783         * UIProcess/API/C/WKPage.h:
2784         * UIProcess/cf/WebBackForwardListCF.cpp:
2785         (WebKit::WebBackForwardList::createCFDictionaryRepresentation): Call the filter function with each of the
2786         possible value types in turn, respecting the first false value, if any, that is returned.
2787
2788 2013-04-10  Anton Obzhirov  <a.obzhirov@samsung.com>
2789
2790         [GTK] Add support for Page Visibility
2791         https://bugs.webkit.org/show_bug.cgi?id=97324
2792
2793         Reviewed by Sam Weinig.
2794
2795         Added new unittest to test page visibility using GTK Widget visibility API.
2796
2797         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2798         (testWebViewPageVisibility):
2799         (beforeAll):
2800         * UIProcess/API/gtk/tests/WebViewTest.cpp:
2801         (WebViewTest::showInWindow):
2802         * UIProcess/API/gtk/tests/WebViewTest.h:
2803
2804 2013-04-10  Zan Dobersek  <zdobersek@igalia.com>
2805
2806         REGRESSION (r146518): WebKit2APITests/TestInspector is failing
2807         https://bugs.webkit.org/show_bug.cgi?id=113281
2808
2809         Reviewed by Darin Adler.
2810
2811         Changes to the WebInspectorProxy opening processing in r146518 caused the change in how the GTK-specific
2812         WebInspectorProxy code operates, specifically the 'bring-to-front' signal is not emitted anymore when opening the
2813         inspector due to the WebInspectorProxy::bringToFront method now only bringing the inspector window to front if it exists
2814         and opening it (and thus unable to bring it to front) otherwise.
2815
2816         Closing of the inspector through the didClose method is now done immediately after sending the WebInspector::Close()
2817         message to the WebProcess rather than waiting for the WebProcess to communicate back the order of closing. Due to this
2818         the relevant code in the test cases had to be changed to not run the loop but rather just check that the closing was
2819         successful.
2820
2821         (InspectorTest::InspectorTest): Remove the initialization of the now redundant m_quitOnBringToFront member variable.
2822         (InspectorTest::bringToFront): Quit the loop without checking the removed member variable.
2823         (InspectorTest::closed): Do not quit the loop as it is not run anymore.
2824         (InspectorTest::showIdle): A helper method that asynchronously calls the webkit_web_inspector_show method, removing some
2825         unnecessary complexity about under what exact circumstances to quit the loop in open-window/bring-to-front callbacks.
2826         (InspectorTest::show): Replaces the showAndWaitUntilFinished method, adding an idle invocation of the showIdle helper
2827         method and running the loop.
2828         (InspectorTest::close): Formerly closeAndWaitUntilClosed, now does not run the loop anymore as there's no need for it.
2829         (testInspectorDefault): Only the window opening event is now expected upon showing the inspector for the first time.
2830         Adjusting callsites to use InspectorTest::show and InspectorTest::close instead of
2831         InspectorTest::showAndWaitUntilFinished and InspectorTest::showAndWaitUntilFinished.
2832         (CustomInspectorTest::destroyWindow): Formerly destroyWindowAndWaitUntilClosed, the closing is not asynchronous anymore
2833         so the loop is not run.
2834         (testInspectorManualAttachDetach): Only the window opening event is now expected upon showing the inspector for the first time.
2835         Adjusting callsites to use InspectorTest::show and InspectorTest::close instead of
2836         InspectorTest::showAndWaitUntilFinished and InspectorTest::showAndWaitUntilFinished.
2837         (testInspectorCustomContainerDestroyed): Adjusting callsites to use InspectorTest::show and CustomInspectorTest::destroyWindow
2838         instead of InspectorTest::showAndWaitUntilFinished and CustomInspectorTest::destroyWindowAndWaitUntilClosed.
2839         * UIProcess/WebInspectorProxy.cpp:
2840         (WebKit::WebInspectorProxy::show): When showing a connected WebInspectorProxy, call the bringToFront method which will
2841         open the inspector if it's not yet visible or bring it to the front otherwise. 
2842
2843 2013-04-10  Zan Dobersek  <zandobersek@gmail.com>
2844
2845         [GTK][WK2] Implement WebInspectorProxy::platformInspectedWindowWidth
2846         https://bugs.webkit.org/show_bug.cgi?id=113498
2847
2848         Reviewed by Martin Robinson.
2849
2850         The method was introduced in r147004.
2851
2852         * UIProcess/API/gtk/tests/TestInspector.cpp: Specify the gMinimumAttachedInspectorWidth variable, reflecting the value
2853         of WebInspectorProxy::minimumAttachedWidth. Use it as the width to which the inspected view should be resized in
2854         InspectorTest::resizeViewAndAttach.
2855         * UIProcess/gtk/WebInspectorProxyGtk.cpp:
2856         (WebKit::WebInspectorProxy::platformInspectedWindowHeight): Use the gtk_widget_get_allocated_height method to return the
2857         widget height.
2858         (WebKit::WebInspectorProxy::platformInspectedWindowWidth): Newly implemented, similarly uses the
2859         gtk_widget_get_allocated_width method to return the widget width.
2860
2861 2013-04-09  Antoine Quint  <graouts@apple.com>
2862
2863         WKFrameIsDisplayingMarkupDocument should return true for Web Archives
2864         https://bugs.webkit.org/show_bug.cgi?id=114291
2865
2866         Reviewed by Dean Jackson.
2867
2868         Also return true for the Web Archive MIME type since a Web Archive
2869         is displaying a markup document by nature.
2870
2871         * UIProcess/WebFrameProxy.cpp:
2872         (WebKit::WebFrameProxy::isDisplayingMarkupDocument):
2873
2874 2013-04-09  Anders Carlsson  <andersca@apple.com>
2875
2876         REGRESSION (r147454): Youtube annotation links to new window broken
2877         https://bugs.webkit.org/show_bug.cgi?id=114242
2878         <rdar://problem/13609940>
2879
2880         Reviewed by Beth Dakin.
2881
2882         Set the current user gesture to "DefinitelyProcessingNewUserGesture" if popups are allowed.
2883
2884         * WebProcess/Plugins/PluginView.cpp:
2885         (WebKit::PluginView::performFrameLoadURLRequest):
2886
2887 2013-04-09  Anders Carlsson  <andersca@apple.com>
2888
2889         If we fail to decode a message name, pass the message length as the name
2890         https://bugs.webkit.org/show_bug.cgi?id=114305
2891         <rdar://problem/13605703>
2892
2893         Reviewed by Sam Weinig.
2894
2895         * Platform/CoreIPC/ArgumentDecoder.h:
2896         (CoreIPC::ArgumentDecoder::length):
2897         * Platform/CoreIPC/Connection.cpp:
2898         (CoreIPC::Connection::processIncomingMessage):
2899
2900 2013-04-08  Dean Jackson  <dino@apple.com>
2901
2902         Don't create another plugin process for restarted plugins
2903         https://bugs.webkit.org/show_bug.cgi?id=114233
2904
2905         Reviewed by Geoff Garen.
2906
2907         A snapshotting plugin starts in a separate process from
2908         regular plugins. This can be a little confusing to users
2909         because they might see two plugin processes. We can set
2910         the minimum life and timeout on the snapshotting process
2911         to much smaller values, since the process doesn't need
2912         to live that long. This will reduce some potential
2913         confusion. Also, since there is another plugin process
2914         running real plugins, it should be paged in if it needs
2915         to restart.
2916
2917         There was, however, a bug in the process management. A
2918         restarted plugin received a special PluginProcess::Type,
2919         so that it could cross fade into the page nicely. This
2920         caused it to start a *third* plugin process. Instead
2921         mark a restarted flag directly on the PluginProxy and
2922         revert back to two process types.
2923
2924         * PluginProcess/PluginProcess.h: Remove TypeRestartedProcess.
2925
2926         * UIProcess/Plugins/PluginProcessProxy.cpp: Add two new
2927             timeout values for snapshotting processes.
2928         (WebKit::PluginProcessProxy::didFinishLaunching): Chose which
2929             of the timeout pairs to use.
2930
2931         * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
2932         (WebKit::PluginProxy::pluginLayer): Don't look at the process type, instead
2933             look at the process flag to see if we are restarted.
2934         * WebProcess/Plugins/PluginProxy.cpp:
2935         (WebKit::PluginProxy::create): Copy the new flag into constructor.
2936         (WebKit::PluginProxy::PluginProxy): Remember the flag.
2937         * WebProcess/Plugins/PluginProxy.h: Add a new m_restartedProcess flag.
2938
2939         * WebProcess/WebPage/WebPage.cpp:
2940         (WebKit::WebPage::createPlugin): When we are creating the proxy, separate
2941             the concept of snapshotting and restarting.
2942
2943 2013-04-09  Tim Horton  <timothy_horton@apple.com>
2944
2945         [wk2] IconDatabase images should be decoded in the WebProcess
2946         https://bugs.webkit.org/show_bug.cgi?id=112524
2947         <rdar://problem/10133914>
2948
2949         Reviewed by Oliver Hunt.
2950
2951         In the interests of keeping decoding of data coming in from the greater Internet
2952         in the WebProcess, move decoding of favicons from the UIProcess to the WebProcess.
2953
2954         * UIProcess/WebIconDatabase.cpp:
2955         (WebKit::WebIconDatabase::setIconBitmapForIconURL):
2956         Receive a ShareableBitmap handle from the WebProcess instead of a DataReference.
2957         Use the new setIconBitmapForIconURL IconDatabase method.
2958
2959         * UIProcess/WebIconDatabase.h:
2960         (WebIconDatabase):
2961         Rename setIconDataForIconURL to setIconBitmapForIconURL.
2962
2963         * UIProcess/WebIconDatabase.messages.in: Ditto.
2964
2965         * WebProcess/IconDatabase/WebIconDatabaseProxy.cpp:
2966         (WebKit::WebIconDatabaseProxy::setIconDataForIconURL):
2967         In the WebProcess, decode the incoming icon and draw it into a ShareableBitmap.
2968
2969 2013-04-09  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
2970
2971         [EFL] Declare TEST_THEME_DIR in a single place.
2972         https://bugs.webkit.org/show_bug.cgi?id=114285
2973
2974         Reviewed by Anders Carlsson.
2975
2976         * PlatformEfl.cmake: Remove definition of `TEST_THEME_DIR', which is
2977         now defined in OptionsEfl.cmake.
2978
2979 2013-04-09  Rafael Brandao  <rafael.lobo@openbossa.org>
2980
2981         [CoordinatedGraphics] serviceScriptedAnimations expects time in seconds
2982         https://bugs.webkit.org/show_bug.cgi?id=112582
2983
2984         Reviewed by Andreas Kling.
2985
2986         We've been exposing different time unit for requestAnimationFrame because
2987         of wrong conversion before serviceScriptedAnimations function calls.
2988         Fixed it to use seconds instead of milliseconds.
2989
2990         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2991         (WebKit::CoordinatedLayerTreeHost::syncDisplayState): Remove unnecessary conversion.
2992
2993 2013-04-09  Michael Brüning  <michael.bruning@digia.com>
2994
2995         [Qt][WK2] Remove obsolete QtWebPageFindClient forward declaration from qquickwebview_p.h.
2996         https://bugs.webkit.org/show_bug.cgi?id=114284
2997
2998         Reviewed by Andreas Kling.
2999
3000         The class QtWebPageFindClient was removed in r142073 when the functionality
3001         was folded into QQuickWebViewPrivate.
3002
3003         * UIProcess/API/qt/qquickwebview_p.h:
3004         (WebKit):
3005
3006 2013-04-09  Michael Brüning  <michael.bruning@digia.com>
3007
3008         Fix GTK WebKit2 build after r148005.
3009         https://bugs.webkit.org/show_bug.cgi?id=114270
3010
3011         Reviewed by Andreas Kling.
3012
3013         Fix GTK build break that went through the buildbot undetected.
3014
3015         * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
3016         (webkit_file_chooser_request_get_selected_files):
3017
3018 2013-04-09  Michael Brüning  <michael.bruning@digia.com>
3019
3020         [Qt][WK2] Remove direct references to WebPageProxy from QQuickWebPage.
3021         https://bugs.webkit.org/show_bug.cgi?id=112850
3022
3023         Reviewed by Andreas Kling.
3024
3025         Removes direct references to WebPageProxy from QQuickWebPage and prepares the
3026         class for the move to QRawWebView. The access to the device scale factor and
3027         CoordinatedGraphicsScene is provided through QQuickWebViewPrivate, and therefore
3028         accessors to these properties are temporarily added. Eventually, this access will
3029         be provided through QRawWebView when the move is complete.
3030
3031         This also moves the pointer to QtWebPageEventHandler from QQuickWebPagePrivate
3032         to QQuickWebViewPrivate as it is mainly used from there.
3033
3034         * UIProcess/API/qt/qquickwebpage.cpp:
3035         (QQuickWebPagePrivate::QQuickWebPagePrivate):
3036         (QQuickWebPagePrivate::paint):
3037         (QQuickWebPage::updatePaintNode):
3038         * UIProcess/API/qt/qquickwebpage_p.h:
3039         * UIProcess/API/qt/qquickwebpage_p_p.h:
3040         (QQuickWebPagePrivate):
3041         * UIProcess/API/qt/qquickwebview.cpp:
3042         (QQuickWebViewPrivate::initialize):
3043         (QQuickWebViewPrivate::handleMouseEvent):
3044         (QQuickWebViewPrivate::processDidCrash):
3045         (QQuickWebViewPrivate::coordinatedGraphicsScene):
3046         (QQuickWebViewPrivate::deviceScaleFactor):
3047         (QQuickWebViewPrivate::setIntrinsicDeviceScaleFactor):
3048         (QQuickWebViewFlickablePrivate::onComponentComplete):
3049         (QQuickWebView::keyPressEvent):
3050         (QQuickWebView::keyReleaseEvent):
3051         (QQuickWebView::inputMethodEvent):
3052         (QQuickWebView::focusInEvent):
3053         (QQuickWebView::itemChange):
3054         (QQuickWebView::touchEvent):
3055         (QQuickWebView::wheelEvent):
3056         (QQuickWebView::hoverEnterEvent):
3057         (QQuickWebView::hoverMoveEvent):
3058         (QQuickWebView::hoverLeaveEvent):
3059         (QQuickWebView::dragMoveEvent):
3060         (QQuickWebView::dragEnterEvent):
3061         (QQuickWebView::dragLeaveEvent):
3062         (QQuickWebView::dropEvent):
3063         * UIProcess/API/qt/qquickwebview_p_p.h:
3064         (WebCore):
3065         (WebKit):
3066         (QQuickWebViewPrivate):
3067
3068 2013-04-09  Michael Brüning  <michael.bruning@digia.com>
3069
3070         [Qt][WK2] Use C API to enable Navigator Qt Object.
3071         https://bugs.webkit.org/show_bug.cgi?id=112810
3072
3073         Reviewed by Andreas Kling.
3074
3075         Replace the direct reference to the WebPageProxy with use of
3076         C API.
3077
3078         * UIProcess/API/qt/qquickwebview.cpp:
3079         (QQuickWebViewPrivate::setNavigatorQtObjectEnabled):
3080
3081 2013-04-09  Michael Brüning  <michael.bruning@digia.com>
3082
3083         [WK2] Add C API to copy selected files from WebOpenPanelParameters.
3084         https://bugs.webkit.org/show_bug.cgi?id=112339
3085
3086         Reviewed by Andreas Kling.
3087
3088         Replaces the existing WebOpenPanelParameters::selectedFileNames() method
3089         to return a copy of the selected file names and exposes it through the
3090         C API. This is done in order to reduce the direct use of WebKit2 internal
3091         classes. The implementation is very similar to the one in 
3092         WebOpenPanelParameters::acceptMIMETypes().
3093
3094         This also updates the GTK port, which is the other user of selectedFileNames.
3095
3096         * Shared/WebOpenPanelParameters.cpp:
3097         (WebKit::WebOpenPanelParameters::selectedFileNames):
3098         (WebKit):
3099         * Shared/WebOpenPanelParameters.h:
3100         (WebOpenPanelParameters):
3101         * UIProcess/API/C/WKOpenPanelParameters.cpp:
3102         (WKOpenPanelParametersCopySelectedFileNames):
3103         * UIProcess/API/C/WKOpenPanelParameters.h:
3104         * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
3105         (webkit_file_chooser_request_get_selected_files):
3106         * UIProcess/qt/QtWebPageUIClient.cpp:
3107         (WebKit::QtWebPageUIClient::runOpenPanel):
3108
3109 2013-04-09  Jinwoo Song  <jinwoo7.song@samsung.com>
3110
3111         [WK2] Remove build warnings for unused parameters
3112         https://bugs.webkit.org/show_bug.cgi?id=114234
3113
3114         Reviewed by Andreas Kling.
3115
3116         Fix build warnings -Wunused-parameter.
3117
3118         * UIProcess/Storage/StorageManager.cpp:
3119         (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
3120         * UIProcess/WebContext.cpp:
3121         (WebKit::WebContext::requestNetworkingStatistics):
3122         (WebKit::WebContext::pluginInfoStoreDidLoadPlugins):
3123         * WebProcess/Storage/StorageAreaProxy.cpp:
3124         (WebKit::StorageAreaProxy::removeItem):
3125         (WebKit::StorageAreaProxy::clear):
3126         (WebKit::StorageAreaProxy::dispatchSessionStorageEvent):
3127         (WebKit::StorageAreaProxy::dispatchLocalStorageEvent):
3128         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
3129         (WebKit::CoordinatedLayerTreeHost::didUninstallPageOverlay):
3130         * WebProcess/WebPage/WebPage.cpp:
3131         (WebKit::WebPage::didFinishLoad):
3132         * WebProcess/WebProcess.cpp:
3133         (WebKit::WebProcess::shouldPlugInAutoStartFromOrigin):
3134
3135 2013-04-09  Thiago Marcos P. Santos  <thiago.santos@intel.com>
3136
3137         [WK2] Drop WebProcess capabilities on Linux using seccomp filters
3138         https://bugs.webkit.org/show_bug.cgi?id=89875
3139
3140         Reviewed by Maciej Stachowiak.
3141
3142         Introduce the foundations of the SeccompFilter-based sandbox. The
3143         hardening of the WebProcess (and potentially PluginProcess, etc)
3144         works by a combination of the two things:
3145
3146         - Blocking syscalls that are not used, reducing the size of the attack
3147         surface.
3148         - Trapping sensitive syscalls and delegating the execution of these
3149         syscalls to a separated trusted process subject to a set of policies.
3150
3151         The initial implementation traps the open()-family of syscalls on WebKit
3152         EFL's and Qt's WebProcess, but it could be easily used by any Linux port,
3153         since the code is suppose to be Linux-compliant. The list of syscalls handled
3154         by the broker process should definitely grow as we mature the
3155         implementation. Other syscalls needs to be handled to get this sandbox
3156         fully functional, like unlink(), mkdir(), etc.
3157
3158         The broker process should be initialized as early as possible on the
3159         sandboxed process main() function, because it only does a fork(), which
3160         is cheap on Linux. That also aims to minimize the resident memory footprint
3161         of the broker process.
3162
3163         Opening of files for upload and saving downloads is not supported yet,
3164         since it should be handled to the UIProcess in a similar fashion as
3165         the Mac port does.
3166
3167         * PlatformEfl.cmake:
3168         * Shared/linux/SeccompFilters/OpenSyscall.cpp: Added.
3169         (WebKit):
3170         (WebKit::OpenSyscall::createFromOpenatContext):
3171         (WebKit::OpenSyscall::createFromCreatContext):
3172         (WebKit::OpenSyscall::OpenSyscall):
3173         (WebKit::OpenSyscall::setResult):
3174         (WebKit::OpenSyscall::execute):
3175         (WebKit::OpenSyscall::encode):
3176         (WebKit::OpenSyscall::decode):
3177         (WebKit::OpenSyscallResult::OpenSyscallResult):
3178         (WebKit::OpenSyscallResult::~OpenSyscallResult):
3179         (WebKit::OpenSyscallResult::encode):
3180         (WebKit::OpenSyscallResult::decode):
3181         * Shared/linux/SeccompFilters/OpenSyscall.h: Added.
3182         (CoreIPC):
3183         (WebKit):
3184         (OpenSyscall):
3185         (WebKit::OpenSyscall::setPath):
3186         (WebKit::OpenSyscall::setFlags):
3187         (WebKit::OpenSyscall::setMode):
3188         (OpenSyscallResult):
3189         (WebKit::OpenSyscallResult::fd):
3190         (WebKit::OpenSyscallResult::errorNumber):
3191         * Shared/linux/SeccompFilters/SeccompBroker.cpp: Added.
3192         (WebKit):
3193         (SeccompBrokerClient):
3194         (WebKit::sendMessage):
3195         (WebKit::receiveMessage):
3196         (WebKit::SIGSYSHandler):
3197         (WebKit::registerSIGSYSHandler):
3198         (WebKit::SeccompBrokerClient::shared):
3199         (WebKit::SeccompBrokerClient::SeccompBrokerClient):
3200         (WebKit::SeccompBrokerClient::~SeccompBrokerClient):
3201         (WebKit::SeccompBrokerClient::dispatch):
3202         (WebKit::SeccompBrokerClient::handleIfOpeningOnlineCPUCount):
3203         (WebKit::SeccompBroker::launchProcess):
3204         (WebKit::SeccompBroker::initialize):
3205         (WebKit::SeccompBroker::runLoop):
3206         * Shared/linux/SeccompFilters/SeccompBroker.h: Added.
3207         (WebKit):
3208         (SeccompBroker):
3209         (WebKit::SeccompBroker::setSyscallPolicy):
3210         (WebKit::SeccompBroker::SeccompBroker):
3211         * Shared/linux/SeccompFilters/SeccompFilters.cpp: Added.
3212         (WebKit):
3213         (WebKit::SeccompFilters::SeccompFilters):
3214         (WebKit::SeccompFilters::~SeccompFilters):
3215         (WebKit::SeccompFilters::addRule):
3216         (WebKit::SeccompFilters::initialize):
3217         * Shared/linux/SeccompFilters/SeccompFilters.h: Added.
3218         (WebKit):
3219         (SeccompFilters):
3220         (WebKit::SeccompFilters::context):
3221         (WebKit::SeccompFilters::platformInitialize):
3222         * Shared/linux/SeccompFilters/SigactionSyscall.cpp: Added.
3223         (WebKit):
3224         (WebKit::SigactionSyscall::createFromContext):
3225         * Shared/linux/SeccompFilters/SigactionSyscall.h: Added.
3226         (WebKit):
3227         (SigactionSyscall):
3228         * Shared/linux/SeccompFilters/SigprocmaskSyscall.cpp: Added.
3229         (WebKit):
3230         (WebKit::SigprocmaskSyscall::createFromContext):
3231         * Shared/linux/SeccompFilters/SigprocmaskSyscall.h: Added.
3232         (WebKit):
3233         (SigprocmaskSyscall):
3234         * Shared/linux/SeccompFilters/Syscall.cpp: Added.
3235         (WebKit):
3236         (WebKit::Syscall::createFromContext):
3237         (WebKit::Syscall::createFromDecoder):
3238         (WebKit::Syscall::Syscall):
3239         (WebKit::SyscallResult::createFromDecoder):
3240         (WebKit::SyscallResult::SyscallResult):
3241         * Shared/linux/SeccompFilters/Syscall.h: Added.
3242         (CoreIPC):
3243         (WebKit):
3244         (Syscall):
3245         (WebKit::Syscall::~Syscall):
3246         (WebKit::Syscall::type):
3247         (WebKit::Syscall::setContext):
3248         (WebKit::Syscall::context):
3249         (SyscallResult):
3250         (WebKit::SyscallResult::~SyscallResult):
3251         (WebKit::SyscallResult::type):
3252         * Shared/linux/SeccompFilters/SyscallPolicy.cpp: Added.
3253         (WebKit):
3254         (WebKit::removeTrailingSlash):
3255         (WebKit::SyscallPolicy::hasPermissionForPath):
3256         (WebKit::SyscallPolicy::addFilePermission):
3257         (WebKit::SyscallPolicy::addDirectoryPermission):
3258         (WebKit::SyscallPolicy::addDefaultWebProcessPolicy):
3259         * Shared/linux/SeccompFilters/SyscallPolicy.h: Added.
3260         (WebKit):
3261         (SyscallPolicy):
3262         * Target.pri:
3263         * WebKit2.pri:
3264         * WebProcess/efl/SeccompFiltersWebProcessEfl.cpp: Added.
3265         (WebKit):
3266         (WebKit::SeccompFiltersWebProcessEfl::SeccompFiltersWebProcessEfl):
3267         (WebKit::SeccompFiltersWebProcessEfl::platformInitialize):
3268         * WebProcess/efl/SeccompFiltersWebProcessEfl.h: Added.
3269         (WebKit):
3270         (SeccompFiltersWebProcessEfl):
3271         * WebProcess/qt/SeccompFiltersWebProcessQt.cpp: Added.
3272         (WebKit):
3273         (WebKit::SeccompFiltersWebProcessQt::SeccompFiltersWebProcessQt):
3274         (WebKit::SeccompFiltersWebProcessQt::platformInitialize):
3275         * WebProcess/qt/SeccompFiltersWebProcessQt.h: Added.
3276         (WebKit):
3277         (SeccompFiltersWebProcessQt):
3278         * WebProcess/qt/WebProcessQt.cpp:
3279         (WebKit::WebProcess::platformInitializeWebProcess):
3280         * WebProcess/soup/WebProcessSoup.cpp:
3281         (WebKit::WebProcess::platformInitializeWebProcess):
3282
3283 2013-04-08  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
3284
3285         [WK2][EFL] Mark not implemented methods in TextCheckerEfl.
3286         https://bugs.webkit.org/show_bug.cgi?id=112261
3287
3288         Reviewed by Anders Carlsson.
3289
3290         There's no need to call client's methods in TextCheckerEfl.cpp if they are not
3291         implemented. Mark them as not implemented until we provide proper implementation.
3292
3293         * UIProcess/efl/TextCheckerEfl.cpp:
3294         (WebKit::TextChecker::isContinuousSpellCheckingAllowed):
3295         (WebKit::TextChecker::setGrammarCheckingEnabled):
3296         (WebKit::TextChecker::grammarCheckingEnabledStateChanged):
3297         (WebKit::TextChecker::checkGrammarOfString):
3298         (WebKit::TextChecker::spellingUIIsShowing):
3299         (WebKit::TextChecker::toggleSpellingUIIsShowing):
3300         (WebKit::TextChecker::updateSpellingUIWithMisspelledWord):
3301         (WebKit::TextChecker::updateSpellingUIWithGrammarString):
3302
3303 2013-04-08  Benjamin Poulain  <benjamin@webkit.org>
3304
3305         Remove HTML Notification
3306         https://bugs.webkit.org/show_bug.cgi?id=114231
3307
3308         Reviewed by Ryosuke Niwa.
3309
3310         * Configurations/FeatureDefines.xcconfig:
3311
3312 2013-04-08  Tim Horton  <timothy_horton@apple.com>
3313
3314         Don't run primary plugin detection if plugin snapshotting is off
3315         https://bugs.webkit.org/show_bug.cgi?id=114222
3316         <rdar://problem/13603988>
3317
3318         Reviewed by Dean Jackson.
3319
3320         * WebProcess/WebPage/WebPage.cpp:
3321         (WebKit::WebPage::determinePrimarySnapshottedPlugIn):
3322
3323 2013-04-08  Patrick Gansterer  <paroga@webkit.org>
3324
3325         [WIN] Remove WebKit2 source code
3326         https://bugs.webkit.org/show_bug.cgi?id=114096
3327
3328         Reviewed by Anders Carlsson.
3329
3330         Remove conditional includes for the windows platform.
3331
3332         * Shared/API/c/WKBase.h:
3333         * UIProcess/API/C/WKAPICast.h:
3334
3335 2013-04-08  Geoffrey Garen  <ggaren@apple.com>
3336
3337         Stop #include-ing all of JavaScriptCore in every DOM-related file
3338         https://bugs.webkit.org/show_bug.cgi?id=114220
3339
3340         Reviewed by Sam Weinig.
3341
3342         * Shared/WebCoreArgumentCoders.cpp:
3343         * WebProcess/Plugins/Netscape/NPRuntimeObjectMap.h:
3344
3345 2013-04-08  Brady Eidson  <beidson@apple.com>
3346
3347         Web/Plugin process deadlock initializing async plugins.
3348         <rdar://problem/13525232> and https://bugs.webkit.org/show_bug.cgi?id=114217
3349
3350         Reviewed by Anders Carlsson.
3351
3352        The "Async initialization complete" messages probably don't have to be synchronous.
3353
3354         * PluginProcess/WebProcessConnection.cpp:
3355         (WebKit::WebProcessConnection::createPluginAsynchronously): Notify of initialization success/failure asynchronously.
3356         * WebProcess/Plugins/PluginProxy.messages.in: 
3357
3358 2013-04-08  Anders Carlsson  <andersca@apple.com>
3359
3360         Add an async version of ResourceHandle::didReceiveResponse
3361         https://bugs.webkit.org/show_bug.cgi?id=114215
3362
3363         Reviewed by Sam Weinig.
3364
3365         * NetworkProcess/NetworkResourceLoader.cpp:
3366         (WebKit::NetworkResourceLoader::didReceiveResponseAsync):
3367         Send the message and then call continueDidReceiveResponse.
3368
3369 2013-04-08  Carlos Garcia Campos  <cgarcia@igalia.com>
3370
3371         [GTK] Build Platform as a separate static library
3372         https://bugs.webkit.org/show_bug.cgi?id=114164
3373
3374         Reviewed by Martin Robinson.
3375
3376         This way we reduce a bit the amount of files compiled twice
3377         because of the plugin process.
3378
3379         * GNUmakefile.am:
3380         * GNUmakefile.list.am:
3381         * Platform/gtk/WorkQueueGtk.cpp: Remove unused header.
3382         * Platform/unix/SharedMemoryUnix.cpp: Ditto.
3383
3384 2013-04-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3385
3386         [WK2][EFL] WebView: Add callbacks to the WKViewClient to remove direct access to page viewport controller
3387         https://bugs.webkit.org/show_bug.cgi?id=110741
3388
3389         Reviewed by Anders Carlsson.
3390
3391         Provided WKViewClient with didRequestScroll, didRenderFrame and didCompletePageTransition
3392         callbacks so that direct access from WebView to page viewport controller is avoided.
3393
3394         Implementation of callbacks is also added to keep the current EFL WK2 functionality.
3395
3396         * UIProcess/API/C/efl/WKView.h:
3397         * UIProcess/efl/PageLoadClientEfl.cpp:
3398         (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
3399
3400             Moved here code from deleted WebView::didCommitLoad.
3401
3402         * UIProcess/efl/ViewClientEfl.cpp:
3403         (WebKit::ViewClientEfl::didChangeContentsPosition):
3404         (WebKit):
3405         (WebKit::ViewClientEfl::didRenderFrame):
3406         (WebKit::ViewClientEfl::didCompletePageTransition):
3407         (WebKit::ViewClientEfl::ViewClientEfl):
3408         * UIProcess/efl/ViewClientEfl.h:
3409         (ViewClientEfl):
3410         * UIProcess/efl/WebView.cpp:
3411         (WebKit::WebView::pageDidRequestScroll):
3412         (WebKit::WebView::didRenderFrame):
3413         (WebKit::WebView::pageTransitionViewportReady):
3414         * UIProcess/efl/WebViewClient.cpp:
3415         (WebKit::WebViewClient::didChangeContentsPosition):
3416         (WebKit):
3417         (WebKit::WebViewClient::didRenderFrame):
3418         (WebKit::WebViewClient::didCompletePageTransition):
3419         * UIProcess/efl/WebViewClient.h:
3420         (WebCore):
3421
3422 2013-04-08  Andras Becsi  <andras.becsi@digia.com>
3423
3424         [Qt][WK2] WebView's interactive property is not fully respected
3425         https://bugs.webkit.org/show_bug.cgi?id=113066
3426
3427         Reviewed by Jocelyn Turcotte.
3428
3429         WK2 sign-off by Benjamin Poulain.
3430
3431         The QML WebView inherits the "interactive" property from Flickable
3432         which is true by default, and disables the interaction with the
3433         Flickable if set to false.
3434         Resulting from the design of the WebView panning and flicking is
3435         disabled by Flickable but to be consistent we also need to disable
3436         double-tap gestures and pinch gestures since they would trigger
3437         scale and position changes.
3438
3439         * UIProcess/qt/PageViewportControllerClientQt.cpp:
3440         (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
3441         (WebKit::PageViewportControllerClientQt::pinchGestureRequestUpdate):
3442         (WebKit::PageViewportControllerClientQt::pinchGestureEnded):
3443         * UIProcess/qt/QtWebPageEventHandler.cpp:
3444         (WebKit::QtWebPageEventHandler::handleDoubleTapEvent):
3445
3446 2013-04-07  David Kilzer  <ddkilzer@apple.com>
3447
3448         Remove the rest of SVG_DOM_OBJC_BINDINGS
3449         <http://webkit.org/b/114112>
3450
3451         Reviewed by Geoffrey Garen.
3452
3453         * Configurations/FeatureDefines.xcconfig:
3454         - Remove ENABLE_SVG_DOM_OBJC_BINDINGS macro.
3455
3456 2013-04-06  Geoffrey Garen  <ggaren@apple.com>
3457
3458         Try to fix the WebKit2 build.
3459
3460         * NetworkProcess/NetworkResourceLoader.cpp:
3461         (WebKit):
3462         * NetworkProcess/NetworkResourceLoader.h:
3463         (NetworkResourceLoader): Removed a defunct function.
3464
3465 2013-04-05  Ed Bartosh  <bartosh@gmail.com>
3466
3467         [WK2] --no-tiled-backing-store build fails because FloatPoint is not declared
3468         https://bugs.webkit.org/show_bug.cgi?id=113618
3469
3470         Reviewed by Simon Fraser.
3471
3472         * WebProcess/Plugins/Plugin.h: Forward declared FloatPoint
3473
3474 2013-04-05  Geoffrey Garen  <ggaren@apple.com>
3475
3476         Made USE(JSC) unconditional
3477         https://bugs.webkit.org/show_bug.cgi?id=114058
3478
3479         Reviewed by Anders Carlsson.
3480
3481         * Shared/linux/WebMemorySamplerLinux.cpp:
3482         (WebKit::WebMemorySampler::sampleWebKit):
3483         * config.h:
3484
3485 2013-04-05  Ed Bartosh  <bartosh@gmail.com>
3486
3487         [EFL] --no-tiled-backing-store build fails because of not used #if USE(ACCELERATED_COMPOSITING)
3488         https://bugs.webkit.org/show_bug.cgi?id=113627
3489
3490         Reviewed by Simon Fraser.
3491
3492         Wrapped code with #if USE(ACCELERATED_COMPOSITING) to make it compilable
3493         with --no-tiled-backing-store build option:
3494         * UIProcess/API/C/efl/WKView.cpp:
3495         * UIProcess/API/efl/EvasGLContext.cpp:
3496         * UIProcess/API/efl/EvasGLContext.h:
3497         * UIProcess/API/efl/EvasGLSurface.cpp:
3498         * UIProcess/API/efl/EvasGLSurface.h:
3499         * UIProcess/API/efl/EwkView.cpp:
3500         (EwkView::EwkView):
3501         (EwkView::displayTimerFired):
3502         (EwkView::takeSnapshot):
3503         * UIProcess/API/efl/EwkView.h:
3504         (WebKit):
3505         (EwkView):
3506         * UIProcess/API/efl/SnapshotImageGL.cpp:
3507         * UIProcess/API/efl/SnapshotImageGL.h:
3508         * UIProcess/PageViewportController.cpp:
3509         * UIProcess/PageViewportController.h:
3510         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
3511         * UIProcess/efl/ViewClientEfl.cpp:
3512         (WebKit::ViewClientEfl::didChangeContentsSize):
3513         * UIProcess/efl/WebView.cpp:
3514         (WebKit::WebView::didCommitLoad):
3515         (WebKit::WebView::updateViewportSize):
3516         (WebKit::WebView::didChangeViewportProperties):
3517         (WebKit::WebView::pageDidRequestScroll):
3518         (WebKit::WebView::didRenderFrame):
3519         (WebKit::WebView::pageTransitionViewportReady):
3520
3521 2013-04-05  Ed Bartosh  <bartosh@gmail.com>
3522
3523         [EFL][WK2] --no-tiled-backing-store build fails because of not used #if USE(COORDINATED_GRAPHICS)
3524         https://bugs.webkit.org/show_bug.cgi?id=113629
3525
3526         Reviewed by Simon Fraser.
3527
3528         Wrapped code related to coordinated graphics with #if USE(COORDINATED_GRAPHICS)
3529         * UIProcess/API/CoordinatedGraphics/WKCoordinatedScene.cpp:
3530         * UIProcess/efl/WebView.cpp:
3531         (WebKit::WebView::initialize):
3532         (WebKit):
3533         (WebKit::WebView::paintToCairoSurface):
3534         (WebKit::WebView::updateViewportSize):
3535
3536 2013-04-05  Timothy Hatcher  <timothy@apple.com>
3537
3538         Allow the Web Inspector to use WebSQL.
3539
3540         This fixes an exception on load in the Safari Web Inspector.
3541
3542         https://webkit.org/b/114040
3543         rdar://problem/13581422
3544
3545         Reviewed by Anders Carlsson.
3546
3547         * UIProcess/mac/WebInspectorProxyMac.mm:
3548         (WebKit::exceededDatabaseQuota): Added.
3549         (WebKit::WebInspectorProxy::platformCreateInspectorPage): Hook up exceededDatabaseQuota.
3550
3551 2013-04-04  Brady Eidson  <beidson@apple.com>
3552
3553         Add SPI to get a copy of the context menu at a given point.
3554         <rdar://problem/13450908> and https://bugs.webkit.org/show_bug.cgi?id=113958
3555
3556         Reviewed by Andy Estes.
3557
3558         Add the new accessor: 
3559         * WebProcess/WebPage/WebPage.cpp:
3560         (WebKit::WebPage::contextMenuAtPoint):
3561         * WebProcess/WebPage/WebPage.h:
3562
3563         Expose the new SPI:
3564         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
3565         (WKBundlePageCopyContextMenuAtPoint):
3566         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
3567
3568 2013-04-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3569
3570         [WK2][EFL] WebView should own page position and scale factor
3571         https://bugs.webkit.org/show_bug.cgi?id=111075
3572
3573         Reviewed by Andreas Kling.
3574
3575         View content position and content scale factor should belong to WebView
3576         rather than to EwkView as it decreases EwkView usage inside EFL-agnostic
3577         WebView and improves WebView encapsulation.
3578
3579         * UIProcess/API/C/efl/WKView.cpp:
3580         (WKViewGetContentScaleFactor):
3581         (WKViewSetContentScaleFactor):
3582
3583             New WKView API was added to set and get content scale factor.
3584             The view content scale factor is not the same as page scale factor:
3585             it always applies to content but not necessarily applies to the page.
3586             The view content scale factor is calculated by viewport controller
3587             and applies immediately for painting in UI process. Page scale factor
3588             is updated later after the frame is rendered to accomplish the pending
3589             scale change.
3590
3591         (WKViewGetContentPosition):
3592         (WKViewSetContentPosition):
3593
3594             New WKView API was added to set and get content position.
3595             Content position is set in UI units.
3596
3597         * UIProcess/API/C/efl/WKView.h:
3598         * UIProcess/API/efl/EwkView.cpp:
3599         (EwkView::EwkView):
3600         * UIProcess/API/efl/EwkView.h:
3601         (EwkView):
3602         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
3603         (WebKit::PageViewportControllerClientEfl::setViewportPosition):
3604         (WebKit::PageViewportControllerClientEfl::setPageScaleFactor):
3605         * UIProcess/efl/WebView.cpp:
3606         (WebKit::WebView::WebView):
3607         (WebKit::WebView::paintToCairoSurface):
3608         (WebKit::WebView::transformToScene):
3609         (WebKit::WebView::updateViewportSize):
3610         (WebKit::WebView::pageDidRequestScroll):
3611         * UIProcess/efl/WebView.h:
3612         (WebKit::WebView::setContentScaleFactor):
3613         (WebKit::WebView::contentScaleFactor):
3614         (WebView):
3615         (WebKit::WebView::setContentPosition):
3616         (WebKit::WebView::contentPosition):
3617
3618 2013-04-05  Alberto Garcia  <agarcia@igalia.com>
3619
3620         [GTK][WK2] WebKitLoaderClient: add missing initializers
3621         https://bugs.webkit.org/show_bug.cgi?id=112961
3622
3623         Reviewed by Carlos Garcia Campos.
3624
3625         There are two new attributes: pluginLoadPolicy and pluginDidFail.
3626
3627         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
3628         (attachLoaderClientToView):
3629
3630 2013-04-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3631
3632         [WK2][EFL] Encapsulate view states set-up within WebView
3633         https://bugs.webkit.org/show_bug.cgi?id=110877
3634
3635         Reviewed by Benjamin Poulain.
3636
3637         View states set-up is encapsulated within WebView. This change
3638         reduces both usage of EwkView inside WebView class and usage of
3639         WebPageProxy inside EwkView class.
3640
3641         New WKView API was added so that EwkView can define whether or not
3642         the view is visible and focused.
3643
3644         * UIProcess/API/C/efl/WKView.cpp:
3645         (WKViewIsFocused):
3646         (WKViewSetIsFocused):
3647         (WKViewIsVisible):
3648         (WKViewSetIsVisible):
3649         * UIProcess/API/C/efl/WKView.h:
3650         * UIProcess/API/efl/EwkView.cpp:
3651         (::handleEvent):
3652         (EwkView::handleEvasObjectShow):
3653         (EwkView::handleEwkViewFocusIn):
3654         (EwkView::handleEwkViewFocusOut):
3655         * UIProcess/API/efl/EwkView.h:
3656         * UIProcess/efl/WebView.cpp:
3657         (WebKit::WebView::WebView):
3658         (WebKit::WebView::setFocused):
3659         (WebKit):
3660         (WebKit::WebView::setVisible):
3661         (WebKit::WebView::isViewFocused):
3662         (WebKit::WebView::isViewVisible):
3663         * UIProcess/efl/WebView.h:
3664         (WebKit::WebView::isFocused):
3665         (WebView):
3666         (WebKit::WebView::isVisible):
3667
3668 2013-04-04  KwangYong Choi  <ky0.choi@samsung.com>
3669
3670         [EFL][WK2] Add support for getting page contents as string
3671         https://bugs.webkit.org/show_bug.cgi?id=106752
3672
3673         Reviewed by Andreas Kling.
3674
3675         Modified ewk_view_page_contents_get() API to get page contents as string.
3676         EWK_PAGE_CONTENTS_TYPE_STRING is added to Ewk_Page_Contents_Type.
3677         Now, we can use both EWK_PAGE_CONTENTS_TYPE_MHTML and EWK_PAGE_CONTENTS_TYPE_STRING
3678         for getting page contents.
3679
3680         * UIProcess/API/efl/ewk_view.cpp:
3681         (Ewk_Page_Contents_Context):
3682         (ewkViewPageContentsAsMHTMLCallback):
3683         (ewkViewPageContentsAsStringCallback):
3684         (ewk_view_page_contents_get):
3685         * UIProcess/API/efl/ewk_view.h:
3686         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3687         (PageContentsAsMHTMLCallback):
3688         (PageContentsAsStringCallback):
3689         (TEST_F):
3690
3691 2013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3692
3693         [Cairo] Stop passing raw pointers to BitmapImage::create()
3694         https://bugs.webkit.org/show_bug.cgi?id=113945
3695
3696         Reviewed by Martin Robinson.
3697
3698         Pass a smart pointer in to BitmapImage::create() instead of a raw one
3699         for the cairo surface. The factory method prototype was updated for
3700         cairo in r147643.
3701
3702         * Shared/cairo/ShareableBitmapCairo.cpp:
3703         (WebKit::ShareableBitmap::createImage):
3704
3705 2013-04-03  Dean Jackson  <dino@apple.com>
3706
3707         Expose settings to disable plugin snapshotting autostart and primary detection
3708         https://bugs.webkit.org/show_bug.cgi?id=113918
3709
3710         Reviewed by Tim Horton.
3711
3712         Three new settings: snapshotAllPlugIns, primaryPlugInSnapshotDetectionEnabled and
3713         autostartOriginPlugInSnapshottingEnabled.
3714         These are exposed via WKPreferences (WebKit2 only, since that's the only port actively
3715         using the feature).
3716
3717         * Shared/WebPreferencesStore.h: Add macros for new settings.
3718         * UIProcess/API/C/WKPreferences.cpp: Getters and setters for new settings.
3719         (WKPreferencesSetSnapshotAllPlugIns):
3720         (WKPreferencesGetSnapshotAllPlugIns):
3721         (WKPreferencesSetAutostartOriginPlugInSnapshottingEnabled):
3722         (WKPreferencesGetAutostartOriginPlugInSnapshottingEnabled):
3723         (WKPreferencesSetPrimaryPlugInSnapshotDetectionEnabled):
3724         (WKPreferencesGetPrimaryPlugInSnapshotDetectionEnabled):
3725         * UIProcess/API/C/WKPreferencesPrivate.h:
3726         * WebProcess/WebPage/WebPage.cpp:
3727         (WebKit::WebPage::updatePreferences): Forward settings updates.
3728         (WebKit::WebPage::addPluginView): Don't run primary plugin detection if the setting is false.
3729         (WebKit::WebPage::didFinishLoad): Ditto.
3730
3731 2013-04-04  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3732
3733         [Cairo] Fix canvas drawing of SVG-based patterns and remove NativeImageCairo
3734         https://bugs.webkit.org/show_bug.cgi?id=113929
3735
3736         Reviewed by Martin Robinson.
3737
3738         Update code now that PassNativeImagePtr is now a typedef to PassRefPtr<cairo_surface_t>
3739         instead of NativeImageCairo*.
3740
3741         * Shared/gtk/ArgumentCodersGtk.cpp:
3742         (CoreIPC::decodeImage):
3743         * UIProcess/API/C/cairo/WKIconDatabaseCairo.cpp:
3744         (WKIconDatabaseTryGetCairoSurfaceForURL):
3745         * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
3746         (getIconSurfaceSynchronously):
3747
3748 2013-04-04  Sze Howe Koh  <szehowe.koh@gmail.com>
3749
3750         [Qt] docs: Fix module name format
3751         https://bugs.webkit.org/show_bug.cgi?id=113209
3752
3753         Reviewed by Jocelyn Turcotte.
3754
3755         Make QDoc-generated documentation follow the conventions at
3756         http://qt-project.org/wiki/Spelling_Module_Names_in_Qt_Documentation
3757
3758         * UIProcess/API/qt/qquickwebview.cpp:
3759
3760 2013-04-04  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3761
3762         [WK2][EFL] WebView should own view size
3763         https://bugs.webkit.org/show_bug.cgi?id=110753
3764
3765         Reviewed by Andreas Kling.
3766
3767         WebView owns view size. WKViewGetSize and WKViewSetSize API
3768         is exposed accordingly. Usage of EFL-specific ewkView inside
3769         toolkit-agnostic WebView class is reduced.
3770
3771         * UIProcess/API/C/efl/WKView.cpp:
3772         (WKViewGetSize):
3773         (WKViewSetSize):
3774         * UIProcess/API/C/efl/WKView.h:
3775         * UIProcess/API/efl/EwkView.cpp:
3776         (EwkView::setDeviceScaleFactor):
3777         (EwkView::size):
3778         (EwkView::deviceSize):
3779         (EwkView::scheduleUpdateDisplay):
3780         (EwkView::handleEvasObjectCalculate):
3781         * UIProcess/API/efl/EwkView.h:
3782         (EwkView):
3783         * UIProcess/efl/WebView.cpp:
3784         (WebKit::WebView::setSize):
3785         (WebKit):
3786         (WebKit::WebView::paintToCurrentGLContext):
3787         (WebKit::WebView::updateViewportSize):
3788         (WebKit::WebView::viewSize):
3789         (WebKit::WebView::dipSize):
3790         * UIProcess/efl/WebView.h:
3791         (WebView):
3792         (WebKit::WebView::size):
3793
3794 2013-04-03  Anders Carlsson  <andersca@apple.com>
3795
3796         Don't try to set the exception port for server connections
3797         https://bugs.webkit.org/show_bug.cgi?id=113910
3798         <rdar://problem/11248925>
3799
3800         Reviewed by Darin Adler.
3801
3802         Treat a SetExceptionPort message to the server connection as an invalid message.
3803
3804         * Platform/CoreIPC/mac/ConnectionMac.cpp:
3805         (CoreIPC::Connection::receiveSourceEventHandler):
3806
3807 2013-04-02  Mark Rowe  <mrowe@apple.com>
3808
3809         <http://webkit.org/b/113898> Eliminate some code duplication by introducing an array of handlers to register / unregister.
3810
3811         Reviewed by Antti Koivisto.
3812
3813         * UIProcess/mac/WebContextMac.mm:
3814         (OcclusionNotificationHandler): Structure containing the notification name, type and handler.
3815         (WebKit::registerOcclusionNotificationHandlers): Register all of the handlers in the array.
3816         (WebKit::unregisterOcclusionNotificationHandlers): Unregister all of the handlers in the array.
3817
3818 2013-04-02  Mark Rowe  <mrowe@apple.com>
3819
3820         Enable process suppression when no windows in the application have drawn recently.
3821         <http://webkit.org/b/113854> / <rdar://problem/13540351>
3822
3823         Reviewed by Darin Adler.
3824
3825         * UIProcess/mac/WebContextMac.mm:
3826         (WebKit::applicationWindowModificationsStarted): Note that modifications are no longer stopped.
3827         (WebKit::applicationWindowModificationsStopped): Note that modifications have stopped.
3828         (WebKit::registerOcclusionNotificationHandlers): Register handlers for the start and stop notifications.
3829         (WebKit::unregisterOcclusionNotificationHandlers): Unregister handlers for the start and stop notifications.
3830         (WebKit::WebContext::canEnableProcessSuppressionForNetworkProcess): Allow suppression if the application is occluded
3831         or the application has not drawn recently.
3832         (WebKit::WebContext::canEnableProcessSuppressionForWebProcess): Ditto.
3833         (WebKit::WebContext::canEnableProcessSuppressionForGlobalChildProcesses): Ditto.
3834
3835 2013-04-03  Dean Jackson  <dino@apple.com>
3836
3837         Cross fade into restarted plugin
3838         https://bugs.webkit.org/show_bug.cgi?id=113868
3839
3840         Reviewed by Tim Horton.
3841
3842         Add a new plugin process type that indicates this is a plugin that
3843         has been restarted from snapshotting. On Apple ports, this allows
3844         us to animate the appearance of the plugin so that it crossfades
3845         with the snapshot. Other ports will have to add their own fading.
3846
3847         * PluginProcess/PluginProcess.h: New Type: TypeRestartedProcess.
3848         * WebProcess/Plugins/Netscape/mac/PluginProxyMac.mm:
3849         (WebKit::PluginProxy::pluginLayer): When the plugin's CALayer is created, if it
3850             is a restarted plugin, add an opacity animation to fade it in.
3851         * WebProcess/WebPage/WebPage.cpp:
3852         (WebKit::WebPage::createPlugin): Mark restarted plugins with the new process type.
3853
3854 2013-04-03  Alexey Proskuryakov  <ap@apple.com>
3855
3856         <rdar://problem/13564588> Add a temporary workaround for a build failure.
3857
3858         Fix suggested by Mark Rowe.
3859
3860         * Shared/mac/ChildProcessMac.mm:
3861
3862 2013-04-03  Alexey Proskuryakov  <ap@apple.com>
3863
3864         [WK2] XMLHttpRequest upload events don't work with NetworkProcess
3865         https://bugs.webkit.org/show_bug.cgi?id=113887
3866
3867         Reviewed by Brady Eidson.
3868
3869         Just forward didSendData client call to WebProcess.
3870
3871         * NetworkProcess/NetworkResourceLoader.cpp:
3872         (WebKit::NetworkResourceLoader::didSendData):
3873         (WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge): Tweaked a comment.
3874         * WebProcess/Network/WebResourceLoader.cpp:
3875         (WebKit::WebResourceLoader::didSendData):
3876         * WebProcess/Network/WebResourceLoader.h:
3877         * WebProcess/Network/WebResourceLoader.messages.in:
3878
3879 2013-04-02  Ryosuke Niwa  <rniwa@webkit.org>
3880
3881         Remove code for Mac 10.5 and earlier from WTF and WebKit2
3882         https://bugs.webkit.org/show_bug.cgi?id=113844
3883
3884         Reviewed by Benjamin Poulain.
3885
3886         Removed the code for 10.5 and removed if-def for 10.6.
3887
3888         * Shared/mac/PasteboardTypes.mm:
3889         (WebKit::PasteboardTypes::forEditing):
3890
3891 2013-04-02  Anders Carlsson  <andersca@apple.com>
3892
3893         Be more robust against empty message receiver names in incoming messages
3894         https://bugs.webkit.org/show_bug.cgi?id=113833
3895         <rdar://problem/13284433>
3896
3897         Reviewed by Beth Dakin.
3898
3899         Turns out that we either send or receive messages whose receiver names are empty. This leads to bad things when we try to look
3900         up the message receiver name in a hash map since the empty name is used to represent an empty hash map value.
3901
3902         * Platform/CoreIPC/Connection.cpp:
3903         (CoreIPC::Connection::addWorkQueueMessageReceiverOnConnectionWorkQueue):
3904         Sprinkle assertions.
3905
3906         (CoreIPC::Connection::processIncomingMessage):
3907         If the message receiver name is not valid, make sure to call didReceiveInvalidMessage on the client thread.
3908
3909         (CoreIPC::Connection::dispatchDidReceiveInvalidMessage):
3910         Add new helper function.
3911
3912 2013-04-02  Simon Cooper  <scooper@apple.com>
3913
3914         [Mac][WK2] Don’t let plug-ins use System V shared memory
3915         https://bugs.webkit.org/show_bug.cgi?id=113466
3916         <rdar://problem/13159030>
3917
3918         Reviewed, tweaked and landed by Alexey Proskuryakov.
3919
3920         Instead of allowing plug-ins to request System V shm, give them a
3921         temporary but usable alternative if they try to request it.
3922
3923         * PluginProcess/mac/PluginProcessShim.mm:
3924
3925 2013-04-02  Anders Carlsson  <andersca@apple.com>
3926
3927         Add WKContextSetInvalidMessageFunction
3928         https://bugs.webkit.org/show_bug.cgi?id=113820
3929         <rdar://problem/12679817>
3930
3931         Reviewed by Tim Horton.
3932
3933         * UIProcess/API/C/WKContext.cpp:
3934         (WKContextSetInvalidMessageFunction):
3935         Call WebContext::didReceiveInvalidMessage.
3936
3937         * UIProcess/API/C/WKContextPrivate.h:
3938         * UIProcess/WebContext.cpp:
3939         (WebKit::WebContext::setInvalidMessageCallback):
3940         Set the global variable.
3941
3942         (WebKit::WebContext::didReceiveInvalidMessage):
3943         Construct a message name string and call the invalid message callback.
3944
3945         * UIProcess/WebProcessProxy.cpp:
3946         (WebKit::WebProcessProxy::didReceiveInvalidMessage):
3947         Call WebContext::didReceiveInvalidMessage.
3948
3949 2013-04-02  Alexey Proskuryakov  <ap@apple.com>
3950
3951         [Mac] Remove WKCreateNSURLConnectionDelegateProxy
3952         https://bugs.webkit.org/show_bug.cgi?id=113810
3953
3954         Reviewed by Anders Carlsson.
3955
3956         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
3957         (InitWebCoreSystemInterface):
3958
3959 2013-04-02  Alexey Proskuryakov  <ap@apple.com>
3960
3961         <rdar://problem/13551119> [WK2] Crashes in NetworkProcess when canceling loads
3962         https://bugs.webkit.org/show_bug.cgi?id=113803
3963
3964         Reviewed by Darin Adler.
3965
3966         * Shared/Downloads/mac/DownloadMac.mm: (WebKit::Download::startWithHandle):
3967         Just pass nil instead of proxy.
3968
3969 2013-04-02  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3970
3971         [WK2] Remove repeating code in declaration of WK2 API classes
3972         https://bugs.webkit.org/show_bug.cgi?id=112782
3973
3974         Reviewed by Benjamin Poulain.
3975
3976         The following two lines of code had been repeated in every WK2 API
3977         object class:
3978         1) static const Type APIType = SomeAPIType;
3979         2) virtual Type type() const { return APIType; }
3980
3981         This patch introduces template class 'TypedAPIObject' inherited
3982         from WebKit::APIObject and it contains the common functionality. 
3983         So the new pattern is that API object classes are inherited from
3984         TypedAPIObject (rather than from WebKit::APIObject directly) passing
3985         the corresponding API object type as a template parameter.
3986
3987         The existing API object classes are modified accordingly to the
3988         proposed pattern.
3989
3990         * Shared/APIObject.h:
3991         (WebKit):
3992         (TypedAPIObject):
3993         (WebKit::TypedAPIObject::~TypedAPIObject):
3994         (WebKit::TypedAPIObject::TypedAPIObject):
3995         * Shared/ImmutableArray.h:
3996         (ImmutableArray):
3997         * Shared/ImmutableDictionary.h:
3998         (ImmutableDictionary):
3999         * Shared/WebArchive.h:
4000         (WebArchive):
4001         * Shared/WebArchiveResource.h:
4002         (WebArchiveResource):
4003         * Shared/WebBackForwardListItem.h:
4004         (WebBackForwardListItem):
4005         * Shared/WebBatteryStatus.h:
4006         (WebBatteryStatus):
4007         * Shared/WebCertificateInfo.h:
4008         * Shared/WebConnection.h:
4009         (WebConnection):
4010         * Shared/WebContextMenuItem.h:
4011         (WebContextMenuItem):
4012         * Shared/WebData.h:
4013         * Shared/WebError.h:
4014         (WebKit::WebError::errorCode):
4015         * Shared/WebGeolocationPosition.h:
4016         (WebGeolocationPosition):
4017         * Shared/WebGeometry.h:
4018         * Shared/WebGraphicsContext.h:
4019         (WebGraphicsContext):
4020         * Shared/WebHitTestResult.h:
4021         * Shared/WebImage.h:
4022         (WebImage):
4023         * Shared/WebNetworkInfo.h:
4024         (WebNetworkInfo):
4025         * Shared/WebNumber.h:
4026         * Shared/WebOpenPanelParameters.h:
4027         (WebOpenPanelParameters):
4028         * Shared/WebRenderLayer.h:
4029         * Shared/WebRenderObject.h:
4030         * Shared/WebSecurityOrigin.h:
4031         * Shared/WebSerializedScriptValue.h:
4032         (WebSerializedScriptValue):
4033         * Shared/WebString.h:
4034         * Shared/WebURL.h:
4035         * Shared/WebURLRequest.h:
4036         (WebURLRequest):
4037         * Shared/WebURLResponse.h:
4038         (WebURLResponse):
4039         * Shared/WebUserContentURLPattern.h:
4040         * Shared/mac/ObjCObjectGraph.h:
4041         * UIProcess/Authentication/AuthenticationChallengeProxy.h:
4042         (AuthenticationChallengeProxy):
4043         * UIProcess/Authentication/AuthenticationDecisionListener.h:
4044         (AuthenticationDecisionListener):
4045         * UIProcess/Authentication/WebCredential.h:
4046         (WebCredential):
4047         * UIProcess/Authentication/WebProtectionSpace.h:
4048         (WebProtectionSpace):
4049         * UIProcess/Downloads/DownloadProxy.h:
4050         (DownloadProxy):
4051         * UIProcess/GeolocationPermissionRequestProxy.h:
4052         (GeolocationPermissionRequestProxy):
4053         * UIProcess/Notifications/NotificationPermissionRequest.h:
4054         (NotificationPermissionRequest):
4055         * UIProcess/Notifications/WebNotification.h:
4056         (WebNotification):
4057         * UIProcess/Notifications/WebNotificationManagerProxy.h:
4058         (WebNotificationManagerProxy):
4059         * UIProcess/Plugins/WebPluginSiteDataManager.h:
4060         (WebPluginSiteDataManager):
4061         * UIProcess/WebApplicationCacheManagerProxy.h:
4062         (WebApplicationCacheManagerProxy):
4063         * UIProcess/WebBackForwardList.h:
4064         (WebBackForwardList):
4065         * UIProcess/WebBatteryManagerProxy.h:
4066         (WebBatteryManagerProxy):
4067         * UIProcess/WebContext.h:
4068         (WebContext):
4069         * UIProcess/WebCookieManagerProxy.h:
4070         (WebCookieManagerProxy):
4071         * UIProcess/WebDatabaseManagerProxy.h:
4072         (WebDatabaseManagerProxy):
4073         * UIProcess/WebEditCommandProxy.h:
4074         (WebEditCommandProxy):
4075         * UIProcess/WebFrameProxy.h:
4076         (WebFrameProxy):
4077         * UIProcess/WebGeolocationManagerProxy.h:
4078         (WebGeolocationManagerProxy):
4079         * UIProcess/WebGrammarDetail.h:
4080         (WebGrammarDetail):
4081         * UIProcess/WebIconDatabase.h:
4082         (WebIconDatabase):
4083         * UIProcess/WebInspectorProxy.h:
4084         (WebInspectorProxy):
4085         * UIProcess/WebKeyValueStorageManagerProxy.h:
4086         (WebKeyValueStorageManagerProxy):
4087         * UIProcess/WebMediaCacheManagerProxy.h:
4088         (WebMediaCacheManagerProxy):
4089         * UIProcess/WebNavigationData.h:
4090         (WebNavigationData):
4091         * UIProcess/WebNetworkInfoManagerProxy.h:
4092         (WebNetworkInfoManagerProxy):
4093         * UIProcess/WebOpenPanelResultListenerProxy.h:
4094         (WebOpenPanelResultListenerProxy):
4095         * UIProcess/WebPageGroup.h:
4096         (WebPageGroup):
4097         * UIProcess/WebPageProxy.h:
4098         (WebPageProxy):
4099         * UIProcess/WebPreferences.cpp:
4100         (WebKit::WebPreferences::WebPreferences):
4101         * UIProcess/WebPreferences.h:
4102         (WebPreferences):
4103         * UIProcess/WebResourceCacheManagerProxy.h:
4104         (WebResourceCacheManagerProxy):
4105         * UIProcess/WebTextChecker.h:
4106         (WebTextChecker):
4107         * UIProcess/WebVibrationProxy.h:
4108         (WebVibrationProxy):
4109         * UIProcess/efl/WebPopupItemEfl.h:
4110         (WebPopupItemEfl):
4111         * UIProcess/efl/WebView.h: