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