d4fff195f8ca94e4bff0d565823af1f2bb8c9639
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2012-11-27  Pratik Solanki  <psolanki@apple.com>
2
3         objc/objc-runtime.h does not exist on all PLATFORM(MAC)
4         https://bugs.webkit.org/show_bug.cgi?id=101780
5
6         Reviewed by Brent Fulgham.
7
8         Clean up header includes so we don't include objc/objc-runtime.h.
9
10         * PluginProcess/mac/PluginProcessShim.mm:
11         * UIProcess/API/mac/PDFViewController.mm:
12
13 2012-11-27  Alexey Proskuryakov  <ap@apple.com>
14
15         [WK2] WebPageProxy::relatedPages() cannot assume that this page is known to process
16         https://bugs.webkit.org/show_bug.cgi?id=103433
17         <rdar://problem/12543513>
18
19         Reviewed by Jessie Berlin.
20
21         * UIProcess/WebPageProxy.cpp: (WebKit::WebPageProxy::relatedPages): Removed an incorrect
22         assertion, and modified code to not rely on its condition being true.
23
24 2012-11-27  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
25
26         [EFL][Qt][WK2] Tiles not always painted
27         https://bugs.webkit.org/show_bug.cgi?id=103271
28
29         Reviewed by Kenneth Rohde Christiansen.
30
31         The problem turned up because visible content was synchromized before the new fixed
32         layout size had been applied in the web process.
33
34         * UIProcess/PageViewportController.cpp:
35         (WebKit::PageViewportController::didChangeViewportSize):
36         (WebKit::PageViewportController::didChangeViewportAttributes):
37
38 2012-11-27  Yael Aharon  <yael.aharon@intel.com>
39
40         [EFL] Graphics layer edges are sometimes very pixelated
41         https://bugs.webkit.org/show_bug.cgi?id=103302
42
43         Reviewed by Kenneth Rohde Christiansen.
44
45         The call setEnableEdgeDistanceAntialiasing(true) was lost in the refactoring of
46         http://trac.webkit.org/changeset/135401.
47
48         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
49         (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
50
51 2012-11-27  KwangYong Choi  <ky0.choi@samsung.com>
52
53         [X11] Allow empty plugin name and description during scan plugin
54         https://bugs.webkit.org/show_bug.cgi?id=103234
55
56         Reviewed by Simon Hausmann.
57
58         Empty entries should be allowed when split the output string of scan plugin
59         because the plugin name and the description can be empty string.
60
61         * UIProcess/Plugins/qt/PluginProcessProxyQt.cpp:
62         (WebKit::PluginProcessProxy::scanPlugin):
63         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
64         (WebKit::PluginProcessProxy::scanPlugin):
65
66 2012-11-27  Sheriff Bot  <webkit.review.bot@gmail.com>
67
68         Unreviewed, rolling out r135819.
69         http://trac.webkit.org/changeset/135819
70         https://bugs.webkit.org/show_bug.cgi?id=103388
71
72         It broke many tests on Qt and EFL WK2 platforms (Requested by
73         Ossy on #webkit).
74
75         * Shared/WebPageCreationParameters.cpp:
76         (WebKit::WebPageCreationParameters::encode):
77         (WebKit::WebPageCreationParameters::decode):
78         * Shared/WebPageCreationParameters.h:
79         (WebPageCreationParameters):
80         * UIProcess/API/C/WKPage.cpp:
81         (WKPageCopyRelatedPages):
82         * UIProcess/API/C/WKPagePrivate.h:
83         * UIProcess/WebPageProxy.cpp:
84         (WebKit::WebPageProxy::WebPageProxy):
85         (WebKit::WebPageProxy::creationParameters):
86         * UIProcess/WebPageProxy.h:
87         (WebPageProxy):
88         * WebProcess/WebPage/WebPage.cpp:
89         (WebKit::WebPage::WebPage):
90         (WebKit::WebPage::setIsInWindow):
91         * WebProcess/WebPage/WebPage.h:
92         (WebPage):
93         * WebProcess/WebPage/WebPage.messages.in:
94
95 2012-11-27  Kyungjin Kim  <gen.kim@samsung.com>
96
97         [WK2] Expose Accelerated2dCanvas flag set and get in WebKit2
98         https://bugs.webkit.org/show_bug.cgi?id=103008
99
100         Reviewed by Gyuyoung Kim.
101
102         Fix API names in WKPreferences from 2d to 2D.
103
104         * UIProcess/API/C/WKPreferences.cpp:
105         (WKPreferencesSetAccelerated2DCanvasEnabled):
106         (WKPreferencesGetAccelerated2DCanvasEnabled):
107         * UIProcess/API/C/WKPreferencesPrivate.h:
108
109 2012-11-27  Sheriff Bot  <webkit.review.bot@gmail.com>
110
111         Unreviewed, rolling out r135786.
112         http://trac.webkit.org/changeset/135786
113         https://bugs.webkit.org/show_bug.cgi?id=103379
114
115         It made 3 plugin tests timeout on several platforms (Requested
116         by Ossy on #webkit).
117
118         * WebProcess/Plugins/PluginView.cpp:
119         (WebKit::PluginView::performFrameLoadURLRequest):
120         * WebProcess/WebPage/WebPage.cpp:
121         (WebKit::WebPage::loadURLRequest):
122         (WebKit::WebPage::loadData):
123         (WebKit::WebPage::linkClicked):
124
125 2012-11-27  Huang Dongsung  <luxtella@company100.net>
126
127         Coordinated Graphics: Remove the maskTarget member of CoordinatedGraphicsLayer.
128         https://bugs.webkit.org/show_bug.cgi?id=103297
129
130         Reviewed by Noam Rosenthal.
131
132         Remove the maskTarget member of CoordinatedGraphicsLayer, which is not used.
133
134         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
135         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
136         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
137         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
138         (CoordinatedGraphicsLayer):
139
140 2012-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
141
142         Unreviewed, rolling out r135822.
143         http://trac.webkit.org/changeset/135822
144         https://bugs.webkit.org/show_bug.cgi?id=103369
145
146         Undo the revert of r135818, since that change does not affect
147         code used by Chromium (Requested by apavlov on #webkit).
148
149         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
150         (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
151         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
152
153 2012-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
154
155         Unreviewed, rolling out r135818.
156         http://trac.webkit.org/changeset/135818
157         https://bugs.webkit.org/show_bug.cgi?id=103368
158
159         platform/chromium/virtual/threaded/compositing/visibility
160         /visibility-simple-webgl-layer.html crash on Mountain Lion
161         (Requested by apavlov on #webkit).
162
163         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
164         (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
165         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
166
167 2012-11-26  Dan Bernstein  <mitz@apple.com>
168
169         <rdar://problem/11931191> Entering Tab View after a bunch of YouTube pages were opened in background tabs makes all of them start playing simultaneously
170         https://bugs.webkit.org/show_bug.cgi?id=103358
171
172         Reviewed by Adele Peterson.
173
174         To fix this, this patch adds WKPageSetMayStartMediaWhenInWindow(), which allows the client to
175         prevent media from starting automatically when the view is put in a window.
176
177         * Shared/WebPageCreationParameters.cpp:
178         (WebKit::WebPageCreationParameters::encode): Encode mayStartMediaWhenInWindow.
179         (WebKit::WebPageCreationParameters::decode): Decode mayStartMediaWhenInWindow.
180         * Shared/WebPageCreationParameters.h:
181         (WebPageCreationParameters): Added boolean member mayStartMediaWhenInWindow.
182         * UIProcess/API/C/WKPage.cpp:
183         (WKPageSetMayStartMediaWhenInWindow): Added. Calls through to WebPageProxy.
184         * UIProcess/API/C/WKPagePrivate.h: Declared WKPageSetMayStartMediaWhenInWindow.
185         * UIProcess/WebPageProxy.cpp:
186         (WebKit::WebPageProxy::WebPageProxy): Added initializiation of m_mayStartMediaWhenInWindow
187         to true, the value matching the current behavior.
188         (WebKit::WebPageProxy::setMayStartMediaWhenInWindow): Added. Updates
189         m_mayStartMediaWhenInWindow and sends a message to the Web process to do the same.
190         (WebKit::WebPageProxy::creationParameters): Changed to set mayStartMediaWhenInWindow in the
191         process creation parameters.
192         * UIProcess/WebPageProxy.h:
193         (WebPageProxy): Declared setMayStartMediaWhenInWindow() and added member variable
194         m_mayStartMediaWhenInWindow.
195         * WebProcess/WebPage/WebPage.cpp:
196         (WebKit::WebPage::WebPage): Initialized m_mayStartMediaWhenInWindow from the creation
197         parameters.
198         (WebKit::WebPage::setIsInWindow): Made starting of media upon being added to a window
199         conditional on m_mayStartMediaWhenInWindow.
200         (WebKit::WebPage::setMayStartMediaWhenInWindow): Added. Sets m_mayStartMediaWhenInWindow. If
201         already in a window when changing from false to true, starts m_setCanStartMediaTimer.
202         * WebProcess/WebPage/WebPage.h:
203         (WebPage): Declared setMayStartMediaWhenInWindow() and added member variable m_mayStartMediaWhenInWindow.
204         * WebProcess/WebPage/WebPage.messages.in: Added SetMayStartMediaWhenInWindow.
205
206 2012-11-26  Huang Dongsung  <luxtella@company100.net>
207
208         Coordinated Graphics: Set visibility to a mask layer in GraphicsLayer::setContentsVisible().
209         https://bugs.webkit.org/show_bug.cgi?id=103297
210
211         Reviewed by Noam Rosenthal.
212
213         GraphicsLayerTextureMapper and CoordinatedGraphicsLayer set the visibility of a
214         mask layer in setContentsVisible() and setMaskLayer() like setting a size.
215         This patch is needed because RenderLayerBacking does not set the visibility to a
216         mask layer like the size.
217
218         This patch does not change user experience because an invisible layer is not
219         rendered although the mask layer is rendered. In that sense, it is an
220         optimization patch.
221
222         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
223         (WebCore::CoordinatedGraphicsLayer::setContentsVisible):
224         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
225
226 2012-11-26  Kyungjin Kim  <gen.kim@samsung.com>
227
228         [WK2] Expose Accelerated2dCanvas flag set and get in WebKit2
229         https://bugs.webkit.org/show_bug.cgi?id=103008
230
231         Reviewed by Gyuyoung Kim.
232
233         Add setting APIs for accelerated 2d canvas in WebKit2.
234
235         * Shared/WebPreferencesStore.h:
236         (WebKit):
237         * UIProcess/API/C/WKPreferences.cpp:
238         (WKPreferencesSetAccelerated2dCanvasEnabled):
239         (WKPreferencesGetAccelerated2dCanvasEnabled):
240         * UIProcess/API/C/WKPreferencesPrivate.h:
241         * WebProcess/WebPage/WebPage.cpp:
242         (WebKit::WebPage::updatePreferences):
243
244 2012-11-26  Tim Horton  <timothy_horton@apple.com>
245
246         Ensure that plugins are initialized before using handleEditingCommand/isEditingCommandEnabled/shouldAllowScripting
247         https://bugs.webkit.org/show_bug.cgi?id=103288
248
249         Reviewed by Dan Bernstein.
250
251         Other PluginView methods that use m_plugin null-check m_plugin and check
252         that the plugin has finished initializing before using it. These three
253         should do the same thing.
254
255         * WebProcess/Plugins/PluginView.cpp:
256         (WebKit::PluginView::handleEditingCommand):
257         (WebKit::PluginView::isEditingCommandEnabled):
258         (WebKit::PluginView::shouldAllowScripting):
259
260 2012-11-26  Tim Horton  <timothy_horton@apple.com>
261
262         PDFPlugin: Subframe PDF context menus are in the wrong place
263         https://bugs.webkit.org/show_bug.cgi?id=103284
264         <rdar://problem/12727972>
265
266         Reviewed by Dan Bernstein.
267
268         Event position is in window coordinates, not content coordinates.
269         Since we have no windowToScreen(), use windowToContents and contentsToScreen
270         to get to screen coordinate space, which WKPopupContextMenu wants.
271
272         * WebProcess/Plugins/PDF/PDFPlugin.mm:
273         (WebKit::PDFPlugin::handleContextMenuEvent):
274
275 2012-11-26  Tim Horton  <timothy_horton@apple.com>
276
277         PDFPlugin: Ctrl-click opens a link in a PDF in addition to context menu
278         https://bugs.webkit.org/show_bug.cgi?id=103282
279         <rdar://problem/12710892>
280
281         Reviewed by Dan Bernstein.
282
283         Don't send standard mouse events to PDFKit if a click will also show/hide the context menu.
284
285         * WebProcess/Plugins/PDF/PDFPlugin.mm:
286         (WebKit::PDFPlugin::handleMouseEvent):
287
288 2012-11-26  Ryuan Choi  <ryuan.choi@gmail.com>
289
290         [EFL] Unreviewed build fix after r135767 without Tiled Backing Store
291         https://bugs.webkit.org/show_bug.cgi?id=103320
292
293         Unreviewed build fix.
294
295         * WebProcess/Plugins/Plugin.cpp:
296         * WebProcess/Plugins/Plugin.h:
297         (WebCore):
298
299 2012-11-26  James Simonsen  <simonjam@chromium.org>
300
301         Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
302         https://bugs.webkit.org/show_bug.cgi?id=102151
303
304         Reviewed by Adam Barth.
305
306         * WebProcess/Plugins/PluginView.cpp:
307         (WebKit::PluginView::performFrameLoadURLRequest):
308         * WebProcess/WebPage/WebPage.cpp:
309         (WebKit::WebPage::loadURLRequest):
310         (WebKit::WebPage::loadData):
311
312 2012-11-26  Jon Lee  <jonlee@apple.com>
313
314         Pass clicks through to the restarted plugin
315         https://bugs.webkit.org/show_bug.cgi?id=102150
316         <rdar://problem/12695575>
317
318         Reviewed by Simon Fraser.
319
320         Expose convertToRootView() as a public function for all plugins. It converts the click point
321         from local plugin coordinates to root view coordinates. When the events are sent to the
322         plugin, the coordinate gets converted back to the local reference frame.
323         * WebProcess/Plugins/Plugin.cpp:
324         (WebKit::Plugin::convertToRootView): Default implementation should not be reached.
325         * WebProcess/Plugins/Plugin.h: Promote convertToRootView() from NetscapePlugin.h.
326         * WebProcess/Plugins/Netscape/NetscapePlugin.h: An implementation already existed. Make the
327         method virtual.
328         * WebProcess/Plugins/PluginProxy.h:
329         * WebProcess/Plugins/PluginProxy.cpp:
330         (WebKit::PluginProxy::convertToRootView): Apply the transform to the provided point to return
331         a point in root view coordinates.
332
333         Change the threshold state to PlayingWithPendingMouseClick instead of Playing, since that is
334         the earliest state where the plugin is playing.
335         * WebProcess/Plugins/PluginView.cpp: Give the snapshot a little more time to generate.
336         (WebKit::PluginView::didInitializePlugin): When the plugin has initialized, tell the plugin
337         element to dispatch the pending mouse click.
338         (WebKit::PluginView::paint):
339         (WebKit::PluginView::createWebEvent): Helper function to convert a WebCore mouse event to a
340         WebMouseEvent.
341         (WebKit::PluginView::handleEvent): If the event is simulated, there is no source event from
342         the UI process. So we fabricate one based on the simulated event.
343         (WebKit::PluginView::invalidateRect):
344         (WebKit::PluginView::isAcceleratedCompositingEnabled):
345         * WebProcess/Plugins/PluginView.h:
346
347 2012-11-26  Kalev Lember  <kalevlember@gmail.com>
348
349         [GTK] Explicitly link against librt
350         https://bugs.webkit.org/show_bug.cgi?id=103194
351
352         Reviewed by Martin Robinson.
353
354         Fixes broken build with undefined references to shm_open / shm_unlink
355         symbols. SharedMemoryUnix.cpp uses these so we need to link with -lrt.
356
357         * GNUmakefile.am:
358
359 2012-11-26  Christophe Dumez  <christophe.dumez@intel.com>
360
361         [EFL][WK2] Add setting to enable / disable HTML5 local storage functionality
362         https://bugs.webkit.org/show_bug.cgi?id=103224
363
364         Reviewed by Laszlo Gombos.
365
366         Add API to ewk_settings to enable / disable the HTML5
367         local storage functionality. The functionality is
368         enabled by default.
369
370         * UIProcess/API/efl/ewk_settings.cpp:
371         (ewk_settings_local_storage_enabled_set):
372         (ewk_settings_local_storage_enabled_get):
373         * UIProcess/API/efl/ewk_settings.h:
374         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
375         (TEST_F): Add API test for ewk_settings_local_storage_enabled_get / set.
376
377 2012-11-26  Rafael Brandao  <rafael.lobo@openbossa.org>
378
379         [CoordinatedGraphics] Access to LayerTreeRenderer::m_renderQueue should be thread safe
380         https://bugs.webkit.org/show_bug.cgi?id=101341
381
382         Reviewed by Noam Rosenthal.
383
384         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
385         (WebKit::LayerTreeRenderer::syncRemoteContent): The previous swap already clears the
386         vector on m_renderQueue. It is also done in a thread-safe way, so clearing it afterward
387         can be harmful as we've already released the lock.
388
389 2012-11-26  Jaehun Lim  <ljaehun.lim@samsung.com>
390
391         Text Autosizing: Add Text Autosizing APIs for WK2
392         https://bugs.webkit.org/show_bug.cgi?id=100633
393
394         Reviewed by Sam Weinig.
395
396         Implement basic Text Autosizing APIs for WK2.
397         Text Autosizing is a useful feature for mobile browsers. It adjusts the font size
398         of text in wide columns, and makes text more legible.
399         This patch adds setting APIs for Text Autosizing in WK2.
400
401         * Shared/WebPreferencesStore.h:
402         (WebKit):
403         * UIProcess/API/C/WKPreferences.cpp:
404         (WKPreferencesSetTextAutosizingEnabled):
405         (WKPreferencesGetTextAutosizingEnabled):
406         * UIProcess/API/C/WKPreferences.h:
407         * WebProcess/WebPage/WebPage.cpp:
408         (WebKit::WebPage::updatePreferences):
409
410 2012-11-26  Pierre Rossi  <pierre.rossi@gmail.com>
411
412         [Qt] REGRESSION(r135575): It made all tests assert
413         https://bugs.webkit.org/show_bug.cgi?id=103169
414
415         Reviewed by Simon Hausmann.
416
417         This fixes another regression introduced in r135515:
418         initializeWebKitQt shouldn't implicitely call initializeWebCoreQt
419         since it can be called from WebKit2 to initialize QStyle for testing.
420         This would then lead to things such as PlatformStrategies being
421         initialized twice.
422
423         * qt/MainQt.cpp: No need to initialize anything if we're not using QStyle.
424         (WebKit):
425         (main):
426
427 2012-11-26  Huang Dongsung  <luxtella@company100.net>
428
429         REGRESSION(134142): ASSERT(!m_size.isZero()) hits in CoordinatedBackingStore::paintToTextureMapper().
430         https://bugs.webkit.org/show_bug.cgi?id=103217
431
432         Reviewed by Noam Rosenthal.
433
434         It is possible for CoordinatedBackingStore of directed composited image to not
435         have tiles, because CoordinatedImageBacking does not create tiles when the image
436         is invisible.
437
438         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
439         (WebKit::CoordinatedBackingStore::paintToTextureMapper):
440
441 2012-11-25  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
442
443         [WK2] TiledBackingStore: page contents is scaled wrongly
444         https://bugs.webkit.org/show_bug.cgi?id=103090
445
446         Reviewed by Kenneth Rohde Christiansen.
447
448         Before this change the page contents scaling in PageViewportController was
449         defined all the times by m_rawAttributes.initialScale. If initial scale had not
450         been specified in the viewport meta tag it was set to m_minimumScaleToFit inside
451         PageViewportController::didChangeViewportAttributes().
452
453         The problem was that m_minimumScaleToFit could have wrong value as contents size
454         might have not be updated by the time PageViewportController::didChangeViewportAttributes()
455         was invoked.
456
457         The solution is to use m_minimumScaleToFit for contents scaling if initial scale
458         is not specified in the viewport meta tag, as it is updated all the time. 
459         Also a flag m_initiallyFitToViewport is added to PageViewportController to detect
460         whether m_minimumScaleToFit should be used for scaling.
461
462         * UIProcess/PageViewportController.cpp:
463         (WebKit::PageViewportController::PageViewportController):
464         (WebKit::PageViewportController::didChangeContentsSize):
465         (WebKit::PageViewportController::pageTransitionViewportReady):
466         (WebKit::PageViewportController::didChangeViewportAttributes):
467         * UIProcess/PageViewportController.h:
468         (PageViewportController):
469
470 2012-11-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
471
472         [EFL][WK2] Stop the mess with DECLARE_EWK_VIEW_CALLBACK arg type definition
473         https://bugs.webkit.org/show_bug.cgi?id=103187
474
475         Reviewed by Kenneth Rohde Christiansen.
476
477         Now the client should pass to DECLARE_EWK_VIEW_CALLBACK macro exacly the 
478         same arg type s/he wants to have in the Ewk_View callback.
479
480         * UIProcess/API/efl/EwkViewCallbacks.h:
481         (EvasObjectHolder):
482         (EwkViewCallbacks::EvasObjectHolder::EvasObjectHolder):
483         (EwkViewCallbacks):
484
485 2012-11-24  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
486
487         [EFL][WK2] Check errors in EwkView callbacks usage at compile time
488         https://bugs.webkit.org/show_bug.cgi?id=103177
489
490         Reviewed by Kenneth Rohde Christiansen.
491
492         Errors in EwkView callbacks usage are now checked at compile time.
493
494         * UIProcess/API/efl/EwkViewCallbacks.h:
495         (CallBack):
496         (EwkViewCallbacks::CallBack::CallBack):
497         (EwkViewCallbacks::CallBack::call):
498
499 2012-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>
500
501         Unreviewed, rolling out r135575.
502         http://trac.webkit.org/changeset/135575
503         https://bugs.webkit.org/show_bug.cgi?id=103169
504
505         It made all tests assert (Requested by Ossy on #webkit).
506
507         * qt/MainQt.cpp:
508         (WebKit):
509         (main):
510
511 2012-11-23  Alexis Menard  <alexis@webkit.org>
512
513         [CSS3 Backgrounds and Borders] Implement new CSS3 background-position parsing.
514         https://bugs.webkit.org/show_bug.cgi?id=102104
515
516         Reviewed by Julien Chaffraix.
517
518         Protect the new feature behind a feature flag.
519
520         * Configurations/FeatureDefines.xcconfig:
521
522 2012-11-23  Huang Dongsung  <luxtella@company100.net>
523
524         Coordinated Graphics: Match the behavior of selfOrAncestorHaveNonAffineTransforms() to its name.
525         https://bugs.webkit.org/show_bug.cgi?id=103097
526
527         Reviewed by Noam Rosenthal.
528
529         CoordinatedGraphicsLayer::selfOrAncestorHaveNonAffineTransforms() does
530         not check its ancestor. This patch makes this method check its ancestor
531         to match its name.
532
533         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
534         (WebCore::CoordinatedGraphicsLayer::selfOrAncestorHaveNonAffineTransforms):
535
536 2012-11-23  Huang Dongsung  <luxtella@company100.net>
537
538         Coordinated Graphics: LayerTreeRenderer::removeTile() does not remove tiles actually.
539         https://bugs.webkit.org/show_bug.cgi?id=103030
540
541         Reviewed by Noam Rosenthal.
542
543         LayerTreeRenderer::removeTile() must add a backing store into
544         m_backingStoresWithPendingBuffers. Otherwise, tiles are not removed.
545
546         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
547         (WebKit::LayerTreeRenderer::removeTile):
548
549 2012-11-23  Huang Dongsung  <luxtella@company100.net>
550
551         [TexMap] Remove dependency of TextureMapperLayer on GraphicsLayerTextureMapper.
552         https://bugs.webkit.org/show_bug.cgi?id=103046
553
554         Reviewed by Noam Rosenthal.
555
556         This patch makes GraphicsLayerTextureMapper create its own backing
557         store. However, LayerTreeRenderer also creates its own backing store. So
558         when LayerTreeRenderer uses GraphicsLayerTextureMapper,
559         LayerTreeRenderer needs GraphicsLayerTextureMapper to not create its own
560         backing store.
561
562         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
563         (WebKit::LayerTreeRenderer::createLayer):
564         (WebKit::LayerTreeRenderer::getBackingStore):
565
566 2012-11-23  Huang Dongsung  <luxtella@company100.net>
567
568         REGRESSION(r135486): ASSERT(isMainThread()) hit in LayerTreeRenderer::setActive(bool)
569         https://bugs.webkit.org/show_bug.cgi?id=103077
570
571         Reviewed by Noam Rosenthal.
572
573         Currently, the painting thread uses purgeGLResources() and setActive().
574         QQuickWebPage::updatePaintNode() indirectly calls both methods after
575         locking the main thread.
576
577         This patch changes two points.
578         1. Remove ASSERT(isMainThread()) in methods that the painting thread can
579         call.
580         2. Make purgeGLResources() and setActive() call methods of
581         LayerTreeCoordinatorProxy via dispatchOnMainThread().
582
583         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
584         (WebKit::LayerTreeRenderer::LayerTreeRenderer):
585         (WebKit::LayerTreeRenderer::renderNextFrame):
586         (WebKit::LayerTreeRenderer::purgeGLResources):
587         (WebKit):
588         (WebKit::LayerTreeRenderer::purgeBackingStores):
589         (WebKit::LayerTreeRenderer::setActive):
590         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
591         (LayerTreeRenderer):
592
593 2012-11-23  Christophe Dumez  <christophe.dumez@intel.com>
594
595         [EFL][WK2][AC] EwkViewImpl::transformToScreen() does not retrieve the Ecore_X_Window properly
596         https://bugs.webkit.org/show_bug.cgi?id=103133
597
598         Reviewed by Kenneth Rohde Christiansen.
599
600         If accelerated compositing is enabled, EwkViewImpl::transformToScreen() should
601         attempt to retrieve the Ecore_X_Window using ecore_evas_gl_x11_window_get() first
602         and only fall back to ecore_evas_software_x11_window_get().
603
604         * UIProcess/API/efl/EwkViewImpl.cpp:
605         (EwkViewImpl::transformToScreen):
606
607 2012-11-23  Wojciech Bielawski  <w.bielawski@samsung.com>
608
609         [WK2][WKTR] WebKitTestRunner needs eventSender.contextClick()
610         https://bugs.webkit.org/show_bug.cgi?id=86881
611
612         Reviewed by Kenneth Rohde Christiansen.
613
614         InjectedBundle API extended to retrieve contextMenu entries names.
615         WebContextMenu exteded with function to retrieve menu items.
616         This API is required by layout tests.
617         Common code in WebContextMenu.cpp moved to separate method menuItemsWithUserData().
618         Behaviour of dependend methods is unchanged.
619
620         * WebProcess/InjectedBundle/API/c/WKBundlePage.cpp:
621         (WKBundlePageGetContextMenuEntriesNames):
622         * WebProcess/InjectedBundle/API/c/WKBundlePage.h:
623         * WebProcess/WebPage/WebContextMenu.cpp:
624         (WebKit::WebContextMenu::items):
625         (WebKit):
626         * WebProcess/WebPage/WebContextMenu.h:
627         (WebContextMenu):
628
629 2012-11-22  Pierre Rossi  <pierre.rossi@gmail.com>
630
631         [Qt] Avoid initializing PlatformStrategies twice.
632
633         Rubber-stamped by Simon Hausmann.
634
635         This fixes another regression introduced in r135515:
636         initializeWebKitQt shouldn't implicitely call initializeWebCoreQt
637         since it can be called from WebKit2 to initialize QStyle for testing.
638         This would then lead to things such as PlatformStrategies being
639         initialized twice.
640
641         * qt/MainQt.cpp: No need to initialize anything if we're not using QStyle.
642         (WebKit):
643         (main):
644
645 2012-11-22  Carlos Garcia Campos  <cgarcia@igalia.com>
646
647         [GTK] Use custom private macros to define GObjects
648         https://bugs.webkit.org/show_bug.cgi?id=99705
649
650         Reviewed by Martin Robinson.
651
652         Add WEBKIT_DEFINE_TYPE macros, similar and compatible with
653         G_DEFINE_TYPE macros, to define GObject types. These macros also
654         define the init and finalize functions reducing the GObject
655         boilerplate and hiding the placement new syntax that causes some
656         confusion. The patch replaces the use of G_DEFINE_TYPE macros by
657         WEBKIT_DEFINE_TYPE ones and removes the init and finalize
658         implementations, moving custom code when needed to the private
659         struct constructor/destructor or constructed/dispose virtual
660         methods when appropriate.
661
662         * UIProcess/API/gtk/WebKitBackForwardList.cpp:
663         * UIProcess/API/gtk/WebKitBackForwardListItem.cpp:
664         (webkit_back_forward_list_item_class_init):
665         * UIProcess/API/gtk/WebKitContextMenu.cpp:
666         (webkitContextMenuDispose):
667         (webkit_context_menu_class_init):
668         * UIProcess/API/gtk/WebKitContextMenuItem.cpp:
669         (_WebKitContextMenuItemPrivate::~_WebKitContextMenuItemPrivate):
670         (_WebKitContextMenuItemPrivate):
671         (webkit_context_menu_item_class_init):
672         * UIProcess/API/gtk/WebKitCookieManager.cpp:
673         (_WebKitCookieManagerPrivate::~_WebKitCookieManagerPrivate):
674         (_WebKitCookieManagerPrivate):
675         * UIProcess/API/gtk/WebKitDownload.cpp:
676         (webkit_download_class_init):
677         * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
678         (webkit_favicon_database_class_init):
679         * UIProcess/API/gtk/WebKitFileChooserRequest.cpp:
680         (webkitFileChooserRequestDispose):
681         (webkit_file_chooser_request_class_init):
682         * UIProcess/API/gtk/WebKitFindController.cpp:
683         (webkit_find_controller_class_init):
684         * UIProcess/API/gtk/WebKitFormSubmissionRequest.cpp:
685         (webkitFormSubmissionRequestDispose):
686         (webkit_form_submission_request_class_init):
687         * UIProcess/API/gtk/WebKitGeolocationPermissionRequest.cpp:
688         (webkitGeolocationPermissionRequestDispose):
689         (webkit_geolocation_permission_request_class_init):
690         * UIProcess/API/gtk/WebKitHitTestResult.cpp:
691         (webkit_hit_test_result_class_init):
692         * UIProcess/API/gtk/WebKitNavigationPolicyDecision.cpp:
693         (webkit_navigation_policy_decision_class_init):
694         * UIProcess/API/gtk/WebKitPlugin.cpp:
695         (_WebKitPluginPrivate::~_WebKitPluginPrivate):
696         (_WebKitPluginPrivate):
697         (webkit_plugin_class_init):
698         * UIProcess/API/gtk/WebKitPolicyDecision.cpp:
699         (webkitPolicyDecisionDispose):
700         (webkit_policy_decision_class_init):
701         (webkit_policy_decision_use):
702         (webkit_policy_decision_ignore):
703         (webkit_policy_decision_download):
704         * UIProcess/API/gtk/WebKitPrintOperation.cpp:
705         (_WebKitPrintOperationPrivate::~_WebKitPrintOperationPrivate):
706         (_WebKitPrintOperationPrivate):
707         (webkit_print_operation_class_init):
708         * UIProcess/API/gtk/WebKitPrivate.h:
709         * UIProcess/API/gtk/WebKitResponsePolicyDecision.cpp:
710         (webkit_response_policy_decision_class_init):
711         * UIProcess/API/gtk/WebKitSecurityManager.cpp:
712         (webkit_security_manager_class_init):
713         * UIProcess/API/gtk/WebKitSettings.cpp:
714         (_WebKitSettingsPrivate::_WebKitSettingsPrivate):
715         (_WebKitSettingsPrivate):
716         (webkit_settings_class_init):
717         * UIProcess/API/gtk/WebKitURIRequest.cpp:
718         (webkit_uri_request_class_init):
719         * UIProcess/API/gtk/WebKitURIResponse.cpp:
720         (webkit_uri_response_class_init):
721         * UIProcess/API/gtk/WebKitURISchemeRequest.cpp:
722         (webkit_uri_scheme_request_class_init):
723         * UIProcess/API/gtk/WebKitWebContext.cpp:
724         * UIProcess/API/gtk/WebKitWebInspector.cpp:
725         (_WebKitWebInspectorPrivate::~_WebKitWebInspectorPrivate):
726         (_WebKitWebInspectorPrivate):
727         (webkit_web_inspector_class_init):
728         * UIProcess/API/gtk/WebKitWebResource.cpp:
729         (webkit_web_resource_class_init):
730         * UIProcess/API/gtk/WebKitWebView.cpp:
731         (_WebKitWebViewPrivate::~_WebKitWebViewPrivate):
732         (_WebKitWebViewPrivate):
733         (webkitWebViewConstructed):
734         (webkitWebViewDispose):
735         (webkit_web_view_class_init):
736         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
737         (_WebKitWebViewBasePrivate::_WebKitWebViewBasePrivate):
738         (_WebKitWebViewBasePrivate):
739         (_WebKitWebViewBasePrivate::~_WebKitWebViewBasePrivate):
740         (webkitWebViewBaseDispose):
741         (webkitWebViewBaseConstructed):
742         (webkit_web_view_base_class_init):
743         * UIProcess/API/gtk/WebKitWebViewBaseAccessible.cpp:
744         (webkit_web_view_base_accessible_class_init):
745         * UIProcess/API/gtk/WebKitWindowProperties.cpp:
746         (webkit_window_properties_class_init):
747
748 2012-11-22  KwangYong Choi  <ky0.choi@samsung.com>
749
750         [EFL][WK2] Buildfix when ENABLE_NETSCAPE_PLUGIN_API is disabled
751         https://bugs.webkit.org/show_bug.cgi?id=103044
752
753         Reviewed by Kentaro Hara.
754
755         enum ProcessType has PluginProcess only if ENABLE(PLUGIN_PROCESS) is enabled.
756         So, guard PluginProcess with ENABLE(PLUGIN_PROCESS).
757
758         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
759         (WebKit::ProcessLauncher::launchProcess):
760
761 2012-09-26  Gustavo Noronha Silva  <gns@gnome.org>
762
763         [GTK] Split SVG from WebCore to work-around make limitation
764         https://bugs.webkit.org/show_bug.cgi?id=97735
765
766         Reviewed by Carlos Garcia Campos.
767
768         Add a new libtool convenience library, libWebCoreSVG.la, to work-around
769         make limitation when linking libWebCore.
770
771         * GNUmakefile.am: link libWebCoreSVG.la into libwebkit2gtk.
772
773 2012-11-22  Simon Hausmann  <simon.hausmann@digia.com>, Pierre Rossi <pierre.rossi@digia.com>
774
775         [Qt] Separate QWidget dependant code into separate WebKitWidgets static library
776         https://bugs.webkit.org/show_bug.cgi?id=102800
777
778         Reviewed by Tor Arne Vestbø.
779
780         This patch separates code that needs to use QWidget related APIs in
781         WebKit/qt/WebCoreSupport and Api from code that doesn't. This means for
782         example FrameLoaderClientQt.cpp remains in the WebKit1 static library,
783         while qwebpage.cpp and qwebframe.cpp become part of the WebKitWidgets
784         static library. WebKit1 is compiled without QT += widgets and therefore
785         any widget related dependency has been moved "up" and out of WebKit1 into
786         the WebKitWidgets library.
787
788         Between the code in WebKit.a and WebKitWidgets.a new adapters and
789         interfaces have been introduced, such as QWebPageAdapter and
790         QWebFrameAdapter. QWebPageAdapter, when used from WebKit1, is a way to
791         call out into the API layer, implemented by QWebPage (QWebPagePrivate).
792         The other way around if QWebPage wants to access WebCore or
793         WebCoreSupport related functionality, it will go through
794         QWebPageAdapater (as base class). The separation in the direction up
795         into the API layer is complete with this patch, no code in WebKit1
796         depends on QtWidgets. The separation the other way around, code in the
797         API layer not using any WebCore types, is not complete yet.
798
799         Some classes such as QWebSettings, QWebElement or
800         DumpRenderTreeSupportQt remain in WebKit1. While they are API layer,
801         they do not depend on widget related Qt APIs and they make much more
802         use of WebCore internal APIs and therefore are easier to keep in
803         WebKit1.
804
805         In the future we plan to place a real shared library boundary between
806         WebKit1 and WebKitWidgets, by keeping the WebKit1 static library as
807         part of the QtWebKit shared library and by turning the WebKitWidgets
808         static library into a shared one.
809
810         * qt/MainQt.cpp:
811         (WebKit):
812         (main):
813
814 2012-11-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
815
816         [WK2][EFL] No need to remove surface before replacing
817         https://bugs.webkit.org/show_bug.cgi?id=103055
818
819         Rubberstamped by Simon Hausmann.
820
821         The surface is stored in a OwnPtr which automatically
822         frees the existing surface after replacing it with a new
823         one. For some reason, this also fixes resizing issues on
824         my Nvidia driver.
825
826         * UIProcess/API/efl/EwkViewImpl.cpp:
827         (EwkViewImpl::createGLSurface):
828         * UIProcess/API/efl/EwkViewImpl.h:
829         * UIProcess/API/efl/ewk_view.cpp:
830         (_ewk_view_smart_calculate):
831
832 2012-11-22  Christophe Dumez  <christophe.dumez@intel.com>
833
834         WebKitTestRunner needs layoutTestController.setCacheModel
835         https://bugs.webkit.org/show_bug.cgi?id=42684
836
837         Reviewed by Kenneth Rohde Christiansen.
838
839         Add Bundle C API for WebKitTestRunner to set the
840         cache model.
841
842         * WebProcess/InjectedBundle/API/c/WKBundle.cpp:
843         (WKBundleSetCacheModel):
844         * WebProcess/InjectedBundle/API/c/WKBundlePrivate.h:
845         * WebProcess/InjectedBundle/InjectedBundle.cpp:
846         (WebKit::InjectedBundle::setCacheModel):
847         (WebKit):
848         * WebProcess/InjectedBundle/InjectedBundle.h:
849         (InjectedBundle):
850         * WebProcess/WebProcess.h:
851         (WebProcess):
852
853 2012-11-22  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
854
855         REGRESSION(r135399): Wrong assertion causing an assertion failure: m_rawAttributes.initialScale > 0
856         https://bugs.webkit.org/show_bug.cgi?id=102971
857
858         Reviewed by Kenneth Rohde Christiansen.
859
860         m_rawAttributes.initialScale has to be initialized even if m_minimumScaleToFit hasn't changed
861         it's value.
862
863         * UIProcess/PageViewportController.cpp:
864         (WebKit::PageViewportController::didChangeViewportAttributes):
865
866 2012-11-22  Eunmi Lee  <eunmi15.lee@samsung.com>
867
868         [EFL][WK2] Correct the parameters of WebPlatformTouchPoint.
869         https://bugs.webkit.org/show_bug.cgi?id=102865
870
871         Reviewed by Kenneth Rohde Christiansen.
872
873         Set the screen position as a third parameter and contents position as
874         a fourth parameter of WebPlatformTouchPoint().
875
876         * Shared/efl/WebEventFactory.cpp:
877         (WebKit::WebEventFactory::createWebTouchEvent):
878
879 2012-11-22  Huang Dongsung  <luxtella@company100.net>
880
881         Coordinated Graphics: Remove an invisible TiledBackingStore of CoordinatedGraphicsLayer.
882         https://bugs.webkit.org/show_bug.cgi?id=102894
883
884         Reviewed by Kenneth Rohde Christiansen.
885
886         CoordinatedGraphicsLayer does not need to have a backing store
887         if (!drawsContent() || !contentsAreVisible() || m_size.isEmpty()).
888
889         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
890         (WebCore::CoordinatedGraphicsLayer::updateContentBuffers):
891
892 2012-11-22  Huang Dongsung  <luxtella@company100.net>
893
894         Coordinated Graphics: refactor LayerTreeRenderer.
895         https://bugs.webkit.org/show_bug.cgi?id=103004
896
897         Reviewed by Noam Rosenthal.
898
899         This patch changes two subjects.
900         1. Add ASSERT(isMainThread()) in all methods that are called in the main thread.
901         In addition, make dispatchOnMainThread() use callOnMainThread(const Function<void()>&
902         function) instead of its own implementation.
903
904         2. Remove setAccelerationMode() because we don't use m_accelerationMode member
905         except for the setter.
906
907         * UIProcess/API/efl/EwkViewImpl.cpp:
908         (EwkViewImpl::createGLSurface):
909         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
910         (WebKit):
911         (WebKit::LayerTreeRenderer::dispatchOnMainThread):
912         (WebKit::LayerTreeRenderer::LayerTreeRenderer):
913         (WebKit::LayerTreeRenderer::animationFrameReady):
914         (WebKit::LayerTreeRenderer::updateViewport):
915         (WebKit::LayerTreeRenderer::renderNextFrame):
916         (WebKit::LayerTreeRenderer::purgeGLResources):
917         (WebKit::LayerTreeRenderer::detach):
918         (WebKit::LayerTreeRenderer::setActive):
919         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
920         (LayerTreeRenderer):
921         * UIProcess/efl/PageClientBase.cpp:
922         (WebKit::PageClientBase::createDrawingAreaProxy):
923
924 2012-11-21  Jinwoo Song  <jinwoo7.song@samsung.com>
925
926         [EFL][WK2] Use consistent class names in the clients
927         https://bugs.webkit.org/show_bug.cgi?id=102684
928
929         Reviewed by Gyuyoung Kim.
930
931         WebKit EFL classes do not use '_' since r135117 but '_' is still remained
932         in some clients classes. This patch removed the '_' to make class names
933         to be consistent.
934
935         * UIProcess/efl/ContextHistoryClientEfl.cpp:
936         (WebKit::ContextHistoryClientEfl::didNavigateWithNavigationData):
937         * UIProcess/efl/DownloadManagerEfl.cpp:
938         (WebKit::DownloadManagerEfl::didFail):
939         * UIProcess/efl/FormClientEfl.cpp:
940         (WebKit::FormClientEfl::willSubmitForm):
941         * UIProcess/efl/PageLoadClientEfl.cpp:
942         (WebKit::PageLoadClientEfl::didReceiveIntentForFrame):
943         (WebKit::PageLoadClientEfl::registerIntentServiceForFrame):
944         (WebKit::PageLoadClientEfl::didFailLoadWithErrorForFrame):
945         (WebKit::PageLoadClientEfl::didFailProvisionalLoadWithErrorForFrame):
946         (WebKit::PageLoadClientEfl::didReceiveAuthenticationChallengeInFrame):
947         * UIProcess/efl/PagePolicyClientEfl.cpp:
948         (WebKit::PagePolicyClientEfl::decidePolicyForNavigationAction):
949         (WebKit::PagePolicyClientEfl::decidePolicyForNewWindowAction):
950         * UIProcess/efl/PageUIClientEfl.cpp:
951         (WebKit::PageUIClientEfl::runOpenPanel):
952         * UIProcess/efl/RequestManagerClientEfl.cpp:
953         (WebKit::EwkUrlSchemeHandler::EwkUrlSchemeHandler):
954         (WebKit::RequestManagerClientEfl::didReceiveURIRequest):
955         (WebKit::RequestManagerClientEfl::registerURLSchemeHandler):
956         * UIProcess/efl/RequestManagerClientEfl.h:
957         (RequestManagerClientEfl):
958         * UIProcess/efl/ResourceLoadClientEfl.cpp:
959         (WebKit::ResourceLoadClientEfl::didInitiateLoadForResource):
960         (WebKit::ResourceLoadClientEfl::didSendRequestForResource):
961         (WebKit::ResourceLoadClientEfl::didReceiveResponseForResource):
962         (WebKit::ResourceLoadClientEfl::didFinishLoadForResource):
963         (WebKit::ResourceLoadClientEfl::didFailLoadForResource):
964         * UIProcess/efl/ResourceLoadClientEfl.h:
965         (ResourceLoadClientEfl):
966
967 2012-11-21  Jaehun Lim  <ljaehun.lim@samsung.com>
968
969         [EFL][WK2] Remove #include "ewk_view_private.h" in PageViewportControllerClientEfl.cpp
970         https://bugs.webkit.org/show_bug.cgi?id=102773
971
972         Reviewed by Gyuyoung Kim.
973
974         PageViewportControllerClientEfl.cpp doesn't need to include ewk_view_private.h.
975
976         * UIProcess/efl/PageViewportControllerClientEfl.cpp:
977
978 2012-11-21  Huang Dongsung  <luxtella@company100.net>
979
980         Coordinated Graphics: refactor changing children code in CoordinatedGraphicsLayer.
981         https://bugs.webkit.org/show_bug.cgi?id=102896
982
983         Reviewed by Noam Rosenthal.
984
985         When changing children, we don't need to sync a layer state because
986         there is no more need to send the parent ID every time the layer tree
987         hierarchy changes. So this patch removes didChangeLayerState() in
988         methods which change children.
989
990         In addition, purgeBackingStores() does not need to call didChangeChildren()
991         because purgeBackingStores() does not change children.
992
993         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
994         (WebCore::CoordinatedGraphicsLayer::setChildren):
995         (WebCore::CoordinatedGraphicsLayer::addChild):
996         (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
997         (WebCore::CoordinatedGraphicsLayer::addChildAbove):
998         (WebCore::CoordinatedGraphicsLayer::addChildBelow):
999         (WebCore::CoordinatedGraphicsLayer::replaceChild):
1000         (WebCore::CoordinatedGraphicsLayer::removeFromParent):
1001         (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
1002
1003 2012-11-21  Huang Dongsung  <luxtella@company100.net>
1004
1005         REGRESSION(r135212): Fix crash due to an infinite rect.
1006         https://bugs.webkit.org/show_bug.cgi?id=102891
1007
1008         Reviewed by Noam Rosenthal.
1009
1010         When CoordinatedGraphicsLayer has a 3D transform, tiledBackingStoreVisibleRect()
1011         can calculate an infinite rect. However, TiledBackingStore cannot handle the
1012         infinite rect. This patch clamps the infinite rect to avoid crash in
1013         TiledBackingStore.
1014
1015         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1016         (WebCore::clampToContentsRectIfRectIsInfinite):
1017         (WebCore):
1018         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
1019
1020 2012-11-21  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1021
1022         Disambiguate innerNodeFramePoint and mainFramePoint
1023         https://bugs.webkit.org/show_bug.cgi?id=98139
1024
1025         Reviewed by Julien Chaffraix.
1026
1027         Switch to using HitTestResult::innerNodeFrame and HitTestResult::innerNodeFramePoint.
1028
1029         * WebProcess/WebPage/WebContextMenu.cpp:
1030         (WebKit::WebContextMenu::show):
1031         * WebProcess/WebPage/mac/WebPageMac.mm:
1032         (WebKit::WebPage::characterIndexForPoint):
1033
1034 2012-11-21  Simon Hausmann  <simon.hausmann@digia.com>
1035
1036         Unreviewed Qt/Windows build fix.
1037         https://bugs.webkit.org/show_bug.cgi?id=102787
1038
1039         Remove inclusion of QtQml, which drags in QtNetwork, which drags in qnetworksession.h, which
1040         defines a member function called "interface". Since windows headers also define a pre-processor
1041         macro called "interface", it has to do that. However we have now a dependency between combaseapi.h,
1042         which #defines interface and is included earlier (before qnetworksession.h) and shlwapi.h, which _needs_
1043         the interface macro and is included afterwards. Since this module-wide QtQml inclusion is unnecessary
1044         and just slows down the build, this patch removes it.
1045
1046         * UIProcess/API/qt/qwebkittest_p.h:
1047
1048 2012-11-21  Huang Dongsung  <luxtella@company100.net>
1049
1050         Coordinated Graphics: refactor LayerTreeRenderer::syncRemoteContent().
1051         https://bugs.webkit.org/show_bug.cgi?id=102900
1052
1053         Reviewed by Noam Rosenthal.
1054
1055         Currently, QQuickWebPage::updatePaintNode() calls
1056         LayerTreeRenderer::syncRemoteContent() with locking the main thread.
1057         syncRemoteContent() is heavy, so we should not call syncRemoteContent() in
1058         updatePaintNode(). Calling syncRemoteContent() in the painting thread is
1059         thread-safe because syncRemoteContent() does not access any data
1060         structures, which the main thread use.
1061
1062         After this patch, syncRemoteContent() is used only internally, so
1063         syncRemoteContent() becomes private.
1064
1065         * UIProcess/API/efl/EwkViewImpl.cpp:
1066         (EwkViewImpl::displayTimerFired):
1067         * UIProcess/API/qt/qquickwebpage.cpp:
1068         (QQuickWebPage::updatePaintNode):
1069         * UIProcess/API/qt/raw/qrawwebview.cpp:
1070         (QRawWebView::paint):
1071         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1072         (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
1073         (WebKit::LayerTreeRenderer::ensureRootLayer):
1074         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
1075         (LayerTreeRenderer):
1076
1077 2012-11-21  Andras Becsi  <andras.becsi@digia.com>
1078
1079         [WK2] Viewport meta tag broken after r134801
1080         https://bugs.webkit.org/show_bug.cgi?id=102801
1081
1082         Reviewed by Kenneth Rohde Christiansen.
1083
1084         If the initial-scale attribute is not explicitly specified it is left -1 by the
1085         viewport meta algorithm and if the content is not scalable the min and max scales
1086         are restricted by restrictScaleFactorToInitialScaleIfNotUserScalable() which resulted
1087         in negative scales on the UI side.
1088         Make sure that the minimum scale to fit the viewport is calculated before restricting
1089         the scales and use this scale as the initial scale if no explicit initial scale was set.
1090
1091         * UIProcess/PageViewportController.cpp:
1092         (WebKit::PageViewportController::PageViewportController):
1093         (WebKit::PageViewportController::pageTransitionViewportReady):
1094         (WebKit::PageViewportController::didChangeViewportAttributes):
1095         (WebKit::PageViewportController::updateMinimumScaleToFit):
1096
1097 2012-11-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1098
1099         [EFL][WK2] Support Context Menu
1100         https://bugs.webkit.org/show_bug.cgi?id=96200
1101
1102         Reviewed by Laszlo Gombos.
1103
1104         This patch supports WK2 EFL's context menu as WK1 implementation because we can't use elementary in inside WebKit.
1105         Only basic functionalities of context menu are supported. Beside this implementation follows GTK's implementation.
1106         For example, ewk_context_menu_new, ewk_context_menu_item_append, ewk_context_menu_item_remove are supported.
1107
1108         In addition, ewk_defines.h file is added in order to support cross inclusion as GTK port.
1109
1110         * PlatformEfl.cmake:
1111         * UIProcess/API/efl/EWebKit2.h:
1112         * UIProcess/API/efl/EwkViewImpl.cpp:
1113         (EwkViewImpl::EwkViewImpl):
1114         (EwkViewImpl::showContextMenu):
1115         (EwkViewImpl::hideContextMenu):
1116         * UIProcess/API/efl/EwkViewImpl.h:
1117         (WebKit):
1118         (EwkViewImpl):
1119         * UIProcess/API/efl/ewk_context_menu.cpp: Added.
1120         (EwkContextMenu::EwkContextMenu):
1121         (EwkContextMenu::~EwkContextMenu):
1122         (EwkContextMenu::hide):
1123         (Ewk_Context_Menu::appendItem):
1124         (Ewk_Context_Menu::removeItem):
1125         (EwkContextMenu::contextMenuItemSelected):
1126         (ewk_context_menu_new):
1127         (ewk_context_menu_new_with_items):
1128         (ewk_context_menu_item_append):
1129         (ewk_context_menu_item_remove):
1130         (ewk_context_menu_hide):
1131         (ewk_context_menu_items_get):
1132         (ewk_context_menu_item_select):
1133         * UIProcess/API/efl/ewk_context_menu.h: Added.
1134         * UIProcess/API/efl/ewk_context_menu_item.cpp: Added.
1135         (EwkContextMenuItem::EwkContextMenuItem):
1136         (ewk_context_menu_item_new):
1137         (ewk_context_menu_item_new_with_submenu):
1138         (ewk_context_menu_item_type_get):
1139         (ewk_context_menu_item_type_set):
1140         (ewk_context_menu_item_action_get):
1141         (ewk_context_menu_item_action_set):
1142         (ewk_context_menu_item_title_get):
1143         (ewk_context_menu_item_title_set):
1144         (ewk_context_menu_item_checked_get):
1145         (ewk_context_menu_item_checked_set):
1146         (ewk_context_menu_item_enabled_get):
1147         (ewk_context_menu_item_enabled_set):
1148         * UIProcess/API/efl/ewk_context_menu_item.h: Added.
1149         * UIProcess/API/efl/ewk_context_menu_item_private.h: Added.
1150         (EwkContextMenuItem):
1151         (EwkContextMenuItem::create):
1152         (EwkContextMenuItem::action):
1153         (EwkContextMenuItem::setAction):
1154         (EwkContextMenuItem::title):
1155         (EwkContextMenuItem::setTitle):
1156         (EwkContextMenuItem::type):
1157         (EwkContextMenuItem::setType):
1158         (EwkContextMenuItem::checked):
1159         (EwkContextMenuItem::setChecked):
1160         (EwkContextMenuItem::enabled):
1161         (EwkContextMenuItem::setEnabled):
1162         * UIProcess/API/efl/ewk_context_menu_private.h: Added.
1163         (WebKit):
1164         (EwkContextMenu):
1165         (EwkContextMenu::create):
1166         (EwkContextMenu::items):
1167         * UIProcess/API/efl/ewk_defines.h: Added.
1168         * UIProcess/API/efl/ewk_view.h:
1169         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp: Added.
1170         (checkBasicContextMenuItem):
1171         (showContextMenu):
1172         (TEST_F):
1173         * UIProcess/efl/ContextMenuClientEfl.cpp: Added.
1174         (toContextClientEfl):
1175         (ContextMenuClientEfl::ContextMenuClientEfl):
1176         (ContextMenuClientEfl::getContextMenuFromProposedMenu):
1177         * UIProcess/efl/ContextMenuClientEfl.h: Added.
1178         (WebKit):
1179         (ContextMenuClientEfl):
1180         (WebKit::ContextMenuClientEfl::create):
1181         * UIProcess/efl/PageClientBase.cpp:
1182         (WebKit::PageClientBase::createContextMenuProxy):
1183         * UIProcess/efl/WebContextMenuProxyEfl.cpp: Added.
1184         (WebKit):
1185         (WebKit::WebContextMenuProxyEfl::WebContextMenuProxyEfl):
1186         (WebKit::WebContextMenuProxyEfl::~WebContextMenuProxyEfl):
1187         (WebKit::WebContextMenuProxyEfl::showContextMenu):
1188         (WebKit::WebContextMenuProxyEfl::hideContextMenu):
1189         (WebKit::WebContextMenuProxyEfl::contextMenuItemSelected):
1190         * UIProcess/efl/WebContextMenuProxyEfl.h: Added.
1191         (WebKit):
1192         (WebContextMenuProxyEfl):
1193         (WebKit::WebContextMenuProxyEfl::create):
1194
1195 2012-11-21  Jongseok Yang  <js45.yang@samsung.com>
1196
1197         [EFL][WK2] Rename ewk_view_setting_encoding_custom_XXX to ewk_view_custom_encoding_XXX
1198         https://bugs.webkit.org/show_bug.cgi?id=102867
1199
1200         Reviewed by Gyuyoung Kim.
1201
1202         Rename ewk_view_setting_encoding_custom_XXX to ewk_view_custom_encoding_XXX.
1203
1204         ewk_view_setting_encoding_custom_XXX APIs might be misunderstanded as the "setting" word
1205         because ewk_view_setting_encoding_custom_set triggers the "reload" operation.
1206         And ewk_view_setting_XXX is not correct because there is ewk_settings object for settings.
1207
1208         * UIProcess/API/efl/ewk_view.cpp:
1209         (ewk_view_encoding_custom_get):
1210         (ewk_view_encoding_custom_set):
1211         * UIProcess/API/efl/ewk_view.h:
1212         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1213         (TEST_F):
1214
1215 2012-11-20  Jinwoo Song  <jinwoo7.song@samsung.com>
1216
1217         [EFL][WK2] Remove unnecessary #include in API test
1218         https://bugs.webkit.org/show_bug.cgi?id=102674
1219
1220         Reviewed by Laszlo Gombos.
1221
1222         Removed duplicated header files from the API test cases.
1223         Now, EWK2UnitTestBase.h includes the basic header files, 
1224         so test cases may only include this one and add the addtional
1225         header files if necessary.
1226
1227         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
1228         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestEnvironment.h:
1229         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestMain.cpp:
1230         * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
1231         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
1232         * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
1233         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
1234         * UIProcess/API/efl/tests/test_ewk2_context_history_callbacks.cpp:
1235         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
1236         * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp:
1237         * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
1238         * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
1239         * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
1240         * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
1241         * UIProcess/API/efl/tests/test_ewk2_intents.cpp:
1242         * UIProcess/API/efl/tests/test_ewk2_object.cpp:
1243         * UIProcess/API/efl/tests/test_ewk2_popup_menu.cpp:
1244         * UIProcess/API/efl/tests/test_ewk2_refptr_evas_object.cpp:
1245         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
1246         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
1247         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
1248         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
1249
1250 2012-11-19  Sam Weinig  <sam@webkit.org>
1251
1252         Simplify WebConnection by removing its underlying CoreIPC::Connection
1253         https://bugs.webkit.org/show_bug.cgi?id=102771
1254
1255         Reviewed by Anders Carlsson.
1256
1257         Instead of having WebConnection subclasses own the CoreIPC::Connection,
1258         move back to having the WebProcess and WebProcessProxy own it (and be
1259         its Connection::Client) and use the new MessageReceiver class to vend
1260         messages to the WebConnection.
1261
1262         * Shared/WebConnection.cpp:
1263         (WebKit::WebConnection::WebConnection):
1264         (WebKit::WebConnection::postMessage):
1265         (WebKit::WebConnection::didClose):
1266         (WebKit::WebConnection::didReceiveMessage):
1267         * Shared/WebConnection.h:
1268         Make WebConnection both a MessageReceiver and MessageSender
1269         and add virtual functions for derived classes to fill in.
1270
1271         * UIProcess/WebConnectionToWebProcess.cpp:
1272         (WebKit::WebConnectionToWebProcess::create):
1273         (WebKit::WebConnectionToWebProcess::WebConnectionToWebProcess):
1274         (WebKit::WebConnectionToWebProcess::invalidate):
1275         (WebKit::WebConnectionToWebProcess::decodeMessageBody):
1276         (WebKit::WebConnectionToWebProcess::connection):
1277         (WebKit::WebConnectionToWebProcess::destinationID):
1278         (WebKit::WebConnectionToWebProcess::hasValidConnection):
1279         * UIProcess/WebConnectionToWebProcess.h:
1280         * UIProcess/WebProcessProxy.cpp:
1281         (WebKit::WebProcessProxy::~WebProcessProxy):
1282         (WebKit::WebProcessProxy::fromConnection):
1283         (WebKit::WebProcessProxy::disconnect):
1284         (WebKit::WebProcessProxy::addMessageReceiver):
1285         (WebKit::WebProcessProxy::didClose):
1286         (WebKit::WebProcessProxy::didReceiveInvalidMessage):
1287         (WebKit::WebProcessProxy::didFinishLaunching):
1288         * UIProcess/WebProcessProxy.h:
1289         (WebKit::WebProcessProxy::connection):
1290         (WebProcessProxy):
1291         (WebKit::WebProcessProxy::webConnection):
1292         * WebProcess/WebConnectionToUIProcess.cpp:
1293         (WebKit::WebConnectionToUIProcess::create):
1294         (WebKit::WebConnectionToUIProcess::WebConnectionToUIProcess):
1295         (WebKit):
1296         (WebKit::WebConnectionToUIProcess::invalidate):
1297         (WebKit::WebConnectionToUIProcess::connection):
1298         (WebKit::WebConnectionToUIProcess::destinationID):
1299         (WebKit::WebConnectionToUIProcess::hasValidConnection):
1300         * WebProcess/WebConnectionToUIProcess.h:
1301         (WebConnectionToUIProcess):
1302         * WebProcess/WebProcess.cpp:
1303         (WebKit::WebProcess::initialize):
1304         (WebKit::WebProcess::terminate):
1305         * WebProcess/WebProcess.h:
1306         (WebKit::WebProcess::connection):
1307         (WebKit::WebProcess::webConnectionToUIProcess):
1308         Move the CoreIPC::Connection back to the processes.
1309
1310 2012-11-20  Jinwoo Song  <jinwoo7.song@samsung.com>
1311
1312         [EFL][WK2] Add Ewk_Window_Features API and related UI callbacks
1313         https://bugs.webkit.org/show_bug.cgi?id=99114
1314
1315         Reviewed by Gyuyoung Kim.
1316
1317         Added Ewk_Window_Features API so that we can create new windows
1318         with various window features such as location, size, toolbar, menubar,
1319         statusbar, locationbar, scrollbar, resizable, and fullscreen.
1320
1321         UI client callbacks related to window features also implemented
1322         so that it is possible to retrieve the window object property values.
1323
1324         * PlatformEfl.cmake:
1325         * UIProcess/API/efl/EWebKit2.h:
1326         * UIProcess/API/efl/EwkViewCallbacks.h:
1327         (EwkViewCallbacks):
1328         * UIProcess/API/efl/EwkViewImpl.cpp:
1329         (EwkViewImpl::windowFeatures):
1330         (EwkViewImpl::createNewPage):
1331         (EwkViewImpl::closePage):
1332         * UIProcess/API/efl/EwkViewImpl.h:
1333         (EwkViewImpl):
1334         * UIProcess/API/efl/ewk_view.h:
1335         * UIProcess/efl/PageUIClientEfl.cpp:
1336         (WebKit::PageUIClientEfl::createNewPage):
1337         (WebKit::PageUIClientEfl::toolbarsAreVisible):
1338         (WebKit):
1339         (WebKit::PageUIClientEfl::setToolbarsAreVisible):
1340         (WebKit::PageUIClientEfl::menuBarIsVisible):
1341         (WebKit::PageUIClientEfl::setMenuBarIsVisible):
1342         (WebKit::PageUIClientEfl::statusBarIsVisible):
1343         (WebKit::PageUIClientEfl::setStatusBarIsVisible):
1344         (WebKit::PageUIClientEfl::isResizable):
1345         (WebKit::PageUIClientEfl::setIsResizable):
1346         (WebKit::PageUIClientEfl::PageUIClientEfl):
1347         * UIProcess/efl/PageUIClientEfl.h:
1348         (PageUIClientEfl):
1349
1350 2012-11-20  Sheriff Bot  <webkit.review.bot@gmail.com>
1351
1352         Unreviewed, rolling out r135295.
1353         http://trac.webkit.org/changeset/135295
1354         https://bugs.webkit.org/show_bug.cgi?id=102834
1355
1356         This patch causes assertion to some layout tests on chromium
1357         (Requested by jianli on #webkit).
1358
1359         * WebProcess/Plugins/PluginView.cpp:
1360         (WebKit::PluginView::performFrameLoadURLRequest):
1361         * WebProcess/WebPage/WebPage.cpp:
1362         (WebKit::WebPage::loadURLRequest):
1363         (WebKit::WebPage::loadData):
1364         (WebKit::WebPage::linkClicked):
1365
1366 2012-11-20  James Simonsen  <simonjam@chromium.org>
1367
1368         Consolidate FrameLoader::load() into one function taking a FrameLoadRequest
1369         https://bugs.webkit.org/show_bug.cgi?id=102151
1370
1371         Reviewed by Adam Barth.
1372
1373         * WebProcess/Plugins/PluginView.cpp:
1374         (WebKit::PluginView::performFrameLoadURLRequest):
1375         * WebProcess/WebPage/WebPage.cpp:
1376         (WebKit::WebPage::loadURLRequest):
1377         (WebKit::WebPage::loadData):
1378
1379 2012-11-20  peavo@outlook.com  <peavo@outlook.com>
1380
1381         WinCairo build fails to link.
1382         https://bugs.webkit.org/show_bug.cgi?id=102804
1383
1384         Reviewed by Alexey Proskuryakov.
1385
1386         * win/WebKit2CFLite.def:
1387
1388 2012-11-20  Thiago Marcos P. Santos  <thiago.santos@intel.com>
1389
1390         [WTR] WebKitTestRunner should be able to run tests using fixed layout
1391         https://bugs.webkit.org/show_bug.cgi?id=102517
1392
1393         Reviewed by Kenneth Rohde Christiansen.
1394
1395         Update EFL private API so we can create a view with fixed layout. We
1396         can keep this as private as I don't see a real life use case for it
1397         outside WTR and the WebInspector.
1398
1399         * UIProcess/API/C/efl/WKView.cpp:
1400         (WKViewCreate):
1401         (WKViewCreateWithFixedLayout):
1402         * UIProcess/API/C/efl/WKView.h:
1403         * UIProcess/API/efl/ewk_view.cpp:
1404         (ewk_view_base_add):
1405         * UIProcess/API/efl/ewk_view_private.h:
1406         * UIProcess/efl/WebInspectorProxyEfl.cpp:
1407         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1408
1409 2012-11-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1410
1411         [Qt] PageViewportControllerClient::didChangeViewportAttributes called twice
1412         https://bugs.webkit.org/show_bug.cgi?id=102790
1413
1414         Reviewed by Kenneth Rohde Christiansen.
1415
1416         Change updateMinimumScaleToFit to no longer call PageViewportControllerClient::didChangeViewportAttributes,
1417         but instead return whether it has changed the minimumScaleToFit.
1418
1419         * UIProcess/PageViewportController.cpp:
1420         (WebKit::PageViewportController::didChangeContentsSize):
1421         (WebKit::PageViewportController::updateMinimumScaleToFit):
1422         * UIProcess/PageViewportController.h:
1423         (PageViewportController):
1424
1425 2012-11-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1426
1427         [Qt] No test of double-click to zoom out
1428         https://bugs.webkit.org/show_bug.cgi?id=102810
1429
1430         Reviewed by Kenneth Rohde Christiansen.
1431
1432         Adds tests of zoom-stack behaviour, the ability to restore previous zoom levels. It tests
1433         that zoom out always goes to lower zoom levels.
1434
1435         * UIProcess/API/qt/tests/qmltests/WebView/tst_doubleTapToZoom.qml:
1436
1437 2012-11-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1438
1439         [Qt] Large areas highlighted on touch
1440         https://bugs.webkit.org/show_bug.cgi?id=97216
1441
1442         Reviewed by Simon Hausmann.
1443
1444         Restrict highlighting of scripted event-handlers to inline elements only.
1445
1446         * WebProcess/WebPage/WebPage.cpp:
1447         (WebKit::WebPage::highlightPotentialActivation):
1448
1449 2012-11-20  Allan Sandfeld Jensen  <allan.jensen@digia.com>
1450
1451         [Qt] Zoom logic confused by page and pinch resize
1452         https://bugs.webkit.org/show_bug.cgi?id=102803
1453
1454         Reviewed by Kenneth Rohde Christiansen.
1455
1456         Clear the zoom-out stack after page resize, and ensure the zoom logic can still detect
1457         zoom-out and zoom-back when the zoom-out stack is empty.
1458
1459         * UIProcess/qt/PageViewportControllerClientQt.cpp:
1460         (WebKit::PageViewportControllerClientQt::zoomToAreaGestureEnded):
1461         (WebKit::PageViewportControllerClientQt::clearRelativeZoomState):
1462         (WebKit::PageViewportControllerClientQt::setContentsScale):
1463         (WebKit::PageViewportControllerClientQt::pinchGestureStarted):
1464         (WebKit::PageViewportControllerClientQt::didChangeViewportAttributes):
1465         * UIProcess/qt/PageViewportControllerClientQt.h:
1466         (PageViewportControllerClientQt):
1467
1468 2012-11-19  KyungTae Kim  <ktf.kim@samsung.com>
1469
1470         [WK2] Unused parameters on CoordinatedGraphicsLayer.cpp
1471         https://bugs.webkit.org/show_bug.cgi?id=102760
1472
1473         Reviewed by Laszlo Gombos.
1474
1475         Because the 'platformLayer' parameter is not used when !USE(GRAPHICS_SURFACE),
1476         use UNUSED_PARAM macro to fix build warning -Wunused-parameter
1477
1478         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1479         (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
1480
1481 2012-11-19  Huang Dongsung  <luxtella@company100.net>
1482
1483         Coordinated Graphics: Remove tiles of a layer when they are off the viewport.
1484         https://bugs.webkit.org/show_bug.cgi?id=102313
1485
1486         Reviewed by Noam Rosenthal.
1487
1488         Currently, we don't remove tiles of the layer with the special properties: a
1489         transform animation and non affine transform. If a page has a lot of layers with
1490         a transform animation, we will encounter OOM. So this patch removes the
1491         privilege of the layer.
1492
1493         There are two changes.
1494         1. computeTransformedVisibleRect() calculates a layer transform using the
1495         current local transform which a transform animation applied.
1496         2. tiledBackingStoreVisibleRect() calculates a visible
1497         rect of all layers, even if the layer includes the property: a transform
1498         animation or non affine transform.
1499
1500         Test: animations/animation-offscreen-to-onscreen.html
1501
1502         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1503         (WebCore::CoordinatedGraphicsLayer::effectiveContentsScale):
1504         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
1505         (WebCore::CoordinatedGraphicsLayer::hasPendingVisibleChanges):
1506         (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
1507         (WebCore::CoordinatedGraphicsLayer::selfOrAncestorHasActiveTransformAnimation):
1508         (WebCore):
1509         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1510         (CoordinatedGraphicsLayer):
1511
1512 2012-11-19  Huang Dongsung  <luxtella@company100.net>
1513
1514         Coordinated Graphics: Remove a texture if an direct composited image is off the viewport.
1515         https://bugs.webkit.org/show_bug.cgi?id=102449
1516
1517         Reviewed by Noam Rosenthal.
1518
1519         Currently, once uploading textures for composited images, Coordinated Graphics
1520         does not release the textures until all layers using images are destroyed.
1521
1522         This patch removes a texture if we don't need to render an image. This mechanism
1523         is similar how TiledBackingStore removes invisible tiles.
1524
1525         When all layers are invisible, we wait 3 seconds to remove the content
1526         of the image, because we want to prevent a transform animation from
1527         creating and destroying a texture over and over again.
1528
1529         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
1530         (WebKit::CoordinatedBackingStore::removeAllTiles):
1531         (WebKit):
1532         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
1533         (CoordinatedBackingStore):
1534         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
1535         (WebKit::LayerTreeCoordinatorProxy::clearImageBackingContents):
1536         (WebKit):
1537         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
1538         (LayerTreeCoordinatorProxy):
1539         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
1540         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1541         (WebKit::LayerTreeRenderer::clearImageBackingContents):
1542         (WebKit):
1543         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
1544         (LayerTreeRenderer):
1545         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1546         (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
1547         (WebCore::CoordinatedGraphicsLayer::imageBackingVisible):
1548         (WebCore):
1549         (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
1550         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1551         (CoordinatedGraphicsLayer):
1552         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp:
1553         (WebKit::CoordinatedImageBacking::CoordinatedImageBacking):
1554         (WebKit::CoordinatedImageBacking::addHost):
1555         (WebKit::CoordinatedImageBacking::removeHost):
1556         (WebKit::CoordinatedImageBacking::update):
1557         (WebKit):
1558         (WebKit::CoordinatedImageBacking::updateVisibilityIfNeeded):
1559         (WebKit::CoordinatedImageBacking::clearContentsTimerFired):
1560         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h:
1561         (Coordinator):
1562         (Host):
1563         (CoordinatedImageBacking):
1564         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1565         (WebKit::LayerTreeCoordinator::clearImageBackingContents):
1566         (WebKit):
1567         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
1568         (LayerTreeCoordinator):
1569
1570 2012-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>
1571
1572         Unreviewed, rolling out r135201.
1573         http://trac.webkit.org/changeset/135201
1574         https://bugs.webkit.org/show_bug.cgi?id=102725
1575
1576         Broke all non-Mac WK2 builds. (Requested by rakuco on
1577         #webkit).
1578
1579         * Shared/mac/PlatformCertificateInfo.h:
1580         * Shared/mac/PlatformCertificateInfo.mm:
1581         (WebKit):
1582         * WebKit2.xcodeproj/project.pbxproj:
1583         * WebProcess/Authentication/AuthenticationManager.cpp:
1584         * WebProcess/Authentication/AuthenticationManager.h:
1585         (AuthenticationManager):
1586         * WebProcess/Authentication/mac/AuthenticationManager.mac.mm: Copied from Source/WebKit2/Shared/mac/PlatformCertificateInfo.mm.
1587         (WebKit):
1588         (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
1589
1590 2012-11-19  Brady Eidson  <beidson@apple.com>
1591
1592         Move tryUsePlatformCertificateInfoForChallenge from AuthenticationManager to PlatformCertificateInfo.
1593         https://bugs.webkit.org/show_bug.cgi?id=102718
1594
1595         Reviewed by Sam Weinig.
1596
1597         Add the shared PlatformCertificateInfo version of the method:
1598         * Shared/mac/PlatformCertificateInfo.h:
1599         * Shared/mac/PlatformCertificateInfo.mm:
1600         (WebKit::tryUsePlatformCertificateInfoForChallenge):
1601
1602         Use the new shared version:
1603         * WebProcess/Authentication/AuthenticationManager.cpp:
1604
1605         Remove the old member version:
1606         * WebProcess/Authentication/AuthenticationManager.h:
1607         * WebProcess/Authentication/mac/AuthenticationManager.mac.mm: Removed.
1608         * WebKit2.xcodeproj/project.pbxproj:
1609
1610 2012-11-19  Huang Dongsung  <luxtella@company100.net>
1611
1612         Coordinated Graphics: refactor syncCanvas to handle the lifecycle clearly.
1613         https://bugs.webkit.org/show_bug.cgi?id=102664
1614
1615         Reviewed by Noam Rosenthal.
1616
1617         This patch makes sync canvas code handle the lifecycle of the canvas
1618         GraphicsSurface in the similar style to a directly image compositing and
1619         an update atlas code. This patch moves the canvas lifecycle handling
1620         code from LayerTreeRenderer to CoordinatedGraphicsLayer, because
1621         CoordinatedGraphicsLayer knows best when to create and remove the canvas
1622         GraphicsSurface.
1623
1624         After this patch, we can remove the canvas GraphicsSurface in UI Process as soon
1625         as the canvas platform layer is unset in Web Process.
1626
1627         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
1628         (WebKit::LayerTreeCoordinatorProxy::createCanvas):
1629         (WebKit):
1630         (WebKit::LayerTreeCoordinatorProxy::syncCanvas):
1631         (WebKit::LayerTreeCoordinatorProxy::destroyCanvas):
1632         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
1633         (LayerTreeCoordinatorProxy):
1634         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
1635         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
1636         (WebKit::LayerTreeRenderer::createCanvas):
1637         (WebKit):
1638         (WebKit::LayerTreeRenderer::syncCanvas):
1639         (WebKit::LayerTreeRenderer::destroyCanvas):
1640         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
1641         (LayerTreeRenderer):
1642         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1643         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
1644         (WebCore::CoordinatedGraphicsLayer::setContentsNeedsDisplay):
1645         (WebCore::CoordinatedGraphicsLayer::setContentsToCanvas):
1646         (WebCore::CoordinatedGraphicsLayer::syncCanvas):
1647         (WebCore):
1648         (WebCore::CoordinatedGraphicsLayer::destroyCanvasIfNeeded):
1649         (WebCore::CoordinatedGraphicsLayer::createCanvasIfNeeded):
1650         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
1651         (CoordinatedGraphicsLayerClient):
1652         (CoordinatedGraphicsLayer):
1653         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
1654         (WebKit::LayerTreeCoordinator::createCanvas):
1655         (WebKit):
1656         (WebKit::LayerTreeCoordinator::syncCanvas):
1657         (WebKit::LayerTreeCoordinator::destroyCanvas):
1658         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
1659         (LayerTreeCoordinator):
1660
1661 2012-11-19  Brady Eidson  <beidson@apple.com>
1662
1663         Replace an unneeded #include with a forward declaration after r135179.
1664
1665         Reviewed by nobody, but suggested by Alexey Proskuryakov.
1666
1667         * WebProcess/Network/WebResourceLoader.h:
1668
1669 2012-11-19  Martin Robinson  <mrobinson@igalia.com>
1670
1671         [GTK] REGRESSION(r134955): Plugins are broken due to unresolved symbol in plugin process
1672         https://bugs.webkit.org/show_bug.cgi?id=102613
1673
1674         Unreviewed build fix.
1675
1676         * GNUmakefile.am: Fix the build after one of my previous patches introduced
1677         a link dependency on libsecret.
1678
1679 2012-11-19  Yael Aharon  <yael.aharon@intel.com>
1680
1681         [EFL][WK2] Web Inspector crashes if evas_gl is not available
1682         https://bugs.webkit.org/show_bug.cgi?id=102531
1683
1684         Reviewed by Kenneth Rohde Christiansen.
1685
1686         Teach Web Inspector to fallback gracefully to the software path when evas_gl engine is not available.
1687
1688         * UIProcess/efl/WebInspectorProxyEfl.cpp:
1689         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
1690
1691 2012-11-19  Brady Eidson  <beidson@apple.com>
1692
1693         Remove the source files for NetworkRequest from the repository.
1694         They were obsoleted and removed from the project file awhile ago, but I forgot to nuke the source.
1695
1696         Unreviewed.
1697
1698         * NetworkProcess/NetworkRequest.cpp: Removed.
1699         * NetworkProcess/NetworkRequest.h: Removed.
1700
1701 2012-11-19  Brady Eidson  <beidson@apple.com>
1702
1703         Add 64-bit specializations for atomicIncrement and atomicDecrement
1704         https://bugs.webkit.org/show_bug.cgi?id=102702
1705
1706         Reviewed by Eric Carlson.
1707
1708         Move away from the Darwin-specific OSAtomicIncrement64Barrier and use WTF::atomicIncrement instead.
1709
1710         * NetworkProcess/NetworkResourceLoader.cpp:
1711         (WebKit::generateWillSendRequestID): Adopt WTF::atomicIncrement.
1712         (WebKit::generateCanAuthenticateAgainstProtectionSpaceID): Ditto.
1713
1714         * WebProcess/mac/KeychainItemShimMethods.mm:
1715         (WebKit::generateSecKeychainItemRequestID): Ditto.
1716
1717         * WebProcess/mac/SecItemShimMethods.mm:
1718         (WebKit::generateSecItemRequestID): Ditto.
1719
1720 2012-11-19  Brady Eidson  <beidson@apple.com>
1721
1722         NetworkProcess Authentication.
1723         https://bugs.webkit.org/show_bug.cgi?id=102592
1724
1725         Reviewed by Alexey Proskuryakov.
1726
1727         This get's basic HTTP authentication working with the NetworkProcess by dispatching authentication
1728         related events to the WebProcess and relying on existing client APIs to answer them.
1729
1730         Implement ResourceHandleClient methods related to auth challenges and message them to the WebProcess.
1731         Also implement messaging back from the WebProcess to response to those auth challenges:
1732         * NetworkProcess/NetworkResourceLoader.cpp:
1733         (WebKit::willSendRequestResponseMap):
1734         (WebKit::NetworkResourceLoader::willSendRequest):
1735         (WebKit::NetworkResourceLoader::willSendRequestHandled):
1736         (WebKit::NetworkResourceLoader::shouldUseCredentialStorage):
1737         (WebKit::NetworkResourceLoader::didReceiveAuthenticationChallenge):
1738         (WebKit::NetworkResourceLoader::didCancelAuthenticationChallenge):
1739         (WebKit::NetworkResourceLoader::receivedCancellation):
1740         (WebKit::NetworkResourceLoader::receivedAuthenticationCredential):
1741         (WebKit::NetworkResourceLoader::receivedRequestToContinueWithoutAuthenticationCredential):
1742         (WebKit::NetworkResourceLoader::receivedAuthenticationCancellation):
1743         (WebKit::canAuthenticateAgainstProtectionSpaceResponseMap):
1744         (WebKit::generateCanAuthenticateAgainstProtectionSpaceID):
1745         (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpace):
1746         (WebKit::NetworkResourceLoader::canAuthenticateAgainstProtectionSpaceHandled):
1747         * NetworkProcess/NetworkResourceLoader.h:
1748         * NetworkProcess/NetworkResourceLoader.messages.in:
1749
1750         Implement messaging to response to auth challenges from the NetworkProcess, and implement
1751         AuthenticationClient to response to auth responses from WebProcess clients:
1752         * WebProcess/Network/WebResourceLoader.cpp:
1753         (WebKit::WebResourceLoader::canAuthenticateAgainstProtectionSpace):
1754         (WebKit::WebResourceLoader::didReceiveAuthenticationChallenge):
1755         (WebKit::WebResourceLoader::didCancelAuthenticationChallenge):
1756         (WebKit::WebResourceLoader::receivedCredential):
1757         (WebKit::WebResourceLoader::receivedRequestToContinueWithoutCredential):
1758         (WebKit::WebResourceLoader::receivedCancellation):
1759         * WebProcess/Network/WebResourceLoader.h:
1760         (WebKit::WebResourceLoader::refAuthenticationClient):
1761         (WebKit::WebResourceLoader::derefAuthenticationClient):
1762         * WebProcess/Network/WebResourceLoader.messages.in:
1763
1764         Add a BlockingResponseMap for bool responses, which don't need OwnPtr trickery:
1765         * Shared/BlockingResponseMap.h:
1766         (BlockingBoolResponseMap::waitForResponse):
1767         (BlockingBoolResponseMap::didReceiveResponse):
1768
1769         Add "allowsStoredCredentials" to NetworkResourceLoadParameters so the NetworkProcess
1770         already has the answer when the question is asked:
1771         * Shared/Network/NetworkResourceLoadParameters.cpp:
1772         (WebKit::NetworkResourceLoadParameters::NetworkResourceLoadParameters):
1773         (WebKit::NetworkResourceLoadParameters::encode):
1774         (WebKit::NetworkResourceLoadParameters::decode):
1775         * Shared/Network/NetworkResourceLoadParameters.h:
1776         (WebKit::NetworkResourceLoadParameters::allowStoredCredentials):
1777
1778         Grab the value for "allowsStoredCredentials" when scheduling the load in the NetworkProcess:
1779         * WebProcess/Network/WebResourceLoadScheduler.cpp:
1780         (WebKit::WebResourceLoadScheduler::scheduleLoad):
1781
1782         Add a FIXME for client certs:
1783         * WebProcess/Authentication/mac/AuthenticationManager.mac.mm:
1784         (WebKit::AuthenticationManager::tryUsePlatformCertificateInfoForChallenge):
1785
1786         Add a FIXME for downloads:
1787         * WebProcess/Downloads/mac/DownloadMac.mm:
1788
1789         Remove unused messaging related methods:
1790         * WebProcess/Network/NetworkProcessConnection.cpp:
1791         * WebProcess/Network/NetworkProcessConnection.h:
1792
1793 2012-11-19  Kihong Kwon  <kihong.kwon@samsung.com>
1794
1795         Add PROXIMITY_EVENTS feature
1796         https://bugs.webkit.org/show_bug.cgi?id=102658
1797
1798         Reviewed by Kentaro Hara.
1799
1800         Add PROXIMITY_EVENTS feature to xcode project for WebKit2.
1801
1802         * Configurations/FeatureDefines.xcconfig:
1803
1804 2012-11-19  Christophe Dumez  <christophe.dumez@intel.com>
1805
1806         [EFL][WK2] Fix possible crash in EwkViewImpl::displayTimerFired()
1807         https://bugs.webkit.org/show_bug.cgi?id=102682
1808
1809         Reviewed by Kenneth Rohde Christiansen.
1810
1811         Add NULL check for DrawingAreaProxy and LayerTreeCoordinatorProxy
1812         in displayTimerFired() to avoid crashing if those have already
1813         been destroyed by the time to timer is fired.
1814
1815         * UIProcess/API/efl/EwkViewImpl.cpp:
1816         (EwkViewImpl::layerTreeRenderer):
1817         (EwkViewImpl::displayTimerFired):
1818         (EwkViewImpl::createGLSurface):
1819         (EwkViewImpl::enterAcceleratedCompositingMode):
1820         * UIProcess/API/efl/EwkViewImpl.h:
1821         (WebKit):
1822         (EwkViewImpl):
1823
1824 2012-11-19  Christophe Dumez  <christophe.dumez@intel.com>
1825
1826         [WK2][WTR] Memory leak in TestController::initialize()
1827         https://bugs.webkit.org/show_bug.cgi?id=102616
1828
1829         Reviewed by Kenneth Rohde Christiansen.
1830
1831         Export a few additional WTF symbols for windows port.
1832
1833         * win/WebKit2.def:
1834
1835 2012-11-19  Carlos Garcia Campos  <cgarcia@igalia.com>
1836
1837         [GTK] Test /webkit2/WebKitWebView/create-ready-close is failing after r134586
1838         https://bugs.webkit.org/show_bug.cgi?id=102668
1839
1840         Reviewed by Philippe Normand.
1841
1842         Check only that window properties match when creating a new window
1843         if the expected window properties has been set. Also remove a
1844         FIXME and actually check that x and y are equal to the expected
1845         one, now that the issue is fixed.
1846
1847         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
1848
1849 2012-11-19  Balazs Kelemen  <kbalazs@webkit.org>
1850
1851         Unreviewed buildfix.
1852
1853         Fix -Wdelete-non-virtual-destructor error with gcc 4.7 after r135056.
1854
1855         * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:
1856         (WebCustomFilterProgramProxy): This is a polymorphic derived class
1857         so the destructor should be virtual.
1858
1859 2012-11-19  Christophe Dumez  <christophe.dumez@intel.com>
1860
1861         [CG][WK2] Assertion in CoordinatedGraphicsLayer::setContentsToImage(WebCore::Image*)
1862         https://bugs.webkit.org/show_bug.cgi?id=102652
1863
1864         Reviewed by Kenneth Rohde Christiansen.
1865
1866         Handle null return of nativeImageForCurrentFrame similarly to Chromium
1867         port in r130610. This can happen if there is an error early in the
1868         decoding of an image.
1869
1870         Test: Already covered by compositing/images/truncated-direct-png-image.html
1871
1872         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
1873         (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
1874
1875 2012-11-18  Jaehun Lim  <ljaehun.lim@samsung.com>
1876
1877         [EFL][WK2] Remove underscore characters in Ewk class names.
1878         https://bugs.webkit.org/show_bug.cgi?id=102641
1879
1880         Reviewed by Gyuyoung Kim.
1881
1882         WebKit EFL doesn't use '_' in C++ class names.
1883
1884         * UIProcess/API/efl/EwkViewCallbacks.h:
1885         * UIProcess/API/efl/EwkViewImpl.h:
1886         (EwkViewImpl::settings):
1887         (EwkViewImpl::backForwardList):
1888         (EwkViewImpl):
1889         * UIProcess/API/efl/ewk_auth_request.h:
1890         * UIProcess/API/efl/ewk_auth_request_private.h:
1891         * UIProcess/API/efl/ewk_back_forward_list.cpp:
1892         (EwkBackForwardList::EwkBackForwardList):
1893         (EwkBackForwardList::nextItem):
1894         (EwkBackForwardList::previousItem):
1895         (EwkBackForwardList::currentItem):
1896         (EwkBackForwardList::itemAt):
1897         (EwkBackForwardList::size):
1898         (EwkBackForwardList::backList):
1899         (EwkBackForwardList::forwardList):
1900         (EwkBackForwardList::getFromCacheOrCreate):
1901         (EwkBackForwardList::createEinaList):
1902         (EwkBackForwardList::update):
1903         * UIProcess/API/efl/ewk_back_forward_list.h:
1904         * UIProcess/API/efl/ewk_back_forward_list_item.h:
1905         * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
1906         * UIProcess/API/efl/ewk_back_forward_list_private.h:
1907         (EwkBackForwardList::create):
1908         (EwkBackForwardList):
1909         * UIProcess/API/efl/ewk_color_picker.cpp:
1910         (EwkColorPicker::EwkColorPicker):
1911         (EwkColorPicker::setColor):
1912         (EwkColorPicker::color):
1913         * UIProcess/API/efl/ewk_color_picker.h:
1914         * UIProcess/API/efl/ewk_color_picker_private.h:
1915         (EwkColorPicker::create):
1916         (EwkColorPicker):
1917         * UIProcess/API/efl/ewk_context.h:
1918         * UIProcess/API/efl/ewk_context_private.h:
1919         * UIProcess/API/efl/ewk_cookie_manager.cpp:
1920         (EwkCookieManager::EwkCookieManager):
1921         (EwkCookieManager::~EwkCookieManager):
1922         (EwkCookieManager::setPersistentStorage):
1923         (EwkCookieManager::setHTTPAcceptPolicy):
1924         (EwkCookieManager::clearHostnameCookies):
1925         (EwkCookieManager::clearAllCookies):
1926         (EwkCookieManager::watchChanges):
1927         (EwkCookieManager::isWatchingForChanges):
1928         (EwkCookieManager::getHostNamesWithCookies):
1929         (EwkCookieManager::getHTTPAcceptPolicy):
1930         (EwkCookieManager::cookiesDidChange):
1931         * UIProcess/API/efl/ewk_cookie_manager.h:
1932         * UIProcess/API/efl/ewk_cookie_manager_private.h:
1933         (EwkCookieManager::create):
1934         (EwkCookieManager):
1935         * UIProcess/API/efl/ewk_database_manager.cpp:
1936         (EwkDatabaseManager::EwkDatabaseManager):
1937         (EwkDatabaseManager::getDatabaseOrigins):
1938         (EwkDatabaseManager::createOriginList):
1939         * UIProcess/API/efl/ewk_database_manager.h:
1940         * UIProcess/API/efl/ewk_database_manager_private.h:
1941         (EwkDatabaseManager::create):
1942         (EwkDatabaseManager):
1943         * UIProcess/API/efl/ewk_download_job.h:
1944         * UIProcess/API/efl/ewk_download_job_private.h:
1945         * UIProcess/API/efl/ewk_error.cpp:
1946         (EwkError::EwkError):
1947         (EwkError::url):
1948         (EwkError::description):
1949         (EwkError::domain):
1950         (EwkError::errorCode):
1951         (EwkError::isCancellation):
1952         * UIProcess/API/efl/ewk_error.h:
1953         * UIProcess/API/efl/ewk_error_private.h:
1954         (EwkError::create):
1955         (EwkError):
1956         * UIProcess/API/efl/ewk_favicon_database.cpp:
1957         (EwkFaviconDatabase::EwkFaviconDatabase):
1958         (EwkFaviconDatabase::~EwkFaviconDatabase):
1959         (EwkFaviconDatabase::iconURLForPageURL):
1960         (EwkFaviconDatabase::watchChanges):
1961         (EwkFaviconDatabase::unwatchChanges):
1962         (EwkFaviconDatabase::iconForPageURL):
1963         (EwkFaviconDatabase::didChangeIconForPageURL):
1964         (EwkFaviconDatabase::getIconSurfaceSynchronously):
1965         (EwkFaviconDatabase::iconDataReadyForPageURL):
1966         * UIProcess/API/efl/ewk_favicon_database.h:
1967         * UIProcess/API/efl/ewk_favicon_database_private.h:
1968         (EwkFaviconDatabase::create):
1969         (EwkFaviconDatabase):
1970         * UIProcess/API/efl/ewk_file_chooser_request.h:
1971         * UIProcess/API/efl/ewk_file_chooser_request_private.h:
1972         * UIProcess/API/efl/ewk_form_submission_request.h:
1973         * UIProcess/API/efl/ewk_form_submission_request_private.h:
1974         * UIProcess/API/efl/ewk_intent.h:
1975         * UIProcess/API/efl/ewk_intent_private.h:
1976         * UIProcess/API/efl/ewk_intent_service.h:
1977         * UIProcess/API/efl/ewk_intent_service_private.h:
1978         * UIProcess/API/efl/ewk_navigation_data.h:
1979         * UIProcess/API/efl/ewk_navigation_data_private.h:
1980         * UIProcess/API/efl/ewk_navigation_policy_decision.h:
1981         * UIProcess/API/efl/ewk_navigation_policy_decision_private.h:
1982         * UIProcess/API/efl/ewk_object.h:
1983         * UIProcess/API/efl/ewk_object_private.h:
1984         (EwkObject::~EwkObject):
1985         (ewk_object_is_of_type):
1986         (ewk_object_cast_check):
1987         (ewk_object_cast):
1988         * UIProcess/API/efl/ewk_popup_menu.cpp:
1989         (EwkPopupMenu::EwkPopupMenu):
1990         (EwkPopupMenu::~EwkPopupMenu):
1991         (EwkPopupMenu::close):
1992         (EwkPopupMenu::items):
1993         (EwkPopupMenu::selectedIndex):
1994         (EwkPopupMenu::setSelectedIndex):
1995         * UIProcess/API/efl/ewk_popup_menu.h:
1996         * UIProcess/API/efl/ewk_popup_menu_item.cpp:
1997         (EwkPopupMenuItem::EwkPopupMenuItem):
1998         (EwkPopupMenuItem::type):
1999         (EwkPopupMenuItem::textDirection):
2000         (EwkPopupMenuItem::text):
2001         (EwkPopupMenuItem::tooltipText):
2002         (EwkPopupMenuItem::accessibilityText):
2003         (EwkPopupMenuItem::hasTextDirectionOverride):
2004         (EwkPopupMenuItem::isEnabled):
2005         (EwkPopupMenuItem::isLabel):
2006         (EwkPopupMenuItem::isSelected):
2007         * UIProcess/API/efl/ewk_popup_menu_item.h:
2008         * UIProcess/API/efl/ewk_popup_menu_item_private.h:
2009         (EwkPopupMenuItem::create):
2010         (EwkPopupMenuItem):
2011         * UIProcess/API/efl/ewk_popup_menu_private.h:
2012         (EwkPopupMenu::create):
2013         (EwkPopupMenu):
2014         * UIProcess/API/efl/ewk_resource.h:
2015         * UIProcess/API/efl/ewk_resource_private.h:
2016         * UIProcess/API/efl/ewk_security_origin.h:
2017         * UIProcess/API/efl/ewk_security_origin_private.h:
2018         * UIProcess/API/efl/ewk_settings.cpp:
2019         (EwkSettings::preferences):
2020         * UIProcess/API/efl/ewk_settings.h:
2021         * UIProcess/API/efl/ewk_settings_private.h:
2022         (EwkSettings::create):
2023         (EwkSettings::EwkSettings):
2024         * UIProcess/API/efl/ewk_storage_manager.cpp:
2025         (EwkStorageManager::EwkStorageManager):
2026         (EwkStorageManager::getStorageOrigins):
2027         (EwkStorageManager::createOriginList):
2028         * UIProcess/API/efl/ewk_storage_manager.h:
2029         * UIProcess/API/efl/ewk_storage_manager_private.h:
2030         (EwkStorageManager::create):
2031         (EwkStorageManager):
2032         * UIProcess/API/efl/ewk_url_request.h:
2033         * UIProcess/API/efl/ewk_url_request_private.h:
2034         * UIProcess/API/efl/ewk_url_response.h:
2035         * UIProcess/API/efl/ewk_url_response_private.h:
2036         * UIProcess/API/efl/ewk_url_scheme_request.h:
2037         * UIProcess/API/efl/ewk_url_scheme_request_private.h:
2038         * UIProcess/API/efl/tests/test_ewk2_object.cpp:
2039         (TEST_F):
2040
2041 2012-11-18  Yael Aharon  <yael.aharon@intel.com>
2042
2043         [EFL][WK2] Wrong transform when using software path.
2044         https://bugs.webkit.org/show_bug.cgi?id=102549
2045
2046         Reviewed by Kenneth Rohde Christiansen.
2047
2048         When using the software path, our transform is not correct and results 
2049         in drawing the wrong part of the page. This becomes more obvious after scrolling.
2050
2051         * UIProcess/efl/WebInspectorProxyEfl.cpp:
2052         (WebKit::WebInspectorProxy::platformCreateInspectorPage):
2053
2054 2012-11-18  Carlos Garcia Campos  <cgarcia@igalia.com>
2055
2056         [WK2] REGRESSION: After web process crash a new web process is created for every existing page
2057         https://bugs.webkit.org/show_bug.cgi?id=102520
2058
2059         Reviewed by Alexey Proskuryakov.
2060
2061         When process model is SharedSecondaryProcess a new shared process
2062         should be created instead of a new process per page.
2063
2064         * UIProcess/WebContext.cpp:
2065         (WebKit::WebContext::ensureSharedWebProcess): Ensure a shared web
2066         process and return it.
2067         (WebKit::WebContext::createWebPage): Update to change in
2068         ensureSharedWebProcess() that returns the shared web process now.
2069         * UIProcess/WebContext.h:
2070         (WebContext): Remove relaunchProcessIfNecessary().
2071         (WebKit::WebContext::sendToAllProcessesRelaunchingThemIfNecessary):
2072         Use ensureSharedWebProcess() instead of relaunchProcessIfNecessary().
2073         * UIProcess/WebPageProxy.cpp:
2074         (WebKit::WebPageProxy::reattachToWebProcess): Ensure a shared web
2075         process for SharedSecondaryProcess model or create a new web
2076         process for multi-process models.
2077
2078 2012-11-17  Raphael Kubo da Costa  <raphael.kubo.da.costa@intel.com>
2079
2080         Remove 8-bit related assertion from NetscapePluginModuleX11.
2081         https://bugs.webkit.org/show_bug.cgi?id=102588
2082
2083         Reviewed by Andreas Kling.
2084
2085         Follow-up to r135043: since String::fromUTF8() is not guaranteed
2086         to give us a 16-bit string, the assertion in
2087         truncateToSingleLine() will fail in that case.
2088
2089         This should make the EFL WK2 Debug bot stop failing all
2090         plugin-related tests because "WebKit Test Plugin" is returned as
2091         an 8-bit string.
2092
2093         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2094         (WebKit::truncateToSingleLine):
2095
2096 2012-11-17  Alexandru Chiculita  <achicu@adobe.com>
2097
2098         [Texmap][CSS Shaders] Reuse the precompiled shader for custom filters in TextureMapperGL
2099         https://bugs.webkit.org/show_bug.cgi?id=101801
2100
2101         Reviewed by Noam Rosenthal.
2102
2103         Changed the encoding code for ValidatedCustomFilterOperation to only encode the ID of the program.
2104         LayerTreeCoordinator makes sure to send the programs in full before the encoder runs.
2105         LayerTreeRenderer will maintain a HashMap from these IDs to the real CustomFilterProgram.
2106         The UI process will also receive a message from the WebProcess when the shader is no longer in needed.
2107         LayerTreeRenderer calls the TextureMapper's removeCachedCustomFilterProgram to notify
2108         about the removed CustomFilterProgram.
2109
2110         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2111         (CoreIPC::::encode):
2112         (CoreIPC::::decode):
2113         (CoreIPC):
2114         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.h:
2115         (WebCore):
2116         * Shared/CoordinatedGraphics/WebCustomFilterOperation.h: Added.
2117         (WebCore):
2118         (WebCustomFilterOperation):
2119         (WebCore::WebCustomFilterOperation::create):
2120         (WebCore::WebCustomFilterOperation::programID):
2121         (WebCore::WebCustomFilterOperation::WebCustomFilterOperation):
2122         * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:
2123         (WebKit::WebCustomFilterProgramProxy::create):
2124         (WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):
2125         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
2126         (WebKit):
2127         (WebKit::LayerTreeCoordinatorProxy::removeCustomFilterProgram):
2128         (WebKit::LayerTreeCoordinatorProxy::createCustomFilterProgram):
2129         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
2130         (LayerTreeCoordinatorProxy):
2131         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
2132         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2133         (WebKit::LayerTreeRenderer::setLayerFilters):
2134         (WebKit):
2135         (WebKit::LayerTreeRenderer::injectCachedCustomFilterPrograms):
2136         (WebKit::LayerTreeRenderer::createCustomFilterProgram):
2137         (WebKit::LayerTreeRenderer::removeCustomFilterProgram):
2138         (WebKit::LayerTreeRenderer::setLayerAnimations):
2139         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2140         (WebCore):
2141         (LayerTreeRenderer):
2142         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2143         (WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
2144         (WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
2145         (WebKit::LayerTreeCoordinator::setLayerAnimations):
2146
2147 2012-11-17  Brady Eidson  <beidson@apple.com>
2148
2149         Add an integer identifier field to AuthenticationChallengeBase.
2150         https://bugs.webkit.org/show_bug.cgi?id=102593
2151
2152         Reviewed by Darin Adler.
2153
2154         Properly encode/decode the identifier when sending the challenge over CoreIPC.
2155
2156         * Shared/WebCoreArgumentCoders.cpp:
2157         (CoreIPC::::encode):
2158         (CoreIPC::::decode):
2159
2160 2012-11-17  Balazs Kelemen  <kbalazs@webkit.org>
2161
2162         8bit-unaware String usage in NetscapePluginModuleX11.cpp
2163         https://bugs.webkit.org/show_bug.cgi?id=102482
2164
2165         Reviewed by Michael Saboff.
2166
2167         String::fromUTF8 is not guaranteed to give a 16 bit string.
2168
2169         * Shared/Plugins/Netscape/x11/NetscapePluginModuleX11.cpp:
2170         (WebKit::truncateToSingleLine): Do an explicit 16 bit conversion.
2171
2172 2012-11-16  Jaehun Lim  <ljaehun.lim@samsung.com>
2173
2174         [EFL][WK2] Remove unnecessary #include statemtns
2175         https://bugs.webkit.org/show_bug.cgi?id=102577
2176
2177         Reviewed by Anders Carlsson.
2178
2179         ewk_*_private.h doesn't need to include RefCounted.h after Ewk_Object refactoring.
2180
2181         * UIProcess/API/efl/ewk_auth_request_private.h:
2182         * UIProcess/API/efl/ewk_database_manager.cpp:
2183         * UIProcess/API/efl/ewk_file_chooser_request_private.h:
2184         * UIProcess/API/efl/ewk_form_submission_request_private.h:
2185         * UIProcess/API/efl/ewk_navigation_data_private.h:
2186         * UIProcess/API/efl/ewk_resource_private.h:
2187         * UIProcess/API/efl/ewk_storage_manager.cpp:
2188
2189 2012-11-16  Sam Weinig  <weinig@apple.com>
2190
2191         Fix the windows build.
2192
2193         * WebProcess/Cookies/cf/WebCookieManagerCFNet.cpp:
2194         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy):
2195         (WebKit::WebCookieManager::platformGetHTTPCookieAcceptPolicy):
2196         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2197         (WebKit::InjectedBundle::setPrivateBrowsingEnabled):
2198         (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession):
2199         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2200         (WebKit::WebPlatformStrategies::defaultCookieStorage):
2201         * WebProcess/WebCoreSupport/win/WebFrameNetworkingContext.h:
2202         (WebFrameNetworkingContext):
2203         * WebProcess/WebPage/WebPage.cpp:
2204         (WebKit::WebPage::updatePreferences):
2205         * WebProcess/WebPage/win/WebPageWin.cpp:
2206         (WebKit::cachedResponseForURL):
2207         * WebProcess/WebProcess.cpp:
2208         (WebKit::WebProcess::initializeWebProcess):
2209         * WebProcess/win/WebProcessWin.cpp:
2210         (WebKit::WebProcess::platformSetCacheModel):
2211         (WebKit::WebProcess::platformClearResourceCaches):
2212         (WebKit::WebProcess::platformInitializeWebProcess):
2213
2214 2012-11-16  Alec Flett  <alecflett@chromium.org>
2215
2216         Add tests for explicit serialization values
2217         https://bugs.webkit.org/show_bug.cgi?id=96818
2218
2219         Reviewed by Adam Barth.
2220
2221         Add exports for SerializedScriptValue changes.
2222
2223         * win/WebKit2.def:
2224         * win/WebKit2CFLite.def:
2225
2226 2012-11-16  Kiran Muppala  <cmuppala@apple.com>
2227
2228         Set task priority of WebKit2 processes to zero on Mac
2229         https://bugs.webkit.org/show_bug.cgi?id=102567
2230
2231         Reviewed by Mark Rowe.
2232
2233         Explicitly set task priority of WebKit2 processes to zero, to
2234         override automatic priority determination by the system.
2235
2236         * Shared/ChildProcess.cpp:
2237         (WebKit::ChildProcess::ChildProcess): Add call to platformInitialize() and
2238         move MAC specific call to disableProcessSuppression to platformInitialize.
2239         (WebKit::ChildProcess::platformInitialize): Dummy for non MAC platforms.
2240         * Shared/ChildProcess.h:
2241         * Shared/mac/ChildProcessMac.mm:
2242         (WebKit::ChildProcess::platformInitialize): Add call to setpriority().
2243
2244 2012-11-16  Brady Eidson  <beidson@apple.com>
2245
2246         Move resource loader messaging from NetworkConnectionToWebProcess directly to NetworkResourceLoader
2247         https://bugs.webkit.org/show_bug.cgi?id=102570
2248
2249         Reviewed by Alexey Proskuryakov.
2250
2251         This patch adds the ability for WebResourceLoader to message NetworkResourceLoader directly.
2252
2253         This further cements the 1-to-1 relationship between the two classes and makes it easy to add/change
2254         loader related messaging going forward.
2255
2256         Build/infrastructure stuff:
2257         * Platform/CoreIPC/MessageID.h:
2258         * WebKit2.xcodeproj/project.pbxproj:
2259         * DerivedSources.make:
2260
2261         Remove the WillSendRequestHandled message, and forward NetworkResourceLoader messages on to the correct object:
2262         * NetworkProcess/NetworkConnectionToWebProcess.cpp:
2263         (WebKit::NetworkConnectionToWebProcess::didReceiveMessage):
2264         * NetworkProcess/NetworkConnectionToWebProcess.h:
2265         * NetworkProcess/NetworkConnectionToWebProcess.messages.in:
2266
2267         Hang on to a master map of identifiers to NetworkResourceLoaders:
2268         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
2269         (WebKit::NetworkResourceLoadScheduler::scheduleResourceLoad):
2270         (WebKit::NetworkResourceLoadScheduler::removeLoadIdentifier):
2271         (WebKit::NetworkResourceLoadScheduler::networkResourceLoaderForIdentifier):
2272         * NetworkProcess/NetworkResourceLoadScheduler.h:
2273
2274         Change the way "willSendRequestHandled" comes in to be a direct message:
2275         * NetworkProcess/NetworkResourceLoader.cpp:
2276         (WebKit::NetworkResourceLoader::willSendRequest):
2277         (WebKit::NetworkResourceLoader::willSendRequestHandled):
2278         * NetworkProcess/NetworkResourceLoader.h:
2279         * NetworkProcess/NetworkResourceLoader.messages.in:
2280
2281         Make WebResourceLoader a MessageSender:
2282         * WebProcess/Network/WebResourceLoader.cpp:
2283         (WebKit::WebResourceLoader::connection):
2284         (WebKit::WebResourceLoader::destinationID):
2285         (WebKit::WebResourceLoader::willSendRequest): Use MessageSender abilities to message the NetworkResourceLoader.
2286         * WebProcess/Network/WebResourceLoader.h:
2287
2288 2012-11-16  Tony Chang  <tony@chromium.org>
2289
2290         Remove ENABLE_CSS_HIERARCHIES since it's no longer in use
2291         https://bugs.webkit.org/show_bug.cgi?id=102554
2292
2293         Reviewed by Andreas Kling.
2294
2295         As mentioned in https://bugs.webkit.org/show_bug.cgi?id=79939#c41 ,
2296         we're going to revist this feature once additional vendor support is
2297         achieved.
2298
2299         * Configurations/FeatureDefines.xcconfig:
2300
2301 2012-11-16  Brent Fulgham  <bfulgham@webkit.org>
2302
2303         [WinCairo] Build correction after r134960.
2304
2305         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:  Stub out
2306         calls to CFNetwork-based implementation.
2307
2308 2012-11-16  Martin Robinson  <mrobinson@igalia.com>
2309
2310         Move authentication dialog to the UIProcess
2311
2312         [GTK] [WebKit2] Move GtkAuthenticationDialog to the UIProcess
2313         https://bugs.webkit.org/show_bug.cgi?id=101843
2314
2315         Reviewed by Gustavo Noronha Silva.
2316
2317         Move the use of GtkAuthenticationDialog to the UIProcess along with the rest of
2318         the GTK+ widgets. This will allow us to to embed the dialog into the WebView
2319         in the future and to test authentication with the WebKit2 C API.
2320
2321         * GNUmakefile.list.am: Add the new class to the source list and remove the
2322         GTK+-only WebFrameLoader implementation file.
2323         * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.cpp: Added. A subclass of GtkAuthenticationDialog
2324         which uses the WebKit2 classes to do the UIProcess-side authentication.
2325         * UIProcess/API/gtk/WebKit2GtkAuthenticationDialog.h: Added.
2326         * UIProcess/API/gtk/WebKitLoaderClient.cpp: Add a callback for didReceiveAuthenticationChallengeInFrame.
2327         (didReceiveAuthenticationChallengeInFrame): Added.
2328         (attachLoaderClientToView): Use the new callback.
2329         * UIProcess/Authentication/AuthenticationChallengeProxy.h:
2330         (WebKit::AuthenticationChallengeProxy::core): Add this getter for the WebCore class.
2331         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2332         (WebKit::WebFrameLoaderClient::dispatchDidReceiveAuthenticationChallenge): Share the implementation
2333         again.
2334         * WebProcess/WebCoreSupport/gtk/WebFrameLoaderClientGtk.cpp: Removed.
2335
2336 2012-11-15  Alexey Proskuryakov  <ap@apple.com>
2337
2338         Private Browsing is a per-page setting that sets a global value
2339         https://bugs.webkit.org/show_bug.cgi?id=67870
2340
2341         Reviewed by Sam Weinig.
2342
2343         * NetworkProcess/mac/RemoteNetworkingContext.h: Added storageSession().
2344
2345         * NetworkProcess/mac/RemoteNetworkingContext.mm:
2346         (WebKit::RemoteNetworkingContext::storageSession): Just always fall back to default
2347         so far.
2348
2349         * WebKit2.xcodeproj/project.pbxproj: Added WebPlatformStrategiesMac.mm for strategy
2350         code that uses Objective C.
2351
2352         * WebProcess/Cookies/mac/WebCookieManagerMac.mm:
2353         (WebKit::WebCookieManager::platformSetHTTPCookieAcceptPolicy): Use WebFrameNetworkingContext
2354         instead of hardcoding access to sessiosn here.
2355
2356         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2357         (WebKit::InjectedBundle::setPrivateBrowsingEnabled): Create and destroy private
2358         browsing session as appropriate.
2359         (WebKit::InjectedBundle::switchNetworkLoaderToNewTestingSession): Use WebFrameNetworkingContext
2360         instead of hardcoding access to sessiosn here.
2361
2362         * WebProcess/WebCoreSupport/WebPlatformStrategies.h:
2363         * WebProcess/WebCoreSupport/mac/WebPlatformStrategiesMac.mm: Added.
2364         (WebKit::WebPlatformStrategies::defaultCookieStorage):
2365         * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
2366         (WebKit::WebPlatformStrategies::defaultCookieStorage):
2367         Implemented defaultCookieStorage() through WebFrameNetworkingContext.
2368
2369         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h:
2370         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
2371         Moved code for dealing with global contexts here from WebCore.
2372
2373         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences):
2374         Create a global private session when any page enters private browsing, and
2375         delete it when any page exits private browsing. This is handling a preference
2376         change, so all pages get it once.
2377
2378         * WebProcess/WebPage/mac/WebPageMac.mm:
2379         (WebKit::WebPage::platformHasLocalDataForURL): Use main frame's context.
2380         (WebKit::cachedResponseForURL): Ditto.
2381
2382         * WebProcess/WebProcess.cpp: (WebKit::WebProcess::initializeWebProcess): Updated
2383         to talk to WebFrameNetworkingContext instead of ResourceHandle for global session.
2384
2385 2012-11-16  Viatcheslav Ostapenko  <v.ostapenko@samsung.com>
2386
2387         [EFL][WK2] White flicker when scrolling big pages with dark background on slower hardware.
2388         https://bugs.webkit.org/show_bug.cgi?id=102000
2389
2390         Reviewed by Kenneth Rohde Christiansen.
2391
2392         Add matching of view background color to the page background. This helps to reduce 
2393         visibility of flicker during scrolling/scaling/repainting where page tiles are not
2394         ready. View background color matching is disabled by default and can be enabled 
2395         with new API function ewk_view_draws_page_background_set .
2396         View background color can interfere with semi-transparent pages and should be
2397         disabled by default.
2398         Upstreaming changes by Youngtaeck Song(youngtaeck.song@samsung.com).
2399
2400         * UIProcess/API/efl/EwkViewImpl.cpp:
2401         (EwkViewImpl::EwkViewImpl):
2402         (EwkViewImpl::displayTimerFired):
2403         * UIProcess/API/efl/EwkViewImpl.h:
2404         (EwkViewImpl::setDrawsBackground):
2405         (EwkViewImpl):
2406         * UIProcess/API/efl/ewk_view.cpp:
2407         (ewk_view_draws_page_background_set):
2408         * UIProcess/API/efl/ewk_view.h:
2409         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
2410         (WebKit::LayerTreeCoordinatorProxy::setBackgroundColor):
2411         (WebKit):
2412         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
2413         (LayerTreeCoordinatorProxy):
2414         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
2415         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2416         (WebKit::LayerTreeRenderer::LayerTreeRenderer):
2417         (WebKit::LayerTreeRenderer::paintToCurrentGLContext):
2418         (WebKit::LayerTreeRenderer::paintToGraphicsContext):
2419         (WebKit::LayerTreeRenderer::setBackgroundColor):
2420         (WebKit):
2421         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2422         (LayerTreeRenderer):
2423         (WebKit::LayerTreeRenderer::setDrawsBackground):
2424         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2425         (WebKit::LayerTreeCoordinator::setBackgroundColor):
2426         (WebKit):
2427         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2428         (LayerTreeCoordinator):
2429         * WebProcess/WebPage/LayerTreeHost.h:
2430         (WebKit::LayerTreeHost::setBackgroundColor):
2431         * WebProcess/WebPage/WebPage.cpp:
2432         (WebKit::WebPage::WebPage):
2433         (WebKit::WebPage::mainFrameDidLayout):
2434         * WebProcess/WebPage/WebPage.h:
2435         (WebPage):
2436
2437 2012-11-16  Krzysztof Czech  <k.czech@samsung.com>
2438
2439         [WK2][GTK][EFL] Share WebKit2-GTK's WebProcess Accessibility implementation with other WebKit ports.
2440         https://bugs.webkit.org/show_bug.cgi?id=101748
2441
2442         Reviewed by Martin Robinson.
2443
2444         Remove and rename files related to Accessibility from WebPage/gtk to WebPage/atk.
2445
2446         * GNUmakefile.am:
2447         * GNUmakefile.list.am:
2448         * WebProcess/WebPage/atk/WebPageAccessibilityObject.h: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/WebPageAccessibilityObject.h.
2449         (WebKit):
2450         (_WebPageAccessibilityObject):
2451         (_WebPageAccessibilityObjectClass):
2452         * WebProcess/WebPage/atk/WebPageAccessibilityObjectAtk.cpp: Renamed from Source/WebKit2/WebProcess/WebPage/gtk/WebPageAccessibilityObject.cpp.
2453         (accessibilityRootObjectWrapper):
2454         (webPageAccessibilityObjectInitialize):
2455         (webPageAccessibilityObjectGetIndexInParent):
2456         (webPageAccessibilityObjectGetNChildren):
2457         (webPageAccessibilityObjectRefChild):
2458         (web_page_accessibility_object_init):
2459         (web_page_accessibility_object_class_init):
2460         (webPageAccessibilityObjectNew):
2461         (webPageAccessibilityObjectRefresh):
2462
2463 2012-11-16  Alexandru Chiculita  <achicu@adobe.com>
2464
2465         [Texmap][CSS Shaders] Make the CustomFilterValidatedProgram maintain the platform compiled program
2466         https://bugs.webkit.org/show_bug.cgi?id=102414
2467
2468         Reviewed by Noam Rosenthal.
2469
2470         This is the first part of shader caching implementation for the Custom Filters in WK2 LayerTreeCoordinator.
2471         In this patch it will just make the LayerTreeCoordinator knowledgeable about the life-time
2472         of the custom filter programs. It can allocate IDs for the filters and it also gets a callback when the
2473         filters are not needed anymore.
2474
2475         The UI process is still recreating the shader every time, but https://bugs.webkit.org/show_bug.cgi?id=101801
2476         will fix that and try to reuse existing custom filters.
2477
2478         * CMakeLists.txt:
2479         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
2480         (CoreIPC::::encode):
2481         * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.cpp: Added.
2482         (WebKit):
2483         (WebKit::WebCustomFilterProgramProxy::~WebCustomFilterProgramProxy):
2484         * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h: Added.
2485         (WebKit):
2486         (WebCustomFilterProgramProxyClient):
2487         (WebCustomFilterProgramProxy):
2488         (WebKit::WebCustomFilterProgramProxy::create):
2489         (WebKit::WebCustomFilterProgramProxy::id):
2490         (WebKit::WebCustomFilterProgramProxy::refFromValidatedProgram):
2491         (WebKit::WebCustomFilterProgramProxy::derefFromValidatedProgram):
2492         (WebKit::WebCustomFilterProgramProxy::setClient):
2493         (WebKit::WebCustomFilterProgramProxy::client):
2494         (WebKit::WebCustomFilterProgramProxy::WebCustomFilterProgramProxy):
2495         * Target.pri:
2496         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2497         (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
2498         (WebKit::LayerTreeCoordinator::syncLayerFilters):
2499         (WebKit):
2500         (WebKit::LayerTreeCoordinator::checkCustomFilterProgramProxies):
2501         (WebKit::LayerTreeCoordinator::removeCustomFilterProgramProxy):
2502         (WebKit::LayerTreeCoordinator::disconnectCustomFilterPrograms):
2503         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2504         (LayerTreeCoordinator):
2505
2506 2012-11-16  Peter Gal  <galpeter@inf.u-szeged.hu>
2507
2508         [Qt][Mac] Fix the build after r124873
2509         https://bugs.webkit.org/show_bug.cgi?id=102475
2510
2511         Reviewed by Noam Rosenthal.
2512
2513         Change the CoordinatedImageBackingID typedef from uintptr_t to uint64_t.
2514
2515         * Shared/WebLayerTreeInfo.h:
2516         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
2517
2518 2012-11-16  Sudarsana Nagineni  <sudarsana.nagineni@intel.com>
2519
2520         [EFL][WK2] Unset the tooltip when the web process has crashed
2521         https://bugs.webkit.org/show_bug.cgi?id=102232
2522
2523         Reviewed by Gyuyoung Kim.
2524
2525         Emit 'tooltip,text,unset' signal to unset the tooltip
2526         when the web process has crashed.
2527
2528         * UIProcess/efl/PageClientBase.cpp:
2529         (WebKit::PageClientBase::processDidCrash):
2530
2531 2012-11-16  Helder Correia  <helder.correia@nokia.com>
2532
2533         [CoordGfx] Follow coding style on explicit constructors
2534         https://bugs.webkit.org/show_bug.cgi?id=102451
2535
2536         Reviewed by Noam Rosenthal.
2537
2538         Use the explicit keyword on single argument constructors.
2539
2540         No new tests needed.
2541
2542         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.h:
2543         (WebKit::CoordinatedBackingStoreTile::CoordinatedBackingStoreTile):
2544         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedTile.h:
2545         (CoordinatedTileBackend):
2546
2547 2012-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2548
2549         Unreviewed, rolling out r134908.
2550         http://trac.webkit.org/changeset/134908
2551         https://bugs.webkit.org/show_bug.cgi?id=102473
2552
2553         Broke the Apple Windows Debug build. (Requested by dydx on
2554         #webkit).
2555
2556         * win/WebKit2.def:
2557         * win/WebKit2CFLite.def:
2558
2559 2012-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2560
2561         Unreviewed, rolling out r134913.
2562         http://trac.webkit.org/changeset/134913
2563         https://bugs.webkit.org/show_bug.cgi?id=102472
2564
2565         Incorrect fix. (Requested by dydx on #webkit).
2566
2567         * win/WebKit2.def:
2568         * win/WebKit2CFLite.def:
2569
2570 2012-11-16  Daniel Bates  <dbates@webkit.org>
2571
2572         Attempt to fix the Apple Windows Debug build after http://trac.webkit.org/changeset/134908
2573         (https://bugs.webkit.org/show_bug.cgi?id=102354).
2574
2575         Add symbol.
2576
2577         * win/WebKit2.def:
2578         * win/WebKit2CFLite.def:
2579
2580 2012-11-16  KyungTae Kim  <ktf.kim@samsung.com>
2581
2582         [WK2] Bug on ASSERT code in CoordinatedBackingStore.cpp
2583         https://bugs.webkit.org/show_bug.cgi?id=102465
2584
2585         Reviewed by Noam Rosenthal.
2586
2587         The ASSERT code should be fixed because the 'operator>=' is not defined for WebCore::IntSize.
2588
2589         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
2590         (WebKit::CoordinatedBackingStoreTile::swapBuffers):
2591
2592 2012-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
2593
2594         Unreviewed, rolling out r134865.
2595         http://trac.webkit.org/changeset/134865
2596         https://bugs.webkit.org/show_bug.cgi?id=102466
2597
2598         Broke the Apple Windows Debug build. (Requested by dydx on
2599         #webkit).
2600
2601         * win/WebKit2.def:
2602         * win/WebKit2CFLite.def:
2603
2604 2012-11-16  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2605
2606         Avoid copying of ViewportArguments in computeViewportAttributes function
2607         https://bugs.webkit.org/show_bug.cgi?id=102354
2608
2609         Reviewed by Kenneth Rohde Christiansen.
2610
2611         Update exported symbols.
2612
2613         * win/WebKit2.def:
2614         * win/WebKit2CFLite.def:
2615
2616 2012-11-15  Huang Dongsung  <luxtella@company100.net>
2617
2618         Coordinated Graphics: Refactor code related to directly composited images.
2619         https://bugs.webkit.org/show_bug.cgi?id=101023
2620
2621         Reviewed by Noam Rosenthal.
2622
2623         Internal Review by Gwang Yoon Hwang and Jae Hyun Park.
2624
2625         Currently, LayerTreeCoordinator manages composited images using
2626         ShareableBitmap. This patch introduces CoordinatedImageBacking which
2627         plays a role in managing composited images. CoordinatedImageBacking makes us
2628         gather code related to a directly composited image into a single class.
2629
2630         We create only one CoordinatedImageBacking per image. For example, in the leaves
2631         demo, we create only 3 textures of leaves.
2632
2633         * CMakeLists.txt:
2634         * Shared/WebLayerTreeInfo.h:
2635         (WebKit::WebLayerInfo::WebLayerInfo):
2636         (WebLayerInfo):
2637         * Target.pri:
2638         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
2639         (WebKit::CoordinatedBackingStoreTile::swapBuffers):
2640         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.cpp:
2641         (WebKit::LayerTreeCoordinatorProxy::createImageBacking):
2642         (WebKit::LayerTreeCoordinatorProxy::updateImageBacking):
2643         (WebKit):
2644         (WebKit::LayerTreeCoordinatorProxy::removeImageBacking):
2645         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.h:
2646         (LayerTreeCoordinatorProxy):
2647         * UIProcess/CoordinatedGraphics/LayerTreeCoordinatorProxy.messages.in:
2648         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.cpp:
2649         (WebKit::LayerTreeRenderer::setLayerState):
2650         (WebKit::LayerTreeRenderer::createImageBacking):
2651         (WebKit::LayerTreeRenderer::updateImageBacking):
2652         (WebKit::LayerTreeRenderer::removeImageBacking):
2653         (WebKit):
2654         (WebKit::LayerTreeRenderer::assignImageBackingToLayer):
2655         (WebKit::LayerTreeRenderer::removeReleasedImageBackingsIfNeeded):
2656         (WebKit::LayerTreeRenderer::flushLayerChanges):
2657         (WebKit::LayerTreeRenderer::purgeGLResources):
2658         * UIProcess/CoordinatedGraphics/LayerTreeRenderer.h:
2659         (LayerTreeRenderer):
2660         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2661         (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
2662         (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
2663         (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
2664         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
2665         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2666         (CoordinatedGraphicsLayerClient):
2667         (CoordinatedGraphicsLayer):
2668         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.cpp: Added.
2669         (WebKit):
2670         (WebKit::CoordinatedImageBacking::getCoordinatedImageBackingID):
2671         (WebKit::CoordinatedImageBacking::create):
2672         (WebKit::CoordinatedImageBacking::CoordinatedImageBacking):
2673         (WebKit::CoordinatedImageBacking::~CoordinatedImageBacking):
2674         (WebKit::CoordinatedImageBacking::addLayerClient):
2675         (WebKit::CoordinatedImageBacking::removeLayerClient):
2676         (WebKit::CoordinatedImageBacking::markDirty):
2677         (WebKit::CoordinatedImageBacking::update):
2678         (WebKit::CoordinatedImageBacking::releaseSurfaceIfNeeded):
2679         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedImageBacking.h: Added.
2680         (WebCore):
2681         (WebKit):
2682         (CoordinatedImageBacking):
2683         (Coordinator):
2684         (WebKit::CoordinatedImageBacking::id):
2685         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
2686         (WebKit::LayerTreeCoordinator::flushPendingLayerChanges):
2687         (WebKit::LayerTreeCoordinator::createImageBackingIfNeeded):
2688         (WebKit::LayerTreeCoordinator::createImageBacking):
2689         (WebKit::LayerTreeCoordinator::updateImageBacking):
2690         (WebKit::LayerTreeCoordinator::removeImageBacking):
2691         (WebKit::LayerTreeCoordinator::flushPendingImageBackingChanges):
2692         (WebKit::LayerTreeCoordinator::purgeBackingStores):
2693         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.h:
2694         (LayerTreeCoordinator):
2695
2696 2012-11-15  Huang Dongsung  <luxtella@company100.net>
2697
2698         Coordinated Graphics: A Minor optimization of calculating transforms in CoordinagedGraphicsLayer.
2699         https://bugs.webkit.org/show_bug.cgi?id=102309
2700
2701         We calculate an inverse transform each tiledBackingStoreVisibleRect() call by
2702         a TiledBackingStore and every tiles.
2703         This patch caches the inverse transform to reuse it.
2704
2705         Reviewed by Noam Rosenthal.
2706
2707         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2708         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
2709         (WebCore::CoordinatedGraphicsLayer::computeTransformedVisibleRect):
2710         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2711         (CoordinatedGraphicsLayer):
2712
2713 2012-11-15  Alec Flett  <alecflett@chromium.org>
2714
2715         Add tests for explicit serialization values
2716         https://bugs.webkit.org/show_bug.cgi?id=96818
2717
2718         Reviewed by Adam Barth.
2719
2720         Add exports for SerializedScriptValue changes.
2721
2722         * win/WebKit2.def:
2723         * win/WebKit2CFLite.def:
2724
2725 2012-11-15  Gustavo Noronha Silva  <gns@gnome.org>
2726
2727         [GTK] Split WebCore/platform into a separate library
2728         https://bugs.webkit.org/show_bug.cgi?id=94435
2729
2730         Reviewed by Martin Robinson.
2731
2732         More people have been reporting problems when linking WebCore because
2733         the command line limit is being exceeded. Splitting WebCore a bit more
2734         is in order.
2735
2736         * GNUmakefile.am: link libWebCorePlatform into libwebkit2gtk
2737
2738 2012-11-15  Anders Carlsson  <andersca@apple.com>
2739
2740         Consolidate four accelerated compositing WKView methods into a single method
2741         https://bugs.webkit.org/show_bug.cgi?id=102419
2742
2743         Reviewed by Andreas Kling.
2744
2745         Add a single -[WKView _setAcceleratedCompositingModeRootLayer:] method and have
2746         the existing PageClientImpl member functions call it. Also, add a new
2747         PageClient member function, setAcceleratedCompositingRootLayer.
2748
2749         * UIProcess/API/mac/PageClientImpl.h:
2750         * UIProcess/API/mac/PageClientImpl.mm:
2751         (WebKit::PageClientImpl::enterAcceleratedCompositingMode):
2752         (WebKit::PageClientImpl::exitAcceleratedCompositingMode):
2753         (WebKit::PageClientImpl::updateAcceleratedCompositingMode):
2754         (WebKit::PageClientImpl::setAcceleratedCompositingRootLayer):
2755         * UIProcess/API/mac/WKView.mm:
2756         (-[WKView _processDidCrash]):
2757         (-[WKView _setAcceleratedCompositingModeRootLayer:]):
2758         * UIProcess/API/mac/WKViewInternal.h:
2759         * UIProcess/PageClient.h:
2760         * UIProcess/WebPageProxy.h:
2761         * UIProcess/mac/RemoteLayerTreeHost.mm:
2762         (WebKit::RemoteLayerTreeHost::commit):
2763         * UIProcess/mac/WebPageProxyMac.mm:
2764         (WebKit::WebPageProxy::setAcceleratedCompositingRootLayer):
2765
2766 2012-11-15  Rick Byers  <rbyers@chromium.org>
2767
2768         No tests for changing mouse cursors
2769         https://bugs.webkit.org/show_bug.cgi?id=100550
2770
2771         Reviewed by Brent Fulgham.
2772
2773         Add necessary exports for Internals::getCurrentCursorInfo
2774
2775         * win/WebKit2.def:
2776         * win/WebKit2CFLite.def:
2777
2778 2012-11-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
2779
2780         Remove initiallyFitToViewport attribute
2781         https://bugs.webkit.org/show_bug.cgi?id=102392
2782
2783         Reviewed by Noam Rosenthal.
2784
2785         Remove the initiallyFitToViewport which shouldn't have been
2786         added in the first place. We now reset userScalable to auto (-1)
2787         in case it was not explicitly set by the web author.
2788
2789         Same behavior, covered by existing tests.
2790
2791         * UIProcess/PageViewportController.cpp:
2792         (WebKit::PageViewportController::PageViewportController):
2793         (WebKit::PageViewportController::pageTransitionViewportReady):
2794         * WebProcess/WebPage/WebPage.cpp:
2795         (WebKit::WebPage::sendViewportAttributesChanged):
2796
2797 2012-11-15  Balazs Kelemen  <kbalazs@webkit.org>
2798
2799         Coordinated Graphics: support the "freeze animations" API
2800         https://bugs.webkit.org/show_bug.cgi?id=100703
2801
2802         Reviewed by Noam Rosenthal.
2803
2804         Implement suspendAnimations and resumeAnimations in CoordinatedGraphicsLayer.
2805
2806         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
2807         (WebCore::CoordinatedGraphicsLayer::suspendAnimations):
2808         (WebCore):
2809         (WebCore::CoordinatedGraphicsLayer::resumeAnimations):
2810         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2811         (CoordinatedGraphicsLayer):
2812
2813 2012-11-15  Yuni Jeong  <yhnet.jung@samsung.com>
2814
2815         [EFL][WK2] Add APIs to get/set whether scripts can open new windows.
2816         https://bugs.webkit.org/show_bug.cgi?id=102054
2817
2818         Reviewed by Gyuyoung Kim.
2819
2820         Added setting APIs make it possible to allow or prevent scripts from opening new windows automatically.
2821
2822         * UIProcess/API/efl/ewk_settings.cpp:
2823         (ewk_settings_scripts_can_open_windows_set):
2824         (ewk_settings_scripts_can_open_windows_get):
2825         * UIProcess/API/efl/ewk_settings.h:
2826         * UIProcess/API/efl/tests/test_ewk2_settings.cpp:
2827         (TEST_F):
2828
2829 2012-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2830
2831         Unreviewed, rolling out r134691, r134703, r134715, r134716,
2832         and r134733.
2833         http://trac.webkit.org/changeset/134691
2834         http://trac.webkit.org/changeset/134703
2835         http://trac.webkit.org/changeset/134715
2836         http://trac.webkit.org/changeset/134716
2837         http://trac.webkit.org/changeset/134733
2838         https://bugs.webkit.org/show_bug.cgi?id=102342
2839
2840         "Broke the Apple Windows Debug and GTK builds." (Requested by
2841         dydx on #webkit).
2842
2843         * win/WebKit2.def:
2844         * win/WebKit2CFLite.def:
2845
2846 2012-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
2847
2848         Unreviewed, rolling out r134741.
2849         http://trac.webkit.org/changeset/134741
2850         https://bugs.webkit.org/show_bug.cgi?id=102337
2851
2852         "Change is incorrect." (Requested by dydx on #webkit).
2853
2854         * win/WebKit2.def:
2855         * win/WebKit2CFLite.def:
2856
2857 2012-11-14  Daniel Bates  <dbates@webkit.org>
2858
2859         Attempt to fix the Apple Windows Debug and GTK builds after <http://trac.webkit.org/changeset/134691>
2860         (https://bugs.webkit.org/show_bug.cgi?id=96818)
2861
2862         Export symbols of the form:
2863         ?deserializeBuffer@Internals@WebCore[...]
2864         ?serializeObject@Internals@WebCore[...]
2865
2866         * win/WebKit2.def:
2867         * win/WebKit2CFLite.def:
2868
2869 2012-11-14  Alec Flett  <alecflett@chromium.org>
2870
2871         Fix windows build exports (again)
2872         https://bugs.webkit.org/show_bug.cgi?id=102324
2873
2874         Unreviewed windows-only build fix.
2875
2876         Add one more export that was causing unit tests to fail to link.
2877
2878         * win/WebKit2.def:
2879         * win/WebKit2CFLite.def:
2880
2881 2012-11-14  Brent Fulgham  <bfulgham@webkit.org>
2882
2883         [WinCairo] Build correction after r134703.
2884
2885         * win/WebKit2CFLite.def: Add exports to CFLite version of
2886         Windows build to match Alec's last update.
2887
2888 2012-11-14  Alec Flett  <alecflett@chromium.org>
2889
2890         Fix Windows exports for TestWebKit
2891         https://bugs.webkit.org/show_bug.cgi?id=102302
2892
2893         Unreviewed, fixing Safari Win build.
2894
2895         Add missing exports.
2896
2897         * win/WebKit2.def:
2898
2899 2012-11-14  Huang Dongsung  <luxtella@company100.net>
2900
2901         Coordinated Graphics: Remove unused members and methods in CoordinatedGraphicsLayer.
2902         https://bugs.webkit.org/show_bug.cgi?id=102172
2903
2904         Reviewed by Noam Rosenthal.
2905
2906         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
2907         (CoordinatedGraphicsLayer):
2908
2909 2012-11-14  Brady Eidson  <beidson@apple.com>
2910
2911         Move loading responsibility out of WebResourceLoadScheduler into a new WebResourceLoader
2912         https://bugs.webkit.org/show_bug.cgi?id=102259
2913
2914         Reviewed by Alexey Proskuryakov.
2915
2916         Add a new WebResourceLoader message class which allows NetworkResourceLoader to message
2917         WebResourceLoaders directly.
2918
2919         Consolidate the NetworkProcessConnection and WebResourceLoadScheduler messaging responsibilities
2920         directly into WebResourceLoader.
2921
2922         Build-system infrastructure stuff:
2923         * DerivedSources.make:
2924         * Platform/CoreIPC/MessageID.h:
2925         * WebKit2.xcodeproj/project.pbxproj:
2926
2927         Message directly to WebResourceLoader instead of NetworkProcessConnection:
2928         * NetworkProcess/NetworkResourceLoader.cpp:
2929         (WebKit::NetworkResourceLoader::connection):
2930         (WebKit::NetworkResourceLoader::didReceiveResponse):
2931         (WebKit::NetworkResourceLoader::didReceiveData):
2932         (WebKit::NetworkResourceLoader::didFinishLoading):
2933         (WebKit::NetworkResourceLoader::didFail):
2934         (WebKit::NetworkResourceLoader::willSendRequest):
2935         * NetworkProcess/NetworkResourceLoader.h:
2936         (WebKit::NetworkResourceLoader::destinationID):
2937
2938         For now handle the only relevant message class which is the WebResourceLoader class:
2939         * WebProcess/Network/NetworkProcessConnection.cpp:
2940         (WebKit::NetworkProcessConnection::didReceiveMessage):
2941         * WebProcess/Network/NetworkProcessConnection.h:
2942         * WebProcess/Network/NetworkProcessConnection.messages.in:
2943
2944         Allow access to WebResourceLoaders by identifier:
2945         * WebProcess/Network/WebResourceLoadScheduler.cpp:
2946         * WebProcess/Network/WebResourceLoadScheduler.h:
2947         (WebKit::WebResourceLoadScheduler::webResourceLoaderForIdentifier):
2948
2949         Directly handle resource loading messages instead of having WebResourceLoadScheduler do it:
2950         * WebProcess/Network/WebResourceLoader.cpp:
2951         (WebKit::WebResourceLoader::willSendRequest):
2952         (WebKit::WebResourceLoader::didReceiveResponse):
2953         (WebKit::WebResourceLoader::didReceiveData):
2954         (WebKit::WebResourceLoader::didFinishResourceLoad):
2955         (WebKit::WebResourceLoader::didFailResourceLoad):
2956         (WebKit::WebResourceLoader::didReceiveResource):
2957         * WebProcess/Network/WebResourceLoader.h:
2958         * WebProcess/Network/WebResourceLoader.messages.in:
2959
2960 2012-11-14  Andy Estes  <aestes@apple.com>
2961
2962         Fix the Lion build after r134681.
2963
2964         * WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm:
2965
2966 2012-11-08  Andy Estes  <aestes@apple.com>
2967
2968         [WebKit2] Need API in UIProcess to enable loading of custom protocols
2969         https://bugs.webkit.org/show_bug.cgi?id=101674
2970
2971         Reviewed by Brady Eidson.
2972
2973         Enable clients of WebKit2 to implement NSURLProtocol subclasses to
2974         control the loading of resources with schemes that WebKit2 cannot
2975         handle natively. Since loading happens in a different process, we
2976         accomplish this by registering a global NSURLProtocol in the web
2977         process and proxying NSURLProtocol and NSURLProtocolClient calls to
2978         the client's NSURLProtocol in the UI process.
2979
2980         * DerivedSources.make: Addded new .messages.in files.
2981         * Platform/CoreIPC/MessageID.h:
2982         * Shared/WebProcessCreationParameters.cpp: Added the list of supported schemes.
2983         (WebKit::WebProcessCreationParameters::encode):
2984         (WebKit::WebProcessCreationParameters::decode):
2985         * Shared/WebProcessCreationParameters.h:
2986         * UIProcess/API/mac/WKBrowsingContextController.h:
2987         * UIProcess/API/mac/WKBrowsingContextController.mm:
2988         (+[WKBrowsingContextController registerSchemeForCustomProtocol:]):
2989         Added a class method where a client can register a scheme that it supports.
2990         (+[WKBrowsingContextController unregisterSchemeForCustomProtocol:]):
2991         Added a class method where a client can unregister a scheme that it no longer supports.
2992         (+[WKBrowsingContextController customSchemes]):
2993         * UIProcess/API/mac/WKBrowsingContextControllerInternal.h:
2994         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.h: Added.
2995         * UIProcess/Network/CustomProtocols/CustomProtocolManagerProxy.messages.in: Added.
2996         * UIProcess/Network/CustomProtocols/mac/CustomProtocolManagerProxyMac.mm: Added.
2997
2998         Implemented an NSURLConnectionDelegate that proxies messages to the
2999         equivalent NSURLProtocolClient in the web process:
3000         (-[WKCustomProtocolLoader initWithCustomProtocolManagerProxy:customProtocolID:request:connection:]):
3001         (-[WKCustomProtocolLoader dealloc]):
3002         (-[WKCustomProtocolLoader connection:didFailWithError:]):
3003         (-[WKCustomProtocolLoader connection:willCacheResponse:]):
3004         (-[WKCustomProtocolLoader connection:didReceiveResponse:]):
3005         (-[WKCustomProtocolLoader connection:didReceiveData:]):
3006         (-[WKCustomProtocolLoader connection:willSendRequest:redirectResponse:]):
3007         (-[WKCustomProtocolLoader connectionDidFinishLoading:]):
3008
3009         Implemented a proxy that recieves -startLoading and -stopLoading
3010         messages from the NSURLProtocol in the web process and starts an
3011         NSURLConnection in the UI process, which will instantiate the client's NSURLProtocol:
3012         (WebKit::CustomProtocolManagerProxy::CustomProtocolManagerProxy):
3013         (WebKit::CustomProtocolManagerProxy::didReceiveMessage):
3014         (WebKit::CustomProtocolManagerProxy::startLoading):
3015         (WebKit::CustomProtocolManagerProxy::stopLoading):
3016
3017         * UIProcess/WebContext.h: Declared strings that store names of
3018         NSNotifications used for scheme registration in the UI process.
3019         * UIProcess/WebProcessProxy.cpp:
3020         (WebKit::WebProcessProxy::WebProcessProxy):
3021         (WebKit::WebProcessProxy::didReceiveMessage): Forwarded messages to the
3022         CustomProtocolManagerProxy.
3023         * UIProcess/WebProcessProxy.h:
3024         * UIProcess/mac/WebContextMac.mm:
3025         (WebKit::WebContext::platformInitializeWebProcess): Added the currently
3026         registered schemes to the WebProcessCreationParameters and register
3027         NSNotification observers for new scheme registration that forwards to
3028         the context's web processes.
3029         * WebKit2.xcodeproj/project.pbxproj:
3030         * WebKit2Prefix.h: Enabled the CUSTOM_PROTOCOLS macro for the Mac.
3031         * WebProcess/Network/CustomProtocols/CustomProtocolManager.h: Added.
3032         * WebProcess/Network/CustomProtocols/CustomProtocolManager.messages.in: Added.
3033         * WebProcess/Network/CustomProtocols/mac/CustomProtocolManagerMac.mm: Added.
3034         (generateCustomProtocolID): Generate a per-WebProcess unique ID.
3035
3036         Implemented a global NSURLProtocol that claims to support all schemes
3037         registered in the UI process. When NSURLConnection calls -startLoading
3038         and -stopLoading, we forward these messages to the client's NSURLProtocol
3039         in the UI process:
3040         (+[WKCustomProtocol canInitWithRequest:]):
3041         (+[WKCustomProtocol canonicalRequestForRequest:]):
3042         (+[WKCustomProtocol requestIsCacheEquivalent:toRequest:]):
3043         (-[WKCustomProtocol initWithRequest:cachedResponse:client:]):
3044         (-[WKCustomProtocol startLoading]):
3045         (-[WKCustomProtocol stopLoading]):
3046
3047         Implemented a manager that receives NSURLConnectionDelegate messages
3048         forwarded from the UI process and passes them to the global NSURLProtocol's NSURLProtocolClient:
3049         (WebKit::CustomProtocolManager::shared):
3050         (WebKit::CustomProtocolManager::registerCustomProtocolClass):
3051         (WebKit::CustomProtocolManager::addCustomProtocol):
3052         (WebKit::CustomProtocolManager::removeCustomProtocol):
3053         (WebKit::CustomProtocolManager::registerScheme):
3054         (WebKit::CustomProtocolManager::unregisterScheme):
3055         (WebKit::CustomProtocolManager::supportsScheme):
3056         (WebKit::CustomProtocolManager::didReceiveMessage):
3057         (WebKit::CustomProtocolManager::didFailWithError):
3058         (WebKit::CustomProtocolManager::didLoadData):
3059         (WebKit::CustomProtocolManager::didReceiveResponse):
3060         (WebKit::CustomProtocolManager::didFinishLoading):
3061         (WebKit::CustomProtocolManager::protocolForID):
3062
3063         * WebProcess/WebProcess.cpp:
3064         (WebKit::WebProcess::didReceiveMessage): Forwarded messages to the
3065         shared CustomProtocolManager.
3066         (WebKit::WebProcess::registerSchemeForCustomProtocol): Register a
3067         scheme received from the UI process.
3068         (WebKit::WebProcess::unregisterSchemeForCustomProtocol): Unregister a
3069         scheme received from the UI process.
3070         * WebProcess/WebProcess.h:
3071         * WebProcess/WebProcess.messages.in: Declared messages for passing
3072         supported schemes from the UI process the web process.
3073         * WebProcess/mac/WebProcessMac.mm:
3074         (WebKit::WebProcess::platformInitializeWebProcess): Register the
3075         schemes contained in the WebProcessCreationParameters.
3076
3077 2012-11-14  Helder Correia  <helder.correia@nokia.com>
3078
3079         [TexMap][Cairo] Accelerated compositing debug visuals
3080         https://bugs.webkit.org/show_bug.cgi?id=101883
3081
3082         Reviewed by Kenneth Rohde Christiansen.
3083
3084         No new tests, just introducing a debug feature.
3085
3086         Add a Cairo implementation to complement the patch from bug 90116
3087         (http://trac.webkit.org/changeset/122275).
3088
3089         For this feature to be enabled, the environment variable
3090         WEBKIT_SHOW_COMPOSITING_DEBUG_VISUALS must be set to 1. Once enabled,
3091         both repaint counters and tile borders will be painted.
3092
3093         A Cairo-specific drawRepaintCounter() implementation was added to
3094         TextureMapperGL. A cairo_surface_t is used as scratch buffer to paint
3095         the counters. It is then uploaded to a BitmapTexture acquired
3096         from the pool and finally draw by TextureMapper. The actual compositing
3097         happens inside LayerBackingStore::paintToTextureMapper(). Each
3098         LayerBackingStoreTile has a repaint counter which gets incremented in
3099         LayerBackingStore::updateTile().
3100
3101         * UIProcess/CoordinatedGraphics/CoordinatedBackingStore.cpp:
3102         (WebKit::shouldShowTileDebugVisuals):
3103
3104 2012-11-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
3105
3106         Coordinated Graphics: Rename m_CoordinatedGraphicsLayerClient to m_coordinator
3107         https://bugs.webkit.org/show_bug.cgi?id=102133
3108
3109         Renamed m_CoordinatedGraphicsLayerClient to m_coordinator.
3110         Also, there is no need for calling setCoordinator every time the tree changes,
3111         since we can call it once when the layer is created, now that LayerTreeCoordinator
3112         is the GraphicsLayerFactory.
3113
3114         Reviewed by Kenneth Rohde Christiansen
3115
3116         No change in functionality.
3117
3118         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3119         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
3120         (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
3121         (WebCore::CoordinatedGraphicsLayer::setChildren):
3122         (WebCore::CoordinatedGraphicsLayer::addChild):
3123         (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
3124         (WebCore::CoordinatedGraphicsLayer::addChildAbove):
3125         (WebCore::CoordinatedGraphicsLayer::addChildBelow):
3126         (WebCore::CoordinatedGraphicsLayer::replaceChild):
3127         (WebCore::CoordinatedGraphicsLayer::setContentsToImage):
3128         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
3129         (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
3130         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
3131         (WebCore::CoordinatedGraphicsLayer::syncChildren):
3132         (WebCore::CoordinatedGraphicsLayer::syncFilters):
3133         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
3134         (WebCore::CoordinatedGraphicsLayer::syncAnimations):
3135         (WebCore::CoordinatedGraphicsLayer::syncCanvas):
3136         (WebCore::CoordinatedGraphicsLayer::ensureImageBackingStore):
3137         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
3138         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
3139         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
3140         (WebCore::CoordinatedGraphicsLayer::createTile):
3141         (WebCore::CoordinatedGraphicsLayer::updateTile):
3142         (WebCore::CoordinatedGraphicsLayer::removeTile):
3143         (WebCore::CoordinatedGraphicsLayer::purgeBackingStores):
3144         (WebCore::CoordinatedGraphicsLayer::setCoordinator):
3145         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3146         (CoordinatedGraphicsLayer):
3147         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3148         (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
3149         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
3150         (WebKit::LayerTreeCoordinator::paintContents):
3151
3152 2012-11-14  Anders Carlsson  <andersca@apple.com>
3153
3154         More steps towards actually hosting layers in the UI process
3155         https://bugs.webkit.org/show_bug.cgi?id=102275
3156
3157         Reviewed by Andreas Kling.
3158
3159         * Shared/mac/RemoteLayerTreeTransaction.h:
3160         (WebKit::RemoteLayerTreeTransaction::rootLayerID):
3161         Add a getter for the root layer ID.
3162
3163         * UIProcess/mac/RemoteLayerTreeHost.h:
3164         (RemoteLayerTreeHost):
3165         Add root layer member variable. Make the RemoteLayerTreeHost class a GraphicsLayerClient.
3166
3167         * UIProcess/mac/RemoteLayerTreeHost.mm:
3168         (WebKit::RemoteLayerTreeHost::RemoteLayerTreeHost):
3169         Initialize the root layer to null.
3170
3171         (WebKit::RemoteLayerTreeHost::notifyAnimationStarted):
3172         (WebKit::RemoteLayerTreeHost::notifyFlushRequired):
3173         (WebKit::RemoteLayerTreeHost::paintContents):
3174         Add empty stubs.
3175
3176         (WebKit::RemoteLayerTreeHost::commit):
3177         Try to get the root layer.
3178
3179         (WebKit::RemoteLayerTreeHost::getOrCreateLayer):
3180         Look up the layer with the given ID in the m_layers hash table and create it if it doesn't exist.
3181
3182 2012-11-14  Brady Eidson  <beidson@apple.com>
3183
3184         Fix the Production build after r134640 broke it.
3185
3186         * WebProcess/Network/WebResourceLoader.h:
3187         (WebKit::WebResourceLoader::resourceLoadIdentifier): Use the un-used.
3188
3189 2012-11-14  Tim Horton  <timothy_horton@apple.com>
3190
3191         PDFPlugin should make use of PDFKit's fluid zooming
3192         https://bugs.webkit.org/show_bug.cgi?id=101962
3193         <rdar://problem/12555229>
3194
3195         Reviewed by Anders Carlsson.
3196
3197         Expose the notion of a frame that handles page scale gestures via WebFrame and to the bundle via WKBundleFrame.
3198         The only frames that will purport to handle page scale gestures are those which contain PluginDocuments
3199         backed by PDFPlugin, for now. Also, allow PDFKit to do its own fluid zooming animation.
3200
3201         * WebProcess/InjectedBundle/API/c/WKBundleFrame.cpp:
3202         (WKBundleFrameHandlesPageScaleGesture): Provide WKBundleFrameHandlesPageScaleGesture to
3203         inform the injected bundle whether or not the frame handles scaling itself.
3204         * WebProcess/InjectedBundle/API/c/WKBundleFramePrivate.h: Add WKBundleFrameHandlesPageScaleGesture.
3205         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3206         (WebKit::PDFPlugin::geometryDidChange): Allow PDFKit to use its fluid zooming instead of changing
3207         the scale factor immediately.
3208         * WebProcess/WebPage/WebFrame.cpp:
3209         (WebKit::WebFrame::handlesPageScaleGesture): For now, the only frames that handle page scale
3210         gestures themselves are plugins that purport to handle page scale changes themselves (i.e. only PDFPlugin).
3211         * WebProcess/WebPage/WebFrame.h:
3212         (WebFrame):
3213
3214 2012-11-14  Tim Horton  <timothy_horton@apple.com>
3215
3216         PDFPlugin should support downloading PDFs
3217         https://bugs.webkit.org/show_bug.cgi?id=102152
3218         <rdar://problem/12555313>
3219
3220         Reviewed by Alexey Proskuryakov.
3221
3222         Clicking on the "Download PDF" HUD button should download the current
3223         PDF to the Downloads folder.
3224
3225         * UIProcess/WebPageProxy.cpp:
3226         (WebKit::WebPageProxy::savePDFToFileInDownloadsFolder): Added. Save the
3227         PDF data to disk, in the Downloads folder. This will only save files with
3228         the .pdf extension, and of MIME type "application/pdf".
3229         * UIProcess/WebPageProxy.h:
3230         (WebPageProxy): Add savePDFToFileInDownloadsFolder.
3231         * UIProcess/WebPageProxy.messages.in: Add savePDFToFileInDownloadsFolder.
3232         * WebProcess/Plugins/PDF/PDFPlugin.h:
3233         (PDFPlugin): Add saveToPDF().
3234         * WebProcess/Plugins/PDF/PDFPlugin.mm:
3235         (-[WKPDFLayerControllerDelegate saveToPDF]): Forward saveToPDF delegate callback to PDFPlugin.
3236         (WebKit::PDFPlugin::saveToPDF): Hand WebPageProxy the raw data for the
3237         current PDF, which it will save to the Downloads folder. We receive
3238         the suggested filename during loading.
3239         * WebProcess/Plugins/PDF/SimplePDFPlugin.h:
3240         (WebKit::SimplePDFPlugin::suggestedFilename): Expose a getter for suggestedFilename.
3241         * WebProcess/Plugins/PDF/SimplePDFPlugin.mm:
3242         (WebKit::SimplePDFPlugin::pluginInfo): Add a missing space after an operator.
3243
3244 2012-11-14  Brady Eidson  <beidson@apple.com>
3245
3246         Part of "Move loading responsibility out of WebResourceLoadScheduler into a new WebResourceLoader"
3247         https://bugs.webkit.org/show_bug.cgi?id=102259
3248
3249         Reviewed by Alexey Proskuryakov.
3250
3251         WebResourceLoadScheduler has taken on too many responsibilities that shouldn't belong to it.
3252
3253         We should create a WebResourceLoader that will eventually act as an intermediary between
3254         WebCore::ResourceLoader and NetworkResourceLoader.
3255
3256         This patch is prep-work: It adds a new skeleton class to the WebProcess.
3257
3258         * WebKit2.xcodeproj/project.pbxproj:
3259
3260         Add the new WebResourceLoader class which is a very thin skeleton for now:
3261         * WebProcess/Network/WebResourceLoader.cpp: Added.
3262         (WebKit::WebResourceLoader::create):
3263         (WebKit::WebResourceLoader::WebResourceLoader):
3264         (WebKit::WebResourceLoader::~WebResourceLoader):
3265         * WebProcess/Network/WebResourceLoader.h: Added.
3266         (WebKit::WebResourceLoader::coreLoader):
3267
3268         Adapt WebResourceLoadScheduler to use this new class where appropriate:
3269         * WebProcess/Network/WebResourceLoadScheduler.cpp:
3270         (WebKit::WebResourceLoadScheduler::scheduleLoad):
3271         (WebKit::WebResourceLoadScheduler::addMainResourceLoad):
3272         (WebKit::WebResourceLoadScheduler::remove):
3273         (WebKit::WebResourceLoadScheduler::willSendRequest):
3274         (WebKit::WebResourceLoadScheduler::didReceiveResponse):
3275         (WebKit::WebResourceLoadScheduler::didReceiveData):
3276         (WebKit::WebResourceLoadScheduler::didFinishResourceLoad):
3277         (WebKit::WebResourceLoadScheduler::didReceiveResource):
3278         (WebKit::WebResourceLoadScheduler::didFailResourceLoad):
3279         * WebProcess/Network/WebResourceLoadScheduler.h:
3280
3281
3282 2012-11-14  Brady Eidson  <beidson@apple.com>
3283
3284         Deliver data from NetworkProcess to resources progressively.
3285         https://bugs.webkit.org/show_bug.cgi?id=102171
3286
3287         Reviewed by Alexey Proskuryakov.
3288
3289         Instead of buffering up the data for an entire resource and delivering it in one chunk, we need
3290         to deliver data progressively.
3291
3292         This allows progressive parsing of textual resources and progressive rendering of images,
3293         as well as allows endless multipart resources (e.g., multipart jpegs) to work at all.
3294
3295         * NetworkProcess/NetworkResourceLoader.cpp:
3296         (WebKit::NetworkResourceLoader::didReceiveData): Don't buffer data locally (for now) but rather
3297           pass it straight through to the WebProcess.
3298         (WebKit::NetworkResourceLoader::didFinishLoading): Only notify didFinishLoading instead of
3299           delivering a chunk of buffered data.
3300         (WebKit::NetworkResourceLoader::didFail):
3301         * NetworkProcess/NetworkResourceLoader.h:
3302
3303         * WebProcess/Network/NetworkProcessConnection.cpp:
3304         (WebKit::NetworkProcessConnection::didReceiveData): Pass through towards ResourceLoader.
3305         (WebKit::NetworkProcessConnection::didFinishResourceLoad):
3306         (WebKit::NetworkProcessConnection::didFailResourceLoad):
3307         * WebProcess/Network/NetworkProcessConnection.h:
3308         * WebProcess/Network/NetworkProcessConnection.messages.in:
3309
3310         * WebProcess/Network/WebResourceLoadScheduler.cpp:
3311         (WebKit::WebResourceLoadScheduler::didReceiveData): Hand this chunk of data to the ResourceLoader directly.
3312         (WebKit::WebResourceLoadScheduler::didFinishResourceLoad):
3313         * WebProcess/Network/WebResourceLoadScheduler.h:
3314
3315 2012-11-14  Anton Obzhirov  <a.obzhirov@samsung.com>
3316
3317         Add platform implementation of remote web inspector server for GTK port.
3318         https://bugs.webkit.org/show_bug.cgi?id=88094 
3319
3320         Reviewed by Gustavo Noronha Silva.
3321
3322         The platform implementation is based on GSocket API (WebInspectorServerGtk.cpp and WebSocketServerGtk.cpp).
3323         The server listens on port 2999 by default. IP address of the server can be set
3324         in WEBKIT_INSPECTOR_SERVER (for example export WEBKIT_INSPECTOR_SERVER="192.168.124.130:2999").
3325         The server is started during WebKit context initialization.
3326         Once a page is loaded insector server can be accessed via other WebKit based browser.
3327         New WebKit API gtk tests have beed added.
3328         inspectorPageIndex.html has been moved to new location to share the file between GTK and Qt ports.
3329
3330         Test: test-page-list, test-remote-debugging-message, test-open-debugging-session
3331
3332         * GNUmakefile.am:
3333         * GNUmakefile.list.am:
3334         * Platform/Logging.cpp:
3335         (WebKit):
3336         (WebKit::getChannelFromName):
3337         (WebKit::initializeLogChannelsIfNecessary):
3338         * Platform/Logging.h:
3339         (WebKit):
3340         * UIProcess/API/gtk/tests/GNUmakefile.am:
3341         * UIProcess/API/gtk/tests/InspectorTestServer.cpp: Added.
3342         (loadChangedCallback):
3343         (main):
3344         * UIProcess/API/gtk/tests/TestInspectorServer.cpp: Added.
3345         (stopTestServer):
3346         (sigAbortHandler):
3347         (testServerMonitorThreadFunc):
3348         (startTestServerMonitor):
3349         (startTestServer):
3350         (testInspectorServerPageList):
3351         (testRemoteDebuggingMessage):
3352         (openRemoteDebuggingSession):
3353         (beforeAll):
3354         (afterAll):
3355         * UIProcess/InspectorServer/WebInspectorServer.h:
3356         (WebInspectorServer):
3357         * UIProcess/InspectorServer/WebSocketServer.h:
3358         (WebSocketServer):
3359         * UIProcess/InspectorServer/WebSocketServerConnection.cpp:
3360         (WebKit::WebSocketServerConnection::WebSocketServerConnection):
3361         (WebKit::WebSocketServerConnection::shutdownNow):
3362         (WebKit::WebSocketServerConnection::shutdownAfterSendOrNow):
3363         (WebKit::WebSocketServerConnection::didCloseSocketStream):
3364         (WebKit::WebSocketServerConnection::didReceiveSocketStreamData):
3365         (WebKit):
3366         (WebKit::WebSocketServerConnection::didUpdateBufferedAmount):
3367         * UIProcess/InspectorServer/WebSocketServerConnection.h:
3368         (WebSocketServerConnection):
3369         * UIProcess/InspectorServer/front-end: Added.
3370         * UIProcess/InspectorServer/front-end/inspectorPageIndex.html: Added.
3371         * UIProcess/InspectorServer/gtk: Added.
3372         * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp: Added.
3373         (WebKit):
3374         (WebKit::WebInspectorServer::platformResourceForPath):
3375         (WebKit::WebInspectorServer::buildPageList):
3376         * UIProcess/InspectorServer/gtk/WebSocketServerGtk.cpp: Added.
3377         (WebKit):
3378         (WebKit::connectionCallback):
3379         (WebKit::WebSocketServer::platformInitialize):
3380         (WebKit::WebSocketServer::platformListen):
3381         (WebKit::WebSocketServer::platformClose):
3382         * UIProcess/gtk/WebContextGtk.cpp:
3383         (WebKit::initInspectorServer):
3384         (WebKit):
3385         (WebKit::WebContext::platformInitializeWebProcess):
3386         * WebKit2.qrc:
3387         * config.h:
3388         * qt/Resources/inspectorPageIndex.html: Removed.
3389
3390 2012-11-14  Christophe Dumez  <christophe.dumez@intel.com>
3391
3392         [EFL][WK2][AC] Print out warning if we fallback back to software mode
3393         https://bugs.webkit.org/show_bug.cgi?id=102188
3394
3395         Reviewed by Kenneth Rohde Christiansen.
3396
3397         Print out a warning if accelerated compositing is enabled but the
3398         implementation is falling back to software mode for some reason.
3399
3400         * UIProcess/API/efl/EwkViewImpl.cpp:
3401         (EwkViewImpl::createGLSurface):
3402
3403 2012-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
3404
3405         Unreviewed, rolling out r134531.
3406         http://trac.webkit.org/changeset/134531
3407         https://bugs.webkit.org/show_bug.cgi?id=102193
3408
3409         Makes >70 tests crash on EFL and Qt bots. (Requested by drott
3410         on #webkit).
3411
3412         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.cpp:
3413         (WebCore::CoordinatedGraphicsLayer::CoordinatedGraphicsLayer):
3414         (WebCore::CoordinatedGraphicsLayer::~CoordinatedGraphicsLayer):
3415         (WebCore::CoordinatedGraphicsLayer::setChildren):
3416         (WebCore::CoordinatedGraphicsLayer::addChild):
3417         (WebCore::CoordinatedGraphicsLayer::addChildAtIndex):
3418         (WebCore::CoordinatedGraphicsLayer::addChildAbove):
3419         (WebCore::CoordinatedGraphicsLayer::addChildBelow):
3420         (WebCore::CoordinatedGraphicsLayer::replaceChild):
3421         (WebCore::CoordinatedGraphicsLayer::setMaskLayer):
3422         (WebCore::CoordinatedGraphicsLayer::setReplicatedByLayer):
3423         (WebCore::CoordinatedGraphicsLayer::flushCompositingState):
3424         (WebCore::CoordinatedGraphicsLayer::syncChildren):
3425         (WebCore::CoordinatedGraphicsLayer::syncFilters):
3426         (WebCore::CoordinatedGraphicsLayer::syncImageBacking):
3427         (WebCore::CoordinatedGraphicsLayer::syncLayerState):
3428         (WebCore::CoordinatedGraphicsLayer::syncAnimations):
3429         (WebCore::CoordinatedGraphicsLayer::syncCanvas):
3430         (WebCore::CoordinatedGraphicsLayer::releaseImageBackingIfNeeded):
3431         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreUpdatesAllowed):
3432         (WebCore::CoordinatedGraphicsLayer::tiledBackingStoreVisibleRect):
3433         (WebCore::CoordinatedGraphicsLayer::beginContentUpdate):
3434         (WebCore::CoordinatedGraphicsLayer::createTile):
3435         (WebCore::CoordinatedGraphicsLayer::updateTile):
3436         (WebCore::CoordinatedGraphicsLayer::removeTile):
3437         (WebCore::CoordinatedGraphicsLayer::setCoordinatedGraphicsLayerClient):
3438         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedGraphicsLayer.h:
3439         (CoordinatedGraphicsLayer):
3440         * WebProcess/WebPage/CoordinatedGraphics/LayerTreeCoordinator.cpp:
3441         (WebKit::LayerTreeCoordinator::~LayerTreeCoordinator):
3442         (WebKit::LayerTreeCoordinator::LayerTreeCoordinator):
3443         (WebKit::LayerTreeCoordinator::createGraphicsLayer):
3444
3445 2012-11-13  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3446
3447         [EFL][WK2] Add a button parameter to mouseClick, mouseDown, mouseUp functions
3448         https://bugs.webkit.org/show_bug.cgi?id=102065
3449
3450         Reviewed by Laszlo Gombos.
3451
3452         mouseClick(), mouseDown() and mouseUp() test functions are only able to test a left button of mouse now.
3453         However, EFL API test framwork needs to test various mouse buttons. For example, context menu test needs
3454         to simulate a right mouse button. So, button type parameter needs to be added for it.
3455
3456         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
3457         (EWK2UnitTest::EWK2UnitTestBase::mouseClick):
3458         (EWK2UnitTest::EWK2UnitTestBase::mouseDown):
3459         (EWK2UnitTest::EWK2UnitTestBase::mouseUp):
3460         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
3461         (EWK2UnitTestBase):
3462
3463 2012-11-13  Yael Aharon  <yael.aharon@intel.com>
3464
3465         [EFL][WK2] New window size should consult the window attributes
3466         https://bugs.webkit.org/show_bug.cgi?id=102122
3467
3468         Reviewed by Kenneth Rohde Christiansen.
3469
3470         Pass the size that was specified in window.open to the embedder.
3471
3472         * UIProcess/API/efl/EwkViewImpl.cpp:
3473         (EwkViewImpl::createNewPage):
3474         * UIProcess/API/efl/EwkViewImpl.h:
3475         (EwkViewImpl):
3476         * UIProcess/API/efl/ewk_view.h:
3477         * UIProcess/efl/PageUIClientEfl.cpp:
3478         (WebKit::PageUIClientEfl::createNewPage):
3479
3480 2012-11-13  No'am Rosenthal  <noam.rosenthal@nokia.com>
3481
3482         Coordinated Graphics: Rename m_CoordinatedGraphicsLayerClient to m_coordinator
3483         https://bugs.webkit.org/show_bug.cgi?id=102133
3484