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