Add a pre-bootstrap message for NetworkProcess XPC service
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-02-28  Kiran Muppala  <cmuppala@apple.com>
2
3         Add a pre-bootstrap message for NetworkProcess XPC service
4         https://bugs.webkit.org/show_bug.cgi?id=111127
5
6         Reviewed by Sam Weinig.
7
8         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
9         (WebKit::XPCServiceEventHandler): Hold on to the pre-bootstrap message.
10         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
11         (WebKit::XPCServiceEventHandler): Ditto.
12         * UIProcess/Launcher/mac/ProcessLauncherMac.mm:
13         (WebKit::connectToService): Send a pre-bootstrap message for NetworkProcess
14         XPC service.
15
16 2013-02-28  Conrad Shultz  <conrad_shultz@apple.com>
17
18         Need API to control page underlay color
19         https://bugs.webkit.org/show_bug.cgi?id=110918
20
21         Reviewed by Simon Fraser.
22
23         * Shared/WebPageCreationParameters.cpp:
24         (WebKit::WebPageCreationParameters::encode):
25         Encode underlayColor.
26         (WebKit::WebPageCreationParameters::decode):
27         Decode underlayColor.
28
29         * Shared/WebPageCreationParameters.h:
30         (WebPageCreationParameters):
31         Add underlayColor member.
32
33         * UIProcess/API/mac/WKView.mm:
34         (-[WKView underlayColor]):
35         Accessor; retrieves the WebCore::Color from the WebPageProxy and converts it to an NSColor.
36         (-[WKView setUnderlayColor:]):
37         Mutator; converts the NSColor to a WebCore::Color and passes it to the WebPageProxy.
38
39         * UIProcess/API/mac/WKViewPrivate.h:
40         Add underlayColor @property.
41
42         * UIProcess/WebPageProxy.cpp:
43         (WebKit::WebPageProxy::setUnderlayColor):
44         Mutator; dispatches SetUnderlayColor to WebPage.
45         (WebKit::WebPageProxy::creationParameters):
46         Set the parameters' underlayColor member appropriately.
47
48         * UIProcess/WebPageProxy.h:
49         Declare new member functions and variable.
50         (WebKit::WebPageProxy::underlayColor):
51         Accessor.
52
53         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
54         (WebKit::WebChromeClient::underlayColor):
55         Return the associated WebPage's underlayColor.
56
57         * WebProcess/WebCoreSupport/WebChromeClient.h:
58         (WebChromeClient):
59         Declare underlayColor().
60
61         * WebProcess/WebPage/WebPage.cpp:
62         (WebKit::WebPage::WebPage):
63         Apply any underlayColor that was supplied as part of the WebPageCreationParameters.
64
65         * WebProcess/WebPage/WebPage.h:
66         Declare new member functions and variable.
67         (WebKit::WebPage::underlayColor):
68         Accessor.
69
70         * WebProcess/WebPage/WebPage.messages.in:
71         Add SetUnderlayColor message.
72
73 2013-02-28  Anders Carlsson  <andersca@apple.com>
74
75         Add the notion of an allowed connection to SessionStorageNamespace
76         https://bugs.webkit.org/show_bug.cgi?id=111122
77
78         Reviewed by Sam Weinig.
79
80         Group together each session storage namespace with an allowed connection.
81         This will help ensure that rouge web processes will not be able to access session storage
82         from pages in other processes.
83         
84         * UIProcess/Storage/StorageManager.cpp:
85         (StorageManager::SessionStorageNamespace):
86         (WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
87         (WebKit::StorageManager::SessionStorageNamespace::create):
88         (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
89         (WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
90         Add an m_allowedConnection member variable, as well as setters and getters.
91
92         (WebKit::StorageManager::createSessionStorageNamespace):
93         Take an optional allowed connection. (It can be null if the process has not finished launching).
94
95         (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
96         New function to set the allowed connection for a session storage namespace.
97
98         (WebKit::StorageManager::createStorageArea):
99         Add another FIXME.
100
101         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
102         Pass the connection to the SessionStorageNamespace constructor.
103
104         (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
105         Set the allowed connection.
106
107         * UIProcess/WebPageProxy.cpp:
108         (WebKit::WebPageProxy::WebPageProxy):
109         Pass the connection to createSessionStorageNamespace.
110
111         (WebKit::WebPageProxy::connectionWillOpen):
112         Call setAllowedSessionStorageNamespaceConnection.
113         
114         (WebKit::WebPageProxy::connectionWillClose):
115         Call setAllowedSessionStorageNamespaceConnection with a null connection.
116
117         * UIProcess/WebProcessProxy.cpp:
118         (WebKit::WebProcessProxy::connectionWillOpen):
119         Call connectionWillOpen on all pages.
120
121         (WebKit::WebProcessProxy::connectionWillClose):
122         Call connectionWillClose on all pages.
123
124 2013-02-28  Kiran Muppala  <cmuppala@apple.com>
125
126         Add private API to disable WKView window occlusion detection
127         https://bugs.webkit.org/show_bug.cgi?id=111107
128
129         Reviewed by Simon Fraser.
130
131         * UIProcess/API/mac/WKView.mm:
132         (-[WKView _enableWindowOcclusionNotifications]): Check if occlusion
133         detection is enabled before enabling notifications.
134         (windowBecameOccluded): Ditto before changing window occlusion state.
135         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
136         Initialize occlusion detection enabled flag to "YES".
137         (-[WKView windowOcclusionDetectionEnabled]):
138         (-[WKView setWindowOcclusionDetectionEnabled:]):
139         * UIProcess/API/mac/WKViewPrivate.h:
140
141 2013-02-28  Anders Carlsson  <andersca@apple.com>
142
143         Add the notion of an allowed connection to SessionStorageNamespace
144         https://bugs.webkit.org/show_bug.cgi?id=111122
145
146         Reviewed by Sam Weinig.
147
148         Group together each session storage namespace with an allowed connection.
149         This will help ensure that rouge web processes will not be able to access session storage
150         from pages in other processes.
151         
152         * UIProcess/Storage/StorageManager.cpp:
153         (StorageManager::SessionStorageNamespace):
154         (WebKit::StorageManager::SessionStorageNamespace::allowedConnection):
155         (WebKit::StorageManager::SessionStorageNamespace::create):
156         (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
157         (WebKit::StorageManager::SessionStorageNamespace::setAllowedConnection):
158         Add an m_allowedConnection member variable, as well as setters and getters.
159
160         (WebKit::StorageManager::createSessionStorageNamespace):
161         Take an optional allowed connection. (It can be null if the process has not finished launching).
162
163         (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnection):
164         New function to set the allowed connection for a session storage namespace.
165
166         (WebKit::StorageManager::createStorageArea):
167         Add another FIXME.
168
169         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
170         Pass the connection to the SessionStorageNamespace constructor.
171
172         (WebKit::StorageManager::setAllowedSessionStorageNamespaceConnectionInternal):
173         Set the allowed connection.
174
175         * UIProcess/WebPageProxy.cpp:
176         (WebKit::WebPageProxy::WebPageProxy):
177         Pass the connection to createSessionStorageNamespace.
178
179         (WebKit::WebPageProxy::connectionWillOpen):
180         Call setAllowedSessionStorageNamespaceConnection.
181         
182         (WebKit::WebPageProxy::connectionWillClose):
183         Call setAllowedSessionStorageNamespaceConnection with a null connection.
184
185         * UIProcess/WebProcessProxy.cpp:
186         (WebKit::WebProcessProxy::connectionWillOpen):
187         Call connectionWillOpen on all pages.
188
189         (WebKit::WebProcessProxy::connectionWillClose):
190         Call connectionWillClose on all pages.
191
192 2013-02-28  Anders Carlsson  <andersca@apple.com>
193
194         Implement more StorageAreaProxy member functions
195         https://bugs.webkit.org/show_bug.cgi?id=111103
196
197         Reviewed by Sam Weinig.
198
199         * Shared/SecurityOriginData.cpp:
200         (WebKit::SecurityOriginData::securityOrigin):
201         * Shared/SecurityOriginData.h:
202         Add helper to create a WebCore::SecurityOrigin from a SecurityOriginData object.
203
204         * WebProcess/Storage/StorageAreaProxy.cpp:
205         (WebKit::StorageAreaProxy::key):
206         Fill the storage map and call through to StorageMap::key.
207
208         (WebKit::StorageAreaProxy::contains):
209         Fill the storage map and call through to StorageMap::contains.
210
211         (WebKit::StorageAreaProxy::memoryBytesUsedByCache):
212         Return 0; this matches StorageAreaImpl.
213
214 2013-02-28  Tim Horton  <timothy_horton@apple.com>
215
216         PDFPlugin: PDF orientation isn't respected when printing or print-previewing
217         https://bugs.webkit.org/show_bug.cgi?id=110925
218         <rdar://problem/13008621>
219
220         Reviewed by Alexey Proskuryakov.
221
222         * WebProcess/WebPage/mac/WebPageMac.mm:
223         (WebKit::drawPDFPage): Teach drawPDFPage about PDFPage's rotation property, and use it
224         to swap the PDF's cropbox. Painting now matches PDFViewController's historical behavior.
225
226 2013-02-28  Sam Weinig  <sam@webkit.org>
227
228         Don't install unused XPCServices on Lion
229         <rdar://problem/13264712>
230
231         Rubber-stamped by Anders Carlsson
232
233         * Configurations/BaseXPCService.xcconfig:
234
235 2013-02-28  David Kilzer  <ddkilzer@apple.com>
236
237         BUILD FIX (r144221): SetSmartInsertDeleteEnabled should be wrapped in PLATFORM(MAC)
238
239         * WebProcess/WebPage/WebPage.messages.in: Move
240         SetSmartInsertDeleteEnabled from USE(APPKIT) to PLATFORM(MAC).
241
242 2013-02-27  Csaba Osztrogonác  <ossy@webkit.org>
243
244         [WK2] One more unreviewed buildfix for EFL, GTK and Qt after r144218.
245
246         * CMakeLists.txt:
247         * GNUmakefile.list.am:
248         * Target.pri:
249         * WebProcess/Storage/StorageNamespaceProxy.cpp:
250         (WebKit::StorageNamespaceProxy::copy):
251
252 2013-02-27  Zan Dobersek  <zdobersek@igalia.com>
253
254         Unreviewed (speculative) build fixes for EFL, GTK and Qt after r144218.
255
256         * CMakeLists.txt:
257         * DerivedSources.pri:
258         * GNUmakefile.list.am:
259         * Target.pri:
260
261 2013-02-27  John Bauman  <jbauman@chromium.org>
262
263         Plugin in iframe may not display
264         https://bugs.webkit.org/show_bug.cgi?id=109879
265
266         Reviewed by Simon Fraser.
267
268         Update geometry when cliprect changes.
269
270         * WebProcess/Plugins/PluginView.cpp:
271         (WebKit::PluginView::clipRectChanged):
272         * WebProcess/Plugins/PluginView.h:
273
274 2013-02-27  Jer Noble  <jer.noble@apple.com>
275
276         REGRESSION (48533): Full-frame plugins stopped working (download instead of loading the plugin)
277         https://bugs.webkit.org/show_bug.cgi?id=111003
278
279         Reviewed by Anders Carlsson.
280
281         Also query the Page's pluginData when determining whether a given MIME type can be shown.
282
283         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
284         (WKBundlePageCanShowMIMEType):
285         * WebProcess/WebPage/WebPage.cpp:
286         (WebKit::WebPage::canShowMIMEType):
287         * WebProcess/WebPage/WebPage.h:
288
289 2013-02-27  Manuel Rego Casasnovas  <rego@igalia.com>
290
291         Add smartInsertDeleteEnabled setting to WebCore::Page
292         https://bugs.webkit.org/show_bug.cgi?id=107840
293
294         Reviewed by Ryosuke Niwa.
295
296         * Shared/WebPageCreationParameters.cpp:
297         (WebKit::WebPageCreationParameters::encode):
298         (WebKit::WebPageCreationParameters::decode): Remove code related to
299         isSmartInsertDeleteEnabled.
300         * Shared/WebPageCreationParameters.h:
301         (WebPageCreationParameters): Remove isSmartInsertDeleteEnabled.
302         * Shared/WebPreferencesStore.h:
303         (WebKit): Add macro for smartInsertDeleteEnabled setting.
304         * UIProcess/API/C/WKPreferences.cpp:
305         (WKPreferencesSetSmartInsertDeleteEnabled):
306         (WKPreferencesGetSmartInsertDeleteEnabled): Implement methods using the
307         new setting.
308         * UIProcess/API/C/WKPreferencesPrivate.h: Add new methods headers.
309         * UIProcess/WebPageProxy.cpp:
310         (WebKit::WebPageProxy::initializeWebPage): Set smartInsertDeleteEnabled
311         setting using m_isSmartInsertDeleteEnabled to keep initial value on Mac.
312         (WebKit::WebPageProxy::creationParameters): Remove usage of
313         parameters.isSmartInsertDeleteEnabled.
314         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
315         (WebKit::WebEditorClient::smartInsertDeleteEnabled): Enable method for
316         all platforms.
317         * WebProcess/WebPage/WebPage.cpp:
318         (WebKit::WebPage::WebPage): Remove m_isSmartInsertDeleteEnabled
319         initialization.
320         (WebKit::WebPage::updatePreferences): Set smartInsertDeleteEnabled
321         setting.
322         (WebKit::WebPage::isSmartInsertDeleteEnabled): Implement method using
323         settings.
324         (WebKit):
325         (WebKit::WebPage::setSmartInsertDeleteEnabled): Implement method using
326         settings.
327         * WebProcess/WebPage/WebPage.h:
328         (WebPage): Enable methods dealing with smartInsertDeleteEnabled for all
329         platforms and remove m_isSmartInsertDeleteEnabled as it will be a
330         setting.
331
332
333 2013-02-27  Anders Carlsson  <andersca@apple.com>
334
335         More storage scaffolding
336         https://bugs.webkit.org/show_bug.cgi?id=110997
337
338         Reviewed by Andreas Kling.
339
340         * DerivedSources.make:
341         Add StorageAreaProxy.
342         
343         * UIProcess/Storage/StorageManager.cpp:
344         (WebKit::StorageManager::setItem):
345         Send back a DidSetItem message.
346         
347         * WebKit2.xcodeproj/project.pbxproj:
348         Add generated files.
349
350         * WebProcess/Storage/StorageAreaProxy.cpp:
351         (WebKit::StorageAreaProxy::StorageAreaProxy):
352         Add the message receiver.
353         
354         (WebKit::StorageAreaProxy::~StorageAreaProxy):
355         Remove the message receiver.
356         
357         (WebKit::StorageAreaProxy::didSetItem):
358         add stub.
359
360         * WebProcess/Storage/StorageAreaProxy.h:
361         (StorageAreaProxy):
362         * WebProcess/Storage/StorageAreaProxy.messages.in: Added.
363
364 2013-02-27  Sam Weinig  <sam@webkit.org>
365
366         REGRESSION: Loading flash switches to discrete graphics, 100 MB on membuster
367         <rdar://problem/13229828>
368
369         Reviewed by Dan Bernstein.
370
371         Due the change in CFBundleIdentifier, the WebProcess and PluginProcess were
372         unnecessarily muxing (they used to be whitelisted by OpenGL) to the discrete
373         GPU.
374
375         * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
376         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
377         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
378         * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
379         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
380         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
381         Add NSSupportsAutomaticGraphicsSwitching YES.
382
383         * WebKit2.xcodeproj/project.pbxproj:
384         Re-add the PluginService.32-64.Info.plist plist to the project file.
385
386 2013-02-26  Alexey Proskuryakov  <ap@apple.com>
387
388         Don't add a body to platform request until necessary
389         https://bugs.webkit.org/show_bug.cgi?id=110900
390
391         Reviewed by Brady Eidson.
392
393         * NetworkProcess/NetworkResourceLoader.cpp:
394         (WebKit::NetworkResourceLoader::willSendRequest): Restore body after IPC. There
395         is no way for the client to change it.
396
397         * Shared/Downloads/mac/DownloadMac.mm:
398         (WebKit::Download::start):
399         (WebKit::Download::startWithHandle):
400         Pass UpdateHTTPBody when passing a request to NSURLConnection.
401
402         * Shared/mac/WebCoreArgumentCodersMac.mm: (CoreIPC::::encodePlatformData):
403         Never serialize the request body. It's slow, and sometimes impossible, so just
404         keeping things consistent.
405
406         * Shared/mac/WebURLRequestMac.mm: (WebKit::WebURLRequest::platformRequest):
407         Pass DoNotUpdateHTTPBody, as we can't update it outside NetworkProcess.
408
409         * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm:
410         (WebKit::CustomProtocolManagerProxy::startLoading): Ditto.
411
412         * WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp:
413         (WebKit::InjectedBundlePageResourceLoadClient::willSendRequestForFrame):
414         Restore existing body after a client call..
415
416         * WebProcess/WebPage/mac/WebPageMac.mm: (WebKit::WebPage::platformCanHandleRequest):
417         Pass DoNotUpdateHTTPBody, as we can't update it outside NetworkProcess.
418
419 2013-02-27  Glenn Adams  <glenn@skynav.com>
420
421         Add ENABLE_CSS3_TEXT_LINE_BREAK flag.
422         https://bugs.webkit.org/show_bug.cgi?id=110944
423
424         Reviewed by Dean Jackson.
425
426         * Configurations/FeatureDefines.xcconfig:
427
428 2013-02-27  Michael Brüning  <michael.bruning@digia.com>
429
430         [Qt][WK2] Replace use of WebPreferences with use of WKPrefences C API
431         https://bugs.webkit.org/show_bug.cgi?id=108952
432
433         Reviewed by Simon Hausmann.
434
435         Signed off for WebKit2 by Benjamin Poulain.
436
437         This patch moves the view classes and preferences in the Qt API
438         to use the C API for accessing and manipulating preferences as
439         part of the cleanup and move towards using the C API as base for
440         the Qt WebKit2 API.
441
442         Adds the function WebKit::adoptToQString for convenience when
443         dealing with QString and copied String objects.
444
445         Removes the ScrollAnimatorEnabled options from QWebPreferences.
446
447         * UIProcess/API/cpp/qt/WKStringQt.cpp:
448         (WebKit::adoptToQString):
449         * UIProcess/API/cpp/qt/WKStringQt.h:
450         (WebKit):
451         * UIProcess/API/qt/qquickwebview.cpp:
452         (QQuickWebViewPrivate::initialize):
453         * UIProcess/API/qt/qwebpreferences.cpp:
454         (QWebPreferencesPrivate::testAttribute):
455         (QWebPreferencesPrivate::setAttribute):
456         (QWebPreferencesPrivate::setFontFamily):
457         (QWebPreferencesPrivate::fontFamily):
458         (QWebPreferencesPrivate::setFontSize):
459         (QWebPreferencesPrivate::fontSize):
460         * UIProcess/API/qt/qwebpreferences_p.h:
461         * UIProcess/API/qt/qwebpreferences_p_p.h:
462
463 2013-02-26  Anders Carlsson  <andersca@apple.com>
464
465         Implement StorageAreaProxy::getItem and StorageAreaProxy::setItem
466         https://bugs.webkit.org/show_bug.cgi?id=110927
467
468         Reviewed by Sam Weinig.
469
470         * UIProcess/Storage/StorageManager.cpp:
471         (WebKit::StorageManager::setItem):
472         * UIProcess/Storage/StorageManager.h:
473         Add empty stub.
474         
475         * UIProcess/Storage/StorageManager.messages.in:
476         Add SetItem message.
477
478         * WebProcess/Storage/StorageAreaProxy.cpp:
479         (WebKit::StorageAreaProxy::getItem):
480         Fill the storage map and get the item from it.
481
482         (WebKit::StorageAreaProxy::setItem):
483         Update the storage map and send a SetItem message to the UI process.
484
485 2013-02-26  Anders Carlsson  <andersca@apple.com>
486
487         StorageAreaProxy should hold on to a StorageMap and not a HashMap
488         https://bugs.webkit.org/show_bug.cgi?id=110919
489
490         Reviewed by Jessie Berlin.
491
492         Create a storage map instead of a hash map.
493
494         * WebProcess/Storage/StorageAreaProxy.cpp:
495         (WebKit::StorageAreaProxy::length):
496         (WebKit::StorageAreaProxy::loadValuesIfNeeded):
497         * WebProcess/Storage/StorageAreaProxy.h:
498         (WebCore):
499         (StorageAreaProxy):
500
501 2013-02-26  Anders Carlsson  <andersca@apple.com>
502
503         Fix a copy/paste error in WebLoaderClient::didBlockInsecurePluginVersion
504         https://bugs.webkit.org/show_bug.cgi?id=110914
505         <rdar://problem/13297581>
506
507         Reviewed by Beth Dakin.
508
509         Pass kWKErrorCodeInsecurePlugInVersion to the pluginDidFail callback.
510
511         * UIProcess/WebLoaderClient.cpp:
512         (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
513
514 2013-02-26  Jer Noble  <jer.noble@apple.com>
515
516         Unreviewed build fix; use correct macro for platform name in FeatureDefines.xcconfig.
517
518         * Configurations/FeatureDefines.xcconfig:
519
520 2013-02-26  Manuel Rego Casasnovas  <rego@igalia.com>
521
522         [WK2][GTK] REGRESSION (r143463): unit test failure in WebKit2APITests/TestContextMenu
523         https://bugs.webkit.org/show_bug.cgi?id=110869
524
525         Reviewed by Martin Robinson.
526
527         Test was failing because of new media controls needs more space to be
528         painted than just 10x10 pixels.
529
530         * UIProcess/API/gtk/tests/TestContextMenu.cpp:
531         (testContextMenuDefaultMenu): Modified test in order to give more space
532         to the media controls.
533
534 2013-02-26  Dean Jackson  <dino@apple.com>
535
536         Draw intermediate snapshots if possible
537         https://bugs.webkit.org/show_bug.cgi?id=110811
538
539         Reviewed by Simon Fraser.
540
541         After http://webkit.org/b/110495 we delayed snapshotting until we've
542         received a nice image, but this made the page look like it is broken.
543         We should draw any intermediate snapshots that we find, which might
544         include content such as progress bars/spinners.
545
546         * WebProcess/Plugins/PluginView.cpp:
547         (WebKit): Reinstate 60 attempts at snapshots before giving up.
548         (WebKit::PluginView::isAcceleratedCompositingEnabled): We do not
549         want accelerated compositing enabled when we are trying to capture
550         snapshots.
551
552 2013-02-26  Andras Becsi  <andras.becsi@digia.com>
553
554         Remove nonexistent StringPairVector.h from Target.pri after r142839
555
556         Unreviewed gardening.
557
558         * Target.pri:
559
560 2013-02-26  Simon Hausmann  <simon.hausmann@digia.com>
561
562         Unreviewed trivial !ENABLE(NETSCAPE_PLUGIN_API) build fix
563
564         Add an intermediate pluginName string variable instead of
565         accessing plugin.info outside the feature #ifdef.
566
567         * UIProcess/WebPageProxy.cpp:
568         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
569
570 2013-02-25  Huang Dongsung  <luxtella@company100.net>
571
572         Coordinated Graphics: remove redundant update of non compositing layer.
573         https://bugs.webkit.org/show_bug.cgi?id=110444
574
575         Reviewed by Noam Rosenthal.
576
577         Currently, we update non compositing layer when the page scrolled. However, it
578         is not needed, because TiledBackingStore can scroll without tile update.
579
580         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
581         (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
582         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
583         (CoordinatedLayerTreeHost):
584
585 2013-02-25  Jer Noble  <jer.noble@apple.com>
586
587         REGRESSION(r143981): Crash in WebFrameLoaderClient::dispatchDidStartProvisionalLoad()
588         https://bugs.webkit.org/show_bug.cgi?id=110848
589
590         Reviewed by Ryosuke Niwa.
591
592         NULL-check the result of document->documentElement().
593
594         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
595         (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
596
597 2013-02-25  Anders Carlsson  <andersca@apple.com>
598
599         Add a new unavailablePluginButtonClicked callback that takes a WKDictionary of plug-in information
600         https://bugs.webkit.org/show_bug.cgi?id=110821
601
602         Reviewed by Beth Dakin.
603
604         * UIProcess/API/C/WKPage.cpp:
605         (WKPageGetPluginInformationPluginspageAttributeURLKey):
606         (WKPageGetPluginInformationPluginURLKey):
607         Add two new API key getters.
608         
609         * UIProcess/API/C/WKPage.h:
610         Add a new callback and deprecate the old callback.
611         
612         * UIProcess/WebLoaderClient.cpp:
613         (WebKit::WebLoaderClient::didFailToInitializePlugin):
614         (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
615         (WebKit::WebLoaderClient::pluginLoadPolicy):
616         Make the pluginInformationDictionary a static member function of WebPageProxy so it
617         can be called from WebUIClient as well.
618         
619         * UIProcess/WebPageProxy.cpp:
620         (WebKit::WebPageProxy::getPluginPath):
621         Pass the bundle version as well.
622
623         (WebKit::WebPageProxy::pluginInformationPluginspageAttributeURLKey):
624         (WebKit::WebPageProxy::pluginInformationPluginURLKey):
625         Add two new keys.
626
627         (WebKit::WebPageProxy::pluginInformationDictionary):
628         Handle more keys.
629
630         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
631         Get the plug-in bundle identifier and version.
632
633         * UIProcess/WebPageProxy.messages.in:
634         Pass along more information; the frame and page URLs.
635
636         * UIProcess/WebUIClient.cpp:
637         (WebKit::WebUIClient::unavailablePluginButtonClicked):
638         Call the new callback if it's supported.
639
640         * UIProcess/WebUIClient.h:
641         (WebUIClient):
642         * UIProcess/mac/WebInspectorProxyMac.mm:
643         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
644         Update for API changes.
645
646         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
647         (WebKit::WebChromeClient::unavailablePluginButtonClicked):
648         Ensure that the pluginspage attribute is a valid URL.
649
650 2013-02-21  Jeffrey Pfau  <jpfau@apple.com>
651
652         Optionally partition cache to prevent using cache for tracking
653         https://bugs.webkit.org/show_bug.cgi?id=110269
654
655         Reviewed by Maciej Stachowiak.
656
657         Update WKSI bindings and add feature defines.
658
659         * Configurations/FeatureDefines.xcconfig: Add defines for cache partitioning and public suffix list usage
660         * WebCoreSupport/WebSystemInterface.mm:
661         (InitWebCoreSystemInterface):
662
663 2013-02-25  Jer Noble  <jer.noble@apple.com>
664
665         Normalize ENABLE_ENCRYPTED_MEDIA definitions across all FeatureDefines files.
666         https://bugs.webkit.org/show_bug.cgi?id=110806
667
668         Ensure both ENCRYPTED_MEDIA and ENCRYPTED_MEDIA_V2 are enabled on macosx_1090.
669
670         Reviewed by Alexey Proskuryakov.
671
672         * Configurations/FeatureDefines.xcconfig:
673
674 2013-02-25  Jer Noble  <jer.noble@apple.com>
675
676         Full screen mode should not exit when application resigns active state.
677         https://bugs.webkit.org/show_bug.cgi?id=106129
678
679         Reviewed by Darin Adler.
680
681         Now that full screen windows get their own full screen space, there is no reason to exit full
682         screen mode when the application resigns active state. Instead, the windowserver will bring the
683         space containing the newly active application to the foreground. The user can then swipe back
684         to the full screen space (or use Mission Control) to get back to the full screen window.
685
686         * UIProcess/mac/WKFullScreenWindowController.mm:
687         (-[WKFullScreenWindowController windowDidLoad]): Remove the applicationDidResignActive: notification from WKFullScreenWindowController.
688
689 2013-02-25  Jer Noble  <jer.noble@apple.com>
690
691         Safari shows empty window and paints webpage in full-screen background
692         https://bugs.webkit.org/show_bug.cgi?id=103712
693
694         Reviewed by Darin Adler.
695
696         When canceling full screen mode due to a provisional load, exit normally instead of closing the
697         full screen window controller. Additionally, to ensure full screen is cancelled when the enclosing
698         frame around a full screen iframe is navigated, check to see if the navigating document contains
699         a full screen element, rather than checking whether the document itself is full screen.
700
701         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
702         (WebKit::WebFrameLoaderClient::dispatchDidStartProvisionalLoad):
703
704 2013-02-25  Anders Carlsson  <andersca@apple.com>
705
706         Fix build.
707
708         * UIProcess/WebPageProxy.cpp:
709         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
710
711 2013-02-25  Anders Carlsson  <andersca@apple.com>
712
713         Add a new pluginDidFail callback that takes a WKDictionary of plug-in information
714         https://bugs.webkit.org/show_bug.cgi?id=110793
715         <rdar://problem/13265303>
716
717         Reviewed by Sam Weinig.
718
719         Add a new pluginDidFail callback that takes a WKDictionaryRef and also pass in the
720         frame and page URLs.
721
722         * UIProcess/API/C/WKPage.h:
723         * UIProcess/WebLoaderClient.cpp:
724         (WebKit::pluginInformationDictionary):
725         (WebKit::WebLoaderClient::didFailToInitializePlugin):
726         (WebKit::WebLoaderClient::didBlockInsecurePluginVersion):
727         (WebKit::WebLoaderClient::pluginLoadPolicy):
728         * UIProcess/WebLoaderClient.h:
729         * UIProcess/WebPageProxy.cpp:
730         (WebKit::WebPageProxy::didFailToInitializePlugin):
731         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
732         * UIProcess/WebPageProxy.h:
733         * UIProcess/WebPageProxy.messages.in:
734         * WebProcess/Plugins/PluginView.cpp:
735         (WebKit::PluginView::didFailToInitializePlugin):
736         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
737         (WebKit::WebFrameLoaderClient::createJavaAppletWidget):
738         * WebProcess/WebPage/WebPage.cpp:
739         (WebKit::WebPage::createPlugin):
740
741 2013-02-25  Tim Horton  <timothy_horton@apple.com>
742
743         PDFPlugin: Tab between text annotations
744         https://bugs.webkit.org/show_bug.cgi?id=106539
745         <rdar://problem/12751789>
746
747         Reviewed by Darin Adler.
748
749         Use [PDFLayerController activateNextAnnotation:] to advance focus when the tab key is hit while inside a PDF form.
750
751         Also, a drive-by fix to make the lifetime of PDFPluginAnnotationEventListener's m_annotation pointer more explicit.
752
753         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add activateNextAnnotation: SPI.
754         * WebProcess/Plugins/PDF/PDFPlugin.h:
755         (PDFPlugin): Add focus(Next|Previous)Annotation.
756         * WebProcess/Plugins/PDF/PDFPlugin.mm:
757         (WebKit::PDFPlugin::focusNextAnnotation): Ask PDFLayerController to focus the next annotation.
758         (WebKit::PDFPlugin::focusPreviousAnnotation): Ask PDFLayerController to focus the next annotation.
759         * WebProcess/Plugins/PDF/PDFPluginAnnotation.h: Drive-by, initialize m_parent to 0.
760         (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::setAnnotation): Added.
761         * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
762         (WebKit::PDFPluginAnnotation::attach): Use eventNames() instead of string literals.
763         (WebKit::PDFPluginAnnotation::~PDFPluginAnnotation): Clear the event listener's reference to its annotation.
764         (WebKit::PDFPluginAnnotation::PDFPluginAnnotationEventListener::handleEvent): Null-check the event listener's annotation.
765         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.h:
766         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotation): Create our PDFPluginTextAnnotationEventListener.
767         (PDFPluginTextAnnotationEventListener): Added an event listener (for keydown events in form fields).
768         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::create):
769         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::setTextAnnotation):
770         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::PDFPluginTextAnnotationEventListener):
771         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
772         (WebKit::PDFPluginTextAnnotation::~PDFPluginTextAnnotation): Unregister our keydown event listener.
773         (WebKit::PDFPluginTextAnnotation::createAnnotationElement): Register our keydown event listener.
774         (WebKit::PDFPluginTextAnnotation::PDFPluginTextAnnotationEventListener::handleEvent): Ask PDFPlugin to focus
775         the next/previous annotation when the tab key is pressed (Shift-Tab goes backwards).
776
777 2013-02-25  Alexey Proskuryakov  <ap@apple.com>
778
779         <rdar://problem/12976385> Remove rule to silence attempts to create the ~/Library/Caches/com.apple.WebKit2.WebProcessService directory
780
781         Reviewed by Anders Carlsson.
782
783         * WebProcess/com.apple.WebProcess.sb.in: Remove the obsolete rule. We no longer
784         have a "WebProcessService".
785
786 2013-02-25  Andras Becsi  <andras.becsi@digia.com>
787
788         [Qt][WK2] Remove unneeded method didResumeContent from PageViewportController clients
789         https://bugs.webkit.org/show_bug.cgi?id=110751
790
791         Reviewed by Jocelyn Turcotte.
792
793         This is a clean-up in the PageViewportController clients that removes leftover
794         code from previous design that is partially unused and unnecessary, to simplify
795         the interaction between PageViewportController and clients.
796
797         * UIProcess/PageViewportController.cpp:
798         (WebKit::PageViewportController::resumeContent):
799         * UIProcess/PageViewportControllerClient.h:
800         (PageViewportControllerClient):
801         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
802         * UIProcess/efl/PageViewportControllerClientEfl.h:
803         (PageViewportControllerClientEfl):
804         * UIProcess/qt/PageViewportControllerClientQt.cpp:
805         (WebKit::PageViewportControllerClientQt::animateContentRectVisible):
806         (WebKit::PageViewportControllerClientQt::flickMoveEnded):
807         (WebKit::PageViewportControllerClientQt::resumeAndUpdateContent):
808         (WebKit::PageViewportControllerClientQt::pinchGestureCancelled):
809         * UIProcess/qt/PageViewportControllerClientQt.h:
810         (PageViewportControllerClientQt):
811
812 2013-02-25  Andreas Kling  <akling@apple.com>
813
814         Reduce amount of code that includes StylePropertySet.h
815         <http://webkit.org/b/101149>
816
817         Reviewed by Antti Koivisto.
818
819         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
820
821 2013-02-24  Andreas Kling  <akling@apple.com>
822
823         Reduce include graph of JSDOMBinding.h
824         <http://webkit.org/b/110709>
825
826         Reviewed by Antti Koivisto.
827
828         * Shared/WebRenderObject.cpp:
829         (WebKit::WebRenderObject::WebRenderObject):
830         * WebProcess/Storage/StorageAreaProxy.cpp:
831
832 2013-02-22  Sam Weinig  <sam@webkit.org>
833
834         Add temporary work around for 32-bit plugins not working in production builds as XPCServices
835         https://bugs.webkit.org/show_bug.cgi?id=110680
836         <rdar://problem/13236883>
837
838         Reviewed by Anders Carlsson.
839
840         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
841         (WebKit::shouldUseXPC):
842         Temporarily don't use XPC for plug-ins for Safari while we figure out why the
843         32-bit XPCService is being built universal.
844
845 2013-02-22  Tim Horton  <timothy_horton@apple.com>
846
847         [WK2] The root and page overlay layers should be the size of the view, not the content
848         https://bugs.webkit.org/show_bug.cgi?id=110660
849         <rdar://problem/13096456>
850
851         Reviewed by Simon Fraser.
852
853         Use the view size for the size of the root and page overlay layers.
854         For one, we never update these layers' sizes when the content size changes, causing size mismatches.
855         In addition, there's no reason an overlay shouldn't be able to draw outside of the bounds of the content.
856
857         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
858         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
859         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
860
861 2013-02-22  Anders Carlsson  <andersca@apple.com>
862
863         pluginLoadStrategy should take a WKDictionaryRef for extensibility
864         https://bugs.webkit.org/show_bug.cgi?id=110656
865         <rdar://problem/13265303>
866
867         Reviewed by Jessie Berlin.
868
869         Change pluginLoadStrategy to take a WKDictionaryRef instead of a number of parameters;
870         this lets us add more plug-in information if needed. Also add the page URL and rename documentURL to frameURL.
871
872         * UIProcess/API/C/WKPage.cpp:
873         (WKPageGetPluginInformationBundleIdentifierKey):
874         (WKPageGetPluginInformationBundleVersionKey):
875         (WKPageGetPluginInformationDisplayNameKey):
876         (WKPageGetPluginInformationFrameURLKey):
877         (WKPageGetPluginInformationMIMETypeKey):
878         (WKPageGetPluginInformationPageURLKey):
879         * UIProcess/API/C/WKPage.h:
880         * UIProcess/WebLoaderClient.cpp:
881         (WebKit):
882         (WebKit::WebLoaderClient::pluginLoadPolicy):
883         * UIProcess/WebLoaderClient.h:
884         (WebLoaderClient):
885         * UIProcess/WebPageProxy.cpp:
886         (WebKit::WebPageProxy::getPluginPath):
887         (WebKit::WebPageProxy::pluginInformationBundleIdentifierKey):
888         (WebKit):
889         (WebKit::WebPageProxy::pluginInformationBundleVersionKey):
890         (WebKit::WebPageProxy::pluginInformationDisplayNameKey):
891         (WebKit::WebPageProxy::pluginInformationFrameURLKey):
892         (WebKit::WebPageProxy::pluginInformationMIMETypeKey):
893         (WebKit::WebPageProxy::pluginInformationPageURLKey):
894         * UIProcess/WebPageProxy.h:
895         (WebPageProxy):
896         * UIProcess/WebPageProxy.messages.in:
897         * WebProcess/WebPage/WebPage.cpp:
898         (WebKit::WebPage::createPlugin):
899         (WebKit::WebPage::canPluginHandleResponse):
900
901 2013-02-22  Anders Carlsson  <andersca@apple.com>
902
903         Move pluginLoadPolicy to the page loader client
904         https://bugs.webkit.org/show_bug.cgi?id=110635
905         <rdar://problem/13265303>
906         
907         Reviewed by Sam Weinig.
908
909         Move the pluginLoadPolicy callback to the page loader client where it belongs.
910
911         * UIProcess/API/C/WKPage.h:
912         * UIProcess/WebLoaderClient.cpp:
913         (WebKit::toWKPluginLoadPolicy):
914         (WebKit):
915         (WebKit::toPluginModuleLoadPolicy):
916         (WebKit::WebLoaderClient::pluginLoadPolicy):
917         * UIProcess/WebLoaderClient.h:
918         (WebLoaderClient):
919         * UIProcess/WebPageProxy.cpp:
920         (WebKit::WebPageProxy::getPluginPath):
921         * UIProcess/WebUIClient.cpp:
922         (WebKit):
923         * UIProcess/WebUIClient.h:
924         (WebUIClient):
925         * UIProcess/mac/WebInspectorProxyMac.mm:
926         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
927
928 2013-02-21  Jer Noble  <jer.noble@apple.com>
929
930         Two video contollers appear after exiting the fullscreen video when using menubar to exit.
931         https://bugs.webkit.org/show_bug.cgi?id=110506
932
933         Reviewed by Eric Carlson.
934
935         When we are notified that the fullscreen window is about to exit fullscreen mode unrequested,
936         call requestExitFullScreen(), as that will result in Document::webkitExitFullScreen() correctly
937         tearing down the fullscreen state.
938
939         * UIProcess/mac/WKFullScreenWindowController.mm:
940         (-[WKFullScreenWindowController _startExitFullScreenAnimationWithDuration:]):
941
942 2013-02-22  Balazs Kelemen  <kbalazs@webkit.org>
943
944         Yet another unreviewed buildfix after r143714.
945
946         * UIProcess/efl/WebView.cpp:
947         (WebKit::WebView::paintToCairoSurface):
948
949 2013-02-22  Balazs Kelemen  <kbalazs@webkit.org>
950
951         Unreviewed preventive buildfix after my last commit.
952
953         * UIProcess/API/efl/EwkView.cpp:
954         * UIProcess/efl/WebView.cpp:
955
956 2013-02-22  Balazs Kelemen  <kbalazs@webkit.org>
957
958         [CoordGfx] Minor cleanup in CoordinatedGraphicsScene::paintToGraphicsContext
959         https://bugs.webkit.org/show_bug.cgi?id=109824
960
961         Reviewed by Andreas Kling.
962
963         Avoid ugly ifdefs by using PlatformGraphicsContext.
964
965         * UIProcess/API/efl/EwkView.cpp:
966         (EwkView::displayTimerFired):
967
968 2013-02-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
969
970         [WK2][EFL] Remove declaration of non-existent functions from EwkView
971         https://bugs.webkit.org/show_bug.cgi?id=110572
972
973         Reviewed by Kenneth Rohde Christiansen.
974
975         Removed declarations of non-existent EwkView::paintToCurrentGLContext() and
976         EwkView::paintToCairoSurface(cairo_surface_t*) that were accidentally
977         left at r143699.
978
979         * UIProcess/API/efl/EwkView.h:
980         (EwkView):
981
982 2013-02-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
983
984         [WK2][EFL] Clean up PageViewportControllerClientEfl class
985         https://bugs.webkit.org/show_bug.cgi?id=110438
986
987         Reviewed by Andreas Kling.
988
989         Cleaned up PageViewportControllerClientEfl class from unused methods
990         and class members, eliminated access to WK2 internals from this class.
991
992         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
993         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
994         * UIProcess/efl/PageViewportControllerClientEfl.h:
995         (WebKit::PageViewportControllerClientEfl::~PageViewportControllerClientEfl):
996         (PageViewportControllerClientEfl):
997         * UIProcess/efl/WebView.cpp:
998         (WebKit::WebView::WebView):
999         (WebKit::WebView::updateViewportSize):
1000
1001 2013-02-22  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
1002
1003         [WK2][EFL][GTK][Qt] Add context menu item tags for C API
1004         https://bugs.webkit.org/show_bug.cgi?id=109815
1005
1006         Reviewed by Anders Carlsson.
1007
1008         This patch adds context menu item tags used by EFL, GTK and Qt ports, defined in
1009         WebCore to WK2 C API.
1010
1011         * Shared/API/c/WKContextMenuItemTypes.h:
1012         * Shared/API/c/WKSharedAPICast.h:
1013         (WebKit::toAPI):
1014         (WebKit::toImpl):
1015
1016 2013-02-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1017
1018         [WK2][EFL] Move AC code from EwkView to WebView
1019         https://bugs.webkit.org/show_bug.cgi?id=110216
1020
1021         Reviewed by Anders Carlsson.
1022
1023         Accelerated compositing code is moved from EwkView to WebView.
1024         Added new WKView API to be used from EwkView instead of direct accessing
1025         to coordinated graphics scene.
1026
1027         * UIProcess/API/C/efl/WKView.cpp:
1028         (WKViewSetUserViewportTranslation):
1029         (WKViewUserViewportToContents):
1030         (WKViewPaintToCurrentGLContext):
1031         (WKViewPaintToCairoSurface):
1032         * UIProcess/API/C/efl/WKView.h:
1033
1034             Added WKView API functions.
1035
1036         * UIProcess/API/efl/EwkView.cpp:
1037         (EwkView::EwkView):
1038         (EwkView::displayTimerFired):
1039         (EwkView::feedTouchEvent):
1040         (EwkView::createGLSurface):
1041         (EwkView::handleEvasObjectCalculate):
1042         (EwkView::handleEwkViewMouseWheel):
1043         (EwkView::handleEwkViewMouseDown):
1044         (EwkView::handleEwkViewMouseUp):
1045         (EwkView::handleEwkViewMouseMove):
1046         * UIProcess/API/efl/EwkView.h:
1047         (EwkView):
1048
1049             Using new WKView API.
1050
1051         * UIProcess/efl/WebView.cpp:
1052         (WebKit::WebView::initialize):
1053         (WebKit):
1054         (WebKit::WebView::paintToCurrentGLContext):
1055         (WebKit::WebView::paintToCairoSurface):
1056         (WebKit::WebView::userViewportToContents):
1057         (WebKit::WebView::transformFromScene):
1058         (WebKit::WebView::transformToScene):
1059         (WebKit::WebView::coordinatedGraphicsScene):
1060         (WebKit::WebView::enterAcceleratedCompositingMode):
1061         (WebKit::WebView::exitAcceleratedCompositingMode):
1062         * UIProcess/efl/WebView.h:
1063         (WebCore):
1064         (WebKit::WebView::setUserViewportTranslation):
1065         (WebView):
1066
1067             Added WebView methods to support new WKView API.
1068
1069 2013-02-21  Dima Gorbik  <dgorbik@apple.com>
1070
1071         QuickTime plugin doesn't load when accelerated compositing is disabled
1072         https://bugs.webkit.org/show_bug.cgi?id=110534
1073
1074         Reviewed by Anders Carlsson.
1075
1076         We shouldn't disable accelerated compositing for plugins, because
1077         plugins such as QuickTime rely on this and will try to set other drawing
1078         models that we don't support.
1079
1080         * WebProcess/Plugins/PluginView.cpp:
1081         (WebKit::PluginView::isAcceleratedCompositingEnabled):
1082
1083 2013-02-21  Dean Jackson  <dino@apple.com>
1084
1085         Plug-in snapshotting code always accepts first snapshot
1086         https://bugs.webkit.org/show_bug.cgi?id=110495
1087
1088         Reviewed by Tim Horton.
1089
1090         When we detect a plugin that can be snapshotted we start capturing
1091         images until we find one that we believe isn't blank, or we timeout.
1092         I introduced a regression recently where we swap renderers as
1093         soon as the snapshot arrives, whether or not is is blank.
1094
1095         The fix was to have the embedder (currently only WK2) be the one
1096         who tells the HTMLPlugInElement to start displaying snapshots.
1097
1098         * WebProcess/Plugins/PluginView.cpp:
1099         (WebKit::PluginView::pluginSnapshotTimerFired): When we find a
1100         snapshot that we like, tell the HTMLPlugInElement to move to
1101         the snapshot view.
1102
1103 2013-02-21  Carlos Garcia Campos  <cgarcia@igalia.com>
1104
1105         Unreviewed. Fix make distcheck.
1106
1107         * GNUmakefile.am: Add -DBUILDING_WEBKIT flags to introspection
1108         scanner.
1109         * GNUmakefile.list.am: Add missing header to compilation and
1110         remove one that no longer exists.
1111
1112 2013-02-21  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1113
1114         [WK2][EFL] Move PageViewportController and PageViewportControllerClientEfl out from WebView
1115         https://bugs.webkit.org/show_bug.cgi?id=110345
1116
1117         Reviewed by Andreas Kling.
1118
1119         WebView does not need to know about both PageViewportController and 
1120         PageViewportControllerClientEfl. Considering the fact that PageViewportController
1121         will stop being WK2 internal and will be based on WK2 C API, it 
1122         should be owned by EwkView rather than WebView.
1123
1124         This patch is also a preparation for WKViewClient API extension to cover all
1125         the places where PageViewportController and PageViewportControllerClientEfl
1126         are accessed directly from WebView at the moment.
1127
1128         * UIProcess/API/efl/EwkView.cpp:
1129         (EwkView::EwkView):
1130         * UIProcess/API/efl/EwkView.h:
1131         (WebKit):
1132         (EwkView::pageViewportControllerClient):
1133         (EwkView::pageViewportController):
1134         (EwkView):
1135         * UIProcess/efl/WebView.cpp:
1136         (WebKit::WebView::didCommitLoad):
1137         (WebKit::WebView::updateViewportSize):
1138         (WebKit::WebView::didChangeContentsSize):
1139         (WebKit::WebView::didChangeViewportProperties):
1140         (WebKit::WebView::pageDidRequestScroll):
1141         (WebKit::WebView::didRenderFrame):
1142         (WebKit::WebView::pageTransitionViewportReady):
1143         * UIProcess/efl/WebView.h:
1144         (WebView):
1145
1146 2013-02-20  Tim Horton  <timothy_horton@apple.com>
1147
1148         Provide WKView SPI to defer telling the WebPageProxy and WebProcess about changes in the hosting window
1149         https://bugs.webkit.org/show_bug.cgi?id=110415
1150         <rdar://problem/13095405>
1151
1152         Reviewed by Simon Fraser.
1153
1154         * UIProcess/API/mac/WKView.mm: Add _viewInWindowChangesDeferredCount and _viewInWindowChangeWasDeferred to WKViewData.
1155         (-[WKView viewDidMoveToWindow]): If we're deferring window changes, don't include the ViewIsInWindow flag
1156         when sending viewStateDidChange. Instead, save the fact that we want to do that later aside.
1157         (-[WKView beginDeferringViewInWindowChanges]):
1158         (-[WKView endDeferringViewInWindowChanges]): Straightforward begin/end pair. When we exit the last pair and
1159         have a pending window change, let the WebPageProxy know. WebPageProxy will do the check to ensure that
1160         the in-window state has actually changed.
1161         (-[WKView isDeferringViewInWindowChanges]):
1162         * UIProcess/API/mac/WKViewPrivate.h: 
1163
1164 2013-02-20  Kiran Muppala  <cmuppala@apple.com>
1165
1166         Disable window occlusion notifications for App Store on Mac.
1167         https://bugs.webkit.org/show_bug.cgi?id=110417
1168
1169         Reviewed by Simon Fraser.
1170
1171         Temporary fix to workaround issues with window occlusion notifications
1172         in App Store.
1173
1174         * UIProcess/API/mac/WKView.mm:
1175         (+[WKView _registerWindowOcclusionNotificationHandlers]): Return early
1176         if the main bundle identifier matches that of App Store.
1177
1178 2013-02-20  Mark Rowe  <mrowe@apple.com>
1179
1180         <https://webkit.org/b/110410> Specify the plug-in process / service entitlements via the Xcode configuration.
1181
1182         This is the modern mechanism for applying entitlements to production builds,
1183         and it simplifies the maintenance of entitlements going forward. It also allows
1184         us to fix the new XPC PluginServices to have the same entitlements as PluginProcess.
1185
1186         Reviewed by Alexey Proskuryakov.
1187
1188         * Configurations/Base.xcconfig: Ad-hoc sign all WebKit2 components.
1189         * Configurations/PluginProcess.xcconfig: Specify the entitlements to use.
1190         * Configurations/PluginService.32.xcconfig: Ditto.
1191         * Configurations/PluginService.64.xcconfig: Ditto.
1192         * Configurations/PluginService.Development.xcconfig: Ditto.
1193         * Configurations/PluginService.entitlements: Renamed from Source/WebKit2/PluginProcess/mac/PluginProcess.entitlements.
1194         Move the entitlements in to the Configurations directory to make them easier to find.
1195         * PluginProcess/mac/add-entitlements.sh: Removed. In my testing the dependency issue mentioned
1196         in the script is not an issue with current versions of Xcode. If we see it again we can come
1197         up with a workaround that doesn't involve performing the signing via a script phase.
1198         * WebKit2.xcodeproj/project.pbxproj:
1199
1200 2013-02-20  Mark Rowe  <mrowe@apple.com>
1201
1202         <https://webkit.org/b/110409> Remove duplication between 32- and 64-bit PluginService plists.
1203
1204         Reviewed by Dan Bernstein.
1205
1206         The only difference between the plists was the CFBundleIdentifier. Since the values are the
1207         same as the product name, we can just use the value of the PRODUCT_NAME configuration setting.
1208
1209         * Configurations/PluginService.32.xcconfig:
1210         * Configurations/PluginService.64.xcconfig:
1211         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist: Renamed from Source/WebKit2/PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist.
1212         * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist: Removed.
1213
1214 2013-02-20  Simon Fraser  <simon.fraser@apple.com>
1215
1216         Zoomed, slow-scrolling pages keep recreating tiles when scrolled
1217         https://bugs.webkit.org/show_bug.cgi?id=110379
1218
1219         Reviewed by Tim Horton.
1220
1221         Make the visible rect and exposed rects passed through
1222         the drawing area to the tile cache FloatRects instead of IntRects.
1223
1224         * UIProcess/API/mac/WKView.mm:
1225         (-[WKView setFrameSize:]):
1226         (-[WKView _updateWindowAndViewFrames]):
1227         (-[WKView enableFrameSizeUpdates]):
1228         (-[WKView setMinimumWidthForAutoLayout:]):
1229         * UIProcess/WebPageProxy.h:
1230         * UIProcess/mac/WebPageProxyMac.mm:
1231         (WebKit::WebPageProxy::viewExposedRectChanged):
1232         * WebProcess/WebPage/DrawingArea.h:
1233         (WebKit::DrawingArea::setExposedRect):
1234         * WebProcess/WebPage/WebPage.cpp:
1235         (WebKit::WebPage::viewExposedRectChanged):
1236         * WebProcess/WebPage/WebPage.h:
1237         * WebProcess/WebPage/WebPage.messages.in:
1238         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1239         (TiledCoreAnimationDrawingArea):
1240         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1241         (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
1242
1243 2013-02-20  Dirk Schulze  <krit@webkit.org>
1244
1245         Enable CANVAS_PATH flag
1246         https://bugs.webkit.org/show_bug.cgi?id=108508
1247
1248         Reviewed by Simon Fraser.
1249
1250         Enable CANVAS_PATH flag on trunk.
1251
1252         * Configurations/FeatureDefines.xcconfig:
1253
1254 2013-02-20  Laszlo Gombos  <l.gombos@samsung.com>
1255
1256         Remove unnecessary includes for Platform.h from headers
1257         https://bugs.webkit.org/show_bug.cgi?id=110300
1258
1259         Reviewed by Alexey Proskuryakov.
1260
1261         wtf/Platform.h only need to be included in a few places directly    
1262         as it is included in config.h. Remove the unnecessay duplicate as    
1263         it can be confusing.
1264
1265         * Shared/PrintInfo.h:
1266
1267 2013-02-20  Huang Dongsung  <luxtella@company100.net>
1268
1269         [WK2] Remove m_viewportSize in WebPage.
1270         https://bugs.webkit.org/show_bug.cgi?id=110311
1271
1272         Reviewed by Anders Carlsson.
1273
1274         EFL and Qt use m_viewSize as a contents size while Apple use it as a viewport
1275         size, so EFL and Qt introduced m_viewportSize to make WebPage know a viewport
1276         size.
1277
1278         EFL and Qt use m_viewSize as a contents size because the size of non compositing
1279         layer is contents size, and EFL and Qt mark whole non compositing layer as dirty
1280         using m_viewSize. Bug 110299 (http://webkit.org/b/110299) changes that it is not
1281         necessary to know m_viewSize when marking whole non compositing layer as dirty.
1282         So we can make EFL and Qt use m_viewSize as a viewport size also.
1283
1284         This patch removes m_viewportSize and related methods to increase readability.
1285
1286         * UIProcess/API/qt/raw/qrawwebview.cpp:
1287         (QRawWebView::setSize):
1288         * UIProcess/PageViewportController.cpp:
1289         (WebKit::PageViewportController::didChangeViewportSize):
1290         * UIProcess/WebPageProxy.cpp:
1291         (WebKit):
1292         * UIProcess/WebPageProxy.h:
1293         (WebPageProxy):
1294         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1295         (WebKit::WebChromeClient::pageRect):
1296         (WebKit::WebChromeClient::contentsSizeChanged):
1297         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1298         (WebKit::DrawingAreaImpl::updateBackingStoreState):
1299         * WebProcess/WebPage/WebPage.cpp:
1300         (WebKit::WebPage::setSize):
1301         (WebKit::WebPage::sendViewportAttributesChanged):
1302         * WebProcess/WebPage/WebPage.h:
1303         (WebPage):
1304         * WebProcess/WebPage/WebPage.messages.in:
1305
1306 2013-02-20  Huang Dongsung  <luxtella@company100.net>
1307
1308         [WK2] add setNeedsDisplay in DrawingArea to mark whole layer as dirty.
1309         https://bugs.webkit.org/show_bug.cgi?id=110299
1310
1311         Reviewed by Anders Carlsson.
1312
1313         Currently, we call setNeedsDisplay with the size of WebPage to mark whole
1314         backing store as dirty. However, the size of non compositing layer can be
1315         inconsistent with the size of WebPage. For example, in Coordinated Graphics, the
1316         size of non compositing layer is contents size.
1317
1318         So, WebPage should not assume the size of non compositing layer, and should just
1319         call setNeedsDisplay when marking whole layer as dirty.
1320
1321         In addition, this patch renames from setNeedsDisplay() with a rect argument to
1322         setNeedsDisplayInRect(), which matches to the terms of GraphicsLayer.
1323
1324         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1325         (WebKit::WebChromeClient::invalidateContentsAndRootView):
1326         (WebKit::WebChromeClient::invalidateContentsForSlowScroll):
1327         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1328         (WebKit::WebFrameLoaderClient::restoreViewState):
1329         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1330         (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplay):
1331         (WebKit):
1332         (WebKit::CoordinatedLayerTreeHost::setNonCompositedContentsNeedDisplayInRect):
1333         (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
1334         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
1335         (CoordinatedLayerTreeHost):
1336         * WebProcess/WebPage/DrawingArea.h:
1337         (DrawingArea):
1338         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1339         (WebKit::DrawingAreaImpl::setNeedsDisplay):
1340         (WebKit):
1341         (WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
1342         (WebKit::DrawingAreaImpl::scroll):
1343         (WebKit::DrawingAreaImpl::forceRepaint):
1344         (WebKit::DrawingAreaImpl::didUninstallPageOverlay):
1345         (WebKit::DrawingAreaImpl::setPageOverlayNeedsDisplay):
1346         (WebKit::DrawingAreaImpl::resumePainting):
1347         * WebProcess/WebPage/DrawingAreaImpl.h:
1348         (DrawingAreaImpl):
1349         * WebProcess/WebPage/LayerTreeHost.h:
1350         (LayerTreeHost):
1351         * WebProcess/WebPage/WebPage.cpp:
1352         (WebKit::WebPage::setSize):
1353         (WebKit::WebPage::setDrawsBackground):
1354         (WebKit::WebPage::setDrawsTransparentBackground):
1355         (WebKit::WebPage::resumeActiveDOMObjectsAndAnimations):
1356         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1357         (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplay):
1358         (WebKit):
1359         (WebKit::LayerTreeHostGtk::setNonCompositedContentsNeedDisplayInRect):
1360         (WebKit::LayerTreeHostGtk::scrollNonCompositedContents):
1361         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
1362         (LayerTreeHostGtk):
1363         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
1364         (LayerTreeHostMac):
1365         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
1366         (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplay):
1367         (WebKit):
1368         (WebKit::LayerTreeHostMac::setNonCompositedContentsNeedDisplayInRect):
1369         (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
1370         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1371         (RemoteLayerTreeDrawingArea):
1372         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1373         (WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplay):
1374         (WebKit):
1375         (WebKit::RemoteLayerTreeDrawingArea::setNeedsDisplayInRect):
1376         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1377         (TiledCoreAnimationDrawingArea):
1378         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1379         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplay):
1380         (WebKit):
1381         (WebKit::TiledCoreAnimationDrawingArea::setNeedsDisplayInRect):
1382
1383 2013-02-20  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1384
1385         [EFL][WK2] Port EwkPopupMenuItem to the C API
1386         https://bugs.webkit.org/show_bug.cgi?id=108798
1387
1388         Reviewed by Kenneth Rohde Christiansen.
1389
1390         Make use of the new WKPopupItem C API inside EwkPopupMenuItem to remove
1391         dependency on internal WebPopupItem type. Eina shared string members
1392         are now lazily initialized to make the object cheaper to construct.
1393
1394         * UIProcess/API/efl/ewk_popup_menu.cpp:
1395         (EwkPopupMenu::EwkPopupMenu):
1396         * UIProcess/API/efl/ewk_popup_menu_item.cpp:
1397         (EwkPopupMenuItem::EwkPopupMenuItem):
1398         (EwkPopupMenuItem::type):
1399         (EwkPopupMenuItem::textDirection):
1400         (EwkPopupMenuItem::text):
1401         (EwkPopupMenuItem::tooltipText):
1402         (EwkPopupMenuItem::accessibilityText):
1403         (EwkPopupMenuItem::hasTextDirectionOverride):
1404         (EwkPopupMenuItem::isEnabled):
1405         (EwkPopupMenuItem::isLabel):
1406         (EwkPopupMenuItem::isSelected):
1407         * UIProcess/API/efl/ewk_popup_menu_item_private.h:
1408         (EwkPopupMenuItem::create):
1409         (EwkPopupMenuItem):
1410
1411 2013-02-19  Tim Horton  <timothy_horton@apple.com>
1412
1413         Clarify isInWindow vs. isVisible path through to RenderLayerCompositor
1414         https://bugs.webkit.org/show_bug.cgi?id=110261
1415         <rdar://problem/13196122>
1416
1417         Reviewed by Simon Fraser.
1418
1419         * WebProcess/WebPage/WebPage.cpp:
1420         (WebKit::WebPage::setIsInWindow):
1421         Use Page::setIsInWindow in addition to willMoveOffscreen/didMoveOnscreen.
1422
1423 2013-02-19  Conrad Shultz  <conrad_shultz@apple.com>
1424
1425         Allow UI clients to handle vertical wheel events.
1426         https://bugs.webkit.org/show_bug.cgi?id=110006
1427
1428         Reviewed by Tim Horton.
1429
1430         Add API to allow clients to selectively control rubber-banding at vertical page extrema.
1431
1432         * UIProcess/API/C/WKPage.cpp:
1433         (WKPageRubberBandsAtBottom):
1434         Proxy for the corresponding function in WebCore::Page.
1435         (WKPageSetRubberBandsAtBottom):
1436         Ditto.
1437         (WKPageRubberBandsAtTop):
1438         Ditto.
1439         (WKPageSetRubberBandsAtTop):
1440         Ditto.
1441
1442         * UIProcess/API/C/WKPage.h:
1443         Declare new API.
1444
1445         * UIProcess/WebPageProxy.cpp:
1446         (WebKit::WebPageProxy::WebPageProxy):
1447         Initialize new member variables.
1448         (WebKit::WebPageProxy::setRubberBandsAtBottom):
1449         New function; dispatches a matching message to the WebKit::WebPage.
1450         (WebKit::WebPageProxy::setRubberBandsAtTop):
1451         Ditto.
1452
1453         * UIProcess/WebPageProxy.h:
1454         (WebPageProxy):
1455         Declare new API.
1456         (WebKit::WebPageProxy::rubberBandsAtBottom):
1457         New accessor function.
1458         (WebKit::WebPageProxy::rubberBandsAtTop):
1459         Ditto.
1460
1461         * WebProcess/WebPage/WebPage.cpp:
1462         (WebKit::WebPage::setRubberBandsAtBottom):
1463         New function; call the matching function on the associated WebCore::Page.
1464         (WebKit::WebPage::setRubberBandsAtTop):
1465         Ditto.
1466
1467         * WebProcess/WebPage/WebPage.h:
1468         (WebPage):
1469         Declare new rubber-banding API.
1470
1471         * WebProcess/WebPage/WebPage.messages.in:
1472         Declare new rubber-banding API.
1473
1474 2013-02-19  Anders Carlsson  <andersca@apple.com>
1475
1476         StorageAreaProxy should know its quota
1477         https://bugs.webkit.org/show_bug.cgi?id=110268
1478
1479         Reviewed by Sam Weinig.
1480
1481         Begin stubbing out StorageAreaProxy::setItem and add some quota member variables.
1482
1483         * WebProcess/Storage/StorageAreaProxy.cpp:
1484         (WebKit::StorageAreaProxy::StorageAreaProxy):
1485         (WebKit::StorageAreaProxy::setItem):
1486         * WebProcess/Storage/StorageAreaProxy.h:
1487         (StorageAreaProxy):
1488         * WebProcess/Storage/StorageNamespaceProxy.cpp:
1489         (WebKit::StorageNamespaceProxy::createSessionStorageNamespace):
1490         (WebKit::StorageNamespaceProxy::StorageNamespaceProxy):
1491         * WebProcess/Storage/StorageNamespaceProxy.h:
1492         (WebKit::StorageNamespaceProxy::quota):
1493         (StorageNamespaceProxy):
1494
1495 2013-02-19  Alexey Proskuryakov  <ap@apple.com>
1496
1497         <rdar://problem/13239119> NetworkProcess generates timeout spindump logs
1498
1499         Reviewed by Mark Rowe.
1500
1501         Don't keep a window server connection in processes that don't need it, and don't
1502         run an NSApplication run loop.
1503
1504         * Shared/ChildProcess.h:
1505         * Shared/mac/ChildProcessMac.mm: (WebKit::ChildProcess::shutdownWindowServerConnection):
1506         Added a function to shut down connections, and to make sure we don't get one in the future.
1507
1508         * NetworkProcess/mac/NetworkProcessMac.mm:
1509         (WebKit::NetworkProcess::initializeProcessName):
1510         * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm:
1511         (WebKit::OfflineStorageProcess::initializeProcessName):
1512         * SharedWorkerProcess/mac/SharedWorkerProcessMac.mm:
1513         (WebKit::SharedWorkerProcess::platformInitializeSharedWorkerProcess): Also removed
1514         some unused includes and forward declarations.
1515
1516 2013-02-18  Alexey Proskuryakov  <ap@apple.com>
1517
1518         [WK2] Cannot load documents with blob urls
1519         https://bugs.webkit.org/show_bug.cgi?id=110160
1520
1521         Reviewed by Sam Weinig.
1522
1523         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::canHandleRequest):
1524         Added knowledge about blobs.
1525
1526 2013-02-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1527
1528         [GTK] Move the API to get TLS certificate from WebKitURIResponse to WebKitWebView
1529         https://bugs.webkit.org/show_bug.cgi?id=110190
1530
1531         Reviewed by Anders Carlsson.
1532
1533         Add webkit_web_view_get_tls_info() and remove
1534         webkit_uri_response_get_https_status(). This way I can be sure
1535         that when called after load has been committed the certificate
1536         will be available. It also makes the API easier to use.
1537
1538         * UIProcess/API/gtk/WebKitURIResponse.cpp:
1539         * UIProcess/API/gtk/WebKitURIResponse.h:
1540         * UIProcess/API/gtk/WebKitURIResponsePrivate.h:
1541         * UIProcess/API/gtk/WebKitWebView.cpp:
1542         (webkitWebViewLoadChanged):
1543         (mainResourceResponseChangedCallback):
1544         (webkit_web_view_get_tls_info):
1545         * UIProcess/API/gtk/WebKitWebView.h:
1546         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
1547         * UIProcess/API/gtk/tests/TestSSL.cpp:
1548
1549 2013-02-19  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1550
1551         [WK2][EFL] Eliminate access to WK2 C++ internals from ewk_view functions
1552         https://bugs.webkit.org/show_bug.cgi?id=109794
1553
1554         Reviewed by Anders Carlsson.
1555
1556         * UIProcess/API/C/efl/WKView.cpp:
1557         (WKViewSetShowsAsSource):
1558         (WKViewGetShowsAsSource):
1559
1560             Added new WKView API to wrap WebPageProxy::setMainFrameInViewSourceMode()
1561             and WebPageProxy::mainFrameInViewSourceMode() calls.
1562
1563         (WKViewExitFullScreen):
1564
1565             Added new WKView API to wrap WebFullScreenManagerProxy::exitFullScreen()
1566             calls.
1567
1568         * UIProcess/API/C/efl/WKView.h:
1569         * UIProcess/API/efl/EwkView.cpp:
1570         (EwkView::feedTouchEvent):
1571
1572             Added feedTouchEvent() method so that: at first ewk_view_feed_touch_event()
1573             is not invoked from EwkView class, secondly ewk_view_feed_touch_event() does
1574             not access WebPage instance directly.
1575
1576         (EwkView::feedTouchEvents):
1577         * UIProcess/API/efl/EwkView.h:
1578         (EwkView):
1579         * UIProcess/API/efl/ewk_view.cpp:
1580         (ewk_view_feed_touch_event):
1581         (ewk_view_pagination_mode_set):
1582         (ewk_view_pagination_mode_get):
1583         (ewk_view_fullscreen_exit):
1584         (ewkViewPageContentsCallback):
1585         (ewk_view_page_contents_get):
1586         (ewk_view_source_mode_set):
1587         (ewk_view_source_mode_get):
1588
1589             Those are now using exported C API.
1590
1591         * UIProcess/efl/WebView.cpp:
1592         (WebKit::WebView::setShowsAsSource):
1593         (WebKit):
1594         (WebKit::WebView::showsAsSource):
1595         (WebKit::WebView::exitFullScreen):
1596         * UIProcess/efl/WebView.h:
1597         (WebView):
1598
1599             Added WebView methods to support added WKView API.
1600
1601 2013-02-19  Andras Becsi  <andras.becsi@digia.com>
1602
1603         [Qt][WK2] ASSERT(node) hit in WebPage::findZoomableAreaForPoint if no zoomable area found
1604         https://bugs.webkit.org/show_bug.cgi?id=110220
1605
1606         Reviewed by Allan Sandfeld Jensen.
1607
1608         If EventHandler::bestZoomableAreaForTouchPoint was unsuccessfull, eg.
1609         no node was found for a given point, we hit ASSERT(node).
1610         We should only assert for a valid node if a zoomable area was found.
1611
1612         * WebProcess/WebPage/WebPage.cpp:
1613         (WebKit::WebPage::findZoomableAreaForPoint):
1614
1615 2013-02-19  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1616
1617         Regression(r143273): Caused a lot of tests to time out
1618         https://bugs.webkit.org/show_bug.cgi?id=110212
1619
1620         Reviewed by Anders Carlsson.
1621
1622         StorageManager::destroySessionStorageNamespace() and StorageManager::cloneSessionStorageNamespace()
1623         should call their respective "*Internal" equivalent instead of calling themselves. This lead to
1624         a lot of time outs on our build bots.
1625
1626         * UIProcess/Storage/StorageManager.cpp:
1627         (WebKit::StorageManager::destroySessionStorageNamespace):
1628         (WebKit::StorageManager::cloneSessionStorageNamespace):
1629
1630 2013-02-18  Carlos Garcia Campos  <cgarcia@igalia.com>
1631
1632         [GTK] Remove webkit_web_view_get_subresources from WebKit2 GTK+ API
1633         https://bugs.webkit.org/show_bug.cgi?id=110125
1634
1635         Reviewed by Anders Carlsson.
1636
1637         This API is currently implemented caching all resources in the
1638         WebView which causes some problems in documents loading resources
1639         indefinitely. This API was used in WebKit1 mainly to implement
1640         webkit_web_view_save(), but we already have such API in
1641         WebKit2.
1642
1643         * UIProcess/API/gtk/WebKitInjectedBundleClient.cpp:
1644         (didReceiveWebViewMessageFromInjectedBundle):
1645         * UIProcess/API/gtk/WebKitWebView.cpp:
1646         (_WebKitWebViewPrivate):
1647         (webkitWebViewLoadChanged):
1648         * UIProcess/API/gtk/WebKitWebView.h:
1649         * UIProcess/API/gtk/WebKitWebViewPrivate.h:
1650         * UIProcess/API/gtk/docs/webkit2gtk-sections.txt:
1651         * UIProcess/API/gtk/tests/TestResources.cpp:
1652         (testWebViewResources):
1653         (testWebResourceGetData):
1654
1655 2013-02-18  Christophe Dumez  <dchris@gmail.com>
1656
1657         [WK2][EFL] Stop using internal C++ API in ewk_error
1658         https://bugs.webkit.org/show_bug.cgi?id=108796
1659
1660         Reviewed by Benjamin Poulain.
1661
1662         Stop using internal C++ API in ewk_error and use C API instead of avoid
1663         violating API layering.
1664
1665         * UIProcess/API/efl/ewk_error.cpp:
1666         (EwkError::domain):
1667         (EwkError::isCancellation):
1668         (ewk_error_type_get):
1669         * UIProcess/API/efl/ewk_error_private.h:
1670         (EwkError):
1671
1672 2013-02-18  Simon Fraser  <simon.fraser@apple.com>
1673
1674         Clean up the boolean argument to visibleContentRect
1675         https://bugs.webkit.org/show_bug.cgi?id=110167
1676
1677         Reviewed by Simon Fraser.
1678         
1679         Replace the boolean argument to visibleContentRect() with
1680         an enum.
1681
1682         * WebProcess/WebPage/WebFrame.cpp:
1683         (WebKit::WebFrame::visibleContentBounds):
1684         (WebKit::WebFrame::visibleContentBoundsExcludingScrollbars):
1685
1686 2013-02-18  Anders Carlsson  <andersca@apple.com>
1687
1688         Add a DefaultHash for RefPtr<SecurityOrigin>
1689         https://bugs.webkit.org/show_bug.cgi?id=110170
1690
1691         Reviewed by Andreas Kling.
1692
1693         Remove all explicit uses of SecurityOriginHash.
1694
1695         * UIProcess/Storage/StorageManager.cpp:
1696         (StorageManager::SessionStorageNamespace):
1697         * WebProcess/ApplicationCache/WebApplicationCacheManager.cpp:
1698         (WebKit::WebApplicationCacheManager::getApplicationCacheOrigins):
1699         * WebProcess/InjectedBundle/InjectedBundle.cpp:
1700         (WebKit::InjectedBundle::originsWithApplicationCache):
1701         * WebProcess/Notifications/NotificationPermissionRequestManager.h:
1702         Include SecurityOriginHash.h. This fixes a bug where m_originToIDMap used pointer-equality
1703         for looking up security origins.
1704
1705         * WebProcess/ResourceCache/WebResourceCacheManager.cpp:
1706         (WebKit::WebResourceCacheManager::clearCacheForOrigin):
1707         This can just take a const reference.
1708
1709         * WebProcess/ResourceCache/WebResourceCacheManager.h:
1710
1711 2013-02-18  Anders Carlsson  <andersca@apple.com>
1712
1713         Begin stubbing out session storage classes
1714         https://bugs.webkit.org/show_bug.cgi?id=110168
1715
1716         Reviewed by Andreas Kling.
1717
1718         * UIProcess/Storage/StorageManager.cpp:
1719         (StorageManager::StorageArea):
1720         (WebKit):
1721         (WebKit::StorageManager::StorageArea::create):
1722         (WebKit::StorageManager::StorageArea::StorageArea):
1723         (WebKit::StorageManager::StorageArea::~StorageArea):
1724         (StorageManager::SessionStorageNamespace):
1725         (WebKit::StorageManager::SessionStorageNamespace::isEmpty):
1726         (WebKit::StorageManager::SessionStorageNamespace::create):
1727         (WebKit::StorageManager::SessionStorageNamespace::SessionStorageNamespace):
1728         (WebKit::StorageManager::SessionStorageNamespace::~SessionStorageNamespace):
1729         (WebKit::StorageManager::SessionStorageNamespace::cloneTo):
1730         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
1731         (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
1732         (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
1733         * UIProcess/Storage/StorageManager.h:
1734         (StorageManager):
1735
1736 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1737
1738         [EFL][WK2] Add C API for popup menu and popup item
1739         https://bugs.webkit.org/show_bug.cgi?id=109083
1740
1741         Reviewed by Anders Carlsson.
1742
1743         WK2 EFL delegates display of the popup menu to the browser which causes
1744         us to have a strong interdependency between internal C++ classes
1745         (WebPopupMenuProxyEfl, WebPopupItem) and our EFL API implementation
1746         (EwkView, EwkPopupMenu, EwkPopupMenuItem).
1747
1748         Since we want to remove this interdependency, this patch introduces a
1749         for WebPopupMenuProxyEfl (WKPopupMenuListener) and for WebPopupItem
1750         (WKPopupItem). It also introduces a WKPage client with callbacks for
1751         showPopupMenu and hidePopupMenu.
1752
1753         Note that the popup menu functionality is covered by ewk_popup_menu API
1754         tests and no functionality is lost.
1755
1756         * PlatformEfl.cmake: Add new files to EFL CMake config.
1757         * Shared/API/c/efl/WKBaseEfl.h: Add typedefs for WKPopupItemRef and
1758         WKPopupMenuListenerRef.
1759         * Shared/APIObject.h: Add new TypePopupMenuItem APIObject type for EFL
1760         platform.
1761         * UIProcess/API/C/efl/WKAPICastEfl.h: Add mapping for WKPopupItemRef
1762         and WKPopupMenuListenerRef API types.
1763         (WebKit):
1764         (WebKit::toAPI):
1765         * UIProcess/API/C/efl/WKPageEfl.cpp: Added.
1766         (WKPageSetUIPopupMenuClient): Add new C API to set the UI Popup Menu
1767         client on the page.
1768         * UIProcess/API/C/efl/WKPageEfl.h: Added.
1769         * UIProcess/API/C/efl/WKPopupItem.cpp: Added. Add C API for WebPopupItem.
1770         (WKPopupItemGetType):
1771         (WKPopupItemGetTextDirection):
1772         (WKPopupItemHasTextDirectionOverride):
1773         (WKPopupItemCopyText):
1774         (WKPopupItemCopyToolTipText):
1775         (WKPopupItemCopyAccessibilityText):
1776         (WKPopupItemIsEnabled):
1777         (WKPopupItemIsLabel):
1778         (WKPopupItemIsSelected):
1779         * UIProcess/API/C/efl/WKPopupItem.h: Added.
1780         * UIProcess/API/C/efl/WKPopupMenuListener.cpp: Added. Add C API for
1781         WebPopupMenuListenerEfl (formerly WebPopupMenuProxyEfl) so that the
1782         client can report which popup menu item was selected.
1783         (WKPopupMenuListenerSetSelection):
1784         * UIProcess/API/C/efl/WKPopupMenuListener.h: Added.
1785         * UIProcess/API/efl/EwkView.cpp: Remove dependency on internal C++ types
1786         (WebPopupMenuProxyEfl and WebPopupItem) and use C API types instead.
1787         (EwkView::requestPopupMenu):
1788         * UIProcess/API/efl/EwkView.h:
1789         (WebKit):
1790         (EwkView):
1791         * UIProcess/API/efl/ewk_popup_menu.cpp: Use C API for Popup menu.
1792         (EwkPopupMenu::EwkPopupMenu):
1793         (EwkPopupMenu::setSelectedIndex):
1794         * UIProcess/API/efl/ewk_popup_menu_private.h:
1795         (EwkPopupMenu::create):
1796         (EwkPopupMenu):
1797         * UIProcess/WebPageProxy.cpp: Use WKPageUIPopupMenuClient to show / hide
1798         the popup menu on EFL port instead of asking the WebPopupMenuProxy.
1799         (WebKit::WebPageProxy::close):
1800         (WebKit::WebPageProxy::showPopupMenu):
1801         (WebKit::WebPageProxy::hidePopupMenu):
1802         * UIProcess/WebPageProxy.h: Add new WKPageUIPopupMenuClient member and
1803         corresponding initialization method.
1804         (WebPageProxy):
1805         * UIProcess/WebPopupMenuProxy.h: Disable showPopupMenu / hidePopupMenu
1806         virtual methods on EFL port since we go via WKPageUIPopupMenuClient
1807         for this now.
1808         (WebPopupMenuProxy):
1809         * UIProcess/efl/PageUIClientEfl.cpp:
1810         (WebKit::PageUIClientEfl::PageUIClientEfl): Handle WKPageUIPopupMenuClient
1811         callbacks and call corresponding EwkView methods. Previously, the EwkView
1812         methods were called by the internal WebPageProxyEfl class which is no
1813         longer needed.
1814         (WebKit::PageUIClientEfl::showPopupMenu):
1815         (WebKit):
1816         (WebKit::PageUIClientEfl::hidePopupMenu):
1817         * UIProcess/efl/PageUIClientEfl.h:
1818         (PageUIClientEfl):
1819         * UIProcess/efl/WebPageProxyEfl.cpp:
1820         (WebKit::WebPageProxy::initializeUIPopupMenuClient):
1821         (WebKit):
1822         * UIProcess/efl/WebPopupItemEfl.cpp: Added. Add APIObject wrapper for
1823         WebPopupItem so that we can use it in WKPageUIPopupMenuClient.
1824         (WebKit):
1825         (WebKit::WebPopupItemEfl::WebPopupItemEfl):
1826         (WebKit::WebPopupItemEfl::~WebPopupItemEfl):
1827         * UIProcess/efl/WebPopupItemEfl.h: Added.
1828         (WebKit):
1829         (WebPopupItemEfl):
1830         (WebKit::WebPopupItemEfl::create):
1831         (WebKit::WebPopupItemEfl::data):
1832         (WebKit::WebPopupItemEfl::itemType):
1833         (WebKit::WebPopupItemEfl::text):
1834         (WebKit::WebPopupItemEfl::textDirection):
1835         (WebKit::WebPopupItemEfl::hasTextDirectionOverride):
1836         (WebKit::WebPopupItemEfl::toolTipText):
1837         (WebKit::WebPopupItemEfl::accessibilityText):
1838         (WebKit::WebPopupItemEfl::isEnabled):
1839         (WebKit::WebPopupItemEfl::isLabel):
1840         (WebKit::WebPopupItemEfl::isSelected):
1841         (WebKit::WebPopupItemEfl::type):
1842         * UIProcess/efl/WebPopupMenuListenerEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.cpp.
1843         Use WebPopupMenuListenerEfl name instead of WebPopupMenuProxyEfl since
1844         it more accurately represents its functionality now.
1845         (WebKit):
1846         (WebKit::WebPopupMenuListenerEfl::WebPopupMenuListenerEfl):
1847         (WebKit::WebPopupMenuListenerEfl::valueChanged):
1848         * UIProcess/efl/WebPopupMenuListenerEfl.h: Renamed from Source/WebKit2/UIProcess/efl/WebPopupMenuProxyEfl.h.
1849         (WebKit):
1850         (WebPopupMenuListenerEfl):
1851         (WebKit::WebPopupMenuListenerEfl::create):
1852         * UIProcess/efl/WebUIPopupMenuClient.cpp: Added.
1853         (WebUIPopupMenuClient::showPopupMenu):
1854         (WebUIPopupMenuClient::hidePopupMenu):
1855         * UIProcess/efl/WebUIPopupMenuClient.h: Added.
1856         (WebKit):
1857         (WebUIPopupMenuClient):
1858         * UIProcess/efl/WebView.cpp:
1859         (WebKit::WebView::createPopupMenuProxy):
1860
1861 2013-02-18  Anders Carlsson  <andersca@apple.com>
1862
1863         Add StorageManager member functions for keeping track of session storage namespaces
1864         https://bugs.webkit.org/show_bug.cgi?id=110163
1865
1866         Reviewed by Andreas Kling.
1867
1868         * UIProcess/Storage/StorageManager.cpp:
1869         (WebKit::StorageManager::createSessionStorageNamespace):
1870         (WebKit):
1871         (WebKit::StorageManager::destroySessionStorageNamespace):
1872         (WebKit::StorageManager::cloneSessionStorageNamespace):
1873         (WebKit::StorageManager::createSessionStorageNamespaceInternal):
1874         (WebKit::StorageManager::destroySessionStorageNamespaceInternal):
1875         (WebKit::StorageManager::cloneSessionStorageNamespaceInternal):
1876         * UIProcess/Storage/StorageManager.h:
1877         (StorageManager):
1878         * UIProcess/WebContext.h:
1879         (WebKit::WebContext::storageManager):
1880         (WebContext):
1881         * UIProcess/WebPageProxy.cpp:
1882         (WebKit::WebPageProxy::WebPageProxy):
1883         (WebKit::WebPageProxy::close):
1884         (WebKit::WebPageProxy::createNewPage):
1885
1886 2013-02-18  Anders Carlsson  <andersca@apple.com>
1887
1888         StorageManager message handlers should take the connection
1889         https://bugs.webkit.org/show_bug.cgi?id=110151
1890
1891         Reviewed by Andreas Kling.
1892
1893         * Platform/CoreIPC/HandleMessage.h:
1894         (CoreIPC):
1895         (CoreIPC::callMemberFunction):
1896         (CoreIPC::handleMessage):
1897         * Scripts/webkit2/messages.py:
1898         (sync_message_statement):
1899         (generate_message_handler):
1900         * UIProcess/Storage/StorageManager.cpp:
1901         (WebKit::StorageManager::createStorageArea):
1902         (WebKit::StorageManager::destroyStorageArea):
1903         (WebKit::StorageManager::getValues):
1904         * UIProcess/Storage/StorageManager.h:
1905         (StorageManager):
1906         * UIProcess/Storage/StorageManager.messages.in:
1907
1908 2013-02-18  Christophe Dumez  <christophe.dumez@intel.com>
1909
1910         [EFL][WK2] Use C API inside ewk_security_origin
1911         https://bugs.webkit.org/show_bug.cgi?id=107923
1912
1913         Reviewed by Alexey Proskuryakov.
1914
1915         Use C API inside ewk_security_origin instead of accessing
1916         directly internal C++ classes, to avoid breaking API
1917         layering.
1918
1919         * UIProcess/API/efl/EwkView.cpp:
1920         (EwkView::enterFullScreen):
1921         * UIProcess/API/efl/ewk_security_origin.cpp:
1922         (EwkSecurityOrigin::EwkSecurityOrigin):
1923         * UIProcess/API/efl/ewk_security_origin_private.h:
1924         (EwkSecurityOrigin::create):
1925         (EwkSecurityOrigin):
1926
1927 2013-01-04  Jer Noble  <jer.noble@apple.com>
1928
1929         pinch-zooming webpage messes up full-screening of embedded video
1930         https://bugs.webkit.org/show_bug.cgi?id=106115
1931
1932         Reviewed by Maciej Stachowiak.
1933
1934         Reset the page scale when entering full screen, and reset to the original scale when exiting.
1935
1936         * UIProcess/mac/WKFullScreenWindowController.h:
1937         * UIProcess/mac/WKFullScreenWindowController.mm:
1938         (-[WKFullScreenWindowController enterFullScreen:]):
1939         (-[WKFullScreenWindowController finishedExitFullScreenAnimation:]):
1940
1941 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
1942
1943         [EFL][WK2] Disable failing API tests
1944         https://bugs.webkit.org/show_bug.cgi?id=110081
1945
1946         Reviewed by Kenneth Rohde Christiansen.
1947
1948         Disable EWK2UnitTestBase.ewk_view_scale API test as it is failing.
1949
1950         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1951         (TEST_F):
1952
1953 2013-02-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1954
1955         [Qt][WK2] Support WK2 API tests
1956         https://bugs.webkit.org/show_bug.cgi?id=109843
1957
1958         Reviewed by Jocelyn Turcotte.
1959
1960         * UIProcess/API/qt/qquickwebview_p.h:
1961         (TestWebKitAPI):
1962
1963 2013-02-18  Andras Becsi  <andras.becsi@digia.com>
1964
1965         [Qt][WK2] Changing WebView.contentY and WebView.contentX does not redraw content
1966         https://bugs.webkit.org/show_bug.cgi?id=108337
1967
1968         Reviewed by Jocelyn Turcotte.
1969
1970         We should not ignore content position changes unless pinch zoom or bounce-back
1971         animation is ongoing.
1972         This way we notify the web process about visible rect changes if the contentX
1973         and contentY properties are used to programmatically scroll the content from QML.
1974         One important usecase for this is when implementing scrollbars.
1975
1976         * UIProcess/qt/PageViewportControllerClientQt.cpp:
1977         (WebKit::PageViewportControllerClientQt::PageViewportControllerClientQt):
1978         (WebKit::PageViewportControllerClientQt::flickMoveStarted):
1979         (WebKit::PageViewportControllerClientQt::flickMoveEnded):
1980         (WebKit::PageViewportControllerClientQt::pageItemPositionChanged):
1981         (WebKit::PageViewportControllerClientQt::scaleAnimationStateChanged):
1982         (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
1983
1984 2013-02-18  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1985
1986         [WK2][EFL] Unified text checker implementation
1987         https://bugs.webkit.org/show_bug.cgi?id=107682
1988
1989         Reviewed by Anders Carlsson.
1990
1991         * UIProcess/efl/TextCheckerEfl.cpp:
1992         (WebKit):
1993         (WebKit::nextWordOffset):
1994         Helper function to determine the word offset to do not call
1995         client's checkSpellingOfString for the word separators.
1996
1997         (WebKit::TextChecker::checkTextOfParagraph):
1998         Allow to check spelling for multiple words,
1999         their misspelling location and length are saved to the vector.
2000
2001         * WebProcess/WebCoreSupport/WebEditorClient.h:
2002         Add UNIFIED_TEXT_CHECKING guard to checkTextOfParagraph.
2003
2004         * WebProcess/WebCoreSupport/efl/WebEditorClientEfl.cpp:
2005         (WebKit):
2006         (WebKit::WebEditorClient::checkTextOfParagraph):
2007         As spelling implementation is exposed to UIProcess,
2008         send a meesage to UIProcess to call TextChecker::checkTextOfParagraph.
2009
2010 2013-02-18  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2011
2012         [EFL][WK2] Refactor Ewk_Favicon code and stop relying on internal C++ API
2013         https://bugs.webkit.org/show_bug.cgi?id=108598
2014
2015         Reviewed by Kenneth Rohde Christiansen.
2016
2017         Refactor the Ewk_Favicon code so that it no longer relies on internal
2018         C++ API and so that it is based solely on the C API. The API is changed
2019         a little as well so that the Favicon URL is no longer exposed to the
2020         client. Also the client is now only notified of icon changes once the
2021         favicon data is actually available.
2022
2023         The API is covered by existing API tests and by MiniBrowser which are
2024         both updated accordingly in this patch.
2025
2026         * UIProcess/API/efl/EwkView.cpp:
2027         (EwkView::informURLChange):
2028         (EwkView::createFavicon):
2029         (EwkView::onFaviconChanged):
2030         * UIProcess/API/efl/EwkView.h:
2031         (EwkView):
2032         * UIProcess/API/efl/EwkViewCallbacks.h:
2033         * UIProcess/API/efl/ewk_favicon_database.cpp:
2034         Client are now notified of favicon changes only when the favicon data
2035         becomes available and make API to retrieve a favicon synchronous. NULL
2036         is returned if the favicon data is not available.
2037
2038         (EwkFaviconDatabase::EwkFaviconDatabase):
2039         (EwkFaviconDatabase::getIconSurfaceSynchronously):
2040         (EwkFaviconDatabase::iconDataReadyForPageURL):
2041         (ewk_favicon_database_icon_get):
2042         * UIProcess/API/efl/ewk_favicon_database.h:
2043         * UIProcess/API/efl/ewk_favicon_database_private.h:
2044         (EwkFaviconDatabase):
2045         * UIProcess/API/efl/ewk_view.cpp:
2046         (ewk_view_favicon_get):
2047         * UIProcess/API/efl/ewk_view.h:
2048         Rename 'icon,changed' signal to 'favicon,changed' for clarity and
2049         consistency with the rest of the favicon API. Remove API to retrieve
2050         the favicon URL and replace it by one to retrieve the favicon image as
2051         an Evas_Object instead.
2052
2053         * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
2054         Update API tests to use the new favicon API.
2055
2056 2013-02-17  Jae Hyun Park  <jae.park@company100.net>
2057
2058         Remove unnecessary public method DrawingAreaImpl::createGraphicsContext()
2059         https://bugs.webkit.org/show_bug.cgi?id=109893
2060
2061         Reviewed by Anders Carlsson.
2062
2063         DrawingAreaImpl::createGraphicsContext() is unnecessary since
2064         createGraphicsContext can be called directly using ShareableBitmap.
2065
2066         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2067         (WebKit::DrawingAreaImpl::display):
2068         * WebProcess/WebPage/DrawingAreaImpl.h:
2069         (DrawingAreaImpl):
2070
2071 2013-02-17  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
2072
2073         [WK2][EFL] Remove fullscreen manager proxy as a message receiver on invalidate()
2074         https://bugs.webkit.org/show_bug.cgi?id=109451
2075
2076         Reviewed by Anders Carlsson.
2077
2078         Remove fullscreen manager proxy as a message receiver on invalidate(), like
2079         other ports do after r142160.
2080
2081         * UIProcess/efl/WebFullScreenManagerProxyEfl.cpp:
2082         (WebKit::WebFullScreenManagerProxy::invalidate):
2083
2084 2013-02-17  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2085
2086         Regression(r143124): Caused plugins/plugin-javascript-access.html to fail
2087         https://bugs.webkit.org/show_bug.cgi?id=110053
2088
2089         Reviewed by Alexey Proskuryakov.
2090
2091         Clear m_plugins in loadPluginsIfNecessary() before populating the
2092         vector again. We get duplicates otherwise.
2093
2094         * UIProcess/Plugins/PluginInfoStore.cpp:
2095         (WebKit::PluginInfoStore::loadPluginsIfNecessary):
2096
2097 2013-02-16  Andreas Kling  <akling@apple.com>
2098
2099         Remove multi-threading gunk from PluginInfoStore.
2100         <http://webkit.org/b/110046>
2101
2102         Reviewed by Alexey Proskuryakov.
2103
2104         PluginInfoStore is never accessed from multiple threads anymore, so remove the Mutex locking
2105         and stop making isolated copies of everything.
2106
2107         * Shared/Plugins/PluginModuleInfo.h:
2108         (PluginModuleInfo):
2109         * UIProcess/Plugins/PluginInfoStore.cpp:
2110         (WebKit::PluginInfoStore::loadPluginsIfNecessary):
2111         (WebKit::PluginInfoStore::plugins):
2112         (WebKit::PluginInfoStore::findPluginForMIMEType):
2113         (WebKit::PluginInfoStore::findPluginForExtension):
2114         (WebKit::PluginInfoStore::findPlugin):
2115         (WebKit::PluginInfoStore::infoForPluginWithPath):
2116         * UIProcess/Plugins/PluginInfoStore.h:
2117         (PluginInfoStore):
2118
2119 2013-02-16  Sam Weinig  <sam@webkit.org>
2120
2121         Fix non-production builds.
2122
2123         * WebKit2.xcodeproj/project.pbxproj:
2124
2125 2013-02-16  Sam Weinig  <sam@webkit.org>
2126
2127         The Plugin.32 target does not build
2128         https://bugs.webkit.org/show_bug.cgi?id=110032
2129
2130         Reviewed by Anders Carlsson.
2131
2132         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/PluginService.32.Main.mm: Removed.
2133         This was meant to be removed already.
2134
2135         * WebKit2.xcodeproj/project.pbxproj:
2136         Add Plugin.32 as dependency in All as it should be.
2137
2138 2013-02-16  Darin Adler  <darin@apple.com>
2139
2140         Fix WKDOMRangePrivate.h mistakes
2141         https://bugs.webkit.org/show_bug.cgi?id=110028
2142
2143         Reviewed by Ryosuke Niwa.
2144
2145         * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
2146         Added include of WKDOMRangePrivate.h.
2147
2148         * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h:
2149         Fixed class name and include to be WKDOMRange.
2150         Fixed method name, _copyBundleRangeHandleRef, to match the
2151         name in the source file.
2152
2153 2013-02-15  Eric Carlson  <eric.carlson@apple.com>
2154
2155         [Mac] remove wkCaptionAppearance from WebKitSystemInterface
2156         https://bugs.webkit.org/show_bug.cgi?id=109996
2157
2158         Reviewed by Simon Fraser.
2159
2160         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2161         (InitWebCoreSystemInterface):
2162
2163 2013-02-15  Sheriff Bot  <webkit.review.bot@gmail.com>
2164
2165         Unreviewed, rolling out r143088.
2166         http://trac.webkit.org/changeset/143088
2167         https://bugs.webkit.org/show_bug.cgi?id=110000
2168
2169         Breaks the build (Requested by dgorbik on #webkit).
2170
2171         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2172         (InitWebCoreSystemInterface):
2173
2174 2013-02-15  Kiran Muppala  <cmuppala@apple.com>
2175
2176         Disable sudden termination on Mac
2177         https://bugs.webkit.org/show_bug.cgi?id=109990
2178
2179         Reviewed by Mark Rowe.
2180
2181         Sudden Termination is causing WebContent XPC services to be killed in
2182         response to memory pressure.  Hence, disable it until we can identify
2183         if it is being enabled in error or not.
2184
2185         * Shared/mac/ChildProcessMac.mm:
2186         (WebKit::ChildProcess::platformInitialize): Add call to
2187         [NSProcessInfo disableSuddenTermination].
2188
2189 2013-02-15  Eric Carlson  <eric.carlson@apple.com>
2190
2191         [Mac] remove wkCaptionAppearance from WebKitSystemInterface
2192         https://bugs.webkit.org/show_bug.cgi?id=109996
2193
2194         Reviewed by Simon Fraser.
2195
2196         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm:
2197         (InitWebCoreSystemInterface):
2198
2199 2013-02-15  Adenilson Cavalcanti  <cavalcantii@gmail.com>
2200
2201         [Qt][WK2] Crash on window resize if WebProcess is closed/crashed
2202         https://bugs.webkit.org/show_bug.cgi?id=109216
2203
2204         Reviewed by Benjamin Poulain.
2205
2206         Only make calls into DrawingAreaProxy pointer after checking its state.
2207
2208         When the WebProcess was closed or crashed, WebKit::WebPageProxy will set
2209         its DrawingAreaProxy pointer to null. Resize events on UIProcess/client will
2210         try to access the object to update the geometry and forward this information
2211         into the WebProcess. This would create a crash scenario that is fixed by this patch.
2212
2213         * UIProcess/API/qt/qquickwebview.cpp:
2214         (QQuickWebViewPrivate::didRelaunchProcess):
2215         (QQuickWebViewLegacyPrivate::updateViewportSize):
2216
2217 2013-02-15  Anders Carlsson  <andersca@apple.com>
2218
2219         Add HashMap::isValidKey and HashSet::isValidValue
2220         https://bugs.webkit.org/show_bug.cgi?id=109977
2221
2222         Reviewed by Sam Weinig and Darin Adler.
2223
2224         Just call HashMap::isValidKey directly.
2225
2226         * UIProcess/WebProcessProxy.cpp:
2227         (WebKit::generatePageID):
2228         Initialize the id to 0 and use prefix increment.
2229
2230         (WebKit::WebProcessProxy::webFrame):
2231         (WebKit::WebProcessProxy::canCreateFrame):
2232         (WebKit::WebProcessProxy::didDestroyFrame):
2233
2234 2013-02-15  Csaba Osztrogonác  <ossy@webkit.org>
2235
2236         Typo fix after r143064.
2237
2238         * Platform/CoreIPC/win/ConnectionWin.cpp:
2239         (CoreIPC::Connection::sendOutgoingMessage):
2240
2241 2013-02-15  Csaba Osztrogonác  <ossy@webkit.org>
2242
2243         One more buildfix after r143052.
2244
2245         * Platform/CoreIPC/win/ConnectionWin.cpp:
2246         (CoreIPC::Connection::sendOutgoingMessage):
2247
2248 2013-02-15  Csaba Osztrogonác  <ossy@webkit.org>
2249
2250         Unreviewed buildfix after r143052 for Qt/GTK/EFL ports.
2251
2252         * Platform/unix/SharedMemoryUnix.cpp:
2253         (WebKit::SharedMemory::Handle::encode):
2254         * Platform/win/SharedMemoryWin.cpp:
2255         (WebKit::SharedMemory::Handle::encode):
2256         * Shared/Network/NetworkResourceLoadParameters.cpp:
2257         (WebKit::NetworkResourceLoadParameters::encode):
2258         * Shared/WebBatteryStatus.cpp:
2259         (WebKit::WebBatteryStatus::Data::encode):
2260         * Shared/WebNetworkInfo.cpp:
2261         (WebKit::WebNetworkInfo::Data::encode):
2262         * Shared/efl/LayerTreeContextEfl.cpp:
2263         (WebKit::LayerTreeContext::encode):
2264         * Shared/gtk/LayerTreeContextGtk.cpp:
2265         (WebKit::LayerTreeContext::encode):
2266         * Shared/qt/LayerTreeContextQt.cpp:
2267         (WebKit::LayerTreeContext::encode):
2268         * Shared/qt/QtNetworkReplyData.cpp:
2269         (WebKit::QtNetworkReplyData::encode):
2270         * Shared/qt/QtNetworkRequestData.cpp:
2271         (WebKit::QtNetworkRequestData::encode):
2272         * Shared/soup/PlatformCertificateInfo.cpp:
2273         (WebKit::PlatformCertificateInfo::encode):
2274
2275 2013-02-15  Anders Carlsson  <andersca@apple.com>
2276
2277         Make most ArgumentEncoder::encode member functions private
2278         https://bugs.webkit.org/show_bug.cgi?id=109973
2279
2280         Reviewed by Sam Weinig.
2281
2282         Make the encode overloads private; the stream operator should be used instead.
2283
2284         * Platform/CoreIPC/ArgumentEncoder.h:
2285         (ArgumentEncoder):
2286         * Platform/CoreIPC/Arguments.h:
2287         (CoreIPC::Arguments1::encode):
2288         (CoreIPC::Arguments2::encode):
2289         (CoreIPC::Arguments3::encode):
2290         (CoreIPC::Arguments4::encode):
2291         (CoreIPC::Arguments5::encode):
2292         (CoreIPC::Arguments6::encode):
2293         (CoreIPC::Arguments7::encode):
2294         (CoreIPC::Arguments8::encode):
2295         (CoreIPC::Arguments10::encode):
2296         * Platform/CoreIPC/Connection.cpp:
2297         (CoreIPC::Connection::createSyncMessageEncoder):
2298         * Platform/CoreIPC/MessageEncoder.cpp:
2299         (CoreIPC::MessageEncoder::MessageEncoder):
2300         * Scripts/webkit2/messages.py:
2301         (generate_message_handler):
2302         * Scripts/webkit2/messages_unittest.py:
2303         * Shared/Network/NetworkResourceLoadParameters.cpp:
2304         (WebKit::NetworkResourceLoadParameters::encode):
2305         * WebProcess/WebPage/EncoderAdapter.cpp:
2306         (WebKit::EncoderAdapter::EncoderAdapter):
2307         (WebKit::EncoderAdapter::encodeBytes):
2308         (WebKit::EncoderAdapter::encodeBool):
2309         (WebKit::EncoderAdapter::encodeUInt16):
2310         (WebKit::EncoderAdapter::encodeUInt32):
2311         (WebKit::EncoderAdapter::encodeUInt64):
2312         (WebKit::EncoderAdapter::encodeInt32):
2313         (WebKit::EncoderAdapter::encodeInt64):
2314         (WebKit::EncoderAdapter::encodeFloat):
2315         (WebKit::EncoderAdapter::encodeDouble):
2316         (WebKit::EncoderAdapter::encodeString):
2317
2318 2013-02-15  Anders Carlsson  <andersca@apple.com>
2319
2320         Add a synchronous GetValues message to StorageManager
2321         https://bugs.webkit.org/show_bug.cgi?id=109968
2322
2323         Reviewed by Sam Weinig.
2324
2325         * Platform/CoreIPC/Connection.cpp:
2326         (CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
2327         Handle synchronous messages.
2328
2329         (CoreIPC::Connection::processIncomingMessage):
2330         Check for work queue message receivers before doing any other processing.
2331
2332         * UIProcess/Storage/StorageManager.cpp:
2333         (WebKit::StorageManager::getValues):
2334         Add empty stub.
2335
2336         * UIProcess/Storage/StorageManager.h:
2337         * UIProcess/Storage/StorageManager.messages.in:
2338         Add GetValues message.
2339
2340         * WebProcess/Storage/StorageAreaProxy.cpp:
2341         (WebKit::StorageAreaProxy::loadValuesIfNeeded):
2342         Send the GetValues message.
2343
2344 2013-02-15  Anders Carlsson  <andersca@apple.com>
2345
2346         A storage area should know its storage type
2347         https://bugs.webkit.org/show_bug.cgi?id=109964
2348
2349         Reviewed by Andreas Kling.
2350
2351         * WebProcess/Storage/StorageAreaProxy.cpp:
2352         (WebKit::StorageAreaProxy::StorageAreaProxy):
2353         (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
2354         * WebProcess/Storage/StorageAreaProxy.h:
2355         (StorageAreaProxy):
2356         * WebProcess/Storage/StorageNamespaceProxy.cpp:
2357         (WebKit::StorageNamespaceProxy::storageType):
2358         (WebKit):
2359         * WebProcess/Storage/StorageNamespaceProxy.h:
2360         (StorageNamespaceProxy):
2361
2362 2013-02-15  Anders Carlsson  <andersca@apple.com>
2363
2364         Implement StorageAreaProxy::length
2365         https://bugs.webkit.org/show_bug.cgi?id=109962
2366
2367         Reviewed by Andreas Kling.
2368
2369         * WebProcess/Storage/StorageAreaProxy.cpp:
2370         (WebKit::StorageAreaProxy::length):
2371         Load the values if needed and then return the length.
2372
2373         (WebKit::StorageAreaProxy::disabledByPrivateBrowsingInFrame):
2374         Add helper function.
2375
2376         (WebKit::StorageAreaProxy::loadValuesIfNeeded):
2377         Just allocate the hash map for now.
2378
2379         * WebProcess/Storage/StorageAreaProxy.h:
2380         (StorageAreaProxy):
2381
2382 2013-02-15  Anders Carlsson  <andersca@apple.com>
2383
2384         Remove const from a bunch of StorageArea member functions
2385         https://bugs.webkit.org/show_bug.cgi?id=109957
2386
2387         Reviewed by Beth Dakin.
2388
2389         Update for WebCore changes.
2390
2391         * WebProcess/Storage/StorageAreaProxy.cpp:
2392         (WebKit::StorageAreaProxy::length):
2393         (WebKit::StorageAreaProxy::key):
2394         (WebKit::StorageAreaProxy::getItem):
2395         (WebKit::StorageAreaProxy::contains):
2396         (WebKit::StorageAreaProxy::canAccessStorage):
2397         (WebKit::StorageAreaProxy::memoryBytesUsedByCache):
2398         * WebProcess/Storage/StorageAreaProxy.h:
2399         (StorageAreaProxy):
2400
2401 2013-02-15  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
2402
2403         [EFL][WK2] Use C API inside BatteryProvider and NetworkInfoProvider
2404         https://bugs.webkit.org/show_bug.cgi?id=107821
2405
2406         Reviewed by Anders Carlsson.
2407
2408         BatteryProvider and NetworkInfoProvider should use C API
2409         instead of accessing the internal C++ classes directly.
2410
2411         * UIProcess/API/efl/ewk_context.cpp:
2412         (EwkContext::EwkContext):
2413         * UIProcess/efl/BatteryProvider.cpp:
2414         (BatteryProvider::~BatteryProvider):
2415         (BatteryProvider::create):
2416         (BatteryProvider::BatteryProvider):
2417         (BatteryProvider::didChangeBatteryStatus):
2418         * UIProcess/efl/BatteryProvider.h:
2419         (BatteryProvider):
2420         * UIProcess/efl/NetworkInfoProvider.cpp:
2421         (NetworkInfoProvider::create):
2422         (NetworkInfoProvider::NetworkInfoProvider):
2423         (NetworkInfoProvider::~NetworkInfoProvider):
2424         * UIProcess/efl/NetworkInfoProvider.h:
2425         (NetworkInfoProvider):
2426
2427 2013-02-15  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2428
2429         [WK2][EFL]REGRESSION (r141978): ewk_view_type_check api test failing
2430         https://bugs.webkit.org/show_bug.cgi?id=109038
2431
2432         Reviewed by Anders Carlsson.
2433
2434         EFL API is defensive by its nature and expects graceful handling of wrong function arguments
2435         whereas webkit implementation code does not. This patch adds new 'toEwkViewChecked' function,
2436         which provides handling of wrong arguments, to be used within EFL API layer code.
2437
2438         * UIProcess/API/efl/EwkView.cpp:
2439         (toEwkView):
2440
2441             EwkView* toEwkView(const Ewk_View_Smart_Data* smartData) is not exported anymore
2442             as it's used within EwkView class only.        
2443
2444         (EwkView::handleTouchMove):
2445         * UIProcess/API/efl/EwkView.h:
2446         * UIProcess/API/efl/ewk_view.cpp:
2447         (toEwkViewChecked):
2448
2449 2013-02-15  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2450
2451         [EFL][WK2] Have WebView subclass PageClient
2452         https://bugs.webkit.org/show_bug.cgi?id=109684
2453
2454         Reviewed by Anders Carlsson.
2455
2456         Stop constructing the PageClient in EwkView. PageClient is an internal
2457         class and we should not use it directly in our Ewk implementation.
2458         Instead, have WebView subclass PageClient. The PageClient implementation
2459         just calls WebView methods otherwise.
2460
2461         * PlatformEfl.cmake:
2462         * UIProcess/API/efl/EwkView.cpp:
2463         (EwkView::EwkView):
2464         (EwkView::setSize):
2465         * UIProcess/API/efl/EwkView.h:
2466         (WebKit):
2467         (EwkView):
2468         (EwkView::webView):
2469         * UIProcess/API/efl/ewk_view.cpp:
2470         * UIProcess/efl/PageClientBase.cpp: Removed.
2471         * UIProcess/efl/PageClientBase.h: Removed.
2472         * UIProcess/efl/PageClientDefaultImpl.cpp: Removed.
2473         * UIProcess/efl/PageClientDefaultImpl.h: Removed.
2474         * UIProcess/efl/PageClientLegacyImpl.cpp: Removed.
2475         * UIProcess/efl/PageClientLegacyImpl.h: Removed.
2476         * UIProcess/efl/PageLoadClientEfl.cpp:
2477         (WebKit::PageLoadClientEfl::didCommitLoadForFrame):
2478         * UIProcess/efl/PageViewportControllerClientEfl.h:
2479         * UIProcess/efl/WebPageProxyEfl.cpp:
2480         (WebKit::WebPageProxy::viewWidget):
2481         * UIProcess/efl/WebView.cpp:
2482         (WebKit::WebView::WebView):
2483         (WebKit::WebView::~WebView):
2484         (WebKit::WebView::initialize):
2485         (WebKit):
2486         (WebKit::WebView::evasObject):
2487         (WebKit::WebView::setThemePath):
2488         (WebKit::WebView::setDrawsBackground):
2489         (WebKit::WebView::drawsBackground):
2490         (WebKit::WebView::setDrawsTransparentBackground):
2491         (WebKit::WebView::drawsTransparentBackground):
2492         (WebKit::WebView::suspendActiveDOMObjectsAndAnimations):
2493         (WebKit::WebView::resumeActiveDOMObjectsAndAnimations):
2494         (WebKit::WebView::didCommitLoad):
2495         (WebKit::WebView::updateViewportSize):
2496         (WebKit::WebView::didChangeContentsSize):
2497         (WebKit::WebView::createDrawingAreaProxy):
2498         (WebKit::WebView::setViewNeedsDisplay):
2499         (WebKit::WebView::displayView):
2500         (WebKit::WebView::scrollView):
2501         (WebKit::WebView::viewSize):
2502         (WebKit::WebView::isViewWindowActive):
2503         (WebKit::WebView::isViewFocused):
2504         (WebKit::WebView::isViewVisible):
2505         (WebKit::WebView::isViewInWindow):
2506         (WebKit::WebView::processDidCrash):
2507         (WebKit::WebView::didRelaunchProcess):
2508         (WebKit::WebView::pageClosed):
2509         (WebKit::WebView::toolTipChanged):
2510         (WebKit::WebView::setCursor):
2511         (WebKit::WebView::setCursorHiddenUntilMouseMoves):
2512         (WebKit::WebView::registerEditCommand):
2513         (WebKit::WebView::clearAllEditCommands):
2514         (WebKit::WebView::canUndoRedo):
2515         (WebKit::WebView::executeUndoRedo):
2516         (WebKit::WebView::screenToWindow):
2517         (WebKit::WebView::windowToScreen):
2518         (WebKit::WebView::doneWithKeyEvent):
2519         (WebKit::WebView::doneWithTouchEvent):
2520         (WebKit::WebView::createPopupMenuProxy):
2521         (WebKit::WebView::createContextMenuProxy):
2522         (WebKit::WebView::createColorChooserProxy):
2523         (WebKit::WebView::setFindIndicator):
2524         (WebKit::WebView::enterAcceleratedCompositingMode):
2525         (WebKit::WebView::exitAcceleratedCompositingMode):
2526         (WebKit::WebView::updateAcceleratedCompositingMode):
2527         (WebKit::WebView::didCommitLoadForMainFrame):
2528         (WebKit::WebView::didFinishLoadingDataForCustomRepresentation):
2529         (WebKit::WebView::customRepresentationZoomFactor):
2530         (WebKit::WebView::setCustomRepresentationZoomFactor):
2531         (WebKit::WebView::flashBackingStoreUpdates):
2532         (WebKit::WebView::findStringInCustomRepresentation):
2533         (WebKit::WebView::countStringMatchesInCustomRepresentation):
2534         (WebKit::WebView::updateTextInputState):
2535         (WebKit::WebView::handleDownloadRequest):
2536         (WebKit::WebView::convertToDeviceSpace):
2537         (WebKit::WebView::convertToUserSpace):
2538         (WebKit::WebView::didChangeViewportProperties):
2539         (WebKit::WebView::pageDidRequestScroll):
2540         (WebKit::WebView::didRenderFrame):
2541         (WebKit::WebView::pageTransitionViewportReady):
2542         * UIProcess/efl/WebView.h:
2543         (WebKit):
2544         (WebView):
2545         (WebKit::WebView::pageRef):
2546         (WebKit::WebView::page):
2547         (WebKit::WebView::canScrollView):
2548
2549 2013-02-15  Milian Wolff  <milian.wolff@kdab.com>
2550
2551         [Qt] Restore URL Scheme Delegates after QtWebProcess crash
2552         https://bugs.webkit.org/show_bug.cgi?id=108808
2553
2554         When the QtWebProcess crashes, the registered URL Scheme
2555         Delegates are not properly restored over IPC in the newly
2556         launched process instance.
2557
2558         Reviewed by Simon Hausmann.
2559
2560         * UIProcess/API/qt/qquickwebview.cpp:
2561         (QQuickWebViewPrivate::didRelaunchProcess):
2562         (QQuickWebViewPrivate::updateSchemeDelegates):
2563         * UIProcess/API/qt/qquickwebview_p_p.h:
2564         (QQuickWebViewPrivate):
2565
2566 2013-02-15  Allan Sandfeld Jensen  <allan.jensen@digia.com>
2567
2568         Simplify hitTestResultAtPoint and nodesFromRect APIs
2569         https://bugs.webkit.org/show_bug.cgi?id=95720
2570
2571         Reviewed by Julien Chaffraix and Maciej Stachowiak.
2572
2573         Update calls to new API and update exported symbols.
2574
2575         * WebProcess/InjectedBundle/InjectedBundleNavigationAction.cpp:
2576         (WebKit::InjectedBundleNavigationAction::InjectedBundleNavigationAction):
2577         * WebProcess/WebPage/WebFrame.cpp:
2578         (WebKit::WebFrame::hitTest):
2579         * WebProcess/WebPage/WebPage.cpp:
2580         (WebKit::handleContextMenuEvent):
2581         (WebKit::WebPage::highlightPotentialActivation):
2582         (WebKit::WebPage::findZoomableAreaForPoint):
2583         * WebProcess/WebPage/mac/WebPageMac.mm:
2584         (WebKit::WebPage::characterIndexForPoint):
2585         (WebKit::WebPage::performDictionaryLookupAtLocation):
2586         (WebKit::WebPage::shouldDelayWindowOrderingEvent):
2587         (WebKit::WebPage::acceptsFirstMouse):
2588
2589 2013-02-14  Huang Dongsung  <luxtella@company100.net>
2590
2591         [WK2] Rename from scrollOffset to scrollDelta in WebChromeClient.
2592         https://bugs.webkit.org/show_bug.cgi?id=109885
2593
2594         Reviewed by Simon Fraser.
2595
2596         Chrome sends a scroll delta to WebChromeClient but WebChromeClient names it
2597         scrollOffset. So this patch corrects this misnaming.
2598
2599         In addition, all subclasses of LayerTreeHost don't use the misnamed
2600         scrollOffset in scrollNonCompositedContents(), so this patch removes the
2601         scrollOffset argument.
2602
2603         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2604         (WebKit::WebChromeClient::scroll):
2605         * WebProcess/WebCoreSupport/WebChromeClient.h:
2606         (WebChromeClient):
2607         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2608         (WebKit::CoordinatedLayerTreeHost::scrollNonCompositedContents):
2609         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2610         (CoordinatedLayerTreeHost):
2611         * WebProcess/WebPage/DrawingArea.h:
2612         (DrawingArea):
2613         * WebProcess/WebPage/DrawingAreaImpl.cpp:
2614         (WebKit::DrawingAreaImpl::scroll):
2615         * WebProcess/WebPage/DrawingAreaImpl.h:
2616         (DrawingAreaImpl):
2617         * WebProcess/WebPage/LayerTreeHost.h:
2618         (LayerTreeHost):
2619         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
2620         (WebKit::LayerTreeHostGtk::scrollNonCompositedContents):
2621         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
2622         (LayerTreeHostGtk):
2623         * WebProcess/WebPage/mac/LayerTreeHostMac.h:
2624         (LayerTreeHostMac):
2625         * WebProcess/WebPage/mac/LayerTreeHostMac.mm:
2626         (WebKit::LayerTreeHostMac::scrollNonCompositedContents):
2627         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
2628         (RemoteLayerTreeDrawingArea):
2629         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
2630         (WebKit::RemoteLayerTreeDrawingArea::scroll):
2631         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2632         (TiledCoreAnimationDrawingArea):
2633         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2634         (WebKit::TiledCoreAnimationDrawingArea::scroll):
2635
2636 2013-02-14  Alexey Proskuryakov  <ap@apple.com>
2637
2638         <rdar://problem/13161700> REGRESSION: Safari is unable to make SSL connections
2639         when running from recovery partition
2640
2641         Reviewed by Sam Weinig.
2642
2643         * NetworkProcess/mac/com.apple.WebKit.NetworkProcess.sb.in:
2644         * WebProcess/com.apple.WebProcess.sb.in:
2645         Re-added /private/var/db/mds/system rules lost in r141445.
2646
2647 2013-02-14  Anders Carlsson  <andersca@apple.com>
2648
2649         Add WKContextIsPlugInUpdateAvailable
2650         https://bugs.webkit.org/show_bug.cgi?id=109862
2651         <rdar://problem/13173140>
2652
2653         Reviewed by Sam Weinig.
2654
2655         * UIProcess/API/C/mac/WKContextPrivateMac.h:
2656         * UIProcess/API/C/mac/WKContextPrivateMac.mm: Renamed from Source/WebKit2/UIProcess/API/C/mac/WKContextPrivateMac.cpp.
2657         (WKContextGetProcessSuppressionEnabled):
2658         (WKContextSetProcessSuppressionEnabled):
2659         (WKContextIsPlugInUpdateAvailable):
2660         * WebKit2.xcodeproj/project.pbxproj:
2661
2662 2013-02-14  Zan Dobersek  <zdobersek@igalia.com>
2663
2664         [GTK] Errors when building WebKit2 with Clang
2665         https://bugs.webkit.org/show_bug.cgi?id=109603
2666
2667         Reviewed by Alexey Proskuryakov.
2668
2669         * UIProcess/API/gtk/WebKitUIClient.cpp:
2670         (setWindowFrame): Cast the position parameters to the integer type when constructing the GdkRectangle.
2671         * UIProcess/Authentication/WebCredential.cpp: Add an empty implementation of the newly specified destructor.
2672         * UIProcess/Authentication/WebCredential.h: Work around the incomplete WebCertificateInfo type errors thrown in the inline
2673         RefPtr destructor of the m_certificateInfo class member by defining a destructor in the class.
2674         * WebProcess/WebCoreSupport/WebEditorClient.h: The GTK-specific methods are not virtual and as such cannot be overriden.
2675         The OVERRIDE keywords are thus unnecessary.
2676
2677 2013-02-14  David Kilzer  <ddkilzer@apple.com>
2678
2679         [Mac] Clean up WARNING_CFLAGS
2680         <http://webkit.org/b/109747>
2681         <rdar://problem/13208373>
2682
2683         Reviewed by Mark Rowe.
2684
2685         * Configurations/Base.xcconfig: Use
2686         GCC_WARN_64_TO_32_BIT_CONVERSION to enable and disable
2687         -Wshorten-64-to-32 rather than WARNING_CFLAGS.
2688
2689 2013-02-14  Sam Weinig  <sam@webkit.org>
2690
2691         Add conversions between ObjC and C DOM wrappers
2692         <rdar://problem/13205468>
2693         https://bugs.webkit.org/show_bug.cgi?id=109851
2694
2695         Reviewed by Anders Carlsson.
2696
2697         * WebKit2.xcodeproj/project.pbxproj:
2698         * WebProcess/InjectedBundle/API/c/WKBundleRangeHandle.cpp:
2699         (WKBundleRangeHandleCreate):
2700         * WebProcess/InjectedBundle/API/c/WKBundleRangeHandlePrivate.h: Added.
2701         * WebProcess/InjectedBundle/API/mac/WKDOMNode.mm:
2702         (-[WKDOMNode _copyBundleNodeHandleRef]):
2703         * WebProcess/InjectedBundle/API/mac/WKDOMNodePrivate.h: Added.
2704         * WebProcess/InjectedBundle/API/mac/WKDOMRange.mm:
2705         (-[WKDOMRange _copyBundleRangeHandleRef]):
2706         * WebProcess/InjectedBundle/API/mac/WKDOMRangePrivate.h: Added.
2707         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.cpp:
2708         (WebKit::InjectedBundleRangeHandle::getOrCreate):
2709         * WebProcess/InjectedBundle/DOM/InjectedBundleRangeHandle.h:
2710         (InjectedBundleRangeHandle):
2711
2712 2013-02-13  Anders Carlsson  <andersca@apple.com>
2713
2714         Remove StringPairVector
2715         https://bugs.webkit.org/show_bug.cgi?id=109778
2716
2717         Reviewed by Ryosuke Niwa.
2718
2719         Our message generation scripts can handle nested template parameter types now,
2720         so we no longer need to use StringPairVector.
2721
2722         * Shared/StringPairVector.h: Removed.
2723         * UIProcess/WebPageProxy.cpp:
2724         (WebKit::WebPageProxy::willSubmitForm):
2725         * UIProcess/WebPageProxy.h:
2726         (WebPageProxy):
2727         * UIProcess/WebPageProxy.messages.in:
2728         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2729         (WebKit::WebFrameLoaderClient::dispatchWillSubmitForm):
2730
2731 2013-02-13  Dean Jackson  <dino@apple.com>
2732
2733         PlugIn Autostart should expire in 30 days, not half a day
2734         https://bugs.webkit.org/show_bug.cgi?id=109767
2735
2736         Reviewed by Brian Weinstein.
2737
2738         We forgot to multiply by 60 seconds in a minute.
2739
2740         * UIProcess/Plugins/PlugInAutoStartProvider.cpp:
2741
2742 2013-02-13  Anders Carlsson  <andersca@apple.com>
2743
2744         Message generation should handle nested templates
2745         https://bugs.webkit.org/show_bug.cgi?id=109771
2746
2747         Reviewed by Ryosuke Niwa.
2748
2749         Make it possible to have nested class template types as message parameters and
2750         correctly gather all the needed headers and argument coder headers.
2751
2752         * Scripts/webkit2/messages.py:
2753         (class_template_headers):
2754         Recursively figure out the types and template headers needed for a given type.
2755
2756         (argument_coder_headers_for_type):
2757         (headers_for_type):
2758         Call class_template_headers.
2759
2760         * Scripts/webkit2/messages_unittest.py:
2761         (CoreIPC):
2762         * Scripts/webkit2/parser.py:
2763         (split_parameters_string):
2764         (parse_parameters_string):
2765
2766 2013-02-13  David Farler  <dfarler@apple.com>
2767
2768         Make WebKit2 Derived Sources work with SDK identifiers too
2769         https://bugs.webkit.org/show_bug.cgi?id=109763
2770
2771         Reviewed by David Kilzer.
2772
2773         * WebKit2.xcodeproj/project.pbxproj: Pass SDKROOT=${SDKROOT} to DerivedSources.make
2774
2775 2013-02-13  Csaba Osztrogonác  <ossy@webkit.org>
2776
2777         One more buildfix for !ENABLE(PLUGIN_PROCESS) platforms.
2778
2779         * WebProcess/WebProcess.cpp:
2780         (WebKit::WebProcess::WebProcess):
2781
2782 2013-02-13  Csaba Osztrogonác  <ossy@webkit.org>
2783
2784         Unreviewed Qt-Mac and Qt-Win buildfix after r142768.
2785
2786         * WebProcess/WebProcess.h:
2787         (WebKit):
2788
2789 2013-02-13  Adam Barth  <abarth@webkit.org>
2790
2791         Remove bogus ASSERT in WebFrameProxy::didStartProvisionalLoad
2792         https://bugs.webkit.org/show_bug.cgi?id=109733
2793
2794         Reviewed by Sam Weinig.
2795
2796         After http://trac.webkit.org/changeset/142555, this ASSERT is
2797         triggering on these tests:
2798
2799         fast/dom/window-load-crash.html
2800         fast/frames/seamless/seamless-hyperlink-named.html
2801         fast/frames/seamless/seamless-hyperlink.html
2802
2803         The ASSERT appears to be bogus. This patch removes it.
2804
2805         * UIProcess/WebFrameProxy.cpp:
2806         (WebKit::WebFrameProxy::didStartProvisionalLoad):
2807
2808 2013-02-13  Sam Weinig  <sam@webkit.org>
2809
2810         Consolidate main functions in WebKit2 now that they are all identical
2811         https://bugs.webkit.org/show_bug.cgi?id=109748
2812
2813         Reviewed by Anders Carlsson.
2814
2815         - Consolidates all the LegacyProcess main functions into ChildProcessMain.mm
2816         - Consolidates all the XPCService main functions into XPCServiceMain.mm and XPCServiceMain.Development.mm
2817         - Rename existing ChildProcessMain.h/mm to ChildProcessEntryPoint.h/mm to match the XPCService ones.
2818         - Switch LegacyProcess to use the "entry point in the plist" idiom, instead of hard coding each one, again
2819           matching the XPCService.
2820
2821         * Configurations/BaseLegacyProcess.xcconfig: Add base configuration to hold common legacy process options.
2822         * Configurations/BaseXPCService.xcconfig:
2823         * Configurations/NetworkProcess.xcconfig:
2824         * Configurations/OfflineStorageProcess.xcconfig:
2825         * Configurations/PluginProcess.xcconfig:
2826         * Configurations/SharedWorkerProcess.xcconfig:
2827         * Configurations/WebContentProcess.xcconfig: Renamed form  WebProcess.xcconfig.
2828         * NetworkProcess/EntryPoint/mac/LegacyProcess/Info.plist:
2829         * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMain.mm:
2830         * NetworkProcess/EntryPoint/mac/LegacyProcess/NetworkProcessMainBootstrapper.cpp: Removed.
2831         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService.Development/NetworkServiceMain.Development.mm: Removed.
2832         * NetworkProcess/EntryPoint/mac/XPCService/NetworkService/NetworkServiceMain.mm: Removed.
2833         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist:
2834         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm:
2835         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMainBootstrapper.cpp: Removed.
2836         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/OfflineStorageServiceMain.Development.mm: Removed.
2837         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/OfflineStorageServiceMain.mm: Removed.
2838         * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
2839         * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMain.mm:
2840         * PluginProcess/EntryPoint/mac/LegacyProcess/PluginProcessMainBootstrapper.cpp: Removed.
2841         * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/PluginService.64.Main.mm: Removed.
2842         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/PluginService.Development.Main.mm: Removed.
2843         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.h: 
2844         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessEntryPoint.mm: 
2845         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.h: Removed.
2846         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMain.mm: Replaced.
2847         * Shared/EntryPointUtilities/mac/LegacyProcess/ChildProcessMainBootstrapper.h: Removed.
2848         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.Development.h: Removed.
2849         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceBootstrapper.h: Removed.
2850         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.Development.mm:
2851         * Shared/EntryPointUtilities/mac/XPCService/XPCServiceMain.mm:
2852         * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/Info.plist:
2853         * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMain.mm:
2854         * SharedWorkerProcess/EntryPoint/mac/LegacyProcess/SharedWorkerProcessMainBootstrapper.cpp: Removed.
2855         * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
2856         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMain.mm:
2857         * WebProcess/EntryPoint/mac/LegacyProcess/WebContentProcessMainBootstrapper.cpp: Removed.
2858         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/WebContentServiceMain.Development.mm: Removed.
2859         * WebProcess/EntryPoint/mac/XPCService/WebContentService/WebContentServiceMain.mm: Removed.
2860         * WebKit2.xcodeproj/project.pbxproj:
2861
2862 2013-02-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2863
2864         [EFL][WK2] Stop using WebString in ewk_cookie_manager, ewk_form_submission_request and ewk_text_checker
2865         https://bugs.webkit.org/show_bug.cgi?id=108794
2866
2867         Reviewed by Alexey Proskuryakov.
2868
2869         Stop using WebString in ewk_cookie_manager, ewk_form_submission_request
2870         and ewk_text_checker as it is internal C++ API. WKString and
2871         WKEinaSharedString are used instead.
2872
2873         * UIProcess/API/cpp/efl/WKEinaSharedString.cpp:
2874         (WKEinaSharedString::leakString): Add leakString() method to
2875         WKEinaSharedString so that we can conveniently convert a WKString to a
2876         Eina shared string and take ownership of it.
2877         * UIProcess/API/cpp/efl/WKEinaSharedString.h:
2878         * UIProcess/API/efl/ewk_cookie_manager.cpp:
2879         (getHostnamesWithCookiesCallback):
2880         * UIProcess/API/efl/ewk_form_submission_request.cpp:
2881         (EwkFormSubmissionRequest::copyFieldValue):
2882         (ewk_form_submission_request_field_names_get):
2883         (ewk_form_submission_request_field_value_get):
2884         * UIProcess/API/efl/ewk_form_submission_request_private.h:
2885         (EwkFormSubmissionRequest):
2886         * UIProcess/API/efl/ewk_text_checker.cpp:
2887         (checkSpellingOfString):
2888         (guessesForWord):
2889         (learnWord):
2890         (ignoreWord):
2891         * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
2892         (TEST_F): Add API test for new WKEinaSharedString::leakString() method.
2893
2894 2013-02-13  Anders Carlsson  <andersca@apple.com>
2895
2896         Remove Connection::QueueClient
2897         https://bugs.webkit.org/show_bug.cgi?id=109744
2898
2899         Reviewed by Sam Weinig.
2900
2901         * Platform/CoreIPC/Connection.cpp:
2902         (CoreIPC::Connection::processIncomingMessage):
2903         (CoreIPC::Connection::connectionDidClose):
2904         * Platform/CoreIPC/Connection.h:
2905         (Connection):
2906
2907 2013-02-13  Anders Carlsson  <andersca@apple.com>
2908
2909         Try to fix the Lion build.
2910
2911         * WebProcess/WebPage/EventDispatcher.h:
2912         (EventDispatcher):
2913
2914 2013-02-13  Anders Carlsson  <andersca@apple.com>
2915
2916         Remove support for the DispatchOnConnectionQueue message attribute
2917         https://bugs.webkit.org/show_bug.cgi?id=109743
2918
2919         Reviewed by Sam Weinig.
2920
2921         * Platform/CoreIPC/HandleMessage.h:
2922         (CoreIPC):
2923         * Scripts/webkit2/messages.py:
2924         (handler_function):
2925         (generate_message_handler):
2926         * Scripts/webkit2/messages_unittest.py:
2927
2928 2013-02-13  Anders Carlsson  <andersca@apple.com>
2929
2930         StorageManager should be a WorkQueueMessageReceiver
2931         https://bugs.webkit.org/show_bug.cgi?id=109741
2932
2933         Reviewed by Sam Weinig.
2934
2935         * UIProcess/Storage/StorageManager.cpp:
2936         (WebKit::StorageManager::processWillOpenConnection):
2937         (WebKit::StorageManager::processWillCloseConnection):
2938         (WebKit::StorageManager::createStorageArea):
2939         (WebKit::StorageManager::destroyStorageArea):
2940         * UIProcess/Storage/StorageManager.h:
2941         (StorageManager):
2942         * UIProcess/Storage/StorageManager.messages.in:
2943
2944 2013-02-13  Anders Carlsson  <andersca@apple.com>
2945
2946         EventDispatcher should be a WorkQueueMessageReceiver
2947         https://bugs.webkit.org/show_bug.cgi?id=109736
2948
2949         Reviewed by Andreas Kling.
2950
2951         * WebProcess/WebPage/EventDispatcher.cpp:
2952         (WebKit::EventDispatcher::create):
2953         (WebKit):
2954         (WebKit::EventDispatcher::EventDispatcher):
2955         (WebKit::EventDispatcher::initializeConnection):
2956         (WebKit::EventDispatcher::wheelEvent):
2957         (WebKit::EventDispatcher::gestureEvent):
2958         * WebProcess/WebPage/EventDispatcher.h:
2959         (EventDispatcher):
2960         * WebProcess/WebPage/EventDispatcher.messages.in:
2961         * WebProcess/WebProcess.cpp:
2962         (WebKit::WebProcess::WebProcess):
2963         (WebKit::WebProcess::initializeConnection):
2964         * WebProcess/WebProcess.h:
2965         (WebKit):
2966         (WebKit::WebProcess::eventDispatcher):
2967         (WebProcess):
2968
2969 2013-02-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2970
2971         Unreviewed build fix after r142768.
2972
2973         r142768 broke the EFL WK2 build due to wrong member initialization
2974         order in the WebProcess constructor initialization list.
2975
2976         * WebProcess/WebProcess.cpp:
2977         (WebKit::WebProcess::WebProcess):
2978
2979 2013-02-13  Anders Carlsson  <andersca@apple.com>
2980
2981         Make PluginProcessConnectionManager a WorkQueueMessageReceiver
2982         https://bugs.webkit.org/show_bug.cgi?id=109727
2983
2984         Reviewed by Andreas Kling.
2985
2986         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
2987         (WebKit::PluginProcessConnectionManager::create):
2988         (WebKit):
2989         (WebKit::PluginProcessConnectionManager::PluginProcessConnectionManager):
2990         (WebKit::PluginProcessConnectionManager::initializeConnection):
2991         (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
2992         * WebProcess/Plugins/PluginProcessConnectionManager.h:
2993         (PluginProcessConnectionManager):
2994         * WebProcess/Plugins/PluginProcessConnectionManager.messages.in:
2995         * WebProcess/WebProcess.cpp:
2996         (WebKit::WebProcess::WebProcess):
2997         (WebKit::WebProcess::initializeConnection):
2998         (WebKit::WebProcess::pluginProcessConnectionManager):
2999         * WebProcess/WebProcess.h:
3000         (WebKit):
3001         (WebProcess):
3002
3003 2013-02-13  Anders Carlsson  <andersca@apple.com>
3004
3005         Make SecItemShimProxy be a WorkQueueMessageReceiver
3006         https://bugs.webkit.org/show_bug.cgi?id=109719
3007
3008         Reviewed by Sam Weinig.
3009
3010         This adds a WantsConnection message attribute to be used for messages whose handlers
3011         should take the connection the message was delivered to.
3012         
3013         * Platform/CoreIPC/HandleMessage.h:
3014         (CoreIPC::handleMessage):
3015         Add new handleMessage overload.
3016         
3017         * Scripts/webkit2/messages.py:
3018         (async_message_statement):
3019         (generate_message_handler):
3020         Handle the WantsMessage attribute.
3021
3022         * UIProcess/mac/SecItemShimProxy.cpp:
3023         (WebKit::SecItemShimProxy::shared):
3024         Use dispatch_once and adoptRef.
3025
3026         (WebKit::SecItemShimProxy::SecItemShimProxy):
3027         Initialize the queue.
3028
3029         (WebKit::SecItemShimProxy::initializeConnection):
3030         Add the proxy as a work queue message receiver.
3031
3032         (WebKit::SecItemShimProxy::secItemRequest):
3033         This no longer needs to call out to a dispatch queue, it's already on a queue.
3034
3035         * UIProcess/mac/SecItemShimProxy.messages.in:
3036         This doesn't need to be a legacy receiver. Also, add the WantsConnection message.
3037
3038 2013-02-13  Sheriff Bot  <webkit.review.bot@gmail.com>
3039
3040         Unreviewed, rolling out r142736.
3041         http://trac.webkit.org/changeset/142736
3042         https://bugs.webkit.org/show_bug.cgi?id=109716
3043
3044         Broke ABI, nightly builds crash on launch (Requested by ap on
3045         #webkit).
3046
3047         * Shared/APIClientTraits.cpp:
3048         (WebKit):
3049         * Shared/APIClientTraits.h:
3050         * UIProcess/API/C/WKPage.h:
3051         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
3052         (attachLoaderClientToView):
3053         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3054         * WebProcess/qt/QtBuiltinBundlePage.cpp:
3055         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
3056
3057 2013-02-13  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3058
3059         [WK2][EFL] Cleanup of graphics related code in EwkView
3060         https://bugs.webkit.org/show_bug.cgi?id=109377
3061
3062         Reviewed by Anders Carlsson.
3063
3064         * UIProcess/API/efl/EwkView.cpp:
3065         (EwkView::EwkView):
3066
3067             Initialize the evasGL dependencies here and
3068             set m_isAccelerated to false if this fails.
3069
3070             Set the coordinated graphics scene as active
3071             when using fixed layout.
3072
3073         (EwkView::setSize):
3074
3075             Add a method to set the size and user-viewport
3076             transform from the outside. The idea is moving
3077             this to our pure WK C API in the future.
3078
3079         (EwkView::transformFromScene):
3080         (EwkView::transformToScene):
3081
3082             Update the transform methods to use the user-
3083             viewport transform.
3084
3085         (EwkView::paintToCurrentGLContext):
3086         (EwkView::paintToCairoSurface):
3087
3088             Add methods to paint to either the current GL context
3089             or to a given cairo_surface_t (for software fallback
3090             cases).
3091
3092         (EwkView::displayTimerFired):
3093
3094             Clean up and use the two above methods.
3095
3096         (EwkView::scheduleUpdateDisplay):
3097
3098             Use the new size() methods instead of using the 
3099             smart-object data directly.
3100
3101         (EwkView::createGLSurface):
3102
3103             Make this method use size() to query the surface size
3104             and avoid creating the context (done in ctor now).
3105             Also avoid using the smart-object data directly.
3106
3107         (EwkView::enterAcceleratedCompositingMode):
3108         (EwkView::exitAcceleratedCompositingMode):
3109
3110             Turn on/off the use of the coord. graphics scene.
3111
3112         (EwkView::handleEvasObjectCalculate):
3113
3114             Use the new setSize and setUserViewportTransform.
3115
3116         (EwkView::takeSnapshot):
3117         * UIProcess/API/efl/EwkView.h:
3118         (WebCore):
3119         (EwkView):
3120         (EwkView::size):
3121         (EwkView::setUserViewportTransform):
3122         (EwkView::userViewportTransform):
3123
3124             Add the new method definitions and rename isHardwareAccelerated
3125             to isAccelerated which fits better with the naming in WebCore.
3126
3127 2013-02-13  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3128
3129         [EFL][WK2] Introduce WKViewClient C API
3130         https://bugs.webkit.org/show_bug.cgi?id=109559
3131
3132         Reviewed by Anders Carlsson.
3133
3134         This patch introduces the WKViewClient C API for EFL's WKView. The purpose of
3135         this new C API is to eventually remove the interdependency between EFL's
3136         PageClient and EwkView. When completed, PageClient should only interact with
3137         WebView and not be aware of EwkView so that we have a clean separation between
3138         internal WebKit2 classes and our EFL Ewk API implementation.
3139
3140         This patch is only a first step towards this goal as there is a lot of work
3141         to do to achieve complete separation between EwkView and PageClient. The purpose
3142         of this patch is to introduce the needed architecture which will later be
3143         extended by introducing new WKViewClient callbacks.
3144
3145         * PlatformEfl.cmake: Add new ViewClientEfl.cpp and WebViewClient.cpp to EFL's CMake
3146         configuration.
3147         * UIProcess/API/C/efl/WKView.cpp:
3148         (WKViewSetViewClient):
3149         * UIProcess/API/C/efl/WKView.h: Introduce new WKViewClient C API.
3150         * UIProcess/API/efl/EwkView.cpp:
3151         (EwkView::EwkView): Initialize ViewClientEfl.
3152         * UIProcess/API/efl/EwkView.h: Add new ViewClientEfl member.
3153         (WebKit):
3154         (EwkView):
3155         * UIProcess/API/efl/EwkViewCallbacks.h: Update ContentsSizeChanged smart callback to
3156         accept a WKSize in parameter instead of an IntRect.
3157         * UIProcess/efl/PageClientBase.cpp: Start calling WKViewClient callbacks instead of
3158         interacting directly with EwkView to avoid violating API layering.
3159         (WebKit::PageClientBase::view):
3160         (WebKit::PageClientBase::setViewNeedsDisplay):
3161         * UIProcess/efl/PageClientBase.h:
3162         (WebKit):
3163         (PageClientBase):
3164         * UIProcess/efl/PageClientDefaultImpl.cpp: Start calling WKViewClient callbacks instead of
3165         interacting directly with EwkView to avoid violating API layering.
3166         (WebKit::PageClientDefaultImpl::didChangeContentsSize):
3167         * UIProcess/efl/PageClientLegacyImpl.cpp: Start calling WKViewClient callbacks instead of
3168         interacting directly with EwkView to avoid violating API layering.
3169         (WebKit::PageClientLegacyImpl::didChangeContentsSize):
3170         * UIProcess/efl/ViewClientEfl.cpp:
3171         (WebKit):
3172         (WebKit::ViewClientEfl::toEwkView):
3173         (WebKit::ViewClientEfl::viewNeedsDisplay):
3174         (WebKit::ViewClientEfl::didChangeContentsSize):
3175         (WebKit::ViewClientEfl::ViewClientEfl):
3176         (WebKit::ViewClientEfl::~ViewClientEfl):
3177         * UIProcess/efl/ViewClientEfl.h: Introduce new ViewClientEfl which handles WKViewClient callbacks
3178         and interacts with EwkView.
3179         (WebKit):
3180         (ViewClientEfl):
3181         (WebKit::ViewClientEfl::create):
3182         * UIProcess/efl/WebView.cpp:
3183         (WebKit::WebView::initializeClient):
3184         (WebKit):
3185         (WebKit::WebView::setViewNeedsDisplay):
3186         (WebKit::WebView::didChangeContentsSize):
3187         * UIProcess/efl/WebView.h: Add new WebViewClient member and corresponding methods to interact
3188         with it.
3189         (WebView):
3190         * UIProcess/efl/WebViewClient.cpp:
3191         (WebKit):
3192         (WebKit::WebViewClient::viewNeedsDisplay):
3193         (WebKit::WebViewClient::didChangeContentsSize):
3194         * UIProcess/efl/WebViewClient.h: Add new WebViewClient APIClient for WKViewClient.
3195         (WebCore):
3196         (WebKit):
3197
3198 2013-02-13  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3199
3200         [WK2][EFL][WTR] Regression(r141836): WTR crashes on exit
3201         https://bugs.webkit.org/show_bug.cgi?id=109456
3202
3203         Reviewed by Anders Carlsson.
3204
3205         WebView destructor now considers the situation if its WebPageProxy
3206         instance had been closed from outside the class (explicitly
3207         by client code).
3208
3209         * UIProcess/efl/WebView.cpp:
3210         (WebKit::WebView::~WebView):
3211
3212 2013-02-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3213
3214         [WK2] Remove web intents callbacks
3215         https://bugs.webkit.org/show_bug.cgi?id=109654
3216
3217         Reviewed by Benjamin Poulain.
3218
3219         Web intents was removed by r142549.
3220
3221         * Shared/APIClientTraits.cpp:
3222         (WebKit):
3223         * Shared/APIClientTraits.h:
3224         * UIProcess/API/C/WKPage.h:
3225         * UIProcess/API/gtk/WebKitLoaderClient.cpp:
3226         (attachLoaderClientToView):
3227         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
3228         * WebProcess/qt/QtBuiltinBundlePage.cpp:
3229         (WebKit::QtBuiltinBundlePage::QtBuiltinBundlePage):
3230
3231 2013-02-12  Adenilson Cavalcanti  <cavalcantii@gmail.com>
3232
3233         [WK2] Page reloading will crash UIProcess after WebProcess was killed
3234         https://bugs.webkit.org/show_bug.cgi?id=109305
3235
3236         Reviewed by Benjamin Poulain.
3237
3238         Re-initialize the pointer to a WebInspectorProxy object before calling
3239         initializeWebPage().
3240
3241         When the WebProcess crashes, WebPageProxy::processDidCrash() will
3242         set WebInspectorProxy pointer to null, which later is accessed by
3243         initializeWebPage(). This patch avoids a crash scenario where
3244         calls into a null pointer would be made.
3245
3246         * UIProcess/WebPageProxy.cpp:
3247         (WebKit::WebPageProxy::reattachToWebProcess):
3248
3249 2013-02-12  Joseph Pecoraro  <pecoraro@apple.com>
3250
3251         [iOS] Enable PAGE_VISIBILITY_API
3252         https://bugs.webkit.org/show_bug.cgi?id=109399
3253
3254         Reviewed by David Kilzer.
3255
3256         * Configurations/FeatureDefines.xcconfig:
3257
3258 2013-02-12  Brady Eidson  <beidson@apple.com>
3259
3260         Update a comment in NetworkProcess to be more accurate.
3261
3262         Rubberstamped by Sam Weinig.
3263
3264         * NetworkProcess/NetworkProcess.cpp:
3265         (WebKit::NetworkProcess::didClose):
3266
3267 2013-02-12  Anders Carlsson  <andersca@apple.com>
3268
3269         SecItemShim should be a WorkQueueMessageReceiver
3270         https://bugs.webkit.org/show_bug.cgi?id=109636
3271
3272         Reviewed by Sam Weinig.
3273
3274         * Platform/CoreIPC/Connection.cpp:
3275         (CoreIPC::Connection::dispatchWorkQueueMessageReceiverMessage):
3276         Add a helper function for dispatching a work queue message receiver message.
3277
3278         (CoreIPC::Connection::processIncomingMessage):
3279         Check if there are any work queue message receivers registered for this message.
3280
3281         * Shared/mac/SecItemShim.cpp:
3282         (WebKit::SecItemShim::shared):
3283         Use dispatch_once instead of the AtomicallyInitializedStatic macro.
3284
3285         (WebKit::SecItemShim::SecItemShim):
3286         Initialize the queue.
3287
3288         (WebKit::SecItemShim::secItemResponse):
3289         Remove the connection parameter.
3290
3291         (WebKit::SecItemShim::initializeConnection):
3292         Register the shim object as a work queue message receiver.
3293
3294         * Shared/mac/SecItemShim.h:
3295         Inherit from WorkQueueMessageReceiver.
3296
3297         * Shared/mac/SecItemShim.messages.in:
3298         Remove LegacyReceiver and DispatchOnConnectionQueue.
3299
3300 2013-02-12  Sam Weinig  <sam@webkit.org>
3301
3302         Make Plug-in XPC services "join existing sessions"
3303         <rdar://problem/13196448>
3304
3305         Reviewed by Mark Rowe.
3306
3307         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32/Info.plist:
3308         * PluginProcess/EntryPoint/mac/XPCService/PluginService.64/Info.plist:
3309         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
3310
3311 2013-02-12  Sam Weinig  <sam@webkit.org>
3312
3313         Add skeleton of the OfflineStorageProcess
3314         https://bugs.webkit.org/show_bug.cgi?id=109615
3315
3316         Reviewed by Anders Carlsson.
3317
3318         This adds the skeleton of a new process to contain Database and Local Storage
3319         backends in (hence, offline storage). We're adding a new process, rather than
3320         using the Network or UIProcesses, to allow us to tightly sandbox these activities
3321         away from networking and full filesystem access.
3322
3323         * Configurations/OfflineStorageProcess.xcconfig: Added.
3324         * Configurations/OfflineStorageService.Development.xcconfig: Added.
3325         * Configurations/OfflineStorageService.xcconfig: Added.
3326         * DerivedSources.make:
3327         * OfflineStorageProcess: Added.
3328         * OfflineStorageProcess/EntryPoint: Added.
3329         * OfflineStorageProcess/EntryPoint/mac: Added.
3330         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess: Added.
3331         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/Info.plist: Added.
3332         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMain.mm: Added.
3333         * OfflineStorageProcess/EntryPoint/mac/LegacyProcess/OfflineStorageProcessMainBootstrapper.cpp: Added.
3334         * OfflineStorageProcess/EntryPoint/mac/XPCService: Added.
3335         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService: Added.
3336         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development: Added.
3337         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/Info.plist: Added.
3338         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService.Development/OfflineStorageServiceMain.Development.mm: Added.
3339         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/Info.plist: Added.
3340         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageService/OfflineStorageServiceMain.mm: Added.
3341         * OfflineStorageProcess/EntryPoint/mac/XPCService/OfflineStorageServiceEntryPoint.mm: Added.
3342         * OfflineStorageProcess/OfflineStorageProcess.cpp: Added.
3343         * OfflineStorageProcess/OfflineStorageProcess.h: Added.
3344         * OfflineStorageProcess/OfflineStorageProcess.messages.in: Added.
3345         * OfflineStorageProcess/mac: Added.
3346         * OfflineStorageProcess/mac/OfflineStorageProcessMac.mm: Added.
3347         (WebKit::OfflineStorageProcess::initializeProcessName):
3348         (WebKit::OfflineStorageProcess::initializeSandbox):
3349         * OfflineStorageProcess/mac/com.apple.WebKit.OfflineStorage.sb: Added.
3350         * Shared/OfflineStorage: Added.
3351         * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.cpp: Added.
3352         * Shared/OfflineStorage/OfflineStorageProcessCreationParameters.h: Added.
3353
3354         * Scripts/webkit2/messages.py:
3355         (struct_or_class):
3356         Added OfflineStorageProcessCreationParameters.
3357
3358         * WebKit2.xcodeproj/project.pbxproj:
3359
3360 2013-02-12  Jinwoo Song  <jinwoo7.song@samsung.com>
3361
3362         [EFL][WK2] Fix build warning after r142579
3363         https://bugs.webkit.org/show_bug.cgi?id=109547
3364
3365         Reviewed by Alexey Proskuryakov.
3366
3367         Use UNUSED_PARAM macro to fix -Wunused-parameter build warning.
3368
3369         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
3370         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
3371
3372 2013-02-12  Christophe Dumez  <ch.dumez@sisa.samsung.com>
3373
3374         [EFL][WK2] Reenable ewk_auth_request API tests
3375         https://bugs.webkit.org/show_bug.cgi?id=108451
3376
3377         Reviewed by Benjamin Poulain.
3378
3379         ewk_auth_request API tests were temporarily disabled after
3380         the C API for resource loading was removed from WebKit2.
3381         This patches updates the tests so that they no longer rely
3382         on the resource loading events and renables them.
3383
3384         This patch also corrects the naming of the static variables
3385         in the test to follow more closely the WebKit coding style.
3386
3387         * PlatformEfl.cmake:
3388         * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
3389         (serverCallback):
3390         (TEST_F):
3391         (onLoadFinished):
3392
3393 2013-02-12  Anders Carlsson  <andersca@apple.com>
3394
3395         Introduce a WorkQueueMessageReceiver class as a replacement for QueueClient
3396         https://bugs.webkit.org/show_bug.cgi?id=109612
3397
3398         Reviewed by Andreas Kling.
3399
3400         * Platform/CoreIPC/Connection.cpp:
3401         (CoreIPC::Connection::addWorkQueueMessageReceiver):
3402         (CoreIPC):
3403         (CoreIPC::Connection::removeWorkQueueMessageReceiver):
3404         (CoreIPC::Connection::addWorkQueueMessageReceiverOnConnectionWorkQueue):
3405         (CoreIPC::Connection::removeWorkQueueMessageReceiverOnConnectionWorkQueue):
3406         * Platform/CoreIPC/Connection.h:
3407         (Connection):
3408
3409 2013-02-12  Csaba Osztrogonác  <ossy@webkit.org>
3410
3411         Typo fix after r142663.
3412
3413         * GNUmakefile.list.am:
3414
3415 2013-02-12  Csaba Osztrogonác  <ossy@webkit.org>
3416
3417         [WK2] Unreviewed trivial buildfix after r142630 and r142651.
3418
3419         * CMakeLists.txt:
3420         * GNUmakefile.list.am:
3421         * Target.pri:
3422         * UIProcess/Plugins/PluginProcessProxy.cpp:
3423         (WebKit::PluginProcessProxy::didFinishLaunching):
3424         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
3425         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
3426         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
3427         (WebKit::PluginProcessProxy::platformGetLaunchOptions):
3428
3429 2013-02-12  Anders Carlsson  <andersca@apple.com>
3430
3431         Change the queue client base class to be private everywhere
3432         https://bugs.webkit.org/show_bug.cgi?id=109604
3433
3434         Reviewed by Andreas Kling.
3435
3436         Move connection queue client registration inside of the respective queue client classes.
3437
3438         Also, it's too late to add queue clients in ChildProcessProxy::didFinishLaunching, so do this in
3439         ChildProcessProxy::connectionWillOpen instead.
3440         
3441         Finally, assert that queue clients are only being added and removed from the client thread.
3442
3443         * NetworkProcess/NetworkProcess.cpp:
3444         (WebKit::NetworkProcess::initializeConnection):
3445         * Platform/CoreIPC/Connection.cpp:
3446         (CoreIPC::Connection::addQueueClient):
3447         (CoreIPC::Connection::removeQueueClient):
3448         * Shared/mac/SecItemShim.cpp:
3449         (WebKit::SecItemShim::initializeConnection):
3450         (WebKit):
3451         * Shared/mac/SecItemShim.h:
3452         (SecItemShim):
3453         * UIProcess/Network/NetworkProcessProxy.cpp:
3454         (WebKit::NetworkProcessProxy::connectionWillOpen):
3455         (WebKit):
3456         (WebKit::NetworkProcessProxy::connectionWillClose):
3457         (WebKit::NetworkProcessProxy::didFinishLaunching):
3458         * UIProcess/Network/NetworkProcessProxy.h:
3459         (NetworkProcessProxy):
3460         * UIProcess/WebProcessProxy.cpp:
3461         (WebKit::WebProcessProxy::connectionWillOpen):
3462         (WebKit::WebProcessProxy::didFinishLaunching):
3463         * UIProcess/mac/SecItemShimProxy.cpp:
3464         (WebKit::SecItemShimProxy::initializeConnection):
3465         (WebKit):
3466         * UIProcess/mac/SecItemShimProxy.h:
3467         (SecItemShimProxy):
3468         * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
3469         (WebKit::PluginProcessConnectionManager::initializeConnection):
3470         (WebKit):
3471         * WebProcess/Plugins/PluginProcessConnectionManager.h:
3472         (PluginProcessConnectionManager):
3473         * WebProcess/WebPage/EventDispatcher.cpp:
3474         (WebKit::EventDispatcher::initializeConnection):
3475         (WebKit):
3476         * WebProcess/WebPage/EventDispatcher.h:
3477         (EventDispatcher):
3478         * WebProcess/WebProcess.cpp:
3479         (WebKit::WebProcess::initializeConnection):
3480
3481 2013-02-12  Brady Eidson  <beidson@apple.com>
3482
3483         Add WKContext API to retrieve basic network process statistics
3484         https://bugs.webkit.org/show_bug.cgi?id=109329
3485
3486         Reviewed by Sam Weinig.
3487
3488         This patch adds a WKContextGetStatisticsWithOptions which allows the client to ask for
3489         certain types of statistics.
3490
3491         It also expands the "get statistics" callback mechanism to allow for a statistics request 
3492         to be answered by multiple child processes.
3493
3494         That mechanism still has some rough edges but will eventually allow for getting statistics
3495         from multiple web processes, as well.
3496
3497         * NetworkProcess/HostRecord.cpp:
3498         (WebKit::HostRecord::pendingRequestCount):
3499         (WebKit::HostRecord::activeLoadCount):
3500         * NetworkProcess/HostRecord.h:
3501
3502         * NetworkProcess/NetworkProcess.cpp:
3503         (WebKit::NetworkProcess::getNetworkProcessStatistics):
3504         * NetworkProcess/NetworkProcess.h:
3505         * NetworkProcess/NetworkProcess.messages.in:
3506
3507         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
3508         (WebKit::NetworkResourceLoadScheduler::hostsPendingCount):
3509         (WebKit::NetworkResourceLoadScheduler::loadsPendingCount):
3510         (WebKit::NetworkResourceLoadScheduler::hostsActiveCount):
3511         (WebKit::NetworkResourceLoadScheduler::loadsActiveCount):
3512         * NetworkProcess/NetworkResourceLoadScheduler.h:
3513
3514         * Shared/Authentication/AuthenticationManager.h:
3515         (WebKit::AuthenticationManager::outstandingAuthenticationChallengeCount):
3516         * Shared/Downloads/DownloadManager.h:
3517
3518         * UIProcess/API/C/WKContext.cpp:
3519         (WKContextGetStatistics):
3520         (WKContextGetStatisticsWithOptions):
3521         * UIProcess/API/C/WKContext.h:
3522
3523         * UIProcess/StatisticsRequest.cpp: Added.
3524         (WebKit::StatisticsRequest::StatisticsRequest):
3525         (WebKit::StatisticsRequest::~StatisticsRequest):
3526         (WebKit::StatisticsRequest::addOutstandingRequest):
3527         (WebKit::addToDictionaryFromHashMap):
3528         (WebKit::createDictionaryFromHashMap):
3529         (WebKit::StatisticsRequest::completedRequest):
3530         * UIProcess/StatisticsRequest.h: Added.
3531         (WebKit::StatisticsRequest::create):
3532
3533