<rdar://problem/13886443> Assertion failures in NetworkProcess in SandboxExte...
[WebKit-https.git] / Source / WebKit2 / ChangeLog
1 2013-07-18  Alexey Proskuryakov  <ap@apple.com>
2
3         <rdar://problem/13886443> Assertion failures in NetworkProcess in SandboxExtension::revoke when aborting SyncNetworkResourceLoader
4         <rdar://problem/13826348> ASSERT(!m_useCount) fails in NetworkProcess at SandboxExtension::~SandboxExtension
5         https://bugs.webkit.org/show_bug.cgi?id=118855
6
7         Reviewed by Brady Eidson.
8
9         * NetworkProcess/NetworkResourceLoader.cpp:
10         (WebKit::NetworkResourceLoader::cleanup):
11         (WebKit::NetworkResourceLoader::didFinishLoading):
12         (WebKit::NetworkResourceLoader::didFail):
13         Moved sandbox extension invalidation to cleanup() meaning that we won't fail to
14         do this when aborting a loader that currently loading from network.
15     
16         * NetworkProcess/SchedulableLoader.cpp:
17         (WebKit::SchedulableLoader::SchedulableLoader):
18         (WebKit::SchedulableLoader::consumeSandboxExtensions):
19         (WebKit::SchedulableLoader::invalidateSandboxExtensions):
20         * NetworkProcess/SchedulableLoader.h:
21         Keep track of whether sandbox extensions are consumed, we don't want to revoke
22         extensions that were never consumed (as used to be the case with sync loaders,
23         and would be with async ones after the above fix). Also, get rid of extensions
24         immediately when invalidating, we won't need them again.
25
26 2013-07-18  Tim Horton  <timothy_horton@apple.com>
27
28         Remove PDFViewController and WKView "custom representations"
29         https://bugs.webkit.org/show_bug.cgi?id=118720
30
31         Reviewed by Alexey Proskuryakov.
32
33         PDFViewController was the only implementation of
34         a "custom representation" for a WKView. As it has
35         been superceded by PDFPlugin, we can remove both
36         PDFViewController and the notion of a WKView custom
37         representation.
38
39         * UIProcess/API/gtk/PageClientImpl.cpp:
40         * UIProcess/API/gtk/PageClientImpl.h:
41         * UIProcess/API/mac/PDFViewController.h: Removed.
42         * UIProcess/API/mac/PDFViewController.mm: Removed.
43         * UIProcess/API/mac/PageClientImpl.h:
44         * UIProcess/API/mac/PageClientImpl.mm:
45         * UIProcess/API/mac/WKView.mm:
46         (-[WKView accessibilityFocusedUIElement]):
47         (-[WKView accessibilityHitTest:]):
48         (-[WKView accessibilityAttributeValue:]):
49         (-[WKView printOperationWithPrintInfo:forFrame:]):
50         * UIProcess/API/mac/WKViewInternal.h:
51         * UIProcess/API/qt/raw/qrawwebview_p_p.h:
52         * UIProcess/CoordinatedGraphics/WebView.cpp:
53         * UIProcess/CoordinatedGraphics/WebView.h:
54         * UIProcess/DrawingAreaProxy.h:
55         * UIProcess/DrawingAreaProxyImpl.cpp:
56         * UIProcess/DrawingAreaProxyImpl.h:
57         * UIProcess/PageClient.h:
58         * UIProcess/WebPageProxy.cpp:
59         (WebKit::WebPageProxy::WebPageProxy):
60         (WebKit::WebPageProxy::supportsTextEncoding):
61         (WebKit::WebPageProxy::supportsTextZoom):
62         (WebKit::WebPageProxy::setTextZoomFactor):
63         (WebKit::WebPageProxy::setPageZoomFactor):
64         (WebKit::WebPageProxy::setPageAndTextZoomFactors):
65         (WebKit::WebPageProxy::findString):
66         (WebKit::WebPageProxy::countStringMatches):
67         (WebKit::WebPageProxy::didCommitLoadForFrame):
68         * UIProcess/WebPageProxy.h:
69         (WebKit::WebPageProxy::textZoomFactor):
70         (WebKit::WebPageProxy::pageZoomFactor):
71         * UIProcess/WebPageProxy.messages.in:
72         * UIProcess/qt/QtPageClient.h:
73         * WebKit2.xcodeproj/project.pbxproj:
74         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
75         (WebKit::WebFrameLoaderClient::WebFrameLoaderClient):
76         (WebKit::WebFrameLoaderClient::dispatchDidCommitLoad):
77         (WebKit::WebFrameLoaderClient::committedLoad):
78         (WebKit::WebFrameLoaderClient::finishedLoading):
79         (WebKit::WebFrameLoaderClient::transitionToCommittedFromCachedFrame):
80         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
81         * WebProcess/WebCoreSupport/WebFrameLoaderClient.h:
82         * WebProcess/WebPage/DrawingArea.h:
83         * WebProcess/WebPage/DrawingArea.messages.in:
84         * WebProcess/WebPage/DrawingAreaImpl.cpp:
85         (WebKit::DrawingAreaImpl::setNeedsDisplayInRect):
86         (WebKit::DrawingAreaImpl::scroll):
87         (WebKit::DrawingAreaImpl::exitAcceleratedCompositingMode):
88         (WebKit::DrawingAreaImpl::display):
89         * WebProcess/WebPage/DrawingAreaImpl.h:
90         * WebProcess/WebPage/WebPage.cpp:
91         * WebProcess/WebPage/WebPage.h:
92         * WebProcess/WebPage/mac/WebPageMac.mm:
93         (WebKit::WebPage::platformPreferencesDidChange):
94         * mac/WebKit2.order:
95
96 2013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
97
98         [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_color_picker.cpp
99         https://bugs.webkit.org/show_bug.cgi?id=118797
100
101         Reviewed by Christophe Dumez.
102
103         Some mouseClick methods are used in test_ewk2_color_picker.cpp.
104         But it is difficult to understand what they mean.
105         So i would like to replace those with more meaningful method for readability.
106
107         * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
108         (EWK2ColorPickerTest::clickButton):
109         (TEST_F):
110
111 2013-07-18  Eunmi Lee  <eunmi15.lee@samsung.com>
112
113         [WK2] Replace getRect() to pixelSnappedBoundingBox().
114         https://bugs.webkit.org/show_bug.cgi?id=118588
115
116         Reviewed by Noam Rosenthal.
117
118         The Node::getRect() function was removed in the
119         http://trac.webkit.org/changeset/128006, so use
120         pixelSnappedBoundingBox() instead.
121
122         * WebProcess/WebPage/WebPage.cpp:
123         (WebKit::WebPage::findZoomableAreaForPoint):
124
125 2013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
126
127         [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_context_menu.cpp
128         https://bugs.webkit.org/show_bug.cgi?id=118796
129
130         Reviewed by Christophe Dumez.
131
132         Some mouseClick methods are used in test_ewk2_context_menu.cpp.
133         But it is difficult to understand what they mean.
134         So i would like to replace those with more meaningful method for readability.
135
136         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
137         (EWK2ContextMenuTest::testContextMenu):
138         (EWK2ContextMenuTest::testContextMenuForRemoveAndAppend):
139         (EWK2ContextMenuTest::testContextMenuForSubmenu):
140         (EWK2ContextMenuTest::finishTest):
141         (EWK2ContextMenuTest::showContextMenu):
142         (TEST_F):
143
144 2013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
145
146         [EFL][WK2] Replace mouseClick with more meaningful method in test_ewk2_file_chooser_request.cpp
147         https://bugs.webkit.org/show_bug.cgi?id=118792
148
149         Reviewed by Christophe Dumez.
150
151         Some mouseClick methods are used in test_ewk2_file_chooser_request.cpp.
152         But it is difficult to understand what they mean.
153         So i would like to replace those with more meaningful method for readability.
154
155         * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
156         (EWK2FileChooserRequestTest::clickFileInput):
157         (TEST_F):
158
159 2013-07-18  Dong-Gwan Kim  <donggwan.kim@samsung.com>
160
161         [EFL][WK2] Move all the static methods into EWK2TextCheckerTest in test_ewk2_text_checker.cpp
162         https://bugs.webkit.org/show_bug.cgi?id=118790
163
164         Reviewed by Christophe Dumez.
165
166         All the static methods should be moved to EWK2TextCheckerTest.
167
168         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
169         (EWK2TextCheckerTest::resetCallbacksExecutionStats):
170         (EWK2TextCheckerTest::onTimeout):
171         (EWK2TextCheckerTest::onSettingChange):
172         (EWK2TextCheckerTest::onSpellDocumentTag):
173         (EWK2TextCheckerTest::onSpellDocumentTagClose):
174         (EWK2TextCheckerTest::onSpellingCheck):
175         (EWK2TextCheckerTest::onSpellingForKnownWord):
176         (EWK2TextCheckerTest::onWordGuesses):
177         (EWK2TextCheckerTest::onWordLearn):
178         (EWK2TextCheckerTest::onWordIgnore):
179         (EWK2TextCheckerTest::findContextMenuItem):
180         (EWK2TextCheckerTest::checkCorrectnessOfSpellingItems):
181         (EWK2TextCheckerTest::toogleCheckSpellingWhileTyping):
182         (EWK2TextCheckerTest::checkClientSuggestionsForWord):
183         (EWK2TextCheckerTest::selectLearnSpelling):
184         (EWK2TextCheckerTest::selectIgnoreSpelling):
185         (EWK2TextCheckerTest::countContextMenuItems):
186         (EWK2TextCheckerTest::clickButton):
187         (EWK2TextCheckerTest::showContextMenu):
188         (EWK2TextCheckerTest::selectFirstWord):
189
190 2013-07-17  Tim Horton  <timothy_horton@apple.com>
191
192         Update blocked/missing plug-in UI
193         https://bugs.webkit.org/show_bug.cgi?id=118347
194         <rdar://problem/14209318>
195
196         Reviewed by Sam Weinig.
197
198         * Platform/CoreIPC/HandleMessage.h:
199         (CoreIPC::callMemberFunction):
200         Add a 6 argument -> 4 reply message handler.
201         (It seems that FindPlugin is getting a little out of hand.)
202
203         * Shared/APIClientTraits.cpp:
204         * Shared/APIClientTraits.h:
205         * UIProcess/API/C/WKPage.h:
206         * UIProcess/WebLoaderClient.cpp:
207         (WebKit::WebLoaderClient::pluginLoadPolicy):
208         * UIProcess/WebLoaderClient.h:
209         Add an unavailability description out-argument to a new version of
210         pluginLoadPolicy, so clients can override the text of the unavailable
211         plugin indicator. Bump the WKPageLoaderClient version and update APIClientTraits.
212
213         * UIProcess/WebPageProxy.cpp:
214         (WebKit::WebPageProxy::findPlugin):
215         * UIProcess/WebPageProxy.h:
216         * UIProcess/WebPageProxy.messages.in:
217         Plumb the unavailability description through to the WebProcess via
218         the FindPlugin message.
219
220         * WebProcess/WebPage/WebPage.cpp:
221         (WebKit::WebPage::createPlugin):
222         Acquire the unavailability description from the client
223         (via FindPlugin) and hand it to the RenderEmbeddedObject.
224
225 2013-07-17  Commit Queue  <commit-queue@webkit.org>
226
227         Unreviewed, rolling out r152701, r152703, r152739, r152754,
228         and r152756.
229         http://trac.webkit.org/changeset/152701
230         http://trac.webkit.org/changeset/152703
231         http://trac.webkit.org/changeset/152739
232         http://trac.webkit.org/changeset/152754
233         http://trac.webkit.org/changeset/152756
234         https://bugs.webkit.org/show_bug.cgi?id=118821
235
236         this was a buggy fix and we're going to try something
237         different (Requested by thorton on #webkit).
238
239         * Platform/CoreIPC/HandleMessage.h:
240         * Shared/APIClientTraits.cpp:
241         * Shared/APIClientTraits.h:
242         * UIProcess/API/C/WKPage.h:
243         * UIProcess/WebLoaderClient.cpp:
244         (WebKit::WebLoaderClient::pluginLoadPolicy):
245         * UIProcess/WebLoaderClient.h:
246         * UIProcess/WebPageProxy.cpp:
247         (WebKit::WebPageProxy::findPlugin):
248         * UIProcess/WebPageProxy.h:
249         * UIProcess/WebPageProxy.messages.in:
250         * WebProcess/Plugins/PluginProcessConnection.cpp:
251         (WebKit::PluginProcessConnection::didClose):
252         * WebProcess/Plugins/PluginView.cpp:
253         (WebKit::PluginView::pluginProcessCrashed):
254         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
255         (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
256         * WebProcess/WebCoreSupport/WebChromeClient.h:
257         * WebProcess/WebPage/WebPage.cpp:
258         (WebKit::WebPage::createPlugin):
259         (WebKit::WebPage::canPluginHandleResponse):
260
261 2013-07-17  Alexey Proskuryakov  <ap@apple.com>
262
263         [Mac] Crashes in CFURLGetBytes under WebProcess::updateActivePages()
264         https://bugs.webkit.org/show_bug.cgi?id=118814
265         <rdar://problem/14173389>
266
267         Reviewed by Brady Eidson.
268
269         Speculative fix. It's unclear how we end up with an invalid URL when committing
270         a load.
271
272         * WebProcess/mac/WebProcessMac.mm: (WebKit::WebProcess::updateActivePages):
273         Added a null check.
274
275 2013-07-17  Commit Queue  <commit-queue@webkit.org>
276
277         Unreviewed, rolling out r152786 and r152789.
278         http://trac.webkit.org/changeset/152786
279         http://trac.webkit.org/changeset/152789
280         https://bugs.webkit.org/show_bug.cgi?id=118807
281
282         overly platform specific and dirty API (and Sam says no)
283         (Requested by thorton on #webkit).
284
285         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
286         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
287         * WebProcess/WebPage/PageOverlay.cpp:
288         * WebProcess/WebPage/PageOverlay.h:
289         * WebProcess/WebPage/WebPage.cpp:
290         * WebProcess/WebPage/WebPage.h:
291         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
292
293 2013-07-17  Tim Horton  <timothy_horton@apple.com>
294
295         AX: VoiceOver not working with data detection page overlays
296         https://bugs.webkit.org/show_bug.cgi?id=118680
297
298         Reviewed by Anders Carlsson.
299
300         Bump the API version after r152786.
301
302         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
303
304 2013-07-17  Simon Cooper  <scooper@apple.com>
305
306         YouTube webcam capture (Flash Plug-in) in Safari can't see built-in camera
307         https://bugs.webkit.org/show_bug.cgi?id=118787
308         <rdar://problem/14418799>
309
310         Reviewed by Alexey Proskuryakov.
311
312         Add support for built-in cameras, including the original iSight.
313
314         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
315         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
316
317 2013-07-17  Chris Fleizach  <cfleizach@apple.com>
318
319         AX: VoiceOver not working with data detection page overlays
320         https://bugs.webkit.org/show_bug.cgi?id=118680
321
322         Reviewed by Tim Horton.
323
324         Expose API methods so that a client implementing data detectors is able to respond
325         to the needs of accessibility clients like VoiceOver.
326
327         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.cpp:
328         (PageOverlayClientImpl::supportsDataDetection):
329         (PageOverlayClientImpl::dataDetectorExistsAtPoint):
330         (PageOverlayClientImpl::dataDetectorCopyTypeAtPoint):
331         (PageOverlayClientImpl::showDataDetectorMenuAtPoint):
332         * WebProcess/InjectedBundle/API/c/WKBundlePageOverlay.h:
333         * WebProcess/WebPage/PageOverlay.cpp:
334         (WebKit::PageOverlay::supportsDataDetection):
335         (WebKit::PageOverlay::dataDetectorExistsAtPoint):
336         (WebKit::PageOverlay::dataDetectorCopyTypeAtPoint):
337         (WebKit::PageOverlay::dataDetectorOpenMenuAtPoint):
338         * WebProcess/WebPage/PageOverlay.h:
339         (WebKit::PageOverlay::Client::supportsDataDetection):
340         (WebKit::PageOverlay::Client::dataDetectorExistsAtPoint):
341         (WebKit::PageOverlay::Client::dataDetectorCopyTypeAtPoint):
342         (WebKit::PageOverlay::Client::showDataDetectorMenuAtPoint):
343         * WebProcess/WebPage/WebPage.cpp:
344         (WebKit::WebPage::pageOverlayOpenDataDetectorMenuAtPoint):
345         (WebKit::WebPage::pageOverlayDataDetectorCopyTypeAtPoint):
346         (WebKit::WebPage::pageOverlayDataDetectorExistsAtPoint):
347         (WebKit::WebPage::pageOverlaySupportsDataDetection):
348         * WebProcess/WebPage/WebPage.h:
349         * WebProcess/WebPage/mac/WKAccessibilityWebPageObject.mm:
350         (-[WKAccessibilityWebPageObject accessibilityParameterizedAttributeNames]):
351         (-[WKAccessibilityWebPageObject _convertScreenPointToWindow:]):
352         (-[WKAccessibilityWebPageObject accessibilityAttributeValue:forParameter:]):
353
354 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
355
356         [EFL][WK2] EWK2CookieManagerTest should be defined by inheriting from EWK2UnitTestBase.
357         https://bugs.webkit.org/show_bug.cgi?id=118721
358
359         Reviewed by Christophe Dumez.
360
361         It should be defined as relevant test class specific to each test file for more readability.
362         It could be helpful to remove unnecessary static methods.
363
364         * UIProcess/API/efl/tests/test_ewk2_cookie_manager.cpp:
365         (compareHostNames):
366         (onCookiesChanged):
367         (EWK2CookieManagerTest::getAcceptPolicy):
368         (EWK2CookieManagerTest::getHostnamesWithCookies):
369         (EWK2CookieManagerTest::freeHostNames):
370         (EWK2CookieManagerTest::countHostnamesWithCookies):
371         (TEST_F):
372
373 2013-07-16  Balazs Kelemen  <kbalazs@webkit.org>
374
375         [CMake] Undefined references should be detected at build time
376         https://bugs.webkit.org/show_bug.cgi?id=110236
377
378         Reviewed by Christophe Dumez.
379
380         Add library dependencies that were not defined explicitly before.
381
382         * CMakeLists.txt:
383         * PlatformEfl.cmake:
384
385 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
386
387         [EFL][WK2] EWK2WindowFeaturesTest should be defined by inheriting from EWK2UnitTestBase.
388         https://bugs.webkit.org/show_bug.cgi?id=118780
389
390         Reviewed by Christophe Dumez.
391
392         It should be defined as relevant test class specific to each test file for more readability.
393         It could be helpful to remove unnecessary static methods.
394
395         * UIProcess/API/efl/tests/test_ewk2_window_features.cpp:
396         (EWK2WindowFeaturesTest::createDefaultWindow):
397         (EWK2WindowFeaturesTest::createWindow):
398         (TEST_F):
399
400 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
401
402         [EFL][WK2] EWK2ViewTest should be defined by inheriting from EWK2UnitTestBase.
403         https://bugs.webkit.org/show_bug.cgi?id=118779
404
405         Reviewed by Christophe Dumez.
406
407         It should be defined as relevant test class specific to each test file for more readability.
408         It could be helpful to remove unnecessary static methods.
409
410         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
411         (EWK2ViewTest::onLoadFinishedForRedirection):
412         (EWK2ViewTest::serverCallbackNavigation):
413         (EWK2ViewTest::onFormAboutToBeSubmitted):
414         (EWK2ViewTest::fullScreenCallback):
415         (EWK2ViewTest::fullScreenExitCallback):
416         (EWK2ViewTest::checkAlert):
417         (EWK2ViewTest::checkConfirm):
418         (EWK2ViewTest::checkPrompt):
419         (EWK2ViewTest::onTextFound):
420         (EWK2ViewTest::onVibrate):
421         (EWK2ViewTest::onCancelVibration):
422         (EWK2ViewTest::loadVibrationHTMLString):
423         (EWK2ViewTest::onContentsSizeChangedPortrait):
424         (EWK2ViewTest::onContentsSizeChangedLandscape):
425         (EWK2ViewTest::PageContentsAsMHTMLCallback):
426         (EWK2ViewTest::PageContentsAsStringCallback):
427         (TEST_F):
428
429 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
430
431         [EFL][WK2] EWK2StorageManagerTest should be defined by inheriting from EWK2UnitTestBase.
432         https://bugs.webkit.org/show_bug.cgi?id=118777
433
434         Reviewed by Christophe Dumez.
435
436         It should be defined as relevant test class specific to each test file for more readability.
437         It could be helpful to remove unnecessary static methods.
438
439         * UIProcess/API/efl/tests/test_ewk2_storage_manager.cpp:
440         (EWK2StorageManagerTest::OriginData::OriginData):
441         (EWK2StorageManagerTest::getStorageOriginsCallback):
442         (EWK2StorageManagerTest::timerCallback):
443         (EWK2StorageManagerTest::checkOrigin):
444         (TEST_F):
445
446 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
447
448         [EFL][WK2] EWK2PopupMenuTest should be defined by inheriting from EWK2UnitTestBase.
449         https://bugs.webkit.org/show_bug.cgi?id=118775
450
451         Reviewed by Christophe Dumez.
452
453         It should be defined as relevant test class specific to each test file for more readability.
454         It could be helpful to remove unnecessary static methods.
455
456         * UIProcess/API/efl/tests/test_ewk2_popup_menu.cpp:
457         (EWK2PopupMenuTest::checkBasicPopupMenuItem):
458         (EWK2PopupMenuTest::selectItemAfterDelayed):
459         (EWK2PopupMenuTest::showPopupMenu):
460         (TEST_F):
461
462 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
463
464         [EFL][WK2] EWK2FileChooserRequestTest should be defined by inheriting from EWK2UnitTestBase.
465         https://bugs.webkit.org/show_bug.cgi?id=118773
466
467         Reviewed by Christophe Dumez.
468
469         It should be defined as relevant test class specific to each test file for more readability.
470         It could be helpful to remove unnecessary static methods.
471
472         * UIProcess/API/efl/tests/test_ewk2_file_chooser_request.cpp:
473         (EWK2FileChooserRequestTest::onFileChooserRequest):
474         (EWK2FileChooserRequestTest::compareStrings):
475         (EWK2FileChooserRequestTest::freeStringList):
476         (TEST_F):
477
478 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
479
480         [EFL][WK2] EWK2FaviconDatabaseTest should be defined by inheriting from EWK2UnitTestBase.
481         https://bugs.webkit.org/show_bug.cgi?id=118772
482
483         Reviewed by Christophe Dumez.
484
485         It should be defined as relevant test class specific to each test file for more readability.
486         It could be helpful to remove unnecessary static methods.
487
488         * UIProcess/API/efl/tests/test_ewk2_favicon_database.cpp:
489         (EWK2FaviconDatabaseTest::serverCallback):
490         (EWK2FaviconDatabaseTest::requestFaviconData):
491         (TEST_F):
492
493 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
494
495         [EFL][WK2] EWK2EinaSharedStringTest should be defined by inheriting from EWK2UnitTestBase.
496         https://bugs.webkit.org/show_bug.cgi?id=118771
497
498         Reviewed by Christophe Dumez.
499
500         It should be defined as relevant test class specific to each test file for more readability.
501         It could be helpful to remove unnecessary static methods.
502
503         * UIProcess/API/efl/tests/test_ewk2_eina_shared_string.cpp:
504         (EWK2EinaSharedStringTest::checkString):
505         (TEST_F):
506
507 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
508
509         [EFL][WK2] EWK2DownloadJobTest should be defined by inheriting from EWK2UnitTestBase.
510         https://bugs.webkit.org/show_bug.cgi?id=118769
511
512         Reviewed by Christophe Dumez.
513
514         It should be defined as relevant test class specific to each test file for more readability.
515         It could be helpful to remove unnecessary static methods.
516
517         * UIProcess/API/efl/tests/test_ewk2_download_job.cpp:
518         (EWK2DownloadJobTest::fileExists):
519         (EWK2DownloadJobTest::serverCallback):
520         (EWK2DownloadJobTest::on_download_requested):
521         (EWK2DownloadJobTest::on_download_cancelled):
522         (EWK2DownloadJobTest::on_download_failed):
523         (EWK2DownloadJobTest::on_download_finished):
524         (TEST_F):
525
526 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
527
528         [EFL][WK2] EWK2AuthRequestTest should be defined by inheriting from EWK2UnitTestBase.
529         https://bugs.webkit.org/show_bug.cgi?id=118766
530
531         Reviewed by Christophe Dumez.
532
533         It should be defined as relevant test class specific to each test file for more readability.
534         It could be helpful to remove unnecessary static methods.
535
536         * UIProcess/API/efl/tests/test_ewk2_auth_request.cpp:
537         (EWK2AuthRequestTest::serverCallback):
538         (EWK2AuthRequestTest::onAuthenticationRequest):
539         (EWK2AuthRequestTest::onLoadFinished):
540         (TEST_F):
541
542 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
543
544         [EFL][WK2] EWK2ContextMenuTest should be defined by inheriting from EWK2UnitTestBase.
545         https://bugs.webkit.org/show_bug.cgi?id=118767
546
547         Reviewed by Christophe Dumez.
548
549         It should be defined as relevant test class specific to each test file for more readability.
550         It could be helpful to remove unnecessary static methods.
551
552         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
553         (EWK2ContextMenuTest::checkBasicContextMenuItem):
554         (EWK2ContextMenuTest::customItemSelected):
555         (EWK2ContextMenuTest::showContextMenu):
556         (EWK2ContextMenuTest::showContextMenuForRemoveAndAppend):
557         (EWK2ContextMenuTest::showContextMenuForSubmenu):
558         (EWK2ContextMenuTest::hideContextMenu):
559         (TEST_F):
560
561 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
562
563         [EFL][WK2] EWK2ContextTest should be defined by inheriting from EWK2UnitTestBase.
564         https://bugs.webkit.org/show_bug.cgi?id=118763
565
566         Reviewed by Christophe Dumez.
567
568         It should be defined as relevant test class specific to each test file for more readability.
569         It could be helpful to remove unnecessary static methods.
570
571         * UIProcess/API/efl/tests/test_ewk2_context.cpp:
572         (EWK2ContextTest::schemeRequestCallback):
573         (TEST_F):
574
575 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
576
577         [EFL][WK2] EWK2DatabaseManagerTest should be defined by inheriting from EWK2UnitTestBase
578         https://bugs.webkit.org/show_bug.cgi?id=118726
579
580         Reviewed by Christophe Dumez.
581
582         It should be defined as relevant test class specific to each test file for more readability.
583         It could be helpful to remove unnecessary static methods.
584
585         * UIProcess/API/efl/tests/test_ewk2_database_manager.cpp:
586         (EWK2DatabaseManagerTest::OriginData::OriginData):
587         (EWK2DatabaseManagerTest::databaseOriginsCallback):
588         (EWK2DatabaseManagerTest::timerCallback):
589         (TEST_F):
590
591 2013-07-17  Dong-Gwan Kim  <donggwan.kim@samsung.com>
592
593         [EFL][WK2] EWK2ColorPickerTest should be defined by inheriting from EWK2UnitTestBase.
594         https://bugs.webkit.org/show_bug.cgi?id=118762
595
596         Reviewed by Christophe Dumez.
597
598         It should be defined as relevant test class specific to each test file for more readability.
599         It could be helpful to remove unnecessary static methods.
600
601         * UIProcess/API/efl/tests/test_ewk2_color_picker.cpp:
602         (EWK2ColorPickerTest::onColorPickerDone):
603         (EWK2ColorPickerTest::setColorPickerColor):
604         (EWK2ColorPickerTest::showColorPicker):
605         (EWK2ColorPickerTest::hideColorPicker):
606         (EWK2ColorPickerTest::hideColorPickerByRemovingElement):
607         (TEST_F):
608
609 2013-07-16  Gordon Sheridan  <gordon_sheridan@apple.com>
610
611         setPluginUnavailabilityReason can destroy renderObject before obscurity check
612         https://bugs.webkit.org/show_bug.cgi?id=118770
613         <rdar://problem/14462331>
614
615         Reviewed by Tim Horton.
616
617         * WebProcess/WebPage/WebPage.cpp:
618         (WebKit::WebPage::createPlugin):
619         Moved obscurity check to before renderObject is potentially destroyed.
620
621 2013-07-16  Alexey Proskuryakov  <ap@apple.com>
622
623         REGRESSION (r150291): Chinese predictive input pop-up disappears on twitter.com
624         https://bugs.webkit.org/show_bug.cgi?id=118739
625         <rdar://problem/14300350>
626
627         Reviewed by Daniel Bates.
628
629         EditorState tracking on UI side is very fragile. This is a targeted fix just for
630         this specific scenario.
631
632         The issue was that we had a stale m_temporarilyClosedComposition flag, which was
633         making UI process believe that a composition was closed from WebProcess side,
634         and notify input method about that. It shouldn't have been a problem, because there
635         is no composition at this point indeed, but this extra call is a problem for
636         predictive input, which works in a somewhat unconventional way (<rdar://problem/14458297>).
637
638         * UIProcess/mac/WebPageProxyMac.mm:
639         (WebKit::WebPageProxy::insertText): Reset m_temporarilyClosedComposition flag when
640         getting new EditorState in response to performing this action. There is certainly
641         no composition after insertText, and all interested parties are on the same page
642         already.
643
644 2013-07-16  Jessie Berlin  <jberlin@apple.com>
645
646         Fix some NSDictionary misuse pointed out by the clang static analyzer
647         https://bugs.webkit.org/show_bug.cgi?id=118736
648
649         Reviewed by Anders Carlsson.
650
651         * WebProcess/WebCoreSupport/mac/WebEditorClientMac.mm:
652         (WebKit::WebEditorClient::documentFragmentFromAttributedString):
653         Do not put a key with a nil value pair into the NSDictionary.
654
655 2013-07-16  Michael Brüning  <michael.bruning@digia.com>
656
657         [Qt] Replace Nokia with Qt Project in service name.
658         https://bugs.webkit.org/show_bug.cgi?id=118729
659
660         Reviewed by Simon Hausmann.
661
662         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
663         (WebKit::ProcessLauncher::launchProcess):
664
665 2013-07-16  Dong-Gwan Kim  <donggwan.kim@samsung.com>
666
667         EWK2BackForwardListTest should be defined by inheriting from EWK2UnitTestBase.
668         https://bugs.webkit.org/show_bug.cgi?id=118717
669
670         Reviewed by Christophe Dumez.
671
672         * UIProcess/API/efl/tests/test_ewk2_back_forward_list.cpp:
673         (EWK2BackForwardListTest::checkItem):
674         (EWK2BackForwardListTest::urlFromTitle):
675         (EWK2BackForwardListTest::freeEinaList):
676         (TEST_F):
677
678 2013-07-16  Kangil Han  <kangil.han@samsung.com>
679
680         Use toHTMLSelectElement and dismiss isHTMLSelectElement
681         https://bugs.webkit.org/show_bug.cgi?id=118714
682
683         Reviewed by Ryosuke Niwa.
684
685         To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup.
686         Additionally, this patch removes isHTMLSelectElement because not all element subclasses can be checked by a combination of tag names.
687
688         * WebProcess/Plugins/PDF/PDFPluginChoiceAnnotation.mm:
689         (WebKit::PDFPluginChoiceAnnotation::commit):
690
691 2013-07-16  Dong-Gwan Kim  <donggwan.kim@samsung.com>
692
693         Replace mouseClick with more meaningful method in test_ewk2_text_checker.cpp
694         https://bugs.webkit.org/show_bug.cgi?id=118699
695
696         Reviewed by Christophe Dumez.
697
698         Many mouseClick methods are used in test_ewk2_text_checker.cpp.
699         But it is difficult to understand what they mean.
700         So i would like to replace those with more meaningful method for readability.
701
702         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
703         (EWK2TextCheckerTest::clickSelectAllWordsWithSpellcheckButton):
704         (EWK2TextCheckerTest::clickSelectAllWordsWithoutSpellcheckButton):
705         (EWK2TextCheckerTest::clickSelectSubWordWithSpellcheckButton):
706         (EWK2TextCheckerTest::showContextMenuWithFirstLineText):
707         (EWK2TextCheckerTest::showContextMenuWithSecondLineText):
708         (EWK2TextCheckerTest::selectFirstWordInFirstLineText):
709         (EWK2TextCheckerTest::selectFirstWordInSecondLineText):
710         (TEST_F):
711
712 2013-07-15  Kangil Han  <kangil.han@samsung.com>
713
714         Introduce toHTMLIFrameElement
715         https://bugs.webkit.org/show_bug.cgi?id=118672
716
717         Reviewed by Ryosuke Niwa.
718
719         To avoid direct use of static_cast, this patch introduces toHTMLIFrameElement for code cleanup.
720
721         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
722         (WebKit::InjectedBundleNodeHandle::htmlIFrameElementContentFrame):
723
724 2013-07-15  Tim Horton  <timothy_horton@apple.com>
725
726         Update blocked/missing plug-in UI
727         https://bugs.webkit.org/show_bug.cgi?id=118347
728         <rdar://problem/14209318>
729
730         Reviewed by Sam Weinig.
731         Patch by Antoine Quint, Anders Carlsson, Sam Weinig, and myself.
732
733         * Platform/CoreIPC/HandleMessage.h:
734         (CoreIPC::callMemberFunction):
735         Add a 6 argument -> 4 reply message handler.
736         (It seems that FindPlugin is getting a little out of hand.)
737
738         * Shared/APIClientTraits.cpp:
739         * Shared/APIClientTraits.h:
740         * UIProcess/API/C/WKPage.h:
741         * UIProcess/WebLoaderClient.cpp:
742         (WebKit::WebLoaderClient::pluginLoadPolicy):
743         * UIProcess/WebLoaderClient.h:
744         Add an unavailability description out-argument to a new version of
745         pluginLoadPolicy, so clients can override the text of the unavailable
746         plugin indicator. Bump the WKPageLoaderClient version and update APIClientTraits.
747
748         * UIProcess/WebPageProxy.cpp:
749         (WebKit::WebPageProxy::findPlugin):
750         * UIProcess/WebPageProxy.h:
751         * UIProcess/WebPageProxy.messages.in:
752         Plumb the unavailability description through to the WebProcess via
753         the FindPlugin message.
754
755         * WebProcess/Plugins/PluginProcessConnection.cpp:
756         (WebKit::PluginProcessConnection::didClose):
757         Make a strongly referencing copy of the list of PluginProxies, so we can
758         throw them away without the HashMap being mutated underneath us (see the comment).
759
760         * WebProcess/Plugins/PluginView.cpp:
761         (WebKit::PluginView::pluginProcessCrashed):
762         Invalidate the plug-in's widget before setting the plugin unavailability reason,
763         because doing so would cause the plug-in's renderer to be torn down, making
764         invalidate() crash.
765
766         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
767         (WebKit::WebChromeClient::shouldUnavailablePluginMessageIncludeButton):
768         * WebProcess/WebCoreSupport/WebChromeClient.h:
769         Rename from shouldUnavailablePluginMessageBeButton to
770         shouldUnavailablePluginMessageIncludeButton for accuracy.
771
772         * WebProcess/WebPage/WebPage.cpp:
773         (WebKit::WebPage::createPlugin):
774         Acquire the unavailability description from the client
775         (via FindPlugin) and hand it to the RenderEmbeddedObject.
776         (WebKit::WebPage::canPluginHandleResponse):
777         Re-acquire the plugin's renderer, in case setPluginUnavailabilityReason destroyed it.
778
779 2013-07-15  Simon Cooper  <scooper@apple.com>
780
781         PluginProcess deny file-read-data /Library/Application Support/Macromedia/FlashPlayerTrust
782         https://bugs.webkit.org/show_bug.cgi?id=118690
783         <rdar://problem/14255963>
784
785         Reviewed by Dean Jackson.
786
787         Silently deny access to FlashPlayerTrust. This location contains
788         files containing lists of paths that Flash Player will
789         "allow" access to (without asking the user). Since the plugin
790         sandbox won't permit the access to the listed paths it is better
791         to silently block attempts to read these "whitelists". The
792         "whitelists" are created by other Adobe "installer" like
793         applications.
794
795         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
796
797 2013-07-14  Jon Lee  <jonlee@apple.com>
798
799         Calling Notification.requestPermission() without a callback crashes
800         https://bugs.webkit.org/show_bug.cgi?id=118654
801         <rdar://problem/14293352>
802
803         Reviewed by Alexey Proskuryakov.
804
805         When requestPermission() is called, we short-circuit if we know the permission was already set.
806         The callback handler gets invoked. But now that callbacks are optional, we need to check to make
807         sure a callback was provided.
808
809         * WebProcess/Notifications/NotificationPermissionRequestManager.cpp:
810         (WebKit::NotificationPermissionRequestManager::startRequest): Check for the callback.
811
812 2013-07-15  Anton Obzhirov  <a.obzhirov@samsung.com>
813
814         [GTK] Remote inspector server should send an error page if resources not found
815         https://bugs.webkit.org/show_bug.cgi?id=117137
816
817         Reviewed by Gustavo Noronha Silva.
818
819         Sometimes it is difficult to understand why remote inspector fails to deliver the content.
820         This patch gives an option to show error page with some basic explanation.
821
822         * UIProcess/InspectorServer/gtk/WebInspectorServerGtk.cpp:
823         (WebKit::WebInspectorServer::platformResourceForPath):
824
825 2013-07-15  Simon Pena  <simon.pena@samsung.com>
826
827         [GTK] [WK2] Check if the keyEventQueue is empty in WebPageProxy::getEditorCommandsForKeyEvent
828         https://bugs.webkit.org/show_bug.cgi?id=118530
829
830         Reviewed by Carlos Garcia Campos.
831
832         When a key event is started in the WebProcess (e.g. in the inspector)
833         it doesn't have an associated GdkEvent queued. Adding a check in 
834         WebPageProxy::getEditorCommandsForKeyEvent ensures there's always a queued
835         key event to process.
836
837         In GTK-WK2, inspector-protocol/input/dispatchKeyEvent.html no longer crashes once
838         this fix is in place. 
839
840         * UIProcess/gtk/WebPageProxyGtk.cpp:
841         (WebKit::WebPageProxy::getEditorCommandsForKeyEvent): Ensure m_keyEventQueue is
842         not empty.
843
844 2013-07-15  Alberto Garcia  <berto@igalia.com>
845
846         [WK2][GTK] SIGSEV in webkitWebViewBaseSizeAllocate
847         https://bugs.webkit.org/show_bug.cgi?id=118052
848
849         Reviewed by Carlos Garcia Campos.
850
851         We don't need to check whether the drawing area is empty or not in
852         order to set needsResizeOnMap.
853
854         It can also happen that the drawing area pointer is null (if
855         e.g. the web process crashes), which is the reason for this
856         SIGSEGV.
857
858         A test to prevent this was added in r88646 but was later moved to
859         resizeWebKitWebViewBaseFromAllocation().
860
861         * UIProcess/API/gtk/WebKitWebViewBase.cpp:
862         (webkitWebViewBaseSizeAllocate):
863
864 2013-07-10  Roger Fong  <roger_fong@apple.com>
865
866         Plugins that don't support snapshotting should not all autostart.
867         https://bugs.webkit.org/show_bug.cgi?id=118572
868         <rdar://problem/14324391>.
869
870         Reviewed by Dean Jackson.
871
872         * WebProcess/Plugins/PluginView.cpp:
873         (WebKit::PluginView::shouldNotAddLayer): This method determines whether or not we should add the plugin's layer to the tree.
874         It should not be added if the plugin is in it's snapshotted state but does not actually support snapshotting.
875         (WebKit::PluginView::pluginSnapshotTimerFired): If the plugin does not support snapshotting go straight 
876         to the the DisplayingSnapshot state.
877         * WebProcess/Plugins/PluginView.h:
878
879 2013-07-11  Jessie Berlin  <jberlin@apple.com>
880
881         WebResourceCacheManager::cfURLCacheHostNamesWithCallback leaks an array (pointed out by the
882         clang static analyzer)
883         https://bugs.webkit.org/show_bug.cgi?id=118533
884
885         Reviewed by Anders Carlsson.
886
887         * WebProcess/ResourceCache/cf/WebResourceCacheManagerCFNet.cpp:
888         (WebKit::WebResourceCacheManager::cfURLCacheHostNamesWithCallback):
889
890 2013-07-11  Sergio Correia  <sergio.correia@openbossa.org>
891
892         Use GOwnPtr in PluginProcessProxyUnix to manage stdOut variable
893         https://bugs.webkit.org/show_bug.cgi?id=118568
894
895         Reviewed by Martin Robinson.
896
897         * UIProcess/Plugins/unix/PluginProcessProxyUnix.cpp:
898         (WebKit::PluginProcessProxy::scanPlugin):
899
900 2013-07-11  Timothy Hatcher  <timothy@apple.com>
901
902         Revert r152267 and soft link WebInspectorUI.framework again.
903
904         https://bugs.webkit.org/show_bug.cgi?id=118544
905
906         Reviewed by David Kilzer.
907
908         * Configurations/WebKit2.xcconfig:
909         * UIProcess/mac/WebInspectorProxyMac.mm:
910         (WebKit::inspectorReallyUsesWebKitUserInterface):
911         * WebKit2.xcodeproj/project.pbxproj:
912         * WebProcess/WebPage/mac/WebInspectorMac.mm:
913         (WebKit::inspectorReallyUsesWebKitUserInterface):
914
915 2013-07-11  Jae Hyun Park  <jae.park@company100.net>
916
917         [Coordinated Graphics] Parameter of commitSceneState should be const
918         https://bugs.webkit.org/show_bug.cgi?id=118564
919
920         Reviewed by Noam Rosenthal.
921
922         Parameter of commitSceneState should be const as there should not be any
923         modifications to the passed CoordinatedGraphicsState.
924
925         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
926         (WebKit::CoordinatedLayerTreeHost::commitSceneState):
927         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
928
929 2013-07-10  Mark Rowe  <mrowe@apple.com>
930
931         <rdar://problem/14395759> PluginProcess sometimes logs an error about being unable to load WebKit2.framework.
932
933         Reviewed by Alexey Proskuryakov.
934
935         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
936         (WebKit::PluginProcessProxy::createPropertyListFile): Ensure that any environment variables
937         specified in dynamic linker load commands are passed to the subprocess that we spawn to create
938         the MIME type property list.
939
940 2013-07-10  Brady Eidson  <beidson@apple.com>
941
942         Some Java plugin instances can deadlock with the WebProcess on NPP_Destroy.
943         <rdar://problem/14286390> and https://bugs.webkit.org/show_bug.cgi?id=118535
944
945         Reviewed by Alexey Proskuryakov.
946
947         * Shared/Plugins/NPObjectProxy.cpp:
948         (WebKit::NPObjectProxy::~NPObjectProxy): ASSERT this is the main thread.
949         (WebKit::NPObjectProxy::NP_Deallocate): If this isn't the main thread, call it again on the main thread.
950
951 2013-07-10  Sergio Correia  <sergio.correia@openbossa.org>
952
953         Remove the meshType from CoordinatedCustomFilterOperation
954         https://bugs.webkit.org/show_bug.cgi?id=118529
955
956         Reviewed by Noam Rosenthal.
957
958         Following the removal of the meshType from CustomFilterOperation in r149153,
959         remove also the meshType from CoordinatedCustomFilterOperation.
960
961         No new tests, no new functionality.
962
963         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
964         (CoreIPC::::encode): Remove dead comment.
965         (CoreIPC::::decode): Remove meshType from CoordinatedCustomFilterOperation
966         call.
967
968 2013-07-09  Byungwoo Lee  <bw80.lee@samsung.com>
969
970         [EFL] tooltip callback doesn't work.
971         https://bugs.webkit.org/show_bug.cgi?id=118522
972
973         Reviewed by Christophe Dumez.
974
975         Add missing code to connect didChangeTooltip callback.
976
977         * UIProcess/efl/ViewClientEfl.cpp:
978         (WebKit::ViewClientEfl::ViewClientEfl):
979
980 2013-07-09  Jer Noble  <jer.noble@apple.com>
981
982         Reviewed by Simon Fraser.
983
984         Remember the scroll position and restore after exiting full-screen mode.
985         https://bugs.webkit.org/show_bug.cgi?id=61956
986         <rdar://problem/9544461>
987
988         Call into the main FrameView to save the scroll position before swapping the
989         WebView into the full-screen window, and restore the scroll position after 
990         swapping the WebView back into the browser window.
991
992         * UIProcess/mac/WKFullScreenWindowController.mm:
993         (-[WKFullScreenWindowController finishedEnterFullScreenAnimation:]):
994         (-[WKFullScreenWindowController beganExitFullScreenAnimation]):
995
996         In WebKit2, this requires some communication between the WebProcess and the
997         UIProcess, so add two new messages to WebFullScreenManager to be called by
998         its proxy.
999
1000         * UIProcess/WebFullScreenManagerProxy.h:
1001         * UIProcess/WebFullScreenManagerProxy.cpp:
1002         (WebKit::WebFullScreenManagerProxy::saveScrollPosition):
1003         (WebKit::WebFullScreenManagerProxy::restoreScrollPosition):
1004         * WebProcess/FullScreen/WebFullScreenManager.h:
1005         * WebProcess/FullScreen/WebFullScreenManager.messages.in:
1006         * WebProcess/FullScreen/WebFullScreenManager.cpp:
1007         (WebKit::WebFullScreenManager::saveScrollPosition):
1008         (WebKit::WebFullScreenManager::restoreScrollPosition):
1009
1010 2013-07-07  Carlos Garcia Campos  <cgarcia@igalia.com>
1011
1012         [GTK] Runtime critical warning when unloading a module that failed to load
1013         https://bugs.webkit.org/show_bug.cgi?id=118425
1014
1015         Reviewed by Martin Robinson.
1016
1017         * Platform/gtk/ModuleGtk.cpp:
1018         (WebKit::Module::load): Show an error message when the module
1019         fails to load.
1020         (WebKit::Module::unload): Check module pointer before calling
1021         unload method.
1022
1023 2013-07-05  Tim Horton  <timothy_horton@apple.com>
1024
1025         [wk2] Add API to lock the scroll position at the top or bottom of the page
1026         https://bugs.webkit.org/show_bug.cgi?id=118429
1027         <rdar://problem/14120323>
1028
1029         Reviewed by Anders Carlsson.
1030
1031         * Shared/WebPageCreationParameters.cpp:
1032         (WebKit::WebPageCreationParameters::encode):
1033         (WebKit::WebPageCreationParameters::decode):
1034         * Shared/WebPageCreationParameters.h:
1035         Pass the current ScrollPinningBehavior across to the WebPage upon creation.
1036
1037         * UIProcess/API/C/WKPage.cpp:
1038         (WKPageGetScrollPinningBehavior):
1039         (WKPageSetScrollPinningBehavior):
1040         * UIProcess/API/C/WKPagePrivate.h:
1041         SPI to get/set the WebPageProxy's current ScrollPinningBehavior.
1042         Convert between WK API type and WebCore enum.
1043
1044         * UIProcess/WebPageProxy.cpp:
1045         (WebKit::WebPageProxy::WebPageProxy):
1046         (WebKit::WebPageProxy::creationParameters):
1047         Send ScrollPinningBehavior when creating a WebPage.
1048
1049         (WebKit::WebPageProxy::setScrollPinningBehavior):
1050         Pass ScrollPinningBehavior changes across to the WebProcess (and save it
1051         in WebPageProxy so it can be sent back across if the WebProcess crashes).
1052
1053         * UIProcess/WebPageProxy.h:
1054         (WebKit::WebPageProxy::scrollPinningBehavior):
1055         Getter/setter and storage for m_scrollPinningBehavior.
1056
1057         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
1058         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
1059         Inform new FrameViews of the current ScrollPinningBehavior.
1060
1061         * WebProcess/WebPage/WebPage.cpp:
1062         (WebKit::WebPage::WebPage):
1063         Set our ScrollPinningBehavior based on our creation parameters.
1064
1065         (WebKit::WebPage::setScrollPinningBehavior):
1066         Inform the FrameView of ScrollPinningBehavior changes.
1067
1068         * WebProcess/WebPage/WebPage.h:
1069         (WebKit::WebPage::scrollPinningBehavior): Added.
1070         (WebKit::WebPage::setScrollPinningBehavior): Added.
1071         Add storage for m_scrollPinningBehavior.
1072
1073         * WebProcess/WebPage/WebPage.messages.in:
1074         Add SetScrollPinningBehavior message.
1075
1076 2013-07-05  Krzysztof Wolanski  <k.wolanski@samsung.com>
1077
1078         [EFL][WK2] Implement unit test callbacks: onWordLearn and onWordIgnore.
1079         https://bugs.webkit.org/show_bug.cgi?id=118392
1080
1081         Reviewed by Christophe Dumez.
1082
1083         Simulate behavior of Learn and Ignore Word in the text field.
1084
1085         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
1086         (EWK2UnitTest::EWK2UnitTestBase::mouseDoubleClick):
1087         Select the entire word in the text field.
1088
1089         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
1090         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
1091         (onSpellingForKnownWord):
1092         (onWordLearn):
1093         (onWordIgnore):
1094         (selectLearnSpelling):
1095         (selectIgnoreSpelling):
1096
1097 2013-07-05  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1098
1099         [GTK] WebKit2 test TestWebKitFaviconDatabase times out with recent glib
1100         https://bugs.webkit.org/show_bug.cgi?id=111434
1101
1102         Reviewed by Carlos Garcia Campos.
1103
1104         * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
1105         (testNotInitialized):
1106         (testSetDirectory):
1107         (testClearDatabase):
1108         (testGetFavicon):
1109         (testGetFaviconURI): Removed gconstpointer parameter.
1110         (testWebViewFavicon): Fixed to make it work together with the
1111         other tests and removed gconstpointer parameter.
1112         (testFaviconDatabase): Created to call all tests in the proper
1113         order.
1114         (beforeAll): Changed to call only testFaviconDatabase instead of
1115         the separate tests.
1116
1117 2013-07-05  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1118
1119         TestWebKitFaviconDatabase/clear-database is not testing things properly
1120         https://bugs.webkit.org/show_bug.cgi?id=118404
1121
1122         Reviewed by Carlos Garcia Campos.
1123
1124         * UIProcess/API/gtk/tests/TestWebKitFaviconDatabase.cpp:
1125         (testClearDatabase): Check for an existing icon that can make the
1126         test fail if clear database is not working.
1127
1128 2013-07-04  Anders Carlsson  <andersca@apple.com>
1129
1130         Paint the page background if we haven't received our first update
1131         https://bugs.webkit.org/show_bug.cgi?id=118402
1132         <rdar://problem/13893308>
1133
1134         Reviewed by Simon Fraser.
1135
1136         Make sure that we always paint something when we haven't received our first update from the web process.
1137
1138         * UIProcess/API/mac/WKView.mm:
1139         (-[WKView drawRect:]):
1140         * UIProcess/DrawingAreaProxyImpl.h:
1141         (WebKit::DrawingAreaProxyImpl::hasReceivedFirstUpdate):
1142
1143 2013-07-04  Anders Carlsson  <andersca@apple.com>
1144
1145         Crash when createPluginInternal ends up destroying the plug-in
1146         https://bugs.webkit.org/show_bug.cgi?id=118397
1147         <rdar://problem/14155051>
1148
1149         Reviewed by Simon Fraser.
1150
1151         Keep the WebProcessConnection object alive while calling createPluginInternal and handle
1152         the IPC connection going away.
1153
1154         * PluginProcess/WebProcessConnection.cpp:
1155         (WebKit::WebProcessConnection::createPluginAsynchronously):
1156
1157 2013-07-03  Gordon Sheridan  <gordon_sheridan@apple.com>
1158
1159         Implement mechanism to detect (partially) hidden blocked plugins.
1160         https://bugs.webkit.org/show_bug.cgi?id=117998
1161
1162         Reviewed by Dean Jackson.
1163
1164         * Shared/Plugins/Netscape/PluginInformation.h:
1165         * Shared/Plugins/Netscape/PluginInformation.cpp:
1166         (WebKit::plugInInformationReplacementObscuredKey):
1167         Add key for plugInInformation dictionaries.
1168
1169         (WebKit::createPluginInformationDictionary):
1170         Add boolean parameter identifying whether the replacement for a blocked plugin is obscured, and add it to the dictionary.
1171
1172         * Shared/API/c/WKPluginInformation.h:
1173         * Shared/API/c/WKPluginInformation.cpp:
1174         (WKPluginInformationReplacementObscuredKey):
1175         Provide the C API for the plugInInformationReplacementObscuredKey().
1176
1177         * UIProcess/WebPageProxy.h:
1178         * UIProcess/WebPageProxy.cpp:
1179         (WebKit::WebPageProxy::didBlockInsecurePluginVersion):
1180         Add bool replacementObscured parameter to pass on argument to createPluginInformationDictionary().
1181
1182         * UIProcess/WebPageProxy.messages.in:
1183         Add bool replacementObscured parameter to DidBlockInsecurePluginVersion() message.
1184
1185         * WebProcess/WebPage/WebPage.cpp:
1186         (WebKit::WebPage::createPlugin):
1187         Invoke isReplacementObscured() method for blocked plugins.
1188
1189 2013-07-03  Alexey Proskuryakov  <ap@apple.com>
1190
1191         <rdar://problem/14271105> Flash Player: deny ipc-posix-sem 59918130
1192         <rdar://problem/14349560> Flash Player: deny ipc-posix-sem MacromediaSemaphoreDig on many sites
1193
1194         Reviewed by Sam Weinig.
1195
1196         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
1197         semaphore-owner doesn't appear to work the way we need it to, removing it (at least for now).
1198
1199 2013-07-03  Simon Pena  <simon.pena@samsung.com>
1200
1201         WebTextCheckerClient doesn't initialize output arguments.
1202         https://bugs.webkit.org/show_bug.cgi?id=83683
1203
1204         Reviewed by Martin Robinson.
1205
1206         Callers of checkSpellingOfString and checkGrammarOfString expect
1207         certain default values when no misspelled (or bad grammar) string
1208         is found. They try to do that by initialising the reply arguments
1209         that go into the IPC calls, but these values are ultimately ignored (see
1210         HandleMessage.h, where the replyArguments are declared).
1211
1212         In the past, this seems to have led to various issues, (see
1213         TextCheckingHelper::findFirstMisspelling in TextCheckingHelper.cpp),
1214         where these return values are asserted and checked to be in the right range.
1215
1216         This patch initialises the values, so even if no available client
1217         implements the methods (or if the implementation forgets to do it) the callers
1218         will have their expected output.
1219
1220         However, and for a general case, we probably need a way to tell the caller
1221         that any existing value in the output arguments will be ignored.
1222
1223         * UIProcess/WebTextCheckerClient.cpp:
1224         (WebKit::WebTextCheckerClient::checkSpellingOfString):
1225         (WebKit::WebTextCheckerClient::checkGrammarOfString):
1226
1227
1228 2013-07-03  Sergio Villar Senin  <svillar@igalia.com>
1229
1230         [GTK][WK2] SIGSEV in WebKit::WebPageContextMenuClient::customContextMenuItemSelected
1231         https://bugs.webkit.org/show_bug.cgi?id=116867
1232
1233         Reviewed by Anders Carlsson.
1234
1235         We did not reset the clients on WebPageProxy::close(), so right
1236         clicking on a link after starting the navigation to some other
1237         page was causing crashes because code was trying to access an
1238         already freed m_contextMenuClient.
1239
1240         There were some other clients that could potentially trigger the
1241         same issues. Reset them all to null to prevent this situation.
1242
1243         * UIProcess/WebPageProxy.cpp:
1244         (WebKit::WebPageProxy::close):
1245
1246 2013-07-03  Simon Pena  <simon.pena@samsung.com>
1247
1248         Output arguments used in IPC calls should be returned initialised
1249         https://bugs.webkit.org/show_bug.cgi?id=118354
1250
1251         Reviewed by Anders Carlsson.
1252
1253         When Download::shouldDecodeSourceDataOfMIMEType and Download::retrieveDestinationWithSuggestedFilename
1254         call DownloadProxy::shouldDecodeSourceDataOfMIMEType and DownloadProxy::decideDestinationWithSuggestedFilename
1255         through IPC, they assume the output arguments result and allowOverwrite have
1256         been initialised.
1257
1258         This patch initialises these arguments also in the unlikely event that a
1259         m_webContext is not available.
1260
1261         * UIProcess/Downloads/DownloadProxy.cpp:
1262         (WebKit::DownloadProxy::shouldDecodeSourceDataOfMIMEType):
1263         (WebKit::DownloadProxy::decideDestinationWithSuggestedFilename):
1264
1265 2013-07-03  Sergio Villar Senin  <svillar@igalia.com>
1266
1267         [WK2][GTK] Invalid ASSERTs in WebResources loading code
1268         https://bugs.webkit.org/show_bug.cgi?id=118352
1269
1270         Reviewed by Carlos Garcia Campos.
1271
1272         The WebKitWebView keeps track of the resources being loaded in a
1273         map. A couple of ASSERTs verify that every loaded resource is
1274         stored in that map.
1275
1276         The map that is cleared each time a new load starts so there is a
1277         small chance that we get notifications for resources that
1278         correspond to previous page loads
1279         (and thus are not stored in the map). We should remove the ASSERT
1280         which is not valid anymore.
1281
1282         * UIProcess/API/gtk/WebKitWebView.cpp:
1283         (webkitWebViewGetLoadingWebResource):
1284
1285 2013-07-03  Carlos Garcia Campos  <cgarcia@igalia.com>
1286
1287         [GTK] Migrate WebKitWebContext to GTask
1288         https://bugs.webkit.org/show_bug.cgi?id=117153
1289
1290         Reviewed by Gustavo Noronha Silva.
1291
1292         * UIProcess/API/gtk/WebKitWebContext.cpp:
1293         (webkitWebContextGetPluginThread):
1294         (webkit_web_context_get_plugins):
1295         (webkit_web_context_get_plugins_finish):
1296
1297 2013-07-02  Zan Dobersek  <zdobersek@igalia.com>
1298
1299         [WK2] Invalidate FontCache before purging MemoryCache upon WebProcess termination/closure
1300         https://bugs.webkit.org/show_bug.cgi?id=118280
1301
1302         Reviewed by Darin Adler.
1303
1304         Invalidate the FontCache before disabling and purging the MemoryCache in WebProcess::didClose
1305         and WebProcess::terminate. This frees up additional references to objects that were held
1306         by the FontCache, reducing the amount of 'LEAK: *' output when exiting MiniBrowser or
1307         WebKitTestRunner in debug builds.
1308
1309         * WebProcess/WebProcess.cpp:
1310         (WebKit::WebProcess::terminate):
1311         (WebKit::WebProcess::didClose):
1312
1313 2013-07-02  Jessie Berlin  <jberlin@apple.com>
1314
1315         The callback for WKPageGetPlugInInformation needs info about whether or not there are any
1316         non-playing instances of the plug-in on the page
1317         https://bugs.webkit.org/show_bug.cgi?id=118330
1318
1319         Reviewed by Anders Carlsson.
1320
1321         Add another key value pair to the dictionary passed to the callback.
1322
1323         * Shared/API/c/WKPluginInformation.cpp:
1324         (WKPlugInInformationPageContainsNonPlayingInstanceOfPlugInKey):
1325         * Shared/API/c/WKPluginInformation.h:
1326
1327         * Shared/Plugins/Netscape/PluginInformation.cpp:
1328         (WebKit::plugInInformationPageContainsNonPlayingInstanceOfPlugInKey):
1329         (WebKit::createPlugInInformationDictionary):
1330         Add the information about whether or not the page contains a non-playing instance of that
1331         plug-in to the plug-in information dictionary.
1332         * Shared/Plugins/Netscape/PluginInformation.h:
1333
1334         * UIProcess/WebPageProxy.h:
1335         * UIProcess/WebPageProxy.messages.in:
1336         * UIProcess/mac/WebPageProxyMac.mm:
1337         (WebKit::WebPageProxy::containsPlugInCallback):
1338         Check if any of the MIME types of the plug-in instances that are present on the page but are
1339         not playing match the instance of plug-in being searched for.
1340         * WebProcess/WebPage/mac/WebPageMac.mm:
1341         (WebKit::addPlugInMimeTypesFromNodeListForNonPlayingPlugIns):
1342         Based roughly off of addPlugInsFromNodeListMatchingPlugInOrigin in
1343         HTMLPlugInImageElement.cpp.
1344         (WebKit::WebPage::containsPluginViewsWithPluginProcessToken):
1345         Based roughly off of HTMLPlugInImageElement::restartSimilarPlugIns.
1346
1347 2013-07-02  Alexey Proskuryakov  <ap@apple.com>
1348
1349         security/block-test.html fails when NetworkProcess is enabled
1350         https://bugs.webkit.org/show_bug.cgi?id=118320
1351         <rdar://problem/14309423>
1352
1353         Reviewed by Geoff Garen.
1354
1355         * NetworkProcess/NetworkResourceLoader.cpp:
1356         (WebKit::NetworkResourceLoader::wasBlocked):
1357         (WebKit::NetworkResourceLoader::cannotShowURL):
1358         Implemented missing ResourceHandleClient functions.
1359
1360 2013-07-02  Ada Chan  <adachan@apple.com>
1361
1362         Fix crash when PageBanner::detachFromPage() is called from WebPage::~WebPage().
1363         https://bugs.webkit.org/show_bug.cgi?id=118268
1364
1365         Reviewed by Beth Dakin.
1366
1367         * WebProcess/WebPage/mac/PageBannerMac.mm:
1368         (WebKit::PageBanner::detachFromPage): Add some null checks. m_webPage->corePage()
1369         can be null if this method is called after the web page is closed.
1370
1371 2013-07-02  Jae Hyun Park  <jae.park@company100.net>
1372
1373         Implement CoordinatedSurface for Threaded Coordinated Graphics
1374         https://bugs.webkit.org/show_bug.cgi?id=109661
1375
1376         Reviewed by Noam Rosenthal.
1377
1378         This is a preparation patch for Threaded Coordianted Graphics.
1379
1380         This patch implements ThreadSafeCoordinatedSurface using ImageBuffer as a
1381         backend. Also, this patch moves common implementation to CoordinatedSurface to
1382         prevent duplication of code.
1383
1384         * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
1385         (WebKit::WebCoordinatedSurface::WebCoordinatedSurface):
1386         * Shared/CoordinatedGraphics/WebCoordinatedSurface.h:
1387
1388 2013-07-01  Alexey Proskuryakov  <ap@apple.com>
1389
1390         Clean up private browsing session tracking
1391         https://bugs.webkit.org/show_bug.cgi?id=118266
1392         <rdar://problem/13078036>
1393
1394         Reviewed by Brady Eidson.
1395
1396         Instead of counting API calls, we now watch actual WebPreferences objects.
1397
1398         * UIProcess/API/C/WKPreferences.cpp: (WKPreferencesSetPrivateBrowsingEnabled):
1399         Removed code that used to notify WebContext. It's now done by WebPreferences.
1400
1401         * UIProcess/WebContext.h:
1402         * UIProcess/WebContext.cpp:
1403         (WebKit::WebContext::ensureNetworkProcess): Instead of counting the number of times
1404         API was called, rely on WebPreferences tracking.
1405         (WebKit::WebContext::willStartUsingPrivateBrowsing): Ditto. This function is
1406         now only called when we detect a change in private browsing state.
1407         (WebKit::WebContext::willStopUsingPrivateBrowsing): Ditto.
1408         (WebKit::WebContext::createNewWebProcess): Tell the new process to create a private
1409         browsing session if needed.
1410
1411         * UIProcess/WebPreferences.h:
1412         * UIProcess/WebPreferences.cpp:
1413         (WebKit::WebPreferences::addPageGroup): Count how many page groups use private
1414         browsing, and notify WebContext when a session is needed. Note that we don't notify
1415         WebContext about WebPreferences without any page groups, because it's likely
1416         that preferences will be updated by the client before groups are associated.
1417         (WebKit::WebPreferences::removePageGroup): Ditto.
1418         (WebKit::WebPreferences::updateBoolValueForKey): Perform special handling for
1419         private browsing mode changes.
1420         (WebKit::WebPreferences::updatePrivateBrowsingValue): Notify WebContext when
1421         it's time to create or destroy a private browsing session.
1422         (WebKit::WebPreferences::anyPageGroupsAreUsingPrivateBrowsing): A getter for
1423         WebContext to know when any page groups are in private browsing mode.
1424
1425         * WebProcess/WebPage/WebPage.cpp: (WebKit::WebPage::updatePreferences):
1426         Don't create a private browsing session implicitly, UI process takes care of it.
1427
1428 2013-07-01  Timothy Hatcher  <timothy@apple.com>
1429
1430         Link to WebInspectorUI.framework at build time instead of soft linking.
1431
1432         https://bugs.webkit.org/show_bug.cgi?id=118261
1433
1434         Reviewed by Joseph Pecoraro.
1435
1436         * Configurations/WebKit2.xcconfig:
1437         * UIProcess/mac/WebInspectorProxyMac.mm:
1438         (WebKit::inspectorReallyUsesWebKitUserInterface):
1439         * WebKit2.xcodeproj/project.pbxproj:
1440         * WebProcess/WebPage/mac/WebInspectorMac.mm:
1441         (WebKit::inspectorReallyUsesWebKitUserInterface):
1442
1443 2013-07-01  Tim Horton  <timothy_horton@apple.com>
1444
1445         [wk2] TiledCoreAnimationDrawingArea should support scrolling its exposed rect
1446         https://bugs.webkit.org/show_bug.cgi?id=118173
1447         <rdar://problem/14301166>
1448
1449         Reviewed by Anders Carlsson.
1450
1451         Offset the exposed rect passed from the WKView by the main frame's current scroll position
1452         before sending it to our TiledBackings, so that it is in the same coordinate space as their
1453         ordinary visibleRects.
1454
1455         This has the side effect of making clips-to-exposed-rect testable (though useless) in Safari.
1456
1457         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1458         Add updateScrolledExposedRect() and m_scrolledExposedRect.
1459
1460         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1461         (WebKit::TiledCoreAnimationDrawingArea::scroll):
1462         Call updateScrolledExposedRect when the main frame scrolls.
1463
1464         (WebKit::TiledCoreAnimationDrawingArea::setExposedRect):
1465         Remove a FIXME about this change.
1466         Call updateScrolledExposedRect instead of passing down the unscrolled rect.
1467
1468         (WebKit::TiledCoreAnimationDrawingArea::setClipsToExposedRect):
1469         Call updateScrolledExposedRect, because that method will short-circuit if
1470         setClipsToExposedRect is false, so we need to update here for correctness
1471         if we get a setExposedRect(), setClipsToExposedRect(true) pair.
1472
1473         (WebKit::TiledCoreAnimationDrawingArea::updateScrolledExposedRect):
1474         Update m_scrolledExposedRect and propagate it to our TiledBackings.
1475
1476         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
1477         (WebKit::TiledCoreAnimationDrawingArea::setRootCompositingLayer):
1478         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
1479         (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
1480         Use the scrolled exposed rect.
1481
1482 2013-07-01  Ada Chan  <adachan@apple.com>
1483
1484         Properly hide the header and footer banners if they are set to null.
1485         https://bugs.webkit.org/show_bug.cgi?id=118219
1486
1487         Reviewed by Beth Dakin.
1488         
1489         Call Page::addFooterWithHeight(0) to remove the parent layer that hosts the banner when
1490         the footer banner is detached. Similarly for the header banner.
1491
1492         * WebProcess/WebPage/mac/PageBannerMac.mm:
1493         (WebKit::PageBanner::detachFromPage):
1494
1495 2013-07-01  Jochen Eisinger  <jochen@chromium.org>
1496
1497         Remove support for consumable user gestures
1498         https://bugs.webkit.org/show_bug.cgi?id=118247
1499
1500         Reviewed by Geoffrey Garen.
1501
1502         * WebProcess/Notifications/WebNotificationManager.cpp:
1503         (WebKit::WebNotificationManager::didClickNotification):
1504         * WebProcess/Plugins/PluginView.cpp:
1505         (WebKit::PluginView::performFrameLoadURLRequest):
1506         (WebKit::PluginView::evaluate):
1507         * WebProcess/WebCoreSupport/WebContextMenuClient.cpp:
1508         (WebKit::WebContextMenuClient::searchWithGoogle):
1509
1510 2013-06-27  Jer Noble  <jer.noble@apple.com>
1511
1512         Audio in apps which embed WebViews is corrupted.
1513         https://bugs.webkit.org/show_bug.cgi?id=118163
1514
1515         Reviewed by Maciej Stachowiak.
1516
1517         Expose the WebCore lowPowerVideoAudioBufferSizeEnabled setting to WebKit2 clients.
1518
1519         * Shared/WebPreferencesStore.h:
1520         * WebProcess/WebPage/WebPage.cpp:
1521         (WebKit::WebPage::updatePreferences):
1522
1523 2013-07-01  Sam Weinig  <sam@webkit.org>
1524
1525         WKPageLoadDataWithUserData neglects to set the base URL that is passed in
1526         <rdar://problem/14306784>
1527         https://bugs.webkit.org/show_bug.cgi?id=118256
1528
1529         Reviewed by Anders Carlsson.
1530
1531         * WebProcess/WebPage/WebPage.cpp:
1532         (WebKit::WebPage::loadData):
1533         Pass the baseURL, not blankURL(), and remove an unnecessary multiplication by sizeof(uint8_t) which is always 1.
1534
1535 2013-07-01  Kangil Han  <kangil.han@samsung.com>
1536
1537         Adopt toHTMLTextAreaElement for code cleanup
1538         https://bugs.webkit.org/show_bug.cgi?id=118226
1539
1540         Reviewed by Andreas Kling.
1541
1542         To enhance readability, this patch adopts toHTMLTextAreaElement.
1543         This also helps out to reduce duplicated use of static_cast.
1544
1545         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1546         (WebKit::InjectedBundleNodeHandle::htmlTextAreaElementLastChangeWasUserEdit):
1547         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
1548         (WebKit::PDFPluginTextAnnotation::createAnnotationElement):
1549         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1550         (WebKit::WebEditorClient::textDidChangeInTextArea):
1551         * WebProcess/WebPage/WebFrame.cpp:
1552         (WebKit::WebFrame::containsAnyFormControls):
1553
1554 2013-06-28  Andreas Kling  <akling@apple.com>
1555
1556         Fix Windows builds after deprecatedCharactersWithNullTermination() removal.
1557
1558         * Platform/CoreIPC/win/ConnectionWin.cpp:
1559         (CoreIPC::Connection::createServerAndClientIdentifiers):
1560
1561 2013-06-28  Tim Horton  <timothy_horton@apple.com>
1562
1563         [wk2] WKView shouldn't force scrolling off if shouldClipToVisibleRect is set
1564         https://bugs.webkit.org/show_bug.cgi?id=118174
1565         <rdar://problem/14301175>
1566
1567         Reviewed by Anders Carlsson.
1568
1569         * UIProcess/API/mac/WKView.mm:
1570         (-[WKView _updateViewExposedRect]):
1571         Pass whether or not clips-to-visibleRect is enabled down to the WebPageProxy.
1572
1573         (-[WKView setMinimumSizeForAutoLayout:]):
1574         Disable scrolling when using autolayout instead of when using clips-to-visibleRect.
1575
1576         (-[WKView setShouldClipToVisibleRect:]):
1577         Clipping to the WKView's visibleRect does not strictly require scrolling to be disabled,
1578         and in fact there are cases (RTL/TB pagination) where we *must* scroll, even when the view
1579         is big enough to fit the content (the case clip-to-visibleRect was added for).
1580
1581         * UIProcess/WebPageProxy.cpp:
1582         (WebKit::WebPageProxy::WebPageProxy):
1583         * UIProcess/WebPageProxy.h:
1584         * UIProcess/mac/WebPageProxyMac.mm:
1585         (WebKit::WebPageProxy::viewExposedRectChanged):
1586         (WebKit::WebPageProxy::exposedRectChangedTimerFired):
1587         Keep track of and forward to the drawing area whether or not clips-to-visibleRect is enabled.
1588
1589         * WebProcess/WebPage/DrawingArea.h:
1590         (WebKit::DrawingArea::setClipsToExposedRect): Added.
1591         (WebKit::DrawingArea::didChangeScrollOffsetForAnyFrame): Added a missing space.
1592
1593         * WebProcess/WebPage/WebPage.cpp:
1594         (WebKit::WebPage::viewExposedRectChanged):
1595         * WebProcess/WebPage/WebPage.h:
1596         * WebProcess/WebPage/WebPage.messages.in:
1597         Forward clips-to-visibleRect enabled state to the drawing area.
1598
1599         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.h:
1600         Add storage for m_clipsToExposedRect.
1601
1602         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
1603         (WebKit::TiledCoreAnimationDrawingArea::TiledCoreAnimationDrawingArea):
1604         (WebKit::TiledCoreAnimationDrawingArea::flushLayers):
1605         (WebKit::TiledCoreAnimationDrawingArea::setClipsToExposedRect):
1606         (WebKit::TiledCoreAnimationDrawingArea::updateMainFrameClipsToExposedRect):
1607         (WebKit::TiledCoreAnimationDrawingArea::createPageOverlayLayer):
1608         (WebKit::TiledCoreAnimationDrawingArea::didCommitChangesForLayer):
1609         Check m_clipsToExposedRect instead of the main-frame's isScrollable() to determine
1610         whether we should tell our TiledBackings to clip to the exposed rect we provide.
1611
1612         We don't need to listen to mainFrameScrollabilityChanged anymore.
1613
1614 2013-06-28  Gavin Barraclough  <barraclough@apple.com>
1615
1616         Stale occlusion state after moving page back into window
1617         https://bugs.webkit.org/show_bug.cgi?id=118202
1618
1619         Reviewed by Anders Carlsson.
1620         
1621         We need to update the occlusion state when the page goes back into the window.
1622
1623         * UIProcess/API/mac/WKView.mm:
1624         (-[WKView viewDidMoveToWindow]):
1625             - update occlusion state.
1626
1627 2013-06-28  Gwang Yoon Hwang  <ryumiel@company100.net>
1628
1629         Coordinated Graphics: Separate CoordinatedLayerTreeHost into CoordinatedLayerTreeHost and CompositingCoordinator
1630         https://bugs.webkit.org/show_bug.cgi?id=104360
1631
1632         Reviewed by Noam Rosenthal.
1633
1634         The CoordinatedLayerTreeHost has too many responsibilities. It
1635         implements LayerTreeHost, GraphicsLayerClient,
1636         CoordinatedGraphicsLayerClient, CoordinatedImageBacking::Client,
1637         UpdateAtlas::Client, GraphicsLayerFactory and
1638         WebCustomFilterProgramProxyClient.
1639
1640         This refactoring reduces the responsibilities of CoordinatedLayerTreeHost.
1641
1642         This patch introduces a new class called CompositingCoordinator, which
1643         takes the responsibility of managing compositing resources in
1644         WebProcess.
1645
1646         CoordinatedLayerTreeHost is responsible only for the scheduling and
1647         IPC-specific stuff, which are relevant only for WebKit2.
1648
1649         No new tests, covered by existing tests.
1650
1651         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1652         (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
1653         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
1654         (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
1655         (WebKit::CoordinatedLayerTreeHost::invalidate):
1656         (WebKit::CoordinatedLayerTreeHost::forceRepaint):
1657         (WebKit::CoordinatedLayerTreeHost::sizeDidChange):
1658         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
1659         (WebKit::CoordinatedLayerTreeHost::renderNextFrame):
1660         (WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
1661         (WebKit::CoordinatedLayerTreeHost::willSyncLayerState):
1662         (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesForAnimations):
1663         (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
1664         (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy):
1665         (WebKit::CoordinatedLayerTreeHost::didFlushRootLayer):
1666         (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush):
1667         (WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer):
1668         (WebKit::CoordinatedLayerTreeHost::paintLayerContents):
1669         (WebKit::CoordinatedLayerTreeHost::commitSceneState):
1670         (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
1671         (WebKit::CoordinatedLayerTreeHost::graphicsLayerFactory):
1672         (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
1673         (WebKit::CoordinatedLayerTreeHost::commitScrollOffset):
1674         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
1675         * WebProcess/WebPage/LayerTreeHost.h:
1676
1677 2013-06-28  Anders Carlsson  <andersca@apple.com>
1678
1679         Make the UI process run the Java Updater
1680         https://bugs.webkit.org/show_bug.cgi?id=118197
1681         <rdar://problem/14255677>
1682
1683         Reviewed by Sam Weinig.
1684
1685         Patch the relevant NSWorkspace method and pipe through the request to launch the Java updater to the UI process.
1686
1687         * PluginProcess/PluginProcess.h:
1688         * PluginProcess/mac/PluginProcessMac.mm:
1689         (WebKit::replacedNSWorkspace_launchApplicationAtURL_options_configuration_error):
1690         (WebKit::initializeCocoaOverrides):
1691         (WebKit::PluginProcess::launchApplicationAtURL):
1692         * UIProcess/Plugins/PluginProcessProxy.h:
1693         * UIProcess/Plugins/PluginProcessProxy.messages.in:
1694         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
1695         (WebKit::isJavaUpdaterURL):
1696         (WebKit::shouldLaunchApplicationAtURL):
1697         (WebKit::PluginProcessProxy::launchApplicationAtURL):
1698
1699 2013-06-28  Tim Horton  <timothy_horton@apple.com>
1700
1701         WARN_UNUSED_RESULT can't be used in API headers, but WKBundlePageExtendIncrementalRenderingSuppression tries to
1702         https://bugs.webkit.org/show_bug.cgi?id=118196
1703         <rdar://problem/14303613>
1704
1705         Reviewed by Anders Carlsson.
1706
1707         * WebProcess/InjectedBundle/API/c/WKBundlePagePrivate.h:
1708
1709 2013-06-28  Andreas Kling  <akling@apple.com>
1710
1711         Don't fire process-became-responsive callback when disconnecting it.
1712         <http://webkit.org/b/118166>
1713
1714         Reviewed by Anders Carlsson.
1715
1716         When disconnecting from a web process, call ResponsivenessTimer::invalidate() instead of
1717         stop() to avoid firing the didBecomeResponsive() callback.
1718
1719         This lets the UI process react faster to actually unresponsive processes.
1720
1721         * UIProcess/WebProcessProxy.cpp:
1722         (WebKit::WebProcessProxy::disconnect):
1723
1724 2013-06-28  Sergio Villar Senin  <svillar@igalia.com>
1725
1726         [WK2][GTK] 100% CPU usage rendering a page with animations
1727         https://bugs.webkit.org/show_bug.cgi?id=117703
1728
1729         Reviewed by Martin Robinson.
1730
1731         Unconditionally update the value of m_lastFlushTime in
1732         ::flushAndRenderLayers. By doing that we avoid a neverending
1733         sequence of layer flushes that happened when m_lastFlushTime==0
1734         and flushPendingLayerChanges() was false. In that situation the
1735         value m_lastFlushTime was never updated so a new flush was always
1736         rescheduled.
1737
1738         * WebProcess/WebPage/gtk/LayerTreeHostGtk.cpp:
1739         (WebKit::LayerTreeHostGtk::flushAndRenderLayers):
1740
1741 2013-06-28  Andres Gomez  <agomez@igalia.com>
1742
1743         [GTK] MiniBrowser doesn't solve the saving location when there are no XDG settings
1744         https://bugs.webkit.org/show_bug.cgi?id=117538
1745
1746         Reviewed by Carlos Garcia Campos.
1747
1748         If the XDG specification is not working for the "Downloads"
1749         directory, let's use HOME as fallback.
1750
1751         * UIProcess/API/gtk/WebKitDownload.cpp:
1752         (webkitDownloadDecideDestination):
1753
1754 2013-06-28  Dariusz Frankiewicz  <d.frankiewic@samsung.com>
1755
1756         [EFL][WK2] Add spellcheck API tests in unit tests.
1757         https://bugs.webkit.org/show_bug.cgi?id=118123
1758
1759         Reviewed by Christophe Dumez.
1760
1761         According to discussion in bug https://bugs.webkit.org/show_bug.cgi?id=113742
1762         we're moving spelling tests from layout tests to unit tests.
1763
1764         * UIProcess/API/efl/tests/resources/spelling_selection_tests.html: Added.
1765         New file is needed to make tests, with and without spellcheck attribute.
1766         File contains basic site with content editable fields and buttons which select
1767         different parts of misspelled words.
1768
1769         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
1770         (countContextMenuItems):
1771         Added method used to count number of items in context menu.
1772
1773 2013-06-27  Kangil Han  <kangil.han@samsung.com>
1774
1775         Adopt is/toHTMLInputElement for code cleanup
1776         https://bugs.webkit.org/show_bug.cgi?id=118130
1777
1778         Reviewed by Antti Koivisto.
1779
1780         To enhance readability, this patch adopts is/toHTMLInputElement.
1781         This also helps out to reduce duplicated use of static_cast.
1782
1783         * WebProcess/InjectedBundle/DOM/InjectedBundleNodeHandle.cpp:
1784         (WebKit::InjectedBundleNodeHandle::setHTMLInputElementValueForUser):
1785         (WebKit::InjectedBundleNodeHandle::isHTMLInputElementAutofilled):
1786         (WebKit::InjectedBundleNodeHandle::setHTMLInputElementAutofilled):
1787         (WebKit::InjectedBundleNodeHandle::htmlInputElementLastChangeWasUserEdit):
1788         * WebProcess/Plugins/PDF/PDFPluginTextAnnotation.mm:
1789         (WebKit::PDFPluginTextAnnotation::createAnnotationElement):
1790         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
1791         (WebKit::WebChromeClient::focusedNodeChanged):
1792         * WebProcess/WebCoreSupport/WebEditorClient.cpp:
1793         (WebKit::WebEditorClient::textFieldDidBeginEditing):
1794         (WebKit::WebEditorClient::textFieldDidEndEditing):
1795         (WebKit::WebEditorClient::textDidChangeInTextField):
1796         (WebKit::WebEditorClient::doTextFieldCommandFromEvent):
1797         (WebKit::WebEditorClient::textWillBeDeletedInTextField):
1798         * WebProcess/WebPage/WebFrame.cpp:
1799         (WebKit::WebFrame::containsAnyFormControls):
1800         * WebProcess/WebPage/WebPage.cpp:
1801         (WebKit::WebPage::editorState):
1802
1803 2013-06-27  Eunmi Lee  <eunmi15.lee@samsung.com>
1804
1805         [EFL][WK2] Add WK2 C API to handle touch events.
1806         https://bugs.webkit.org/show_bug.cgi?id=108915
1807
1808         Reviewed by Gyuyoung Kim.
1809
1810         Touch events for our target platforms differ (XInput2, Wayland, Tizen) so
1811         for the EFL port we want to be able to feed events manually.
1812
1813         To keep our current API for desktop EFL/Enlightenment working, we convert
1814         our currently limited EFL events to the new EFL specific C EwkTouchPoint
1815         and EwkTouchEvent type.
1816
1817         EwkTouchPoint and EwkTouchEvent are exposed as WKTouchPointRef and
1818         WKTouchEventRef, so they are opaque in the applications.
1819
1820         The WKViewSendTouchEvent can be used for any use-case (platform/product)
1821         not involving the EFL events.
1822
1823         At the same time we make sure to avoid using WK2 internals in our EFL API
1824         implementation.
1825
1826         * PlatformEfl.cmake:
1827         * Shared/API/c/efl/WKBaseEfl.h:
1828         * Shared/APIObject.h:
1829         * Shared/NativeWebTouchEvent.h:
1830         (WebKit::NativeWebTouchEvent::nativeEvent):
1831         * Shared/efl/NativeWebTouchEventEfl.cpp:
1832         (WebKit::NativeWebTouchEvent::NativeWebTouchEvent):
1833         * Shared/efl/WebEventFactory.cpp:
1834         (WebKit::toWebPlatformTouchPointState):
1835         (WebKit::toWebEventType):
1836         (WebKit::toWebEventModifiers):
1837         (WebKit::WebEventFactory::createWebTouchEvent):
1838         * Shared/efl/WebEventFactory.h:
1839         * UIProcess/API/C/efl/WKAPICastEfl.h:
1840         * UIProcess/API/C/efl/WKEventEfl.cpp: Added.
1841         (WKTouchPointCreate):
1842         (WKTouchEventCreate):
1843         * UIProcess/API/C/efl/WKEventEfl.h: Added.
1844         * UIProcess/API/C/efl/WKViewEfl.cpp:
1845         (WKViewSendTouchEvent):
1846         * UIProcess/API/C/efl/WKViewEfl.h:
1847         * UIProcess/API/efl/EwkView.cpp:
1848         (toWKTouchPointState):
1849         (toWKEventModifiers):
1850         (EwkView::feedTouchEvent):
1851         (EwkView::feedTouchEvents):
1852         * UIProcess/efl/EwkTouchEvent.cpp: Added.
1853         (WebKit::EwkTouchEvent::EwkTouchEvent):
1854         * UIProcess/efl/EwkTouchEvent.h: Added.
1855         (WebKit::EwkTouchEvent::create):
1856         (WebKit::EwkTouchEvent::eventType):
1857         (WebKit::EwkTouchEvent::touchPoints):
1858         (WebKit::EwkTouchEvent::modifiers):
1859         (WebKit::EwkTouchEvent::timestamp):
1860         (WebKit::EwkTouchEvent::type):
1861         * UIProcess/efl/EwkTouchPoint.cpp: Added.
1862         (WebKit::EwkTouchPoint::EwkTouchPoint):
1863         * UIProcess/efl/EwkTouchPoint.h: Added.
1864         (WebKit::EwkTouchPoint::create):
1865         (WebKit::EwkTouchPoint::id):
1866         (WebKit::EwkTouchPoint::state):
1867         (WebKit::EwkTouchPoint::screenPosition):
1868         (WebKit::EwkTouchPoint::position):
1869         (WebKit::EwkTouchPoint::radius):
1870         (WebKit::EwkTouchPoint::rotationAngle):
1871         (WebKit::EwkTouchPoint::forceFactor):
1872         (WebKit::EwkTouchPoint::type):
1873         * UIProcess/efl/WebViewEfl.cpp:
1874         (WebKit::WebViewEfl::sendTouchEvent):
1875         * UIProcess/efl/WebViewEfl.h:
1876
1877 2013-06-27  Csaba Osztrogonác  <ossy@webkit.org>
1878
1879         Fix cast-align warnings in WebKit2/Platform/CoreIPC
1880         https://bugs.webkit.org/show_bug.cgi?id=117987
1881
1882         Reviewed by Rob Buis, WK2 signed-off by Anders Carlsson.
1883
1884         * Platform/CoreIPC/ArgumentDecoder.cpp:
1885         (CoreIPC::ArgumentDecoder::decode):
1886         * Platform/CoreIPC/ArgumentEncoder.cpp:
1887         (CoreIPC::ArgumentEncoder::encode):
1888
1889 2013-06-27  Commit Queue  <commit-queue@webkit.org>
1890
1891         Unreviewed, rolling out r152074.
1892         http://trac.webkit.org/changeset/152074
1893         https://bugs.webkit.org/show_bug.cgi?id=118137
1894
1895         It caused lots of layout and API test crash on Qt Wk2.
1896         (Requested by kadam on #webkit).
1897
1898         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
1899         (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
1900         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
1901         (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
1902         (WebKit::CoordinatedLayerTreeHost::invalidate):
1903         (WebKit::CoordinatedLayerTreeHost::forceRepaint):
1904         (WebKit::CoordinatedLayerTreeHost::sizeDidChange):
1905         (WebKit::CoordinatedLayerTreeHost::flushPendingLayerChanges):
1906         (WebKit::CoordinatedLayerTreeHost::clearPendingStateChanges):
1907         (WebKit::CoordinatedLayerTreeHost::initializeRootCompositingLayerIfNeeded):
1908         (WebKit::CoordinatedLayerTreeHost::syncLayerState):
1909         (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesIfNeeded):
1910         (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
1911         (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy):
1912         (WebKit::CoordinatedLayerTreeHost::detachLayer):
1913         (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush):
1914         (WebKit::CoordinatedLayerTreeHost::syncDisplayState):
1915         (WebKit::CoordinatedLayerTreeHost::didPerformScheduledLayerFlush):
1916         (WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer):
1917         (WebKit::CoordinatedLayerTreeHost::createImageBackingIfNeeded):
1918         (WebKit::CoordinatedLayerTreeHost::createImageBacking):
1919         (WebKit::CoordinatedLayerTreeHost::updateImageBacking):
1920         (WebKit::CoordinatedLayerTreeHost::clearImageBackingContents):
1921         (WebKit::CoordinatedLayerTreeHost::removeImageBacking):
1922         (WebKit::CoordinatedLayerTreeHost::flushPendingImageBackingChanges):
1923         (WebKit::CoordinatedLayerTreeHost::notifyAnimationStarted):
1924         (WebKit::CoordinatedLayerTreeHost::notifyFlushRequired):
1925         (WebKit::CoordinatedLayerTreeHost::paintContents):
1926         (WebKit::CoordinatedLayerTreeHost::createGraphicsLayer):
1927         (WebKit::CoordinatedLayerTreeHost::deviceScaleFactor):
1928         (WebKit::CoordinatedLayerTreeHost::pageScaleFactor):
1929         (WebKit::CoordinatedLayerTreeHost::createUpdateAtlas):
1930         (WebKit::CoordinatedLayerTreeHost::removeUpdateAtlas):
1931         (WebKit::CoordinatedLayerTreeHost::visibleContentsRect):
1932         (WebKit::CoordinatedLayerTreeHost::mainContentsLayer):
1933         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
1934         (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
1935         (WebKit::CoordinatedLayerTreeHost::graphicsLayerFactory):
1936         (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
1937         (WebKit::CoordinatedLayerTreeHost::renderNextFrame):
1938         (WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
1939         (WebKit::CoordinatedLayerTreeHost::paintToSurface):
1940         (WebKit::CoordinatedLayerTreeHost::scheduleReleaseInactiveAtlases):
1941         (WebKit::CoordinatedLayerTreeHost::releaseInactiveAtlasesTimerFired):
1942         (WebKit::CoordinatedLayerTreeHost::commitScrollOffset):
1943         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
1944         * WebProcess/WebPage/LayerTreeHost.h:
1945         (WebKit::LayerTreeHost::setVisibleContentsRect):
1946         (WebKit::LayerTreeHost::renderNextFrame):
1947         (WebKit::LayerTreeHost::purgeBackingStores):
1948
1949 2013-06-27  Xabier Rodriguez Calvar  <calvaris@igalia.com>
1950
1951         Fixing some compiler warnings
1952         https://bugs.webkit.org/show_bug.cgi?id=117791
1953
1954         Reviewed by Martin Robinson.
1955
1956         * UIProcess/API/gtk/tests/WebExtensionTest.cpp: Properly
1957         initialized GDBusInterfaceVTable.
1958         * WebProcess/InjectedBundle/API/gtk/WebKitWebPage.cpp:
1959         (webkitWebPageCreate): Added missing fields to the
1960         WKBundlePageLoaderClient.
1961
1962 2013-06-27  Iago Toral Quiroga  <itoral@igalia.com>
1963
1964         Use consistent file names for WidgetBackingStoreGtkX11 class
1965         https://bugs.webkit.org/show_bug.cgi?id=118124
1966
1967         Reviewed by Carlos Garcia Campos.
1968
1969         * UIProcess/cairo/BackingStoreCairo.cpp:
1970
1971 2013-06-27  Alberto Garcia  <agarcia@igalia.com>
1972
1973         [GTK] [WK2] Check value of WEBKIT_INJECTED_BUNDLE_PATH
1974         https://bugs.webkit.org/show_bug.cgi?id=118055
1975
1976         Reviewed by Carlos Garcia Campos.
1977
1978         If the directory pointed at by WEBKIT_INJECTED_BUNDLE_PATH does
1979         not exist, fall back to the system directory.
1980
1981         This makes MiniBrowser work outside the build tree.
1982
1983         * UIProcess/API/gtk/WebKitWebContext.cpp:
1984         (injectedBundleDirectory):
1985
1986 2013-06-26  Simon Cooper  <scooper@apple.com>
1987
1988         Sometimes the Flash Player plugin cannot make outgoing connections
1989         https://bugs.webkit.org/show_bug.cgi?id=118110
1990         <rdar://problem/14270933>
1991
1992         Reviewed by Alexey Proskuryakov.
1993
1994         Allow outgoing and incoming UDP data. Tidy up the QuickTime
1995         profile as it gets the UDP ability from the common profile.
1996
1997         * Resources/PlugInSandboxProfiles/com.apple.QuickTime Plugin.plugin.sb:
1998         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
1999
2000 2013-06-26  Simon Cooper  <scooper@apple.com>
2001
2002         Flash Player: deny ipc-posix-sem 59918130
2003         https://bugs.webkit.org/show_bug.cgi?id=118107
2004         <rdar://problem/14271105>
2005
2006         Reviewed by Alexey Proskuryakov.
2007
2008         Allow same-sandbox scoped semaphores on Mavericks. Permit the
2009         named semaphore for older releases.
2010
2011         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
2012
2013 2013-06-26  Gwang Yoon Hwang  <ryumiel@company100.net>
2014
2015         Coordinated Graphics: Separate CoordinatedLayerTreeHost into CoordinatedLayerTreeHost and CompositingCoordinator
2016         https://bugs.webkit.org/show_bug.cgi?id=104360
2017
2018         Reviewed by Noam Rosenthal.
2019
2020         The CoordinatedLayerTreeHost has too many responsibilities. It
2021         implements LayerTreeHost, GraphicsLayerClient,
2022         CoordinatedGraphicsLayerClient, CoordinatedImageBacking::Client,
2023         UpdateAtlas::Client, GraphicsLayerFactory and
2024         WebCustomFilterProgramProxyClient.
2025
2026         This refactoring reduces the responsibilities of CoordinatedLayerTreeHost.
2027
2028         This patch introduces a new class called CompositingCoordinator, which
2029         takes the responsibility of managing compositing resources in
2030         WebProcess.
2031
2032         CoordinatedLayerTreeHost is responsible only for the scheduling and
2033         IPC-specific stuff, which are relevant only for WebKit2.
2034
2035         No new tests, covered by existing tests.
2036
2037         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
2038         (WebKit::CoordinatedLayerTreeHost::~CoordinatedLayerTreeHost):
2039         (WebKit::CoordinatedLayerTreeHost::CoordinatedLayerTreeHost):
2040         (WebKit::CoordinatedLayerTreeHost::setRootCompositingLayer):
2041         (WebKit::CoordinatedLayerTreeHost::invalidate):
2042         (WebKit::CoordinatedLayerTreeHost::forceRepaint):
2043         (WebKit::CoordinatedLayerTreeHost::sizeDidChange):
2044         (WebKit::CoordinatedLayerTreeHost::setVisibleContentsRect):
2045         (WebKit::CoordinatedLayerTreeHost::renderNextFrame):
2046         (WebKit::CoordinatedLayerTreeHost::purgeBackingStores):
2047         (WebKit::CoordinatedLayerTreeHost::willSyncLayerState):
2048         (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesForAnimations):
2049         (WebKit::CoordinatedLayerTreeHost::checkCustomFilterProgramProxies):
2050         (WebKit::CoordinatedLayerTreeHost::removeCustomFilterProgramProxy):
2051         (WebKit::CoordinatedLayerTreeHost::didFlushRootLayer):
2052         (WebKit::CoordinatedLayerTreeHost::performScheduledLayerFlush):
2053         (WebKit::CoordinatedLayerTreeHost::createPageOverlayLayer):
2054         (WebKit::CoordinatedLayerTreeHost::paintLayerContents):
2055         (WebKit::CoordinatedLayerTreeHost::commitSceneState):
2056         (WebKit::CoordinatedLayerTreeHost::deviceOrPageScaleFactorChanged):
2057         (WebKit::CoordinatedLayerTreeHost::graphicsLayerFactory):
2058         (WebKit::CoordinatedLayerTreeHost::scheduleAnimation):
2059         (WebKit::CoordinatedLayerTreeHost::commitScrollOffset):
2060         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.h:
2061         * WebProcess/WebPage/LayerTreeHost.h:
2062
2063 2013-06-26  Simon Cooper  <scooper@apple.com>
2064
2065         Silverlight deny ipc-posix-sem LC_Mutex playing Amazon Prime videos
2066         https://bugs.webkit.org/show_bug.cgi?id=118102
2067         <rdar://problem/14194077>
2068
2069         Reviewed by Alexey Proskuryakov.
2070
2071         Allow same-sandbox scoped semaphores on Mavericks. Permit the
2072         named semaphore for older releases.
2073
2074         * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:
2075
2076 2013-06-26  Simon Cooper  <scooper@apple.com>
2077
2078         Update ColorSync shared memory names in plug-in sandbox profile
2079         https://bugs.webkit.org/show_bug.cgi?id=118099
2080
2081         Reviewed by Alexey Proskuryakov.
2082
2083         Update the common profile to use the names used in Mavericks
2084
2085         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
2086
2087 2013-06-26  Anders Carlsson  <andersca@apple.com>
2088
2089         Deprecate StringImpl::charactersWithNullTermination
2090         https://bugs.webkit.org/show_bug.cgi?id=118108
2091
2092         Reviewed by Beth Dakin.
2093
2094         Rename calls to charactersWithNullTermination to deprecatedCharactersWithNullTermination.
2095
2096         * Platform/CoreIPC/win/ConnectionWin.cpp:
2097         (CoreIPC::Connection::createServerAndClientIdentifiers):
2098
2099 2013-06-26  Simon Cooper  <scooper@apple.com>
2100
2101         QuickTime plug-in cannot update com.apple.quicktime.plugin.preferences.plist file
2102         https://bugs.webkit.org/show_bug.cgi?id=118098
2103         <rdar://problem/13888138>
2104
2105         Reviewed by Alexey Proskuryakov.
2106
2107         Allow the preference file to be written
2108
2109         * Resources/PlugInSandboxProfiles/com.apple.QuickTime Plugin.plugin.sb:
2110
2111 2013-06-24  Simon Cooper  <scooper@apple.com>
2112
2113         Silverlight triggers sandbox violations: deny network-bind 0.0.0.0:0
2114         https://bugs.webkit.org/show_bug.cgi?id=117966
2115         <rdar://problem/13927918>
2116
2117         Reviewed by Sam Weinig.
2118
2119         Allow assigning (via bind) an ephemeral port before connecting
2120
2121         * Resources/PlugInSandboxProfiles/com.apple.QuickTime Plugin.plugin.sb:
2122         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
2123         * Resources/PlugInSandboxProfiles/com.microsoft.SilverlightPlugin.sb:
2124         * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
2125
2126 2013-06-24  Simon Cooper  <scooper@apple.com>
2127
2128         PluginProcess deny file-read-data /Network/Library under addVolumeTracker
2129         https://bugs.webkit.org/show_bug.cgi?id=117965
2130         <rdar://problem/14121247>
2131
2132         Reviewed by Alexey Proskuryakov.
2133
2134         Silently deny reading /Network/Applications and 
2135         /Network/Library.
2136
2137         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
2138
2139 2013-06-24  Kangil Han  <kangil.han@samsung.com>
2140
2141         Adopt is/toHTMLFormElement for code cleanup
2142         https://bugs.webkit.org/show_bug.cgi?id=117937
2143
2144         Reviewed by Andreas Kling.
2145
2146         This refers to http://src.chromium.org/viewvc/blink?view=revision&revision=152859
2147
2148         To enhance readibility, this patch adopts is/toHTMLFormElement.
2149         This also helps out to reduce duplicated use of static_cast.
2150
2151         * WebProcess/WebPage/WebFrame.cpp:
2152         (WebKit::WebFrame::containsAnyFormElements):
2153
2154 2013-06-24  Simon Cooper  <scooper@apple.com>
2155
2156         deny file-read-data /Library/CoreMediaIO/Plug-Ins/DAL
2157         https://bugs.webkit.org/show_bug.cgi?id=117964
2158         <rdar://problem/14036864>
2159
2160         Reviewed by Alexey Proskuryakov.
2161
2162         Permit reading of the /Library/CoreMediaIO/Plug-Ins/DAL
2163         subdirectory.
2164
2165         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
2166
2167 2013-06-24  Simon Cooper  <scooper@apple.com>
2168
2169         Repeating sandbox violations when playing Amazon Prime videos with Flash
2170         https://bugs.webkit.org/show_bug.cgi?id=117953
2171         <rdar://problem/14193693>
2172
2173         Reviewed by Alexey Proskuryakov.
2174
2175         Add some missing "standard" files for network service lookups
2176
2177         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
2178
2179 2013-06-24  Simon Cooper  <scooper@apple.com>
2180
2181         Plug-in sandbox violations attempting to access com.apple.CoreGraphics.plist
2182         https://bugs.webkit.org/show_bug.cgi?id=117963
2183         <rdar://problem/14084234>
2184
2185         Reviewed by Alexey Proskuryakov.
2186
2187         Permit the reading of the com.apple.CoreGraphics preference file
2188
2189         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
2190
2191 2013-06-24  Simon Cooper  <scooper@apple.com>
2192
2193         com.oracle.javadeployment.plist is not correctly specified in the JavaApplet plugin profile
2194         https://bugs.webkit.org/show_bug.cgi?id=117961
2195         <rdar://problem/14223823>
2196
2197         Reviewed by Alexey Proskuryakov.
2198
2199         Remove the trailing extraneous .plist from the preference file rule
2200
2201         * Resources/PlugInSandboxProfiles/com.oracle.java.JavaAppletPlugin.sb:
2202
2203 2013-06-24  Simon Cooper  <scooper@apple.com>
2204
2205         PluginProcess sandbox violations on com.apple.networkConnect.plist when resetting Safari
2206         https://bugs.webkit.org/show_bug.cgi?id=117958
2207         <rdar://problem/13938149>
2208
2209         Reviewed by Alexey Proskuryakov.
2210
2211         Allow reading the com.apple.networkConnect plist.
2212
2213         * Resources/PlugInSandboxProfiles/com.apple.ist.ds.appleconnect.webplugin.sb:
2214
2215 2013-06-24  Simon Cooper  <scooper@apple.com>
2216
2217         Java sandbox violation ipc-posix-shm-read-data /tmp/com.apple.csseed.67
2218         https://bugs.webkit.org/show_bug.cgi?id=117954
2219         <rdar://problem/14166577>
2220
2221         Reviewed by Alexey Proskuryakov.
2222
2223         Permit read access to this shared memory segment
2224
2225         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
2226
2227 2013-06-24  Simon Cooper  <scooper@apple.com>
2228
2229         Plugin Sandbox violation in /Library/Audio/Sounds/Banks
2230         https://bugs.webkit.org/show_bug.cgi?id=117957
2231         <rdar://problem/14163582>
2232
2233         Reviewed by Alexey Proskuryakov.
2234
2235         Permit read access to subdirectories under /Library/Audio/Sounds
2236
2237         * Resources/PlugInSandboxProfiles/com.apple.WebKit.plugin-common.sb:
2238
2239 2013-06-24  Nick Diego Yamane  <nick.yamane@openbossa.org>
2240
2241         Make sure m_iconDatabaseImpl is not null before closing it
2242         https://bugs.webkit.org/show_bug.cgi?id=117943
2243
2244         Reviewed by Simon Fraser.
2245
2246         Since r150474 WebIconDatabase is closed unconditionally in
2247         TestController destructor, in that case WebKitTestRunner crashes
2248         when no icon database path is set. This misbehavior was observed in
2249         ports such as efl and nix.
2250         In this patch, WebIconDatabase::close() calls m_iconDatabaseImpl->close()
2251         only if m_iconDatabaseImpl is not null, as it's already being done in other
2252         WebIconDatabase's methods, such as isOpen().
2253
2254         * UIProcess/WebIconDatabase.cpp:
2255         (WebKit::WebIconDatabase::close):
2256
2257 2013-06-24  Ruth Fong  <ruth_fong@apple.com>
2258
2259         Expose the mediaHasAudio() function in WK2
2260         https://bugs.webkit.org/show_bug.cgi?id=117946
2261         <rdar://problem/14250527>
2262
2263         Reviewed by Beth Dakin.
2264
2265         Exposes the WebCore::HTMLMediaElement::mediaHasAudio() function
2266         in WK2.
2267
2268         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
2269         (WKBundleHitTestResultMediaHasAudio): Added.
2270         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
2271         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
2272         (WebKit::InjectedBundleHitTestResult::mediaHasAudio): Added.
2273         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
2274
2275 2013-06-24  Anders Carlsson  <andersca@apple.com>
2276
2277         REGRESSION (r147591): can't type in Adobe Connect
2278         https://bugs.webkit.org/show_bug.cgi?id=117947
2279         <rdar://problem/14223539>
2280
2281         Reviewed by Andreas Kling.
2282
2283         With the change in r147591, it is now possible for a plug-in element to be focused before the plug-in
2284         starts. Handle this by focusing the plug-in right after it's started if necessary.
2285
2286         * WebProcess/Plugins/PluginView.cpp:
2287         (WebKit::PluginView::didInitializePlugin):
2288
2289 2013-06-24  Simon Fraser  <simon.fraser@apple.com>
2290
2291         Move displayID stuff from Widget to Chrome
2292         https://bugs.webkit.org/show_bug.cgi?id=117944
2293
2294         Reviewed by Anders Carlsson.
2295
2296         In r151877 I polluted Widget with displayID-related stuff. This would
2297         be better on HostWindow, so move it there. This is a net code reduction,
2298         and eliminates PlatformScreenMac.h, and the NSScreen category.
2299
2300         * WebProcess/WebPage/WebPage.cpp:
2301         (WebKit::WebPage::windowScreenDidChange): Go via chrome().
2302
2303 2013-06-24  Krzysztof Wolanski  <k.wolanski@samsung.com>
2304
2305         [EFL][WK2] Implement unit test callback: onWordGuesses.
2306         https://bugs.webkit.org/show_bug.cgi?id=117794
2307
2308         Reviewed by Christophe Dumez.
2309
2310         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
2311         (onWordGuesses):
2312         Add client suggestions for the word.
2313
2314         (checkClientSuggestionsForWord):
2315         Verify the suggestions that were given by the client.
2316
2317 2013-06-17  Darin Adler  <darin@apple.com>
2318
2319         Sort all the Xcode project files
2320         https://bugs.webkit.org/show_bug.cgi?id=117696
2321
2322         Reviewed by Anders Carlsson.
2323
2324         * WebKit2.xcodeproj/project.pbxproj: Ran the sort-Xcode-project-file script.
2325
2326 2013-06-22  Dean Jackson  <dino@apple.com>
2327
2328         Slightly reduce width threshold on detection of primary snapshotted Plug-In
2329         https://bugs.webkit.org/show_bug.cgi?id=117914
2330         <rdar://problem/14136687>
2331
2332         Reviewed by Simon Fraser.
2333
2334         We've noticed some content that should be detected as the primary snapshotted plug-in,
2335         but is just a bit smaller than our 450x300 minimum threshold. Reduce the width to 400.
2336
2337         * WebProcess/WebPage/WebPage.cpp: Change primarySnapshottedPlugInMinimumWidth from 450 to 400.
2338
2339 2013-06-22  Simon Fraser  <simon.fraser@apple.com>
2340
2341         screen.availWidth always returns width of primary display
2342         https://bugs.webkit.org/show_bug.cgi?id=117863
2343
2344         Reviewed by Geoffrey Garen.
2345     
2346         In WebKit2, Widgets have no platformWidget, so trying to get to the
2347         NSScreen via the platform widget's window never succeeded, and we always
2348         fell back on getting info for the main display.
2349
2350         However, we were already pushing the WKView's displayID down to the
2351         WebProcess for the requestAnimationFrame infrastructure, so use that.
2352         
2353         The WebProcess would not receive a displayID for a WKView until the window
2354         was activated; fix by calling -doWindowDidChangeScreen when the view
2355         moves to a window, rather than doing it from -_windowDidBecomeKey:.
2356         
2357         * UIProcess/API/mac/WKView.mm:
2358         (-[WKView viewDidMoveToWindow]):
2359         (-[WKView _windowDidBecomeKey:]):
2360
2361 2013-06-21  Carlos Garcia Campos  <cgarcia@igalia.com>
2362
2363         [GTK] Do not try to load videos in unit tests
2364         https://bugs.webkit.org/show_bug.cgi?id=117866
2365
2366         Reviewed by Philippe Normand.
2367
2368         It makes the tests slower, and generates and error because we use
2369         a fake src.
2370
2371         * UIProcess/API/gtk/tests/TestContextMenu.cpp:
2372         (testContextMenuDefaultMenu): Use preload='none' in video tag.
2373         * UIProcess/API/gtk/tests/TestWebKitWebView.cpp:
2374         (testWebViewMouseTarget): Ditto.
2375
2376 2013-06-21  Christophe Dumez  <ch.dumez@sisa.samsung.com>
2377
2378         REGRESSION (r150663): Using webkitAudioContext in Inspector makes it undefined everywhere
2379         https://bugs.webkit.org/show_bug.cgi?id=117825
2380
2381         Reviewed by Kentaro Hara.
2382
2383         Use Settings to enable Web Audio instead of RuntimeEnabledFeatures.
2384
2385         * WebProcess/InjectedBundle/InjectedBundle.cpp:
2386         (WebKit::InjectedBundle::overrideBoolPreferenceForTestRunner):
2387         * WebProcess/WebPage/WebPage.cpp:
2388         (WebKit::WebPage::updatePreferences):
2389
2390 2013-06-21  Sergio Correia  <sergio.correia@openbossa.org>
2391
2392         [WK2][EFL]: Invalidate the ProcessLauncher when the process is terminated before it has finished launching
2393         https://bugs.webkit.org/show_bug.cgi?id=117865
2394
2395         Reviewed by Christophe Dumez.
2396
2397         Original patch from Carlos Garcia Campos for the Gtk port.
2398
2399         * UIProcess/Launcher/efl/ProcessLauncherEfl.cpp:
2400         (WebKit::ProcessLauncher::terminateProcess): If process is still
2401         launching, just invalidate the launcher. Reset the process
2402         identifier after killing the process.
2403
2404 2013-06-20  Carlos Garcia Campos  <cgarcia@igalia.com>
2405
2406         [GTK] Migrate WebKitWebResource to GTask
2407         https://bugs.webkit.org/show_bug.cgi?id=117152
2408
2409         Reviewed by Gustavo Noronha Silva.
2410
2411         * UIProcess/API/gtk/WebKitWebResource.cpp:
2412         (resourceDataCallback):
2413         (webkit_web_resource_get_data):
2414         (webkit_web_resource_get_data_finish):
2415
2416 2013-06-20  Sergio Correia  <sergio.correia@openbossa.org>
2417
2418         [WK2] Looping for EINTR on close() is incorrect for Linux, at least
2419         https://bugs.webkit.org/show_bug.cgi?id=117266
2420
2421         Reviewed by Darin Adler.
2422
2423         Call closeWithRetry() to work around a difference in how the retry needs to
2424         be done on Linux.
2425
2426         * Platform/CoreIPC/unix/AttachmentUnix.cpp:
2427         (CoreIPC::Attachment::dispose):
2428         * Platform/CoreIPC/unix/ConnectionUnix.cpp:
2429         (CoreIPC::Connection::platformInvalidate):
2430         * Platform/unix/SharedMemoryUnix.cpp:
2431         (WebKit::SharedMemory::Handle::~Handle):
2432         (WebKit::SharedMemory::create):
2433         (WebKit::SharedMemory::~SharedMemory):
2434         (WebKit::SharedMemory::createHandle):
2435         * PluginProcess/PluginProcess.cpp:
2436         (WebKit::PluginProcess::createWebProcessConnection):
2437         * SharedWorkerProcess/SharedWorkerProcess.cpp:
2438         (WebKit::SharedWorkerProcess::createWebProcessConnection):
2439         * UIProcess/Launcher/qt/ProcessLauncherQt.cpp:
2440         (WebKit::ProcessLauncher::launchProcess): All these places had
2441         ``close-followed-by-EINTR-handling'' replaced with the new closeWithRetry()
2442         function added in this commit.
2443
2444 2013-06-20  Brady Eidson  <beidson@apple.com>
2445
2446         WebProcess hangs loading eff.org (Waiting forever on a sync XHR, NetworkProcess unable to service it).
2447         <rdar://problem/14112329> and https://bugs.webkit.org/show_bug.cgi?id=117842
2448
2449         Reviewed by Alexey Proskuryakov.
2450
2451         * NetworkProcess/HostRecord.cpp:
2452         (WebKit::removeLoaderFromQueue): Utility to clear a Loader out of a LoaderQueue.
2453         (WebKit::HostRecord::removeLoader): Use removeLoaderFromQueue, and also try to clear the loader from m_syncLoadersPending.
2454         (WebKit::HostRecord::servePendingRequestsForQueue): Small refactoring/cleanup.
2455         (WebKit::HostRecord::limitsRequests): Change so that if the number of loaders in flight is exactly equal to the limit, then
2456           allow serving a synchronous loader to go exactly one beyond the limit.
2457         * NetworkProcess/HostRecord.h:
2458
2459         Make the static maxRequestsInFlightPerHost a member of the NetworkResourceLoadScheduler, instead:
2460         * NetworkProcess/NetworkResourceLoadScheduler.cpp:
2461         (WebKit::NetworkResourceLoadScheduler::NetworkResourceLoadScheduler):
2462         (WebKit::NetworkResourceLoadScheduler::hostForURL):
2463         * NetworkProcess/NetworkResourceLoadScheduler.h:
2464
2465         * NetworkProcess/mac/NetworkResourceLoadSchedulerMac.mm:
2466         (WebKit::NetworkResourceLoadScheduler::platformInitializeMaximumHTTPConnectionCountPerHost): Tell CFNetwork to allow
2467           7 connections per host instead of 6, but tell the scheduler that 6 is still the normal limit.
2468
2469 2013-06-20  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
2470
2471         [EFL][WK2] Update text checker documentation.
2472         https://bugs.webkit.org/show_bug.cgi?id=117828
2473
2474         Reviewed by Christophe Dumez.
2475
2476         * UIProcess/API/efl/ewk_text_checker.h:
2477         The client is not responsible for destroying the memory.
2478
2479 2013-06-19  Sam Weinig  <sam@webkit.org>
2480
2481         Expose plug-ins CFBundleShortVersionString in the WKPluginInformation dictionary
2482         https://bugs.webkit.org/show_bug.cgi?id=117816
2483
2484         Reviewed by Geoffrey Garen.
2485
2486         - Adds a new key for the WKPluginInformation dictionary: WKPluginInformationBundleShortVersionKey().
2487
2488         * Shared/API/c/WKPluginInformation.cpp:
2489         (WKPluginInformationBundleShortVersionKey):
2490         * Shared/API/c/WKPluginInformation.h:
2491         * Shared/Plugins/Netscape/PluginInformation.cpp:
2492         (WebKit::pluginInformationBundleShortVersionKey):
2493         * Shared/Plugins/Netscape/PluginInformation.h:
2494         * Shared/Plugins/Netscape/mac/NetscapePluginModuleMac.mm:
2495         (WebKit::NetscapePluginModule::getPluginInfo):
2496         * Shared/Plugins/Netscape/mac/PluginInformationMac.mm:
2497         (WebKit::getPlatformPluginModuleInformation):
2498         * Shared/Plugins/PluginModuleInfo.h:
2499
2500 2013-06-19  Ruth Fong  <ruth_fong@apple.com>
2501
2502         <rdar://problem/14197983> Rename functions from Bug 117667 and add safeguards for !ENABLE(VIDEO) platforms (117765)
2503         https://bugs.webkit.org/show_bug.cgi?id=117765
2504
2505         Patch by Ruth Fong <ruth_fong@apple.com>.
2506         Reviewed by Brady Eidson.
2507
2508         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
2509         (WKBundleHitTestResultGetMediaType): Updated to use mediaType().
2510
2511         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
2512         (WebKit::InjectedBundleHitTestResult::mediaType): Updated.
2513         Renamed getMediaType() to mediaType() and now handles !ENABLE(VIDEO) platforms.
2514
2515         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
2516
2517 2013-06-19  Benjamin Poulain  <bpoulain@apple.com>
2518
2519         Use the PlatformEvent timestamp when creating a DOM Event
2520         https://bugs.webkit.org/show_bug.cgi?id=117179
2521
2522         Reviewed by Darin Adler.
2523
2524         * Shared/mac/WebEventFactory.mm:
2525         (WebKit::WebEventFactory::createWebMouseEvent):
2526         (WebKit::WebEventFactory::createWebWheelEvent):
2527         (WebKit::WebEventFactory::createWebKeyboardEvent):
2528         (WebKit::WebEventFactory::createWebGestureEvent):
2529
2530 2013-06-19  Anders Carlsson  <andersca@apple.com>
2531
2532         REGRESSION: Cannot open Silverlight preferences via context menu
2533         https://bugs.webkit.org/show_bug.cgi?id=117806
2534         <rdar://problem/14166644>
2535
2536         Reviewed by Beth Dakin.
2537
2538         Hook the LSOpenCFURLRef function and make the UI process open the URL if it's the URL for the
2539         Silverlight Preferences application. This is what we do for the Flash updater.
2540
2541         * PluginProcess/PluginProcess.h:
2542         * PluginProcess/mac/PluginProcessMac.mm:
2543         (WebKit::openCFURLRef):
2544         (WebKit::initializeShim):
2545         (WebKit::PluginProcess::openURL):
2546         * PluginProcess/mac/PluginProcessShim.h:
2547         * PluginProcess/mac/PluginProcessShim.mm:
2548         (WebKit::shimLSOpenCFURLRef):
2549         * UIProcess/Plugins/PluginProcessProxy.h:
2550         * UIProcess/Plugins/PluginProcessProxy.messages.in:
2551         * UIProcess/Plugins/mac/PluginProcessProxyMac.mm:
2552         (WebKit::isSilverlightPreferencesURL):
2553         (WebKit::shouldOpenURL):
2554         (WebKit::PluginProcessProxy::openURL):
2555
2556 2013-06-19  Krzysztof Wolanski  <k.wolanski@samsung.com>
2557
2558         [EFL][WK2] Implement unit test callback: onSettingChange.
2559         https://bugs.webkit.org/show_bug.cgi?id=117728
2560
2561         Reviewed by Christophe Dumez.
2562
2563         It is finally possible to implement missing unit tests as WebKit2-EFL
2564         has delivered sub menu (r150254).
2565         Add two unit tests for checking onSettingChange callback behaviour,
2566         when toggling "Check Spelling While Typing" in context menu.
2567
2568         Changed types inside callbacksExecutionStats struct from bit field to bool,
2569         because casting from bit field to &bool is invalid (in using waitUntilTrue method).
2570
2571         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
2572         (resetCallbacksExecutionStats):
2573         (onSettingChange):
2574         (findContextMenuItem):
2575         Get determined option from context menu.
2576
2577         (checkCorrectnessOfSpellingItems):
2578         Changed the name of onContextMenuShow method to be consistent with new methods.
2579
2580         (toogleCheckSpellingWhileTyping):
2581         Select "Check Spelling While Typing" in context menu to test whether
2582         onSettingChange is called.
2583
2584 2013-06-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2585
2586         [GTK][SOUP] Migrate SoupRequestManager to GTask
2587         https://bugs.webkit.org/show_bug.cgi?id=117157
2588
2589         Reviewed by Gustavo Noronha Silva.
2590
2591         GSimpleAsyncResult has been deprecated in favour of GTask.
2592
2593         * WebProcess/soup/WebKitSoupRequestGeneric.cpp:
2594         (webkitSoupRequestGenericSendAsync):
2595         (webkitSoupRequestGenericSendFinish):
2596         * WebProcess/soup/WebSoupRequestManager.cpp:
2597         (WebKit::WebSoupRequestAsyncData::WebSoupRequestAsyncData):
2598         (WebKit::WebSoupRequestAsyncData::releaseTask):
2599         (WebKit::WebSoupRequestManager::didHandleURIRequest):
2600         (WebKit::WebSoupRequestManager::didFailURIRequest):
2601         (WebKit::WebSoupRequestManager::send):
2602         (WebKit::WebSoupRequestManager::finish):
2603         * WebProcess/soup/WebSoupRequestManager.h:
2604
2605 2013-06-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2606
2607         [GTK] Migrate WebKitFaviconDatabase to GTask
2608         https://bugs.webkit.org/show_bug.cgi?id=117156
2609
2610         Reviewed by Gustavo Noronha Silva.
2611
2612         * UIProcess/API/gtk/WebKitFaviconDatabase.cpp:
2613         (processPendingIconsForPageURL):
2614         (webkit_favicon_database_get_favicon):
2615         (webkit_favicon_database_get_favicon_finish):
2616
2617 2013-06-19  Carlos Garcia Campos  <cgarcia@igalia.com>
2618
2619         [GTK] Migrate WebKitWebView to GTask
2620         https://bugs.webkit.org/show_bug.cgi?id=117154
2621
2622         Reviewed by Gustavo Noronha Silva.
2623
2624         * UIProcess/API/gtk/WebKitWebView.cpp:
2625         (didValidateCommand):
2626         (webkit_web_view_can_execute_editing_command):
2627         (webkit_web_view_can_execute_editing_command_finish):
2628         (webkitWebViewRunJavaScriptCallback):
2629         (webkit_web_view_run_javascript):
2630         (webkit_web_view_run_javascript_finish):
2631         (resourcesStreamReadCallback):
2632         (webkit_web_view_run_javascript_from_gresource):
2633         (webkit_web_view_run_javascript_from_gresource_finish):
2634         (fileReplaceContentsCallback):
2635         (getContentsAsMHTMLDataCallback):
2636         (webkit_web_view_save):
2637         (webkit_web_view_save_finish):
2638         (webkit_web_view_save_to_file):
2639         (webkit_web_view_save_to_file_finish):
2640         (webKitWebViewDidReceiveSnapshot):
2641         (webkit_web_view_get_snapshot):
2642         (webkit_web_view_get_snapshot_finish):
2643
2644 2013-06-18  Carlos Garcia Campos  <cgarcia@igalia.com>
2645
2646         [GTK] Migrate WebKitCookieManager to GTask
2647         https://bugs.webkit.org/show_bug.cgi?id=117150
2648
2649         Reviewed by Gustavo Noronha Silva.
2650
2651         Don't use helper structs for async data since the cancellable is
2652         now accessible from the GTask.
2653
2654         * UIProcess/API/gtk/WebKitCookieManager.cpp:
2655         (webkitCookieManagerGetAcceptPolicyCallback):
2656         (webkit_cookie_manager_get_accept_policy):
2657         (webkit_cookie_manager_get_accept_policy_finish):
2658         (webkitCookieManagerGetDomainsWithCookiesCallback):
2659         (webkit_cookie_manager_get_domains_with_cookies):
2660         (webkit_cookie_manager_get_domains_with_cookies_finish):
2661
2662 2013-06-18  Roger Fong  <roger_fong@apple.com>
2663
2664         Unreviewed. Fix a typo that may be causing some test failures.
2665
2666         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm:
2667         (WebKit::WebFrameNetworkingContext::scheduledRunLoopPairs):
2668
2669 2013-06-18  Anders Carlsson  <andersca@apple.com>
2670
2671         Make it possible to set a minimum height for auto-layout
2672         https://bugs.webkit.org/show_bug.cgi?id=117758
2673         <rdar://problem/12849080>
2674
2675         Reviewed by Tim Horton.
2676
2677         Change a bunch of minimumLayoutWidth declarations to minimumLayoutSize and add a new minimumLayoutSize property.
2678         If minimumLayoutSize.height is greater than zero, use it to set the minimum layout size on the frame view.
2679
2680         * Shared/WebPageCreationParameters.cpp:
2681         (WebKit::WebPageCreationParameters::encode):
2682         (WebKit::WebPageCreationParameters::decode):
2683         * Shared/WebPageCreationParameters.h:
2684         * UIProcess/API/mac/WKView.mm:
2685         (-[WKView _setIntrinsicContentSize:]):
2686         (-[WKView minimumLayoutWidth]):
2687         (-[WKView setMinimumLayoutWidth:]):
2688         (-[WKView minimumWidthForAutoLayout]):
2689         (-[WKView setMinimumWidthForAutoLayout:]):
2690         (-[WKView minimumSizeForAutoLayout]):
2691         (-[WKView setMinimumSizeForAutoLayout:]):
2692         * UIProcess/API/mac/WKViewPrivate.h:
2693         * UIProcess/DrawingAreaProxy.h:
2694         (WebKit::DrawingAreaProxy::minimumLayoutSizeDidChange):
2695         * UIProcess/WebPageProxy.cpp:
2696         (WebKit::WebPageProxy::WebPageProxy):
2697         (WebKit::WebPageProxy::creationParameters):
2698         (WebKit::WebPageProxy::setMinimumLayoutSize):
2699         * UIProcess/WebPageProxy.h:
2700         (WebKit::WebPageProxy::minimumLayoutSize):
2701         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
2702         * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
2703         (WebKit::TiledCoreAnimationDrawingAreaProxy::TiledCoreAnimationDrawingAreaProxy):
2704         (WebKit::TiledCoreAnimationDrawingAreaProxy::minimumLayoutSizeDidChange):
2705         (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
2706         (WebKit::TiledCoreAnimationDrawingAreaProxy::intrinsicContentSizeDidChange):
2707         (WebKit::TiledCoreAnimationDrawingAreaProxy::sendUpdateGeometry):
2708         * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
2709         (WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage):
2710         * WebProcess/WebPage/WebPage.cpp:
2711         (WebKit::WebPage::WebPage):
2712         (WebKit::WebPage::setMinimumLayoutSize):
2713         * WebProcess/WebPage/WebPage.h:
2714         (WebKit::WebPage::minimumLayoutSize):
2715         * WebProcess/WebPage/WebPage.messages.in:
2716         * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
2717         (WebKit::TiledCoreAnimationDrawingArea::mainFrameContentSizeChanged):
2718         (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
2719
2720 2013-06-18  Simon Cooper  <scooper@apple.com>
2721
2722         sandbox violation when Flash runs for the first time
2723         https://bugs.webkit.org/show_bug.cgi?id=117753
2724         <rdar://problem/14165466>
2725
2726         Reviewed by Alexey Proskuryakov.
2727
2728         Allow flash to try and change the ownership of directories it has just created.
2729
2730         * Resources/PlugInSandboxProfiles/com.macromedia.Flash Player.plugin.sb:
2731
2732 2013-06-18  Ruth Fong  <ruth_fong@apple.com>
2733
2734         Expose a getMediaType method in WebKit
2735         https://bugs.webkit.org/show_bug.cgi?id=117667
2736
2737         Reviewed by Brady Eidson.
2738
2739         * GNUmakefile.list.am:
2740         * Target.pri:
2741         Updated to include the added header file InjectedBundleHitTestResultMediaType.h
2742         
2743         * UIProcess/API/C/WKAPICast.h:
2744         (WebKit::toBundleHitTestResultMediaType):
2745         (WebKit::toAPI):
2746         Added methods to convert between BundleHitTestResultMediaType
2747         and WKBundleHitTestResultMediaType.
2748
2749         * WebKit2.xcodeproj/project.pbxproj: Updated to include
2750         InjectedBundleHitTestResultMediaType.h in the WebKit2 project.
2751
2752         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
2753         (WKBundleHitTestResultGetMediaType): Exposes the method getMediaType and
2754         hooks into InjectedBundleHitTestResult::getMediaType.
2755
2756         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
2757
2758         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
2759         (WebKit::InjectedBundleHitTestResult::getMediaType): Added to return 
2760         what type, if any, a media element is.
2761
2762         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
2763
2764         * WebProcess/InjectedBundle/InjectedBundleHitTestResultMediaType.h: Added
2765         to contain new BundleHitTestResultMediaType enums.
2766
2767 2013-06-18  Roger Fong  <roger_fong@apple.com>
2768
2769         Re-implement WebFrameNetworkingContext.
2770         <rdar://problem/13174821>.
2771
2772         Reviewed by Alexey Proskuryakov.
2773
2774         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: Added.
2775         (WebKit::WebFrameNetworkingContext::create):
2776         (WebKit::WebFrameNetworkingContext::WebFrameNetworkingContext):
2777         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: Added.
2778         (WebKit::WebFrameNetworkingContext::setPrivateBrowsingStorageSessionIdentifierBase):
2779         (WebKit::WebFrameNetworkingContext::ensurePrivateBrowsingSession):
2780         (WebKit::WebFrameNetworkingContext::destroyPrivateBrowsingSession):
2781         (WebKit::WebFrameNetworkingContext::setCookieAcceptPolicyForAllContexts):
2782         (WebKit::WebFrameNetworkingContext::needsSiteSpecificQuirks):
2783         (WebKit::WebFrameNetworkingContext::localFileContentSniffingEnabled):
2784         (WebKit::WebFrameNetworkingContext::scheduledRunLoopPairs):
2785         (WebKit::WebFrameNetworkingContext::sourceApplicationAuditData):
2786         (WebKit::WebFrameNetworkingContext::blockedError):
2787         (WebKit::WebFrameNetworkingContext::storageSession):
2788
2789 2013-06-18  Alexey Proskuryakov  <ap@apple.com>
2790
2791         <rdar://problem/13174821> Remove files with an incorrect license.
2792
2793         Rubber-stamped by Maciej Stachowiak.
2794
2795         This will break the build, stay tuned for a fix coming soon.
2796
2797         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.h: Removed.
2798         * WebProcess/WebCoreSupport/mac/WebFrameNetworkingContext.mm: Removed.
2799
2800 2013-06-17  Santosh Mahto  <santosh.ma@samsung.com>
2801
2802         Extra whitespace in blank line in PlatformPopupMenuData.cpp
2803         https://bugs.webkit.org/show_bug.cgi?id=117627
2804
2805         Reviewed by Brent Fulgham.
2806
2807         * Shared/PlatformPopupMenuData.cpp:
2808         (WebKit::PlatformPopupMenuData::decode):
2809         Removing extra space
2810
2811 2013-06-17  Beth Dakin  <bdakin@apple.com>
2812
2813         PageBanners appear over HTML5 video when media element is in full screen mode
2814         https://bugs.webkit.org/show_bug.cgi?id=117721
2815         -and corresponding-
2816         <rdar://problem/13686998>
2817
2818         Reviewed by Sam Weinig.
2819
2820         When an element enters fullscreen, hide the banners. Show them again when the 
2821         element exits fullscreen.
2822         * WebProcess/FullScreen/WebFullScreenManager.cpp:
2823         (WebKit::WebFullScreenManager::willEnterFullScreen):
2824         (WebKit::WebFullScreenManager::willExitFullScreen):
2825
2826         Handle hiding and showing by removing or re-creating a parent layer for m_layer.
2827         * WebProcess/WebPage/PageBanner.cpp:
2828         (WebKit::PageBanner::hide):
2829         (WebKit::PageBanner::showIfHidden):
2830         * WebProcess/WebPage/PageBanner.h:
2831         * WebProcess/WebPage/mac/PageBannerMac.mm:
2832         (WebKit::PageBanner::PageBanner):
2833         (WebKit::PageBanner::hide):
2834         (WebKit::PageBanner::showIfHidden):
2835         (WebKit::PageBanner::mouseEvent):
2836         * WebProcess/WebPage/WebPage.cpp:
2837         (WebKit::WebPage::hidePageBanners):
2838         (WebKit::WebPage::showPageBanners):
2839         * WebProcess/WebPage/WebPage.h:
2840
2841 2013-06-17  Ruth Fong  <ruth_fong@apple.com>
2842
2843         REGRESSION: Important controls are missing from <video> element UI, when compared to QuickTime
2844         https://bugs.webkit.org/show_bug.cgi?id=20599
2845
2846         Add a "Download Video"/"Download Audio" context menu item to download media
2847         elements.
2848
2849         Reviewed by Beth Dakin.
2850
2851         * Shared/API/c/WKContextMenuItemTypes.h: Updated to include
2852         an enum type for the "Download Video/Audio" context menu item.
2853
2854         * Shared/API/c/WKSharedAPICast.h: Updated to associate
2855         the enums in WebKit and WebCore that handle the "Download Video/Audio"
2856         context menu item.
2857
2858         * UIProcess/API/efl/ewk_context_menu.cpp:
2859         * UIProcess/API/efl/ewk_context_menu_item.cpp:
2860         * UIProcess/API/efl/ewk_context_menu_item.h:
2861         Updated to include new EWK enum type for "Download Video/Audio" context menu item.
2862
2863         * UIProcess/WebPageProxy.cpp: Updated to 
2864         handle the "Download Video/Audio" context menu item mouse click
2865         and download the media item in the UI process.
2866
2867 2013-06-17  Ralph Thomas  <ralpht@gmail.com>
2868
2869         [CoordinatedGraphics][CSS Shaders] Use forwarding header for TextureMapperPlatformCompiledProgram.h
2870         https://bugs.webkit.org/show_bug.cgi?id=117712
2871
2872         Reviewed by Noam Rosenthal.
2873
2874         * Shared/CoordinatedGraphics/WebCustomFilterProgramProxy.h:
2875
2876 2013-06-17  Mark Rowe  <mrowe@apple.com>
2877
2878         <rdar://problem/13145014> Allow CoreIPC messages to transmit importance boosts
2879
2880         Transmitting the importance boost from the UI process to the web process is particularly
2881         important when disabling process suppression on a web process, as it will minimize the
2882         delays that can occur before the message instructing process suppression to be disabled
2883         is processed by the web process.
2884
2885         We keep the importance boost alive for the duration of the CoreIPC message handler. We
2886         achieve this by having an ImportanceAssertion object that owns the assertion, and whose
2887         lifetime is tied to that of the MessageDecoder.
2888
2889         Reviewed by Anders Carlsson.
2890
2891         * Platform/CoreIPC/MessageDecoder.cpp:
2892         (CoreIPC::MessageDecoder::setImportanceAssertion): Associate an importance assertion
2893         with this message.
2894         * Platform/CoreIPC/MessageDecoder.h:
2895         * Platform/CoreIPC/mac/ConnectionMac.cpp:
2896         (CoreIPC::Connection::open): Mark our receive port as allowing importance boosts to be received.
2897         (CoreIPC::Connection::receiveSourceEventHandler):
2898         * Platform/CoreIPC/mac/ImportanceAssertion.h:
2899         (CoreIPC::ImportanceAssertion::create):
2900         (CoreIPC::ImportanceAssertion::~ImportanceAssertion): Release the assertion.
2901         (CoreIPC::ImportanceAssertion::ImportanceAssertion): Take an assertion if a boost was present in
2902         the Mach message.
2903
2904 2013-06-17  Mark Rowe  <mrowe@apple.com>
2905
2906         <rdar://problem/14051357> Web processes sometimes remain in a suppressed
2907         state after their window is unoccluded.
2908
2909         The code in WKView that responds to occlusion notifications was incorrectly
2910         treating the window's occlusion state as being an enum rather than the set of
2911         flags that it is.
2912
2913         Reviewed by Oliver Hunt.
2914
2915         * UIProcess/API/mac/WKView.mm:
2916         (-[WKView _windowDidChangeOcclusionState:]): Test only the visibility state.
2917         (-[WKView setWindowOcclusionDetectionEnabled:]): Ditto.
2918
2919 2013-06-17  Michael Brüning  <michael.bruning@digia.com>
2920
2921         [Qt] Remove Qt specific QTKIT flagged code.
2922         https://bugs.webkit.org/show_bug.cgi?id=117635
2923
2924         Reviewed by Simon Hausmann.
2925
2926         Due to disabling QTKIT for Qt in r151546, the
2927         code the flags that are not taken into account
2928         anymore and the code that has been rendered
2929         unreachable by this are removed.
2930
2931         * Target.pri:
2932         * UIProcess/qt/WebContextQt.cpp:
2933         (WebKit::WebContext::platformInitializeWebProcess):
2934         * WebProcess/WebCoreSupport/qt/WebSystemInterface.h: Removed.
2935         * WebProcess/WebCoreSupport/qt/WebSystemInterface.mm: Removed.
2936         * WebProcess/WebPage/WebPage.cpp:
2937         (WebKit::WebPage::updatePreferences):
2938         * WebProcess/qt/WebProcessMainQt.cpp:
2939         (WebKit::WebProcessMainQt):
2940
2941 2013-06-17  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
2942
2943         Unreviewed, rolling out r151632.
2944         http://trac.webkit.org/changeset/151632
2945         https://bugs.webkit.org/show_bug.cgi?id=117585
2946
2947         Debug build error ASSERT(WTF_USE_GRAMMAR_CHECKING) for non MAC
2948         platforms
2949
2950         * Shared/API/c/WKSharedAPICast.h:
2951         (WebKit::toAPI):
2952         (WebKit::toImpl):
2953         * UIProcess/API/efl/ewk_context_menu_item.cpp:
2954         (getEwkActionFromWKTag):
2955         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
2956         (onContextMenuShow):
2957         (TEST_F):
2958         * UIProcess/API/gtk/WebKitContextMenuActions.cpp:
2959         (webkitContextMenuActionGetActionTag):
2960         (webkitContextMenuActionGetForContextMenuItem):
2961         (webkitContextMenuActionGetLabel):
2962         * UIProcess/WebPageProxy.cpp:
2963         (WebKit::WebPageProxy::contextMenuItemSelected):
2964
2965 2013-06-14  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
2966
2967         Context menu grammar checking items are available when GRAMMAR_CHECKING macro is off
2968         https://bugs.webkit.org/show_bug.cgi?id=117585
2969
2970         Reviewed by Anders Carlsson.
2971
2972         Add GRAMMAR_CHECKING guard to the context menu grammar items.
2973
2974         * Shared/API/c/WKSharedAPICast.h:
2975         (WebKit::toAPI):
2976         (WebKit::toImpl):
2977         * UIProcess/API/efl/ewk_context_menu_item.cpp:
2978         (getEwkActionFromWKTag):
2979         * UIProcess/API/efl/tests/test_ewk2_text_checker.cpp:
2980         (checkSpellingItemsAvailability):
2981         Change callback name, to be consistent with a newly added.
2982
2983         (checkSpellingAndGrammarSubmenuAvailability):
2984         (checkGrammarWithSpellingItemAvailability):
2985         Add two unit tests for EFL to check whether context menu grammar items are
2986         available only when GRAMMAR_CHECKING macro is enabled.
2987
2988         * UIProcess/API/gtk/WebKitContextMenuActions.cpp:
2989         (webkitContextMenuActionGetActionTag):
2990         (webkitContextMenuActionGetForContextMenuItem):
2991         (webkitContextMenuActionGetLabel):
2992         * UIProcess/WebPageProxy.cpp:
2993         (WebKit::WebPageProxy::contextMenuItemSelected):
2994
2995 2013-06-14  Dean Jackson  <dino@apple.com>
2996
2997         Crash in supportsSnapshotting
2998         https://bugs.webkit.org/show_bug.cgi?id=117670
2999         <rdar://problem/14059711>
3000
3001         Reviewed by Darin Adler.
3002
3003         Speculative fix for deferencing a null RefPtr in supportsSnapshotting.
3004         It seems like it was possible to get in a state where the plugin machinery
3005         would fire up and attempt to get a screenshot before there was an active
3006         connection to the plugin process (usually under periods of high load, such
3007         as opening a lot of tabs at once). In this case we're now returning false
3008         from supportsSnapshotting, which will trigger the plugin to restart, but
3009         that's better than requesting a snapshot on something that doesn't yet exist.
3010
3011         * WebProcess/Plugins/PluginProxy.cpp:
3012         (WebKit::PluginProxy::supportsSnapshotting): Guard for an empty connection object.
3013
3014 2013-06-14  Enrica Casucci  <enrica@apple.com>
3015
3016         WKPageFindStringMatches ignores the kWKFindOptionsBackwards option.
3017         https://bugs.webkit.org/show_bug.cgi?id=117647
3018         <rdar://problem/13881024>
3019
3020         Reviewed by Darin Adler.
3021         
3022         The API returns the matched ranges in the DOM order regardless of the
3023         find direction, but the index of the first match after the user selection
3024         should take the find direction into account.
3025
3026         Extended existing test in TestWebKitAPI.
3027
3028         * Shared/API/c/WKFindOptions.h: Added enum for the case where there are
3029         no matches after the user selection in the direction of the find.
3030
3031 2013-06-14  Andres Gomez  <agomez@igalia.com>
3032
3033         [GTK] Compilation problems - hb.h not found
3034         https://bugs.webkit.org/show_bug.cgi?id=117636
3035
3036         Unreviewed GTK+ build fix.
3037
3038         * GNUmakefile.am: Added freetype cflags for WebKit2 GTK+ Platform
3039         library.
3040
3041 2013-06-13  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
3042
3043         [EFL][WK2] Wrong context menu and popup menu positions when scroll is applied
3044         https://bugs.webkit.org/show_bug.cgi?id=116610
3045
3046         Reviewed by Noam Rosenthal.
3047
3048         WebKit2 EFL uses fixed layout - because of this ScrollView::contentsToWindow, does
3049         not take scroll into account, as it is meant to be handled by UI application.
3050         When popup and context menu are created, after calling contentsToWindow their position
3051         are not adjusted to page scroll.
3052         Added two functions to EwkView and WKView, converting contents position to user viewport
3053         coordinates, to adjust popup and context menu positions.
3054
3055         * UIProcess/API/C/CoordinatedGraphics/WKView.cpp:
3056         (WKViewContentsToUserViewport):
3057         * UIProcess/API/C/CoordinatedGraphics/WKView.h:
3058         * UIProcess/API/efl/EwkView.cpp:
3059         (EwkView::showContextMenu):
3060         (EwkView::requestPopupMenu):
3061         * UIProcess/CoordinatedGraphics/WebView.cpp:
3062         (WebKit::WebView::contentsToUserViewport):
3063         * UIProcess/CoordinatedGraphics/WebView.h:
3064
3065 2013-06-12  Anders Carlsson  <andersca@apple.com>
3066
3067         Remove the notion of inactive plug-ins
3068         https://bugs.webkit.org/show_bug.cgi?id=117570
3069         <rdar://problem/13484213>
3070
3071         Reviewed by Tim Horton.
3072
3073         Remove code that deals with inactive plug-ins. We still keep around the kWKPluginLoadPolicyInactive API enum for now.
3074
3075         * Shared/Plugins/PluginModuleInfo.h:
3076         * UIProcess/API/C/WKAPICast.h:
3077         (WebKit::toWKPluginLoadPolicy):
3078         (WebKit::toPluginModuleLoadPolicy):
3079         * UIProcess/Plugins/PluginInfoStore.cpp:
3080         * UIProcess/Plugins/PluginInfoStore.h:
3081         * UIProcess/Plugins/mac/PluginInfoStoreMac.mm:
3082         (WebKit::PluginInfoStore::shouldUsePlugin):
3083         (WebKit::PluginInfoStore::defaultLoadPolicyForPlugin):
3084         * UIProcess/WebPageProxy.cpp:
3085         (WebKit::WebPageProxy::findPlugin):
3086         (WebKit::WebPageProxy::unavailablePluginButtonClicked):
3087         * WebProcess/WebCoreSupport/WebChromeClient.cpp:
3088         (WebKit::WebChromeClient::shouldUnavailablePluginMessageBeButton):
3089         (WebKit::WebChromeClient::unavailablePluginButtonClicked):
3090         * WebProcess/WebPage/WebPage.cpp:
3091         (WebKit::WebPage::createPlugin):
3092
3093 2013-06-12  Hugo Parente Lima  <hugo.lima@openbossa.org>
3094
3095         [GTK] Explicit include glib.h to avoid compilation errors if libsoup isn't used.
3096         https://bugs.webkit.org/show_bug.cgi?id=117564
3097
3098         Reviewed by Martin Robinson.
3099
3100         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
3101
3102 2013-06-12  Zan Dobersek  <zdobersek@igalia.com>
3103
3104         [GTK] Move more build targets for source code that's free of layer violations into libPlatform
3105         https://bugs.webkit.org/show_bug.cgi?id=115936
3106
3107         Reviewed by Martin Robinson.
3108
3109         * GNUmakefile.am: Add GStreamer dependency's CFLAGS to the list of libPlatformGtk2 CPPFLAGS.
3110
3111 2013-06-12  Ruth Fong  <ruth_fong@apple.com>
3112
3113         "Open Video in New Window" doesn't make sense in fullscreen
3114         https://bugs.webkit.org/show_bug.cgi?id=117556
3115
3116         Reviewed by Beth Dakin.
3117
3118         Adds method mediaIsInFullscreen() that checks if a media element is in
3119         fullscreen mode, which is needed to decide when to display the
3120         "Open Video in New Window" context menu item.
3121
3122         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.cpp:
3123         (WKBundleHitTestResultMediaIsInFullscreen): Added.
3124         Hooks into new InjectedBundleHitTestResult::mediaIsInFullscreen() method.
3125         * WebProcess/InjectedBundle/API/c/WKBundleHitTestResult.h:
3126         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.cpp:
3127         (WebKit::InjectedBundleHitTestResult::mediaIsInFullscreen): Added.
3128         Checks if media element is in fullscreen.
3129         * WebProcess/InjectedBundle/InjectedBundleHitTestResult.h:
3130
3131 2013-06-12  Ruth Fong  <ruth_fong@apple.com>
3132
3133         Allow for toggling fullscreen on <video> elements
3134         https://bugs.webkit.org/show_bug.cgi?id=117220
3135
3136         Reviewed by Dean Jackson.
3137
3138         * Shared/API/c/WKContextMenuItemTypes.h:
3139         * Shared/API/c/WKSharedAPICast.h:
3140         Added variables to support the toggle-ability of the fullscreen
3141         video context menu item.
3142
3143 2013-06-12  Carlos Garcia Campos  <cgarcia@igalia.com>
3144
3145         [GTK] Invalidate the ProcessLauncher when the process is terminated before it has finished launching
3146         https://bugs.webkit.org/show_bug.cgi?id=117412
3147
3148         Reviewed by Anders Carlsson.
3149
3150         * UIProcess/Launcher/gtk/ProcessLauncherGtk.cpp:
3151         (WebKit::ProcessLauncher::terminateProcess): If process is still
3152         launching just invalidate the launcher. Reset the process
3153         identifier after killing the process.
3154
3155 2013-06-12  Jae Hyun Park  <jae.park@company100.net>
3156
3157         [Coordinated Graphics] Remove unused headers in CoordinatedLayerTreeHostProxy
3158         https://bugs.webkit.org/show_bug.cgi?id=117539
3159
3160         Reviewed by Noam Rosenthal.
3161
3162         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.cpp:
3163         * UIProcess/CoordinatedGraphics/CoordinatedLayerTreeHostProxy.h:
3164
3165 2013-06-12  Zan Dobersek  <zdobersek@igalia.com>
3166
3167         [GTK] Remove the WebCoreLayer(Gtk2).a archives before regenerating them
3168         https://bugs.webkit.org/show_bug.cgi?id=116723
3169
3170         Reviewed by Carlos Garcia Campos.
3171
3172         * GNUmakefile.am: When generating the WebCoreLayerGtk2.a archive from all the dependency archives, remove the
3173         current archive (if any). Updating an existent archive in an incremental build is not bulletproof and can lead
3174         to corrupt archives and subsequent build failures. On the other hand, the archive generation is not expensive
3175         and produces a working archive without problems even on incremental builds.
3176
3177 2013-06-12  Zan Dobersek  <zdobersek@igalia.com>
3178
3179         Unreviewed GTK build fix.
3180
3181         * GNUmakefile.list.am: Adding missing build targets to the plugin process after r151480.
3182
3183 2013-06-11  Gavin Barraclough  <barraclough@apple.com>
3184
3185         Add NSSupportsAppNap keys to WebProcess, PluginProcess
3186         https://bugs.webkit.org/show_bug.cgi?id=117528
3187
3188         Reviewed by Mark Rowe.
3189
3190         * PluginProcess/EntryPoint/mac/LegacyProcess/Info.plist:
3191         * PluginProcess/EntryPoint/mac/XPCService/PluginService.32-64.Info.plist:
3192         * PluginProcess/EntryPoint/mac/XPCService/PluginService.Development/Info.plist:
3193         * WebProcess/EntryPoint/mac/LegacyProcess/Info.plist:
3194         * WebProcess/EntryPoint/mac/XPCService/WebContentService.Development/Info.plist:
3195         * WebProcess/EntryPoint/mac/XPCService/WebContentService/Info.plist:
3196             - add NSSupportsAppNap key.
3197
3198 2013-06-11  Oliver Hunt  <oliver@apple.com>
3199
3200         Make sure we aren't throttling plugin timers during initialisation and destruction
3201         https://bugs.webkit.org/show_bug.cgi?id=117522
3202
3203         Reviewed by Darin Adler.
3204
3205         Add a new ActivityAssertion RAII class to handle allowing/disallowing
3206         timer throttling.  Then make use of it during plugin initialisation
3207         and destruction, as well as any synchronous messages (on the basis
3208         that if another process is waiting for the plugin we shouldn't be
3209         throttling timers).
3210
3211         * CMakeLists.txt:
3212         * GNUmakefile.list.am:
3213         * PluginProcess/WebProcessConnection.cpp:
3214         (WebKit::WebProcessConnection::didReceiveSyncMessage):
3215         (WebKit::WebProcessConnection::destroyPlugin):
3216         (WebKit::WebProcessConnection::createPlugin):
3217         * Shared/ActivityAssertion.cpp: Added.
3218         (WebKit::ActivityAssertion::ActivityAssertion):
3219         (WebKit::ActivityAssertion::~ActivityAssertion):
3220         * Shared/ActivityAssertion.h: Added.
3221         * Target.pri:
3222         * WebKit2.xcodeproj/project.pbxproj:
3223
3224 2013-06-06  Timothy Hatcher  <timothy@apple.com>
3225
3226         Update the framework bundle identifier for the Web Inspector.
3227
3228         Reviewed by Mark Rowe.
3229
3230         * UIProcess/mac/WebInspectorProxyMac.mm:
3231         (WebKit::inspectorReallyUsesWebKitUserInterface):
3232         (WebKit::WebInspectorProxy::inspectorPageURL):
3233         (WebKit::WebInspectorProxy::inspectorBaseURL):
3234         * WebProcess/WebPage/mac/WebInspectorMac.mm:
3235         (WebKit::inspectorReallyUsesWebKitUserInterface):
3236         (WebKit::WebInspector::localizedStringsURL):
3237
3238 2013-06-11  Jer Noble  <jer.noble@apple.com>
3239
3240         Do not filter cookies requested through the CookieStorageShim.
3241         https://bugs.webkit.org/show_bug.cgi?id=117511
3242         <rdar://problem/13603433>
3243
3244         Reviewed by Beth Dakin.
3245
3246         Since the shim function is called when the underlying media engine is
3247         creating an HTTPRequest, use CookieRequestHeaderFieldValue (which does
3248         not filter out HTTP-only cookies) rather than CookiesForDOM (which does).
3249
3250         * Shared/mac/CookieStorageShim.cpp:
3251         (WebKit::webKitCookieStorageCopyRequestHeaderFieldsForURL):
3252
3253 2013-06-11  Seokju Kwon  <seokju.kwon@gmail.com>
3254
3255         Remove leftover wxWebkit code
3256         https://bugs.webkit.org/show_bug.cgi?id=117471
3257
3258         Reviewed by Andreas Kling.
3259
3260         * Scripts/generate-forwarding-headers.pl:
3261
3262 2013-06-11  Changhyup Jwa  <ch.jwa@samsung.com>
3263
3264         [EFL][WK2] Add fallback for EWK2UnitTestBase if opengl is not available.
3265         https://bugs.webkit.org/show_bug.cgi?id=117504
3266
3267         Reviewed by Christophe Dumez.
3268
3269         There're many fails on efl webkit2 unit test if opengl is not available.
3270         So, add fallback to non-opengl evas engine.
3271
3272         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
3273         (EWK2UnitTest::EWK2UnitTestBase::SetUp):
3274
3275 2013-06-11  Csaba Osztrogonác  <ossy@webkit.org>
3276
3277         Make WTR use its own temporary directory for application cache
3278         https://bugs.webkit.org/show_bug.cgi?id=117143
3279
3280         Reviewed by Alexey Proskuryakov.
3281
3282         * UIProcess/API/C/WKContext.cpp:
3283         (WKContextSetApplicationCacheDirectory):
3284         * UIProcess/API/C/WKContextPrivate.h:
3285         * UIProcess/WebContext.cpp:
3286         (WebKit::WebContext::applicationCacheDirectory):
3287         * UIProcess/WebContext.h:
3288         (WebKit::WebContext::setApplicationCacheDirectory):
3289         * UIProcess/efl/WebContextEfl.cpp:
3290         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
3291         * UIProcess/gtk/WebContextGtk.cpp:
3292         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
3293         * UIProcess/mac/WebContextMac.mm:
3294         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
3295         * UIProcess/qt/WebContextQt.cpp:
3296         (WebKit::WebContext::platformDefaultApplicationCacheDirectory):
3297
3298 2013-06-11  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
3299
3300         [EFL][WK2] Fix test_ewk2_context_menu
3301         https://bugs.webkit.org/show_bug.cgi?id=116601
3302
3303         Reviewed by Gyuyoung Kim.
3304
3305         test_ewk2_context_menu is always passing, it does not test any context menu feature
3306         as it ends before context menu is called.
3307         One single test was divided into two tests: testing WebKit2 created context menu and
3308         testing menus and items created by application.
3309
3310         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.cpp:
3311         (EWK2UnitTest::EWK2UnitTestBase::waitUntilTrue): added function introducing internal loop until boolean value is changed to true
3312         * UIProcess/API/efl/tests/UnitTestUtils/EWK2UnitTestBase.h:
3313         * UIProcess/API/efl/tests/test_ewk2_context_menu.cpp:
3314         (customItemSelected):
3315         (showContextMenu):
3316         (showContextMenuForRemoveAndAppend):
3317         (showContextMenuForSubmenu):
3318         (hideContextMenu):
3319         (TEST_F):
3320
3321 2013-06-11  Ryuan Choi  <ryuan.choi@samsung.com>
3322
3323         [EFL][WK2] Add ewk_view_navigate API
3324         https://bugs.webkit.org/show_bug.cgi?id=117467
3325
3326         Reviewed by Christophe Dumez.
3327
3328         The applications will use this API to navigate history more than one step.
3329
3330         * UIProcess/API/efl/ewk_back_forward_list_item_private.h:
3331         (EwkBackForwardListItem::wkItem): Return WKBackForwardListItemRef for page to navigate.
3332         * UIProcess/API/efl/ewk_view.cpp:
3333         (ewk_view_navigate_to): Added new API.
3334         * UIProcess/API/efl/ewk_view.h:
3335         * UIProcess/API/efl/tests/test_ewk2_view.cpp:
3336         (TEST_F): Added more test case for navigation.
3337
3338 2013-06-10  Jae Hyun Park  <jae.park@company100.net>
3339
3340         [CoordinatedGraphics] Typos in custom shader support
3341         https://bugs.webkit.org/show_bug.cgi?id=117413
3342
3343         Reviewed by Noam Rosenthal.
3344
3345         Wrong keyframe is passed when assigning filterValue.
3346
3347         * WebProcess/WebPage/CoordinatedGraphics/CoordinatedLayerTreeHost.cpp:
3348         (WebKit::CoordinatedLayerTreeHost::prepareCustomFilterProxiesIfNeeded):
3349
3350 2013-06-10  Seokju Kwon  <seokju.kwon@gmail.com>
3351
3352         [Qt][GTK] Build fix after r151403
3353         https://bugs.webkit.org/show_bug.cgi?id=117452
3354
3355         Reviewed by Csaba Osztrogonác.
3356
3357         * UIProcess/API/gtk/PageClientImpl.cpp:
3358         (WebKit::PageClientImpl::preferencesDidChange):
3359         * UIProcess/API/gtk/PageClientImpl.h:
3360         * UIProcess/API/qt/raw/qrawwebview_p_p.h:
3361         (QRawWebViewPrivate::preferencesDidChange):
3362         * UIProcess/qt/QtPageClient.h:
3363         (WebKit::QtPageClient::preferencesDidChange):
3364
3365 2013-06-10  Commit Queue  <commit-queue@webkit.org>
3366
3367         Unreviewed, rolling out r151411.
3368         http://trac.webkit.org/changeset/151411
3369         https://bugs.webkit.org/show_bug.cgi?id=117453
3370
3371         because it is duplicated with Bug 117441 (Requested by
3372         gyuyoung_ on #webkit).
3373
3374         * UIProcess/efl/WebViewEfl.cpp:
3375         * UIProcess/efl/WebViewEfl.h:
3376
3377 2013-06-10  Jaehun Lim  <ljaehun.lim@samsung.com>
3378
3379         Fix build error and warning
3380         https://bugs.webkit.org/show_bug.cgi?id=117441
3381
3382         Reviewed by Anders Carlsson.
3383
3384         * UIProcess/CoordinatedGraphics/WebView.cpp:
3385         (WebKit::WebView::preferencesDidChange): Added.
3386         (WebKit::WebView::createPopupMenuProxy): Remove 'page'.
3387         * UIProcess/CoordinatedGraphics/WebView.h:
3388
3389 2013-06-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
3390
3391         Unreviewed, EFL Build fix after r151403.
3392
3393         Added preferencesDidChange to WebViewEfl.
3394
3395         * UIProcess/efl/WebViewEfl.cpp:
3396         (WebKit::WebViewEfl::preferencesDidChange):
3397         * UIProcess/efl/WebViewEfl.h:
3398
3399 2013-06-10  Anders Carlsson  <andersca@apple.com>
3400
3401         Crash in StorageAreaMap::applyChange when clearing local storage in another web process
3402         https://bugs.webkit.org/show_bug.cgi?id=117440
3403         <rdar://problem/13961548>
3404
3405         Reviewed by Tim Horton.
3406
3407         Add an early return so we won't try to look up a null key in the m_pendingValueChanges map.
3408         Also, fix an assertion - it's fine for m_storageMap to be null in applyChange.
3409
3410         * WebProcess/Storage/StorageAreaMap.cpp:
3411         (WebKit::StorageAreaMap::applyChange):
3412
3413 2013-06-10  Sergio Correia  <sergio.correia@openbossa.org>
3414
3415         [WK2][CoordinatedGraphics] Add default case to switches to fix strict build
3416         https://bugs.webkit.org/show_bug.cgi?id=117416
3417
3418         Reviewed by Noam Rosenthal.
3419
3420         This patch fixes a strict build by asserting on the default case of two
3421         switch statements where gcc was previously complaining of unhandled cases.
3422
3423         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
3424         (CoreIPC::::encode):
3425         (CoreIPC::::decode):
3426
3427 2013-06-10  Anders Carlsson  <andersca@apple.com>
3428
3429         -[WKView _updateWindowAndViewFrames] should avoid updating the view frame in window coordinates if we don't have plugins
3430         https://bugs.webkit.org/show_bug.cgi?id=117420
3431         <rdar://problem/14073034>
3432
3433         Reviewed by Tim Horton.
3434
3435         If plug-ins are disabled there's no need for the web process to know about the view frame in window coordinates so only
3436         send it when plug-ins are enabled. In addition, if accessibility is disabled we don't need to send a message at all.
3437
3438         * UIProcess/API/mac/PageClientImpl.h:
3439         * UIProcess/API/mac/PageClientImpl.mm:
3440         (WebKit::PageClientImpl::preferencesDidChange):
3441         Call through to -[WKView _preferencesDidChange].
3442
3443         * UIProcess/API/mac/WKView.mm:
3444         (-[WKView _updateWindowAndViewFrames]):
3445         Don't compute viewFrameInWindowCoordinates or accessibilityPosition unless they're required. If neither are required,
3446         don't even send a message to the web process.
3447
3448         (-[WKView _preferencesDidChange]):
3449         Update _needsViewFrameInWindowCoordinates and call -[WKView _updateWindowAndViewFrames] if needed.
3450
3451         (-[WKView initWithFrame:contextRef:pageGroupRef:relatedToPage:]):
3452         Set _needsViewFrameInWindowCoordinates based on whether plug-ins are enabled or not.
3453
3454         * UIProcess/WebPageProxy.cpp:
3455         (WebKit::WebPageProxy::preferencesDidChange):
3456         Call the page client.
3457
3458 2013-06-10  Bear Travis  <betravis@adobe.com>
3459
3460         [CSS Shapes][CSS Exclusions] Split CSS Exclusions and CSS Shapes code
3461         https://bugs.webkit.org/show_bug.cgi?id=117162
3462
3463         Reviewed by Alexandru Chiculita.
3464
3465         Adding the WebCore/rendering/shapes directory to the include list.
3466
3467         * CMakeLists.txt:
3468
3469 2013-06-10  Iago Toral Quiroga  <itoral@igalia.com>
3470
3471         Use Cairo implementation of the WidgetBackingStore instead of X11 when running on Wayland
3472         https://bugs.webkit.org/show_bug.cgi?id=116717
3473
3474         Reviewed by Martin Robinson.
3475
3476         Decide which implementation of WidgetBackingStore to use (X11 or Cairo)
3477         depending on whether we are running on X11 or not. Select Cairo
3478         implementation when not running in X11.
3479
3480         * UIProcess/cairo/BackingStoreCairo.cpp:
3481         (WebKit):
3482         (WebKit::createBackingStoreForGTK):
3483         (WebKit::BackingStore::incorporateUpdate):
3484
3485 2013-06-09  Jae Hyun Park  <jae.park@company100.net>
3486
3487         [CoordinatedGraphics] Typo in argument decoder for CoordinatedGraphicsState
3488         https://bugs.webkit.org/show_bug.cgi?id=117384
3489
3490         Reviewed by Noam Rosenthal.
3491
3492         For CSS Shaders, it must decode state.customFiltersToRemove instead of
3493         state.updateAtlasesToRemove.
3494
3495         * Shared/CoordinatedGraphics/CoordinatedGraphicsArgumentCoders.cpp:
3496         (CoreIPC::::decode):
3497
3498 2013-06-08  Jae Hyun Park  <jae.park@company100.net>
3499
3500         [Coordinated Graphics] Pass the ownership of GraphicsSurface explicitly
3501         https://bugs.webkit.org/show_bug.cgi?id=117379
3502
3503         Reviewed by Noam Rosenthal.
3504
3505         When creating WebCoordinatedSurface with GraphicsSurface, it is clearer
3506         to pass the ownership of the created GraphicsSurface explicitly.
3507
3508         * Shared/CoordinatedGraphics/WebCoordinatedSurface.cpp:
3509         (WebKit::WebCoordinatedSurface::create):
3510
3511 2013-06-07  Anders Carlsson  <andersca@apple.com>
3512
3513         Coalesce multiple calls to WebPageProxy::windowAndViewFramesChanged
3514         https://bugs.webkit.org/show_bug.cgi?id=117364
3515         <rdar://problem/14042099>
3516
3517         Reviewed by Geoffrey Garen.
3518
3519         -[WKView _updateWindowAndViewFrames] can be called many times per run loop iteration so coalesce calls
3520         to WebPageProxy::windowAndViewFrames using dispatch_async.
3521
3522         * UIProcess/API/mac/WKView.mm:
3523         (-[WKView _updateWindowAndViewFrames]):
3524