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