fc39157ac8270125b15df1eff6fb3adf8d629cfd
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-11-12  Anders Carlsson  <andersca@apple.com>
2
3         Send along the current remote layer tree transaction with the commit message
4         https://bugs.webkit.org/show_bug.cgi?id=102014
5
6         Reviewed by Tim Horton.
7
8         Add encode and decode member functions to RemoteLayerTreeTransaction and RemoteLayerTreeTransaction::LayerProperties.
9
10         * Shared/mac/RemoteLayerTreeTransaction.h:
11         * Shared/mac/RemoteLayerTreeTransaction.mm:
12         (WebKit::RemoteLayerTreeTransaction::LayerProperties::encode):
13         (WebKit::RemoteLayerTreeTransaction::LayerProperties::decode):
14         (WebKit::RemoteLayerTreeTransaction::encode):
15         (WebKit::RemoteLayerTreeTransaction::decode):
16         * UIProcess/mac/RemoteLayerTreeHost.h:
17         * UIProcess/mac/RemoteLayerTreeHost.messages.in:
18         * UIProcess/mac/RemoteLayerTreeHost.mm:
19         (WebKit::RemoteLayerTreeHost::commit):
20         * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
21         (WebKit::RemoteLayerTreeContext::flushLayers):
22
23 2012-11-12  Brady Eidson  <beidson@apple.com>
24
25         Get rid of the CrossOriginRedirectReceived message to the NetworkProcess.
26         https://bugs.webkit.org/show_bug.cgi?id=102010
27
28         Reviewed by Alexey Proskuryakov.
29
30         This message was a stop-gap measure for when the NetworkProcess did scheduling but not loading.
31         Now that the NetworkProcess does loading it doesn't need to be told when redirect is received.
32
33         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
34         * NetworkProcess/NetworkConnectionToWebProcess.messages.in: Get rid of the message to the NetworkProcess.
35
36         * NetworkProcess/NetworkRequest.cpp:
37         (WebKit::NetworkRequest::willSendRequest): After willSendRequest is dispatched to the WebProcess, directly call
38           "receivedRedirect" on the NetworkResourceLoadScheduler.
39
40         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
41         (WebKit::NetworkResourceLoadScheduler::receivedRedirect): Renamed from crossOriginRedirectReceived, as the
42           function already checks to see if the redirect was actually cross-origin.
43         * NetworkProcess/NetworkResourceLoadScheduler.h:
44
45         * WebProcess/Network/WebResourceLoadScheduler.cpp:
46         (WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived): A no-op so the WebProcess doesn't
47           do any host record accounting of its own.
48
49 2012-11-12  Tim Horton  <timothy_horton@apple.com>
50
51         PDFPlugin should use PDFKit's context menu instead of the default WebKit one
52         https://bugs.webkit.org/show_bug.cgi?id=101896
53         <rdar://problem/12555173>
54
55         Reviewed by Anders Carlsson.
56
57         Show the context menu that PDFKit vends us instead of the default WebKit one
58         when PDFPlugin is told to show a context menu.
59
60         Also, react to the didChangeContentScaleFactor callback, so that when the context
61         menu (or HUD) is used to change the scale factor, we can inform PluginView.
62
63         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
64         Add pdfLayerController:didChangeContentScaleFactor: delegate callback.
65         Rename tileScaleFactor to contentScaleFactor.
66         Add rightMouseDown: and menuForEvent: on PDFLayerController.
67         * WebProcess/Plugins/PDF/PDFPlugin.h:
68         (PDFPlugin):
69         Add notifyContentScaleFactorChanged, handleContextMenuEvent, and nsEventForWebMouseEvent.
70         * WebProcess/Plugins/PDF/PDFPlugin.mm:
71         (-[WKPDFLayerControllerDelegate pdfLayerController:didChangeContentScaleFactor:]): Forward content scale factor changes to PDFPlugin.
72         (WebKit::PDFPlugin::pdfDocumentDidLoad): Rename tileScaleFactor to contentScaleFactor.
73         (WebKit::PDFPlugin::geometryDidChange): Rename tileScaleFactor to contentScaleFactor.
74         (WebKit::eventTypeFromWebEvent): It turns out we can infer whether the mouse is being dragged during a MouseMove event
75         by whether it has a mouse button associated with it or not, so we don't need to track this state manually.
76         (WebKit::PDFPlugin::nsEventForWebMouseEvent): Factor the part of handleMouseEvent that creates NSEvents* out into its own function.
77         (WebKit::PDFPlugin::handleMouseEvent):
78         Don't track mouseButtonIsDown manually, make use of the new nsEventForWebMouseEvent.
79         Hand rightMouseDown: to PDFLayerController instead of mouseDown: if necessary.
80         (WebKit::PDFPlugin::handleContextMenuEvent): Grab the relevant NSMenu from PDFKit and display it.
81         (WebKit::PDFPlugin::handleKeyboardEvent): Don't pass a bogus mouseButtonIsDown to eventTypeFromWebEvent.
82         (WebKit::PDFPlugin::notifyContentScaleFactorChanged): Update PluginView and co.'s notion of page scale when
83         PDFKit changes it (generally from the context menu/HUD). Also update page size and scrollbar size/position.
84         (WebKit::PDFPlugin::setScrollOffset): Don't call SimplePDFPlugin's implementation, as PDFKit handles invalidation itself.
85         * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
86         (WebKit::PDFPluginChoiceAnnotation::updateGeometry): Rename tileScaleFactor to contentScaleFactor.
87         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
88         (WebKit::PDFPluginTextAnnotation::updateGeometry): Rename tileScaleFactor to contentScaleFactor.
89         * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Make m_scrollOffset protected.
90
91 2012-11-12  Anders Carlsson  <andersca@apple.com>
92
93         Add a RemoteLayerTreeHost object in the UI process
94         https://bugs.webkit.org/show_bug.cgi?id=101999
95
96         Reviewed by Tim Horton.
97
98         Add a (mostly empty) RemoteLayerTreeHost class that will live in the UI process and host the layer tree.
99
100         * DerivedSources.make:
101         Add RemoteLayerTreeHost.messages.in.
102
103         * Platform/CoreIPC/MessageID.h:
104         Add a RemoteLayerTreeHost message class.
105
106         * UIProcess/WebProcessProxy.cpp:
107         (WebKit::WebProcessProxy::addMessageReceiver):
108         (WebKit::WebProcessProxy::removeMessageReceiver):
109         (WebKit::WebProcessProxy::didReceiveMessage):
110         (WebKit::WebProcessProxy::didReceiveSyncMessage):
111         * UIProcess/WebProcessProxy.h:
112         Add a message receiver map to the web process proxy.
113
114         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
115         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
116         Add a RemoteLayerTreeHost member variable.
117
118         * UIProcess/mac/RemoteLayerTreeHost.h:
119         Add new class.
120
121         * UIProcess/mac/RemoteLayerTreeHost.messages.in:
122         Add new messages file with a single Commit message.
123         
124         * UIProcess/mac/RemoteLayerTreeHost.mm:
125         (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
126         Add the layer tree host as a message receiver.
127
128         (WebKit::RemoteLayerTreeHost::~RemoteLayerTreeHost):
129         Remote the layer tree host as a message receiver.
130
131         (WebKit::RemoteLayerTreeHost::didReceiveMessage):
132         Call the generated member function.
133
134         (WebKit::RemoteLayerTreeHost::commit):
135         Add an empty stub for now.
136
137         * WebKit2.xcodeproj/project.pbxproj:
138         Add new files.
139
140         * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm:
141         (WebKit::RemoteLayerTreeContext::flushLayers):
142         Send a commit message to the remote layer tree host.
143
144 2012-11-12  Tim Horton  <timothy_horton@apple.com>
145
146         PDFPlugin should support non-1 device scale factor
147         https://bugs.webkit.org/show_bug.cgi?id=101923
148
149         Reviewed by Alexey Proskuryakov.
150
151         Do the appropriate plumbing to ensure that PDFPlugin handles device scale factor > 1
152         (it's called contentsScaleFactor in plugins), both for normal drawing and for snapshotting.
153
154         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add deviceScaleFactor setter/getter to PDFLayerController.
155         * WebProcess/Plugins/PDF/PDFPlugin.h:
156         (PDFPlugin): Override contentsScaleFactorChanged.
157         * WebProcess/Plugins/PDF/PDFPlugin.mm:
158         (WebKit::PDFPlugin::pdfDocumentDidLoad): Plumb device scale factor through to PDFLayerController.
159         (WebKit::PDFPlugin::contentsScaleFactorChanged): Plumb device scale factor through to PDFLayerController
160         when we're notified that it has changed.
161         (WebKit::PDFPlugin::snapshot): Create snapshots with the device scale factor applied.
162
163 2012-11-12  Anders Carlsson  <andersca@apple.com>
164
165         Rename RemoteLayerTreeController to RemoteLayerTreeContext
166         https://bugs.webkit.org/show_bug.cgi?id=101993
167
168         Reviewed by Andreas Kling.
169
170         * WebKit2.xcodeproj/project.pbxproj:
171         * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
172         (RemoteGraphicsLayer):
173         * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
174         (WebKit::RemoteGraphicsLayer::create):
175         (WebKit::RemoteGraphicsLayer::RemoteGraphicsLayer):
176         (WebKit::RemoteGraphicsLayer::flushCompositingStateForThisLayerOnly):
177         * WebProcess/WebPage/mac/RemoteLayerTreeContext.h: Renamed from Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeController.h.
178         * WebProcess/WebPage/mac/RemoteLayerTreeContext.mm: Renamed from Source/WebKit2/WebProcess/WebPage/mac/RemoteLayerTreeController.mm.
179         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
180         (RemoteLayerTreeDrawingArea):
181         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
182         (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
183         (WebKit::RemoteLayerTreeDrawingArea::graphicsLayerFactory):
184         (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
185         (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
186
187 2012-11-12  Anders Carlsson  <andersca@apple.com>
188
189         Add debug only code to dump the contents of a transaction
190         https://bugs.webkit.org/show_bug.cgi?id=101991
191
192         Reviewed by Andreas Kling.
193
194         * Shared/mac/RemoteLayerTreeTransaction.h:
195         * Shared/mac/RemoteLayerTreeTransaction.mm:
196         (WebKit::writeIndent):
197         (WebKit::dumpChangedLayers):
198         (WebKit::RemoteLayerTreeTransaction::dump):
199
200 2012-11-12  Anders Carlsson  <andersca@apple.com>
201
202         Store name changes in the layer transaction
203         https://bugs.webkit.org/show_bug.cgi?id=101981
204
205         Reviewed by Andreas Kling.
206
207         * Shared/mac/RemoteLayerTreeTransaction.h:
208         (LayerProperties):
209         Add new LayerProperties class.
210
211         (RemoteLayerTreeTransaction):
212         * Shared/mac/RemoteLayerTreeTransaction.mm:
213         (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
214         Find the changed layer properties for the given layer and apply the changed properties.
215
216         * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
217         (WebKit::RemoteGraphicsLayer::layerID):
218         Add new getter.
219
220         * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
221         (WebKit::generateLayerID):
222         (WebKit::RemoteGraphicsLayer::RemoteGraphicsLayer):
223         Give each remote graphics layer a unique ID.
224
225 2012-11-12  Brady Eidson  <beidson@apple.com>
226
227         NetworkProcess: Use an accurate shouldContentSniff value when creating ResourceHandles
228         https://bugs.webkit.org/show_bug.cgi?id=101872
229
230         Reviewed by Alexey Proskuryakov.
231
232         The WebProcess now passes "shouldContentSniff" over to the NetworkProcess with the requests so it can be respected.
233
234         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
235         (WebKit::NetworkConnectionToWebProcess::scheduleNetworkRequest): Update to pass through "shouldContentSniff"
236         * NetworkProcess/NetworkConnectionToWebProcess.h:
237         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
238
239         * NetworkProcess/NetworkRequest.cpp:
240         (WebKit::NetworkRequest::NetworkRequest):
241         (WebKit::NetworkRequest::start):
242         * NetworkProcess/NetworkRequest.h:
243         (WebKit::NetworkRequest::create):
244
245         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
246         (WebKit::NetworkResourceLoadScheduler::scheduleNetworkRequest): Update to pass through "shouldContentSniff"
247         * NetworkProcess/NetworkResourceLoadScheduler.h:
248         * WebProcess/Network/NetworkProcessConnection.h:
249
250         * WebProcess/Network/WebResourceLoadScheduler.cpp:
251         (WebKit::WebResourceLoadScheduler::scheduleLoad): Update to pass through "shouldContentSniff"
252
253 2012-11-12  Anders Carlsson  <andersca@apple.com>
254
255         More work towards packaging layer changes up into a transaction object
256         https://bugs.webkit.org/show_bug.cgi?id=101969
257
258         Reviewed by Andreas Kling.
259
260         * Shared/mac/RemoteLayerTreeTransaction.h:
261         * Shared/mac/RemoteLayerTreeTransaction.mm:
262         (WebKit::RemoteLayerTreeTransaction::RemoteLayerTreeTransaction):
263         (WebKit::RemoteLayerTreeTransaction::~RemoteLayerTreeTransaction):
264         (WebKit::RemoteLayerTreeTransaction::layerPropertiesChanged):
265         Add empty stubs.
266
267         * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
268         (WebKit::RemoteGraphicsLayer::flushCompositingStateForThisLayerOnly):
269         Call layerPropertiesChanged on the current transaction.
270
271         * WebProcess/WebPage/mac/RemoteLayerTreeController.h:
272         * WebProcess/WebPage/mac/RemoteLayerTreeController.mm:
273         (WebKit::RemoteLayerTreeController::RemoteLayerTreeController):
274         Initialize m_currentTransaction till 0.
275
276         (WebKit::RemoteLayerTreeController::currentTransaction):
277         Add getter. This may only be called from beneath flushLayers.
278
279         (WebKit::RemoteLayerTreeController::flushLayers):
280         Create a transaction before flusing the compositing state.
281
282 2012-11-12  Anders Carlsson  <andersca@apple.com>
283
284         More work on remote layer flushing
285         https://bugs.webkit.org/show_bug.cgi?id=101960
286
287         Reviewed by Andreas Kling.
288
289         * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
290         * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
291         (WebKit::RemoteGraphicsLayer::flushCompositingState):
292         Call recursiveCommitChanges.
293
294         (WebKit::RemoteGraphicsLayer::flushCompositingStateForThisLayerOnly):
295         Add stub function for now.
296
297         (WebKit::RemoteGraphicsLayer::recursiveCommitChanges):
298         Call flushCompositingStateForThisLayerOnly and then call recursiveCommitChanges recursively on all the child layers.
299
300         * WebProcess/WebPage/mac/RemoteLayerTreeController.h:
301         * WebProcess/WebPage/mac/RemoteLayerTreeController.mm:
302         (WebKit::RemoteLayerTreeController::create):
303         (WebKit::RemoteLayerTreeController::RemoteLayerTreeController):
304         This now takes a web page.
305
306         (WebKit::RemoteLayerTreeController::setRootLayer):
307         Add empty function.
308
309         (WebKit::RemoteLayerTreeController::layerFlushTimerFired):
310         Call flushLayers explicitly.
311
312         (WebKit::RemoteLayerTreeController::flushLayers):
313         Force a layout and then sync all the compositing layers.
314
315         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
316         (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
317         RemoteLayerTreeController::create now takes a web page.
318
319         (WebKit::RemoteLayerTreeDrawingArea::setRootCompositingLayer):
320         Call the remote layer tree controller.
321
322 2012-11-12  Anders Carlsson  <andersca@apple.com>
323
324         Layer property changes should schedule a remote layer flush
325         https://bugs.webkit.org/show_bug.cgi?id=101951
326
327         Reviewed by Andreas Kling.
328
329         * Shared/mac/RemoteLayerTreeTransaction.h:
330         * Shared/mac/RemoteLayerTreeTransaction.mm:
331         New class. For now this just contains the changed layer properties flags but this will be extended
332         to cover changed layers as well.
333
334         * WebKit2.xcodeproj/project.pbxproj:
335         Add new files.
336
337         * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
338         (WebKit::RemoteGraphicsLayer::RemoteGraphicsLayer):
339         Initialize m_uncommittedLayerChanges.
340
341         (WebKit::RemoteGraphicsLayer::setName):
342         Set the name and call noteLayerPropertiesChanged.
343
344         (WebKit::RemoteGraphicsLayer::noteLayerPropertiesChanged):
345         Notify that a flush is required (if required).
346
347         * WebProcess/WebPage/mac/RemoteLayerTreeController.h:
348         Add a layer flush timer.
349
350         * WebProcess/WebPage/mac/RemoteLayerTreeController.mm:
351         (WebKit::RemoteLayerTreeController::RemoteLayerTreeController):
352         Initialize the layer flush timer.
353
354         (WebKit::RemoteLayerTreeController::scheduleLayerFlush):
355         Schedule the layer flush timer if needed.
356
357         (WebKit::RemoteLayerTreeController::layerFlushTimerFired):
358         Empty stub for now.
359
360         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
361         (WebKit::RemoteLayerTreeDrawingArea::scheduleCompositingLayerFlush):
362         Call the remote layer tree controller.
363
364 2012-11-12  Kenneth Rohde Christiansen  <kenneth@webkit.org>
365
366         [EFL] Add implementations of device - user conversion methods
367         https://bugs.webkit.org/show_bug.cgi?id=101938
368
369         Reviewed by Laszlo Gombos.
370
371         Consider the deviceScaleFactor when convertion to/from user
372         and device units.
373
374         This affects DOM API's such as window.moveTo, resizeTo etc.
375
376         * UIProcess/efl/PageClientBase.cpp:
377         * UIProcess/efl/PageClientBase.h:
378         (PageClientBase):
379         * UIProcess/efl/PageClientDefaultImpl.cpp:
380         (WebKit::PageClientDefaultImpl::convertToDeviceSpace):
381         (WebKit):
382         (WebKit::PageClientDefaultImpl::convertToUserSpace):
383         * UIProcess/efl/PageClientDefaultImpl.h:
384         (PageClientDefaultImpl):
385         * UIProcess/efl/PageClientLegacyImpl.cpp:
386         (WebKit::PageClientLegacyImpl::convertToDeviceSpace):
387         (WebKit):
388         (WebKit::PageClientLegacyImpl::convertToUserSpace):
389         * UIProcess/efl/PageClientLegacyImpl.h:
390         (PageClientLegacyImpl):
391
392 2012-11-12  Yael Aharon  <yael.aharon@intel.com>
393
394         [EFL][WK2][AC] Black screen when applications use software backend.
395         https://bugs.webkit.org/show_bug.cgi?id=101659
396
397         Reviewed by Kenneth Rohde Christiansen.
398
399         If creating openGL context fails, automatically fallback to software rendering.
400
401         * UIProcess/API/efl/EwkViewImpl.cpp:
402         (EwkViewImpl::EwkViewImpl):
403         (EwkViewImpl::displayTimerFired):
404         (EwkViewImpl::createGLSurface):
405         (EwkViewImpl::enterAcceleratedCompositingMode):
406         * UIProcess/API/efl/EwkViewImpl.h:
407         (EwkViewImpl::hardwareAccelerationEnabled):
408         (EwkViewImpl):
409         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
410         (WebKit::LayerTreeRenderer::LayerTreeRenderer):
411         (WebKit::LayerTreeRenderer::ensureRootLayer):
412         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
413         (WebKit::LayerTreeRenderer::setAccelerationMode):
414         (LayerTreeRenderer):
415         * UIProcess/efl/PageClientBase.cpp:
416         (WebKit::PageClientBase::createDrawingAreaProxy):
417
418 2012-11-12  Thiago Marcos P. Santos  <thiago.santos@intel.com>
419
420         [WK2] Indentation nit on WebPage
421         https://bugs.webkit.org/show_bug.cgi?id=101928
422
423         Reviewed by Kenneth Rohde Christiansen.
424
425         * WebProcess/WebPage/WebPage.cpp:
426         (WebKit::WebPage::setViewportSize):
427
428 2012-11-12  Jiyeon Kim  <jiyeon0402.kim@samsung.com>
429
430         [EFL][WK2] Add ewk_settings_offline_web_application_cache_enabled set/get APIs
431         https://bugs.webkit.org/show_bug.cgi?id=101688
432
433         Reviewed by Gyuyoung Kim.
434
435         Add ewk_settings_offline_web_application_cache_get API to be used for enabling disabling the web application cache.
436         Add ewk_settings_offline_web_application_cache_set API to be used for getting the web application cache status.
437         In addition, offline web application cache is enabled by default.
438
439         * UIProcess/API/efl/EwkViewImpl.cpp:
440         (EwkViewImpl::EwkViewImpl):
441         * UIProcess/API/efl/ewk_settings.cpp:
442         (ewk_settings_offline_web_application_cache_enabled_set):
443         (ewk_settings_offline_web_application_cache_enabled_get):
444         * UIProcess/API/efl/ewk_settings.h:
445         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
446         (TEST_F):
447
448 2012-11-11  Shinya Kawanaka  <shinyak@chromium.org>
449
450         [Shadow] ElementShadow should have RuleFeatureSet for select attribute selectors.
451         https://bugs.webkit.org/show_bug.cgi?id=101180
452
453         Reviewed by Dimitri Glazkov.
454
455         * win/WebKit2.def:
456         * win/WebKit2CFLite.def:
457
458 2012-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
459
460         Unreviewed, rolling out r134144.
461         http://trac.webkit.org/changeset/134144
462         https://bugs.webkit.org/show_bug.cgi?id=101876
463
464         seems to break win 7 chromium browser test (Requested by
465         hayato on #webkit).
466
467         * win/WebKit2.def:
468         * win/WebKit2CFLite.def:
469
470 2012-11-11  Kenichi Ishibashi  <bashi@chromium.org>
471
472         WTFString::utf8() should have a mode of conversion to use replacement character
473         https://bugs.webkit.org/show_bug.cgi?id=101678
474
475         Reviewed by Alexey Proskuryakov.
476
477         Update the symbol for String::utf8().
478
479         * win/WebKit2.def:
480         * win/WebKit2CFLite.def:
481
482 2012-11-10  Zeno Albisser  <zeno@webkit.org>
483
484         [Qt][WK2] Use QLibraryInfo to search for executables.
485         https://bugs.webkit.org/show_bug.cgi?id=101774
486
487         Reviewed by Simon Hausmann.
488
489         This allows finding the WebProcess or the PluginProcess
490         in it's installed location. This is necessary when
491         deploying QtWebKit with an installer.
492
493         * Shared/qt/ProcessExecutablePathQt.cpp:
494         (WebKit::executablePath):
495
496 2012-11-09  Huang Dongsung  <luxtella@company100.net>
497
498         Coordinated Graphics: Rename tileRect from targetRect.
499         https://bugs.webkit.org/show_bug.cgi?id=101705
500
501         Reviewed by Noam Rosenthal.
502
503         Messages::LayerTreeCoordinatorProxy::CreateTileForLayer contains the targetRect
504         variable. The targetRect stands for the rect of the tile created. This patch
505         renames tileRect to enhance the clearity.
506
507         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
508         (WebKit::CoordinatedBackingStoreTile::swapBuffers):
509         (WebKit::CoordinatedBackingStoreTile::setBackBuffer):
510         (WebKit::CoordinatedBackingStore::updateTile):
511         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
512         (CoordinatedBackingStoreTile):
513         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
514         (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
515         (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
516         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
517         (LayerTreeCoordinatorProxy):
518         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
519         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
520         (WebKit::LayerTreeRenderer::updateTile):
521         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
522         (TileUpdate):
523         (WebKit::LayerTreeRenderer::TileUpdate::TileUpdate):
524         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
525         (WebCore::CoordinatedGraphicsLayer::createTile):
526         (WebCore::CoordinatedGraphicsLayer::updateTile):
527         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
528         (CoordinatedGraphicsLayerClient):
529         (CoordinatedGraphicsLayer):
530         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
531         (CoordinatedTileClient):
532         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
533         (WebKit::LayerTreeCoordinator::createTile):
534         (WebKit::LayerTreeCoordinator::updateTile):
535         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
536         (LayerTreeCoordinator):
537
538 2012-11-09  Noam Rosenthal  <noam.rosenthal@nokia.com>
539
540         Allow ports to decide whether an image should be directly composited
541         https://bugs.webkit.org/show_bug.cgi?id=101827
542
543         Reviewed by Simon Fraser.
544
545         Implement shouldDirectlyCompositeImage for coordinated graphics, effectively disabling direct
546         compositing of images with width or height larger than 2000 pixels.
547
548         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
549         (WebCore::CoordinatedGraphicsLayer::shouldDirectlyCompositeImage):
550         (WebCore):
551         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
552         (CoordinatedGraphicsLayer):
553
554 2012-11-09  Huang Dongsung  <luxtella@company100.net>
555
556         Coordinated Graphics: Antialias the edge-tiles of CoordinatedBackingStore.
557         https://bugs.webkit.org/show_bug.cgi?id=101818
558
559         Reviewed by Noam Rosenthal.
560
561         Since we now have the entire surfaceRect, we can antialias the edge-tiles.
562
563         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
564         (WebKit::CoordinatedBackingStore::paintTilesToTextureMapper):
565         (WebKit::CoordinatedBackingStore::paintToTextureMapper):
566         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
567         (CoordinatedBackingStore):
568
569 2012-11-09  Rick Byers  <rbyers@chromium.org>
570
571         No tests for changing mouse cursors
572         https://bugs.webkit.org/show_bug.cgi?id=100550
573
574         Reviewed by Adam Barth.
575
576         Add necessary exports for Internals::getCurrentCursorInfo
577
578         * win/WebKit2.def:
579         * win/WebKit2CFLite.def:
580
581 2012-11-09  Vivek Galatage  <vivekgalatage@gmail.com>
582
583         Add missing exports setMediaTypeOverride, setResolutionOverride and layerTreeAsText to WebKit2CFLite.def
584         https://bugs.webkit.org/show_bug.cgi?id=101816
585
586         Reviewed by Anders Carlsson.
587
588         Add missing exports setMediaTypeOverride, setResolutionOverride and layerTreeAsText to WebKit2CFLite.def to fix win-cairo build.
589
590         * win/WebKit2CFLite.def:
591
592 2012-11-09  Huang Dongsung  <luxtella@company100.net>
593
594         Coordinated Graphics: Amend CoordinatedBackingStore::paintToTextureMapper to fit its own semantic.
595         https://bugs.webkit.org/show_bug.cgi?id=101701
596
597         Reviewed by Noam Rosenthal.
598
599         Currently, all subclasses of TextureMapperPlatformLayer implement
600         paintToTextureMapper to draw its own texture on the given targetRect. Subclasses
601         can scale the texture to fit the size of the targetRect. However, only
602         CoordinatedBackingStore::paintToTextureMapper draws its texture using its own
603         texture size. There is no bug yet, because TextureMapperLayer uses
604         CoordinatedBackingStore only as a backing store, not a content layer. So,
605         TextureMapperLayer always request CoordinatedBackingStore to draw using its own
606         texture size. However, we can use CoordinatedBackingStore as a content layer in
607         the future. So this patch fixes this potential bug.
608
609         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
610         (WebKit::CoordinatedBackingStore::setSize):
611         (WebKit):
612         (WebKit::mapToContents):
613         (WebKit::paintTilesToTextureMapper):
614         (WebKit::CoordinatedBackingStore::paintToTextureMapper):
615         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
616         (CoordinatedBackingStore):
617         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
618         (WebKit::LayerTreeCoordinatorProxy::createTileForLayer):
619         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
620         (LayerTreeCoordinatorProxy):
621         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
622         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
623         (WebKit::LayerTreeRenderer::createTile):
624         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
625         (LayerTreeRenderer):
626         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
627         (WebCore::CoordinatedGraphicsLayer::createTile):
628         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
629         (CoordinatedGraphicsLayerClient):
630         (CoordinatedGraphicsLayer):
631         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
632         (WebKit::CoordinatedTile::updateBackBuffer):
633         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
634         (CoordinatedTileClient):
635         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
636         (WebKit::LayerTreeCoordinator::createTile):
637         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
638         (LayerTreeCoordinator):
639
640 2012-11-09  Brady Eidson  <beidson@apple.com>
641
642         Implement NetworkProcess willSendRequest
643         https://bugs.webkit.org/show_bug.cgi?id=101812
644
645         Reviewed by Alexey Proskuryakov.
646
647         Message to the WebProcess to get the new request, if any.
648
649         Because network callbacks are coming in on a background thread we have to jump through hoops to synchronously
650         ask the WebProcess, but these hoops follow an established pattern of using async messaging with BlockingResourceMap.
651
652         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
653         (WebKit::NetworkConnectionToWebProcess::willSendRequestHandled): Pass the new request back to NetworkRequest for handling.
654         * NetworkProcess/NetworkConnectionToWebProcess.h:
655         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
656
657         * NetworkProcess/NetworkRequest.cpp:
658         (WebKit::NetworkRequest::didFail):
659         (WebKit::responseMap):
660         (WebKit::generateWillSendRequestID):
661         (WebKit::didReceiveWillSendRequestHandled):
662         (WebKit::NetworkRequest::willSendRequest): Asynchronously message the WebProcess but synchronous wait for a reply back.
663         * NetworkProcess/NetworkRequest.h:
664
665         * WebProcess/Network/NetworkProcessConnection.cpp:
666         (WebKit::NetworkProcessConnection::willSendRequest): Ask the WebResourceLoadScheduler for the new request then
667           message back to the NetworkProcess with the reply.
668         * WebProcess/Network/NetworkProcessConnection.h:
669
670         * WebProcess/Network/NetworkProcessConnection.messages.in:
671
672         * WebProcess/Network/WebResourceLoadScheduler.cpp:
673         (WebKit::WebResourceLoadScheduler::willSendRequest):
674         * WebProcess/Network/WebResourceLoadScheduler.h:
675
676 2012-11-09  Tim Horton  <timothy_horton@apple.com>
677
678         PDFPlugin should support clicking on external links
679         https://bugs.webkit.org/show_bug.cgi?id=101647
680         <rdar://problem/12555222>
681
682         Reviewed by Alexey Proskuryakov.
683
684         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Add details about clickedLinkWithURL: callback.
685         * WebProcess/Plugins/PDF/PDFPlugin.h:
686         (PDFPlugin): Add clickedLink() and storage for the last mouse event that was dispatched.
687         * WebProcess/Plugins/PDF/PDFPlugin.mm:
688         (-[WKPDFLayerControllerDelegate pdfLayerController:clickedLinkWithURL:]): Forward the URL to PDFPlugin.
689         (WebKit::PDFPlugin::handleMouseEvent): Store the last mouse event that was dispatched.
690         We use this to get the correct mouse button and modifier keys, so that command-clicking, etc. links works.
691         (WebKit::PDFPlugin::clickedLink): Request a load given the new URL.
692
693         * PluginProcess/PluginControllerProxy.h:
694         (PluginControllerProxy):
695         * WebProcess/Plugins/Netscape/NetscapePlugin.cpp:
696         (WebKit::NetscapePlugin::shouldAllowScripting):
697         * WebProcess/Plugins/Netscape/NetscapePlugin.h:
698         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h:
699         * WebProcess/Plugins/Plugin.h:
700         * WebProcess/Plugins/PluginProxy.cpp:
701         (WebKit::PluginProxy::shouldAllowScripting):
702         * WebProcess/Plugins/PluginProxy.h:
703         * WebProcess/Plugins/PluginView.cpp:
704         (WebKit::PluginView::shouldAllowScripting):
705         * WebProcess/Plugins/PluginView.h:
706         Add shouldAllowScripting() function to Plugin (and plumb through PluginProxy and PluginView, etc.)
707
708         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
709         (WebKit::WebFrameLoaderClient::allowScript): Override allowScript(); if the frame is hosting a PluginDocument,
710         ask its plugin whether it should allow execution of JavaScript and JavaScript URLs or not.
711         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
712
713         * WebProcess/Plugins/PDF/SimplePDFPlugin.h: Disable scripting for SimplePDFPlugin (and, by inheritance, PDFPlugin).
714
715 2012-11-09  Brady Eidson  <beidson@apple.com>
716
717         Implement WebResourceBuffer::isEmpty()
718         https://bugs.webkit.org/show_bug.cgi?id=101805
719
720         Reviewed by Alexey Proskuryakov.
721
722         This is required to make the existing subresource loading in NetworkProcess work correctly,
723         as there's an isEmpty() check in the WebProcess that decides whether or not to actually deliver 
724         the data to the ResourceLoader.
725
726         * Shared/WebResourceBuffer.cpp:
727         (WebKit::WebResourceBuffer::isEmpty):
728         * Shared/WebResourceBuffer.h:
729
730 2012-11-09  Hurnjoo Lee  <hurnjoo.lee@samsung.com>
731
732         [EFL][WK2][AC] Fixed layers are shaking when scrolling
733         https://bugs.webkit.org/show_bug.cgi?id=101549
734
735         Reviewed by Kenneth Rohde Christiansen.
736
737         At the time of adjusting positions for fixed layers, the locations of
738         fixed layers are calculated incorrectly because the contentsSize is empty.
739
740         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
741         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize): Call the
742         setContentsSize function in LayerTreeCoordinatorProxy in order to calculate
743         the locations of fixed layers correctly.
744
745 2012-11-09  Brady Eidson  <beidson@apple.com>
746
747         NetworkRequest refactoring
748         https://bugs.webkit.org/show_bug.cgi?id=101777
749
750         Reviewed by Alexey Proskuryakov.
751
752         Move all of the ResourceHandleClient stubs from the .h to the .cpp in one patch
753         to make future patches cleaner.
754
755         Also completely remove the declaration for shouldCacheResponse() for now.
756
757         * NetworkProcess/NetworkRequest.cpp:
758         (WebKit::NetworkRequest::willSendRequest):
759         (WebKit::NetworkRequest::didSendData):
760         (WebKit::NetworkRequest::didReceiveCachedMetadata):
761         (WebKit::NetworkRequest::wasBlocked):
762         (WebKit::NetworkRequest::cannotShowURL):
763         (WebKit::NetworkRequest::willCacheResponse):
764         (WebKit::NetworkRequest::shouldUseCredentialStorage):
765         (WebKit::NetworkRequest::didReceiveAuthenticationChallenge):
766         (WebKit::NetworkRequest::didCancelAuthenticationChallenge):
767         (WebKit::NetworkRequest::receivedCancellation):
768         (WebKit::NetworkRequest::canAuthenticateAgainstProtectionSpace):
769         (WebKit::NetworkRequest::supportsDataArray):
770         (WebKit::NetworkRequest::didReceiveDataArray):
771         (WebKit::NetworkRequest::willStopBufferingData):
772         (WebKit::NetworkRequest::createAsyncFileStream):
773         * NetworkProcess/NetworkRequest.h:
774
775 2012-11-09  Alexey Proskuryakov  <ap@apple.com>
776
777         CookieJar uses Document class, which is a layering violation
778         https://bugs.webkit.org/show_bug.cgi?id=101621
779
780         Reviewed by Brady Eidson.
781
782         * UIProcess/API/C/WKAPICast.h: Don't include CookieJar.h, its completely unnecessary.
783
784 2012-11-09  peavo@outlook.com  <peavo@outlook.com>
785
786         WinCairo build fails to link
787         https://bugs.webkit.org/show_bug.cgi?id=101739
788
789         Reviewed by Kentaro Hara.
790
791         * win/WebKit2CFLite.def:
792
793 2012-11-09  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
794
795         [EFL][WK2] REGRESSION (r134043): API tests crashes
796         https://bugs.webkit.org/show_bug.cgi?id=101742
797
798         Reviewed by Kenneth Rohde Christiansen.
799
800         Do not assert on PassRefPtr<WebContext> after it becomes 0.
801
802         * UIProcess/efl/BatteryProvider.cpp:
803         (BatteryProvider::BatteryProvider):
804         * UIProcess/efl/NetworkInfoProvider.cpp:
805         (NetworkInfoProvider::NetworkInfoProvider):
806
807 2012-11-09  Yael Aharon  <yael.aharon@intel.com>
808
809         [EFL][WK2][AC] Random crashes in layout tests on the bot
810         https://bugs.webkit.org/show_bug.cgi?id=101687
811
812         Reviewed by Kenneth Rohde Christiansen.
813
814         Speculative fix for a crash on the bot.
815         If didCommitLoad() is called before the view size was set, we will
816         try to paint an empty area, and that will crash.
817
818         * UIProcess/API/efl/EwkViewImpl.cpp:
819         (EwkViewImpl::update):
820
821 2012-11-09  Jinwoo Song  <jinwoo7.song@samsung.com>
822
823         [EFL][WK2] Make classes for client use WebContext instead of WKContext
824         https://bugs.webkit.org/show_bug.cgi?id=101564
825
826         Reviewed by Kenneth Rohde Christiansen.
827
828         EwkContext class has been refactored to use WebContext instead of WKContext in r133844,
829         so this patch makes client classes use WebContext
830
831         * UIProcess/API/efl/ewk_context.cpp:
832         (EwkContext::EwkContext):
833         * UIProcess/efl/BatteryProvider.cpp:
834         (BatteryProvider::~BatteryProvider):
835         (BatteryProvider::create):
836         (BatteryProvider::BatteryProvider):
837         (BatteryProvider::didChangeBatteryStatus):
838         * UIProcess/efl/BatteryProvider.h:
839         (BatteryProvider):
840         * UIProcess/efl/ContextHistoryClientEfl.cpp:
841         (WebKit::ContextHistoryClientEfl::ContextHistoryClientEfl):
842         * UIProcess/efl/ContextHistoryClientEfl.h:
843         (WebKit::ContextHistoryClientEfl::create):
844         (ContextHistoryClientEfl):
845         * UIProcess/efl/NetworkInfoProvider.cpp:
846         (NetworkInfoProvider::create):
847         (NetworkInfoProvider::NetworkInfoProvider):
848         (NetworkInfoProvider::~NetworkInfoProvider):
849         * UIProcess/efl/NetworkInfoProvider.h:
850         (NetworkInfoProvider):
851
852 2012-11-09  Jinwoo Song  <jinwoo7.song@samsung.com>
853
854         [EFL][WK2] Fix build warning in test_ewk2_context.cpp: [-Wwrite-strings]
855         https://bugs.webkit.org/show_bug.cgi?id=101666
856
857         Reviewed by Kenneth Rohde Christiansen.
858
859         Use constant character pointer to fix [-Wwrite-strings] warning.
860
861         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
862         (TEST_F):
863
864 2012-11-09  Christophe Dumez  <christophe.dumez@intel.com>
865
866         [EFL][WK2] Add support for custom cursors
867         https://bugs.webkit.org/show_bug.cgi?id=101723
868
869         Reviewed by Kenneth Rohde Christiansen.
870
871         EwkViewImpl::setCursor() now properly handles custom
872         cursors.
873
874         * UIProcess/API/efl/EwkViewImpl.cpp:
875         (EwkViewImpl::EwkViewImpl):
876         (EwkViewImpl::setCursor):
877         * UIProcess/API/efl/EwkViewImpl.h:
878         (EwkViewImpl):
879
880 2012-11-08  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
881
882         [EFL] Add a method to the TextCheckerEnchant class to check whether any dictionary is loaded
883         https://bugs.webkit.org/show_bug.cgi?id=101570
884
885         Reviewed by Gustavo Noronha Silva.
886
887         To do not get the vector of loaded languages, WebKit2-EFL calls
888         TextCheckerEnchant::hasDictionary() method to check whether the
889         dictionaries vector is empty.
890
891         * UIProcess/API/efl/ewk_settings.cpp:
892         (ewk_settings_continuous_spell_checking_enabled_set):
893         * UIProcess/API/efl/ewk_text_checker.cpp:
894         (Ewk_Text_Checker::hasDictionary):
895         (Ewk_Text_Checker):
896         * UIProcess/API/efl/ewk_text_checker_private.h:
897         (Ewk_Text_Checker):
898
899 2012-11-08  Timothy Hatcher  <timothy@apple.com>
900
901         Always use a textured window for the Web Inspector.
902
903         https://bugs.webkit.org/show_bug.cgi?id=101693
904
905         Reviewed by Joseph Pecoraro.
906
907         * UIProcess/mac/WebInspectorProxyMac.mm:
908         (WebKit::WebInspectorProxy::createInspectorWindow): Removed the conditional for a textured window.
909
910 2012-11-08  Huang Dongsung  <luxtella@company100.net>
911
912         Coordinated Graphics: Don't send the messages for releasing resources during purging.
913         https://bugs.webkit.org/show_bug.cgi?id=101685
914
915         Reviewed by Noam Rosenthal.
916
917         We don't need to send the messages related to releasing resources to UI Process
918         during purging, because UI Process already had removed all resources.
919         This patch gives us reducing slight messaging overhead and increasing readability.
920
921         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
922         (WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):
923         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
924         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
925         (WebKit::LayerTreeCoordinator::purgeReleasedImages):
926         (WebKit::LayerTreeCoordinator::removeTile):
927         (WebKit::LayerTreeCoordinator::removeUpdateAtlas):
928         (WebKit::LayerTreeCoordinator::purgeBackingStores):
929         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
930         (LayerTreeCoordinator):
931
932 2012-11-08  KyungTae Kim  <ktf.kim@samsung.com>
933
934         [WK2] Unused parameters on LayerTreeRenderer.cpp
935         https://bugs.webkit.org/show_bug.cgi?id=101653
936
937         Reviewed by Noam Rosenthal.
938
939         Because the 'tileID' parameter is not used now,
940         comment out it to fix build warning -Wunused-parameter
941
942         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
943         (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
944
945 2012-11-08  Christophe Dumez  <christophe.dumez@intel.com>
946
947         [EFL][WK2] Add proper support for fullscreen API to MiniBrowser
948         https://bugs.webkit.org/show_bug.cgi?id=101615
949
950         Reviewed by Kenneth Rohde Christiansen.
951
952         * UIProcess/API/efl/EwkViewImpl.cpp:
953         (EwkViewImpl::enterFullScreen):
954         * UIProcess/API/efl/ewk_security_origin.cpp:
955         (EwkSecurityOrigin::EwkSecurityOrigin):
956         * UIProcess/API/efl/ewk_security_origin_private.h:
957         (EwkSecurityOrigin::create): Add factory method to construct a
958         EwkSecurityOrigin from a KURL.
959         (EwkSecurityOrigin):
960         * UIProcess/API/efl/ewk_view.cpp:
961         (ewk_view_fullscreen_exit): Add public API function to exit
962         fullscreen mode.
963         * UIProcess/API/efl/ewk_view.h: Add security origin parameter
964         to fullscreen_enter smart function since this information is
965         useful to the user agent.
966         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
967         (fullScreenCallback):
968         (fullScreenExitCallback):
969         (TEST_F):
970
971 2012-11-08  Brady Eidson  <beidson@apple.com>
972
973         Have NetworkProcess do the actual loading of subresources.
974         https://bugs.webkit.org/show_bug.cgi?id=101640
975
976         Reviewed by Alexey Proskuryakov.
977
978         This adds actual loading of subresources in the NetworkProcess.
979
980         Currently a resource just gets its entire buffer of data built up and then delivered to the WebProcess in one chunk.
981
982         Many FIXMEs point the path towards much better behavior.
983
984         Project file stuff:
985         * WebKit2.xcodeproj/project.pbxproj:
986
987         Add a new Logging channel for scheduling so the one for loading can be separate:
988         * Platform/Logging.cpp:
989         * Platform/Logging.h:
990
991         Add an enhancement FIXME:
992         * NetworkProcess/HostRecord.cpp:
993         (WebKit::HostRecord::remove):
994
995         NetworkRequest now derives from ResourceHandleClient and does actual loading, messaging WebProcess as it does:
996         * NetworkProcess/NetworkRequest.cpp:
997         (WebKit::NetworkRequest::NetworkRequest):
998         (WebKit::NetworkRequest::~NetworkRequest):
999         (WebKit::NetworkRequest::start):
1000         (WebKit::requestsToStopMutex):
1001         (WebKit::requestsToStop):
1002         (WebKit::NetworkRequest::scheduleStopOnMainThread): Stop
1003         (WebKit::NetworkRequest::performStops):
1004         (WebKit::NetworkRequest::stop): Does NetworkRequest cleanup that happens no matter the state of the network load.
1005         (WebKit::NetworkRequest::didReceiveResponse):
1006         (WebKit::NetworkRequest::didReceiveData):
1007         (WebKit::NetworkRequest::didFinishLoading):
1008         (WebKit::NetworkRequest::didFail):
1009         * NetworkProcess/NetworkRequest.h:
1010
1011         Change some logging and now invalid asserts, as well as starting requests in-process instead of relying on WebProcess:
1012         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
1013         (WebKit::NetworkResourceLoadScheduler::scheduleNetworkRequest):
1014         (WebKit::NetworkResourceLoadScheduler::addLoadInProgress):
1015         (WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
1016         (WebKit::NetworkResourceLoadScheduler::crossOriginRedirectReceived):
1017         (WebKit::NetworkResourceLoadScheduler::servePendingRequests):
1018         (WebKit::NetworkResourceLoadScheduler::servePendingRequestsForHost):
1019         (WebKit::NetworkResourceLoadScheduler::removeScheduledLoadIdentifiers):
1020         (WebKit::NetworkResourceLoadScheduler::scheduleRemoveLoadIdentifier):
1021         * NetworkProcess/NetworkResourceLoadScheduler.h:
1022         (NetworkResourceLoadScheduler):
1023
1024         Add a "ShareableResource" which includes a SharedMemory block, an offset into that block, and a size:
1025         * Shared/ShareableResource.cpp: Added.
1026         (WebKit::ShareableResource::Handle::Handle):
1027         (WebKit::ShareableResource::Handle::encode):
1028         (WebKit::ShareableResource::Handle::decode):
1029         (WebKit::ShareableResource::create):
1030         (WebKit::ShareableResource::ShareableResource):
1031         (WebKit::ShareableResource::~ShareableResource):
1032         (WebKit::ShareableResource::createHandle):
1033         (WebKit::ShareableResource::data):
1034         (WebKit::ShareableResource::size):
1035         * Shared/ShareableResource.h: 
1036         (WebKit::ShareableResource::Handle::isNull):
1037         (WebKit::ShareableResource::Handle::size):
1038
1039         Add an implementation of WebCore::ResourceBuffer that wraps a ShareableResource instead of a SharedBuffer:
1040         * Shared/WebResourceBuffer.cpp:
1041         (WebKit::WebResourceBuffer::WebResourceBuffer):
1042         (WebKit::WebResourceBuffer::~WebResourceBuffer):
1043         (WebKit::WebResourceBuffer::data):
1044         (WebKit::WebResourceBuffer::size):
1045         * Shared/WebResourceBuffer.h:
1046         (WebResourceBuffer):
1047         (WebKit::WebResourceBuffer::create):
1048
1049         Add messaging that responds to resource load events from the NetworkProcess and passes them to the scheduler:
1050         * WebProcess/Network/NetworkProcessConnection.cpp:
1051         (WebKit::NetworkProcessConnection::didReceiveResponse):
1052         (WebKit::NetworkProcessConnection::didReceiveResource):
1053         (WebKit::NetworkProcessConnection::didFailResourceLoad):
1054         * WebProcess/Network/NetworkProcessConnection.h:
1055         * WebProcess/Network/NetworkProcessConnection.messages.in:
1056
1057         Takes resource load events passed from the NetworkProcess and hands them off directly to WebCore ResourceLoaders:
1058         * WebProcess/Network/WebResourceLoadScheduler.cpp:
1059         (WebKit::WebResourceLoadScheduler::scheduleLoad): Update some logging.
1060         (WebKit::WebResourceLoadScheduler::addMainResourceLoad): Ditto.
1061         (WebKit::WebResourceLoadScheduler::remove): Ditto.
1062         (WebKit::WebResourceLoadScheduler::crossOriginRedirectReceived): Ditto.
1063         (WebKit::WebResourceLoadScheduler::servePendingRequests): Ditto.
1064         (WebKit::WebResourceLoadScheduler::didReceiveResponse): Call through to ResourceLoader.
1065         (WebKit::WebResourceLoadScheduler::didReceiveResource): Ditto.
1066         (WebKit::WebResourceLoadScheduler::didFailResourceLoad): Ditto.
1067         * WebProcess/Network/WebResourceLoadScheduler.h:
1068
1069 2012-11-08  Huang Dongsung  <luxtella@company100.net>
1070
1071         Coordinated Graphics: Remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
1072         https://bugs.webkit.org/show_bug.cgi?id=101424
1073
1074         Reviewed by Noam Rosenthal.
1075
1076         We must remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
1077         Currently, CoordinatedGraphicsLayer only removes a TiledBackingStore if
1078         !drawsContent() while TextureMapperLayer::updateBackingStore() removes a backing
1079         store if (!m_state.drawsContent || !m_state.contentsVisible || m_size.isEmpty()).
1080         CoordinatedGraphicsLayer must have the same behavior.
1081
1082         In addition, this patch makes LayerTreeRenderer remove a backing store from
1083         GraphicsLayerTextureMapper when CoordinatedBackingStore does not have any tiles.
1084
1085         Test: compositing/nested-direct-image-compositing.html
1086
1087         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
1088         (WebKit::CoordinatedBackingStore::removeTile):
1089         (WebKit::CoordinatedBackingStore::isEmpty):
1090         (WebKit):
1091         (WebKit::CoordinatedBackingStore::commitTileOperations):
1092         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
1093         (CoordinatedBackingStore):
1094         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1095         (WebKit::LayerTreeRenderer::removeBackingStoreIfNeeded):
1096         (WebKit):
1097         (WebKit::LayerTreeRenderer::removeTile):
1098         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
1099         (LayerTreeRenderer):
1100         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1101         (WebCore::CoordinatedGraphicsLayer::adjustContentsScale):
1102
1103 2012-11-08  Tim Horton  <timothy_horton@apple.com>
1104
1105         [WK2] Print preview should vend images to the UIProcess instead of PDFs
1106         https://bugs.webkit.org/show_bug.cgi?id=101382
1107         <rdar://problem/9866766>
1108
1109         Reviewed by Alexey Proskuryakov.
1110
1111         In the interests of keeping PDF processing inside the WebProcess, we should
1112         remove print preview's reliance on PDFs, by handing bitmaps back instead.
1113
1114         * Shared/ShareableBitmap.cpp:
1115         (WebKit::ShareableBitmap::create): Add an optional SharedMemory::Protection argument, so we can make
1116         ShareableBitmaps from read-only handles if desired. Defaults to read-write as previously.
1117         (WebKit::ShareableBitmap::createHandle): Add an optional SharedMemory::Protection argument, so we can make
1118         read-only handles if desired. Defaults to read-write as previously.
1119         * Shared/ShareableBitmap.h:
1120         * UIProcess/API/mac/WKPrintingView.h:
1121         (WebImage): Store WebImages instead of raw PDF data for previews.
1122         * UIProcess/API/mac/WKPrintingView.mm:
1123         (pageDidDrawToImage): Add a callback for when a preview we've requested is done rendering into an image.
1124         Cache the image in _pagePreviews if appropriate.
1125         (pageDidDrawToPDF): Do not handle PDF data unless we are expecting a real print callback (not a preview).
1126         (-[WKPrintingView _drawPreview:]): Request an image instead of PDF data when doing a print preview.
1127         * UIProcess/GenericCallback.h:
1128         (ImageCallback): Add a callback type with one argument: a ShareableBitmap::Handle.
1129         I can't use the GenericCallback template because ShareableBitmap::Handle doesn't have a corresponding WK type.
1130         * UIProcess/WebPageProxy.cpp:
1131         (WebKit::WebPageProxy::close): Add support for ImageCallback.
1132         (WebKit::WebPageProxy::imageCallback): Add support for ImageCallback.
1133         (WebKit::WebPageProxy::drawRectToImage): Rename drawRectToPDF to drawRectToImage.
1134         * UIProcess/WebPageProxy.h:
1135         (WebPageProxy): Rename drawRectToPDF to drawRectToImage, add support for ImageCallback.
1136         * UIProcess/WebPageProxy.messages.in: Add support for ImageCallback.
1137         * WebProcess/WebPage/WebPage.cpp:
1138         (WebKit::WebPage::drawRectToImage): Rename drawRectToPDF to drawRectToImage.
1139         Make drawRectToImage create a bitmap snapshot of the page (using the normal snapshotting code),
1140         or, if the page is backed by a *PDFPlugin, draw the PDF document into a bitmap and use that.
1141         * WebProcess/WebPage/WebPage.h:
1142         (WebPage): Rename drawRectToPDF to drawRectToImage.
1143         * WebProcess/WebPage/WebPage.messages.in: Rename drawRectToPDF to drawRectToImage.
1144         * WebProcess/WebPage/mac/WebPageMac.mm:
1145         (WebKit::WebPage::drawPDFDocument): Rename drawRectToPDFFromPDFDocument to drawPDFDocument,
1146         because it's more like drawImage than anything else.
1147
1148 2012-11-08  Simon Hausmann  <simon.hausmann@digia.com>
1149
1150         [Qt] Fix build without WebKit1
1151         https://bugs.webkit.org/show_bug.cgi?id=101583
1152
1153         Reviewed by Tor Arne Vestbø.
1154
1155         WebProcess needs access to the QStyle themeing via the initializeWebKit2Theme() function from
1156         WebKit1. Try to access it depending on whether WebKit1 is built or not, not depending on whether
1157         widgets are available not.
1158
1159         * WebProcess.pro:
1160         * qt/MainQt.cpp:
1161         (WebKit):
1162         (main):
1163
1164 2012-11-08  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
1165
1166         [EFL] Unreviewed build fix after r133880.
1167
1168         * UIProcess/API/efl/ewk_context.cpp:
1169         (EwkContext::setAdditionalPluginPath):
1170
1171 2012-11-08  KwangYong Choi  <ky0.choi@samsung.com>
1172
1173         [EFL][WK2] Add ewk_context_additional_plugin_path_set API
1174         https://bugs.webkit.org/show_bug.cgi?id=101530
1175
1176         Reviewed by Gyuyoung Kim.
1177
1178         Add ewk_context_additional_plugin_path_set() to set additional plugin directory.
1179
1180         * UIProcess/API/efl/ewk_context.cpp:
1181         (EwkContext::setAdditionalPluginPath):
1182         (ewk_context_additional_plugin_path_set):
1183         * UIProcess/API/efl/ewk_context.h:
1184         * UIProcess/API/efl/ewk_context_private.h:
1185         (EwkContext):
1186         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
1187         (TEST_F):
1188
1189 2012-11-08  Jinwoo Song  <jinwoo7.song@samsung.com>
1190
1191         [EFL][WK2] Use explicit constructor in BatteryProvider, DownloadManagerEfl, NetworkInfoProvider
1192         https://bugs.webkit.org/show_bug.cgi?id=101567
1193
1194         Reviewed by Kentaro Hara.
1195
1196         Added explicit keyword in constructors of BatteryProvider, DownloadManagerEfl,
1197         and NetworkInfoProvider in order to avoid implicit type conversion.
1198
1199         * UIProcess/efl/BatteryProvider.h:
1200         (BatteryProvider):
1201         * UIProcess/efl/DownloadManagerEfl.h:
1202         (DownloadManagerEfl):
1203         * UIProcess/efl/NetworkInfoProvider.h:
1204         (NetworkInfoProvider):
1205
1206 2012-11-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1207
1208         [EFL][WK2] Use smart pointers in EwkContext more actively
1209         https://bugs.webkit.org/show_bug.cgi?id=101565
1210
1211         Reviewed by Gyuyoung Kim.
1212
1213         Since we're using WebContext instead of WKContext starting r133844 we should
1214         use smart pointers accordingly including PassRefPtr.
1215
1216         * UIProcess/API/efl/ewk_context.cpp:
1217         (EwkContext::EwkContext):
1218         (EwkContext::~EwkContext):
1219         (EwkContext::create):
1220         (EwkContext::cookieManager):
1221         (EwkContext::ensureFaviconDatabase):
1222         (EwkContext::setFaviconDatabaseDirectoryPath):
1223         (EwkContext::addVisitedLink):
1224         (EwkContext::setCacheModel):
1225         (EwkContext::cacheModel):
1226         * UIProcess/API/efl/ewk_context_private.h:
1227         (EwkContext):
1228         (EwkContext::webContext):
1229         * UIProcess/API/efl/ewk_database_manager_private.h:
1230         (Ewk_Database_Manager::create):
1231         * UIProcess/API/efl/ewk_storage_manager_private.h:
1232         (Ewk_Storage_Manager::create):
1233         * UIProcess/efl/DownloadManagerEfl.cpp:
1234         (WebKit::DownloadManagerEfl::DownloadManagerEfl):
1235         * UIProcess/efl/RequestManagerClientEfl.cpp:
1236         (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
1237
1238 2012-11-08  Kangil Han  <kangil.han@samsung.com>
1239
1240         [EFL][MiniBrowser] Add encoding detector option.
1241         https://bugs.webkit.org/show_bug.cgi?id=100931
1242
1243         Reviewed by Gyuyoung Kim.
1244
1245         Add triggering Settings::setUsesEncodingDetector for WK2 UI process.
1246
1247         * WebProcess/WebPage/WebPage.cpp:
1248         (WebKit::WebPage::updatePreferences):
1249
1250 2012-11-08  Carlos Garcia Campos  <cgarcia@igalia.com>
1251
1252         [GTK] WebKitWebView doesn't notify of favicon changes for known favicons but new pages
1253         https://bugs.webkit.org/show_bug.cgi?id=98874
1254
1255         Reviewed by Martin Robinson.
1256
1257         If the page is unknown (not registered in the icon database) but
1258         the icon is known (registered by another page) favicon-ready
1259         signal is not emitted because the icon has already been imported
1260         from the database. The view always asks for the favicon when the
1261         load has been committed, but it's usually too early and the
1262         favicon of the page is still unkown. We can use
1263         didChangeIconForPageURLCallback to know when to ask for the
1264         favicon emitting a favicon-changed signal. The callback
1265         iconDataReadyForPageURLCallback is still useful to process pending
1266         icon requests, but the favicon-ready signal can be removed in
1267         favor of favicon-changed.
1268
1269         * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
1270         (_WebKitFaviconDatabasePrivate): Keep a map of page icons that has
1271         been imported to make sure we only emit favicon-changed signal
1272         when the favicon URI has actually changed, because
1273         didChangeIconForPageURLCallback can be called multiple times for
1274         the same favicon URI in some cases.
1275         (webkit_favicon_database_class_init): Remove favicon-ready signal
1276         and add favicon-changed that includes the new favicon URI for the
1277         given page URI.
1278         (didChangeIconForPageURLCallback): Emit favicon-changed signal if
1279         the favicon URI is new or has changed for the given page URI.
1280         (iconDataReadyForPageURLCallback): Process pending icon requests.
1281         (webkitFaviconDatabaseCreate): Add implementation for
1282         didChangeIconForPageURLCallback.
1283         * UIProcess/API/gtk/WebKitFaviconDatabasePrivate.h:
1284         * UIProcess/API/gtk/WebKitWebView.cpp:
1285         (_WebKitWebViewPrivate): Add favicon URI to make sure we only ask for a
1286         new favicon when the favicon URI has changed.
1287         (webkitWebViewUpdateFavicon): Update the favicon and emit
1288         notify::favicon if it has changed.
1289         (gotFaviconCallback): Update the favicon if the request hasn't
1290         been cancelled.
1291         (webkitWebViewRequestFavicon): Ask for the page favicon.
1292         (webkitWebViewUpdateFaviconURI): Updated the favicon URI and
1293         request the page favicon if the favicon URI has changed.
1294         (faviconChangedCallback): Call webkitWebViewUpdateFaviconURI() with
1295         the given favicon URI.
1296         (webkitWebViewWatchForChangesInFavicon): Connect to
1297         WebKitFaviconDatabase::favicon-changed.
1298         (webkitWebViewDisconnectFaviconDatabaseSignalHandlers): Disconnect
1299         WebKitFaviconDatabase::favicon-changed signal.
1300         (webkitWebViewLoadChanged): Call webkitWebViewUpdateFaviconURI()
1301         with the current favicon URI when the load has been committed.
1302         * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
1303         (serverCallback):
1304         (testNotInitialized):
1305         (testGetFavicon):
1306         (testGetFaviconURI):
1307         (testWebViewFavicon):
1308         (beforeAll):
1309         * UIProcess/API/gtk/webkit2marshal.list: Add new marshaler.
1310
1311 2012-11-08  Anders Carlsson  <andersca@apple.com>
1312
1313         Attempt to silence a compiler warning.
1314
1315         * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
1316         (WebKit::RemoteGraphicsLayer::RemoteGraphicsLayer):
1317
1318 2012-11-07  Sheriff Bot  <webkit.review.bot@gmail.com>
1319
1320         Unreviewed, rolling out r133841.
1321         http://trac.webkit.org/changeset/133841
1322         https://bugs.webkit.org/show_bug.cgi?id=101542
1323
1324         Reverted patches were innocent (Requested by shinyak on
1325         #webkit).
1326
1327         * win/WebKit2.def:
1328         * win/WebKit2CFLite.def:
1329
1330 2012-11-07  Jinwoo Song  <jinwoo7.song@samsung.com>
1331
1332         [EFL][WK2] Make ewk_context use WebContext instead of WKContext
1333         https://bugs.webkit.org/show_bug.cgi?id=101477
1334
1335         Reviewed by Gyuyoung Kim.
1336
1337         Refactor ewk_context to use WebContext as ewk_context is encapsulated in a C++ classes.
1338
1339         * UIProcess/API/efl/EwkViewImpl.cpp:
1340         (EwkViewImpl::EwkViewImpl):
1341         * UIProcess/API/efl/ewk_context.cpp:
1342         (EwkContext::EwkContext):
1343         (EwkContext::~EwkContext):
1344         (EwkContext::create):
1345         (EwkContext::defaultContext):
1346         (EwkContext::cookieManager):
1347         (EwkContext::ensureFaviconDatabase):
1348         (EwkContext::setFaviconDatabaseDirectoryPath):
1349         (EwkContext::addVisitedLink):
1350         (EwkContext::setCacheModel):
1351         (EwkContext::cacheModel):
1352         * UIProcess/API/efl/ewk_context_private.h:
1353         (EwkContext):
1354         (EwkContext::webContext):
1355         * UIProcess/API/efl/ewk_database_manager.cpp:
1356         (Ewk_Database_Manager::Ewk_Database_Manager):
1357         (Ewk_Database_Manager::getDatabaseOrigins):
1358         * UIProcess/API/efl/ewk_database_manager_private.h:
1359         (Ewk_Database_Manager::create):
1360         (Ewk_Database_Manager):
1361         * UIProcess/API/efl/ewk_storage_manager.cpp:
1362         (Ewk_Storage_Manager::Ewk_Storage_Manager):
1363         (Ewk_Storage_Manager::getStorageOrigins):
1364         * UIProcess/API/efl/ewk_storage_manager_private.h:
1365         (Ewk_Storage_Manager::create):
1366         (Ewk_Storage_Manager):
1367         * UIProcess/API/efl/ewk_view.cpp:
1368         (ewk_view_base_add):
1369         * UIProcess/efl/DownloadManagerEfl.cpp:
1370         (WebKit::DownloadManagerEfl::DownloadManagerEfl):
1371         * UIProcess/efl/RequestManagerClientEfl.cpp:
1372         (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
1373
1374 2012-11-07  Shinya Kawanaka  <shinyak@chromium.org>
1375
1376         Unreviewed, rolling out r133428 and r133749
1377         https://bugs.webkit.org/show_bug.cgi?id=101533
1378
1379         These patches might cause memory regression.
1380
1381         * win/WebKit2.def:
1382         * win/WebKit2CFLite.def:
1383
1384 2012-11-07  Anders Carlsson  <andersca@apple.com>
1385
1386         Add RemoteGraphicsLayer class
1387         https://bugs.webkit.org/show_bug.cgi?id=101535
1388
1389         Reviewed by Simon Fraser.
1390
1391         * WebKit2.xcodeproj/project.pbxproj:
1392         * WebProcess/WebPage/mac/RemoteGraphicsLayer.h:
1393         * WebProcess/WebPage/mac/RemoteGraphicsLayer.mm:
1394         Add RemoteGraphicsLayer, a subclass of WebCore::GraphicsLayer.
1395
1396         * WebProcess/WebPage/mac/RemoteLayerTreeController.h:
1397         Make RemoteLayerTreeController a GraphicsLayerFactory.
1398
1399         * WebProcess/WebPage/mac/RemoteLayerTreeController.mm:
1400         (WebKit::RemoteLayerTreeController::createGraphicsLayer):
1401         Create a new RemoteGraphicsLayer.
1402
1403         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1404         (WebKit::RemoteLayerTreeDrawingArea::graphicsLayerFactory):
1405         Return the layer tree controller.
1406
1407 2012-11-07  Byungwoo Lee  <bw80.lee@samsung.com>
1408
1409         [WK2] Make WebVibrationProxy to be a member of WebPageProxy.
1410         https://bugs.webkit.org/show_bug.cgi?id=100334
1411
1412         Reviewed by Anders Carlsson.
1413
1414         WebVibrationProxy should be a member of WebPageProxy, because the IPC
1415         messages of WebVibrationProxy have page destination ID.
1416
1417         The r132386 proposed a way to add/delete message receivers that can
1418         handle IPC messages with destination ID.
1419
1420         Previous implementation that creating WebVibrationProxy as a WebContext
1421         member and using the global message receiver for the proxy can make
1422         assertions after r132386.
1423
1424         To handle the vibration IPC messages properly, this patch will do the
1425         followings.
1426
1427         1) Instead of WebContext, WebPageProxy will have the WebVibrationProxy.
1428
1429         2) WebVibrationProxy will add itself to the message receiver map of
1430            the WebContext with page destination ID.
1431
1432         3) When WebProcessProxy received vibration ipc messages, it will
1433            forward the messages to the WebContext first. Then the message
1434            receiver map of the WebContext will handle the messages with the
1435            registered WebVibrationProxy.
1436
1437         4) APIs will be modified to apply these changes.
1438            a) WK API to get WKVibrationRef will use WKPageRef not WKContextRef.
1439            b) EFL APIs and API test for the vibration will also be changed.
1440               - EwkViewImpl will have vibration client. (EwkContext will not
1441                 have it)
1442               - Previous API to register the vibration callback will be removed.
1443               - New signals for vibration will be added to the EwkViewImpl.
1444               - VibrationProxy will be renamed to VibrationClient for the
1445                 consistency with other clients in EwkViewImpl.
1446               - VibrationClient will use EwkViewImpl instead of EwkContext.
1447               - Previous API test for vibration will be moved from context test
1448                 to view test, and it will use the changed API.
1449
1450         * PlatformEfl.cmake:
1451         * UIProcess/API/C/WKContext.cpp:
1452         * UIProcess/API/C/WKContext.h:
1453         * UIProcess/API/C/WKPage.cpp:
1454         (WKPageGetVibration):
1455         * UIProcess/API/C/WKPage.h:
1456         * UIProcess/API/efl/EwkViewCallbacks.h:
1457         (EwkViewCallbacks):
1458         * UIProcess/API/efl/EwkViewImpl.cpp:
1459         (EwkViewImpl::EwkViewImpl):
1460         * UIProcess/API/efl/EwkViewImpl.h:
1461         (WebKit):
1462         (EwkViewImpl):
1463         * UIProcess/API/efl/ewk_context.cpp:
1464         (EwkContext::EwkContext):
1465         * UIProcess/API/efl/ewk_context.h:
1466         * UIProcess/API/efl/ewk_context_private.h:
1467         (WebKit):
1468         (EwkContext):
1469         * UIProcess/API/efl/ewk_view.h:
1470         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
1471         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1472         (VibrationCbData):
1473         (onVibrate):
1474         (onCancelVibration):
1475         (loadVibrationHTMLString):
1476         (TEST_F):
1477         * UIProcess/WebContext.cpp:
1478         (WebKit::WebContext::WebContext):
1479         (WebKit::WebContext::~WebContext):
1480         (WebKit::WebContext::disconnectProcess):
1481         * UIProcess/WebContext.h:
1482         (WebKit):
1483         (WebContext):
1484         * UIProcess/WebPageProxy.cpp:
1485         (WebKit::WebPageProxy::WebPageProxy):
1486         (WebKit::WebPageProxy::close):
1487         (WebKit::WebPageProxy::processDidCrash):
1488         * UIProcess/WebPageProxy.h:
1489         (WebKit):
1490         (WebPageProxy):
1491         (WebKit::WebPageProxy::vibration):
1492         * UIProcess/WebVibrationProxy.cpp:
1493         (WebKit::WebVibrationProxy::create):
1494         (WebKit::WebVibrationProxy::WebVibrationProxy):
1495         (WebKit::WebVibrationProxy::~WebVibrationProxy):
1496         (WebKit::WebVibrationProxy::invalidate):
1497         * UIProcess/WebVibrationProxy.h:
1498         (WebKit):
1499         (WebVibrationProxy):
1500         * UIProcess/efl/VibrationClientEfl.cpp: Renamed from Source/WebKit2/UIProcess/efl/VibrationProvider.cpp.
1501         (toVibrationClient):
1502         (VibrationClientEfl::vibrateCallback):
1503         (VibrationClientEfl::cancelVibrationCallback):
1504         (VibrationClientEfl::create):
1505         (VibrationClientEfl::VibrationClientEfl):
1506         (VibrationClientEfl::~VibrationClientEfl):
1507         * UIProcess/efl/VibrationClientEfl.h: Renamed from Source/WebKit2/UIProcess/efl/VibrationProvider.h.
1508         (WebKit):
1509         (VibrationClientEfl):
1510
1511 2012-11-07  Anders Carlsson  <andersca@apple.com>
1512
1513         Add empty RemoteLayerTree class
1514         https://bugs.webkit.org/show_bug.cgi?id=101524
1515
1516         Reviewed by Simon Fraser.
1517
1518         Add a new RemoteLayerTree class which will contain the remote graphics layers.
1519
1520         * WebKit2.xcodeproj/project.pbxproj:
1521         * WebProcess/WebPage/mac/RemoteLayerTree.h: Added.
1522         * WebProcess/WebPage/mac/RemoteLayerTree.mm: Added.
1523         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
1524         (RemoteLayerTreeDrawingArea):
1525         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
1526         (WebKit::RemoteLayerTreeDrawingArea::RemoteLayerTreeDrawingArea):
1527
1528 2012-11-07  Christophe Dumez  <christophe.dumez@intel.com>
1529
1530         [EFL][WK2] Allow client to override setWindowFrame() / getWindowFrame()
1531         https://bugs.webkit.org/show_bug.cgi?id=101496
1532
1533         Reviewed by Kenneth Rohde Christiansen.
1534
1535         Add window_geometry_set() / window_geometry_get() smart functions to
1536         ewk_view allowing the client to provide its own implementation for
1537         those.
1538
1539         This is particularly useful if the application uses elm_win because
1540         the default implementation will not behave correctly in this case.
1541         This is due to the fact that the default implementation interacts
1542         with the Ecore_Evas that contains the view and is not aware of the
1543         parent window widget.
1544
1545         * UIProcess/API/efl/EwkViewImpl.cpp:
1546         (EwkViewImpl::windowGeometry):
1547         (EwkViewImpl::setWindowGeometry):
1548         * UIProcess/API/efl/EwkViewImpl.h:
1549         (EwkViewImpl):
1550         * UIProcess/API/efl/ewk_view.h:
1551         * UIProcess/efl/PageUIClientEfl.cpp:
1552         (WebKit::PageUIClientEfl::getWindowFrame):
1553         (WebKit::PageUIClientEfl::setWindowFrame):
1554
1555 2012-11-07  Alexandru Chiculita  <achicu@adobe.com>
1556
1557         CoordinatedGraphicsArgumentCoders should use ValidatedCustomFitlerOperation instead
1558         https://bugs.webkit.org/show_bug.cgi?id=100905
1559
1560         Reviewed by Noam Rosenthal.
1561
1562         The code now knows how to read a ValidatedCustomFitlerOperation and serialize it to the UI process.
1563
1564         No new tests, the code path is not used yet.
1565
1566         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
1567         (CoreIPC::::encode):
1568         (CoreIPC::::decode):
1569         * Shared/CoordinatedGraphics/WebCustomFilterProgram.h:
1570
1571 2012-11-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1572
1573         [EFL][WK2] Add ewk_settings_preferred_minimum_contents_width_get/set API
1574         https://bugs.webkit.org/show_bug.cgi?id=101467
1575
1576         Reviewed by Kenneth Rohde Christiansen.
1577
1578         Added ewk_settings_preferred_minimum_contents_width_get/set API which is used for setting/getting
1579         of default minimum contents width for non viewport meta element sites.
1580
1581         * UIProcess/API/efl/ewk_settings.cpp:
1582         (ewk_settings_preferred_minimum_contents_width_set):
1583         (ewk_settings_preferred_minimum_contents_width_get):
1584         * UIProcess/API/efl/ewk_settings.h:
1585         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
1586         (TEST_F):
1587
1588 2012-11-07  Yael Aharon  <yael.aharon@intel.com>
1589
1590         [EFL][WK2][AC] Avoid creating an empty surface
1591         https://bugs.webkit.org/show_bug.cgi?id=101464
1592
1593         Reviewed by Kenneth Rohde Christiansen.
1594
1595         Make sure we have a valid view size before creating a GL surface.
1596
1597         * UIProcess/API/efl/ewk_view.cpp:
1598         (_ewk_view_smart_calculate):
1599
1600 2012-11-07  Christophe Dumez  <christophe.dumez@intel.com>
1601
1602         [WK2][UNIX] Crash in WebKit::PluginProcessProxy::scanPlugin()
1603         https://bugs.webkit.org/show_bug.cgi?id=101446
1604
1605         Reviewed by Kenneth Rohde Christiansen.
1606
1607         Make sure that the disposition of the SIGCHLD signal is reset to the default
1608         before calling g_spawn_sync(). If the disposition is set to SIG_IGN, then
1609         g_spawn_sync() will not be able to return the exit status of the child
1610         process, our exit failure check will be useless and the following warning
1611         will be printed:
1612
1613         GLib-WARNING **: In call to g_spawn_sync(), exit status of a child process
1614         was requested but SIGCHLD action was set to SIG_IGN and ECHILD was received
1615         by waitpid(), so exit status can't be returned. This is a bug in the
1616         program calling g_spawn_sync(); either don't request the exit status, or
1617         don't set the SIGCHLD action.
1618
1619         This patch also adds a NULL-check for stdOut to avoid crashing in such
1620         case and makes use of String::split() to parse stdOut instead of doing it
1621         manually.
1622
1623         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
1624         (WebKit::PluginProcessProxy::scanPlugin):
1625
1626 2012-11-07  Shinya Kawanaka  <shinyak@chromium.org>
1627
1628         [Shadow] Use setPseudo() instead of setShadowPseudoId().
1629         https://bugs.webkit.org/show_bug.cgi?id=101306
1630
1631         Reviewed by Kent Tamura.
1632
1633         Exposes necessary symbols.
1634
1635         * win/WebKit2.def:
1636         * win/WebKit2CFLite.def:
1637
1638 2012-11-07  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
1639
1640         [EFL][WK2] Make EWK classes Ewk_Objects
1641         https://bugs.webkit.org/show_bug.cgi?id=101057
1642
1643         Reviewed by Kenneth Rohde Christiansen.
1644
1645         Now all the existing EWK classes share common Ewk_Object ref/unref API.
1646
1647         * UIProcess/API/efl/EwkViewCallbacks.h:
1648         * UIProcess/API/efl/EwkViewImpl.h:
1649         (EwkViewImpl):
1650         * UIProcess/API/efl/ewk_database_manager.cpp:
1651         (Ewk_Database_Manager::createOriginList):
1652         * UIProcess/API/efl/ewk_database_manager_private.h:
1653         * UIProcess/API/efl/ewk_file_chooser_request.cpp:
1654         (EwkFileChooserRequest::EwkFileChooserRequest):
1655         (EwkFileChooserRequest::~EwkFileChooserRequest):
1656         (EwkFileChooserRequest::allowMultipleFiles):
1657         (EwkFileChooserRequest::acceptedMIMETypes):
1658         (EwkFileChooserRequest::cancel):
1659         (EwkFileChooserRequest::chooseFiles):
1660         (ewk_file_chooser_request_allow_multiple_files_get):
1661         (ewk_file_chooser_request_accepted_mimetypes_get):
1662         (ewk_file_chooser_request_cancel):
1663         (ewk_file_chooser_request_files_choose):
1664         (ewk_file_chooser_request_file_choose):
1665         * UIProcess/API/efl/ewk_file_chooser_request.h:
1666         * UIProcess/API/efl/ewk_file_chooser_request_private.h:
1667         (EwkFileChooserRequest):
1668         (EwkFileChooserRequest::create):
1669         * UIProcess/API/efl/ewk_form_submission_request.cpp:
1670         (EwkFormSubmissionRequest::EwkFormSubmissionRequest):
1671         (EwkFormSubmissionRequest::~EwkFormSubmissionRequest):
1672         (EwkFormSubmissionRequest::fieldValue):
1673         (EwkFormSubmissionRequest::fieldNames):
1674         (EwkFormSubmissionRequest::submit):
1675         (ewk_form_submission_request_field_names_get):
1676         (ewk_form_submission_request_field_value_get):
1677         (ewk_form_submission_request_submit):
1678         * UIProcess/API/efl/ewk_form_submission_request.h:
1679         * UIProcess/API/efl/ewk_form_submission_request_private.h:
1680         (EwkFormSubmissionRequest):
1681         (EwkFormSubmissionRequest::create):
1682         * UIProcess/API/efl/ewk_intent.cpp:
1683         (EwkIntent::EwkIntent):
1684         (EwkIntent::webIntentData):
1685         (EwkIntent::action):
1686         (EwkIntent::type):
1687         (EwkIntent::service):
1688         (EwkIntent::suggestions):
1689         (EwkIntent::extra):
1690         (EwkIntent::extraKeys):
1691         (ewk_intent_action_get):
1692         (ewk_intent_type_get):
1693         (ewk_intent_service_get):
1694         (ewk_intent_suggestions_get):
1695         (ewk_intent_extra_get):
1696         (ewk_intent_extra_names_get):
1697         * UIProcess/API/efl/ewk_intent.h:
1698         * UIProcess/API/efl/ewk_intent_private.h:
1699         (EwkIntent):
1700         (EwkIntent::create):
1701         * UIProcess/API/efl/ewk_intent_service.cpp:
1702         (EwkIntentService::EwkIntentService):
1703         (EwkIntentService::action):
1704         (EwkIntentService::type):
1705         (EwkIntentService::href):
1706         (EwkIntentService::title):
1707         (EwkIntentService::disposition):
1708         (ewk_intent_service_action_get):
1709         (ewk_intent_service_type_get):
1710         (ewk_intent_service_href_get):
1711         (ewk_intent_service_title_get):
1712         (ewk_intent_service_disposition_get):
1713         * UIProcess/API/efl/ewk_intent_service.h:
1714         * UIProcess/API/efl/ewk_intent_service_private.h:
1715         (EwkIntentService):
1716         (EwkIntentService::create):
1717         * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
1718         (EwkNavigationPolicyDecision::EwkNavigationPolicyDecision):
1719         (EwkNavigationPolicyDecision::~EwkNavigationPolicyDecision):
1720         (EwkNavigationPolicyDecision::navigationType):
1721         (EwkNavigationPolicyDecision::mouseButton):
1722         (EwkNavigationPolicyDecision::modifiers):
1723         (EwkNavigationPolicyDecision::frameName):
1724         (EwkNavigationPolicyDecision::request):
1725         (EwkNavigationPolicyDecision::accept):
1726         (EwkNavigationPolicyDecision::reject):
1727         (EwkNavigationPolicyDecision::download):
1728         (ewk_navigation_policy_navigation_type_get):
1729         (ewk_navigation_policy_mouse_button_get):
1730         (ewk_navigation_policy_modifiers_get):
1731         (ewk_navigation_policy_frame_name_get):
1732         (ewk_navigation_policy_request_get):
1733         (ewk_navigation_policy_decision_accept):
1734         (ewk_navigation_policy_decision_reject):
1735         (ewk_navigation_policy_decision_download):
1736         * UIProcess/API/efl/ewk_navigation_policy_decision.h:
1737         * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
1738         (EwkNavigationPolicyDecision):
1739         (EwkNavigationPolicyDecision::create):
1740         * UIProcess/API/efl/ewk_resource.cpp:
1741         (EwkResource::EwkResource):
1742         (EwkResource::url):
1743         (EwkResource::isMainResource):
1744         (ewk_resource_url_get):
1745         (ewk_resource_main_resource_get):
1746         * UIProcess/API/efl/ewk_resource.h:
1747         * UIProcess/API/efl/ewk_resource_private.h:
1748         (EwkResource):
1749         (EwkResource::create):
1750         * UIProcess/API/efl/ewk_security_origin.cpp:
1751         (EwkSecurityOrigin::EwkSecurityOrigin):
1752         (EwkSecurityOrigin::host):
1753         (EwkSecurityOrigin::protocol):
1754         (EwkSecurityOrigin::port):
1755         (ewk_security_origin_host_get):
1756         (ewk_security_origin_protocol_get):
1757         (ewk_security_origin_port_get):
1758         * UIProcess/API/efl/ewk_security_origin.h:
1759         * UIProcess/API/efl/ewk_security_origin_private.h:
1760         (EwkSecurityOrigin):
1761         (EwkSecurityOrigin::create):
1762         * UIProcess/API/efl/ewk_storage_manager.cpp:
1763         (Ewk_Storage_Manager::createOriginList):
1764         * UIProcess/API/efl/ewk_url_scheme_request_private.h:
1765         (EwkUrlSchemeRequest):
1766         * UIProcess/API/efl/ewk_view.cpp:
1767         (ewk_view_intent_deliver):
1768         * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
1769         (onFileChooserRequest):
1770         (TEST_F):
1771         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
1772         (TEST_F):
1773         * UIProcess/efl/FormClientEfl.cpp:
1774         (WebKit::FormClientEfl::willSubmitForm):
1775         * UIProcess/efl/PageLoadClientEfl.cpp:
1776         (WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
1777         (WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
1778         * UIProcess/efl/PagePolicyClientEfl.cpp:
1779         (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
1780         (WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
1781         * UIProcess/efl/PageUIClientEfl.cpp:
1782         (WebKit::PageUIClientEfl::runOpenPanel):
1783         * UIProcess/efl/ResourceLoadClientEfl.cpp:
1784         (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
1785         * UIProcess/efl/ResourceLoadClientEfl.h:
1786
1787 2012-11-07  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
1788
1789         [WK2] Return earlier if a plugin snapshot cannot be created.
1790         https://bugs.webkit.org/show_bug.cgi?id=101445
1791
1792         Reviewed by Kenneth Rohde Christiansen.
1793
1794         Currently only the Mac port has support for creating snapshots of
1795         Netscape plugins. Return earlier in PluginProxy::snapshot() so
1796         that we do not pass a null handler to ShareableBitmap::create()
1797         and avoid crashing when running pixel tests with plugins.
1798
1799         * WebProcess/Plugins/PluginProxy.cpp:
1800         (WebKit::PluginProxy::snapshot):
1801
1802 2012-11-07  Kangil Han  <kangil.han@samsung.com>
1803
1804         [EFL][WK2] Change encoding detector API names
1805         https://bugs.webkit.org/show_bug.cgi?id=101450
1806
1807         Reviewed by Gyuyoung Kim.
1808
1809         To make settings API name consistent, we need to change two APIs with respect to encoding detector.
1810
1811         * UIProcess/API/efl/ewk_settings.cpp:
1812         (ewk_settings_encoding_detector_enabled_set):
1813         (ewk_settings_encoding_detector_enabled_get):
1814         * UIProcess/API/efl/ewk_settings.h:
1815         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
1816         (TEST_F):
1817
1818 2012-11-07  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
1819
1820         WebKitTestRunner needs to turn on 'setContinuousSpellCheckingEnabled'
1821         https://bugs.webkit.org/show_bug.cgi?id=93611
1822
1823         Reviewed by Gyuyoung Kim.
1824
1825         When WebKitTestRunner turns on the spelling feature with the resetStateToConsistentValues() method,
1826         it happens that the WebProcess is still not launched (although it is already created).
1827         In this case, isValid() method returns false.
1828
1829         This fix sends a message to the WebProcess messages queue, and the message
1830         will be handled once the WebProcess is ready.
1831
1832         * Target.pri:
1833         Adds missing files to compile spellcheking feature for WebKit2-Qt
1834         to use WebKit C API from WKTextChecker.h.
1835
1836         * UIProcess/WebProcessProxy.cpp:
1837         (WebKit::WebProcessProxy::updateTextCheckerState):
1838         Uses canSendMessage() method instead of isValid() to check whether the message to
1839         the WebProcess can be sent.
1840
1841         * UIProcess/efl/TextCheckerEfl.cpp:
1842         (WebKit::TextChecker::continuousSpellCheckingEnabledStateChanged):
1843         Calls TextChecker::setContinuousSpellCheckingEnabled which additionaly invokes the client's method.
1844         WK2-EFL settings for text checker (ewk_settings.cpp) set the default language (if it wasn't set earlier) to
1845         perform the spelling. It allows to pass the tests from editing/spelling directory.
1846
1847 2012-11-07  Christophe Dumez  <christophe.dumez@intel.com>
1848
1849         Add replaceWithLiteral() method to WTF::String
1850         https://bugs.webkit.org/show_bug.cgi?id=101257
1851
1852         Reviewed by Benjamin Poulain.
1853
1854         Substitute String::replace() calls by String::replaceWithLiteral() where
1855         adequate, for efficiency.
1856
1857         * WebProcess/Plugins/Netscape/NetscapeBrowserFuncs.cpp:
1858         (WebKit::makeURLString):
1859
1860 2012-11-06  Vivek Galatage  <vivekgalatage@gmail.com>
1861
1862         Move DrawingAreaImpl methods graphicsLayerFactory, setRootCompositingLayer & scheduleCompositingLayerSync under ACCELERATED_COMPOSITING
1863         https://bugs.webkit.org/show_bug.cgi?id=101427
1864
1865         Reviewed by Anders Carlsson.
1866
1867         Moving these methods under the ACCELERATED_COMPOSITING flag.
1868         This fixes broken wincairo due to use of override specifier.
1869
1870         * WebProcess/WebPage/DrawingAreaImpl.cpp:
1871         (WebKit):
1872         * WebProcess/WebPage/DrawingAreaImpl.h:
1873         (DrawingAreaImpl):
1874
1875 2012-11-06  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
1876
1877         [EFL][WK2] API test crash with accelerated compositing on.
1878         https://bugs.webkit.org/show_bug.cgi?id=101384
1879
1880         Reviewed by Gyuyoung Kim.
1881
1882         If accelerated compositing is enabled API tests should create GL evas engine
1883         instead of default one.
1884         Also, in API tests first window resize and display often comes earlier
1885         than enterAcceleratedCompositingMode call, so let's create GL surface in
1886         _ewk_view_smart_calculate on first window resize.
1887
1888         * UIProcess/API/efl/ewk_view.cpp:
1889         (_ewk_view_smart_calculate):
1890         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
1891         (EWK2UnitTest::EWK2UnitTestBase::SetUp):
1892
1893 2012-11-06  Anders Carlsson  <andersca@apple.com>
1894
1895         Update Java related WKSI function names
1896         https://bugs.webkit.org/show_bug.cgi?id=101414
1897
1898         Reviewed by Sam Weinig.
1899
1900         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
1901         (WebKit::PluginInfoStore::shouldUsePlugin):
1902         (WebKit::PluginInfoStore::policyForPlugin):
1903         (WebKit::PluginInfoStore::reactivateInactivePlugin):
1904
1905 2012-11-06  Kiran Muppala  <cmuppala@apple.com>
1906
1907         Add application occlusion criterion to enable/disable process suppression on Mac
1908         https://bugs.webkit.org/show_bug.cgi?id=100997
1909
1910         Reviewed by Alexey Proskuryakov.
1911
1912         Provide support for enabling and disabling process suppression when application is completely occluded on Mac.
1913
1914         * NetworkProcess/NetworkProcess.messages.in: Added message to update application occlusion status.
1915         * NetworkProcess/mac/NetworkProcessMainMac.mm:
1916         (WebKit::NetworkProcessMain): Removed call to take process suppression assertion since ChildProcess
1917         takes one on constrution.
1918         * PluginProcess/PluginProcess.messages.in: Added message to update application occlusion status.
1919         * PluginProcess/mac/PluginProcessMainMac.mm:
1920         (WebKit::PluginProcessMain): Removed call to take process suppression assertion since ChildProcess
1921         takes one on construction.
1922         * Shared/ChildProcess.cpp:
1923         (WebKit::ChildProcess::ChildProcess): Take process suppression assertion on construction.
1924         * Shared/ChildProcess.h:
1925         (WebKit::ChildProcess::applicationIsOccluded):
1926         * Shared/mac/ChildProcessMac.mm: Added.
1927         (WebKit::ChildProcess::setApplicationIsOccluded): Release process suppression assertion if application
1928         becomes occluded or take a new assertion if application becomes visible.
1929         (WebKit::ChildProcess::disableProcessSuppression):
1930         (WebKit::ChildProcess::enableProcessSuppression):
1931         Helper methods to take and release process suppression assertion.
1932         * SharedWorkerProcess/SharedWorkerProcess.messages.in: Added message to update application occlusion status.
1933         * SharedWorkerProcess/mac/SharedWorkerProcessMainMac.mm:
1934         (WebKit::SharedWorkerProcessMain): Removed call to take process suppression assertion since ChildProcess
1935         takes one on construction.
1936         * UIProcess/Network/NetworkProcessManager.h:
1937         * UIProcess/Network/NetworkProcessProxy.cpp:
1938         (WebKit::NetworkProcessProxy::didFinishLaunching): Update application occlusion status post launch.
1939         * UIProcess/Network/NetworkProcessProxy.h:
1940         (WebKit::NetworkProcessProxy::isValid):
1941         * UIProcess/Network/mac/NetworkProcessManagerMac.mm: Added.
1942         (WebKit::NetworkProcessManager::setApplicationIsOccluded):
1943         * UIProcess/Network/mac/NetworkProcessProxyMac.mm:
1944         (WebKit::NetworkProcessProxy::setApplicationIsOccluded):
1945         * UIProcess/Plugins/PluginProcessManager.h:
1946         * UIProcess/Plugins/PluginProcessProxy.cpp:
1947         (WebKit::PluginProcessProxy::didFinishLaunching): Update application occlusion status post launch.
1948         * UIProcess/Plugins/PluginProcessProxy.h:
1949         (WebKit::PluginProcessProxy::isValid):
1950         * UIProcess/Plugins/mac/PluginProcessManagerMac.mm: Added.
1951         (WebKit::PluginProcessManager::setApplicationIsOccluded):
1952         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1953         (WebKit::PluginProcessProxy::setApplicationIsOccluded):
1954         * UIProcess/SharedWorkers/SharedWorkerProcessManager.h:
1955         * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
1956         (WebKit::SharedWorkerProcessProxy::didFinishLaunching): Update application occlusion status post launch.
1957         * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
1958         (WebKit::SharedWorkerProcessProxy::isValid):
1959         * UIProcess/SharedWorkers/mac/SharedWorkerProcessManagerMac.mm: Added.
1960         (WebKit::SharedWorkerProcessManager::setApplicationIsOccluded):
1961         * UIProcess/SharedWorkers/mac/SharedWorkerProcessProxyMac.mm: Added.
1962         (WebKit::SharedWorkerProcessProxy::setApplicationIsOccluded):
1963         * UIProcess/WebContext.cpp:
1964         (WebKit::WebContext::create): Added call to initialize process suppression support.
1965         * UIProcess/WebContext.h:
1966         (WebKit::WebContext::applicationIsOccluded):
1967         * UIProcess/WebProcessProxy.cpp:
1968         (WebKit::WebProcessProxy::didFinishLaunching): Update application occlusion status post launch.
1969         * UIProcess/mac/WebContextMac.mm:
1970         (WebKit::WebContext::applicationBecameVisible):
1971         (WebKit::WebContext::applicationBecameOccluded):
1972         Notification handlers for informing non UI WebKit2 processes of changes to application occlusion state.
1973         (WebKit::WebContext::registerOcclusionNotificationHandlers):
1974         (WebKit::WebContext::initializeProcessSuppressionSupport):
1975         Helper method to register occlusion notification handlers if process suppression support is enabled.
1976         * WebKit2.xcodeproj/project.pbxproj:
1977         * WebProcess/WebProcess.messages.in: Added message to update application occlusion status.
1978         * WebProcess/mac/WebProcessInitialization.mm:
1979         (WebKit::InitializeWebProcess): Removed call to take process supression assertion since ChildProcess
1980         takes one on construction.
1981
1982 2012-11-06  Alexey Proskuryakov  <ap@apple.com>
1983
1984         Clean up which storage cookie jar functions use
1985         https://bugs.webkit.org/show_bug.cgi?id=101395
1986
1987         Reviewed by Brady Eidson.
1988
1989         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
1990         Updated for two new functions.
1991
1992 2012-11-06  Jihye Kang  <jye.kang@samsung.com>
1993
1994         [EFL][WK2] Add ewk_database_manager APIs
1995         https://bugs.webkit.org/show_bug.cgi?id=101193
1996
1997         Reviewed by Gyuyoung Kim.
1998
1999         Add ewk_database_manager to manage web database and
2000         ewk_database_manaager_origins_get to get origins list of web storage.
2001         Add unit tests for ewk_database_manager APIs.
2002
2003         * PlatformEfl.cmake:
2004         * UIProcess/API/efl/ewk_context.cpp:
2005         (Ewk_Context::Ewk_Context):
2006         (Ewk_Context::databaseManager):
2007         (ewk_context_database_manager_get):
2008         * UIProcess/API/efl/ewk_context.h:
2009         * UIProcess/API/efl/ewk_context_private.h:
2010         (Ewk_Context):
2011         * UIProcess/API/efl/ewk_database_manager.cpp: Added.
2012         (Ewk_Database_Manager::Ewk_Database_Manager):
2013         (Ewk_Database_Manager::getDatabaseOrigins):
2014         (Ewk_Database_Manager::createOriginList):
2015         (Ewk_Database_Origins_Async_Get_Context):
2016         (Ewk_Database_Origins_Async_Get_Context::Ewk_Database_Origins_Async_Get_Context):
2017         (getDatabaseOriginsCallback):
2018         (ewk_database_manager_origins_get):
2019         * UIProcess/API/efl/ewk_database_manager.h: Added.
2020         * UIProcess/API/efl/ewk_database_manager_private.h: Added.
2021         (Ewk_Database_Manager):
2022         (Ewk_Database_Manager::create):
2023         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
2024         (TEST_F):
2025         * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp: Added.
2026         (OriginData):
2027         (OriginData::OriginData):
2028         (getDatabaseOriginsCallback):
2029         (timerCallback):
2030         (TEST_F):
2031
2032 2012-11-06  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2033
2034         [EFL][WK2] Refactor Ewk_Auth_Request, Ewk_Url_Scheme_Request and Ewk_Download_Job to be Ewk_Objects
2035         https://bugs.webkit.org/show_bug.cgi?id=101383
2036
2037         Reviewed by Kenneth Rohde Christiansen.
2038
2039         Ewk_Auth_Request, Ewk_Url_Scheme_Request and Ewk_Download_Job are Ewk_Objects now.
2040
2041         * UIProcess/API/efl/EwkViewCallbacks.h:
2042         * UIProcess/API/efl/EwkViewImpl.h:
2043         * UIProcess/API/efl/ewk_auth_request.cpp:
2044         (EwkAuthRequest::EwkAuthRequest):
2045         (EwkAuthRequest::~EwkAuthRequest):
2046         (EwkAuthRequest::suggestedUsername):
2047         (EwkAuthRequest::realm):
2048         (EwkAuthRequest::host):
2049         (EwkAuthRequest::continueWithoutCredential):
2050         (EwkAuthRequest::authenticate):
2051         (EwkAuthRequest::isRetrying):
2052         (ewk_auth_request_suggested_username_get):
2053         (ewk_auth_request_cancel):
2054         (ewk_auth_request_authenticate):
2055         (ewk_auth_request_retrying_get):
2056         (ewk_auth_request_realm_get):
2057         (ewk_auth_request_host_get):
2058         * UIProcess/API/efl/ewk_auth_request.h:
2059         * UIProcess/API/efl/ewk_auth_request_private.h:
2060         (EwkAuthRequest):
2061         (EwkAuthRequest::create):
2062         * UIProcess/API/efl/ewk_back_forward_list.h:
2063         * UIProcess/API/efl/ewk_context_private.h:
2064         (EwkContext):
2065         * UIProcess/API/efl/ewk_download_job.cpp:
2066         (EwkDownloadJob::EwkDownloadJob):
2067         (EwkDownloadJob::id):
2068         (EwkDownloadJob::viewImpl):
2069         (ewk_download_job_state_get):
2070         (EwkDownloadJob::state):
2071         (ewk_download_job_request_get):
2072         (EwkDownloadJob::request):
2073         (ewk_download_job_response_get):
2074         (EwkDownloadJob::response):
2075         (ewk_download_job_destination_get):
2076         (EwkDownloadJob::destination):
2077         (ewk_download_job_destination_set):
2078         (EwkDownloadJob::setDestination):
2079         (ewk_download_job_suggested_filename_get):
2080         (EwkDownloadJob::suggestedFileName):
2081         (ewk_download_job_cancel):
2082         (EwkDownloadJob::cancel):
2083         (ewk_download_job_estimated_progress_get):
2084         (EwkDownloadJob::estimatedProgress):
2085         (ewk_download_job_elapsed_time_get):
2086         (EwkDownloadJob::elapsedTime):
2087         (EwkDownloadJob::setResponse):
2088         (EwkDownloadJob::setSuggestedFileName):
2089         (EwkDownloadJob::incrementReceivedData):
2090         (EwkDownloadJob::setState):
2091         * UIProcess/API/efl/ewk_download_job.h:
2092         * UIProcess/API/efl/ewk_download_job_private.h:
2093         (EwkDownloadJob):
2094         (EwkDownloadJob::create):
2095         * UIProcess/API/efl/ewk_url_scheme_request.cpp:
2096         (EwkUrlSchemeRequest::EwkUrlSchemeRequest):
2097         (EwkUrlSchemeRequest::id):
2098         (EwkUrlSchemeRequest::url):
2099         (EwkUrlSchemeRequest::scheme):
2100         (EwkUrlSchemeRequest::path):
2101         (EwkUrlSchemeRequest::finish):
2102         (ewk_url_scheme_request_scheme_get):
2103         (ewk_url_scheme_request_url_get):
2104         (ewk_url_scheme_request_path_get):
2105         (ewk_url_scheme_request_finish):
2106         * UIProcess/API/efl/ewk_url_scheme_request.h:
2107         * UIProcess/API/efl/ewk_url_scheme_request_private.h:
2108         (EwkUrlSchemeRequest):
2109         (EwkUrlSchemeRequest::create):
2110         * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
2111         (onAuthenticationRequest):
2112         (TEST_F):
2113         * UIProcess/efl/DownloadManagerEfl.cpp:
2114         (WebKit::DownloadManagerEfl::decideDestinationWithSuggestedFilename):
2115         (WebKit::DownloadManagerEfl::didReceiveResponse):
2116         (WebKit::DownloadManagerEfl::didCreateDestination):
2117         (WebKit::DownloadManagerEfl::didReceiveData):
2118         (WebKit::DownloadManagerEfl::didFail):
2119         (WebKit::DownloadManagerEfl::didCancel):
2120         (WebKit::DownloadManagerEfl::didFinish):
2121         (WebKit::DownloadManagerEfl::registerDownload):
2122         (WebKit::DownloadManagerEfl::downloadJob):
2123         * UIProcess/efl/DownloadManagerEfl.h:
2124         (DownloadManagerEfl):
2125         * UIProcess/efl/PageLoadClientEfl.cpp:
2126         (WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
2127         * UIProcess/efl/RequestManagerClientEfl.cpp:
2128         (WebKit::RequestManagerClientEfl::didReceiveURIRequest):
2129
2130 2012-11-06  Yael Aharon  <yael.aharon@intel.com>
2131
2132         [WK2] Wrong scroll position when going back in history
2133         https://bugs.webkit.org/show_bug.cgi?id=101358
2134
2135         Reviewed by Kenneth Rohde Christiansen.
2136
2137         Reset the contentsSize after a new load was committed. We should not continue
2138         to use the contentsSize of the previous page in any calculation.
2139
2140         * UIProcess/PageViewportController.cpp:
2141         (WebKit::PageViewportController::didCommitLoad):
2142
2143 2012-11-06  Christophe Dumez  <christophe.dumez@intel.com>
2144
2145         [EFL][WK2] Declare all smart callbacks in EwkViewCallbacks.h
2146         https://bugs.webkit.org/show_bug.cgi?id=101360
2147
2148         Reviewed by Kenneth Rohde Christiansen.
2149
2150         Declare all EwkView smart callbacks in EwkViewCallbacks.h
2151         and remove remaining calls to evas_object_smart_callback_call().
2152         It is a good idea to have all the callbacks declared in one
2153         place for convenience and consistency. We also have better
2154         argument type checking if we use the new callback mechanism.
2155
2156         * UIProcess/API/efl/EwkViewCallbacks.h:
2157         (EwkViewCallbacks::CallBack::call):
2158         (CallBack):
2159         (EwkViewCallbacks):
2160         * UIProcess/API/efl/EwkViewImpl.cpp:
2161         (EwkViewImpl::informIconChange):
2162         (EwkViewImpl::informURLChange):
2163         (EwkViewImpl::createNewPage):
2164         (EwkViewImpl::closePage):
2165
2166 2012-11-05  Anders Carlsson  <andersca@apple.com>
2167
2168         Hook up the remote layer tree drawing area to an environment variable
2169         https://bugs.webkit.org/show_bug.cgi?id=101267
2170
2171         Reviewed by Andreas Kling.
2172
2173         * UIProcess/API/mac/WKView.mm:
2174         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
2175         (WebKit::RemoteLayerTreeDrawingAreaProxy::sizeDidChange):
2176         (WebKit::RemoteLayerTreeDrawingAreaProxy::deviceScaleFactorDidChange):
2177
2178 2012-11-06  Andras Becsi  <andras.becsi@digia.com>
2179
2180         [Qt][WK2] Fit-to-width broken on pages with viewport meta tag
2181         https://bugs.webkit.org/show_bug.cgi?id=99715
2182
2183         Reviewed by Jocelyn Turcotte.
2184
2185         The initial scale from the viewport attributes should only
2186         be applied if the scale was explicitly specified in the
2187         viewport meta tag.
2188         If the initial scale is auto it should be calculated using
2189         the final contents size, which might be larger than the
2190         layout size, so that the content fits horizontally into
2191         the view.
2192
2193         Also add QML unit tests that cover this functionality.
2194
2195         * UIProcess/API/qt/tests/qmltests/WebView/tst_fitToView.qml:
2196         * UIProcess/API/qt/tests/qmltests/common/test5.html: Added.
2197         * UIProcess/PageViewportController.cpp:
2198         (WebKit::PageViewportController::PageViewportController):
2199         (WebKit::PageViewportController::pageTransitionViewportReady):
2200
2201 2012-11-06  Huang Dongsung  <luxtella@company100.net>
2202
2203         Coordinated Graphics: Remove a parent member in WebLayerInfo.
2204         https://bugs.webkit.org/show_bug.cgi?id=101142
2205
2206         Reviewed by Noam Rosenthal.
2207
2208         The parent member is not used in UI Process, and GraphicsLayer::setParent is
2209         internally used only, so we don't need to send the parent layer id to UI Process.
2210
2211         * Shared/WebLayerTreeInfo.h:
2212         (WebKit::WebLayerInfo::WebLayerInfo):
2213         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2214         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
2215
2216 2012-11-06  Huang Dongsung  <luxtella@company100.net>
2217
2218         Coordinated Graphics: Remove two methods' virtual modifiers in CoordinatedGraphicsLayer.
2219         https://bugs.webkit.org/show_bug.cgi?id=101141
2220
2221         Reviewed by Noam Rosenthal.
2222
2223         The methods exist for only CoordinatedGraphicsLayer and we have no plan to
2224         extend CoordinatedGraphicsLayer.
2225
2226         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2227         (CoordinatedGraphicsLayer):
2228
2229 2012-11-06  Balazs Kelemen  <kbalazs@webkit.org>
2230
2231         [CoordinatedGraphics] Access to LayerTreeRenderer::m_renderQueue should be thread safe
2232         https://bugs.webkit.org/show_bug.cgi?id=101341
2233
2234         Reviewed by Noam Rosenthal.
2235
2236         The queue can be accessed from public API so we should make
2237         sure it is not updated concurrently with a threaded render loop.
2238
2239         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2240         (WebKit::LayerTreeRenderer::syncRemoteContent):
2241         (WebKit::LayerTreeRenderer::appendUpdate):
2242         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2243         (LayerTreeRenderer):
2244
2245 2012-11-06  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2246
2247         [EFL][WK2] Make Ewk_Context Ewk_Object
2248         https://bugs.webkit.org/show_bug.cgi?id=101322
2249
2250         Reviewed by Kenneth Rohde Christiansen.
2251
2252         Ewk_Context is Ewk_Object now and using common ref/unref API.
2253
2254         * UIProcess/API/efl/EwkViewImpl.cpp:
2255         (EwkViewImpl::EwkViewImpl):
2256         * UIProcess/API/efl/EwkViewImpl.h:
2257         (EwkViewImpl::ewkContext):
2258         (EwkViewImpl):
2259         * UIProcess/API/efl/ewk_context.cpp:
2260         (EwkContext::EwkContext):
2261         (EwkContext::~EwkContext):
2262         (EwkContext::create):
2263         (EwkContext::defaultContext):
2264         (EwkContext::cookieManager):
2265         (EwkContext::ensureFaviconDatabase):
2266         (EwkContext::setFaviconDatabaseDirectoryPath):
2267         (EwkContext::faviconDatabase):
2268         (EwkContext::storageManager):
2269         (EwkContext::requestManager):
2270         (EwkContext::vibrationProvider):
2271         (EwkContext::addVisitedLink):
2272         (EwkContext::setCacheModel):
2273         (EwkContext::cacheModel):
2274         (ewk_context_cookie_manager_get):
2275         (ewk_context_favicon_database_directory_set):
2276         (ewk_context_favicon_database_get):
2277         (ewk_context_storage_manager_get):
2278         (EwkContext::wkContext):
2279         (EwkContext::downloadManager):
2280         (EwkContext::historyClient):
2281         (ewk_context_default_get):
2282         (ewk_context_new):
2283         (ewk_context_new_with_injected_bundle_path):
2284         (ewk_context_url_scheme_register):
2285         (ewk_context_vibration_client_callbacks_set):
2286         (ewk_context_history_callbacks_set):
2287         (ewk_context_visited_link_add):
2288         (ewk_context_cache_model_set):
2289         (ewk_context_cache_model_get):
2290         * UIProcess/API/efl/ewk_context.h:
2291         * UIProcess/API/efl/ewk_context_private.h:
2292         (EwkContext):
2293         * UIProcess/API/efl/ewk_view.cpp:
2294         (createEwkView):
2295         (ewk_view_base_add):
2296         (ewk_view_smart_add):
2297         (ewk_view_add_with_context):
2298         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
2299         (TEST_F):
2300         * UIProcess/efl/DownloadManagerEfl.cpp:
2301         (WebKit::DownloadManagerEfl::DownloadManagerEfl):
2302         * UIProcess/efl/DownloadManagerEfl.h:
2303         (WebKit::DownloadManagerEfl::create):
2304         (DownloadManagerEfl):
2305         * UIProcess/efl/PageClientBase.cpp:
2306         (WebKit::PageClientBase::handleDownloadRequest):
2307         * UIProcess/efl/RequestManagerClientEfl.cpp:
2308         (WebKit::RequestManagerClientEfl::RequestManagerClientEfl):
2309         * UIProcess/efl/RequestManagerClientEfl.h:
2310         (WebKit::RequestManagerClientEfl::create):
2311         (RequestManagerClientEfl):
2312
2313 2012-11-06  Balazs Kelemen  <kbalazs@webkit.org>
2314
2315         [CoordinatedGraphics] compositing/iframes/connect-compositing-iframe.html crashes
2316         https://bugs.webkit.org/show_bug.cgi?id=101232
2317
2318         Reviewed by Jocelyn Turcotte.
2319
2320         The crash is happening in CoordinatedGraphicsLayer::flushCompositingState
2321         because we dereferencing a null m_coordinatedGraphicsLayerClient.
2322         This happens when the root layer became composited because it has content overlapping
2323         with an inner iframe that is composited. In this case the RenderLayerCompositor attaches
2324         the layer with RootLayerAttachedViaEnclosingFrame attachment flag and do not call
2325         ChromeClient::attachRootGraphcisLayer so we don't have a chance to set m_coordinatedGraphicsLayerClient.
2326         The solution is to set the client early in the factory method.
2327
2328         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2329         (WebKit::LayerTreeCoordinator::createGraphicsLayer):
2330
2331 2012-11-06  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
2332
2333         [EFL] [WK2] Random crash in Minibrowser
2334         https://bugs.webkit.org/show_bug.cgi?id=101241
2335
2336         Reviewed by Gyuyoung Kim.
2337
2338         Do not clear GL context and GL surface in exitAcceleratedCompositing.
2339
2340         * UIProcess/API/efl/EwkViewImpl.cpp:
2341         (EwkViewImpl::createGLSurface):
2342         (EwkViewImpl::enterAcceleratedCompositingMode):
2343         (EwkViewImpl::exitAcceleratedCompositingMode):
2344
2345 2012-11-05  Sam Weinig  <sam@webkit.org>
2346
2347         Need a way to send and receive messages between the WKWebProcessPlugIn object and the client
2348         https://bugs.webkit.org/show_bug.cgi?id=101282
2349
2350         Reviewed by Anders Carlsson.
2351
2352         API wise, this adds:
2353             - A connection property on the WKWebProcessPlugInController
2354             - A method to send messages across a WKConnection (sendMessageWithName:body).
2355
2356         It also implements message sending and receiving for WKConnection. Message bodies are currently
2357         restricted to being object graphs with values that are property list types, but in the future, should
2358         support all types conforming to the NSSecureCoding protocol.
2359
2360         * Shared/WebConnection.cpp:
2361         (WebKit::WebConnection::postMessage):
2362         (WebKit::WebConnection::handleMessage):
2363         * Shared/WebConnection.h:
2364         (WebConnection):
2365         * Shared/WebConnection.messages.in:
2366         Switch HandleMessage to be a variadic message to avoid an extra copy and support attachments correctly.
2367
2368         * Shared/mac/ArgumentCodersMac.h:
2369         * Shared/mac/ArgumentCodersMac.mm:
2370         (CoreIPC::typeFromObject):
2371         (CoreIPC::encode):
2372         (CoreIPC::decode):
2373         Add support for encoding/decoding NSArray, NSDate and NSData.
2374
2375         * UIProcess/API/mac/WKConnection.h:
2376         * UIProcess/API/mac/WKConnection.mm:
2377         (-[WKConnection sendMessageWithName:body:]):
2378         (didReceiveMessage):
2379         Implement message sending and receiving.
2380
2381         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.h:
2382         * WebProcess/InjectedBundle/API/mac/WKWebProcessPlugIn.mm:
2383         (-[WKWebProcessPlugInController _initWithPrincipalClassInstance:bundleRef:]):
2384         (-[WKWebProcessPlugInController connection]):
2385         Add a wrapper for the WKConnectionRef vended via WKBundleGetApplicationConnection() and expose it as
2386         API on the WKWebProcessPlugInController.
2387
2388 2012-11-05  Jinwoo Song  <jinwoo7.song@samsung.com>
2389
2390         [EFL][WK2] Fix wrong coding style in the boilerplates
2391         https://bugs.webkit.org/show_bug.cgi?id=101283
2392
2393         Reviewed by Gyuyoung Kim.
2394
2395         Fix boilerplate which have wrong coding style.
2396
2397         * UIProcess/efl/InputMethodContextEfl.cpp:
2398         * UIProcess/efl/InputMethodContextEfl.h:
2399         * UIProcess/efl/PageClientDefaultImpl.cpp:
2400         * UIProcess/efl/PageClientDefaultImpl.h:
2401         * UIProcess/efl/PageClientLegacyImpl.cpp:
2402         * UIProcess/efl/PageClientLegacyImpl.h:
2403
2404 2012-11-05  KyungTae Kim  <ktf.kim@samsung.com>
2405
2406         [EFL][WK2] Fix build warning in PageClientLegacyImpl.cpp
2407         https://bugs.webkit.org/show_bug.cgi?id=101266
2408
2409         Reviewed by Laszlo Gombos.
2410
2411         The 'size' is not used when !USE(TILED_BACKING_STORE)
2412         Use UNUSED_PARAM macro for removing -Wunused-parameter warning
2413
2414         * UIProcess/efl/PageClientLegacyImpl.cpp:
2415         (WebKit::PageClientLegacyImpl::updateViewportSize):
2416
2417 2012-11-05  Anders Carlsson  <andersca@apple.com>
2418
2419         Begin stubbing out the new remote layer tree drawing area
2420         https://bugs.webkit.org/show_bug.cgi?id=101256
2421
2422         Reviewed by Andreas Kling.
2423
2424         * Shared/DrawingAreaInfo.h:
2425         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.h:
2426         * UIProcess/mac/RemoteLayerTreeDrawingAreaProxy.mm:
2427         * WebKit2.xcodeproj/project.pbxproj:
2428         * WebProcess/WebPage/DrawingArea.cpp:
2429         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.h:
2430         * WebProcess/WebPage/mac/RemoteLayerTreeDrawingArea.mm:
2431
2432 2012-11-05  Alexey Proskuryakov  <ap@apple.com>
2433
2434         Get rid of setCookieStoragePrivateBrowsingEnabled.
2435         https://bugs.webkit.org/show_bug.cgi?id=101247
2436
2437         Reviewed by Brady Eidson.
2438
2439         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2440         (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession): Added a FIXME.
2441
2442         * WebProcess/WebCoreSupport/mac/WebSystemInterface.mm: (InitWebCoreSystemInterface):
2443         We no longer have this function.
2444
2445 2012-11-05  Simon Fraser  <simon.fraser@apple.com>
2446
2447         Fix layer borders to cleaning appear and disappear on switching
2448         https://bugs.webkit.org/show_bug.cgi?id=101136
2449
2450         Reviewed by Sam Weinig.
2451         
2452         Remove the GraphicsLayerClient methods showDebugBorders() and
2453         showRepaintCounter().
2454         
2455         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2456         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2457         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2458         (LayerTreeCoordinator):
2459         * WebProcess/WebPage/ca/LayerTreeHostCA.cpp:
2460         * WebProcess/WebPage/ca/LayerTreeHostCA.h:
2461         (LayerTreeHostCA):
2462         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
2463         * WebProcess/WebPage/gtk/LayerTreeHostGtk.h:
2464         (LayerTreeHostGtk):
2465         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
2466         (TiledCoreAnimationDrawingArea):
2467         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2468
2469 2012-11-05  Yael Aharon  <yael.aharon@intel.com>
2470
2471         [EFL][WK2] Allow using ACCELERATED_COMPOSITING without COORDINATED_GRAPHICS
2472         https://bugs.webkit.org/show_bug.cgi?id=100674
2473
2474         Reviewed by Kenneth Rohde Christiansen.
2475
2476         Make a distinction between calling ewk_view_base_add and ewk_view_smart_add.
2477         Calling ewk_view_base_add creates a desktop style view, that does not support
2478         fixed layout size, while calling ewk_view_smart_add does support fixed layout size.
2479         As a result, WebKitTestRunner and the inspector window do not support
2480         fixed layout size, while MiniBrowser does. This change allows many DumpAsText
2481         layout tests to pass without modification, when AC is enabled.
2482
2483         * PlatformEfl.cmake:
2484         * UIProcess/API/efl/EwkViewImpl.cpp:
2485         (EwkViewImpl::EwkViewImpl):
2486         (EwkViewImpl::transformFromScene):
2487         (EwkViewImpl::informLoadCommitted):
2488         (EwkViewImpl::enterAcceleratedCompositingMode):
2489         (EwkViewImpl::informContentsSizeChange):
2490         * UIProcess/API/efl/EwkViewImpl.h:
2491         (WebKit):
2492         (EwkViewImpl):
2493         (EwkViewImpl::pageClient):
2494         (EwkViewImpl::setScaleFactor):
2495         (EwkViewImpl::scaleFactor):
2496         (EwkViewImpl::setScrollPosition):
2497         (EwkViewImpl::scrollPosition):
2498         * UIProcess/API/efl/ewk_view.cpp:
2499         (_ewk_view_smart_calculate):
2500         (createEwkView):
2501         (ewk_view_base_add):
2502         * UIProcess/efl/PageClientBase.cpp: Copied from Source/WebKit2/UIProcess/efl/PageClientImpl.cpp.
2503         (WebKit::PageClientBase::PageClientBase):
2504         (WebKit::PageClientBase::~PageClientBase):
2505         (WebKit::PageClientBase::viewImpl):
2506         (WebKit::PageClientBase::createDrawingAreaProxy):
2507         (WebKit::PageClientBase::setViewNeedsDisplay):
2508         (WebKit::PageClientBase::displayView):
2509         (WebKit::PageClientBase::scrollView):
2510         (WebKit::PageClientBase::viewSize):
2511         (WebKit::PageClientBase::isViewWindowActive):
2512         (WebKit::PageClientBase::isViewFocused):
2513         (WebKit::PageClientBase::isViewVisible):
2514         (WebKit::PageClientBase::isViewInWindow):
2515         (WebKit::PageClientBase::processDidCrash):
2516         (WebKit::PageClientBase::didRelaunchProcess):
2517         (WebKit::PageClientBase::pageClosed):
2518         (WebKit::PageClientBase::toolTipChanged):
2519         (WebKit::PageClientBase::setCursor):
2520         (WebKit::PageClientBase::setCursorHiddenUntilMouseMoves):
2521         (WebKit::PageClientBase::registerEditCommand):
2522         (WebKit::PageClientBase::clearAllEditCommands):
2523         (WebKit::PageClientBase::canUndoRedo):
2524         (WebKit::PageClientBase::executeUndoRedo):
2525         (WebKit::PageClientBase::convertToDeviceSpace):
2526         (WebKit::PageClientBase::convertToUserSpace):
2527         (WebKit::PageClientBase::screenToWindow):
2528         (WebKit::PageClientBase::windowToScreen):
2529         (WebKit::PageClientBase::doneWithKeyEvent):
2530         (WebKit::PageClientBase::doneWithTouchEvent):
2531         (WebKit::PageClientBase::createPopupMenuProxy):
2532         (WebKit::PageClientBase::createContextMenuProxy):
2533         (WebKit::PageClientBase::createColorChooserProxy):
2534         (WebKit::PageClientBase::setFindIndicator):
2535         (WebKit::PageClientBase::enterAcceleratedCompositingMode):
2536         (WebKit::PageClientBase::exitAcceleratedCompositingMode):
2537         (WebKit::PageClientBase::updateAcceleratedCompositingMode):
2538         (WebKit::PageClientBase::didChangeScrollbarsForMainFrame):
2539         (WebKit::PageClientBase::didCommitLoadForMainFrame):
2540         (WebKit::PageClientBase::didFinishLoadingDataForCustomRepresentation):
2541         (WebKit::PageClientBase::customRepresentationZoomFactor):
2542         (WebKit::PageClientBase::setCustomRepresentationZoomFactor):
2543         (WebKit::PageClientBase::flashBackingStoreUpdates):
2544         (WebKit::PageClientBase::findStringInCustomRepresentation):
2545         (WebKit::PageClientBase::countStringMatchesInCustomRepresentation):
2546         (WebKit::PageClientBase::updateTextInputState):
2547         (WebKit::PageClientBase::handleDownloadRequest):
2548         * UIProcess/efl/PageClientBase.h: Copied from Source/WebKit2/UIProcess/efl/PageClientImpl.h.
2549         (PageClientBase):
2550         * UIProcess/efl/PageClientDefaultImpl.cpp: Added.
2551         (WebKit):
2552         (WebKit::PageClientDefaultImpl::PageClientDefaultImpl):
2553         (WebKit::PageClientDefaultImpl::didCommitLoad):
2554         (WebKit::PageClientDefaultImpl::updateViewportSize):
2555         (WebKit::PageClientDefaultImpl::didChangeViewportProperties):
2556         (WebKit::PageClientDefaultImpl::didChangeContentsSize):
2557         (WebKit::PageClientDefaultImpl::pageDidRequestScroll):
2558         (WebKit::PageClientDefaultImpl::didRenderFrame):
2559         (WebKit::PageClientDefaultImpl::pageTransitionViewportReady):
2560         * UIProcess/efl/PageClientDefaultImpl.h: Added.
2561         (WebKit):
2562         (PageClientDefaultImpl):
2563         (WebKit::PageClientDefaultImpl::create):
2564         (WebKit::PageClientDefaultImpl::~PageClientDefaultImpl):
2565         * UIProcess/efl/PageClientImpl.cpp: Removed.
2566         * UIProcess/efl/PageClientImpl.h: Removed.
2567         * UIProcess/efl/PageClientLegacyImpl.cpp: Added.
2568         (WebKit):
2569         (WebKit::PageClientLegacyImpl::PageClientLegacyImpl):
2570         (WebKit::PageClientLegacyImpl::didCommitLoad):
2571         (WebKit::PageClientLegacyImpl::updateViewportSize):
2572         (WebKit::PageClientLegacyImpl::didChangeViewportProperties):
2573         (WebKit::PageClientLegacyImpl::didChangeContentsSize):
2574         (WebKit::PageClientLegacyImpl::pageDidRequestScroll):
2575         (WebKit::PageClientLegacyImpl::didRenderFrame):
2576         (WebKit::PageClientLegacyImpl::pageTransitionViewportReady):
2577         * UIProcess/efl/PageClientLegacyImpl.h: Added.
2578         (WebKit):
2579         (PageClientLegacyImpl):
2580         (WebKit::PageClientLegacyImpl::create):
2581         (WebKit::PageClientLegacyImpl::~PageClientLegacyImpl):
2582         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
2583         (WebKit::PageViewportControllerClientEfl::updateViewportSize):
2584         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
2585         (WebKit::PageViewportControllerClientEfl::setViewportPosition):
2586         (WebKit::PageViewportControllerClientEfl::setContentsScale):
2587         * UIProcess/efl/PageViewportControllerClientEfl.h:
2588         * UIProcess/efl/WebPageProxyEfl.cpp:
2589         (WebKit::WebPageProxy::viewWidget):
2590
2591 2012-11-05  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2592
2593         [EFL][WK2] Make Ewk_Url_Request, Ewk_Url_Response, Ewk_Navigation_Data  Ewk_Objects
2594         https://bugs.webkit.org/show_bug.cgi?id=101205
2595
2596         Reviewed by Gyuyoung Kim.
2597
2598         Ewk_Url_Request, Ewk_Url_Response, Ewk_Navigation_Data are using common Ewk_Object interface now.
2599
2600         * UIProcess/API/efl/EwkViewImpl.h:
2601         * UIProcess/API/efl/ewk_download_job.cpp:
2602         (Ewk_Download_Job::request):
2603         (Ewk_Download_Job::response):
2604         (Ewk_Download_Job::setResponse):
2605         * UIProcess/API/efl/ewk_download_job_private.h:
2606         (Ewk_Download_Job):
2607         * UIProcess/API/efl/ewk_navigation_data.cpp:
2608         (EwkNavigationData::EwkNavigationData):
2609         (EwkNavigationData::originalRequest):
2610         (EwkNavigationData::title):
2611         (EwkNavigationData::url):
2612         (ewk_navigation_data_title_get):
2613         (ewk_navigation_data_original_request_get):
2614         (ewk_navigation_data_url_get):
2615         * UIProcess/API/efl/ewk_navigation_data.h:
2616         * UIProcess/API/efl/ewk_navigation_data_private.h:
2617         (EwkNavigationData):
2618         (EwkNavigationData::create):
2619         * UIProcess/API/efl/ewk_navigation_policy_decision.cpp:
2620         (Ewk_Navigation_Policy_Decision::Ewk_Navigation_Policy_Decision):
2621         (Ewk_Navigation_Policy_Decision::request):
2622         * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
2623         (Ewk_Navigation_Policy_Decision::create):
2624         (Ewk_Navigation_Policy_Decision):
2625         * UIProcess/API/efl/ewk_url_request.cpp:
2626         (EwkUrlRequest::EwkUrlRequest):
2627         (EwkUrlRequest::url):
2628         (EwkUrlRequest::firstParty):
2629         (EwkUrlRequest::httpMethod):
2630         (ewk_url_request_url_get):
2631         (ewk_request_cookies_first_party_get):
2632         (ewk_url_request_http_method_get):
2633         * UIProcess/API/efl/ewk_url_request.h:
2634         * UIProcess/API/efl/ewk_url_request_private.h:
2635         (EwkUrlRequest):
2636         (EwkUrlRequest::create):
2637         * UIProcess/API/efl/ewk_url_response.cpp:
2638         (EwkUrlResponse::EwkUrlResponse):
2639         (EwkUrlResponse::httpStatusCode):
2640         (EwkUrlResponse::url):
2641         (EwkUrlResponse::mimeType):
2642         (EwkUrlResponse::contentLength):
2643         (ewk_url_response_url_get):
2644         (ewk_url_response_status_code_get):
2645         (ewk_url_response_mime_type_get):
2646         (ewk_url_response_content_length_get):
2647         * UIProcess/API/efl/ewk_url_response.h:
2648         * UIProcess/API/efl/ewk_url_response_private.h:
2649         (EwkUrlResponse):
2650         (EwkUrlResponse::create):
2651         * UIProcess/efl/ContextHistoryClientEfl.cpp:
2652         (WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
2653         * UIProcess/efl/DownloadManagerEfl.cpp:
2654         (WebKit::DownloadManagerEfl::didReceiveResponse):
2655         * UIProcess/efl/ResourceLoadClientEfl.cpp:
2656         (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
2657         (WebKit::ResourceLoadClientEfl::didSendRequestForResource):
2658         (WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
2659
2660 2012-11-05  Christophe Dumez  <christophe.dumez@intel.com>
2661
2662         [EFL][WK2] EWK2UnitTestBase.ewk_auth_request_cancel API test is failing after r133389
2663         https://bugs.webkit.org/show_bug.cgi?id=101203
2664
2665         Reviewed by Kenneth Rohde Christiansen.
2666
2667         Attempt for continue without credential when the client cancels
2668         authentication (or does not handle the authentication request)
2669         instead of cancelling the load. We now get a 402 error when
2670         when cancelling the authentication, which is the behavior we
2671         want (and the behavior we used to have before r133389).
2672
2673         * UIProcess/API/efl/ewk_auth_request.cpp:
2674         (Ewk_Auth_Request::~Ewk_Auth_Request):
2675         (Ewk_Auth_Request::continueWithoutCredential):
2676         (ewk_auth_request_cancel):
2677         * UIProcess/API/efl/ewk_auth_request_private.h:
2678         (Ewk_Auth_Request):
2679         * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
2680         (TEST_F):
2681
2682 2012-11-05  Christophe Dumez  <christophe.dumez@intel.com>
2683
2684         [EFL][WK2] The icon database path should be set by the client
2685         https://bugs.webkit.org/show_bug.cgi?id=101182
2686
2687         Reviewed by Kenneth Rohde Christiansen.
2688
2689         No longer set the favicon database path in database instance getter.
2690         Instead, a new ewk_context_favicon_database_directory_set() API
2691         function was added to let the client set the icon database path.
2692         This is needed because the icon database path can only be set once
2693         and setting it unconditionally in the getter prevents the client
2694         from setting it.
2695
2696         This will also avoid crashes in WebKitTestRunner since WKTR was
2697         setting the path once and ewk_context was attempting to override it.
2698
2699         Note that the favicon database functionality is disabled until the
2700         client sets its path.
2701
2702         * UIProcess/API/efl/ewk_context.cpp:
2703         (Ewk_Context::ensureFaviconDatabase):
2704         (Ewk_Context::setFaviconDatabaseDirectoryPath):
2705         (Ewk_Context::faviconDatabase):
2706         (ewk_context_favicon_database_directory_set):
2707         * UIProcess/API/efl/ewk_context.h:
2708         * UIProcess/API/efl/ewk_context_private.h:
2709         (Ewk_Context):
2710         * UIProcess/API/efl/ewk_favicon_database.cpp:
2711         (Ewk_Favicon_Database::Ewk_Favicon_Database):
2712         (Ewk_Favicon_Database::~Ewk_Favicon_Database):
2713         (Ewk_Favicon_Database::iconURLForPageURL):
2714         (Ewk_Favicon_Database::iconForPageURL):
2715         (Ewk_Favicon_Database::getIconSurfaceSynchronously):
2716         * UIProcess/API/efl/ewk_favicon_database_private.h:
2717         (WebKit):
2718         (Ewk_Favicon_Database::create):
2719         (Ewk_Favicon_Database):
2720         * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
2721         (TEST_F):
2722
2723 2012-11-04  Halton Huo  <halton.huo@intel.com>
2724
2725         [EFL] Use _LIBRARIES instead of _LIBRARY
2726         https://bugs.webkit.org/show_bug.cgi?id=101042
2727
2728         Reviewed by Gyuyoung Kim.
2729
2730         In CMake Find files, _LIBRARY is intended for internal use, should
2731         use _LIBRARIES instead.
2732
2733         * PlatformEfl.cmake: s/_LIBRARY}/_LIBRARIES}
2734
2735 2012-11-04  Jon Lee  <jonlee@apple.com>
2736
2737         Expose security origin to BundleFrame
2738         https://bugs.webkit.org/show_bug.cgi?id=101139
2739         <rdar://problem/12629900>
2740
2741         Reviewed by Darin Adler.
2742
2743         Create a WebSecurityOrigin instance, sharing the security origin instance
2744         that comes directly from the frame's document. We can do this because the
2745         WK2 API only retrieves information about the origin, and because those
2746         results are returned as copies. The security origin holds no references
2747         that could lead to a retain cycle, avoiding the possibility that the
2748         injected bundle accidentally keeps something alive.
2749
2750         * Shared/API/c/WKSharedAPICast.h:
2751         (WebKit::toCopiedAPI): Create copied API for WebCore::SecurityOrigin
2752         instances.
2753         * Shared/WebSecurityOrigin.h:
2754         (WebKit::WebSecurityOrigin::create): Add a new create() function that
2755         takes a PassRefPtr to a WebCore SecurityOrigin instance.
2756         (WebKit::WebSecurityOrigin::createFromString): Refactor to use new create()
2757         function.
2758         (WebKit::WebSecurityOrigin::createFromDatabaseIdentifier): Refactor to
2759         use new create() function.
2760         (WebKit::WebSecurityOrigin::create): Refactor to use new create()
2761         function.
2762         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
2763         (WKBundleFrameCopySecurityOrigin): Add function to retrieve the security
2764         origin as a WK2 API object.
2765         * WebProcess/InjectedBundle/API/c/WKBundleFrame.h:
2766
2767 2012-11-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2768
2769         [EFL] Unify transforms in WK2
2770         https://bugs.webkit.org/show_bug.cgi?id=101051
2771
2772         Reviewed by Simon Hausmann.
2773
2774         Move our transforms into EwkViewImpl and use them
2775         everywhere needed.
2776
2777         * UIProcess/API/efl/EwkViewImpl.cpp:
2778         (EwkViewImpl::smartData):
2779         (EwkViewImpl::transformFromScene):
2780         (EwkViewImpl::transformToScene):
2781         (EwkViewImpl::transformToScreen):
2782         (EwkViewImpl::displayTimerFired):
2783         * UIProcess/API/efl/EwkViewImpl.h:
2784         (WebCore):
2785         (EwkViewImpl):
2786         (EwkViewImpl::pageViewportControllerClient):
2787         (EwkViewImpl::pageViewportController):
2788         * UIProcess/API/efl/ewk_view.cpp:
2789         (_ewk_view_smart_mouse_wheel):
2790         (_ewk_view_smart_mouse_down):
2791         (_ewk_view_smart_mouse_up):
2792         (_ewk_view_smart_mouse_move):
2793         (ewk_view_feed_touch_event):
2794
2795 2012-11-03  Alexey Proskuryakov  <ap@apple.com>
2796
2797         Get rid of USE(CFURLSTORAGESESSIONS)
2798         https://bugs.webkit.org/show_bug.cgi?id=101131
2799
2800         Reviewed by Sam Weinig.
2801
2802         * Shared/WebProcessCreationParameters.cpp:
2803         (WebKit::WebProcessCreationParameters::encode):
2804         (WebKit::WebProcessCreationParameters::decode):
2805         * Shared/WebProcessCreationParameters.h:
2806         (WebProcessCreationParameters):
2807         * UIProcess/win/WebContextWin.cpp:
2808         (WebKit::WebContext::platformInitializeWebProcess):
2809         * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
2810         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
2811         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2812         (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
2813         * WebProcess/WebPage/mac/WebPageMac.mm:
2814         (WebKit::WebPage::platformHasLocalDataForURL):
2815         (WebKit::cachedResponseForURL):
2816         * WebProcess/WebPage/win/WebPageWin.cpp:
2817         (WebKit::cachedResponseForURL):
2818         * WebProcess/WebProcess.cpp:
2819         (WebKit::WebProcess::initializeWebProcess):
2820         * WebProcess/win/WebProcessWin.cpp:
2821         (WebKit::WebProcess::platformSetCacheModel):
2822         (WebKit::WebProcess::platformClearResourceCaches):
2823
2824 2012-11-03  Pavel Feldman  <pfeldman@chromium.org>
2825
2826         REGRESSION (r132014-r132047): Webkit Inspector Window docking broken
2827         https://bugs.webkit.org/show_bug.cgi?id=101125
2828
2829         Reviewed by Vsevolod Vlasov.
2830
2831         Migrated from ?docked= to ?dockSide= format.
2832
2833         * UIProcess/WebInspectorProxy.cpp:
2834         (WebKit::WebInspectorProxy::createInspectorPage):
2835
2836 2012-10-25  Martin Robinson  <mrobinson@igalia.com>
2837
2838         [GTK] Move soup authentication from GtkAuthenticationDialog to WebCore
2839         https://bugs.webkit.org/show_bug.cgi?id=99914
2840
2841         Reviewed by Carlos Garcia Campos.
2842
2843         Instead of passing the libsoup objects to the GtkAuthenticationDialog, pass the
2844         AuthenticationChallenge itself.
2845
2846         * WebProcess/WebCoreSupport/gtk/WebFrameLoaderClientGtk.cpp:
2847         (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge):
2848
2849 2012-11-02  Anders Carlsson  <andersca@apple.com>
2850
2851         Very speculative ArgumentDecoder crash fix
2852         https://bugs.webkit.org/show_bug.cgi?id=101130
2853         <rdar://problem/11917046>
2854
2855         Reviewed by Sam Weinig.
2856
2857         Switch from fastMalloc/fastFree to system malloc/free in the hopes that it'll give more information about
2858         a crash inside TCMalloc when freeing the argument data. (It seems unlikely that this is a bug in TCMalloc, but
2859         switching to the system malloc could potentially give better error reporting).
2860
2861         * Platform/CoreIPC/ArgumentDecoder.cpp:
2862         (CoreIPC::ArgumentDecoder::~ArgumentDecoder):
2863         (CoreIPC::ArgumentDecoder::initialize):
2864
2865 2012-11-02  Anders Carlsson  <andersca@apple.com>
2866
2867         Don't instantiate the Java plug-in if it's inactive
2868         https://bugs.webkit.org/show_bug.cgi?id=101102
2869         <rdar://problem/12595679>
2870
2871         Reviewed by Andreas Kling.
2872
2873         * Shared/Plugins/PluginModuleInfo.h:
2874         Add a PluginModuleLoadPolicy enum.
2875
2876         * UIProcess/Plugins/PluginInfoStore.cpp:
2877         (WebKit::PluginInfoStore::policyForPlugin):
2878         * UIProcess/Plugins/PluginInfoStore.h:
2879         (PluginInfoStore):
2880         Rename shouldBlockPlugin to policyForPlugin and make it return an enum so we can handle inactive plug-ins.
2881         
2882         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
2883         (WebKit::shouldBlockPlugin):
2884         Add helper function.
2885
2886         (WebKit::PluginInfoStore::policyForPlugin):
2887         If the Java plug-in is inactive, return PluginModuleInactive.
2888
2889         (WebKit::PluginInfoStore::reactivateInactivePlugin):
2890         If the given plug-in is the Java plug-in, call WKJLReportWebComponentsUsed() to reactivate it.
2891
2892         * UIProcess/WebPageProxy.cpp:
2893         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
2894         If the plug-in is inactive, try to reactivate it and reload the page if reactivation succeeded.
2895
2896         * UIProcess/WebProcessProxy.cpp:
2897         (WebKit::WebProcessProxy::getPluginPath):
2898         * UIProcess/WebProcessProxy.h:
2899         This now returns a plug-in load policy.
2900
2901         * UIProcess/WebProcessProxy.messages.in:
2902         GetPluginPack now returns a load policy enum.
2903
2904         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
2905         (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
2906         Change this to a switch statement and always return true for RenderEmbeddedObject::PluginInactive.
2907
2908         (WebKit::WebChromeClient::unavailablePluginButtonClicked):
2909         Add RenderEmbeddedObject::PluginInactive to the assertion.
2910
2911         * WebProcess/WebPage/WebPage.cpp:
2912         (WebKit::WebPage::createPlugin):
2913         Update now that GetPluginPath returns a pluginLoadPolicy enum.
2914
2915         (WebKit::canPluginHandleResponse):
2916         Ditto.
2917
2918 2012-11-02  Alexey Proskuryakov  <ap@apple.com>
2919
2920         [Mac] ResourceHandle changes for network process
2921         https://bugs.webkit.org/show_bug.cgi?id=101111
2922
2923         Reviewed by Jessie Berlin.
2924
2925         * NetworkProcess/mac/NetworkProcessMainMac.mm: (WebKit::NetworkProcessMain):
2926         We want to use WebKitSystemInterface in network process.
2927         * NetworkProcess/mac/RemoteNetworkingContext.h:
2928         (WebKit::RemoteNetworkingContext::create): Added a constructor and a create function.
2929         Switched from scheduledRunLoopPairs() to the new scheduledOperationQueue().
2930
2931         * NetworkProcess/mac/RemoteNetworkingContext.mm:
2932         (WebKit::RemoteNetworkingContext::RemoteNetworkingContext):
2933         (WebKit::RemoteNetworkingContext::scheduledOperationQueue):
2934         Ditto.
2935
2936 2012-11-02  Simon Fraser  <simon.fraser@apple.com>
2937
2938         Enable SUBPIXEL_LAYOUT on Mac
2939         https://bugs.webkit.org/show_bug.cgi?id=101076
2940
2941         Reviewed by Dave Hyatt.
2942
2943         Define ENABLE_SUBPIXEL_LAYOUT and include it in FEATURE_DEFINES.
2944
2945         * Configurations/FeatureDefines.xcconfig:
2946
2947 2012-11-02  Anders Carlsson  <andersca@apple.com>
2948
2949         Add a PluginInactive plug-in unavailability reason
2950         https://bugs.webkit.org/show_bug.cgi?id=101089
2951
2952         Reviewed by Sam Weinig.
2953
2954         * UIProcess/WebPageProxy.cpp:
2955         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
2956
2957 2012-11-02  Adam Barth  <abarth@webkit.org>
2958
2959         ENABLE(UNDO_MANAGER) is disabled everywhere and is not under active development
2960         https://bugs.webkit.org/show_bug.cgi?id=100711
2961
2962         Reviewed by Eric Seidel.
2963
2964         * Configurations/FeatureDefines.xcconfig:
2965
2966 2012-11-02  Christophe Dumez  <christophe.dumez@intel.com>
2967
2968         [WK2][EFL] Crash when calling WebOpenPanelResultListenerProxy::cancel() after PageClient is destroyed
2969         https://bugs.webkit.org/show_bug.cgi?id=100977
2970
2971         Reviewed by Alexey Proskuryakov.
2972
2973         Call WebPageProxy::close() in EwkViewImpl's destructor to avoid crashes
2974         if other objects keep a reference to the WebPageProxy and try to use
2975         it after the view (and therefore the PageClient) is destroyed.
2976
2977         * UIProcess/API/efl/EwkViewImpl.cpp:
2978         (EwkViewImpl::~EwkViewImpl):
2979
2980 2012-11-02  Martin Robinson  <mrobinson@igalia.com>
2981
2982         [GTK] Remove dependency on SoupPasswordManager
2983         https://bugs.webkit.org/show_bug.cgi?id=100775
2984
2985         Reviewed by Carlos Garcia Campos.
2986
2987         Add a libsecret dependency to the build. This is necessary so that we can remove
2988         a dependency on SoupPasswordManager.
2989
2990         * GNUmakefile.am: Add libsecret CFLAGS to the WebKit2 build.
2991
2992 2012-11-02  Byungwoo Lee  <bw80.lee@samsung.com>
2993
2994         [EFL][WK2] Change the scope of locking in WorkQueueEfl.cpp.
2995         https://bugs.webkit.org/show_bug.cgi?id=98978
2996
2997         Reviewed by Kenneth Rohde Christiansen.
2998
2999         Release the m_workItemQueueLock and m_timerWorkItemsLock mutexes
3000         immediately after the protected resource is no longer modified to
3001         prevent a possible source of a deadlock.
3002
3003         And additional mutex locker for the m_writeToPipeDescriptor is added
3004         to ensure thread-safety of the sendMessageToThread() function.
3005
3006         * Platform/WorkQueue.h:
3007         (WorkQueue):
3008         * Platform/efl/WorkQueueEfl.cpp:
3009         (WorkQueue::insertTimerWorkItem):
3010         (WorkQueue::performTimerWork):
3011         (WorkQueue::sendMessageToThread):
3012         (WorkQueue::dispatch):
3013         (WorkQueue::dispatchAfterDelay):
3014
3015 2012-11-02  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3016
3017         [EFL][WK2] Add API unit tests for Ewk_Object
3018         https://bugs.webkit.org/show_bug.cgi?id=101037
3019
3020         Reviewed by Kenneth Rohde Christiansen.
3021
3022         Added API unit tests for Ewk_Object.
3023
3024         * PlatformEfl.cmake:
3025         * UIProcess/API/efl/tests/test_ewk2_object.cpp: Added.
3026         (TestEwkObject1):
3027         (TestEwkObject1::create):
3028         (TestEwkObject1::~TestEwkObject1):
3029         (TestEwkObject2):
3030         (TestEwkObject2::create):
3031         (TEST_F):
3032
3033 2012-11-02  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
3034
3035         REGRESSION (r133075): plugins/plugin-javascript-access.html is failing
3036         https://bugs.webkit.org/show_bug.cgi?id=101045
3037
3038         Reviewed by Kenneth Rohde Christiansen.
3039
3040         Encode the plugin filename in ArgumentCoder<PluginInfo> so that
3041         plugin.filename returns the filename instead of name of the plugin.
3042
3043         * Shared/WebCoreArgumentCoders.cpp:
3044         (CoreIPC::::encode):
3045
3046 2012-11-01  Yael Aharon  <yael.aharon@intel.com>
3047
3048         [EFL][WK2][AC] Wrong translation of mouse events
3049         https://bugs.webkit.org/show_bug.cgi?id=100983
3050
3051         Reviewed by Kenneth Rohde Christiansen.
3052
3053         The transform that we build for mouse events is scaled by the scale factor.
3054         The url bar should not be scaled, so it should be scaled in the oposite
3055         direction to compensate for that.
3056
3057         * UIProcess/API/efl/ewk_view.cpp:
3058         (toWebContentTransform):
3059
3060 2012-11-02  Andras Becsi  <andras.becsi@digia.com>
3061
3062         [Qt][WK2] Add missing variable initialization in PageViewportController
3063
3064         Reviewed by Jocelyn Turcotte.
3065
3066         Updating the viewport state depends on uninitialized booleans
3067         which it should not.
3068
3069         * UIProcess/PageViewportController.cpp:
3070         (WebKit::PageViewportController::PageViewportController):
3071
3072 2012-11-02  Byungwoo Lee  <bw80.lee@samsung.com>
3073
3074         [EFL][WK2] Use MutexLocker instead of lock()/unlock().
3075         https://bugs.webkit.org/show_bug.cgi?id=101015
3076
3077         Reviewed by Kenneth Rohde Christiansen.
3078
3079         Instead of lock()/unlock(), use MutexLocker in WorkQueue::performWork()
3080         and WorkQueue::performTimerWork().
3081
3082         The locking scope will be more clear and simple with using MutexLocker.
3083
3084         * Platform/efl/WorkQueueEfl.cpp:
3085         (WorkQueue::performWork):
3086         (WorkQueue::insertTimerWorkItem):
3087         (WorkQueue::performTimerWork):
3088         (WorkQueue::dispatchAfterDelay):
3089
3090 2012-11-02  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3091
3092         [EFL][WK2] Common ref and unref functions for EFL WK2 objects
3093         https://bugs.webkit.org/show_bug.cgi?id=100751
3094
3095         Reviewed by Kenneth Rohde Christiansen.
3096
3097         Added common Ewk_Object class with ref/unref API also added several aux functions for safe
3098         Ewk_Object conversion. Used new approach on ewk_back_forward_list_item as example.
3099
3100         * PlatformEfl.cmake:
3101         * UIProcess/API/efl/EWebKit2.h:
3102         * UIProcess/API/efl/ewk_back_forward_list.cpp:
3103         (Ewk_Back_Forward_List::getFromCacheOrCreate):
3104         (Ewk_Back_Forward_List::createEinaList):
3105         * UIProcess/API/efl/ewk_back_forward_list_item.cpp:
3106         (EwkBackForwardListItem::EwkBackForwardListItem):
3107         (EwkBackForwardListItem::url):
3108         (EwkBackForwardListItem::title):
3109         (EwkBackForwardListItem::originalURL):
3110         (ewk_back_forward_list_item_url_get):
3111         (ewk_back_forward_list_item_title_get):
3112         (ewk_back_forward_list_item_original_url_get):
3113         * UIProcess/API/efl/ewk_back_forward_list_item.h:
3114         * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
3115         (EwkBackForwardListItem):
3116         (EwkBackForwardListItem::create):
3117         * UIProcess/API/efl/ewk_back_forward_list_private.h:
3118         * UIProcess/API/efl/ewk_object.cpp: Copied from Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item_private.h.
3119         (ewk_object_ref):
3120         (ewk_object_unref):
3121         * UIProcess/API/efl/ewk_object.h: Copied from Source/WebKit2/UIProcess/API/efl/ewk_back_forward_list_item_private.h.
3122         * UIProcess/API/efl/ewk_object_private.h: Added.
3123         (Ewk_Object):
3124         (Ewk_Object::~Ewk_Object):
3125         (ewk_object_is_of_type):
3126         (ewk_object_cast_check):
3127         (ewk_object_cast):
3128         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
3129         (freeEinaList):
3130
3131 2012-11-02  Nandor Huszka  <hnandor@inf.u-szeged.hu>
3132
3133         [Qt][Mac][Win] Unreviewed build fix after r133182
3134         https://bugs.webkit.org/show_bug.cgi?id=100995
3135
3136         Remove two methods' OVERRIDE and virtual modifiers, because they cannot be found in any base class.
3137         Also relocate their prototypes, because they mix with the overridden ones.
3138
3139         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3140         (CoordinatedGraphicsLayer):
3141
3142 2012-11-02  Jihye Kang  <jye.kang@samsung.com>
3143
3144         [EFL][WK2] Add ewk_security_origin and ewk_storage_manager APIs
3145         https://bugs.webkit.org/show_bug.cgi?id=92827
3146
3147         Reviewed by Gyuyoung Kim.
3148
3149         Add ewk_security_origin APIs to get security origin.
3150         These APIs will be used to get host, protocol and port of security
3151         origin.
3152         Add ewk_storage_manager to manage web storage and
3153         ewk_storage_manager_origins_get to get origins list of web storage.
3154         Add Unit tests for ewk_storage_manager and ewk_security_origin APIs.
3155
3156         * PlatformEfl.cmake:
3157         * UIProcess/API/efl/EWebKit2.h:
3158         * UIProcess/API/efl/ewk_context.cpp:
3159         (Ewk_Context::storageManager):
3160         (ewk_context_storage_manager_get):
3161         * UIProcess/API/efl/ewk_context.h:
3162         * UIProcess/API/efl/ewk_context_private.h:
3163         (Ewk_Context):
3164         * UIProcess/API/efl/ewk_security_origin.cpp: Added.
3165         (Ewk_Security_Origin::Ewk_Security_Origin):
3166         (Ewk_Security_Origin::host):
3167         (Ewk_Security_Origin::protocol):
3168         (Ewk_Security_Origin::port):
3169         (ewk_security_origin_ref):
3170         (ewk_security_origin_unref):
3171         (ewk_security_origin_host_get):
3172         (ewk_security_origin_protocol_get):
3173         (ewk_security_origin_port_get):
3174         * UIProcess/API/efl/ewk_security_origin.h: Added.
3175         * UIProcess/API/efl/ewk_security_origin_private.h: Added.
3176         (Ewk_Security_Origin):
3177         (Ewk_Security_Origin::create):
3178         * UIProcess/API/efl/ewk_storage_manager.cpp: Added.
3179         (Ewk_Storage_Manager::Ewk_Storage_Manager):
3180         (Ewk_Storage_Manager::getStorageOrigins):
3181         (Ewk_Storage_Manager::createOriginList):
3182         (_Ewk_Storage_Origins_Async_Get_Context):
3183         (_Ewk_Storage_Origins_Async_Get_Context::_Ewk_Storage_Origins_Async_Get_Context):
3184         (getStorageOriginsCallback):
3185         (ewk_storage_manager_origins_get):
3186         * UIProcess/API/efl/ewk_storage_manager.h: Added.
3187         * UIProcess/API/efl/ewk_storage_manager_private.h: Added.
3188         (Ewk_Storage_Manager):
3189         (Ewk_Storage_Manager::create):
3190         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
3191         (TEST_F):
3192         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp: Added.
3193         (getStorageOriginsCallback):
3194         (TEST_F):
3195
3196 2012-11-02  Huang Dongsung  <luxtella@company100.net>
3197
3198         Coordinated Graphics: Manage the lifecycle of shareable surfaces precisely.
3199         https://bugs.webkit.org/show_bug.cgi?id=100797
3200
3201         Reviewed by Noam Rosenthal.
3202
3203         Internal Review by Gwang Yoon Hwang and Jae Hyun Park.
3204
3205         This patch makes UpdateAtlas manage the lifecycle of shareable surfaces
3206         containing the updates in the way how CoordinatedTile manages the lifecycle of
3207         tiles. Currently, UI Process creates the shareable surface when receiving an
3208         UpdateTileForLayer message, but there is no exact point to remove the shareable
3209         surface. Now, we introduce new two messages to handle the lifecycle:
3210         CreateUpdateAtlas and RemoveUpdateAtlas.
3211
3212         This patch gives us two benefits.
3213         1. Reduce file and mmap operations. Web Process does not need to duplicate a
3214         file handle every tile update. UI Process does not need to create a
3215         ShareableSurface every UpdateTileForLayer message.
3216         2. Save memory. We can remove a ShareableSurface in UI Process when UpdateAtlas
3217         in Web Process is removed.
3218
3219         * Shared/SurfaceUpdateInfo.cpp:
3220         (WebKit::SurfaceUpdateInfo::encode):
3221         (WebKit::SurfaceUpdateInfo::decode):
3222         * Shared/SurfaceUpdateInfo.h:
3223         (SurfaceUpdateInfo):
3224         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
3225         (WebKit::LayerTreeCoordinatorProxy::updateTileForLayer):
3226         (WebKit::LayerTreeCoordinatorProxy::createUpdateAtlas):
3227         (WebKit):
3228         (WebKit::LayerTreeCoordinatorProxy::removeUpdateAtlas):
3229         (WebKit::LayerTreeCoordinatorProxy::purgeBackingStores):
3230         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
3231         (LayerTreeCoordinatorProxy):
3232         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
3233         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3234         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
3235         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3236         (CoordinatedGraphicsLayerClient):
3237         (CoordinatedGraphicsLayer):
3238         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.cpp:
3239         (WebKit::CoordinatedTile::updateBackBuffer):
3240         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
3241         (CoordinatedTileClient):
3242         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3243         (WebKit::LayerTreeCoordinator::createUpdateAtlas):
3244         (WebKit):
3245         (WebKit::LayerTreeCoordinator::removeUpdateAtlas):
3246         (WebKit::LayerTreeCoordinator::beginContentUpdate):
3247         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
3248         (LayerTreeCoordinator):
3249         * WebProcess/WebPage/UpdateAtlas.cpp:
3250         (WebKit::UpdateAtlas::UpdateAtlas):
3251         (WebKit):
3252         (WebKit::UpdateAtlas::~UpdateAtlas):
3253         (WebKit::UpdateAtlas::beginPaintingOnAvailableBuffer):
3254         * WebProcess/WebPage/UpdateAtlas.h:
3255         (UpdateAtlasClient):
3256         (WebKit):
3257         (UpdateAtlas):
3258
3259 2012-11-02  Jinwoo Song  <jinwoo7.song@samsung.com>
3260
3261         [EFL][WK2] Remove redundant internal function
3262         https://bugs.webkit.org/show_bug.cgi?id=100969
3263
3264         Reviewed by Gyuyoung Kim.
3265
3266         Remove ewk_view_text_found() in ewk_view.cpp which is not used anymore.
3267         Now, "text,found" signal is emitted by DECLARE_EWK_VIEW_CALLBACK(TextFound, "text,found", unsigned) 
3268         in EwkViewCallback.h
3269
3270         * UIProcess/API/efl/ewk_view.cpp:
3271
3272 2012-11-01  Anders Carlsson  <andersca@apple.com>
3273
3274         Reformat the annotationStyle initializer to appease update-webkit-localizable-strings.
3275
3276         Rubber-stamped by Dan Bernstein.
3277
3278         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3279
3280 2012-11-01  Alexandru Chiculita  <achicu@adobe.com>
3281
3282         [CSS Shaders] Move MeshBoxType out of CustomFilterOperation
3283         https://bugs.webkit.org/show_bug.cgi?id=100782
3284
3285         Reviewed by Dean Jackson.
3286
3287         Renamed the CustomFilterOperation::MeshBoxType to CustomFilterMeshBoxType.
3288
3289         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
3290         (CoreIPC::::decode):
3291
3292 2012-11-01  Beth Dakin  <bdakin@apple.com>
3293
3294         https://bugs.webkit.org/show_bug.cgi?id=100917
3295         There should be a way to dump the scrolling tree from the layout tests
3296         
3297         Reviewed by Simon Fraser.
3298
3299         * win/WebKit2.def:
3300         * win/WebKit2CFLite.def:
3301
3302 2012-11-01  Huang Dongsung  <luxtella@company100.net>
3303
3304         Coordinated Graphics: Clean up headers of Coordinated Graphics.
3305         https://bugs.webkit.org/show_bug.cgi?id=100907
3306
3307         Reviewed by Noam Rosenthal.
3308
3309         This patch performs:
3310         1. Remove unused methods.
3311         2. Change public methods to private if needed.
3312         3. Put virtual, OVERRIDE and explicit keywords if needed.
3313
3314         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
3315         (LayerTreeCoordinatorProxy):
3316         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
3317         (LayerTreeRenderer):
3318         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3319         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3320         (CoordinatedGraphicsLayer):
3321         (WebCore::CoordinatedGraphicsLayer::fixedToViewport):
3322         (WebCore::CoordinatedGraphicsLayer::setMaskTarget):
3323         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
3324         (LayerTreeCoordinator):
3325
3326 2012-11-01  Christophe Dumez  <christophe.dumez@intel.com>
3327
3328         [EFL][WK2] Add Ewk_Auth_Request API
3329         https://bugs.webkit.org/show_bug.cgi?id=100858
3330
3331         Reviewed by Kenneth Rohde Christiansen.
3332
3333         Add Ewk_Auth_Request API for the client to handle
3334         HTTP authentication.
3335
3336         * PlatformEfl.cmake:
3337         * UIProcess/API/efl/EWebKit2.h:
3338         * UIProcess/API/efl/EwkViewCallbacks.h:
3339         (EwkViewCallbacks):
3340         * UIProcess/API/efl/ewk_auth_request.cpp: Added.
3341         (Ewk_Auth_Request::Ewk_Auth_Request):
3342         (Ewk_Auth_Request::~Ewk_Auth_Request):
3343         (Ewk_Auth_Request::suggestedUsername):
3344         (Ewk_Auth_Request::realm):
3345         (Ewk_Auth_Request::host):
3346         (Ewk_Auth_Request::cancel):
3347         (Ewk_Auth_Request::authenticate):
3348         (Ewk_Auth_Request::isRetrying):
3349         (ewk_auth_request_ref):
3350         (ewk_auth_request_unref):
3351         (ewk_auth_request_suggested_username_get):
3352         (ewk_auth_request_cancel):
3353         (ewk_auth_request_authenticate):
3354         (ewk_auth_request_retrying_get):
3355         (ewk_auth_request_realm_get):
3356         (ewk_auth_request_host_get):
3357         * UIProcess/API/efl/ewk_auth_request.h: Added.
3358         * UIProcess/API/efl/ewk_auth_request_private.h: Added.
3359         (WebKit):
3360         (Ewk_Auth_Request):
3361         (Ewk_Auth_Request::create):
3362         * UIProcess/API/efl/ewk_view.h:
3363         * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp: Added corresponding API tests.
3364         (serverCallback):
3365         (onAuthenticationRequest):
3366         (TEST_F):
3367         (onResourceLoadResponse):
3368         * UIProcess/efl/PageLoadClientEfl.cpp:
3369         (WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
3370         (WebKit):
3371         (WebKit::PageLoadClientEfl::PageLoadClientEfl):
3372         * UIProcess/efl/PageLoadClientEfl.h:
3373         (PageLoadClientEfl):
3374
3375 2012-11-01  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
3376
3377         Fix the Mac breakage
3378         https://bugs.webkit.org/show_bug.cgi?id=100383
3379
3380         Reviewed by Kenneth Rohde Christiansen.
3381
3382         acceleratedCompositingForFixedPositionEnabled needs to be enabled
3383         for fixed layout to work efficiently but it's wrong to force it
3384         to false if fixed layout isn't enabled.
3385
3386         Separate hard requirements for fixed layout from rendering optimizations
3387         and guard the later with USE(COORDINATED_GRAPHICS).
3388         Also add an early return to make sure that ports always having a false
3389         useFixedLayout creation parameter won't get their settings adjusted.
3390
3391         * WebProcess/WebPage/WebPage.cpp:
3392         (WebKit::WebPage::setUseFixedLayout):
3393
3394 2012-10-24  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
3395
3396         WebIconDatabase: Properly clean up on destruction
3397         https://bugs.webkit.org/show_bug.cgi?id=100237
3398
3399         Reviewed by Brady Eidson.
3400
3401         * UIProcess/WebIconDatabase.cpp:
3402         (WebKit::WebIconDatabase::invalidate):
3403         Make sure that IconDatabaseBase::iconDatabase won't return a dangling pointer.
3404
3405 2012-11-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3406
3407         [EFL] Fix event mapping for WebKit2 with coordinated graphics
3408         https://bugs.webkit.org/show_bug.cgi?id=100956
3409
3410         Reviewed by Alexis Menard.
3411
3412         Apply scale after translation.
3413
3414         * UIProcess/API/efl/ewk_view.cpp:
3415         (toWebContentTransform):
3416
3417 2012-11-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3418
3419         [EFL] Correct our use of the coordinated graphics
3420         https://bugs.webkit.org/show_bug.cgi?id=100947
3421
3422         Reviewed by Alexis Menard.
3423
3424         Replace the display(...) call with a regular update() on the view.
3425         In the coordinated graphics case this updates our view using
3426         paintToCurrentGLContext with our viewmodel matrix and clips it to
3427         the viewport. This avoid the need to manually joining update regions.
3428
3429         Unneeded update calls have also been removed and the resizing
3430         logic has been improved.
3431
3432         * UIProcess/API/efl/EwkViewImpl.cpp:
3433         (EwkViewImpl::displayTimerFired):
3434         (EwkViewImpl::update):
3435         * UIProcess/API/efl/EwkViewImpl.h:
3436         (WebCore):
3437         (EwkViewImpl):
3438         (EwkViewImpl::clearEvasGLSurface):
3439         * UIProcess/API/efl/ewk_view.cpp:
3440         (_ewk_view_smart_calculate):
3441         * UIProcess/efl/PageClientImpl.cpp:
3442         (WebKit::PageClientImpl::setViewNeedsDisplay):
3443         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
3444         (WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
3445         (WebKit::PageViewportControllerClientEfl::didChangeContentsSize):
3446         (WebKit::PageViewportControllerClientEfl::didChangeVisibleContents):
3447         * UIProcess/efl/PageViewportControllerClientEfl.h:
3448         (PageViewportControllerClientEfl):
3449
3450 2012-11-01  Jocelyn Turcotte  <jocelyn.turcotte@digia.com>
3451
3452         [Qt] Double clicks/taps aren't passed down to the page
3453         https://bugs.webkit.org/show_bug.cgi?id=100949
3454
3455         Reviewed by Kenneth Rohde Christiansen.
3456
3457         Since we are passing double click events as press events and that
3458         they are preceeded by a real press event, double clicks are passed
3459         down to the page as triple clicks.
3460
3461         Ignore double click events and let WebCore::EventHandler handle it
3462         through press and release events.
3463
3464         * Shared/qt/WebEventFactoryQt.cpp:
3465         (WebKit::webEventTypeForEvent):
3466         * UIProcess/API/qt/qquickwebview.cpp:
3467         (QQuickWebViewPrivate::handleMouseEvent):
3468         * UIProcess/qt/QtWebPageEventHandler.cpp:
3469         (WebKit::QtWebPageEventHandler::handleInputEvent):
3470
3471 2012-11-01  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
3472
3473         [AC][EFL][WK2] Rename PageViewportControllerClientEfl::m_pageViewportController to m_controller
3474         https://bugs.webkit.org/show_bug.cgi?id=100933
3475
3476         Reviewed by Kenneth Rohde Christiansen.
3477
3478         PageViewportControllerClientEfl::m_pageViewportController has to be renamed to m_controller
3479         to keep consistency with other ports. Assertinons were also added.
3480
3481         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
3482         (WebKit::PageViewportControllerClientEfl::PageViewportControllerClientEfl):
3483         (WebKit::PageViewportControllerClientEfl::updateViewportSize):
3484         (WebKit::PageViewportControllerClientEfl::setVisibleContentsRect):
3485         (WebKit::PageViewportControllerClientEfl::didResumeContent):
3486         (WebKit::PageViewportControllerClientEfl::setController):
3487         * UIProcess/efl/PageViewportControllerClientEfl.h:
3488         (PageViewportControllerClientEfl):
3489
3490 2012-11-01  Sheriff Bot  <webkit.review.bot@gmail.com>
3491
3492         Unreviewed, rolling out r133126.
3493         http://trac.webkit.org/changeset/133126
3494         https://bugs.webkit.org/show_bug.cgi?id=100925
3495
3496         This made EFL API test break on EFL buildbots (Requested by
3497         gyuyoung on #webkit).
3498
3499         * PlatformEfl.cmake:
3500         * UIProcess/API/efl/EWebKit2.h:
3501         * UIProcess/API/efl/ewk_context.cpp:
3502         (Ewk_Context::Ewk_Context):
3503         * UIProcess/API/efl/ewk_context.h:
3504         * UIProcess/API/efl/ewk_context_private.h:
3505         (Ewk_Context):
3506         * UIProcess/API/efl/ewk_security_origin.cpp: Removed.
3507         * UIProcess/API/efl/ewk_security_origin.h: Removed.
3508         * UIProcess/API/efl/ewk_security_origin_private.h: Removed.
3509         * UIProcess/API/efl/ewk_storage_manager.cpp: Removed.
3510         * UIProcess/API/efl/ewk_storage_manager.h: Removed.
3511         * UIProcess/API/efl/ewk_storage_manager_private.h: Removed.
3512         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
3513         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp: Removed.
3514
3515 2012-11-01  Yuni Jeong  <yhnet.jung@samsung.com>
3516
3517         [WK2] Add APIs to get/set encoding detector
3518         https://bugs.webkit.org/show_bug.cgi?id=100066
3519
3520         Reviewed by Gyuyoung Kim.
3521
3522         Add setting APIs for encoding dector and a unit test.
3523
3524         * Shared/WebPreferencesStore.h:
3525         (WebKit):
3526         * UIProcess/API/C/WKPreferences.cpp:
3527         (WKPreferencesSetUsesEncodingDetector):
3528         (WKPreferencesGetUsesEncodingDetector):
3529         * UIProcess/API/C/WKPreferences.h:
3530         * UIProcess/API/efl/ewk_settings.cpp:
3531         (ewk_setting_uses_encoding_detector_set):
3532         (ewk_setting_uses_encoding_detector_get):
3533         * UIProcess/API/efl/ewk_settings.h:
3534         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
3535         (TEST_F):
3536
3537 2012-10-31  Jihye Kang  <jye.kang@samsung.com>
3538
3539         [EFL][WK2] Add ewk_security_origin and ewk_storage_manager APIs
3540         https://bugs.webkit.org/show_bug.cgi?id=92827
3541
3542         Reviewed by Gyuyoung Kim.
3543
3544         Add ewk_security_origin APIs to get security origin.
3545         These APIs will be used to get host, protocol and port of security
3546         origin.
3547         Add ewk_storage_manager to manage web storage and
3548         ewk_storage_manager_origins_get to get origins list of web storage.
3549         Add Unit tests for ewk_storage_manager and ewk_security_origin APIs.
3550
3551         * PlatformEfl.cmake:
3552         * UIProcess/API/efl/EWebKit2.h:
3553         * UIProcess/API/efl/ewk_context.cpp:
3554         (Ewk_Context::storageManager):
3555         (ewk_context_storage_manager_get):
3556         * UIProcess/API/efl/ewk_context.h:
3557         * UIProcess/API/efl/ewk_context_private.h:
3558         (Ewk_Context):
3559         * UIProcess/API/efl/ewk_security_origin.cpp: Added.
3560         (Ewk_Security_Origin::Ewk_Security_Origin):
3561         (Ewk_Security_Origin::host):
3562         (Ewk_Security_Origin::protocol):
3563         (Ewk_Security_Origin::port):
3564         (ewk_security_origin_ref):
3565         (ewk_security_origin_unref):
3566         (ewk_security_origin_host_get):
3567         (ewk_security_origin_protocol_get):
3568         (ewk_security_origin_port_get):
3569         * UIProcess/API/efl/ewk_security_origin.h: Added.
3570         * UIProcess/API/efl/ewk_security_origin_private.h: Added.
3571         (Ewk_Security_Origin):
3572         (Ewk_Security_Origin::create):
3573         * UIProcess/API/efl/ewk_storage_manager.cpp: Added.
3574         (Ewk_Storage_Manager::Ewk_Storage_Manager):
3575         (Ewk_Storage_Manager::getStorageOrigins):
3576         (Ewk_Storage_Manager::createOriginList):
3577         (_Ewk_Storage_Origins_Async_Get_Context):
3578         (_Ewk_Storage_Origins_Async_Get_Context::_Ewk_Storage_Origins_Async_Get_Context):
3579         (getStorageOriginsCallback):
3580         (ewk_storage_manager_origins_get):
3581         * UIProcess/API/efl/ewk_storage_manager.h: Added.
3582         * UIProcess/API/efl/ewk_storage_manager_private.h: Added.
3583         (Ewk_Storage_Manager):
3584         (Ewk_Storage_Manager::create):
3585         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
3586         (TEST_F):
3587         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp: Added.
3588         (getStorageOriginsCallback):
3589         (TEST_F):
3590
3591 2012-10-31  Alexandru Chiculita  <achicu@adobe.com>
3592
3593         CustomFilterOperation parameters list is not decoded correctly in CoordinatedGraphicsArgumentCoders
3594         https://bugs.webkit.org/show_bug.cgi?id=100889
3595
3596         Reviewed by Noam Rosenthal.
3597
3598         The custom filters parameters list was initialized with a specific size and then
3599         the decoder was expected to fill it with all the decoded parameters. The decoder was
3600         using the append command which added the paramters at the end, so it doubled the size
3601         of the vector leaving empty spaces at the beginning of the list. Fixed it by writting
3602         directly into the allocated space.
3603
3604         No new tests, the code path is not activated yet.
3605
3606         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
3607         (CoreIPC::::decode):
3608
3609 2012-10-31  Sam Weinig  <sam@webkit.org>
3610
3611         Convert the rest of the encoders to take the encoder as a reference
3612         https://bugs.webkit.org/show_bug.cgi?id=100821
3613
3614         Reviewed by Anders Carlsson.
3615
3616         * Platform/CoreIPC/ArgumentCoders.h:
3617         (CoreIPC::SimpleArgumentCoder::encode):
3618         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
3619         (CoreIPC::::encode):
3620         (CoreIPC::encodeTimingFunction):
3621         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
3622         * Shared/PrintInfo.cpp:
3623         (WebKit::PrintInfo::encode):
3624         * Shared/SessionState.cpp:
3625         * Shared/UserMessageCoders.h:
3626         (WebKit::UserMessageDecoder::baseDecode):
3627         * Shared/WebCoreArgumentCoders.cpp:
3628         (CoreIPC::::encode):
3629         * Shared/WebCoreArgumentCoders.h:
3630         * Shared/WebGeolocationPosition.cpp:
3631         (WebKit::WebGeolocationPosition::Data::encode):
3632         * Shared/WebLayerTreeInfo.cpp:
3633         (WebKit::WebLayerInfo::encode):
3634         * Shared/gtk/ArgumentCodersGtk.cpp:
3635         (CoreIPC::encodeImage):
3636         (CoreIPC::encodeDataObject):
3637         (CoreIPC::::encode):
3638         (CoreIPC::encodeGKeyFile):
3639         (CoreIPC::encode):
3640         * Shared/gtk/ArgumentCodersGtk.h:
3641         * Shared/mac/WebCoreArgumentCodersMac.mm:
3642         (CoreIPC::::encodePlatformData):
3643         (CoreIPC::::encode):
3644         * Shared/qt/ArgumentCodersQt.cpp:
3645         (CoreIPC::::encode):
3646         * Shared/qt/ArgumentCodersQt.h:
3647         (CoreIPC):
3648         * Shared/qt/WebCoreArgumentCodersQt.cpp:
3649         (CoreIPC::::encodePlatformData):
3650         * Shared/soup/WebCoreArgumentCodersSoup.cpp:
3651         (CoreIPC::::encodePlatformData):
3652         * Shared/win/WebCoreArgumentCodersWin.cpp:
3653         (CoreIPC::::encodePlatformData):
3654         * WebProcess/WebPage/DecoderAdapter.cpp:
3655         (WebKit::DecoderAdapter::decodeBytes):
3656         * WebProcess/WebPage/EncoderAdapter.cpp:
3657         (WebKit::EncoderAdapter::encodeBytes):
3658
3659 2012-10-31  Jesse van den Kieboom  <jessevdk@gnome.org>
3660
3661         Enable webkit2 introspection
3662         https://bugs.webkit.org/show_bug.cgi?id=94313
3663
3664         Reviewed by Martin Robinson.
3665
3666         This patch enables generation of introspection information for webkit2
3667         in the same was as it is done for webkit. The resulting gir and
3668         typelib file are named WebKit2-3.0.{gir,typelib}.
3669
3670         * GNUmakefile.am:
3671         * UIProcess/API/gtk/WebKitBackForwardList.cpp:
3672
3673 2012-10-31  Christophe Dumez  <christophe.dumez@intel.com>
3674
3675         [EFL][WK2] Add Ewk_File_Chooser_Request API
3676         https://bugs.webkit.org/show_bug.cgi?id=100818
3677
3678         Reviewed by Kenneth Rohde Christiansen.
3679
3680         Add Ewk_File_Chooser_Request API so that the client
3681         can handle file chooser requests (e.g. Show a file
3682         picker dialog) when the user clicks on an input
3683         element of type "file".
3684
3685         * PlatformEfl.cmake:
3686         * UIProcess/API/efl/EWebKit2.h:
3687         * UIProcess/API/efl/EwkViewCallbacks.h:
3688         (EwkViewCallbacks):
3689         * UIProcess/API/efl/ewk_file_chooser_request.cpp: Added.
3690         (Ewk_File_Chooser_Request::Ewk_File_Chooser_Request):
3691         (Ewk_File_Chooser_Request::~Ewk_File_Chooser_Request):
3692         (Ewk_File_Chooser_Request::allowMultipleFiles):
3693         (Ewk_File_Chooser_Request::acceptedMIMETypes):
3694         (Ewk_File_Chooser_Request::cancel):
3695         (Ewk_File_Chooser_Request::chooseFiles):
3696         (ewk_file_chooser_request_ref):
3697         (ewk_file_chooser_request_unref):
3698         (ewk_file_chooser_request_allow_multiple_files_get):
3699         (ewk_file_chooser_request_accepted_mimetypes_get):
3700         (ewk_file_chooser_request_cancel):
3701         (ewk_file_chooser_request_files_choose):
3702         (ewk_file_chooser_request_file_choose):
3703         * UIProcess/API/efl/ewk_file_chooser_request.h: Added.
3704         * UIProcess/API/efl/ewk_file_chooser_request_private.h: Added.
3705         (WebKit):
3706         (Ewk_File_Chooser_Request):
3707         (Ewk_File_Chooser_Request::create):
3708         (Ewk_File_Chooser_Request::wasHandled):
3709         * UIProcess/API/efl/ewk_view.h:
3710         * UIProcess/API/efl/tests/resources/file_chooser.html: Added.
3711         * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp: Added corresponding
3712         unit tests.
3713         (onFileChooserRequest):
3714         (compareStrings):
3715         (freeStringList):
3716         (TEST_F):
3717         * UIProcess/efl/PageUIClientEfl.cpp:
3718         (WebKit::PageUIClientEfl::runOpenPanel):
3719         (WebKit):
3720         (WebKit::PageUIClientEfl::PageUIClientEfl):
3721         * UIProcess/efl/PageUIClientEfl.h:
3722         (PageUIClientEfl):
3723
3724 2012-10-31  Noam Rosenthal  <noam.rosenthal@nokia.com>
3725
3726         [Texmap] Enable filter animations in GraphicsLayerAnimation
3727         https://bugs.webkit.org/show_bug.cgi?id=100318
3728
3729         Reviewed by Kenneth Rohde Christiansen.
3730
3731         Encode/decode KeyframeValues of type FilterOperations.
3732
3733         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
3734         (CoreIPC::::encode):
3735         (CoreIPC::::decode):
3736
3737 2012-10-31  Christophe Dumez  <christophe.dumez@intel.com>
3738
3739         [EFL][WK2][AC] Avoid storing dirty rects in a Vector inside EwkViewImpl
3740         https://bugs.webkit.org/show_bug.cgi?id=100736
3741
3742         Reviewed by Kenneth Rohde Christiansen.
3743
3744         No longer store dirty rectangles in a temporary Vector and construct
3745         a WebCore::Region directly from them instead. This avoid having to
3746         iterate over the Vector in EwkViewImpl::displayTimerFired() to construct
3747         a Region object, which should be more efficient.
3748
3749         * UIProcess/API/efl/EwkViewImpl.cpp:
3750         (EwkViewImpl::displayTimerFired):
3751         (EwkViewImpl::redrawRegion):
3752         * UIProcess/API/efl/EwkViewImpl.h:
3753         (WebCore):
3754         (EwkViewImpl):
3755
3756 2012-10-30  Anders Carlsson  <andersca@apple.com>
3757
3758         Connection::Client::didReceiveInvalidMessage should take the full message name
3759         https://bugs.webkit.org/show_bug.cgi?id=100788
3760
3761         Reviewed by Sam Weinig.
3762
3763         Change Connection::Client::didReceiveInvalidMessage to take the message receiver name and message name as parameters
3764         and make WebProcessProxy::didReceiveInvalidMessage print out the full message name.
3765
3766         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
3767         (WebKit::NetworkConnectionToWebProcess::didReceiveInvalidMessage):
3768         * NetworkProcess/NetworkConnectionToWebProcess.h:
3769         (NetworkConnectionToWebProcess):
3770         * NetworkProcess/NetworkProcess.cpp:
3771         (WebKit::NetworkProcess::didReceiveInvalidMessage):
3772         * NetworkProcess/NetworkProcess.h:
3773         (NetworkProcess):
3774         * Platform/CoreIPC/Connection.cpp:
3775         (CoreIPC::Connection::dispatchMessage):
3776         * Platform/CoreIPC/Connection.h:
3777         (Client):
3778         * Platform/CoreIPC/StringReference.cpp:
3779         (CoreIPC::StringReference::toString):
3780         (CoreIPC):
3781         * Platform/CoreIPC/StringReference.h:
3782         (StringReference):
3783         * PluginProcess/PluginProcess.cpp:
3784         (WebKit::PluginProcess::didReceiveInvalidMessage):
3785         * PluginProcess/PluginProcess.h:
3786         (PluginProcess):
3787         * PluginProcess/WebProcessConnection.cpp:
3788         (WebKit::WebProcessConnection::didReceiveInvalidMessage):
3789         * PluginProcess/WebProcessConnection.h:
3790         (WebProcessConnection):
3791         * SharedWorkerProcess/SharedWorkerProcess.cpp:
3792         (WebKit::SharedWorkerProcess::didReceiveInvalidMessage):
3793         * SharedWorkerProcess/SharedWorkerProcess.h:
3794         (SharedWorkerProcess):
3795         * UIProcess/Network/NetworkProcessProxy.cpp:
3796         (WebKit::NetworkProcessProxy::didReceiveInvalidMessage):
3797         * UIProcess/Network/NetworkProcessProxy.h:
3798         (NetworkProcessProxy):
3799         * UIProcess/Plugins/PluginProcessProxy.cpp:
3800         (WebKit::PluginProcessProxy::didReceiveInvalidMessage):
3801         * UIProcess/Plugins/PluginProcessProxy.h:
3802         (PluginProcessProxy):
3803         * UIProcess/SharedWorkers/SharedWorkerProcessProxy.cpp:
3804         (WebKit::SharedWorkerProcessProxy::didReceiveInvalidMessage):
3805         * UIProcess/SharedWorkers/SharedWorkerProcessProxy.h:
3806         (SharedWorkerProcessProxy):
3807         * UIProcess/WebConnectionToWebProcess.cpp:
3808         (WebKit::WebConnectionToWebProcess::didReceiveInvalidMessage):
3809         * UIProcess/WebConnectionToWebProcess.h:
3810         (WebConnectionToWebProcess):
3811         * UIProcess/WebProcessProxy.cpp:
3812         (WebKit::WebProcessProxy::didReceiveInvalidMessage):
3813         * UIProcess/WebProcessProxy.h:
3814         (WebProcessProxy):
3815         * WebProcess/Network/NetworkProcessConnection.cpp:
3816         (WebKit::NetworkProcessConnection::didReceiveInvalidMessage):
3817         * WebProcess/Network/NetworkProcessConnection.h:
3818         (NetworkProcessConnection):
3819         * WebProcess/Plugins/PluginProcessConnection.cpp:
3820         (WebKit::PluginProcessConnection::didReceiveInvalidMessage):
3821         * WebProcess/Plugins/PluginProcessConnection.h:
3822         (PluginProcessConnection):
3823         * WebProcess/WebConnectionToUIProcess.cpp:
3824         (WebKit::WebConnectionToUIProcess::didReceiveInvalidMessage):
3825         * WebProcess/WebConnectionToUIProcess.h:
3826         (WebConnectionToUIProcess):
3827         * WebProcess/WebProcess.cpp:
3828         (WebKit::WebProcess::didReceiveInvalidMessage):
3829         * WebProcess/WebProcess.h:
3830         (WebProcess):
3831
3832 2012-10-31  Christophe Dumez  <christophe.dumez@intel.com>
3833
3834         [EFL][WK2][AC] Use smart pointers for Evas_GL types
3835         https://bugs.webkit.org/show_bug.cgi?id=100745
3836
3837         Reviewed by Kenneth Rohde Christiansen.
3838
3839         Replace raw pointers to Evas_GL, Evas_GL_Context and
3840         Evas_GL_Surface by smart pointers in EwkViewImpl.
3841
3842         C++ wrappers were added for Evas_GL_Context and
3843         Evas_GL_Surface in order to use OwnPtr. This is needed
3844         because their destroy functions need the Evas_GL.
3845
3846         * PlatformEfl.cmake:
3847         * UIProcess/API/efl/EvasGLContext.cpp: Added.
3848         (WebKit):
3849         (WebKit::EvasGLContext::EvasGLContext):
3850         (WebKit::EvasGLContext::~EvasGLContext):
3851         * UIProcess/API/efl/EvasGLContext.h: Added.
3852         (WebKit):
3853         (EvasGLContext):
3854         (WebKit::EvasGLContext::create):
3855         (WebKit::EvasGLContext::context):
3856         * UIProcess/API/efl/EvasGLSurface.cpp: Added.
3857         (WebKit):
3858         (WebKit::EvasGLSurface::EvasGLSurface):
3859         (WebKit::EvasGLSurface::~EvasGLSurface):
3860         * UIProcess/API/efl/EvasGLSurface.h: Added.
3861         (WebKit):
3862         (EvasGLSurface):
3863         (WebKit::EvasGLSurface::create):
3864         (WebKit::EvasGLSurface::surface):
3865         * UIProcess/API/efl/EwkViewImpl.cpp:
3866         (EwkViewImpl::EwkViewImpl):
3867         (EwkViewImpl::displayTimerFired):
3868         (EwkViewImpl::createGLSurface):
3869         (EwkViewImpl::enterAcceleratedCompositingMode):
3870         (EwkViewImpl::exitAcceleratedCompositingMode):
3871         * UIProcess/API/efl/EwkViewImpl.h:
3872         (EwkViewImpl::evasGL):
3873         (EwkViewImpl::evasGLContext):
3874         (EwkViewImpl::evasGLSurface):
3875         (EwkViewImpl::resetEvasGLSurface):
3876         (EwkViewImpl):
3877         * UIProcess/API/efl/ewk_view.cpp:
3878         (_ewk_view_smart_calculate):
3879
3880 2012-10-31  Balazs Kelemen  <kbalazs@webkit.org>
3881
3882         [Qt][WK2] Fix "Unable to find a renderable master window QQuickView" warnings in tst_QQuickWebView
3883         https://bugs.webkit.org/show_bug.cgi?id=100247
3884
3885         Reviewed by Jocelyn Turcotte.
3886
3887         Make sure we have a visible window for tests that want to render.
3888
3889         * UIProcess/API/qt/tests/qquickwebview/tst_qquickwebview.cpp:
3890         (tst_QQuickWebView::showWebView):
3891         (tst_QQuickWebView::removeFromCanvas):
3892         (tst_QQuickWebView::multipleWebViewWindows):
3893         (tst_QQuickWebView::multipleWebViews):
3894         (tst_QQuickWebView::basicRenderingSanity):
3895         (tst_QQuickWebView::transparentWebViews):
3896         Removed some unnecessary resize now that the window have a default size.
3897         * UIProcess/API/qt/tests/testwindow.h:
3898         (TestWindow): Resize the window to a default size at construction.
3899
3900 2012-10-31  Thiago Marcos P. Santos  <thiago.santos@intel.com>
3901
3902         [EFL] WebContext::platformDefaultIconDatabasePath() should return a path to a file
3903         https://bugs.webkit.org/show_bug.cgi?id=100679
3904
3905         Reviewed by Kenneth Rohde Christiansen.
3906
3907         This patch aligns the EFL implementation with other ports. Before
3908         that, we had an inconsistence: the return value of the getter could
3909         not be used on the setter (the setter expects a full path, not a
3910         directory).
3911
3912         * UIProcess/API/efl/ewk_context.cpp:
3913         (Ewk_Context::faviconDatabase):
3914         * UIProcess/efl/WebContextEfl.cpp:
3915         (WebKit::WebContext::platformDefaultIconDatabasePath):
3916
3917 2012-10-31  Ian Vollick  <vollick@chromium.org>
3918
3919         Add support for text-based repaint testing
3920         https://bugs.webkit.org/show_bug.cgi?id=100584
3921
3922         Reviewed by Simon Fraser.
3923
3924         Allows tracked repaint rects to be dumped as text.
3925
3926         * mac/WebKit2.order:
3927         * win/WebKit2.def:
3928         * win/WebKit2CFLite.def:
3929           Exports for:
3930             FrameView::setTracksRepaints(bool)
3931             Frame::trackedRepaintRectsAsText() const
3932
3933 2012-10-31  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
3934
3935         [EFL] Skip EWK2UnitTestBase.ewk_context_vibration_client_callbacks_set API test
3936         https://bugs.webkit.org/show_bug.cgi?id=100839
3937
3938         Unreviewed, Skip EWK2UnitTestBase.ewk_context_vibration_client_callbacks_set
3939         API test since it is failing on the bots.
3940
3941         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
3942         (TEST_F):
3943
3944 2012-10-31  KyungTae Kim  <ktf.kim@samsung.com>
3945
3946         [WK2][EFL] Assert check need to be changed in InputMethodContextEfl::InputMethodContextEfl
3947         https://bugs.webkit.org/show_bug.cgi?id=100840
3948
3949         Reviewed by Kenneth Rohde Christiansen.
3950
3951         Because 'context' is already set to 'm_context', assert check need to be done for m_context.
3952
3953         * UIProcess/efl/InputMethodContextEfl.cpp:
3954         (WebKit::InputMethodContextEfl::InputMethodContextEfl):
3955
3956 2012-10-31  Kenneth Rohde Christiansen  <kenneth@webkit.org>
3957
3958         [WK2/EFL] Make sure all our events are transformed correctly
3959         https://bugs.webkit.org/show_bug.cgi?id=100836
3960
3961         Reviewed by Alexis Menard.
3962
3963         When moving to using the tiled backing store, we need to
3964         transform our events before sending them to the web process.
3965
3966         We needed to do that before as well, as the webkit view
3967         doesn't have to be positioned at (0,0), but it was done in
3968         a hacking way in the WebEvent creating.
3969
3970         Now we generate two transforms, one for transforming points
3971         to the web content, and one for transforming them into the
3972         device screen coordinate system.
3973
3974         This fixes the global position which was wrong before.
3975
3976         * Shared/NativeWebMouseEvent.h:
3977         (NativeWebMouseEvent):
3978         * Shared/NativeWebTouchEvent.h:
3979         (NativeWebTouchEvent):
3980         * Shared/NativeWebWheelEvent.h:
3981         (NativeWebWheelEvent):
3982         * Shared/efl/NativeWebMouseEventEfl.cpp:
3983         (WebKit::NativeWebMouseEvent::NativeWebMouseEvent):
3984         * Shared/efl/NativeWebTouchEventEfl.cpp:
3985         (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
3986         * Shared/efl/NativeWebWheelEventEfl.cpp:
3987         (WebKit::NativeWebWheelEvent::NativeWebWheelEvent):
3988         * Shared/efl/WebEventFactory.cpp:
3989         (WebKit::WebEventFactory::createWebMouseEvent):
3990         (WebKit::WebEventFactory::createWebWheelEvent):
3991         (WebKit::WebEventFactory::createWebTouchEvent):
3992         * Shared/efl/WebEventFactory.h:
3993         (WebEventFactory):
3994         * UIProcess/API/efl/ewk_view.cpp:
3995         (toDeviceScreenTransform):
3996         (toWebContentTransform):
3997         (_ewk_view_smart_mouse_wheel):
3998         (_ewk_view_smart_mouse_down):
3999         (_ewk_view_smart_mouse_up):
4000         (_ewk_view_smart_mouse_move):
4001         (ewk_view_feed_touch_event):
4002
4003 2012-10-31  Byungwoo Lee  <bw80.lee@samsung.com>
4004
4005         [WK2] Change the scope of locking in CoreIPC::Connection class.
4006         https://bugs.webkit.org/show_bug.cgi?id=98998
4007
4008         Reviewed by Laszlo Gombos.
4009
4010         Release the m_incomingMessagesLock and m_outgoingMessagesLock mutexes
4011         immediately after the protected resource is no longer modified to
4012         prevent a possible source of a deadlock.
4013
4014         The change allows the EFL port to prevent an actual dead-lock
4015         situation with some upcoming changes.
4016
4017         * Platform/CoreIPC/Connection.cpp:
4018         (CoreIPC::Connection::sendMessage):
4019         (CoreIPC::Connection::enqueueIncomingMessage):
4020
4021 2012-10-31  Tim Horton  <timothy_horton@apple.com>
4022
4023         Unreviewed, fix header sorting in r132992.
4024
4025         * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
4026         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
4027
4028 2012-10-31  Tim Horton  <timothy_horton@apple.com>
4029
4030         Unreviewed, fix 32bit build breakage.
4031
4032         * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm:
4033         (WebKit::PDFPluginAnnotation::updateGeometry):
4034
4035 2012-10-31  Tim Horton  <timothy_horton@apple.com>
4036
4037         Full-page PDFPlugin should support inline form editing
4038         https://bugs.webkit.org/show_bug.cgi?id=100155
4039
4040         Reviewed by Dan Bernstein.
4041
4042         Add form controls corresponding to Text and Choice PDF annotations,
4043         allowing for single- and multi-line text input, and <select>-like input.
4044
4045         Currently, forms are only implemented for full-page PDF documents.
4046
4047         * Shared/mac/PDFKitImports.h:
4048         (WebKit): Add pdfAnnotationTextWidgetClass and pdfAnnotationChoiceWidgetClass.
4049         * Shared/mac/PDFKitImports.mm:
4050         (WebKit::pdfAnnotationTextWidgetClass): Add pdfAnnotationTextWidgetClass.
4051         (WebKit::pdfAnnotationChoiceWidgetClass): Add pdfAnnotationChoiceWidgetClass.
4052         * WebKit2.xcodeproj/project.pbxproj: Add PDFLayerControllerDetails, PDFPluginTextAnnotation, PDFPluginChoiceAnnotation,
4053         and PDFPluginAnnotation.
4054         * WebProcess/Plugins/PDF/PDFLayerControllerDetails.h: Added. Extract PDFLayerController details category into a header.
4055         * WebProcess/Plugins/PDF/PDFPlugin.h:
4056         (PDFPlugin): Add m_activeAnnotation, to keep track of the active PDFPluginAnnotation, and m_annotationContainer,
4057         the <div> that form controls are inserted into.
4058         * WebProcess/Plugins/PDF/PDFPlugin.mm:
4059         (-[WKPDFLayerControllerDelegate pdfLayerController:didChangeActiveAnnotation:]): Forward active annotation changes to PDFPlugin.
4060         (WebKit::PDFPlugin::PDFPlugin): Add a <div> to the PluginDocument <body>, which will contain <input>, <select>, and <textarea> elements
4061         corresponding to the active annotation. This div is made to fit to the body, and is "overflow: hidden" so that form elements scrolled
4062         out of the viewport do not cause the Document to expand to be larger than the Plugin.
4063         (WebKit::PDFPlugin::pdfDocumentDidLoad): Update PDFPlugin's notion of the scroll position immediately after the document loads, in case
4064         the scroll position is constrained by PDFKit.
4065         (WebKit::PDFPlugin::destroy): Tear down any forms for the active annotation.
4066         (WebKit::PDFPlugin::geometryDidChange): Notify the current annotation that it should update its geometry when the Plugin's geometry changes.
4067         (WebKit::PDFPlugin::setScrollOffset): Notify the current annotation that it should update its geometry when we scroll.
4068         (WebKit::PDFPlugin::setActiveAnnotation): Commit changes to the current annotation, if there is one, then make a new PDFPluginAnnotation
4069         corresponding to the newly active annotation, and attach it to our document.
4070         * WebProcess/Plugins/PDF/PDFPluginAnnotation.h: Added.
4071         (WebKit::PDFPluginAnnotation::element): Return the Element corresponding to this object.
4072         (WebKit::PDFPluginAnnotation::annotation): Return the PDFAnnotation corresponding to this object.
4073         (WebKit::PDFPluginAnnotation::plugin): Return the Plugin that created this object.
4074         (WebKit::PDFPluginAnnotation::commit): Commit changes from the form to the PDFAnnotation. This is implemented in subclasses.
4075         (WebKit::PDFPluginAnnotation::attach): Attach a PDFPluginAnnotation to its parent Element.
4076         (WebKit::PDFPluginAnnotation::parent): Return the parent Element that we're attach()ed to.
4077         (WebKit::PDFPluginAnnotation::pdfLayerController): Return the pdfLayerController that the PDFAnnotation comes from.
4078         (PDFPluginAnnotationEventListener): Add an event listener to respond to "change" and "blur" events from m_element.
4079         * WebProcess/Plugins/PDF/PDFPluginAnnotation.mm: Added.
4080         (WebKit::PDFPluginAnnotation::create): Create the appropriate PDFPluginAnnotation subclass (PDFPluginTextAnnotation or
4081         PDFPluginChoiceAnnotation based on the class of the PDFAnnotation).
4082         (WebKit::PDFPluginAnnotation::attach): Lazily create the HTML form element corresponding to this annotation. Add it to its parent
4083         element. Add event listeners for "change" and "blur".
4084         (WebKit::PDFPluginAnnotation::~PDFPluginAnnotation): Tear down the annotation, by removing event listeners and removing
4085         the form element from its parent element.
4086         (WebKit::PDFPluginAnnotation::updateGeometry): Update the size and position of the form element, given the current PDF scale and scrolling position.
4087         (WebKit::PDFPluginAnnotation::PDFPlug